Unused Graphics#

Selecting the 30th cutscene in the debug menu reveals an early version of the Protobot 3000 cutscene, which unlike the final, isn't animated. There is text at the bottom left, most likely reading 'FPO', which is an abbreviation of "for placement only".
Unused Sprites#
|
|
To do: |
Early Designs for Dot#
Unused sprites of what are presumed to be early designs for Dot.
Unused Rooms#
|
|
To do: |
There is an unused room in the game with ID 00. It resembles the map screen, but has large orange crosses where the locations are supposed to be.
You can access this room with an Action Replay code to edit the destination room during a transition. You will need to find the address in RAM for the destination room, as this address changes location. Search for E8 addresses while standing in a room, then go to the snow forts and search for addresses with 28 before the transition circle closes all the way (pausing using an emulator is recommended.) Keep doing this with different room IDs according to the table below, and you will find the transition destination address.
During a transition, before the circle closes, set the address to the room you want to go to. Before the circle fully opens again at the destination, set the address to E8 to prevent a softlock. Finally, when you have arrived, turn off the code.
ID |
Room |
|---|---|
00 |
Weird map screen |
01 |
Ski lodge attic |
02 |
Beach |
03 |
Beacon |
04 |
Boiler room |
05 |
Book room |
06 |
Wilderness cave |
07 |
Coffee shop |
08 |
Command room (softlock if not unlocked) |
09 |
Dock |
0A |
Dojo |
0B |
Ice fishing pond |
0C |
Forest |
0D |
Gadget room (softlock if not unlocked) |
0E |
Gadget room (Mission 13) |
0F |
Gary's room |
10 |
Gift Shop |
11 |
Gift Shop office |
12 |
Gift Shop roof |
13 |
HQ (softlock if not unlocked) |
14 |
Iceberg |
15 |
Ice rink |
16 |
Lighthouse |
17 |
Ski lodge |
18 |
Dance lounge |
19 |
Mine shack |
1A |
Mine cave |
1B |
Cave where Gary was trapped |
1C |
Protobot lair |
1D |
Softlock |
1E |
Tool shed |
1F |
Night club |
20 |
Pet shop |
21 |
Pizza parlor |
22 |
Plaza |
23 |
Cave |
24 |
Puffle training room (softlock if not unlocked) |
25 |
Ski hill |
26 |
Ski village |
27 |
Softlock |
28 |
Snow forts |
29 |
Sport shop |
2A |
Stage |
2B |
Stage (Mission 13) |
2C |
Softlock |
2D |
Tallest Mountain (Mission 13) |
2E |
Tallest Mountain (Mission 13) (Empty, unused) |
2F |
Town |
30 |
Wilderness next to cliff |
31 |
Wilderness next to fallen log |
32 |
Wilderness river-stump-cliff room |
33 |
Wilderness tree stump |
34 |
Wilderness river |
35 |
Wilderness outside cave |
Unused Music#
|
|
To do: |
There is a seemingly unused track in the game, with ID 01. The track sounds very similar to the Command Room music, so it could be an early version.
It can be accessed in-game with the following code:
0227988C 000000??
Replace ?? with one of these IDs:
ID |
Music |
|---|---|
00 |
Main theme |
01 |
Unused? |
02 |
Command room |
03 |
Coffee shop |
04 |
Ski village |
05 |
HQ |
06 |
Town |
07 |
Gift Shop |
08 |
Ski lodge |
09 |
Pizza Parlor |
0A |
Coffee Shop |
0B |
An Agent's Work is Never Done |
0C |
Cart Surfer |
0D |
Ice fishing |
0E |
Gadget room |
0F |
Night club |
10 |
Dojo |
11 |
Boiler room |
12 |
Menu |
13 |
Stage |
14 |
Beach |
15 |
Mine shack |
16 |
Mine caves |
17 |
Jet Pack Adventure |
18 |
Snowboarding |
19 |
Snow trekker |
1A |
Mission complete |
Unused Cutscene#
|
|
To do: |
A test background for the snowboarding minigame.
Debug Menu#
There is a debug menu still present in the game's code. It allows you to modify the player's coins, activate minigames and missions, and view cutscenes.
It can be accessed with the following Action Replay code (EU)ː
1210AD2C 00002024
Once the debug menu has been accessed, the second half of the code must be changed to 00006800, or you will not be able to do anything.
This menu has a button to access it in the prototype of the game.
Build Dates#
Each of the game's releases have a version label and build date that are loaded in memory. The numbers in the "T" segment are Unix timestamps.
Version |
Offset |
String |
Timestamp |
|---|---|---|---|
US Rev0 |
0x1B08F4 |
|
Oct 07 2008 23:43:04 |
EU |
0x1ABFA0 |
|
Jan 16 2009 23:30:33 |
FR |
0x1B20B4 |
|
Mar 17 2009 00:46:53 |
US Rev1 |
0x1B21F4 |
|
Mar 20 2009 16:10:00 |
US Rev2 |
0x1ADBC4 |
|
Jun 23 2010 03:39:55 |
SP |
0x1ADBA4 |
|
Jul 20 2010 15:56:45 |
GE |
0x1A04B4 |
|
Nov 01 2011 23:36:00 |
DGamer.xml#
Inside the /dgamer/ folder is a XML file named DGamer.xml. The file itself contains general settings for DGamer on the DS, but it also has a few dev comments in it.
<dgamer gamename="Club Penguin" cmsid="136103" ggid="0x00400583" platform="DGamerDS" version="2008.09.05.11.27.16" embededSRL="true">
- The build date of the Client.
<!-- Default items are like game unlockables, but backend only, so category DGamer. I'm carving out
slots for them in the DGamer_Data array to avoid confusion, but they don't actually need them. -->
<!-- <unlockable category="DGamer" id="161460" dgamerid="46848" /> --> <!-- Club Penguin T-shirt -->
<!-- <unlockable category="DGamer" id="161465" dgamerid="46849" /> --> <!-- Spy Costume -->
<!-- <unlockable category="DGamer" id="161466" dgamerid="46851" /> --> <!-- Club Penguin Puffle T-shirt -->
- This one, which is in
, has some outfits that were commented out.
<!-- Enter up to eight (8) Wireless (adhoc) chat stages/lobbies that will be listed to player -->
<!-- They will be listed on the client according to the order attribute (A-Z = top-bottom) -->
<stages>
<stage name="Bronze Room" order="A" />
<stage name="Gold Room" order="B" />
<stage name="Green Room" order="C" />
<stage name="Orange Room" order="D" />
<stage name="Pink Room" order="E" />
<stage name="Purple Room" order="F" />
<stage name="Silver Room" order="G" />
<stage name="Yellow Room" order="H" />
</stages>
- This has something to do with the chat lobbies.
<events>
<event id="136103" gameid="0" source="GAME" type="dgamer_ClubPenguin_ElitePenguinForceTrainee 0 0 0 dgamer" />
<event id="136103" gameid="1" source="GAME" type="dgamer_ClubPenguin_ElitePenguinForceRank1 0 0 0 dgamer" />
<!-- The following event was improperly created on the backend, however, it's easier to break it here as well, rather than fix the backend -->
<event id="136103" gameid="2" source="GAME" type="dgamer_ClubPenguin_unlockElitePenguinForceRank2 0 0 0 dgamer" />
<event id="136103" gameid="3" source="GAME" type="dgamer_ClubPenguin_ElitePenguinForceRank3 0 0 0 dgamer" />
<event id="136103" gameid="4" source="GAME" type="dgamer_ClubPenguin_ElitePenguinForceRank4 0 0 0 dgamer" />
<event id="136103" gameid="5" source="GAME" type="dgamer_ClubPenguin_ElitePenguinForceRank5 0 0 0 dgamer" />
<event id="136103" gameid="6" source="GAME" type="dgamer_ClubPenguin_RegisteredDGamer 0 0 0 dgamer" autofire="true" />
<event id="136103" gameid="7" source="GAME" type="dgamer_ClubPenguin_unlockClubPenguinTShirt 0 0 0 dgamer" autofire="true" />
<event id="136103" gameid="8" source="GAME" type="dgamer_ClubPenguin_unlockSpyCostume 0 0 0 dgamer" />
<event id="136103" gameid="9" source="GAME" type="dgamer_ClubPenguin_unlockClubPenguinPuffleTShirt 0 0 0 dgamer" />
<!-- The following event was also improperly created on the backend, now broken here to match -->
<event id="136103" gameid="10" source="GAME" type="dgamer_ClubPenguin_unlockSpyglasses 0 0 0 dgamer" />
<event id="136103" gameid="11" source="GAME" type="dgamer_ClubPenguin_unlockBluePuffleTShirt 0 0 0 dgamer" />
<event id="136103" gameid="12" source="GAME" type="dgamer_ClubPenguin_unlockEPFBaseballCap 0 0 0 dgamer" />
<event id="136103" gameid="13" source="GAME" type="dgamer_ClubPenguin_unlockRedPuffleTShirt 0 0 0 dgamer" />
<event id="136103" gameid="14" source="GAME" type="dgamer_ClubPenguin_unlockYellowPuffleTShirt 0 0 0 dgamer" />
<event id="136103" gameid="15" source="GAME" type="dgamer_ClubPenguin_unlockEPFTShirt 0 0 0 dgamer" />
<event id="136103" gameid="16" source="GAME" type="dgamer_ClubPenguin_unlockToque 0 0 0 dgamer" />
<event id="136103" gameid="17" source="GAME" type="dgamer_ClubPenguin_unlockPuffleTShirt 0 0 0 dgamer" />
<event id="136103" gameid="18" source="GAME" type="dgamer_ClubPenguin_unlockBlackPuffleTShirt 0 0 0 dgamer" />
<event id="136103" gameid="19" source="GAME" type="dgamer_ClubPenguin_unlockPurplePuffleTShirt 0 0 0 dgamer" />
<event id="136103" gameid="20" source="GAME" type="dgamer_ClubPenguin_unlockAstroBlasterTShirt 0 0 0 dgamer" />
<event id="136103" gameid="21" source="GAME" type="dgamer_ClubPenguin_unlockSpyPod 0 0 0 dgamer" />
</events>
- Game specific events for DGamer.
<!-- DGamer DS dynamic configuration, for Club Penguin DS -->
- Seen at the beginning of the XML, this probably means that the DGamer client was made during early development.
<!-- DGamer specific unlockables, note that these shouldn't be fired if id (e.g. 117358) already exists in the backpack -->
<unlockable category="StarterSet" starterSetID="0" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetA0 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="0" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetA1 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="0" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetA2 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="0" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetA3 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="1" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetB0 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="1" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetB1 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="1" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetB2 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="1" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetB3 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="2" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetC0 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="2" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetC1 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="2" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetC2 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="2" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetC3 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="3" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetD0 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="3" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetD1 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="3" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetD2 0 0 0 dgamer"/>
<unlockable category="StarterSet" starterSetID="3" id="117358" eventid="116060" source="GAME" type="dgamer_dgamer_registerSetD3 0 0 0 dgamer"/>
- DGamer Specific Unlockables.
Revisional Changes#
Besides the original release, this game has 2 revisions, and was released across many different regions.
Title Screen#
Probably the biggest change is the removal of DGamer in the European release and the microphone option being added from the first revision onwards.
USA v1.0 |
Europe |
France |
USA v1.1 |
|---|---|---|---|
"Licensed by Nintendo"#
Another visual change is the "Licensed by Nintendo" screen, changing each revision.
USA v1.0 |
Europe |
USA v1.1 |
|---|---|---|
|
The Club Penguin series | |
|---|---|
|
Adobe Flash |
|
|
iOS |
|
|
Android |
|
|
Nintendo DS |
Elite Penguin Force (Prototype) • Elite Penguin Force - Herbert's Revenge (Prototypes) |
|
Wii |
|
|
Unity Web Player |
|
|
Windows, Mac OS X |
|