]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/scroll16.c
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / lib / scroll16.c
index 0aad37a257eb17c156c87dce74bfd380e4631109..5ed042332d28b58e97c213edd884d697e60cc62d 100755 (executable)
@@ -125,190 +125,191 @@ boolean ZCL_ScreenMidPosChk(map_view_t *map_v, nibble dir, int tx, int ty)
        return false;\r
 }\r
 \r
-//#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;\r
+//#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;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
-#define SHOWMVFUN__ ZC_ShowMV(pip, 1, 0);\r
+#define SHOWMVFUN__ VL_ShowPage(&gvar->video.page[0], 1, 0);//modexShowPage(&gvar->video.page);\r
+//ZC_ShowMV(gvar->mv, 1, 0);\r
 #endif\r
 \r
-void ZC_walk(map_view_t *pip, player_t *player, word pn)\r
+void ZC_walk(global_game_variables_t *gvar, word pn)\r
 {\r
-       switch(player[pn].enti.d)\r
+       switch(gvar->player[pn].enti.d)\r
        {\r
                //no direction\r
                case 2:\r
-                       //0000pip[0].video->startclk = (*clockw);\r
+                       //0000gvar->mv[0].video->startclk = (*clockw);\r
                break;\r
                //right movement\r
                case 3:\r
-                       if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) &&\r
-                       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!\r
+                       if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) &&\r
+                       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!\r
                        {\r
-                               player[pn].walktype=2;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=2;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       ZC_mapScroll(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
-                                       //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       ZC_mapScroll(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
+                                       //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx++; }\r
                        }\r
-                       else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) &&\r
-                       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))\r
+                       else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) &&\r
+                       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))\r
                        {\r
-                               player[pn].walktype=1;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=1;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       player[pn].enti.x+=(player[pn].enti.speed);\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
+                                       gvar->player[pn].enti.x+=(gvar->player[pn].enti.speed);\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx++; }\r
                        }\r
                        else\r
                        {\r
-                               player[pn].walktype=0;\r
-                               ZC_animatePlayer(pip, player, pn);\r
-                               player[pn].enti.d = 2;\r
+                               gvar->player[pn].walktype=0;\r
+                               ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                               gvar->player[pn].enti.d = 2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                SHOWMVFUN__\r
 #endif\r
                        }\r
-                       player[pn].enti.triggerx = player[pn].enti.tx+1;\r
-                       player[pn].enti.triggery = player[pn].enti.ty;\r
+                       gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx+1;\r
+                       gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty;\r
                break;\r
                //left movement\r
                case 1:\r
-                       if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) &&\r
-                       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!\r
+                       if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) &&\r
+                       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!\r
                        {\r
-                               player[pn].walktype=2;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=2;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       ZC_mapScroll(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
-                                       //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       ZC_mapScroll(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
+                                       //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx--; }\r
                        }\r
-                       else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) &&\r
-                       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))\r
+                       else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) &&\r
+                       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))\r
                        {\r
-                               player[pn].walktype=1;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=1;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       player[pn].enti.x-=(player[pn].enti.speed);\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
+                                       gvar->player[pn].enti.x-=(gvar->player[pn].enti.speed);\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.tx--; }\r
                        }\r
                        else\r
                        {\r
-                               player[pn].walktype=0;\r
-                               ZC_animatePlayer(pip, player, pn);\r
-                               player[pn].enti.d = 2;\r
+                               gvar->player[pn].walktype=0;\r
+                               ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                               gvar->player[pn].enti.d = 2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                SHOWMVFUN__\r
 #endif\r
                        }\r
-                       player[pn].enti.triggerx = player[pn].enti.tx-1;\r
-                       player[pn].enti.triggery = player[pn].enti.ty;\r
+                       gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx-1;\r
+                       gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty;\r
                break;\r
                //down movement\r
                case 4:\r
-                       if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) &&\r
-                       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!\r
+                       if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) &&\r
+                       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!\r
                        {\r
-                               player[pn].walktype=2;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=2;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       ZC_mapScroll(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
-                                       //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       ZC_mapScroll(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
+                                       //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty++; }\r
                        }\r
-                       else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) &&\r
-                       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))\r
+                       else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) &&\r
+                       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))\r
                        {\r
-                               player[pn].walktype=1;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=1;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       player[pn].enti.y+=(player[pn].enti.speed);\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
+                                       gvar->player[pn].enti.y+=(gvar->player[pn].enti.speed);\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty++; }\r
                        }\r
                        else\r
                        {\r
-                               player[pn].walktype=0;\r
-                               ZC_animatePlayer(pip, player, pn);\r
-                               player[pn].enti.d = 2;\r
+                               gvar->player[pn].walktype=0;\r
+                               ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                               gvar->player[pn].enti.d = 2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                SHOWMVFUN__\r
 #endif\r
                        }\r
-                       player[pn].enti.triggerx = player[pn].enti.tx;\r
-                       player[pn].enti.triggery = player[pn].enti.ty+1;\r
+                       gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx;\r
+                       gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty+1;\r
                break;\r
                //up movement\r
                case 0:\r
-                       if(ZCL_ScreenMidPosChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty) &&\r
-                       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!\r
+                       if(ZCL_ScreenMidPosChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty) &&\r
+                       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!\r
                        {\r
-                               player[pn].walktype=2;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=2;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       ZC_mapScroll(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
-                                       //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       ZC_mapScroll(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
+                                       //0000gvar->mv[0].video->clk = ((*clockw)-gvar->mv[0].video->startclk)/18.2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty--; }\r
                        }\r
-                       else if(ZCL_mapEdgeChk(pip, player[pn].enti.d, player[pn].enti.tx, player[pn].enti.ty, 0, 1) &&\r
-                       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))\r
+                       else if(ZCL_mapEdgeChk(gvar->mv, gvar->player[pn].enti.d, gvar->player[pn].enti.tx, gvar->player[pn].enti.ty, 0, 1) &&\r
+                       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))\r
                        {\r
-                               player[pn].walktype=1;\r
-                               if(player[pn].enti.q<=player[pn].enti.spt)\r
+                               gvar->player[pn].walktype=1;\r
+                               if(gvar->player[pn].enti.q<=gvar->player[pn].enti.spt)\r
                                {\r
-                                       player[pn].enti.y-=(player[pn].enti.speed);\r
-                                       ZC_animatePlayer(pip, player, pn);\r
-                                       player[pn].enti.q++;\r
+                                       gvar->player[pn].enti.y-=(gvar->player[pn].enti.speed);\r
+                                       ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                                       gvar->player[pn].enti.q++;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                        SHOWMVFUN__\r
 #endif\r
-                               } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; }\r
+                               } else { gvar->player[pn].enti.q = 1; gvar->player[pn].enti.d = 2; gvar->player[pn].enti.ty--; }\r
                        }\r
                        else\r
                        {\r
-                               player[pn].walktype=0;\r
-                               ZC_animatePlayer(pip, player, pn);\r
-                               player[pn].enti.d = 2;\r
+                               gvar->player[pn].walktype=0;\r
+                               ZC_animatePlayer(gvar->mv, gvar->player, pn);\r
+                               gvar->player[pn].enti.d = 2;\r
 #ifdef OLDWALKSHOWPAGESTUFF\r
                                SHOWMVFUN__\r
 #endif\r
                        }\r
-                       player[pn].enti.triggerx = player[pn].enti.tx;\r
-                       player[pn].enti.triggery = player[pn].enti.ty-1;\r
+                       gvar->player[pn].enti.triggerx = gvar->player[pn].enti.tx;\r
+                       gvar->player[pn].enti.triggery = gvar->player[pn].enti.ty-1;\r
                break;\r
        }\r
 }\r
@@ -908,13 +909,12 @@ void shinku(global_game_variables_t *gv)
                        gv->kurokku.frames_per_second=1;\r
                break;\r
                case 1:\r
-#ifdef OLDWALKSHOWPAGESTUFF\r
-                       //modexWaitBorder();\r
-                       //modexWaitBorder_start();\r
-#else\r
+//#ifndef OLDWALKSHOWPAGESTUFF\r
                        //vga_wait_for_vsync();\r
                        vga_wait_for_vsync_end();\r
-#endif\r
+//#else\r
+                       //modexWaitBorder();\r
+//#endif\r
                        gv->kurokku.frames_per_second=60;\r
                break;\r
        }\r
@@ -995,6 +995,9 @@ void near ZC_animatePlayer(map_view_t *pip, player_t *player, word pn)
                animate_spri(&player[pn].enti, pip[0].video);\r
        }\r
 //0000if(player[pn].enti.q<4) delay(200);\r
+#ifdef OLDWALKSHOWPAGESTUFF\r
+       modexWaitBorder();\r
+#endif\r
 }\r
 \r
 /*\r