Example #1
0
void _initDynamicLight(light *lght) {
	if (lght->fov) {
		TCOD_map_delete(lght->fov);
	} else {
		printf("Trying to init a light with no existing fov.\n");
	}
	
	if (lght->lightMap) {
		TCOD_map_delete(lght->lightMap);
	} else {
		printf("Trying to init a light with no existing light map.\n");
	}
	
	lght->fov = copyLevelMap();
	lght->lightMap = copyLevelMap();
	
	TCOD_map_compute_fov(lght->fov, lght->x, lght->y, lght->size, 1, FOV_SHADOW);
}
Example #2
0
void lightsShutdown() {
	light *next, *ptr = DYNAMIC_LIGHTS;
	
	printf("Cleaning up lights...\n");
	
	while (ptr != NULL) {
		next = ptr->next;
		
		TCOD_map_delete(ptr->fov);
		
		if (ptr->lightMap) {
			TCOD_map_delete(ptr->lightMap);
		}
		
		free(ptr);
		
		ptr = next;
	}
}
Example #3
0
void map_destroy()
{
	for (int i = 0; i < ITEM_COUNT; ++i)
	{
		point_node *node = items[i];
		while (node != NULL) {
			point_node *next = node->next;
			free(node);
			node = next;
		}
	}

	TCOD_map_delete(tcod_map);
}
Example #4
0
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);
}
Example #5
0
File: map.c Project: jdp/psionrl
/* Destroys a map instance */
void map_destroy(map_t* map) {
    free(map->tiles);
    TCOD_map_delete(map->fov);
    free(map);
}
Example #6
0
TCODMap::~TCODMap() {
	TCOD_map_delete(data);
}