/* draw the next column */
x= mv[0].page->sw + mv[id].map->tiles->tileWidth;
if(player[plid].q%4)
- if(!pageflipflop){
if(id==0)
mapDrawCol(&mv[0], mv[0].tx + mv[0].page->tw, mv[0].ty-1, x, player, mv->page->dx);
else
- modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->th+2));
- }else mapDrawCol(&mv[(!mv[0].video->p)], mv[0].tx + mv[0].page->tw, mv[0].ty-1, x, player, mv->page->dx);
+ if(!pageflipflop)
+ modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->th+2));
+ else mv[0].video->r=1;
}
{
/* go backward one tile */
mv[id].tx--;
-
/* Snap the origin backward */
mv[id].page->data -= 4;
mv[id].page->dx = mv[id].map->tiles->tileWidth;
/* draw the next column */
x= 0;
if(player[plid].q%4)
- if(!pageflipflop){
if(id==0)
mapDrawCol(&mv[0], mv[0].tx - 1, mv[0].ty-1, x, player, mv->page->dx);
else
- modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->th+2));
- }else mapDrawCol(&mv[(!mv[0].video->p)], mv[0].tx - 1, mv[0].ty-1, x, player, mv->page->dx);
+ if(!pageflipflop)
+ modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->th+2));
+ else mv[0].video->r=1;
}
/* draw the next row */
y= 0;
if(player[plid].q%3)
- if(!pageflipflop){
if(id==0)
mapDrawRow(&mv[0], mv[0].tx - 1, mv[0].ty-1, y, player, mv->page->dy);
else
- modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->tw+2), mv[id].map->tiles->tileHeight);
- }else mapDrawRow(&mv[(!mv[0].video->p)], mv[0].tx - 1, mv[0].ty-1, y, player, mv->page->dy);
+ if(!pageflipflop)
+ modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->tw+2), mv[id].map->tiles->tileHeight);
+ else mv[0].video->r=1;
}
void near mapScrollDown(map_view_t *mv, player_t *player, word id, word plid)
/* draw the next row */
y= mv[0].page->sh + mv[id].map->tiles->tileHeight;
if(player[plid].q%3)
- if(!pageflipflop){
if(id==0)
mapDrawRow(&mv[0], mv[0].tx - 1, mv[0].ty+mv[0].page->th, y, player, mv->page->dy);
else
- modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->tw+2), mv[id].map->tiles->tileHeight);
- }else mapDrawRow(&mv[(!mv[0].video->p)], mv[0].tx - 1, mv[0].ty+mv[0].page->th, y, player, mv->page->dy);
+ if(!pageflipflop)
+ modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->tw+2), mv[id].map->tiles->tileHeight);
+ else mv[0].video->r=1;
}
i+=mv->map->width - tx;
}
modexCopyPageRegion(mv[1].page, mv[0].page, 0, 0, 0, 0, mv[0].page->width, mv[0].page->height);
- {
- unsigned int k,j,o;
- /* fill screen with a distinctive pattern */
- for (k=0;k < vga_state.vga_width;k++) {
- o = k >> 2;
- vga_write_sequencer(0x02/*map mask*/,1 << (k&3));
- for (j=0;j < (mv[0].page->height)+(mv[1].page->height)+(mv[2].page->height)+(mv[3].page->height);j++,o += vga_state.vga_stride)
- vga_state.vga_graphics_ram[o] = (k^j)&15; // VRL samples put all colors in first 15!
- }
- }
+// {
+// unsigned int k,j,o;
+// /* fill screen with a distinctive pattern */
+// for (k=0;k < vga_state.vga_width;k++) {
+// o = k >> 2;
+// vga_write_sequencer(0x02/*map mask*/,1 << (k&3));
+// for (j=0;j < (mv[0].page->height)+(mv[1].page->height)+(mv[2].page->height)+(mv[3].page->height);j++,o += vga_state.vga_stride)
+// vga_state.vga_graphics_ram[o] = (k^j)&15; // VRL samples put all colors in first 15!
+// }
+// }
modexCopyPageRegion(mv[3].page, mv[!(mv->video->p)].page, 0/**/, 0/**/, 0, 128, 20, 36);
}
sword qq; //scroll offset
word ls = player[pn].persist_aniframe;
- if(scrollswitch==0) qq = 0;
- else qq = ((player[pn].q)*(player[pn].speed));
+ switch(scrollswitch)
+ {
+ case 0:
+ qq = 0;
+ break;
+ default:
+ qq = ((player[pn].q)*(player[pn].speed));
+ break;
+ }
//x-=4;
y-=TILEWH;
switch (player[pn].d)