X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2F16_mm.c;h=880020018bf922024464a47d7dc34a4533bba439;hb=a565be31ce92d6168ae6983042da75b0b683e52b;hp=18c02bbb7da332a4260ca928391fd4d0cad08888;hpb=be16a39d3ed2b062cca8167096a24dd7aa826b44;p=16.git diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index 18c02bbb..88002001 100755 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover + * Copyright (C) 2012-2019 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -1263,10 +1263,9 @@ void MM_SortMem (global_game_variables_t *gvar) SD_StopSound();*/ -#ifdef __WATCOMC__ + oldborder = gvar->video.bordercolor; gvar->video.bordercolor = VL_modexPalOverscan(gvar->video.palette, 4); -#endif if (beforesort) beforesort(); @@ -1344,10 +1343,10 @@ void MM_SortMem (global_game_variables_t *gvar) extern char global_temp_status_text[512]; extern char global_temp_status_text2[512]; #endif -#ifdef __WATCOMC__ +//#ifdef __WATCOMC__ //#define MMSMPANVID #define MMSMSCANINFO -#endif +//#endif /* ===================== @@ -1361,13 +1360,13 @@ extern char global_temp_status_text2[512]; void MM_ShowMemory (global_game_variables_t *gvar) { mmblocktype far *scan; - unsigned color,temp,x,y ,w,width,sw; + unsigned color,temp,x,y ,q,w/*,width*/,sw; sdword end,owner; byte scratch[160],scratch0[4096],str[16]; #ifdef MMSMSCANINFO mmshowmemoryinfo_t scaninfo[MAXBLOCKS]; byte scratch1[4]; - unsigned xpos,ypos, oldq,q,maxq; + unsigned /*xpos,ypos, */oldq,maxq; boolean done,restarted,mmsmscaninfoxyposinew; ScanCode scancode; #endif @@ -1381,13 +1380,13 @@ void MM_ShowMemory (global_game_variables_t *gvar) #ifdef MMSMSCANINFO oldq = 0; restarted = false; mmsmscaninfoxyposinew = false; reset: - q = 0; #endif scan = gvar->mm.mmhead; - end = -1; w = 0; + end = -1; w = 0; q = 0; - width = gvar->video.page[0].width; sw = gvar->video.page[0].sw; + //width = gvar->video.page[0].width; + sw = gvar->video.page[0].sw; CA_OpenDebug (gvar); while (scan) @@ -1478,7 +1477,10 @@ reset: #endif strcat(scratch0, AARESET); //strcat(scratch0,"\n"); - strcat(scratch,"Seg:"); + strcat(scratch,"Block:"); + ultoa (q,str,10); + strcat (scratch,str); + strcat(scratch,"\tSeg:"); ultoa (scan->start,str,16); strcat (scratch,str); // strcat(scratch, AABLACK); strcat(scratch,"\t"); strcat(scratch, AARESET); @@ -1498,10 +1500,9 @@ reset: //0000fprintf(stdout, "[%u]\n", q); scan = scan->next; -#ifdef MMSMSCANINFO q++; -#endif -//0000if(q==1 && gvar->video.VL_Started && color!=6) IN_Ack(gvar); + +//0000if(gvar->video.VL_Started && color!=6) IN_Ack(gvar); } CA_CloseDebug (gvar); @@ -1512,6 +1513,8 @@ reset: odx = gvar->video.page[0].dx; ody = gvar->video.page[0].dy; dx = dy = 0; + + while (!(scancode = gvar->in.inst->LastScan)){} while(!gvar->in.inst->Keyboard[sc_Escape] && !gvar->in.inst->Keyboard[sc_Space]) { if(gvar->in.inst->Keyboard[sc_UpArrow]) @@ -1544,13 +1547,16 @@ reset: } #endif #ifdef MMSMSCANINFO - maxq = q; + if (gvar->video.VL_Started) IN_Ack(gvar); + maxq = q-1; if(restarted) q = oldq; else q = 0; restarted = false; - IN_Ack(gvar); -// VL_ClearVideo (8); + while (!(scancode = gvar->in.inst->LastScan)){} +// IN_ClearKey(scancode); +// IN_Ack(gvar); + for (done = false;!done;) { if(scaninfo[q].scan->attributes & PURGEBITS) @@ -1570,8 +1576,13 @@ reset: //printf("%s", AARED); } end = scaninfo[q].scan->length-1; -//modexprint(page, x, y, t, tlsw, color, bgcolor, vidsw, const byte *str); -#define MMSMPRINTMEMINFO modexprint(&(gvar->video.page[0]), xpos, ypos, 1, 1, color, 8, gvar->video.VL_Started, global_temp_status_text); ypos+=8; + + gvar->video.print.t=1; + gvar->video.print.tlsw=1; + gvar->video.print.color=color; + gvar->video.print.bgcolor=8; +#define MMSMPRINTMEMINFO VL_print(global_temp_status_text, 0, gvar); gvar->video.print.y+=8; +//modexprint(&(gvar->video.page[0]), xpos, ypos, 1, 1, color, 8, gvar->video.VL_Started, global_temp_status_text); #ifdef __WATCOMC__ if(gvar->video.VL_Started) { @@ -1579,7 +1590,9 @@ reset: 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); }else #endif + { clrscr(); + } sprintf(global_temp_status_text, "block #%04u", q); MMSMPRINTMEMINFO // sprintf(global_temp_status_text, "%Fp", scaninfo[q].scan->useptr); MMSMPRINTMEMINFO sprintf(global_temp_status_text, "start: %04x", (unsigned)scaninfo[q].scan->start); MMSMPRINTMEMINFO @@ -1588,15 +1601,15 @@ reset: if (scaninfo[q].scan->next && scaninfo[q].scan->next->start > end+1) { sprintf(global_temp_status_text, "free: %05u", (unsigned)(scaninfo[q].scan->next->start-scaninfo[q].scan->start)); MMSMPRINTMEMINFO - }else ypos+=8; + }else /*ypos*/gvar->video.print.y+=8; if(gvar->video.VL_Started) { y = scaninfo[q].scan->start/sw; x = scaninfo[q].scan->start%sw; if(!mmsmscaninfoxyposinew) { - y = ypos; - x = xpos; + y = gvar->video.print.y;//ypos; + x = gvar->video.print.x;//xpos; }else{ //y = scaninfo[q].y; //x = scaninfo[q].x; @@ -1635,8 +1648,8 @@ reset: if(gvar->video.VL_Started) { //if (scan->next && scan->next->start > end+1) free - xpos = gvar->video.page[0].dx; - ypos = gvar->video.page[0].dy; + /*xpos*/gvar->video.print.x = gvar->video.page[0].dx; + /*ypos*/gvar->video.print.y = gvar->video.page[0].dy; } else { @@ -1675,9 +1688,11 @@ reset: case sc_Space: oldq = q; restarted = true; - 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); +#ifdef __WATCOMC__ + if(gvar->video.VL_Started) 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); +#endif goto reset; - break; + case sc_Escape: done = true; break;