From 6a50169355a91e8664dbd38fa16dee111bcb1c73 Mon Sep 17 00:00:00 2001 From: sparky4 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 \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 \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.2