summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend
Commit message (Collapse)AuthorAgeFilesLines
* Fix compile, nw MooglyGuy2020-03-111-0/+2
|
* -frontend: Added an About menu option to display the contents of COPYING in ↵ MooglyGuy2020-03-115-30/+209
| | | | order to be more license-compliant. [Ryan Holtz]
* (nw) Cleanup on the way: Vas Crabb2020-03-1013-68/+65
| | | | | | | | | | * Add doxygen comments for bit manipulation functions * Add an overload of BIT that works like the AArch64 UBFX instruction * Kill off some of the silly concatenating overloads for emu_file::open * Make searchpath acually useful for devices This is a checkpoint - I'm planning to improve ROM loading behaviour at least a little.
* luaengine: save state to/from binary string buffer (#6354) feos2020-02-241-0/+27
| | | | | | | | * luaengine: save state to/from binary string buffer * account for error * luaL_error makes it exit immediately, but explicit return is required by compiler. actual return is nil if it fails.
* srcclean and manual adjustments (nw) Vas Crabb2020-02-231-1/+1
|
* luaengine: Back out part of unrelated WIP I didn't mean to commit (nw) AJR2020-02-161-3/+3
|
* luaengine: Expose osd_subst_env as emu.subst_env (nw) AJR2020-02-161-3/+9
| | | | This is intended as a functional replacement for lfs.env_replace, but that is now used in a fair number of plugins whose code structure I don't know well enough to trust that the simple substitution is correct.
* fix various things. checkpointed the alphatpc16, will credit before next ↵ cracyc2020-02-111-7/+5
| | | | release (nw)
* Merge pull request #6195 from firewave/includes R. Belmont2020-01-226-6/+6
|\ | | | | use C++ library includes (nw)
| * use C++ library includes (nw) firewave2020-01-226-6/+6
| |
* | fixed some clang-tidy warnings (nw) (#6197) Oliver Stöneberg2020-01-2213-47/+47
|/ | | | | | | | | | | | | | * fixed some bugprone-throw-keyword-missing clang-tidy warnings (nw) * fixed some modernize-use-nullptr clang-tidy warnings (nw) * fixed some readability-delete-null-pointer clang-tidy warnings (nw) * fixed some performance-faster-string-find clang-tidy warnings (nw) * fixed some performance-for-range-copy clang-tidy warnings (nw) * fixed some readability-redundant-string-cstr clang-tidy warnings (nw)
* luaengine: addr_space:read_range() (#6120) feos2020-01-181-0/+59
| | | | | | * luaengine: allow reading a block of raw bytes for addr_space * redo space:read_block() to be more rebust and flexible
* input_sdl: Process control characters so that the natural keyboard can see ↵ AJR2020-01-101-2/+2
| | | | | | them (SDL normally strips these out) Don't strip linefeed characters (Ctrl-J) from natural keyboard input except when pasting strings
* (nw) the software list device is identified by its tag, the name is tells ↵ Vas Crabb2019-12-311-2/+2
| | | | | | | | you which list it will load XML attributes are order-insensitive - compliant validators (e.g. libxml2's xmllint) accepted the XML how it was before. It would be better if parsers didn't enforce rules that don't exist.
* infoxml.cpp: Fix attribute order [Couriersud] couriersud2019-12-301-1/+1
| | | Fixes QMC2 software list display.
* lua: add address_mask and endianness to addr_space library (#6061) feos2019-12-191-4/+23
| | | | | | * lua: add address_mask and endianness to addr_space library * lua: add space.data_width
* (nw) don't escape stuff that shouldn't be escaped Vas Crabb2019-12-191-1/+1
|
* Make -listsoftware and -getsoflist recognise software lists that come from ↵ Vas Crabb2019-12-192-89/+91
| | | | | | slot cards. (nw) These verbs are still horribly inefficient and don't preserve all the information from the input software list. This isn't supposed to solve those problems, it just makes the verbs no longer blind to stuff like the Spectrum Miles Gordon floppy list and Spectrum Wafadrive list.
* infoxml.cpp: Fix build (nw) AJR2019-12-161-2/+2
|
* infoxml.cpp: Output software lists for devices. Vas Crabb2019-12-171-5/+16
| | | | | | (nw) This will at least let a front-end work out that a slot card allows the use of an additional software list (e.g. spectrum -exp plusd enables spectrum_mgt_flop.xml). I'll do a reference implementation in minimaws.
* allow slot options with -listsoftware so stuff like spectrum_mgt_flop can be ↵ Vas Crabb2019-12-171-3/+1
| | | | discovered
* romident: find software lists attached to devices that aren't in any system ↵ Vas Crabb2019-12-171-48/+36
| | | | by default (e.g. spectrum_mgt_flop)
* Allow saving members of structures in n-dimensional arrays, even if the ↵ Vas Crabb2019-12-092-17/+50
| | | | members themselves are n-dimensional arrays - see qsoundhle.cpp for an example of loops disappearing. This can greatly reduce the number of save state registrations in some cases. Obviously I want to know if save states are broken in something by this.
* softlist_dev.cpp: get some stuff out of the global namespace (nw) Vas Crabb2019-12-083-4/+4
|
* Add -lowlatency option to UI. Antonio Giner2019-12-021-0/+1
|
* ui/cheatopt.cpp: MT07510 (nw) Ivan Vangelista2019-11-291-4/+1
|
* plugins/cheatfind: permit entry of cheat names cracyc2019-11-271-0/+4
|
* don't attempt to load a translation file if the language setting is empty (nw) Vas Crabb2019-11-261-1/+4
|
* util/options.cpp: fix locale issues and a const correctness issue Vas Crabb2019-11-231-1/+1
|
* UI updates: Vas Crabb2019-11-2211-226/+344
| | | | | | | * Re-wrote localisation loader: sanitise input, check for buffer overruns, fix endianness handling, keep data in a single allocated block, do a single hash lookup when fetching a string, print diagnostic output when things go wrong * Sort UI language menu so it's not in whatever random order the filesystem yields * Fixed most menu code to adjust L/R border for UI aspect ratio and pass container to render manager when getting UI aspect ratio * Converted a couple more things to use smart pointers
* UI input menu: treat codes containing a postive and negative of the same ↵ Vas Crabb2019-11-212-4/+5
| | | | | | | | 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
* luaengine: fix tabs (nw) cracyc2019-11-201-3/+3
|
* plugins/cheat: show pressed buttons when setting hotkeys (nw) cracyc2019-11-201-4/+23
|
* UI input mapping menu updates: Vas Crabb2019-11-2112-68/+330
| | | | | | | | | | | | | | | | | | | | | | * When a switch-type input is selected, show feedback when it's pressed * If an invalid code is entered (e.g. only negatives) abandon the change rather than cycling default/none * If an invalid code is entered display a message until the user takes some other action input.cpp updates: * constexpr crusade on input_code and input_seq and some very slight optimisation to input_seq * seq_poll* is a frontend function and had no business being in the core, so it's a utility class now * seq_poll* now exposes a bit more detail, enabling improved interaction on the UI inputs menu * global state is reduced a little, but the poll_* functions are still members of the input manager with global state (nw) The Lua engine has been updated in a way that maintains source compatibility with existing Lua scripts. This is less than ideal, but it minimises impact. Ideally someone (possibly me) will be able to expose the input sequence poller helper properly. I tested the changes with the cheat and autofire plugins and I was able to assign sequences. However I found two issues: it's seems impossible to assign a more complex sequence than a single key/button in the autofire plugin (i.e. no AND or NOT conditions, I confirmed this is pre-existing, not a regression), and in both the cheat and autofire plugins I found it a bit unwieldy trying to enter a complex sequence without live feedback of the sequence as it's built (this was also applicable to MAME's own input mapping menu until I added the live display yesterday).
* sliders.cpp: Support PORT_CONDITION for PORT_ADJUSTER [Couriersud] couriersud2019-11-201-7/+13
| | | | | | | | PORT_CONDITION can now enabled/disabled the display of PORT_ADJUSTER sliders in the UI, i.e. PORT_START("SOMEPORT") PORT_ADJUSTER(...) PORT_CONDITION("OTHERPORT", ...)
* UI: when modifying an input mapping, only cycle default/none if UI_CANCEL is ↵ Vas Crabb2019-11-202-3/+12
| | | | | | | | | | | | | | the first thing pressed (nw) It's annoying that if you accidentally start to change an input, there's no way to back out at all. You need to press something before it will do anything. Also, if you go to add an additional "or" combination and press the wrong thing, you can't back out just the change - hitting UI_CANCEL takes you back to the default. This at least partially addresses it: if you hit UI_SELECT to modify an input then hit UI_CANCEL immediately, it will cycle default/none; however if you press any other input first and then hit UI_CANCEL, it will just back out the change. The implementation is a bit whacky at the moment, but doing better would require another emu.h change which I don't want to do right now.
* restore code cleaning behaviour prior to ↵ Vas Crabb2019-11-201-4/+3
| | | | ae2cc6853d935d3daeadd84b0b740af82ea9c41e - it's broken in some corner cases but the regressions are fixed
* UI show feedback when configuring an input to give the user more of an idea ↵ Vas Crabb2019-11-204-95/+102
| | | | of what's going on
* UI: if panel is collapsed while focused, return focus to systems/software Vas Crabb2019-11-181-0/+12
|
* UI updates: Vas Crabb2019-11-184-30/+76
| | | | | | | | * Hook up focus next/focus prev on system/software selection menus (Tab and LShift-Tab, respectively by default) * Allow joystick buttons to be used to change focus on system/software selection menus * Fixed bug that allowed focus to move to hidden panels (nw) Second attempt at doing this, and it worked fine. Must've been in bad mental health when I tried and failed to do this back in May
* bus/amiga/zorro: put in namespace, improve safety a bit (nw) Vas Crabb2019-11-181-1/+3
|
* Remove internal autofire functionality as there's a plugin for that now (#5802) Vas Crabb2019-11-173-212/+7
|
* viewgfx.cpp: Allocate bitmap in place rather than using global_alloc; ↵ 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) Vas Crabb2019-11-172-16/+9
|
* UI cleanup: 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: 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) Vas Crabb2019-11-172-2/+2
|
* UI updates: 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) Vas Crabb2019-11-161-1/+1
|
* Display emulated analog input values on the anaolg controls menu screen Vas Crabb2019-11-165-223/+380
|