3.3 KiB
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.