--- /dev/null
+src/lib/16_enti.c:// modexClearRegion(&video->page[0], enti->x, enti->y, 16, 16, 2);\r
+src/lib/16_enti.c:// modexClearRegion(&video->page[2], 0, 0, video->page[2].sw, video->page[2].sh, 45);\r
+src/lib/16_enti.c:// modexClearRegion(&video->page[3], 0, 0, video->page[3].sw, video->page[3].sh, 47);\r
+src/lib/16_enti.c: if(!video->bgps)\r
+src/lib/16_enti.c: video->ofs.pattern_ofs=(uint16_t)video->page[0].data;\r
+src/lib/16_enti.c: video->ofs.offscreen_ofs=(uint16_t)video->page[3].data;\r
+src/lib/16_enti.c: o2 = video->ofs.offscreen_ofs; //dest\r
+src/lib/16_enti.c: o = video->ofs.pattern_ofs + (enti->y * video->page[0].stridew) + (enti->x >> 2); // source\r
+src/lib/16_enti.c: for (i=0;i < h;i++,o += video->page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
+src/lib/16_enti.c: modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32);\r
+src/lib/16_sprit.c: VGA_RAM_PTR omemptr = (VGA_RAM_PTR)video->page[0].data;// save original mem ptr\r
+src/lib/16_sprit.c://#define FRAME1 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 48, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+src/lib/16_sprit.c://#define FRAME2 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR); stand\r
+src/lib/16_sprit.c://#define FRAME3 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 0, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+src/lib/16_sprit.c://#define FRAME4 modexDrawSpriteRegion(pip[(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR); stand\r
+src/lib/16_sprit.c: if(!video->rss)\r
+src/lib/16_sprit.c: if(!video->bgps)\r
+src/lib/16_sprit.c: else rx = -(video->page[0].dx);\r
+src/lib/16_sprit.c: else ry = -(video->page[0].dy);\r
+src/lib/16_sprit.c: if ((rx+w) > video->page[0].width) w = video->page[0].width-rx;\r
+src/lib/16_sprit.c: if ((ry+h) > video->page[0].height) h = video->page[0].height-ry;\r
+src/lib/16_sprit.c: o2 = video->ofs.offscreen_ofs;\r
+src/lib/16_sprit.c: o = video->ofs.pattern_ofs + (ry * video->page[0].stridew) + (rx >> 2); // source offscreen\r
+src/lib/16_sprit.c: for (i=0;i < h;i++,o += video->page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
+src/lib/16_sprit.c: vga_state.vga_graphics_ram = omemptr + video->ofs.offscreen_ofs;\r
+src/lib/16_sprit.c: modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32);\r
+src/lib/16_sprit.c: }else{ rx=ry=w=h=0; vga_state.vga_graphics_ram = (VGA_RAM_PTR)video->page[0].data; }\r
+src/lib/16_sprit.c: vga_state.vga_draw_stride_limit = (video->page[0].width + 3 - x) >> 2;//round up\r
+src/lib/16_sprit.c: modexClearRegion(&video->page[0], x, y, 16, 32, 1);\r
+src/lib/16_sprit.c: if(!video->rss)\r
+src/lib/16_sprit.c: if(!video->bgps)\r
+src/lib/16_sprit.c: o = video->ofs.offscreen_ofs; // source offscreen\r
+src/lib/16_sprit.c: o2 = (ry * video->page[0].stridew) + (rx >> 2); // dest visible (original stride)\r
+src/lib/16_sprit.c: for (i=0;i < h;i++,o += vga_state.vga_draw_stride,o2 += video->page[0].stridew) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
+src/lib/16_sprit.c: //modexCopyPageRegion(&video->page[0], &video->page[2], 0, 0, enti->x, enti->y, 24, 32);\r
+src/lib/16_sprit.c: vga_state.vga_draw_stride_limit = vga_state.vga_draw_stride = video->page[0].stridew;\r
+src/lib/16_sprit.c: vga_state.vga_graphics_ram = video->omemptr;\r
+src/lib/16_vl.c: //printf("\n\n 1st vmem_remain=%u\n", video->vmem_remain);\r
+src/lib/16_vl.c: for(i=0; i<video->num_of_pages; i++)\r
+src/lib/16_vl.c: video->vmem_remain-=video->page[i].pagesize;\r
+src/lib/16_vl.c: //printf(" [%u], video->page[%u].pagesize=%u\n", i, i, video->page[i].pagesize);\r
+src/lib/16_vl.c: //printf(" [%u], vmem_remain=%u\n", i, video->vmem_remain);\r
+src/lib/16_vl.c: video->ofs.offscreen_ofs = video->page[0].pagesize+video->page[1].pagesize;//(vga_state.vga_stride * vga_state.vga_height);\r
+src/lib/16_vl.c: video->ofs.pattern_ofs = (uint16_t)video->page[3].data;\r
+src/lib/16_vl.c: video->vmem_remain=65535U;\r
+src/lib/16_vl.c: video->num_of_pages=0;\r
+src/lib/16_vl.c: (video->page[0]) = modexDefaultPage(&(video->page[0])); video->num_of_pages++; //video->page[0].width += (TILEWHD); video->page[0].height += (TILEWHD);\r
+src/lib/16_vl.c: (video->page[1]) = modexNextPage(&(video->page[0])); video->num_of_pages++;\r
+src/lib/16_vl.c://0000 (video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), (video->page[0]).width, TILEWH*4); video->num_of_pages++;\r
+src/lib/16_vl.c://0000 (video->page[3]) = (video->page[2]); video->num_of_pages++;\r
+src/lib/16_vl.c://// (video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), TILEWH*4, TILEWH*4); video->num_of_pages++;\r
+src/lib/16_vl.c://// (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].sw, 208); video->num_of_pages++;\r
+src/lib/16_vl.c: (video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), video->page[0].width, 96); video->num_of_pages++;\r
+src/lib/16_vl.c: (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].width, 96); video->num_of_pages++;\r
+src/lib/16_vl.c: video->sp=video->p=0; //showpage\r
+src/lib/16_vl.c: video->r=1; //render\r
+src/lib/16_vl.c: video->vh=video->page[0].height+video->page[1].height+video->page[2].height+video->page[3].height;\r
+src/lib/16_vl.c: video->omemptr= vga_state.vga_graphics_ram;\r
+src/lib/16_vl.c: video->vga_draw_stride= vga_state.vga_draw_stride;\r
+src/lib/16_vl.c: video->vga_draw_stride_limit= vga_state.vga_draw_stride_limit;\r
+src/lib/16_vl.c: video->rss=0; //set to new\r
+src/lib/16_vl.c: video->bgps=1; //set to old\r
+src/lib/16_vl.c: video->page[0].dx=video->page[0].dy=\r
+src/lib/16_vl.c: video->page[1].dx=video->page[1].dy=TILEWH; // 1 tile size buffer\r
+src/lib/16_vl.c: video->page[2].dx=video->page[2].dy=\r
+src/lib/16_vl.c: video->page[3].dx=video->page[3].dy=0; // cache pages are buffer wwww\r
+src/lib/16_vl.c: h=video->vh;\r
+src/lib/16_vl.c: w=video->page[pn].width;\r
+src/lib/16_vl.c: d=(0x10000UL - (uint16_t)video->page[pn].data);\r
+src/lib/16_vl.c: s=video->page[pn].stridew;\r
+src/lib/16_vl.c: h=video->page[pn].height;\r
+src/lib/16_vl.c: if(!pn) h=video->vh;\r
+src/lib/16_vl.c: else h=video->page[pn].height;\r
+src/lib/scroll16.c: //0000pip[0].video->startclk = (*clockw);\r
+src/lib/scroll16.c: mapScrollRight(pip, player, (pip[0].video->p), pn);\r
+src/lib/scroll16.c: //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+src/lib/scroll16.c: mapScrollLeft(pip, player, (pip[0].video->p), pn);\r
+src/lib/scroll16.c: //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+src/lib/scroll16.c: mapScrollDown(pip, player, (pip[0].video->p), pn);\r
+src/lib/scroll16.c: //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+src/lib/scroll16.c: mapScrollUp(pip, player, (pip[0].video->p), pn);\r
+src/lib/scroll16.c: //0000pip[0].video->clk = ((*clockw)-pip[0].video->startclk)/18.2;\r
+src/lib/scroll16.c: //VL_ShowPage(moo[moo[0].video->sp].page, vsync, sr);\r
+src/lib/scroll16.c: offset = (word) moo[moo[0].video->sp].page->data;\r
+src/lib/scroll16.c: crtcOffset = moo[moo[0].video->sp].page->sw >> 3;\r
+src/lib/scroll16.c: if(mv[0].video->bgps)\r
+src/lib/scroll16.c: mv[0].video->r=1;\r
+src/lib/scroll16.c: if(mv[0].video->bgps)\r
+src/lib/scroll16.c: mv[0].video->r=1;\r
+src/lib/scroll16.c: if(mv[0].video->bgps)\r
+src/lib/scroll16.c: mv[0].video->r=1;\r
+src/lib/scroll16.c: if(mv[0].video->bgps)\r
+src/lib/scroll16.c: mv[0].video->r=1;\r
+src/lib/scroll16.c: if(mv[0].video->bgps) modexCopyPageRegion(mv[1].page, mv[0].page, 0, 0, 0, 0, mv[0].page->width, mv[0].page->height);\r
+src/lib/scroll16.c:// modexCopyPageRegion(&(gv->video.page[gv->video->sfip]), &(gv->video.page[!gv->video->sfip]), x, y, x+w, 0, w, h);\r
+src/lib/scroll16.c:// o2 = *(gv->video.page[gv->video->sfip].data)+(y * vga_state.vga_stride) + (x >> 2); // dest visible (original stride)\r
+src/lib/scroll16.c: //modexClearRegion(&(gv->video.page[gv->video->sfip]), x, y, w, h, 45);\r
+src/lib/scroll16.c:// o = *(gv->video.page[gv->video->sfip].data); // source offscreen\r
+src/lib/scroll16.c:// modexCopyPageRegion(&(gv->video.page[gv->video->sfip]), &(gv->video.page[!gv->video->sfip]), x, y, x, 0, w, h);\r
+src/lib/scroll16.c: //modexprint(&(gv->video.page[gv->video->sfip]), x, y+8, type, col, bgcol, "sanic!");\r
+src/lib/scroll16.c: //modexCopyPageRegion(&video->page[0], &video->page[1], enti->x, enti->y, 0, 0, 24, 32);\r
+src/lib/scroll16.c: switch(pip[0].video->rss)\r
+src/lib/scroll16.c:#define FRAME1 modexDrawSpriteRegion(pip[/*!*/(pip->video->p)].page, x, y, 48, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+src/lib/scroll16.c:#define FRAME2 modexDrawSpriteRegion(pip[/*!*/(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+src/lib/scroll16.c:#define FRAME3 modexDrawSpriteRegion(pip[/*!*/(pip->video->p)].page, x, y, 0, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+src/lib/scroll16.c:#define FRAME4 modexDrawSpriteRegion(pip[/*!*/(pip->video->p)].page, x, y, 24, player[pn].enti.dire, 24, 32, PLAYERBMPDATAPTR);\r
+src/lib/scroll16.c:#define FRAME1 modexClearRegion(pip[/*!*/(pip->video->p)].page, x, y, 16, 32, 2+player[pn].enti.dire);\r
+src/lib/scroll16.c:#define FRAME2 modexClearRegion(pip[/*!*/(pip->video->p)].page, x, y, 16, 32, 1+player[pn].enti.dire);\r
+src/lib/scroll16.c:#define FRAME3 modexClearRegion(pip[/*!*/(pip->video->p)].page, x, y, 16, 32, player[pn].enti.dire);\r
+src/lib/scroll16.c:#define FRAME4 modexClearRegion(pip[/*!*/(pip->video->p)].page, x, y, 16, 32, 1+player[pn].enti.dire);\r
+src/lib/scroll16.c: if(pip[0].video->bgps) modexCopyPageRegion(pip[0].page, pip[1].page, x-4, y-4, x-4, y-4, 28, 36);\r
+src/lib/scroll16.c: //modexCopyPageRegion(pip[3].page, pip[!(pip->video->p)].page, x-4, y-4, 0, 128, 28, 36);\r
+src/lib/scroll16.c: /*modexCopyPageRegion(pip[pip->video->p].page,\r
+src/lib/scroll16.c: pip[!(pip->video->p)].page, x-4, y-4, x-4, y-4, 28, 36);*/\r
+src/lib/scroll16.c: pip->video->r=1;\r
+src/lib/scroll16.c: 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
+src/lib/scroll16.c: pip->video->r=1;\r
+src/lib/scroll16.c: mv->video->r=1;\r
enti->overdraww=0;\r
enti->overdrawh=4;\r
\r
-// VL_Initofs(video);\r
+ VL_Initofs(video);\r
\r
// modexClearRegion(&video->page[0], enti->x, enti->y, 16, 16, 2);\r
// modexClearRegion(&video->page[2], 0, 0, video->page[2].sw, video->page[2].sh, 45);\r
// modexClearRegion(&video->page[3], 0, 0, video->page[3].sw, video->page[3].sh, 47);\r
-#ifndef OLDBGPRESERVE\r
- video->ofs.pattern_ofs=(uint16_t)video->page[0].data;\r
- video->ofs.offscreen_ofs=(uint16_t)video->page[3].data;\r
- w = (enti->x + 24) & (~3);\r
- h = enti->y + 32;\r
+ if(!video->bgps)\r
+ {\r
+ //video->ofs.pattern_ofs=(uint16_t)video->page[0].data;\r
+ //video->ofs.offscreen_ofs=(uint16_t)video->page[3].data;\r
+ w = (enti->x + 24) & (~3);\r
+ h = enti->y + 32;\r
\r
- // block copy pattern to where we will draw the sprite\r
- vga_setup_wm1_block_copy();\r
- o2 = video->ofs.offscreen_ofs; //dest\r
- o = video->ofs.pattern_ofs + (enti->y * video->page[0].stridew) + (enti->x >> 2); // source\r
- for (i=0;i < h;i++,o += video->page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
- // must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally\r
- vga_restore_rm0wm0();\r
-#else\r
- w=h=o=i=o2=0;\r
- modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32);\r
-#endif\r
+ // block copy pattern to where we will draw the sprite\r
+ vga_setup_wm1_block_copy();\r
+ o2 = video->ofs.offscreen_ofs; //dest\r
+ o = video->ofs.pattern_ofs + (enti->y * video->page[0].stridew) + (enti->x >> 2); // source\r
+ for (i=0;i < h;i++,o += video->page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
+ // must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally\r
+ vga_restore_rm0wm0();\r
+ }else{\r
+ w=h=o=i=o2=0;\r
+ modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32);\r
+ }\r
}\r
\r
//init player!\r
#define INC_PER_FRAME if(enti->q&1) enti->persist_aniframe++; if(enti->persist_aniframe>4) enti->persist_aniframe = 1;\r
unsigned int i,o,o2; int j;\r
int x,y,rx,ry,w,h;\r
-#ifndef OLDBGPRESERVE\r
VGA_RAM_PTR omemptr = (VGA_RAM_PTR)video->page[0].data;// save original mem ptr\r
-#endif\r
+\r
x=enti->spri->x;\r
y=enti->spri->y;\r
VL_Initofs(video);\r
}\r
\r
// render box bounds. y does not need modification, but x and width must be multiple of 4\r
- if(!video->rss){\r
-#ifndef OLDBGPRESERVE\r
- if (x >= enti->overdraww) rx = (x - enti->overdraww) & (~3);\r
- else rx = -(video->page[0].dx);\r
- if (y >= enti->overdrawh) ry = (y - enti->overdrawh);\r
- else ry = -(video->page[0].dy);\r
- h = enti->spri->sprite_vrl_cont->vrl_header->height + enti->overdrawh + y - ry;\r
- w = (x + enti->spri->sprite_vrl_cont->vrl_header->width + (enti->overdraww*2) + 3 - rx) & (~3) - enti->overdraww;//round up\r
- if ((rx+w) > video->page[0].width) w = video->page[0].width-rx;\r
- if ((ry+h) > video->page[0].height) h = video->page[0].height-ry;\r
-\r
- // block copy pattern to where we will draw the sprite\r
- vga_setup_wm1_block_copy();\r
- o2 = video->ofs.offscreen_ofs;\r
- o = video->ofs.pattern_ofs + (ry * video->page[0].stridew) + (rx >> 2); // source offscreen\r
- for (i=0;i < h;i++,o += video->page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
-\r
- // must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally\r
- vga_restore_rm0wm0();\r
-\r
- // replace VGA stride with our own and mem ptr. then sprite rendering at this stage is just (0,0)\r
- vga_state.vga_draw_stride = w >> 2;\r
- vga_state.vga_graphics_ram = omemptr + video->ofs.offscreen_ofs;\r
-#else\r
- w=h=i=o=o2=0;\r
- modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32);\r
-#endif\r
+ if(!video->rss)\r
+ {\r
+ if(!video->bgps)\r
+ {\r
+ if (x >= enti->overdraww) rx = (x - enti->overdraww) & (~3);\r
+ else rx = -(video->page[0].dx);\r
+ if (y >= enti->overdrawh) ry = (y - enti->overdrawh);\r
+ else ry = -(video->page[0].dy);\r
+ h = enti->spri->sprite_vrl_cont->vrl_header->height + enti->overdrawh + y - ry;\r
+ w = (x + enti->spri->sprite_vrl_cont->vrl_header->width + (enti->overdraww*2) + 3 - rx) & (~3) - enti->overdraww;//round up\r
+ if ((rx+w) > video->page[0].width) w = video->page[0].width-rx;\r
+ if ((ry+h) > video->page[0].height) h = video->page[0].height-ry;\r
+\r
+ // block copy pattern to where we will draw the sprite\r
+ vga_setup_wm1_block_copy();\r
+ o2 = video->ofs.offscreen_ofs;\r
+ o = video->ofs.pattern_ofs + (ry * video->page[0].stridew) + (rx >> 2); // source offscreen\r
+ for (i=0;i < h;i++,o += video->page[0].stridew,o2 += (w >> 2)) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
+\r
+ // must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally\r
+ vga_restore_rm0wm0();\r
+\r
+ // replace VGA stride with our own and mem ptr. then sprite rendering at this stage is just (0,0)\r
+ vga_state.vga_draw_stride = w >> 2;\r
+ vga_state.vga_graphics_ram = omemptr + video->ofs.offscreen_ofs;\r
+ }else{\r
+ w=h=i=o=o2=0;\r
+ modexCopyPageRegion(&video->page[2], &video->page[0], enti->x, enti->y, 0, 0, 24, 32);\r
+ }\r
}else{ rx=ry=w=h=0; vga_state.vga_graphics_ram = (VGA_RAM_PTR)video->page[0].data; }\r
vga_state.vga_draw_stride_limit = (video->page[0].width + 3 - x) >> 2;//round up\r
\r
enti->spri->sprite_vrl_cont->data_size\r
);\r
#endif\r
- if(!video->rss){\r
-#ifndef OLDBGPRESERVE\r
- // restore ptr\r
- vga_state.vga_graphics_ram = omemptr;\r
-\r
- // block copy to visible RAM from offscreen\r
- vga_setup_wm1_block_copy();\r
- o = video->ofs.offscreen_ofs; // source offscreen\r
- o2 = (ry * video->page[0].stridew) + (rx >> 2); // dest visible (original stride)\r
- for (i=0;i < h;i++,o += vga_state.vga_draw_stride,o2 += video->page[0].stridew) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
- // must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally\r
- vga_restore_rm0wm0();\r
-#else\r
- //modexCopyPageRegion(&video->page[0], &video->page[2], 0, 0, enti->x, enti->y, 24, 32);\r
-#endif\r
+ if(!video->rss)\r
+ {\r
+ if(!video->bgps)\r
+ {\r
+ // restore ptr\r
+ vga_state.vga_graphics_ram = omemptr;\r
+\r
+ // block copy to visible RAM from offscreen\r
+ vga_setup_wm1_block_copy();\r
+ o = video->ofs.offscreen_ofs; // source offscreen\r
+ o2 = (ry * video->page[0].stridew) + (rx >> 2); // dest visible (original stride)\r
+ for (i=0;i < h;i++,o += vga_state.vga_draw_stride,o2 += video->page[0].stridew) vga_wm1_mem_block_copy(o2,o,w >> 2);\r
+ // must restore Write Mode 0/Read Mode 0 for this code to continue drawing normally\r
+ vga_restore_rm0wm0();\r
+ }else{\r
+ //modexCopyPageRegion(&video->page[0], &video->page[2], 0, 0, enti->x, enti->y, 24, 32);\r
+ }\r
}\r
// restore stride\r
vga_state.vga_draw_stride_limit = vga_state.vga_draw_stride = video->page[0].stridew;\r
\r
vga_state.vga_graphics_ram = video->omemptr;\r
}\r
-\r
-\r
-\r
-\r
if(IN_KeyDown(87/*sc_F11*/)){ pagedelayrendermap=!pagedelayrendermap; IN_UserInput(1,1); } \\r
if(IN_KeyDown(68/*sc_F10*/)){ gvar.kurokku.fpscap=!gvar.kurokku.fpscap; IN_UserInput(1,1); } \\r
if(IN_KeyDown(sc_F9)){ pagenorendermap=!pagenorendermap; IN_UserInput(1,1); } \\r
+ if(IN_KeyDown(sc_F8)){ gvar.video.bgps=!gvar.video.bgps; IN_UserInput(1,1); } \\r
if(IN_KeyDown(sc_F7)){ ZC_ShowMV(&mv, 0, 1); IN_UserInput(1,1); } \\r
if(IN_KeyDown(sc_F6)){ ZC_ShowMV(&mv, 0, 0); IN_UserInput(1,1); } \\r
if(IN_KeyDown(sc_T)){ gvar.video.rss=!gvar.video.rss; IN_UserInput(1,1); } \\r
char name[16];\r
} map_t;\r
\r
-//TODO USE THIS tile info\r
typedef struct{\r
word tw; /* screen width in tiles */\r
word th; /* screen height in tiles */\r
byte vga_draw_stride;\r
byte vga_draw_stride_limit; // further X clipping\r
//end of doslib origi vars\r
- boolean __near rss; //render sprite switch\r
+ boolean __near rss; //render sprite switch\r
+ boolean __near bgps; //bg preservation render switch between old and new\r
sword __near sprifilei; //player file's i\r
nibble __near p; //render page number\r
nibble __near sp; //show page number(for showpage)\r
void VL_Initofs(video_t *video)\r
{\r
video->ofs.offscreen_ofs = video->page[0].pagesize+video->page[1].pagesize;//(vga_state.vga_stride * vga_state.vga_height);\r
- video->ofs.pattern_ofs = (uint16_t)video->page[2].data;\r
+ video->ofs.pattern_ofs = (uint16_t)video->page[3].data;\r
}\r
\r
void modexHiganbanaPageSetup(video_t *video)\r
(video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), video->page[0].width, 96); video->num_of_pages++;\r
modexCalcVmemRemain(video);\r
\r
- video->sp=video->p=0;\r
- video->r=1;\r
- video->vh=video->page[0].height+video->page[1].height+video->page[3].height-8;//+video->page[2].height\r
+ video->sp=video->p=0; //showpage\r
+ video->r=1; //render\r
+ video->vh=video->page[0].height+video->page[1].height+video->page[2].height+video->page[3].height;\r
\r
VL_Initofs(video);\r
//doslib origi var\r
video->vga_draw_stride= vga_state.vga_draw_stride;\r
video->vga_draw_stride_limit= vga_state.vga_draw_stride_limit;\r
//sprite render switch\r
- video->rss=0;\r
+ video->rss= 0; //set to new\r
+ video->bgps= 0; //set to new\r
\r
//setup the buffersize\r
video->page[0].dx=video->page[0].dy=\r
-Subproject commit 9c300a9aa95623357c1305b25a6cd84ef5212f27
+Subproject commit df3936dfd8af45cf82c04bce8c40485e0cabe700
#endif\r
if(id==0)\r
mapDrawCol(&mv[0], mv[0].tx + mv[0].page->ti.tw, mv[0].ty-1, x, player, DRAWCOLNUM);\r
-// else\r
-// if(!pageflipflop && !pageploop)\r
-// modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->ti.th+2));\r
+ else\r
+ if(mv[0].video->bgps)\r
+ modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->ti.th+2));\r
mv[0].video->r=1;\r
}\r
\r
#endif\r
if(id==0)\r
mapDrawCol(&mv[0], mv[0].tx - 1, mv[0].ty-1, x, player, DRAWCOLNUM);\r
-// else\r
-// if(!pageflipflop && !pageploop)\r
-// modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->ti.th+2));\r
+ else\r
+ if(mv[0].video->bgps)\r
+ modexCopyPageRegion(mv[id].page, mv[0].page, x, 0, x, 0, mv[id].map->tiles->tileWidth, mv[id].map->tiles->tileHeight*(mv[0].page->ti.th+2));\r
mv[0].video->r=1;\r
}\r
\r
#endif\r
if(id==0)\r
mapDrawRow(&mv[0], mv[0].tx - 1, mv[0].ty-1, y, player, DRAWCOLNUM);\r
-// else\r
-// if(!pageflipflop && !pageploop)\r
-// modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->ti.tw+2), mv[id].map->tiles->tileHeight);\r
+ else\r
+ if(mv[0].video->bgps)\r
+ modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->ti.tw+2), mv[id].map->tiles->tileHeight);\r
mv[0].video->r=1;\r
}\r
\r
#endif\r
if(id==0)\r
mapDrawRow(&mv[0], mv[0].tx - 1, mv[0].ty+mv[0].page->ti.th, y, player, DRAWCOLNUM);\r
-// else\r
-// if(!pageflipflop && !pageploop)\r
-// modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->ti.tw+2), mv[id].map->tiles->tileHeight);\r
+ else\r
+ if(mv[0].video->bgps)\r
+ modexCopyPageRegion(mv[id].page, mv[0].page, 0, y, 0, y, mv[id].map->tiles->tileWidth*(mv[0].page->ti.tw+2), mv[id].map->tiles->tileHeight);\r
mv[0].video->r=1;\r
}\r
\r
int py;//px,\r
unsigned int i;\r
\r
- mapinitmapview(mv, tx, ty);\r
+ ZC_mapinitMV(mv, tx, ty);\r
\r
/* draw the tiles */\r
modexClearRegion(mv[0].page, 0, 0, mv[0].page->width, mv[0].page->height, 0);\r
mapDrawWRow(&mv[0], tx-1, ty, py);\r
i+=mv->map->width - tx;\r
}\r
-// if(!pageploop) modexCopyPageRegion(mv[1].page, mv[0].page, 0, 0, 0, 0, mv[0].page->width, mv[0].page->height);\r
- modexCopyPageRegion(mv[3].page, mv[0].page, 0/**/, 0/**/, 0, 0, 24, 32);\r
+ if(mv[0].video->bgps) modexCopyPageRegion(mv[1].page, mv[0].page, 0, 0, 0, 0, mv[0].page->width, mv[0].page->height);\r
+// modexCopyPageRegion(mv[3].page, mv[0].page, 0/**/, 0/**/, 0, 0, 24, 32);\r
}\r
\r
-void mapinitmapview(map_view_t *mv, int tx, int ty)\r
+void ZC_mapinitMV(map_view_t *mv, int tx, int ty)\r
{\r
/* set up the coordinates */\r
mv[0].tx = mv[1].tx = tx;\r
//setkb(0);\r
}*/\r
\r
-//boolean pageflipflop = 1;\r
-//boolean pageploop = 1;\r
boolean pagenorendermap = 0;\r
boolean pagedelayrendermap = 0;\r
\r
break;\r
}\r
//render!!\r
-// if(pageflipflop){\r
- if(gv->video.r ){//r=1\r
-#ifndef OLDBGPRESERVE\r
-#else\r
- //modexCopyPageRegion(&video->page[0], &video->page[1], enti->x, enti->y, 0, 0, 24, 32);\r
-#endif\r
- //vga_setup_wm1_block_copy();\r
- //_fmemcpy((gv->video.page[(gv->video.p)]).data, (gv->video.page[(!gv->video.p)]).data, gv->video.page[(!gv->video.p)].pagesize);\r
- //vga_restore_rm0wm0();\r
-// if(!pageploop) modexCopyPageRegion(&(gv->video.page[(gv->video.p)]), &(gv->video.page[(!gv->video.p)]), 0, 0, 0, 0, gv->video.page[gv->video.p].width, gv->video.page[!gv->video.p].height);\r
+ if(gv->video.r )\r
+ {//r=1\r
+ if(gv->video.bgps )\r
+ {//bgps=1\r
+ /*modexCopyPageRegion(&(gv->video.page[\r
+ ]), &(gv->video.page[(\r
+ ]), 0, 0, 0, 0, gv->video.page[\r
+ ].width, gv->video.page[\r
+ ].height);*/\r
+ }else{\r
+ //modexCopyPageRegion(&video->page[0], &video->page[1], enti->x, enti->y, 0, 0, 24, 32);\r
+ }\r
VL_ShowPage(&(gv->video.page[gv->video.sp]), gv->kurokku.fpscap, 0);\r
-// if(!pageploop) gv->video.p=!gv->video.p;\r
gv->video.r =!gv->video.r ;\r
//0000gv->video.tickclk = ((*clockw)-gv->video.startclk)/18.2;\r
// }\r
break;\r
}\r
\r
-// if(!pageflipflop) modexCopyPageRegion(pip[1].page, pip[0].page, x-4, y-4, x-4, y-4, 28, 36);\r
+ if(pip[0].video->bgps) modexCopyPageRegion(pip[0].page, pip[1].page, x-4, y-4, x-4, y-4, 28, 36);\r
// else{\r
// //copy old bg to page0\r
// //modexCopyPageRegion(pip[3].page, pip[0].page, bx, by, 0, 0, 20, 36);\r
printf("gvar.video.r=%u ", gvar.video.r);\\r
printf("\n\n");\r
\r
-//pageflipflop, pageploop,\r
extern boolean pagenorendermap, pagedelayrendermap;\r
\r
extern char global_temp_status_text[512];\r
void ZC_playerXYpos(int x, int y, player_t *player, map_view_t *pip, nibble pn);\r
sword chkmap(map_t *map, word q);\r
void mapGoTo(map_view_t *mv, int tx, int ty);\r
-void mapinitmapview(map_view_t *mv, int tx, int ty);\r
+void ZC_mapinitMV(map_view_t *mv, int tx, int ty);\r
void near mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y);\r
void near mapDrawRow(map_view_t *mv, int tx, int ty, word y, player_t *player, word poopoffset);\r
void near mapDrawCol(map_view_t *mv, int tx, int ty, word x, player_t *player, word poopoffset);\r
modexClearRegion(mv[3].page, 0, 0, 20, 36, 15);\r
//IN_UserInput(1,1);\r
}\r
-#ifdef SPRITE\r
- if(IN_KeyDown(66)) //f8\r
- {\r
-// modexDrawSprite(mv[0].page, 16, 16, &p);\r
- modexDrawSprite(mv[0].page, 32+72, 16, (PCXBMPVAR));\r
- }\r
-#endif\r
+\r
FUNCTIONKEYFUNCTIONS\r
FUNCTIONKEYDRAWJUNK\r
if(IN_KeyDown(sc_L)){ modexClearRegion(&gvar.video.page[0], player[0].enti.x, player[0].enti.y, 16, 16, 1); }\r
if(IN_KeyDown(24)){ modexPalUpdate0(gpal); /*paloffset=0;*/ modexpdump(mv[0].page); IN_UserInput(1,1); } //o\r
if(IN_KeyDown(22)){ modexPalUpdate0(gpal); } //u\r
\r
- //pan switch\r
- if(IN_KeyDown(66)) //f8\r
- {\r
-// modexDrawSprite(mv[0].page, 16, 16, &p);\r
-// modexDrawSprite(mv[0].page, 32+72, 16, (player[0].data));\r
- switch(i)\r
- {\r
- case 11:\r
- i=0;\r
- player[0].enti.spri->x = TILEWH;\r
- default:\r
- i++;\r
- animate_spri(&(player[0].enti), &gvar.video);// player[0].enti.spri->x += 16;\r
- break;\r
- }\r
- }\r
FUNCTIONKEYFUNCTIONS\r
FUNCTIONKEYDRAWJUNK\r
if(IN_KeyDown(sc_L)){ modexClearRegion(&gvar.video.page[0], player[0].enti.x, player[0].enti.y, 16, 16, 1); }\r