We have upgraded to the latest version of MediaWiki and now support TLS1.2 and transcoding!
Please contact us via Discord or Twitter if you experience any problems.

Mortal Kombat: Deception

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Mortal Kombat: Deception

Developer: Midway Games
Publisher: Midway Games
Platforms: PlayStation 2, Xbox, GameCube
Released in US: October 4, 2004 (PS2/Xbox), February 28, 2005 (Gamecube)
Released in EU: November 19, 2004 (PS2/Xbox), March 1, 2005 (Gamecube)


CharacterIcon.png This game has unused playable characters.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.


This cactus is UNDER CONSTRUCTION
This article is a work in progress.
...Well, all the articles here are, in a way. But this one moreso, and the article may contain incomplete information and editor's notes.

Mortal Kombat: Deception is the second installment of the Mortal Kombat series on sixth generation consoles and has a far darker tone than the previous game.

Hmmm...
To do:
  • The GameCube executable has references to two debug functions. Tick (same as the previous game) and FR (displays frame rate). Check to see if they are accessible.
  • pfx_debug.ssf is present in all releases of the game. It might be a test stage that was used by the developers.

Unused Characters

The characters Drahmin, Frost, Kitana, and Nitara are present in the game files, yet they are not utilized in fights. It is likely that they were planned to be in Konquest missions but ended up being unused. The Action Replay codes for replacing Player 1 with these characters in the GameCube release have been provided below.

Character AR code
Drahmin 003AE747 0000002B
Frost 003AE747 00000029
Kitana 003AE747 0000002A
Nitara 003AE747 00000027

Unused Graphics

Locked Character Icons

Dairou, Kabal, and Kobra have unused locked icons despite being unlocked by default.

MKD head dairou locked.pngMKD head kabal locked.pngMKD head kobra locked.png

E3 End Screen

attract.ssf has a leftover end screen from the E3 demo.

MKD endscreen.png

Video Placeholders

Most of the unlockable videos from the Krypt have placeholder images present in krypt_art.ssf.

Old Menu Textures

Three menu textures can be found in screen_engine.ssf which were used before they were replaced with gameplay of the respective game modes.

Mkd screen engine 000006c6.png

Mkd screen engine 000006c4.png Mkd screen engine 000006ae.png

Unused Sounds

Endings

Smoke

Before Noob and Smoke were merged into one character, Smoke was given his own ending. Only the narration remains.

Onaga

Onaga was intended to be an unlockable character at some point and was going to have an ending. While the stills for it can be unlocked in the Krypt, the narration was left unused.

Announcer Dialogue

"My goodnessǃ"
Unknown. Either a sound test or a scrapped soundbyte for Konquest mode.
"Fierceǃ"
Unknown. Either a sound test or a scrapped soundbyte for Konquest mode.
"Fabulousǃ"
Unknown. Either a sound test or a scrapped soundbyte for Konquest mode.
"Yummyǃ"
Unknown. Either a sound test or a scrapped soundbyte for Konquest mode.
"Toastyǃ"
Unknown. Either a sound test or a scrapped soundbyte for Konquest mode.
"Wonderfulǃ"
Unknown. Either a sound test or a scrapped soundbyte for Konquest mode.
"Hari-kiri"
An alternate take of the losing player finisher soundbyte, which features a different spelling of Hara-Kiri.
"Suicide"
Another alternate take of the losing player finisher soundbyte.
"Noob"
A leftover character selection soundbyte from when Noob was a separate character.
"Smoke"
A leftover character selection soundbyte from when Smoke was a separate character.
"Smoke Wins"
Another leftover soundbyte from when Smoke was a separate character.
"Smoke-Noob"
An alternate name for the Noob and Smoke tag team.
"Smoke-Noob Win"
A soundbyte that addresses Smoke-Noob as plural.
"Smoke-Noob Wins"
A soundbyte that addresses Smoke-Noob as singular, like the rest of the characters.
"Noob-Smoke Win"
The developers were also planning on referring to the final name of the Noob and Smoke tag team as plural.
"The Dragon King Wins"
A soundbyte that was used before they gave The Dragon King a proper name.

Kid Shujinko Dialogue

"Good job."
You might have been able to train as yourself in Konquest mode at one point.
"You learn quickly."
Same as above.
"That was easy."
Same as above.
"You were great."
Same as above.
"Success."
Same as above.
"Try again."
Same as above.
"You have failed."
Same as above.
"No, that was wrong."
Same as above.
"Unsuccessful."
Same as above.
"Better luck next time."
Same as above.

Menu Sounds

shell_0
A leftover soundbyte from Mortal Kombatː Deadly Alliance.
shell_1
A leftover soundbyte from Mortal Kombatː Deadly Alliance.
shell_2
A leftover soundbyte from Mortal Kombatː Deadly Alliance.
shell_3
A leftover soundbyte from Mortal Kombatː Deadly Alliance.

Unused Text

Repository Log

Starting at 0x39D7C0 and scattered throughout the Xbox executable are fragments of a log pulled from a Renderware SDK source code repository.

@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/hanim/rphanim.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/hanim/stdkey.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/rpmatfx.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/xbox/effectPipesXbox.c#2 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/xbox/multitexxbox.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/multiTex.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/matfx/multiTexEffect.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/batextur.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bastream.c#1 $   wb  ab
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/babinary.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baraster.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/bacamera.c#2 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baimage.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baframe.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bamatrix.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/badevice.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/batypehf.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/baim3d.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bafsys.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baimras.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/batkbin.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babinfrm.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/baerr.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/batkreg.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/baresour.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbcache.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbrendst.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bavector.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bamemory.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2core.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbdevice.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbmemory.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbraster.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/bapipe.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babintex.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/baresamp.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/rwstring.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babbox.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/basync.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/os/xbox/osintf.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/bacolor.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2heap.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/xbox/im3dpipe.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/plcore/resmem.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2dep.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2renderstate.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xb2drend.c#2 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbtexdic.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbsprite.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/xbox/xbconvrt.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/xbox/nodeXBoxSubmitNoLight.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/pipe/p2/p2resort.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/driver/common/palquant.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/baclump.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/balight.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/baworobj.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bageomet.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/baworld.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bamatlst.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xblights.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bamateri.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xbpipe.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/nodeXBoxAtomicAllInOne.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xbvtxfmt.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/xbpixelshader.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/nodeXBoxWorldSectorAllInOne.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/bamesh.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/native.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/bapipew.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/babinwor.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/basector.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/world/pipe/p2/xbox/wrldpipe.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/rpskin.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxrender.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxconstantmode.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxformat.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxbox.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxinstance.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/bsplit.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinplatform.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/skin2/xbox/skinxboxplain.c#1 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/tool/quat/rtquat.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/plugin/anisot/rpanisot.c#1 $
@@@@(#)$Id: //RenderWare/RW36Active/rwsdk/tool/anim/rtanim.c#2 $
@@(#)$Id: //RenderWare/RW36Active/rwsdk/src/babincam.c#1 $

Build Date

Present at 0x39DDE0 in the Xbox executable is a build date for RenderWare.

Core built at May 31 2004 18:49:12

Acid Bath Reference

permanent_strings.ssf has a reference to Acid Bath, an arena from the previous game. Considering that it is not unlockable, it might have been used as a placeholder until the other stages were finished or it ended up getting cut early in development.

ACIDBATH

Placeholder Move List

The move list will display some placeholder text when you play as a NPC.

STYLE ONE ATTACK ONE
STYLE ONE COMBO ONE
STYLE TWO ATTACK ONE
STYLE TWO COMBO ONE
STYLE THREE ATTACK ONE
STYLE THREE COMBO ONE
SPECIAL MOVES NAME

Partial Script Output

Most of the characters in the GameCube release have some leftover text that seems to have been from a script that generates art assets.

isc\menu\buttons\gc\eng\buttonc�ncel.tga not found
isc\menu\buttons\gc\eng\buttont�yagain.tga not found
isc\konquest\eng\outstanding.tg� not found�ound

MK6BANKS.mmb

A file that lists sound assets from an early build of the game is present only in the Xbox release. It also provides further evidence that the Acid Bath arena was present in the game at one point.

announcr.msb
announcr_names.msb
bg_acid_bath.msb
bg_beetle_lair.msb
c_jax.msb
c_scorpion.msb
chess.msb
fighter_eb.msb
fighter_jax.msb
fightfx1.msb
fs_concrete.msb
fs_dirt.msb
fs_marble.msb
konq_lipsynch_test.msb
konquest_intro.msb
konquest_mk6.msb
mk5tune1.msb
music_fatality.msb
pf_fat_crusher.msb
pf_fat_grinder.msb
pf_fat_weight.msb
pf_fightfx1.msb
pf_jax.msb
pf_scorpion.msb
puzzle.msb
shell.msb

Development Leftovers

ELF executable

Just like the previous game, an executable with debug symbols named mk6gc_release.elf is present in the root of the GameCube release.

Linker Map

Additionally, a linker map for the ELF executable named mk6gc_release.MAP is present only in the GameCube release. It lists all of the game's functions, including many that ended up unused.

Download.png Download Mortal Kombatː Deception Linker Map
File: MKDeception_LinkerMap.zip (629KB) (info)

Revisional Differences

  • The GameCube release exclusively features both Goro and Shao Kahn as playable characters and also has 6 of the 12 locked characters unlocked by default.
Xbox GameCube
  • The Xbox release of the game has a variation of konquest.sfd that features gameplay from an unfinshed version of Konquest mode where Old Shujinko's model was not implemented yet. This was later fixed in the GameCube release.