↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Bugfix: Fixed tripmines teleporting to players in multiplayer
- Bugfix: Fixed backpacks not working in multiplayer
- Bugfix: Fixed players timing out or not appearing when joining multiplayer
- Bugfix: Fixed a handful of decompilation errors, including some AI errors regarding underwater shooting
- Bugfix: Fixed enemies getting stuck in the Nirvana Baby pose if they fall into water and then exit the water
- Bugfix/Improvement: Improved sound spam hysteresis to avoid mouse droids in the Falling Ship level from buzzing
- Bugfix: Fixed palettes sometimes getting corrupted
- Improvement: Added ledge squeeze experiment in General > Advanced
- Improvement: Reduced RAM usage on DSi by 1.5MiB in some cases
- Developers: Various build system improvements
- Linux: Upgrade Flatpak runtime to freedesktop 25.08 by @bobberb
- Linux: Flatpak updates by @JakeSmarter
- Linux: Remove forward-compatible GL flag on Linux to fix Steam Deck GLX error by @bobberb
- Linux: Strip debug symbols and optimize Linux release builds by @bobberb
- Linux: Add nix flake for Linux build and dev shell by @bobberb
- Two new (WIP) platforms!
- Windows XP 32-bit build target, with GL 1.1 rendering
- Dreamcast
From v0.9.8
- Bugfix: Fixed cutscene audio stuttering on older devices
- Bugfix: Fixed dialog box popping up before cutscenes
- Bugfix: Improved cutscene audio sync
- Bugfix: Fixed controls passing through Escape screen in Multiplayer
- Bugfix: Fixed raw mouse controls not mapping well to older input configs
- Bugfix: Fixed pitch/turn inconsistencies across different frames per second
- Improvement: Added support for Steam Big Picture Mode and Steam Deck's on-screen keyboard
- Improvement: Force full screen and Hi-DPI, and disable cmdline window, if launched via Steam Big Picture Mode
- Improvement: Pause cutscenes when multitasking on Android
- Improvement: Pause game when multitasking on Android
From v0.9.7
- Bugfix: Fixed audio on macOS Tahoe
- Bugfix: Fixed the hud crosshair options for saber/melee
- Bugfix: Improved audio sync during cutscenes
- Bugfix: Fixed some rendering bugs and improved rendering performance slightly
- Improvement: The Map menu now renders at the display refresh rate
- Improvement: The Map, Objectives, and Force Power menus can now be exited faster with the Esc key
- Bugfix/Improvement: Added a hysteresis to repetitive sounds like splashing and landing
- Bugfix/Improvement: Probably some other stuff tbh, I didn't keep good track this time around
- Improvement: Greatly improved controller support--
- Menus are now fully navigable via controller input, including cutscenes
- Added sensible controller binding defaults
- This probably extends to Steam Deck but to be honest I haven't tested it yet, expect hotfixes in the next week or so if there's issues though
- Two new platforms!
- New Platform: Android (with Gamepad)
- Currently doesn't support touch input, tested with a full playthrough of DF2+MoTS on an Ayn Thor
- Should also work with Backbone controllers and similar devices
- Assets are installed via the Files app to the OpenJKDF2 files, with DF2 assets loaded from the
jk1/folder and MoTS from themots/folder (see the DSi shareware demo zip for an example folder setup)
- New Platform: Nintendo DSi
- Features a custom renderer (including emissive textures), audio, and a slew of robustness improvements to deal with the tiny amount of RAM/VRAM on the DSi
- DF2 is fully working, but MoTS struggles with out-of-memory issues still
- DSi compat on 3DS has more RAM available, and is more stable, but does not have variable refresh support
- Includes minified UI elements in the zip
nintendo-dsi-shareware-demo.zipalso contains shareware demo assets for quick extract-and-run testing
- See README.txt for more details on setup and caveats
From v0.9.6
- Bugfix: Fixed type confusions with Thing types and controlTypes
- Multiplayer: Fixed trip mines placed by the MP host randomly teleporting back to the host.
- Multiplayer: Possibly fixed some co-op bugs?
- Bugfix: Possibly fixed some bugs with the minimap?
- Bugfix: Possibly fixed some bugs with weapon collision?
- MoTS (beta):
- Bugfix: Fixed archlight indices not being set correctly for some Thing spawns.
From v0.9.5
- Bugfix: Fixed debug menu level selection crashes, maybe
- Bugfix: Removed a debug print when hovering GUI items
- Bugfix: Fixed Boc not attacking the player on light side endings, and possibly other AI brain damage
- Bugfix: Weapon waggle is now consistent with the presumed 'mastering' FPS of whoever coded the waggle (25FPS)
- Enhancement: Added an option to disable weapon waggle
- Enhancement: Improved settings text consistency for new text
- Enhancement: Press FIRE to restart beep respects SFX volume now
- MoTS (beta):
- Bugfix: Fixed saber/fist crosshair options not working
- Developers/Experimental:
- Fixed MSVC compiling again
From v0.9.4
- MoTS (beta):
- Bugfix: Fixed items not disappearing after pickup
From v0.9.3
- Bugfix: Fixed sector ambient sounds not playing
- MoTS (beta):
- None for this release
From v0.9.2
- Bugfix: Fixed multiplayer map loading
- MoTS (beta):
- Bugfix: Fixed rancor collision boxes (Implemented SITH_COLLIDE_TREE)
- Developers/Experimental:
- I fixed CMake building again, yay
From v0.9.1
- Hotfix: Fixed missing
libssp-0.dllin win64 zip. - Bugfix: Fixed explosion colors
- Bugfix: Fixed a bug in
sithCogFunctionSurface_GetSurfaceAdjoin - Bugfix: Fixed implicit function decl bug in
sithCogFunctionAI_AISetMoveSpeed - QoL: Mouse look defaults to non-inverted now when making new profiles.
- Improvement: Improved emissive textures for jkgfxmod overrides when bloom is disabled.
- Bugfix: Fixed crashes when parameter is not passed to
activate,jump(dev console),hyper(JKDF2) andquickzap(MoTS) commands. - Bugfix: Fixed alignment differences not persisting when loading from a savefile or via debug menu (ie, Jan appears in Boc fight, incorrect cutscenes, etc)
- MoTS (beta):
- Bugfix: fix
sithDSSThing_SendSyncThingMP item respawn
- Bugfix: fix
- Developers/Experimental:
- Lots of CMake/multi-platform cleanup and improvements
- Attempted a port to the DSi (barely works, probably not viable but a good proof-of-concept)
- Android port has audio now
About these builds
Currently, I am only providing 64-bit builds on all platforms to make it easier to find regressions and undefined behavior; 32-bit is supported but not provided. Windows/macOS zips are located in the Assets spoiler at the bottom, and Linux can download via Flathub or compiled manually (See BUILDING.md for instructions). It is recommended to backup any savedata you place significant value on before running.
About Experimental JK MoTS support
- MoTS can now be completed! But some behavior may be missing. Any bug reports on game behavior (no matter how minor) are extremely appreciated, because it helps me to keep track of what needs to be done. There's a lot, the debug menu is your friend :)
- MoTS mode can be launched by adding the
-motsCompatcommand line argument and following the install instructions, or by placingopenjkdf2-64.exe(and the other required DLLs) in an existing MoTS install folder. - MoTS mode can also be launched from the
Expansions & Modsmenu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exeis in the same directory as JK.EXE, then runopenjkdf2-64.exe. - MacOS: Copy
OpenJKDF2.appinto your Applications folder and run it. You may need to right click -> Open to get around Gatekeeper. - Linux: Install via Flathub, or compile and copy
openjkdf2into the same directory as JK.EXE and run.
If game assets are missing, an install prompt will show on startup and ask for either:
- An existing GOG/Steam/original installation
- An original Disk 1, followed by Disk 2
To transfer saves, enter the main menu and select Expansions & Mods, then click Open Resource Folder. A window will open where you can copy your old player folder to. You can also install any mods to mods/ and episodes/.
mods.mp4
My game crashed, what do I do?
I'm looking for regressions and crashes! File an issue or email me at mtinc2@gmail.com with a crash stacktrace. If it's reproducible, a savefile or instructions to reproduce would also be appreciated.
- Windows: Copy the crash log from
openjkdf2-64.RPT. - MacOS: Cmd+Space, type
Console.appand copy the entire crash report fromopenjkdf2-64. Alternatively, copy the crash log fromcrash.log - Linux: Copy the crash log from
crash.logor the console output.
To open the asset directory where the crash log is located, enter the main menu and select Expansions & Mods, then click Open Resource Folder, as shown in the above mp4.
QoL feature notes:
- Built-in jkgfxmod texture pack support
- IPv6 Multiplayer support, based on Valve's GameNetworkingSockets
- SDL2 controller/joystick support, with up to 32 buttons bindable.
- Emissive Textures, Bloom, Screenspace Ambient Occlusion (SSAO)
- Music is loaded from audio tracks at
MUSIC/Track<12..32>.oggin Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.oggandMUSIC/2/Track<1..11>.oggfor installs made from original disks. The music looping bug is also fixed. - Menus, cutscenes and the game viewport auto-rescale to the window size, with appropriate aspect ratios (ultrawide, or at least wide-er monitor support).
- Game runs at full framerates by default instead of 30FPS/50FPS in Singleplayer (validated up to 144FPS)
- FPS can be capped to any value in Setup > Display
- VSync can be enabled or disabled in Setup > Display
- Weapon waggle is scaled properly with FPS
- FOV is adjustable in Setup > General
- HiDPI is configurable in Setup > General
- HUD elements are scaled with screen resolution
- LOD and mipmap distances are scaled with render resolution to ensure textures and models don't degrade noticeably on higher-resolution screens.
What isn't working:
- Using plus or minus to resize the screen (with SDL2, resolution auto-resizes to window size)
- In-game screenshots

