]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/scroll16.h
==== INITIAL LAYER MAP STUFF DONE, added mapdraw layer ontop of bg, going to implemen...
[16.git] / src / lib / scroll16.h
index cefda677b307f10672bf6a5dd84aedfd5c68d33d..45105a2741bb95d4a657a154dfbffaefd63a3e63 100755 (executable)
@@ -199,6 +199,51 @@ boolean ZC_walk2(entity_t *ent, map_view_t *map_v);
 // Move player around and call map scrolling if required/possible\r
 void walk_player(player_t *player, map_view_t *map_v);\r
 \r
+//check map edge\r
+inline boolean ZC_mapEdgeChk(map_view_t *map_v, nibble dir, boolean pansw)\r
+{\r
+       int     w,h;\r
+\r
+       switch (pansw)\r
+       {\r
+               case 0:\r
+                       w = map_v[0].map->width;\r
+                       h = map_v[0].map->height;\r
+               break;\r
+               case 1:\r
+                       w = map_v[0].page->ti.tilesw;\r
+                       h = map_v[0].page->ti.tilesh;\r
+               break;\r
+       }\r
+\r
+       switch(dir)\r
+       {\r
+               //no direction\r
+               default:\r
+               case 2:\r
+                       //0000pip[0].video->startclk = (*clockw);\r
+                       return false;\r
+               break;\r
+               //right movement\r
+               case 3:\r
+                       if(map_v[0].tx >= 0 && map_v[0].tx+map_v[0].page->ti.tw < w) return true;\r
+               break;\r
+               //left movement\r
+               case 1:\r
+                       if(map_v[0].tx > 0 && map_v[0].tx+map_v[0].page->ti.tw <= w) return true;\r
+               break;\r
+               //down movement\r
+               case 4:\r
+                       if(map_v[0].ty >= 0 && map_v[0].ty+map_v[0].page->ti.th < h) return true;\r
+               break;\r
+               //up movement\r
+               case 0:\r
+                       if(map_v[0].ty > 0 && map_v[0].ty+map_v[0].page->ti.th <= h) return true;\r
+               break;\r
+       }\r
+       return false;\r
+}\r
+\r
 // Scroll map in one direction (assumed from player's movement)\r
 void mapScroll(map_view_t *mv, player_t *player);\r
 \r