v0.8.19 64-bit Debug
Pre-release↓ 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 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