X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_enti.c;h=eb9fa1a36afb311a22f6ae1ae32b1d811a78560a;hb=6021fc3f27b895d382fbd30488ead35657e39196;hp=19df4fd5bc2beb283598b8c4e385b915b723c6a8;hpb=3a7f7812852634ac758ef5593ccc5730eefc44a6;p=16.git diff --git a/src/lib/16_enti.c b/src/lib/16_enti.c index 19df4fd5..eb9fa1a3 100755 --- a/src/lib/16_enti.c +++ b/src/lib/16_enti.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover + * Copyright (C) 2012-2018 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -31,23 +31,22 @@ void EN_initentity(entity_t *enti, video_t *video) enti->triggerx = enti->tx; enti->triggery = enti->ty+1; //south - enti->q = 1; - enti->d =2; - enti->hp=4; - enti->speed=4; + enti->q = 1;//loop var + enti->d = 2;//dir var + enti->pred = 4;//previous dir + enti->hp = 4;//hit points + enti->spt = 4;//walkspeed enti->persist_aniframe = enti->q; - enti->spt=(TILEWH/(enti->speed)); //speed per tile wwww - enti->pred = enti->d; - enti->overdraww=0; - enti->overdrawh=4; + enti->spt=(TILEWH/(enti->spt)); //speed per tile wwww + enti->overdraww = 0; + enti->overdrawh = 4; VL_Initofs(video); // modexClearRegion(&video->page[0], enti->x, enti->y, 16, 16, 2); // modexClearRegion(&video->page[2], 0, 0, video->page[2].sw, video->page[2].sh, 45); // modexClearRegion(&video->page[3], 0, 0, video->page[3].sw, video->page[3].sh, 47); - if(!video->bgps) - { + if(!video->vga_state.bgps){ //video->ofs.pattern_ofs=(uint16_t)video->page[0].data; //video->ofs.offscreen_ofs=(uint16_t)video->page[3].data; w = (enti->x + 24) & (~3); @@ -60,16 +59,26 @@ void EN_initentity(entity_t *enti, video_t *video) for (i=0;i < h;i++,o += video->page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2); // must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally vga_restore_rm0wm0(); - }else{ - w=h=o=i=o2=0; - modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32); - } + }//else{ + //w=h=o=i=o2=0; + //modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32); + //} } //init player! -void EN_initplayer(player_t *player, word pn, video_t *video) +void EN_initPlayer(player_t *player, video_t *video) { - EN_initentity(&player[pn].enti, video); + EN_initentity(&player->enti, video); + player->enti.spri.x = player[0].enti.x-4; + player->enti.spri.y = player[0].enti.y-16; + player->walktype=0; + player->enti.dire=30; + vga_state.vga_draw_stride_limit = vga_state.vga_draw_stride = video->page[0].stridew;//skewing bug + + video->sprifilei = set_anim_by_id(&player->enti.spri, player->enti.dire); + animate_spri(&player->enti, video); + + //print_anim_ids(player[0].enti.spri); /* player[0].info.x = player[0].tx; player[0].info.xaxis = player[0].tx*TILEWH; player[0].info.y = player[0].ty;