Skip to content

Commit 6e68379

Browse files
authored
Merge pull request #67 from apple1417/master
pull in library updates
2 parents d90f99c + 4154294 commit 6e68379

45 files changed

Lines changed: 2791 additions & 315 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cruft.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"template": "git@github.com:bl-sdk/common_dotfiles.git",
3-
"commit": "cee5c9dbf5b95f57bb636e5138171aa6a4964cf1",
3+
"commit": "86622ce16a73e4286684f9987d836abd9cf1b65a",
44
"checkout": null,
55
"context": {
66
"cookiecutter": {
@@ -16,7 +16,7 @@
1616
"include_cpp": true,
1717
"include_py": true,
1818
"_template": "git@github.com:bl-sdk/common_dotfiles.git",
19-
"_commit": "cee5c9dbf5b95f57bb636e5138171aa6a4964cf1"
19+
"_commit": "86622ce16a73e4286684f9987d836abd9cf1b65a"
2020
}
2121
},
2222
"directory": null

.devcontainer/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ RUN <<EOF
4141
python3-requests \
4242
wget \
4343
xz-utils
44-
wget -nv https://github.com/mstorsjo/llvm-mingw/releases/download/20250114/llvm-mingw-20250114-msvcrt-ubuntu-20.04-x86_64.tar.xz
45-
tar -xf llvm-mingw-20250114-msvcrt-ubuntu-20.04-x86_64.tar.xz
46-
rm llvm-mingw-20250114-msvcrt-ubuntu-20.04-x86_64.tar.xz
47-
mv llvm-mingw-20250114-msvcrt-ubuntu-20.04-x86_64 /llvm-mingw
44+
wget -nv https://github.com/mstorsjo/llvm-mingw/releases/download/20260224/llvm-mingw-20260224-msvcrt-ubuntu-22.04-x86_64.tar.xz
45+
tar -xf llvm-mingw-20260224-msvcrt-ubuntu-22.04-x86_64.tar.xz
46+
rm llvm-mingw-20260224-msvcrt-ubuntu-22.04-x86_64.tar.xz
47+
mv llvm-mingw-20260224-msvcrt-ubuntu-22.04-x86_64 /llvm-mingw
4848
EOF
4949
ENV PATH="/llvm-mingw/bin:$PATH"
5050

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
stubs/** linguist-generated gitlab-generated

.github/workflows/build.yml

Lines changed: 55 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,6 @@ on:
1212
type: string
1313
required: false
1414

15-
env:
16-
# LLVM MinGW download
17-
LLVM_MINGW_VERSION: llvm-mingw-20240619-msvcrt-ubuntu-20.04-x86_64
18-
LLVM_MINGW_DOWNLOAD: https://github.com/mstorsjo/llvm-mingw/releases/download/20240619/llvm-mingw-20240619-msvcrt-ubuntu-20.04-x86_64.tar.xz
19-
2015
jobs:
2116
build-windows:
2217
runs-on: windows-latest
@@ -35,48 +30,35 @@ jobs:
3530

3631
- name: Add MSVC to PATH
3732
if: startswith(matrix.preset, 'msvc')
38-
uses: TheMrMilchmann/setup-msvc-dev@v3
33+
uses: TheMrMilchmann/setup-msvc-dev@v4
3934
with:
4035
arch: x64
4136

4237
- name: Setup CMake and Ninja
4338
uses: lukka/get-cmake@latest
4439

45-
# We only actually need this python version to run the download script, we're not going to link
46-
# against it, so don't need to specify arch
4740
- name: Setup Python
48-
uses: actions/setup-python@v5
41+
uses: actions/setup-python@v6
4942
with:
50-
python-version: ">=3.11"
43+
python-version: ">=3.13"
5144

5245
- name: Checkout repository and submodules
53-
uses: actions/checkout@v4
46+
uses: actions/checkout@v6
5447
with:
5548
submodules: recursive
5649

57-
- name: Configure build
58-
run: |
59-
pip install requests
60-
61-
cmake . --preset ${{ matrix.preset }} -G Ninja
62-
6350
- name: Build
64-
run: cmake --build out/build/${{ matrix.preset }} --target install
65-
66-
- name: Prepare Release Zip (dev ci)
67-
if: inputs.new-release-tag == ''
68-
run: python prepare_release.py ${{ matrix.preset }} --skip-install --no-bl3 --no-wl --unified
51+
run: python ./prepare_release.py ${{ matrix.preset }} --configure
6952

70-
- name: Prepare Release Zip (draft full)
53+
- name: Rename Release Zips (draft full release)
7154
if: inputs.new-release-tag != '' && startswith(matrix.preset, 'msvc')
7255
run: |
73-
python prepare_release.py ${{ matrix.preset }} --skip-install
7456
mv bl3-sdk-${{ matrix.preset }}.zip bl3-sdk.zip
7557
mv wl-sdk-${{ matrix.preset }}.zip wl-sdk.zip
7658
7759
- name: Upload Artifact
7860
if: inputs.new-release-tag == '' || startswith(matrix.preset, 'msvc')
79-
uses: actions/upload-artifact@v4
61+
uses: actions/upload-artifact@v6
8062
with:
8163
name: ${{ matrix.preset }}
8264
path: "*.zip"
@@ -97,12 +79,12 @@ jobs:
9779

9880
steps:
9981
- name: Checkout repository and submodules
100-
uses: actions/checkout@v4
82+
uses: actions/checkout@v6
10183
with:
10284
submodules: recursive
10385

10486
- name: Login to GitHub Container Registry
105-
uses: docker/login-action@v2
87+
uses: docker/login-action@v4
10688
with:
10789
registry: ghcr.io
10890
username: ${{ github.repository_owner }}
@@ -124,16 +106,11 @@ jobs:
124106
125107
set -e
126108
127-
cmake . --preset ${{ matrix.toolchain.preset }} -G Ninja
128-
cmake --build out/build/${{ matrix.toolchain.preset }} --target install
129-
130-
if [ ${{ inputs.new-release-tag == '' && 1 || 0 }} -ne 0 ]; then
131-
python prepare_release.py ${{ matrix.toolchain.preset }} --skip-install --no-bl3 --no-wl --unified
132-
fi
109+
python prepare_release.py ${{ matrix.toolchain.preset }} --configure
133110
134111
- name: Upload Artifact
135112
if: inputs.new-release-tag == ''
136-
uses: actions/upload-artifact@v4
113+
uses: actions/upload-artifact@v6
137114
with:
138115
name: ${{ matrix.toolchain.preset }}
139116
path: "*.zip"
@@ -158,16 +135,16 @@ jobs:
158135
uses: lukka/get-cmake@latest
159136

160137
- name: Setup Python
161-
uses: actions/setup-python@v5
138+
uses: actions/setup-python@v6
162139
with:
163-
python-version: ">=3.11"
140+
python-version: ">=3.13"
164141

165-
# Needed pyyaml for clang tidy to enable `-export-fixes` and requests for the python lib downloader
142+
# Needed pyyaml for clang tidy to enable `-export-fixes`
166143
- name: Install pip packages
167-
run: pip install pyyaml requests
144+
run: pip install pyyaml
168145

169146
- name: Checkout repository and submodules
170-
uses: actions/checkout@v4
147+
uses: actions/checkout@v6
171148
with:
172149
submodules: recursive
173150

@@ -201,7 +178,7 @@ jobs:
201178
uses: egor-tensin/setup-clang@v1
202179

203180
- name: Checkout repository
204-
uses: actions/checkout@v4
181+
uses: actions/checkout@v6
205182

206183
- name: Run clang-format
207184
run: |
@@ -219,7 +196,7 @@ jobs:
219196

220197
steps:
221198
- name: Checkout repository
222-
uses: actions/checkout@v4
199+
uses: actions/checkout@v6
223200

224201
- name: Check spelling
225202
uses: crate-ci/typos@master
@@ -229,32 +206,58 @@ jobs:
229206

230207
steps:
231208
- name: Checkout repository and submodules
232-
uses: actions/checkout@v4
209+
uses: actions/checkout@v6
233210
with:
234211
submodules: recursive
235212

236213
- name: Run pyright
237-
uses: jakebailey/pyright-action@v2
214+
uses: jakebailey/pyright-action@v3
238215
with:
239-
working-directory: "./src/"
216+
working-directory: ./src
240217

241218
ruff:
242219
runs-on: ubuntu-latest
243220

244221
steps:
245222
- name: Checkout repository
246-
uses: actions/checkout@v4
223+
uses: actions/checkout@v6
224+
with:
225+
submodules: recursive
247226

248227
- name: Run Ruff Linting
249-
uses: chartboost/ruff-action@v1
228+
uses: astral-sh/ruff-action@v4.0.0
250229
with:
251-
src: ./src
230+
src: src
252231

253232
- name: Run Ruff Formatting
254-
uses: chartboost/ruff-action@v1
233+
uses: astral-sh/ruff-action@v4.0.0
234+
with:
235+
args: format --check --diff
236+
src: src
237+
238+
stubs:
239+
runs-on: ubuntu-latest
240+
241+
steps:
242+
- name: Checkout repository and submodules
243+
uses: actions/checkout@v6
244+
with:
245+
submodules: recursive
246+
247+
- name: Setup Python
248+
uses: actions/setup-python@v6
255249
with:
256-
src: ./src
257-
args: format --check
250+
python-version: ">=3.13"
251+
252+
- name: Install pip packages
253+
run: pip install -r libs/pyunrealsdk/stubgen/requirements.txt
254+
255+
- name: Generate stubs
256+
working-directory: libs/pyunrealsdk/
257+
run: python -m stubgen OAK ../../expected_stubs
258+
259+
- name: Make sure stubs are up to date
260+
run: diff -r -s stubs expected_stubs
258261

259262
# ==============================================================================
260263

@@ -279,7 +282,7 @@ jobs:
279282

280283
steps:
281284
- name: Download artifacts
282-
uses: actions/download-artifact@v4
285+
uses: actions/download-artifact@v6
283286

284287
- name: Upload releases
285288
uses: andelf/nightly-release@main
@@ -315,7 +318,7 @@ jobs:
315318

316319
steps:
317320
- name: Checkout repository
318-
uses: actions/checkout@v4
321+
uses: actions/checkout@v6
319322

320323
- name: Download artifacts
321324
uses: actions/download-artifact@v4

.gitignore

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
.vs
22
.vscode
33
.idea
4+
.nvim.lua
45

56
# C/C++ excludes
67
.cache/clangd
78
.gdbinit
89
out
910

10-
# User scripts with templates
11-
postbuild
12-
postbuild.bat
13-
1411
# CMake (from https://github.com/github/gitignore/blob/main/CMake.gitignore)
1512
CMakeLists.txt.user
1613
CMakeCache.txt

CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ project(oak_mod_manager)
44

55
set(UNREALSDK_FLAVOUR OAK)
66
set(EXPLICIT_PYTHON_ARCH amd64)
7-
set(EXPLICIT_PYTHON_VERSION 3.13.1)
7+
set(EXPLICIT_PYTHON_VERSION 3.14.6)
8+
set(EXPLICIT_PYTHON_HASH_BASE SHA256=75afa83f93b284d19040e24bc440ab741c09582c0d5310504d607a4e08c3dbaf)
9+
set(EXPLICIT_PYTHON_HASH_TEST SHA256=2e903c82f7fc7081aa59e21752309dd6a1180297950d6b0587c39da606549867)
10+
set(EXPLICIT_PYTHON_HASH_EMBEDDABLE SHA256=c3a89aa7ead530bcac4729f3db7d000fbadb6ca7aa0461c2841867172aa0752a)
811

912
add_subdirectory(libs/pyunrealsdk)
1013

changelog.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,63 @@
11
# Changelog
22

3+
## v1.11 (Upcoming)
4+
- Upgraded to Python 3.14.
5+
- Added the `mod_manager.extra_sys_path` config option.
6+
- Added support for launching launching an IPython kernel inside the SDK, which lets you interact
7+
with the SDK from Jupyter.
8+
9+
### BL3 Mod Menu v1.8
10+
- Linting fixes.
11+
12+
### Keybinds v2.6
13+
- Linting fixes
14+
15+
### [Mods Base v1.12](https://github.com/bl-sdk/mods_base/blob/master/Readme.md#v19)
16+
> - Added extra typing overloads to the `keybind` factory, to allow cases such as
17+
> `keybind("name", callback=func)`
18+
>
19+
> - Added support for BL4 and BL1E.
20+
>
21+
> - Deprecated `ValueOption.on_change`, as well as setting it via `__call__`, in favour of separate,
22+
> more explicit, `on_change_anytime` and `on_change_while_enabled` callbacks.
23+
>
24+
> - Added a `HookType.pause()` context manager. This may sometimes be preferable over the
25+
> `unrealsdk.hooks.prevent_hooking_direct_calls()` context manager.
26+
27+
### [pyunrealsdk v1.10.0](https://github.com/bl-sdk/pyunrealsdk/blob/master/changelog.md#v180)
28+
> - The `pyunrealsdk.init_script` and `pyunrealsdk.pyexec_root` config options are now relative to the
29+
> folder containing the `pyunrealsdk.dll`. Previously, they were relative to the cwd, which could
30+
> cause issues if it changed.
31+
>
32+
> - Type stubs are now automatically generated based off of the source code, rather than being kept in
33+
> sync by hand. This caught several places they weren't fully accurate.
34+
>
35+
> - The `unrealsdk.hooks.Type` and `unrealsdk.logging.Level` enums should now use native Python enums,
36+
> rather than pybind's older version. These should be fully backwards compatible.
37+
>
38+
> - `UProperty`, and all it's subclasses, have been renamed to `ZProperty`, like they were in
39+
> unrealsdk. The existing names are all still available as deprecated aliases.
40+
>
41+
> - Upgraded to Pybind 3.0, which may matter for native modules.
42+
>
43+
> - Assigning one wrapped array to another with a compatible, but different, property, will now
44+
> automatically do the "convert to list" workaround for you.
45+
46+
### UI Utils v1.4
47+
- Linting fixes.
48+
49+
### [unrealsdk v3.2.0](https://github.com/bl-sdk/unrealsdk/blob/master/changelog.md#v320)
50+
> - Now supports Borderlands 1 Enhanced and Borderlands 4, including several new types.
51+
>
52+
> - Renamed all `UProperty` types to `ZProperty`, and moved their headers from
53+
> `unrealsdk/unreal/classes/properties` to `unrealsdk/unreal/properties`.
54+
>
55+
> - Introduced `unrealsdk/flavour.h`, which splits flavour defines down into more specific feature
56+
> flags. Using these may be more appropriate in places.
57+
>
58+
> - The log file now includes thread id, and added highlighting to the external console logs.
59+
60+
361
## v1.10: Stinger
462
Increased the visual version number. This also fixes the "update available" notification still
563
showing.

libs/pyunrealsdk

Submodule pyunrealsdk updated 82 files

manager_pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
[project]
77
name = "oak_mod_manager"
8-
version = "1.10"
8+
version = "1.11"
99
authors = [{ name = "bl-sdk" }]
1010

1111
[tool.sdkmod]

0 commit comments

Comments
 (0)