/* 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
\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
\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
mouseenabled = true;\r
\r
joystickenabled = false;\r
- joypadenabled = false;\r
joystickport = 0;\r
joystickprogressive = false;\r
\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
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
//\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
}\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