Exemplo n.º 1
0
/* 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);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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);
}
Exemplo n.º 5
0
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);
}
Exemplo n.º 6
0
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);
}
Exemplo n.º 9
0
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);
}
Exemplo n.º 10
0
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);
}