From 6a50169355a91e8664dbd38fa16dee111bcb1c73 Mon Sep 17 00:00:00 2001
From: sparky4 <sparky4@cock.li>
Date: Wed, 5 Apr 2017 06:47:56 -0500
Subject: [PATCH] p16 is being worked on a bunch by me wwww [16_ca needs huge
 amounts of work and I should remember what needs to be done soon][OpenVGMFile
 needs to be ported to 16_snd.c]going to port rest of code to borland c some
 time so we can use the core components of id engine here [going to add
 16_us.c eventually but the debug system and CA_ PM_ and MM_ usage is priority
 now]older zcroll renamed to xcroll][zcroll is now the pre menu game loop
 system with PROPER data usage with CAMMPM] MM_ShowMemory is uggy on real
 machines. i need to debug it and fix added a struct printer[gvar.mm is
 FUCKING HUGE 14402 bytes FAT\!][fixed issue with crashings on test programs]

---
 src/0.c        | 15 ++++++++++-----
 src/exmmtest.c | 15 ++++++++++-----
 src/xcroll.c   | 21 +++++++++++----------
 3 files changed, 31 insertions(+), 20 deletions(-)

diff --git a/src/0.c b/src/0.c
index 7a9d4778..051bb332 100755
--- a/src/0.c
+++ b/src/0.c
@@ -46,18 +46,21 @@ int main(int argc,char **argv)
 	unsigned int bufsz;
 	int fd;
 	//nibble i;
-	char bakapee1[64],bakapee2[64];
+	char *bakapee1,*bakapee2;
 
 	boolean anim=1,noanim=0,zerostoppause=1;
 
+	bakapee1=malloc(64);
+	bakapee2=malloc(64);
+
 	if (argc < 2) {
 		//fprintf(stderr,"drawvrl <VRL file> <palette file>\n palette file optional\n");
-		strcpy(bakapee1, FILENAME_1);//"data/aconita.vrl";
-		strcpy(bakapee2, FILENAME_2);//"data/aconita.pal";
+		bakapee1 = FILENAME_1;//"data/aconita.vrl";
+		bakapee2 = FILENAME_2;//"data/aconita.pal";
 
 	}else{
-		if(argv[1]){ strcpy(bakapee1, argv[1]);//bakapee1[] = *argv[1];
-		if(argv[2]) strcpy(bakapee2, argv[2]); }//bakapee2[] = argv[2]; }
+		if(argv[1]) bakapee1 = argv[1];
+		if(argv[2]) bakapee2 = argv[2];
 	}
 
 	fd = open(bakapee1,O_RDONLY|O_BINARY);
@@ -304,6 +307,8 @@ if(!noanim) {
 	buffer = NULL;
 	free(buffer);
 	bufsz = 0;
+	free(bakapee1);
+	free(bakapee2);
 	printf("\nProject 16 0.exe. This is just a test file!\n");
 	printf("version %s\n", VERSION);
 	//SCROLLEXITMESG;
diff --git a/src/exmmtest.c b/src/exmmtest.c
index 5ca5c29a..3e995431 100755
--- a/src/exmmtest.c
+++ b/src/exmmtest.c
@@ -127,12 +127,16 @@ main(int argc, char *argv[])
 //#ifdef __WATCOMC__
 //	__segment sega;
 //#endif
-	char bakapee1[64],bakapee2[64];
+	char *bakapee1,*bakapee2;
 	word baka;
 
 #ifdef __BORLANDC__
 	argc=argc;
 #endif
+	//file name //
+	bakapee1 = malloc(24);
+	bakapee2 = malloc(24);
+	//file name //
 
 #ifdef __16_PM__
 #ifdef __DEBUG_PM__
@@ -146,12 +150,12 @@ main(int argc, char *argv[])
 #ifdef PRINTBBDUMP
 //0000PRINTBB; KEYP
 #endif
-	if(argv[1]){ strcpy(bakapee1, argv[1]);//bakapee1[] = *argv[1];
-	if(argv[2]) strcpy(bakapee2, argv[2]); }//bakapee2[] = argv[2]; }
+	if(argv[1]){ bakapee1 = argv[1];
+	if(argv[2]) bakapee2 = argv[2]; }
 	else{
 	//{ printf("filename!: "); scanf("%[^\n]", &bakapee); }
-		strcpy(bakapee1, "data/koishi~.pcx"); //bakapee1 = "data/koishi~.pcx";
-		strcpy(bakapee2, "data/test.map"); //bakapee2 = "data/test.map";
+		bakapee1 = "data/koishi~.pcx";
+		bakapee2 = "data/test.map";
 	}
 #ifndef NOVID
 	Startup16(&gvar);
@@ -296,6 +300,7 @@ PRINTBB; KEYP
 	MM_Shutdown(&gvar);
 #endif	//NOVID
 	IN_Shutdown(&gvar);
+	free(bakapee1); free(bakapee2);
 	printf("========================================\n");
 	printf("near=	%Fp ", gvar.mm.nearheap);
 	printf("far=	%Fp", gvar.mm.farheap);
diff --git a/src/xcroll.c b/src/xcroll.c
index aeb73a47..fcc7778d 100755
--- a/src/xcroll.c
+++ b/src/xcroll.c
@@ -51,7 +51,7 @@ memptr pal;
 void main(int argc, char *argv[])
 {
 	static global_game_variables_t gvar;
-	char bakapee1[64],bakapee1p[64];
+	char *bakapee1,*bakapee1p;
 	struct glob_game_vars	*ggvv;
 //	sword bakapee;
 // 	if(argv[1]) bakapee = atoi(argv[1]);
@@ -59,16 +59,18 @@ void main(int argc, char *argv[])
 
 	Startup16(&gvar);
 
+	bakapee1=malloc(64);
+	bakapee1p=malloc(64);
 	ggvv=&gvar;
 
 	if (argc < 2) {
 		//fprintf(stderr,"drawvrl <VRL file> <palette file>\n palette file optional\n");
-		strcpy(bakapee1, FILENAME_1);
-		strcpy(bakapee1p, FILENAME_1P);
+		bakapee1 =		FILENAME_1;
+		bakapee1p =	FILENAME_1P;
 
 	}else{
-		if(argv[1]){ strcpy(bakapee1, argv[1]);
-		if(argv[2]) strcpy(bakapee1p, argv[2]); }
+		if(argv[1]) bakapee1 = argv[1];
+		if(argv[2]) bakapee1p = argv[2];
 	}
 
 	// OK, this one takes hellova time and needs to be done in farmalloc or MM_...
@@ -188,14 +190,14 @@ void main(int argc, char *argv[])
 		{
 			if(gvar.in.inst->Keyboard[sc_J])
 			{
-				strcpy(bakapee1, FILENAME_1);
-				strcpy(bakapee1p, FILENAME_1P);
+				bakapee1=FILENAME_1;
+				bakapee1p=FILENAME_1P;
 				gvar.player[0].enti.overdraww=0;
 			}
 			if(gvar.in.inst->Keyboard[sc_K])
 			{
-				strcpy(bakapee1, FILENAME_2);
-				strcpy(bakapee1p, FILENAME_2P);
+				bakapee1=FILENAME_2;
+				bakapee1p=FILENAME_2P;
 				gvar.player[0].enti.overdraww=2;
 			}
 			//read_vrs(&gvar, bakapee1, gvar.player[0].enti.spri->spritesheet);
@@ -225,5 +227,4 @@ void main(int argc, char *argv[])
 #ifdef FADE
 	modexFadeOn(4, gvar.video.dpal);
 #endif
-	//PRINT_OPAQUE_STRUCT(&gvar);
 }
-- 
2.39.5