Commit Graph

25 Commits

Author SHA1 Message Date
Vas Crabb
520ed5e44b -ui/ui.cpp, ui/videoopt.cpp: Made pointer activity timeout configurable.
-midway/wmg.cpp: Use a memory bank for NVRAM; also got rid of a really pointless trampoline function.
2024-04-18 05:59:03 +10:00
Tom Cariello
30d92e397d
docs: Fixed many editing errors and spelling errors. (#11575)
Also fixed outdated link to contributing guidelines.
2023-09-29 00:41:31 +10:00
Vas Crabb
0562745629 Retired the over-stretched "system type" flags.
Functionally, the only difference between the system definitions is that
GAMEL lets you specify an additional internal layout and SYST lets you
specify a compatible system.  COMP and CONS are just aliases for SYST -
the aliases can be phased out.

Removed arcade.flt and mess.flt altogether - opinion seems to be split
between misinterpreting them as fully supported and considering them
unnecessary.  They were marginally useful as a performance test for
makedep.py, but that isn't important.  We still have nl.flt as an
example .flt file (although it doesn't use "-" exclude directives).

Moved the UI active flag from the machine to the UI manager.  Nothing
else uses it anyway (it's still accessible to scripts).
2023-03-23 14:39:56 +11:00
Vas Crabb
d4589e0b29 Input refactoring:
osd/modules/input, emu/inpttype.cpp: Made most default joystick
assignments supplied by input modules.  Input modules take available
controls into consideration when generating default assignments.

emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel.
You may want an easier to hit combination for moving to the previous
menu than for exiting or cancelling input.  They both default to Escape.

emu/inpttype.ipp: Added a UI Help control.  Currently only used by
analog inputs menu

emu/inpttype.h: Moved I/O port field type enum to its own header and
sorted UI controls so they appear in a more logical order.

ui: Don't use UI Select to restore defaults - people should be getting
used to the UI Clear input by now.  UI Select cycles multi-value items
instead.

ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing
and restoring default assignment (use UI Clear instead).

osd: Reduced the number of files needing to include the dreaded emu.h.
Got some implementation out of headers.
2023-02-18 06:18:45 +11:00
Vas Crabb
b98fb7c98e Small batch of input refactoring:
emu/input.cpp: Fixed regression in display of some joystick inputs.

osd/interface: Split up interface classes into a few more files to
reduce where the input device interface class needs to be included.
Made OSD independent of concrete input_device class.

osd/modules/input, emu/inputdev.cpp, emu/ioport.cpp: Allow input devices
to provide tokens for controls without standard item types and
additional default input assignments.  Fixes issues assigning Yen and
Backslash on Japanese keyboards.

ui/textbox.cpp: Added a fixed-content text box menu class for future
use.

Got main.h out of emu.h as it’s only used in a very small number of
places, mostly for getting the application name.  Added eminline.h to
attotime.h as it's used without emu.h.  Cleaned up forward declarations
in emufwd.h a little.
2023-02-05 05:01:40 +11:00
Vas Crabb
7f2cbc5844 docs: Removed obsolete paragraph about logged device IDs properly (GitHub #10469). 2022-10-25 01:00:20 +11:00
Vas Crabb
b56cd5707f -machine/intelfsh.cpp: Added Macronix 29F008TC (1M*8, 4K*8 pages).
-bgfx: Removed obsolete sample layout files, updated documentation.

New NOT_WORKING software list items (gbcolor.xml)
-------------------------------------------------
Chāojí Gédòu 2001 Alpha (Taiwan) [taizou]
Gédòu Jiàn Shén - Soul Falchion (Taiwan) [taizou]
2022-09-06 07:05:25 +10:00
Vas Crabb
051c380fd1 Patched up some gaps in functionality and fixed some bugs.
ui: Added some missing functionality:
* Added an option to copy input device IDs to the relevant menus.
* Added an item for setting the software lists files path (-hashpath) to
  the folder setup menu.
* Allow pasting text from clipboard in most places that allow typing
  (searching, entering filenames, entering barcodes).
* Changed the software selection menu heading to be a bit less
  misleading.
* Made barcode menu less eager to rebuild itself unnecessarily, and
  removed some confusing and apparently pointless code.

Exposed more Lua bindings:
* Added low-level palette objects.
* Added indexed bitmap types.
* Added a bitmap method for extracting pixels from a rectangular area as a
  packed binary string.
* Changed screen device pixels method to return width and height in
  addition to the pixels.

osd: Added some functionality and cleaned up a little:
* Added a function for copying text to the clipboard.
* Moved function for converting Windows error codes to standard error
  conditions to winutil.cpp so it can be used from more places.
* Removed duplicate declaration of osd_get_clipboard_text and made the
  function noexcept (including fixing implementations).
* Made macOS implementation of osd_get_clipboard_text skip the encoding
  conversion if it finds UTF-8 text first.
* Changed the default -uimodekey setting so it doesn't lose the "not
  shift" that stops the default from interfering with UI paste.

Various bug fixes:
* util/unicode.cpp: Fixed the version of utf8_from_uchar that returns
  std::string blowing up on invalid codepoints.
* util/bitmap.h: Fixed wrapping constructors for indexed bitmaps taking
  the wrong parameter type (nothing was using them before).
* util/bitmap.cpp: Fixed potential use-after-free issues with bitmap
  palettes.
* emu/input.cpp, emu/inputdev.cpp: Log 1-based device numbers, matching
  what's shown in the internal UI and used in tokens in CFG files.
* emu/emumem.cpp: Added the bank tag to a fatal error message where it
  was missing.

docs: Reworked and expanded documentation on configuring stable
controller IDs.

For translators, the changes are quite minor:
* There's a menu item for copying a device ID to the clipboard, and
  associated success/failure messages.
* There's the menu item for setting the software list file search path.
* One of the lines in the software selection menu heading has changes as
  it could be interpreted as implying it showed a software list name.
2022-09-02 08:55:16 +10:00
Vas Crabb
f47f9c3db3
ui, docs: Added menus to fill a couple of gaps, improved consistency. (#9915)
Added menus for controlling toggle inputs, and showing recognised input
devices and control state.  Moved input menu options off main menu to a
submenu, as there are a lot of them now.

Moved menu heading drawing into base class, added headings to more
menus, and made headings more consistent with the menu items used to
reach them.  Also made terminology more consistent.

Changed the default names for buttons and hat switches/D-pads to use
1-based numbering.  DirectInput still returns 0-based button numbers for
some devices.

Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2
package.  Also fixed building the DirectSound sound output module with
the SDL OSD on Windows - the Windows headers are sensitive to include
order.

Started adding documentation for menus, to hopefully help people find
menus they remember seeing but can't recall how to access.

For translators, this makes terminology more consistent.  In particular:
* "Settings" is preferred over "configuration" in a number of places, as
  the latter can be construed as referring specifically to settings
  stored in .cfg files in the cfg_directory folder.  Also, references to
  saving machine configuration could be interpreted as relating to the
  settings on the "Machine Configuration" menu.
* The controls on host input devices (e.g. keys, buttons, joystick axes)
  are referred to as "controls", while emulated inputs are referred to
  as "inputs".
* The menus for assigning host controls to emulated inputs are called
  "input assignments" menus to distinguish them from other input
  settings menus.
* Combinations of controls that can be assigned to emulated inputs are
  referred to as "combinations" rather than "sequences".
* The potentially confusing term "ROM set" has been removed altogether.
  Use "short name" to refer to a device or system's identifier.
* "System" is used in almost places to refer to a complete, runnable
  system rather than "Machine".
* "Driver" is now only used to refer to source files where systems or
  devices are defined - it is no longer used to refer to individual
  systems.
* A few more menus have message context for the messages.  This makes it
  a bit easier to guess where the messages are used.  It also means you
  can use different translations in different places if necessary (e.g.
  if the same English text should be translated differently as an item
  in one menu and as a heading in another).
2022-06-11 21:47:19 +10:00
Vas Crabb
3715746131 API cleanups and miscellaneous fixes.
emu/ioport.cpp: Allow controller files to override input sequences for
inputs that don't use defaults, and to override the toggle setting for
digital inputs.

emu/config.cpp: Expose configuration level (mostly matters for
controller files), improved verbose diagnostic messages, and moved a few
things out of the global and preprocessor namespaces.

docs: Added documentation for some controller configuration file
features.  The device mapping feature documentation will be merged in at
some point.

util/unicode.cpp, emu/input.cpp: API cleanups.
2021-07-15 13:54:40 +10:00
algestam
d6bddeed59 doc: document vulkan and d3d12 as possible bgfx rendering backends (nw) 2019-11-06 20:17:13 +11:00
Firehawke
50d72f5e71 Overhaul to advanced gun instructions (nw)
This cleans up spelling and other issues in the original text.

This work is still prototype and will probably require fine-tuning between Vas and myself.
2019-05-28 22:24:26 -07:00
Kiall Mac Innes
526e2cb3b1 Document Linux Lightguns with Xinput
Add a new doc page within the 'Advanced Configuration' section which
describes how to enable Lighuns on Linux using the XInput lightgun
provider.
2019-04-21 12:57:51 -07:00
Vas Crabb
97b6717027 (nw) Clean up the mess on master
This effectively reverts b380514764 and
c24473ddff, restoring the state at
598cd52272.

Before pushing, please check that what you're about to push is sane.
Check your local commit log and ensure there isn't anything out-of-place
before pushing to mainline.  When things like this happen, it wastes
everyone's time.  I really don't need this in a week when real work™ is
busting my balls and I'm behind where I want to be with preparing for
MAME release.
2019-03-26 11:13:37 +11:00
andreasnaive
b380514764 Revert "conflict resolution (nw)"
This reverts commit c24473ddff, reversing
changes made to 009cba4fb8.
2019-03-25 23:13:40 +01:00
Vas Crabb
64c1f2eb5b make INI file loading examples match current behaviour at least (nw) 2019-01-12 05:37:24 +11:00
Firehawke
6432d66037 Case sensitivity training for INI (nw) (#4455)
* Case sensitivity training for INI (nw)

The world is not 100% Windows, so case sensitvity is needed.

* Further standardization of the formatting (nw)

More to go...

* Pass 2 of new formatting wave (nw)

More to go, though.

* wave 3 of formatting cleanup (nw)

Further adjustments and cleanups, including unwanted tabs.

* Correct filtering instructions (nw)
2019-01-03 04:05:21 +11: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
Vas Crabb
66f1cb5f3a srcclean again (nw) 2016-11-30 07:04:04 +11:00
ImJezze
e6580c50a2 Corrected HLSL documentation
- removed -antialias option (does not exist anymore)
- added missing -vector_beam_smooth option
- fixed suggested default values for -bloom_lvl_weights options (were messed up in the last update)
2016-11-14 15:59:15 +01:00
Tomer Verona
845b36dae2 Adding id() property to input_device
This change adds id() property to input_device, which represents the
unique device id. This allows the osd layer when creating a device to
pass a friendly display name along with a unique identifier.

Currently the device id is only used to map a physical controller device
to controller id, but can be used more generally in the future. For raw
input devices, we use the full raw input name as the device id. For all
other devices, we fall back to device name as the device id. The
"uniqueness" of the device id is not currently enforced in code.
2016-09-20 12:19:58 -07:00
Tomer Verona
32ea8266a3 A couple of fixes
- Fix null-reference exception when mapping device to unused (null)
controller index
- Restrict device map to controller configs
2016-09-20 01:24:36 -07:00
Tomer Verona
0ed1ce5663 Tweak info message 2016-09-14 17:53:34 -07:00
Tomer Verona
2bd18d5fea Support for configuring device to conrtoller id
This change adds support for configuring device to conrtoller id. This
allows for stable controller ids even if USB devices are plugged /
unplugged, system is rebooted, etc.

See documentation for additional context.
2016-09-12 18:35:36 -07:00
Miodrag Milanovic
cb30b9d307 Added documentation to main tree (nw) 2016-08-24 15:16:43 +02:00