Index: lib/pref/pref-opt.prf =================================================================== --- lib/pref/pref-opt.prf (revision 2930) +++ lib/pref/pref-opt.prf (working copy) @@ -76,7 +76,7 @@ Y:empty_levels X:bound_walls_perm Y:last_words -Y:send_score +#Y:send_score X:allow_debug_opts ##### Disturbance ##### Index: src/cmd1.c =================================================================== --- src/cmd1.c (revision 2930) +++ src/cmd1.c (working copy) @@ -3696,6 +3696,15 @@ } } + /* Display floor in sub-windows*/ + { + pw_spot_row = py; + pw_spot_col = px; + + /* Window stuff */ + p_ptr->window |= (PW_SPOT); + } + return player_bold(ny, nx) && !p_ptr->is_dead && !p_ptr->leaving; } Index: src/cmd4.c =================================================================== --- src/cmd4.c (revision 2930) +++ src/cmd4.c (working copy) @@ -2580,7 +2580,7 @@ p_ptr->window |= (PW_INVEN | PW_EQUIP | PW_SPELL | PW_PLAYER | PW_MESSAGE | PW_OVERHEAD | PW_MONSTER | PW_OBJECT | PW_SNAPSHOT | - PW_BORG_1 | PW_BORG_2 | PW_DUNGEON); + PW_SPOT | PW_BORG_1 | PW_BORG_2 | PW_DUNGEON); break; } Index: src/defines.h =================================================================== --- src/defines.h (revision 2930) +++ src/defines.h (working copy) @@ -2786,7 +2786,7 @@ #define PW_DUNGEON 0x00000400L /* Display dungeon view */ #define PW_SNAPSHOT 0x00000800L /* Display snap-shot */ /* xxx */ -/* xxx */ +#define PW_SPOT 0x00002000L /* Display floor */ #define PW_BORG_1 0x00004000L /* Display borg messages */ #define PW_BORG_2 0x00008000L /* Display borg status */ Index: src/dungeon.c =================================================================== --- src/dungeon.c (revision 2930) +++ src/dungeon.c (working copy) @@ -6046,6 +6046,8 @@ pet_t_m_idx = 0; riding_t_m_idx = 0; ambush_flag = FALSE; + pw_spot_col = 0; + pw_spot_row = 0; /* Cancel the health bar */ health_track(0); Index: src/externs.h =================================================================== --- src/externs.h (revision 2930) +++ src/externs.h (working copy) @@ -396,6 +396,8 @@ extern s16b target_who; extern s16b target_col; extern s16b target_row; +extern s16b pw_spot_col; +extern s16b pw_spot_row; extern int player_uid; extern int player_euid; extern int player_egid; Index: src/tables.c =================================================================== --- src/tables.c (revision 2930) +++ src/tables.c (working copy) @@ -5383,8 +5383,13 @@ #endif NULL, - NULL, #ifdef JP + "床", +#else + "Display floor", +#endif + +#ifdef JP "ボーグ・メッセージ", #else "Display borg messages", Index: src/variable.c =================================================================== --- src/variable.c (revision 2930) +++ src/variable.c (working copy) @@ -388,6 +388,8 @@ s16b target_who; s16b target_col; s16b target_row; +s16b pw_spot_col; +s16b pw_spot_row; /* Index: src/xtra1.c =================================================================== --- src/xtra1.c (revision 2930) +++ src/xtra1.c (working copy) @@ -2007,6 +2007,77 @@ /* + * Hack -- display floor in sub-windows + */ +static void fix_spot(void) +{ + int j; + + /* Scan windows */ + for (j = 0; j < 8; j++) + { + term *old = Term; + + /* No window */ + if (!angband_term[j]) continue; + + /* No relevant flags */ + if (!(window_flag[j] & (PW_SPOT))) continue; + + /* Activate */ + Term_activate(angband_term[j]); + + /* Clear */ + Term_clear(); + + /* Display floor info */ + if(pw_spot_col && pw_spot_row) + { + cave_type *c_ptr = &cave[pw_spot_row][pw_spot_col]; + s16b feat = get_feat_mimic(c_ptr); + feature_type *f_ptr; + + /* Require knowledge about grid, or ability to see grid */ + if (!(c_ptr->info & CAVE_MARK) && + !player_can_see_bold(pw_spot_row, pw_spot_col)) + { + /* Forget feature */ + feat = feat_none; + } + f_ptr = &f_info[feat]; + + if(have_flag(f_ptr->flags, FF_REMEMBER)) + { + cptr name = f_name + f_ptr->name; + Term_putstr(2, 0, -1, TERM_WHITE, name); + + } + + /* Display list of items on floor */ + { + extern bool show_gold_on_floor; + int wid, hgt; + bool old_show_gold_on_floor = show_gold_on_floor; + + /* Get size */ + Term_get_size(&wid, &hgt); + + show_gold_on_floor = TRUE; + show_floor(0, pw_spot_row, pw_spot_col, &wid); + show_gold_on_floor = old_show_gold_on_floor; + } + } + + /* Fresh */ + Term_fresh(); + + /* Restore */ + Term_activate(old); + } +} + + +/* * Calculate number of spells player should have, and forget, * or remember, spells until that number is properly reflected. * @@ -6024,6 +6095,13 @@ p_ptr->window &= ~(PW_OBJECT); fix_object(); } + + /* Display floor */ + if (p_ptr->window & (PW_SPOT)) + { + p_ptr->window &= ~(PW_SPOT); + fix_spot(); + } } Index: src/xtra2.c =================================================================== --- src/xtra2.c (revision 2930) +++ src/xtra2.c (working copy) @@ -3194,6 +3194,18 @@ } + /* Display floor in sub-windows*/ + { + pw_spot_row = y; + pw_spot_col = x; + + /* Window stuff */ + p_ptr->window |= (PW_SPOT); + + /* Handle stuff */ + handle_stuff(); + } + /* Actual monsters */ if (c_ptr->m_idx && m_list[c_ptr->m_idx].ml) { Index: src/z-config.h =================================================================== --- src/z-config.h (revision 2930) +++ src/z-config.h (working copy) @@ -600,7 +600,7 @@ /* * Use world score server */ -#define WORLD_SCORE +#undef WORLD_SCORE #endif #endif /* HAVE_CONFIG_H */