Perfect Dark (Nintendo 64, Xbox 360)
Perfect Dark |
---|
Developers: Rare (N64),
4J Studios (360) This game has unused areas. This game has a prototype article This game has a prerelease article |
Set in the year 2023 of the futuristic but fictional timeline, Perfect Dark is an FPS inspired by classic sci-fi flicks and is considered the spiritual successor to Rare's earlier first-person shooter GoldenEye 007, as it shares many of its mechanics and uses a modified version of its engine.
To do: Nearly every screenshot here is at the wrong resolution and will need to be retaken with the angrylion video plugin. |
This page is loooong... Consider grouping related content into additional subpages to ease readability. |
Contents
- 1 Sub-Pages
- 2 Unused Levels
- 3 Unused Weapons
- 4 Unused Monitor Screens
- 5 Unused Music
- 6 Unused Text
- 7 Early GoldenEye Text Files
- 8 Oddities
- 8.1 Cheese Pieces
- 8.2 Sinister Terminals
- 8.3 Brotherly Love
- 8.4 RB Easter Egg
- 8.5 Mystery Object
- 8.6 Mysterious Explosions
- 8.7 Radio Silence
- 8.8 False Unarmed
- 8.9 Combat Simulator Map Easter Eggs
- 8.10 Crash Site Location Discrepancy
- 8.11 Air Base Plant
- 8.12 Floating Cutscene Crate
- 8.13 Usernames and Passwords
- 9 Development Text
- 10 Anti-Piracy Features
- 10.1 boot
- 10.2 __scHandleTasks
- 10.3 cheatMenuHandleDialog
- 10.4 doorFinishClose
- 10.5 botPickupProp
- 10.6 chrUncloak
- 10.7 chrsCheckForNoise
- 10.8 lvGetSlowMotionType
- 10.9 lvReset
- 10.10 bodyAllocateEyespy
- 10.11 bgReset
- 10.12 chrConsiderGrenadeThrow
- 10.13 tagsReset
- 10.14 bgunTickGunLoad
- 10.15 menuTickTimers
- 10.16 bgTickCounter
- 10.17 glassDestroy
- 10.18 explosionAlertChrs
Sub-Pages
Prototype Info |
Prerelease Info |
Early Text Leftover text from two early versions of the game. |
PerfectHead Remnants of the scrapped face mapping feature. |
Unused Content By Level This game probably has more unused things than GoldenEye. |
Unused Items Various things that don't fit the theme of any level, probably because half of them are GoldenEye leftovers. |
Version Differences Covers all Nintendo 64 versions and the Xbox 360 port. |
Unused Levels
Retaking the Institute
Intended as another special assignment bonus mission, similar to the four featured in the final game, Retaking the Institute never got beyond the planning stages. According to designer Duncan Botwood, it was to be "a full-on assault against the Skedar in the Institute building."
Retaking the Institute. Lead the team and clean out the building. Kill All Enemy Agents Do Something Else And Something Else
Retaking the Institute's incomplete briefing and objective text is still present in the final game. The string for its name in the text file used for the menu places it between the Maian SOS and WAR! missions. Its slot is set up to play the music track CI Operative.
Skedar
Using the GameShark code 8009DFE9 0032, a solo edition of the Skedar Combat Simulator arena can be accessed. Joanna starts at a unique spawn point not shared by any of the multiplayer spawn points with a Falcon 2, CMP150, AR34, and Reaper. The mission can be played in Co-Op and Counter-Op mode, but in Counter-Op the other character will just be another Joanna Dark. There are no objectives and no way to complete the mission.
In the final version, this setup is incomplete since it lacks character objects that are required for its action blocks to work properly. If the characters are added and their IDs properly set, a semi-scripted battle will take place between some Maians on Joanna's side and some dataDyne shocktroopers. This battle can briefly be seen in one of the early game trailers. The setup file also has some other unused content not seen in any footage, including additional paths for characters and an enemy that would seek out Joanna.
Rooftop
A text string found alongside those used for the other Combat Simulator arenas is all that remains of Rooftop. According to Rare, "it was not up to scratch."
Unused Weapons
To do: Find a better GS code to use it without hacking the game. Preferably one without so many caveats. |
Tester
An unused weapon for what seems to be for testing purposes. It uses a floating model and has its own function named "Tester" and functions like a normal gun. It can be used in-game by editing a map's starting weapon in its intro block to 33, or assigning it to a guard (which will display it as the Borg Cube placeholder on the ground).
Use Gameshark code 801DC62C 0033 to replace weapon slot 1 with Tester in the Combat Simulator. (Note: this code only works in low-res mode (no expansion pak), only in the Temple level, and no other players (or Simulants) can be present.)
SMG27
An unused SMG, possibly a JonesCorp weapon and possibly even the unused MagSec SMG. It has no model or name of its own, and its only function is Rapid Fire, which makes the same firing sound as the Reaper, but without the whirring of the barrels, and it has no reload animation. As its name suggests, it has a magazine capacity of 27 rounds.
Use GameShark code 8106FF42 EF50 to replace the CMP150 with the SMG27.
AR27
An unused assault rifle, possibly another JonesCorp weapon. Like the SMG27, it lacks a model or name, and only has Rapid Fire, making the same firing sound as the AR34. Again, it has no reload animation, and like the SMG27, it has a magazine capacity of 27 rounds.
Use GameShark code 8106FF5E EE98 to replace the AR34 with the AR27.
Unused Monitor Screens
Defined
Several characters and other objects encountered in the game. Each of these has their own value and are not animated.
Various astronomical objects. Each of the three colored planets has a screen, but there is also an animated one which fades between them. The elliptical galaxy is never shown in its original coloration, since one screen value tints it green and another blue. Likewise, the spiral galaxy has green- and blue-tinted variants in addition to its original colors.
A green ship. Exists as both individual screens and as one which fades between the three.
These animated screens cannot be used: values exist which seem to correspond to them, but they read the data of the green bar chart instead. Their animations are actually defined as a part of the Skedar warrior screen, but can never be seen normally due to loop commands.
GE | PD |
---|---|
Two of them appear to be developers recreating screens from GoldenEye.
Undefined
These are all leftovers from GoldenEye and only exist as textures.
GE | PD |
---|---|
Interestingly, two of the textures were updated. The spinning cube was reduced in size, while Karl Hilton talking was updated to fill the entire width of the texture, rather than being pillarboxed.
Unused Music
There are three different unused music pieces that lay within. Use GameShark codes 800AA5FB 00?? 800AA66B 00?? (where "??" is one of the below) to hear them in-game:
- 15: An alternate death theme. Rather creepy.
- 3C: A track that starts off similar to the Deep Sea - Nullify Threat tune, but then completely changes after a couple minutes or so. This can be heard in one of the very first trailers for the game, but only as background music, not tied to any specific mission.
- 75: A brief, goofy jingle.
Unused Text
Missions
Mission | Location String |
---|---|
dataDyne Central - Defection | LUCERNE TOWER |
dataDyne Research - Investigation | BASEMENT LABORATORY |
dataDyne Central - Extraction | LUCERNE TOWER |
Carrington Villa - Hostage One | CARRINGTON VILLA |
Chicago - Stealth | CHICAGO STREETS |
G5 Building - Reconnaissance | G5 BUILDING |
Area 51 - Infiltration | AREA 51 - EXTERIOR |
Area 51 - Rescue | AREA 51 - MEDLABS |
Area 51 - Escape | AREA 51 - ESCAPE |
Air Base - Espionage | PRESIDENTIAL TERMINAL
US AIRBASE, ALASKA |
Air Force One - Antiterrorism | AIR FORCE ONE |
Crash Site - Confrontation | CRASH SITE |
Pelagic II - Exploration | Cetan Ship |
Deep Sea - Nullify Threat | CETAN SHIP |
Carrington Institute - Defense | CARRINGTON INSTITUTE |
Attack Ship - Covert Assault | SKEDAR ASSAULT SHIP |
Skedar Ruins - Battle Shrine | SKEDAR BATTLE SHRINE |
Mr. Blonde's Revenge | LUCERNE TOWER |
Maian SOS | AREA 51, NEVADA, EARTH |
WAR! | BATTLE SHRINE |
The Duel | LUCERNE TOWER |
Every mission's text file has an unused string that gives its location. They're reminiscent of the location names shown on the objectives screen of GoldenEye's menu and were likely intended to serve the same purpose. Strangely, the Pelagic II's location is given as "Cetan Ship" and is the only one of these strings that isn't in all-caps. Another oddity is that The Duel's location is given as the Lucerne Tower.
E R R O R No briefing for this mission
The location and background shown in GoldenEye when loading a mission without defined objectives.
Weapons
MagSec SMG
Found between the Cyclone and RC-P120 is this string for a MagSec SMG.
MaianGrenade
The N-Bomb was intended as a Maian grenade, based on its unused firing range description, but this string is found after those for the Rocket Launcher, Devastator, and Slayer, which implies it was for a Maian grenade launcher.
FlashBang
The FlashBang has a pickup model seen above, but nothing else of it remains.
Functions
Guided Shots
Might be an alternate name for the Slayer's Fly-By-Wire Rocket function, or for the CMP150's Follow Lock-on function. Other than that, it doesn't fit any existing weapon.
Half Magazine Discharge
The Cyclone's Magazine Discharge function drains the entire magazine, whereas this one only would've drained half.
Timed Detonation
Not to be confused with Timed Explosive, the Timed Mine's primary function. This may have originally been intended for the N-Bomb; its two functions are Impact Detonation and Proximity Detonation.
Telescopic Sight Silencer Magazine Extension Laser Sight
These come at the end of the list of functions, and actually don't seem like functions at all, but intended for another stat entirely. Everything here except Magazine Extension makes sense for the Falcon 2; maybe at one point the system was intended to be expanded so certain weapons could be fully modular without having to use separate weapon definitions?
Manufacturers
JonesCorp
An unused manufacturer based on a developer's name, like Chesluk Industries.
Combat Simulator
Jonathan
Jonathan has an entry in the character list – it's listed after the other story characters, before the common characters. He actually has his own body model, used for his CI bio, which is indistinguishable from the Area 51 Guard (a uniform he never actually wears in the story). Jonathan, using this model, was added to the available characters in the Xbox Live Arcade port of the game. In pre-release footage, all enemies on the Area 51 maps wore this heavy armor used late in the final game's mission set, and this disguise is almost certainly a remnant from that era.
Boxes Options Boxes on Radar Touch That Box Boxes Tag Box
Various menu strings for the scrapped Touch That Box mode.
Test 4mb Test
Strings for two test sets can be found alongside the other weapon sets.
Cheats
Invincible All Guns Super x2 Health Super x2 Armor Invisible Phase Infinite Ammo DK Mode Tiny Super x10 Health Magnum Laser Gun Silver PP7 Gold PP7 Invincibility On All Guns On Maximum Ammo Super x2 Health Super x2 Armor Invisibility On Phase On Infinite Ammo On DK Mode On Extra Weapons Tiny On Paintball Mode On Super x10 Health Happy? Fast Mode On Invincibility Off All Guns Off Invisibility Off Phase Off Infinite Ammo Off DK Mode Off Tiny Off Paintball Mode Off Radar On Fast Mode Off NO NAME Slowest Motion Very Slow Motion Slow Motion Normal Motion Fast Motion Very Fast Motion Fastest Motion Line Mode Paintball Mode Enemy Rockets 2x Rocket L. 2x Grenade L. 2x RC-P90 2x Throwing Knife 2x Hunting Knife 2x Laser Turbo Mode Fast Animation Slow Animation No Radar [Multi]
Cheat names and their activation messages, left over from GoldenEye. Any references to the Bond franchise have been removed from them.
Warning If you activate any cheats, then you will be unable to progress further in the game while those cheats are active.
A warning about cheats preventing the player from progressing through the game, which is never shown.
Characters
Guard Greeting What's that gun? Don't point that gun at me.
These seem to be debug strings for characters.
Build Dates
To do: XBLA build date. |
A build date can be found loaded into memory.
Version | Hex Address | Build Date |
---|---|---|
US v1.0 | 0x803D7B20 | Apr 6 2000 15:05:01 |
US v1.1 | 0x803D7C90 | Apr 6 2000 15:05:01 |
EU | 0x803D92E0 | Apr 28 2000 14:40:49 |
JP | 0x803D8BE0 | Jul 19 2000 09:43:24 |
Early GoldenEye Text Files
There appear to be unused Combat Simulator setup files for Pelagic II and Chicago. Opening these, however, reveals them to actually be Dam and Streets text files from a pre-final version of GoldenEye.
Unlike GoldenEye the final game's Combat Simulator doesn't use the actual levels from the Solo campaign, but some rare pre-release footage shows that early builds did in fact use Solo levels at some point. This would indicate these placeholder files are either very old, or it was intended at some point that original Combat Simulator maps would be made off said levels.
Dam
Dam's location, briefing, and objectives list shown in the watch menu are present, as is the location string used in the intro camera. The rest of the final mission's text is not in this file.
Early | Final |
---|---|
mi6 has confirmed the existence of a secret chemical warfare facility at the arkhangelsk dam, ussr. its heavily guarded location and workings are a cause for major concern. nerve gas produced there has been turning up in the hands of hostile regimes around the world and deals with international terrorists have been rumoured. this facility should be destroyed without prejudice. |
mi6 has confirmed the existence of a secret chemical warfare facility at the byelomorye dam, ussr. its heavily guarded location and workings are a cause for major concern. nerve gas produced there has been turning up in the hands of hostile regimes around the world and deals with international terrorists have been rumored. this facility should be destroyed with extreme prejudice. |
The earlier mission background does not refer to the Byelomorye dam by name, instead referring to its location. The line about destroying the facility without prejudice was completely reversed for the final version, which was likely always the intended meaning. The location string shown at the top of the watch menu uses Byelomorye, like the final version, as does the intro text.
Early | Final |
---|---|
the area around the dam is well defended against a full scale military attack but they won't be expecting a lone agent. i've looked at the recon reports and decided that the easiest way to gain entrance to the weapons factory will be to bungee jump down the face of the dam. safe and simple. just throw yourself off the top and remember to look before you leap old chap. |
the area around the dam is well defended against a full scale military attack but a lone agent stands a much better chance.the easiest way to gain entrance to the weapons factory will be to get down the face of the dam. q had an idea about that. |
Curiously, M seems a bit out-of-character here, particularly the last line which sounds more like something Q would say. Speaking of Q, the part about bungee jumping was moved to his briefing in the final version.
Early | Final |
---|---|
information concerning shipping and contacts is stored on a computer system in a secret ops room within the dam.with this covert modem connected to their satellite link we can intercept this data when a backup is carried out. |
information concerning shipping and contacts is stored on a computer system in a secret ops room within the dam. with this covert modem connected to their satellite link we can intercept the data when a backup is carried out. as for getting down the dam, use the bungee rope. at the bottom of the jump, use the piton gun. simple. |
The bungee rope was moved to Q's briefing for the final version, as mentioned above, and a reference to the piton gun was also added.
Early | Final |
---|---|
Byelomorye Dam, Archangel, USSR | Byelomorye Dam, Arkangelsk, USSR |
The spelling of the mission's location hadn't been finalized when this text file was written. The background uses Arkhangelsk, a different spelling of the Russian name, while this string uses the English name.
Streets
Streets only has the mission location and background shown in the watch menu, but there are line terminators serving as placeholders for the M Briefing, Q Branch, and Moneypenny strings.
Early | Final |
---|---|
use the stolen tank to chase the car containing natalya. you are up against a time limit. |
after escaping kgb interrogation at the military archives, natalya has been recaptured by general ourumov. she is being taken by car to the janus operations base in st. petersburg. |
The background is only a description of the mission.
Oddities
Cheese Pieces
There is a small wedge of cheese hidden in every single-player map. These are modeled as part of the map geometry and, as such, cannot be collected or interacted with in any meaningful way.
Sinister Terminals
The black terminals used in dataDyne Investigation and the standing variation of them found in Area 51 both have an Easter egg: if you use them as a standard object, rather than a screened object, they display an angry-looking eye where their screen would normally be. This looks identical to the texture Dr. Caroll's "eyes" use when his personality has been erased, but isn't the same index. The filenames of these two models are "sinisterpc" and "sinisterstation".
The terminals used in the Carrington Institute and Air Force One use the filenames "goodpc" and "goodstation", but do not have a similar Easter egg.
Brotherly Love
In order to pass The Duel on Special Agent, Joanna must defeat a hologram of Jonathan. Despite him taking a sneaky approach, it's easier to bring down Jonathan than the dataDyne guard fought on Agent because, even if he gets the drop on Joanna, his shots will never hit her. The only way to lose to him is to get into his melee range. Any character using Jonathan's head is actually hardcoded as an ally for the purpose of targeting - Joanna's auto aim won't target him, his shots won't damage her, and the aim mode crosshair turns blue when pointing a gun at him. Even though the character used for Jonathan is properly set up as an enemy, the game forces ally targeting on him because of his head.
Unrelated to this, Jonathan is given "Dark" as his surname in the briefing for this mission in the American and European versions of the game. No relation between Joanna and Jonathan is ever mentioned anywhere else in the game. He was originally intended to be Joanna's brother, but this was dropped at some point during development, and The Duel's briefing is the last remnant of it.
RB Easter Egg
In the far end of the long lab of dataDyne: Investigation, where you must shut down the experiments, hidden in the "tech parts" in the floor grate is the initials "Rb", most likely standing for Ross Bury, one of the graphic programmers.
Bury left various other Easter eggs with his name throughout the game, such as the "Rossorama" texture in the Air Force One level.
Mystery Object
This thing, whatever it is, exists on the Pelagic 2 level. It is not used in any mission difficulty, is part of the level geometry, and is unique, only appearing once in the entire level. It's possible it was related to the engines, somehow, since there is a voice line referring an unused object related to the disabling of said engines left in the final game.
Mysterious Explosions
In Mr. Blonde's Revenge, using the BombSpy or any other explosive around the ventilation wall next to the ramp that goes to the helipad will trigger a series of massive explosions all over the rooftop, similar to the explosions in Maian SOS when the UFO is destroyed. This happens because the players' Skedar bombs are stored near here before they're handed out. The co-op player's bomb is left lying around invisible in single player and is only properly hidden once the elevator bomb is planted.
Radio Silence
In the intro to Chicago, Joanna asks about Carrington's contact, but he cuts her off, insisting on radio silence... then the Institute goes on to break that silence and give hints for several objectives throughout that mission and the next (G5 Building). While this makes no sense in the final game's context, it does make sense in the context of the 1999 prototype, when there were no in-game objective hints.
False Unarmed
When you plant the Explosives in Area 51: Infiltration, you will switch to "Unarmed", which is in reality still the Explosives; it is a fake Unarmed that does not work. You have to manually switch weapons.
Combat Simulator Map Easter Eggs
On Sewers there are two Easter egg spots with inaccessible ammunition boxes - the first at the bottom of the map underneath a grate (using the Farsight you can see there's nothing connecting the tunnels, so there's no way to get in there), and the second at the very top of the map atop a grate leading to the surface. This grate has a ladder underneath it, but it isn't tagged for you to be able to climb it, and even if you could it would be difficult to do so because the ladder is above a hallway. You can speed-strafe to touch the very bottom of the ladder.
In Warehouse, at the top of the map inside the ventilation ducts, there is another false ammunition box on top of a grate with a question-mark design on it. This is also just an Easter egg; using the Farsight you can see the question-mark room is absurdly small and would be impossible for a player to enter.
Crash Site Location Discrepancy
The mission description and "The Story" file in the Carrington Institute Information computer both refer to Crash Site as taking place in "the Alaskan Wilderness". However, the Hangar Information computer refers to the Crash Site as taking place on Victoria Island, which is in Northern Canada.
Of course, since Perfect Dark takes place in an alternate 2023, this could just be a typical Rare joke rather than a discrepancy or error.
Air Base Plant
For some odd reason, a plant prop is located at the far end of the huge hangar housing Air Force One at the very end of the level. You'll need a Sniper Rifle to see anything more than a few pixels of it.
Floating Cutscene Crate
In the outro to Pelagic II: Exploration Joanna picks up a crate on the ground, with a nearby crate she soon picks up afterward just... floating there off the edge of the platform. While the weird floating nature of the submarine itself can be explained in the current level geometry setup with anti-gravity technology or the crane, the crate itself cannot.
Usernames and Passwords
During the course of the game, the player receives two pairs of usernames and passwords. Neither set serves any purpose, however. According to Rare, they were supposed to be access codes to one of the Perfect Dark marketing sites, but were never used. CarringtonInstitute.com and dataDyne.com were both set up prior to the release of the game and did indeed have restricted sections requiring a username and password, but neither set or combination of sets worked on either website.
Username | CDV780322 |
---|---|
Password | I8MOZYM8NDI85 |
The easier set can be obtained in the Attack Ship mission on Perfect Agent. Cassandra will drop her necklace after dying on this difficulty. Its description in the inventory menu gives her username and password.
Cassandra De Vries' replacement necklace. Username: %s Password: %s
The username and password are not a part of the description's string, but are actually stored separately and filled in.
Username | EnTROpIcDeCAy |
---|---|
Password | ZeRo-Tau |
The second set is much more difficult to unlock, as it requires getting a rank of Perfect:1 in the Combat Simulator, which is no easy task and impossible without playing actual multiplayer games (or at the very least excessive abuse of various exploitative Simulant setups). It will be shown in the player stats. The font used, however, makes no distinction between capital and lowercase letters.
Development Text
8005261C RareZipAsmDecompress: inflate failed (%d) 80052647 RareZipAsmDecompress: hufts overflow=%d 80052670 RareZipAsmDecompress: bad len 8005268F RareZipAsmDecompress: input not in any known rare zip format
Anti-Piracy Features
This game contains several checks to determine if the game is running in unusual conditions, such as with a modified boot loader or with modified functions. The functions which check for these are in various places throughout the code and some even occur during gameplay. Many of these functions are themselves checked by other functions.
boot
Checks in ROM address 0x2e8 for a known value upon startup. If the value doesn't match, It will go into an infinite loop, making the game unable to boot.
__scHandleTasks
On every frame it checksums boot
to make sure it hasn't been modified. If it does, it writes 40 bytes of 0xff to 0x80095210. This appears to be related to sound effects but has no obvious effect.
cheatMenuHandleDialog
When the Cheat menu is opened, it checksums __scHandleTasks
to make sure it hasn't been modified. If it does, it will corrupt __scHandleTasks
by nopping the call to __scAppendList
and some of the function arguments to osRecvMesg. Most likely results in a crash.
doorFinishClose
Checks that the value of osCicId
is 6105. If it is not, it will rewrite the start of func0f08f968
so it immediately returns false, making it impossible to open doors.
botPickupProp
When a simulant in multiplayer picks up an item, it checksums doorFinishClose
to make sure it hasn't been modified. If it does, it will rewrite the start of chrCheckCanSeeTarget
so it immediately returns true, making all guards able to see the player through walls.
chrUncloak
When a guard uncloaks, this will checksum botPickupPrompt
to make sure it hasn't been modified. If it has, it disables the ability for the player or other characters to go up or down slopes. This is done by nopping the jr ra
instruction in cdFindGroundY
, which causes it to flow into the following function, which unconditionally returns false and only exists for this purpose.
chrsCheckForNoise
Whenever a guard hears the player, this checksums scHandleRetrace
and make sure it hasn't been modified. If it has, it will set the Skedar King's body file to zero, causing the game to crash if Skedar Ruins or WAR! is loaded.
Strangely, scHandleRetrace
doesn't have any piracy checks attached to it.
lvGetSlowMotionType
On every tick that the game is unpaused, this checks an address in the bootloader for a known value. If it's been modified, it will corrupt the rspboot microcode, resulting in a crash.
lvReset
Whenever a level is loaded (including the title screen), this checksums lvGetSlowMotionType
to make sure it hasn't been modified. If it has, it writes a 16 byte filesystem terminator at the start of EEPROM, effectively disabling on-cartridge save storage.
bodyAllocateEyespy
When any stage is loaded that uses the CamSpy (for example, dataDyne Investigation), this will checksum lvReset
and make sure it hasn't been modified. If so, then it will no-op _memaFree
so anytime that it is called, it will flow to the next fuction, which just returns. This has the effect of the system being unable to free individual memory allocations which makes it more likely to run out of memory.
bgReset
When a normal stage is loaded (for example, CI Training), this will checksum ROM address 0x454 in the bootloader and make sure it hasn't been modified. If so, it will copy 64 bytes from a random location in ROM to a random location in RAM.
chrConsiderGrenadeThrow
When a character decides to throw a grenade, this will checksum bgReset
to make sure if hasn't been modified. If so, it will surround the player in infinite explosions.
tagsReset
When a normal stage is loaded (for example, CI Training), this will call mtxGetObfuscatedRomBase
to get the value of osRomBase
and compare it to a known value. If the value does not match, it will copy 4KB from a random location in ROM to a random location in RAM.
bgunTickGunLoad
Whenever the player swaps to a different gun, this will checksum tagsReset
to make sure it hasn't been modified. If so, it will corrupt tagsReset
by writing 4 bytes to 0xff.
On every frame outside of the credits sequence, this will checksum mtxGetObfuscatedRomBase
to make sure if hasn't been modified. If so, it will corrupt bgReset
by writing 16 bytes of 0x12 to a random address within that function.
bgTickCounter
On every frame, this checksums menuTickTimers
to make sure if hasn't been modified. If so, it will corrupt bgBuildTables
by adding a fixed amount to 16 bytes within that function.
glassDestroy
When the player breaks glass, this checks an address (0xdc0) in the bootloader for a known value. If the value does not match, it will set the audio frequency to a high value, making everyone sound like chipmunks.
explosionAlertChrs
Whenever there's an explosion, this will checksum glassDestroy
to make sure if hasn't been modified. If so, it will make all explosions huge.
The Perfect Dark series
| |
---|---|
Nintendo 64 | Perfect Dark (Prototypes) |
Xbox 360 | Perfect Dark (Prototype) • Perfect Dark Zero |
- Featured articles
- Featured main articles
- Pages missing developer references
- Games developed by Rare
- Games developed by 4J Studios
- Pages missing publisher references
- Games published by Rare
- Games published by Microsoft Game Studios
- Nintendo 64 games
- Xbox 360 games
- Pages missing date references
- Games released in 2000
- Games released in October
- Games released on October 21
- Games released in May
- Games released on May 22
- Games released in June
- Games released on June 30
- Games with unused areas
- Games with unused objects
- Games with unused graphics
- Games with unused music
- Games with unused sounds
- Games with unused text
- Games with regional differences
- Games with revisional differences
- Games with anti-piracy methods
- To do
- Long pages to be condensed
- Perfect Dark series
Cleanup > Long pages to be condensed
Cleanup > Pages missing date references
Cleanup > Pages missing developer references
Cleanup > Pages missing publisher references
Cleanup > To do
Games > Games by content > Games with anti-piracy methods
Games > Games by content > Games with regional differences
Games > Games by content > Games with revisional differences
Games > Games by content > Games with unused areas
Games > Games by content > Games with unused graphics
Games > Games by content > Games with unused music
Games > Games by content > Games with unused objects
Games > Games by content > Games with unused sounds
Games > Games by content > Games with unused text
Games > Games by developer > Games developed by 4J Studios
Games > Games by developer > Games developed by Microsoft > Games developed by Xbox Game Studios > Games developed by Rare
Games > Games by platform > Nintendo 64 games
Games > Games by platform > Xbox 360 games
Games > Games by publisher > Games published by Microsoft > Games published by Xbox Game Studios > Games published by Microsoft Game Studios
Games > Games by publisher > Games published by Microsoft > Games published by Xbox Game Studios > Games published by Rare
Games > Games by release date > Games released in 2000
Games > Games by release date > Games released in June
Games > Games by release date > Games released in June > Games released on June 30
Games > Games by release date > Games released in May
Games > Games by release date > Games released in May > Games released on May 22
Games > Games by release date > Games released in October
Games > Games by release date > Games released in October > Games released on October 21
Games > Games by series > Perfect Dark series
The Cutting Room Floor > Featured articles
The Cutting Room Floor > Featured articles > Featured main articles