Skip to content

v0.7.8 64-bit Debug

Pre-release
Pre-release
Compare
Choose a tag to compare
@shinyquagsire23 shinyquagsire23 released this 09 Jan 02:08
· 486 commits to master since this release

↓ Scroll to the bottom for ZIP download links. ↓

What's new?

  • Bugfix: Fix a bug in collision raycast where adjoins thinner than 0.00001 would not be marked as colliding/crossing.
    • This caused jumping through some adjoins in the air to sometimes suspend the player mid-air, especially in mods.
    • This also caused cameras to not render some sectors correctly, especially in mods.
  • Bugfix: Fixed a texture caching bug where toggling fullscreen/HiDPI would cause textures and palettes to render incorrectly.
  • MoTS (beta):
    • Bugfix: Fixed MoTS forcepowers screen not updating button restrictions until Reset was pressed.

From v0.7.7

  • Bugfix: Improved sithRender safeguards for some highly recursive adjoins.
  • Bugfix: Fixed a texture caching bug where pressing ESC too many times would crash/render white.
  • Bugfix: Fixed an off-by-one in Debug level selection entry counts.
  • Bugfix: Possibly fixed a POV shake bug?
  • Bugfix: Fix sector tint not resetting on savefile load (and sector IDs being written 0 erroneously, compensated for in sithDSS)
  • MoTS (beta):
    • Implement "level flash" in sithRender

From v0.7.6

  • Hotfix 2: Fix COG things above the old thing limit not getting linked properly.
    • This fixes the destructible door softlock on the TODOA mod
  • Hotfix: Actually fix texture filtering for real.
  • Bugfix: Fixed Move+Turn Left/Right not showing in mouse button bindings
  • Bugfix: Fixed texture precaching to not immediately uncache all textures on level start.
  • Bugfix: Fixed texture filtering sometimes not applying for 16-bit textures.
  • Bugfix: Fixed a bug where the Multiplayer Characters menu would cause Thing textures to become mismatched.
  • Bugfix: Fixed sabers getting stuck extended on Level 4
  • MoTS (beta):
    • None for this release

From v0.7.5

  • Hotfix 2: Allow binding Forward/Move to mouse buttons.
  • Hotfix: Fixed MoTS old/partial-loaded saves crashing on reload.
  • Enhancement: Added -enhancedCogVerbs cmdline argument to enable MoTS verbs in DF2, as well as JK13 COG verbs and some Droidworks COG verb stubs.
  • Bugfix: Fixed a bug where polyline Things (lightsaber blades) would cause all subsequently drawn Thing geometry to light up fullbright.
    • This was particularly noticeable in MoTS level 12.
  • Bugfix: slowmo on cheat now works correctly.
  • MoTS (beta):
    • Bugfix: Fixed turret not pitching the player/crosshair.
    • Impl: All MoTS COG verbs are implemented (for real now).
    • Impl: Savegames are now compatible with original MoTS executable savegames.
      • ⚠️ This breaks savegame compatibility, but there is now a mitigation (see below) ⚠️
    • Enhancement: Old savegames can now be partially loaded. If an old save is detected, the level will instead be restarted with existing inventory values intact. There may be some slight bugginess with forcepower activations and keyitem pickups for now.
      • This helps avoid a lot of really subtle bugs with COG deserialization, where static COGs like forcepower state could become corrupted (ie, the cost of a forcepower could corrupt from 250.0 to 12345.0 or other invalid values, and would persist across save loads).

⚠️ This release may break multiplayer compatibility; all clients should run v0.7.5 for proper syncing ⚠️
⚠️ This release breaks MoTS savegame compatibility! To continue with a playthrough, load a previous level's save and the level will be restarted with inventory/powers preserved. ⚠️

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 placing openjkdf2-64.exe (and the other required DLLs) in an existing MoTS install folder.

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, 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 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 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 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 ↓