summaryrefslogtreecommitdiffstatshomepage
path: root/docs
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2020-12-20 15:28:27 +1100
committer Vas Crabb <vas@vastheman.com>2020-12-20 15:28:27 +1100
commited872d1bd2a8c50086c1fe4f97420a065f249eb1 (patch)
tree2f1edc26b22ac9f9e30bd218600161d9529e6b69 /docs
parent25294ce9cdd4dde807f931fc2e28046db3b4ad39 (diff)
Fix some oversights and emergent behaviour with view selection.
Exposed the "native snapview" option on the video manager. Trying to use presence of a single view is a poor proxy that breaks with multi-screen systems. Allow rotation to be changed for native snapshot views, and disable the zoom to screen area control when it has no effect on the selected view. Treat an empty string identically to "auto" for view selectction. Previously this was being used for prefix matching so it would force the first view. (This caused the bad snapshot view selection. It had been relying on "internal" not being a common view name prefix so it fell through to automatic selection, but when changed to an empty string it forced the first view.) Documented "auto" as well as "native" for the -snapview option and changed the default to auto rather than an empty string for consistency with the -viewN options. Added [w]string_view handlers to the stuff that's instantiated in strformat.cpp since we'll be increasingly using them. Cleaned up and updated some documentation.
Diffstat (limited to 'docs')
-rw-r--r--docs/source/commandline/commandline-all.rst51
-rw-r--r--docs/source/techspecs/luareference.rst12
2 files changed, 36 insertions, 27 deletions
diff --git a/docs/source/commandline/commandline-all.rst b/docs/source/commandline/commandline-all.rst
index f05c5b6b479..f83716f5866 100644
--- a/docs/source/commandline/commandline-all.rst
+++ b/docs/source/commandline/commandline-all.rst
@@ -1617,25 +1617,29 @@ Core State/Playback Options
**-snapview** *<viewname>*
- Specifies the view to use when rendering snapshots and movies.
+ Specifies the view to use when rendering snapshots and videos. The
+ *<viewname>* does not need to be the full name of a view, MAME will choose
+ the first view with a name that has the *<viewname>* as a prefix. For
+ example **-snapview "screen 0 pixel"** will match the
+ “\ *Screen 0 Pixel Aspect (10:7)*\ ” view.
- By default, both use a special 'internal' view, which renders a separate
- snapshot per screen or renders movies only of the first screen. By
- specifying this option, you can override this default behavior and select a
- single view that will apply to all snapshots and movies. Note that
- <viewname> does not need to be a perfect match; rather, it will select the
- first view whose name matches all the characters specified by <viewname>.
+ If the *<viewname>* is ``auto`` or an empty string, MAME will select a view
+ based on the number of emulated screens in the system, and the available
+ external and internal artwork. MAME tries to select a view that shows all
+ emulated screens by default.
- For example, **-snapview native** will match the "Native (15:14)" view even
- though it is not a perfect match. <viewname> can also be 'auto', which
- selects the first view with all screens present.
+ If the *<viewname>* is ``native``, MAME uses special internal view to save a
+ separate snapshot for each visible emulated screen, or to record a video for
+ the first visible screen only. The snapshot(s) or video will have the same
+ resolution as the emulated screen(s) with no artwork elements drawn or
+ effects applied.
- The default value is ``internal``.
+ The default value is ``auto``.
Example:
.. code-block:: bash
- mame64 pang -snapview pixel
+ mame64 wrecking -snapview cocktail
.. _mame-commandline-nosnapbilinear:
@@ -1643,7 +1647,7 @@ Core State/Playback Options
**-[no]snapbilinear**
Specify if the snapshot or movie should have bilinear filtering applied.
- Shutting this off can improve performance while recording video to a file.
+ Disabling this off can improve performance while recording video to a file.
The default is ON (**-snapbilinear**).
@@ -2402,18 +2406,23 @@ Core Per-Window Options
**-view3** *<viewname>*
- Specifies the initial view setting for each window. The *<viewname>* does
- not need to be a perfect match; rather, it will select the first view whose
- name matches all the characters specified by *<viewname>*. For example,
- **-view native** will match the "*Native (15:14)*" view even though it is
- not a perfect match. The value ``auto`` is also supported, and requests
- that MAME perform a default selection.
+ Specifies the initial view setting for each window/screen. The *<viewname>*
+ does not need to be the full name of a view, MAME will choose the first view
+ with a name that has the *<viewname>* as a prefix. For example
+ **-view "screen 0 pixel"** will match the
+ “\ *Screen 0 Pixel Aspect (10:7)*\ ” view.
+
+ If the *<viewname>* is ``auto`` or an empty string, MAME will select views
+ based on the number of emulated screens in the system, the number of
+ windows/screens MAME is using, and the available external and internal
+ artwork. MAME tries to select views so that all emulated screens are
+ visible by default.
The default value for these options is ``auto``.
The **-view0**, **-view1**, **-view2**, **-view3** parameters apply to the
- specific window. The **-view** parameter applies to all windows. The
- window-specific options override values from the all window option.
+ specific window. The **-view** parameter applies to all windows. The
+ window-specific options override values from the all windows option.
Example:
.. code-block:: bash
diff --git a/docs/source/techspecs/luareference.rst b/docs/source/techspecs/luareference.rst
index cd3f6af4b73..a1042f38db1 100644
--- a/docs/source/techspecs/luareference.rst
+++ b/docs/source/techspecs/luareference.rst
@@ -77,9 +77,9 @@ of device, to find devices of a particular type, or to find devices that
implement a particular interface. When iterating using ``pairs`` or ``ipairs``,
devices are returned by walking the device tree depth-first in creation order.
-The index get operator looks up a device by tag. It returns ``nil`` no device
-with the specified tag is found, or if the device with the specified tag does
-not meet the type/interface requirements of the device enumerator. The
+The index get operator looks up a device by tag. It returns ``nil`` if no
+device with the specified tag is found, or if the device with the specified tag
+does not meet the type/interface requirements of the device enumerator. The
complexity is O(1) if the result is cached, but an uncached device lookup is
expensive. The ``at`` method has O(n) complexity.
@@ -383,7 +383,7 @@ screen.pixel_period (read-only)
screen.scan_period (read-only)
The interval taken to draw a scan line (including the horizontal blanking
interval), as a floating-point number in units of seconds.
-screen.pixel_period (read-only)
+screen.frame_period (read-only)
The interval taken to draw a complete frame (including blanking intervals),
as a floating-point number in units of seconds.
screen.frame_number (read-only)
@@ -619,8 +619,8 @@ Slot option
~~~~~~~~~~~
Wraps MAME’s ``device_slot_interface::slot_option`` class, which represents a
-child device that a :ref:`slot device <luareference-dev-dislot>` slot device can
-be configured to instantiate.
+child device that a :ref:`slot device <luareference-dev-dislot>` can be
+configured to instantiate.
Instantiation
^^^^^^^^^^^^^