weekly-2026-09-04
Pre-release
Pre-release
·
16 commits
to main
since this release
Build notes
Validate reusable workflow permissions fix
Changelog
- ci(release): Fix weekly release workflow permissions
- chore(lib): Implement Usp10Loader class (TheSuperHackers#3241)
- tweak(gameaudio): Only update sound volumes if the volume has really changed (TheSuperHackers#3252)
- fix(gameaudio): Remove the has3DSensitiveStreamsPlaying volume hack (TheSuperHackers#3252)
- bugfix(tunnel): Restore retail compatibility after changes to TunnelTracker::onTunnelDestroyed() and TunnelContain::onCapture() (TheSuperHackers#3242)
- tweak(gamestate): Support loading save files from absolute paths (TheSuperHackers#3226)
- bugfix(audio): Apply configured volume to Bink movie audio (TheSuperHackers#3083)
- build(vcpkg): Define FFmpeg as VCPKG feature, disabled by default (TheSuperHackers#3184)
- fix(htree): Reject invalid W3D hierarchy pivot counts (TheSuperHackers#3195)
- unify(gui): Move game window files to Core (TheSuperHackers#3197)
- unify(gui): Merge game window files (TheSuperHackers#3197)
- ci(vcpkg): Disable vcpkg metrics to stop random link failures (TheSuperHackers#3244)
- bugfix(particlesys): Delay particle system destruction to prevent orphaning slaved finite-lifetime particle systems (TheSuperHackers#3238)
- chore: Accept both path slashes for clang tidy (TheSuperHackers#3225)
- refactor: Fix unnecessary copy initializations (TheSuperHackers#3202)
- tweak(scorch): Increase scorch buffer limits to 16-bit maximum (TheSuperHackers#3186)
- fix(scorch): Early return if scorch does not fit in buffer (TheSuperHackers#3186)
- chore: Add override keywords to virtual function overrides (TheSuperHackers#3221)
- bugfix(update): Resolve mismatch in Generals caused by updating AssistedTargetingUpdate for the initial frame (TheSuperHackers#3212)
- fix(heightmapedit): Fix undefined behaviors in WorldHeightMapEdit::remapTextures, WorldHeightMapEdit::findBoundaryNear (TheSuperHackers#3201)
- bugfix(object): Avoid potential crash when Troop Crawler is destroyed before reaching Reinforcement Pad (TheSuperHackers#3165)
- Revert previous crash fixes when Troop Crawler is destroyed before reaching Reinforcement Pad (TheSuperHackers#3165)
- refactor(ww3d2): Implement first bits for IRenderBackend interface (TheSuperHackers#2613)
- ci(vcpkg): Repair the vcpkg CI path and move the binary cache to GitHub Packages (TheSuperHackers#2542)
- tweak(particlesys): Cleanup volume particle depth handling and add INI field to control it (TheSuperHackers#3188)
- fix(filesystem): Delay StdBIGFile allocation until after archive validation (TheSuperHackers#3196)
- feat(saveload): Implement -loadsave command line option (TheSuperHackers#3001)
- refactor(network): Clarify command list ordering (TheSuperHackers#3052)
- bugfix(network): Sort fast path in NetCommandList by sort number (TheSuperHackers#3052)
- bugfix(missileaiupdate): Diving missiles no longer miss moving targets (TheSuperHackers#3192)
- tweak(w3ddisplay): Set texture bit depth to display bit depth (TheSuperHackers#3181)