mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-23 20:36:53 +01:00
102 lines
3.3 KiB
Markdown
102 lines
3.3 KiB
Markdown
|
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.
|