Skip to content

v0.6.0 64-bit Debug

Pre-release
Pre-release
Compare
Choose a tag to compare
@shinyquagsire23 shinyquagsire23 released this 06 Sep 05:19
· 809 commits to master since this release

What's new?

  • Bugfix: Force-enabled some mouse bindings which may have been inaccessible before.
  • Improvement: Cutscenes will now render to the edge of the display, instead of having double-letterboxing on non-4:3 displays.
  • Impl: Cutscene menu is now accessible.
  • Impl: Controls save/load menu is now accessible.
  • Impl: Joystick menu is now accessible.
  • Impl: Added support for SDL2 joysticks. Up to 2 can be connected.
  • Impl: Increased the maximum amount of joystick buttons from 8 to 32.
  • Impl: Added scroll axis ("Z") and button 5 to mouse.

From v0.5.7/v0.5.8

  • Bugfix: Fix DNS resolution in the multiplayer address box.
  • Bugfix: Tickrates lower than 100ms and higher than 300ms are now allowed for real this time.
  • Bugfix: -dedicatedServer can now view the player list and send chats.
  • Enhancement: Health/Ammo HUD no longer renders for non-headless dedicated servers.
  • Enhancement: Non-headless dedicated servers can now warp the camera using 0-9 keys, follow players by pressing the jump bind, and rotate/expand the camera using the arrow keys.
  • Enhancement: Tickrates under 100ms will now use a player physics tickrate of 150Hz, instead of 50Hz.

⚠️ This release breaks multiplayer compatibility; all clients will need to run v0.5.7/v0.5.8 for proper syncing ⚠️

From v0.5.6

  • Extended settings are stored separately to Players/<player>/openjkdf2.json instead of Players/<player>/<player>.plr.
  • Linux/macOS/Win64 now store registry settings to registry.json.
  • Tickrates lower than 100ms and higher than 300ms are now allowed.
  • Added -dedicatedServer and -headless cmdline arguments to allow for dedicated server hosting.
    • Server settings are loaded from registry.json. The easiest way to configure it is to start hosting through the game GUI, quit, and then start the dedicated server with the saved settings. registry.json can be copied between machines.
    • With -headless enabled, a debug console will be available to kick/kill/list players.
    • Without -headless, the dedicated server will have some visibility on the game, but will just be stuck in one place. (TODO: fly cam)
    • -headless currently still requires SDL2, but doesn't have any rendering overhead.

Screen Shot 2022-09-02 at 9 50 13 PM

About these builds

Currently, I am only providing 64-bit builds for Windows and MacOS to find regressions and undefined behavior; Linux users have to compile for now (See BUILDING.md for instructions). It is recommended to backup any savedata you place significant value on before running.

Running

Windows: Extract the distribution zip so that openjkdf2-64.exe is in the same directory as JK.EXE and then run openjkdf2-64.exe.
MacOS: Copy OpenJKDF2.app into your Applications folder and run it.
Linux: Copy openjkdf2-64 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, copy your old player folder to %appdata%/Local/openjkdf2/ on Windows, or ~/.local/share/openjkdf2/ on macOS/Linux following installation.

If you are not using custom shaders, delete resource/shaders/ to revert to the default graphical settings.

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.

Linux: Copy the crash log from crash.log or the console output.
MacOS: Cmd+Space, type Console.app and copy the entire crash report from openjkdf2-64. Alternatively, copy the crash log from crash.log
Windows: Copy the crash log from openjkdf2-64.RPT.

Crash logs will be located in directory assets are located. If you cannot find them, be sure to check %appdata%/Local/openjkdf2/ on Windows, or ~/.local/share/openjkdf2 on macOS/Linux.

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:

  • Joystick menu in Setup > Controls (input bindings are still loaded and written to config, though)
  • Load Configuration and Save Configuration in Setup > Controls > Options
  • Using plus or minus to resize the screen (with SDL2, resolution auto-resizes to window size)
  • In-game screenshots