/* Project 16 Source Code~\r
- * Copyright (C) 2012-2017 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
+ * Copyright (C) 2012-2021 sparky4 & pngwen & andrius4669 & joncampbell123 & yakui-lover\r
*\r
* This file is part of Project 16.\r
*\r
*\r
*/\r
\r
+//TODO USE CA AND THIS FILE FORMAT\r
+\r
#include "src/lib/16_map.h"\r
+//#define JSMN_STATIC\r
+#include "src/lib/jsmn/jsmn.h"\r
+#include <malloc.h>\r
\r
// Ideally, preprocess json during compilation and read serialized data\r
\r
return -1;\r
}\r
\r
+//TODO: WORK ON THIS LIKE CRAZY! --sparky4\r
+//FIXME: please FIX THIS AND USE CA! --sparky4\r
void extract_map(const char *js, jsmntok_t *t, size_t count, map_t *map) {\r
int i, j, k, indent=0, inner_end;\r
char *s;\r
else if(status != tokcount) { printf("Warning: used %d tok\n", status);}\r
extract_map(js, tok, tokcount, map);\r
\r
- free(js);\r
- free(tok);\r
- fclose(fh);\r
+ free(js); //TODO: USE MM_ CA_ AND PM_\r
+ free(tok); //TODO: USE MM_ CA_ AND PM_\r
+ fclose(fh); //TODO: USE MM_ CA_ AND PM_\r
\r
return 0;\r
}\r
//======\r
\r
\r
-#define MAPBUFINLM *(gvar->ca.mapsegs)\r
int CA_loadmap(char *mn, map_t *map, global_game_variables_t *gvar)\r
{\r
jsmn_parser p;\r
jsmn_init(&p);\r
\r
file_s = filesize(fh);\r
- CA_LoadFile(mn, &MAPBUFINLM, gvar);\r
- tokcount = jsmn_parse(&p, MAPBUFINLM, file_s, NULL, 0);\r
- tok = malloc(tokcount*sizeof(jsmntok_t));\r
+ CA_LoadFile(mn, MEMPTRCONV MAPSEGINLM, gvar);\r
+ tokcount = jsmn_parse(&p, (char const *)MAPSEGINLM, file_s, NULL, 0);\r
+ tok = malloc(tokcount*sizeof(jsmntok_t));//TODO: USE MM_ CA_ AND PM_\r
// printf("Allocated %d tokens", tokcount);\r
jsmn_init(&p);\r
- if((status = jsmn_parse(&p, MAPBUFINLM, file_s, tok, tokcount)) < 0)\r
+ if((status = jsmn_parse(&p, (char const *)MAPSEGINLM, file_s, tok, tokcount)) < 0)\r
{\r
printf("Error: %d\n", status);\r
return status;\r
}\r
else if(status != tokcount) { printf("Warning: used %d tok\n", status);}\r
- extract_map(MAPBUFINLM, tok, tokcount, map);\r
+ extract_map((char const *)MAPSEGINLM, tok, tokcount, map);\r
\r
- free(tok);\r
- fclose(fh);\r
+// printf("freeing tok\n");\r
+ free(tok); //TODO: USE MM_ CA_ AND PM_\r
+// printf("fclose fh\n");\r
+ fclose(fh); //TODO: USE MM_ CA_ AND PM_\r
\r
return 0;\r
}\r