]> 4ch.mooo.com Git - 16.git/blobdiff - src/16.c
add printf-like _DEBUGF() function for debugging, too
[16.git] / src / 16.c
index 10aad071ee088930de3f96cfc7ff7599e8d325ae..e7cee886f159f81c341af0251da0967901c1faeb 100755 (executable)
--- a/src/16.c
+++ b/src/16.c
@@ -32,28 +32,59 @@ player_t player[MaxPlayers];
 void\r
 main(int argc, char *argv[])\r
 {\r
+       // DOSLIB: check our environment\r
+       probe_dos();\r
+\r
+       // DOSLIB: what CPU are we using?\r
+       // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS.\r
+       //      So this code by itself shouldn't care too much what CPU it's running on. Except that other\r
+       //      parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for\r
+       //      the CPU to carry out tasks. --J.C.\r
+       cpu_probe();\r
+\r
+       // DOSLIB: check for VGA\r
+       if (!probe_vga()) {\r
+               printf("VGA probe failed\n");\r
+               return;\r
+       }\r
+       // hardware must be VGA or higher!\r
+       if (!(vga_state.vga_flags & VGA_IS_VGA)) {\r
+               printf("This program requires VGA or higher graphics hardware\n");\r
+               return;\r
+       }\r
+\r
+       if (_DEBUG_INIT() == 0) {\r
+#ifdef DEBUGSERIAL\r
+               printf("WARNING: Failed to initialize DEBUG output\n");\r
+#endif\r
+       }\r
+       _DEBUG("Serial debug output started\n"); // NTS: All serial output must end messages with newline, or DOSBox-X will not emit text to log\r
+       _DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U);\r
+\r
        //screen = modexDefaultPage();\r
        engi_stat = ENGI_RUN;\r
-       //textInit();\r
+       textInit();\r
 \r
        /* save the palette */\r
        dpal = modexNewPal();\r
        modexPalSave(dpal);\r
-       modexFadeOff(4, dpal);\r
+//     modexFadeOff(4, dpal);\r
        //printf("pal load\n");\r
        //gpal = modexNewPal();\r
        /*modexPalSave(gpal);\r
        modexSavePalFile("data/g.pal", gpal);*/\r
-       printf("wwww loop wwww\n");\r
-       VGAmodeX(1, &gvar);\r
-       modexPalBlack();        //so player will not see loadings~\r
+//0000 printf("wwww loop wwww\n");\r
+       VGAmodeX(1, 1, &gvar);\r
+//     modexPalBlack();        //so player will not see loadings~\r
        IN_Startup();\r
        IN_Default(0,&player,ctrl_Joystick);\r
        //modexprint(&screen, 32, 32, 1, 2, 0, "a", 1);\r
+       start_timer(&gvar);\r
        while(ENGI_EXIT != engi_stat)\r
        {\r
                IN_ReadControl(0,&player);\r
                if(IN_KeyDown(sc_Escape)) engi_stat = ENGI_EXIT;\r
+               shinku(&gvar);\r
        }\r
        switch(detectcpu())\r
        {\r
@@ -62,10 +93,10 @@ main(int argc, char *argv[])
                case 2: cpus = "386 or newer"; break;\r
                default: cpus = "internal error"; break;\r
        }\r
-       VGAmodeX(0, &gvar);\r
+       VGAmodeX(0, 1, &gvar);\r
        printf("Project 16 16.exe. This is supposed to be the actual finished game executable!\n");\r
        printf("version %s\n", VERSION);\r
        printf("detected CPU type: %s\n", cpus);\r
        IN_Shutdown();\r
-       modexFadeOn(4, dpal);\r
+//     modexFadeOn(4, dpal);\r
 }\r