X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_spri.c;h=cde64ac644a96ca318e0d296f53ba0017375e31a;hb=05646f1436736a76ebeec2796f3244c70ed7a92f;hp=f4c795371490c4eef4fdb2d2b5ecef499575f549;hpb=791c3fa594b0dfc3f1cea801a191ab12c80dca98;p=16.git diff --git a/src/lib/16_spri.c b/src/lib/16_spri.c index f4c79537..cde64ac6 100755 --- a/src/lib/16_spri.c +++ b/src/lib/16_spri.c @@ -25,7 +25,7 @@ char* get_curr_anim_name(struct sprite *spri) { // Retrive animation name list - struct vrs_header far *vrs = spri->spritesheet->vrs_hdr; + struct vrs_header far *vrs = spri->spritesheet.vrs_hdr; uint32_t far *anim_names_offsets = (uint32_t far *) ((byte far *)vrs + vrs->offset_table[VRS_HEADER_OFFSET_ANIMATION_NAME_LIST]); @@ -35,7 +35,7 @@ char* get_curr_anim_name(struct sprite *spri) void init_anim(struct sprite *spri, int anim_index) { - struct vrs_header far *vrs = spri->spritesheet->vrs_hdr; + struct vrs_header far *vrs = spri->spritesheet.vrs_hdr; uint32_t far *anim_lists_offsets = (uint32_t far *) ((byte far *)vrs + vrs->offset_table[VRS_HEADER_OFFSET_ANIMATION_LIST]); @@ -56,7 +56,7 @@ int set_anim_by_id(struct sprite *spri, int anim_id) { int new_anim_index = 0; int iter_id; - struct vrs_header far *vrs = spri->spritesheet->vrs_hdr; + struct vrs_header far *vrs = spri->spritesheet.vrs_hdr; // Retruve animation ids list uint16_t far *anim_ids = (uint16_t far *) ((byte far *)vrs + @@ -80,7 +80,7 @@ void print_anim_ids(struct sprite *spri) { int new_anim_index = 0; int iter_id; - struct vrs_header far *vrs = spri->spritesheet->vrs_hdr; + struct vrs_header far *vrs = spri->spritesheet.vrs_hdr; // Retruve animation ids list uint16_t far *anim_ids = (uint16_t far *) ((byte far *)vrs + @@ -148,7 +148,7 @@ void animate_spri(entity_t *enti, video_t *video) // Draw sprite - j = get_vrl_by_id(enti->spri.spritesheet, enti->spri.curr_spri_id, enti->spri.sprite_vrl_cont); + j = get_vrl_by_id(&enti->spri.spritesheet, enti->spri.curr_spri_id, &enti->spri.sprite_vrl_cont); if(j < 0) { //Quit (gv, "Error retriving required sprite"); @@ -162,8 +162,8 @@ void animate_spri(entity_t *enti, video_t *video) else rx = -(video->page[0].dx); if (y >= enti->overdrawh) ry = (y - enti->overdrawh); else ry = -(video->page[0].dy); - h = enti->spri.sprite_vrl_cont->vrl_header->height + enti->overdrawh + y - ry; - w = (x + enti->spri.sprite_vrl_cont->vrl_header->width + (enti->overdraww*2) + 3 - rx) & (~3) - enti->overdraww;//round up + h = enti->spri.sprite_vrl_cont.vrl_header->height + enti->overdrawh + y - ry; + w = (x + enti->spri.sprite_vrl_cont.vrl_header->width + (enti->overdraww*2) + 3 - rx) & (~3) - enti->overdraww;//round up if ((rx+w) > video->page[0].width) w = video->page[0].width-rx; if ((ry+h) > video->page[0].height) h = video->page[0].height-ry; @@ -190,10 +190,10 @@ void animate_spri(entity_t *enti, video_t *video) draw_vrl1_vgax_modex( x-rx, y-ry, - enti->spri.sprite_vrl_cont->vrl_header, - enti->spri.sprite_vrl_cont->line_offsets, - enti->spri.sprite_vrl_cont->buffer + sizeof(struct vrl1_vgax_header), - enti->spri.sprite_vrl_cont->data_size + enti->spri.sprite_vrl_cont.vrl_header, + enti->spri.sprite_vrl_cont.line_offsets, + enti->spri.sprite_vrl_cont.buffer + sizeof(struct vrl1_vgax_header), + enti->spri.sprite_vrl_cont.data_size ); #endif if(!video->rss)