void _resetActorForNewLevel(character *actor) { if (actor->fov) { TCOD_map_delete(actor->fov); } actor->fov = copyLevelMap(); if (actor->path) { TCOD_path_delete(actor->path); } actor->path = TCOD_path_new_using_function(WINDOW_WIDTH, WINDOW_HEIGHT, _actorPathCallback, actor, 1.41f); if (actor->itemLight) { resetLight(actor->itemLight); } TCOD_map_compute_fov(actor->fov, actor->x, actor->y, actor->sightRange, 1, FOV_SHADOW); }
TCODPath::~TCODPath() { TCOD_path_delete(data); }