]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/16_vl.c
wwww update spir.zip
[16.git] / src / lib / 16_vl.c
index 881239de5501212185693d31c713e31631ed3a4f..2e5fa42e184eb9d6ed18da64adc0fc4a1abe8503 100755 (executable)
@@ -644,41 +644,39 @@ modexPalSave(byte *palette) {
 }\r
 \r
 \r
-byte *\r
+/*byte *\r
 modexNewPal() {\r
        byte *ptr;\r
-       ptr = malloc(PAL_SIZE);\r
+       ptr = m a l l o c(PAL_SIZE);\r
 \r
-       /* handle errors */\r
+       // handle errors\r
        if(!ptr) {\r
                printf("Could not allocate palette.\n");\r
        }\r
 \r
        return ptr;\r
-}\r
+}*/\r
 \r
 \r
 void\r
-modexLoadPalFile(byte *filename, byte **palette) {\r
+modexLoadPalFile(byte *filename, byte *palette) {\r
        FILE *file;\r
        byte *ptr;\r
 \r
-       /* free the palette if it exists */\r
-       if(*palette) {\r
-       free(*palette);\r
-       }\r
+       // free the palette if it exists\r
+       //if(*palette) { free(*palette); }\r
 \r
-       /* allocate the new palette */\r
-       *palette = modexNewPal();\r
+       // allocate the new palette\r
+       //*palette = modexNewPal();\r
 \r
-       /* open the file */\r
+       // open the file\r
        file = fopen(filename, "rb");\r
        if(!file) {\r
-       printf("Could not open palette file: %s\n", filename);\r
+               printf("Could not open palette file: %s\n", filename);\r
        }\r
 \r
        /* read the file */\r
-       ptr = *palette;\r
+       ptr = palette;\r
        while(!feof(file)) {\r
        *ptr++ = fgetc(file);\r
        }\r
@@ -689,18 +687,7 @@ modexLoadPalFile(byte *filename, byte **palette) {
 \r
 void VL_LoadPalFile(const char *filename, byte *palette)\r
 {\r
-       int fd;\r
-\r
-       fd = open(filename,O_RDONLY|O_BINARY);\r
-       if (fd >= 0) {\r
-               word i;\r
-\r
-               read(fd,palette,        PAL_SIZE);\r
-               close(fd);\r
-\r
-               vga_palette_lseek(0);\r
-               for (i=0;i < 256;i++) vga_palette_write(palette[(i*3)+0]>>2,palette[(i*3)+1]>>2,palette[(i*3)+2]>>2);\r
-       }\r
+       VL_LoadPalFilewithoffset(filename, palette, 0);\r
 }\r
 \r
 void VL_LoadPalFilewithoffset(const char *filename, byte *palette, word o)\r
@@ -709,16 +696,19 @@ void VL_LoadPalFilewithoffset(const char *filename, byte *palette, word o)
 \r
        fd = open(filename,O_RDONLY|O_BINARY);\r
        if (fd >= 0) {\r
-               word i;\r
-\r
                read(fd,palette,        PAL_SIZE);\r
                close(fd);\r
 \r
-               vga_palette_lseek(o);\r
-               for (i=o;i < 256-o;i++) vga_palette_write(palette[(i*3)+0]>>2,palette[(i*3)+1]>>2,palette[(i*3)+2]>>2);\r
+               VL_UpdatePaletteWrite(palette, o);\r
        }\r
 }\r
 \r
+void VL_UpdatePaletteWrite(byte *palette, word o)\r
+{\r
+       word i;\r
+       vga_palette_lseek(/*1+*/o);\r
+       for (i=o;i < 256-o;i++) vga_palette_write(palette[(i*3)+0]>>2,palette[(i*3)+1]>>2,palette[(i*3)+2]>>2);\r
+}\r
 \r
 void\r
 modexSavePalFile(char *filename, byte *pal) {\r
@@ -867,18 +857,18 @@ void modexDrawChar(page_t *page, int x/*for planar selection only*/, word t, wor
        }\r
 }\r
 \r
-void modexprint(page_t *page, sword x, sword y, word t, word col, word bgcol, const byte *str)\r
+void modexprint(page_t *page, sword x, sword y, word t, boolean tlsw, word col, word bgcol, const byte *str)\r
 {\r
        word s, o, w;\r
-       sword x_draw;\r
+       word x_draw;\r
        //word addr = (word) romFontsData.l;\r
        word addrq;\r
        word addrr;\r
        byte c;\r
 \r
-       x-=page->tlx; y-=page->tly;\r
+       if(tlsw){ x-=page->tlx; y-=page->tly; }\r
        x_draw = x/4;\r
-       addrq = (page->stridew) * y + (x_draw) +\r
+       addrq = (page->stridew) * y + (word)(x_draw) +\r
                ((word)page->data);\r
        addrr = addrq;\r
        s=romFonts[t].seg;\r
@@ -1010,8 +1000,8 @@ void modexpdump(page_t *pee)
        int palq=(mult)*TILEWH;\r
        int palcol=0;\r
        int palx, paly;\r
-       for(paly=0; paly<palq; paly+=mult){\r
-               for(palx=0; palx<palq; palx+=mult){\r
+       for(paly=TILEWH*8; paly<palq+TILEWH*8; paly+=mult){\r
+               for(palx=TILEWH*12; palx<palq+TILEWH*12; palx+=mult){\r
                                modexClearRegion(pee, palx+TILEWH, paly+TILEWH, mult, mult, palcol);\r
                        palcol++;\r
                }\r