]> 4ch.mooo.com Git - 16.git/commitdiff
16_ca needs huge amounts of work and I should remember what needs to be done soon...
authorsparky4 <sparky4@cock.li>
Mon, 1 May 2017 18:40:57 +0000 (13:40 -0500)
committersparky4 <sparky4@cock.li>
Mon, 1 May 2017 18:40:57 +0000 (13:40 -0500)
XCROLL.LOG [new file with mode: 0755]
src/inputest.c
src/lib/16_dbg.c
src/lib/16_dbg.h
src/lib/16_in.h
src/lib/16_vrs.c
src/lib/jsmn
src/xcroll.c

diff --git a/XCROLL.LOG b/XCROLL.LOG
new file mode 100755 (executable)
index 0000000..6bc6883
--- /dev/null
@@ -0,0 +1,35 @@
+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
index 8d76a7fca3e82ffeb64e63b5b2a222bf2a5b0053..4df28afe643acd0f78ab03d847ca7313440f4e3b 100755 (executable)
@@ -30,8 +30,8 @@ main(int argc, char *argv[])
 {\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
index 321388c91b4270e8ef3113ec61186abb63d44a94..28cc6d0116070161981de6009228f2aa9762eb5b 100755 (executable)
@@ -235,3 +235,159 @@ static    char    buf[10];
        //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
index 295b7146b9d96abea20ad1a38d0905dd19b5f36d..ce2305b5d24cc48bc583a5d9da8ab3a74c46497a 100755 (executable)
@@ -7,7 +7,7 @@
 #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
@@ -15,6 +15,7 @@
 //#define __DEBUG_MM__\r
 //#define __DEBUG_RF__\r
 #define __DEBUG_SPRI__\r
+#define __DEBUG_VL__\r
 \r
 \r
 #ifdef __DEBUG__\r
@@ -44,6 +45,12 @@ extern boolean dbg_delayanimation;
 #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
@@ -66,5 +73,11 @@ static inline int _DEBUG_INIT() {
 #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
index 14c88c05a06203a933b28510d311e0eb6adc6470..aa57e3955c0b58772fd5f0e2957ed4a094218620 100755 (executable)
 #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
index 874a58b1f8b8b053324715710e72582177f126b2..6e733c585d4ac3e0c73ba7adbd81d5910a91e71f 100755 (executable)
@@ -53,6 +53,8 @@ void VRS_OpenVRS(char *filename, entity_t *enti, boolean rlsw, global_game_varia
        }\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
@@ -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);\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
index 1682c32e9ae5990ddd0f0e907270a0f6dde5cbe9..35086597a72d94d8393e6a90b96e553d714085bd 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 1682c32e9ae5990ddd0f0e907270a0f6dde5cbe9
+Subproject commit 35086597a72d94d8393e6a90b96e553d714085bd
index d06850cbb3d6e29006c29d3185a0c161946a759c..cea177952143b533421527c59e0c2945e720a43b 100755 (executable)
@@ -121,7 +121,7 @@ void main(int argc, char *argv[])
        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
@@ -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--; }\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