the cutting room mirror

The Simpsons Game (PlayStation 3, Xbox 360)

Debug Replay#

Debug Replay on the main menu

There is a hidden menu internally called DebugReplay, which allows the player to choose any episode in the game. The IsDebugEnabled engine callback resolves through function sub_8239B148 at VA 0x8239B148 (file offset 0x396148). In the executable it's compiled down to two instructions:

8239B148: 38 60 00 00   li  r3, 0         ; return value = 0 (false)
8239B14C: 48 42 AF BC   b   0x827C6108    ; tail-call into Apt bool marshaller

Debug Replay itself

The function always returns a hardcoded 0. Nothing else in the executable calls it, it exists solely to be invoked from Apt through the callback registration at 0x8239D500. In order to re-enable Debug Replay on the main menu, change file offset 0x39614B from 00 to 01, which alters li r3, 0 to li r3, 1 in IsDebugEnabled. The debug-replay option is no longer filtered out of the menu and appears as its own entry, routing correctly to state 10.

Downloadable Content#

There was once Downloadable Content planned for the game, but the plans were cancelled following the 2007 Writers’ Strike, and EA Redwood Shores shifting its focus to other projects. Despite there being no downloadable content, the game still has a bunch of code leftover in the game's executable and frontend stream.

Content Scanner#

At boot, the game instantiates a content manager that registers three file-extension handlers with a scanner tied to the iMsgSystemTick message:

Extension

Handler

Usage

*.lvl

sub_828385B8

Loads an additional level

*.costume

sub_82837EC0

Loads an alternate character costume

*.lua

sub_82836670

Parses and executes a Lua script

Every tick, the manager walks installed marketplace packages by calling XamContentCreateEnumerator with content type 2, the internal ID for XCONTENTTYPE_MARKETPLACE_CONTENT. A state machine at sub_828382E0 handles the enumeration with seven cases covering "found new item," "content removed during scan," "enumeration complete," and so on. When all installed packages have been scanned, a second message called iMsgAllContentScanned fires, signalling the rest of the game that new assets are now loadable. Save data integrity is also guarded, when the scanner detects that a save references content packages that aren't currently mounted, it raises the %1 is missing dependent content package(s) warning.

Alongside the scanner, the game registers a script message called iMsgShowMarketplace that's related to iMsgShowSignin and iMsgShowAchievements, that any Lua script can fire. When dispatched, its handler at sub_82905960 case 1 calls XamShowMarketplaceUI (through the wrapper at sub_824459E8) with a specific product ID, popping up the Xbox LIVE/PSN storefront overlay aimed at a single DLC item. Feeding that message requires one of two companion classes, both registered with the entity system at boot in both prototype and final builds:

  • MarketPlaceOffer: 88 bytes, class hash 0x3E3535D1. A skinny data record holding an offer name string and a 32-bit product ID. Its parser (`sub_8292DB58`) handles two data tags: one writes the product ID into field `+76`, the other appends the offer name to the string table at `+80`.
  • OfferCheck: 96 bytes, class hash 0xB5ECE86C. The richer class, meant to gate content behind ownership. It stores an offer name, an ID at +72, a float at +96, a bool flag at +100, and another 32-bit field at +104. Its parser reads five tag types. The dispatch logic at sub_8292DA18 calls sub_829056C0(dword_82E1C4F0, offer_id, ...) the actual offer check. If the check fails, a companion UI node at a1+6 is activated instead of the one at a1+8, implementing a gate-content-or-show-upsell pattern.

Episode Replay DLC#

The episode replay menu in frontend.uix defines five explicit DLC slots on top of the base-game Epi_1 through Epi_18 episode tiles. Each DLC slot is a two-object structure placed on the menu stage:

dlc1  (outer slot container, holds layout/frame art)
  └─ ep_mc1  (nested thumbnail MovieClip, tinted via Color.setRGB for locked state)
dlc2 / ep_mc2
dlc3 / ep_mc3
dlc4 / ep_mc4
dlc5 / ep_mc5

Each slot pairs with a thumbnail art asset (episode_download_1.png through episode_download_5.png, all defined in frontend_assets.uix) and a state-switching MovieClip called Downloaded_mc with three rendered states:

  • None: the slot is hidden, no DLC has been detected and no placeholder shown
  • Locked: DLC was previously installed but isn't currently mounted, shows a locked-out tile
  • Downloaded: the DLC is installed and the episode is selectable.

To get a better idea of where exactly these expansions were meant to take place in Springfield, this mockup image with all the textures combined to form a single image will help you out.
{|class=wikitable style=margin:auto; !Mockup !Springfield Map |- |SimpsonsGamePS3-FIN_episode_download-combined.png |SimpsonsGame360-SPR_HUB-5_bus_stop.png |}

A separate overlay asset episode_downloaded.png provides the "installed" marker that stamps over the thumbnail. The restoreEpisode handler reactivates whichever slot was last selected when the user returns to the menu, so the cursor parks back on the DLC they were about to play. The ActionScript driving the menu calls engine bridge methods getCurrentEpisodeID, getCurrentEpisodeIndex, nextEpisode, prevEpisode, the same methods base-game episode selection uses and tints each locked slot's thumbnail via new Color(ep_mcN).setRGB(color).

Movie Browser DLC#

The movie browser screen (fmv_browser.uix) also has some code related to Downloadable content. It indexes 35 base-game cinematics like loc_igc01 and so on through object35. After object35 comes a download type category, sitting alongside the default normal and none types. The ActionScript at 0x1FD7C reads from parallel arrays MovieTypes[] and MoviePaths[] and branches on type normal movies come from disc, download movies come from installed DLC, none is a sentinel for unused slots. If a pack included new cutscenes, they'd show up here under a "Downloads" section with the same locked/installed visual language.

Command Flags#

The game can read a file called cmd.txt from the disc root at boot. The file contains space-delimited command-line flags that override default startup behavior. The game's boot function begins by registering FrontendMainLoop as the default state, then reads "cmd.txt" via the engine's file I/O system. Each whitespace-separated token is stored in an argument array, and the parser walks through them sequentially, checking each against a chain of "strcmp" calls. If no cmd.txt is found (cmd.txt is not in the root, but you can make one yourself), the game boots to the frontend normally.

-mainloop#

Overrides the game's initial boot state. Takes the next cmd.txt token as a state name, hashes it via sub_827AADB8, then searches a registration table in the state manager (dword_82E1BD2C) for a matching entry. If the hash is found, the game boots into that state instead of the default FrontendMainLoop. The state manager's registration table lives at offset 8 of the manager object, with a capacity counter at offset 136. Each entry is 8 bytes: a 32-bit name hash followed by a 32-bit state pointer. sub_82905348 walks this table linearly until it finds a match or exhausts the entry count.

Four state names are present:

State Name

Offset

Purpose

FrontendMainLoop

0x4BE0

Default. Loads the frontend menu system.

GameMainLoop

0x4BD0

Gameplay state. Used when -stream loads a level.

DebugFEMainLoop

0x160070

Debug frontend. Activated automatically when map.txt is present on disc, but only survives (E3 build has this fully present) as part of a parenthesized string.

InitOnceMainLoop

0x1600C8

First-boot initialization. Runs once, then transitions to the frontend.

-stream#

This flag bypasses the entire frontend and loads a level STR file directly. The flag requires at least two additional arguments. The parser checks that there are 3+ remaining tokens (sub_8291DBA0() > v4 + 2), then processes them:

  • The first argument after -stream is stored as the stream folder name (at the boot object's offset +2 field, via sub_82399660).
  • The second argument begins with the stream file path (at offset +4)
  • Any further arguments are concatenated onto the file path with space separators (via sub_823C6DC8 and sub_827AA468 which appends ASCII 0x20), then the trailing space is trimmed by sub_827A89F8. After constructing the path, the handler calls sub_8279A0E0, which sets bit 3 (0x08) on a global engine flags field at dword_82E808A8 + 12. This marks the boot as a direct stream load. The actual level loading is then dispatched through sub_82952200, the engine's stream load function. So the format would be: -stream <filename.str> (Example: -stream mob_rules mob_rules.str), with the folder selecting the stream set, and the filename identifying the specific STR within it. Since -stream doesn't explicitly specify a boot state, the game implicitly runs in GameMainLoop when loading a level this way. The default FrontendMainLoop state is still registered first at the top of the boot function, but -stream's direct load call overrides the normal flow before the frontend has a chance to initialize. The default stream path when no -stream flag is present is frontend\frontend.str, loaded through the same streaming system during FrontendMainLoop.

-plasma/-noplasma#

-plasma and -noplasma control EA's Plasma online services backend. The PlasmaConnectionManager is a 316-byte singleton object stored at dword_82E1BD50. Its constructor at 0x8282F0A8 initializes several subsystems:

  • PlasmaThreadSafeAllocator: A dedicated 512KB memory pool for Plasma operations
  • PlasmaDataTransfer: Handles data blob upload/download
  • PlasmaStats: Leaderboard and statistics tracking

Alongside Plasma, the same initialization function registers:

  • AchievementManager
  • AdditionalContentManager (for DLC)
  • UserLookupManager

The enable byte at offset 66 of the PlasmaConnectionManager defaults to "1" (enabled) in the constructor. -noplasma overrides this to 0. When enabled, the system attempts connections to "fesl.ea.com" and "messaging.ea.com". The FESL library includes several hardcoded environment names for different server tiers:

Index

Environment

0

stest

2

fesl-alpha

3

fesl-dev

4

alpha

5

beta

6

scert

All of these servers were shut down around 2009, and while both -plasma and -noplasma are in the final they serve no purpose.

-juice#

Seems to do absolutely nothing. -juice sits in the middle of the flag chain between -stream and -plasma. When the strcmp matches, execution falls into the inner block where -plasma and -noplasma are checked, there is no handler code for -juice itself. The flag is consumed and the parser advances to the next token, but no state is changed, no variable is written, and no function is called.

Unused Models#

Bartman Begins#

Space Gas Station

SimpsonsGame360-brt_space_gas_station.png

This model was intended to be used inside the planetarium after getting across the planet displays. There would of been a button on the gas station to drop down a ladder for Homer to climb up and balance the satellite (which would function like a fulcrum) for Bart to reach Jimbo. This model is also fully used in the Old-Gen version.

The Day of the Dolphin#

Power Button SimpsonsGame360-dod_powerbutton.png

A power button to turn on something, likely in the pier area of the episode.

Invasion of the Yokel-Snatchers#

Brown Truck

SimpsonsGame360-DSSS-sss_browntruck.png

A brown truck, similar to the delivery truck seen at the beginning of the episode. This truck model can also be seen fully in the Old-Gen version.

Grand Theft Scratchy#

Politician Statue

SimpsonsGame360-gts_politician_statue.png

A crude statue of a politician (likely Hillary Clinton, who is seen in Mob Rules and Grand Theft Scratchy).

Big Super Happy Fun Fun Game#

Japanese Vending Machine

SimpsonsGame360-bsh_japanesevendingmachine.png

A Japanese vending machine which would of spawned out food for Homer to eat. This model is fully used in the Old-Gen version.

Game Over#

Cloud Bridge Piece

SimpsonsGame360-mtp_hog_cloudbridge_straight.png

A straight piece intended for a cloud bridge puzzle using the Hand of Buddha.

Unused Graphics#

Downloadable Content#

This game was planned to have DLC expansions. There is a button in the menu that would be used for DLC, but it never ended up being used. Frontend.str contains textures that were meant to be used for said DLC.

To get a better idea of where exactly these expansions were meant to take place in Springfield, this mockup image with all the textures combined to form a single image will help you out.
{|class=wikitable style=margin:auto; !Mockup !Springfield Map |- |SimpsonsGamePS3-FIN_episode_download-combined.png |SimpsonsGame360-SPR_HUB-5_bus_stop.png |}

simpsons_chars#

Only Marge has a powerup icon in-game, but Bart and Homer have graphics for powerup icons that go unused.

Icons for the ammo Bart collects during episodes, which were meant for the scrapped special ammo mechanic, where collecting ammo would increase the range and damage. The internal name of each type is as follows:

  • specialAmmoPill
  • specialAmmoPinecone
  • specialAmmoAtom
  • specialAmmoHalo
  • specialAmmoGrenade
  • specialAmmoGeode
  • specialAmmoGoldCoin
  • specialAmmoBaseball
  • specialAmmoEgg
  • specialAmmoCork
  • specialAmmoGoldBrick
  • specialAmmoTuna

These icons are still used in the Old-Gen version to represent Bart's stronger ammo. Notably, two unused ammo types, a Cork and an Egg, are present among the icons but do not appear in game.

A counter icon for an alien, likely meant for the Time Challenge for Invasion of the Yokel-Snatchers.

An icon for a Wood Chipper, likely meant for something related to Lisa the Treehugger.

Frontend#

Some textures are leftover from The Godfather, another game by EA Redwood Shores that runs on the same engine.

There are also 10 language flags, even though there's no language selection menu even in multi-language releases. This game also doesn't have any released localization in Dutch, Polish, Portuguese nor Swedish, whose flags appear here; and the flags for Finnish and Norwegian, which did have a released localization don't appear here.

The colloquially called Old Generation version has a few more movies available in the menu, those being In-Game Cutscenes that are pre-rendered there, but are played in real-time in the New Generation as they happen.

The level Big Super Happy Fun Fun Game has an IGC placeholder of its own too.

Earlier variants of the Simpsons' collectible trophies.

Dino-Duff / Jurassic Duff

Unused

Used

Special Reserve Duff / Sellout Duff

Unused

Used

Deep Fried Duff / EA Sports Duff

This early trophy design can actually still be seen inside the Garage of the Simpsons' house.

Unused

Used

Krusty Begins

Unused

Used

Krusty's Stop & Go

Unused

Used

Gangsta Clean Hairspray

Unused

Used

Unused characters meant to be seen on the main menu background.

An earlier variant of Ralph intended to be shown on the main menu. The early variant has a different colored shirt and pants and his legs not visible, as well as a different blinking animation overlay. Notably, the unused Ralph graphic is used in the E3 Prototype and the Old-Gen version

Unused

Used

2_frontend_assets
1_frontend_assets

Medal of Homer#

hug_littlelisaslurry

A texture for a unused explosive barrel model. The filename indicates that this texture was going to be used in Lisa the Treehugger.

moh_missionaccomplished

This graphic would have likely been seen somewhere on Mr. Burns' aircraft carrier and references George W. Bush's "Mission Accomplished" speech.

80b_supermeatball

In certain episodes where Homer is playable, there is a leftover alternate texture for the Super Meatball from "Around the World in 80 Bites." This was likely intended for a cut meatball food pickup, which still has a model present in the game files.

Unused

Used

Five Characters in Search of an Author#

A graphic intended for zone 02.

Springfield#

picture_bartboat, while the boat painting is used in the Simpsons' living room, has an unseen photo of blue-shirted Bart Simpson leftover from the Xbox tech demo.

Textures for the unused Retirement Castle interior.

Shared#

Unused Controller Events#

HomerEat#

Originally instead of Homer picking up food automatically the player would need to press B to eat food, which was replaced

Event Hash

Event Name

Event Catergory

Required Input

Duration

431aae05

HomerEat

ACTION

B

1ms-unlimited

SwitchToHomer#

A controller event for swapping to specifically Homer, likely a test event.

Event Hash

Event Name

Event Catergory

Required Input

Duration

ee5647e4

SwitchToHomer

SWITCH

DPadUp

5ms-unlimited

SwitchToBart#

A controller event for swapping to specifically Bart, likely a test event.

Event Hash

Event Name

Event Catergory

Required Input

Duration

895dffd0

SwitchToBart

SWITCH

DPadLeft

5ms-unlimited

SwitchToLisa#

A controller event for swapping to specifically Lisa, likely a test event.

Event Hash

Event Name

Event Catergory

Required Input

Duration

5e93a37a

SwitchToLisa

SWITCH

DPadRight

5ms-unlimited

SwitchToMarge#

A controller event for swapping to specifically Marge, likely a test event.

Event Hash

Event Name

Event Catergory

Required Input

Duration

b90d066d

SwitchToMarge

SWITCH

DPadDown

5ms-unlimited

FreeLook#

A first-person view, which still is functional in the E3 build.

Event Hash

Event Name

Event Catergory

Required Input

Duration

bbe6c60b

FreeLook

MOVEMENT

LeftStick, RightStick

5ms-unlimited

MTP_gemCatcher_up#

Moving left for a gem catcher-like section in Game Over. It's very likely that this was intended for the tetris section in the episode that got cut.

Event Hash

Event Name

Event Catergory

Required Input

Duration

e13c8fcb

MTP_gemCatcher_up

ACTION

DPadUp

1ms-unlimited

MTP_gemCatcher_down#

Moving left for a gem catcher-like section in Game Over. It's very likely that this was intended for the tetris section in the episode that got cut.

Event Hash

Event Name

Event Catergory

Required Input

Duration

bae08bd2

MTP_gemCatcher_down

ACTION

DPadDown

1ms-unlimited

MTP_gemCatcher_left#

Moving left for a gem catcher-like section in Game Over. It's very likely that this was intended for the tetris section in the episode that got cut.

Event Hash

Event Name

Event Catergory

Required Input

Duration

2a197297

MTP_gemCatcher_left

ACTION

DPadLeft

1ms-unlimited

MTP_gemCatcher_right#

Moving right for a gem catcher-like section in Game Over. It's very likely that this was intended for the tetris section in the episode that got cut.

Event Hash

Event Name

Event Catergory

Required Input

Duration

20f1bd2c

MTP_gemCatcher_right

ACTION

DPadRight

1ms-unlimited

HOG_ActOfKindness#

A cut action for the Hand of Buddha, it's unknown what this action would of done.

Event Hash

Event Name

Event Catergory

Required Input

Duration

e59ac5d5

HOG_ActOfKindness

HandOfGod

LT

1ms-unlimited

HOG_RotateObjectUp#

A cut action for the Hand of Buddha for rotating a held object up

Event Hash

Event Name

Event Catergory

Required Input

Duration

292cacd4

HOG_RotateObjectUp

HandOfGod

DPadUp

1ms-unlimited

HOG_RotateObjectDown#

A cut action for the Hand of Buddha for rotating a held object down

Event Hash

Event Name

Event Catergory

Required Input

Duration

5700b45b

HOG_RotateObjectDown

HandOfGod

DPadDown

1ms-unlimited

HOG_RotateObjectRight#

A cut action for the Hand of Buddha for rotating a held object right.

Event Hash

Event Name

Event Catergory

Required Input

Duration

b564b6e3

HOG_RotateObjectRight

HandOfGod

DPadRight

1ms-unlimited

HOG_RotateObjectLeft#

A cut action for the Hand of Buddha for rotating a held object left.

Event Hash

Event Name

Event Catergory

Required Input

Duration

b564b6e3

HOG_RotateObjectLeft

HandOfGod

DPadLeft

1ms-unlimited

FlickTarget#

A generic event thats not in the player table, as FlickTargetRight and FlickTargetLeft are used.

Event Hash

Event Name

Event Catergory

Required Input

Duration

8ea68a5c

FlickTarget

ACTION

LB

1ms-unlimited

Sprint#

A controller event for running, which is a likely a leftover from EA Redwood Shores' previous game "The Godfather".

Event Hash

Event Name

Event Catergory

Required Input

Duration

9984ac3a

Sprint

MOVEMENT

LT

1ms-unlimited

DefensiveMove#

A controller event for blocking, which is a likely a leftover from EA Redwood Shores' previous game "The Godfather".

Event Hash

Event Name

Event Catergory

Required Input

Duration

c2031444

DefensiveMove

ACTION

LT

5ms-unlimited

MeleeAttackCombo2#

This goes unused, as the slot this event is suppose to use doesn't get requested by the game, so only "MeleeAttack" and "MeleeAttackCombo3" get used.

Event Hash

Event Name

Event Catergory

Required Input

Duration

f6487800

MeleeAttackCombo2

ACTION

X

5ms-unlimited

JumpKick#

Just like the Old-Gen and DS versions, there was going to be a jump kick attack but the animation and controller event goes cut for some reason.

Event Hash

Event Name

Event Catergory

Required Input

Duration

35b246d4

JumpKick

ATTACK

X

5ms-unlimited

Unused Sound Effects#

To do:
Find the correct filenames for each sound effect, which currently are no tools for.

simpsons_chars#

Homer

Voiceclips for Homer laughing evilly, It's unknown where these would have been used, but they were likely intended for a cut animation.

Filename

Sound Effect

homer-333

homer-334

homer-335

homer-336

homer-337

homer-338

homer-339

homer-340

Voiceclips for Homer sighing, also likely intended for a cut animation. Some of these voiceclips are used in the DS version.

Filename

Sound Effect

homer-001

homer-002

homer-003

homer-004

homer-005

homer-006

homer-007

homer-008

Marge

Voiceclips for Marge laughing. It's unknown where these would have been used, but it's likely for an unused animation.

Filename

Sound Effect

marge-104

marge-105

marge-106

marge-107

marge-108

marge-109

marge-110

Unused Level Data#

To do:

  • Go through more levels, and recheck I didn't miss anything (i most likely did)
  • I've created most of these subheadings just to catalogue what's in each level. I need to go through and investigate/write up each one. - nebula

The Land of Chocolate#

To do:

  • `startcookie01`, `startcookie02`, `startcookie03`
  • 3 PingPongPlatforms are in the level data, each started with the above events. However `runcake_action` calls `startcookie01_continue` instead, so nothing happens (i think).

Around the World in 80 Bites#

Pre-China Area#

To do:
Also document `aud_player_entered_china_01` trigger

Cut First Area

Behind the door in the starting area, there is navigation graph data for a cut area. No level geometry remains.

Bartman Begins#

Disabled Bart Pickup#

To do:
Unused `VariableCollectible` next to box at start of map.

Sciencolgy Platform#

To do:

  • ScriptableProp using unused model.
  • Switch that calls `lower_sciencolgy_ladder`
  • Associated ExecuteVFX, PlaySound, LadderSurface, NodeController.
  • MultiManager that listens to `lower_sciencolgy_ladder` and calls `aud_play_sound_ladderdown` after 0.5s, `sciencology_ladder_down` after 1s, `deactivate_sciencoloy_ladder_node` after 1s, `spawn_lc_sciencolgy_room` after 2s.
  • Room is generally called "science room".
  • Door to room is opened with `open_sciencology_door`.

Lisa the Tree Hugger#

Teleport#

To do:
'teleporttocog' trigger behind gate at start of level. Needs more investigating, but fairly certain the actual teleport object has been removed, just leaving the trigger.

Third Toxic Waste Barrel#

To do:

  • Disabled `HoGPuzzleObject` for a barrel that's used to blow up the dispenser - only two out of three are enabled.
  • There's also the associated `HandOfGodTrigger` for where it normally spawns, but no trigger on the dispenser.

Mob Rules#

To do:

  • Investigate disabled MultiManagers for `iMsgPlayerMargeTutorialTargetLocked` and `iMsgPlayerMargeTutorialTargetUnlocked`
  • Disabled ExecuteVFX, Attacher
  • EnterExitTrigger for thought bubbles around collectibles?

Enter the Cheatrix#

Unused Zones#

SimpsonsGameNG-Zone4.pngSimpsonsGame360-Zone3Cheatrix.png

Zone 3

Labeled as Zone 3 of Enter the Cheatrix. This zone only uses the simpsons_palette texture, and generally looks very unfinished. There is no ceiling mesh, so either there would have been a fixed camera angle or the mesh was never finished. From the fact that it uses no textures, we can assume that it was cut very early into Cheatrix's life, or was never intended for the final game at all.

SimpsonsGameNG-Zone3.pngSimpsonsGame360-Zone4Cheatrix.png

Zone 4

Labeled as Zone 4 of Enter the Cheatrix. Only uses the simpsons_palette texture, bar from 3 pipes. At the top section, next to the green pipe, the wall covers a small corridor leading out, so this was presumably the exit to this zone. There is a movable bridge in the middle, leading to sign saying "POWER BOOST" and "OFF".

According to a level designer, these areas were cut because the episode felt too long. Zone 3 didn’t contribute anything new, and mainly repeated gameplay ideas already seen in other zones and didn’t offer any unique or memorable moments. Zone 4 was planned as a battle arena where enemies would spawn infinitely, and players would need to defeat them while figuring out how to shut down the spawners. This area could have been used to extend the level’s length if more substantial cuts had been made elsewhere, to ensure the episode didn’t feel too short. In the end, though, it wasn’t needed, so it was removed.

(Source: Ben Johnson, Level Designer)

Shadow of the Colossal Donut#

To do:
Investigate `restart_level` ScriptedSequences

Unused Lard Lad Trigger#

To do:
Disabled EnterExitTrigger out of bounds that calls `lard_lad_enter_trigger` and `lard_lad_exit_trigger`

Unused Updraft#

To do:
Disabled Updraft object out of bounds

Unused Switch#

To do:
Disabled switch out of bounds that calls `msg_begin_hatch_destruction` / `destroy_hatch` / `destroy_wiring` - debugging tool to progress through the fight stages?

Grand Theft Scratchy#

To do:
LOADS of disabled FuncSpawns. Some will be enabled and used by other things, but others are definitely unused.

Politician Statue#

To do:

  • Two disabled FuncSpawns called with `gts_spawn_politician_statue`
  • Three MultiManagers that handle `gts_spawn_politician_statue_mm` and all their related events
  • VariableOperators for `gts_set_polit_stat_var_backtozero` and `gts_politician_statue_inc_var`
  • VariableWatcher that calls `gts_spawn_politician_statue_mm` when a variable has the value of 16
  • ScriptableProp of unused politician statue model under Maude's Hot Coffee sign
  • SendScoreEvent for `gts_politician_statue_inc_var`
  • Counter for `gts_spawn_politician_statue` and `gts_show_score_event_counter` (I think this might be the actual house counter that's used in game?)

Extra Pier#

To do:
Disabled ScriptableProp of a different ice bridge pier

Jumping Speedboats#

To do:

  • Disabled ScriptableProps of speedboats jumping over the start to Poochie's island
  • GraphMoverControllers for `gts_bt5_go_to_third_pos`, `gts_bt5_go_to_second_pos`, `gts_bt_4_go_here_now`, `gts_bt4_go_to_third_pos`, `gts_bt4_go_to_second_pos`, `gts_bt_4_go_here_now`

Buddha Hand Objects#

To do:

  • Disabled HoGPuzzleObject of a car on cinderblocks next to billboard
  • Five pieces of ice stored out of bounds - pieces of an ice bridge before they introduced the freeze ability?

Five Characters in Search of an Author#

Unused Zones#

SimpsonsGamePS3-FIN_RWC-Zone2.pngSimpsonsGame360-Zone2FiveChar.png

Zone 2

Labelled as Zone 2. This would have come right after the outside lawyer fight.

SimpsonsGamePS3-FIN_RWC-Zone3.pngSimpsonsGame360-Zone3FiveChar.png

Zone 3

Labelled as Zone 3. This would have come right after Zone 2. The design of this zone is very reminiscent of the Old-Gen and DS versions of this episode. The player starts in the bottom right, somehow crosses a gap, makes their way across a bowling lane at the back (maybe there would have been bowling balls to dodge?), then back towards the camera. Then, there is a platforming section across floating notepads. The Homer and Bart statues are seemingly textureless, so either they were meant to look like that or the materials were cut. The only navigation graph data that remains show that there would have been objects moving in a figure-eight shape on top of each notepad.

Springfield#

SimpsonsGameNG-Retirement1.pngSimpsonsGameNG-Retirement2.png

Retirement Castle Interior

Underneath the retirement castle, there is an unused interior. This seems to be very basic, with little furniture.

SimpsonsGameNG-House1.pngSimpsonsGameNG-House2.png

Smithers' Apartment Interior

Located underneath the Sleep-Eazy Motel there is an interior for Smithers' Apartment (The pink apartment building behind the Aztec Theater). There are pieces of furniture outside the room, and floating in the middle of the room. Since the entire room and props are one single mesh, this is assumed to just be an error that the developers never fixed.

Unused Chatter Types#

Various unused chatter types leftover from development remain in the game files, with their voicelines fully intact.

Global#

from_buddypc_onmyway

This chatter type was meant to play when your buddy character begins following you. This chatter type is notably used in the E3 build but only for Homer, as the other characters only have text-to-speech placeholder audio.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0005a27.exa

d_homr_xxx_0005a28.exa

d_homr_xxx_0005a29.exa

d_homr_xxx_0005a2a.exa

d_homr_xxx_0005a2b.exa

Bart

global_bart

d_bart_xxx_0005a3f.exa

d_bart_xxx_0005a40.exa

d_bart_xxx_0005a41.exa

d_bart_xxx_0005a42.exa

d_bart_xxx_0005a43.exa

Lisa

global_lisa

d_lisa_xxx_0005a57.exa

d_lisa_xxx_0005a58.exa

d_lisa_xxx_0005a59.exa

d_lisa_xxx_0005a5a.exa

d_lisa_xxx_0005a5b.exa

Marge

global_marg

d_marg_xxx_0005a70.exa

d_marg_xxx_0005a71.exa

d_marg_xxx_0005a72.exa

d_marg_xxx_0005a73.exa

d_marg_xxx_0005a74.exa

from_buddypc_wait_there

This chatter type was likely intended to trigger when your buddy character moved to a designated waiting spot to wait for the player. For some reason Lisa has 5 voicelines instead of 4 like the rest of the characters.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0005a2c.exa

d_homr_xxx_0005a2d.exa

d_homr_xxx_0005a2e.exa

d_homr_xxx_0005a2f.exa

Bart

global_bart

d_bart_xxx_0005a44.exa

d_bart_xxx_0005a45.exa

d_bart_xxx_0005a46.exa

d_bart_xxx_0005a47.exa

Lisa

global_lisa

d_lisa_xxx_0005a5c.exa

d_lisa_xxx_0005a5d.exa

d_lisa_xxx_0005a5e.exa

d_lisa_xxx_0005a5f.exa

d_lisa_xxx_0005a60.exa

Marge

global_marg

d_marg_xxx_0005a78.exa

d_marg_xxx_0005a79.exa

d_marg_xxx_0005a7a.exa

d_marg_xxx_0005a7b.exa

d_marg_xxx_0005a7cexa

from_buddypc_waiting_4u

This chatter type was likely meant to play when your buddy character is waiting in an area they couldn’t reach or proceed past.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0005a30.exa

d_homr_xxx_0005a31.exa

d_homr_xxx_0005a32.exa

d_homr_xxx_0005a33.exa

d_homr_xxx_0005a34.exa

Bart

global_bart

d_bart_xxx_0005a48.exa

d_bart_xxx_0005a49.exa

d_bart_xxx_0005a4a.exa

d_bart_xxx_0005a4b.exa

d_bart_xxx_0005a4c.exa

Lisa

global_lisa

d_lisa_xxx_0005a61.exa

d_lisa_xxx_0005a62.exa

d_lisa_xxx_0005a63.exa

d_lisa_xxx_0005a64.exa

d_lisa_xxx_0005a65.exa

Marge

global_marg

d_marg_xxx_0005a78.exa

d_marg_xxx_0005a79.exa

d_marg_xxx_0005a7a.exa

d_marg_xxx_0005a7b.exa

d_marg_xxx_0005a7cexa

react_eatfood_apple

This chatter type was intended to trigger whenever Homer ate an apple food pickup. However, since there are no existing apple models or assigned objects linked to this type, the lines go unused in the final game. Interestingly, the Old-Gen prototype contains an apple pickup which uses this chatter type in the episode Five Characters in Search of an Author.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c61.exa

react_eatfood_burrito

This chatter type was intended to trigger whenever Homer ate a burrito food pickup. However, since there are no existing burrito models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c61.exa

react_eatfood_chocochunk

This chatter type was intended to trigger whenever Homer ate a chocolate chunk food pickup. However, since there are no existing chocolate chunk models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c78.exa

d_homr_xxx_0003c79.exa

react_eatfood_chocrabbit

This chatter type was intended to trigger when Homer ate a chocolate rabbit food pickup. While the chocolate rabbits can be eaten in the episode “The Land of Chocolate,” the game instead uses the standard “react_eatfood” chatter type for Homer in that level. This suggests that the chocolate rabbit pickup was originally intended to appear in other episodes or locations.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c7a.exa

react_eatfood_cinnabun

This chatter type was intended to trigger whenever Homer ate a cinnamon bun. However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c6e.exa

react_eatfood_colorcandychunk

This chatter type was intended to trigger whenever Homer ate a lollypop chunk. While the lollypops can be eaten in the episode “The Land of Chocolate,” the game instead uses the standard “react_eatfood” chatter type for Homer in that level. This suggests that the lollypops was originally intended to appear in other episodes or locations.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c76.exa

react_eatfood_corndog

This chatter type was intended to trigger whenever Homer ate a corndog. However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c6d.exa

react_eatfood_cupcake

This chatter type was intended to trigger whenever Homer ate a cupcake. However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c65.exa

react_eatfood_icedcherries

This chatter type was intended to trigger whenever Homer ate iced cherries. However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c75.exa

react_eatfood_hamjar

This chatter type was intended to trigger whenever Homer ate Ham Ahoy (from the episode King-Size Homer). However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c69.exa

react_eatfood_meatball

This chatter type was intended to trigger whenever Homer ate a meatball. There is a model for a meatball food pickup but it goes unused, making this chatter type also unused.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c54.exa

d_homr_xxx_0003c55.exa

react_eatfood_pepperoni

This chatter type was intended to trigger whenever Homer ate pepperoni. However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c6c.exa

react_eatfood_sandwich

This chatter type was intended to trigger whenever Homer ate a sandwich. However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c66.exa

react_eatfood_unclejim

This chatter type was intended to trigger whenever Homer ate Uncle Jim's Country Fillin' (from the episode King-Size Homer). However, since there are no existing models or assigned objects linked to this type, the lines go unused in the final game.

Character

Chatter Bank

Voicelines

Homer

global_homr

d_homr_xxx_0003c69.exa

Springfield#

conv3_ext_act2_04

This chatter type was intended to trigger as the 4th voiceline between a conversation between 2 aliens near the springfield elemntary school. For some reason, the conversation is bugged and immediately skips to the last voiceline.

Character

Chatter Bank

Voicelines

Alien 2

eps_spr_as02

d_as02_xxx_00065f9.exa

conv5_ext_act1_01

This chatter type was intended to trigger as the 1st voiceline between an unused conversation between Principal Skinner and Superintendent Chalmers during the first act of the game. Currently, it's unknown where this conversation would be located.

Character

Chatter Bank

Voicelines

Chalmers

eps_spr_chal

d_chal_xxx_000645e.exa

conv5_ext_act1_02

This chatter type was intended to trigger as the 2nd voiceline between an unused conversation between Principal Skinner and Superintendent Chalmers during the first act of the game. Currently, it's unknown where this conversation would be located.

Character

Chatter Bank

Voicelines

Skinner

eps_spr_skin

d_skin_xxx_0006461.exa

conv5_ext_act1_03

This chatter type was intended to trigger as the 3rd voiceline between an unused conversation between Principal Skinner and Superintendent Chalmers during the first act of the game. Currently, it's unknown where this conversation would be located.

Character

Chatter Bank

Voicelines

Chalmers

eps_spr_chal

d_chal_xxx_000645f.exa

conv5_ext_act1_04

This chatter type was intended to trigger as the 4th voiceline between an unused conversation between Principal Skinner and Superintendent Chalmers during the first act of the game. Currently, it's unknown where this conversation would be located.

Character

Chatter Bank

Voicelines

Skinner

eps_spr_skin

d_skin_xxx_0006462.exa

conv5_ext_act1_05

This chatter type was intended to trigger as the 5th voiceline between an unused conversation between Principal Skinner and Superintendent Chalmers during the first act of the game. Currently, it's unknown where this conversation would be located.

Character

Chatter Bank

Voicelines

Chalmers

eps_spr_chal

d_chal_xxx_0006460.exa

conv5_ext_act1_06

This chatter type was intended to trigger as the 6th voiceline between an unused conversation between Principal Skinner and Superintendent Chalmers during the first act of the game. Currently, it's unknown where this conversation would be located.

Character

Chatter Bank

Voicelines

Skinner

eps_spr_skin

d_skin_xxx_0006463.exa

episode_trig_dod

This chatter type was intended to trigger whenever the player would be near the entrance to the episode "The Day of the Dolphin" in Springfield.

Character

Chatter Bank

Voicelines

Bart

eps_spr_bart

d_bart_xxx_0004b6d.exa

Lisa

eps_spr_lisa

d_lisa_xxx_0004ba7.exa

episode_trig_dss

This chatter type was intended to trigger whenever the player would be near the entrance to the episode "The Day of the Dolphin" in Springfield.

Character

Chatter Bank

Voicelines

Bart

eps_spr_bart

d_bart_xxx_0003b51.exa

d_bart_xxx_0003b52.exa

Bartman Begins#

defeat

This chatter type was likely intended to trigger when you defeat Jimbo inside the Plantarium.

Character

Chatter Bank

Voicelines

Jimbo

eps_brt_jmbo

d_jmbo_xxx_0006534.exa

dinoroom_help_ammo

This chatter type was likely intended to trigger when the player would use Bart's slingshot to try to shoot the target above Dolph. This chatter type is a leftover from a cut mechanic where the ammo Bart collects throughout the episodes would have better damage and range.

Character

Chatter Bank

Voicelines

Bart

eps_brt_bart

d_bart_xxx_0000860.exa

d_bart_xxx_0000861.exa

dinoroom_help_doorslocked

This chatter type was likely intended to trigger when the player would try to go through the locked doors within the Dinosaur exhibit.

Character

Chatter Bank

Voicelines

Bart

eps_brt_bart

d_bart_xxx_000085e.exa

d_bart_xxx_000085f.exa

dinoroom_volcanotramp

This chatter type was likely intended to trigger when the player uses the updraft from the volcano in the Dinosaur exhibit. Judging by the name and voicelines, it seems that originally the volcano would be a trampoline instead of an updraft coming from the volcano.

Character

Chatter Bank

Voicelines

Bart

eps_brt_bart

d_bart_xxx_0000866.exa

d_bart_xxx_0000867.exa

Homer

eps_brt_homr

d_homr_xxx_00008c0.exa

d_homr_xxx_00008c1.exa

d_homr_xxx_00008c2.exa

diorama_start

This chatter type was likely intended to trigger when the player enters the History of Man exhibit.

Character

Chatter Bank

Voicelines

Kearney

eps_brt_krny

d_krny_xxx_00008dc.exa

d_krny_xxx_00008dd.exa

d_krny_xxx_00008de.exa

pc_above

This chatter type was likely intended to trigger when the player would be on top of the displays within the museum exhibits.

Character

Chatter Bank

Voicelines

Museum Guard Sideshow Mel

eps_brt_mgsm

d_mgsm_xxx_0000913.exa

d_mgsm_xxx_0000914.exa

d_mgsm_xxx_0000915.exa

d_mgsm_xxx_0000916.exa

Museum Guard Wiseguy

eps_brt_mgwg

d_mgwg_xxx_00015b4.exa

d_mgwg_xxx_00015b5.exa

d_mgwg_xxx_00015b6.exa

d_mgwg_xxx_00015b7.exa

d_mgwg_xxx_00015b8.exa

d_mgwg_xxx_00008fe.exa

d_mgwg_xxx_00008ff.exa

taunt_retort_manual_jimbo_02

This chatter type was likely intended to trigger after Jimbo taunts Bart and Homer from inside the UFO.

Character

Chatter Bank

Voicelines

Homer

eps_brt_homr

d_homr_xxx_00008c8.exa

d_homr_xxx_00008c9.exa

welcome_02

This chatter type was likely intended to trigger as the second voiceline for the introduction to the History of Man Exhibit. Due to all the voicelines for the introduction being put into one single audio file (d_mvma_xxx_0000917) instead of being separate, this chatter type goes unused.

Character

Chatter Bank

Voicelines

Museum Voice Female

eps_brt_mvfe

d_mvfe_xxx_000091c.exa

welcome_03

This chatter type was likely intended to trigger as the third voiceline for the introduction to the History of Man Exhibit. Due to all the voicelines for the introduction being put into one single audio file (d_mvma_xxx_0000917) instead of being separate, this chatter type goes unused.

Character

Chatter Bank

Voicelines

Museum Voice Male

eps_brt_mvma

d_mvma_xxx_0000918.exa

Invasion of the Yokel-Snatchers#

surprise_attack

This chatter type was likely intended to trigger as a hint from the aliens in the Springfield Mall on where they were going to spawn in.

Character

Chatter Bank

Voicelines

Alien 1

eps_sss_as01

d_as01_xxx_00067db.exa

d_as01_xxx_00067dc.exa

d_as01_xxx_00067dd.exa

Alien 2

eps_sss_as02

d_as02_xxx_00067de.exa

d_as02_xxx_00067df.exa

d_as02_xxx_00067e0.exa

in_beam

This chatter type was likely intended to trigger when the player goes into the space beam after defeating the aliens in the space-invaders section.

Character

Chatter Bank

Voicelines

Bart

eps_sss_bart

d_bart_xxx_0003b75.exa

Homer

eps_sss_homr

d_homr_xxx_0003b3e.exa

Game Over#

starbucks_success

This chatter type was likely intended to trigger when the Skybucks building is finished. This is a leftover from an early version of the episode as Lisa was originally going to build Skybucks using the Hand of Buddha.

Character

Chatter Bank

Voicelines

Lisa

eps_mtp_lisa

d_lisa_xxx_0006374.exa

defeated

This chatter type was likely intended to trigger when the player defeats the mini-bosses.

Character

Chatter Bank

Voicelines

Poochie

eps_gts_poch

d_poch_xxx_0006574.exa

Ben Franklin

eps_mtp_benf

d_benf_xxx_00063b5.exa

Shakespeare

eps_mtp_shak

d_shak_xxx_00063a4.exa

Regional Differences#

Some lines of dialogue are not dubbed in other languages, and instead just have a 0.1 second worth of silence. Some quotes, such as Mayor Quimby asking for his bribe, are meant to be reused in Springfield from an existing cutscene. Quimby's other quotes also appear to have multiple existing copies. Other quotes, like Homer saying how he feels after turning into Helium Homer, also appear to be duplicates.

String ID

String Label

Sound

De

Es

Fr

It

Subtitle

780FEF70

drom_xxx_000092c

Yes

No

No

Yes

For feudalism!!!!!

A6341421

jany_xxx_0000e22

No

No

No

No

We want violence! We want violence! We want violence!

A6341422

jany_xxx_0000e23

No

No

No

No

No supervision! No supervision!

A6341423

jany_xxx_0000e24

No

No

No

No

Not the boss of us! Not the boss of us!

A6341424

jany_xxx_0000e25

No

No

No

No

What do we want? Violence! When do we want it? Now! What do we want? Violence! When do we want it? Now!

A6341425

jany_xxx_0000e26

No

No

No

No

V for violence! "V" for violence! "V" for violence!

A6341426

jany_xxx_0000e27

No

No

No

No

Anarchy always! Naps never! Anarchy always! Naps never!

A6341427

jany_xxx_0000e28

No

No

No

No

All we are saying, is give vice a chance! All we are saying, is give vice a chance!

A6341428

jany_xxx_0000e29

No

No

No

No

A sick mind is a terrible thing to waste! A sick mind is a terrible thing to waste!

2524FF24

spav_xxx_000638c

No

Yes

Yes

Yes

God's Choice massage oils available for sale in gift shop.

382186C1

askn_xxx_0006635

Yes

No

Yes

Yes

'Cause you're a professional criminal!

A3EC5358

mayr_xxx_0006843

No

No

No

No

So I'm ready to receive my bribe now.

A3EC535C

mayr_xxx_0006847

No

No

No

No

So, I'm ready to receive my bribe now.

A3EC535D

mayr_xxx_0006848

No

Yes

Yes

Yes

Can I count on your vote?!

A3EC535E

mayr_xxx_0006849

No

Yes

Yes

Yes

Mistakes were not made.

A3EC5386

mayr_xxx_000684a

No

Yes

Yes

Yes

Did I ever tell you I was almost a contestant on Project Runway?

ECA0D928

homr_xxx_000685e

No

Yes

No

No

Wow! I feel slightly lighter than air!

Revisional Differences#

Enter the Cheatrix Time Challenge#

The bridge in the blood room is damaged in the Xbox 360 version, but remains fully intact in the PlayStation 3 release.

PlayStation 3

Xbox 360

Bonus Movies#

The European PlayStation 3 releases have an additional Bonus Movies sub-menu, which has two somewhat generic videos available. Bonus Movie 1 contains the "Rock You Like a Hurricane" trailer with music from "Five Characters In Search of an Author" while Bonus Movie 2 contains the "NeverQuest" and "Medal of Homer" parody trailers with music from "NeverQuest". This was originally meant to contain the cut Making-of movie for this game.

PlayStation 3 (Europe)

PlayStation 3 (Rest of the World), Xbox 360

Texture Resolution#

To do:
Some "generic" textures shared across many archives also have differing resolutions. Not to mention some others look quite different due to using other alpha masking types.

A couple textures have more visible compression artifacts in one version than the other, which isn't that noteworthy, however there are also several textures that are higher resolution, mostly in the PS3 version.

Bartman Begins#

PlayStation 3

Xbox 360

brt\zone02.str\brt_entrytunnel_brck

brt\zone02.str\brt_grybrck

brt\zone01.str\brt_grybrck

brt\zone02.str\brt_templecroft

brt\zone01.str\brt_wallcrack1

brt\zone01.str\brt_wallcrack2

brt\zone01.str\stoneblock

Mob Rules#

This texture exists in Bartman Begins, here, and in Springfield. In Bartman Begins, the texture is identical on both platforms (both using the higher quality variant seen in the PS3 column.) Springfield's texture is the same as this one's.

PlayStation 3

Xbox 360

mob_rules\zone03.str\spr_museum02

Shadow of the Colossal Donut#

PlayStation 3

Xbox 360

colossadonut\zone02.str\spr_museum05

Game Engine#

The Five Characters in Search of an Author equivalent of this texture (rhymes\zone01.str\rwc_goldcoinramp2) is high resolution on both platforms.

PlayStation 3

Xbox 360

gamehub\zone01.str\gam_goldcoinramp2

Springfield#

The cliff texture has two different (yet almost identical) variants, the first one is lower resolution on PS3, but the 2nd one is identical on both platforms

PlayStation 3

Xbox 360

spr_hub\zone*.str\cliff

spr_hub\zone21.str\pol_floor1

References#


  1. MobyGames↩︎