Releases: shinyquagsire23/OpenJKDF2
v0.9.2 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
Sorry for the long delay (wow, I guess it was almost exactly a year). Got busy w/ work and then got laid off, then got a new job, super hectic lol. Please let me know if the builds aren't working, build dependencies can be a challenge sometimes.
What's new?
- 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.dll
in 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_SendSyncThing
MP 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
From v0.9.0
- Everything: The build system has been overhauled to reduce external dependencies and maintain the same library versions across all platforms (special thanks to @JakeSmarter for doing a LOT of the legwork on this).
- For Windows users, the following files are no longer used and may now be deleted:
glew32.dll
,libogg-0.dll
,libopus-0.dll
,libopusfile-0.dll
,libprotobuf.dll
. - I did my best to test these changes, but it's possible some bugs emerged as a result. Testing/bug reports are greatly appreciated!
- For Windows users, the following files are no longer used and may now be deleted:
- Windows:
openjkdf2-64.exe
is now compiled with-O2
optimization instead of debug optimization.- This should hopefully improve strange performance scaling issues with SSAA.
- Windows/Development: MSVC/Visual Studio support is greatly improved, and GameNetworkingSockets is now fully supported.
- Bugfix: HiDPI/screen scaling should no longer results in blurry/downscaled rendering on Windows.
- Bugfix: Fixed a potential crash in
sithAIAwareness_sub_4F2C30
- Bugfix: Fixed undefined behavior in Valve GNS bindings which prohibited others from joining games on newer macOS compiles.
- MoTS (beta):
- None for this release
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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
↓ Downloads here ↓
v0.9.1 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Hotfix: Fixed missing
libssp-0.dll
in 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_SendSyncThing
MP 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
From v0.9.0
- Everything: The build system has been overhauled to reduce external dependencies and maintain the same library versions across all platforms (special thanks to @JakeSmarter for doing a LOT of the legwork on this).
- For Windows users, the following files are no longer used and may now be deleted:
glew32.dll
,libogg-0.dll
,libopus-0.dll
,libopusfile-0.dll
,libprotobuf.dll
. - I did my best to test these changes, but it's possible some bugs emerged as a result. Testing/bug reports are greatly appreciated!
- For Windows users, the following files are no longer used and may now be deleted:
- Windows:
openjkdf2-64.exe
is now compiled with-O2
optimization instead of debug optimization.- This should hopefully improve strange performance scaling issues with SSAA.
- Windows/Development: MSVC/Visual Studio support is greatly improved, and GameNetworkingSockets is now fully supported.
- Bugfix: HiDPI/screen scaling should no longer results in blurry/downscaled rendering on Windows.
- Bugfix: Fixed a potential crash in
sithAIAwareness_sub_4F2C30
- Bugfix: Fixed undefined behavior in Valve GNS bindings which prohibited others from joining games on newer macOS compiles.
- MoTS (beta):
- None for this release
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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
↓ Downloads here ↓
v0.9.0 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Everything: The build system has been overhauled to reduce external dependencies and maintain the same library versions across all platforms (special thanks to @JakeSmarter for doing a LOT of the legwork on this).
- For Windows users, the following files are no longer used and may now be deleted:
glew32.dll
,libogg-0.dll
,libopus-0.dll
,libopusfile-0.dll
,libprotobuf.dll
. - I did my best to test these changes, but it's possible some bugs emerged as a result. Testing/bug reports are greatly appreciated!
- For Windows users, the following files are no longer used and may now be deleted:
- Windows:
openjkdf2-64.exe
is now compiled with-O2
optimization instead of debug optimization.- This should hopefully improve strange performance scaling issues with SSAA.
- Windows/Development: MSVC/Visual Studio support is greatly improved, and GameNetworkingSockets is now fully supported.
- Bugfix: HiDPI/screen scaling should no longer results in blurry/downscaled rendering on Windows.
- Bugfix: Fixed a potential crash in
sithAIAwareness_sub_4F2C30
- Bugfix: Fixed undefined behavior in Valve GNS bindings which prohibited others from joining games on newer macOS compiles.
- MoTS (beta):
- None for this release
From v0.8.19
- Hotfix (2023/06/11): Fix macOS x86_64 crashing on startup for real this time
- Hotfix: Fix macOS crashing on startup
- Bugfix: Fixed multiplayer being broken in DF2 due to an incorrect MoTS-compat if branch; The host would be invisible to connecting clients (but not the other way around, usually)
- Bugfix: Fixed a possible multiplayer crash on poorly-formatted maps with less than 32 spawn points.
- MoTS (beta):
- None for this release
From v0.8.18
- Bugfix: Fixed a bug where closing the window before loading a player profile would zero the keybinds of the last-loaded player profile (from registry JSON).
- Bugfix: Fixed a bug where zeroed keybinds would cause an infloop in the Keyboard settings.
- Enhancement: Added initial support for internationalization:
ui/openjkdf2_i8n.uni
will now override most of the other string files, and all added UI text is now located inui/openjkdf2.uni
. These files are embedded in the binary by default, but can be loaded from on-disk (ie,resource/ui/openjkdf2.uni
).- More info is located in the
resource/ui/openjkdf2_i8n.uni
file in the repo as to what files it can currently override, if you're interested in localizing JKDF2 and have suggestions for improvements, let me know! - Misc downstream effect: stdGob now allows buffering files completely in memory, which may be useful for networked assets (or caching GOBs in RAM idk).
- More info is located in the
- MoTS (beta):
- None for this release
From v0.8.17
- Enhancement (@JakeSmarter): de/pl descriptions for Flatpak.
- Bugfix: Fixed global cvars resetting + not loading correctly.
- Bugfix: Fixed automatic updating being broken on Win64.
- Bugfix/Enhancement: Take into account the name of the EXE when automatically updating:
openjkdf2-64.exe
s renamed toJediKnight.exe
orJK.EXE
for Steam/GOG/other launchers will now be automatically updated correctly. - MoTS (beta):
- None for this release
From v0.8.16
- Enhancement: Added support for fully automatic updating (Windows) and semi-automatic updating (macOS).
- On Windows, Github
.zip
releases can be downloaded in-game via the top-left notification. The.zip
will be downloaded, old files will be renamed with.bak
extensions, and the new release will overwrite the old one. - On macOS, Github
.tar.gz
releases can be downloaded in-game via the top-left notification. The.tar.gz
will be downloaded, and opened in the default program for.tar.gz
files. The user must complete installation by dragging it to Applications for now. - On Linux, updating is handled by package management, however it will still show a notification in the top-left.
net_disableUpdates
can be set to1
in the Quake-style console to disable updates and update notifications.- Releases can also be pulled from forks/mirrors by changing the
net_updaterUrl
,net_win64UpdateFilename
andnet_macosUpdateFilename
cvars.
- On Windows, Github
- Bugfix: Fixed znear clipping on weapons, and added a hack for MoTS security camera znears.
- MoTS (beta):
- None for this release
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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
↓ Downloads here ↓
v0.8.19 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Hotfix (2023/06/11): Fix macOS x86_64 crashing on startup for real this time
- Hotfix: Fix macOS crashing on startup
- Bugfix: Fixed multiplayer being broken in DF2 due to an incorrect MoTS-compat if branch; The host would be invisible to connecting clients (but not the other way around, usually)
- Bugfix: Fixed a possible multiplayer crash on poorly-formatted maps with less than 32 spawn points.
- MoTS (beta):
- None for this release
From v0.8.18
- Bugfix: Fixed a bug where closing the window before loading a player profile would zero the keybinds of the last-loaded player profile (from registry JSON).
- Bugfix: Fixed a bug where zeroed keybinds would cause an infloop in the Keyboard settings.
- Enhancement: Added initial support for internationalization:
ui/openjkdf2_i8n.uni
will now override most of the other string files, and all added UI text is now located inui/openjkdf2.uni
. These files are embedded in the binary by default, but can be loaded from on-disk (ie,resource/ui/openjkdf2.uni
).- More info is located in the
resource/ui/openjkdf2_i8n.uni
file in the repo as to what files it can currently override, if you're interested in localizing JKDF2 and have suggestions for improvements, let me know! - Misc downstream effect: stdGob now allows buffering files completely in memory, which may be useful for networked assets (or caching GOBs in RAM idk).
- More info is located in the
- MoTS (beta):
- None for this release
From v0.8.17
- Enhancement (@JakeSmarter): de/pl descriptions for Flatpak.
- Bugfix: Fixed global cvars resetting + not loading correctly.
- Bugfix: Fixed automatic updating being broken on Win64.
- Bugfix/Enhancement: Take into account the name of the EXE when automatically updating:
openjkdf2-64.exe
s renamed toJediKnight.exe
orJK.EXE
for Steam/GOG/other launchers will now be automatically updated correctly. - MoTS (beta):
- None for this release
From v0.8.16
- Enhancement: Added support for fully automatic updating (Windows) and semi-automatic updating (macOS).
- On Windows, Github
.zip
releases can be downloaded in-game via the top-left notification. The.zip
will be downloaded, old files will be renamed with.bak
extensions, and the new release will overwrite the old one. - On macOS, Github
.tar.gz
releases can be downloaded in-game via the top-left notification. The.tar.gz
will be downloaded, and opened in the default program for.tar.gz
files. The user must complete installation by dragging it to Applications for now. - On Linux, updating is handled by package management, however it will still show a notification in the top-left.
net_disableUpdates
can be set to1
in the Quake-style console to disable updates and update notifications.- Releases can also be pulled from forks/mirrors by changing the
net_updaterUrl
,net_win64UpdateFilename
andnet_macosUpdateFilename
cvars.
- On Windows, Github
- Bugfix: Fixed znear clipping on weapons, and added a hack for MoTS security camera znears.
- MoTS (beta):
- None for this release
From v0.8.15
- Enhancement (@annnoo): Added options for disabling the crosshair on saber or fists only.
- Enhancement (@annnoo): Added slider in Gameplay options for crosshair size.
- Enhancement: Added initial cvars support.
- For a full list of cvars (and console commands), just hit TAB in the Quake-style console.
- cvars are stored in
openjkdf2_cvars.json
(for global cvars) and player/PLAYER_NAME/openjkdf2_cvars.json` (per-profile cvars/settings). - All values in
player/PLAYER_NAME/openjkdf2.json
and the.plr
file will eventually be migrated to the cvars system (ie, the cvars file takes priority, even if it still reads/writes the old formats for compatibility).
- MoTS (beta):
- None for this release
cvartest.mp4
From v0.8.14
- Bugfix: Fixed idle timer (again)
- Bugfix: Fixed
.
key in textboxes not working. - MoTS (beta):
- Bugfix: Fixed lighting flickering when bloom was enabled.
From v0.8.13
- Hotfix: Fix Camera #4 zNear in MoTS.
- Bugfix: Platform timers now use
CLOCK_MONOTONIC
. This should prevent periodic frame skips or glitches due to network time adjustments. - Bugfix: Fixed DF2 idle camera sometimes not firing.
- Bugfix: Fixed HUD force/item icons becoming corrupted when enabling HiDPI mid-gameplay.
- Enhancement:
Disable physics stepping
is nowRestore inconsistent physics
; addedRestore 50Hz midair player physics
option.- This is mostly for speedrunners/TAS feasibility testing, and anyone regression testing physics differences.
- Bugfix: Fixed air shafts running too quick at high FPS on Level 18 (see below).
- Enhancement: Added
canonicalCogTickrate
andcanonicalPhysTickrate
options to player profile JSON.canonicalCogTickrate
controls the minimum tickrate for COGs which use theSleep
verb. In the original game, the 50Hz frame limiter caused all sleep operations <0.02s to round up to 0.02s or greater. Several scripts useSleep(0.01)
, meaning that the actual delay was always 0.02s in JK.EXE, but not in OpenJKDF2.canonicalPhysTickrate
controls the 'canonical' slope physics speed. By default this is the same slope speeds as JK.EXE running at 25FPS.- Neither of these settings are applied when
Restore inconsistent physics
is checked.
- MoTS (beta):
- Enhancement: Increased cutscene audio buffer size to 8MiB.
- Bugfix: Fixed security camera overlay rendering incorrectly.
- Bugfix: Fixed zNear back to original values so that security cameras don't block the camera view.
From v0.8.12
- Bugfix: Fixed rendering of some above-water transparent surfaces while underwater (ie, the vines as viewed from the sinkhole on MoTS lv12)
- Impl: Added screenshot support when pressing F12.
- Bugfix: Only send Sighted messages when not in noclip.
- This fixes the instant Objective Completed message on Lv1 when looking in the general direction of 8t88.
- MoTS (beta):
- Bugfix: Fixed the overlay map not rendering correctly on MoTS lv12.
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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 ...
v0.8.18 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Bugfix: Fixed a bug where closing the window before loading a player profile would zero the keybinds of the last-loaded player profile (from registry JSON).
- Bugfix: Fixed a bug where zeroed keybinds would cause an infloop in the Keyboard settings.
- Enhancement: Added initial support for internationalization:
ui/openjkdf2_i8n.uni
will now override most of the other string files, and all added UI text is now located inui/openjkdf2.uni
. These files are embedded in the binary by default, but can be loaded from on-disk (ie,resource/ui/openjkdf2.uni
).- More info is located in the
resource/ui/openjkdf2_i8n.uni
file in the repo as to what files it can currently override, if you're interested in localizing JKDF2 and have suggestions for improvements, let me know! - Misc downstream effect: stdGob now allows buffering files completely in memory, which may be useful for networked assets (or caching GOBs in RAM idk).
- More info is located in the
- MoTS (beta):
- None for this release
From v0.8.17
- Enhancement (@JakeSmarter): de/pl descriptions for Flatpak.
- Bugfix: Fixed global cvars resetting + not loading correctly.
- Bugfix: Fixed automatic updating being broken on Win64.
- Bugfix/Enhancement: Take into account the name of the EXE when automatically updating:
openjkdf2-64.exe
s renamed toJediKnight.exe
orJK.EXE
for Steam/GOG/other launchers will now be automatically updated correctly. - MoTS (beta):
- None for this release
From v0.8.16
- Enhancement: Added support for fully automatic updating (Windows) and semi-automatic updating (macOS).
- On Windows, Github
.zip
releases can be downloaded in-game via the top-left notification. The.zip
will be downloaded, old files will be renamed with.bak
extensions, and the new release will overwrite the old one. - On macOS, Github
.tar.gz
releases can be downloaded in-game via the top-left notification. The.tar.gz
will be downloaded, and opened in the default program for.tar.gz
files. The user must complete installation by dragging it to Applications for now. - On Linux, updating is handled by package management, however it will still show a notification in the top-left.
net_disableUpdates
can be set to1
in the Quake-style console to disable updates and update notifications.- Releases can also be pulled from forks/mirrors by changing the
net_updaterUrl
,net_win64UpdateFilename
andnet_macosUpdateFilename
cvars.
- On Windows, Github
- Bugfix: Fixed znear clipping on weapons, and added a hack for MoTS security camera znears.
- MoTS (beta):
- None for this release
From v0.8.15
- Enhancement (@annnoo): Added options for disabling the crosshair on saber or fists only.
- Enhancement (@annnoo): Added slider in Gameplay options for crosshair size.
- Enhancement: Added initial cvars support.
- For a full list of cvars (and console commands), just hit TAB in the Quake-style console.
- cvars are stored in
openjkdf2_cvars.json
(for global cvars) and player/PLAYER_NAME/openjkdf2_cvars.json` (per-profile cvars/settings). - All values in
player/PLAYER_NAME/openjkdf2.json
and the.plr
file will eventually be migrated to the cvars system (ie, the cvars file takes priority, even if it still reads/writes the old formats for compatibility).
- MoTS (beta):
- None for this release
cvartest.mp4
From v0.8.14
- Bugfix: Fixed idle timer (again)
- Bugfix: Fixed
.
key in textboxes not working. - MoTS (beta):
- Bugfix: Fixed lighting flickering when bloom was enabled.
From v0.8.13
- Hotfix: Fix Camera #4 zNear in MoTS.
- Bugfix: Platform timers now use
CLOCK_MONOTONIC
. This should prevent periodic frame skips or glitches due to network time adjustments. - Bugfix: Fixed DF2 idle camera sometimes not firing.
- Bugfix: Fixed HUD force/item icons becoming corrupted when enabling HiDPI mid-gameplay.
- Enhancement:
Disable physics stepping
is nowRestore inconsistent physics
; addedRestore 50Hz midair player physics
option.- This is mostly for speedrunners/TAS feasibility testing, and anyone regression testing physics differences.
- Bugfix: Fixed air shafts running too quick at high FPS on Level 18 (see below).
- Enhancement: Added
canonicalCogTickrate
andcanonicalPhysTickrate
options to player profile JSON.canonicalCogTickrate
controls the minimum tickrate for COGs which use theSleep
verb. In the original game, the 50Hz frame limiter caused all sleep operations <0.02s to round up to 0.02s or greater. Several scripts useSleep(0.01)
, meaning that the actual delay was always 0.02s in JK.EXE, but not in OpenJKDF2.canonicalPhysTickrate
controls the 'canonical' slope physics speed. By default this is the same slope speeds as JK.EXE running at 25FPS.- Neither of these settings are applied when
Restore inconsistent physics
is checked.
- MoTS (beta):
- Enhancement: Increased cutscene audio buffer size to 8MiB.
- Bugfix: Fixed security camera overlay rendering incorrectly.
- Bugfix: Fixed zNear back to original values so that security cameras don't block the camera view.
From v0.8.12
- Bugfix: Fixed rendering of some above-water transparent surfaces while underwater (ie, the vines as viewed from the sinkhole on MoTS lv12)
- Impl: Added screenshot support when pressing F12.
- Bugfix: Only send Sighted messages when not in noclip.
- This fixes the instant Objective Completed message on Lv1 when looking in the general direction of 8t88.
- MoTS (beta):
- Bugfix: Fixed the overlay map not rendering correctly on MoTS lv12.
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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...
v0.8.17 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Enhancement (@JakeSmarter): de/pl descriptions for Flatpak.
- Bugfix: Fixed global cvars resetting + not loading correctly.
- Bugfix: Fixed automatic updating being broken on Win64.
- Bugfix/Enhancement: Take into account the name of the EXE when automatically updating:
openjkdf2-64.exe
s renamed toJediKnight.exe
orJK.EXE
for Steam/GOG/other launchers will now be automatically updated correctly. - MoTS (beta):
- None for this release
From v0.8.16
- Enhancement: Added support for fully automatic updating (Windows) and semi-automatic updating (macOS).
- On Windows, Github
.zip
releases can be downloaded in-game via the top-left notification. The.zip
will be downloaded, old files will be renamed with.bak
extensions, and the new release will overwrite the old one. - On macOS, Github
.tar.gz
releases can be downloaded in-game via the top-left notification. The.tar.gz
will be downloaded, and opened in the default program for.tar.gz
files. The user must complete installation by dragging it to Applications for now. - On Linux, updating is handled by package management, however it will still show a notification in the top-left.
net_disableUpdates
can be set to1
in the Quake-style console to disable updates and update notifications.- Releases can also be pulled from forks/mirrors by changing the
net_updaterUrl
,net_win64UpdateFilename
andnet_macosUpdateFilename
cvars.
- On Windows, Github
- Bugfix: Fixed znear clipping on weapons, and added a hack for MoTS security camera znears.
- MoTS (beta):
- None for this release
From v0.8.15
- Enhancement (@annnoo): Added options for disabling the crosshair on saber or fists only.
- Enhancement (@annnoo): Added slider in Gameplay options for crosshair size.
- Enhancement: Added initial cvars support.
- For a full list of cvars (and console commands), just hit TAB in the Quake-style console.
- cvars are stored in
openjkdf2_cvars.json
(for global cvars) and player/PLAYER_NAME/openjkdf2_cvars.json` (per-profile cvars/settings). - All values in
player/PLAYER_NAME/openjkdf2.json
and the.plr
file will eventually be migrated to the cvars system (ie, the cvars file takes priority, even if it still reads/writes the old formats for compatibility).
- MoTS (beta):
- None for this release
cvartest.mp4
From v0.8.14
- Bugfix: Fixed idle timer (again)
- Bugfix: Fixed
.
key in textboxes not working. - MoTS (beta):
- Bugfix: Fixed lighting flickering when bloom was enabled.
From v0.8.13
- Hotfix: Fix Camera #4 zNear in MoTS.
- Bugfix: Platform timers now use
CLOCK_MONOTONIC
. This should prevent periodic frame skips or glitches due to network time adjustments. - Bugfix: Fixed DF2 idle camera sometimes not firing.
- Bugfix: Fixed HUD force/item icons becoming corrupted when enabling HiDPI mid-gameplay.
- Enhancement:
Disable physics stepping
is nowRestore inconsistent physics
; addedRestore 50Hz midair player physics
option.- This is mostly for speedrunners/TAS feasibility testing, and anyone regression testing physics differences.
- Bugfix: Fixed air shafts running too quick at high FPS on Level 18 (see below).
- Enhancement: Added
canonicalCogTickrate
andcanonicalPhysTickrate
options to player profile JSON.canonicalCogTickrate
controls the minimum tickrate for COGs which use theSleep
verb. In the original game, the 50Hz frame limiter caused all sleep operations <0.02s to round up to 0.02s or greater. Several scripts useSleep(0.01)
, meaning that the actual delay was always 0.02s in JK.EXE, but not in OpenJKDF2.canonicalPhysTickrate
controls the 'canonical' slope physics speed. By default this is the same slope speeds as JK.EXE running at 25FPS.- Neither of these settings are applied when
Restore inconsistent physics
is checked.
- MoTS (beta):
- Enhancement: Increased cutscene audio buffer size to 8MiB.
- Bugfix: Fixed security camera overlay rendering incorrectly.
- Bugfix: Fixed zNear back to original values so that security cameras don't block the camera view.
From v0.8.12
- Bugfix: Fixed rendering of some above-water transparent surfaces while underwater (ie, the vines as viewed from the sinkhole on MoTS lv12)
- Impl: Added screenshot support when pressing F12.
- Bugfix: Only send Sighted messages when not in noclip.
- This fixes the instant Objective Completed message on Lv1 when looking in the general direction of 8t88.
- MoTS (beta):
- Bugfix: Fixed the overlay map not rendering correctly on MoTS lv12.
From v0.8.11
- Hotfix 2: Fixed macOS stuttering when arrow keys/F1-F12 keys are pressed.
- Hotfix 2: Fixed a crash that happened when the SDL2 window was recreated (ie, HiDPI switching).
- Hotfix: Possibly fix performance regression from
glFlush
- Hotfix: Fix Cutscenes menu disappearing after launching MoTS and then returning to DF2.
- Bugfix: Fix jkgfxmod getting stuck disabled after soft-resets sometimes.
- Bugfix: Fix SSAO rendering on NVIDIA GPUs sometimes rendering objects through walls.
- Bugfix: Fix saber blade rendering through walls if a transparent surface is on-screen.
- Bugfix: Fix some misc UAF issues which could cause the loading screen to render incorrect text and/or crash.
- MoTS (beta):
- None for this release.
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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
↓ Downloads here ↓
v0.8.16 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Enhancement: Added support for fully automatic updating (Windows) and semi-automatic updating (macOS).
- On Windows, Github
.zip
releases can be downloaded in-game via the top-left notification. The.zip
will be downloaded, old files will be renamed with.bak
extensions, and the new release will overwrite the old one. - On macOS, Github
.tar.gz
releases can be downloaded in-game via the top-left notification. The.tar.gz
will be downloaded, and opened in the default program for.tar.gz
files. The user must complete installation by dragging it to Applications for now. - On Linux, updating is handled by package management, however it will still show a notification in the top-left.
net_disableUpdates
can be set to1
in the Quake-style console to disable updates and update notifications.- Releases can also be pulled from forks/mirrors by changing the
net_updaterUrl
,net_win64UpdateFilename
andnet_macosUpdateFilename
cvars.
- On Windows, Github
- Bugfix: Fixed znear clipping on weapons, and added a hack for MoTS security camera znears.
- MoTS (beta):
- None for this release
From v0.8.15
- Enhancement (@annnoo): Added options for disabling the crosshair on saber or fists only.
- Enhancement (@annnoo): Added slider in Gameplay options for crosshair size.
- Enhancement: Added initial cvars support.
- For a full list of cvars (and console commands), just hit TAB in the Quake-style console.
- cvars are stored in
openjkdf2_cvars.json
(for global cvars) and player/PLAYER_NAME/openjkdf2_cvars.json` (per-profile cvars/settings). - All values in
player/PLAYER_NAME/openjkdf2.json
and the.plr
file will eventually be migrated to the cvars system (ie, the cvars file takes priority, even if it still reads/writes the old formats for compatibility).
- MoTS (beta):
- None for this release
cvartest.mp4
From v0.8.14
- Bugfix: Fixed idle timer (again)
- Bugfix: Fixed
.
key in textboxes not working. - MoTS (beta):
- Bugfix: Fixed lighting flickering when bloom was enabled.
From v0.8.13
- Hotfix: Fix Camera #4 zNear in MoTS.
- Bugfix: Platform timers now use
CLOCK_MONOTONIC
. This should prevent periodic frame skips or glitches due to network time adjustments. - Bugfix: Fixed DF2 idle camera sometimes not firing.
- Bugfix: Fixed HUD force/item icons becoming corrupted when enabling HiDPI mid-gameplay.
- Enhancement:
Disable physics stepping
is nowRestore inconsistent physics
; addedRestore 50Hz midair player physics
option.- This is mostly for speedrunners/TAS feasibility testing, and anyone regression testing physics differences.
- Bugfix: Fixed air shafts running too quick at high FPS on Level 18 (see below).
- Enhancement: Added
canonicalCogTickrate
andcanonicalPhysTickrate
options to player profile JSON.canonicalCogTickrate
controls the minimum tickrate for COGs which use theSleep
verb. In the original game, the 50Hz frame limiter caused all sleep operations <0.02s to round up to 0.02s or greater. Several scripts useSleep(0.01)
, meaning that the actual delay was always 0.02s in JK.EXE, but not in OpenJKDF2.canonicalPhysTickrate
controls the 'canonical' slope physics speed. By default this is the same slope speeds as JK.EXE running at 25FPS.- Neither of these settings are applied when
Restore inconsistent physics
is checked.
- MoTS (beta):
- Enhancement: Increased cutscene audio buffer size to 8MiB.
- Bugfix: Fixed security camera overlay rendering incorrectly.
- Bugfix: Fixed zNear back to original values so that security cameras don't block the camera view.
From v0.8.12
- Bugfix: Fixed rendering of some above-water transparent surfaces while underwater (ie, the vines as viewed from the sinkhole on MoTS lv12)
- Impl: Added screenshot support when pressing F12.
- Bugfix: Only send Sighted messages when not in noclip.
- This fixes the instant Objective Completed message on Lv1 when looking in the general direction of 8t88.
- MoTS (beta):
- Bugfix: Fixed the overlay map not rendering correctly on MoTS lv12.
From v0.8.11
- Hotfix 2: Fixed macOS stuttering when arrow keys/F1-F12 keys are pressed.
- Hotfix 2: Fixed a crash that happened when the SDL2 window was recreated (ie, HiDPI switching).
- Hotfix: Possibly fix performance regression from
glFlush
- Hotfix: Fix Cutscenes menu disappearing after launching MoTS and then returning to DF2.
- Bugfix: Fix jkgfxmod getting stuck disabled after soft-resets sometimes.
- Bugfix: Fix SSAO rendering on NVIDIA GPUs sometimes rendering objects through walls.
- Bugfix: Fix saber blade rendering through walls if a transparent surface is on-screen.
- Bugfix: Fix some misc UAF issues which could cause the loading screen to render incorrect text and/or crash.
- MoTS (beta):
- None for this release.
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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
↓ Downloads here ↓
v0.8.15 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Enhancement (@annnoo): Added options for disabling the crosshair on saber or fists only.
- Enhancement (@annnoo): Added slider in Gameplay options for crosshair size.
- Enhancement: Added initial cvars support.
- For a full list of cvars (and console commands), just hit TAB in the Quake-style console.
- cvars are stored in
openjkdf2_cvars.json
(for global cvars) and player/PLAYER_NAME/openjkdf2_cvars.json` (per-profile cvars/settings). - All values in
player/PLAYER_NAME/openjkdf2.json
and the.plr
file will eventually be migrated to the cvars system (ie, the cvars file takes priority, even if it still reads/writes the old formats for compatibility).
- MoTS (beta):
- None for this release
cvartest.mp4
From v0.8.14
- Bugfix: Fixed idle timer (again)
- Bugfix: Fixed
.
key in textboxes not working. - MoTS (beta):
- Bugfix: Fixed lighting flickering when bloom was enabled.
From v0.8.13
- Hotfix: Fix Camera #4 zNear in MoTS.
- Bugfix: Platform timers now use
CLOCK_MONOTONIC
. This should prevent periodic frame skips or glitches due to network time adjustments. - Bugfix: Fixed DF2 idle camera sometimes not firing.
- Bugfix: Fixed HUD force/item icons becoming corrupted when enabling HiDPI mid-gameplay.
- Enhancement:
Disable physics stepping
is nowRestore inconsistent physics
; addedRestore 50Hz midair player physics
option.- This is mostly for speedrunners/TAS feasibility testing, and anyone regression testing physics differences.
- Bugfix: Fixed air shafts running too quick at high FPS on Level 18 (see below).
- Enhancement: Added
canonicalCogTickrate
andcanonicalPhysTickrate
options to player profile JSON.canonicalCogTickrate
controls the minimum tickrate for COGs which use theSleep
verb. In the original game, the 50Hz frame limiter caused all sleep operations <0.02s to round up to 0.02s or greater. Several scripts useSleep(0.01)
, meaning that the actual delay was always 0.02s in JK.EXE, but not in OpenJKDF2.canonicalPhysTickrate
controls the 'canonical' slope physics speed. By default this is the same slope speeds as JK.EXE running at 25FPS.- Neither of these settings are applied when
Restore inconsistent physics
is checked.
- MoTS (beta):
- Enhancement: Increased cutscene audio buffer size to 8MiB.
- Bugfix: Fixed security camera overlay rendering incorrectly.
- Bugfix: Fixed zNear back to original values so that security cameras don't block the camera view.
From v0.8.12
- Bugfix: Fixed rendering of some above-water transparent surfaces while underwater (ie, the vines as viewed from the sinkhole on MoTS lv12)
- Impl: Added screenshot support when pressing F12.
- Bugfix: Only send Sighted messages when not in noclip.
- This fixes the instant Objective Completed message on Lv1 when looking in the general direction of 8t88.
- MoTS (beta):
- Bugfix: Fixed the overlay map not rendering correctly on MoTS lv12.
From v0.8.11
- Hotfix 2: Fixed macOS stuttering when arrow keys/F1-F12 keys are pressed.
- Hotfix 2: Fixed a crash that happened when the SDL2 window was recreated (ie, HiDPI switching).
- Hotfix: Possibly fix performance regression from
glFlush
- Hotfix: Fix Cutscenes menu disappearing after launching MoTS and then returning to DF2.
- Bugfix: Fix jkgfxmod getting stuck disabled after soft-resets sometimes.
- Bugfix: Fix SSAO rendering on NVIDIA GPUs sometimes rendering objects through walls.
- Bugfix: Fix saber blade rendering through walls if a transparent surface is on-screen.
- Bugfix: Fix some misc UAF issues which could cause the loading screen to render incorrect text and/or crash.
- MoTS (beta):
- None for this release.
From v0.8.10
- Impl: https://maxthomas.dev/openjkdf2/ now includes the Mysteries of the Sith demo.
- Bugfix: Fixed console commands in WASM builds.
- Bugfix: Fix crash in Multiplayer menu if sabers are missing (ie, MoTS demo)
- Bugfix: Fixed a bunch of memory leak issues.
- Bugfix: Fixed a bug where UI strings would persist through soft-resets.
- ie, mods which replaced "Multiplayer" with an empty string would show "Multiplayer".
- Bugfix: Fixed a bug where the MP character builder's MAT loader would persist outside the menu, leaking memory.
- Bugfix: Fixed a bug in
stdHashTable
wherestdHashTable_FreeKey
would not free some elements correctly. - Bugfix: Fixed a bug where UI sounds were not correctly allocated, and only 2 of 4 slots were usable.
- MoTS (beta):
- Bugfix: Fixed Force Defense not resetting with Reset button in character editor.
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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
↓ Downloads here ↓
v0.8.14 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Bugfix: Fixed idle timer (again)
- Bugfix: Fixed
.
key in textboxes not working. - MoTS (beta):
- Bugfix: Fixed lighting flickering when bloom was enabled.
From v0.8.13
- Hotfix: Fix Camera #4 zNear in MoTS.
- Bugfix: Platform timers now use
CLOCK_MONOTONIC
. This should prevent periodic frame skips or glitches due to network time adjustments. - Bugfix: Fixed DF2 idle camera sometimes not firing.
- Bugfix: Fixed HUD force/item icons becoming corrupted when enabling HiDPI mid-gameplay.
- Enhancement:
Disable physics stepping
is nowRestore inconsistent physics
; addedRestore 50Hz midair player physics
option.- This is mostly for speedrunners/TAS feasibility testing, and anyone regression testing physics differences.
- Bugfix: Fixed air shafts running too quick at high FPS on Level 18 (see below).
- Enhancement: Added
canonicalCogTickrate
andcanonicalPhysTickrate
options to player profile JSON.canonicalCogTickrate
controls the minimum tickrate for COGs which use theSleep
verb. In the original game, the 50Hz frame limiter caused all sleep operations <0.02s to round up to 0.02s or greater. Several scripts useSleep(0.01)
, meaning that the actual delay was always 0.02s in JK.EXE, but not in OpenJKDF2.canonicalPhysTickrate
controls the 'canonical' slope physics speed. By default this is the same slope speeds as JK.EXE running at 25FPS.- Neither of these settings are applied when
Restore inconsistent physics
is checked.
- MoTS (beta):
- Enhancement: Increased cutscene audio buffer size to 8MiB.
- Bugfix: Fixed security camera overlay rendering incorrectly.
- Bugfix: Fixed zNear back to original values so that security cameras don't block the camera view.
From v0.8.12
- Bugfix: Fixed rendering of some above-water transparent surfaces while underwater (ie, the vines as viewed from the sinkhole on MoTS lv12)
- Impl: Added screenshot support when pressing F12.
- Bugfix: Only send Sighted messages when not in noclip.
- This fixes the instant Objective Completed message on Lv1 when looking in the general direction of 8t88.
- MoTS (beta):
- Bugfix: Fixed the overlay map not rendering correctly on MoTS lv12.
From v0.8.11
- Hotfix 2: Fixed macOS stuttering when arrow keys/F1-F12 keys are pressed.
- Hotfix 2: Fixed a crash that happened when the SDL2 window was recreated (ie, HiDPI switching).
- Hotfix: Possibly fix performance regression from
glFlush
- Hotfix: Fix Cutscenes menu disappearing after launching MoTS and then returning to DF2.
- Bugfix: Fix jkgfxmod getting stuck disabled after soft-resets sometimes.
- Bugfix: Fix SSAO rendering on NVIDIA GPUs sometimes rendering objects through walls.
- Bugfix: Fix saber blade rendering through walls if a transparent surface is on-screen.
- Bugfix: Fix some misc UAF issues which could cause the loading screen to render incorrect text and/or crash.
- MoTS (beta):
- None for this release.
From v0.8.10
- Impl: https://maxthomas.dev/openjkdf2/ now includes the Mysteries of the Sith demo.
- Bugfix: Fixed console commands in WASM builds.
- Bugfix: Fix crash in Multiplayer menu if sabers are missing (ie, MoTS demo)
- Bugfix: Fixed a bunch of memory leak issues.
- Bugfix: Fixed a bug where UI strings would persist through soft-resets.
- ie, mods which replaced "Multiplayer" with an empty string would show "Multiplayer".
- Bugfix: Fixed a bug where the MP character builder's MAT loader would persist outside the menu, leaking memory.
- Bugfix: Fixed a bug in
stdHashTable
wherestdHashTable_FreeKey
would not free some elements correctly. - Bugfix: Fixed a bug where UI sounds were not correctly allocated, and only 2 of 4 slots were usable.
- MoTS (beta):
- Bugfix: Fixed Force Defense not resetting with Reset button in character editor.
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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
↓ Downloads here ↓
v0.8.13 64-bit Debug
↓ Scroll to the bottom for ZIP download links. ↓
What's new?
- Hotfix: Fix Camera #4 zNear in MoTS.
- Bugfix: Platform timers now use
CLOCK_MONOTONIC
. This should prevent periodic frame skips or glitches due to network time adjustments. - Bugfix: Fixed DF2 idle camera sometimes not firing.
- Bugfix: Fixed HUD force/item icons becoming corrupted when enabling HiDPI mid-gameplay.
- Enhancement:
Disable physics stepping
is nowRestore inconsistent physics
; addedRestore 50Hz midair player physics
option.- This is mostly for speedrunners/TAS feasibility testing, and anyone regression testing physics differences.
- Bugfix: Fixed air shafts running too quick at high FPS on Level 18 (see below).
- Enhancement: Added
canonicalCogTickrate
andcanonicalPhysTickrate
options to player profile JSON.canonicalCogTickrate
controls the minimum tickrate for COGs which use theSleep
verb. In the original game, the 50Hz frame limiter caused all sleep operations <0.02s to round up to 0.02s or greater. Several scripts useSleep(0.01)
, meaning that the actual delay was always 0.02s in JK.EXE, but not in OpenJKDF2.canonicalPhysTickrate
controls the 'canonical' slope physics speed. By default this is the same slope speeds as JK.EXE running at 25FPS.- Neither of these settings are applied when
Restore inconsistent physics
is checked.
- MoTS (beta):
- Enhancement: Increased cutscene audio buffer size to 8MiB.
- Bugfix: Fixed security camera overlay rendering incorrectly.
- Bugfix: Fixed zNear back to original values so that security cameras don't block the camera view.
From v0.8.12
- Bugfix: Fixed rendering of some above-water transparent surfaces while underwater (ie, the vines as viewed from the sinkhole on MoTS lv12)
- Impl: Added screenshot support when pressing F12.
- Bugfix: Only send Sighted messages when not in noclip.
- This fixes the instant Objective Completed message on Lv1 when looking in the general direction of 8t88.
- MoTS (beta):
- Bugfix: Fixed the overlay map not rendering correctly on MoTS lv12.
From v0.8.11
- Hotfix 2: Fixed macOS stuttering when arrow keys/F1-F12 keys are pressed.
- Hotfix 2: Fixed a crash that happened when the SDL2 window was recreated (ie, HiDPI switching).
- Hotfix: Possibly fix performance regression from
glFlush
- Hotfix: Fix Cutscenes menu disappearing after launching MoTS and then returning to DF2.
- Bugfix: Fix jkgfxmod getting stuck disabled after soft-resets sometimes.
- Bugfix: Fix SSAO rendering on NVIDIA GPUs sometimes rendering objects through walls.
- Bugfix: Fix saber blade rendering through walls if a transparent surface is on-screen.
- Bugfix: Fix some misc UAF issues which could cause the loading screen to render incorrect text and/or crash.
- MoTS (beta):
- None for this release.
From v0.8.10
- Impl: https://maxthomas.dev/openjkdf2/ now includes the Mysteries of the Sith demo.
- Bugfix: Fixed console commands in WASM builds.
- Bugfix: Fix crash in Multiplayer menu if sabers are missing (ie, MoTS demo)
- Bugfix: Fixed a bunch of memory leak issues.
- Bugfix: Fixed a bug where UI strings would persist through soft-resets.
- ie, mods which replaced "Multiplayer" with an empty string would show "Multiplayer".
- Bugfix: Fixed a bug where the MP character builder's MAT loader would persist outside the menu, leaking memory.
- Bugfix: Fixed a bug in
stdHashTable
wherestdHashTable_FreeKey
would not free some elements correctly. - Bugfix: Fixed a bug where UI sounds were not correctly allocated, and only 2 of 4 slots were usable.
- MoTS (beta):
- Bugfix: Fixed Force Defense not resetting with Reset button in character editor.
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
-motsCompat
command 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 & Mods
menu by double-clicking on the menu list entry.
Running
- Windows: Extract the distribution zip so that
openjkdf2-64.exe
is in the same directory as JK.EXE, then runopenjkdf2-64.exe
. - MacOS: Copy
OpenJKDF2.app
into 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
openjkdf2
into 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 [email protected]
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.app
and copy the entire crash report fromopenjkdf2-64
. Alternatively, copy the crash log fromcrash.log
- Linux: Copy the crash log from
crash.log
or 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>.ogg
in Ogg Vorbis format (same as the GOG/Steam releases), if they are present. Music can also be loaded fromMUSIC/1/Track<1..11>.ogg
andMUSIC/2/Track<1..11>.ogg
for 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