pandemonium_engine_minimal/platform/frt/doc/Extensions.md

102 lines
3.3 KiB
Markdown
Raw Normal View History

2023-12-14 21:54:22 +01:00
Extensions
==========
FRT provides a few non-intrusive extensions compared to the official
godot platforms. Note that some of them might be removed in the future
if the official godot starts to provide other means to address the same
issues.
## Command Line
When you invoke godot, arguments starting from the option `--frt` are
intercepted by FRT. For example:
godot.frt.opt.pi1 myscene.tscn --frt -h
will not start godot. Instead, a message like the following is printed
to stdout:
usage: godot.frt.opt.pi1 [godot args] [--frt [options] [param=value...]]
options:
-v show version and exit
-h show this page and exit
-p perfmon.csv save performance monitor data
-e resource extract resource
params:
color_size
alpha_size
depth_size
multisample
disable_meta_keys
blacklist_video_bcm
exit_on_shiftenter
The performance monitor data has been added because I have found that a
non-optimized build of godot/frt is much slower than an optimized build,
so letting the optimized build dump data to be analyzed later is a
better alternative than to try to connect to an editor from a
non-optimized build.
Resource extraction makes it easy to embed small files in single-file
games. For example, if you export a standard 2.1.3 project as an EXE
using the Linux template, but giving the editor `godot.frt.opt.pi1` as a
custom binary, you end up with a single file, say `mygame` that you can
gzip and distribute.
Users should be able to just run the game, but they could also type:
mygame --frt -e README.md
to extract a README file.
Only resources in the res://frt/ folder can be extracted this way, and
there are strict limits on the characters that you can use for the name
of the resource (the first character must be alphanumeric - the
following ones can also be '.', '-' and '\_').
## Parameters
You can add some options in the custom section "frt" of the project
settings. The section is not required and is in any case ignored by the
standard godot platforms.
For example, adding this:
[frt]
depth_size = 24
multisample = true
to `engine.cfg` will allow you to tune the engine.
You can also override or set the values from the command line. For
example, if you have a third-party game that shows some artifacts that
you suspect might be due to godot/frt using a 16-bit depth buffer by
default, you can try running it like this:
godot.frt.opt.pi1 --frt depth_size=24
### Disabling the meta keys
If you already provide a way to close the game (for example, using an
in-game menu), you might prefer to disable the handling of meta keys
by FRT.
Be careful that, since FRT grabs the keyboard when running without X11,
the user might not be able to quit the game in any other way.
### Blacklisting the bcm driver
The Godot 3.x rendering engine might have problems with some 3D games running
with the bcm video driver. In some cases, the Linux kernel could crash.
Unless you can test extensively, it is probably safer to blacklist the bcm
driver when releasing 3D games using Godot 3.x.
The game will run normally when running with other drivers, but will exit
suggesting to switch to the vc4 driver when running with the bcm driver.
### Exit the game when pressing Shift+Enter
Provides a universal way to terminate the process that matches the default
key configuration in RetroPie.