X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fscroll16.c;h=5e9a866d6027a47b8ed27a0bf71faac84faf02ec;hb=e553045660c23a10ae193562ec2b46a8a2b84ee6;hp=a4aaf647e3b9c0b7686a23fc1cc4951ebbc47eda;hpb=8eedd2ca5b4a1c8bf2c6629a98d26deafc64e19f;p=16.git diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c index a4aaf647..5e9a866d 100755 --- a/src/lib/scroll16.c +++ b/src/lib/scroll16.c @@ -41,7 +41,8 @@ void walk(map_view_t *pip, player_t *player, word pn) animatePlayer(pip, player, pn, 1); mapScrollRight(pip, player, 0, pn); mapScrollRight(pip, player, 1, pn); -// mapScrollRight(pip, player, 2, pn); + ScrollRight(pip, player, 2, pn); + ScrollRight(pip, player, 3, pn); if(!pageflipflop) modexShowPage(pip[1].page); player[pn].q++; } else { player[pn].q = 1; player[pn].d = 2; player[pn].tx++; } @@ -83,7 +84,8 @@ void walk(map_view_t *pip, player_t *player, word pn) animatePlayer(pip, player, pn, 1); mapScrollLeft(pip, player, 0, pn); mapScrollLeft(pip, player, 1, pn); -// mapScrollLeft(pip, player, 2, pn); + ScrollLeft(pip, player, 2, pn); + ScrollLeft(pip, player, 3, pn); if(!pageflipflop) modexShowPage(pip[1].page); player[pn].q++; } else { player[pn].q = 1; player[pn].d = 2; player[pn].tx--; } @@ -125,7 +127,8 @@ void walk(map_view_t *pip, player_t *player, word pn) animatePlayer(pip, player, pn, 1); mapScrollDown(pip, player, 0, pn); mapScrollDown(pip, player, 1, pn); -// mapScrollDown(pip, player, 2, pn); + ScrollDown(pip, player, 2, pn); + ScrollDown(pip, player, 3, pn); if(!pageflipflop) modexShowPage(pip[1].page); player[pn].q++; } else { player[pn].q = 1; player[pn].d = 2; player[pn].ty++; } @@ -167,7 +170,8 @@ void walk(map_view_t *pip, player_t *player, word pn) animatePlayer(pip, player, pn, 1); mapScrollUp(pip, player, 0, pn); mapScrollUp(pip, player, 1, pn); -// mapScrollUp(pip, player, 2, pn); + ScrollUp(pip, player, 2, pn); + ScrollUp(pip, player, 3, pn); if(!pageflipflop) modexShowPage(pip[1].page); player[pn].q++; } else { player[pn].q = 1; player[pn].d = 2; player[pn].ty--; } @@ -319,7 +323,7 @@ void near mapScrollLeft(map_view_t *mv, player_t *player, word id, word plid) { word x, y; /* coordinate for drawing */ - /* increment the pixel position and update the page */ + /* decrement the pixel position and update the page */ mv[id].page->dx -= player[plid].speed; /* check to see if this changes the tile */ @@ -348,7 +352,7 @@ void near mapScrollUp(map_view_t *mv, player_t *player, word id, word plid) { word x, y; /* coordinate for drawing */ - /* increment the pixel position and update the page */ + /* decrement the pixel position and update the page */ mv[id].page->dy -= player[plid].speed; /* check to see if this changes the tile */ @@ -398,6 +402,65 @@ void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid) //} } + +//TODO finish this wwww +void near ScrollRight(map_view_t *mv, player_t *player, word id, word plid) +{ + /* increment the pixel position and update the page */ + mv[0].video->page[id].dx += player[plid].speed; + + /* check to see if this changes the tile */ + if(mv[0].video->page[id].dx >= mv[id].dxThresh ) + { + /* Snap the origin forward */ + mv[0].video->page[id].data += 4; + mv[0].video->page[id].dx = mv[0].map->tiles->tileWidth; + } +} + + +void near ScrollLeft(map_view_t *mv, player_t *player, word id, word plid) +{ + /* decrement the pixel position and update the page */ + mv[0].video->page[id].dx -= player[plid].speed; + + /* check to see if this changes the tile */ + if(mv[0].video->page[id].dx == 0) + { + /* Snap the origin backward */ + mv[0].video->page[id].data -= 4; + mv[0].video->page[id].dx = mv[0].map->tiles->tileWidth; + } +} + +void near ScrollUp(map_view_t *mv, player_t *player, word id, word plid) +{ + /* decrement the pixel position and update the page */ + mv[0].video->page[id].dy -= player[plid].speed; + + /* check to see if this changes the tile */ + if(mv[0].video->page[id].dy == 0) + { + /* Snap the origin backward */ + mv[0].video->page[id].data -= 4; + mv[0].video->page[id].dy = mv[0].map->tiles->tileWidth; + } +} + +void near ScrollDown(map_view_t *mv, player_t *player, word id, word plid) +{ + /* increment the pixel position and update the page */ + mv[0].video->page[id].dy += player[plid].speed; + + /* check to see if this changes the tile */ + if(mv[0].video->page[id].dy >= mv[id].dxThresh ) + { + /* Snap the origin forward */ + mv[0].video->page[id].data += 4; + mv[0].video->page[id].dy = mv[0].map->tiles->tileWidth; + } +} + sword chkmap(map_t *map, word q) { // bitmap_t bp; @@ -704,8 +767,11 @@ void near animatePlayer(map_view_t *pip, player_t *player, word pn, sword scroll #define FRAME2 modexClearRegion(pip[1].page, x, y, 24, 32, 1+dire); #define FRAME3 modexClearRegion(pip[1].page, x, y, 24, 32, dire); #define FRAME4 modexClearRegion(pip[1].page, x, y, 24, 32, 1+dire); -#endif - modexCopyPageRegion(pip[1].page, pip[0].page, x-4, y-4, x-4, y-4, 28, 40); + #endif + if(pageflipflop) + modexCopyPageRegion(pip[pip->video->p].page, + pip[!(pip->video->p)].page, x-4, y-4, x-4, y-4, 28, 40); + else modexCopyPageRegion(pip[1].page, pip[0].page, x-4, y-4, x-4, y-4, 28, 40); //modexCopyPageRegion(pip[2].page, pip[1].page, 16, 16, 16, 16, (14*8)+4, 8+4); if(2>ls && ls>=1) { FRAME1 }else if(3>ls && ls>=2) { FRAME2 }else