diff options
-rw-r--r-- | crawl-ref/docs/options_guide.txt | 7 | ||||
-rw-r--r-- | crawl-ref/settings/init.txt | 1 | ||||
-rw-r--r-- | crawl-ref/source/initfile.cc | 2 | ||||
-rw-r--r-- | crawl-ref/source/options.h | 1 | ||||
-rw-r--r-- | crawl-ref/source/viewgeom.cc | 12 |
5 files changed, 20 insertions, 3 deletions
diff --git a/crawl-ref/docs/options_guide.txt b/crawl-ref/docs/options_guide.txt index e9f55dd4ca..0ed1da5dae 100644 --- a/crawl-ref/docs/options_guide.txt +++ b/crawl-ref/docs/options_guide.txt @@ -67,7 +67,7 @@ The contents of this text are: status_caption_colour, delay_message_clear, show_inventory_weights, show_gold_turns, show_beam, item_stack_summary_minimum, list_rotten, - mlist_min_height, msg_max_height, + mlist_min_height, msg_max_height, messages_at_top, mlist_allow_alternate_layout, mlist_targetting, classic_hud, menu_colour, menu_colour_prefix_class, menu_colour_shops, message_colour, force_more_message, @@ -1329,6 +1329,11 @@ msg_max_height = 10 expanded, the message area will expand up to this height. The monster list will get the rest. +messages_at_top = false + Put the message window at the top of the screen. This moves + the last message close to the center of the view in conjunction + with delay_message_clear. + mlist_allow_alternate_layout = false Display the monster list wherever Crawl may find space on your console display, usually to the left of the map, rather diff --git a/crawl-ref/settings/init.txt b/crawl-ref/settings/init.txt index 6056ea971b..bcc34aeb43 100644 --- a/crawl-ref/settings/init.txt +++ b/crawl-ref/settings/init.txt @@ -247,6 +247,7 @@ sort_menus = inv: true : equipped, freshness, charged # mlist_min_height = 5 # msg_max_height = 10 # mlist_allow_alternate_layout = true +# messages_at_top = true # mlist_targetting = true # show_gold_turns = true diff --git a/crawl-ref/source/initfile.cc b/crawl-ref/source/initfile.cc index 559239da67..b0e1d91e14 100644 --- a/crawl-ref/source/initfile.cc +++ b/crawl-ref/source/initfile.cc @@ -608,6 +608,7 @@ void game_options::reset_options() mlist_min_height = 5; msg_max_height = 10; mlist_allow_alternate_layout = false; + messages_at_top = false; mlist_targetting = false; classic_hud = false; msg_condense_repeats = true; @@ -2425,6 +2426,7 @@ void game_options::read_option_line(const std::string &str, bool runscript) else INT_OPTION(mlist_min_height, 0, INT_MAX); else INT_OPTION(msg_max_height, 6, INT_MAX); else BOOL_OPTION(mlist_allow_alternate_layout); + else BOOL_OPTION(messages_at_top); #ifndef USE_TILE else BOOL_OPTION(mlist_targetting); #endif diff --git a/crawl-ref/source/options.h b/crawl-ref/source/options.h index 8467480cdc..2e64f1f680 100644 --- a/crawl-ref/source/options.h +++ b/crawl-ref/source/options.h @@ -60,6 +60,7 @@ public: int mlist_min_height; int msg_max_height; bool mlist_allow_alternate_layout; + bool messages_at_top; bool mlist_targetting; bool classic_hud; bool msg_condense_repeats; diff --git a/crawl-ref/source/viewgeom.cc b/crawl-ref/source/viewgeom.cc index 7c2c2bd156..784a402bcc 100644 --- a/crawl-ref/source/viewgeom.cc +++ b/crawl-ref/source/viewgeom.cc @@ -130,8 +130,16 @@ class _inline_layout : public _layout } // Finish off by doing the positions. - viewp = termp; - msgp = termp + coord_def(0, std::max(viewsz.y, hudsz.y+mlistsz.y)); + if (Options.messages_at_top) + { + msgp = termp; + viewp = termp + coord_def(0, msgsz.y); + } + else + { + viewp = termp; + msgp = termp + coord_def(0, std::max(viewsz.y, hudsz.y+mlistsz.y)); + } hudp = viewp + coord_def(viewsz.x+hud_gutter, 0); mlistp = hudp + coord_def(0, hudsz.y); |