OSDN Git Service

updated copyleft and need to test and fix newer version of open watcom
[proj16/16.git] / src / lib / 16_tail.c
index 11c5765..1824789 100755 (executable)
@@ -1,5 +1,5 @@
 /* Project 16 Source Code~\r
- * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2022 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
  *\r
  * This file is part of Project 16.\r
  *\r
@@ -142,6 +142,112 @@ void ShutdownCAMMPM (global_game_variables_t *gvar)
 \r
 //===========================================================================\r
 \r
+////////////////////////////////////////////////////////////////////\r
+//\r
+// HANDLE INTRO SCREEN (SYSTEM CONFIG)\r
+//\r
+////////////////////////////////////////////////////////////////////\r
+void MU_IntroScreen(global_game_variables_t *gvar)\r
+{\r
+#define MAINCOLOR      0x6c\r
+#define EMSCOLOR       0x6c\r
+#define XMSCOLOR       0x6c\r
+\r
+#define FILLCOLOR      14\r
+\r
+       long memory,emshere,xmshere;\r
+       int i,num,ems[10]={100,200,300,400,500,600,700,800,900,1000},\r
+               xms[10]={100,200,300,400,500,600,700,800,900,1000},\r
+               main[10]={32,64,96,128,160,192,224,256,288,320};\r
+\r
+       gvar->video.print.t=1;\r
+       gvar->video.print.tlsw=1;\r
+       gvar->video.print.bgcolor=8;\r
+       gvar->video.print.color=5;\r
+\r
+       //\r
+       // DRAW MAIN MEMORY\r
+       //\r
+       num=32;\r
+       gvar->video.print.x=49-32;\r
+\r
+       memory=(1023l+gvar->mmi.nearheap+gvar->mmi.farheap)/1024l;\r
+       for (i=0;i<10;i++)\r
+               if (memory>=main[i])\r
+               {\r
+                       gvar->video.print.y=163-8*i;\r
+                       sprintf(global_temp_status_text, "% 4u", num); VL_print(global_temp_status_text, 0, gvar);\r
+                       VL_Bar(49,163-8*i,6,5,MAINCOLOR-i,gvar);\r
+                       num+=32;\r
+               }\r
+       gvar->video.print.y=171;\r
+       VL_print("MAIN", 0, gvar);\r
+\r
+\r
+       //\r
+       // DRAW EMS MEMORY\r
+       //\r
+       if (gvar->pm.emm.EMSPresent)\r
+       {\r
+               num=100;\r
+               gvar->video.print.x=89-32;\r
+\r
+               emshere=4l*gvar->pm.emm.EMSPagesAvail;\r
+               for (i=0;i<10;i++)\r
+                       if (emshere>=ems[i])\r
+                       {\r
+                               gvar->video.print.y=163-8*i;\r
+                               sprintf(global_temp_status_text, "% 4u", num); VL_print(global_temp_status_text, 0, gvar);\r
+                               VL_Bar(89,163-8*i,6,5,EMSCOLOR-i,gvar);\r
+                               num+=100;\r
+                       }\r
+               gvar->video.print.y=171;\r
+               VL_print(" EMS", 0, gvar);\r
+       }\r
+\r
+       //\r
+       // DRAW XMS MEMORY\r
+       //\r
+       if (gvar->pm.xmm.XMSPresent)\r
+       {\r
+               num=100;\r
+               gvar->video.print.x=129-32;\r
+\r
+               xmshere=4l*gvar->pm.xmm.XMSPagesAvail;\r
+               for (i=0;i<10;i++)\r
+                       if (xmshere>=xms[i])\r
+                       {\r
+                               gvar->video.print.y=163-8*i;\r
+                               sprintf(global_temp_status_text, "% 4u", num); VL_print(global_temp_status_text, 0, gvar);\r
+                               VL_Bar(129,163-8*i,6,5,XMSCOLOR-i,gvar);\r
+                               num+=100;\r
+                       }\r
+               gvar->video.print.y=171;\r
+               VL_print(" XMS", 0, gvar);\r
+       }\r
+\r
+       //\r
+       // FILL BOXES\r
+       //\r
+       if (gvar->in.MousePresent)\r
+               VL_Bar(164,82,12,2,FILLCOLOR,gvar);\r
+\r
+       if (gvar->in.JoysPresent[0] || gvar->in.JoysPresent[1])\r
+               VL_Bar(164,105,12,2,FILLCOLOR,gvar);\r
+\r
+//++++ if (gvar->sd.AdLibPresent)//SB && !SoundBlasterPresent)\r
+//++++         VL_Bar(164,128,12,2,FILLCOLOR,gvar);\r
+\r
+//SB   if (SoundBlasterPresent)\r
+//SB           VL_Bar(164,151,12,2,FILLCOLOR,gvar);\r
+\r
+//SS   if (SoundSourcePresent)\r
+//SS           VL_Bar(164,174,12,2,FILLCOLOR,gvar);\r
+       IN_Ack (gvar);\r
+}\r
+\r
+//===========================================================================\r
+\r
 /*\r
 ====================\r
 =\r
@@ -171,7 +277,6 @@ void ReadConfig(void)
 \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
@@ -230,7 +335,6 @@ void ReadConfig(void)
                        mouseenabled = true;\r
 \r
                joystickenabled = false;\r
-               joypadenabled = false;\r
                joystickport = 0;\r
                joystickprogressive = false;\r
 \r
@@ -269,7 +373,6 @@ void WriteConfig(void)
 \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
@@ -497,7 +600,7 @@ void TestSprites(void)
                spr = &spritetable[sprite-STARTSPRITES];\r
                block = (spritetype _seg *)grsegs[sprite];\r
 \r
-               VWB_Bar (hx,hy,TEXTWIDTH,bottomy-hy,WHITE);\r
+               VL_Bar (hx,hy,TEXTWIDTH,bottomy-hy,WHITE);\r
 \r
                PrintX=hx;\r
                PrintY=hy;\r
@@ -528,7 +631,7 @@ void TestSprites(void)
                //\r
                // draw the current shift, then wait for key\r
                //\r
-                       VWB_Bar(topx,hy,DISPWIDTH,bottomy-hy,WHITE);\r
+                       VL_Bar(topx,hy,DISPWIDTH,bottomy-hy,WHITE);\r
                        if (block)\r
                        {\r
                                PrintX = topx;\r
@@ -689,64 +792,3 @@ void turboXT(byte bakapee)
        }\r
 }\r
 #endif\r
-\r
-const char *word_to_binary(word x)\r
-{\r
-       static char b[17];\r
-       int z;\r
-\r
-       b[0] = '\0';\r
-       for (z = 16; z > 0; z >>= 1)\r
-       {\r
-               strcat(b, ((x & z) == z) ? "1" : "0");\r
-       }\r
-       return b;\r
-}\r
-\r
-const char *nibble_to_binary(nibble x)\r
-{\r
-       static char b[9];\r
-       int z;\r
-\r
-       b[0] = '\0';\r
-       for (z = 8; z > 0; z >>= 1)\r
-       {\r
-               strcat(b, ((x & z) == z) ? "1" : "0");\r
-       }\r
-       return b;\r
-}\r
-\r
-const char *boolean_to_binary(boolean x)\r
-{\r
-       static char b[9];\r
-       int z;\r
-\r
-       b[0] = '\0';\r
-       for (z = 1; z > 0; z >>= 1)\r
-       {\r
-               strcat(b, ((x & z) == z) ? "1" : "0");\r
-       }\r
-       return b;\r
-}\r
-\r
-void nibbletest()\r
-{\r
-       nibble pee;\r
-       printf("nibbletest\n");\r
-       /* nibble to binary string */\r
-       for(pee=0;pee<18;pee++)\r
-               printf("        %u %s\n", pee, nibble_to_binary(pee));\r
-       printf("        sizeof(nibble)=%s\n", nibble_to_binary(sizeof(nibble)));\r
-       printf("end of nibble test\n");\r
-}\r
-\r
-void booleantest()\r
-{\r
-       boolean pee;\r
-       printf("booleantest\n");\r
-       /* boolean to binary string */\r
-       for(pee=0;pee<4;pee++)\r
-               printf("        %u %s\n", pee, boolean_to_binary(pee));\r
-       printf("        sizeof(boolean)=%s\n", boolean_to_binary(sizeof(boolean)));\r
-       printf("end of boolean test\n");\r
-}\r