ITADN
shinyquagsire23/OpenJKDF2

版本发布 8

v0.9.6 64-bit Debugv0.9.6预发布
? · 2024-12-07

↓ Scroll to the bottom for ZIP download links. ↓ **What's new?** - 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.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) and `quickzap` (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 - 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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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.5 64-bit Debugv0.9.5预发布
? · 2024-11-30

↓ Scroll to the bottom for ZIP download links. ↓ **What's new?** - 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.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) and `quickzap` (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 - 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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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.4 64-bit Debugv0.9.4预发布
? · 2024-11-28

↓ 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?** - 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.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) and `quickzap` (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 - 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! - 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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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.3 64-bit Debugv0.9.3预发布
? · 2024-11-28

↓ 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 sector 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.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) and `quickzap` (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 - 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! - 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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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.2 64-bit Debugv0.9.2预发布
? · 2024-11-17

↓ 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) and `quickzap` (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 - 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! - 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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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 Debugv0.9.1预发布
? · 2023-11-16

↓ Scroll to the bottom for ZIP download links. ↓ **What's new?** - 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) and `quickzap` (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 - 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! - 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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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 Debugv0.9.0预发布
? · 2023-06-16

↓ 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. - **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! - 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 in `ui/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). - 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 to `JediKnight.exe` or `JK.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 to `1` 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` and `net_macosUpdateFilename` cvars. - 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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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 Debugv0.8.19预发布
? · 2023-06-09

↓ Scroll to the bottom for ZIP download links. ↓ **What's new?** - 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 in `ui/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). - 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 to `JediKnight.exe` or `JK.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 to `1` 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` and `net_macosUpdateFilename` cvars. - 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 https://user-images.githubusercontent.com/1224096/221392878-84ba1757-17f2-4c1a-aed1-091dfe99066e.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 now `Restore inconsistent physics`; added `Restore 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` and `canonicalPhysTickrate` options to player profile JSON. - `canonicalCogTickrate` controls the minimum tickrate for COGs which use the `Sleep` 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 use `Sleep(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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2) 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 placing `openjkdf2-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 run `openjkdf2-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](https://flathub.org/apps/details/org.openjkdf2.OpenJKDF2), 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/`. https://user-images.githubusercontent.com/1224096/195246229-d43d3adf-023d-4634-84e5-e9ab44b8e734.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.app` and copy the entire crash report from `openjkdf2-64`. Alternatively, copy the crash log from `crash.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](https://github.com/jdmclark/jkgfxmod) texture pack support - IPv6 Multiplayer support, based on Valve's [GameNetworkingSockets](https://github.com/ValveSoftware/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 from `MUSIC/1/Track<1..11>.ogg` and `MUSIC/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 ↓