/* delete a Dijkstra object */ void TCOD_dijkstra_delete (TCOD_dijkstra_t dijkstra) { dijkstra_t * data = (dijkstra_t*)dijkstra; TCOD_IFNOT(data != NULL) return; if ( data->distances ) free(data->distances); if ( data->nodes ) free(data->nodes); if ( data->path ) TCOD_list_clear_and_delete(data->path); free(data); }
void loader_load_save(Loader l, char *saveName) { char *fileName = makeRsrcPath(l, saveName, "save"); TCOD_list_t evts = TCOD_parser_run_stax(l->saveParser, fileName); savelistener_handle_events(l->saveListener, evts); TCOD_list_clear_and_delete(evts); free(fileName); }
void loader_load_object(Loader l, char *objType) { char *fileName = makeRsrcPath(l, objType, "obj"); TCOD_list_t evts = TCOD_parser_run_stax(l->objectParser, fileName); objectlistener_handle_events(l->objectListener, evts); TCOD_list_clear_and_delete(evts); free(fileName); }
void loader_load_status(Loader l, char *name) { char *fileName = makeRsrcPath(l, name, "status"); TCOD_list_t evts = TCOD_parser_run_stax(l->statusParser, fileName); statuslistener_handle_events(l->statusListener, evts); TCOD_list_clear_and_delete(evts); free(fileName); }
void loader_load_map(Loader l, char *mapName) { char *fileName = makeRsrcPath(l, mapName, "map"); TCOD_list_t evts = TCOD_parser_run_stax(l->mapParser, fileName); maplistener_handle_events(l->mapListener, evts); TCOD_list_clear_and_delete(evts); free(fileName); }
void loader_load_config(Loader l, char *configName) { char *fileName = makeRsrcPath(l, configName, "config"); TCOD_list_t evts = TCOD_parser_run_stax(l->configParser, fileName); configlistener_handle_events(l->configListener, evts); TCOD_list_clear_and_delete(evts); free(fileName); }
/* destroy a generator */ void namegen_generator_delete (namegen_t * generator) { namegen_t * data = generator; free(data->name); data->random = NULL; TCOD_list_clear_and_delete(data->vocals); TCOD_list_clear_and_delete(data->consonants); TCOD_list_clear_and_delete(data->syllables_pre); TCOD_list_clear_and_delete(data->syllables_start); TCOD_list_clear_and_delete(data->syllables_middle); TCOD_list_clear_and_delete(data->syllables_end); TCOD_list_clear_and_delete(data->syllables_post); TCOD_list_clear_and_delete(data->illegal_strings); TCOD_list_clear_and_delete(data->rules); free(data); }
/* delete all the generators */ void TCOD_namegen_destroy (void) { /* delete all generators */ namegen_t ** it; for (it = (namegen_t**)TCOD_list_begin(namegen_generators_list); it < (namegen_t**)TCOD_list_end(namegen_generators_list); it++) namegen_generator_delete(*it); /* clear the generators list */ TCOD_list_clear(namegen_generators_list); /* get rid of the parsed files list */ TCOD_list_clear_and_delete(parsed_files); }
void structrecord_free(StructRecord sr) { free(sr->type); if(sr->name) { free(sr->name); } TCOD_list_clear_and_delete(sr->flags); TS_LIST_CLEAR_AND_DELETE(sr->props, prop); TS_LIST_CLEAR_AND_DELETE(sr->children, structrecord); sr->parent = NULL; free(sr); }
void loader_free(Loader l) { LOADER_DICT_FREE(l->maps, map_free); LOADER_DICT_FREE(l->statuses, status_free); TCOD_parser_delete(l->configParser); TCOD_parser_delete(l->statusParser); TCOD_parser_delete(l->objectParser); TCOD_parser_delete(l->mapParser); TCOD_parser_delete(l->saveParser); configlistener_free(l->configListener); statuslistener_free(l->statusListener); objectlistener_free(l->objectListener); maplistener_free(l->mapListener); maplistener_free(l->saveListener); TCOD_list_clear_and_delete(l->moveFlags); flagschema_free(l->triggerSchema); }