diff options
40 files changed, 105 insertions, 31 deletions
diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index 9d55eeda9d..cc561768d2 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -689,13 +689,18 @@ void up_stairs(dungeon_feature_type force_stair, mprf("Welcome back to %s!", branches[you.where_are_you].longname); - load(stair_taken, LOAD_ENTER_LEVEL, old_level_type, old_level, old_where); + const bool newlevel = + load(stair_taken, LOAD_ENTER_LEVEL, old_level_type, old_level, old_where); set_entry_cause(entry_cause, old_level_type); entry_cause = you.entry_cause; you.turn_is_over = true; +#ifdef USE_TILE + TileNewLevel(newlevel); +#endif // USE_TILE + save_game_state(); new_level(); @@ -1195,15 +1200,6 @@ void down_stairs( int old_level, dungeon_feature_type force_stair, you.your_level--; -#ifdef USE_TILE - // init micromap - GmapInit(false); // do not erase tile backup data - TileLoadWall(false); - tile_clear_buf(); - if (newlevel) - tile_init_flavor(); -#endif // USE_TILE - switch (you.level_type) { case LEVEL_ABYSS: @@ -1245,6 +1241,10 @@ void down_stairs( int old_level, dungeon_feature_type force_stair, break; } +#ifdef USE_TILE + TileNewLevel(newlevel); +#endif + you.turn_is_over = true; save_game_state(); diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves0.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves0.bmp Binary files differnew file mode 100644 index 0000000000..96e0e39ef1 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves0.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves1.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves1.bmp Binary files differnew file mode 100644 index 0000000000..071958532e --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves1.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves2.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves2.bmp Binary files differnew file mode 100644 index 0000000000..f58aaffca5 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves2.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves3.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves3.bmp Binary files differnew file mode 100644 index 0000000000..c9d75b4ff8 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves3.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves4.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves4.bmp Binary files differnew file mode 100644 index 0000000000..c96ee192ac --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves4.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves5.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves5.bmp Binary files differnew file mode 100644 index 0000000000..a9ec76ddd4 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves5.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves6.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves6.bmp Binary files differnew file mode 100644 index 0000000000..104770f81b --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_nerves6.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone0.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone0.bmp Binary files differnew file mode 100644 index 0000000000..f249b06027 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone0.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone1.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone1.bmp Binary files differnew file mode 100644 index 0000000000..59697a24aa --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone1.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone2.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone2.bmp Binary files differnew file mode 100644 index 0000000000..b2f3d645e8 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone2.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone3.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone3.bmp Binary files differnew file mode 100644 index 0000000000..101b294ad7 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_sand_stone3.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines0.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines0.bmp Binary files differnew file mode 100644 index 0000000000..8bbe5c707b --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines0.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines1.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines1.bmp Binary files differnew file mode 100644 index 0000000000..b29905d475 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines1.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines2.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines2.bmp Binary files differnew file mode 100644 index 0000000000..f109b601b1 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines2.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines3.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines3.bmp Binary files differnew file mode 100644 index 0000000000..db19c70413 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines3.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines4.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines4.bmp Binary files differnew file mode 100644 index 0000000000..3964f2dd19 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines4.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines5.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines5.bmp Binary files differnew file mode 100644 index 0000000000..4c2e0fe7bd --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines5.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines6.bmp b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines6.bmp Binary files differnew file mode 100644 index 0000000000..d0d5d1a0a8 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/floor/floor_vines6.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh0.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh0.bmp Binary files differnew file mode 100644 index 0000000000..5f94fffe36 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh0.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh1.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh1.bmp Binary files differnew file mode 100644 index 0000000000..1a3aa8f181 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh1.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh2.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh2.bmp Binary files differnew file mode 100644 index 0000000000..0ae21e8e91 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh2.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh3.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh3.bmp Binary files differnew file mode 100644 index 0000000000..90472b9e7b --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh3.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh4.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh4.bmp Binary files differnew file mode 100644 index 0000000000..4bae53adcd --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh4.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh5.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh5.bmp Binary files differnew file mode 100644 index 0000000000..71a17c8989 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh5.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh6.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh6.bmp Binary files differnew file mode 100644 index 0000000000..fdd11e8eef --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_flesh6.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines0.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines0.bmp Binary files differnew file mode 100644 index 0000000000..1741b0813e --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines0.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines1.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines1.bmp Binary files differnew file mode 100644 index 0000000000..10389633de --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines1.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines2.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines2.bmp Binary files differnew file mode 100644 index 0000000000..39dd787c01 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines2.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines3.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines3.bmp Binary files differnew file mode 100644 index 0000000000..a587ef019e --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines3.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines4.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines4.bmp Binary files differnew file mode 100644 index 0000000000..1cb7cae02b --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines4.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines5.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines5.bmp Binary files differnew file mode 100644 index 0000000000..7636ccf2ec --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines5.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines6.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines6.bmp Binary files differnew file mode 100644 index 0000000000..f5ec53eb05 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_vines6.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock0.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock0.bmp Binary files differnew file mode 100644 index 0000000000..8d82c44835 --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock0.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock1.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock1.bmp Binary files differnew file mode 100644 index 0000000000..e2425ff0dd --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock1.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock2.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock2.bmp Binary files differnew file mode 100644 index 0000000000..7ccbf0a5bb --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock2.bmp diff --git a/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock3.bmp b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock3.bmp Binary files differnew file mode 100644 index 0000000000..ffb1eb6a5c --- /dev/null +++ b/crawl-ref/source/rltiles/dc-dngn/wall/wall_yellow_rock3.bmp diff --git a/crawl-ref/source/rltiles/dc-wall2d.txt b/crawl-ref/source/rltiles/dc-wall2d.txt index 8bd4e80c55..6ee4374391 100644 --- a/crawl-ref/source/rltiles/dc-wall2d.txt +++ b/crawl-ref/source/rltiles/dc-wall2d.txt @@ -181,6 +181,58 @@ floor/tomb1 floor/tomb2
floor/tomb3
+wall/wall_flesh0 WALL_FLESH
+wall/wall_flesh1
+wall/wall_flesh2
+wall/wall_flesh3
+wall/wall_flesh4
+wall/wall_flesh5
+wall/wall_flesh6
+
+floor/floor_nerves0 FLOOR_NERVES
+floor/floor_nerves1
+floor/floor_nerves2
+floor/floor_nerves3
+floor/floor_nerves4
+floor/floor_nerves5
+floor/floor_nerves6
+
+wall/wall_vines0 WALL_VINES
+wall/wall_vines1
+wall/wall_vines2
+wall/wall_vines3
+wall/wall_vines4
+wall/wall_vines5
+wall/wall_vines6
+
+floor/floor_vines0 FLOOR_VINES
+floor/floor_vines1
+floor/floor_vines2
+floor/floor_vines3
+floor/floor_vines4
+floor/floor_vines5
+floor/floor_vines6
+
+wall/pebble_red0 WALL_PEBBLE_RED
+wall/pebble_red1
+wall/pebble_red2
+wall/pebble_red3
+
+floor/rough_red0 FLOOR_ROUGH_RED
+floor/rough_red1
+floor/rough_red2
+floor/rough_red3
+
+floor/floor_sand_stone0 FLOOR_SAND_STONE
+floor/floor_sand_stone1
+floor/floor_sand_stone2
+floor/floor_sand_stone3
+
+wall/wall_yellow_rock0 WALL_YELLOW_ROCK
+wall/wall_yellow_rock1
+wall/wall_yellow_rock2
+wall/wall_yellow_rock3
+
wall/brick_gray0 WALL_BAZAAR_GRAY
wall/brick_gray1
wall/brick_gray2
diff --git a/crawl-ref/source/tile1.cc b/crawl-ref/source/tile1.cc index 9ed114b54e..56b758b886 100644 --- a/crawl-ref/source/tile1.cc +++ b/crawl-ref/source/tile1.cc @@ -1626,6 +1626,13 @@ void finalize_tile(short unsigned int *tile, unsigned char wflag, { (*tile) = get_wall_tile_idx() + wall_flv; } + else if (orig == TILE_DNGN_SHALLOW_WATER || + orig == TILE_DNGN_DEEP_WATER || + orig == TILE_DNGN_LAVA) + { + // These types always have four flavors... + (*tile) = orig + (floor_flv % 4); + } (*tile) |= flag; } diff --git a/crawl-ref/source/tile2.cc b/crawl-ref/source/tile2.cc index 6c9c407034..ada84c255a 100644 --- a/crawl-ref/source/tile2.cc +++ b/crawl-ref/source/tile2.cc @@ -5,6 +5,7 @@ #include <string.h> #include "AppHdr.h" +#include "branch.h" #include "describe.h" #include "direct.h" #include "dungeon.h" @@ -12,6 +13,7 @@ #include "guic.h" #include "itemprop.h" #include "it_use2.h" +#include "place.h" #include "stuff.h" #include "tiles.h" #include "tilecount-w2d.h" @@ -970,56 +972,63 @@ void WallIdx(int &wall, int &floor, int &special) if (you.level_type == LEVEL_PANDEMONIUM) { - switch (mcolour[env.mons_alloc[8]]) + switch (env.rock_colour) { case BLUE: case LIGHTBLUE: wall = IDX_WALL_ZOT_BLUE; floor = IDX_FLOOR_ZOT_BLUE; - return; + break; case RED: case LIGHTRED: wall = IDX_WALL_ZOT_RED; floor = IDX_FLOOR_ZOT_RED; - return; + break; case MAGENTA: case LIGHTMAGENTA: wall = IDX_WALL_ZOT_MAGENTA; floor = IDX_FLOOR_ZOT_MAGENTA; - return; + break; case GREEN: case LIGHTGREEN: wall = IDX_WALL_ZOT_GREEN; floor = IDX_FLOOR_ZOT_GREEN; - return; + break; case CYAN: case LIGHTCYAN: wall = IDX_WALL_ZOT_CYAN; floor = IDX_FLOOR_ZOT_CYAN; - return; + break; case BROWN: case YELLOW: wall = IDX_WALL_ZOT_YELLOW; floor = IDX_FLOOR_ZOT_YELLOW; - return; + break; case BLACK: case WHITE: default: wall = IDX_WALL_ZOT_GRAY; floor = IDX_FLOOR_ZOT_GRAY; - return; + break; } + + if (one_chance_in(3)) + wall = IDX_WALL_FLESH; + if (one_chance_in(3)) + floor = IDX_FLOOR_NERVES; + + return; } else if (you.level_type == LEVEL_ABYSS) { wall = IDX_WALL_UNDEAD; - floor = IDX_FLOOR_UNDEAD; + floor = IDX_FLOOR_NERVES; return; } else if (you.level_type == LEVEL_LABYRINTH) @@ -1048,7 +1057,7 @@ void WallIdx(int &wall, int &floor, int &special) // Reds often have lava, which looks ridiculous // next to grass or dirt, so we'll use existing // floor and wall tiles here. - wall = IDX_WALL_ZOT_RED; + wall = IDX_WALL_PEBBLE_RED; floor = IDX_FLOOR_VAULT; special = IDX_FLOOR_BAZAAR_VAULT_SPECIAL; return; @@ -1079,6 +1088,9 @@ void WallIdx(int &wall, int &floor, int &special) } } } + + int depth = player_branch_depth(); + int branch_depth = your_branch().depth; switch (you.where_are_you) { @@ -1097,9 +1109,13 @@ void WallIdx(int &wall, int &floor, int &special) floor = IDX_FLOOR_VAULT; return; + case BRANCH_ECUMENICAL_TEMPLE: + wall = IDX_WALL_VINES; + floor = IDX_FLOOR_VINES; + return; + case BRANCH_ELVEN_HALLS: case BRANCH_HALL_OF_BLADES: - case BRANCH_ECUMENICAL_TEMPLE: wall = IDX_WALL_HALL; floor = IDX_FLOOR_HALL; return; @@ -1122,10 +1138,8 @@ void WallIdx(int &wall, int &floor, int &special) return; case BRANCH_GEHENNA: - case BRANCH_INFERNO: - case BRANCH_THE_PIT: wall = IDX_WALL_ZOT_RED; - floor = IDX_FLOOR_ZOT_RED; + floor = IDX_FLOOR_ROUGH_RED; return; case BRANCH_COCYTUS: @@ -1159,13 +1173,11 @@ void WallIdx(int &wall, int &floor, int &special) return; case BRANCH_SHOALS: - wall = IDX_WALL_SWAMP; - floor = IDX_FLOOR_SWAMP; - return; - - case BRANCH_CAVERNS: - wall = IDX_WALL_ORC; - floor = IDX_FLOOR_ORC; + if (depth == branch_depth) + wall = IDX_WALL_VINES; + else + wall = IDX_WALL_YELLOW_ROCK; + floor = IDX_FLOOR_SAND_STONE; return; case BRANCH_HALL_OF_ZOT: @@ -1197,6 +1209,9 @@ void WallIdx(int &wall, int &floor, int &special) return; } + case BRANCH_INFERNO: + case BRANCH_THE_PIT: + case BRANCH_CAVERNS: case NUM_BRANCHES: break; |