From: sparky4 Date: Sat, 8 Aug 2015 18:44:21 +0000 (-0500) Subject: ok made the logging handle into to global variables struct handle! X-Git-Url: http://4ch.mooo.com/gitweb/?a=commitdiff_plain;h=fe54ff5710fd1720312e29985ba4e67709ce48a1;p=16.git ok made the logging handle into to global variables struct handle! deleted: DEBUG.16 deleted: HEAP.16 deleted: MMDUMP.16 deleted: PROFILE.16 modified: exmmtest.exe modified: scroll.exe modified: src/exmmtest.c modified: src/lib/16_ca.c modified: src/lib/16_ca.h modified: src/lib/16_hc.c modified: src/lib/16_hc.h modified: src/lib/16_head.h modified: src/lib/16_mm.c modified: src/lib/16_mm.h --- diff --git a/DEBUG.16 b/DEBUG.16 deleted file mode 100644 index 7eaa3cc3..00000000 --- a/DEBUG.16 +++ /dev/null @@ -1,18 +0,0 @@ -0 Size:5546 Owner:0x0 -0 Size:5546 Owner:0x0 -15aa Size:256 Owner:0x351e -Seg:16aa Size:273 Owner:0x857a -Seg:1cf8 Size:49 Owner:0x0 -Seg:ad29 Size:8920 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:4294967263 Owner:0x0 -Seg:d022 Size:419 Owner:0x0 -Seg:e000 Size:4294909951 Owner:0x0 diff --git a/HEAP.16 b/HEAP.16 deleted file mode 100644 index 7a50a81f..00000000 --- a/HEAP.16 +++ /dev/null @@ -1,45 +0,0 @@ - - == default == - - USED block at 1d1a0016 of size 136 - USED block at 1d1a009e of size 66 - FREE block at 1d1a00e0 of size 18 - USED block at 1d1a00f2 of size 20 - FREE block at 1d1a0106 of size 7926 -OK - end of heap - - == near == - - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 -OK - end of heap - - == far == - - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 - USED block at 0 of size 0 -OK - end of heap - -Memory Type Total Used Free ----------------- -------- -------- -------- -Default 8166 222 7944 -Near 31318 862 30456 -Far 8166 222 7944 ----------------- -------- -------- -------- -coreleft = 30454 -farcoreleft = 38202 -GetFreeSize = 7768 -GetNearFreeSize = 30456 -GetFarFreeSize = 7768 -memavl = 30454 -stackavail = 11049 diff --git a/MMDUMP.16 b/MMDUMP.16 deleted file mode 100644 index 58c6845a..00000000 Binary files a/MMDUMP.16 and /dev/null differ diff --git a/PROFILE.16 b/PROFILE.16 deleted file mode 100644 index e69de29b..00000000 diff --git a/exmmtest.exe b/exmmtest.exe index 72f080b3..64f660ac 100644 Binary files a/exmmtest.exe and b/exmmtest.exe differ diff --git a/scroll.exe b/scroll.exe index a1a636ad..1e15ab21 100644 Binary files a/scroll.exe and b/scroll.exe differ diff --git a/src/exmmtest.c b/src/exmmtest.c index 82cc6d37..4d8ca6c1 100644 --- a/src/exmmtest.c +++ b/src/exmmtest.c @@ -42,6 +42,7 @@ void main(int argc, char *argv[]) { + global_game_variables_t gvar; mminfo_t mm; mminfotype mmi; #ifdef __WATCOMC__ __segment sega; @@ -90,7 +91,7 @@ main(int argc, char *argv[]) MM_Startup(&mm, &mmi); //PM_Startup(); //PM_UnlockMainMem(); - CA_Startup(); + CA_Startup(&gvar); printf(" done!\n"); printf("&main()= %Fp\n", *argv[0]); printf("bigbuffer= %Fp\n", bigbuffer); @@ -124,7 +125,7 @@ main(int argc, char *argv[]) getch(); //++++modexEnter(); //++++modexShowPage(&screen); - MM_ShowMemory(&mm); + MM_ShowMemory(&gvar, &mm); //getch(); MM_DumpData(&mm); //++++modexLeave(); @@ -134,7 +135,7 @@ main(int argc, char *argv[]) MM_FreePtr(&bigbuffer, &mm); #endif //PM_Shutdown(); - CA_Shutdown(); + CA_Shutdown(&gvar); MM_Shutdown(&mm); printf(" done!\n"); #ifdef FILERL @@ -153,7 +154,7 @@ main(int argc, char *argv[]) //getch(); // printf("\n"); #ifdef __WATCOMC__ - heapdump(); + heapdump(&gvar); #endif //printf("core left: %lu\n", (dword)_coreleft()); //printf("far core left: %lu\n", (dword)_farcoreleft()); diff --git a/src/lib/16_ca.c b/src/lib/16_ca.c index d1ab94a7..abeffbfd 100644 --- a/src/lib/16_ca.c +++ b/src/lib/16_ca.c @@ -79,8 +79,6 @@ void _seg *grsegs[NUMCHUNKS]; byte far grneeded[NUMCHUNKS]; byte ca_levelbit,ca_levelnum;*/ -int profilehandle,debughandle; - void (*drawcachebox) (char *title, unsigned numcache); void (*updatecachebox) (void); void (*finishcachebox) (void); @@ -176,15 +174,15 @@ long GRFILEPOS(int c) = ============================ */ -void CA_OpenDebug(void) +void CA_OpenDebug(global_game_variables_t *gvar) { unlink("debug.16"); - debughandle = open("debug.16", O_CREAT | O_WRONLY | O_TEXT); + gvar->handle.debughandle = open("debug.16", O_CREAT | O_WRONLY | O_TEXT); } -void CA_CloseDebug(void) +void CA_CloseDebug(global_game_variables_t *gvar) { - close(debughandle); + close(gvar->handle.debughandle); } @@ -1079,11 +1077,11 @@ asm mov ds,ax ====================== */ -void CA_Startup(void) +void CA_Startup(global_game_variables_t *gvar) { #ifdef PROFILE unlink("profile.16"); - profilehandle = open("profile.16", O_CREAT | O_WRONLY | O_TEXT); + gvar->handle.profilehandle = open("profile.16", O_CREAT | O_WRONLY | O_TEXT); #endif /*++++ // MDM begin - (GAMERS EDGE) @@ -1141,10 +1139,10 @@ void CA_Startup(void) ====================== */ -void CA_Shutdown(void) +void CA_Shutdown(global_game_variables_t *gvar) { #ifdef PROFILE - close(profilehandle); + close(gvar->handle.profilehandle); #endif /*++++ close(maphandle); diff --git a/src/lib/16_ca.h b/src/lib/16_ca.h index 77809387..d0984fd6 100644 --- a/src/lib/16_ca.h +++ b/src/lib/16_ca.h @@ -36,7 +36,7 @@ //#define AUDIOHEADERLINKED //#define NUMMAPS 39 -//#define MAPPLANES 3 +//#define MAPPLANES 3 #define PROFILE //=========================================================================== @@ -64,7 +64,7 @@ extern byte ca_levelbit,ca_levelnum; extern char *titleptr[8];*/ -extern int profilehandle,debughandle; +//extern // // hooks for custom cache dialogs @@ -80,21 +80,21 @@ extern void (*finishcachebox) (void); //void CAL_ShiftSprite (unsigned segment,unsigned source,unsigned dest,unsigned width, unsigned height, unsigned pixshift, boolean domask); //=========================================================================== - -void CA_OpenDebug (void); -void CA_CloseDebug (void); + +void CA_OpenDebug (global_game_variables_t *gvar); +void CA_CloseDebug (global_game_variables_t *gvar); boolean CA_FarRead (int handle, byte huge *dest, dword length, mminfo_t *mm); -boolean CA_FarWrite (int handle, byte huge *source, dword length, mminfo_t *mm); +boolean CA_FarWrite (int handle, byte huge *source, dword length, mminfo_t *mm); boolean CA_ReadFile (char *filename, memptr *ptr, mminfo_t *mm); -boolean CA_LoadFile (char *filename, memptr *ptr, mminfo_t *mm, mminfotype *mmi); +boolean CA_LoadFile (char *filename, memptr *ptr, mminfo_t *mm, mminfotype *mmi); //long CA_RLEWCompress (unsigned huge *source, long length, unsigned huge *dest,unsigned rlewtag); //void CA_RLEWexpand (unsigned huge *source, unsigned huge *dest,long length,unsigned rlewtag); -void CA_Startup (void); -void CA_Shutdown (void); +void CA_Startup (global_game_variables_t *gvar); +void CA_Shutdown (global_game_variables_t *gvar); //void CA_CacheAudioChunk (int chunk); //void CA_LoadAllSounds (void); diff --git a/src/lib/16_hc.c b/src/lib/16_hc.c index d72b334d..afe6e310 100644 --- a/src/lib/16_hc.c +++ b/src/lib/16_hc.c @@ -25,8 +25,6 @@ #include "src/lib/16_hc.h" -int heaphandle; - #ifdef __BORLANDC__ void * LargestFreeBlock(size_t* Size) #endif @@ -390,17 +388,17 @@ size_t GetNearFreeSize(void) return nh_free; } -void heapdump(void) +void heapdump(global_game_variables_t *gvar) { struct _heapinfo fh_info, nh_info, h_info; int heap_status; size_t h_free, nh_free, fh_free, h_total, nh_total, fh_total, h_used, nh_used, fh_used; byte scratch[1024],str[16]; - HC_OpenDebug(); + HC_OpenDebug(gvar); strcpy(scratch,"\n == default ==\n\n"); - write(heaphandle,scratch,strlen(scratch)); + write(gvar->handle.heaphandle,scratch,strlen(scratch)); h_info._pentry = NULL; h_free=0; h_total=0; h_used=0; for(;;) { @@ -410,13 +408,13 @@ void heapdump(void) if((h_info._useflag == _USEDENTRY ? "USED" : "FREE")=="FREE") h_free += h_info._size; if((h_info._useflag == _USEDENTRY ? "USED" : "FREE")=="USED") h_used += h_info._size; h_total += h_info._size; - write(heaphandle,scratch,strlen(scratch)); + write(gvar->handle.heaphandle,scratch,strlen(scratch)); } - heapstat(heap_status, &scratch); + heapstat(gvar, heap_status, &scratch); //near strcpy(scratch,"\n == near ==\n\n"); - write(heaphandle,scratch,strlen(scratch)); + write(gvar->handle.heaphandle,scratch,strlen(scratch)); nh_info._pentry = NULL; nh_free=0; nh_total=0; nh_used=0; for(;;) { @@ -429,13 +427,13 @@ nh_info._pentry, nh_info._size );*/ if((nh_info._useflag == _USEDENTRY ? "USED" : "FREE")=="FREE") nh_free += nh_info._size; if((nh_info._useflag == _USEDENTRY ? "USED" : "FREE")=="USED") nh_used += nh_info._size; nh_total += nh_info._size; - write(heaphandle,scratch,strlen(scratch)); + write(gvar->handle.heaphandle,scratch,strlen(scratch)); } - heapstat(heap_status, &scratch); + heapstat(gvar, heap_status, &scratch); //far strcpy(scratch,"\n == far ==\n\n"); - write(heaphandle,scratch,strlen(scratch)); + write(gvar->handle.heaphandle,scratch,strlen(scratch)); fh_info._pentry = NULL; fh_free=0; fh_total=0; fh_used=0; for(;;) { @@ -448,9 +446,9 @@ fh_info._pentry, fh_info._size );*/ if((fh_info._useflag == _USEDENTRY ? "USED" : "FREE")=="FREE") fh_free += fh_info._size; if((fh_info._useflag == _USEDENTRY ? "USED" : "FREE")=="USED") fh_used += fh_info._size; fh_total += fh_info._size; - write(heaphandle,scratch,strlen(scratch)); + write(gvar->handle.heaphandle,scratch,strlen(scratch)); } - heapstat(heap_status, &scratch); + heapstat(gvar, heap_status, &scratch); strcpy(scratch,"\n"); strcat(scratch,kittengets(2,0,"Memory Type Total Used Free\n")); @@ -466,11 +464,11 @@ fh_info._pentry, fh_info._size );*/ strcat(scratch,"GetFarFreeSize = "); ultoa((dword)GetFarFreeSize(),str,10); strcat(scratch,str); strcat(scratch,"\n"); strcat(scratch,"memavl = "); ultoa((dword)_memavl(),str,10); strcat(scratch,str); strcat(scratch,"\n"); strcat(scratch,"stackavail = "); ultoa((dword)stackavail(),str,10); strcat(scratch,str); strcat(scratch,"\n"); - write(heaphandle,scratch,strlen(scratch)); - HC_CloseDebug(); + write(gvar->handle.heaphandle,scratch,strlen(scratch)); + HC_CloseDebug(gvar); } -void heapstat(int heap_status, byte *str) +void heapstat(global_game_variables_t *gvar, int heap_status, byte *str) { switch( heap_status ) { case _HEAPEND: @@ -489,7 +487,7 @@ void heapstat(int heap_status, byte *str) case _HEAPBADNODE: strcpy((str),"ERROR - bad node in heap\n"); } - write(heaphandle,(str),strlen((str))); + write(gvar->handle.heaphandle,(str),strlen((str))); } void heapstat0(int heap_status) @@ -500,7 +498,6 @@ void heapstat0(int heap_status) break; case _HEAPEMPTY: //printf("OK - heap is empty\n"); - break; case _HEAPBADBEGIN: printf("ERROR - heap is damaged\n"); @@ -522,13 +519,13 @@ void heapstat0(int heap_status) = ============================ */ -void HC_OpenDebug() +void HC_OpenDebug(global_game_variables_t *gvar) { unlink("heap.16"); - heaphandle = open("heap.16", O_CREAT | O_WRONLY | O_TEXT); + gvar->handle.heaphandle = open("heap.16", O_CREAT | O_WRONLY | O_TEXT); } -void HC_CloseDebug() +void HC_CloseDebug(global_game_variables_t *gvar) { - close(heaphandle); + close(gvar->handle.heaphandle); } diff --git a/src/lib/16_hc.h b/src/lib/16_hc.h index db0265a8..6e947bee 100644 --- a/src/lib/16_hc.h +++ b/src/lib/16_hc.h @@ -28,8 +28,6 @@ #include "src/lib/16_head.h" -extern int heaphandle; - #ifdef __BORLANDC__ void * LargestFreeBlock(size_t* Size); #endif @@ -46,11 +44,11 @@ size_t _hugecoreleft(void); size_t GetFreeSize(void); size_t GetFarFreeSize(void); size_t GetNearFreeSize(void); -void heapdump(void); -void heapstat(int heap_status, byte *str); +void heapdump(global_game_variables_t *gvar); +void heapstat(global_game_variables_t *gvar, int heap_status, byte *str); void heapstat0(int heap_status); -void HC_OpenDebug(); -void HC_CloseDebug(); +void HC_OpenDebug(global_game_variables_t *gvar); +void HC_CloseDebug(global_game_variables_t *gvar); #endif /* __16HC__ */ diff --git a/src/lib/16_head.h b/src/lib/16_head.h index 39f16ae8..665c4fb2 100644 --- a/src/lib/16_head.h +++ b/src/lib/16_head.h @@ -176,6 +176,13 @@ typedef void __based(__self) * memptr; #ifdef __BORLANDC__ typedef void _seg * memptr; #endif + +typedef struct +{ + int profilehandle,debughandle; + int heaphandle; +} handle_t; + typedef struct { int old_mode; //old video mode before game! @@ -183,8 +190,7 @@ typedef struct clock_t t; dword tiku; word far* clock; - //handles for log files of the game gose here if wwww - //int heaphandle; + handle_t handle; //handles for file logging } global_game_variables_t; /* local function */ @@ -194,7 +200,7 @@ long int filesize(FILE *fp); void printmeminfoline(byte *strc, const byte *pee, size_t h_total, size_t h_used, size_t h_free); int US_CheckParm(char *parm,char **strings); -extern void CA_OpenDebug (void); -extern void CA_CloseDebug (void); +extern void CA_OpenDebug (global_game_variables_t *gvar); +extern void CA_CloseDebug (global_game_variables_t *gvar); #endif/*_LIBHEAD_H_*/ diff --git a/src/lib/16_mm.c b/src/lib/16_mm.c index ba29d60c..78f00337 100644 --- a/src/lib/16_mm.c +++ b/src/lib/16_mm.c @@ -1011,7 +1011,7 @@ printf("\n"); if (mm->bombonerror) { #ifdef __WATCOMC__ - heapdump(); + //heapdump(); #endif printf(OUT_OF_MEM_MSG,(size-mmi->nearheap)); printf("for stability reasons the program will shut down! wwww\n"); @@ -1264,7 +1264,7 @@ void MM_SortMem(mminfo_t *mm) ===================== */ -void MM_ShowMemory(/*page_t *page, */mminfo_t *mm) +void MM_ShowMemory(global_game_variables_t *gvar,/*page_t *page, */mminfo_t *mm) { mmblocktype huge *scan; //++++ word color; @@ -1283,7 +1283,7 @@ void MM_ShowMemory(/*page_t *page, */mminfo_t *mm) end = -1; -CA_OpenDebug (); +CA_OpenDebug (gvar); //++++ chx=0; //++++ chy=0; @@ -1299,7 +1299,7 @@ CA_OpenDebug (); if(scan->start<=end) { //printf("); - write(debughandle,"\nMM_ShowMemory: Memory block order currupted!\n",strlen("\nMM_ShowMemory: Memory block order currupted!\n")); + write(gvar->handle.debughandle,"\nMM_ShowMemory: Memory block order currupted!\n",strlen("\nMM_ShowMemory: Memory block order currupted!\n")); //modexprint(&page, chx, chy, 1, 0, 24, "\nMM_ShowMemory: Memory block order currupted!\n"); return; } @@ -1348,7 +1348,7 @@ owner = (unsigned)scan->useptr; ultoa (owner,str,16); strcat (scratch,str); strcat (scratch,"\n"); -write(debughandle,scratch,strlen(scratch)); +write(gvar->handle.debughandle,scratch,strlen(scratch)); //modexprint(page, chx, chy, 1, 0, 24, &scratch); //++++chy+=4; //fprintf(stdout, "%s", scratch); @@ -1357,7 +1357,7 @@ write(debughandle,scratch,strlen(scratch)); scan = scan->next; } -CA_CloseDebug (); +CA_CloseDebug (gvar); //++++mh IN_Ack(); //**** VW_SetLineWidth(64); diff --git a/src/lib/16_mm.h b/src/lib/16_mm.h index 49a943fc..2e012302 100644 --- a/src/lib/16_mm.h +++ b/src/lib/16_mm.h @@ -187,7 +187,7 @@ void MM_FreePtr(memptr *baseptr, mminfo_t *mm); void MM_SetPurge(memptr *baseptr, int purge, mminfo_t *mm); void MM_SetLock(memptr *baseptr, boolean locked, mminfo_t *mm); void MM_SortMem(mminfo_t *mm); -void MM_ShowMemory(/*page_t *page, */mminfo_t *mm); +void MM_ShowMemory(global_game_variables_t *gvar,/*page_t *page, */mminfo_t *mm); void MM_DumpData(mminfo_t *mm); dword MM_UnusedMemory(mminfo_t *mm); dword MM_TotalFree(mminfo_t *mm);