]> 4ch.mooo.com Git - 16.git/commitdiff
ok wwwww zscroll and scroll compile disabled due to me being too tired to whack at...
authorsparky4 <sparky4@cock.li>
Tue, 6 Dec 2016 19:30:47 +0000 (13:30 -0600)
committersparky4 <sparky4@cock.li>
Tue, 6 Dec 2016 19:30:47 +0000 (13:30 -0600)
12 files changed:
inputest.exe [deleted file]
makefile
src/inputest.c
src/lib/16_dbg.c
src/lib/16_dbg.h
src/lib/16_t.h
src/lib/16_tail.c
src/lib/16_tail.h
src/lib/16_tdef.h
src/lib/zcroll16.c
src/scroll.c
src/zcroll.c

diff --git a/inputest.exe b/inputest.exe
deleted file mode 100755 (executable)
index 53a9bc3..0000000
Binary files a/inputest.exe and /dev/null differ
index 1c1cd5cede9e1039ae11d302d48b81c51cf238c0..effed175bc1b94bb75d21f47e3de8344a3396329 100755 (executable)
--- a/makefile
+++ b/makefile
@@ -161,9 +161,9 @@ TESTEXEC = &
        vgmtest.exe &
        scroll.exe &
        zcroll.exe &
+       inputest.exe &
        vrstest.exe
 TESTEXEC2 = &
-       inputest.exe &
        maptest.exe &
        fmemtest.exe &
        fonttest.exe &
index a573d54a8e769cf0d86fde5781dd2506a723f3a9..52d36283cc8440eff8425d19c7c273518e26963b 100755 (executable)
@@ -23,6 +23,7 @@
        input test\r
 */\r
 #include "src/lib/16_in.h"\r
+#include "src/lib/16_tail.h"\r
 \r
 void\r
 main(int argc, char *argv[])\r
@@ -30,21 +31,30 @@ main(int argc, char *argv[])
        global_game_variables_t gvar;\r
        player_t player[MaxPlayers];\r
        //extern struct inconfig inpu;\r
-       dbg_testkeyin=1;\r
+       dbg_testkeyin=0;\r
        dbg_testcontrolnoisy=1;\r
-       IN_Startup();\r
-       IN_Default(0,&player,ctrl_Joystick1);\r
-       IN_SetControlType(0,&player,ctrl_Joystick1);\r
-       //while(!IN_KeyDown(sc_Escape))\r
+       dbg_noplayerinpu=1;\r
+       if(!dbg_noplayerinpu)\r
+       {\r
+               IN_Startup();\r
+               IN_Default(0,&player,ctrl_Joystick1);\r
+               IN_SetControlType(/*0,*/&player,ctrl_Joystick1);\r
+       }\r
        player[0].q=1;\r
        player[0].d=2;\r
        player[0].persist_aniframe=0;\r
        player[0].speed=4;\r
        start_timer(&gvar);\r
+       nibbletest();\r
+       if(dbg_noplayerinpu) getch();\r
+       booleantest();\r
+       //printf("nibble size is %u\n", sizeof(nibble));\r
+       if(!dbg_noplayerinpu){\r
+       printf("dbg_testkeyin=%u        dbg_testcontrolnoisy=%u dbg_noplayerinpu=%u\nloop if this is not responsive then please KILL or reset machine sorry!!\n", dbg_testkeyin, dbg_testcontrolnoisy, dbg_noplayerinpu);\r
        while(!IN_KeyDown(sc_Escape))\r
        {\r
-               //shinkutxt(&gvar);\r
-               IN_ReadControl(0,&player);\r
+               shinkutxt(&gvar);\r
+               IN_ReadControl(/*0,*/&player);\r
                #define INC_PER_FRAME if(player[0].q&1) player[0].persist_aniframe++; if(player[0].persist_aniframe>4) player[0].persist_aniframe = 1;\r
                switch(player[0].d)\r
                {\r
@@ -101,10 +111,11 @@ main(int argc, char *argv[])
                        //IN_Ack();\r
                }\r
        }\r
-       IN_Shutdown();\r
+       IN_Shutdown(); }\r
        //printf("%u\n", in.Keyboard[sc_Escape]);\r
        printf("inputest.exe ");\r
        printf("version %s\n", VERSION);\r
        printf("testkeyin=%u\n", dbg_testkeyin);\r
        printf("testcontrolnoisy=%u\n", dbg_testcontrolnoisy);\r
+       printf("dbg_noplayerinpu=%u\n", dbg_noplayerinpu);\r
 }\r
index 13d5846de0d99293bf2d8c107807dda32e381292..960e76049faa683fff1e413678951f5669c70e75 100755 (executable)
@@ -1,5 +1,16 @@
+#include "src/lib/16_dbg.h"\r
+//#include "src/16.h"\r
+\r
+\r
+#ifdef __DEBUG__\r
+#ifdef __DEBUG_PM__\r
+boolean dbg_debugpm=0;\r
+#endif\r
+#ifdef __DEBUG_InputMgr__\r
+boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0,dbg_noplayerinpu=0;\r
+#endif\r
+#endif\r
 \r
-#include "src/16.h"\r
 \r
 // TODO: Could we also provide a build mode to emit debug to the "Bochs E9 hack?"\r
 #ifdef DEBUGSERIAL\r
 unsigned char _DEBUG_INITed = 0;\r
 struct info_8250 *_DEBUG_uart = NULL;\r
 \r
-#ifdef __DEBUG__\r
-#ifdef __DEBUG_PM__\r
-boolean dbg_debugpm=0;\r
-#endif\r
-#ifdef __DEBUG_InputMgr__\r
-boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0;\r
-#endif\r
-#endif\r
-\r
 int _DEBUG_INIT() {\r
        if (!_DEBUG_INITed) {\r
                unsigned int i;\r
index 1454e091a463ba56737757b3ffa6562fc6b45a3c..32c89b5913acacfb73f0424265ffa0001b1fa3f4 100755 (executable)
@@ -2,16 +2,21 @@
 #ifndef _SRC_LIB_16_DBG\r
 #define _SRC_LIB_16_DBG\r
 \r
-//#define __DEBUG__\r
+#include "src/lib/16_head.h"\r
+#include "src/lib/16_tdef.h"\r
+\r
+#define __DEBUG__\r
+#define __DEBUG_InputMgr__\r
 //#define __DEBUG_PM__\r
 //#define __DEBUG_MM__\r
 \r
+\r
 #ifdef __DEBUG__\r
 #ifdef __DEBUG_PM__\r
-extern boolean dbg_debugpm=0;\r
+extern boolean dbg_debugpm;\r
 #endif\r
 #ifdef __DEBUG_InputMgr__\r
-extern boolean dbg_testkeyin=0,dbg_testcontrolnoisy=0;\r
+extern boolean dbg_testkeyin,dbg_testcontrolnoisy,dbg_noplayerinpu;\r
 #endif\r
 #endif\r
 \r
index ada39a1145faa6f11af51421646ab8257bb0be2b..b0fdb481224a45b257143f5b067ba414df1c6e68 100755 (executable)
@@ -41,6 +41,11 @@ typedef unsigned long int diword;
 typedef signed long int sdiword;\r
 \r
 typedef        enum    {false,true}    boolean;\r
+typedef        enum    {ichi,ni,san,yon,go,roku,shichi,hachi,kyu,ju,juichi,juni,jusan,juyon,jugo,juroku}       nibble;\r
+//typedef      unsigned nibb:4 nibble;\r
+\r
+#define HI_NIBBLE(b) (((b) >> 4) & 0x0F)\r
+#define LO_NIBBLE(b) ((b) & 0x0F)\r
 /*typedef unsigned memseg;\r
 \r
 memptr should be replaced by memseg in code.\r
index b2acec13763597edfd912d1461b82f605965490e..414e51a17c3bb33a5ce82106c127d7a9a19d13b0 100755 (executable)
@@ -70,13 +70,13 @@ void Startup16(global_game_variables_t *gvar)
        gvar->mm.mmstarted=0;\r
        gvar->pm.PMStarted=0;\r
        MM_Startup(gvar);\r
+if(!dbg_noplayerinpu)\r
        IN_Startup(gvar);\r
        PM_Startup(gvar);\r
        PM_UnlockMainMem(gvar);\r
        CA_Startup(gvar);\r
 #ifdef __WATCOMC__\r
        start_timer(gvar);\r
-\r
 #endif\r
 \r
 }\r
@@ -96,6 +96,7 @@ void Startup16(global_game_variables_t *gvar)
 void Shutdown16(global_game_variables_t *gvar)\r
 {\r
        PM_Shutdown(gvar);\r
+if(!dbg_noplayerinpu)\r
        IN_Shutdown(gvar);\r
        CA_Shutdown(gvar);\r
        MM_Shutdown(gvar);\r
@@ -205,3 +206,51 @@ void Quit (char *error)
 #endif\r
 \r
 //===========================================================================\r
+\r
+const char *nibble_to_binary(nibble x)\r
+{\r
+       static char b[9];\r
+       int z;\r
+\r
+       b[0] = '\0';\r
+       for (z = 8; z > 0; z >>= 1)\r
+       {\r
+               strcat(b, ((x & z) == z) ? "1" : "0");\r
+       }\r
+       return b;\r
+}\r
+\r
+const char *boolean_to_binary(boolean x)\r
+{\r
+       static char b[9];\r
+       int z;\r
+\r
+       b[0] = '\0';\r
+       for (z = 1; z > 0; z >>= 1)\r
+       {\r
+               strcat(b, ((x & z) == z) ? "1" : "0");\r
+       }\r
+       return b;\r
+}\r
+\r
+void nibbletest()\r
+{\r
+       nibble pee;\r
+       printf("nibbletest\n");\r
+       /* nibble to binary string */\r
+       for(pee=0;pee<18;pee++)\r
+               printf("        %u %s\n", pee, nibble_to_binary(pee));\r
+       printf("        sizeof(nibble)=%s\n", nibble_to_binary(sizeof(nibble)));\r
+       printf("end of nibble test\n");\r
+}\r
+\r
+void booleantest()\r
+{\r
+       boolean pee;\r
+       printf("booleantest\n");\r
+       /* boolean to binary string */\r
+       for(pee=0;pee<4;pee++)\r
+               printf("        %u %s\n", pee, boolean_to_binary(pee));\r
+       printf("        sizeof(boolean)=%s\n", boolean_to_binary(sizeof(boolean)));\r
+       printf("end of boolean test\n");\r
+}\r
index b22affdd9e83cf5606f0ca23391048a1a472bab4..8d1274d89378d68c7624bfe50375be61187d5cb6 100755 (executable)
@@ -35,5 +35,7 @@ void Startup16(global_game_variables_t *gvar);
 #ifdef __WATCOMC__\r
 void Quit (char *error);\r
 #endif\r
+void nibbletest();\r
+void booleantest();\r
 \r
 #endif\r
index f535c75d35b9b9a901a4ddeb2f7d65d9c4f76480..137b0bfb87b9a0c68568391eca00d843ee704481 100755 (executable)
@@ -64,11 +64,9 @@ typedef struct {
        byte *palette;\r
 } planar_buf_t;\r
 \r
-\r
-enum direction {STOP, UP, DOWN, LEFT, RIGHT};\r
 typedef struct {\r
        int dx, dy; //backwards compait\r
-       word id;        /* the Identification number of the page~ For layering~ */\r
+       nibble id;      /* the Identification number of the page~ For layering~ */\r
        byte far* data; /* the data for the page */\r
        word sw;                /* screen width */\r
        word sh;                /* screen heigth */\r
@@ -85,8 +83,8 @@ typedef struct {
        word stridew;                   /*width/4*/\r
        word pagesize;                  /* page size */\r
        word pi;                                /* incremention page by this much to preserve location */\r
-       word delta;                     // How much should we shift the page for smooth scrolling\r
-       enum direction d;                       // Direction we should shift the page\r
+       sword delta;                    // How much should we shift the page for smooth scrolling\r
+       //enum direction d;                     // Direction we should shift the page\r
 } page_t;\r
 typedef struct\r
 {\r
index 52182f2bd79b46283041966024e468a7c3c273bc..a58dfad17d8944cfa3c4d88eab450ccf65590af5 100755 (executable)
@@ -185,47 +185,7 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y)
        }\r
 }\r
 \r
-unsigned char shinku_fps_indicator_page = 2;\r
 boolean pageflipflop = 1;\r
-boolean pageploop = 1;\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 w = 64, h = 8, col = 7, bgcol = 0, type = 1;\r
-       byte o,o2,i;\r
-       if(elapsed_timer(gv) >= (1.0 / gv->kurokku.frames_per_second))\r
-       {\r
-               sprintf(gv->pee, "%.0f fps", (double)gv->kurokku.tiku/ticktock(gv));\r
-               //modexClearRegion(&(gv->video.page[shinku_fps_indicator_page]), x, y, w, h, 45);\r
-               modexprint(&(gv->video.page[/*!*/(gv->video.p)]), x, y, type, col, bgcol, gv->pee);\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
-                       gv->kurokku.frames_per_second=1;\r
-               break;\r
-               case 1:\r
-                       //turn this off if XT\r
-                       vga_wait_for_vsync();\r
-                       gv->kurokku.frames_per_second=60;\r
-               break;\r
-       }\r
-       /*\r
-       if(pageflipflop){\r
-               if(gv->video.r){\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
-                       modexShowPage(&(gv->video.page[gv->video.p]));\r
-                       if(!pageploop) gv->video.p=!gv->video.p;\r
-                       gv->video.r=!gv->video.r;\r
-               }\r
-       }*/\r
-}\r
 \r
 void near animatePlayer(map_view_t *pip, player_t *player,  sword scrollswitch)\r
 {\r
index dd2db336a03f7457967c519b40f49f179dc0a540..c92469cb0f30ea5fc2429acde1fd99b8b207f144 100755 (executable)
 #include "src/lib/16_timer.h"\r
 #include "src/lib/wcpu/wcpu.h"\r
 #include "src/lib/mapread.h"\r
+#include "src/lib/16_dbg.h"\r
 \r
 //#define FADE\r
 #define MODEX  //this is for mode x initiating\r
 \r
+boolean dbg_noplayerinpu=1;\r
+\r
 //word far *clock= (word far*) 0x046C; /* 18.2hz clock */\r
 //bitmap_t *p;\r
 global_game_variables_t gvar;\r
@@ -39,7 +42,7 @@ float t;
 sword bakapee;\r
 pan_t pan;\r
 //debugswitches\r
-boolean panswitch=0;\r
+boolean panswitch=1;\r
 //extern boolean pageflipflop=1;\r
        unsigned int i;\r
        const char *cpus;\r
@@ -119,9 +122,12 @@ void main(int argc, char *argv[])
 \r
 #endif\r
        /*      input!  */\r
+       if(!dbg_noplayerinpu)\r
+       {\r
        IN_Startup();\r
        IN_Default(0,&player,ctrl_Joystick);\r
        //IN_Default(1,&player,ctrl_Joystick);\r
+       }\r
 \r
        /* save the palette */\r
 #ifdef MODEX\r
@@ -213,6 +219,7 @@ void main(int argc, char *argv[])
        modexFadeOn(4, gpal);\r
 #endif\r
 #endif\r
+       if(!dbg_noplayerinpu)\r
        while(!IN_KeyDown(sc_Escape) && player[0].hp>0)\r
        {\r
                shinku(&gvar);\r
@@ -307,6 +314,11 @@ void main(int argc, char *argv[])
        //if(IN_KeyDown(11)){ modexPalOverscan(15); }\r
        if((player[0].q==1) && !(player[0].x%TILEWH==0 && player[0].y%TILEWH==0)) break;        //incase things go out of sync!\r
        }\r
+       else\r
+               while(!kbhit())\r
+               {\r
+                       shinku(&gvar);\r
+               }\r
 \r
        /* fade back to text mode */\r
        /* but 1st lets save the game palette~ */\r
@@ -318,6 +330,7 @@ void main(int argc, char *argv[])
 #endif\r
        VGAmodeX(0, 1, &gvar);\r
 #endif\r
+       if(!dbg_noplayerinpu)\r
        IN_Shutdown();\r
        printf("\nProject 16 scroll.exe. This is just a test file!\n");\r
        printf("version %s\n", VERSION);\r
index 2837930c77f36a6a8035ecf42eadb874d076dcbe..10f87f6683df713bc9ea5052df767d8dfa53c356 100755 (executable)
 #include "src/lib/16_timer.h"\r
 #include "src/lib/wcpu/wcpu.h"\r
 #include "src/lib/16render.h"\r
+#include "src/lib/16_dbg.h"\r
 \r
-//TODO: known issues the array dependent mv stuff and player arrays\r
+#define MODEXZ\r
+boolean dbg_noplayerinpu=1;\r
 \r
+//TODO: known issues the array dependent mv stuff and player arrays\r
 global_game_variables_t gvar;\r
 static map_t map;\r
 player_t *player;\r
@@ -60,7 +63,7 @@ void main(int argc, char *argv[])
 \r
        pan.pn=0;\r
        // OK, this one takes hellova time and needs to be done in farmalloc or MM_...\r
-       //USE MM AND CA AND PM WWWWWWWW\r
+       //TODO: USE MM AND CA AND PM WWWWWWWW\r
        player = malloc(sizeof(player_t));\r
        player->ent = malloc(sizeof(entity_t));\r
        player->ent->spri = malloc(sizeof(struct sprite));\r
@@ -78,7 +81,10 @@ void main(int argc, char *argv[])
        read_vrs(&gvar, "data/spri/chikyuu.vrs", player->ent->spri->spritesheet); printf("sprite loaded\n");\r
 \r
        //      input!\r
+if(!dbg_noplayerinpu)\r
+{\r
        IN_Default(0, player,ctrl_Joystick); printf("IN_defaulted\n");\r
+}\r
 \r
        // save the palette\r
 #ifdef FADE\r
@@ -88,7 +94,7 @@ void main(int argc, char *argv[])
 #endif\r
        textInit();\r
        VGAmodeX(bakapee, 1, &gvar);\r
-       #ifdef MODEXZ\r
+#ifdef MODEXZ\r
 #ifdef FADE\r
        modexPalBlack();        //reset the palette~\r
                printf("VGA\n");\r
@@ -102,13 +108,19 @@ void main(int argc, char *argv[])
 #endif\r
 \r
        // setup camera and screen~\r
+if(dbg_noplayerinpu)\r
+{\r
+       //sprintf(&gvar.pee, "press a key for video setup");\r
+       strcpy(global_temp_status_text, "press a key for video setup");\r
+       modexprint(mv->page, 0, 64, 1, 7, 0, global_temp_status_text);\r
+       getch();\r
+}\r
        modexHiganbanaPageSetup(&gvar.video);\r
        mv->page = &gvar.video.page[0];\r
        mv->map = &map;\r
        mv->video = &gvar.video;\r
        mv->pan = &pan;\r
        player->ent->spri->x = player->ent->spri->y = 20;\r
-       printf("pages ok\n");\r
 \r
        // set up paging\r
        //TODO: LOAD map data and position the map in the middle of the screen if smaller then screen\r
@@ -145,6 +157,7 @@ void main(int argc, char *argv[])
        modexFadeOn(4, gpal);\r
 #endif\r
        printf("LOOP\n");\r
+       if(!dbg_noplayerinpu)\r
        while(!IN_KeyDown(sc_Escape) && player->hp>0)\r
        {\r
                shinku(&gvar);\r
@@ -220,6 +233,12 @@ void main(int argc, char *argv[])
                player->hp = 0;\r
        }\r
 \r
+       else\r
+               while(!kbhit())\r
+               {\r
+                       shinku(&gvar);\r
+               }\r
+\r
        /* fade back to text mode */\r
        /* but 1st lets save the game palette~ */\r
 #ifdef FADE\r