Je pense être capable de programmer un jeu NeoGeo en C, le problème c'est qu'il faut de beaux sprites, et ça, c'est pas ma tasse de thé. C'est pour ça que faire le portage du jeu de Tarma ça serait cool
Annonce
Réduire
Aucune annonce.
[dev] WIP lib graphique
Réduire
X
-
Hop
Hop
Hop
Code:#define FRONT_START_X 157 #define FRONT_START_Y 24 #define FRONT_MIN_X 8 #define FRONT_MAX_X 307 #define FRONT_MIN_Y 16 #define FRONT_MAX_Y 24 #define BACK_MIN_X 8 #define BACK_MAX_X 149 #define BACK_MIN_Y 5 #define BACK_MAX_Y 8 extern BYTE ffbg_a_Palettes[]; extern WORD ffbg_a_Map[]; extern BYTE ffbg_b_Palettes[]; extern WORD ffbg_b_Map[]; extern BYTE ffbg_c_Palettes[]; extern WORD ffbg_c_Map[]; int main(void) { int i; BYTE p1, p2; int x=FRONT_START_X; int y=FRONT_START_Y; int carx=320; int cary=106; Scroller backScroll, frontScroll; Picture car; volMEMWORD(0x401ffe)=0x5f0f; //purple BG volMEMWORD(0x3c0006)=0x1c00; //autoanim speed clearFixLayer(); initGfx(); scrollerInit(&backScroll, &ffbg_a_Map[0], 1, 16, ((x-8)/2)+8, 8); palJobPut(16,ffbg_a_Palettes[PAL_SIZE],ffbg_a_Palettes); scrollerInit(&frontScroll, &ffbg_b_Map[0], 25, 25, x, y); palJobPut(25,ffbg_b_Palettes[PAL_SIZE],ffbg_b_Palettes); pictureInit(&car, &ffbg_c_Map[0],50, 50, carx, cary); palJobPut(50,ffbg_c_Palettes[PAL_SIZE],ffbg_c_Palettes); SCClose(); while(1) { wait_vblank(); for(i=0;i<4000;i++); jobMeterColor(JOB_BLUE); p1=volMEMBYTE(P1_CURRENT); p2=volMEMBYTE(P2_CURRENT); if(p1&JOY_UP) y--; if(p1&JOY_DOWN) y++; if(p1&JOY_LEFT) x--; if(p1&JOY_RIGHT) x++; if(x<FRONT_MIN_X) x=FRONT_MIN_X; else if(x>FRONT_MAX_X) x=FRONT_MAX_X; if(y<FRONT_MIN_Y) y=FRONT_MIN_Y; else if(y>FRONT_MAX_Y) y=FRONT_MAX_Y; if(x>161) { cary=106+(24-y); pictureSetPos(&car,320-(x-161),cary); } else pictureSetPos(&car,320,cary); scrollerSetPos(&frontScroll, x, y); scrollerSetPos(&backScroll, (((x-8)*141)/299)+BACK_MIN_X, (((y-16)*3)/8)+BACK_MIN_Y); jobMeterColor(JOB_GREEN); SCClose(); } }
Auto animation me voilaDernière modification par HPMAN, 04 janvier 2014, 13h42.
Commentaire
-
Envoyé par anzymus Voir le messageJe pense être capable de programmer un jeu NeoGeo en C, le problème c'est qu'il faut de beaux sprites, et ça, c'est pas ma tasse de thé. C'est pour ça que faire le portage du jeu de Tarma ça serait cool
Redonner dans le pixel art à l'ancienne, qui plus est pour un jeu, me fait rêver rien qu'à y penser.
Mais ce serait aussi un coup à vous/te planter par manque de temps... (mouais)
Commentaire
-
C'est bon, j'ai vu.
Pourquoi le fichier voiture est séparé (vu que la voiture ne bouge pas / au premier plan) ?
Edit : est-ce pour ne l'utiliser que quand il est affiché ?
Edit : Scroller et Picture sont-ils des fonctions prédéfinies, ou les as-tu créées afin de les utiliser dans cette compilation ?
Faut que je décortique ta prose , t'as dû créer tes outils déjà, je pense. C'est bien sympa en tout cas.Dernière modification par chacha, 04 janvier 2014, 22h31.
Commentaire
-
Bah parle moi de l'occupation mémoire/CPU des libs SNK et je te dirais ou je me situe
Niveau RAM ça monopolise ~10ko
Niveau CPU à par l'IRQ vblank tout est pour l'instant en C, donc ça vaut ce que ça vaut en attendant de tout passer en asm. Toujours mieux que la lib de base ceci dit.
De toute façon si tu veux exploiter au maximum tu prends pas une lib généraliste, tu construits ce qu'il te faut spécifiquement autour de ton jeu. Et surtout tu fais pas ton jeu en C.
Faudrais que quelqu'un ponde un pseudo benchmark avec les libs de base, je refais le même sur la mienne et on compare.Dernière modification par HPMAN, 05 janvier 2014, 20h06.
Commentaire
Commentaire