OSDN Git Service

updated copyleft and need to test and fix newer version of open watcom
[proj16/16.git] / src / lib / 16_vl_2.c
index 68bbe44..8d8528e 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
 #include <stdlib.h>\r
 #include "src/lib/16_vl.h"\r
 \r
-// big global status text buffer\r
-char global_temp_status_text[512];\r
-char global_temp_status_text2[512];\r
-\r
 #define PRINTTEXTBOXSTABLE\r
 \r
 void VL_modexPrintTextBox(global_game_variables_t *gvar)\r
 {\r
 #define PRINTTEXTBOXW  gvar->video.page[0].width\r
-#define PRINTTEXTBOXH  160\r
+#define PRINTTEXTBOXH  gvar->video.page[0].height-96\r
+#define PRINTTEXTBOXY  160-48//112//184//gvar->video.page[0].height-100-16\r
+//#define PRINTTEXTBOXSIZE     20480//51200\r
 #define PRINTTEXTBOXHLINE              0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD,   0xCD//, 0xCD,   0xCD,   0xCD,   0xCD\r
 #define PRINTTEXTBOXHLINETOP           0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCB, 0xCD, PRINTTEXTBOXHLINE\r
 #define PRINTTEXTBOXHLINEBOTTOM        0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCD, 0xCA, 0xCD, PRINTTEXTBOXHLINE\r
@@ -53,20 +51,22 @@ void VL_modexPrintTextBox(global_game_variables_t *gvar)
        word x = gvar->video.page[/*!*/(gvar->video.p)].dx;     //(gv->video.page[(gv->video.p)].tlx) - // follow the screen\r
        word y = gvar->video.page[/*!*/(gvar->video.p)].dy;     //(gv->video.page[(gv->video.p)].tly) - // follow the screen\r
        word col = 3, bgcol = 0, type = 1;//w = 64, h = 8,\r
-       word v = gvar->video.page[0].height-PRINTTEXTBOXH;      //vertical offset\r
+       word v = PRINTTEXTBOXY; //vertical offset\r
        nibble i;\r
        boolean                 done;\r
        ScanCode                scan;\r
+//     word            huge    textboxbuff[PRINTTEXTBOXSIZE];\r
 #ifndef PRINTTEXTBOXSTABLE\r
        word q;\r
 #endif\r
        //backuppart\r
-       modexCopyPageRegion(&gvar->video.page[0], &gvar->video.page[2],\r
+       modexCopyPageRegion(&gvar->video.page[1], &gvar->video.page[0],\r
                        0,\r
+                       PRINTTEXTBOXY,\r
                        0,\r
-                       x,\r
-                       PRINTTEXTBOXH,\r
+                       PRINTTEXTBOXY,\r
                        PRINTTEXTBOXW, PRINTTEXTBOXH);\r
+//     memcpy(&textboxbuff, gvar->video.page[0].data, PRINTTEXTBOXSIZE);\r
 //             mxOutText(xpos+1, ypos+gvar.video.page[0].height-40, "|    |Chikyuu:$line1");\r
 //             mxOutText(xpos+1, ypos+gvar.video.page[0].height-32, "|    |$line2");\r
 //             mxOutText(xpos+1, ypos+gvar.video.page[0].height-24, "|    |$line3");\r
@@ -91,6 +91,8 @@ void VL_modexPrintTextBox(global_game_variables_t *gvar)
 #endif\r
        sprintf(global_temp_status_text, "%s", str3);\r
        modexprint(&(gvar->video.page[(gvar->video.p)]), x, y+gvar->video.page[0].height-v, type, 1, col, bgcol, 1, global_temp_status_text);\r
+       //PRINT TEXT\r
+//             sprintf(global_temp_status_text, "%c", 0x07);   modexprint(&(gvar->video.page[(gvar->video.p)]), x, y+gvar->video.page[0].height-v, type, 1, col, bgcol, 1,             global_temp_status_text);\r
        for (i = 0,done = false;!done;)\r
        {\r
                while (!(scan = gvar->in.inst->LastScan))\r
@@ -104,15 +106,18 @@ void VL_modexPrintTextBox(global_game_variables_t *gvar)
                        case sc_Escape:\r
                                done = true;\r
                        break;\r
+                       case sc_Q:\r
                        case sc_Enter:\r
                                //PM_GetPage(i, gvar);\r
                        break;\r
                }\r
        }\r
-       modexCopyPageRegion(&gvar->video.page[2], &gvar->video.page[0],\r
-                       x,\r
-                       PRINTTEXTBOXH,\r
+\r
+       modexCopyPageRegion(&gvar->video.page[0], &gvar->video.page[1],\r
                        0,\r
+                       PRINTTEXTBOXY,\r
                        0,\r
+                       PRINTTEXTBOXY,\r
                        PRINTTEXTBOXW, PRINTTEXTBOXH);\r
+//     memcpy(&gvar->video.page[0].data, &textboxbuff, PRINTTEXTBOXSIZE);\r
 }\r