Allow triggering close of dialogs explicitly, rather than relying on
ref-count drop to delete them. Compat dialogs have a Nasal peer and
we can't rely on GC to cause a timely close of the dialog.
Avoid running FindGit and git process on every build, when in Developer
mode: this feature is only useful for CI builds, and remove it makes
the edit-and-debug cycle slightly faster. This means buildId.h contains
dummy values when FG_BUILD_TYPE=Dev
Adjust our customised pu.h to use snprintf, with correct buffer
size information. Also adjust includes so our custom version is used, ]
even when including the system puAux.h.
Allow modules to define an unload callback, and also drive
the 'loaded' property to false, to give modules the ability to clean
up when being unloaded. This makes reloading work without
errors for Canvas.
Additionaally, add some special code when creating the
Canvas module, to ensure the C++ defined pieces are loaded :
fortunately Canvas is the only module which needs this.
gcc on riscv64 is not able to compile natively atomic int, because of hw constraints, leading
to an additional to link external atomic libraries, making the code really slower to run.
Instead, using std::atomic<int> can be compiled and optimized natively without any additional -latomic linking.
Previously WS30 data from STG files - in particular road/rail/river
data - was kept permanently.
This change unloads it with the STG-level tile. This is the right
level to do so, as it will be reloaded from tile when the STG file
is loaded again.
Previously we were hardcoded to 2 database pager threads,
one for files and one for http.
This commit adds a new property /sim/rendering/database-pager/threads
to control the number of threads on startup.
It also re-orders the code to set the database pager so that such
a setting has an effect.
Change all constant numeric values with the defined constant.
Changed the wrong '*offset-m' properties and the 'rollspeed-ms' property.
Maybe the wrong offset properties hasnt popped up because no dev used
it. This value will not be used in any animation because its normally a
fixed value that doesnt change at runtime.
With this patch, the dev can set <max-compression-ft> or <max-compression-m> in the set-file (or another
xml-file that get included from the set-file).
The code calculates also 'compression-m' for every gear.
If the 'max-compression-*' property is omitted, the code behave as before ('compression-norm' is the same as 'compression-ft').
Some of the subsystems created in the fg_init fgCreateSubsystems() function were accidentally
shifted into the subsystem group SGSubsystemMgr::GENERAL, as these subsystems cannot be currently
registered with the subsystem manager and still have to use the non-templated subsystem manager
add() function.
Previously any missing WS30 tiles created multiple OSG WARN
messages from the file not being found. This change does a check
to ensure the file actually exists before put it on the queue for
loading.