]> 4ch.mooo.com Git - 16.git/blobdiff - src/vrstest.c
quit works with input system now
[16.git] / src / vrstest.c
index be88d7ae7291ca8feaa97eafd9b6debed8c0c3a0..11bfc670cfd023b950912fee976d5a6aa0125ff4 100755 (executable)
  *
  */
 
-#include <stdio.h>
-#include <dos.h>
-#include <string.h>
 #include "src/lib/modex16.h"
 #include "src/lib/16_sprit.h"
 #include "src/lib/16_ca.h"
 #include "src/lib/16_mm.h"
 
-global_game_variables_t gvar;
-
 void main() {
-       mminfo_t mm; mminfotype mmi;
+       global_game_variables_t gvar;
        __segment sega;
-       void __based(sega)* bigbuffer;
+       memptr bigbuffer;
        int i;
        word start;
        int plane;
        float t1, t2;
        boolean baka;
        byte *pal;
-       int fd, size, size1;
+       int size, size1;
        struct sprite spri;
        vrl1_vgax_offset_t * off, *off1;
        struct vrs_container vrs;
@@ -51,11 +46,8 @@ void main() {
        int num_of_vrl;
        struct vrl1_vgax_header huge *curr_vrl;
        struct vrl_container *vrl;
-       int success;
        word w=0;
 
-
-
        // DOSLIB: check our environment
        probe_dos();
 
@@ -77,17 +69,15 @@ void main() {
                return;
        }
 
-       //bmp = bitmapLoadPcx("data/chikyuu.pcx");
-       gvar.video.page[0]=modexDefaultPage(&gvar.video.page[0]);
+       //gvar.video.page[0]=modexDefaultPage(&gvar.video.page[0]);
 
-       mm.mmstarted=0;
-       MM_Startup(&mm, &mmi);
+       gvar.mm.mmstarted=0;
+       MM_Startup(&gvar.mm, &gvar.mmi);
        CA_Startup(&gvar);
-       if(CA_LoadFile("data/spri/chikyuu.vrs", &bigbuffer, &mm, &mmi)) baka=1; else baka=0;
-//     fd = open("data/spri/chikyuu.vrs", O_RDONLY|O_BINARY);
-//     size = lseek(fd, 0, SEEK_END);
-//     lseek(fd, 0, SEEK_SET);
-//     close(fd);
+       // What should be done by read_vrs:
+       //sega = (mm.bufferseg);
+       if(CA_LoadFile("data/spri/chikyuu.vrs", &bigbuffer, &gvar)) baka=1; else baka=0;
+
        // Insert sanity cheks later
        vrs.buffer = bigbuffer;
        vrs.data_size = size - sizeof(struct vrl1_vgax_header);
@@ -117,6 +107,7 @@ void main() {
        }
        vrs.vrl_line_offsets = vrl_line_offsets;
 
+
        //read_vrs(&gvar, "data/spri/chikyuu.vrs", &vrs);
        spri.spritesheet = &vrs;
        spri.sprite_vrl_cont = malloc(sizeof(struct vrl_container));
@@ -129,12 +120,12 @@ void main() {
        spri.y = 100;
 
 //     Uncomment to see broken sprites
-       //if(CA_ReadFile("data/spri/CHUBACW1.vrl", &bigbuffer, &mm)) baka=1; else baka=0;
-       //if(CA_LoadFile("data/spri/CHUBACW1.vrl", &bbuffer, &mm, &mmi)) baka=1; else baka=0;
+/*     sega = mm.bufferseg;
+       if(CA_LoadFile("data/spri/CHUBACW1.vrl", &bigbuffer, &mm, &mmi)) baka=1; else baka=0;*/
 
        /* clear and draw one sprite and one bitmap */
        VGAmodeX(1, 1, &gvar);
-       modexClearRegion(&gvar.video.page[0], 0, 0, gvar.video.page[0].sw, gvar.video.page[0].sh, 1);
+       modexHiganbanaPageSetup(&gvar.video);
 
        /* non sprite comparison */
        start = *clockw;
@@ -146,7 +137,7 @@ void main() {
        t2 = (*clockw-start)/18.2;
 
        for (i = 0; i < 5; i++){
-       spri.delay = 1; animate_spri(&spri); spri.x += 20; sleep(2); }
+       spri.delay = 1; animate_spri(&spri); spri.x += 20; sleep(1); }
 
        while(!kbhit())
        {
@@ -161,13 +152,18 @@ void main() {
                }
        }
        VGAmodeX(0, 1, &gvar);
+       MM_ShowMemory(&gvar, &gvar.mm);
+       MM_DumpData(&gvar.mm);
        free(spri.sprite_vrl_cont);
-       MM_FreePtr(&bigbuffer, &mm);
+       MM_FreePtr(&bigbuffer, &gvar.mm);
        //MM_FreePtr(&((void __based(sega)*)spri.spritesheet->buffer), &mm);
-       MM_Shutdown(&mm);
        CA_Shutdown(&gvar);
+       MM_Shutdown(&gvar.mm);
        //printf("CPU to VGA: %f\n", t1);
        //printf("VGA to VGA: %f\n", t2);
+       heapdump(&gvar);
+       printf("Project 16 vrstest.exe. This is just a test file!\n");
+       printf("version %s\n", VERSION);
        printf("t1: %f\n", t1);
        printf("t2: %f\n", t2);
        printf("gvar.video.page[0].width: %u\n", gvar.video.page[0].width);