]> 4ch.mooo.com Git - 16.git/blobdiff - src/xcroll.c
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / xcroll.c
index fcc7778de5ba2f036c20998e128ed4210be54186..ed02457e7c28ab78389fae4c56f4e2d421813d37 100755 (executable)
 \r
 #include "src/lib/scroll16.h"\r
 #include "src/lib/16_timer.h"\r
-#include "src/lib/16render.h"\r
 #include "src/lib/16_dbg.h"\r
 \r
 #define FADE\r
+//#define NOMAPLOAD\r
 \r
 //map_view_t mv[4];\r
 static map_t map;\r
@@ -51,26 +51,17 @@ memptr pal;
 void main(int argc, char *argv[])\r
 {\r
        static global_game_variables_t gvar;\r
-       char *bakapee1,*bakapee1p;\r
-       struct glob_game_vars   *ggvv;\r
-//     sword bakapee;\r
-//     if(argv[1]) bakapee = atoi(argv[1]);\r
-//     else bakapee = 1;\r
+       struct glob_game_vars *ggvv;\r
+       char bakapee1[64] = FILENAME_1;\r
+       char bakapee1p[64] = FILENAME_1P;\r
 \r
        Startup16(&gvar);\r
 \r
-       bakapee1=malloc(64);\r
-       bakapee1p=malloc(64);\r
        ggvv=&gvar;\r
 \r
-       if (argc < 2) {\r
-               //fprintf(stderr,"drawvrl <VRL file> <palette file>\n palette file optional\n");\r
-               bakapee1 =              FILENAME_1;\r
-               bakapee1p =     FILENAME_1P;\r
-\r
-       }else{\r
-               if(argv[1]) bakapee1 = argv[1];\r
-               if(argv[2]) bakapee1p = argv[2];\r
+       if (argc >= 2) {\r
+               if(argv[1]){ strcpy(bakapee1, argv[1]);\r
+               if(argv[2]) strcpy(bakapee1p, argv[2]); }\r
        }\r
 \r
        // OK, this one takes hellova time and needs to be done in farmalloc or MM_...\r
@@ -80,11 +71,15 @@ void main(int argc, char *argv[])
        // create the map\r
 //     fprintf(stderr, "testing map load~      ");\r
        CA_loadmap("data/test.map", &map, &gvar);\r
+#ifndef NOMAPLOAD\r
        chkmap(&map, 0);\r
 //     initMap(&map);\r
 //     printf("chkmap ok       ");\r
 //     fprintf(stderr, "yay map loaded~~\n");\r
-\r
+#else\r
+       chkmap(&map, 1);\r
+       //initMap(&map);\r
+#endif\r
        // data\r
        VRS_LoadVRS(bakapee1, &gvar.player[0].enti, &gvar);\r
 \r
@@ -98,7 +93,8 @@ void main(int argc, char *argv[])
        modexPalBlack();\r
 #endif\r
 \r
-       VGAmodeX(1/*bakapee*/, 1, &gvar);\r
+       //--VGAmodeX(1/*bakapee*/, 1, &gvar);\r
+       VL_Startup(&gvar);\r
 \r
        /* load color palette */\r
        /*ptmp.offset=(paloffset/3);\r
@@ -108,19 +104,30 @@ void main(int argc, char *argv[])
        //printf("1:    %d\n", paloffset);\r
        map.tiles->data->offset=(paloffset/3);\r
        modexPalUpdate(map.tiles->data, &paloffset, 0, 0);*/\r
-       VL_LoadPalFile(bakapee1p, &gvar.video.palette);\r
+       VL_LoadPalFile(bakapee1p, &gvar.video.palette, &gvar);\r
        //VL_LoadPalFile("data/default.pal", &gvar.video.palette);\r
 \r
 #ifdef FADE\r
        modexPalSave(&gvar.video.palette);\r
        modexSavePalFile("data/g.pal", &gvar.video.palette);\r
-       modexPalBlack();        //so gvar.player will not see loadings~\r
+       modexPalBlack();        //so player will not see loadings~\r
 #endif\r
 \r
        // setup camera and screen~\r
-       modexHiganbanaPageSetup(&gvar.video);\r
+       modexHiganbanaPageSetup(&gvar);\r
        ZC_MVSetup(&gvar.mv, &map, &gvar);\r
 \r
+#ifdef FADE\r
+       modexFadeOn(4, &gvar.video.palette);\r
+#endif\r
+\r
+       IN_StartAck (&gvar);\r
+       MM_ShowMemory(&gvar);\r
+       while (!IN_CheckAck (&gvar)){}\r
+#ifdef FADE\r
+       modexPalBlack();        //so player will not see loadings~\r
+#endif\r
+\r
        // set up paging\r
        //TODO: LOAD map data and position the map in the middle of the screen if smaller then screen\r
        mapGoTo(&gvar.mv, 0, 0);\r
@@ -133,7 +140,7 @@ void main(int argc, char *argv[])
 #ifdef FADE\r
                modexFadeOff(4, &gvar.video.palette);\r
 #endif\r
-               Quit(&gvar, "Wrong ID for sprite");\r
+               Quit (&gvar, "Wrong ID for sprite");\r
 #ifdef FADE\r
                modexFadeOn(4, &gvar.video.dpal);\r
 #endif\r
@@ -142,6 +149,7 @@ void main(int argc, char *argv[])
 //     while(!gvar.in.inst->Keyboard[sc_Escape) && !gvar.in.inst->Keyboard[sc_Space) && !gvar.in.inst->Keyboard[sc_Enter]){ FUNCTIONKEYSHOWMV }\r
        gvar.video.page[0].tlx=gvar.mv[0].tx*TILEWH;\r
        gvar.video.page[0].tly=gvar.mv[0].ty*TILEWH;\r
+\r
        shinku(&gvar);\r
 //modexpdump(gvar.mv[0].page);\r
 #ifdef FADE\r
@@ -180,8 +188,8 @@ void main(int argc, char *argv[])
                if(gvar.player[0].enti.q == (TILEWH/(gvar.player[0].enti.speed))+1 && gvar.player[0].info.dir != 2 && (gvar.player[0].enti.triggerx == 5 && gvar.player[0].enti.triggery == 5)){ gvar.player[0].enti.hp--; }\r
                //debugging binds!\r
 \r
-               if(gvar.in.inst->Keyboard[24]){ modexPalUpdate0(&gvar.video.palette); /*paloffset=0;*/ modexpdump(gvar.mv[0].page); IN_UserInput(1, &gvar); } //o\r
-               if(gvar.in.inst->Keyboard[22]){ modexPalUpdate0(&gvar.video.palette); } //u\r
+               if(gvar.in.inst->Keyboard[24]){ VL_modexPalScramble(&gvar.video.palette); /*paloffset=0;*/ modexpdump(gvar.mv[0].page); IN_UserInput(1, &gvar); } //o\r
+               if(gvar.in.inst->Keyboard[22]){ VL_modexPalScramble(&gvar.video.palette); } //u\r
 \r
                TAIL_FUNCTIONKEYFUNCTIONS\r
                TAIL_FUNCTIONKEYDRAWJUNK\r
@@ -190,26 +198,30 @@ void main(int argc, char *argv[])
                {\r
                        if(gvar.in.inst->Keyboard[sc_J])\r
                        {\r
-                               bakapee1=FILENAME_1;\r
-                               bakapee1p=FILENAME_1P;\r
+//                             bakapee1=FILENAME_1;\r
+//                             bakapee1p=FILENAME_1P;\r
+                               strcpy(bakapee1, FILENAME_1);\r
+                               strcpy(bakapee1p, FILENAME_1P);\r
                                gvar.player[0].enti.overdraww=0;\r
                        }\r
                        if(gvar.in.inst->Keyboard[sc_K])\r
                        {\r
-                               bakapee1=FILENAME_2;\r
-                               bakapee1p=FILENAME_2P;\r
+//                             bakapee1=FILENAME_2;\r
+//                             bakapee1p=FILENAME_2P;\r
+                               strcpy(bakapee1, FILENAME_2);\r
+                               strcpy(bakapee1p, FILENAME_2P);\r
                                gvar.player[0].enti.overdraww=2;\r
                        }\r
                        //read_vrs(&gvar, bakapee1, gvar.player[0].enti.spri->spritesheet);\r
                        VRS_ReadVRS(bakapee1, &gvar.player[0].enti, &gvar);\r
-                       VL_LoadPalFile(bakapee1p, &gvar.video.palette);\r
+                       VL_LoadPalFile(bakapee1p, &gvar.video.palette, &gvar);\r
                }//JK\r
 #ifdef FADE\r
                if(gvar.in.inst->Keyboard[10]){ modexPalOverscan(rand()%56); modexPalUpdate(gvar.video.dpal); IN_UserInput(1, &gvar); }\r
 #endif\r
                if(gvar.in.inst->Keyboard[sc_R]){ modexPalOverscan(rand()%56); } //r\r
 \r
-               if((gvar.player[0].enti.q==1) && !(gvar.player[0].enti.x%TILEWH==0 && gvar.player[0].enti.y%TILEWH==0)) Quit(&gvar, "PLAYER OFF THE RAILS!");//break;   //incase things go out of sync!\r
+               if((gvar.player[0].enti.q==1) && !(gvar.player[0].enti.x%TILEWH==0 && gvar.player[0].enti.y%TILEWH==0)) Quit (&gvar, "PLAYER OFF THE RAILS!");//break;  //incase things go out of sync!\r
        }\r
 \r
        /* fade back to text mode */\r