]> 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 6453354917350979d831df3a1c270be777390027..f5f0770e7bb57e332ab9c202ee08e86c8d2afe78 100755 (executable)
@@ -1150,7 +1150,7 @@ void MM_SetLock(memptr *baseptr, boolean locked, global_game_variables_t *gvar)
 void MM_SortMem(global_game_variables_t *gvar)
 {
        mmblocktype far *scan,far *last,far *next;
-       unsigned        start,length,source,dest;//++++,oldborder;
+       unsigned        start,length,source,dest,oldborder;
        //++++int                       playing;
 
        //
@@ -1168,13 +1168,13 @@ void MM_SortMem(global_game_variables_t *gvar)
                        playing += STARTADLIBSOUNDS;
                        break;
                }
-               MM_SetLock(&(memptr)audiosegs[playing],true);
+               MM_SetLock((memptr *)&audiosegs[playing],true);
        }
 
 
        SD_StopSound();*/
-//     oldborder = bordercolor;
-//     VW_ColorBorder (15);
+       oldborder = gvar->video.bordercolor;
+       gvar->video.bordercolor = modexPalOverscan(15);
 
        if(beforesort)
                beforesort();
@@ -1244,7 +1244,7 @@ void MM_SortMem(global_game_variables_t *gvar)
 //     VW_ColorBorder (oldborder);
 
 /*++++ if(playing)
-               MM_SetLock(&(memptr)audiosegs[playing],false);*/
+               MM_SetLock((memptr *)&audiosegs[playing],false);*/
 }
 
 //==========================================================================
@@ -1267,7 +1267,6 @@ void MM_ShowMemory(global_game_variables_t *gvar)
        //dword wwww;
        byte    scratch[160],scratch0[4096],str[16];//[[[[scratch1[160],
        //byte d = '#';
-//[[[[ VW_SetDefaultColors();
 //[[[[ VW_SetLineWidth(40);
 //++++mh       temp = bufferofs;
 //++++mh       bufferofs = 0;
@@ -1409,6 +1408,46 @@ void MM_ShowMemory(global_game_variables_t *gvar)
 //++++mh       bufferofs = temp;
 }
 
+void MM_ShowMemoryVidVer(global_game_variables_t *gvar)
+{
+       mmblocktype far *scan;
+       unsigned color,temp,x,y;
+       long    end;//,owner;
+       //char    scratch[80],str[10];
+
+       temp = gvar->video.ofs.bufferofs;
+       gvar->video.ofs.bufferofs = gvar->video.ofs.displayofs;
+       scan = gvar->mm.mmhead;
+
+       end = -1;
+
+       while (scan)
+       {
+               if (scan->attributes & PURGEBITS)
+                       color = 5;              // dark purple = purgable
+               else
+                       color = 9;              // medium blue = non purgable
+               if (scan->attributes & LOCKBIT)
+                       color = 12;             // red = locked
+               if (scan->start<=end)
+                       Quit (gvar, "MM_ShowMemory: Memory block order currupted!");
+               end = scan->length-1;
+               y = scan->start/320;
+               x = scan->start%320;
+               VL_Hlin(x,x+end,y,color, &gvar->video.ofs);
+               VL_Plot(x,y,15, &gvar->video.ofs);
+               if (scan->next && scan->next->start > end+1)
+                       VL_Hlin(x+end+1,x+(scan->next->start-scan->start),y,0, &gvar->video.ofs);       // black = free
+
+               scan = scan->next;
+       }
+
+       VL_FadeIn(0,255,&gvar->video.palette,10, &gvar->video);
+       IN_Ack(gvar);
+
+       gvar->video.ofs.bufferofs = temp;
+}
+
 //==========================================================================
 
 /*