]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_vl.c
16_ca needs huge amounts of work and I should remember what needs to be done soon...
[16.git] / src / lib / 16_vl.c
index ec88898e735970468bd45af832103957a6706f85..1f5754d9c2edcca74ddca917b6900ccf7df8e781 100755 (executable)
@@ -545,6 +545,9 @@ void modexHiganbanaPageSetup(global_game_variables_t *gvar)
                gvar->video.page[1].dx=gvar->video.page[1].dy=TILEWH;   // 1 tile size buffer\r
        gvar->video.page[2].dx=gvar->video.page[2].dy=\r
                gvar->video.page[3].dx=gvar->video.page[3].dy=0;                // cache pages are buffer wwww\r
+\r
+       gvar->video.page[0].tlx=gvar->mv[0].tx*TILEWH;\r
+       gvar->video.page[0].tly=gvar->mv[0].ty*TILEWH;\r
 }\r
 \r
 //\r
@@ -916,6 +919,8 @@ modexLoadPalFile(byte *filename, byte *palette) {
        fclose(file);\r
 }\r
 \r
+#define COREPALSIZE 9//27      //3*9\r
+\r
 void VLL_LoadPalFilewithoffset(const char *filename, byte *palette, word o, word palsize, global_game_variables_t *gvar)\r
 {\r
        int fd;\r
@@ -923,36 +928,36 @@ void VLL_LoadPalFilewithoffset(const char *filename, byte *palette, word o, word
 \r
        fd = open(filename,O_RDONLY|O_BINARY);\r
        if (fd >= 0) {\r
-               read(fd,palette,        palsize);\r
+               read(fd,palette,        palsize*3);\r
                close(fd);\r
 \r
-               if(palsize==27) newpalette = palette; else{     //if core then load it\r
+               if(palsize==COREPALSIZE) newpalette = palette; else{    //if core then load it\r
                newpalette = &palette[3];                       //skip overscan color\r
                if(!o) o++;\r
                }\r
-               VL_UpdatePaletteWrite(newpalette, o, gvar);\r
+               VL_UpdatePaletteWrite(newpalette, o, palsize, gvar);\r
        }\r
 }\r
 \r
 void VL_LoadPalFile(const char *filename, byte *palette, global_game_variables_t *gvar)\r
 {\r
        VLL_LoadPalFilewithoffset(filename, palette,\r
-               0,      //overwrite core/system palette\r
-//             9,      //preserved core/system palette\r
-               PAL_SIZE, gvar);\r
+               0,                      //overwrite core/system palette\r
+//             COREPALSIZE,    //preserved core/system palette\r
+               PAL_SIZE/3, gvar);\r
 }\r
 \r
 void VL_LoadPalFileCore(byte *palette, global_game_variables_t *gvar)\r
 {\r
-       VLL_LoadPalFilewithoffset("data/16.pal", palette, 0, 27, gvar);\r
+       VLL_LoadPalFilewithoffset("data/16.pal", palette, 0, COREPALSIZE, gvar);\r
 }\r
 \r
-void VL_UpdatePaletteWrite(byte *palette, word o, global_game_variables_t *gvar)\r
+void VL_UpdatePaletteWrite(byte *palette, word o, word p, global_game_variables_t *gvar)\r
 {\r
        word i;\r
 \r
        vga_palette_lseek(o);\r
-       for (i=0;i < 255-o;i++)\r
+       for (i=0;i < p-o;i++)\r
                vga_palette_write(palette[(i*3)+0]>>2,palette[(i*3)+1]>>2,palette[(i*3)+2]>>2);\r
 \r
        VL_PaletteSync(gvar);\r