From eaf07fffa33296500c4a6d35bf64a9098ca35fc0 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Thu, 21 Nov 2019 16:07:04 +1100 Subject: UI input menu: treat codes containing a postive and negative of the same thing as invalid (e.g. A S not A) ioport.cpp: * better than 50% reduction in compile time, and better locality for static data * better encapsulation, const correctness and noexcept usage --- src/osd/mac/osdmac.h | 2 +- src/osd/modules/input/input_mac.cpp | 2 +- src/osd/modules/input/input_sdlcommon.cpp | 2 +- src/osd/modules/input/input_windows.cpp | 2 +- src/osd/modules/lib/osdobj_common.cpp | 2 +- src/osd/modules/lib/osdobj_common.h | 2 +- src/osd/osdcomm.h | 8 +++++--- src/osd/osdepend.h | 2 +- src/osd/sdl/osdsdl.h | 2 +- src/osd/windows/winmain.h | 2 +- 10 files changed, 14 insertions(+), 12 deletions(-) (limited to 'src/osd') diff --git a/src/osd/mac/osdmac.h b/src/osd/mac/osdmac.h index 13b680cf271..3e1dfe9bb4d 100644 --- a/src/osd/mac/osdmac.h +++ b/src/osd/mac/osdmac.h @@ -47,7 +47,7 @@ public: virtual void input_update() override; // input overridables - virtual void customize_input_type_list(simple_list &typelist) override; + virtual void customize_input_type_list(std::vector &typelist) override; virtual void video_register() override; diff --git a/src/osd/modules/input/input_mac.cpp b/src/osd/modules/input/input_mac.cpp index 4dd030b331a..0784501573f 100644 --- a/src/osd/modules/input/input_mac.cpp +++ b/src/osd/modules/input/input_mac.cpp @@ -33,7 +33,7 @@ extern void MacPollInputs(); -void mac_osd_interface::customize_input_type_list(simple_list &typelist) +void mac_osd_interface::customize_input_type_list(std::vector &typelist) { } diff --git a/src/osd/modules/input/input_sdlcommon.cpp b/src/osd/modules/input/input_sdlcommon.cpp index a5982ea891d..2e6611c74ac 100644 --- a/src/osd/modules/input/input_sdlcommon.cpp +++ b/src/osd/modules/input/input_sdlcommon.cpp @@ -142,7 +142,7 @@ void sdl_event_manager::process_window_event(running_machine &machine, SDL_Event // customize_input_type_list //============================================================ -void sdl_osd_interface::customize_input_type_list(simple_list &typelist) +void sdl_osd_interface::customize_input_type_list(std::vector &typelist) { input_item_id mameid_code; input_code ui_code; diff --git a/src/osd/modules/input/input_windows.cpp b/src/osd/modules/input/input_windows.cpp index 164ee0e3c31..371c1aa3c59 100644 --- a/src/osd/modules/input/input_windows.cpp +++ b/src/osd/modules/input/input_windows.cpp @@ -73,7 +73,7 @@ void windows_osd_interface::poll_input(running_machine &machine) const // customize_input_type_list //============================================================ -void windows_osd_interface::customize_input_type_list(simple_list &typelist) +void windows_osd_interface::customize_input_type_list(std::vector &typelist) { const char* uimode; diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp index 3cba4c81cfb..8e284eba055 100644 --- a/src/osd/modules/lib/osdobj_common.cpp +++ b/src/osd/modules/lib/osdobj_common.cpp @@ -564,7 +564,7 @@ void osd_common_t::set_mastervolume(int attenuation) // additions/modifications to the input list //------------------------------------------------- -void osd_common_t::customize_input_type_list(simple_list &typelist) +void osd_common_t::customize_input_type_list(std::vector &typelist) { // // inptport.c defines some general purpose defaults for key and joystick bindings. diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h index 4a377276855..9fb1b1eef6b 100644 --- a/src/osd/modules/lib/osdobj_common.h +++ b/src/osd/modules/lib/osdobj_common.h @@ -204,7 +204,7 @@ public: virtual bool no_sound() override; // input overridables - virtual void customize_input_type_list(simple_list &typelist) override; + virtual void customize_input_type_list(std::vector &typelist) override; // video overridables virtual void add_audio_to_recording(const int16_t *buffer, int samples_this_frame) override; diff --git a/src/osd/osdcomm.h b/src/osd/osdcomm.h index eb600e65360..7e7ac805ad2 100644 --- a/src/osd/osdcomm.h +++ b/src/osd/osdcomm.h @@ -8,14 +8,15 @@ fundamental integral types as well as compiler-specific tweaks. ***************************************************************************/ - -#pragma once - #ifndef MAME_OSD_OSDCOMM_H #define MAME_OSD_OSDCOMM_H +#pragma once + #include #include + +#include #include #include @@ -84,6 +85,7 @@ constexpr uint32_t extract_64lo(uint64_t val) { return uint32_t(val); } // Highly useful template for compile-time knowledge of an array size template constexpr size_t ARRAY_LENGTH(T (&)[N]) { return N;} +template constexpr size_t ARRAY_LENGTH(std::array const &) { return N; } // For declaring an array of the same dimensions as another array (including multi-dimensional arrays) template struct equivalent_array_or_type { typedef T type; }; diff --git a/src/osd/osdepend.h b/src/osd/osdepend.h index 7b3160cb04e..f2c4e36c0e5 100644 --- a/src/osd/osdepend.h +++ b/src/osd/osdepend.h @@ -77,7 +77,7 @@ public: virtual bool no_sound() = 0; // input overridables - virtual void customize_input_type_list(simple_list &typelist) = 0; + virtual void customize_input_type_list(std::vector &typelist) = 0; // video overridables virtual void add_audio_to_recording(const int16_t *buffer, int samples_this_frame) = 0; diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h index 8bc4b5556c9..4cbec2d9d14 100644 --- a/src/osd/sdl/osdsdl.h +++ b/src/osd/sdl/osdsdl.h @@ -127,7 +127,7 @@ public: virtual void input_update() override; // input overridables - virtual void customize_input_type_list(simple_list &typelist) override; + virtual void customize_input_type_list(std::vector &typelist) override; virtual void video_register() override; diff --git a/src/osd/windows/winmain.h b/src/osd/windows/winmain.h index 04e6da31d1d..faca28e5bca 100644 --- a/src/osd/windows/winmain.h +++ b/src/osd/windows/winmain.h @@ -283,7 +283,7 @@ public: virtual void input_update() override; // input overrideables - virtual void customize_input_type_list(simple_list &typelist) override; + virtual void customize_input_type_list(std::vector &typelist) override; // video overridables virtual void add_audio_to_recording(const int16_t *buffer, int samples_this_frame) override; -- cgit v1.2.3