We just reached 30,000 articles on this wiki! đŸ„ł
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Club Penguin: Elite Penguin Force: Herbert's Revenge

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Club Penguin: Elite Penguin Force: Herbert's Revenge

Developer: 1st Playable Productions
Publisher: Disney Interactive Studios
Platform: Nintendo DS
Released in US: May 25, 2010
Released in EU: June 26, 2010
Released in AU: July 7, 2010


AreasIcon.png This game has unused areas.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
MovieIcon.png This game has unused cinematics.
MusicIcon.png This game has unused music.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
RegionIcon.png This game has regional differences.
PiracyIcon.png This game has anti-piracy features.


PrereleaseIcon.png This game has a prerelease article

Club Penguin: Elite Penguin Force: Herbert's Revenge is the sequel to the original DS game, now with ported missions from the Adobe Flash game. Revive your times as a PSA Agent and stop the evil schemes from that no-good Herbert once again!

Hmmm...
To do:
Document the recently discovered unused/leftover sprites.

Sub-Page

Read about prerelease information and/or media for this game.
Prerelease Info

Unused Sprites

Hmmm...
To do:
There are way more unused sprites than this. We will need to make a sub-page if we want to add all of them.

Early Klutzy Disguise

In Mission 8, the player wears a crab costume in order to infiltrate Herbert's secret base. There are unused sprites for an earlier, much different version of the disguise.

The mythical DECOY CRAB. CPEPFHR-Klutzy icon down 1.png CPEPFHR-Klutzy icon up 1.png

Interestingly enough, this early version of the disguise is seen in early prerelease screenshots.

Unused Dialogue

In the final mission, Dot has some extra dialogue if you speak to her on the mountain at the beginning. However, since you get teleported away to the mine shack before you can interact with anything, you can never actually click on her to make her say it. Using an Action Replay code to return to the room will allow you to interact with her.


Dotː Where do you need me?

Player dialogue option 1: Come with me to the mine shack. I might need your help.

Player dialogue option 2: Head to the geyser for now. G needs more info.

Dot: Understood. I’ll meet you there.

Unused Areas

Some rooms have been left over from the previous game. Not all of them are intact.

Room ID Notes
Gary's room 24 The room graphics are missing, but its objects (the globe, the goldfish) remain.
Gift shop roof 27 Left over from the previous game.
Dance lounge 49 Fully intact, but you never go here in this game.
Pet shop 5D Room's graphics are missing, but its objects (puffles in the pen, goldfish, door) remain.
Tool shed 59 Only the door remains, the rest is a white void.
Unknown underground room 1, possibly Dojo? 51 The room has no graphics. However, the music indicates that it is underground.
Unknown underground room 2, possibly Puffle training room? 54 The room has no graphics. However, the music indicates that it is underground.
Hmmm...
To do:
It's accessible in my US copy. Check if there was a revision that changed this.

During the flood, you cannot access the Coffee Shop. However, using a code to teleport inside lets you see that there is water by the door. This could mean that the Coffee Shop was meant to be accessible during this mission.

Naming Discrepancies

The names of C4_IceBerg_DuckFloat and C4_Dojo_OctopusFloat seem to imply that they were meant to be found at the Iceberg and Dojo. In the final game, the duck float can be found at the Ski Village, and the Octopus is in the Lodge Attic. This also suggests that the Dojo was supposed to be accessible at some point.

Unused Music

Hmmm...
To do:
Add the OTHER unused version of the Herbert's Lair theme. Yes, there's TWO versions that go unused.

The game has a few unused music tracks. Most of them are seemingly early versions of existing tracks or uncut versions of them, though there's is one song that goes completely unused.

The Penguins That Time Forgot

This is a seemingly unused track in the game, with ID 19. It may have been planned for the Stage, as it sounds similar to the music used during the Stage play The Penguins that Time Forgot in the online game.

Uncut Tallest Mountain Music

This is an unused, or rather, uncut version of the Tallest Mountain music that plays in Mission 9. The in-game version of the track is considerably shorter than the unused version.

Early Herbert's Lair

This unused version of Herbert's secret lair from Mission 8 is also much longer than the in-game version, as well as having some minor differences in the instrumentation.


The unused tracks can be accessed in-game with the following code:

022017BC 000000??

Replace ?? with one of these IDs:

ID Music
00 Menu
01 Coffee Shop
02 Ski Village / Amazing Maze
03 HQ
04 Town
05 Gift Shop
06 Ski Lodge
07 Pizza Parlor
08 Outback Pond
09 Gadget Room
0A Night Club
0B Spy Snake
0C Boiler Room
0D Menu
0E Stage
0F Beach
10 Mine Shack
11 Jackhammer
12 Grapple Gadget
13 Title screen
14 Herbert's Lair
15 Herbert's Lair
16 Herbert behind the Ski Lodge
17 Herbert
18 The Ultimate Mission
19 Unused?
1A Aqua Rescue
1B Tallest Mountain
1C Tallest Mountain
1D Mine
1E Spy Snake
1F End credits

Unused Cutscenes

Ending Cutscene

An unused cutscene depicts two penguins playing mancala in the water. It was likely intended to be played at some point during the flood or the subsequent party.

Rookie and Herbert Cutscenes

The unused scene from the game's trailer (depicting Rookie spying on Herbert at the Ice Rink), as well as a second cutscene are still present in the game's files, and can be viewed with the debug menu's cutscene viewer (see below).

Unused Ending

The Director commends you in this unused ending.

Hacking to enter the command room during the final mission triggers an unused ending.
Some of the dialogue from the Director and player is used in the game's final phone call between the player and the Director. However, some of the Director's dialogue is new, as well as the inclusion of Dot, JPG and Rookie.
It appears that you do not actually receive a medal. The mission collectable screen only shows the life ring item, so this scene must have been cut before they made the item available.


Directorː Welcome back everyone. Well done. The island is safe once more.

Playerː Director, you said there was one more mission for us to do?

Directorː Before I give you your orders, I have something else I want to give each of you first.

Directorː All of you, for bravery and quick thinking, and actions that go above and beyond the call of duty


Directorː I award you all this medal, and salute each of you as true protectors of club penguin. 

Directorː Well done. I am proud of you all.

Directorː And I would like to give special recognition to you *player name*, for incredible leadership and courage. 

Player option 1: Oh! Thank you director! I was just doing my duty


Player option 2: I couldn’t have done it without my team. 

Director: You are a sterling example to us all.

JPG: But Director, what about Herbert? We failed to capture him AGAIN.

Directorː Herbert may still be on the loose, but you did not fail - you convinced him to help us. I’m sure he won’t forget that. We’ll just have to wait and see what he does next.

Player: So what are our final orders for this mission?

Rookie: Ahh! I can’t take the anticipation!

Director: Very well. Your final order is this


Directorː We need to cover up this flood, and keep the public from knowing any of this happened


Directorː SOOOO


Directorː We’re going to throw a water party, and you guys are going to celebrate.

Directorː That’s an order
 heh heh


Player: Well you heard the director! Let’s move out!

Rookie: Woohoo!

Dot: Awesome!

JPG: I need to find a beach chair and relax


The credits play.

Coffee Shop Oddity

The Coffee Shop interior in 'Secret of the Fur' has room ID 13, in contrast to the other missions, which use a Coffee Shop of ID 12. It's possible that this was to exclusively facilitate interaction with the hot chocolate machine in 'Secret of the Fur', yet other rooms (namely, the wilderness river) are perfectly capable of adding and removing interactions depending on the mission, so it's unclear why they had to do this.

Debug Menu

Cpepfhr-debugmenu.png

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)ː

1211AFAC 0000201D

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 leave the menu.

Regional Differences

The main difference between the American and European versions of the game is the removal of DGamer. Since DGamer is exclusive to North America, the feature was removed in the European version, although many files from DGamer are left in the ROM.

US Europe
CP-EPF-HR-USA title screen.png CP-EPF-HR-EUR title screen.png

Another minor change is the Puffle Whistle. When using the menu in the European version, the music lowers its volume automatically in order to detect better audio from the microphone. This doesn't happen in the American version.

Anti-Piracy Check

If the game detects that it is being played through unofficial means, like an old flashcard, a faulty emulator or a ROM loader like TWiLight Menu++ (before v9.3.0), the Puffle Whistle will be inaccessible through every mission, rendering the game unbeatable.

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="EPF: Herbert's Revenge" cmsid="206620" gamecode="CY9E" ggid="0x00400583" platform="DGamerDS" version="2008.12.18.15.40.18" embededSRL="true">
  • The build date of the Client.
    <unlockables><!-- 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 -->

    <!--  Game specific unlockables  -->
    <unlockable id="904822" gameid="0" dgamerid="50688" giftable="True" name="Black Puffle Hoodie" category="Game" /> 
    <unlockable id="904823" gameid="1" dgamerid="50689" giftable="True" name="Purple Puffle Hoodie" category="Game" /> 
    <unlockable id="904824" gameid="2" dgamerid="50690" giftable="True" name="EPF 2 Hat" category="Game" /> 
    <unlockable id="904825" gameid="3" dgamerid="50691" giftable="True" name="Rock Hopper Tee" category="Game" /> 
    <unlockable id="904826" gameid="4" dgamerid="50692" giftable="True" name="Igloo Hat" category="Game" /> 
    <unlockable id="904827" gameid="5" dgamerid="50693" giftable="True" name="Black Puffle Plushie" category="Game" /> 
    <unlockable id="904828" gameid="6" dgamerid="50694" giftable="True" name="White Puffle Plushie" category="Game" /> 
    <unlockable id="904829" gameid="7" dgamerid="50695" giftable="True" name="EPF Watch" category="Game" /> 
    <unlockable id="904830" gameid="8" dgamerid="50696" giftable="True" name="EPF 2 Tee" category="Game" /> 
    <unlockable id="904831" gameid="9" dgamerid="50697" giftable="True" name="EPF 2 Hoodie" category="Game" /> 
    <unlockable id="904832" gameid="10" dgamerid="50698" giftable="True" name="Penguin Feet" category="Game" /> 
    <unlockable id="904833" gameid="11" dgamerid="50699" giftable="True" name="Herbert Hat" category="Game" /> 
    <unlockable id="904834" gameid="12" dgamerid="50700" giftable="True" name="Klutsy Hat" category="Game" /> 
    <unlockable id="904837" gameid="13" dgamerid="50701" giftable="True" name="Penguin Hat" category="Game" /> 
    <unlockable id="904838" gameid="14" dgamerid="50702" giftable="True" name="Herbert Shirt" category="Game" /> 

    <!--  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 unlockables via the starter set events above -->
    <unlockable category="DGamer" id="117352" dgamerid="135"/>  <!-- Leather Jacket Starterset1A -->
    <unlockable category="DGamer" id="117356" dgamerid="29696"/>  <!-- Asian Skirt Starterset1B -->
    <unlockable category="DGamer" id="117354" dgamerid="44110"/>  <!-- Cowboy Hat Starterset1C -->

    <unlockable category="DGamer" id="117355" dgamerid="29768"/>  <!-- Camo Pants Starterset2A -->
    <unlockable category="DGamer" id="117381" dgamerid="13"/>  <!-- Wrap Sweater with blue diagonal stripe shirt Starterset2B -->
    <unlockable category="DGamer" id="117382" dgamerid="44122"/>  <!-- Painter Cap Starterset2C -->

    <unlockable category="DGamer" id="117383" dgamerid="29769"/>  <!-- Cowboy Pants Starterset3A -->
    <unlockable category="DGamer" id="117384" dgamerid="28"/>  <!-- Button-down shirt Starterset3B -->
    <unlockable category="DGamer" id="117385" dgamerid="44097"/>  <!-- Baseball Cap Starterset3C -->

    <unlockable category="DGamer" id="117386" dgamerid="29697"/>  <!-- Cool Guy Pants Starterset4A -->
    <unlockable category="DGamer" id="117387" dgamerid="52"/>  <!-- Short Sleeve Tee with Long Sleeve tee under Starterset4B -->
    <unlockable category="DGamer" id="117388" dgamerid="44183"/>  <!-- Rice Hat Starterset4C -->

    <unlockable category="DGamer" id="117628" dgamerid="44171"/>  <!-- Looks like Dr. Seuss Hat -->
    <unlockable category="DGamer" id="117389" dgamerid="44313"/>  <!-- Star Glasses -->
    <unlockable category="DGamer" id="117629" dgamerid="44348"/>  <!-- Wii Mote -->
    <unlockable category="DGamer" id="117630" dgamerid="44364"/>  <!-- Magic Wand -->
    <unlockable category="DGamer" id="117631" dgamerid="44383"/>  <!-- Purse (purple) -->
    <unlockable category="DGamer" id="117636" dgamerid="44036"/>  <!-- Colored Mickey Ears-->
    <unlockable category="DGamer" id="117638" dgamerid="151"/>  <!-- Life Vest-->
    <unlockable category="DGamer" id="117350" dgamerid="93"/>  <!-- Mickey Mouse costume -->
    <unlockable category="DGamer" id="117351" dgamerid="90"/>  <!-- Minnie Mouse costume -->
    <unlockable category="DGamer" id="117353" dgamerid="94"/>  <!-- Incredibles Costume -->
  </unlockables>
  • This one, which is in <Unlockables>, 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 one, which is in <Stages>, has some parts that were commented out.

DGamerArchive.fun-version-1.42.19

In DGamerArchive.fun/DGamer/ there is a file that says:

This is part of the make process. Look for "$(ROMDATA_LOCATION)/DGamer/version-" in the makefile located in the same directory as this file. Change the version there. This allows us to look at the DGamerArchive.fun with a hex editor and determine what version it is.