]> 4ch.mooo.com Git - 16.git/commitdiff
hmmm layers in map_t ....
authorsparky4 <sparky4@cock.li>
Tue, 14 Feb 2017 22:33:03 +0000 (16:33 -0600)
committersparky4 <sparky4@cock.li>
Tue, 14 Feb 2017 22:33:03 +0000 (16:33 -0600)
src/lib/16_map.c
src/lib/16_tdef.h
src/lib/16_vl.c
src/lib/scroll16.c

index 37179ab76d120cb44ecc0952fe6bc3bdf9e2ea1a..a304ca2d7d804a02f70edf40ffa771793fca917e 100755 (executable)
@@ -257,7 +257,7 @@ void extract_map(const char *js, jsmntok_t *t, size_t count, map_t *map) {
        while(i<count) {\r
                if(jsoneq(js, &(t[i]), "layers") == 0) {\r
                        i++;\r
-                       //map->layerdata = malloc(sizeof(byte*) * t[i].size);\r
+//                     map->layerdata = malloc(sizeof(byte*) * t[i].size);\r
                        inner_end = t[i].end;\r
                        k = 0;\r
                        while(t[i].start < inner_end) {\r
@@ -268,11 +268,11 @@ void extract_map(const char *js, jsmntok_t *t, size_t count, map_t *map) {
 #ifdef DEBUG_MAPDATA\r
                                        printf("Layer %d data: [\n", k);\r
 #endif\r
-                                       map->MAPDATAPTK = malloc(sizeof(byte) * t[i+1].size);\r
+                                       map->layerdata[k] = malloc(sizeof(byte) * t[i+1].size);\r
                                        //for backwards compatibility for rest of code\r
-//                                     map->data = map->MAPDATAPTK;\r
+                                       map->data = map->layerdata[k];\r
                                        for(j = 0; j < t[i+1].size; j++) {\r
-                                               map->MAPDATAPTK[j] = (byte)atoi(js + t[i+2+j].start);\r
+                                               map->layerdata[k][j] = (byte)atoi(js + t[i+2+j].start);\r
 #ifdef DEBUG_MAPDATA\r
                                                //printf("[%d,%d]%d", k, j, map->MAPDATAPTK[j]);\r
                                                fprintf(stdout, "%c", map->data[j]+44);\r
index d1220d54c67826e1af1020a116b95e934f10ab2a..4c33811194611fd21df66a65048d4da5a7385eaa 100755 (executable)
@@ -93,11 +93,11 @@ typedef struct {
 typedef struct {\r
        //long          planestart[3];\r
        //unsigned      planelength[3];\r
-#ifndef __NEWMAPTILEDATAVARS__\r
        byte *data;                     //TODO: 16_mm and 16_ca must handle this\r
+       byte far *layerdata[MAPLAYERS]; // mapdata for multilayer (map index values for rendering which image on the tile)\r
+#ifndef __NEWMAPTILEDATAVARS__\r
        tiles_t *tiles;         //TODO: 16_mm and 16_ca must handle this\r
 #else\r
-       byte far *layerdata[MAPLAYERS]; // mapdata for multilayer (map index values for rendering which image on the tile)\r
        tiles_t far *layertile[MAPLAYERS];      // tilesets for layers (currently ony 4 can be loaded wwww)\r
 #endif\r
        int width, height;              //this has to be signed!\r
index 2141dbc3c866be5f15c8d4520167da75b4b88810..0ad3d270a24dbd8bcd074c217454dabe0ebe03d6 100755 (executable)
@@ -862,7 +862,7 @@ void modexDrawChar(page_t *page, int x/*for planar selection only*/, word t, wor
 void modexprint(page_t *page, sword x, sword y, word t, 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
@@ -870,7 +870,7 @@ void modexprint(page_t *page, sword x, sword y, word t, word col, word bgcol, co
 \r
        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
index e421fd915ab56f32dc030e8470dcd9250226238d..4f310f3a7d0e83764c762207aebb2ebfa4aefc0c 100755 (executable)
@@ -563,8 +563,7 @@ void ZC_mapredraw(map_view_t *mv, int tx, int ty)
 void near\r
 mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y)\r
 {\r
-       word rx;\r
-       word ry;\r
+       word rx, ry;\r
        //word textx=0, texty=0;\r
        //if(i==0) i=2;\r
        switch(i)\r
@@ -576,9 +575,10 @@ mapDrawTile(tiles_t *t, word i, page_t *page, word x, word y)
                default:\r
                        rx = (((i-1) % ((t->pcximg->width)/t->tileWidth)) * t->tileWidth);\r
                        ry = (((i-1) / ((t->pcximg->height)/t->tileHeight)) * t->tileHeight);\r
-////0000printf("i=%d\n", i);\r
+////0000       printf("i=%d\n", i);\r
 #ifndef TILERENDER\r
                        if(!pagenorendermap) modexClearRegion(page, x, y, t->tileWidth, t->tileHeight, i+1);\r
+                       //sprintf(global_temp_status_text2, "%c", i); modexprint(page, x+3, y-1, 1, 1, 2, global_temp_status_text2);\r
 #else\r
                        modexDrawBmpRegion              (page, x, y, rx, ry, t->tileWidth, t->tileHeight, i);\r
                        //draw_vrl1_vgax_modex(x-rx,y-ry,vrl_header,vrl_lineoffs,buffer+sizeof(*vrl_header),bufsz-sizeof(*vrl_header));\r