]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_mm.c
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / lib / 16_mm.c
index 7383b693c016d2d72de5441eaff123f3e2e9ed3a..18c02bbb7da332a4260ca928391fd4d0cad08888 100755 (executable)
@@ -1361,7 +1361,7 @@ extern char global_temp_status_text2[512];
 void MM_ShowMemory (global_game_variables_t *gvar)\r
 {\r
        mmblocktype far *scan;\r
-       unsigned color,temp,x,y         ,w,width;\r
+       unsigned color,temp,x,y         ,w,width,sw;\r
        sdword  end,owner;\r
        byte            scratch[160],scratch0[4096],str[16];\r
 #ifdef MMSMSCANINFO\r
@@ -1387,7 +1387,7 @@ reset:
 \r
        end = -1; w = 0;\r
 \r
-       width = gvar->video.page[0].width;\r
+       width = gvar->video.page[0].width; sw = gvar->video.page[0].sw;\r
 \r
        CA_OpenDebug (gvar);\r
        while (scan)\r
@@ -1419,8 +1419,8 @@ reset:
                        Quit (gvar, "MM_ShowMemory: Memory block order currupted!");\r
                }\r
                end = scan->length-1;\r
-               y = scan->start/width;\r
-               x = scan->start%width;\r
+               y = gvar->video.page[0].dx+(scan->start/sw);\r
+               x = gvar->video.page[0].dy+(scan->start%sw);\r
 #if 0\r
 //def MMSMSCANINFO\r
                if(restarted){\r
@@ -1544,7 +1544,7 @@ reset:
        }\r
 #endif\r
 #ifdef MMSMSCANINFO\r
-       maxq = q-1;\r
+       maxq = q;\r
        if(restarted) q = oldq;\r
        else q = 0;\r
        restarted = false;\r
@@ -1576,7 +1576,7 @@ reset:
                if(gvar->video.VL_Started)\r
                {\r
                        VL_ShowPage(&gvar->video.page[0], 1, 0);\r
-                       modexClearRegion(&gvar->video.page[0], 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 8);\r
+                       modexClearRegion(&gvar->video.page[0], gvar->video.page[0].dx, gvar->video.page[0].dy, gvar->video.page[0].sw, gvar->video.page[0].sh, 8);\r
                }else\r
 #endif\r
                        clrscr();\r
@@ -1591,8 +1591,8 @@ reset:
                }else   ypos+=8;\r
                if(gvar->video.VL_Started)\r
                {\r
-                       y = scaninfo[q].scan->start/width;\r
-                       x = scaninfo[q].scan->start%width;\r
+                       y = scaninfo[q].scan->start/sw;\r
+                       x = scaninfo[q].scan->start%sw;\r
                        if(!mmsmscaninfoxyposinew)\r
                        {\r
                                y = ypos;\r
@@ -1665,17 +1665,17 @@ reset:
                                else q = 0;\r
                        break;\r
                        case sc_UpArrow:\r
-                               if(q>10) q-=10;\r
+                               if(q>9) q-=10;\r
                                else    q = maxq;\r
                        break;\r
                        case sc_DownArrow:\r
-                               if(q<maxq+10) q+=10;\r
+                               if(q<maxq-9) q+=10;\r
                                else q = 0;\r
                        break;\r
                        case sc_Space:\r
                                oldq = q;\r
                                restarted = true;\r
-                               modexClearRegion(&gvar->video.page[0], 0, 0, gvar->video.page[0].width, gvar->video.page[0].height, 8);\r
+                               modexClearRegion(&gvar->video.page[0], gvar->video.page[0].dx, gvar->video.page[0].dy, gvar->video.page[0].sw, gvar->video.page[0].sh, 8);\r
                                goto reset;\r
                        break;\r
                        case sc_Escape:\r