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