]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_mm.c
the scanshowinfo part of show memory text prints do not match the text file's text...
[16.git] / src / lib / 16_mm.c
index dc807cbd1a0daf49985c0b743e0838e48908fcc6..77bbe9638ebec7b051692df765466678f797597d 100755 (executable)
@@ -1367,7 +1367,7 @@ void MM_ShowMemory (global_game_variables_t *gvar)
 #ifdef MMSMSCANINFO\r
        mmshowmemoryinfo_t scaninfo[MAXBLOCKS];\r
        byte scratch1[4];\r
-       unsigned                xpos,ypos, oldq,q,maxq;\r
+       unsigned                /*xpos,ypos, */oldq,q,maxq;\r
        boolean         done,restarted,mmsmscaninfoxyposinew;\r
        ScanCode                scancode;\r
 #endif\r
@@ -1478,7 +1478,10 @@ reset:
 #endif\r
                strcat(scratch0, AARESET);\r
                //strcat(scratch0,"\n");\r
-               strcat(scratch,"Seg:");\r
+               strcat(scratch,"Block:");\r
+               ultoa (q,str,10);\r
+               strcat (scratch,str);\r
+               strcat(scratch,"\tSeg:");\r
                ultoa (scan->start,str,16);\r
                strcat (scratch,str);\r
 //             strcat(scratch, AABLACK); strcat(scratch,"\t"); strcat(scratch, AARESET);\r
@@ -1501,11 +1504,10 @@ reset:
 #ifdef MMSMSCANINFO\r
                q++;\r
 #endif\r
-//0000if(q==1 && gvar->video.VL_Started && color!=6) IN_Ack(gvar);\r
+//0000if(gvar->video.VL_Started && color!=6) IN_Ack(gvar);\r
        }\r
 \r
        CA_CloseDebug (gvar);\r
-       if (gvar->video.VL_Started) IN_Ack(gvar);\r
 \r
 #ifdef MMSMPANVID\r
        {\r
@@ -1513,6 +1515,8 @@ reset:
                odx = gvar->video.page[0].dx;\r
                ody = gvar->video.page[0].dy;\r
                dx = dy = 0;\r
+\r
+               while (!(scancode = gvar->in.inst->LastScan)){}\r
                while(!gvar->in.inst->Keyboard[sc_Escape] && !gvar->in.inst->Keyboard[sc_Space])\r
                {\r
                        if(gvar->in.inst->Keyboard[sc_UpArrow])\r
@@ -1545,7 +1549,8 @@ reset:
        }\r
 #endif\r
 #ifdef MMSMSCANINFO\r
-       maxq = q;\r
+       if (gvar->video.VL_Started) IN_Ack(gvar);\r
+       maxq = q-1;\r
        if(restarted) q = oldq;\r
        else q = 0;\r
        restarted = false;\r
@@ -1573,8 +1578,13 @@ reset:
                        //printf("%s", AARED);\r
                }\r
                end = scaninfo[q].scan->length-1;\r
-//modexprint(page, x, y, t, tlsw, color, bgcolor, vidsw, const byte *str);\r
-#define MMSMPRINTMEMINFO modexprint(&(gvar->video.page[0]), xpos, ypos, 1, 1, color, 8, gvar->video.VL_Started, global_temp_status_text); ypos+=8;\r
+\r
+               gvar->video.print.t=1;\r
+               gvar->video.print.tlsw=1;\r
+               gvar->video.print.color=color;\r
+               gvar->video.print.bgcolor=8;\r
+#define MMSMPRINTMEMINFO       VL_print(global_temp_status_text, 0, gvar); gvar->video.print.y+=8;\r
+//modexprint(&(gvar->video.page[0]), xpos, ypos, 1, 1, color, 8, gvar->video.VL_Started, global_temp_status_text);\r
 #ifdef __WATCOMC__\r
                if(gvar->video.VL_Started)\r
                {\r
@@ -1591,15 +1601,15 @@ reset:
                if (scaninfo[q].scan->next && scaninfo[q].scan->next->start > end+1)\r
                {\r
                        sprintf(global_temp_status_text, "free: %05u", (unsigned)(scaninfo[q].scan->next->start-scaninfo[q].scan->start)); MMSMPRINTMEMINFO\r
-               }else   ypos+=8;\r
+               }else   /*ypos*/gvar->video.print.y+=8;\r
                if(gvar->video.VL_Started)\r
                {\r
                        y = scaninfo[q].scan->start/sw;\r
                        x = scaninfo[q].scan->start%sw;\r
                        if(!mmsmscaninfoxyposinew)\r
                        {\r
-                               y = ypos;\r
-                               x = xpos;\r
+                               y = gvar->video.print.y;//ypos;\r
+                               x = gvar->video.print.x;//xpos;\r
                        }else{\r
                                //y = scaninfo[q].y;\r
                                //x = scaninfo[q].x;\r
@@ -1638,8 +1648,8 @@ reset:
                if(gvar->video.VL_Started)\r
                {\r
                        //if (scan->next && scan->next->start > end+1) free\r
-                       xpos = gvar->video.page[0].dx;\r
-                       ypos = gvar->video.page[0].dy;\r
+                       /*xpos*/gvar->video.print.x = gvar->video.page[0].dx;\r
+                       /*ypos*/gvar->video.print.y = gvar->video.page[0].dy;\r
                }\r
                else\r
                {\r
@@ -1686,8 +1696,8 @@ reset:
                        break;\r
                }\r
        }\r
-//#else\r
-//     if(gvar->video.VL_Started) IN_Ack(gvar);\r
+#else\r
+       if(gvar->video.VL_Started) IN_Ack(gvar);\r
 #endif\r
 \r
        gvar->video.BOFS = (byte __far *)temp;\r