summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2019-11-17 17:10:07 +1100
committer Vas Crabb <vas@vastheman.com>2019-11-17 17:10:07 +1100
commit90fe1e649a7bc9ea667de249736062d5dea21f7a (patch)
tree22071ec6c4a2a9ed08a5188314375165aed2fad7 /src/frontend/mame
parent4765e92ec366a315d4afec5fb8aa23fa596c8af0 (diff)
Remove internal autofire functionality as there's a plugin for that now (#5802)
Diffstat (limited to 'src/frontend/mame')
-rw-r--r--src/frontend/mame/ui/cheatopt.cpp180
-rw-r--r--src/frontend/mame/ui/cheatopt.h24
-rw-r--r--src/frontend/mame/ui/ui.cpp15
3 files changed, 7 insertions, 212 deletions
diff --git a/src/frontend/mame/ui/cheatopt.cpp b/src/frontend/mame/ui/cheatopt.cpp
index 1cf87b7f9f3..b503aba5206 100644
--- a/src/frontend/mame/ui/cheatopt.cpp
+++ b/src/frontend/mame/ui/cheatopt.cpp
@@ -18,16 +18,11 @@
namespace ui {
+
// itemrefs for key menu items
#define ITEMREF_CHEATS_RESET_ALL ((void *) 0x0001)
#define ITEMREF_CHEATS_RELOAD_ALL ((void *) 0x0002)
-#define ITEMREF_CHEATS_AUTOFIRE_SETTINGS ((void *) 0x0003)
-#define ITEMREF_CHEATS_FIRST_ITEM ((void *) 0x0004)
-
-// itemrefs for key menu items
-#define ITEMREF_AUTOFIRE_STATUS ((void *) 0x0001)
-#define ITEMREF_AUTOFIRE_DELAY ((void *) 0x0002)
-#define ITEMREF_AUTOFIRE_FIRST_BUTTON ((void *) 0x0003)
+#define ITEMREF_CHEATS_FIRST_ITEM ((void *) 0x0003)
/*-------------------------------------------------
@@ -105,12 +100,6 @@ void menu_cheat::handle()
machine().popmessage(_("All cheats reloaded"));
}
- /* handle autofire menu */
- if (menu_event->itemref == ITEMREF_CHEATS_AUTOFIRE_SETTINGS && menu_event->iptkey == IPT_UI_SELECT)
- {
- menu::stack_push<menu_autofire>(ui(), container());
- }
-
/* if things changed, update */
if (changed)
reset(reset_options::REMEMBER_REF);
@@ -132,9 +121,6 @@ void menu_cheat::populate(float &customtop, float &custombottom)
std::string text;
std::string subtext;
- // add the autofire menu
- item_append(_("Autofire Settings"), "", 0, (void *)ITEMREF_CHEATS_AUTOFIRE_SETTINGS);
-
/* add a separator */
item_append(menu_item_type::SEPARATOR);
@@ -165,166 +151,4 @@ menu_cheat::~menu_cheat()
{
}
-
-
-
-
-/*-------------------------------------------------
- menu_autofire - handle the autofire settings
- menu
--------------------------------------------------*/
-
-menu_autofire::menu_autofire(mame_ui_manager &mui, render_container &container) : menu(mui, container), last_toggle(false)
-{
- const screen_device *screen = screen_device_iterator(mui.machine().root_device()).first();
-
- if (screen == nullptr)
- {
- refresh = 60.0;
- }
- else
- {
- refresh = ATTOSECONDS_TO_HZ(screen->refresh_attoseconds());
- }
-}
-
-menu_autofire::~menu_autofire()
-{
-}
-
-void menu_autofire::handle()
-{
- ioport_field *field;
- bool changed = false;
-
- /* process the menu */
- const event *menu_event = process(0);
-
- /* handle events */
- if (menu_event != nullptr && menu_event->itemref != nullptr)
- {
- // menu item is changed using left/right keys only
- if (menu_event->iptkey == IPT_UI_LEFT || menu_event->iptkey == IPT_UI_RIGHT)
- {
- if (menu_event->itemref == ITEMREF_AUTOFIRE_STATUS)
- {
- // toggle autofire status
- bool autofire_toggle = machine().ioport().get_autofire_toggle(); // (menu_event->iptkey == IPT_UI_LEFT);
- machine().ioport().set_autofire_toggle(!autofire_toggle);
- changed = true;
- }
- else if (menu_event->itemref == ITEMREF_AUTOFIRE_DELAY)
- {
- // change autofire frequency
- int autofire_delay = machine().ioport().get_autofire_delay();
- if (menu_event->iptkey == IPT_UI_LEFT)
- {
- autofire_delay--;
- if (autofire_delay < 1)
- autofire_delay = 1;
- }
- else
- {
- autofire_delay++;
- if (autofire_delay > 30)
- autofire_delay = 30;
- }
- machine().ioport().set_autofire_delay(autofire_delay);
- changed = true;
- }
- else
- {
- // enable autofire on specific button
- field = (ioport_field *)menu_event->itemref;
- ioport_field::user_settings settings;
- field->get_user_settings(settings);
- settings.autofire = (menu_event->iptkey == IPT_UI_RIGHT);
- field->set_user_settings(settings);
- changed = true;
- }
- }
- }
-
- // if toggle settings changed, redraw menu to reflect new options
- if (!changed)
- {
- changed = (last_toggle != machine().ioport().get_autofire_toggle());
- }
-
- /* if something changed, rebuild the menu */
- if (changed)
- {
- reset(reset_options::REMEMBER_REF);
- }
-}
-
-
-/*-------------------------------------------------
- menu_autofire_populate - populate the autofire
- menu
--------------------------------------------------*/
-
-void menu_autofire::populate(float &customtop, float &custombottom)
-{
- char temp_text[64];
-
- /* add autofire toggle item */
- bool autofire_toggle = machine().ioport().get_autofire_toggle();
- item_append(_("Autofire Status"), (autofire_toggle ? _("Disabled") : _("Enabled")),
- (autofire_toggle ? FLAG_RIGHT_ARROW : FLAG_LEFT_ARROW), (void *)ITEMREF_AUTOFIRE_STATUS);
-
- /* iterate over the input ports and add autofire toggle items */
- int menu_items = 0;
- for (auto &port : machine().ioport().ports())
- {
- bool is_first_button = true;
- for (ioport_field &field : port.second->fields())
- {
- if (field.type() >= IPT_BUTTON1 && field.type() <= IPT_BUTTON16)
- {
- menu_items++;
- ioport_field::user_settings settings;
- field.get_user_settings(settings);
-
- if (is_first_button)
- {
- /* add a separator for each player */
- item_append(menu_item_type::SEPARATOR);
- is_first_button = false;
- }
-
- /* add an autofire item */
- item_append_on_off(field.name(), settings.autofire, (autofire_toggle ? FLAG_DISABLE | FLAG_INVERT : 0), (void *)&field);
- }
- }
- }
-
- /* add text item if no buttons found */
- if (menu_items==0)
- {
- item_append(menu_item_type::SEPARATOR);
- item_append(_("No buttons found on this machine!"), "", FLAG_DISABLE, nullptr);
- }
-
- /* add a separator */
- item_append(menu_item_type::SEPARATOR);
-
- /* add autofire delay item */
- int value = machine().ioport().get_autofire_delay();
- snprintf(temp_text, ARRAY_LENGTH(temp_text), "%d = %.2f Hz", value, (float)refresh/value);
- if (!autofire_toggle)
- {
- item_append(_("Autofire Delay"), temp_text, FLAG_LEFT_ARROW | FLAG_RIGHT_ARROW, (void *)ITEMREF_AUTOFIRE_DELAY);
- }
- else
- {
- item_append(_("Autofire Delay"), temp_text, FLAG_DISABLE | FLAG_INVERT, nullptr);
- }
-
- /* add a separator */
- item_append(menu_item_type::SEPARATOR);
-
- last_toggle = autofire_toggle;
-}
-
} // namespace ui
diff --git a/src/frontend/mame/ui/cheatopt.h b/src/frontend/mame/ui/cheatopt.h
index e95e765cb30..1d925cb2a71 100644
--- a/src/frontend/mame/ui/cheatopt.h
+++ b/src/frontend/mame/ui/cheatopt.h
@@ -7,15 +7,16 @@
Internal menu for the cheat interface.
***************************************************************************/
-
-#pragma once
-
#ifndef MAME_FRONTEND_UI_CHEATOPT_H
#define MAME_FRONTEND_UI_CHEATOPT_H
+#pragma once
+
#include "ui/menu.h"
+
namespace ui {
+
class menu_cheat : public menu
{
public:
@@ -27,21 +28,6 @@ private:
virtual void handle() override;
};
-
-class menu_autofire : public menu
-{
-public:
- menu_autofire(mame_ui_manager &mui, render_container &container);
- virtual ~menu_autofire() override;
-
-private:
- virtual void populate(float &customtop, float &custombottom) override;
- virtual void handle() override;
-
- float refresh;
- bool last_toggle;
-};
-
} // namespace ui
-#endif /* MAME_FRONTEND_UI_CHEATOPT_H */
+#endif // MAME_FRONTEND_UI_CHEATOPT_H
diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp
index 27987bbc9c9..baca4dd1bc7 100644
--- a/src/frontend/mame/ui/ui.cpp
+++ b/src/frontend/mame/ui/ui.cpp
@@ -1234,21 +1234,6 @@ uint32_t mame_ui_manager::handler_ingame(render_container &container)
if (machine().ui_input().pressed(IPT_UI_THROTTLE))
machine().video().toggle_throttle();
- // toggle autofire
- if (machine().ui_input().pressed(IPT_UI_TOGGLE_AUTOFIRE))
- {
- if (!machine().options().cheat())
- {
- machine().popmessage(_("Autofire can't be enabled"));
- }
- else
- {
- bool autofire_toggle = machine().ioport().get_autofire_toggle();
- machine().ioport().set_autofire_toggle(!autofire_toggle);
- machine().popmessage("Autofire %s", autofire_toggle ? _("Enabled") : _("Disabled"));
- }
- }
-
// check for fast forward
if (machine().ioport().type_pressed(IPT_UI_FAST_FORWARD))
{