summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/terrain.h
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/terrain.h')
-rw-r--r--crawl-ref/source/terrain.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/crawl-ref/source/terrain.h b/crawl-ref/source/terrain.h
new file mode 100644
index 0000000000..d4acdb743c
--- /dev/null
+++ b/crawl-ref/source/terrain.h
@@ -0,0 +1,57 @@
+/*
+ * File: terrain.h
+ * Summary: Terrain related functions.
+ * Written by: Linley Henzell
+ *
+ * Modified for Crawl Reference by $Author: j-p-e-g $ on $Date: 2007-09-03 06:41:30 -0700 (Mon, 03 Sep 2007) $
+ *
+ * Change History (most recent first):
+ *
+ * <1> 9/11/07 MPC Split from misc.h
+ */
+
+#ifndef TERRAIN_H
+#define TERRAIN_H
+
+#include "enum.h"
+
+class coord_def;
+
+// last updated 12may2000 {dlb}
+/* ***********************************************************************
+ * called from: acr
+ * *********************************************************************** */
+bool fall_into_a_pool( int entry_x, int entry_y, bool allow_shift,
+ unsigned char terrain );
+
+
+bool grid_is_wall(dungeon_feature_type grid);
+bool grid_is_opaque(dungeon_feature_type grid);
+bool grid_is_solid(dungeon_feature_type grid);
+bool grid_is_stone_stair(dungeon_feature_type grid);
+bool grid_is_rock_stair(dungeon_feature_type grid);
+bool grid_is_solid(int x, int y);
+bool grid_is_solid(const coord_def &c);
+bool grid_is_trap(dungeon_feature_type grid);
+command_type grid_stair_direction(dungeon_feature_type grid);
+bool grid_sealable_portal(dungeon_feature_type grid);
+bool grid_is_portal(dungeon_feature_type grid);
+
+bool grid_is_water(dungeon_feature_type grid);
+bool grid_is_watery(dungeon_feature_type grid);
+god_type grid_altar_god( dungeon_feature_type grid );
+dungeon_feature_type altar_for_god( god_type god );
+bool grid_is_branch_stairs( dungeon_feature_type grid );
+int grid_secret_door_appearance( int gx, int gy );
+bool grid_destroys_items( dungeon_feature_type grid );
+
+const char *grid_item_destruction_message( dungeon_feature_type grid );
+
+// Terrain changed under 'pos', perform necessary effects.
+void dungeon_terrain_changed(const coord_def &pos,
+ dungeon_feature_type feat = DNGN_UNSEEN,
+ bool affect_player = true,
+ bool preserve_features = false,
+ bool preserve_items = false);
+
+#endif