OpenJKDF2
OpenJKDF2 copied to clipboard
LEC/Vanilla Bugs
Running list of bugs that were in the original game, that OpenJKDF2 may or may not patch out.
https://github.com/shinyquagsire23/OpenJKDF2/issues/120 "AT-ST's are able to shoot behind themselves. "
https://github.com/shinyquagsire23/OpenJKDF2/issues/215 "Using IR Goggles with Force Sense causes sense to look darker, even after disabling goggles"
Kinda https://github.com/shinyquagsire23/OpenJKDF2/issues/214, MoTS requires force powers for progression, which can cause some confusion
In Dark Forces II, saving at Baron's Hed (Level 5), Aborting, and then Loading the save will cause pressing space on Max to activate MaxVision(TM) to crash the game, due to COG string types getting (de)serialized. MoTS fixes this by not serializing COG string types. OpenJKDF2 applies this fix from MoTS to DF2.
In Dark Forces II, there is a fists Gran on Level 5's Hard difficulty which has an incorrect non-jumping AI designed for guns. It avoids the player and only swings its fists from afar.
In the MoTS Edit Character screen, Jedi classes normally have their rank presented in the top-left corner. This text is set invisible when a non-Jedi character is edited. From then on, all Jedi characters when edited will not show the text in the top-left corner. OpenJKDF2 fixes this issue.
Savefiles in general are very very very very sensitive to COG edits. Adding/removing variables will cause off-by-one errors which can be catastrophic and break progression.
Note: Undefined COG verbs will cause a variable to be added.
I'd like to fix this eventually, TODO
https://github.com/shinyquagsire23/OpenJKDF2/issues/178 The astromech sometimes doesn't spawn, or gets trapped by a randomly-spawned enemy.
Using force sight at the same time as the scope causes zoomed normal vision Using the scope at the same time as IR goggles makes the vision yellow Using the scope at the same time as IR goggles at the same time as force sight causes normal vision, but dimmed.
Kyle sometimes doesn't show up to the final MoTS boss fight https://www.youtube.com/watch?v=Pv1kIvHdaIA&t=27m10s
The player POV model can be use-after-free'd on the second world load. This was patched in OpenJKDF2 before I found out that MoTS also seems to patch this issue.
Some enemy sabers are not serialized at all in Mysteries of the Sith. However, the pointers are not set to NULL on exiting a level. MoTS has a fallback where if a saber is missing, it will be set to red instead. This was fixed in OpenJKDF2 by extending DSS_SABERINFO3.
To manifest this bug in vanilla:
- Save next to an enemy with a non-red saber.
- Abort and exit the game
- Load the save
- The enemy's saber is now red.
JKDF2 also had some misc UAF bugs with the saber blade Things that were found by the ASAN and fixed in OpenJKDF2.
MoTS actor_rc.cog references a "AISetMoveTarget" verb which is verified to not exist.
sithCogFunctionSurface_GetSurfaceLight will not return a value if the surface requested is NULL, which can cause the stack to overflow.
8 - Palace Escape had a COG script that used to overflow the COG variable stack. This has been fixed in OpenJKDF2 with the MoTS/JK13 expanded resource limits.
MoTS weap_eweb_m.cog references a SetThingCollide verb which is verified to not exist. Superseded by SetThingCollideSize?
MoTS exp_hrail.cog references a GetUserData verb which is verified to not exist. Superseded by GetThingUserData?
sithCogFunctionPlayer_IsInvActivated does not return anything if the player Thing does not exist. OpenJKDF2 fixes this by pushing 0 if the player Thing is NULL.
https://github.com/shinyquagsire23/OpenJKDF2/issues/95 The saber blade gets thinner randomly
https://github.com/shinyquagsire23/OpenJKDF2/issues/187 Weird door shake on MoTS Level 10
https://github.com/shinyquagsire23/OpenJKDF2/issues/186 MoTS uses sound ID 0 for the blaster cannon fire fx (to play nothing) when the correct syntax is sound ID -1, but somehow it doesn't play sound ID 0.
Saving in The Blaster Cannon! in MoTS and then loading causes the blaster cannon to float above you until you exit.
https://github.com/shinyquagsire23/OpenJKDF2/issues/59 In Dark Forces II, force-pulling an enemy's weapon, saving, and then loading will cause the enemy to regain their weapons. MoTS fixes this by syncing actorParams.templateWeapon in DSS_THINGFULLDESC.
#95 The saber blade gets thinner randomly
Slight correction, not random, but rather always like that when first loading a level until you restart or load a save of the same level, in which saves seem to preserve the correct blade look.

In Dark Forces II, amputated joints are not saved. MoTS fixes this by syncing amputated joints in DSS_THINGFULLDESC.
In Dark Forces II, changing a Thing's model will not be preserved when saving. MoTS adds a variable check to DSS_THINGFULLDESC that will sync the model filename if it is set.
https://www.youtube.com/watch?v=Pv1kIvHdaIA&t=7m52s When starting the first level as Mara in MoTS, there is a brief window where Kyle's force powers are accessible.
The version string while loading static.jkl (jkGuiTitle_ShowLoadingStatic) resides on the stack, even after the function exits. OpenJKDF2 uses a static buffer for this string instead.
Mounting another weapon while the saber blade is extending will cause the blade to insta-pop out for the remainder of the level, in both DF2 and MoTS
The saber mount sound is not played in MoTS when switching from Fists to the Saber.
Invincibility cheat does not include some physics damage (ie, running into a wall at high speeds)