X-Git-Url: http://git.osdn.net/view?p=proj16%2F16.git;a=blobdiff_plain;f=src%2Flib%2F16_enti.c;h=bf151be6ddb8724947fd457af22c721800f2071b;hp=310aaab6de36453edb99423296d1cc338dee67ae;hb=4d4c2774d4e51f7356f7a5ef32ef61a9fd2c299a;hpb=ba81930a4ab38c4a0d74a3f20b96fda1cdc3338e diff --git a/src/lib/16_enti.c b/src/lib/16_enti.c index 310aaab6..bf151be6 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-2022 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -31,22 +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); @@ -66,9 +66,19 @@ void EN_initentity(entity_t *enti, video_t *video) } //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;