If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Star Wars Jedi Knight II: Jedi Outcast (Windows, Mac OS Classic, Mac OS X)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Star Wars Jedi Knight II: Jedi Outcast

Developers: Raven Software, Westlake Interactive (Mac)
Publishers: LucasArts, Aspyr Media (Mac), CyberFront (JP)
Platforms: Windows, Mac OS Classic, Mac OS X
Released in JP: June 27, 2002
Released in US: March 26, 2002
Released in EU: March 26, 2002


AreasIcon.png This game has unused areas.
Sgf2-unusedicon1.png This game has unused abilities.
RegionIcon.png This game has regional differences.
Carts.png This game has revisional differences.
PiracyIcon.png This game has anti-piracy features.


The sequel to Star Wars: Jedi Knight: Dark Forces II.

Unused Areas

The Pit

The creators realized that they could make another Jedi Knight game.

An unused level with Tavion in the middle. This level was meant to be another battle with Tavion. Tavion does return in Jedi Knight: Jedi Academy. Defeating Tavion does not end the level.

The multiplayer map duel_pit (titled Trial Pit) uses a similar map design.

To access this level, enter the console command map pit.

cairn_stockpile

cairn_stockpile
{
	uses	artus_detention
}

A reference to a map called cairn_stockpile is mentioned in dms.dat, the file for determining how the dynamic music system works on levels and what to play on them. It would've used the same dynamic music as Artus Detention and Doomgiver Detention based on the files, and presumably would've come between Cairn Assembly and Cairn Reactor, judging from the file's layout. The map itself is missing from the files however.

prototype

prototype
{
	uses	kejim_post
}

Most likely a test mission that wasn't included in the game for obvious reasons.

Unused Text

The game contains all of its subtitles in .sp files (in the /strip/ folder in assets1.pk3 and assets2.pk3), which are plaintext and can be viewed in any text-editing application. Several lines from here appear to be alternate, unused takes of existing lines, or reveal clues as to previous stages of a mission's development. All of these reference sound files that don't exist. Every single line in the game has subtitles, but the Options menu only allows for subtitles in cinematics, making effectively 90% of the subtitle text go unused in the PC version without console commands. They can be re-enabled with the console command "g_subtitles 1"; the Xbox and GameCube versions allow enabling these subtitles in the menu.

Hmmm...
To do:
Investigate this further.
 TEXT_LANGUAGE1 "Maybe we can get in without being noticed."

Contained in kejim_post.sp, this might indicate that that mission may have included stealth portions like cairn_dock2 does.

 REFERENCE 01KYK030
 TEXT_LANGUAGE1 "All right! Now let's see what's so important."

Also contained in kejim_post.sp and spoken by Kyle, this may have indicated that another part of the mission may have been cut.

 REFERENCE 01JAO065
 TEXT_LANGUAGE1 "We're going to have company!"

Also contained in kejim_post.sp and spoken by Jan.

Unused Code

The game's SDK, containing the multiplayer mod code (not the engine) and a version of Q3Radiant (the Quake 3 map editor) dubbed JK2Radiant was released shortly after the game's launch. The complete source code for Jedi Knight II was made available by Raven Software in April 2013, but was later taken down due to copyright issues regarding the BINK and Xbox XDK code, which were accidentally included in the files.

Awards

 #ifdef JK2AWARDS
   cgs.media.captureAwardSound = trap_S_RegisterSound( "sound/teamplay/flagcapture_yourteam.wav" );
 #endif

A fully working Quake 3 style system of in-game awards, such as "Humiliation!" (from getting killed with a stun baton) exists, and would've been announced by Mon Mothma. The code for it is not included in the shipped game, but is enabled with a preprocessor command. A fan mod exists of this system working.

Saga Mode

An entire multiplayer game mode, called Saga Mode, exists in the code. It is pretty close to functioning, and would've worked very similarly to the Siege mode in Jedi Academy. In fact, the code files for the gametype there retains the same file names (bg_saga.h, bg_saga.c, g_saga.c, g_saga.h), and unlike Jedi Academy's Siege Mode, there is some preliminary support for bots in this mode.

There's also some interesting tidbits in the Saga code itself that give background into the game's development.

 #define DEFAULT_WIN_OBJECTIVE	"sound/chars/kyle/prototype/personal.mp3"
 #define DEFAULT_LOSE_OBJECTIVE	"sound/chars/kyle/prototype/isntworking.mp3"

These sound files mentioned would've been used as announcer voices, perhaps suggesting that Kyle was originally going to be the announcer, not Mon Mothma. Or these were possibly just a batch of sound effects being used to play around with.

Console Commands

Realistic Saber Combat

What you could originally do with the light saber.

Originally, you were able to slice enemies in half with the lightsaber. This feature can be enabled with this command: g_saberrealisticcombat. This also works in cutscene areas, spawning areas, and the unused pit level. This variable also changes the lightsaber's deadliness with higher numbers doing more damage.

Alternatively, setting g_dismemberment to exactly 11381138 or higher can result in unrestricted saber dismemberment without affecting the saber damage and game balance.

Mind Trick Level 4

Mind Trick Level 4 used on a Rocket Trooper

This level of Force Mind Trick cannot normally be reached. By entering the console command setmindtrick 4 while playing the game, you have the ability to take control of enemies. When you do, they have limited ammo and their guns are all rapid-fire.

X-Wing Fighter

There is code for flying an X-Wing Fighter, indicating aircraft would've been flown by the player at some point. Using the console command fly_xwing allows doing so.

Subtitles

Subtitles for all ingame dialogue can be turned on with g_subtitles 1. Strangely, the menu only allows you to select subtitles for cinematics (the equivalent value being g_subtitles 2).

Regional Differences

Dismemberment is always disallowed in German versions of the game because g_dismemberment is forced to 0. In non-German versions, setting either the game's text or dialogue to German will also force g_dismemberment to 0.

Revisional Differences

Two patches were released for the game.

1.02

The original released game, the "1.0" version.

1.03

Released on June 5th, 2002.

  • Added support for EAX® 3.0 and OpenAL, which require enabling 3D Sound in the Sound Setup menu. (The ReadMe mentions Aureal® Vortex and Vortex 2 sound cards are not supported; cards with one of these chipsets are claimed to lock up the game if enabled for use with the audio options.)

Multiplayer

  • Added four new Duel maps, all with bot support:
    • Bespin Air Vanes (duel_bespin), Hangar Bay 72 (duel_hangar), Ceremonial Hall (duel_temple), and Lightsaber Training (duel_training).
  • Corrected an issue where players were unable to cycle to detonator packs and trip mines on the "explosives" key unless they also had Thermal Detonators.
  • Corrected an issue that prevented launching a multiplayer game on AMD(TM) dual processor machines.
  • Corrected an exploit to prevent players from using illegal models in the game.
  • Corrected an exploit that allowed players to have Force powers outside of what the server rules allow.
  • Added a keyboard icon that appears over the player's head when the player is chatting or configuring Force powers.
  • Backflip now requires that you double tap the jump button.
  • Lightsaber usage in multiplayer has been modified to work similarly to the way it works in single player levels. This will enable better saber battles up close with your opponent.
  • Lightsabers will do less damage at the very start and very end of a swing. This should prevent kills from just touching an opponent with the tip of your lightsaber.
  • Other players will not see the glow from a player using Force Absorb until they are attacked.
  • Force Heal and Force Drain have been adjusted to require more Force energy to use them.
  • Corrected an issue that prevent lightsaber locking from occurring in duels even if it was enabled by the server.
  • Correct various Duel mode issues, including:
    • Reconfiguring Force powers will not place your player at bottom of queue.
    • If one player leaves during a match when dueling with more than 1 kill limit, the next person in line will not enter the match with the score of the person who left the match.
    • Changing skins will no longer produce a loss score on HUD that includes a fraglimit.

Single Player

  • Added Force Feedback mouse support.
  • Added limited Force Feedback support for joysticks. (The ReadMe mentions the joystick effect is not fully supported in the update.)
  • Corrected an issue that would cause the third AT-ST on artus_topside to disappear that prevented Jan from landing.
  • Corrected an issue that caused enemies not to be alerted by the body of a comrade in their field of vision.
  • Corrected an issue where enemies did not try to avoid Thermal Detonators that were thrown at them.
  • Corrected an issue that would cause the player to be unable to attack for about thirty seconds if they were Force Pushed out of a saberlock.

1.04

Released on July 3rd, 2002. All digital re-releases and the retail "Fan Favorites 2" collection supply this version.

Multiplayer

  • Corrected issue which caused servers to crash in rare instances.
  • Corrected issue causing damage not to ramp up and down properly when using the backstab move in lightsaber stance.
  • Corrected bug allowing players to pivot while executing backstab moves in all stances. Players may no longer pivot when executing these moves.
  • Fixed bug causing Force Pull to be unblockable by people with equal or greater Pull rank.
  • Adjusted ammo usage of the Imperial Repeater's alternate-fire mode.
  • Fixed bug allowing inventory items to be used in FFA saber challenges.
  • Corrected an exploit which allowed players to fall from large heights at a slow rate.
  • Corrected issue which caused pain sounds not to play properly when hit by opponents. Pain sounds should now be relative to the amount of damage taken.

Anti-Piracy

When the game is launched in multiplayer, it checksums the executable, and compares this checksum to a known value. If the value doesn't match (as it wouldn't in a poorly-cracked version of the game), the game will randomly insert a bad snapshot during gameplay, causing an innocuous-looking error: CL_PacketParseEntities: End of message.

This piracy check doesn't exist in singleplayer, but the same anti-piracy check exists in Medal of Honor: Allied Assault, as well as this game's sequel.

When the full source code of the game was released, it was revealed that these piracy measures use some strange names. The anti-piracy code is only included if the preprocessor macro SPANK_MONKEYS is defined. Likewise, if the game is deemed "cracked", a variable sys_monkeySpank is set to qtrue. Finally, Sys_ShouldMonkeyBeSpanked returns the value of sys_monkeySpank. "Spanking the monkey" is a well-known euphemism. The code to trigger the error message is called CL_MakeMonkeyDoLaundry.