Stef updated sgdk again, mainly in sega.s boot code (grrr!!!)
So I checked if AnimLib will still work with it
It seems nothing broke…
WTF?!?
Stef updated sgdk again, mainly in sega.s boot code (grrr!!!)
So I checked if AnimLib will still work with it
It seems nothing broke…
WTF?!?
2/3 of the multitap games I analyzed share the same code…
I didn’t understand why until I added ‘Multitap – Sample IO program’ rom to my list of to-analyze-game.
I think they use a code shared by Sega, but what is fun is that they used it like this…including mouse detection / reading code 😉
The code is a little complex, because of the protocol to communicate with the MultiTap.
The EA4Way is far easier to handle !
Perhaps you noticed I didn’t post a lot between july and november ?
In fact, I was really busy with an interesting hack : add 6 buttons support to NH’94 game.
If you play the classic game, you have to long press B button to select the goal….it’s a really poor game play!
I could easily understand why clockwise asked me to make this hack.
After a lot of disassembling and 68k asm frustration, I was finally able to add this feature with the less code as possible.
I would like to thanks everyone from Spritesmind’s forum who, as usual, helped me : Chilly Willy (6buttons asm routine), Hardwareman and others on the asm tricks…
I will release soon a full article on how I did it so it will help anyone wanting to do the same on another game.
I finally finished my animated sprite library, with behavior.
Felicia now jumps like a frog using this code
void Felicia_update( struct AnimatedSprite *felicia ) { if (felicia->curFrame<2) return; if (felicia->curFrame>6) return; felicia->x++; felicia->x %= 320; } int main( ) { struct AnimatedSprite *animFelicia; Anim_Init(); animFelicia = Anim_New(FELICIA_ANIM, &felicia, 1, 10, 70, PAL1 ); Anim_LoadPal(animFelicia); Anim_SetBehavior(animFelicia, &Felicia_update); while(1) { Anim_Update(); } }
Note this demo is now using the last version of Stef’s GenDevKit
I made a more GDK linked version
Download
I can’t understand how I made the newbie’s mistake to update AFTER vsync and not DURING vsync!
Now working on behavior : each step, anim sprite will call its own update function.
Very handy because you don’t have to handle every anim x/y/properties update on one function.
Of course, not great for EVERY game since you haven’t fine control (like update some sprites every 3 frames, etc…) but I’m pretty sure it would be great for fighting game or end level STG boss!
I can’t believe it! It’s been so long I code for genny…
Today, I rewrote my anim engine for genRes using GenDevKit… Result is quite good :