139 lines
4.2 KiB
Markdown
139 lines
4.2 KiB
Markdown
# Configuration
|
|
|
|
`rem-essentials` uses one active runtime configuration and, when the REM
|
|
Launcher is used, one persistent user override file.
|
|
|
|
## Configuration files
|
|
|
|
### Active game configuration
|
|
|
|
The DLL reads only this file at game startup:
|
|
|
|
```text
|
|
Freelancer/EXE/rem-essentials.ini
|
|
```
|
|
|
|
The file is shipped with the mod and contains the complete setting schema,
|
|
descriptions, metadata, and release defaults. A manual installation only needs
|
|
this INI and `rem-essentials.dll` in the `EXE` directory.
|
|
|
|
If the active INI is missing, the DLL uses its compiled defaults. The compiled
|
|
defaults intentionally match the shipped INI, but distributing the INI is
|
|
recommended because it exposes every feature and typed parameter.
|
|
|
|
### Launcher user overrides
|
|
|
|
The REM Launcher stores player choices separately:
|
|
|
|
```text
|
|
My Games/REM/rem-essentials.user.ini
|
|
```
|
|
|
|
On Wine or Proton, `My Games` is inside the Windows user profile of the active
|
|
prefix. Its exact Linux path depends on how the Launcher or game prefix was
|
|
created.
|
|
|
|
The DLL does not read this user file. The Launcher merges matching values from
|
|
the user file into `Freelancer/EXE/rem-essentials.ini`:
|
|
|
|
- after a game/mod update
|
|
- after saving settings in the Launcher
|
|
- immediately before starting Freelancer
|
|
|
|
This allows an update to replace the shipped schema while retaining player
|
|
choices. New settings from an updated default INI appear automatically. Values
|
|
from the user override win when the same section and key exist in both files.
|
|
|
|
## Value precedence
|
|
|
|
At runtime, the effective value is determined in this order:
|
|
|
|
1. The compiled DLL fallback is used when no setting can be read.
|
|
2. `Freelancer/EXE/rem-essentials.ini` overrides the compiled fallback.
|
|
3. Before launch, the Launcher materializes values from
|
|
`rem-essentials.user.ini` into the active INI.
|
|
|
|
For a manual installation without the Launcher, only the first two levels
|
|
apply. Editing the active INI is therefore sufficient.
|
|
|
|
## Sections and value types
|
|
|
|
Feature switches live in `[rem-essentials]`. Parameters used by the graphics,
|
|
saves, and screenshots behavior live in `[flplusplus]`.
|
|
|
|
Boolean values accept:
|
|
|
|
```text
|
|
true / false
|
|
1 / 0
|
|
yes / no
|
|
on / off
|
|
```
|
|
|
|
Integer, float, and string settings are described by the comments immediately
|
|
above each key. Metadata such as `type`, `min`, `max`, `default`, `group`, and
|
|
`risk` is also used by the Launcher to build the settings UI.
|
|
|
|
## Save directory behavior
|
|
|
|
REM keeps the historical installation-local save directory as its default:
|
|
|
|
```ini
|
|
[rem-essentials]
|
|
save_path_feature = true
|
|
|
|
[flplusplus]
|
|
save_in_directory = true
|
|
save_folder_name = Freelancer
|
|
```
|
|
|
|
With `save_in_directory = true`, the patched path is calculated relative to
|
|
`Freelancer.exe`:
|
|
|
|
```text
|
|
Freelancer/EXE/../SAVE
|
|
```
|
|
|
|
For an installation such as:
|
|
|
|
```text
|
|
/home/<user>/RemLauncher_AppData/current/Freelancer/EXE/Freelancer.exe
|
|
```
|
|
|
|
the effective save directory is:
|
|
|
|
```text
|
|
/home/<user>/RemLauncher_AppData/current/Freelancer/SAVE
|
|
```
|
|
|
|
With `save_in_directory = false`, the plugin instead uses the Windows
|
|
Documents folder exposed by Windows, Wine, or Proton and appends:
|
|
|
|
```text
|
|
My Games/<save_folder_name>
|
|
```
|
|
|
|
`save_folder_name` is therefore only relevant when
|
|
`save_in_directory = false`. Setting `save_path_feature = false` disables this
|
|
hook completely and restores Freelancer's unpatched path behavior.
|
|
|
|
Changing the setting does not move existing saves. Move existing files to the
|
|
selected directory before launching when switching between layouts.
|
|
|
|
## Manual installation
|
|
|
|
1. Copy `rem-essentials.dll` and `rem-essentials.ini` into `Freelancer/EXE`.
|
|
2. Add `rem-essentials.dll` to the appropriate `[Libraries]` section in
|
|
`dacom.ini` and, for FLServer features, `dacomsrv.ini`.
|
|
3. Ensure `save_path_feature = true` and `save_in_directory = true` for the REM
|
|
installation-local `SAVE` layout.
|
|
4. Fully restart Freelancer after changing the INI. Settings are read when the
|
|
DLL is loaded.
|
|
|
|
## Launcher-managed installation
|
|
|
|
Use the Game Settings page to change supported values. Saving creates or
|
|
updates `My Games/REM/rem-essentials.user.ini`. Avoid manually changing the
|
|
active INI while a conflicting user override exists, because the Launcher will
|
|
materialize the user value again before game startup.
|