i.e. Jedi Knight 25th Anniversary Edition
(starting to get this post created. I'll flesh this out as I'm getting files organized; there's a lot that needs to be documented)
The main JK executable, based on the official 1.01 patch, includes the now-standard assortment of JKUP patches, plus the following features:
- -
- (list to be further populated)
- -
- rotated particles by 45 degrees
- enhanced z-buffer accuracy
- CPU relief (JK should no longer peg a core to 100%)
- toggle enhanced 3D audio without JK restart
- fixed a (big) memory leak in A3D audio code
- fixed a jkSetForceSpeed crash
- added ZeqMacaw's increased synced thing limit
- enabled unused COG extension features:
- hotkey message
- discrete hotkey filtering
- added some OpenJKDF2 QOL_IMPROVEMENTS:
- smooth singleplayer aerial physics
- improved behavior above 100 fps
- waggle animation scaled to framerate
- keyboard turning scaled to framerate
- mouse sensitivity numeric display
- fixed mouse sensitivity setting drift
- increased mouse sensitivity maximum
- added an adjustable internal framerate (frametime arg and cmd)
- added JkGfxMod detection and compatibility enhancements
- reset debug mode flags at main menu
- tweaked help command to not list itself
- devmode arg skips intro cutscene (can view in cutscene menu)
- added some (all?) OpenJKDF2 memory leak fixes
- added OpenJKDF2 AI awareness fix
- added dual wield weapon mesh rendering
- removed JKUP's increased COG symbol limit:
- it was not actually usable since variables 256 and above disabled COG verbs and rendered a COG functionally useless
- added mouse wheel support
- made the free look hotkey invert state (since "enable free look" is typical)
- fixed missing F1-F8 hotkeys when player data load fails
- adjustments to default controls (e.g. space = jump, auto run enabled, etc.)
- fixed crash when alt-tabbing during joystick "identify" menu
- added limited controller trigger support (both triggers can't simultaneously cause an action due to limitations in winmm/dinput controller support, but actions that don't really need to occur simultaneously such as "Use Force Power" and "Fire 1" work adequately)
- added left and right stick click-in support (aka L3/R3 or LSB/RSB); these have no defaults bound as I hate them, but they're now available for use
- added rudimentary controller support to the game menus (left stick = move cursor, A = click, B = escape)
- enabled using mouse buttons and joystick (controller) buttons while in-game chat is active
Additionally, external files provide the following features:
- enhanced 3D audio (a3d.dll)
- traditional rendering pipeline (ddraw.dll, wndmode.dll)
- install-free DirectPlay support (dplaysvr.dll, dplayx.dll, dpnhpast.dll, dpnhupnp.dll, dpwsockx.dll)
- CD audio (winmm.dll, libvorbisfile-3.dll, 00_soundtrack.cog, 00_playambient2.cog)
- automatic FOV, mipmap and LOD scaling (item_wrenchyellow.cog)
Where modified COGs are used to provide features, they're designed to match the unmodified vanilla COG in behavior and checksum so as to not cause multiplayer incompatibility.
QM
Edit: I've written down what I've done in the past month, but all prior features are yet to be documented.