// else\r
// if(mv[0].video->bgps)\r
// modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[0].map->tiles->tileWidth, mv[0].page->height);\r
- mv[0].video->dorender=1;\r
+ //mv[0].video->dorender=1;//ScrollRight\r
}\r
\r
\r
// else\r
// if(mv[0].video->bgps)\r
// modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[0].map->tiles->tileWidth, mv[0].page->height);\r
- mv[0].video->dorender=1;\r
+ //mv[0].video->dorender=1;//ScrollLeft\r
}\r
\r
\r
// else\r
// if(mv[0].video->bgps)\r
// modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[0].page->width, mv[0].map->tiles->tileHeight);\r
- mv[0].video->dorender=1;\r
+ //mv[0].video->dorender=1;//ScrollUp\r
}\r
\r
\r
// else\r
// if(mv[0].video->bgps)\r
// modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[0].page->width, mv[0].map->tiles->tileHeight);\r
- mv[0].video->dorender=1;\r
+ //mv[0].video->dorender=1;//ScrollDown\r
}\r
\r
void ZC_mapScroll(map_view_t *mv, player_t *player, word pn)\r
if(b) mapScrollUp(mv, player, (1), pn);\r
break;\r
}\r
- mv[0].video->dorender=1;\r
+ //mv[0].video->dorender=1;//ZC_mapScroll\r
}\r
\r
//===========================================================================\r
//fix this to be far~\r
// bp = bitmapLoadPcx("data/ed.pcx");\r
// map->tiles->data = &bp;\r
-#ifdef __DEBUG_MAP__\r
- dbg_mapdata = map->data;\r
-#endif\r
map->tiles->tileHeight = 16;\r
map->tiles->tileWidth = 16;\r
map->tiles->rows = 1;\r
#endif\r
}\r
#ifdef __DEBUG_MAP__\r
- else dbg_maptext = false;\r
+ else\r
+ {\r
+ dbg_maptext = false;\r
+ }\r
#endif\r
return 0;\r
}\r
case 0:\r
#endif\r
#ifndef TILERENDER\r
- if(!pagenorendermap) modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, ((dbg_mapdata[i])+1));\r
- //modexprint(page, x, y, 1, 15, 0, (char const *)(t->debug_data[i]));\r
+ if(!pagenorendermap) modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, i);\r
+ sprintf(global_temp_status_text2, "%d", i);\r
+ modexprint(page, x, y, 1, 1, 2, global_temp_status_text2);\r
#else\r
- modexDrawBmpRegion (page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->data));\r
+ modexDrawBmpRegion (page, x, y, rx, ry, t->tileWidth, t->tileHeight, i);\r
/* then the sprite. note modding ram ptr means we just draw to (x&3,0) */\r
//draw_vrl1_vgax_modex(x-rx,y-ry,vrl_header,vrl_lineoffs,buffer+sizeof(*vrl_header),bufsz-sizeof(*vrl_header));\r
//modexDrawBmpRegion (page, x, y, rx, ry, t->tileWidth, t->tileHeight, (t->data));\r
#ifdef __DEBUG_MAP__\r
break;\r
case 1:\r
- modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, (dbg_mapdata[i])+1);\r
+ modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, i);\r
//modexprintbig(page, x, y, 1, 15, 0, (t->debug_data));\r
/*for(texty=0; texty<2; texty++)\r
{\r
/* sync */\r
void shinku(global_game_variables_t *gv)\r
{\r
- word x = (0) + gv->video.page[/*!*/(gv->video.p)].dx; // follow the screen\r
- word y = (0) + gv->video.page[/*!*/(gv->video.p)].dy; // follow the screen\r
+ word x = gv->video.page[/*!*/(gv->video.p)].dx - (gv->video.page[(gv->video.p)].tlx); // follow the screen\r
+ word y = gv->video.page[/*!*/(gv->video.p)].dy - (gv->video.page[(gv->video.p)].tly); // follow the screen\r
word col = 2, bgcol = 1, type = 1;//w = 64, h = 8,\r
if(elapsed_timer(gv) >= (1.0 / gv->kurokku.frames_per_second))\r
{\r
// This fixes *** Null pointer assignment detected error message in ZCROLL.EXE on exit.\r
sprintf(global_temp_status_text, "%.0f fps", (double)gv->kurokku.tiku/ticktock(gv));\r
modexprint(&(gv->video.page[/*!*/(gv->video.p)]), x, y, type, col, bgcol, global_temp_status_text);\r
+//0000printf("dx=%u dy=%u\n", gv->video.page[/*!*/(gv->video.p)].dx, gv->video.page[/*!*/(gv->video.p)].dy);\r
gv->kurokku.tiku=0;\r
}else //copy dat sheet\r
gv->kurokku.tiku++;\r
\r
switch(gv->kurokku.fpscap)\r
{\r
- case 0:\r
+ case 0: //turn this off if XT\r
//modexprint(&(gv->video.page[0]), x, y+8, type, col, bgcol, "sanic!");\r
gv->kurokku.frames_per_second=1;\r
break;\r
case 1:\r
- //turn this off if XT\r
- modexWaitBorder_start();\r
+ //modexWaitBorder();\r
+ //modexWaitBorder_start();\r
//vga_wait_for_vsync();\r
+ vga_wait_for_vsync_end();\r
gv->kurokku.frames_per_second=60;\r
break;\r
}\r
break;\r
}\r
player[pn].enti.dire+=dd;\r
- if((player[pn].enti.q==1 && player[pn].enti.pred != player[pn].enti.d) || !dd)\r
+ //setting xy position\r
+ player[pn].enti.spri->x = x;\r
+ player[pn].enti.spri->y = y;\r
+\r
+ if((player[pn].enti.q==1 && player[pn].enti.pred != player[pn].enti.d) || !dd)//when dir changed OR when player change face direction\r
{\r
//0000printf(" q=%u pred=%u d=%u dd=%u\n", player[pn].enti.q, player[pn].enti.pred, player[pn].enti.d, dd);\r
set_anim_by_id(player[pn].enti.spri, player[pn].enti.dire); //pip->video->sprifilei = set_anim_by_id(player[pn].enti.spri, player[pn].enti.dire); if(pip->video->sprifilei == -1){ printf("ERROR! %u\n", player[pn].enti.dire); return; }\r
player[pn].enti.pred = player[pn].enti.d;\r
+ if(!dd)//changed direction while NOT moving!\r
+ {\r
+ modexCopyPageRegion(pip[0].page, pip[1].page, x-4, y-4, x-4, y-4, 28, 40);\r
+ animate_spri(&player[pn].enti, pip[0].video);\r
+ }\r
}\r
\r
- //setting xy position\r
- player[pn].enti.spri->x = x;\r
- player[pn].enti.spri->y = y;\r
-\r
- if(pip[0].video->bgps)\r
+ if(pip[0].video->bgps && dd)//if moving wwww\r
+ {\r
modexCopyPageRegion(pip[0].page, pip[1].page, x-4, y-4, x-4, y-4, 28, 40);\r
- //draw sprite\r
- animate_spri(&player[pn].enti, pip[0].video);\r
+\r
+ //draw sprite\r
+ animate_spri(&player[pn].enti, pip[0].video);\r
+ }\r
//0000if(player[pn].enti.q<4) delay(200);\r
- pip[0].video->dorender = 1;\r
}\r
\r
/*\r