From: sparky4 Date: Mon, 1 May 2017 18:40:57 +0000 (-0500) Subject: 16_ca needs huge amounts of work and I should remember what needs to be done soon... X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=commitdiff_plain;h=8e634200defb60b0dabf4e5c6421f19014d187d4 16_ca needs huge amounts of work and I should remember what needs to be done soon[going to port rest of code to borland c some time so we can use the core components of id engine here ][going to add 16_us.c eventually but the debug system and CA_ PM_ and MM_ usage is priority now]older zcroll renamed to xcroll][zcroll is now the pre menu game loop system with PROPER data usage with CAMMPM] added 1st scroll back [i work on CA] palette debug show values added wwww and i need to know how to see vrs/vrl imaage data palette index numbers --- diff --git a/XCROLL.LOG b/XCROLL.LOG new file mode 100755 index 00000000..6bc68838 --- /dev/null +++ b/XCROLL.LOG @@ -0,0 +1,35 @@ +objects detected +Object 4's name: 'trunk' + properties: { + "walkable":"0" + } + walkable: 0 +Object 4's name: 'stump' + properties: { + "walkable":"0" + } + walkable: 0 + +Project 16 xcroll.exe. This is just a test file! +version May 1 2017 13:37:18 +page[0]dxy: 16x16 + +player vars: + xy: 160x128 txy: 10x8 triggxy: 10x9 value: 39 + hp: 4 q: 1 info.dir: 2 d: 2 dire: 30 pdir: 0 + delay=0 + +VL_PrintmodexmemInfo: + Virtual Screen: 352x272 Tile: 22x17=((Virtual Screen)/16) + Screen: 320x240 Tile: 20x15=((Screen)/16) + stride: 80 draw_stride: 88 draw_stride_limit: 88 + Free Video Memory: 767 + page [0]=(a000:0000) size=23936 w=352 h=272 sw=320 sh=240 pi=1408 + [1]=(a000:5d80) size=23936 w=352 h=272 sw=320 sh=240 pi=1408 + [2]=(a000:bb00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408 + [3]=(a000:dc00) size=8448 w=352 h=96 sw=352 sh=96 pi=1408 +gvar.video: + r=0 bgps=1 + +detected CPU type: 80386 or newer +detected FPU type: 80387 diff --git a/src/inputest.c b/src/inputest.c index 8d76a7fc..4df28afe 100755 --- a/src/inputest.c +++ b/src/inputest.c @@ -30,8 +30,8 @@ main(int argc, char *argv[]) { static global_game_variables_t gvar; #ifdef __DEBUG_InputMgr__ - dbg_testkeyin=0; - dbg_testcontrolnoisy=1; + dbg_testkeyin=1; + dbg_testcontrolnoisy=0; #endif start_timer(&gvar); //Startup16(&gvar); diff --git a/src/lib/16_dbg.c b/src/lib/16_dbg.c index 321388c9..28cc6d01 100755 --- a/src/lib/16_dbg.c +++ b/src/lib/16_dbg.c @@ -235,3 +235,159 @@ static char buf[10]; //SD_StopDigitized(); } #pragma warn +pia + +#ifdef __WATCOMC__ +#ifdef __DEBUG_VL__ + +//=========================================================================== + +/* +================ += += ShowPalVarSync += +================ +*/ + +//#define SHOWPALVARIMODQUAD ((spv.i)%QUADWH) +#define SHOWPALVARIMOD ((spv.i)%TILEWH) +#define SHOWPALVARIDIV ((spv.i)/TILEWH) +#define SHOWPALVARIMODCOND (!SHOWPALVARIMOD) +#define SHOWPALVARIDIVCOND (!SHOWPALVARIDIV) +#define SHOWPALVARIMODIFCOND if(SHOWPALVARIMODCOND && spv.i) +#define SHOWPALVARIDIVIFCOND if(SHOWPALVARIDIVCOND && spv.i) +//video.page[0], result.palx+TILEWH, result.paly+TILEWH, result.mult, result.mult, result.i); + return result; +} + +/* +================ += += ShowPalVal += +================ +*/ + +void ShowPalVal (global_game_variables_t *gvar) +{ + boolean done ,err; + ScanCode scan; + spv_t spv; + word ccolor = 3, xpos = gvar->video.page[0].dx, ypos = gvar->video.page[0].dy; + + spv.mult=(QUADWH); + spv.palq=(spv.mult)*TILEWH; + spv.i = 0; + +// IN_UserInput(1, gvar); + modexpdump(&gvar->video.page[0]); + + for (spv.oi = 1,done = false;!done;) + { + SHOWPALVARIMODIFCOND + { + if(err) printf("SHOWPALVARIMODIFCOND\n"); + if(spv.i==SHOWPALVARPALSIZELIMIT) spv.paly=(TILEWH*8)+spv.mult*SHOWPALVARIDIV; + spv.palx=(TILEWH*12); + }else spv.palx=(TILEWH*12)+spv.mult*SHOWPALVARIMOD; + if(spv.ivideo.page[0]); + modexClearRegion(&gvar->video.page[0], spv.palx+TILEWH, spv.paly+TILEWH, spv.mult, spv.mult, 5); + modexClearRegion(&gvar->video.page[0], spv.palx+TILEWH+1, spv.paly+TILEWH+1, spv.mult-2, spv.mult-2, spv.i); + spv.oi = spv.i; + } + +#define SHOWPALVARPRINT modexprint(&(gvar->video.page[0]), xpos, ypos, 1, 0, ccolor, 8, gvar->video.VL_Started, global_temp_status_text); ypos+=8; + sprintf(global_temp_status_text, "%03u", spv.i); SHOWPALVARPRINT + sprintf(global_temp_status_text, "r %03u", gvar->video.palette[(spv.i*3)+0]/*>>2*/); SHOWPALVARPRINT + sprintf(global_temp_status_text, "g %03u", gvar->video.palette[(spv.i*3)+1]/*>>2*/); SHOWPALVARPRINT + sprintf(global_temp_status_text, "b %03u", gvar->video.palette[(spv.i*3)+2]/*>>2*/); SHOWPALVARPRINT + xpos = gvar->video.page[0].dx; ypos = gvar->video.page[0].dy; + + while (!(scan = gvar->in.inst->LastScan)) + {} + + IN_ClearKey(scan); + switch (scan) + { + case sc_LeftArrow: + if (spv.i > 0) + { + spv.i--; + } + else + { + spv.palx=gvar->video.page[0].sw-spv.mult; + spv.paly=gvar->video.page[0].sh-spv.mult; + spv.i = SHOWPALVARPALSIZELIMIT; + } + break; + case sc_RightArrow: + if (spv.i < SHOWPALVARPALSIZELIMIT) + { + spv.i++; + } + else + { + spv.palx=TILEWH*12; + spv.paly=TILEWH*8; + spv.i = 0; + } + break; + case sc_UpArrow: + if (spv.i > 0) + { + spv.i-=16; + } + else + { + spv.palx=gvar->video.page[0].sw-spv.mult; + spv.paly=gvar->video.page[0].sh-spv.mult; + spv.i = SHOWPALVARPALSIZELIMIT; + } + break; + case sc_DownArrow: + if (spv.i < SHOWPALVARPALSIZELIMIT) + { + spv.i+=16; + } + else + { + spv.palx=TILEWH*12; + spv.paly=TILEWH*8; + spv.i = 0; + } + break; + case sc_W: // Walls + spv.i = 0; + break; + case sc_Escape: + done = true; + break; + } + } + IN_UserInput(1, gvar); +} +#endif //debug vl +#endif //watcomc diff --git a/src/lib/16_dbg.h b/src/lib/16_dbg.h index 295b7146..ce2305b5 100755 --- a/src/lib/16_dbg.h +++ b/src/lib/16_dbg.h @@ -7,7 +7,7 @@ #include "src/lib/16_tdef.h" #define __DEBUG__ -//#define __DEBUG_InputMgr__ +#define __DEBUG_InputMgr__ #define __DEBUG_MAP__ //#define __DEBUG_2__ //#define __DEBUG_CA__ @@ -15,6 +15,7 @@ //#define __DEBUG_MM__ //#define __DEBUG_RF__ #define __DEBUG_SPRI__ +#define __DEBUG_VL__ #ifdef __DEBUG__ @@ -44,6 +45,12 @@ extern boolean dbg_delayanimation; #endif #ifdef __WATCOMC__ +typedef struct +{ + word palq,mult; + word palx, paly; + byte i, oi; +} spv_t; # ifdef DEBUGSERIAL # include @@ -66,5 +73,11 @@ static inline int _DEBUG_INIT() { #endif //watcomc void ShapeTest_(global_game_variables_t *gvar); +#ifdef __WATCOMC__ +#ifdef __DEBUG_VL__ +spv_t ShowPalVarSync (spv_t *spv); +void ShowPalVal (global_game_variables_t *gvar); +#endif +#endif #endif // _SRC_LIB_16_DBG diff --git a/src/lib/16_in.h b/src/lib/16_in.h index 14c88c05..aa57e395 100755 --- a/src/lib/16_in.h +++ b/src/lib/16_in.h @@ -138,6 +138,8 @@ #define key_LSuper 0x5b #define key_RSuper 0x5c #define key_Menu 0x5d +#define sc_LBrkt +#define sc_RBrkt // Stuff for the mouse #define MReset 0 diff --git a/src/lib/16_vrs.c b/src/lib/16_vrs.c index 874a58b1..6e733c58 100755 --- a/src/lib/16_vrs.c +++ b/src/lib/16_vrs.c @@ -53,6 +53,8 @@ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_varia } // Allocate memory for vrl line offsets table +// MM_GetPtr(MEMPTRCONV gvar->ca.grsegs[0], sizeof(vrl1_vgax_offset_t *)*num_of_vrl, gvar); +// enti->spri.spritesheet.vrl_line_offsets = (vrl1_vgax_offset_t **)gvar->ca.grsegs[0]; vrl_line_offsets = malloc(sizeof(vrl1_vgax_offset_t *)*num_of_vrl);//TODO: USE MM_ CA_ AND PM_ vrl_headers_offsets = (uint32_t far *)(enti->spri.spritesheet.buffer + enti->spri.spritesheet.vrs_hdr->offset_table[VRS_HEADER_OFFSET_VRS_LIST]); @@ -69,6 +71,7 @@ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_varia vrl_size = enti->spri.spritesheet.vrs_hdr->offset_table[VRS_HEADER_OFFSET_SPRITE_ID_LIST] - vrl_headers_offsets[i] - sizeof(struct vrl1_vgax_header); } vrl_line_offsets[i] = vrl1_vgax_genlineoffsets(curr_vrl, (byte *)curr_vrl + sizeof(struct vrl1_vgax_header), vrl_size); +// enti->spri.spritesheet.vrl_line_offsets[i] = vrl1_vgax_genlineoffsets(curr_vrl, (byte *)curr_vrl + sizeof(struct vrl1_vgax_header), vrl_size); } enti->spri.spritesheet.vrl_line_offsets = vrl_line_offsets; } diff --git a/src/lib/jsmn b/src/lib/jsmn index 1682c32e..35086597 160000 --- a/src/lib/jsmn +++ b/src/lib/jsmn @@ -1 +1 @@ -Subproject commit 1682c32e9ae5990ddd0f0e907270a0f6dde5cbe9 +Subproject commit 35086597a72d94d8393e6a90b96e553d714085bd diff --git a/src/xcroll.c b/src/xcroll.c index d06850cb..cea17795 100755 --- a/src/xcroll.c +++ b/src/xcroll.c @@ -121,7 +121,7 @@ void main(int argc, char *argv[]) modexFadeOn(4, &gvar.video.palette); #endif - IN_StartAck (&gvar); MM_ShowMemory(&gvar); while (!IN_CheckAck (&gvar)){} +// IN_StartAck (&gvar); MM_ShowMemory(&gvar); while (!IN_CheckAck (&gvar)){} #ifdef FADE modexPalBlack(); //so player will not see loadings~ #endif @@ -186,12 +186,13 @@ void main(int argc, char *argv[]) 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--; } //debugging binds! - if(gvar.in.inst->Keyboard[24]){ VL_modexPalScramble(&gvar.video.palette); /*paloffset=0;*/ modexpdump(gvar.mv[0].page); IN_UserInput(1, &gvar); } //o - if(gvar.in.inst->Keyboard[22]){ VL_modexPalScramble(&gvar.video.palette); } //u + 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 + if(gvar.in.inst->Keyboard[22]){ VL_modexPalScramble(&gvar.video.palette); VL_LoadPalFileCore(&gvar.video.palette, &gvar); } //u TAIL_FUNCTIONKEYFUNCTIONS TAIL_FUNCTIONKEYDRAWJUNK - 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); } +// 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); } + if(gvar.in.inst->Keyboard[sc_L]){ ShowPalVal (&gvar); IN_UserInput(1, &gvar); } if(gvar.in.inst->Keyboard[sc_J] || gvar.in.inst->Keyboard[sc_K]) { if(gvar.in.inst->Keyboard[sc_J])