]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_tail.c
no idea why bcexmm.exe is broke w tweaked zcroll.exe a bit also Quit is refined now~
[16.git] / src / lib / 16_tail.c
index bd5b6f1ee4bb7589a2bab76b1f75f4c5f08e52be..6cd9eb928368bb6256f64cd78fee23f0ead8c186 100755 (executable)
@@ -71,20 +71,13 @@ void Startup16(global_game_variables_t *gvar)
 #endif\r
        gvar->mm.mmstarted=0;\r
        gvar->pm.PMStarted=0;\r
-#ifdef __DEBUG__\r
-       if(!dbg_nommpmca)\r
-#endif\r
        MM_Startup(gvar);\r
+#ifdef __WATCOMC__\r
        IN_Startup(gvar);\r
-#ifdef __DEBUG__\r
-       if(!dbg_nommpmca){\r
 #endif\r
        PM_Startup(gvar);\r
        PM_UnlockMainMem(gvar);\r
        CA_Startup(gvar);\r
-#ifdef __DEBUG__\r
-       }\r
-#endif\r
 }\r
 \r
 //===========================================================================\r
@@ -101,22 +94,160 @@ void Startup16(global_game_variables_t *gvar)
 \r
 void Shutdown16(global_game_variables_t *gvar)\r
 {\r
-#ifdef __DEBUG__\r
-       if(!dbg_nommpmca)\r
-#endif\r
        PM_Shutdown(gvar);\r
+#ifdef __WATCOMC__\r
        IN_Shutdown(gvar);\r
-#ifdef __DEBUG__\r
-       if(!dbg_nommpmca){\r
 #endif\r
        CA_Shutdown(gvar);\r
        MM_Shutdown(gvar);\r
-#ifdef __DEBUG__\r
-       }\r
-#endif\r
 }\r
 \r
 \r
+//===========================================================================\r
+\r
+/*\r
+====================\r
+=\r
+= ReadConfig\r
+=\r
+====================\r
+*/\r
+\r
+/*void ReadConfig(void)\r
+{\r
+       int                     file;\r
+       SDMode          sd;\r
+       SMMode          sm;\r
+       SDSMode         sds;\r
+\r
+\r
+       if ( (file = open(configname,O_BINARY | O_RDONLY)) != -1)\r
+       {\r
+       //\r
+       // valid config file\r
+       //\r
+               read(file,Scores,sizeof(HighScore) * MaxScores);\r
+\r
+               read(file,&sd,sizeof(sd));\r
+               read(file,&sm,sizeof(sm));\r
+               read(file,&sds,sizeof(sds));\r
+\r
+               read(file,&mouseenabled,sizeof(mouseenabled));\r
+               read(file,&joystickenabled,sizeof(joystickenabled));\r
+               read(file,&joypadenabled,sizeof(joypadenabled));\r
+               read(file,&joystickprogressive,sizeof(joystickprogressive));\r
+               read(file,&joystickport,sizeof(joystickport));\r
+\r
+               read(file,&dirscan,sizeof(dirscan));\r
+               read(file,&buttonscan,sizeof(buttonscan));\r
+               read(file,&buttonmouse,sizeof(buttonmouse));\r
+               read(file,&buttonjoy,sizeof(buttonjoy));\r
+\r
+               read(file,&viewsize,sizeof(viewsize));\r
+               read(file,&mouseadjustment,sizeof(mouseadjustment));\r
+\r
+               close(file);\r
+\r
+               if (sd == sdm_AdLib && !AdLibPresent && !SoundBlasterPresent)\r
+               {\r
+                       sd = sdm_PC;\r
+                       sd = smm_Off;\r
+               }\r
+\r
+               if ((sds == sds_SoundBlaster && !SoundBlasterPresent) ||\r
+                       (sds == sds_SoundSource && !SoundSourcePresent))\r
+                       sds = sds_Off;\r
+\r
+               if (!MousePresent)\r
+                       mouseenabled = false;\r
+               if (!JoysPresent[joystickport])\r
+                       joystickenabled = false;\r
+\r
+               MainMenu[6].active=1;\r
+               MainItems.curpos=0;\r
+       }\r
+       else\r
+       {\r
+       //\r
+       // no config file, so select by hardware\r
+       //\r
+               if (SoundBlasterPresent || AdLibPresent)\r
+               {\r
+                       sd = sdm_AdLib;\r
+                       sm = smm_AdLib;\r
+               }\r
+               else\r
+               {\r
+                       sd = sdm_PC;\r
+                       sm = smm_Off;\r
+               }\r
+\r
+               if (SoundBlasterPresent)\r
+                       sds = sds_SoundBlaster;\r
+               else if (SoundSourcePresent)\r
+                       sds = sds_SoundSource;\r
+               else\r
+                       sds = sds_Off;\r
+\r
+               if (MousePresent)\r
+                       mouseenabled = true;\r
+\r
+               joystickenabled = false;\r
+               joypadenabled = false;\r
+               joystickport = 0;\r
+               joystickprogressive = false;\r
+\r
+               viewsize = 15;\r
+               mouseadjustment=5;\r
+       }\r
+\r
+       SD_SetMusicMode (sm);\r
+       SD_SetSoundMode (sd);\r
+       SD_SetDigiDevice (sds);\r
+}*/\r
+\r
+\r
+/*\r
+====================\r
+=\r
+= WriteConfig\r
+=\r
+====================\r
+*/\r
+\r
+/*void WriteConfig(void)\r
+{\r
+       int                     file;\r
+\r
+       file = open(configname,O_CREAT | O_BINARY | O_WRONLY,\r
+                               S_IREAD | S_IWRITE | S_IFREG);\r
+\r
+       if (file != -1)\r
+       {\r
+               write(file,Scores,sizeof(HighScore) * MaxScores);\r
+\r
+               write(file,&SoundMode,sizeof(SoundMode));\r
+               write(file,&MusicMode,sizeof(MusicMode));\r
+               write(file,&DigiMode,sizeof(DigiMode));\r
+\r
+               write(file,&mouseenabled,sizeof(mouseenabled));\r
+               write(file,&joystickenabled,sizeof(joystickenabled));\r
+               write(file,&joypadenabled,sizeof(joypadenabled));\r
+               write(file,&joystickprogressive,sizeof(joystickprogressive));\r
+               write(file,&joystickport,sizeof(joystickport));\r
+\r
+               write(file,&dirscan,sizeof(dirscan));\r
+               write(file,&buttonscan,sizeof(buttonscan));\r
+               write(file,&buttonmouse,sizeof(buttonmouse));\r
+               write(file,&buttonjoy,sizeof(buttonjoy));\r
+\r
+               write(file,&viewsize,sizeof(viewsize));\r
+               write(file,&mouseadjustment,sizeof(mouseadjustment));\r
+\r
+               close(file);\r
+       }\r
+}*/\r
+\r
 //===========================================================================\r
 \r
 /*\r
@@ -159,7 +290,22 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q)
 #endif\r
        if(q) MM_ShowMemory (gvar);\r
 }\r
-#ifdef __WATCOMC__\r
+\r
+/*\r
+==========================\r
+=\r
+= ClearMemory\r
+=\r
+==========================\r
+*/\r
+\r
+void ClearMemory (global_game_variables_t *gvar)\r
+{\r
+       PM_UnlockMainMem(gvar);\r
+       //snd\r
+       MM_SortMem (gvar);\r
+}\r
+\r
 /*\r
 ==========================\r
 =\r
@@ -168,46 +314,43 @@ void DebugMemory_(global_game_variables_t *gvar, boolean q)
 ==========================\r
 */\r
 \r
-void Quit (char *error)\r
+void Quit (global_game_variables_t *gvar, char *error)\r
 {\r
        //unsigned        finscreen;\r
        memptr  screen=0;\r
-       union REGS in, out;\r
 \r
-       //ClearMemory ();\r
+       ClearMemory (gvar);\r
        if (!*error)\r
        {\r
-        //WriteConfig ();\r
+// #ifndef JAPAN\r
+//             CA_CacheGrChunk (ORDERSCREEN);\r
+//             screen = grsegs[ORDERSCREEN];\r
+// #endif\r
+//             WriteConfig ();\r
        }\r
        else\r
        {\r
-        //CA_CacheGrChunk (ERRORSCREEN);\r
-        //screen = grsegs[ERRORSCREEN];\r
+//             CA_CacheGrChunk (ERRORSCREEN);\r
+//             screen = grsegs[ERRORSCREEN];\r
        }\r
-\r
-       //ShutdownId ();\r
-       IN_Shutdown();\r
-       //modexLeave();\r
-       in.h.ah = 0x00;\r
-       in.h.al = 0x3;\r
-       int86(0x10, &in, &out);\r
+       Shutdown16(gvar);\r
 \r
        if (error && *error)\r
        {\r
-         //movedata ((unsigned)screen,7,0xb800,0,7*160);\r
-         //gotoxy (10,4);\r
-         fprintf(stderr, "%s\n", error);\r
-         //gotoxy (1,8);\r
-         exit(1);\r
+               movedata((unsigned)screen,7,0xb800,0,7*160);\r
+               gotoxy (10,4);\r
+               fprintf(stderr, "%s\n", error);\r
+               gotoxy (1,8);\r
+               exit(1);\r
        }\r
        else\r
        if (!error || !(*error))\r
        {\r
-               //clrscr();\r
-               //#ifndef JAPAN\r
+               clrscr();\r
+#ifndef JAPAN\r
                movedata ((unsigned)screen,7,0xb800,0,4000);\r
-               //gotoxy(1,24);\r
-               //#endif\r
+               gotoxy(1,24);\r
+#endif\r
 //asm  mov     bh,0\r
 //asm  mov     dh,23   // row\r
 //asm  mov     dl,0    // collumn\r
@@ -217,7 +360,6 @@ void Quit (char *error)
 \r
        exit(0);\r
 }\r
-#endif\r
 \r
 //===========================================================================\r
 \r