--- /dev/null
+objects detected\r
+Object 4's name: 'trunk'\r
+ properties: {\r
+ "walkable":"0"\r
+ }\r
+ walkable: 0\r
+Object 4's name: 'stump'\r
+ properties: {\r
+ "walkable":"0"\r
+ }\r
+ walkable: 0\r
+\r
+Project 16 xcroll.exe. This is just a test file!\r
+version May 1 2017 13:37:18\r
+page[0]dxy: 16x16\r
+\r
+player vars:\r
+ xy: 160x128 txy: 10x8 triggxy: 10x9 value: 39\r
+ hp: 4 q: 1 info.dir: 2 d: 2 dire: 30 pdir: 0\r
+ delay=0\r
+\r
+VL_PrintmodexmemInfo:\r
+ Virtual Screen: 352x272 Tile: 22x17=((Virtual Screen)/16)\r
+ Screen: 320x240 Tile: 20x15=((Screen)/16)\r
+ stride: 80 draw_stride: 88 draw_stride_limit: 88\r
+ Free Video Memory: 767\r
+ page [0]=(a000:0000) size=23936 w=352 h=272 sw=320 sh=240 pi=1408\r
+ [1]=(a000:5d80) size=23936 w=352 h=272 sw=320 sh=240 pi=1408\r
+ [2]=(a000:bb00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408\r
+ [3]=(a000:dc00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408\r
+gvar.video:\r
+ r=0 bgps=1 \r
+\r
+detected CPU type: 80386 or newer\r
+detected FPU type: 80387\r
{\r
static global_game_variables_t gvar;\r
#ifdef __DEBUG_InputMgr__\r
- dbg_testkeyin=0;\r
- dbg_testcontrolnoisy=1;\r
+ dbg_testkeyin=1;\r
+ dbg_testcontrolnoisy=0;\r
#endif\r
start_timer(&gvar);\r
//Startup16(&gvar);\r
//SD_StopDigitized();\r
}\r
#pragma warn +pia\r
+\r
+#ifdef __WATCOMC__\r
+#ifdef __DEBUG_VL__\r
+\r
+//===========================================================================\r
+\r
+/*\r
+================\r
+=\r
+= ShowPalVarSync\r
+=\r
+================\r
+*/\r
+\r
+//#define SHOWPALVARIMODQUAD ((spv.i)%QUADWH)\r
+#define SHOWPALVARIMOD ((spv.i)%TILEWH)\r
+#define SHOWPALVARIDIV ((spv.i)/TILEWH)\r
+#define SHOWPALVARIMODCOND (!SHOWPALVARIMOD)\r
+#define SHOWPALVARIDIVCOND (!SHOWPALVARIDIV)\r
+#define SHOWPALVARIMODIFCOND if(SHOWPALVARIMODCOND && spv.i)\r
+#define SHOWPALVARIDIVIFCOND if(SHOWPALVARIDIVCOND && spv.i)\r
+//<PAL_SIZE/3 && spv.i)\r
+#define SHOWPALVARPALSIZELIMIT 255\r
+\r
+spv_t ShowPalVarSync (spv_t *spv)\r
+{\r
+ spv_t result;\r
+ result = *spv;\r
+\r
+// if(result.paly<result.palq+TILEWH*8) result.paly+=result.mult;\r
+// if(result.palx<result.palq+TILEWH*12) result.palx+=result.mult;\r
+// modexClearRegion(&gvar->video.page[0], result.palx+TILEWH, result.paly+TILEWH, result.mult, result.mult, result.i);\r
+ return result;\r
+}\r
+\r
+/*\r
+================\r
+=\r
+= ShowPalVal\r
+=\r
+================\r
+*/\r
+\r
+void ShowPalVal (global_game_variables_t *gvar)\r
+{\r
+ boolean done ,err;\r
+ ScanCode scan;\r
+ spv_t spv;\r
+ word ccolor = 3, xpos = gvar->video.page[0].dx, ypos = gvar->video.page[0].dy;\r
+\r
+ spv.mult=(QUADWH);\r
+ spv.palq=(spv.mult)*TILEWH;\r
+ spv.i = 0;\r
+\r
+// IN_UserInput(1, gvar);\r
+ modexpdump(&gvar->video.page[0]);\r
+\r
+ for (spv.oi = 1,done = false;!done;)\r
+ {\r
+ SHOWPALVARIMODIFCOND\r
+ {\r
+ if(err) printf("SHOWPALVARIMODIFCOND\n");\r
+ if(spv.i==SHOWPALVARPALSIZELIMIT) spv.paly=(TILEWH*8)+spv.mult*SHOWPALVARIDIV;\r
+ spv.palx=(TILEWH*12);\r
+ }else spv.palx=(TILEWH*12)+spv.mult*SHOWPALVARIMOD;\r
+ if(spv.i<SHOWPALVARPALSIZELIMIT) SHOWPALVARIDIVIFCOND\r
+ {\r
+ if(err) printf("SHOWPALVARIDIVIFCOND\n");\r
+ spv.paly=(TILEWH*8);\r
+ }else spv.paly=(TILEWH*8)+spv.mult*SHOWPALVARIDIV;\r
+\r
+ if((spv.palx<TILEWH*12 || spv.paly<TILEWH*8) && spv.i) err=true;\r
+ else err = false;\r
+ if(err){ printf("ERR "); printf("%ux%u %u\n", spv.palx, spv.paly, spv.i); }\r
+\r
+ if(spv.oi!=spv.i)\r
+ {\r
+ modexpdump(&gvar->video.page[0]);\r
+ modexClearRegion(&gvar->video.page[0], spv.palx+TILEWH, spv.paly+TILEWH, spv.mult, spv.mult, 5);\r
+ modexClearRegion(&gvar->video.page[0], spv.palx+TILEWH+1, spv.paly+TILEWH+1, spv.mult-2, spv.mult-2, spv.i);\r
+ spv.oi = spv.i;\r
+ }\r
+\r
+#define SHOWPALVARPRINT modexprint(&(gvar->video.page[0]), xpos, ypos, 1, 0, ccolor, 8, gvar->video.VL_Started, global_temp_status_text); ypos+=8;\r
+ sprintf(global_temp_status_text, "%03u", spv.i); SHOWPALVARPRINT\r
+ sprintf(global_temp_status_text, "r %03u", gvar->video.palette[(spv.i*3)+0]/*>>2*/); SHOWPALVARPRINT\r
+ sprintf(global_temp_status_text, "g %03u", gvar->video.palette[(spv.i*3)+1]/*>>2*/); SHOWPALVARPRINT\r
+ sprintf(global_temp_status_text, "b %03u", gvar->video.palette[(spv.i*3)+2]/*>>2*/); SHOWPALVARPRINT\r
+ xpos = gvar->video.page[0].dx; ypos = gvar->video.page[0].dy;\r
+\r
+ while (!(scan = gvar->in.inst->LastScan))\r
+ {}\r
+\r
+ IN_ClearKey(scan);\r
+ switch (scan)\r
+ {\r
+ case sc_LeftArrow:\r
+ if (spv.i > 0)\r
+ {\r
+ spv.i--;\r
+ }\r
+ else\r
+ {\r
+ spv.palx=gvar->video.page[0].sw-spv.mult;\r
+ spv.paly=gvar->video.page[0].sh-spv.mult;\r
+ spv.i = SHOWPALVARPALSIZELIMIT;\r
+ }\r
+ break;\r
+ case sc_RightArrow:\r
+ if (spv.i < SHOWPALVARPALSIZELIMIT)\r
+ {\r
+ spv.i++;\r
+ }\r
+ else\r
+ {\r
+ spv.palx=TILEWH*12;\r
+ spv.paly=TILEWH*8;\r
+ spv.i = 0;\r
+ }\r
+ break;\r
+ case sc_UpArrow:\r
+ if (spv.i > 0)\r
+ {\r
+ spv.i-=16;\r
+ }\r
+ else\r
+ {\r
+ spv.palx=gvar->video.page[0].sw-spv.mult;\r
+ spv.paly=gvar->video.page[0].sh-spv.mult;\r
+ spv.i = SHOWPALVARPALSIZELIMIT;\r
+ }\r
+ break;\r
+ case sc_DownArrow:\r
+ if (spv.i < SHOWPALVARPALSIZELIMIT)\r
+ {\r
+ spv.i+=16;\r
+ }\r
+ else\r
+ {\r
+ spv.palx=TILEWH*12;\r
+ spv.paly=TILEWH*8;\r
+ spv.i = 0;\r
+ }\r
+ break;\r
+ case sc_W: // Walls\r
+ spv.i = 0;\r
+ break;\r
+ case sc_Escape:\r
+ done = true;\r
+ break;\r
+ }\r
+ }\r
+ IN_UserInput(1, gvar);\r
+}\r
+#endif //debug vl\r
+#endif //watcomc\r
#include "src/lib/16_tdef.h"\r
\r
#define __DEBUG__\r
-//#define __DEBUG_InputMgr__\r
+#define __DEBUG_InputMgr__\r
#define __DEBUG_MAP__\r
//#define __DEBUG_2__\r
//#define __DEBUG_CA__\r
//#define __DEBUG_MM__\r
//#define __DEBUG_RF__\r
#define __DEBUG_SPRI__\r
+#define __DEBUG_VL__\r
\r
\r
#ifdef __DEBUG__\r
#endif\r
\r
#ifdef __WATCOMC__\r
+typedef struct\r
+{\r
+ word palq,mult;\r
+ word palx, paly;\r
+ byte i, oi;\r
+} spv_t;\r
# ifdef DEBUGSERIAL\r
# include <hw/8250/8250.h>\r
\r
#endif //watcomc\r
\r
void ShapeTest_(global_game_variables_t *gvar);\r
+#ifdef __WATCOMC__\r
+#ifdef __DEBUG_VL__\r
+spv_t ShowPalVarSync (spv_t *spv);\r
+void ShowPalVal (global_game_variables_t *gvar);\r
+#endif\r
+#endif\r
\r
#endif // _SRC_LIB_16_DBG\r
#define key_LSuper 0x5b\r
#define key_RSuper 0x5c\r
#define key_Menu 0x5d\r
+#define sc_LBrkt\r
+#define sc_RBrkt\r
\r
// Stuff for the mouse\r
#define MReset 0\r
}\r
\r
// Allocate memory for vrl line offsets table\r
+// MM_GetPtr(MEMPTRCONV gvar->ca.grsegs[0], sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar);\r
+// enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)gvar->ca.grsegs[0];\r
vrl_line_offsets = malloc(sizeof(vrl1_vgax_offset_t *)*num_of_vrl);//TODO: USE MM_ CA_ AND PM_\r
\r
vrl_headers_offsets = (uint32_t far *)(enti->spri.spritesheet.buffer + enti->spri.spritesheet.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]);\r
vrl_size = enti->spri.spritesheet.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST] - vrl_headers_offsets[i] - sizeof(struct vrl1_vgax_header);\r
}\r
vrl_line_offsets[i] = vrl1_vgax_genlineoffsets(curr_vrl, (byte *)curr_vrl + sizeof(struct vrl1_vgax_header), vrl_size);\r
+// enti->spri.spritesheet.vrl_line_offsets[i] = vrl1_vgax_genlineoffsets(curr_vrl, (byte *)curr_vrl + sizeof(struct vrl1_vgax_header), vrl_size);\r
}\r
enti->spri.spritesheet.vrl_line_offsets = vrl_line_offsets;\r
}\r
-Subproject commit 1682c32e9ae5990ddd0f0e907270a0f6dde5cbe9
+Subproject commit 35086597a72d94d8393e6a90b96e553d714085bd
modexFadeOn(4, &gvar.video.palette);\r
#endif\r
\r
- IN_StartAck (&gvar); MM_ShowMemory(&gvar); while (!IN_CheckAck (&gvar)){}\r
+// IN_StartAck (&gvar); MM_ShowMemory(&gvar); while (!IN_CheckAck (&gvar)){}\r
#ifdef FADE\r
modexPalBlack(); //so player will not see loadings~\r
#endif\r
if(gvar.player[0].enti.q == (TILEWH/(gvar.player[0].enti.speed))+1 && gvar.player[0].info.dir != 2 && (gvar.player[0].enti.triggerx == 5 && gvar.player[0].enti.triggery == 5)){ gvar.player[0].enti.hp--; }\r
//debugging binds!\r
\r
- if(gvar.in.inst->Keyboard[24]){ VL_modexPalScramble(&gvar.video.palette); /*paloffset=0;*/ modexpdump(gvar.mv[0].page); IN_UserInput(1, &gvar); } //o\r
- if(gvar.in.inst->Keyboard[22]){ VL_modexPalScramble(&gvar.video.palette); } //u\r
+ if(gvar.in.inst->Keyboard[24]){ VL_modexPalScramble(&gvar.video.palette); /*paloffset=0;*/ VL_LoadPalFileCore(&gvar.video.palette, &gvar); modexpdump(gvar.mv[0].page); IN_UserInput(1, &gvar); } //o\r
+ if(gvar.in.inst->Keyboard[22]){ VL_modexPalScramble(&gvar.video.palette); VL_LoadPalFileCore(&gvar.video.palette, &gvar); } //u\r
\r
TAIL_FUNCTIONKEYFUNCTIONS\r
TAIL_FUNCTIONKEYDRAWJUNK\r
- if(gvar.in.inst->Keyboard[sc_L]){ modexClearRegion(&gvar.video.page[0], gvar.player[0].enti.x, gvar.player[0].enti.y, 16, 16, 1); }\r
+// if(gvar.in.inst->Keyboard[sc_L]){ modexClearRegion(&gvar.video.page[0], gvar.player[0].enti.x, gvar.player[0].enti.y, 16, 16, 1); }\r
+ if(gvar.in.inst->Keyboard[sc_L]){ ShowPalVal (&gvar); IN_UserInput(1, &gvar); }\r
if(gvar.in.inst->Keyboard[sc_J] || gvar.in.inst->Keyboard[sc_K])\r
{\r
if(gvar.in.inst->Keyboard[sc_J])\r