Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
a570741
ci: bump actions/github-script from 7 to 9
dependabot[bot] Aug 30, 2026
0128d9a
ci: bump actions/checkout from 4 to 7
dependabot[bot] Aug 30, 2026
1b12591
ci: bump actions/cache from 4 to 6
dependabot[bot] Aug 30, 2026
ad49470
ci: bump dependabot/fetch-metadata from 2 to 3
dependabot[bot] Sep 1, 2026
0acc038
ci: bump softprops/action-gh-release from 2 to 3
dependabot[bot] Sep 1, 2026
6b0a74a
Merge pull request #86 from CanReader/staging
CanReader Oct 1, 2026
694af4d
Merge pull request #73 from CanReader/dependabot/github_actions/actio…
CanReader Oct 4, 2026
51bf43c
Merge pull request #74 from CanReader/dependabot/github_actions/actio…
CanReader Oct 4, 2026
c201c5f
Merge pull request #75 from CanReader/dependabot/github_actions/actio…
CanReader Oct 4, 2026
2a78c8a
Merge pull request #76 from CanReader/dependabot/github_actions/depen…
CanReader Oct 4, 2026
e7df1e0
Merge pull request #77 from CanReader/dependabot/github_actions/softp…
CanReader Oct 4, 2026
d1b0209
feat: support the engine's gpu profiling and frame capture flags
CanReader Oct 8, 2026
7d21d03
feat: add a debug-only --autofly flag for streaming tests
CanReader Oct 8, 2026
ba42399
fix: stop tonemapping vulkan water twice
CanReader Oct 8, 2026
fa6709a
perf: cheaper wave normals and back-face shadows in the vulkan water …
CanReader Oct 8, 2026
55266c8
perf: cull shadow casters outside the light's ortho box
CanReader Oct 8, 2026
de469ae
refactor: name the autofly height clearance
CanReader Oct 18, 2026
6b7bf48
feat: add a debug-only -campose flag that pins the camera
CanReader Oct 18, 2026
ad926c4
feat: refract, absorb and reflect the scene in vulkan water
CanReader Oct 18, 2026
4f01019
feat: bring the scene-reading water to opengl
CanReader Oct 18, 2026
392d6b0
fix: filter dx water waves and keep reflections above the horizon
CanReader Oct 18, 2026
78c80f5
fix: break up repeating water wave patterns on vulkan
CanReader Oct 18, 2026
741f00b
fix: break up repeating water wave patterns on opengl
CanReader Oct 18, 2026
7b7a0d9
fix: break up repeating water wave patterns on directx
CanReader Oct 18, 2026
1374654
feat(UI): add checkbox for deferred rendering
CanReader Oct 24, 2026
f539a6d
Merge branch 'realistic-water' into vulkan-optimization
CanReader Oct 24, 2026
8e53700
fix: drop screen-space noise from the water blur and reflections
CanReader Oct 25, 2026
0af0a51
feat: enable taa with sharpening and a sharper atlas lod bias
CanReader Oct 25, 2026
6572be8
Merge branch 'staging' into vulkan-optimization
CanReader Oct 28, 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
16 changes: 8 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ jobs:
# Engine/ is a tracked symlink to ../SleakEngine, so the two repos must
# sit side by side in the workspace for it to resolve.
- name: Check out the game
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
path: SleakCraft

- name: Check out the engine
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
repository: CanReader/SleakEngine
ref: ${{ env.ENGINE_REF }}
Expand Down Expand Up @@ -102,7 +102,7 @@ jobs:

- name: Cache compiler output
if: runner.os == 'Linux'
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.ccache
key: ccache-craft-${{ runner.os }}-${{ matrix.name }}-${{ github.sha }}
Expand Down Expand Up @@ -168,12 +168,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out the game
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
path: SleakCraft

- name: Check out the engine
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
repository: CanReader/SleakEngine
ref: ${{ env.ENGINE_REF }}
Expand Down Expand Up @@ -225,12 +225,12 @@ jobs:
timeout-minutes: 90
steps:
- name: Check out the game
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
path: SleakCraft

- name: Check out the engine
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
repository: CanReader/SleakEngine
ref: ${{ env.ENGINE_REF }}
Expand All @@ -251,7 +251,7 @@ jobs:
libasound2-dev libpulse-dev libudev-dev libdbus-1-dev \
glslc || sudo apt-get install -y glslang-tools

- uses: actions/cache@v4
- uses: actions/cache@v6
with:
path: ~/.ccache
key: ccache-craft-smoke-${{ github.sha }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependabot-auto-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
steps:
- name: Fetch update metadata
id: meta
uses: dependabot/fetch-metadata@v2
uses: dependabot/fetch-metadata@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/engine-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
timeout-minutes: 90
steps:
- name: Check out the game
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
path: SleakCraft

- name: Check out the engine
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
repository: CanReader/SleakEngine
ref: ${{ github.event.client_payload.sha || 'main' }}
Expand All @@ -47,7 +47,7 @@ jobs:
glslc || sudo apt-get install -y glslang-tools

- name: Cache compiler output
uses: actions/cache@v4
uses: actions/cache@v6
with:
path: ~/.ccache
key: ccache-craft-engineupdate-${{ github.run_id }}
Expand All @@ -62,7 +62,7 @@ jobs:

- name: Open an issue if the engine broke the game
if: failure()
uses: actions/github-script@v7
uses: actions/github-script@v9
with:
script: |
const sha = context.payload.client_payload?.sha || 'main';
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ jobs:
os: [ubuntu-latest, windows-latest]
steps:
- name: Check out the game
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
path: SleakCraft

- name: Check out the engine
uses: actions/checkout@v4
uses: actions/checkout@v7
with:
repository: CanReader/SleakEngine
submodules: recursive
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
ls -la

- name: Attach to the release
uses: softprops/action-gh-release@v2
uses: softprops/action-gh-release@v3
with:
files: |
SleakCraft/dist/*.tar.gz
Expand Down
29 changes: 28 additions & 1 deletion Client/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
#include <Core/CommandLine.hpp>
#include <Game.hpp>
#include <Core/Logger.hpp>
#include <cstdio>
#include <cstring>
#include <filesystem>
#include <iostream>

Expand Down Expand Up @@ -30,8 +32,15 @@ static void PrintHelp(const char* exe) {
<< " --no-vsync Disable VSync on launch\n"
<< "\nBenchmark\n"
<< " --bench Start benchmark recording immediately\n"
<< " --autofly <m/s> Autopilot flight speed (Debug builds)\n"
<< " -campose x,y,z,yaw,pitch\n"
<< " Pin the camera, degrees (Debug builds)\n"
<< " --gpuprofile Log per-pass GPU timings (Vulkan)\n"
<< " -capture <file> Write frame N as a PPM, then exit (Vulkan)\n"
<< " -capture-frame <n> Frame index for -capture (default: 600)\n"
<< "\nDebug\n"
<< " --validate Enable Vulkan validation layer\n"
<< " --validate Enable Vulkan validation (Debug: always on)\n"
<< " --syncval Enable Vulkan synchronization validation\n"
<< "\nMisc\n"
<< " --help Show this message\n\n";
}
Expand All @@ -56,6 +65,24 @@ int main(int argc, char** argv) {
};

Game* game = new Game();
#ifdef DEBUG
const std::string autoFly = defaults.CommandLineArgs["--autofly"];
if (!autoFly.empty()) {
try {
game->SetAutoFlySpeed(std::stof(autoFly));
} catch (...) {
}
}
// Raw argv: CommandLine drops values that start with '-'
for (int i = 1; i + 1 < argc; ++i) {
CameraPose pose;
if (std::strcmp(argv[i], "-campose") == 0 &&
std::sscanf(argv[i + 1], "%f,%f,%f,%f,%f", &pose.x, &pose.y,
&pose.z, &pose.yawDeg,
&pose.pitchDeg) == CAMERA_POSE_FIELD_COUNT)
game->SetCameraPose(pose);
}
#endif
Sleak::Application app(defaults);

return app.Run(game);
Expand Down
Loading
Loading