1 void oldwalk(map_view_t *pip, player_t *player, word pn)
\r
3 //printf("player[%d].d=%d\n", pn, player[pn].enti.d);
\r
4 switch(player[pn].enti.d)
\r
8 //0000pip[0].video->startclk = (*clockw);
\r
12 //printf("pip[0].page->tilesw=%d ", pip[0].page->tilesw); printf("pip[0].page->tw=%d\n", pip[0].page->tw);
\r
13 if(pip[0].tx >= 0 && pip[0].tx+pip[0].page->tw < pip[0].map->width && player[pn].enti.tx == pip[0].tx+pip[0].page->tilemidposscreenx &&
\r
14 !(pip[0].map->data[(player[pn].enti.tx)+(pip[0].map->width*(player[pn].enti.ty-1))] == 0))//!(player[pn].enti.tx+1 == TRIGGX && player[pn].enti.ty == TRIGGY)) //collision detection!
\r
16 if(player[pn].enti.q<=player[pn].enti.spt)
\r
19 ANIMATESPRIFUN(pip, player, pn, 1);
\r
20 ScrollRight(pip, player, 3, pn);
\r
21 ScrollRight(pip, player, 2, pn);
\r
22 //mapScrollRight(pip, player, !(pip[0].video->p), pn);
\r
23 mapScrollRight(pip, player, (pip[0].video->p), pn);
\r
24 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
25 player[pn].enti.q++;
\r
26 //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
\r
27 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; }
\r
29 else if(player[pn].enti.tx < pip[0].map->width && !(pip[0].map->data[(player[pn].enti.tx)+(pip[0].map->width*(player[pn].enti.ty-1))] == 0))//!(player[pn].enti.tx+1 == TRIGGX && player[pn].enti.ty == TRIGGY))
\r
31 if(player[pn].enti.q<=player[pn].enti.spt)
\r
34 player[pn].enti.x+=(player[pn].enti.speed);
\r
35 ANIMATESPRIFUN(pip, player, pn, 0);
\r
36 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
37 player[pn].enti.q++;
\r
38 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx++; }
\r
42 if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32);
\r
44 modexDrawSpriteRegion(pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32, 24, 32, PLAYERBMPDATAPTR);
\r
46 modexClearRegion(pip[1].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32, 14);
\r
48 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
49 player[pn].enti.d = 2;
\r
51 player[pn].enti.triggerx = player[pn].enti.tx+1;
\r
52 player[pn].enti.triggery = player[pn].enti.ty;
\r
57 if(pip[0].tx > 0 && pip[0].tx+pip[0].page->tw <= pip[0].map->width && player[pn].enti.tx == pip[0].tx+pip[0].page->tilemidposscreenx &&
\r
58 !(pip[0].map->data[(player[pn].enti.tx-2)+(pip[0].map->width*(player[pn].enti.ty-1))] == 0))//!(player[pn].enti.tx-1 == TRIGGX && player[pn].enti.ty == TRIGGY)) //collision detection!
\r
60 if(player[pn].enti.q<=player[pn].enti.spt)
\r
63 ANIMATESPRIFUN(pip, player, pn, 1);
\r
64 ScrollLeft(pip, player, 3, pn);
\r
65 ScrollLeft(pip, player, 2, pn);
\r
66 //mapScrollLeft(pip, player, !(pip[0].video->p), pn);
\r
67 mapScrollLeft(pip, player, (pip[0].video->p), pn);
\r
68 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
69 player[pn].enti.q++;
\r
70 //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
\r
71 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; }
\r
73 else if(player[pn].enti.tx > 1 && !(pip[0].map->data[(player[pn].enti.tx-2)+(pip[0].map->width*(player[pn].enti.ty-1))] == 0))//!(player[pn].enti.tx-1 == TRIGGX && player[pn].enti.ty == TRIGGY))
\r
75 if(player[pn].enti.q<=player[pn].enti.spt)
\r
78 player[pn].enti.x-=(player[pn].enti.speed);
\r
79 ANIMATESPRIFUN(pip, player, pn, 0);
\r
80 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
81 player[pn].enti.q++;
\r
82 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.tx--; }
\r
86 if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32);
\r
88 modexDrawSpriteRegion(pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 96, 24, 32, PLAYERBMPDATAPTR);
\r
90 modexClearRegion(pip[1].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32, 10);
\r
92 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
93 player[pn].enti.d = 2;
\r
95 player[pn].enti.triggerx = player[pn].enti.tx-1;
\r
96 player[pn].enti.triggery = player[pn].enti.ty;
\r
101 if(pip[0].ty >= 0 && pip[0].ty+pip[0].page->th < pip[0].map->height && player[pn].enti.ty == pip[0].ty+pip[0].page->tilemidposscreeny &&
\r
102 !(pip[0].map->data[(player[pn].enti.tx-1)+(pip[0].map->width*(player[pn].enti.ty))] == 0))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty+1 == TRIGGY)) //collision detection!
\r
104 if(player[pn].enti.q<=player[pn].enti.spt)
\r
107 ANIMATESPRIFUN(pip, player, pn, 1);
\r
108 ScrollDown(pip, player, 3, pn);
\r
109 ScrollDown(pip, player, 2, pn);
\r
110 //mapScrollDown(pip, player, !(pip[0].video->p), pn);
\r
111 mapScrollDown(pip, player, (pip[0].video->p), pn);
\r
112 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
113 player[pn].enti.q++;
\r
114 //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
\r
115 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; }
\r
117 else if(player[pn].enti.ty < pip[0].map->height && !(pip[0].map->data[(player[pn].enti.tx-1)+(pip[0].map->width*(player[pn].enti.ty))] == 0))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty+1 == TRIGGY))
\r
119 if(player[pn].enti.q<=player[pn].enti.spt)
\r
122 player[pn].enti.y+=(player[pn].enti.speed);
\r
123 ANIMATESPRIFUN(pip, player, pn, 0);
\r
124 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
125 player[pn].enti.q++;
\r
126 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty++; }
\r
130 if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32);
\r
132 modexDrawSpriteRegion(pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 64, 24, 32, PLAYERBMPDATAPTR);
\r
134 modexClearRegion(pip[1].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32, 9);
\r
136 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
137 player[pn].enti.d = 2;
\r
139 player[pn].enti.triggerx = player[pn].enti.tx;
\r
140 player[pn].enti.triggery = player[pn].enti.ty+1;
\r
145 if(pip[0].ty > 0 && pip[0].ty+pip[0].page->th <= pip[0].map->height && player[pn].enti.ty == pip[0].ty+pip[0].page->tilemidposscreeny &&
\r
146 !(pip[0].map->data[(player[pn].enti.tx-1)+(pip[0].map->width*(player[pn].enti.ty-2))] == 0))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty-1 == TRIGGY)) //collision detection!
\r
148 if(player[pn].enti.q<=player[pn].enti.spt)
\r
151 ANIMATESPRIFUN(pip, player, pn, 1);
\r
152 ScrollUp(pip, player, 3, pn);
\r
153 ScrollUp(pip, player, 2, pn);
\r
154 //mapScrollUp(pip, player, !(pip[0].video->p), pn);
\r
155 mapScrollUp(pip, player, (pip[0].video->p), pn);
\r
156 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
157 player[pn].enti.q++;
\r
158 //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;
\r
159 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; }
\r
161 else if(player[pn].enti.ty > 1 && !(pip[0].map->data[(player[pn].enti.tx-1)+(pip[0].map->width*(player[pn].enti.ty-2))] == 0))//!(player[pn].enti.tx == TRIGGX && player[pn].enti.ty-1 == TRIGGY))
\r
163 if(player[pn].enti.q<=player[pn].enti.spt)
\r
166 player[pn].enti.y-=(player[pn].enti.speed);
\r
167 ANIMATESPRIFUN(pip, player, pn, 0);
\r
168 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
169 player[pn].enti.q++;
\r
170 } else { player[pn].enti.q = 1; player[pn].enti.d = 2; player[pn].enti.ty--; }
\r
174 if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32);
\r
176 modexDrawSpriteRegion(pip[0].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 0, 24, 32, PLAYERBMPDATAPTR);
\r
178 modexClearRegion(pip[1].page, player[pn].enti.x, player[pn].enti.y-TILEWH, 24, 32, 12);
\r
180 if(!pageflipflop) VL_ShowPage(pip[1].page, 0, 0);
\r
181 player[pn].enti.d = 2;
\r
183 player[pn].enti.triggerx = player[pn].enti.tx;
\r
184 player[pn].enti.triggery = player[pn].enti.ty-1;
\r