Documentation update.

This commit is contained in:
Leon Styhre 2023-01-17 18:58:19 +01:00
parent 621165a638
commit 2a7686eafd
3 changed files with 26 additions and 21 deletions

View file

@ -8,13 +8,13 @@
### Release overview
The 2.0 release introduces multiple fundamental changes to the application, most notably a new theme engine with various new concepts. The traditional view styles (basic/detailed/video/grid) have been replaced with only a system and gamelist view in addition to _variants_, which are essentially theme profiles. These are much more flexible than view styles and can be freely defined by the theme author. The new engine is also fully generalized and almost all theme elements can be used anywhere and in unlimited numbers.
The 2.0 release introduces multiple fundamental changes to the application, most notably a new theme engine which brings various new concepts. The traditional view styles (basic/detailed/video/grid) have been replaced with only system and gamelist views in addition to _variants_, which are essentially theme profiles. These are much more flexible than view styles and can be freely defined by the theme author. The new engine is also fully generalized and almost all theme elements can be used anywhere and in unlimited numbers. Many of these elements and properties are new additions as well.
Theme variants, color schemes, aspect ratios and transitions can now be defined by the theme author and are user-selectable from within the menu system. In addition to all this new theme functionality the application is still backward compatible with legacy theme sets.
The renderer has been modernized and rewritten and while still using OpenGL it's now fully shader-based instead of using a fixed function pipeline as was the case in previous releases. Rendering performance has been greatly improved in some areas such as post processing (used for the video player scanline and blur shaders among other things). A new SVG rendering library (LunaSVG) has also been introduced which offers much better file compatibility than before, while doing it with better performance.
The renderer has been modernized and rewritten and while still using OpenGL it's now fully shader-based instead of using a fixed function pipeline as was the case in previous releases. Rendering performance has been greatly improved in some areas such as post processing (used for the video player scanline and blur shaders among other things). A new SVG rendering library named LunaSVG has been introduced which offers much better file compatibility than before, while doing it with better performance.
Overall application performance has been greatly improved with faster startup times, less latency and lower CPU utilization. Many bugs have been fixed and multiple quality of life improvements have been made. Support for a lot more standalone emulators is also included with this release, see below for more details.
Overall application speed and performance has been greatly improved with faster startup times, less latency and lower CPU utilization. Many bugs have been fixed and multiple quality of life improvements have been made. Support for a lot more standalone emulators is also included with this release, see below for more details.
### Detailed list of changes
@ -86,11 +86,13 @@ Overall application performance has been greatly improved with faster startup ti
* (Linux) Added FinalBurn Neo standalone as an alternative emulator for the arcade, cps, fbneo, mame, neogeo, neogeocd and neogeocdjp systems
* (Windows) Added FinalBurn Neo standalone as an alternative emulator for the arcade, cps, fbneo, mame and neogeo system
* Set DOSBox-X and DOSBox Staging to start in the game directory so per-game dosbox.conf files can be used
* Changed the fullname for the 3do system from "3DO" to "The 3DO Company 3DO"
* Changed the fullname for the atomiswave system from "Atomiswave" to "Sammy Corporation Atomiswave"
* Changed the fullname for the bbcmicro system from "BBC Micro" to "Acorn Computers BBC Micro"
* Changed the fullname for the colecovision system from "ColecoVision" to "Coleco ColecoVision"
* Changed the fullname for the dragon32 system from "Dragon 32" to "Dragon Data Dragon 32"
* Changed the fullname for the samcoupe system from "SAM Coupé" to "MGT SAM Coupé"
* Changed the fullname for the uzebox system from "Uzebox" to "Uzebox Open Source Console"
* Changed the fullname for the vectrex system from "Vectrex" to "Smith Engineering Vectrex"
* (macOS) Added an additional find rule entry for DOSBox-X as the binary name has been changed
* (Linux) Added Flatpak support for Mednafen using the Mednaffe package

View file

@ -1109,14 +1109,15 @@ Due to the potential confusion caused by the above configuration it's recommende
It's important to understand how the theme configuration files are parsed in order to avoid potentially confusing issues that may appear to be bugs. The following order is always used:
1) Variables
2) Color schemes
3) Included files
4) "General" (non-variant) configuration
5) Variants
6) Aspect ratios
1) Transitions
2) Variables
3) Color schemes
4) Included files
5) "General" (non-variant) configuration
6) Variants
7) Aspect ratios
When including a file using the `<include>` tag (i.e. step 3 above) then all steps listed above are executed for that included file prior to continuing to the next line after the `<include>` tag.
When including a file using the `<include>` tag (i.e. step 4 above) then all steps listed above are executed for that included file prior to continuing to the next line after the `<include>` tag.
For any given step, the configuration is parsed in the exact order that it's defined in the XML file. Be mindful of the logic described above as for instance defining variant-specific configuration above general configuration in the same XML file will still have that parsed afterwards.
@ -1665,7 +1666,7 @@ Instances per view:
Properties:
* `pos` - type: NORMALIZED_PAIR
* `size` - type: NORMALIZED_PAIR
- If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case.
- If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. This property takes precedence over `maxSize` if both properties are defined.
- Minimum value per axis is `0.001` and maximum value per axis is `3`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio.
* `maxSize` - type: NORMALIZED_PAIR
- The image will be resized as large as possible so that it fits within this size while maintaining its aspect ratio. Use this instead of `size` when you don't know what kind of image you're using so it doesn't get grossly oversized on one axis (e.g. with a game's image metadata). Although this property is possible to combine with the `tile` property that does not make a whole lot of sense, instead use the `size` property for tiled images.
@ -1771,7 +1772,7 @@ Instances per view:
Properties:
* `pos` - type: NORMALIZED_PAIR
* `size` - type: NORMALIZED_PAIR
- If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the static image's aspect ratio and the video's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.01 0.01` in this case.
- If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the static image's aspect ratio and the video's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.01 0.01` in this case. This property takes precedence over `maxSize` if both properties are defined.
- Minimum value per axis is `0.01` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio.
* `maxSize` - type: NORMALIZED_PAIR
- The static image and video will be resized as large as possible so that they fit within this size while maintaining their aspect ratios. Use this instead of `size` when you don't know what kind of video you're using so it doesn't get grossly oversized on one axis (e.g. with a game's video metadata).
@ -1867,7 +1868,7 @@ Properties:
#### animation
GIF and Lottie (vector graphics) animations. The type of animation is automatically selected based on the file extension with `.gif` for GIF animations and `.json` for Lottie animations. Note that Lottie animations take a lot of memory and CPU resources if scaled up to large sizes so it's adviced to not add too many of them to the same view and to not make them too large. GIF animations on the other hand are not as demanding except if they're really long and/or high-resolution.
GIF and Lottie (vector graphics) animations. The animation type is automatically selected based on the file extension with `.gif` for GIF animations and `.json` for Lottie animations. Note that Lottie animations take a lot of memory and CPU resources if scaled up to large sizes so it's adviced to not add too many of these to the same view and to not make them too large. GIF animations on the other hand are not as demanding except if they're really long and/or of high resolution.
Supported views:
* `system `
@ -1879,7 +1880,11 @@ Instances per view:
Properties:
* `pos` - type: NORMALIZED_PAIR
* `size` - type: NORMALIZED_PAIR
- If only one axis is specified (and the other is zero), the other will be automatically calculated in accordance with the animation's aspect ratio. Note that this is sometimes not entirely accurate as some animations contain invalid size information.
- If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the animation's aspect ratio. Note that this is sometimes not entirely accurate as some animations contain invalid size information. Setting both axes to 0 is an error and the size will be clamped to `0.01 0.01` in this case. This property takes precedence over `maxSize` if both properties are defined.
- Minimum value per axis is `0.01` and maximum value per axis is `1`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio.
* `maxSize` - type: NORMALIZED_PAIR
- The animation will be resized as large as possible so that it fits within this size while maintaining its aspect ratio. Note that this is sometimes not entirely accurate as some animations contain invalid size information.
- Minimum value per axis is `0.01` and maximum value per axis is `1`
* `origin` - type: NORMALIZED_PAIR
- Where on the element `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the element exactly in the middle of the screen. If the position and size attributes are themeable, origin is implied.
- Minimum value per axis is `0` and maximum value per axis is `1`
@ -1895,17 +1900,15 @@ Properties:
- By default game metadata and media are faded out during gamelist fast-scrolling and text metadata fields, ratings and badges are hidden when enabling the _Hide metadata fields_ setting for a game entry. Using this property it's possible to explicitly define animation elements that should be treated as if they were game media files. This is for example useful for hiding and fading out animations that are used as indicators for the various metadata types like genre, publisher, players etc.
- Default is `false`
* `path` - type: PATH
- Path to the animation file. Only the .json extension is supported.
- Path to the animation file. Only .gif and .json extensions are supported.
* `speed` - type: FLOAT.
- The relative speed at which to play the animation.
- Minimum value is `0.2` and maximum value is `3`
- Default is `1`
* `direction` - type: STRING
- The direction that the animation should be played. Valid values are `normal` (forwards), `reverse` (backwards), `alternate` (bouncing forwards/backwards) and `alternateReverse` (bouncing backwards/forwards, i.e. starting with playing backwards).
- The direction that the animation should be played.
- Valid values are `normal` (forwards), `reverse` (backwards), `alternate` (bouncing forwards/backwards) and `alternateReverse` (bouncing backwards/forwards, i.e. starting with playing backwards).
- Default is `normal`
* `keepAspectRatio` - type: BOOLEAN.
- If true, aspect ratio will be preserved. If false, animation will stretch to the defined size. Note that setting to `false` is incompatible with only defining one of the axes for the `size` element.
- Default is `true`
* `interpolation` - type: STRING
- Interpolation method to use when scaling GIF animations. Nearest neighbor (`nearest`) preserves sharp pixels and linear filtering (`linear`) makes the image smoother. This property has no effect on Lottie animations.
- Valid values are `nearest` or `linear`

View file

@ -3058,7 +3058,7 @@ The **@** symbol indicates that the emulator is _deprecated_ and will be removed
| System name | Full name | Default emulator | Alternative emulators | Needs BIOS | Recommended game setup |
| :-------------------- | :--------------------------------------------- | :-------------------------------- | :-------------------------------- | :----------- | :----------------------------------- |
| 3do | 3DO | Opera | | Yes | |
| 3do | The 3DO Company 3DO | Opera | | Yes | |
| ags | Adventure Game Studio Game Engine | _Native game binaries_ | | No | Shortcut (.desktop/.app/.lnk) file in root folder |
| amiga | Commodore Amiga | PUAE | PUAE 2021 | Yes | See the specific _Commodore Amiga_ section elsewhere in this guide |
| amiga1200 | Commodore Amiga 1200 | PUAE | PUAE 2021 | Yes | See the specific _Commodore Amiga_ section elsewhere in this guide |
@ -3198,7 +3198,7 @@ The **@** symbol indicates that the emulator is _deprecated_ and will be removed
| tic80 | TIC-80 Game Engine | TIC-80 | | No | Single .tic file in root folder |
| to8 | Thomson TO8 | Theodore | | | |
| trs-80 | Tandy TRS-80 | sdl2trs DOS Diskette **(Standalone)** [UW*] | sdl2trs Bootable Diskette **(Standalone)** [UW*],<br>sdl2trs CMD File **(Standalone)** [UW*] | Yes | See the specific _Tandy TRS-80_ section elsewhere in this guide |
| uzebox | Uzebox | Uzem | | | |
| uzebox | Uzebox Open Source Console | Uzem | | | |
| vectrex | Smith Engineering Vectrex | vecx | | No | |
| vic20 | Commodore VIC-20 | VICE xvic | VICE xvic **(Standalone)** [UMW*] | No | Single disk, tape or cartridge image in root folder |
| videopac | Philips Videopac G7000 | O2EM | | | |