We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Pac-Man World 2 (PlayStation 2, GameCube, Xbox, Windows)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Pac-Man World 2

Developer: Namco
Publishers: Namco (INT), SCEE (PS2 EU), Hip Games (PC)
Platforms: PlayStation 2, GameCube, Xbox, Windows
Released in JP: July 25, 2002 (PS2)
Released in US: February 24, 2002 (PS2), March 19, 2002 (GC), October 15, 2002 (Xbox), May 25, 2004 (PC)
Released in EU: May 3, 2002 (GC), February 28, 2003 (PS2), March 21, 2004 (PC)


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
DebugIcon.png This game has debugging material.
SoundtestIcon.png This game has a hidden sound test.
LevelSelectIcon.png This game has a hidden level select.
Carts.png This game has revisional differences.


Hmmm...
To do:
  • PC version has a ton of error logs and development text.
  • Check the level select menu for unused levels.

Pac-Man in THREE-DEE yet again. Hell yeah.

Debug Features

Applying the below code will re-enable debug functionality. These will enable several debug menus. The code below is for the PlayStation 2 US (Greatest Hits) version of the game.

Re-enable Debug Menus
E003FFED 005E4FC2
205A8960 00000001
201FA160 00000000
101FA170 0000E8B6
E003FF7D 005E4FC2
205A8960 00000001
201FA160 00000000
101FA170 0000EBBE
E003FFDD 005E4FC2
205A8960 00000001
201FA160 00000000
101FA170 0000E862
E00AFFBD 005E4FC2
205A8960 00000001
202992D4 0C0A1A94
20286A50 27BDFFF8
20286A54 FFBF0000
20286A58 3C04003E
20286A5C 0C0557B6
20286A60 2484A4E8
20286A64 DFBF0000
20286A68 03E00008
20286A6C 27BD0008
E006F7FD 005E4FC2
205A8960 00000001
202992D4 0C05585A
20156178 0C0B434C
202D0D30 3C1E003E
202D0D34 03E00008
202D0D38 27DEA4E8
E004FFFB 005E4FC2
205A8960 00000000
202992D4 0C09B170
201FA160 06000006
201FA170 0807E7DE

Re-enable Debug Arcade Unlock Buttons
20286A24 00000000
20286A2C 27BDFFF8
20286A30 FFBF0000
20286A34 0C0429FE
20286A38 00000000
20286A3C 0C042E24
20286A40 00000000
20286A44 DFBF0000
20286A48 03E00008
20286A4C 27BD0008

Enable Level Select (choose New Game)
2016299C 2404000?

Replace ? with:
3 = regular level select
5 = old level select

With the codes on, while in game press the following to enable debug menus:

  • L3 + D-Pad Up for Sound Test.
  • L3 + D-Pad Left for Camera Display.
  • L3 + D-Pad Right for Music Test.
  • L3 + D-Pad Down for Fog Editor.
  • L3 + R1 for Lighting Editor.
  • R3 to disable all menus.
  • The level select menus will appear when starting a new game.
  • Refer to the Debug Arcade Unlock section for information on the code, Re-enable Debug Arcade Unlock Buttons.
(Source: Punk7890)

Fog Editor

Pac-Man World 2 (PlayStation 2)-debugmenu4.png

This allows you to change fog settings. Use the D-Pad to change values. No text renders on-screen anymore.

Lighting Editor

Pac-Man World 2 (PlayStation 2)-debugmenu5.png

Like the fog editor, this allows you to change light settings. Use the D-Pad to change values. No text renders on-screen anymore.

Sound Test

Pac-Man World 2 (PlayStation 2)-debugmenu1.png

This allows you to change, view info and listen to sound effects loaded in the map.

Camera Display

Pac-Man World 2 (PlayStation 2)-debugmenu2.png

This enables you to view the current camera settings.

Music Test

Pac-Man World 2 (PlayStation 2)-debugmenu3.png

This would have allowed you to change music, but it doesn't appear to work.

Level Select

Pac-Man World 2 (PlayStation 2)-debugmenu6.png Pac-Man World 2 (PlayStation 2)-debugmenu7.png

This enables a level select menu when starting a new game. The Testing Stuff category has no working levels anymore. It also contains various developer names as seen below.

Old Level Select

Pac-Man World 2 (PlayStation 2)-debugmenu13.png

Nothing works here anymore and is likely a very old menu.

Debug Arcade Unlock

This code re-enables two debug button sequences to unlock arcade games. Pressing either L2, R2, L2, R2 will unlock one arcade game at any time during game or, pressing L2, R2, L2, R2, L3 will unlock the rest of the arcade games.

Unused Langauge Options

Pac-Man World 2 (PlayStation 2)-unusedLangauge1.png Pac-Man World 2 (PlayStation 2)-unusedLangauge2.png

Present in the PlayStation 2 US (Greatest Hits) version of the game is a unused langauge option to set the displayed langauge as English or Japanese.

Change Brightness Settings to Unused Language Setting
201FB168 0807EC26
201FB16C 00000000
(Source: Punk7890)

Development Logs

Some of the level files have logs from a tool used to compile collisions.

Download.png Download Pac-Man World 2 (PS2) FeedBack
File: PacmanPS2-FeedBack.zip (Compressed: 18.5KB; Uncompressed: 68.5KB) (info)

Uncompiled Level

The archive arcadeint.rar contains an uncompiled map file.

Download.png Download Pac-Man World 2 (PS2) Uncompiled Arcade Level
File: PacManPS2-UncompiledLevel.zip (Compressed: 133KB) (info)

Pointless Batch Script

The GameCube version contains a file called two.bat in the netdata/music folder. This batch file performs the following for all files passed in as arguments:

1. It renames the file to "foo", or moves it to a "foo" folder if one exists
2. It copies the contents of the file that was just renamed or moved back into its original location with its original name, but it appends a second copy of the file
3. It deletes the contents of the "foo" file or folder

This should cause all files passed to this batch file to be effectively "doubled".

@echo off
for %%i in ( %* ) do (
	move %%i foo
	copy /b foo+foo %%i
	del foo
)

Raw Maze Script File

The netdata/maze5b folder in the GameCube version contains a file called script.txt, which looks to be a raw script file for one of the mazes. The script oddly refers to it as maze 5a, and the last line of the file consists of unprintable characters.

;==================================================================
;======================+++++++++++++===============================
;====================== M A Z E # 5a ===============================
;======================+++++++++++++===============================

msg_init action_makeEcho(ECHO_STUDIO_B,0,0,20,40)
msg_init action_SoundPlay(SND_AMB_WAVES)
;msg_init action_SoundPlay(SND_AMB_WATERFALL_MAZE)
msg_init action_makeRandomSounds (1, 2, SND_AMB_WATERDRIP_DRY1, SND_AMB_WATERDRIP_DRY2, SND_AMB_WATERDRIP_DRY3)

maze = msg_init action_makeBoxMaze(maze_bnd,23,18,start_pnt,MAZE_LEFT) ; Init of Maze

;++++++++++++++++++++++++ Fruit ++++++++++++++++++++++++++++
msg_init action_awardMazeFruit(MELON, 30, 1000, 10.0)
msg_init action_awardMazeFruit(MELON, 70, 1000, 7.5)

;++++++++++++++++++++++++Power Pellets++++++++++++++++++++++++++++
msg_init action_setMazeDot(power1_pnt,MAZE_POWER_PELLET,maze) ; Put PowerPellet
msg_init action_setMazeDot(power2_pnt,MAZE_POWER_PELLET,maze)
msg_init action_setMazeDot(power3_pnt,MAZE_POWER_PELLET,maze)
msg_init action_setMazeDot(power4_pnt,MAZE_POWER_PELLET,maze)
msg_init action_setMazeDot(power5_pnt,MAZE_POWER_PELLET,maze)

msg_init action_setMazeDot(nodot1_pnt,MAZE_NONE,maze)
msg_init action_setMazeDot(nodot2_pnt,MAZE_NONE,maze)
msg_init action_setMazeDot(nodot3_pnt,MAZE_NONE,maze)
msg_init action_setMazeDot(nodot4_pnt,MAZE_NONE,maze)
msg_init action_setMazeDot(nodot5_pnt,MAZE_NONE,maze)
msg_init action_setMazeDot(nodot6_pnt,MAZE_NONE,maze)
msg_init action_setMazeDot(nodot7_pnt,MAZE_NONE,maze)


msg_init action_setMazePathSecurityLevel(nogodown1_pnt,MAZE_DOWN,ONLY_EYES,maze) 
msg_init action_setMazePathSecurityLevel(nogodown2_pnt,MAZE_DOWN,ONLY_EYES,maze) 
msg_init action_setMazePathSecurityLevel(nogoup1_pnt,MAZE_UP,ONLY_EYES,maze) 


;++++++++++++++++++++++++++++++++GHOST+++++++++++++++++++++++++++++++++++++
msg_init action_putMazeDot(maze) ; Put Dots on Maze

clyde = msg_init action_makeMazeGhost(ghost1_pnt,4.0,ghost1_pnt,target2_pnt,left_pnt,PINKY,maze,self) ; Put ghosts
        msg_init action_makeMazeGhost(ghost2_pnt,2.0,ghost2_pnt,target3_pnt,left_pnt,INKY,maze,clyde)
        msg_init action_makeMazeGhost(ghost3_pnt,6.0,ghost3_pnt,target1_pnt,left_pnt,BLINKY,maze,self)
        msg_init action_makeMazeGhost(ghost4_pnt,0.0,ghost4_pnt,target4_pnt,left_pnt,CLYDE,maze,self)


msg_init action_CameraBox(Maze,maze_bnd,180)   ; Inits Camera for Maze

;-------------------- pool ----------------------- 

;***** Transparancy *****
msg_init action_changeVU1TransparencyMode(water1,TMODE_BRIGHTEN)
msg_init action_trueTransparency(water1, 1)
msg_init action_changeVU1TransparencyMode(water2,TMODE_BRIGHTEN)
msg_init action_trueTransparency(water2, 1)

;***** UV Anim *****
;msg_init action_makeUVAnim(water1,-0.2,-0.3)
;msg_init action_makeUVAnim(water2, 0.3,0.4)

;-----------========= FOG ==========-------------
msg_init action_setFog(71,105,97,600.0,900.0)
msg_init action_setUnderWaterFog(8,32,102,100.0,500.0)

;-------------------reflect-----------------

;***** Transparancy *****
msg_init action_changeVU1TransparencyMode(reflect1,TMODE_BRIGHTEN)
msg_init action_trueTransparency(reflect1, 1)

;***** UV Anim *****
;msg_init action_makeUVAnim(reflect1,0.1,0.2)

;+++++++++++++++++++++++Shark++++++++++++++++++++++++++++++++++++

msg_init action_makeShark(shark1_pnt,200,15)
msg_init action_makeShark(shark2_pnt,30,15)
msg_init action_makeShark(shark3_pnt,50,15)
msg_init action_makeShark(shark4_pnt,70,15)


;===================== Sewer Water Dumps========================
;***** Transparancy *****
msg_init action_changeVU1TransparencyMode(waterdump1,TMODE_BRIGHTEN)
msg_init action_trueTransparency(waterdump1, 1)
msg_init action_changeVU1TransparencyMode(waterdump2,TMODE_BRIGHTEN)
msg_init action_trueTransparency(waterdump2, 1)
msg_init action_changeVU1TransparencyMode(waterdump3,TMODE_BRIGHTEN)
msg_init action_trueTransparency(waterdump3, 1)
msg_init action_changeVU1TransparencyMode(waterdump4,TMODE_BRIGHTEN)
msg_init action_trueTransparency(waterdump4, 1)

;***** UV Anim *****
msg_init action_makeUVAnim(waterdump1,0.0,-1.9)
msg_init action_makeUVAnim(waterdump2,0.0,-1.0)
msg_init action_makeUVAnim(waterdump3,0.0,-1.0)
msg_init action_makeUVAnim(waterdump4,0.0,-1.9)

;========Mist===============

msg_init action_makeMistBox(mist1_bnd,150,25.0,.2,1.0,180,190,180,20)
msg_init action_makeMistBox(mist2_bnd,150,25.0,.2,1.0,180,190,180,20)

;============Drips================


temp = msg_init action_makeScriptableVU1(bigdrip1)

;temp2 = msg_init action_makeScriptableVU1(bigdrip2)

msg_init action_changeVU1TransparencyMode(drip1,TMODE_BRIGHTEN)
msg_init action_trueTransparency(drip1, 1)
msg_init action_changeVU1TransparencyMode(drip2,TMODE_BRIGHTEN)
msg_init action_trueTransparency(drip2, 1)
msg_init action_changeVU1TransparencyMode(bigdrip2,TMODE_BRIGHTEN)
msg_init action_trueTransparency(bigdrip2, 1)
msg_init action_changeVU1TransparencyMode(bigdrip1,TMODE_BRIGHTEN)
msg_init action_trueTransparency(bigdrip1, 1)

msg_init action_suspend(temp)
;msg_init action_suspend(temp2)

msg_init action_makeUVAnim(drip1,1.8,9.0)
msg_init action_makeUVAnim(drip2,1.3,0.0)
msg_init action_makeUVAnim(bigdrip1,1.7,0.0)
msg_init action_makeUVAnim(bigdrip2,1.55,0.0)
                      

Early Menu

Included with a group of other unused menu assets is what could potentially be a version of the main menu that was used during earlier stages of development. This is supported by the empty space on the right which could be where the different options were placed, and the sketch of a dock in the background similar to how Pac-Man is standing on a dock in the final title screen.

PMW2-EarlyMenu.png

Another unused menu asset is this early version of the logo. It is distinct from the logo seen in the early menu, being completely original instead of the logo from the first game with a two added on. It had been broken up into 4 128x128 pixel images, along with a version of the final logo that was in a similar state. This is what it looks like pieced back together.

Early Logo Final Logo
PMW2 EarlyLogo.png
PMW2 FinalLogo.png

Build Dates

A build date can be found in the game's executable file.

Hmmm...
To do:
Find dates for the GameCube Players' Choice edition, and the PAL versions
Version Hex Address Build Date
PlayStation 2 0x4A0DB8
Jan  3 2002 16:07:13
GameCube 0x1EC674
Jan 10 2002 13:42:26
PlayStation 2 (Greatest Hits) 0x4A0DB8
Mar  1 2002 11:58:05
PlayStation 2 (JP) 0x4A0DB8
Apr  1 2002 16:19:23
Xbox 0x1E5D0C
Aug  2 2002 19:15:57
Windows 0x29FB90
Mar 11 2004 16:55:22


(Source: Ferrox)

Revisional Differences

For whatever reason, all reissuings of PS2 and GCN releases of Pac-Man World 2 (Greatest Hits, etc.) reduced difficulty by a huge margin. The PC release, most likely due to its later release date, got the easier of the two (same for the European releases).

Elementary, my dear Cactus.
This needs some investigation.
Discuss ideas and findings on the talk page.
Specifically: The longest video documentation of the original release I've found so far goes through Treewood Forest, so later levels may have other changes not stated here yet. Also, screenshots would be nice.

Gameplay Differences

  • Ghosts kill in one hit in revision 0, regardless of Pac-Man's health, just like in the oldest Pac-Man games. This upped the difficulty just about everywhere, as well as making the Health Wedge in Pac-Village basically pointless (unless you somehow hurt yourself trying to kill the Pac-asites).
  • Score tallying animations don't play for level/global high scores in revision 0, leaving boss levels with no animations at all.

Level-Specific Differences

  • The sign in The Bear Basics that tells the player to Butt-Bounce on the nearby Pac-Cub incorrectly calls it a Pac-Bear in revision 0.
  • Blinky's Killer Frog, shortened to just Blinky's Frog in PS2 revision 1 to match its name in the HUD, swings its tongue far faster in the first phase in revision 0. The glow on its weak point in phase two, along with the dialogue giving away how to attack it, are missing as well.
  • B-Doing Woods is missing some nets in revision 0, most notably in the first field of B-Doings. The net in revision 1 makes the first cherry a joke.
  • Also in B-Doing Woods, some B-Doing directions were changed around for what would appear to be very little reason.
  • Ice River Run and Blade Mountain both have brief sequences where a Pac-Ranger gives tips about their respective stages. In revision 0, only the Ice River Run sequence exists.

Sound Differences

  • The GameCube version lacks any music or sound effects on the save data menu.
  • Pausing in the PS2, Xbox, and Windows versions will mute the music, whereas the music will continue to play in the GameCube version.
  • In the PS2 and GameCube versions, Pac-Village and the world map both use the same music track as the title screen. The Xbox and Windows versions changed this so that they instead use the same track as The Bear Basics. This also applies to the save data menu (with the aforementioned exception of the GameCube version).
  • During the Ice River Run Pac-Ranger sequence, the GameCube version uses a unique version of the track used in the ice stages. This track is not present in any PS2 version and was removed from the Xbox and Windows versions, all of which simply recycle the music from Ice River Run.
  • The Blade Mountain Pac-Ranger sequence lacks any music in the PS2 Greatest Hits and GameCube versions, whereas the Xbox and Windows versions use the track from the stage itself.
  • Exclusively in the ending cutscene of the GameCube version, Spooky's voice is noticeably deeper, slower, and more distorted compared to other versions.