/* Project 16 Source Code~\r
- * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
*\r
* This file is part of Project 16.\r
*\r
\r
#include "src/16.h"\r
\r
-engi_stat_t engi_stat;\r
-const char *cpus;\r
-byte *dpal, *gpal;\r
-player_t player[MaxPlayers];\r
-\r
void\r
main(int argc, char *argv[])\r
{\r
static global_game_variables_t gvar;\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
- engi_stat = ENGI_RUN;\r
- textInit();\r
+ Startup16(&gvar);//initgame equ\r
\r
/* save the palette */\r
- dpal = modexNewPal();\r
- modexPalSave(dpal);\r
- modexFadeOff(4, dpal);\r
- gpal = modexNewPal();\r
- modexPalSave(gpal);\r
- modexSavePalFile("data/g.pal", gpal);\r
+ modexPalSave(gvar.video.dpal);\r
+ modexFadeOff(4, gvar.video.dpal);\r
+ modexPalSave(gvar.video.palette);\r
+ modexSavePalFile("data/g.pal", gvar.video.palette);\r
VGAmodeX(1, 1, &gvar);\r
// modexPalBlack(); //so player will not see loadings~\r
- IN_Startup();\r
- IN_Default(0,&player,ctrl_Joystick);\r
+ IN_Default(0,&gvar.player[0],ctrl_Joystick, &gvar);\r
//modexprint(&screen, 32, 32, 1, 2, 0, "a", 1);\r
- start_timer(&gvar);\r
- while(ENGI_EXIT != engi_stat)\r
+ while(1)\r
{\r
- IN_ReadControl(0,&player);\r
- if(IN_KeyDown(sc_Escape)) engi_stat = ENGI_EXIT;\r
+ IN_ReadControl(&gvar.player[0], &gvar);\r
+ if(gvar.in.inst->Keyboard[sc_Escape]) break;\r
shinku(&gvar);\r
_DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U);\r
}\r
- switch(detectcpu())\r
- {\r
- case 0: cpus = "8086/8088 or 186/88"; break;\r
- case 1: cpus = "286"; break;\r
- case 2: cpus = "386 or newer"; break;\r
- default: cpus = "internal error"; break;\r
- }\r
+ Shutdown16(&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
+ WCPU_cpufpumesg();\r
+ modexFadeOn(4, gvar.video.dpal);\r
+// InitGame ();//to be defined in 16_tail\r
+\r
+//++++ DemoLoop();//to be defined in 16_tail\r
+\r
+//++++ Quit(&gvar, "Demo loop exited???");\r
+\r
}\r