Commit Graph

41 Commits

Author SHA1 Message Date
Vas Crabb
422185fe55 docs: Added page describing how MAME searches for media.
Also made error messages for missing CHDs and missing files for software
parts using the image file loader show search paths, and changed the
(poorly named) bitbanger device to use the image file loader rather than
the ROM loader for software items.
2022-03-10 02:55:40 +11:00
Vas Crabb
014eb6369b input: Clarify docuemntation and a comment. 2021-11-06 14:11:49 +11:00
Vas Crabb
270276c4d3 -Enabled complex combinations for analog axes:
* Made it possible to add digital controls to axis settings as enables.
* Mix multiple analog controls assigned to an axis setting.
* Added a "reverse" modifier for analog controls (useful with mixing).
* Fixed an issue assigning mouse axes using multiple mouse-like devices
  with -nomultimouse.

-frontend: More cleanup:

* Got rid of some abuse of "special main menus".
* Added a helper class for auto-pause menus that don't spawn submenus.
* Got rid of the fake menu that schedules an exit on the first frame.
* Turned the confirm quit prompt into a menu, eliminated one more
  special-cased event loop.
* Fixed the confirm quit prompt resuming if you return to emulation if
  you weren't paused to begin with.

-bus/centronics: Fixed conflicting DIP locations, reversed order and
 inverted polarity for Epson printers.

* Also added the LX-810 (without L suffix) DIP switches for reference -
  we don't have a device for this printer yet.
2021-11-06 13:52:48 +11:00
Vas Crabb
18a6113655 Two small fixes (bad menu flags in cheat plugin, copy/paste in docs). 2021-11-04 11:41:46 +11:00
Vas Crabb
13612bbe0f -emu/ioport.cpp: Fixed some default setting handling issues.
* Issues were unlikely to actually manifest unless you use controller
  configuration files to change specific system input defaults.

-src/emu/output.h: Added size accessor to multi-element output finder.

* std::size will work on the top rank of an outut finder now.  Sorry for
  hitting emu.h again so soon.

-lua: Exposed a couple more input related things.

* Exposed constructor and a few methods on input_seq required for
  scripts to properly clear assignments or restore default settings.
* Exposed ioport_manager::set_type_seq which is required to configure
  general input assignments properly.
* Removed unnecessary use of sol::overload in favour of optional
  parameters.
* Updated documentation and also fixed a few errors.

-docs: Added description for axis setting assignments.
2021-11-04 03:11:29 +11:00
Vas Crabb
d29287e092 -emu/ioport.cpp: Made default behaviour better.
* If an input is configured to some combination of controls that are not
  present at all, ignore the setting altogether for the session.
* Fixed relative axes with PORT_RESET not responding to absolute
  controls (MT07685).
* Fixed relative axes not responding to an absolute control if the value
  doesn’t change every frame (eg. holding a stick against the stop).
* Changed the scaling for absolute controls assigned to relative axes to
  make defaults more sane (e.g. arkanoid or spdheat with a joystick).

-frontend: Fixed some localisation issues in Analog Controls menu.

-docs: Added documentation on assigning inputs.
2021-11-03 19:41:40 +11:00
Vas Crabb
8ab63e2072 Fix various usability issues:
frontend: Made it so you can press UI On Screen Display to hide the
Analog Controls menu and see the response to your inputs without the
risk of changing settings, and see more axes at once and scroll them for
systems with very large number of axes.  Also ensure the axis being
configured is visible when the menu is visible, and made the menu behave
a bit more like the system input assignments menu (including
previous/next group navigation).

frontend: Allow Lua to draw to the UI container - this addresses the
main complaint in #7475.  Note that drawing to the UI container will
draw over any UI elements, including menus.  Plugins can check
menu_active to avoid drawing over menus.  Also removed some unnecessary
use of sol::overload.

frontend: Improved info/image box navigation on the system/softwre
selection menus, and cleaned up some leftover code that came from the
copy/pasted event handling functions.

frontend: Fixed sliders menu not handling Alt+Shift as intended (thanks
Coverity).  Fixed a couple of harmless Coverity errors, too.

emu/inpttype.ipp: Made the default assignment for Save State recognise
right shift.

plugins: Added next/previous group navigation to input macro edit menu.

docs: Added basic description of the system and software selection
menus, and corrected a couple of errors in the Lua reference.
2021-11-02 07:53:18 +11:00
Vas Crabb
d64ea5331b
-frontend: Refactored menu event handling and fixed a number of issues. (#8777)
* Moved common code for drawing about box, info viewer, and other text box menus to a base class; removed the last of the info viewer logic and the multi-line item hack from the base menu class.
* Added previous/next group navigation for general inputs and plugin input selection menus.
* Moved message catalog logic to lib/util, allowing osd and emu to use localised messages.
* Made the base menu class use the UI manager’s feature for holding session state rather than a static map and mutex.
* Improved menu event handling model, and fixed many issues, particularly with menus behaving badly when hidden/shown.
* Added better support for menus that don’t participate in the usual menu stack, like the menuless sliders and the save/load state menus.
* Made a number of menus refresh state when being shown after being hidden (fixes MT08121 among other issues).
* Fixed indication of mounted slot option in the slot option details menu.
* Improved appearance of background menus when emulation isn't running - draw all menus in the stack, and darken the background menus to make the edges of the active menu clearer.
* Fixed locale issues in -listxml.

-debugger: Made GUI debuggers more uniform.
* Added new memory view features to Win32 debugger.
* Fixed spelling of hexadecimal in Cocoa debugger and added decimal address option.
* Fixed duplicate keyboard shortcut in Cocoa debugger (Shift-Cmd-D was both new device window and 64-bit float format).
* Made keyboard shortcuts slightly more consistent across debuggers.

-plugins: Moved input selection menu and sequence polling code to a common library.  Fixed the issue that prevented keyboard inputs being mapped with -steadykey on.

-docs: Started adding some documentation for MAME's internal UI, and updated the list of example front-ends.

-Regenerated message catalog sources.  For translators, the new strings are mostly:
* The names of the inputs provided by the OS-dependent layer for things like fullscreen and video features. These show up in the user interface inputs menu.
* The names for automatically generated views. These show up in the video options menu - test with a system with a lot of screens to see more variants.
* The input macro plugin UI.
* A few format strings for analog input assignments.
* A few strings for the about box header.
2021-10-31 12:31:16 +11:00
Vas Crabb
669b1f6ade -docs: Started documenting plugins.
* Also added a couple of missing command-line options, and added a local
  table of contents to the (rather long) command line options page.

-Added a separate CI target for localisation updates that produces an
 artefact, and removed the message catalogs from the trigger paths for
 the Linux CI build.
2021-10-24 05:48:05 +11:00
Vas Crabb
2a14b9446d docs: Still more cleanup on the FAQ page. 2021-10-22 07:39:06 +11:00
Vas Crabb
95ae7be39a docs: More adjustments. 2021-10-22 07:19:32 +11:00
Robbbert
a6055409ba commonissues.rst: Fixed bad English. 2021-10-22 04:17:26 +11:00
Vas Crabb
aa3643d5b7 plugins/timer: Fixed ticking when menu is left on the screen. 2021-10-22 03:46:00 +11:00
Vas Crabb
7834d689bd -docs: Documented debugger's built-in functions for expressions.
-Fixed a couple of coverity warnings.
2021-10-19 10:01:02 +11:00
Vas Crabb
fd6309ee91 frontend: Keep cleaning up.
Got rid of one of the UI audit inputs.  There only needs to be one, and
the options can be presented in the confirmation menu.  Two secret
keystrokes is too confusing.  Also got rid of the long-obsolete UI
Toggle Debugger input.

Added audit media button to the toolbar so it's a bit less opaque, and
it can be accessed with a mouse/trackball (not just by knowing the key
mapping).

Made default I/O port names localisable.

Made autofire plugin save port fields using the { port, mask, type }
tuple, the same way MAME does.  Unfortunately this will break existing
autofire configuration, but it should be more stable going forward.

Added some more UI keys to the default key mappings documentation.
2021-10-11 13:14:31 +11:00
Vas Crabb
4f495994c4 -ui: Made zoom controls a bit more intuitive.
* The UI controls are described as zoom in/out, but they had the
  opposite effect on the palette and tile viewers.  That has been
  changed to make them consistent with the tilemap viewer.
* Made the default zoom key not act as a toggle.  People are familiar
  with the function of Ctrl+0/=/- in web browsers, so making them behave
  similarly in MAME should make it more approachable.  Also added the
  default zoom key to the relevant documentation page.
* Implemented the default zoom key for the palette and tile viewers.
* In the tilemap viewer, if the view is in default expand to fit mode,
  zoom in/out starting from the actual zoom ratio.  Once again, this
  behaves more like the zoom controls in a web browser displaying an
  image so it should be more intuitive.
* Made more messages from the tilemap viewer localisable.

-util/zippath.cpp: Fixed MT08074.

* There were multiple issues at play here.  After #8443 was applied,
  is_root was simply never returning true on Windows, as OSD_WINDOWS
  isn't actually defined outside libosd and libocore.  This caused
  phantom parent items to appear in disk roots on Windows, but it meant
  that the check in zippath_resolve would always fail so the trailing
  backslash would be trimmed.  Fixing the macro test in is_root meant
  the trailing backslash from C:\ would no longer be trimmed, which
  caused the stat in zippath_resolve to fail.

-bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost.

-Reduced tag map lookups in several drivers and devices.

-util/coretmpl.h: Removed an overload of bitswap that can be avoided
 using if constexpr.

-Added doxygen comments to some classes, and fixed several doxygen
 warnings.

-util, osd: Test for _WIN32 rather than WIN32.

* In C++17 mode, WIN32 is no longer a predefined macro, although various
  things in 3rdparty define it to maintain legacy support.  We're better
  off moving forward anyway for when WIN32 disappears entirely.  (WIN32
  is not a reserved name, while _WIN32 is, starting with an underscore
  follwed by an uppercase letter.)
2021-09-06 06:34:42 +10:00
Olivier Galibert
6209c13ae8 Remove leftover mame64 from docs 2021-05-25 15:45:13 +02:00
Vas Crabb
73cd2b55b8 Docmumentation update/expansion. [Firehawke, Vas Crabb] 2021-05-07 03:41:10 +10:00
Firehawke
7f84a651d7
Change "mame64" to "mame" in docs (#7709) 2021-01-29 00:59:06 +11:00
Vas Crabb
d85735634c version bump for 0.227, some documentation clean-up 2020-12-31 02:46:10 +11:00
AJR
174630bc70 docs: Fix mistake on which key was SDL-specific and which was non-SDL 2020-12-24 13:41:38 -05:00
AJR
c4622a64ab docs: Update list of default keys due to recent removals 2020-12-24 13:35:55 -05:00
Vas Crabb
ac04c377a9 Optimise some SVG images 2020-10-09 15:52:07 +11:00
Vas Crabb
688db69e4c -emu/rendlay.cpp: Small optimisation for opaque pixels in image component.
-machine/pc1512kb.cpp: Put \| and #~ on the right keys by default.

-docs: Re-organised default keys, added P2-4 defaults, added mahjong panel diagram.
2020-09-19 21:07:14 +10:00
Vas Crabb
0c05da59fd Fix artwork labeld for tisub buttons 2020-09-16 16:47:29 +10:00
Vas Crabb
b1f32927f3 Cleaned up inputs a little.
Removed the IPT_POKER_BET, replacing it with IPT_GAMBLE_BET.

Re-organised the order of input types in the source and the
documentation to better reflect how they're logically grouped or
organised on a mahjong or gambling control panel.

Made the blackjack, poker and slots documentation headings subheadings
under the gambling heading.

Cleaned up inputs for a number of gambling games.
2020-09-16 16:37:22 +10:00
Firehawke
25397ebfda
Docs: Overhaul the default keys list (#7222)
* Docs: Overhaul the default keys list

* Second phase of documenting default inputs better, also change Score to Take Score in Mahjong inputs

* Phase two of default keys docs adjustment.
2020-09-16 11:12:02 +10:00
Firehawke
7b6dbd7a14
First completed pass of commandline parameters. (nw) (#6711)
* First completed pass of commandline parameters. (nw)

* Further refinements on commandline (nw)

* Get the audio latency numbers right and add PortAudio info.

* FreeSync/GSync information cleanup.

* Minor additions to G-Sync/FreeSync.

* Add tip for keyboardprovider, remove biospath, correct anchor positioning (nw)

* A few corrections per Vas (nw)
2020-06-12 14:26:28 +10:00
Firehawke
a10af356cc Update documentation (nw)
* Update MAME docs revision to 0.216
* Add FAQ question about autofire with walkthrough of setup process.
* Add VSCode .gitignore for RST compilation temporary folder (/docs/source/_build)
* Add a caveat about autofire+normal fire mapping
* Add -lowlatency to the docs.
2019-11-25 18:51:44 +11:00
Firehawke
a2e218f853 Clean up phrasing a bit on input from MG (nw) 2018-10-19 17:02:01 -07:00
Firehawke
ae97f80cb3 Update FAQ (nw) with HLSL/BGFX update info, old external OPL2 support information 2018-10-19 16:47:47 -07:00
Firehawke
43aa0dbc75 Reword the entire merged set example to avoid long sentence soup (#3857)
* Reword the entire merged set example to avoid long sentence soup, also clarify parent/clone (nw)

* Per request, adjust phrasing slightly more. (nw)
2018-08-17 14:43:01 +10:00
Wellington Uemura
1b47072e49 Fix a typo (found by Wellington Uemura, @katananja) and...
... also replace the '--' by a Harvard comma, as suggested by @cuavas.
(see also: pull request #3805)
2018-08-09 18:49:06 -03:00
Vas Crabb
6669489679 allow repeating elements and groups - useful if you need e.g. a lot of numbered labels, but it limits complay.py's ability to check for invalid references as it can't evaluate expressions (nw) 2018-07-22 09:52:50 +10:00
Firehawke
52667a4b20 Basic anchor links for FAQ page (#2975) 2017-12-27 14:23:37 -05:00
vadosnaprimer
7e7f2fafd0 rewind implementation fixes and improvements
- reset scheduler savestate to what it was for years before rewind
-- changing saved variables should be done after thorough testing. right now, adding some vars breaks some machines, adding other vars breaks others
- switch to megabyte-wise capacity
-- savestate size greatly differs between machines, relying on state count is unstable
- switch to internal indexing
-- no longer depends on inaccurate machine time
- rewind accelerator key in debugger (Ctrl+F11)
- report capacity hit (once), with some useful info
- make error reports saner
- mention rewind and rewind_capacity in the docs
2017-12-22 04:39:14 +03:00
Stiletto
580898e4ca (nw)
(nw)
2017-06-25 10:34:31 -04:00
Vas Crabb
66f1cb5f3a srcclean again (nw) 2016-11-30 07:04:04 +11:00
Firehawke
ce943bd45b NW - More documentation updates..
* Fix a few 'mess' references.
* Add important note for -listslots
* FAQ: Wouldn't MAME be faster if X?
2016-10-29 23:32:36 -07:00
Firehawke
9d93c07c66 First draft on ROM management for newbies, FAQ entry on common problems with unofficial builds 2016-09-05 00:21:23 -07:00
Miodrag Milanovic
cb30b9d307 Added documentation to main tree (nw) 2016-08-24 15:16:43 +02:00