Download Link Removed - Version is too out of date. Download a newer version.
1.0.3.2103
Minimal build is provided direct on GitHub that does NOT include the HD Graphics. You'll need to download that from the mirror above.
100% Project Completion:
- Fixed Guns and Projectiles not working properly — Damage was never dealt and impacts were not being raycasted (This was the biggest issue, game is 100% complete now)
- Fixed Text Scaling so text overlays now adjust accordingly based on window size / fullscreen size.
- Fixed the game renderer which now supports automatic rendering of D3D11, OpenGL and Vulkan.
- Important - Make sure to replace the cfg file (if upgrading to this version) as the text scaling has now changed to a 16pt font, otherwise text will be missing.
Critical Fixes:
- Fixed 3D objects disappearing —
GenereAffListused bitwise AND instead of OR when testing actor flags, causing every actor to be incorrectly marked as a background incrust. All 3D characters and objects could vanish as a result. - Fixed
AllRedrawbuffer overrun — The draw loop could read past the end of theIndexarray when 2D animations were active, leading to crashes or rendering garbage. - Fixed
findBestCameracrash — An out-of-boundscurrentCameraTargetActorindex could cause a crash when evaluating camera angles after the target actor was deleted. - Fixed
AffSpecialObjetdivision by zero — Particle effects (blood, smoke, evaporation) withEND_FRAMEset to zero caused a floating-point divide-by-zero crash. - Fixed
checkLineProjectionWithActorsinfinite loop — Line-of-sight checks could loop forever when no wall or actor was found along the ray, freezing the game. - Fixed
throwStoppedAtinfinite loop — Thrown objects could enter an unbounded placement search if no valid position existed, freezing the game. - Fixed
InitViewedRoomListbuffer overflow — Rooms with many linked zones and camera-visible rooms could overflow the 30-entry visibility list, corrupting adjacent memory.
High-Severity Fixes:
- Fixed
GereDecout-of-bounds room access — An actor moving to an invalid room index would accessroomDataTableout of bounds, causing crashes or unpredictable behavior. - Fixed
take()inventory overflow — Taking an item when the inventory was full (30 items) would write past the end of the inventory array.
Medium-Severity Fixes:
- Fixed
handleAnim2danimation cycling — The inner loop was missing abreakstatement, causing animated background overlays to always reset to the first frame instead of cycling. - Fixed
startAnim2dnull pointer crash — Starting a 2D animation before the animation resource was loaded caused a null pointer dereference. - Fixed
startAnim2darray overflow — Attempting to start more than 20 simultaneous 2D animations would write past the end of theTabAnim2darray.