]> 4ch.mooo.com Git - 16.git/commitdiff
modified: makefile
authorsparky4 <sparky4@cock.li>
Tue, 24 Mar 2015 15:41:11 +0000 (10:41 -0500)
committersparky4 <sparky4@cock.li>
Tue, 24 Mar 2015 15:41:11 +0000 (10:41 -0500)
new file:   maptest.exe
modified:   scroll.exe
modified:   src/lib/mapread.c
modified:   src/lib/mapread.h
new file:   src/maptest.c
modified:   src/scroll.c

makefile
maptest.exe [new file with mode: 0644]
scroll.exe
src/lib/mapread.c
src/lib/mapread.h
src/maptest.c [new file with mode: 0644]
src/scroll.c

index d7b11d7e629f664addc48f0f31f40c4845f8802a..44cb0d39f1a9cbe30255b41e81b38a69e42b3c40 100644 (file)
--- a/makefile
+++ b/makefile
@@ -1,7 +1,7 @@
 FLAGS=-0 -d2 \r
 SRC=src\\r
 SRCLIB=$(SRC)lib\\r
-all: test.exe pcxtest.exe test2.exe scroll.exe\r
+all: test.exe pcxtest.exe test2.exe maptest.exe scroll.exe\r
 \r
 scroll.exe: scroll.obj modex16.obj dos_kb.obj bitmap.obj mapread.obj jsmn.obj\r
        wcl $(FLAGS) scroll.obj modex16.obj dos_kb.obj bitmap.obj mapread.obj jsmn.obj 16\lib\x\modex.lib\r
@@ -16,6 +16,9 @@ test2.exe: test2.obj modex16.obj bitmap.obj planar.obj
 pcxtest.exe: pcxtest.obj modex16.obj bitmap.obj\r
        wcl $(FLAGS) pcxtest.obj modex16.obj bitmap.obj\r
 \r
+maptest.exe: maptest.obj mapread.obj jsmn.obj\r
+        wcl $(FLAGS) maptest.obj jsmn.obj\r
+\r
 test.obj: $(SRC)test.c $(SRCLIB)modex16.h\r
        wcl $(FLAGS) -c $(SRC)test.c\r
        \r
@@ -25,6 +28,9 @@ test2.obj: $(SRC)test2.c $(SRCLIB)modex16.h
 pcxtest.obj: $(SRC)pcxtest.c $(SRCLIB)modex16.h\r
        wcl $(FLAGS) -c $(SRC)pcxtest.c\r
 \r
+maptest.obj: $(SRC)maptest.c $(SRCLIB)mapread.h\r
+        wcl $(FLAGS) -c $(SRC)maptest.c\r
+\r
 modex16.obj: $(SRCLIB)modex16.h $(SRCLIB)modex16.c\r
        wcl $(FLAGS) -c $(SRCLIB)modex16.c\r
 \r
diff --git a/maptest.exe b/maptest.exe
new file mode 100644 (file)
index 0000000..996e0fd
Binary files /dev/null and b/maptest.exe differ
index 5d0ed08c4eb28a47c7bec552110769631e7c2be7..2b1044d3817e24f60d7a09cb86669403e3a59e87 100644 (file)
Binary files a/scroll.exe and b/scroll.exe differ
index 432a0cc69b655721916faee8ffeecfced192c33e..ed8ca99f70a3203d2bea037499705af9394e6b1a 100644 (file)
@@ -9,7 +9,7 @@ static int jsoneq(const char *json, jsmntok_t *tok, const char *s) {
 }
 
 //this function is quite messy ^^; sorry! it is a quick and dirty fix~
-static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *js_sv,*/ map_t *map, int q/*, int w*/) {
+static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *js_sv,*/ map_t *map, int q/*, int *w*/) {
        int i, j, k;
        if (count == 0) {
                return 0;
@@ -26,13 +26,10 @@ static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *
 
                                FUCK well i am stuck.... wwww
                        */
-                       //dump(js, t+1, count, indent, map, i);
-                       
                        //bgdata[q] = strtol(js+t->start, (char **)js+t->end, 10);
-                       //if(strtol(js+t->start, (char **)js+t->end, 10)==0){ /*printf("%d\n", sizeof(map->tiles->data->data));*/ /*fprintf(stderr, "\nFACK! %d\n", errno);*/ return 1; /*exit(-1); */}
-                       map->tiles->data->data[q] = (byte)strtol(js+t->start, (char **)js+t->end, 10);
-                       printf("%d[%d]", q, map->tiles->data->data[q]);
-                       //printf("%d[%d]", q, bgdata[q]);
+                       //if(strtol(js+t->start, (char **)js+t->end, 10)==0){ /*printf("%d\n", sizeof(map->tiles->data->data));*/ fprintf(stderr, "\nFACK! %d\n", errno); exit(-1); }
+//                     map->tiles->data->data[q] = (byte)strtol(js+t->start, (char **)js+t->end, 10);
+//                     printf("%d[%d]", q, (byte)strtol(js+t->start, (char **)js+t->end, 10));
                }
                else
                if(js_sv == "height")
@@ -51,8 +48,14 @@ static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *
                //if(w)
                if(jsoneq(js, t, "data") == 0 )
                {
-                       //initMap(&map);
-                       //map->tiles->data->data = malloc((16*2)*16);
+//                     printf("[[[[%d|%d]]]]\n", &(t+1)->size, (t+1)->size);
+                       printf("\n%.*s[xx[%d|%d]xx]\n", (t+1)->end - (t+1)->start, js+(t+1)->start, &(t+1)->size, (t+1)->size);
+                       map->data = malloc(sizeof(byte) * (t+1)->size +1);
+                       map->tiles = malloc(sizeof(tiles_t));
+                       map->tiles->data = malloc(sizeof(bitmap_t));
+                       map->tiles->data->width = (16*2);
+                       map->tiles->data->height= 16;
+                       map->tiles->data->data = malloc((16*2)*16);
                        js_sv="data";//strdup(js+t->start);//, t->end - t->start);
                        //printf("%s\n", js_sv);
                }
@@ -82,11 +85,10 @@ static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *
                j = 0;
                //printf("==\n");
                for (i = 0; i < t->size; i++) {
-                       //printf("[[[[%d]]]]\n", t->size);
                        //if(bgdata==NULL) bgdata=malloc(sizeof(char)*t->size);
                        //for (k = 0; k < indent-1; k++) printf("\t");
                        //printf("\t-");
-                       j += dump(js, t+1+j, count-j, indent+1, map, i/*, t->size*/);
+                       j += dump(js, t+1+j, count-j, indent+1, map, i/*, &t->size*/);
                        //printf("==\n");
                }
                return j+1;
@@ -140,10 +142,13 @@ static int loadmap(char *mn, map_t *map/*, word w*/)
                        return 3;
                }
                strncpy(js + jslen, buf, r);
+//             printf("%s\n\n", js);
                jslen = jslen + r;
 
 again:
+               //printf("================================================================================%s================================================================================", js);
                r = jsmn_parse(&p, js, jslen, tok, tokcount);
+               //printf("================================================================================%s================================================================================", js);
                if (r < 0) {
                        if (r == JSMN_ERROR_NOMEM) {
                                tokcount = tokcount * 2;
@@ -155,23 +160,15 @@ again:
                                goto again;
                        }
                } else {
-                       dump(js, tok, p.toknext, 0, map, 0/*, w*/);
-                       //fprintf(stdout, "[[[[%d]]]]\n", sizeof(tok));
-                       //printf("[\n%d\n]", jslen);
+                       //printf("================================================================================%s================================================================================", js);
+                       dump(js, tok, p.toknext, 0, map, 0);
                        eof_expected = 1;
                }
        }
 
-       free(js);
-       free(tok);
+       //free(js);
+       //free(tok);
        fclose(fh);
 
        return 0;
 }
-
-/*int main()
-{
-       map_t map;
-       loadmap("../../../../data/test.map", &map);
-       return 0;
-}*/
index 8fb767977bec903e68611eb6085d58b317d088f5..7200172c2ee47c157deb2b85b3d28305a4fb639e 100644 (file)
@@ -26,7 +26,7 @@ typedef struct {
 } map_t;
 
 static int jsoneq(const char *json, jsmntok_t *tok, const char *s);
-static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *js_sv,*/ map_t *map, int q/*, int w*/);
+static int dump(const char *js, jsmntok_t *t, size_t count, int indent, /*char *js_sv,*/ map_t *map, int q/*, int *w*/);
 static int loadmap(char *mn, map_t *map/*, word w*/);
 
 #endif/*_LIBMAPREAD_H_*/
diff --git a/src/maptest.c b/src/maptest.c
new file mode 100644 (file)
index 0000000..e25c981
--- /dev/null
@@ -0,0 +1,8 @@
+#include "src/lib/mapread.c"\r
+\r
+int main()\r
+{\r
+       map_t map;\r
+       loadmap("data/test.map", &map);\r
+       return 0;\r
+}\r
index 024b21fa162bc65f0497ede984731207d2d567cc..2d3a1c671e4602ba5eb4a233477b5c4b0614f0d8 100644 (file)
@@ -119,7 +119,7 @@ void main() {
 \r
        /* create the map */
        loadmap("data/test.map", &map/*, 0*/);\r
-       map = allocMap(map.width,map.height); //20x15 is the resolution of the screen you can make maps smaller than 20x15 but the null space needs to be drawn properly
+       //map = allocMap(map.width,map.height); //20x15 is the resolution of the screen you can make maps smaller than 20x15 but the null space needs to be drawn properly
        //if(isEMS()) printf("%d tesuto\n", coretotalEMS());\r
        //++++
        initMap(&map);\r
@@ -608,19 +608,19 @@ initMap(map_t *map) {
        int i;\r
        int tile = 1;\r
        //if(!isEMS() || !checkEMS())\r
-               map->tiles = malloc(sizeof(tiles_t));\r
+//             map->tiles = malloc(sizeof(tiles_t));\r
        //else\r
        //      map->tiles = (tiles_t *)alloc_emem(sizeof(tiles_t));\r
 \r
        /* create the tile set */\r
        //if(!isEMS() || !checkEMS())\r
-               map->tiles->data = malloc(sizeof(bitmap_t));\r
+//             map->tiles->data = malloc(sizeof(bitmap_t));\r
        //else\r
        //      map->tiles->data = (bitmap_t *)alloc_emem(sizeof(bitmap_t));\r
-       map->tiles->data->width = (TILEWH*2);\r
-       map->tiles->data->height= TILEWH;\r
+//     map->tiles->data->width = (TILEWH*2);\r
+//     map->tiles->data->height= TILEWH;\r
        //if(!isEMS() || !checkEMS())\r
-               map->tiles->data->data = malloc((TILEWH*2)*TILEWH);\r
+//             map->tiles->data->data = malloc((TILEWH*2)*TILEWH);\r
        //else\r
        //      map->tiles->data->data = (byte *)alloc_emem((TILEWH*2)*TILEWH);\r
        map->tiles->tileHeight = TILEWH;\r