Sgdk - Sega Megadrive / Genesis Development Kit
+20
pckid
Orion_
Zarnal
IK+
drludos
Hpman
fourchette
vingazole
fanoplusplus64K
GliX
Igor
troudki
TotOOntHeMooN
ichigobankai
upsilandre
Stef
F.L
uran
Tryphon
Monos
24 participants
Page 1 sur 18
Page 1 sur 18 • 1, 2, 3 ... 9 ... 18
Sgdk - Sega Megadrive / Genesis Development Kit
Plop steff.
Regarde le fichier tools.h
Je cherchais et je cherche aussi a savoir comment utiliser la fonction random(). Et le texte du random() c'est un copier collé du texte du fichier getFPS... (En espérant que je suis à jour)
Voilou.
Regarde le fichier tools.h
Je cherchais et je cherche aussi a savoir comment utiliser la fonction random(). Et le texte du random() c'est un copier collé du texte du fichier getFPS... (En espérant que je suis à jour)
Voilou.
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Dans les .h, la doc d'une fonction est avant sa déclaration :
Ça a l'air correct
- Code:
/**
* \brief
* Return a random u16 integer.
*/
u16 random();
Ça a l'air correct
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Je suis en train de travailler sur le scrolling et j'aimerais mettre à jour le background avec une nouvelle image. De ce que j'ai vu en analysant Sonic dans Gens KMod, le background s'efface petit à petit sur la gauche pour laisser apparaître une nouvelle partie à droite.
J'avoue que je suis un perdu sur la méthode à mettre en œuvre.
J'avoue que je suis un perdu sur la méthode à mettre en œuvre.
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Regarde ce qu'a fait Monos, il file le source et c'est ce que tu sembles vouloir faire
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Il y a un "bug" à s'inspirer mais la méthode n'est pas bonne. J'ai re travaillé tous ça ce matin avant de partir au vigne. Quand j'aurais stabilité mon code je fais tourner.
Bien vu professeur. Je devais pas avoir les yeux en fasse des trous. xd
Bien vu professeur. Je devais pas avoir les yeux en fasse des trous. xd
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Monos a écrit:Il y a un "bug" à s'inspirer mais la méthode n'est pas bonne. J'ai re travaillé tous ça ce matin avant de partir au vigne. Quand j'aurais stabilité mon code je fais tourner.
Bien vu professeur. Je devais pas avoir les yeux en fasse des trous. xd
Tu es viticulteur-codeur ? C'est marrant moi aussi
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Ouvrier viticole dans un petit producteur de champagne. (Exploitation de 11,5 hectares)
Re: Sgdk - Sega Megadrive / Genesis Development Kit
On a trouver les boissons pour le réveillon les gars !
uran- Patient contaminé
- Nombre de messages : 373
Age : 45
Localisation : 34980
Date d'inscription : 17/10/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Donc plutôt qu'utiliser la fonction VDP_drawImageEx(), il faudrait que je fasse une tilemap ?
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Ah oui le VDP_drawImageEx(...) va à la fois mettre les tiles en VRAM ainsi que le tilemap. Dans ton cas tu dois envoyer une seule fois les tiles au début avec VDP_loadTileSet(image.tileset) et ensuite tu met la map à jour avec VDP_setMapEx(..) en utilisant le image.tilemap
Tu as plusieurs exemples sur le forum SpriteMind :
http://gendev.spritesmind.net/forum/viewtopic.php?f=19&t=2555&p=30805&hilit=scrolling#p30805
http://gendev.spritesmind.net/forum/viewtopic.php?f=19&t=2661&p=31800&hilit=tilemap#p31800
Tu as plusieurs exemples sur le forum SpriteMind :
http://gendev.spritesmind.net/forum/viewtopic.php?f=19&t=2555&p=30805&hilit=scrolling#p30805
http://gendev.spritesmind.net/forum/viewtopic.php?f=19&t=2661&p=31800&hilit=tilemap#p31800
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Sgdk - Sega Megadrive / Genesis Development Kit
T'assure Stef! Je vais pouvoir faire un jolie effet dans ma démo vous allez adoré di j'y arrive
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Désolé, mais ....
putain j'ai enfin réussi à mettre à jour cette carte !!!!!!!!!!!!!!
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Bien que j'arrive à mettre à jour la carte, cela fait ramer le jeu et la mise à jour va trop vite.
Quelqu'un pourrait me proposer une piste pour mettre à jour la carte moins rapidement afin de ne pas saturer le VDP ?
Quelqu'un pourrait me proposer une piste pour mettre à jour la carte moins rapidement afin de ne pas saturer le VDP ?
- Code:
x++;
VDP_setHorizontalScroll(PLAN_A, -x);
VDP_setMapEx(PLAN_A, bga.map, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind), x & 63, 0, x, 0, 1, 32);
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Place un VDP_waitVSync(); dans ta boucle ?
Ce qui permet si je ne me trompe pas d'attendre la syncro verticale de l'écran.
Ce qui permet si je ne me trompe pas d'attendre la syncro verticale de l'écran.
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Je dis peut-être une bêtise, mais il me semble que le x de VDP_setHorizontalScroll doit être exprimé en pixels, tandis que celui de VDP_setMapEx doit être en nombre de tiles.
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Tryphon a écrit:Je dis peut-être une bêtise, mais il me semble que le x de VDP_setHorizontalScroll doit être exprimé en pixels, tandis que celui de VDP_setMapEx doit être en nombre de tiles.
Ah oui, c'est vrai ! Merci de me le faire remarquer, ça me donne une piste.
Sinon oui le VDP_waitVSync(); est en fin de boucle :)
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
J'ai réussi à synchronisé le scroll et la mise à jour de la carte, mais bon, c'est toujours lent !
- Code:
while(TRUE)
{
if(pause == false) {
x++;
scrolled_tiles = x >> 3;
update_row = scrolled_tiles & 63;
VDP_setHorizontalScroll(PLAN_A, -x);
VDP_setMapEx(PLAN_A, bga.map, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind), 63+update_row, 0, scrolled_tiles +63, 0, 1, 32);
debug();
player_control();
bullet_update();
enemies_update();
explosion_update();
playerUpdate();
input_update();
SPR_update();
}
checkPause();
VDP_waitVSync();
}
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Lien
Mon scrolling. Cela semble se stabilisé avec l'affichage de la map.
Je pense que je vais pouvoir avancer le matin de mes vacances avant les balades en montagne.
Mon scrolling. Cela semble se stabilisé avec l'affichage de la map.
Je pense que je vais pouvoir avancer le matin de mes vacances avant les balades en montagne.
Re: Sgdk - Sega Megadrive / Genesis Development Kit
shingosama a écrit:J'ai réussi à synchronisé le scroll et la mise à jour de la carte, mais bon, c'est toujours lent !
- Code:
while(TRUE)
{
if(pause == false) {
x++;
scrolled_tiles = x >> 3;
update_row = scrolled_tiles & 63;
VDP_setHorizontalScroll(PLAN_A, -x);
VDP_setMapEx(PLAN_A, bga.map, TILE_ATTR_FULL(PAL0, FALSE, FALSE, FALSE, ind), 63+update_row, 0, scrolled_tiles +63, 0, 1, 32);
debug();
player_control();
bullet_update();
enemies_update();
explosion_update();
playerUpdate();
input_update();
SPR_update();
}
checkPause();
VDP_waitVSync();
}
Vérifie déjà qur un émulateur que tu scrolles bien à chaque frame (active le mode 'ralenti' de Gens).
Ensuite :
* tu scrolles de 1 pixel par frame : c'est lent (mais suffisant pour un shoot), tu peux tenter 2 (x += 2 à la place de x++)
* tu traces la colonne de droite chaque fois, alors qu'en fait, tu n'en as besoin qu'une fois toutes les 8 frames
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Coucou,
Conseil, si tu utilise ton Bga.Map dans ta fonction VDP_SetMapEx, ça va ramer GRAVE !! C'est normal, tu vas unpacker à chaque frame ta map !!!
Donc avant de faire ça, et en dehors de ta boucle, déclare en globale un pointeur Map :
Map* MaMap ;
( Eventuellement dans ton .h -> extern Map* MaMap ; )
Ensuite avant ta boucle principale :
MaMap = unpackMap(Bga.map, NULL);
Et après dans ta boucle principale :
VDP_setMapEx(PLAN_A, MaMap, etc ... );
Ca sera beaucoup plus fluide ainsi.
Bonnes fêtes !!
Conseil, si tu utilise ton Bga.Map dans ta fonction VDP_SetMapEx, ça va ramer GRAVE !! C'est normal, tu vas unpacker à chaque frame ta map !!!
Donc avant de faire ça, et en dehors de ta boucle, déclare en globale un pointeur Map :
Map* MaMap ;
( Eventuellement dans ton .h -> extern Map* MaMap ; )
Ensuite avant ta boucle principale :
MaMap = unpackMap(Bga.map, NULL);
Et après dans ta boucle principale :
VDP_setMapEx(PLAN_A, MaMap, etc ... );
Ca sera beaucoup plus fluide ainsi.
Bonnes fêtes !!
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Bien vu, j'avais pas vu qu'il utilisait Map (je ne m'en sers pas).
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Merci copain !
Purée, maintenant je donne des conseils en C ...
Purée, maintenant je donne des conseils en C ...
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
@Vetea merci, vraiment, car je commençais à m'arracher les cheveux et hier je me suis couché vers 2h du matin en espérant trouver la solution. Honnêtement, je ne l'aurais jamais trouvé tout seul. J'ai rapidement testé et effectivement ça ne saccade plus !
Bonnes fêtes :)
Bonnes fêtes :)
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
C'est normal voyons !!
Un forum c'est aussi fait pour ça !!
Un forum c'est aussi fait pour ça !!
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Je sais que dans les shoots c'est meme tres souvent 1 pixels pour 2 frames (et parfois meme 3 frames), c'est un peu la norme. Mais 1 pixel par frame c'est toujours mieux pour la fluidité.Tryphon a écrit:
* tu scrolles de 1 pixel par frame : c'est lent (mais suffisant pour un shoot), tu peux tenter 2 (x += 2 à la place de x++)
upsilandre- Interne
- Nombre de messages : 5138
Age : 49
Localisation : val de marne 94
Date d'inscription : 31/05/2015
Re: Sgdk - Sega Megadrive / Genesis Development Kit
En tout cas j'ai réussie à scroller une map, ce qui m'a dont permis de m'amuser avec le scrolling. Dans ma démo je peux par exemple faire évoluer le vaisseau dans l'espace puis le faire descendre pour arriver au dessus des nuages et ainsi de suite.
Je suis heureux là !
Je suis heureux là !
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
C'est ça qui est Beau, s'emerveiller de voir son code prendre vie sur son écran.
Ça m'anime depuis plus de 30 ans ...
Ça m'anime depuis plus de 30 ans ...
Invité- Invité
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Bonjour, question technique, je peux mémoriser en même temps combien de tiles (8px) en même temps avec le SGDK ?$
Cela va du tiles n1 au combien ?
Cela va du tiles n1 au combien ?
Re: Sgdk - Sega Megadrive / Genesis Development Kit
Stef te donnera une réponse précise, mais de mémoire environ 1500.
Page 1 sur 18 • 1, 2, 3 ... 9 ... 18
Sujets similaires
» Sgdk - Sega Megadrive / Genesis Development Kit
» SGDK scrolling ... (encore) - (MEGADRIVE/GENESIS)
» Sgdk - Sega Megadrive / Sprite
» BIERE PONG MegaDrive SGDK
» Lot de jeux sega megadrive / genesis
» SGDK scrolling ... (encore) - (MEGADRIVE/GENESIS)
» Sgdk - Sega Megadrive / Sprite
» BIERE PONG MegaDrive SGDK
» Lot de jeux sega megadrive / genesis
Page 1 sur 18
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum