]> 4ch.mooo.com Git - 16.git/blobdiff - src/16.c
add printf-like _DEBUGF() function for debugging, too
[16.git] / src / 16.c
index 154714deb2d165cff2d7640af2c29aa51836c6c3..e7cee886f159f81c341af0251da0967901c1faeb 100755 (executable)
--- a/src/16.c
+++ b/src/16.c
@@ -1,5 +1,5 @@
 /* Project 16 Source Code~\r
- * Copyright (C) 2012-2015 sparky4 & pngwen & andrius4669\r
+ * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123\r
  *\r
  * This file is part of Project 16.\r
  *\r
@@ -27,36 +27,64 @@ engi_stat_t engi_stat;
 const char *cpus;\r
 byte *dpal, *gpal;\r
 player_t player[MaxPlayers];\r
-page_t screen;\r
+//page_t screen;\r
 \r
 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
-       gvar.clock_start=*clockdw;\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");\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(&screen, &gvar);\r
-               gvar.tiku++;\r
+               shinku(&gvar);\r
        }\r
        switch(detectcpu())\r
        {\r
@@ -65,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