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
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
\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