X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=blobdiff_plain;f=src%2Flib%2F16_map.c;h=33c27d1446fb98d81c362e15519466160c1bd331;hp=88110d5e2a50f099704feda6236aeb690216e4a9;hb=def418b6ee7f06ce7229e6eae5dbfbe44e9b9e82;hpb=019ac69999b1893eb54aeebba85474318233ed4f diff --git a/src/lib/16_map.c b/src/lib/16_map.c index 88110d5e..33c27d14 100755 --- a/src/lib/16_map.c +++ b/src/lib/16_map.c @@ -1,5 +1,5 @@ /* Project 16 Source Code~ - * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover + * Copyright (C) 2012-2019 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover * * This file is part of Project 16. * @@ -23,6 +23,8 @@ //TODO USE CA AND THIS FILE FORMAT #include "src/lib/16_map.h" +//#define JSMN_STATIC +#include "src/lib/jsmn/jsmn.h" #include // Ideally, preprocess json during compilation and read serialized data @@ -35,6 +37,8 @@ int jsoneq(const char *json, jsmntok_t *tok, const char *s) { return -1; } +//TODO: WORK ON THIS LIKE CRAZY! --sparky4 +//FIXME: please FIX THIS AND USE CA! --sparky4 void extract_map(const char *js, jsmntok_t *t, size_t count, map_t *map) { int i, j, k, indent=0, inner_end; char *s; @@ -216,7 +220,6 @@ int newloadmap(char *mn, map_t *map) { //====== -#define MAPBUFINLM (gvar->ca.mapsegs[0]) int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar) { jsmn_parser p; @@ -230,20 +233,22 @@ int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar) jsmn_init(&p); file_s = filesize(fh); - CA_LoadFile(mn, (memptr *)&MAPBUFINLM, gvar); - tokcount = jsmn_parse(&p, (char const *)MAPBUFINLM, file_s, NULL, 0); + CA_LoadFile(mn, MEMPTRCONV MAPSEGINLM, gvar); + tokcount = jsmn_parse(&p, (char const *)MAPSEGINLM, file_s, NULL, 0); tok = malloc(tokcount*sizeof(jsmntok_t));//TODO: USE MM_ CA_ AND PM_ // printf("Allocated %d tokens", tokcount); jsmn_init(&p); - if((status = jsmn_parse(&p, (char const *)MAPBUFINLM, file_s, tok, tokcount)) < 0) + if((status = jsmn_parse(&p, (char const *)MAPSEGINLM, file_s, tok, tokcount)) < 0) { printf("Error: %d\n", status); return status; } else if(status != tokcount) { printf("Warning: used %d tok\n", status);} - extract_map((char const *)MAPBUFINLM, tok, tokcount, map); + extract_map((char const *)MAPSEGINLM, tok, tokcount, map); +// printf("freeing tok\n"); free(tok); //TODO: USE MM_ CA_ AND PM_ +// printf("fclose fh\n"); fclose(fh); //TODO: USE MM_ CA_ AND PM_ return 0;