diff options
Diffstat (limited to 'src/frontend/mame/ui/inputmap.cpp')
-rw-r--r-- | src/frontend/mame/ui/inputmap.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/frontend/mame/ui/inputmap.cpp b/src/frontend/mame/ui/inputmap.cpp index a1bba50822e..a8985ed6bdc 100644 --- a/src/frontend/mame/ui/inputmap.cpp +++ b/src/frontend/mame/ui/inputmap.cpp @@ -307,6 +307,17 @@ void menu_input::custom_render(void *selectedref, float top, float bottom, float ui::text_layout::CENTER, ui::text_layout::NEVER, false, ui().colors().text_color(), ui().colors().background_color(), 1.0f); } + else + { + char const *const text[] = { + record_next ? appendprompt.c_str() : assignprompt.c_str(), + item.seq.empty() ? defaultprompt.c_str() : clearprompt.c_str() }; + draw_text_box( + std::begin(text), std::end(text), + x1, x2, y2 + ui().box_tb_border(), y2 + bottom, + ui::text_layout::CENTER, ui::text_layout::NEVER, false, + ui().colors().text_color(), ui().colors().background_color(), 1.0f); + } } } } @@ -485,8 +496,14 @@ void menu_input::populate_sorted(float &customtop, float &custombottom) item_append(std::move(text), std::move(subtext), flags, &item); } + // pre-format messages + assignprompt = util::string_format(_("Press %1$s to set\n"), machine().input().seq_name(machine().ioport().type_seq(IPT_UI_SELECT))); + appendprompt = util::string_format(_("Press %1$s to append\n"), machine().input().seq_name(machine().ioport().type_seq(IPT_UI_SELECT))); + clearprompt = util::string_format(_("Press %1$s to clear\n"), machine().input().seq_name(machine().ioport().type_seq(IPT_UI_CLEAR))); + defaultprompt = util::string_format(_("Press %1$s to restore default\n"), machine().input().seq_name(machine().ioport().type_seq(IPT_UI_CLEAR))); + // leave space for showing the input sequence below the menu - custombottom = ui().get_line_height() + 3.0f * ui().box_tb_border(); + custombottom = 2.0f * ui().get_line_height() + 3.0f * ui().box_tb_border(); } } // namespace ui |