From cdd74d0b4618ad1f8f02ee18036283c6c2214b3d Mon Sep 17 00:00:00 2001 From: j-p-e-g Date: Sun, 7 Dec 2008 23:44:02 +0000 Subject: Actually replace sold out shops with the new feature DNGN_ABANDONED_SHOP. This makes comparisons much easier and also avoids giving away information about far away shops being opened/closed. (This was only an issue if a shop only held blood potions that rotted away, but still.) git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@7775 c06c8d41-db1a-0410-9941-cceddc491573 --- crawl-ref/source/acr.cc | 8 +- crawl-ref/source/dat/descript/features.txt | 2 + crawl-ref/source/directn.cc | 31 ++-- crawl-ref/source/enum.h | 3 +- crawl-ref/source/luadgn.cc | 3 +- crawl-ref/source/misc.cc | 2 + crawl-ref/source/overmap.cc | 7 +- crawl-ref/source/rltiles/dc-dngn.txt | 2 +- .../rltiles/dc-dngn/shops/dngn_abandoned_shop.png | Bin 0 -> 1641 bytes .../dc-dngn/shops/dngn_enter_shop_closed.png | Bin 1641 -> 0 bytes crawl-ref/source/shopping.cc | 17 +- crawl-ref/source/shopping.h | 1 - crawl-ref/source/stash.cc | 14 +- crawl-ref/source/tilepick.cc | 5 +- crawl-ref/source/view.cc | 196 +++++++++++---------- 15 files changed, 146 insertions(+), 145 deletions(-) create mode 100644 crawl-ref/source/rltiles/dc-dngn/shops/dngn_abandoned_shop.png delete mode 100644 crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png (limited to 'crawl-ref/source') diff --git a/crawl-ref/source/acr.cc b/crawl-ref/source/acr.cc index c896fceb19..0b4ea44422 100644 --- a/crawl-ref/source/acr.cc +++ b/crawl-ref/source/acr.cc @@ -571,14 +571,14 @@ static void _do_wizard_command(int wiz_command, bool silent_fail) mpr("Fake item as gift from which god (ENTER to leave alone): ", MSGCH_PROMPT); - char name[80]; + char name[80]; if (!cancelable_get_line( name, sizeof( name ) ) && name[0]) { god_type god = string_to_god(name, false); if (god == GOD_NO_GOD) mpr("No such god, leaving item origin alone."); else - { + { mprf("God gift of %s.", god_name(god, false).c_str()); item.orig_monnum = -god; } @@ -591,7 +591,7 @@ static void _do_wizard_command(int wiz_command, bool silent_fail) mpr("Failed to turn book into randart."); break; } - } + } else if (!make_item_randart( item )) { mpr("Failed to turn item into randart."); @@ -1754,6 +1754,8 @@ static void _go_upstairs() { if (ygrd == DNGN_STONE_ARCH) mpr("There is nothing on the other side of the stone arch."); + else if (ygrd == DNGN_ABANDONED_SHOP) + mpr("This shop appears to be closed."); else mpr("You can't go up here!"); return; diff --git a/crawl-ref/source/dat/descript/features.txt b/crawl-ref/source/dat/descript/features.txt index 76f8f8b2ea..3a916ee90b 100644 --- a/crawl-ref/source/dat/descript/features.txt +++ b/crawl-ref/source/dat/descript/features.txt @@ -272,6 +272,8 @@ sufficient heat. %%%% A wall of the weird stuff which makes up Pandemonium %%%% +An abandoned shop +%%%% An ancient bone altar of Kikubaaqudgha %%%% An empty arch of ancient stone diff --git a/crawl-ref/source/directn.cc b/crawl-ref/source/directn.cc index a2f96ef24a..d6d09117d8 100644 --- a/crawl-ref/source/directn.cc +++ b/crawl-ref/source/directn.cc @@ -1573,11 +1573,8 @@ std::string get_terse_square_desc(const coord_def &gc) { if (is_terrain_seen(gc)) { - desc = feature_description(gc, false, DESC_PLAIN, false); - if (!see_grid(gc)) - { - desc = "[" + desc + "]"; - } + desc = "[" + feature_description(gc, false, DESC_PLAIN, false) + + "]"; is_feature = true; } else @@ -2193,10 +2190,12 @@ static void _describe_feature(const coord_def& where, bool oos) return; dungeon_feature_type grid = grd(where); - if ( grid == DNGN_SECRET_DOOR ) + if (grid == DNGN_SECRET_DOOR) grid = grid_secret_door_appearance(where); - std::string desc = feature_description(grid); + std::string desc; + desc = feature_description(grid); + if (desc.length()) { if (oos) @@ -2429,6 +2428,8 @@ std::string raw_feature_description(dungeon_feature_type grid, return ("natural trap"); case DNGN_ENTER_SHOP: return ("shop"); + case DNGN_ABANDONED_SHOP: + return ("abandoned shop"); case DNGN_ENTER_LABYRINTH: return ("labyrinth entrance"); case DNGN_ENTER_DIS: @@ -2575,10 +2576,10 @@ std::string feature_description(const coord_def& where, bool bloody, description_level_type dtype, bool add_stop) { dungeon_feature_type grid = grd(where); - if ( grid == DNGN_SECRET_DOOR ) + if (grid == DNGN_SECRET_DOOR) grid = grid_secret_door_appearance(where); - if ( grid == DNGN_OPEN_DOOR || grid == DNGN_CLOSED_DOOR ) + if (grid == DNGN_OPEN_DOOR || grid == DNGN_CLOSED_DOOR) { std::set all_door; find_connected_identical(where, grd(where), all_door); @@ -2602,16 +2603,12 @@ std::string feature_description(const coord_def& where, bool bloody, case DNGN_TRAP_NATURAL: return (feature_description(grid, get_trap_type(where), bloody, dtype, add_stop)); + case DNGN_ABANDONED_SHOP: + return thing_do_grammar(dtype, add_stop, false, "An abandoned shop"); + case DNGN_ENTER_SHOP: - { - std::string desc = ""; - if (shop_is_closed(where)) - { - desc = "An abandoned shop"; - return thing_do_grammar(dtype, add_stop, false, desc); - } return shop_name(where, add_stop); - } + case DNGN_ENTER_PORTAL_VAULT: return (thing_do_grammar( dtype, add_stop, false, diff --git a/crawl-ref/source/enum.h b/crawl-ref/source/enum.h index dbc544072f..e8eaf0cf59 100644 --- a/crawl-ref/source/enum.h +++ b/crawl-ref/source/enum.h @@ -894,7 +894,7 @@ enum dungeon_char_type // * Any: edit direct.cc and add a description for the feature. // * Any: edit dat/descript.txt and add a long description if appropriate. // * Any: check the grid_* functions in misc.cc and make sure -// they return sane values for your new feature. +// they return sane values for your new feature. // * Any: edit dungeon.cc and add a symbol to map_feature() and // vault_grid() for the feature, if you want vault maps to // be able to use it. If you do, also update @@ -1072,6 +1072,7 @@ enum dungeon_feature_type DNGN_DRY_FOUNTAIN_SPARKLING, DNGN_DRY_FOUNTAIN_BLOOD, // 205 DNGN_PERMADRY_FOUNTAIN, + DNGN_ABANDONED_SHOP, NUM_REAL_FEATURES, // 207 diff --git a/crawl-ref/source/luadgn.cc b/crawl-ref/source/luadgn.cc index 3779029295..79a97ed07b 100644 --- a/crawl-ref/source/luadgn.cc +++ b/crawl-ref/source/luadgn.cc @@ -1247,7 +1247,8 @@ const char *dngn_feature_names[] = "altar_nemelex_xobeh", "altar_elyvilon", "altar_lugonu", "altar_beogh", "", "", "", "", "", "", "fountain_blue", "fountain_sparkling", "fountain_blood", "dry_fountain_blue", - "dry_fountain_sparkling", "dry_fountain_blood", "permadry_fountain" + "dry_fountain_sparkling", "dry_fountain_blood", "permadry_fountain", + "abandoned_shop" }; dungeon_feature_type dungeon_feature_by_name(const std::string &name) diff --git a/crawl-ref/source/misc.cc b/crawl-ref/source/misc.cc index a2f099a45d..7335e90b26 100644 --- a/crawl-ref/source/misc.cc +++ b/crawl-ref/source/misc.cc @@ -1683,6 +1683,8 @@ void up_stairs(dungeon_feature_type force_stair, { if (stair_find == DNGN_STONE_ARCH) mpr("There is nothing on the other side of the stone arch."); + else if (stair_find == DNGN_ABANDONED_SHOP) + mpr("This shop appears to be closed."); else mpr("You can't go up here."); return; diff --git a/crawl-ref/source/overmap.cc b/crawl-ref/source/overmap.cc index 9363db3d21..cc371f4165 100644 --- a/crawl-ref/source/overmap.cc +++ b/crawl-ref/source/overmap.cc @@ -410,7 +410,7 @@ std::string overview_description_string() last_id.depth = 10000; std::map::const_iterator ci_shops; - // there are at most 5 shops per level, plus 7 chars for the level + // There are at most 5 shops per level, plus 7 chars for the level // name, plus 4 for the spacing; that makes a total of 17 // characters per shop. const int maxcolumn = get_number_of_cols() - 17; @@ -662,8 +662,7 @@ void _seen_other_thing( dungeon_feature_type which_thing, const coord_def& pos ) switch (which_thing) { case DNGN_ENTER_SHOP: - if (!shop_is_closed(pos)) - shops_present[where] = static_cast(get_shop(pos)->type); + shops_present[where] = static_cast(get_shop(pos)->type); break; case DNGN_ENTER_PORTAL_VAULT: @@ -696,7 +695,7 @@ void _seen_other_thing( dungeon_feature_type which_thing, const coord_def& pos ) default: const portal_type portal = feature_to_portal(which_thing); - if ( portal != PORTAL_NONE ) + if (portal != PORTAL_NONE) portals_present[where] = portal; break; } diff --git a/crawl-ref/source/rltiles/dc-dngn.txt b/crawl-ref/source/rltiles/dc-dngn.txt index b2e577261e..40ffda2fb2 100644 --- a/crawl-ref/source/rltiles/dc-dngn.txt +++ b/crawl-ref/source/rltiles/dc-dngn.txt @@ -378,7 +378,7 @@ shop_jewellery SHOP_JEWELLERY shop_potions SHOP_POTIONS %back none %shrink 1 -dngn_enter_shop_closed SHOP_CLOSED +dngn_abandoned_shop ABANDONED_SHOP %sdir dc-dngn dngn_enter_labyrinth DNGN_ENTER_LABYRINTH diff --git a/crawl-ref/source/rltiles/dc-dngn/shops/dngn_abandoned_shop.png b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_abandoned_shop.png new file mode 100644 index 0000000000..20cb78aa03 Binary files /dev/null and b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_abandoned_shop.png differ diff --git a/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png b/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png deleted file mode 100644 index 20cb78aa03..0000000000 Binary files a/crawl-ref/source/rltiles/dc-dngn/shops/dngn_enter_shop_closed.png and /dev/null differ diff --git a/crawl-ref/source/shopping.cc b/crawl-ref/source/shopping.cc index 025b9ef4d8..0f211aa221 100644 --- a/crawl-ref/source/shopping.cc +++ b/crawl-ref/source/shopping.cc @@ -1668,14 +1668,11 @@ unsigned int item_value( item_def item, bool ident ) return (valued); } // end item_value() -// Returns true if a shop is out of stock. -bool shop_is_closed(const coord_def &where) +static void _delete_shop(int i) { - for (int i = 0; i < MAX_SHOPS; i++) - if (env.shop[i].pos == where) - return _shop_get_stock(i).empty(); - - return (false); + grd(you.pos()) = DNGN_ABANDONED_SHOP; +// env.shop.erase(i); + unnotice_feature(level_pos(level_id::current(), you.pos())); } void shop() @@ -1697,20 +1694,22 @@ void shop() { const shop_struct& shop = env.shop[i]; mprf("%s appears to be closed.", shop_name(shop.pos).c_str()); + _delete_shop(i); return; } const bool bought_something = _in_a_shop(i); + const std::string shopname = shop_name(env.shop[i].pos); // If the shop is now empty, erase it from the overmap. if ( _shop_get_stock(i).empty() ) - unnotice_feature(level_pos(level_id::current(), you.pos())); + _delete_shop(i); burden_change(); redraw_screen(); if (bought_something) - mprf("Thank you for shopping at %s!", shop_name(env.shop[i].pos).c_str()); + mprf("Thank you for shopping at %s!", shopname.c_str()); } shop_struct *get_shop(const coord_def& where) diff --git a/crawl-ref/source/shopping.h b/crawl-ref/source/shopping.h index 67930c6fe3..8cdb713626 100644 --- a/crawl-ref/source/shopping.h +++ b/crawl-ref/source/shopping.h @@ -18,7 +18,6 @@ int randart_value( const item_def &item ); // ident == true overrides the item ident level and gives the price // as if the item was fully id'd unsigned int item_value( item_def item, bool ident = false ); -bool shop_is_closed(const coord_def &where); void shop(); shop_struct *get_shop(const coord_def& where); diff --git a/crawl-ref/source/stash.cc b/crawl-ref/source/stash.cc index a9b921f1c8..e2840eb12c 100644 --- a/crawl-ref/source/stash.cc +++ b/crawl-ref/source/stash.cc @@ -118,13 +118,13 @@ void describe_stash(int x, int y) if (s) { std::string desc = "[Stash: " - + s->description() + "]"; + + s->description() + "]"; mpr(desc.c_str(), MSGCH_EXAMINE_FILTER); } } } -static void fully_identify_item(item_def *item) +static void _fully_identify_item(item_def *item) { if (!item || !is_valid_item(*item)) return; @@ -254,6 +254,7 @@ bool Stash::is_boring_feature(dungeon_feature_type feat) case DNGN_ESCAPE_HATCH_DOWN: case DNGN_ESCAPE_HATCH_UP: case DNGN_ENTER_SHOP: + case DNGN_ABANDONED_SHOP: case DNGN_UNDISCOVERED_TRAP: return (true); default: @@ -653,7 +654,7 @@ void Stash::write(std::ostream &os, int refx, int refy, item_def item = items[i]; if (identify) - fully_identify_item(&item); + _fully_identify_item(&item); std::string s = stash_item_name(item); strncpy(buf, s.c_str(), sizeof buf); @@ -961,7 +962,7 @@ void ShopInfo::write(std::ostream &os, bool identify) const shop_item item = items[i]; if (identify) - fully_identify_item(&item.item); + _fully_identify_item(&item.item); os << " " << shop_item_name(item) << std::endl; std::string desc = shop_item_desc(item); @@ -1186,8 +1187,7 @@ int LevelStashes::_num_enabled_stashes() const void LevelStashes::get_matching_stashes( const base_pattern &search, - std::vector &results) - const + std::vector &results) const { std::string lplace = "{" + m_place.describe() + "}"; for (stashes_t::const_iterator iter = m_stashes.begin(); @@ -1438,7 +1438,6 @@ void StashTracker::update_visible_stashes( LevelStashes *lev = find_current_level(); for (int cy = crawl_view.glos1.y; cy <= crawl_view.glos2.y; ++cy) - { for (int cx = crawl_view.glos1.x; cx <= crawl_view.glos2.x; ++cx) { if (!in_bounds(cx, cy) || !see_grid(cx, cy)) @@ -1458,7 +1457,6 @@ void StashTracker::update_visible_stashes( if (grid == DNGN_ENTER_SHOP) get_shop(cx, cy); } - } if (lev && !lev->stash_count()) remove_level(); diff --git a/crawl-ref/source/tilepick.cc b/crawl-ref/source/tilepick.cc index b192db52e8..f868e555cd 100644 --- a/crawl-ref/source/tilepick.cc +++ b/crawl-ref/source/tilepick.cc @@ -2245,9 +2245,6 @@ static int _tileidx_trap(trap_type type) static int _tileidx_shop(coord_def where) { - if (shop_is_closed(where)) - return TILE_SHOP_CLOSED; - const shop_struct *shop = get_shop(where); if (!shop) return TILE_ERROR; @@ -2349,6 +2346,8 @@ int tileidx_feature(int object, int gx, int gy) return _tileidx_trap(get_trap_type(coord_def(gx, gy))); case DNGN_ENTER_SHOP: return _tileidx_shop(coord_def(gx,gy)); + case DNGN_ABANDONED_SHOP: + return TILE_DNGN_ABANDONED_SHOP; case DNGN_ENTER_LABYRINTH: return TILE_DNGN_ENTER_LABYRINTH; case DNGN_STONE_STAIRS_DOWN_I: diff --git a/crawl-ref/source/view.cc b/crawl-ref/source/view.cc index 552071e5de..45cfbb0a74 100644 --- a/crawl-ref/source/view.cc +++ b/crawl-ref/source/view.cc @@ -464,12 +464,9 @@ static void _get_symbol( const coord_def& where, } else { - // Colour closed shops grey. - if (grd(where) == DNGN_ENTER_SHOP && shop_is_closed(where)) - *colour = LIGHTGREY | colmask; // Don't clobber with BLACK, because the colour should be // already set. - else if (fdef.colour != BLACK) + if (fdef.colour != BLACK) *colour = fdef.colour | colmask; if (fdef.em_colour != fdef.colour && fdef.em_colour) @@ -679,9 +676,6 @@ screen_buffer_t colour_code_map( const coord_def& p, bool item_colour, const bool terrain_seen = is_terrain_seen(p); const feature_def &fdef = Feature[grid_value]; feature_colour = terrain_seen? fdef.seen_colour : fdef.map_colour; - // Colour closed shops grey. - if (terrain_seen && grd(p) == DNGN_ENTER_SHOP && shop_is_closed(p)) - feature_colour = LIGHTGREY; if (terrain_seen && feature_colour != fdef.seen_em_colour && fdef.seen_em_colour) @@ -2819,6 +2813,7 @@ bool is_feature(int feature, const coord_def& where) case DNGN_ENTER_PORTAL_VAULT: case DNGN_EXIT_PORTAL_VAULT: case DNGN_ENTER_SHOP: + case DNGN_ABANDONED_SHOP: case DNGN_ENTER_DIS: case DNGN_ENTER_GEHENNA: case DNGN_ENTER_COCYTUS: @@ -3999,14 +3994,14 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_WALL; Feature[i].colour = EC_ROCK; Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ]; - Feature[i].minimap = MF_WALL; + Feature[i].minimap = MF_WALL; break; case DNGN_STONE_WALL: Feature[i].dchar = DCHAR_WALL; Feature[i].colour = EC_STONE; Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ]; - Feature[i].minimap = MF_WALL; + Feature[i].minimap = MF_WALL; break; case DNGN_CLEAR_ROCK_WALL: @@ -4015,19 +4010,19 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_WALL; Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ]; Feature[i].colour = LIGHTCYAN; - Feature[i].minimap = MF_WALL; + Feature[i].minimap = MF_WALL; break; case DNGN_OPEN_DOOR: - Feature[i].dchar = DCHAR_DOOR_OPEN; - Feature[i].colour = LIGHTGREY; + Feature[i].dchar = DCHAR_DOOR_OPEN; + Feature[i].colour = LIGHTGREY; Feature[i].minimap = MF_DOOR; break; case DNGN_CLOSED_DOOR: - Feature[i].dchar = DCHAR_DOOR_CLOSED; - Feature[i].colour = LIGHTGREY; + Feature[i].dchar = DCHAR_DOOR_CLOSED; + Feature[i].colour = LIGHTGREY; Feature[i].minimap = MF_DOOR; break; @@ -4035,7 +4030,7 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_WALL; Feature[i].colour = CYAN; Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ]; - Feature[i].minimap = MF_WALL; + Feature[i].minimap = MF_WALL; break; case DNGN_SECRET_DOOR: @@ -4043,19 +4038,19 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_WALL; Feature[i].colour = EC_ROCK; Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ]; - Feature[i].minimap = MF_WALL; + Feature[i].minimap = MF_WALL; break; case DNGN_GREEN_CRYSTAL_WALL: Feature[i].dchar = DCHAR_WALL; Feature[i].colour = GREEN; Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ]; - Feature[i].minimap = MF_WALL; + Feature[i].minimap = MF_WALL; break; case DNGN_ORCISH_IDOL: - Feature[i].dchar = DCHAR_STATUE; - Feature[i].colour = BROWN; // same as clay golem, I hope that's okay + Feature[i].dchar = DCHAR_STATUE; + Feature[i].colour = BROWN; // same as clay golem, I hope that's okay Feature[i].minimap = MF_WALL; break; @@ -4063,30 +4058,30 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_WALL; Feature[i].colour = YELLOW; Feature[i].magic_symbol = Options.char_table[ DCHAR_WALL_MAGIC ]; - Feature[i].minimap = MF_WALL; + Feature[i].minimap = MF_WALL; break; case DNGN_GRANITE_STATUE: - Feature[i].dchar = DCHAR_STATUE; - Feature[i].colour = DARKGREY; + Feature[i].dchar = DCHAR_STATUE; + Feature[i].colour = DARKGREY; Feature[i].minimap = MF_WALL; break; case DNGN_LAVA: - Feature[i].dchar = DCHAR_WAVY; - Feature[i].colour = RED; + Feature[i].dchar = DCHAR_WAVY; + Feature[i].colour = RED; Feature[i].minimap = MF_LAVA; break; case DNGN_DEEP_WATER: - Feature[i].dchar = DCHAR_WAVY; - Feature[i].colour = BLUE; + Feature[i].dchar = DCHAR_WAVY; + Feature[i].colour = BLUE; Feature[i].minimap = MF_WATER; break; case DNGN_SHALLOW_WATER: - Feature[i].dchar = DCHAR_WAVY; - Feature[i].colour = CYAN; + Feature[i].dchar = DCHAR_WAVY; + Feature[i].colour = CYAN; Feature[i].minimap = MF_WATER; break; @@ -4094,14 +4089,14 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_FLOOR; Feature[i].colour = EC_FLOOR; Feature[i].magic_symbol = Options.char_table[ DCHAR_FLOOR_MAGIC ]; - Feature[i].minimap = MF_FLOOR; + Feature[i].minimap = MF_FLOOR; break; case DNGN_FLOOR_SPECIAL: Feature[i].dchar = DCHAR_FLOOR; Feature[i].colour = YELLOW; Feature[i].magic_symbol = Options.char_table[ DCHAR_FLOOR_MAGIC ]; - Feature[i].minimap = MF_FLOOR; + Feature[i].minimap = MF_FLOOR; break; case DNGN_EXIT_HELL: @@ -4109,7 +4104,7 @@ void init_feature_table( void ) Feature[i].colour = LIGHTRED; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = LIGHTRED; - Feature[i].minimap = MF_STAIR_UP; + Feature[i].minimap = MF_STAIR_UP; break; case DNGN_ENTER_HELL: @@ -4118,35 +4113,35 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = RED; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_TRAP_MECHANICAL: Feature[i].colour = LIGHTCYAN; Feature[i].dchar = DCHAR_TRAP; Feature[i].map_colour = LIGHTCYAN; - Feature[i].minimap = MF_TRAP; + Feature[i].minimap = MF_TRAP; break; case DNGN_TRAP_MAGICAL: Feature[i].colour = MAGENTA; Feature[i].dchar = DCHAR_TRAP; Feature[i].map_colour = MAGENTA; - Feature[i].minimap = MF_TRAP; + Feature[i].minimap = MF_TRAP; break; case DNGN_TRAP_NATURAL: Feature[i].colour = BROWN; Feature[i].dchar = DCHAR_TRAP; Feature[i].map_colour = BROWN; - Feature[i].minimap = MF_TRAP; + Feature[i].minimap = MF_TRAP; break; case DNGN_UNDISCOVERED_TRAP: Feature[i].dchar = DCHAR_FLOOR; Feature[i].colour = EC_FLOOR; Feature[i].magic_symbol = Options.char_table[ DCHAR_FLOOR_MAGIC ]; - Feature[i].minimap = MF_FLOOR; + Feature[i].minimap = MF_FLOOR; break; case DNGN_ENTER_SHOP: @@ -4155,7 +4150,14 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = YELLOW; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; + break; + + case DNGN_ABANDONED_SHOP: + Feature[i].colour = LIGHTGREY; + Feature[i].dchar = DCHAR_ARCH; + Feature[i].map_colour = LIGHTGREY; + Feature[i].minimap = MF_FLOOR; break; case DNGN_ENTER_LABYRINTH: @@ -4164,7 +4166,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = CYAN; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ENTER_PORTAL_VAULT: @@ -4176,14 +4178,14 @@ void init_feature_table( void ) Feature[i].colour = EC_SHIMMER_BLUE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = EC_SHIMMER_BLUE; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ESCAPE_HATCH_DOWN: Feature[i].dchar = DCHAR_STAIRS_DOWN; Feature[i].colour = BROWN; Feature[i].map_colour = BROWN; - Feature[i].minimap = MF_STAIR_DOWN; + Feature[i].minimap = MF_STAIR_DOWN; break; case DNGN_STONE_STAIRS_DOWN_I: @@ -4194,14 +4196,14 @@ void init_feature_table( void ) Feature[i].em_colour = WHITE; Feature[i].map_colour = RED; Feature[i].seen_em_colour = WHITE; - Feature[i].minimap = MF_STAIR_DOWN; + Feature[i].minimap = MF_STAIR_DOWN; break; case DNGN_ESCAPE_HATCH_UP: Feature[i].dchar = DCHAR_STAIRS_UP; Feature[i].colour = BROWN; Feature[i].map_colour = BROWN; - Feature[i].minimap = MF_STAIR_UP; + Feature[i].minimap = MF_STAIR_UP; break; case DNGN_STONE_STAIRS_UP_I: @@ -4212,7 +4214,7 @@ void init_feature_table( void ) Feature[i].map_colour = GREEN; Feature[i].em_colour = WHITE; Feature[i].seen_em_colour = WHITE; - Feature[i].minimap = MF_STAIR_UP; + Feature[i].minimap = MF_STAIR_UP; break; case DNGN_ENTER_DIS: @@ -4221,7 +4223,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = CYAN; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ENTER_GEHENNA: @@ -4230,7 +4232,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = RED; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ENTER_COCYTUS: @@ -4239,7 +4241,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = LIGHTCYAN; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ENTER_TARTARUS: @@ -4248,7 +4250,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = DARKGREY; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ENTER_ABYSS: @@ -4257,21 +4259,21 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = EC_RANDOM; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_EXIT_ABYSS: Feature[i].colour = EC_RANDOM; Feature[i].dchar = DCHAR_ARCH; Feature[i].map_colour = EC_RANDOM; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_STONE_ARCH: Feature[i].colour = LIGHTGREY; Feature[i].dchar = DCHAR_ARCH; Feature[i].map_colour = LIGHTGREY; - Feature[i].minimap = MF_FLOOR; + Feature[i].minimap = MF_FLOOR; break; case DNGN_ENTER_PANDEMONIUM: @@ -4280,7 +4282,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = LIGHTBLUE; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_EXIT_PANDEMONIUM: @@ -4289,7 +4291,7 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_ARCH; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = LIGHTBLUE; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_TRANSIT_PANDEMONIUM: @@ -4297,7 +4299,7 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_ARCH; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = LIGHTGREEN; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ENTER_ORCISH_MINES: @@ -4321,7 +4323,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = RED; Feature[i].seen_colour = YELLOW; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ENTER_ZOT: @@ -4330,7 +4332,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = MAGENTA; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_RETURN_FROM_ORCISH_MINES: @@ -4353,7 +4355,7 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_STAIRS_UP; Feature[i].map_colour = GREEN; Feature[i].seen_colour = YELLOW; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_RETURN_FROM_ZOT: @@ -4361,7 +4363,7 @@ void init_feature_table( void ) Feature[i].dchar = DCHAR_ARCH; Feature[i].map_colour = LIGHTGREY; Feature[i].seen_colour = MAGENTA; - Feature[i].minimap = MF_STAIR_BRANCH; + Feature[i].minimap = MF_STAIR_BRANCH; break; case DNGN_ALTAR_ZIN: @@ -4370,7 +4372,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = WHITE; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_SHINING_ONE: @@ -4379,7 +4381,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = YELLOW; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_KIKUBAAQUDGHA: @@ -4388,7 +4390,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = DARKGREY; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_YREDELEMNUL: @@ -4397,7 +4399,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = EC_UNHOLY; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_XOM: @@ -4406,7 +4408,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = EC_RANDOM; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_VEHUMET: @@ -4415,7 +4417,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = EC_VEHUMET; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_OKAWARU: @@ -4424,7 +4426,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = CYAN; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_MAKHLEB: @@ -4433,7 +4435,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = EC_FIRE; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_SIF_MUNA: @@ -4442,7 +4444,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = BLUE; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_TROG: @@ -4451,7 +4453,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = RED; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_NEMELEX_XOBEH: @@ -4460,7 +4462,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = LIGHTMAGENTA; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_ELYVILON: @@ -4469,7 +4471,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = LIGHTGREY; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_LUGONU: @@ -4478,7 +4480,7 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = GREEN; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_ALTAR_BEOGH: @@ -4487,24 +4489,24 @@ void init_feature_table( void ) Feature[i].flags |= FFT_NOTABLE; Feature[i].map_colour = DARKGREY; Feature[i].seen_colour = EC_BEOGH; - Feature[i].minimap = MF_FEATURE; + Feature[i].minimap = MF_FEATURE; break; case DNGN_FOUNTAIN_BLUE: - Feature[i].colour = BLUE; - Feature[i].dchar = DCHAR_FOUNTAIN; + Feature[i].colour = BLUE; + Feature[i].dchar = DCHAR_FOUNTAIN; Feature[i].minimap = MF_FEATURE; break; case DNGN_FOUNTAIN_SPARKLING: - Feature[i].colour = LIGHTBLUE; - Feature[i].dchar = DCHAR_FOUNTAIN; + Feature[i].colour = LIGHTBLUE; + Feature[i].dchar = DCHAR_FOUNTAIN; Feature[i].minimap = MF_FEATURE; break; case DNGN_FOUNTAIN_BLOOD: - Feature[i].colour = RED; - Feature[i].dchar = DCHAR_FOUNTAIN; + Feature[i].colour = RED; + Feature[i].dchar = DCHAR_FOUNTAIN; Feature[i].minimap = MF_FEATURE; break; @@ -4512,98 +4514,98 @@ void init_feature_table( void ) case DNGN_DRY_FOUNTAIN_SPARKLING: case DNGN_DRY_FOUNTAIN_BLOOD: case DNGN_PERMADRY_FOUNTAIN: - Feature[i].colour = LIGHTGREY; - Feature[i].dchar = DCHAR_FOUNTAIN; + Feature[i].colour = LIGHTGREY; + Feature[i].dchar = DCHAR_FOUNTAIN; Feature[i].minimap = MF_FEATURE; break; case DNGN_INVIS_EXPOSED: - Feature[i].dchar = DCHAR_INVIS_EXPOSED; + Feature[i].dchar = DCHAR_INVIS_EXPOSED; Feature[i].minimap = MF_MONS_HOSTILE; break; case DNGN_ITEM_DETECTED: - Feature[i].dchar = DCHAR_ITEM_DETECTED; + Feature[i].dchar = DCHAR_ITEM_DETECTED; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_ORB: - Feature[i].dchar = DCHAR_ITEM_ORB; + Feature[i].dchar = DCHAR_ITEM_ORB; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_WEAPON: - Feature[i].dchar = DCHAR_ITEM_WEAPON; + Feature[i].dchar = DCHAR_ITEM_WEAPON; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_ARMOUR: - Feature[i].dchar = DCHAR_ITEM_ARMOUR; + Feature[i].dchar = DCHAR_ITEM_ARMOUR; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_WAND: - Feature[i].dchar = DCHAR_ITEM_WAND; + Feature[i].dchar = DCHAR_ITEM_WAND; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_FOOD: - Feature[i].dchar = DCHAR_ITEM_FOOD; + Feature[i].dchar = DCHAR_ITEM_FOOD; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_SCROLL: - Feature[i].dchar = DCHAR_ITEM_SCROLL; + Feature[i].dchar = DCHAR_ITEM_SCROLL; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_RING: - Feature[i].dchar = DCHAR_ITEM_RING; + Feature[i].dchar = DCHAR_ITEM_RING; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_POTION: - Feature[i].dchar = DCHAR_ITEM_POTION; + Feature[i].dchar = DCHAR_ITEM_POTION; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_MISSILE: - Feature[i].dchar = DCHAR_ITEM_MISSILE; + Feature[i].dchar = DCHAR_ITEM_MISSILE; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_BOOK: - Feature[i].dchar = DCHAR_ITEM_BOOK; + Feature[i].dchar = DCHAR_ITEM_BOOK; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_STAVE: - Feature[i].dchar = DCHAR_ITEM_STAVE; + Feature[i].dchar = DCHAR_ITEM_STAVE; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_MISCELLANY: - Feature[i].dchar = DCHAR_ITEM_MISCELLANY; + Feature[i].dchar = DCHAR_ITEM_MISCELLANY; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_CORPSE: - Feature[i].dchar = DCHAR_ITEM_CORPSE; + Feature[i].dchar = DCHAR_ITEM_CORPSE; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_GOLD: - Feature[i].dchar = DCHAR_ITEM_GOLD; + Feature[i].dchar = DCHAR_ITEM_GOLD; Feature[i].minimap = MF_ITEM; break; case DNGN_ITEM_AMULET: - Feature[i].dchar = DCHAR_ITEM_AMULET; + Feature[i].dchar = DCHAR_ITEM_AMULET; Feature[i].minimap = MF_ITEM; break; case DNGN_CLOUD: - Feature[i].dchar = DCHAR_CLOUD; + Feature[i].dchar = DCHAR_CLOUD; Feature[i].minimap = MF_SKIP; break; } -- cgit v1.2.3-54-g00ecf