diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml
index 01012d3..fe9bd3d 100644
--- a/.github/workflows/msbuild.yml
+++ b/.github/workflows/msbuild.yml
@@ -28,9 +28,9 @@ jobs:
with:
submodules: recursive
- uses: actions/setup-python@v5
- id: cp310
+ id: cpy
with:
- python-version: '3.10'
+ python-version: '3.14'
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
@@ -53,6 +53,10 @@ jobs:
- name: Build
working-directory: ${{env.GITHUB_WORKSPACE}}
+ env:
+ # setup-python installs into the tool cache, not C:\Python3XY, so point
+ # python.props straight at that root via the override env var.
+ SPLITGATE_PYTHON_DIR: ${{ env.pythonLocation }}
run: Tools/build.bat
- name: Upload Release Artifact
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..0f05f41
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,16 @@
+{
+ "files.associations": {
+ "format": "cpp",
+ "chrono": "cpp"
+ },
+ "search.exclude": {
+ "**/Internal/external/pybind11/**": true,
+ "**/vcpkg_installed/**": true,
+ "**/x64/**": true
+ },
+ "files.watcherExclude": {
+ "**/Internal/external/pybind11/**": true,
+ "**/vcpkg_installed/**": true,
+ "**/x64/**": true
+ }
+}
diff --git a/Internal/Internal.vcxproj b/Internal/Internal.vcxproj
index 30e9bf4..ee9f15a 100644
--- a/Internal/Internal.vcxproj
+++ b/Internal/Internal.vcxproj
@@ -23,6 +23,7 @@
Unicode
+
@@ -33,7 +34,7 @@
false
- $(ProjectDir)\external\pybind11\include;C:\Python310\include;C:\Python313\include;$(IncludePath)
+ $(ProjectDir)\external\pybind11\include;$(IncludePath)
$(ProjectDir)external\discord-rpc\lib\;$(LibraryPath)
@@ -62,7 +63,7 @@
true
false
d3d11.lib;%(AdditionalDependencies)
- C:\Python310\libs;C:\Python313\libs
+ %(AdditionalLibraryDirectories)
diff --git a/Internal/python.props b/Internal/python.props
new file mode 100644
index 0000000..46b2fc0
--- /dev/null
+++ b/Internal/python.props
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(PythonRoot)\
+
+
+
+
+ %(PythonCandidate.Identity)
+
+
+
+
+
+
+
+
+ $(PythonRoot)include;%(AdditionalIncludeDirectories)
+
+
+ $(PythonRoot)libs;%(AdditionalLibraryDirectories)
+
+
+
+
diff --git a/README.md b/README.md
index a229d33..a59cb6f 100644
--- a/README.md
+++ b/README.md
@@ -13,10 +13,14 @@
• Use the `Ins` button to show/hide the gui
## Compile
-To compile the project make you you have [Visual Studio 22](https://visualstudio.microsoft.com/it/downloads/), [vcpkg](https://vcpkg.io/en/getting-started) integrated with `MSBuild` and Python 3.13 installed
+To compile the project make sure you have [Visual Studio 22](https://visualstudio.microsoft.com/it/downloads/), [vcpkg](https://vcpkg.io/en/getting-started) integrated with `MSBuild` and any [Python](https://www.python.org/downloads/) 3.x installed
> [!IMPORTANT]
-> Internal.vcxproj expects python path to be `C:\Python313`, either match it or update header import configuration
+> `Internal` embeds Python (via pybind11 + ``), so a Python 3.x installation is required to compile.
+
+`Internal/python.props` auto-detects the newest Python installed in a standard location (`C:\Python3XY`, `%LOCALAPPDATA%\Programs\Python\Python3XY`, or `%ProgramFiles%\Python3XY`), falling back to the install path recorded in the registry — no configuration needed for a default install.
+
+If Python is installed somewhere custom that isn't picked up, set the `SPLITGATE_PYTHON_DIR` environment variable to your Python root (the folder containing `include\` and `libs\`), or pass `/p:PythonRoot=` to MSBuild. Whichever version is selected must match the `python3XY.dll` present at runtime.
- Install `Internal` dependencies:
```sh