X-Git-Url: http://4ch.mooo.com/gitweb/?p=16.git;a=blobdiff_plain;f=src%2Flib%2F16_map.c;h=33c27d1446fb98d81c362e15519466160c1bd331;hp=2616778109b6b2559e5ff25271e6c7cd049cf225;hb=def418b6ee7f06ce7229e6eae5dbfbe44e9b9e82;hpb=cccf74b8d5b618b293330755da222138dcf619cc diff --git a/src/lib/16_map.c b/src/lib/16_map.c index 26167781..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. * @@ -20,7 +20,12 @@ * */ +//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 @@ -32,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; @@ -202,9 +209,9 @@ int newloadmap(char *mn, map_t *map) { else if(status != tokcount) { printf("Warning: used %d tok\n", status);} extract_map(js, tok, tokcount, map); - free(js); - free(tok); - fclose(fh); + free(js); //TODO: USE MM_ CA_ AND PM_ + free(tok); //TODO: USE MM_ CA_ AND PM_ + fclose(fh); //TODO: USE MM_ CA_ AND PM_ return 0; } @@ -213,7 +220,6 @@ int newloadmap(char *mn, map_t *map) { //====== -#define MAPBUFINLM (gvar->ca.camap.mapsegs) int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar) { jsmn_parser p; @@ -227,21 +233,23 @@ int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar) jsmn_init(&p); file_s = filesize(fh); - CA_LoadFile(mn, &MAPBUFINLM, gvar); - tokcount = jsmn_parse(&p, MAPBUFINLM, file_s, NULL, 0); - tok = malloc(tokcount*sizeof(jsmntok_t)); + 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, 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(MAPBUFINLM, tok, tokcount, map); + extract_map((char const *)MAPSEGINLM, tok, tokcount, map); - free(tok); - fclose(fh); +// 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; }