github Matteo842/CrashBandicoot-Launcher 1.4

latest release: 1.5
2 days ago

Crash Bandicoot PC Port - Version 1.4

🚀 Version 1.4 is a monumental update for the project! This release brings native Linux support, completely replaces the web-based launcher with a 100% native C# UI on Windows, fixes a critical level crash in Generator Room, and overhauls the entire audio and XA streaming pipeline.


🔥 Major Highlights & What's New

🐧 Cross-Platform Linux Support

  • Native Linux Build: Added multi-framework targeting (net10.0 CLI for Linux alongside net10.0-windows).
  • CLI & Standalone Window: Linux builds currently launch directly via CLI commands (--prepare, --run, --smoke) using a standalone Silk.NET / OpenGL render window.
  • GUI Launcher Coming Soon: Please note: A dedicated graphical launcher for Linux is currently in development and will be available in an upcoming update!
  • Wider Driver & VM Compatibility: Lowered the minimum OpenGL requirement to OpenGL 4.3 for better performance on Linux graphics drivers and virtual machines.
  • OpenAL Soft Integration: Added Linux audio compatibility via OpenAL Soft.

⚡ 100% Native C# Launcher UI on Windows (Goodbye WebView2)

  • Native GDI+ Surface: Completely stripped out index.html, WebView2, and Photino stubs. The Windows launcher is now an ultra-fast, lightweight, pure C# WinForms native UI.
  • Custom ThemeSlider Control: Replaced standard Windows sliders with a custom-painted ThemeSlider for volume and filter controls.
  • Enhanced Visual Polish: Improved layout typography with larger Bungee/Nunito font metrics, polished card boundaries, adjusted dialog positioning, and centered glyph icons.

🐛 Fixed Generator Room Level Crash (SCUS-94900)

  • Generator Room Fix: Fixed a critical crash on the Generator Room level where geometry operations would clobber GP/SP registers in Dispatcher and PSMemory, triggering unmapped address exceptions during level load/transitions.
  • Improved Memory Diagnostics: Enhanced unmapped memory tracking and runtime exception logs.

🔊 Audio Pipeline Overhaul & XA Tuning

  • Stutter-Free XA Audio: Rewrote the LibCd XA pump logic with adaptive sleep, larger scan targets, and higher thread priorities for smooth CD-audio playback.
  • Mixer Responsiveness: Expanded host audio buffer count/size, reduced XA prime frames, added open-device fallback retries, and increased mixer loop responsiveness.

🔒 Single-Instance Process Enforcement

  • Cross-Platform Locking: Implemented an exclusive file lock mechanism to ensure only one instance of the app runs at a time on both Windows and Linux.

🛠️ Summary of Changes

  • Platform Support: Dual-target builds (net10.0-windows & net10.0), Linux CLI options (GUI launcher coming soon), win-x64 and linux-x64 automated release builds via publish_release.py.
  • Launcher UI: Removed WebView2 / HTML stack; added GDI+ native WinForms launcher for Windows, custom ThemeSlider, and improved DPI layout metrics.
  • Core Engine & Memory: Fixed GP/SP geometry register clobbering causing the Generator Room level crash, added memory unmapped diagnostics.
  • Audio System: Expanded buffer sizes, XA streaming pump tuning, OpenAL Soft fallback, and thread priority optimizations.
  • Process Management: Added cross-platform single-instance locking (AppLock).

Thank you for testing and playing! If you encounter any bugs on Windows or Linux, please open an issue in the repository.

Don't miss a new CrashBandicoot-Launcher release

NewReleases is sending notifications on new releases.