X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2F16.c;h=af711c37aa1d794319d6f6351b0ab87f0dc9d4d6;hb=af2715fef8681d909afe82f7baaf5e13baabb76f;hp=6ad5334f03d1566a7554375400166e9ee337a7e0;hpb=631d2bde47de81ead5300f7aca378447387f254c;p=16.git diff --git a/src/16.c b/src/16.c index 6ad5334f..af711c37 100755 --- a/src/16.c +++ b/src/16.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2016 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover + * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -22,78 +22,40 @@ #include "src/16.h" -global_game_variables_t gvar; -engi_stat_t engi_stat; -const char *cpus; -byte *dpal, *gpal; -player_t player[MaxPlayers]; - void main(int argc, char *argv[]) { - // DOSLIB: check our environment - probe_dos(); - - // DOSLIB: what CPU are we using? - // NTS: I can see from the makefile Sparky4 intends this to run on 8088 by the -0 switch in CFLAGS. - // So this code by itself shouldn't care too much what CPU it's running on. Except that other - // parts of this project (DOSLIB itself) rely on CPU detection to know what is appropriate for - // the CPU to carry out tasks. --J.C. - cpu_probe(); - - // DOSLIB: check for VGA - if (!probe_vga()) { - printf("VGA probe failed\n"); - return; - } - // hardware must be VGA or higher! - if (!(vga_state.vga_flags & VGA_IS_VGA)) { - printf("This program requires VGA or higher graphics hardware\n"); - return; - } - - if (_DEBUG_INIT() == 0) { -#ifdef DEBUGSERIAL - printf("WARNING: Failed to initialize DEBUG output\n"); -#endif - } - _DEBUG("Serial debug output started\n"); // NTS: All serial output must end messages with newline, or DOSBox-X will not emit text to log - _DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U); + static global_game_variables_t gvar; + Startup16(&gvar); - engi_stat = ENGI_RUN; - textInit(); + gvar.engi_stat = ENGI_RUN; /* save the palette */ - dpal = modexNewPal(); - modexPalSave(dpal); - modexFadeOff(4, dpal); - gpal = modexNewPal(); - modexPalSave(gpal); - modexSavePalFile("data/g.pal", gpal); + modexPalSave(gvar.video.dpal); + modexFadeOff(4, gvar.video.dpal); + modexPalSave(gvar.video.palette); + modexSavePalFile("data/g.pal", gvar.video.palette); VGAmodeX(1, 1, &gvar); // modexPalBlack(); //so player will not see loadings~ - IN_Startup(); - IN_Default(0,&player,ctrl_Joystick); + IN_Default(0,&gvar.player[0],ctrl_Joystick, &gvar); //modexprint(&screen, 32, 32, 1, 2, 0, "a", 1); - start_timer(&gvar); - while(ENGI_EXIT != engi_stat) + while(ENGI_QUIT != gvar.engi_stat) { - IN_ReadControl(0,&player); - if(IN_KeyDown(sc_Escape)) engi_stat = ENGI_EXIT; + IN_ReadControl(&gvar.player[0], &gvar); + if(IN_KeyDown(sc_Escape)) gvar.engi_stat = ENGI_QUIT; shinku(&gvar); _DEBUGF("Serial debug output printf test %u %u %u\n",1U,2U,3U); } - switch(detectcpu()) - { - case 0: cpus = "8086/8088 or 186/88"; break; - case 1: cpus = "286"; break; - case 2: cpus = "386 or newer"; break; - default: cpus = "internal error"; break; - } + Shutdown16(&gvar); VGAmodeX(0, 1, &gvar); printf("Project 16 16.exe. This is supposed to be the actual finished game executable!\n"); printf("version %s\n", VERSION); - printf("detected CPU type: %s\n", cpus); - IN_Shutdown(); - modexFadeOn(4, dpal); + WCPU_cpufpumesg(); + modexFadeOn(4, gvar.video.dpal); +// InitGame ();//to be defined in 16_tail + +// DemoLoop();//to be defined in 16_tail + +// Quit("Demo loop exited???"); + }