Add Ultralight SDK as a git submodule (ThirdParty/Ultralight-SDK, Windows branch) and update build/deploy tooling and docs to use the vendored SDK by default. Updated .gitmodules and added the submodule pointer; build-prismaui.bat and deploy-all.bat now default UL_SDK to the submodule path and build-prismaui.bat checks the submodule is initialized. The PowerShell linker script (scripts/setup-ultralight-link.ps1) now falls back to ThirdParty/Ultralight-SDK when no SdkPath is provided. Documentation and developer log updated (docs/setup.md, plugin/setup.md, docs/dev-log.md) to document submodule initialization and usage; ULTRALIGHT_SDK_PATH can still override the default. Run 'git submodule update --init --recursive' on clones to initialize the SDK.
70 lines
1.8 KiB
Markdown
70 lines
1.8 KiB
Markdown
# Development Setup
|
|
|
|
## Required Tools
|
|
|
|
- Fallout 4 on PC
|
|
- Fallout 4 Script Extender, F4SE
|
|
- Fallout 4 Creation Kit
|
|
- Visual Studio 2022 or newer
|
|
- Git
|
|
- CMake or another build system required by the selected plugin template
|
|
- Mod Organizer 2 or Vortex
|
|
|
|
## Recommended Fallout 4 Setup
|
|
|
|
Use a clean test profile.
|
|
|
|
Recommended:
|
|
|
|
```text
|
|
Fallout 4
|
|
F4SE
|
|
Commonwealth Online test plugin
|
|
No other gameplay mods
|
|
Dedicated test save
|
|
```
|
|
|
|
Avoid testing with a full modlist while developing the core systems.
|
|
|
|
## Main menu
|
|
|
|
Do **not** deploy a patched `Interface/MainMenu.swf`. Commonwealth Online injects the **Multiplayer** row at runtime via the F4SE plugin. Use vanilla `MainMenu.swf` or no loose override. See [`MainMenu_Button_Injection_Guide.md`](MainMenu_Button_Injection_Guide.md) (full how-to) and [`MainMenu_Injection.md`](MainMenu_Injection.md) (project-specific notes).
|
|
|
|
## Version Tracking
|
|
|
|
Record the exact versions used:
|
|
|
|
```text
|
|
Fallout 4 version:
|
|
F4SE version:
|
|
Creation Kit version:
|
|
CommonLibF4 template:
|
|
Windows version:
|
|
Compiler version:
|
|
```
|
|
|
|
## Git Submodules
|
|
|
|
After cloning, initialize vendored dependencies:
|
|
|
|
```bat
|
|
git submodule update --init --recursive
|
|
```
|
|
|
|
This includes:
|
|
|
|
* `ThirdParty/framework-F4-Conversion` — PrismaUI_F4 HTML overlay framework
|
|
* `ThirdParty/Ultralight-SDK` — Ultralight SDK (`Windows` branch) for PrismaUI_F4 builds
|
|
* `ThirdParty/GameNetworkingSockets-src` — networking library
|
|
* `ThirdParty/xbyak` — assembler dependency
|
|
|
|
`build-prismaui.bat` links the Ultralight SDK submodule into the PrismaUI build tree automatically. Override the SDK location with `ULTRALIGHT_SDK_PATH` if needed.
|
|
|
|
## Folder Notes
|
|
|
|
Do not copy Fallout 4 game files into this repository.
|
|
|
|
Do not copy F4SE binaries into this repository.
|
|
|
|
Use the `plugin/external/README.md` file to document where external dependencies should be installed.
|