Repository navigation
Releases
v1.0.5 — Windows Support & Fixes
First official Windows build, the Shift+Enter select fix from #17, and a round of correctness and data-hardening work across the codebase. macOS and Linux also pick up the rendering and window fixes made since 1.0.4.
New Platform:
- Windows (x64) is now supported and packaged. This is the first tagged release with a Windows build, and the SDL2 and Visual C++ runtime DLLs are bundled so nothing extra needs installing (#10).
Bug Fixes:
- Fix Shift+Enter for level and vehicle select starting the game instantly instead of opening the select screen. Menu and dialog input is now edge-triggered, so a key held across a screen transition no longer triggers anything (#17, reported by @cleone12).
- Fix a crash on x86_64 Linux at level 10 when a track section has no segments (#14, via @orazioedoardo).
- Fix texture swimming in the road and background rendering.
- Fix jittery window resizing and keep the letterbox aspect ratio when the window size changes.
Improvements:
- Add a fullscreen toggle (Alt+Enter) and remember the window size between sessions.
- Shift+click on Start Game now opens the select screen too, as an alternative to the Shift+Enter chord.
- Arrow-key menu navigation now follows your OS key repeat rate instead of fixed delays.
Robustness:
- Harden parsing of the packed game data against malformed input: bounds-check the LZRW3-A decompressor on both source and destination, validate the resource map and entry ranges against the file size, validate the sound sample offset table before indexing, and reject oversized PICT rows.
- Fix a batch of correctness issues found in a full code review, including operator precedence in the AI car distance check, a strict-aliasing violation in object velocity testing, a missing return in motion checking, and a frame-time history length error.
Packaging:
- Use the original software name for the app and bundle identifier (#13, @orazioedoardo).
- Publish release artifacts without an extra zip layer, and set correct source-tree file permissions (#15, #16, @orazioedoardo).
Contributors:
- @orazioedoardo: Linux level 10 crash fix, original naming, and packaging improvements
- @cleone12: reported the Shift+Enter select bug (#17)
Downloads:
Reckless-Drivin-1.0.5-windows-x64.zipfor Windows 10/11 (x64)Reckless-Drivin-1.0.5-mac.dmgfor macOS (Apple Silicon and Intel)Reckless-Drivin-1.0.5-linux-x86_64.AppImagefor Linux x86_64Reckless-Drivin-1.0.5-linux-aarch64.AppImagefor Linux aarch64
v1.0.4 — Linux Fixes
Linux stability and compatibility fixes.
Bug Fixes:
- Fix visual artifacts and crash on x86_64 Linux caused by float-to-int undefined behavior in road drawing (#6, reported by @orazioedoardo)
- Fix build failure on GCC 14+ (Arch Linux and other rolling-release distros) where
-Wincompatible-pointer-typesis treated as an error (#6)
Improvements:
- Use
SDL_GetPrefPath()for cross-platform preferences directory (#4, thanks @orazioedoardo) - Read version string from CMakeLists.txt instead of hardcoding it
- Refined app icon with subtle shadow and 3D effect (#3, #5)
Contributors:
- @orazioedoardo — bug reports, testing, PRs for preferences path and icon refinements
Downloads:
RecklessDrivin-1.0.4-mac.dmg— macOS (Apple Silicon + Intel)RecklessDrivin-1.0.4-linux-x86_64.AppImage— Linux x86_64RecklessDrivin-1.0.4-linux-aarch64.AppImage— Linux ARM64
v1.0.3 — Bug Fixes & Multi-Platform Packaging
Bug fixes and packaging improvements.
Fixes:
- Rename "Fire" to "Mine" in key configuration
- Fix high score insertion out-of-bounds read
- Fix score entry screen flicker
- Fix mouse targeting after window resize
- Fix missing sound effects (expanded to 16 channels, stale priority cleanup)
- Add "Skid Sound" toggle in Preferences
- Pause screen now redraws on window resize
Packaging (thanks @orazioedoardo):
- Universal macOS app (arm64 + x86_64)
- macOS DMG for easy distribution
- Linux AppImages for x86_64 and aarch64
Downloads:
RecklessDrivin-1.0.3-mac.dmg— macOS (Apple Silicon + Intel)RecklessDrivin-1.0.3-linux-x86_64.AppImage— Linux x86_64RecklessDrivin-1.0.3-linux-aarch64.AppImage— Linux ARM64
v1.0.2 — Menu & Input Fixes
Fixes two bugs that could occur after finishing a game.
What changed
- Fixed menu graphics bleeding through high scores: After a game ended, license plate buttons from the main menu would bleed through the high scores screen. The menu is now only drawn after the scores are dismissed.
- Fixed held keys causing a crash: Pressing Enter to confirm a high score name or dismiss the scores screen could immediately trigger "Start Game" in the menu, crashing in
LoadLevel. SDL's real-time keyboard state (unlike the original Mac OS event model) kept reporting the key as held even after flushing events. BothWaitForPress()andInitInterface()now wait for action keys to be physically released before proceeding.
Download
RecklessDrivin-macOS.zip — unzip, double-click, play.
Since the app is ad-hoc signed, macOS will quarantine it on first download. Run this once in Terminal:
xattr -cr /path/to/RecklessDrivin.app
Build from source
See the README for build instructions (macOS and Linux).
v1.0.1 — Stability Fix
Fixes a crash (SIGSEGV) that could occur during gameplay when objects were destroyed.
What changed
- Fixed a use-after-free in the object physics/collision code. The original Mac OS memory manager kept freed blocks readable briefly; modern
free()does not. Removed objects are now held until end-of-frame before freeing, matching the original behaviour. - Added a guard against double-removal when an object is killed twice in the same frame.
Download
RecklessDrivin-macOS.zip — unzip, double-click, play.
Since the app is ad-hoc signed, macOS will quarantine it on first download. Run this once in Terminal:
xattr -cr /path/to/RecklessDrivin.app
Build from source
See the README for build instructions (macOS and Linux).
v1.0.0 — Initial Release
The complete native SDL2 port of Reckless Drivin'.
Download: RecklessDrivin-macOS.zip — unzip, double-click, play. No dependencies, no install.
Since the app is ad-hoc signed, macOS will quarantine it on first download. Run this once in Terminal:
xattr -cr /path/to/RecklessDrivin.app
(Tip: type xattr -cr then drag the app onto the Terminal window.)
What's included
- All 10 levels, 24 vehicles
- 640x480 pixel-perfect rendering
- 8-channel stereo audio at 44.1 kHz with Doppler effect
- High scores with name entry
- Remappable controls, gamepad support
- Screen fades, transitions, scrolling credits
- Persistent preferences and scores
- Self-contained .app bundle with SDL2 bundled inside
Build from source
See the README for build instructions (macOS and Linux).