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!

Harry Potter and the Chamber of Secrets (Windows, Mac OS Classic, Mac OS X)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Harry Potter and the Chamber of Secrets

Developers: KnowWonder (Windows), Westlake Interactive (Macintosh)
Publishers: EA Games (Windows), Aspyr Media (Macintosh)
Platforms: Windows, Mac OS Classic, Mac OS X
Released in JP: November 23, 2002
Released in US: November 14, 2002
Released in EU: November 15, 2002

AnimationsIcon.png This game has unused animations.
AreasIcon.png This game has unused areas.
CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
ModelsIcon.png This game has unused models.
MusicIcon.png This game has unused music.
SoundIcon.png This game has unused sounds.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.

ProtoIcon.png This game has a prototype article
PrereleaseIcon.png This game has a prerelease article

Harry Potter and the Chamber of Secrets is a game based on a film of the same name. The Windows version surpasses Sorcerer's Stone in every way.


Read about prototype versions of this game that have been released or dumped.
Prototype Info
Read about prerelease information and/or media for this game.
Prerelease Info

Unused Voice Clips
Expeliartis! Rictusrictus! Rictiusempiaaa!!!
Unused Scripts and Oddities
This flying car was supposed to be playable, dangit!

Debug Mode

Additional features for testing purposes can be enabled by editing the Game.ini config file: find the following string in the file and switch "False" to "True". Some copies of the game may use a default.ini and refer to a non-existent module (HGame.HPConsole), so the chunk below needs to be copy and pasted into the .ini to enable it.


If done correctly, the game will display the average green Unreal Engine 1 debugger text on the top of the screen, and the build version (021009_1205) will appear in the pause menu. Additionally, a new option can be selected which triggers the credits anywhere.


  • Insert - takes a screenshot and saves it as a raw bitmap at "\Documents\Harry Potter II\".
  • Delete - enables the free camera mode. All actors and cutscenes are frozen while this mode is enabled.
  • F4 - toggles the "Shortcut Window".
  • F7 - toggles debug mode.
  • Backspace - opens a "Language Browser" window, only accessible in-game and not in the pause menu. Doesn't seem to function at all.
  • Page Up/Page Down - increases and decreases game speed, respectively.
  • Tilde - toggles the console. (~)

Shortcut Window


Allows the user to access every level and view preset bookmarks. A sound test exists for each map's dialogue but the files are from the first game and don't exist here. GSTATE is short for "game state". It alters the progress of the overall game.

Leftover Developer Tool

Download.png Download Sound eXchange
File: Harry-Potter-Chamber-Secrets-PC-Sound-eXchange.zip (233 KB) (info)

sx.exe, better known as Sound eXchange, is a leftover developer tool used for many Electronic Arts games. This command-line tool is used to convert sound files to different formats for cross-platform use. It is internally credited to Dave Mercier, EAC (Electronic Arts Canada). The build found in Chamber of Secrets is version 2.25.01, and is dated June 11th, 2002. Sound eXchange supports the following formats:

  • Apple AIFF/AIFC
  • Microsoft Wave
  • Sony VAG
  • RAW (no header)
  • EAC N64/AIFF hybrid
  • SND PC bank
  • SND PC patch
  • SND PC stream
  • SND PSX bank
  • SND PSX patch
  • SND PSX stream
  • SND N64 bank
  • SND N64 patch
  • SND MAC bank
  • SND MAC stream
  • SND PS2 bank
  • SND PS2 stream
  • SND GC bank
  • SND GC stream
  • SND XBOX bank
  • SND XBOX stream
  • Quicktime Movie
  • MPEG

Here is the entire help log offered by Sound eXchange, which details an exhaustive list of options and information for each setting:

sx v2.25.01 (Sound eXchange) Jun 11 2002 by Dave Mercier, EAC
USAGE: sx <format> [options] <sourcefiles>
VERSION: WIN NT v2.25.01 (Sound eXchange), Spit v3.19
SUMMARY: sx is a sample format converter
         SPIT environment variable is SX_OPTS

    -aiff            Export Apple AIFF/AIFC
    -wave            Export Microsoft Wave
    -cdxa            Export CD-ROM XA
    -vag             Export Sony VAG
    -raw             Export RAW (no header)
    -pcbank          Export SND PC bank
    -pcstream        Export SND PC stream
    -psxbank         Export SND PSX bank
    -psxstream       Export SND PSX stream
    -n64bank         Export SND N64 bank
    -macbank         Export SND MAC bank
    -macstream       Export SND MAC stream
    -earsvagstream   Export EARS VAG stream
    -nbapsstream     Export Obsolete NBA 2000 PS stream
    -ps2bank         Export SND PS2 bank
    -ps2stream       Export SND PS2 stream
    -gcbank          Export SND GC bank
    -gcstream        Export SND GC stream
    -xboxbank        Export SND XBOX bank
    -xboxstream      Export SND XBOX stream
    -mpeg            Export MPEG
    -raw<samplerep>  Import RAW with given sample data representation

Sample data representations that may be specified:
    -s16l_int        Signed 16-Bit Little-Endian Interleaved
    -s16b_int        Signed 16-Bit Big-Endian Interleaved
    -s8_int          Signed 8-Bit Interleaved
    -eaxa_int        EA-XA Interleaved (3.7:1)
    -mt_blk          MicroTalk Block (10:1)
    -vag_blk         Sony VAG Block (3.5:1)
    -n64_blk         N64 Block (3.5:1)
    -s16b_blk        Signed 16-Bit Big-Endian Block
    -s16l_blk        Signed 16-Bit Little-Endian Block
    -s8_blk          Signed 8-Bit Block
    -eaxa_blk        EA-XA Block (3.7:1)
    -u8_int          Unsigned 8-Bit Interleaved
    -cdxa            CD-XA Interleaved (3.5:1)
    -dvi_int         DVI Interleaved (4:1)
    -layer1          MPEG Layer 1
    -layer2          MPEG Layer 2
    -layer3          MPEG Layer 3
    -gcadpcm         GameCube ADPCM (3.5:1)
    -s24l_int        Signed 24-Bit Little-Endian Interleaved
    -xboxadpcm       Xbox ADPCM (3.5:1)

    -noprogress      Do not display progress bars
    -rawc<channels>  Specify RAW input channels (default 1)
    -raws<rate>      Specify RAW samplerate (default 22050 Hz.)
    -split           Split multi-channel into multiple single-channel files
    -onetomany       Break multi-element files into individual files
    -mixc<0-5>       Convert n channels to mono by dropping other channels
    -element<offset> Adjust destination element positions by this offset
    -notruncate      Don't remove samples after loop (default truncates)
    -det<cents>      Specify new detune in cents for playback (default is 0)
    -br<semitones>   Specify bend range for playback (default is 0)
    -vol<-128-127>   Specify volume for playback (default is 127)
    -rd<cents>       Specify random detune range in cents (default is 0)
    -mrd<cents>      Specify master random detune range in cents (default is 0)
    -rv<0-127>       Specify random volume range for playback (default is 0)
    -pan<0-127>      Specify pan offset (default is 64)
    -rp<0-127>       Specify random pan offset range (default is 0)
    -fps<0.1-120.0>  Specify chunk rate for stream (default is 15.0)
    -renv<-1-127>    Specify release envelope (default is -1)
    -envi<0-127>     Specify initial envelope volume (default is 127)
    -env<dur,vol[,dur,vol,...]> Specify playback envelope as a series of
                                segments, each with a duration and volume.
                                duration is in 1/100ths of a second and volume
                                ranges from 0..127
    -az<0..65535[,...]>         Specify directional azimuths for each channel.
                                First azimuth listed corresponds to the lowest
                                channel. An azimuth of 0 would be directly
                                ahead, 16384 would be directly to the right.
            The loop start value sets which sample the loop section begins on.
                "sample" - Specify the sample to begin the loop section, -1 
                indicates no loop start point. Allowable range is -1 .. 
            The loop end value sets which sample the loop section ends on.
                "sample" - Specify the sample to end the loop section, -1 
                indicates no loop end point. Allowable range is -1 .. 
            The loop start is set to the value given, if there isn't one 
            currently in the file.  -1 means no loop start point.
                "sample" - Specify the sample to begin the loop section, -1 
                means no loop start point Allowable range is -1 .. 2147483647.
            The loop end is set to the value given, if there isn't one 
            currently in the file.  -1 means no loop end point
                "sample" - Specify the sample to end the loop section, -1 means
                no loop end point. Allowable range is -1 .. 2147483647.
            The constant bit rate is used to set the level of compression.
                "bitrate" - Specify in bits per second. Allowable range is 8000
                .. 640000.
            The variable bitrate quality is used to set the level of 
                "quality" - Specify compression quality, 0 = highest 
                compression (bad sound quality), 100 = lowest compression (good
                sound quality) Allowable range is 0 .. 100.
            The play-back location determines what system a sound will be 
            played from.
                "location" - Location can be one of 'default', 'spu', 
                'maincpu', 'iopcpu', 'ds2dhw', 'ds3dhw', or 'dsp'.
            The play-back location flag determines what system a sound will be 
            played from.
                "flag" - Flag can be one of 'default', 'static', or 'dynamic'.
            The spatialization over-ride allows forcing of a sound to play with
            pan, dolby, or DS3D.
                "method" - Method can be one of 'default', 'pan', 'dolby', or 
            Set priority for voice allocation.
                "value" - Specify priority for playback (default is 0, 100 is 
                highest). Allowable range is 0 .. 100.
            Set level for effect bus 0.
                "level" - Specify effect level for bus 0 (default is 0). 
                Allowable range is 0 .. 127.
            Attach user data to a sample.
                "data" - Specify user data to attach to sample. Specify as a 
                file name.
            Generate and embed additional data needed to perform run-time time 
                "window" - Window size to use to correlate sample data, 
                specified in microseconds. 9000 is a good default. Allowable 
                range is 1000 .. 100000.
            Resample to a new rate.
                "rate" - Specified as new sample rate in Hertz. Allowable range
                is 400 .. 96000.
            Ensure sample uses no more than N frames by reducing sample rate 
            until it fits.
                "frames" - Specify maximum amount of frames allowable in 
                sample. Allowable range is 1 .. 2147483647.
            Resample and insert silence to line loop points up to alignment 
                "alignment" - Specify the alignment restriction. Allowable 
                range is 2 .. 1024.
            Extend and/or replace samples after loop end point with the samples
            that begin at the loop start point.
                "padding" - Specify the amount of samples to pad out after the 
                loop end point. Allowable range is 0 .. 2147483647.
            Scale amplitude of sample.
                "amplitude" - Specified as percentage of original volume. 
                Allowable Range is -10000.0 .. 10000.0.
            Apply linear fade-in to sample.
                "time" - Specified as milliseconds into sample to achieve full 
                amplitude. Allowable range is 0 .. 2147483647.
            Apply linear fade-out to sample.
                "time" - Specified as milliseconds to end of sample to begin 
                fade to zero amplitude. Allowable range is 0 .. 2147483647.
            Crop a section of a sample.
                "startframe" - Specify frame to begin crop at. Negative values 
                insert silence at start of crop. Allowable range is -2147483648
                .. 2147483647.
                "frames" - Specify number of frames to crop. Specifying past 
                original sample will insert silence at end of crop. Allowable 
                range is 1 .. 2147483647.
            Mix all channels in a sample down to mono.
            Copy source channel sample data to destination channel.
                "source" - Source channel to copy (channels start at 0). 
                Allowable range is 0 .. 5.
                "destination" - Destination channel to copy to (channels start 
                at 0). Allowable range is 0 .. 5.
            Cut source channel sample data out of sample.
                "source" - Source channel to cut (channels start at 0). 
                Allowable range is 0 .. 5.
            Distorts the signal by clipping high amplitudes.
                "amount" - Specify amount of distortion (0 is least 
                distortion). Allowable range is 0 .. 32767.
            Apply given reverb type to sample.
                "preset" - Specify reverb preset. Allowable range is 0 .. 0.
                "level" - Specify reverb level. Allowable range is 0 .. 127.
            Resample to a new rate using a filter profile.
                "filter" - Specify filter profile to use to perform resample. 
                Specify as a file name.

SX currently supports the following formats for importing:
    - Apple AIFF/AIFC
    - Microsoft Wave
    - CD-ROM XA
    - Sony VAG
    - RAW (no header)
    - EAC N64/AIFF hybrid
    - SND PC bank
    - SND PC patch
    - SND PC stream
    - SND PSX bank
    - SND PSX patch
    - SND PSX stream
    - SND N64 bank
    - SND N64 patch
    - SND MAC bank
    - SND MAC stream
    - SND PS2 bank
    - SND PS2 stream
    - SND GC bank
    - SND GC stream
    - SND XBOX bank
    - SND XBOX stream
    - Quicktime Movie
    - MPEG

    &<file>       'with' file, containing a list of options and files
    -.ext         specifies output file extension
    -=<name>      specifies output file name
    -v0           no console output
    -v1           prints source file name and errors
    -v2           status line for each file (default)
    -v3           additional info

    Convert AIFF format audio.aif into pc stream format audio.asf.

    > sx -pcstream audio.aif -=audio.asf

Unused Areas


An entire challenge stage that goes unused. Its warp is behind a locked door in the Gryffindor common room. It can be accessed via free camera/ghost mode or by choosing it in the level select. Alternately, the level can be enabled by creating a file in the System folder named ABC.int with the following contents:


Playable Flying Ford Level

While there is no actual level built for it, there is enough evidence to affirm that a level with the flying Ford Anglia was scrapped early on. Based on this script, the car "character" had these characteristics:

  • The car controlled pretty closely like Harry in Quidditch matches albeit a little faster.
  • The car made sounds for swift and tight turns and twists just like the broomstick (the sounds used are placeholders).
  • The car could hit walls or obstacles approaching at high speeds.
  • The car had a health bar and lost health if it hit an obstacle (however it had invincibility frames).
  • There is a timer function, though it is empty and could be related to anything.
  • The car was supposed to have a boost, though how it could have been implemented and how much it would've helped is unknown since the base speed and the boost speed weren't changed (but the car went at 800 units of speed compared to Harry who runs at 100 units of speed).

There is another script that contains information on the level:

  • You were supposed to avoid muggles.
  • There were multiple triggers for different zones of danger consisting of "Safe", "Town", "Wind", "Lightning" and "Airplane" (Airplane only is used in the Flying Car cutscene). They had various effects on the car's movements and status.
  • There was a muggle meter and some icons representing a certain level of stealth (see icons below) that indicated how close you were to getting "caught", but there is no actual code for it, only values. It can be logically assumed that the meter would go up quicker above the "Town" zones.
  • There is a bit of code concerning random dialogue. Maybe Ron and Harry could've shared helpful hints or shouted even more.


This is a base map used as a starting point for developers. It's the Unreal Engine equivalent of a blank document. The texture changes depending on what each game's default texture is set to. For Chamber of Secrets, this would be the blue guideline texture.

HP2 Startup.png


Another Unreal Engine "blank document". It's a simple box textured with a second tier default texture. For Chamber of Secrets, this is one of many base wall textures created for Hogwarts.


Small Chasm

A small area exists underneath the dungeons, which was built as part of a puzzle to get a Wizard Card. A platform drops partway into the area, leaving the rest unused and inaccessible.


The Fat Lady's Room

The Fat Lady's portrait is static when looking at it. However, when Harry approaches the portrait, the camera cuts to a close-up of her 3D model. Her entire model and backdrop are in a small room above the actual door to the Gryffindor Common Room.


Hagrid's Hut

A bit like in the previous game, the interior of Hargid's hut is modeled under the map in the Hogwarts Grounds, however in this game you never actually go in the hut.


Unused Graphics

To do:
There are probably more scattered through the files. The game is not consistent about the location of its textures.

Texture Guides

The texture guides from the previous game make a comeback.

HP2 FF RedGuide.png HP2 greenguide.png HP2 FF BlueGuideEH.png

HP_Menu Old HUD

In a texture archive named OLD_Textures there are some archives containing various outdated assets. Most notable is a folder with a previous version of the HUD, which has some interesting elements.

Items and Bosses

Cards, Folio and Health

It seems that each card category had a slider to indicate the progress to the next upgrade instead of simply collecting 10 of each. The gold card sliders seems to indicate that they would've also given some sort of upgrade to the player.

House Points, Quidditch and Vendors


In this version of the HUD, there is a magic strength gauge with a slider. You can charge a spell in the game, but the only indicator is the growing spell effect.


Most of these icons look completely different and were probably redrawn for clarity. There is an unknown Lion Menu option.


This archive contains lots of the base textures from the last game, so of course some of them became unused.

HPCoS-BannerMoon.png HPCoS-BannerStar.png HPCoS-cup banner.png

HPCoS-podium Gryffindor.png HPCoS-podium Hufflepuff.png HPCoS-podium Ravenclaw.png HPCoS-podium Slytherin.png

HPEdit Icons

These icons are almost identical to the ones found in the first game.

HGame.u Icons

The archive hgame.u adds a few more icons to the mix.



An unused hourglass texture. This would most likely be used if you could not skip a cutscene. In the final game, nothing is shown if you try to skip a cutscene that must be played.

(Source: DmBd-R)

Sorcerer's Stone Leftover Graphics

To do:
There are still TONS of textures from Sorcerer's Stone alone. Make sure we have all unused textures from the "Old Textures" folder.

The same archive also contains a few leftovers from the first game.

HP2 HPLogoTexture.png HP2 EnemyBarEmpty 1.png HP2 EnemyBarFull 1.png HP2 PeevesHead 1.png


In the Old_Textures subfolder, there is an archive containing many textures refering to an old version of the previous game.

HPCoS-bw2.png HPCoS-GOLDFOIL.png

HPCoS-spellshapecv.png HPCoS-startcv.png



This file contains four chunks of a leftover Sorcerer's Stone logo.

This is what the logo looks like when put together:

(Source: DmBd-R)



A leftover particle texture from Sorcerer's Stone. It was used while playing the flute for Fluffy.

Unused Save Thumbnails

In the "Thumbnails" folder in the "System" folder, there are a few unused save thumbnails.

(Source: DmBd-R)

Unused Animations

There are a lot of animations left unused in the files. Surprisingly, there aren't that much leftovers from the previous game.

(Source: Laenthor)

Unused Models

To do:
There's probably a lot more to find. Check if all of the breakable vases are used.

Some of these are from the first game, some are simply test models.

Sorcerer's Stone Leftover Models



Never meant to be seen, but probably used in debugging to visually represent the real camera's position.



Probably would've been found in the Gryffindor common rooms, but the dormitory rooms never open (one even has an unused bonus challenge load zone behind it).



A giant telescope that also went unused in the first game.



This low-textured insect was also unused in the first game.









Leftover items from the first game. Filenames suggests that Peeves was supposed to throw different items at you in the skurge challenge, but he simply throws ectoplasm balls in the final version.







Lovely Christmas decorations. An ornament star is also unused, but it uses the same model as the challenge stars so it is not included here.


HP2 skdevilplantMesh.PNG

The Devil's Snare from the first game is here for some reason.




Never meant to be seen in-game. Used to mark cutscene triggers while debugging, but stored and visible in the Basilisk boss fight actor room in the game, though it obviously still can't be seen by normal means. It may be stored in other actor rooms as well.

WizardCardIconMesh (with unused WizardCardIconTex0 texture)


A literal placeholder texture for the card collectibles.



An early version of the floating title in the first cutscene. The font is a bit different and the texture is completely different from the final.



This simple sphere uses a jelly bean texture by default, but its filename suggests it might've had multiple textures and used as a spell.



Just like in the last game, the bludgers have a visual effect to distort them so you never actually see the model.



Filename suggests the Quidditch hoops, but why does it have a default non-transparent texture?

Unused Music

To do:
Upload the music that isn't used here, but is on GameCube/PS2/Xbox versions.

This appears to be part of the E3 song, meant to be played inside the Chamber of Secrets itself only to be cut off after the horns stop. This song makes its appearance in the GBC and GBA releases, at the title screen. It is an arranged version on both handhelds.

A looped version of the orchestrated Happy Hogwarts song, which technically only goes used on the console versions.

This is very likely the song heard at E3, or the demo normally seen in the console versions when you press Start to begin.

A part of the Flying music track, during the actual Quidditch match only the Boost track is used and makes a clicking noise at the start.

The Snitch horn, intended for when catching the Snitch and ending the Quidditch match. It is used on the console versions.

Likely intended for learning spells by picking up their respective spellbooks, this is only the case in the console versions. This track also plays when finding the Marauder's Map in Prisoner of Azkaban.

This track is used when Harry transforms into Goyle for the first time, but it fades in around 0:23 and does not loop, leaving the beginning unused.

A leftover from Sorcerer's Stone. The quality is noticeably low.

Another leftover from Sorcerer's Stone. This song isn't used in the PC version, but is in the console versions.

Windows Game Boy Color

A song called "GambolJapesLoop", also known as "Flitwick's Boogaloo" in the Game Boy Color version of the game. This is used as the level music in the unused (you need to cheat in order to access it) Gryffindor's Challenge. This song can be quietly heard in Gambol & Japes' shop in the GameCube/PS2/Xbox version.

Unused Text


A slightly longer version number than the one that appears on the pause menu in debug mode.



Present in the Sounds folder is a log from a WS_FTP LE client. Apparently, the package containing all the game's dialogue was uploaded to a (now defunct) subdomain on Electronic Arts' website.

102.09.26 16:18 B D:\LangSpecific\USA\Sounds\AllDialog.USA_uax --> troff.ea.com /CoS - HPPC/Soundfiles AllDialog.USA_uax

Debug Text

Every time you find a secret area in the game (done by walking into the actual secret area and over a special trigger at the entrance that plays the "Secret Area Found" sound and adds to the counter for them), the console displays a silly message.

Secret Area Found! Oh most glorious delight and joy!!!

There's another little gem found in the console that can be viewed after the Charms class cutscene. If you watch the text, you can see "cues" being given to the different NPCs and objects as if they were actors in a movie. Among these is a "WaitFor" cue. One of these shows up that seems to tell someone/thing to wait until Flitwick is done talking about the Chamber of Secrets:

WaitFor: FlitDoneWithHisCrap

When Harry dies, this pops into the console:

argghhh I'm Dead!!!!

And when he gets hit, this appears:

argghhh I'm HIT!!!!