summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend
Commit message (Collapse)AuthorAgeFilesLines
* viewgfx.cpp: Allocate bitmap in place rather than using global_alloc; ↵GravatarGravatar AJR2019-11-161-26/+48
| | | | | | explicitly initialize each member of ui_gfx_state (nw) This code honestly deserves more modernization than this, but this is enough for now.
* get rid of some pointless members of input mapping menu (nw)GravatarGravatar Vas Crabb2019-11-172-16/+9
|
* UI cleanup:GravatarGravatar Vas Crabb2019-11-174-211/+146
| | | | | * Make input mapping menus more efficient - most of the properties of a field won't change * Get rid of the pool allocator in base menu class - it was encouraging bad design
* UI updates:GravatarGravatar Vas Crabb2019-11-175-211/+258
| | | | | | | * Cleaned up memory management in some more menus * Don't walk the directory every time the crosshair menu is refreshed * Sort crosshair pictures * Show a selector menu when crosshair picture item is selected
* I've rewritten a chunk of this (nw)GravatarGravatar Vas Crabb2019-11-172-2/+2
|
* UI updates:GravatarGravatar Vas Crabb2019-11-1711-419/+615
| | | | | | * Made DIP switch display scale with UI font and improved layout * Improved analog control display giving an indication of neutral position * Fixed menu heading sizes not being recalculated after font is changed
* actual intended alignment of analog input labels (nw)GravatarGravatar Vas Crabb2019-11-161-1/+1
|
* Display emulated analog input values on the anaolg controls menu screenGravatarGravatar Vas Crabb2019-11-165-223/+380
|
* Spring cleaning:GravatarGravatar Vas Crabb2019-11-013-21/+24
| | | | | | | | | | | | * Changed emu_fatalerror to use util::string_format semantics * Fixed some incorrectly marked up stuff in build scripts * Make internal layout compression type a scoped enum (only zlib is supported still, but at least the values aren't magic numbers now) * Fixed memory leaks in Xbox USB * There can only be one "perfect quantum" device - enforce that only the root machine can set it, as allowing subdevices to will cause weird issues with slot cards overiding it * Allow multiple devices to set maximum quantum and use the most restrictive one (it's maximum quantum, it would be minimum interleave) * Got rid of device_slot_card_interface as it wasn't providing value * Added a helper template to reduce certain kinds of boilerplate in slots/buses * Cleaned up some particularly bad slot code (plenty more of that to do), and made some slots more idiomatic
* Spelling (#5796)GravatarGravatar Zoë Blade2019-10-241-1/+1
| | | | | | | | | | | | * Tidy up comments * Fix typos * Fix spelling * Tidy * Tidy
* *fixed display of covers in UI.GravatarGravatar Robbbert2019-10-231-1/+2
|
* (nw) fixed typo that Andrew found.GravatarGravatar Robbbert2019-10-201-1/+1
|
* Merge pull request #5758 from vadosnaprimer/luaengine_ramGravatarGravatar R. Belmont2019-10-191-1081/+1122
|\ | | | | luaengine: reduce memory usage during compilation
| * luaengine: reduce memory usage during compilationGravatarGravatar feos2019-10-191-1081/+1122
| | | | | | | | | | | | | | | | | | | | Previous semantics were encouraged by sol2, and ThePhD admitted it was a bad idea for usertypes with lots of members. sol3 allows to assign members outside a constructor for regular usertypes, but mame can't move to sol3 because it requires C++17. Turns out sol2 also has a way to add members separately, and that is what I used. This helps immensely. This approach required a fix to warning C5046 copied from here https://github.com/ThePhD/sol2/commit/57990845726e17fba11a39cfcb1fc0127a7ea638 Tested current mame plugins, everything seems to work. PS: Due to come black magic, if I use simple_usertype::set() with "manager" as well, "machine" member dies (others are fine!), so I had to leave it intact.
* | vs2019_clang builds and links with portaudio disabled (nw)GravatarGravatar smf-2019-10-081-1/+1
|/
* ui/menu: Move one variable down into subclasses; fix some confusing variable ↵GravatarGravatar AJR2019-09-267-33/+35
| | | | naming (nw)
* Make osd_printf_* use util/strformat semantics.GravatarGravatar Vas Crabb2019-09-269-29/+28
| | | | | | | | | | | | | | | | | (nw) This has been a long time coming but it's here at last. It should be easier now that logerror, popmessage and osd_printf_* behave like string_format and stream_format. Remember the differences from printf: * Any object with a stream out operator works with %s * %d, %i, %o, %x, %X, etc. work out the size by magic * No sign extending promotion to int for short/char * No widening/narrowing conversions for characters/strings * Same rules on all platforms, insulated from C runtime library * No format warnings from compiler * Assert in debug builds if number of arguments doesn't match format (nw) Also removed a pile of redundant c_str and string_format, and some workarounds for not being able to portably format 64-bit integers or long long.
* Merge pull request #5683 from vadosnaprimer/sound_callbackGravatarGravatar R. Belmont2019-09-253-3/+25
|\ | | | | Lua callback after sound update has generated new samples
| * callback after sound update has generated new samplesGravatarGravatar feos2019-09-243-3/+25
| |
* | (nw) fixed presentation of error message about invalid INI options.GravatarGravatar Robbbert2019-09-191-1/+1
|/
* Changed osd_get_clipboard_text() to return std::string (#5615)GravatarGravatar npwoods2019-09-111-9/+2
| | | | | | | | | | * Changed osd_get_clipboard_text() to return std::string This change has only been tested on Windows. The Un*x/Mac versions were made blindly; they might not even build. This needs to be checked prior to merging. * Fixing Mac OS X build (hopefully)
* Use std::forward_list for breakpoint and registerpoint lists (nw)GravatarGravatar AJR2019-09-101-8/+6
|
* MT#7408: Fixed issue that caused most LUA callbacks to be duplicated (#5592)GravatarGravatar npwoods2019-09-061-7/+0
|
* Distinguish DIP switches that belong to different devices but have the same ↵GravatarGravatar AJR2019-08-312-4/+6
| | | | name in UI menu. This is most likely to occur when multiple instances of the same device type are configured on bus slots.
* Exposing running_machine::exit_pending() andGravatarGravatar npwoods2019-08-281-1/+5
| | | | running_machine::hard_reset_pending() to LUA
* strtok is not reentrant - it's not safe to call it any time you might be ↵GravatarGravatar Vas Crabb2019-08-251-8/+9
| | | | multi-threaded (nw)
* srcclean (nw)GravatarGravatar Vas Crabb2019-08-253-9/+9
| | | | I'm assuming atronic.cpp was supposed to be Windows-1252 with Euro currency symbol encoding. Everyone please use UTF-8 for source files.
* Exposing ioport_manager::type_group() and ioport_field::keyboard_codes()GravatarGravatar npwoods2019-08-231-0/+13
| | | | to LUA
* Remove tilemap.h from emu.h (nw)GravatarGravatar AJR2019-08-211-0/+1
|
* Extracting input sequence cleaning logic into an seq_clean() functionGravatarGravatar npwoods2019-08-211-0/+2
| | | | and exposing to LUA
* Miscellaneous LUA functionalityGravatarGravatar npwoods2019-08-184-1/+27
| | | | | | | - Created emu.register_before_load_settings(), to allow LUA scripts to override default input port values before settings are loaded - New ioport_field methods/props ([set_]default_input_seq(), port)
* Changes LUA seq_poll_start to take the input_item_class as a string (#5503)GravatarGravatar npwoods2019-08-181-33/+18
| | | | | | | | | | | | | | | | This seems to work around a problem that (at least for me) caused the 'sol::object seq' parameter to not properly handle a specified sol::user<input_seq>. This problem could be reproduced with the following command at the LUA console: manager:machine():input():seq_poll_start("absolute", manager:machine():input():seq_from_tokens("KEYCODE_Q")) I would feel more comfortable if I understood why the existing code failed; it isn't clear to me if this is a bug in our sol handling for input_item_class, a bug in sol itself, or a compiler bug, but this change works for me and should definitely not introduce any problems.
* Exposing input device classes, input devices, and input device items toGravatarGravatar npwoods2019-08-171-1/+79
| | | | LUA
* Expose sound buffer and samplerate to luaengine (#5497)GravatarGravatar feos2019-08-172-5/+23
| | | | | | | | | | * luaengine: manager:machine():sound():samples() * luaengine: fix natural_keyboard docs * tiny cleanup as requested in #5348 * fix clang build
* Moved most of the implementation of info_xml_creator to anonymousGravatarGravatar npwoods2019-08-152-105/+121
| | | | | | | namespaces This is to keep things isolated to a single translation unit as much as possible
* Ensuring that devices emitted by -listxml are sortedGravatarGravatar npwoods2019-08-132-1/+17
| | | | This is primarily to make the output be deterministic.
* Fix build in newer Emscripten versions (nw)GravatarGravatar Justin Kerk2019-08-081-1/+1
|
* Changing info_xml_creator to not use std::endl (nw)GravatarGravatar npwoods2019-08-071-33/+32
|
* Speeding up -listxml by performing the heavy lifting asynchronouslyGravatarGravatar npwoods2019-08-072-59/+127
|
* Surpressing mandatory file manager when -str (seconds to run) is on (nw)GravatarGravatar npwoods2019-08-061-3/+3
| | | | This is a bug fix to an earlier PR
* Merge pull request #5438 from ↵GravatarGravatar R. Belmont2019-08-057-43/+112
|\ | | | | | | | | npwoods/lua_manadatory_file_manager_override_changes Changed mechanisms for overriding the mandatory file manager
| * Changed mechanisms for overriding the mandatory file managerGravatarGravatar npwoods2019-08-057-43/+112
| | | | | | | | | | | | | | - Removed the -skip_mandatory_fileman command line option - Created an emu.register_mandatory_file_manager_override() LUA function to allow LUA plugins to substitute the mandatory file manager
* | Changed info_xml_creator to use std::ostreamGravatarGravatar npwoods2019-08-054-275/+272
| | | | | | | | | | Also, we are now passing the stream to every function, rather than sloppily keeping it in a member variable
* | Follow up to previous listxml_refactor PR (nw)GravatarGravatar npwoods2019-08-043-24/+10
|/ | | | | | | | | Specifically, this simplifies that change by collapsing the newly introduced enum info_xml_creator::devices_disposition into a bool, more resembling what was there before. It occurred to me that having a tristate was unnecessary, because the need for filtering could be expressed by a null std::function for the filter
* Creating an -attach_window command line parameter on Windows to attach to an ↵GravatarGravatar npwoods2019-08-041-1/+3
| | | | | | | | | | | | | | existing window (#5381) * Creating an -attach_window command line parameter on Windows to attach to an existing window * Moved -attach_window option to Windows-specific code * Created an osd_set_aggressive_input_focus() function and exposed to LUA * Created a dummy implementation of osd_set_aggressive_input_focus() for SDL
* Refactored info_xml_creator::output()GravatarGravatar npwoods2019-08-033-114/+148
| | | | | | | - The two variations of output() no longer duplicate logic - No longer relying on driver_enumerator::config() to create machine_config objects. Because driver_enumerator would cache all objects created, we would needlessly hog memory
* Enabled default move ctor/assignments in core_options, and changedGravatarGravatar npwoods2019-08-011-5/+7
| | | | plugin_options code to use them
* srcclean (nw)GravatarGravatar Vas Crabb2019-07-287-21/+21
|
* (nw) indicate that plugin errors are now fatalGravatarGravatar Robbbert2019-07-261-3/+3
|
* Merge pull request #5383 from npwoods/plugin_refactorGravatarGravatar R. Belmont2019-07-246-93/+234
|\ | | | | Refactored MAME's plugin system