Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
45 changes: 40 additions & 5 deletions .github/workflows/build-libs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -440,10 +440,35 @@ jobs:
name: piton-apphosts-${{ matrix.target }}
path: source/Piton/apphost/${{ matrix.lib_name }}

build-steamworks-net:
name: Steamworks.NET
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
with:
sparse-checkout: source/Steamworks.NET
submodules: true

- uses: actions/setup-dotnet@v4
with:
dotnet-version: '8'

- name: Build Steamworks.NET
working-directory: source/Steamworks.NET/Standalone
run: dotnet build -t:BatchBuild Steamworks.NET.Standard.sln

- name: Upload Steamworks.NET binaries
uses: actions/upload-artifact@v4
with:
name: steamworks-net
path: source/Steamworks.NET/Standalone/bin/x*


generate-lib-ext:
name: Generate lib-ext
runs-on: ubuntu-latest
needs: [build-fnalibs, build-piton]
needs: [build-fnalibs, build-piton, build-steamworks-net]

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -485,20 +510,25 @@ jobs:
mkdir -p ../lib-ext/lib64-win-x64
mkdir -p ../lib-ext/lib64-osx
mkdir -p ../lib-ext/lib64-linux

### Vendored files
cp README_lib-ext.md ../lib-ext/README.md
cp source/SDL_GameControllerDB/gamecontrollerdb.txt ../lib-ext

# Windows x86
cp binaries/steamworks/windows-x86/CSteamworks.dll ../lib-ext/lib64-win-x86
cp source/Steamworks.NET/com.rlabrecque.steamworks.net/Plugins/steam_api.dll ../lib-ext/lib64-win-x86

# Windows x64
cp binaries/steamworks/windows-x64/CSteamworks.dll ../lib-ext/lib64-win-x64
cp binaries/steamworks/windows-x64/steam_api64.dll ../lib-ext/lib64-win-x64
cp source/Steamworks.NET/com.rlabrecque.steamworks.net/Plugins/steam_api64.dll ../lib-ext/lib64-win-x64
cp binaries/fmod/windows-x64/fmod64.dll ../lib-ext/lib64-win-x64
cp binaries/fmod/windows-x64/fmodstudio64.dll ../lib-ext/lib64-win-x64

# OSX
cp source/Steamworks.NET/com.rlabrecque.steamworks.net/Plugins/steam_api.bundle/Contents/MacOS/libsteam_api.dylib ../lib-ext/lib64-osx

# Linux x64
cp source/Steamworks.NET/com.rlabrecque.steamworks.net/Plugins/libsteam_api.so ../lib-ext/lib64-linux

# Piton
cp piton-runtime.yaml ../lib-ext/piton-runtime.yaml

Expand Down Expand Up @@ -542,6 +572,11 @@ jobs:
cp ../binaries/discord_game_sdk/lib/x86_64/discord_game_sdk.dylib lib64-osx/libdiscord_game_sdk.dylib
cp ../binaries/discord_game_sdk/lib/x86_64/discord_game_sdk.so lib64-linux/libdiscord_game_sdk.so

cp ../binaries/steamworks-net/x86/Windows/netstandard2.1/Steamworks.NET.dll lib64-win-x86
cp ../binaries/steamworks-net/x64/Windows/netstandard2.1/Steamworks.NET.dll lib64-win-x64
cp ../binaries/steamworks-net/x64/OSX-Linux/netstandard2.1/Steamworks.NET.dll lib64-osx
cp ../binaries/steamworks-net/x64/OSX-Linux/netstandard2.1/Steamworks.NET.dll lib64-linux

### Piton
mv ../binaries/piton-apphosts piton

Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@
[submodule "source/FMOD_SDL"]
path = source/FMOD_SDL
url = https://github.com/flibitijibibo/FMOD_SDL
[submodule "source/Steamworks.NET"]
path = source/Steamworks.NET
url = https://github.com/rlabrecque/Steamworks.NET
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Some libraries have patches applied to them, to account for Everest-specific nee
## Libraries Versions

### Open-Source Libraries
These libraries are open source and are built in CI.
These libraries are open source and are built in CI.

- SDL2 `2.28.5`
- FNA `24.01`
Expand All @@ -17,11 +17,12 @@ These libraries are open source and are built in CI.
- Vulkan Loader `1.3.296`
- Piton [21c7868](https://github.com/Popax21/Piton/tree/21c7868d06007f0c5e7d9030a0109fe892df1bf3)
- FMOD_SDL [1f021ce](https://github.com/flibitijibibo/FMOD_SDL/tree/1f021ceb6cc13e3fe93e53e0f87d2673b24e54b7)
- Steamworks.NET [`2024.8.0`](https://github.com/rlabrecque/Steamworks.NET/tree/2024.8.0)

### Closed-Source Libraries
These libraries are closed source and cannot be _built_ in CI.
Some are not accessible without an account, and therefore need to be vendored as a binary blob.

- DiscordGameSDK `3.2.1` (downloaded: https://dl-game-sdk.discordapp.net/3.2.1/discord_game_sdk.zip)
- FMOD Engine `1.10.14` (binary and headers) (vendored: [Download (Requires account)](https://www.fmod.com/download#fmodengine), [License](https://github.com/EverestAPI/Everest-libs/blob/main/binaries/fmod/EULA-FMOD.txt))
- Steamworks SDK `1.40` (with Steamworks.NET `10.0.0`) (vendored: [Download (Official, Requires account)](https://partner.steamgames.com/downloads/list), [Download (via Steamworks.NET)](https://github.com/rlabrecque/Steamworks.NET/releases/tag/10.0.0))
- Steamworks SDK `1.60` (with Steamworks.NET `2024.8.0`) (vendored: [Download (Official, Requires account)](https://partner.steamgames.com/downloads/list), [Download (via Steamworks.NET)](https://github.com/rlabrecque/Steamworks.NET/releases/tag/2024.8.0))
Binary file removed binaries/steamworks/windows-x64/CSteamworks.dll
Binary file not shown.
Binary file removed binaries/steamworks/windows-x64/steam_api64.dll
Binary file not shown.
Binary file removed binaries/steamworks/windows-x86/CSteamworks.dll
Binary file not shown.
1 change: 1 addition & 0 deletions source/Steamworks.NET
Submodule Steamworks.NET added at a2fc88