+CHUBFCW_WALKING@11
sprite=CHUBFCW0
-delay=2
+delay=3
-newframe
sprite=CHUBFCW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
-newframe
sprite=CHUBFCW2
-delay=2
+delay=3
-newframe
sprite=CHUBFCW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
# Chikyuu, left, standing and walking animation cycles
+CHUBLCW_WALKING@21
sprite=CHUBLCW0
-delay=2
+delay=3
-newframe
sprite=CHUBLCW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
-newframe
sprite=CHUBLCW2
-delay=2
+delay=3
-newframe
sprite=CHUBLCW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
# Chikyuu, right, standing and walking animation cycles
+CHUBRCW_WALKING@31
sprite=CHUBRCW0
-delay=2
+delay=3
-newframe
sprite=CHUBRCW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
-newframe
sprite=CHUBRCW2
-delay=2
+delay=3
-newframe
sprite=CHUBRCW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
# Chikyuu, away, standing and walking animation cycles
+CHUBACW_WALKING@41
sprite=CHUBACW0
-delay=2
+delay=3
-newframe
sprite=CHUBACW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
-newframe
sprite=CHUBACW2
-delay=2
+delay=3
-newframe
sprite=CHUBACW1
-delay=2
+delay=3
event=@100 # in this example, signal the game engine the frame is one that can immediately transition to "standing"
// if the sprite's edge pixels are clear anyway, you can set this to 0.\r
VGA_RAM_PTR omemptr;\r
\r
+ // Depending on delay, update indices\r
+//#define FRAME1 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 48, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+//#define FRAME2 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR); stand\r
+//#define FRAME3 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 0, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+//#define FRAME4 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR); stand\r
+ switch(enti->spri->delay)\r
+{\r
+ // Delay = 0 means that sprite should loop. Nothing to change here\r
+ case 0:\r
+ break;\r
+\r
+ // Delay = 1 means that on next time unit sprite should be changed\r
+ case 1:\r
+ if(enti->invq) enti->spri->curr_anim_spri++;\r
+ else enti->spri->curr_anim_spri--;\r
+//printf("1[%u] %u", enti->invq, enti->spri->curr_anim_spri);\r
+ // If we hit the end of an animation sequence, restart it\r
+ if(!( enti->spri->curr_spri_id = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].sprite_id)){\r
+ //enti->spri->curr_anim_spri = 1;\r
+ enti->invq=!enti->invq;\r
+ if(enti->invq) enti->spri->curr_anim_spri+=2;\r
+ else if(enti->spri->curr_anim_spri) enti->spri->curr_anim_spri-=2;\r
+ enti->spri->curr_spri_id = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].sprite_id;\r
+//printf(" enti->spri->curr_anim_spri=%u ", enti->spri->curr_anim_spri);\r
+ }\r
+ enti->spri->delay = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].delay;\r
+//printf("\n");\r
+//break;\r
+ // Delay > 1 means that we should not change sprite yet. Decrease delay\r
+ default:\r
+//printf("2[%u] %u\n", enti->invq, enti->spri->curr_anim_spri);\r
+ enti->spri->delay--;\r
+ break;\r
+ }\r
+\r
// Events go here\r
\r
\r
// restore stride\r
vga_state.vga_draw_stride_limit = vga_state.vga_draw_stride = GVARVIDEO->page[0].stridew;\r
\r
- // Depending on delay, update indices\r
-//#define FRAME1 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 48, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
-//#define FRAME2 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR); stand\r
-//#define FRAME3 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 0, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
-//#define FRAME4 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR); stand\r
- switch(enti->spri->delay)\r
-{\r
- // Delay = 0 means that sprite should loop. Nothing to change here\r
- case 0:\r
- break;\r
-\r
- // Delay = 1 means that on next time unit sprite should be changed\r
- case 1:\r
- if(enti->invq) enti->spri->curr_anim_spri++;\r
- else enti->spri->curr_anim_spri--;\r
-\r
- // If we hit the end of an animation sequence, restart it\r
- if(!( enti->spri->curr_spri_id = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].sprite_id)){\r
- enti->spri->curr_anim_spri = 1;\r
- enti->spri->curr_spri_id = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].sprite_id;\r
- enti->invq=!enti->invq;\r
- }\r
- enti->spri->delay = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].delay;\r
-\r
- // Delay > 1 means that we should not change sprite yet. Decrease delay\r
- default:\r
- enti->spri->delay--;\r
- break;\r
- }\r
vga_state.vga_graphics_ram = video->omemptr;\r
}\r