Crash Bandicoot PC Port - Version 1.1
π Version 1.1 is a major update focused on critical stability fixes, massive quality-of-life improvements, and fixing the save system!
Most importantly, Memory Card saving and loading is now fully functional, allowing you to save your game progress reliably. In addition, the game window is now seamlessly embedded directly into the launcher form, eliminating separate process windows and providing a much smoother user experience.
πΎ Major Highlights & What's New
πΎ Memory Card & Save System Fixes (Crucial Update)
- Working Save System: Completely overhauled BIOS I/O routines (
BiosA/BiosB) to handle memory cards accurately. - Accurate Block & Card Signals:
MemoryCard.Matchnow returns exact block details, properly supporting hardware/software card signals, card info/load handling, and diagnostic tracking. - Progress Persistence: You can now save and load your game progress without save corruption or failure!
π₯οΈ Single-Window Embedded Launcher
- Seamless Windowing: The Silk.NET render window is now embedded directly as a child window inside the WinForms launcher host (
LauncherHost.RunEmbeddedGame()), rather than running as a standalone detached process. - UI State Management: Smooth transitions between the launcher UI and active gameplay (
EnterGameMode/LeaveGameMode). - Icon Build Automation: Integrated automatic generation of
app.icofromicon.pngduring build. - CLI Support: Added the
--runcommand-line argument to prepare and launch the game directly via scripts or shortcuts.
π¨ ImGui & UI Stability Fixes
- Corrupt Settings Prevention: Fixed stale ImGui context snapshots that were corrupting
interface.iniwhen exiting embedded game sessions. - Output Panel Persistence: The game framebuffer panel is now forced to remain open, preventing window recovery failures.
- Offline Fonts: Replaced Google Fonts web dependency with local font assets for faster loading and offline independence.
- DockSpace Adjustments: Corrected DockSpace flags for proper content panel visibility during UI layout changes.
π Diagnostics & Logging Infrastructure
- Session Logging: Built
SessionLog(RecompOne.Runtime.Diagnostics) to automatically record runtime events, startup/shutdown state, and unhandled exceptions. - Log Management: Output logs are neatly written to
AppPaths.LogsDir(ignored by git). - Console Capture: Split
ConsoleMirrorstdout/stderrstreams and routed critical outputs straight intoSessionLog. - F9 Debug Marker: Press
F9during gameplay or launcher usage to drop a custom marker into the active log file for easier troubleshooting.
π οΈ Summary of Changes
- Memory Card & BIOS: Rewrote BIOS card handling routines, added block match details, diagnostic logs, and fixed save IO.
- Launcher Engine: Embedded Silk.NET HWND into WinForms launcher (
SetParent), added full-screen delegation, and lifecycle hooks (GameSessionEndedException). - UI/ImGui: ImGui context cleanup on session end, static dockspace visibility rules, local font loading.
- Diagnostics: Full session log capture with
SessionLog, log folder creation, stdout/stderr mirroring, andF9bookmark key.
Thank you for testing and playing! If you encounter any bugs or issues with v1.1, please report them in the Issues tab.
