Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
5b26fd8
New csproj
EclipsedButter Oct 13, 2025
c6ffac1
Remove configurations
EclipsedButter Oct 13, 2025
9743f48
Switch to AssimpNetter
EclipsedButter Oct 13, 2025
1e6aeac
Include Hexa.NET.ImGui as NuGet
EclipsedButter Oct 13, 2025
100c11b
Configuration changes, improved macOS support
EclipsedButter Oct 13, 2025
d6ff65c
Update workflow
EclipsedButter Oct 13, 2025
4c32378
Merge remote-tracking branch 'upstream/main'
EclipsedButter Dec 28, 2025
796a58f
Squash
EclipsedButter Dec 28, 2025
32e17ed
Paths
EclipsedButter Dec 31, 2025
c9c6fbe
Configuration
EclipsedButter Dec 31, 2025
4a36227
Merge remote-tracking branch 'upstream/main'
EclipsedButter Dec 31, 2025
3e76aec
Merge remote-tracking branch 'upstream/main'
EclipsedButter Feb 4, 2026
d3b0152
Merge remote-tracking branch 'upstream/main'
EclipsedButter Feb 4, 2026
00c759e
bhd5 link fixes
EclipsedButter Feb 5, 2026
1403978
Merge remote-tracking branch 'upstream/main'
EclipsedButter Feb 5, 2026
3d55a19
Scale patch for high-dpi screens
EclipsedButter Feb 5, 2026
f084eba
Limit font texture extent
EclipsedButter Feb 5, 2026
baf08e2
Hack for screen resize validation error
EclipsedButter Feb 6, 2026
b3eb2a7
csproj
EclipsedButter Feb 6, 2026
26d65d6
Merge remote-tracking branch 'upstream/main'
EclipsedButter Feb 8, 2026
82091ee
csproj fix
EclipsedButter Feb 11, 2026
aa43657
Merge remote-tracking branch 'upstream/main'
EclipsedButter Feb 11, 2026
e02ed83
Merge remote-tracking branch 'upstream/main'
EclipsedButter Feb 18, 2026
cda5ab5
Add cross-platform Tracy
EclipsedButter Feb 18, 2026
2c624f3
Merge remote-tracking branch 'upstream/main'
EclipsedButter Feb 22, 2026
861ec8a
Version
EclipsedButter Feb 22, 2026
9714b6c
zstd
EclipsedButter Feb 22, 2026
6da2ab9
Package build
EclipsedButter Feb 22, 2026
8029e1c
workflow
EclipsedButter Feb 22, 2026
e697d0d
Support older OS versions
EclipsedButter Feb 24, 2026
d561b21
Setup fix
EclipsedButter Feb 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 132 additions & 6 deletions .github/workflows/dotnet-desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ on:
- main
pull_request:
jobs:
build:
build-windows:
runs-on: windows-latest
name: "Build"
name: "Build Windows"
env:
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
steps:
Expand All @@ -28,17 +28,143 @@ jobs:
restore-keys: |
nuget-${{ runner.os }}-

- name: Remove extraneous platforms
run: |
dotnet sln remove '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.Mac.csproj'
dotnet sln remove '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.Linux.csproj'

- name: Restore
run: dotnet restore /p:Configuration=Release-win
run: dotnet restore /p:Configuration=Release

- name: Build
run: dotnet build --configuration Release-win --no-restore
run: dotnet build --configuration Release --no-restore

- name: Publish
run: dotnet publish '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.csproj' --configuration Release-win -o deploy
run: dotnet publish '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.csproj' --configuration Release -o deploy/windows

- name: Upload artifacts
uses: actions/upload-artifact@v6
with:
name: "Smithbox-SHA${{ github.sha }}"
path: "${{ runner.workspace }}/Smithbox/deploy"
path: "${{ runner.workspace }}/Smithbox/deploy/windows"
build-linux:
runs-on: windows-latest
name: "Build Linux"
env:
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
steps:
- uses: actions/checkout@v6
with:
submodules: false
- uses: actions/setup-dotnet@v5
with:
dotnet-version: "9.0.x"
cache: false

- name: Cache NuGet packages
uses: actions/cache@v5.0.1
with:
path: ${{ env.NUGET_PACKAGES }}
key: nuget-${{ runner.os }}-${{ hashFiles('**/*.csproj') }}
restore-keys: |
nuget-${{ runner.os }}-

- name: Remove extraneous platforms
run: |
dotnet sln remove '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.csproj'
dotnet sln remove '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.Mac.csproj'

- name: Restore
run: dotnet restore /p:Configuration=Release

- name: Build
run: dotnet build --configuration Release --no-restore

- name: Publish
run: dotnet publish '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.Linux.csproj' --configuration Release -o deploy/linux

- name: Upload artifacts
uses: actions/upload-artifact@v6
with:
name: "Smithbox.Linux-SHA${{ github.sha }}"
path: "${{ runner.workspace }}/Smithbox/deploy/linux"
build-mac:
runs-on: macos-latest
name: "Build macOS"
env:
NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages
steps:
- uses: actions/checkout@v6
with:
submodules: false
- uses: actions/setup-dotnet@v5
with:
dotnet-version: "9.0.x"
cache: false

- name: Setup XCode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: 26.2

- name: Install macos workload
run: dotnet workload install macos

- name: Cache Rust artifacts
uses: actions/cache@v5.0.1
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable

- name: Build native lib
run: cargo build --lib --release --manifest-path='${{ runner.workspace }}/Smithbox/src/Andre/Andre.Formats/native/bhd5-decrypt-rust/Cargo.toml'

- name: Install Vulkan SDK
uses: humbletim/install-vulkan-sdk@0ef43dbc8af56d77bcb1e8b1ebbbaa8718ead524
with:
version: 1.4.341.0
cache: true

- name: Create dummy lib
run: |
cat > dummy.s << 'EOF'
.section __TEXT,__marker,regular,no_dead_strip
.asciz "DUMMY_FILE"
EOF
clang -c dummy.s -arch arm64 -arch x86_64 -o dummy.o
clang -dynamiclib -o '${{ runner.workspace }}/liboo2coremac64.2.9.dylib' -arch arm64 -arch x86_64 dummy.o -install_name @executable_path/liboo2coremac64.2.9.dylib

- name: Cache NuGet packages
uses: actions/cache@v5.0.1
with:
path: ${{ env.NUGET_PACKAGES }}
key: nuget-${{ runner.os }}-${{ hashFiles('**/*.csproj') }}
restore-keys: |
nuget-${{ runner.os }}-

- name: Remove extraneous platforms
run: |
dotnet sln remove '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.csproj'
dotnet sln remove '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.Linux.csproj'

- name: Restore
run: dotnet restore "/p:Configuration=Release;OodlePath=${{ runner.workspace }}/liboo2coremac64.2.9.dylib"

- name: Build and Publish
run: |
chmod +x '${{ runner.workspace }}/Smithbox/src/Smithbox/Scripts/preinstall'
chmod +x '${{ runner.workspace }}/Smithbox/src/Smithbox/Scripts/postinstall'
dotnet publish '${{ runner.workspace }}/Smithbox/src/Smithbox/Smithbox.Mac.csproj' --configuration Release -o deploy/macos "/p:OodlePath=${{ runner.workspace }}/liboo2coremac64.2.9.dylib;MoltenVKPath=$VULKAN_SDK/lib/libMoltenVK.dylib;CreatePackage=true"

- name: Upload artifacts
uses: actions/upload-artifact@v6
with:
name: "Smithbox.Mac-SHA${{ github.sha }}"
path: "${{ runner.workspace }}/Smithbox/deploy/macos"
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,9 @@ CMakeSettings.json

Dump
Media

.DS_Store
src/Platform.Build.props

Documentation/BB
src/Smithbox.Data/Assets/Shaders/build_shader.bat
Expand Down
Loading
Loading