Skip to content
/ SF_PluginTemplate Public template
generated from gottyduke/PluginTemplate

Plugin template for SFSE plugins. click "Use this template" to generate your project.

License

Notifications You must be signed in to change notification settings

gottyduke/SF_PluginTemplate

Repository files navigation

📑 SFSE Plugin Template

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.

📖 License

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.

⚙ Requirements

  • CMake 3.26+
    • Add this to your PATH during installtion/updating
  • 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
  • Visual Studio Community 2022
    • Desktop development with C++
  • Starfield Steam Distribution
    • Set the SFPath environment variable to the path of the game installation

⬇️ Get started

💻 Register Visual Studio as a Generator

  • Open x64 Native Tools Command Prompt
  • Run cmake
  • Close the cmd window

📦 Dependencies

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.

🔨 Building

.\make-sln-msvc.bat
cmake --build build --config Release

A Visual Studio solution will be generated inside build folder.

❓ Development FAQ.

Check out the wiki page and/or feel free to open an issue.

➕ Addon

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!

🏅 Credits

About

Plugin template for SFSE plugins. click "Use this template" to generate your project.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published