summaryrefslogtreecommitdiffstats
path: root/crawl-ref
diff options
context:
space:
mode:
authorennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-02-29 04:25:02 +0000
committerennewalker <ennewalker@c06c8d41-db1a-0410-9941-cceddc491573>2008-02-29 04:25:02 +0000
commit172527be65069465e9d7b75938178a9cdee60c7d (patch)
treefbe44ca4cda1850e6fb5d08374b2db74a769110b /crawl-ref
parent08313313f3784b007dac16a613b9472311d42fb6 (diff)
downloadcrawl-ref-172527be65069465e9d7b75938178a9cdee60c7d.tar.gz
crawl-ref-172527be65069465e9d7b75938178a9cdee60c7d.zip
Trap art update to have different graphics for each kind of trap.
Also, improved ettin and zombie tiles. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3477 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref')
-rw-r--r--crawl-ref/source/libgui.cc7
-rw-r--r--crawl-ref/source/rltiles/dc-dngn.txt14
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_alarm.bmp (renamed from crawl-ref/source/rltiles/dc-dngn/dngn_trap_mechanical.bmp)bin2102 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_arrow.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_axe.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_blade.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_bolt.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_dart.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_needle.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_net.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_spear.bmpbin0 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_teleport.bmp (renamed from crawl-ref/source/rltiles/dc-dngn/dngn_trap_magical.bmp)bin2102 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-dngn/dngn_trap_zot.bmp (renamed from crawl-ref/source/rltiles/dc-dngn/dngn_trap_iii.bmp)bin2102 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/ettin.bmpbin2102 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/zombie_large.bmpbin2102 -> 2102 bytes
-rw-r--r--crawl-ref/source/rltiles/dc-mon/zombie_small.bmpbin2102 -> 2102 bytes
-rw-r--r--crawl-ref/source/tile1.cc47
-rw-r--r--crawl-ref/source/tiles.h2
-rw-r--r--crawl-ref/source/view.cc2
19 files changed, 55 insertions, 17 deletions
diff --git a/crawl-ref/source/libgui.cc b/crawl-ref/source/libgui.cc
index 70bd5fac2b..e5cb9f269b 100644
--- a/crawl-ref/source/libgui.cc
+++ b/crawl-ref/source/libgui.cc
@@ -338,10 +338,7 @@ int tile_idx_unseen_terrain(int x, int y, int what)
unsigned short grid_color;
get_item_symbol(feature, &grid_symbol, &grid_color);
- if (feature == DNGN_SECRET_DOOR)
- feature = (unsigned int)grid_secret_door_appearance(x, y);
-
- int t = tileidx_feature(feature);
+ int t = tileidx_feature(feature, gc.x, gc.y);
if (t == TILE_ERROR || what == ' ')
t = tileidx_unseen(what, gc);
@@ -402,7 +399,7 @@ void GmapUpdate(int x, int y, int what, bool upd_tile)
{
env.tile_bk_fg[x][y]= t;
if (env.tile_bk_bg[x][y] == 0)
- env.tile_bk_bg[x][y] = tileidx_feature(DNGN_UNSEEN);
+ env.tile_bk_bg[x][y] = tileidx_feature(DNGN_UNSEEN, x, y);
}
else
{
diff --git a/crawl-ref/source/rltiles/dc-dngn.txt b/crawl-ref/source/rltiles/dc-dngn.txt
index e42055a6bc..96e0562c47 100644
--- a/crawl-ref/source/rltiles/dc-dngn.txt
+++ b/crawl-ref/source/rltiles/dc-dngn.txt
@@ -97,10 +97,18 @@ dngn_ice_statue DNGN_ICE_STATUE
dngn_enter_hell DNGN_ENTER_HELL
%rim 0
dngn_branch_stairs DNGN_BRANCH_STAIRS
-dngn_trap_mechanical DNGN_TRAP_MECHANICAL
-dngn_trap_magical DNGN_TRAP_MAGICAL
+dngn_trap_dart DNGN_TRAP_DART
+dngn_trap_arrow DNGN_TRAP_ARROW
+dngn_trap_spear DNGN_TRAP_SPEAR
+dngn_trap_axe DNGN_TRAP_AXE
+dngn_trap_teleport DNGN_TRAP_TELEPORT
+dngn_trap_alarm DNGN_TRAP_ALARM
+dngn_trap_blade DNGN_TRAP_BLADE
+dngn_trap_bolt DNGN_TRAP_BOLT
+dngn_trap_net DNGN_TRAP_NET
+dngn_trap_zot DNGN_TRAP_ZOT
+dngn_trap_needle DNGN_TRAP_NEEDLE
dngn_trap_shaft DNGN_TRAP_SHAFT
-dngn_trap_iii DNGN_TRAP_III
###847 DNGN_UNDISCOVERED_TRAP
stone_stairs_down DNGN_STONE_STAIRS_DOWN
#nh-dngn/staircase_down DNGN_STONE_STAIRS_DOWN_II
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_mechanical.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_alarm.bmp
index 9cd689daaa..87e83cc7d6 100644
--- a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_mechanical.bmp
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_alarm.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_arrow.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_arrow.bmp
new file mode 100644
index 0000000000..1656251d6f
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_arrow.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_axe.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_axe.bmp
new file mode 100644
index 0000000000..74c0a7908b
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_axe.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_blade.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_blade.bmp
new file mode 100644
index 0000000000..77db96cd4f
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_blade.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_bolt.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_bolt.bmp
new file mode 100644
index 0000000000..e149ed84d7
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_bolt.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_dart.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_dart.bmp
new file mode 100644
index 0000000000..d2ea12ca2d
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_dart.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_needle.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_needle.bmp
new file mode 100644
index 0000000000..843ff7ca77
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_needle.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_net.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_net.bmp
new file mode 100644
index 0000000000..2b291d7fb6
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_net.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_spear.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_spear.bmp
new file mode 100644
index 0000000000..f42f7ba8ac
--- /dev/null
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_spear.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_magical.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_teleport.bmp
index 6afd70f5ea..7e6e37c44e 100644
--- a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_magical.bmp
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_teleport.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_iii.bmp b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_zot.bmp
index a32668841a..a32668841a 100644
--- a/crawl-ref/source/rltiles/dc-dngn/dngn_trap_iii.bmp
+++ b/crawl-ref/source/rltiles/dc-dngn/dngn_trap_zot.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/ettin.bmp b/crawl-ref/source/rltiles/dc-mon/ettin.bmp
index 41a5336f69..d7791d1bd2 100644
--- a/crawl-ref/source/rltiles/dc-mon/ettin.bmp
+++ b/crawl-ref/source/rltiles/dc-mon/ettin.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/zombie_large.bmp b/crawl-ref/source/rltiles/dc-mon/zombie_large.bmp
index 405c01303e..0cbe128672 100644
--- a/crawl-ref/source/rltiles/dc-mon/zombie_large.bmp
+++ b/crawl-ref/source/rltiles/dc-mon/zombie_large.bmp
Binary files differ
diff --git a/crawl-ref/source/rltiles/dc-mon/zombie_small.bmp b/crawl-ref/source/rltiles/dc-mon/zombie_small.bmp
index 3bd60fc8b6..2a25ca2b28 100644
--- a/crawl-ref/source/rltiles/dc-mon/zombie_small.bmp
+++ b/crawl-ref/source/rltiles/dc-mon/zombie_small.bmp
Binary files differ
diff --git a/crawl-ref/source/tile1.cc b/crawl-ref/source/tile1.cc
index 3f3e3e5a61..b59feeb8b6 100644
--- a/crawl-ref/source/tile1.cc
+++ b/crawl-ref/source/tile1.cc
@@ -18,6 +18,7 @@
#include "terrain.h"
#include "tiles.h"
#include "tiledef-p.h"
+#include "traps.h"
#include "travel.h"
#include "view.h"
@@ -1720,7 +1721,40 @@ int tileidx_item_throw(const item_def &item, int dx, int dy)
return tileidx_item(item);
}
-int tileidx_feature(int object)
+static int tileidx_trap(trap_type type)
+{
+ switch (type)
+ {
+ case TRAP_DART:
+ return TILE_DNGN_TRAP_DART;
+ case TRAP_ARROW:
+ return TILE_DNGN_TRAP_ARROW;
+ case TRAP_SPEAR:
+ return TILE_DNGN_TRAP_SPEAR;
+ case TRAP_AXE:
+ return TILE_DNGN_TRAP_AXE;
+ case TRAP_TELEPORT:
+ return TILE_DNGN_TRAP_TELEPORT;
+ case TRAP_ALARM:
+ return TILE_DNGN_TRAP_ALARM;
+ case TRAP_BLADE:
+ return TILE_DNGN_TRAP_BLADE;
+ case TRAP_BOLT:
+ return TILE_DNGN_TRAP_BOLT;
+ case TRAP_NET:
+ return TILE_DNGN_TRAP_NET;
+ case TRAP_ZOT:
+ return TILE_DNGN_TRAP_ZOT;
+ case TRAP_NEEDLE:
+ return TILE_DNGN_TRAP_NEEDLE;
+ case TRAP_SHAFT:
+ return TILE_DNGN_TRAP_SHAFT;
+ default:
+ return TILE_ERROR;
+ }
+}
+
+int tileidx_feature(int object, int gx, int gy)
{
switch (object)
{
@@ -1728,8 +1762,9 @@ int tileidx_feature(int object)
return TILE_DNGN_UNSEEN;
case DNGN_ROCK_WALL:
case DNGN_PERMAROCK_WALL:
- case DNGN_SECRET_DOOR:
return TILE_DNGN_ROCK_WALL_OFS;
+ case DNGN_SECRET_DOOR:
+ return (unsigned int)grid_secret_door_appearance(gx, gy);
case DNGN_CLEAR_ROCK_WALL:
case DNGN_CLEAR_STONE_WALL:
case DNGN_CLEAR_PERMAROCK_WALL:
@@ -1764,11 +1799,9 @@ int tileidx_feature(int object)
case DNGN_OPEN_DOOR:
return TILE_DNGN_OPEN_DOOR;
case DNGN_TRAP_MECHANICAL:
- return TILE_DNGN_TRAP_MECHANICAL;
case DNGN_TRAP_MAGICAL:
- return TILE_DNGN_TRAP_MAGICAL;
case DNGN_TRAP_NATURAL:
- return TILE_DNGN_TRAP_SHAFT;
+ return tileidx_trap(trap_type_at_xy(gx, gy));
case DNGN_ENTER_SHOP:
return TILE_DNGN_ENTER_SHOP;
case DNGN_ENTER_LABYRINTH:
@@ -2019,7 +2052,7 @@ int tileidx_unseen(int ch, const coord_def& gc)
case '[':
case ']': res = TILE_UNSEEN_ARMOUR; break;
case '\\': res = TILE_STAFF_OFFSET; break;
- case '^': res = TILE_DNGN_TRAP_MAGICAL; break;
+ case '^': res = TILE_DNGN_TRAP_ZOT; break;
case '_':
case 131: res = TILE_UNSEEN_ALTAR; break;
case '~': res = TILE_UNSEEN_ITEM; break;
@@ -3641,7 +3674,7 @@ void tile_draw_floor()
if (object == DNGN_SECRET_DOOR)
object = (int)grid_secret_door_appearance(gc.x, gc.y);
- tile_dngn[gc.x][gc.y] = tileidx_feature(object);
+ tile_dngn[gc.x][gc.y] = tileidx_feature(object, gc.x, gc.y);
if (is_travelable_stair((dungeon_feature_type)object) &&
!travel_cache.know_stair(gc))
diff --git a/crawl-ref/source/tiles.h b/crawl-ref/source/tiles.h
index 81853bde5a..6578823d37 100644
--- a/crawl-ref/source/tiles.h
+++ b/crawl-ref/source/tiles.h
@@ -7,7 +7,7 @@
//**convert in-game data to tile index
int tileidx(unsigned int object, int extra);
-int tileidx_feature(int object);
+int tileidx_feature(int object, int gx, int gy);
int tileidx_player(int job);
int tileidx_unseen(int ch, const coord_def& gc);
int tileidx_item(const item_def &item);
diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc
index dea266d6fe..d62aeae652 100644
--- a/crawl-ref/source/view.cc
+++ b/crawl-ref/source/view.cc
@@ -683,7 +683,7 @@ void clear_map(bool clear_detected_items, bool clear_detected_monsters)
env.tile_bk_fg[x][y] = 0;
env.tile_bk_bg[x][y] = is_terrain_known(x, y) ?
tile_idx_unseen_terrain(x, y, grd[x][y]) :
- tileidx_feature(DNGN_UNSEEN);
+ tileidx_feature(DNGN_UNSEEN, x, y);
#endif
}
}