int x,y,rx,ry,w,h;\r
VGA_RAM_PTR omemptr = (VGA_RAM_PTR)video->page[0].data;// save original mem ptr\r
\r
- x=enti->spri->x;\r
- y=enti->spri->y;\r
+ x=enti->spri.x;\r
+ y=enti->spri.y;\r
VL_Initofs(video);\r
\r
// Depending on delay, update indices\r
vga_wm1_mem_block_copy(copy_ofs, display_ofs, vga_state.vga_stride * vga_state.vga_height);\r
vga_restore_rm0wm0();*/\r
\r
- switch(enti->spri->delay)\r
+ switch(enti->spri.delay)\r
{\r
// Delay = 0 means that sprite should loop. Nothing to change here\r
case 0:\r
// Delay = 1 means that on next time unit sprite should be changed\r
case 1:\r
INC_PER_FRAME\r
- enti->spri->curr_anim_spri++;\r
+ 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 = 0;\r
- enti->spri->curr_spri_id = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].sprite_id;\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 = 0;\r
+ enti->spri.curr_spri_id = enti->spri.curr_anim_list[enti->spri.curr_anim_spri].sprite_id;\r
}\r
- enti->spri->delay = enti->spri->curr_anim_list[enti->spri->curr_anim_spri].delay;\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
+ enti->spri.delay--;\r
break;\r
}\r
\r
\r
\r
// Draw sprite\r
- j = get_vrl_by_id(enti->spri->spritesheet, enti->spri->curr_spri_id, enti->spri->sprite_vrl_cont);\r
+ j = get_vrl_by_id(enti->spri.spritesheet, enti->spri.curr_spri_id, enti->spri.sprite_vrl_cont);\r
if(j < 0)\r
{\r
//Quit (gv, "Error retriving required sprite");\r
else rx = -(video->page[0].dx);\r
if (y >= enti->overdrawh) ry = (y - enti->overdrawh);\r
else ry = -(video->page[0].dy);\r
- h = enti->spri->sprite_vrl_cont->vrl_header->height + enti->overdrawh + y - ry;\r
- w = (x + enti->spri->sprite_vrl_cont->vrl_header->width + (enti->overdraww*2) + 3 - rx) & (~3) - enti->overdraww;//round up\r
+ h = enti->spri.sprite_vrl_cont->vrl_header->height + enti->overdrawh + y - ry;\r
+ w = (x + enti->spri.sprite_vrl_cont->vrl_header->width + (enti->overdraww*2) + 3 - rx) & (~3) - enti->overdraww;//round up\r
if ((rx+w) > video->page[0].width) w = video->page[0].width-rx;\r
if ((ry+h) > video->page[0].height) h = video->page[0].height-ry;\r
\r
draw_vrl1_vgax_modex(\r
x-rx,\r
y-ry,\r
- enti->spri->sprite_vrl_cont->vrl_header,\r
- enti->spri->sprite_vrl_cont->line_offsets,\r
- enti->spri->sprite_vrl_cont->buffer + sizeof(struct vrl1_vgax_header),\r
- enti->spri->sprite_vrl_cont->data_size\r
+ enti->spri.sprite_vrl_cont->vrl_header,\r
+ enti->spri.sprite_vrl_cont->line_offsets,\r
+ enti->spri.sprite_vrl_cont->buffer + sizeof(struct vrl1_vgax_header),\r
+ enti->spri.sprite_vrl_cont->data_size\r
);\r
#endif\r
if(!video->rss)\r