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

Batman & Robin (PlayStation)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Batman & Robin

Developer: Probe Entertainment
Publisher: Acclaim Entertainment
Platform: PlayStation
Released in US: July 31, 1998
Released in EU: August 1998

SourceIcon.png This game has uncompiled source code.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.

Batman & Robin is possibly one of the earliest examples of a sandbox-styled open world game, but unfortunately was plagued with horrible gameplay ideas and execution, even with a 1 year delay.

Unused Instruction Menu

Batman & Robin - UnusedInstructionScreen1.png Batman & Robin - UnusedInstructionScreen2.png Batman & Robin - UnusedInstructionScreen3.png Batman & Robin - UnusedInstructionScreen4.png

An unused instruction screen which displays the game's controls. Also contains text for option menu items, some debug related that aren't in the game anymore. Apply the below code to see this screen when first starting the game.

USA code:

D008E7A4 0003
8008E7A4 00FF
(Source: Punk7890)

Uncompiled and Debugging Code

The game's entire script can been seen in plain text with a hex editor, but also tons of uncompiled code and what seems to be a hidden debug menu.

CreatePickup    Add power   Sub power   Set power   Give world posn GiveWorldPosition   Wait till   Kill if ALL_WEAPONS 



Turn on full debugging  Press a key...  Debug Marker (%d)

Cheat %d = %d (1=on, 0=off)

fpStart player combo %d   Player out of duct, directio Player into duct, direction 
Data1 %d  Enable (1) Disable (0) player = %d  Change level to %d  Swimming function (1=on,0=off) 
  Change player to character %d   Teleport to X=%d,Y=%d, Flag=%d  Light(%d).Power = %d    Light(%d).Power -= %d   Light

(%d).Power += %d   Reset Animation %d  Frame L:%d, H:%d, wait(Random(%d))  Frame L:%d, H:%d, wait(%d)  Force Anim %d   

Start Anim %d   Anim(%d).Power = %d Anim(%d).Power -= %d    Anim(%d).Power += %d    Loose game  
 EndLoop   Loop (%d) { Never run event (%d)    Stop event (%d) Start event (%d)    Goto event (%d) Kill if not 

chunk (X:%d, Y:%d in chunkmap)  Display hint message %d for %d 1/10ths of a sec.    --End of day--  SFX %d, Vol %d  Play 

CDDA track %d, Vol User Attribute %d = %d  Set trigger %d timer to %d  Wait (%d seconds)   Wait (%d frames)    Wait (%d * 

1/10sec) Wait For mocap slot to be free  Use load buffer, type %d, flags %d  Set user defined camera attribute %d to be 

camera type %d    Clear Flag(%d)  Set Flag(%d)    Toggle Flag

(%d) Var(%d) = Var(%d) + Var(%d) Var(%d) = Random(0 -> %d)   Var(%d) -> Var(%d)  Var(%d) = %d    Var(%d) -= %d   Var(%d) 

+= %d   Terminate if Var(%d) [%d] Var(%d)   if Flag(%d) = CLEAR, goto line %d   if Flag(%d) = SET, goto line %d if Var(%d) 

<> %d, goto line %d  if Var(%d) = %d, goto line %d   Goto if Flag(%d) = %d, event %d Terminate if Flag(%d) = %d  Wait 

until Flag(%d) = %d    Terminate if Var(%d) [%d] %d    Wait until Var(%d) [%d] %d  Change lift model to %d Wait until 

Lift(%d) stops   Lift(%d) goes to hgt(%d), spd(%d)   Kill if lift(%d) not powered    Force Lift(%d) to %d, spd(%d)   Lift

(%d).Power = %d Lift(%d).Power -= %d    Lift(%d).Power += %d    Use object %d as camera for %d 1/10th secs, flags=%d    

Wait until object %d has property %d    Damage object %d, behaviour %d, -%d Hit pts Is Object %d Powered up Give world 

position To 3DObject (%d)    3DObject(%d).Power = %d