]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/scroll16.c
fucking show page i need to make a very special version of it wwww
[16.git] / src / lib / scroll16.c
index f1ec4cfeebbc32e0b9cdf7f28e7f520bf760ba41..3a5f568e918a421f42336d8b40e189363affdb08 100755 (executable)
@@ -268,41 +268,116 @@ void panPageManual(map_view_t *pip, player_t *player, word pn)
                                        player[pn].q++;\r
                                } else { player[pn].q = 1; player[pn].d = 2; pip[pip[0].pan->pn].ty--; }\r
                        }\r
-                       break;\r
+               break;\r
        }\r
+       //ZC_MVSync(pip);//&(pip[pip[0].pan->pn]));\r
        //if (player[pn].d!=2) printf("player[%u].d=%u player[%u].q=%u\n", pn, player[pn].d, pn, player[pn].q);\r
 }\r
 \r
 /*\r
  * modex mv setup\r
 */\r
-void modexMVSetup(map_view_t *pip, map_t *map, pan_t *pan, global_game_variables_t *gv)\r
+void ZC_MVSetup(map_view_t *pip, map_t *map, pan_t *pan, global_game_variables_t *gv)\r
 {\r
+#define ZC_MVI 1\r
        nibble i;\r
        // 1st page\r
        pip[0].page = &gv->video.page[0];\r
        pip[0].map = map;\r
        pip[0].video = &gv->video;\r
        pip[0].pan      = pan;\r
-       modexMVInit(pip, 1, 1);\r
+       ZC_MVInit(pip, 1, 1);\r
 \r
-       for(i=1;i<gv->video.num_of_pages;i++)\r
+       for(i=ZC_MVI;i<gv->video.num_of_pages;i++)\r
        {\r
                pip[i].page     =       &gv->video.page[i];\r
                pip[i].map      =       pip[0].map;\r
                pip[i].video    =       pip[0].video;\r
                pip[i].pan      =       pip[0].pan;\r
-               //pip[i].tx     =       1;\r
-               //pip[i].ty     =       1;\r
+//             if(i>ZC_MVI) {\r
+               pip[i].tx =     1;\r
+               pip[i].ty =     1;\r
+//             }\r
        }\r
 }\r
 \r
-void modexMVInit(map_view_t *mv, int tx, int ty)\r
+void ZC_MVInit(map_view_t *pip, int tx, int ty)\r
 {\r
-       //mv[0].tx = tx;\r
-       //mv[0].ty = ty;\r
-       mv[0].tx = mv[1].tx = tx;\r
-       mv[0].ty = mv[1].ty = ty;\r
+       pip[0].tx = tx;\r
+       pip[0].ty = ty;\r
+       //pip[0].tx = pip[1].tx = tx;\r
+       //pip[0].ty = pip[1].ty = ty;\r
+}\r
+\r
+void\r
+ZC_MVSync(map_view_t *pip)\r
+{\r
+       //printf("0 dx=%d %d    dy=%d %d\n", pip->dx, pip[!pip[0].pan->pn].dx, pip->dy, pip[!pip[0].pan->pn].dy);\r
+       //printf("1 dx=%d %d    dy=%d %d\n", pip[1].dx, pip[pip[0].pan->pn].dx, pip[1].dy, pip[pip[0].pan->pn].dy);\r
+       pip[!pip[0].pan->pn].dx = pip[pip[0].pan->pn].dx;// =   pip[pip[0].pan->pn].tx*TILEWH;\r
+       pip[!pip[0].pan->pn].dy = pip[pip[0].pan->pn].dy;// =   pip[pip[0].pan->pn].ty*TILEWH;\r
+}\r
+\r
+void ZC_panPageManual(map_view_t *pip, player_t *player, word pn)\r
+{\r
+       switch(player[pn].d)\r
+       {\r
+               //right movement\r
+               case 3:\r
+                       if(pip[0].tx >= 0 && pip[0].tx+pip[0].page->tw < pip[0].page->tilesw)\r
+                       {\r
+                               if(player[pn].q<=player[pn].spt)\r
+                               {\r
+                                       pip[0].page->dx+=4;\r
+                                       //modexShowPage(pip[0].page);\r
+                                       VL_ShowPage(&(pip->video->page[pip[0].pan->pn]), 0, 0);\r
+                                       player[pn].q++;\r
+                               } else { player[pn].q = 1; player[pn].d = 2; pip[0].tx++; }\r
+                       }\r
+               break;\r
+\r
+               //left movement\r
+               case 1:\r
+                       if(pip[0].tx > 0 && pip[0].tx+pip[0].page->tw <= pip[0].page->tilesw)\r
+                       {\r
+                               if(player[pn].q<=player[pn].spt)\r
+                               {\r
+                                       pip[0].page->dx-=4;\r
+                                       //modexShowPage(pip[0].page);\r
+                                       VL_ShowPage(&(pip->video->page[pip[0].pan->pn]), 0, 0);\r
+                                       player[pn].q++;\r
+                               } else { player[pn].q = 1; player[pn].d = 2; pip[0].tx--; }\r
+                       }\r
+               break;\r
+\r
+               //down movement\r
+               case 4:\r
+                       if(pip[0].ty >= 0 && pip[0].ty+pip[0].page->th < pip[0].page->tilesh)\r
+                       {\r
+                               if(player[pn].q<=player[pn].spt)\r
+                               {\r
+                                       pip[0].page->dy+=4;\r
+                                       //modexShowPage(pip[0].page);\r
+                                       VL_ShowPage(&(pip->video->page[pip[0].pan->pn]), 0, 0);\r
+                                       player[pn].q++;\r
+                               } else { player[pn].q = 1; player[pn].d = 2; pip[0].ty++; }\r
+                       }\r
+               break;\r
+\r
+               //up movement\r
+               case 0:\r
+                       if(pip[0].ty > 0 && pip[0].ty+pip[0].page->th <= pip[0].page->tilesh)\r
+                       {\r
+                               if(player[pn].q<=player[pn].spt)\r
+                               {\r
+                                       pip[0].page->dy-=4;\r
+                                       //modexShowPage(pip[0].page);\r
+                                       VL_ShowPage(&(pip->video->page[pip[0].pan->pn]), 0, 0);\r
+                                       player[pn].q++;\r
+                               } else { player[pn].q = 1; player[pn].d = 2; pip[0].ty--; }\r
+                       }\r
+               break;\r
+       }\r
 }\r
 \r
 /*map_t\r