X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fscroll16.c;h=f3f054d1edc7ea1fdcb5269b2e780a86a92dfc01;hb=5c3da8981be76348ea34711b6297c0d2d3ed19ab;hp=35062f70a441850a8c4701594a842a7d5459b403;hpb=f2a811af6076e5d139acaef8c0fcf7c40244d8ed;p=16.git diff --git a/src/lib/scroll16.c b/src/lib/scroll16.c index 35062f70..f3f054d1 100755 --- a/src/lib/scroll16.c +++ b/src/lib/scroll16.c @@ -125,190 +125,191 @@ boolean ZCL_ScreenMidPosChk(map_view_t *map_v, nibble dir, int tx, int ty) return false; } -//#define INC_PER_FRAME if(player[pn].enti.q&1) player[pn].enti.persist_aniframe++; if(player[pn].enti.persist_aniframe>4) player[pn].enti.persist_aniframe = 1; +//#define INC_PER_FRAME if(gvar->player[pn].enti.q&1) gvar->player[pn].enti.persist_aniframe++; if(gvar->player[pn].enti.persist_aniframe>4) gvar->player[pn].enti.persist_aniframe = 1; #ifdef OLDWALKSHOWPAGESTUFF -#define SHOWMVFUN__ ZC_ShowMV(pip, 1, 0); +#define SHOWMVFUN__ VL_ShowPage(&gvar->video.page[0], 1, 0);//modexShowPage(&gvar->video.page); +//ZC_ShowMV(gvar->mv, 1, 0); #endif -void ZC_walk(map_view_t *pip, player_t *player, word pn) +void ZC_walk(global_game_variables_t *gvar, word pn) { - switch(player[pn].enti.d) + switch(gvar->player[pn].enti.d) { //no direction case 2: - //0000pip[0].video->startclk = (*clockw); + //0000gvar->mv[0].video->startclk = (*clockw); break; //right movement case 3: - if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx+1 == TRIGGX && player[pn].enti.ty == TRIGGY)) //collision detection! + if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx+1 == TRIGGX && gvar->player[pn].enti.ty == TRIGGY)) //collision detection! { - player[pn].walktype=2; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=2; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn); - ZC_mapScroll(pip, player, pn); - player[pn].enti.q++; - //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + ZC_mapScroll(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; + //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx++; } } - else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx+1 == TRIGGX && player[pn].enti.ty == TRIGGY)) + else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx+1 == TRIGGX && gvar->player[pn].enti.ty == TRIGGY)) { - player[pn].walktype=1; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=1; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - player[pn].enti.x+=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn); - player[pn].enti.q++; + gvar->player[pn].enti.x+=(gvar->player[pn].enti.spt); + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx++; } } else { - player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn); - player[pn].enti.d = 2; + gvar->player[pn].walktype=0; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.d = 2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif } - player[pn].enti.triggerx = player[pn].enti.tx+1; - player[pn].enti.triggery = player[pn].enti.ty; + gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx+1; + gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty; break; //left movement case 1: - if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx-1 == TRIGGX && player[pn].enti.ty == TRIGGY)) //collision detection! + if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx-1 == TRIGGX && gvar->player[pn].enti.ty == TRIGGY)) //collision detection! { - player[pn].walktype=2; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=2; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn); - ZC_mapScroll(pip, player, pn); - player[pn].enti.q++; - //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + ZC_mapScroll(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; + //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx--; } } - else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx-1 == TRIGGX && player[pn].enti.ty == TRIGGY)) + else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx-1 == TRIGGX && gvar->player[pn].enti.ty == TRIGGY)) { - player[pn].walktype=1; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=1; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - player[pn].enti.x-=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn); - player[pn].enti.q++; + gvar->player[pn].enti.x-=(gvar->player[pn].enti.spt); + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx--; } } else { - player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn); - player[pn].enti.d = 2; + gvar->player[pn].walktype=0; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.d = 2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif } - player[pn].enti.triggerx = player[pn].enti.tx-1; - player[pn].enti.triggery = player[pn].enti.ty; + gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx-1; + gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty; break; //down movement case 4: - if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty+1 == TRIGGY)) //collision detection! + if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx == TRIGGX && gvar->player[pn].enti.ty+1 == TRIGGY)) //collision detection! { - player[pn].walktype=2; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=2; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn); - ZC_mapScroll(pip, player, pn); - player[pn].enti.q++; - //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + ZC_mapScroll(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; + //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty++; } } - else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty+1 == TRIGGY)) + else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx == TRIGGX && gvar->player[pn].enti.ty+1 == TRIGGY)) { - player[pn].walktype=1; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=1; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - player[pn].enti.y+=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn); - player[pn].enti.q++; + gvar->player[pn].enti.y+=(gvar->player[pn].enti.spt); + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty++; } } else { - player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn); - player[pn].enti.d = 2; + gvar->player[pn].walktype=0; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.d = 2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif } - player[pn].enti.triggerx = player[pn].enti.tx; - player[pn].enti.triggery = player[pn].enti.ty+1; + gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx; + gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty+1; break; //up movement case 0: - if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty-1 == TRIGGY)) //collision detection! + if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx == TRIGGX && gvar->player[pn].enti.ty-1 == TRIGGY)) //collision detection! { - player[pn].walktype=2; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=2; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - ZC_animatePlayer(pip, player, pn); - ZC_mapScroll(pip, player, pn); - player[pn].enti.q++; - //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + ZC_mapScroll(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; + //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty--; } } - else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) && - ZCL_CollCheck(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty-1 == TRIGGY)) + else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) && + ZCL_CollCheck(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty))//!(gvar->player[pn].enti.tx == TRIGGX && gvar->player[pn].enti.ty-1 == TRIGGY)) { - player[pn].walktype=1; - if(player[pn].enti.q<=player[pn].enti.spt) + gvar->player[pn].walktype=1; + if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt) { - player[pn].enti.y-=(player[pn].enti.speed); - ZC_animatePlayer(pip, player, pn); - player[pn].enti.q++; + gvar->player[pn].enti.y-=(gvar->player[pn].enti.spt); + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.q++; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif - } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; } + } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty--; } } else { - player[pn].walktype=0; - ZC_animatePlayer(pip, player, pn); - player[pn].enti.d = 2; + gvar->player[pn].walktype=0; + ZC_animatePlayer(gvar->mv, gvar->player, pn); + gvar->player[pn].enti.d = 2; #ifdef OLDWALKSHOWPAGESTUFF SHOWMVFUN__ #endif } - player[pn].enti.triggerx = player[pn].enti.tx; - player[pn].enti.triggery = player[pn].enti.ty-1; + gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx; + gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty-1; break; } } @@ -317,7 +318,7 @@ void ZC_walk(map_view_t *pip, player_t *player, word pn) //panning page void ZC_panPageManual(map_view_t *pip, player_t *player, word pn) { -#define SHOWMVFUN_ ZC_ShowMV(pip, 0, 0); +#define SHOWMVFUN_ VL_ShowPage(pip[0].page, 0, 0);//ZC_ShowMV(pip, 0, 0); switch(player[pn].enti.d) { //right movement @@ -412,6 +413,8 @@ void ZC_MVInit(map_view_t *pip, int tx, int ty) //pip[0].ty = pip[1].ty = ty; } +//#if 0 +//for backwards compatibility with code i am lazy ww void ZC_ShowMV(map_view_t *moo, boolean vsync, boolean sr) { VL_ShowPage(moo[0].page, vsync, sr); @@ -614,16 +617,16 @@ void ZC_mapScroll(map_view_t *mv, player_t *player, word pn) //=========================================================================== //TODO: put player in starting position of assigned spot on map //default player position on the viewable map -void ZC_PlayerXYpos(int x, int y, player_t *player, map_view_t *pip, nibble pn, boolean defaultsw) +void ZC_PlayerXYpos(int x, int y, player_t *player, map_view_t *pip, boolean defaultsw) { - player[pn].enti.tx = x + pip[0].tx; - player[pn].enti.ty = y + pip[0].ty; + player->enti.tx = x + pip[0].tx; + player->enti.ty = y + pip[0].ty; switch(defaultsw) { case 1: - player[pn].enti.tx += pip[0].page->ti.tilemidposscreenx; - player[pn].enti.ty += pip[0].page->ti.tilemidposscreeny; + player->enti.tx += pip[0].page->ti.tilemidposscreenx; + player->enti.ty += pip[0].page->ti.tilemidposscreeny; break; case 0: break; @@ -659,7 +662,7 @@ sword chkmap(map_t *map, word q) //1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1 }; //1, 2, 3, 4, 0, 3, 3, 3, 3, 3, 3, 3, 3, 4, 1, 1, 1, 1, 1, 1, 5, 6, 7, 8, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 10, 11, 12, 4, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 14, 15, 16, 0, 1, 1, 1, 5, 8, 1, 11, 11, 1, 1, 1, 1, 1, 1, 1, 0, 0, 4, 0, 0, 0, 0, 0, 8, 8, 1, 11, 11, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 8, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 2, 3, 4 }; //check for failed to load map - if((map->width == map->height == 0) && (q>0)) + if((!map->width || !map->height) && (q>0)) { //initiate a null map! map->width=MAPW; @@ -753,10 +756,10 @@ void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player, w #ifdef __DEBUG_RF__ if(dbg_pagedelayrendermap) if(!y) y+=TILEWH; else y-=TILEWH; #endif - poopoffset%=player[0].enti.speed; + poopoffset%=player[0].enti.spt; //printf("y: %d\n", poopoffset); #ifdef __DEBUG_RF__ -if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dx); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 0, PALMAPDRAWW, 1, 1, global_temp_status_text); } +if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", poopoffset); modexprint(mv->page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 0, PALMAPDRAWW, 1, 1, global_temp_status_text); } #endif /* the position within the map array */ i=ty * mv->map->width + tx; @@ -772,7 +775,7 @@ if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dx); mo i++; /* next! */ } #ifdef __DEBUG_RF__ -if(dbg_pagedelayrendermap) delay(200); +if(dbg_pagedelayrendermap) DBG_RFDELAYMETHOD; #endif } @@ -782,10 +785,10 @@ void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player, w #ifdef __DEBUG_RF__ if(dbg_pagedelayrendermap) if(!x) x+=TILEWH; else x-=TILEWH; #endif - poopoffset%=player[0].enti.speed; + poopoffset%=player[0].enti.spt; //printf("x: %d\n", poopoffset); #ifdef __DEBUG_RF__ -if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dy); modexprint(mv[0].page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 0, PALMAPDRAWW, 1, global_temp_status_text); } +if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", poopoffset); modexprint(mv->page, player[0].enti.x, player[0].enti.y-28-(poopoffset*8) , 1, 0, PALMAPDRAWW, 1, 1, global_temp_status_text); } #endif /* location in the map array */ i=ty * mv->map->width + tx; @@ -803,7 +806,7 @@ if(dbg_pagedelayrendermap){ sprintf(global_temp_status_text, "%-3u", mv->dy); mo i += mv->map->width; } #ifdef __DEBUG_RF__ -if(dbg_pagedelayrendermap) delay(200); +if(dbg_pagedelayrendermap) DBG_RFDELAYMETHOD; #endif } @@ -908,14 +911,13 @@ void shinku(global_game_variables_t *gv) gv->kurokku.frames_per_second=1; break; case 1: -#ifdef OLDWALKSHOWPAGESTUFF +//#ifndef OLDWALKSHOWPAGESTUFF + //vga_wait_for_vsync(); + vga_wait_for_vsync_end(); +//#else //modexWaitBorder(); - //modexWaitBorder_start(); -#else - vga_wait_for_vsync(); - //vga_wait_for_vsync_end(); -#endif - gv->kurokku.frames_per_second=60; +//#endif + gv->kurokku.frames_per_second=FPSVALUE; break; } PM_NextFrame(gv); @@ -940,7 +942,7 @@ void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn) break; case 2: dd = 1; - qq = player[pn].enti.q*player[pn].enti.speed; + qq = player[pn].enti.q*player[pn].enti.spt; break; } x-=4; @@ -995,6 +997,9 @@ void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn) animate_spri(&player[pn].enti, pip[0].video); } //0000if(player[pn].enti.q<4) delay(200); +#ifdef OLDWALKSHOWPAGESTUFF + modexWaitBorder(); +#endif } /* @@ -1091,3 +1096,11 @@ void mapScroll(map_view_t *mv, player_t *player) break; } } + +void ZC_GirdChk (global_game_variables_t *gvar, player_t *player) +{ + if((player->enti.q==1) && + !(player->enti.x%gvar->mv[0].map->tiles->tileWidth==0 && player->enti.y%gvar->mv[0].map->tiles->tileHeight==0)) + ZC_PlayerXYpos(0, 0, player, gvar->mv, 1); + //TODO: MAKE SURE TO RESYNC PLAYER IN WALKABLE SPOT +}