Sgdk - Sega Megadrive / Genesis Development Kit
+31
JoanCZ
vincent2105
Fax
Orion_
chrilith
Templeton
F.L
Tryphon
uran
Hpman
fourchette
65c02
drfloyd
chiss
Spirale
maldoror68
Top l'âne
troudki
tetsuro
emultion
Ricco59_59
dub
ganon551
TotOOntHeMooN
philip
ichigobankai
vingazole
bfg
Stef
r_songo
pckid
35 participants
Page 9 sur 34
Page 9 sur 34 • 1 ... 6 ... 8, 9, 10 ... 21 ... 34
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Merci Kannagi.
Moui, je me pensais solide sur les directives de préprocesseur. De ce que tu me dis j'avais établi un bon diagnostique mais visiblement j'ai cafouillé sur la résolution du problème. A revoir.^^
J'ai pigé la démonstration concernant le VBLANK. Je ne m'en étais guère soucié jusqu'à présent. Je vais creusé ça.
Moui, je me pensais solide sur les directives de préprocesseur. De ce que tu me dis j'avais établi un bon diagnostique mais visiblement j'ai cafouillé sur la résolution du problème. A revoir.^^
J'ai pigé la démonstration concernant le VBLANK. Je ne m'en étais guère soucié jusqu'à présent. Je vais creusé ça.
Top l'âne- Patient contaminé
- Nombre de messages : 737
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Citizen Kane a écrit:De manière générale, y a t'il plusieurs versions de la doc doxy? Une récente à attraper quelque part?
J'ai noté par exemple une fonction malheureuse: VDP_setTileMap();
Alors que VDP_setTileMapXY(); utilisée dans le tuto et dont je me suis servi n'apparait pas dans ma doc.
Ou par exemple le SDN_startPlaySfx repéré dans les samples mais également absente de ma doc.
Par ailleurs, les tests sous émulateurs de mon bin sont 100% concluants alors que le passage en Everdrive par Tetsuro s'est avéré catastrophique. Avez vous des pistes de réflexions à me soumettre à ce sujet?
(de toute manière j'aurai mon propre Everdrive très prochainement, je pourrai décortiquer les soucis de mon prochain projet en allant)
Pour la doxygen, normalement la version dans le répertoire "doc" de SGDK est toujours en adéquation avec la versoin de SGDK elle-même. Si tu as téléchargé SGDK sur cette page :
https://stephane-d.github.io/SGDK/
Alors tu devrais avoir la dernière version de SGDK (1.12) avec les samples à jour ainsi que la doc à jour :)
Le problème que tu rencontres sur le vrai hardware peut avoir des causes multiples... souvent ce sont des histoires de timing (des choses qui se font instantanément sur émulateur mais qui prennent un certain temps sur la vraie machine) et qui peuvent causer des résultats catastrophiques à l'écran. Mais ça peut aussi être des écritures incorrectes dans certains registres ou que sais je... réellement à part tester sur la vraie machine régulièrement tu n'es jamais à l'abri de ce genre de soucis :-/
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
plop.
je viens de trouver le jeu d'un programmeur fou sur le net.
un portage de l'excellent sega swirl pour dreamcast sur MD
l'archive est mise a disposition online en .zip
mais quand je décompacte je me trouve avec un kit en C / SGDK....
point de belle rom en .bin.
si qq'un peut me guider pour sortir une rom...
bon c'est une beta (v 0.1.3b)
je vais relire le topic sur sgdk ,je vais peut être trouver l'illumination
je viens de trouver le jeu d'un programmeur fou sur le net.
un portage de l'excellent sega swirl pour dreamcast sur MD
l'archive est mise a disposition online en .zip
mais quand je décompacte je me trouve avec un kit en C / SGDK....
point de belle rom en .bin.
si qq'un peut me guider pour sortir une rom...
bon c'est une beta (v 0.1.3b)
je vais relire le topic sur sgdk ,je vais peut être trouver l'illumination
maldoror68- Docteur *
- Nombre de messages : 1068
Age : 42
Localisation : Mulhouse
Date d'inscription : 22/07/2013
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Effectivement l'auteur ne semble pas distribuer sa rom en lien direct.
Celle ci devrait se trouver dans un dossier "out", inexistant ici.
Du coup si tu veux voir l'état de son prog, va falloir compiler toi même.
En attendant, j'ai appris deux ou trois trucs en survolant vite fait, c'est toujours ça de gagné.^^
Celle ci devrait se trouver dans un dossier "out", inexistant ici.
Du coup si tu veux voir l'état de son prog, va falloir compiler toi même.
En attendant, j'ai appris deux ou trois trucs en survolant vite fait, c'est toujours ça de gagné.^^
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Maldoror, je viens de download le master de ce sega swirl pour profiter de l'occasion d'étudier le boulot d'un mec qui s'y connait sans doute bien mieux que moi.^^
Le temps de ramener ça sur mon poste de travail, je te fais un mp dans la semaine quand c'est compilé.
En dehors de ça, j'arrive aussi avec mes petits soucis persos.
Sujet du jour, rescomp.
Côté son, ça se passe bien. J'ai mis la main sur VGM Music Maker. J'ai chié quatre mesures vite fait, et je fais tourner ça sans problème avec les commandes VGM/XGM.
Quelle(s) différence(s) entre ces deux extensions?
La cas échéant, comment je peux pondre directement un fichier.xgm?
Côté affichage, ça avance point trop mal non plus.
Déjà j'ai découvert le génial Sega Genesis Tile Designer pour les sprites, je ne pense pas qu'il existe d'outil plus adapté en la matière?
Mais pour en revenir à rescomp, et l'affichage en background. Voilà ce que ça donne.
L'original 176x160 en bitmap 16 couleurs avec Paint.
Je le passe sur Paint Shop Pro 6 pour récupérer le palette.pal.
Je le passe dans mon code (VDP_drawImageEx() et j'obtiens ceci:
L'image est fracturée.
J'ai fait d'autres essais. Aucun soucis sur la hauteur. En largeur j'ai passé du 128pix sans encombre.
Est-ce que j'ai loupé quelque part une info concernant les limites de taille?
Par ailleurs, j'ai toujours une petite ligne de bavure au bas de l'image (je sais pas si ça se voit bien là). Normal?
Enfin, je me suis cassé la tête pour trouver une compatibilité entre les palettes des utilitaires de dessin et la palette MD.
Est-il possible de référencer/préparer l'équivalent des 512 couleurs MD sur un quelconque utilitaire de dessin, que je puisse travailler directement avec les bonnes couleurs?
A votre bon coeur. :)
Le temps de ramener ça sur mon poste de travail, je te fais un mp dans la semaine quand c'est compilé.
En dehors de ça, j'arrive aussi avec mes petits soucis persos.
Sujet du jour, rescomp.
Côté son, ça se passe bien. J'ai mis la main sur VGM Music Maker. J'ai chié quatre mesures vite fait, et je fais tourner ça sans problème avec les commandes VGM/XGM.
Quelle(s) différence(s) entre ces deux extensions?
La cas échéant, comment je peux pondre directement un fichier.xgm?
Côté affichage, ça avance point trop mal non plus.
Déjà j'ai découvert le génial Sega Genesis Tile Designer pour les sprites, je ne pense pas qu'il existe d'outil plus adapté en la matière?
Mais pour en revenir à rescomp, et l'affichage en background. Voilà ce que ça donne.
L'original 176x160 en bitmap 16 couleurs avec Paint.
Je le passe sur Paint Shop Pro 6 pour récupérer le palette.pal.
Je le passe dans mon code (VDP_drawImageEx() et j'obtiens ceci:
L'image est fracturée.
J'ai fait d'autres essais. Aucun soucis sur la hauteur. En largeur j'ai passé du 128pix sans encombre.
Est-ce que j'ai loupé quelque part une info concernant les limites de taille?
Par ailleurs, j'ai toujours une petite ligne de bavure au bas de l'image (je sais pas si ça se voit bien là). Normal?
Enfin, je me suis cassé la tête pour trouver une compatibilité entre les palettes des utilitaires de dessin et la palette MD.
Est-il possible de référencer/préparer l'équivalent des 512 couleurs MD sur un quelconque utilitaire de dessin, que je puisse travailler directement avec les bonnes couleurs?
A votre bon coeur. :)
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Photoshop , Gimp ?Déjà j'ai découvert le génial Sega Genesis Tile Designer pour les sprites, je ne pense pas qu'il existe d'outil plus adapté en la matière?
Il doit bien exister un converter PNGtoMD non ? (et même si niveau couleur il peut y'avoir des pertes ,c'est 'négligeable' , j'avais fait un pngtoSMS , la conversion ne me choquais pas vraiment :) ) et sur SNES je ne vois pas les différences de mes couleurs entre mon PNG et la SNES.
Vu que tu travaille sur photoshop on plus
Pour ton image ,J'ai l'impression que le RVB a était inversé.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Tu peux utiliser la postérisation niveau 9 pour avoir une conversion exacte des couleurs de ton image en couleurs 9bits .
Pour l'inversion des couleurs photoshop inverse les couleurs quand on converti l'image en mode couleurs indexées, mieux vaut utiliser gimp pour ça .
Pour l'inversion des couleurs photoshop inverse les couleurs quand on converti l'image en mode couleurs indexées, mieux vaut utiliser gimp pour ça .
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Le VGM et XGM don't 2 formats différents, réellement aucun outil de composition de musique ne supporte le XGM en natif (ce qui est dommage car il permettrait des compositions avec 4 channels PCM ^^) mais bon ce n'est pas très grave car tu peux déclarer une ressource XGM dans SGDK et référencer le fichier VGM directement qui sera convertit en XGM à la volée
Pour les graphismes, je recommande souvent de passer par du PNG avec la palette correctement préparée (couleur 0 pour la couleur transparente), certains outils (dont gip) te permettent de bricoler la palette comme tu le souhaites :) Tu peux aussi utiliser la vraie transparence PNG, normalement je positionne automatiquement cette couleur à l'index 0 dans ce cas.
Pour les graphismes, je recommande souvent de passer par du PNG avec la palette correctement préparée (couleur 0 pour la couleur transparente), certains outils (dont gip) te permettent de bricoler la palette comme tu le souhaites :) Tu peux aussi utiliser la vraie transparence PNG, normalement je positionne automatiquement cette couleur à l'index 0 dans ce cas.
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Merci les mecs.
Je colle un GIMP dans ma besace pour tâter le truc et je vais essayer d'inclure du png à la place du bitmap.
Je n'ai pas pris la peine de détailler le Sega Genesis Tile Designer mais je précise deux points qui en font tout le sel.
D'abord il fonctionne exclusivement avec la palette 512 de la MD.
Ensuite il transforme en deux clics sprite et palette en code C, basic ou binaire.
Je colle un GIMP dans ma besace pour tâter le truc et je vais essayer d'inclure du png à la place du bitmap.
Je n'ai pas pris la peine de détailler le Sega Genesis Tile Designer mais je précise deux points qui en font tout le sel.
D'abord il fonctionne exclusivement avec la palette 512 de la MD.
Ensuite il transforme en deux clics sprite et palette en code C, basic ou binaire.
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Pour convertir des PNG en tiles megadrive il y a ImaGenesis de Devster.
Spirale- Patient contaminé
- Nombre de messages : 186
Age : 46
Localisation : __
Date d'inscription : 28/03/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
AH bé oui tiens, justement du même auteur. Allez hop, dans la besace avec le Gimp^^. Merci Spirale.
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
J'étais à l'AC 2016 ce week end (pour ceux qui connaissent) et j'ai participé au concours coding avec un ami même si à la base j'étais pas du tout parti pour ça. On a pondu ça sur le week-end (la thématique c'était "game and watch" et "pâques") :
https://www.dropbox.com/s/3f58zhtq697pu7d/paques_man.bin?dl=0
Y'a tout le répertoire avec le code source (pas très clean car rushé sur 1 week end :p) et les ressources pour ceux que ça interesse :
https://www.dropbox.com/sh/2ndqiu5f6aplcsn/AABDTbAwApbC4q5lpfT0ez3wa?dl=0
Je le poste ici car ça a été fait avec SGDK, ça peut faire office de petit exemple =)
https://www.dropbox.com/s/3f58zhtq697pu7d/paques_man.bin?dl=0
Y'a tout le répertoire avec le code source (pas très clean car rushé sur 1 week end :p) et les ressources pour ceux que ça interesse :
https://www.dropbox.com/sh/2ndqiu5f6aplcsn/AABDTbAwApbC4q5lpfT0ez3wa?dl=0
Je le poste ici car ça a été fait avec SGDK, ça peut faire office de petit exemple =)
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
LOL, c'est pas mal,très G&W(bon c'était le but) ..
Par contre on ne peut que jetter les papier sur le côté droit(à gauche ça semble pas marcher) ??
Parce que c'est coton
Par contre on ne peut que jetter les papier sur le côté droit(à gauche ça semble pas marcher) ??
Parce que c'est coton
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
TOUKO a écrit:LOL, c'est pas mal,très G&W(bon c'était le but) ..
Par contre on ne peut que jetter les papier sur le côté droit(à gauche ça semble pas marcher) ??
Parce que c'est coton
Merci :p
En fait tu dois mettre les oeufs noirs a gauche et les oeufs blancs à droite, et effectivement c'est coton mais c'est voulu, on vendait des manettes sur place pour rentabiliser le week end
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Yes, je vais jeter un oeil bien volontiers aux sources, ça m'intéresse.
D'ailleurs j'ai commencé à plancher sur le sample_sprite hier soir, et je vois des termes que je ne connais pas:
"memcpy"
">>"
Et dans le sample_scrolling, il y a une macro dans les directives de préprocesseur, dont les lignes sont entrecoupées d'un "/".
J'ai également testé le Imagenesis de Devster, mais à l'export en C, il ne m'affiche que des quarts de tuiles. Typiquement: 0x00.
C'est exploitable ça?
D'ailleurs j'ai commencé à plancher sur le sample_sprite hier soir, et je vois des termes que je ne connais pas:
"memcpy"
">>"
Et dans le sample_scrolling, il y a une macro dans les directives de préprocesseur, dont les lignes sont entrecoupées d'un "/".
J'ai également testé le Imagenesis de Devster, mais à l'export en C, il ne m'affiche que des quarts de tuiles. Typiquement: 0x00.
C'est exploitable ça?
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
J'apporte mon humble lumière concernant les symboles ">>" & "<<" ( Shift Right, Shit Left ou équivalent en assembleur LSR & LSL )
Exemple :
2 << 2 <=> 2 * 4 = 8
4 >> 2 <=> 4 / 4 = 1
Soit
X << y = X * Y
X >> Y = X / Y
MAIS ...
Y peut croitre de 1 à xx, mais la valeur réelle de Y équivaut à : 2 ^ Y ( 2 puissance Y ) équivant un calcul en Base 2 ( qu'on me corrige si je me trompe ! )
Donc : sit Y=2 <=> 2^2 = 4, si Y=3 <=> 2^3 = 8, etc ...
Ces calculs sont trés utilisés pour les Metasprites car on travaille souvent avec des blocs 8x8, 16x16,32x32,8x16, etc ...
Et je pense que le calcul est plus rapide car directement compilé avec son opérande directe ( LSL ou LSR )
Donc au lieu de faire 2*4, préfère plutot 2<<3, économie de cycles je pense ...
Maintenant mon explication pourrait paraitre merdique aux yeux des Jedis de ce site, alors qu'ils n'hésites pas à corriger ou à expliquer de manière plus exacte ...
"Memcpy", certainement une copie d'une zone mémoire à une autre ... Genre copier une adresse VRAM dans la RAM ou inversément, pour éviter de redéclarer un Tile déjà connu. Mais je peux me tromper !
Exemple :
2 << 2 <=> 2 * 4 = 8
4 >> 2 <=> 4 / 4 = 1
Soit
X << y = X * Y
X >> Y = X / Y
MAIS ...
Y peut croitre de 1 à xx, mais la valeur réelle de Y équivaut à : 2 ^ Y ( 2 puissance Y ) équivant un calcul en Base 2 ( qu'on me corrige si je me trompe ! )
Donc : sit Y=2 <=> 2^2 = 4, si Y=3 <=> 2^3 = 8, etc ...
Ces calculs sont trés utilisés pour les Metasprites car on travaille souvent avec des blocs 8x8, 16x16,32x32,8x16, etc ...
Et je pense que le calcul est plus rapide car directement compilé avec son opérande directe ( LSL ou LSR )
Donc au lieu de faire 2*4, préfère plutot 2<<3, économie de cycles je pense ...
Maintenant mon explication pourrait paraitre merdique aux yeux des Jedis de ce site, alors qu'ils n'hésites pas à corriger ou à expliquer de manière plus exacte ...
"Memcpy", certainement une copie d'une zone mémoire à une autre ... Genre copier une adresse VRAM dans la RAM ou inversément, pour éviter de redéclarer un Tile déjà connu. Mais je peux me tromper !
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Le décalage de bits est toujours à privilégier lorsqu'il s'agit d'opérations avec des multiples de 2. Ce n'est d'ailleurs pas pour rien si l'on s'efforce au maximum à utiliser des données et des résolutions formatés dans ce sens en informatique.
TotOOntHeMooN- Docteur agrégé **
- Nombre de messages : 18166
Age : 54
Localisation : Terre I
Date d'inscription : 18/04/2013
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Exact memcpy copie deux bloc de mémoire http://www.cplusplus.com/reference/cstring/memcpy/.
Si c'est le cas c'est pour mettre sur plusieurs ligne les macros (mais ça marche aussi avec le texte).
Je vois que code block n'est pas configurer pour lancer une rom MD , a croire que je suis le seul qui trouve cela pratique d'utiliser code block avec bouton executer =émulateur/rom x)
Je vois pas ou c'est mais tu ne veux pas dire plutôt '\' ?Et dans le sample_scrolling, il y a une macro dans les directives de préprocesseur, dont les lignes sont entrecoupées d'un "/".
Si c'est le cas c'est pour mettre sur plusieurs ligne les macros (mais ça marche aussi avec le texte).
Je vois que code block n'est pas configurer pour lancer une rom MD , a croire que je suis le seul qui trouve cela pratique d'utiliser code block avec bouton executer =émulateur/rom x)
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Faut plutôt préciser par :Donc au lieu de faire 2*4, préfère plutot 2<<3, économie de cycles je pense ...
- Code:
Donc au lieu de faire A*B, préfère plutot A<<B
Si tu multiplies des constantes, tu peux l'écrire 2*4, le compilo ferra lui même l'opération.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
bon tu en est ou de ton jeux TOUKO ??? car j'ai hâte d'y jouer moi !!!
chiss- Docteur agrégé **
- Nombre de messages : 5306
Age : 51
Localisation : Villars les dombes , le parc des oiseaux(01)
Date d'inscription : 04/05/2008
Re: Sgdk - Sega Megadrive / Genesis Development Kit
pour les << ou * (en multiple de 2), si le compilo est pas complètement à naze, on doit obtenir la meme chose.
En tout cas sur sdcc j'avais testé (par grande curiosité) et il me sortait tres exactement la même chose et heureusement.
En tout cas sur sdcc j'avais testé (par grande curiosité) et il me sortait tres exactement la même chose et heureusement.
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Ca avance j ai enfin terminé la routine de chargement des differents persos depuis le cd .chiss a écrit:bon tu en est ou de ton jeux TOUKO ??? car j'ai hâte d'y jouer moi !!!
Donc normalement il reste les details et fignolages avant de passer en phase de tests .
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Merci pour les tuyaux les amis.
Sinon l'intégration des png est enfin à ma portée. Great success!
Rescomp n'aura bientôt plus de secret pour moi.^^
En l'état j'ai également introduit mon premier SPRITE avec la petite animation qui va bien.
Un César qui marche... Sur trois images, c'est moche... Mais ça fonctionne.
A ce propos ce n'est pas la première fois que j'entends parler de métasprite. Ca désigne quoi au juste?
Sinon l'intégration des png est enfin à ma portée. Great success!
Rescomp n'aura bientôt plus de secret pour moi.^^
En l'état j'ai également introduit mon premier SPRITE avec la petite animation qui va bien.
Un César qui marche... Sur trois images, c'est moche... Mais ça fonctionne.
A ce propos ce n'est pas la première fois que j'entends parler de métasprite. Ca désigne quoi au juste?
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Un métasprite c'est juste un (gros) sprite qui en interne utilise plusieurs sprites hardware pour l'affichage. Sur MD la taille max des sprites est de 32x32, du coup quand tu as un sprite plus gros que 32x32 il faut en coller plusieurs ensemble, c'est ça qu'on appelle un meta sprite. Dans SGDK si tu utilises les fonctions SPR_xxx la gestion des metasprites est transparentes, tu n'as pas à t'en soucier.
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Merci, c'est vu. :)
J'enchaine avec la question du jour suite à mon étude du sample_sprite et précisément, la gestion des contrôles.
J'ai voulu reprendre le code à ma sauce, exclure les variables globales pour les déclarer dans mes fonctions.
Le problème se pose lorsque je veux manipuler le saut. Donc, passer une variable locale "fix32 movy" à joyEvent.
Je finis par comprendre que je ne peux pas passer "movy" en argument car joyEvent est fixé par un typedef:
typedef void _joyEventCallback (u16 joy, u16 changed, u16 state)
J'essaie donc de produire mon propre typedef joyEvent comprenant davantage d'arguments.
Sans succès pour le moment. Mais c'est possible?
J'enchaine avec la question du jour suite à mon étude du sample_sprite et précisément, la gestion des contrôles.
J'ai voulu reprendre le code à ma sauce, exclure les variables globales pour les déclarer dans mes fonctions.
Le problème se pose lorsque je veux manipuler le saut. Donc, passer une variable locale "fix32 movy" à joyEvent.
Je finis par comprendre que je ne peux pas passer "movy" en argument car joyEvent est fixé par un typedef:
typedef void _joyEventCallback (u16 joy, u16 changed, u16 state)
J'essaie donc de produire mon propre typedef joyEvent comprenant davantage d'arguments.
Sans succès pour le moment. Mais c'est possible?
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Ah non c'est impossible en effet... cette méthode est appelée par SGDK automatiquement, toi tu dois juste mettre ton code dedans pour réagir à certains "évènements" joystick.
Du coup pas le choix, il te faut quelques variables "globales" qui devront être modifiées par cette fonction.
Du coup pas le choix, il te faut quelques variables "globales" qui devront être modifiées par cette fonction.
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Je me suis refoutu dedans hier soir après mon message et justement j'ai compris que c'était pas possible. J'ai bien ri quand j'ai compris que je ne pouvais pas modifier le combo joySetEventHandler/_joyEventCallback à moins de modifier moi même SGDK, petit présomptueux que je suis.^^
Bon cette petite blague m'aura occupé trois jours, mais au moins je suis au mieux avec les process de controllers.
D'ailleurs c'est doublement gagnant car je n'avais jamais tâté des variables globales, c'était une bonne occasion de creuser également ce principe.
Et finalement j'ai réussi à passer intégralement en variables locales via un handleInput(); et un simple readJoypad();
Le rendu est sensiblement différent, car si j'ai pigé le readJoypad renvoie le "state" mais pas le "changed", ce qui me produit un autofire sur le jump.
Bref, ça avance comme je veux, merci.
Bon cette petite blague m'aura occupé trois jours, mais au moins je suis au mieux avec les process de controllers.
D'ailleurs c'est doublement gagnant car je n'avais jamais tâté des variables globales, c'était une bonne occasion de creuser également ce principe.
Et finalement j'ai réussi à passer intégralement en variables locales via un handleInput(); et un simple readJoypad();
Le rendu est sensiblement différent, car si j'ai pigé le readJoypad renvoie le "state" mais pas le "changed", ce qui me produit un autofire sur le jump.
Bref, ça avance comme je veux, merci.
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
C'est exactement ça, le readJoypad() te renvoie le state courant alors que le eventCallback est appelé sur les changements d'état (bouton pressé / relaché). Clairement tu utilises l'un ou l'autre selon tes besoins !
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Coucou les megadriveux.
J'ai un petit soucis.
Comme vu sur cette video, quand le sprite prend trop de hauteur, le vertical scroll me ramène le plancher en haut de l'écran:
Pourtant j'introduis mon code avec un VDP_setPlanSize(128,128);
J'ai tenté diverses bidouilles, mais la hauteur du plan reste bridée à 256 pixels.
Help...
J'ai un petit soucis.
Comme vu sur cette video, quand le sprite prend trop de hauteur, le vertical scroll me ramène le plancher en haut de l'écran:
Pourtant j'introduis mon code avec un VDP_setPlanSize(128,128);
J'ai tenté diverses bidouilles, mais la hauteur du plan reste bridée à 256 pixels.
Help...
Top l'âne- Patient contaminé
- Nombre de messages : 737
Age : 44
Localisation : Oise
Date d'inscription : 08/11/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Je crois me souvenir qu'il y a une limite de taille de plan, en occupation mémoire.
Du genre 4096 libre pour les 2 plans donc 64*64 ou 128*32.
Tu pourras pas utiliser plus, sauf si tu changes l'adressage mémoire.
Du genre 4096 libre pour les 2 plans donc 64*64 ou 128*32.
Tu pourras pas utiliser plus, sauf si tu changes l'adressage mémoire.
Page 9 sur 34 • 1 ... 6 ... 8, 9, 10 ... 21 ... 34
Sujets similaires
» Sgdk - Sega Megadrive / Genesis Development Kit
» SGDK scrolling ... (encore) - (MEGADRIVE/GENESIS)
» Sgdk - Sega Megadrive / Sprite
» [EST] Jeu Console Sega - 32X/Sega CD/Mega CD/Megadrive/Genesis
» BIERE PONG MegaDrive SGDK
» SGDK scrolling ... (encore) - (MEGADRIVE/GENESIS)
» Sgdk - Sega Megadrive / Sprite
» [EST] Jeu Console Sega - 32X/Sega CD/Mega CD/Megadrive/Genesis
» BIERE PONG MegaDrive SGDK
Page 9 sur 34
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum