/* * Copyright (C) 2002-2007 The Warp Rogue Team * Part of the Warp Rogue Project * * This software is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License. * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY. * * See the license.txt file for more details. */ /* * Module Name: Terrain * Description: - */ /* * static terrain data */ typedef struct { char name[TERRAIN_NAME_SIZE]; SYMBOL symbol; DYNAMIC_COLOUR colour; char description[DESCRIPTION_SIZE]; bool attribute[MAX_TERRAIN_ATTRIBUTES]; } TERRAIN_DATA; void terrain_init(void); void terrain_clean_up(void); TERRAIN_DATA * terrain_box_new_terrain(void); void terrain_box_optimize(void); void * terrain_new(void); void terrain_free(void *); TERRAIN * terrain_create(const char *); TERRAIN * terrain_create_i(TERRAIN_INDEX); void terrain_destroy(void *); TERRAIN * terrain_clone(const TERRAIN *); void terrain_screen(const TERRAIN *); void terrain_attribute_screen(TERRAIN_ATTRIBUTE); const TERRAIN_DATA * terrain_static_data(const TERRAIN *); bool terrain_has_attribute(const TERRAIN *, TERRAIN_ATTRIBUTE ); const char * terrain_attribute_name(TERRAIN_ATTRIBUTE); char * terrain_attribute_description(char *, TERRAIN_ATTRIBUTE ); void terrain_cause_disease(CHARACTER *); bool terrain_dangerous_for(const CHARACTER *, const TERRAIN * ); TERRAIN_ATTRIBUTE name_to_terrain_attribute(const char *);