Add 'Bundle Patcher Architecture'
parent
dcbb210096
commit
db854e95df
1 changed files with 25 additions and 0 deletions
25
Bundle-Patcher-Architecture.md
Normal file
25
Bundle-Patcher-Architecture.md
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
This is an (likely incomplete) documentation of how dtmm's process to deploy mods and patch game bundles works and what data it writes.
|
||||||
|
|
||||||
|
## settings.ini
|
||||||
|
|
||||||
|
The game's `application_settings/settings-common.ini` is changed with
|
||||||
|
|
||||||
|
```diff
|
||||||
|
-boot_script = "scripts/main"
|
||||||
|
+boot_script = "scripts/mod_main"
|
||||||
|
```
|
||||||
|
|
||||||
|
This allows us to run our own entry point before the game's code, without touching the actual `scripts/main` file.
|
||||||
|
|
||||||
|
## packages/boot
|
||||||
|
|
||||||
|
Several files are added to `packages/boot`:
|
||||||
|
|
||||||
|
* `scripts/mod_main.lua`: The very first file of code that the game will run at startup. This sets up mod handling and then calls Fatshark's actual `scripts/main` entry point.
|
||||||
|
* `scripts/mods/mod_data.lua`: This file mod metadata and the load order, all of which the mod manager will use to load the installed mods.
|
||||||
|
* `scripts/mods/manager.lua`: An adapted version of `ModManager` from VT2 that handles loading and initialization of mods.
|
||||||
|
* `packages/mods.package`: The `.package` file that points to the separate mod collection bundle
|
||||||
|
|
||||||
|
## packages/mods
|
||||||
|
|
||||||
|
This bundle serves as the root package from which all mod packages can be reached. Collecting them here avoids bloating `packages/boot` too much.
|
Loading…
Add table
Reference in a new issue