Native dll plugin for starfield script extender.
Create a new plugin project from this template and wait for the first workflow action to finish, it will setup project automatically.
By using this branch, you agree to comply with CommonLibSF license, which is GPL-3.0-or-later WITH Modding Exception AND GPL-3.0 Linking Exception (with Corresponding Source). Specifically, the Modded Code is Starfield (and its variants) and Modding Libraries include Starfield Script Extender and DKUtil (and variants).
To put it shortly: when you distribute a binary linked against CommonLibSF, you are obliged to provide access to the source code as well.
- CMake 3.26+
- Add this to your
PATH
during installtion/updating
- Add this to your
- PowerShell
- Vcpkg
- Set the
VCPKG_ROOT
environment variable to the path of the vcpkg folder - Make sure your local vcpkg port is up-to-date by pulling the latest and do
vcpkg integrate install
- Set the
- Visual Studio Community 2022
- Desktop development with C++
- Starfield Steam Distribution
- Set the
SFPath
environment variable to the path of the game installation
- Set the
- Open
x64 Native Tools Command Prompt
- Run
cmake
- Close the cmd window
These dependencies can be configured through the git submodule by running update-submodule.bat
. Alternatively, the dependencies can also use a local git repository, by setting the CommonLibSFPath
and DKUtilPath
environment variables to the path of the local git repository.
In order to enable local git repository lookup, existing folders within extern
should be removed.
To prevent duplicating submodules in multiple local projects, it's recommended to clone the CommonLibSF and DKUtil repositories locally. Then, set the environment path accordingly, this ensures all projects share the same package.
Additionally, you can use a personal fork of CommonLibSF; this setup makes testing modifications with a plugin project easily.
.\make-sln-msvc.bat
cmake --build build --config Release
A Visual Studio solution will be generated inside build
folder.
Check out the wiki page and/or feel free to open an issue.
This project bundles DKUtil.
This project has auto deployment rules for easier build-and-test, build-and-package features, using simple json rules. Read more here!