______ ____ _____ ____ ____ ____ _____ \ _ \ \ _\ \ _ \ \ _\ \ _\ \ _\ \_ _\ \ __/ \ \__ \ _/ \ \__ \ \__ \ \ \ \ \ \ \ _\ \ \_ \ _\ \ _\ \ \ \ \ ___ ______ ___ __ __ \ \ \ \__ \ _\_ \ \ \ \__ \ \__ \ \ / _ \ / _ / / _ \ / //_/ \_\ \___\ \_\\_\ \_\ \___\ \___\ \_\ / // / / /_/ / / __/ / _/ __________________________________________ / // / / _ / / /_ / /_ __ ____ __ __ ____ __ / // / / / / / / _ / / _ / \ \ \ _\ \ \ \ \ \ _\ \ \ /____/ /_/ /_/ /_/ /_/ /_/ /_/ \ \ \ \__ \ \ \ \ \ \__ \ \ ______________________________ \ \ \ _\ \_\\_\ \ _\ \ \ \ \___ \ \__ \ \ \ \__ \ \___ \____\ \___\ \_\ \___\ \____\ __________________________________ _ _ ______ ___ ___ _____ __ __ _____ / \_/ \ / __ / / _ \ / _ \ /_ _/ / / / / / ___/ / / / / / / / // / / // / / / / \/ / / / / ___ / / / / / / // / / // / / / / /\ / / / __ / / / / / /_/ / / // / / // / _/ /_ / / / / / /_/ / /_/ /_/ /_____/ /____/ /____/ /____//_/ /_/ /_____/ ____________________________________________________ A hacking guide for Perfect Dark Written by Krijy, Copyright 2005 Version 1.5 - 07.09.05 Perfect Dark, released in 2000, sported beautiful graphics and tons of replay value. It was the evolution of GoldenEye, a game that revolutionised the first- person-shooter genre, and built upon the same addictive and challenging game play. At the time of writing this FAQ, it's been about five years since Perfect Dark came out. The game has been played to death, and the prequel has been forever in the making. In order to create more replay, and to bide the time until Perfect Dark Zero is released, I have devised methods of modifying and creating new level setups. Have you ever wanted to play multiplayer games in solo arenas? What about making new solo levels based on the already existing ones? All this and more is possible. This FAQ will teach you how to mix and match parts of the levels in the game, and in doing so create totally new levels! <<< Perfect Dark is forever >>> _______________________________________________________________________________ < Perfect Menu > _______________________________________________________________________________ _________ < Intro > _________ > Perfect Dark level modding in general > Formats and codes used in this FAQ > Perfect Dark Hacking > Hacking with a version 3.0 cheating device > Hacking with a version 3.3 cheating device and PC link cable ~ Official N64 Gameshark Utilities ~ Perfect Trainer ~ Game Software Code Creator > Hacking with emulators on a PC ~ Viewing the N64 RAM memory on a PC ~ Hacking by comparing savestates ~ Hacking during game play > Support ___________ < Special > ___________ Part One - The Level Modifier ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > The Level List > The Global object list > The files that build up a level > Changing level files ~ Level list files chart ~ Level list codes chart > Loading a level via the Combat Simulator menu ~ Example of mix matching original multiplayer levels ~ Example of a multiplayer game in a solo only arena ~ Example of a solo mission loaded in multiplayer ~ Tri-operative and Quad-operative modes > Loading a level via the Solo Mission menu's ~ Example of a solo mission in an arena it's not supposed to be in ~ Moonjump codes ~ The amount of pads in a level ~ Loading solo levels via the Cinema menu ~ Skipping the intro logo's and menu's > Other level attributes ~ Level skies ~ Background Music Part Two - Modifying the objects in a level ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Modifying objects ~ NTSC Object modifier codes ~ PAL Object modifier codes > Modifying weapons ~ NTSC Weapon modifier codes ~ PAL Weapon modifier codes ~ Multiplayer ammo codes > Modifying costumes ~ Body image modifier codes ~ Head image modifier codes ~ Arm image modifier codes ~ Gender modifying ~ Random enemy head modifying > Moving players into levels ~ The real time coordinates list ~ Finding your current coordinates ~ Moving a player with activators ~ The CI Training Ground Disabler Part Three - Advanced level modding ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Multiplayer level modding ~ Making the level modifier code ~ Creating the enablers ~ Plotting the pads in the level ~ Creating the code ~ Testing the code _________ < Outro > _________ > Codes ~ Fully working multiplayer levels - Crash Site Caves / Crash Site Racing Ground - Carrington Villa Residence / Carrington Villa Rooftop - Skedar Ruins ~ Fully working solo missions - Crash Site in Carrington Villa - WAR! in Deep Sea - Pelagic II in Carrington Villa ~ Extra Codes > Resources ~ Global object list (values and names) ~ Global object list (addresses in ROM) ~ In-game object list (sorted by number) ~ In-game object list (sorted by level) ~ Costume list ~ Weapon type list ~ Ammo type list ~ Object type list ~ Text lists ~ BETA Text compilation > Version history > End credits _______________________________________________________________________________ <<< Intro >>> _______________________________________________________________________________ This FAQ is divided up into three parts. An intro part, special part and outro part. In the intro part I'll tell you about everything you need to know before you start hacking any level modding codes. I'll describe Perfect Dark hacking and tell you exactly how it's done. > Perfect Dark level modding in general > Formats and codes used in this FAQ > Perfect Dark Hacking > Hacking with a version 3.0 cheating device > Hacking with a version 3.3 cheating device and PC link cable ~ Official N64 Gameshark Utilities ~ Perfect Trainer ~ Game Software Code Creator > Hacking with emulators on a PC ~ Viewing the N64 RAM memory on a PC ~ Hacking by comparing savestates ~ Hacking during game play > Support _____________________________________ Perfect Dark level modding in general _____________________________________ Perfect Dark level modding shouldn't be confused with PC game modding. Unlike in PC first person shooters like Half-life, you can't totally create an entirely new level from scratch. In Perfect Dark you are stuck to using the same arenas that are already there (like Complex or the dataDyne Building). You can however load stuff that is supposed to be in one level, in a different level. Perfect Dark level modding consists of mix-matching objects and arenas from all the levels in the game. The best way to describe this to you is for me to give you an example. A great example that gives a totally new experience is found by loading Pelagic II's solo mission in Villa's solo arena: Pelagic II in Villa (Solo): NTSC PAL 8105D9B7 0021 8105D656 0021 8009DFE9 0021 8009E589 0021 81075582 0000 81075A52 0000 81074602 0000 81074AAA 0000 8107459A 0000 81074A42 0000 8107FFA0 0018 810804E0 0018 8107FFA2 016A 810804E2 016A 8107FFA4 0169 810804E4 0169 8108456A 003E 81084ABA 003E 8107B178 0100 8107B648 0100 8107B17A 0001 8107B64A 0001 8106FF42 EB40 810702D2 EED0 8107B858 036E 8107BD28 036E 8107D904 0DA8 8107DDD4 0DA8 8107D906 0266 8107DDD6 0266 8107D90C 3F12 8107DDDC 3F12 8107D90E A10D 8107DDDE A10D 81062C5A 0029 8106293A 0029 81062C5E 0029 8106293E 0029 81062C62 0029 81062942 0029 81062C66 0029 81062946 0029 80084023 000X 80084563 000X This code will work a few seconds after the small Rareware logo at the bottom of the screen turns up. The aim of the mission is to kill as many Maians as possible! If you die simply press A a few times to restart. Don't press B at the objectives menu. The only value that you can change is the one for the last code on the list. This is the difficulty mod, so set this to 0 for Agent, 1 for Special Agent and 2 for Perfect Agent (which is extremely hard). As you can see, this code isn't exactly flawless. All the objects and guards from Pelagic II have been placed in Villa (Solo). The cut-scenes haven't been changed, and the objectives are a bit hard to do. On the upside the level is functional, and poses a challenge. Examples of more level modifiying codes can be found in the codes summary section, including Crash Site in multiplayer, WAR! in Deep Sea and many others. __________________________________ Formats and codes used in this FAQ __________________________________ The way we are going to change Perfect Dark is through cheating device codes that manipulate the temporary memory of the N64. The N64's temporary memory, or RAM as it's commonly called, is where Perfect Dark stores all the data it's currently using to keep the game running. Gameshark and Action Replay's change the values seen in the RAM, thus changing certain things in the game. Cheating devices are mainly used for trivial things like unlimited ammo, or invincibility (codes for which Perfect Dark already has inbuilt). We're going to be using cheating devices to do something much more cooler. This FAQ is written with American Gamesharks (NTSC), European Action Replays / Equalizers (PAL) and PC emulators in mind. Two PC emulators that support cheating device codes are Nemu and Project64, but there may be others I'm unaware of. When I show a code example I'll give both the NTSC version and PAL version. That means that whether you live in America or in Europe, you won't have any problems. I won't give examples for the Japanese version of Perfect Dark, but all the methods of hacking I show in this FAQ can be applied for that version too. If the NTSC and PAL version of the example I give work in both a cheating device and emulator, then I won't give any PC version of the example. If however the code is different between the two formats, I'll give both cheating device versions and both emulator versions. Remember that an emulator is only emulating Perfect Dark. This means that it might be emulating some parts of the game wrong, or emulating some parts over precisely. Cheating devices on the other hand might be doing stuff behind your back without you realising it. My point is that both formats commute with Perfect Dark differently, sometimes ending in slightly different codes. You won't have to worry about this too much, because you won't be making very many codes that differ between PC emulator and cheating device. If you have the NTSC version of Perfect Dark you should be aware that there are two versions! Version 1.0 and version 1.1. It's easy to tell which version you have if it's a rom, just load it into Project 64 and the name it gives the rom should have either 1.0 or 1.1 in it. If you have the game cartridge it's harder to tell which version you have. The fully working multiplayer level codes differ between version 1.0 and 1.1. On such code is Carrington Villa in multiplayer (which can be found in the Codes section). You will find six different versions of the enabler that gets Carrington Villa in multi working. The easiest way to find out which version of Perfect Dark you have is to test either one of the NTSC Gameshark enablers together with either Carrington Villa Residence or Rooftop. Before I go any further I must point out that I've never had any problems with Perfect Dark level modding, when it comes to wear and tear on my cheating device. The codes I provide in this FAQ should not blow your Gameshark up, break it, or cause it to burn a hole right through to the centre of the earth. The cheating devices for the Nintendo 64 are flimsy things, and break easily. The best way to avoid damaging your cheating device is to treat it like you would a fragile invaluable treasure. Turning the N64 off before removing the cartridge is also recommended. Don't put any strong magnets near it, or mobile phones that might cause disturbances. If your cheating device does happen to die (which it won't), don't come whining to me. Note to cheating device users: ------------------------------ Some of the codes in this FAQ can get quite long. While activating and deactiving these codes in the codes menu of your cheating device, you may sometimes confuse it. When your cheating device gets confused it will still think the last code you activated is on. Any new codes that you may have activated won't be on. This problem can be solved by unselecting all the codes in the Perfect Dark codelist, and starting the game with no codes on. Once the game starts you can turn it off and restart it. Any codes that you activate next will work. There are different types of cheating device codes. The mains ones that are at your disposal are: 80XXXXXX 00VV - Normal 8bit code that changes a set of double digits. 81XXXXXX VVVV - 16bit code that changes two sets of double digits. The address has to end in an even number. D0XXXXXX 00VV - 8bit activator. When the value at the address of the first line 8XXXXXXX VVVV is the same as the value specified in the code, the second line is activated. This type of code is usually used together with buttons. When you press a button, the second line will be activated. D1XXXXXX VVVV - 16bit version of activator. 8XXXXXXX VVVV 89XXXXXX VVVV - Cheating device button activator. When the button is pressed the code is activated. Some codes in this FAQ require a one player push-button activator. This activator is: NTSC PAL D109C7E4 XXXX D1099FB0 XXXX XX can be: 0000 - No Buttons 0100 - D-Pad Right 0200 - D-Pad Lefft 0400 - D-Pad Down 0800 - D-Pad Up 1000 - Start 2000 - Z 4000 - B 8000 - A 0001 - C-Right 0002 - C-Lefft 0004 - C-Down 0008 - C-Up 0010 - R 0020 - L 0030 - L+R You can combine the values to create different button sequences, like 0030 for L + R, or 8422 for A + D-down + L + C-left. The memory editor might look a bit alien if you don't know what you're looking for. To make things a bit easier to understand I'll explain some of the types of numbers that are easily recognisable. In the table below you can see the address (both NTSC and PAL), and the values at those addresses. _____________________________________________________________ | NTSC PAL | |8007FEB0 - 2300 0000 345E 0000 756C 6567 0000 0000 - 800803F0| |8007FEC0 - 3E19 999A 0000 0000 3F80 0000 8007 FEB0 - 80080400| |_____________________________________________________________| On the first line, the very first value "23" is an 8bit value. The next value along is "345E". This is a 16bit value. The actual value line is split up into 16bit value sections. 16bit values always start on even numbered addresses. The next value is "756C6567". This is a 32bit value. 32bit values always start on either 0, 4, 8 or C. On the second line you'll see a 32bit floating point value. These can either be positive or negative depending on the first value. If the value is 3 or 4 it's positive, and if it's B or C it's negative. The next value is also a floating point value. "3F800000" is the floating point value of 1. Likewise, "BF800000" is -1. The last value "8007FEB0" is a pointer. It points towards an address in the memory, and in this example is pointing towards the start of the first line. You might already know all this and take it for granted, but if you're a beginner it's invaluable information. ____________________ Perfect Dark Hacking ____________________ For those that may have tried before, Perfect Dark can be somewhat difficult to hack. The problem with Perfect Dark is that it uses the N64 RAM Expansion Pak. Perfect Dark can be loaded in two different settings, either without an Expansion Pak (Lo-resolution or lorez for short), or with an Expansion Pak (Hi-resolution or hirez for short). In lorez you can only play in multiplayer, and with a maximum of two players (played in tiny screens). In hirez you get access to the entire game. The Expansion Pak adds an additional 4MB of RAM onto the already existing 4MB, making it 8MB in total. All N64 cheating devices use part of the additional RAM in order to get their code generators working. What this means for Perfect Dark is that you can hack the game easily in lorez, but you can't hack the game in hirez! I've spent a considerable amount of time investigating how to get around the problem of hacking Perfect Dark in hirez. At first it was a seemingly impossible task, but using various methods, I (and other hackers) have conceived ways of getting around this problem. To hack Perfect Dark in hirez you are either going to need just a PC, or a Gameshark or Action Replay Professional version 3.3 with a PC link cable. You DON'T necessarily have to have a good PC. If you have neither of these then DON'T PANIC! It's entirely possible to hack level modifying codes with just a normal Gameshark or Action Replay / Equalizer version 3.0 cheating device. Being able to "hack" in hirez won't be a necessity in hacking Perfect Dark level mods. When I mention "hack" I mean being able to do search's, comparing and other kinds of stuff. As an example, to "hack" could mean doing a less than last / greater than last search in order to find an ammo modifier. I've done most of the "hacking" already, so you shouldn't have to do any hirez hacking. At most all you'll need to do is look at the memory editor (RAM). That's all. There won't be any long searching for this code, or comparing for that code. All of the codes will be made by looking at the memory and making codes that correspond to different addresses. For one or two codes in this FAQ you will have to be able to hack in hirez. You can use the memory editor provided by the in-built code generator to hack most of the codes seen in this FAQ, but you probably won't even have to use that. I've already hacked most of the codes so all you need to do is write them down and run them, without ever having to do much hacking yourself. I'm going to explain how to hack Perfect Dark using three different methods. The first is with just a version 3.0 cheating device. The second is with a version 3.3 cheating device and with a PC link cable. The third is with just a PC, using emulators and other programs. __________________________________________ Hacking with a version 3.0 cheating device __________________________________________ The only way to hack Perfect Dark with a version 3.0 cheating device is by using the in-built code generator. You'll only be able to run the game in lorez mode while hacking, so you're pretty limited. I won't go into detail about how to use the code generator. The most important part is the memory editor, which will allow you to change values that are in the memory. To get Perfect Dark working with a version 3.0 cheating device you need to first load the cheating device up with a game that uses the factory default keycode (this could be Super Mario 64 or GoldenEye). At the menu select keycodes and choose the Zelda keycode. Choose a keycode you don't have the game for and you're screwed, so be careful and don't rush your way through this menu and make a fatal mistake (like I once did). Once the Zelda keycode is activated, turn off your N64 and put Perfect Dark in. To play in hirez you need a 50 line long enable code. The following code must be on at all times in hirez: NTSC AND PAL F1000204 27BD F1000206 FFE4 F1000208 AFA8 F100020A 0014 F100020C AFA9 F100020E 0018 F1000210 3C1A F1000212 A075 F1000214 375A F1000216 C000 F1000218 3C08 F100021A A07C F100021C 3508 F100021E 5C00 F1000220 241B F1000222 0180 F1000224 8D09 F1000226 0000 F1000228 237B F100022A FFFF F100022C AF49 F100022E 0000 F1000230 2108 F1000232 0004 F1000234 1F60 F1000236 FFFB F1000238 235A F100023A 0004 F100023C 8FA9 F100023E 0018 F1000240 8FA8 F1000242 0014 F1000244 27BD F1000246 001C F1000248 3C1A F100024A A075 F100024C 375A F100024E C000 F1000250 0340 F1000252 0008 F1000254 0000 F1000256 0000 81000204 3C1A 81000206 A075 81000208 375A 8100020A C000 8100020C 0340 8100020E 0008 81000210 0000 81000212 0000 With this code on you'll be able to access most of the solo levels. Some levels won't work because they come into conflict with the enabler. The levels that won't work are the solo mission that takes place in Carrington Villa, and Area 51 Infiltration. Additionally, the multiplayer level Skedar will freeze sometimes depending on where you start. The total amount of codes that you can active with a version 3.0 cheating device is about 128. Subtract the 50 line long enabler from that and you're left with 78. If you try to activate more than 78 lines of code in hirez the game will freeze. You don't need to have the enable code on in lorez. Even though you can only hack the game in lorez, you can gain access to the Perfect Menu with the cheat shown below. From the Perfect Menu you should be able to load any multiplayer level or solo level with the help of level mods. Solo levels are best loaded from the Cinema menu. Change the Small but Perfect Menu into the Perfect Menu: NTSC PAL 8107529A 5674 8107575E 5674 8107529E 39D0 81075762 3DB4 810752A2 69C0 81075766 72B8 When you want to make multiplayer level mods, all of the normal multiplayer levels can be mixed and matched, but only a few of the solo arenas will work in lorez. The solo arenas that will work in lorez are: Crash Site Chicago G5 Building (Solo) Carrington Institute Air Base Skedar Ruins Investigation Any other solo arenas that aren't listed here won't work in lorez due to them being too large. ____________________________________________________________ Hacking with a version 3.3 cheating device and PC link cable ____________________________________________________________ Hacking with a version 3.3 cheating device is quite similar to hacking with a version 3.0, the difference is that you can connect the version 3.3 up to a computer via a PC link cable. If you don't have a PC link cable then you can only hack in lorez with the in-built code generator. Other than that, the version 3.3 Gameshark / Action Replay is a lot better and easier to use than the version 3.0. Getting Perfect Dark to work with a version 3.3 cheating device works exactly the same way as getting PD to work with a version 3.0, so look in the section above to find out how to get the game up and running. There are some Gamesharks Pros / Action Replay Pros version 3.3 that the PC link cable won't work with. Datel released a bunch of dud cheating devices with parts missing from them. It's easy to tell if you've got a dud cheating device. If the LED is missing (little white box in the front on the inside) and you see no numbers when you turn your cheating device on it's a dud (we hate you for this Datel). If you're buying a new cheating device make sure it has an LED. Your best bet is to buy a Gameshark Pro version 3.2. There aren't any duds of this version and it can be upgraded to a 3.3 (providing you don't have Windows XP Service Pack 2). A Gameshark Pro version 3.2 will also work in a PAL N64, so if you're a PAL user get one of these if you can't find anything else. Two differences between the 3.0 and 3.3 version when it comes to Perfect Dark is first the hirez enabler code, and secondly the amount of codes you can activate. Instead of having to use a 50 line long hirez enable code you simply need just one code. This code always starts with the value FF, which means it defines were in the memory the cheating device is going to store the data for the codes you've activated. You want to put this data in a part of the memory that Perfect Dark doesn't use. Finding a place to put this data is as easy as finding somewhere with lots of zeros. The next problem is finding out which levels put their data where. You need a spot of zeros which none of the levels put their data at. This can sometimes be rather tricky. The 50 line long enabler puts the codes you've activated in the same spot where Villa (Solo) and Infiltration puts level data (which is why the game crashes when you try to load one of these levels). I'm telling you all this because the official hirez enablers from Datel don't always get the job done. You may have to make your own enabler code that will work for a specific level. There are three enablers that can be found on the internet, but I'll only list two of them here and tell you their faults. You can only have one hirez enabler on at a time. The following investigations have been made by me with a PAL cheating device. Hirez Enabler 1: NTSC AND PAL FF000220 0000 This enabler will allow you to play every single level in the game. It's fully compatible with all the levels but has a fatal flaw. You can only activate 10 lines of code with this enabler on. Some level modifying codes require you to activate more than just 10 lines of code. Hirez Enabler 2: NTSC AND PAL FF75C000 0000 This enabler will allow you to activate up to the maximum number of lines of code possible (+-250 lines). Unfortunately, it has the same compatibility as the 50 line long version 3.0 hirez enabler. You can't play in Villa (Solo) or Infiltration with this enabler on. Since these two enablers don't allow you to play in some levels, I made my own enabler. The following enabler should allow you to play in all levels, and activate up to +-250 lines of code. Krijy's Hirez Enabler: NTSC PAL FF72C5A0 0000 FF730000 0000 If for some reason you find a level that doesn't work with an enabler, and want to make your own Perfect Dark hirez enabler, than a place to look for zeroes is 80700000 to 80750000. The zeroes in this area of the memory seldom get written to. If you have problems with loading Perfect Dark in lorez then the following code should help: Lorez Enabler: NTSC AND PAL EE000000 0000 If you have a PC link cable, you can hack Perfect Dark with the help of some useful programs on your PC. One thing you may want to note about a PC link before you use it is that it sometimes plays around with the cheating device. If you use the PC link, and then turn off you N64 and try to start it again, the cheating device might not start. This can be solved by plugging in the PC link again. Another annoying thing when using a PC link is that you may have to pull the cheating device out of the N64, and wait for a few seconds before it works again. Once you've got a PC link connected up you have to download a few helpful programs from the internet: Official N64 Gameshark Utilities: Homepage: http://www.gscentral.com/ Download link: http://www.gscentral.com/lib/downloads/n64gameshark_pro_v3_3.zip N64 Gameshark Utilities patch: Homepage: http://www.gscentral.com/ Download link: http://www.gscentral.com/lib/downloads/Patch_N64_Utils.exe Perfect Trainer: Homepage: http://homepage.ntlworld.com/icemariouk/ Download link: http://homepage.ntlworld.com/icemariouk/files/ Perfect.Trainer.v1.0b.rar Game Software Code Creator: Homepage: http://www.cmgsccc.com/ Download link: http://www.gscentral.com/lib/downloads/gscc2k2.zip Official N64 Gameshark Utilities (and patch): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is the official Gameshark hacking utility that's meant to be used together with the PC link cable. It has several functions, like being able to hack games, upload and download codelists, take screenshots and upgrade your cheating device. Unfortunately, you can't hack Perfect Dark in hirez with it (but you can when you use Perfect Trainer, which I'll get back to shortly). If you have a cheating device with the normal Gameshark rom in it, the program won't be able to detect Perfect Dark in hirez mode. You can hack in lorez, but then again you might as well be using the in-built code generator. Other than that, the hacking part of the official utils allows you to do searches for values in a specific range. Using the hacking tools takes a painstakingly long time, even more so than just using the code generator. Where the official utils come in handy is the codelist abilities and the ability to upgrade. You can download the current codelist (which is all the codes on your cheating device), into a text file. This text file can be easily modified. It won't have a file extension so you'll have to open it in notepad. Once you've modified it and added all the codes you want, you have to use the compile function to compile the codes. Once the codes have been compiled, press upload to upload them to your cheating device. You don't have to go through the strenuous job of adding codes the normal way. Some of the codes in this FAQ are quite long, and using the update codelist method is the easiest way to add them to your codelist. The upgrade utility primarily allows you to upgrade your version 3.2 cheating device to a version 3.3. The official utils only accept the official upgrade rom, but by using the patch you can patch the program to accept other roms. The rom the utils use in the upgrade is the file called "ar3.enc". Note to PAL users: ------------------ The Official N64 Gameshark utils will work with Action Replays, but as the name states, they are "Gameshark" utils and meant to be used together with the NTSC format. You shouldn't have any problems at all using the utils, that is until you upgrade the cheating device rom. When you upgrade it you will end up with a Gameshark, and not an Action Replay. There really isn't much difference, but if you choose to upgrade your codelist you'll end up with codes for the NTSC version of N64 games. ALWAYS download a version of your PAL codelist before upgrading, and don't choose to upgrade your codelist in any way when you upgrade. That was only the minor difference. The greater difference is that once you've upgraded to a Gameshark, your cheating device will run in 60hz mode instead of 50hz! Most TV's support 60hz mode, but if yours doesn't you won't be able to see much in the menus. Once you've entered a game it'll switch back to 50hz mode, so no worries there. Note to Windows NT / 2000 or XP users: -------------------------------------- The Official tools won't work by themselves. For security reasons the parallel port used by the link cable will be disabled! You need to use another program to get it working with the utils: Porttalk: http://www.beyondlogic.org/porttalk/porttalk22.zip Userport: http://www.embeddedtronics.com/public/Electronics/minidaq/userport/UserPort.zip GiveIO: http://www.bottledlight.com/tools/giveio.zip Perfect Trainer: ~~~~~~~~~~~~~~~~ Perfect Trainer has been made by Icemario. It isn't a program, it's a cheating device rom. Once you've got the Official N64 Gameshark utils, and used the patch, you should be able to upgrade your cheating device with Perfect Trainer (it uses the Zelda keycode as default, so you won't have to keep swapping games). It allows the computer to be able to detect Perfect Dark while it runs in hirez. This means that when you've got Perfect Trainer installed, you will be able to hack Perfect Dark in hirez by using the hacking part of the Official Utilities. Perfect Trainer allows you to run Perfect Dark in hirez, but you can't really do more than that, and you can't activate any codes. Any codes you make have to be activated through a program on your PC. When you want to play with the codes you've created you need to upgrade your cheating device back to a Gameshark. To upgrade your cheating device to Perfect Trainer, first make a copy of the original "ar3.enc" file. Then take the "ar3.enc" file you get with Perfect Trainer and swap it with the original in the Official N64 Utils folder. Use the upgrade utility in the N64 Utils program to upgrade to Perfect Trainer. When it comes to level modding, Perfect Trainer is best used together with the Game Software Code Creator program. Game Software Code Creator: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ This program allows you to hack games much in the same way the Official N64 utils do. The most important part is that you can use the RAM editor, which will allow you to change values in the memory. Once you've installed Perfect Trainer you can access all 8MB of the memory. Codes can be a bit hard to activate, so you usually have to do them manually. Game Software Code Creator has a few extra options, none of which are really much useful other than one. The dump rom image button dumps a rom image of whichever N64 game you've loaded into your N64. The process can take a while depending on how big the rom is, and the format dumped in is "bin". Note to Windows NT / 2000 or XP users: -------------------------------------- GSCC won't work by ifself. For security reasons the parallel port used by the link cable will be disabled! You need to use a driver called TotalIO to get it working: TotalIO: http://home.online.no/~jensts/Satellite/dvb2000/how_to_install_totalio.htm I have tested TotalIO with GSCC and it definately works with Windows XP Service Pack 2. ______________________________ Hacking with emulators on a PC ______________________________ Hacking Perfect Dark with a PC is the best way to hack in hirez. To get Perfect Dark running on a PC you need an emulator, and a rom image of Perfect Dark. Perfect Dark runs smoothly on most high end computers, if you mean to actually play the game on your PC. The game doesn't need to run smoothly in order for you to hack level modifier codes. As long as you can navigate through the menu's and move around levels, you can get away with having a pretty crap computer. You'll be doing most of the playing by using your cheating device. There are quite a few different emulators out there that run Perfect Dark, but I'm going to focus mainly on Project 64 and Nemu. I've found Project 64 to be the best emulator for Perfect Dark because it runs the game most accurately, and has an easy to use cheat code system. Nemu has some advanced hacking tools, and also allows you to use cheating device codes. The problem with Nemu is that it's hard to get PD running on it, and the way you enter cheating device codes is a complete bitch when it comes to codes longer than one line. Generally speaking, you want to use Project 64 to hack and test cheats, and Nemu to help you look at values in the memory. The fabled N64 ROM's could be found by searching the internet, or they might be found by using a P2P program. Neither of which is certain to give good results. I don't know the law in the country you're in, but in most countries as long as you own the original N64 game you're allowed to keep a copy of it. You'll be using the codes you make here to use with a cheating device, and your copy of the original Perfect Dark, in your N64. As mentioned in above, you can dump roms with Game Software Code Creator. Dumping PD with GSCC is beyond doubt the best rom copy that you can get, because it's a true copy of your Perfect Dark cartridge. One problem with making your own copies is that the bin files don't seem to run in Nemu. They will work fine in Project 64. If you have any problems getting Perfect Dark to run in Project 64 on your PC, you probably need to use a different plugin than the one provided. Plugins can be found at zophar.net Project 64 Homepage: http://www.pj64.net Nemu Homepage: http://www.nemu.com Zophar.net: http://www.zophar.net Viewing the N64 RAM memory on a PC: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In Nemu it's simple to view the memory. Go to the plugins menu and select Debugger: Memory. A memory editor will pop up. You can navigate around by putting an address in the top left corner. Press Search to search for values. If you simply want to look at the memory editor any time during the game, Nemu is the fastest way to find what you're looking for. In Project 64 it's a bit harder to view the memory because there is no built in function to do this. To view the memory you have to look at savestates. Savestates are essentially snapshots of the memory taken at any time during game play. When you load a savestate you start off exactly from where you saved the savestate. Since savestates are snapshots of the memory they are 8Mb in size, the same size as the RAM. In order to view these savestates you need a hex editor program. The hex editor program shows you the hex values in the memory, just like when using the memory editor. Project 64 saves savestates in its own ".pj" format. Before you can do anything you need to change the pj savestate. The pj format adds code to the start of the memory file, and it also byte flips the savestate. Byte flipping means that every byte is swapped around and jumbled up. When Project 64 runs a game it byte flips the rom image before processing it. When you make a savestate the memory remains byte flipped. To make the Project 64 savestate readable you need to delete the part at the beginning of the file that has been added and byte flip the file. The best hex editor to use is Hex Workshop version 3 or better: http://www.hexworkshop.com http://www.bpsoft.com/downloads/index.html To convert a Project 64 savestate to a more understandable form, open it in a hex editor. Once you've done that you need to delete the first 75C (in hex) 8bit values. Highlight the beginning of the file and drag all the way down to address 0000075C. Do not delete the value 00701A3C. Next you need to byte flip the file. This can be done in Hex Workshop by going to the Tools menu, and then the Operations menu. Select byte flip and set the settings at 32bit unsigned and little endian type. Byte flip the entire file. You should now have a correct savestate in the normal byte order and with the correct addresses. To navigate the memory in Hex Workshop use the find and goto functions (ctrl+F) and (ctrl+G). Hacking by comparing savestates: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ One way to hack Perfect Dark with a PC is by comparing savestates. Before you can start comparing them they need to be correctly converted. Once you've byte flipped and corrected the savestates you can use them in several different hacking programs. In order to do a search for anything, you're going to need lots of different savestates to compare. Some of the programs that you can use are: Cheater64 v2.0 - for Project 64 savestates: http://www.gscentral.com/lib/downloads/cheater64.zip Savestate Cracker - for converted savestates: http://www.geocities.com/hopperw2000/SSC/SSC.html http://www.geocities.com/hopperw2000/SSC/SSC131.zip VTR Compare 0.99 Beta - for Nemu savestates: http://www.gscentral.com/lib/downloads/VTRCompare.zip Comparing savestates from a game works much the same was as using hacking tools and a PC link cable. The problem with both methods of hacking is that they take absolutely ages. Doing one search usually takes an hour, if you're lucky, and if you know more or less what you're looking for. While hacking by comparing savestates can give you precise results, it takes too long and is a bit tedious. Hacking during gameplay: ~~~~~~~~~~~~~~~~~~~~~~~~ Hacking during game play works in the same way as using the in-built code generator in cheating devices. You don't have to worry about savestates, you hack what you want while playing the game. This is done on a PC by using a game hacking program on the emulator you're currently running the game in. The specific program I want to mention is called ArtMoney. ArtMoney: http://www.artmoney.ru http://www.artmoney.ru/artmoney708eng.exe ArtMoney takes a little bit of work to get working, but once you've got it working it's the best way of hacking Perfect Dark there is. To get ArtMoney working, run it at the same time as the emulator is running, and select the emulator from the select process menu. By default, ArtMoney will search the entire memory of your computer. The exact amount depends on how much RAM you have. When you run an emulator it uses 8Mb of your computers RAM. The emulator always uses the same 8Mb of RAM, so you have to set ArtMoney to search in just the 8Mb of RAM somewhere in your total RAM. Where the N64 RAM is put varies between different computers. In order to find where in your total RAM the emulator puts the N64 RAM, you need to do a search for a simple code. Go to multiplayer and start a single player game. Pick up a Falcon 2 because you're going to make an ammo mod. You start with 8 bullets so do an exact search for the value 8. You'll want to set the search type to integer 1 byte (whole numbers). Go back to the game, fire a bullet and do a sieve for 7. Repeat the process until you have 2 results left. Move them over to the list on the right and freeze the first one of them. Your Falcon 2 should have infinite ammo (no reloads). On my PC the address this code was at was 3D2477D8. The next thing you want to do is find out the cheating device version of this code. The address 3D2477D8 is within the 8Mb of RAM (from you total RAM) used for Perfect Dark via the emulator. With ArtMoney still running, pause the game and make a savestate. This savestate will have exactly the same values that ArtMoney is looking at. Open the savestate and delete the pj intro part (up to 75C). DO NOT byte flip the file. The emulator you are using is running the game with the RAM byte flipped. When you use ArtMoneys in-built memory editor, you're looking at the byte flipped version of the memory! In ArtMoney, right-click the infinite ammo Falcon 2 code and choose memory editor. You want to find the exact same spot in the hex editor as the spot you are viewing with ArtMoneys memory editor. In ArtMoneys memory editor find a long string of values and do a search for them in the hex editor. In my case I did a search for CA60823C and ended up around 001B77EC. The infinite ammo code was at address 001B77D8, which is the byte flipped cheating device version. You should now have two addresses, the ArtMoney address and the byte flipped cheating device address. I had 3D2477D8 and 001B77D8. By chopping these two codes in two you'll see that the last four digits are the same. 3D24 is equal to 001B. By taking 3D24 and subtracting 001B you get 3D09. 3D09 equals 0000 and is the start of the N64's RAM. 3D09 + 80 = 3D89, giving you the end of the N64's RAM. Go to the options menu, and then the general menu. Select "Search in address range" and input the address that equals the start of the N64 RAM, and the end of it. For me it was 3D090000 to 3D890000. Once you've done this ArtMoney will only look for codes in the N64 RAM, and not any other programs you may be running on your PC. Changing a byte flipped cheating device address into a correct cheating device code is as easy as changing the last digit in the address. Based on converting a byte flipped address to a correct address, use the following table to change the last digit: ___________________________________________ | | | 0 to 3 4 to 7 8 to B C to F | | 1 to 2 5 to 6 9 to A D to E | | 2 to 1 6 to 5 A to 9 E to D | | 3 to 0 7 to 4 B to 8 F to C | |_________________________________________| The byte flipped code 001B77D8 is converted to 001B77DB, and finally 801B77DB 00XX. To give an example of how easy it can be to change an ArtMoney address into a cheating device code, I'll change the second code that I got while searching for Falcon 2 infinite ammo. > The address I got was 3D247D4B. > First divide the address in two, 3D24 and 7D4B. > 3D24 - 3D09 (start of RAM) = 001B ==> 801B > 7D4B converted ==> 7D48 > Final code is 801B7D48. ArtMoney has one or two minor problems. First is the rate at which the values of the codes are written to the RAM. When you freeze a value, you don't actually freeze it. The value gets continually written to the RAM. To give an example, activate just the second code obtained by searching for infinite ammo, and set it to 2. This code tries to freeze the ammo bar on the right-hand side of the screen into a 2 bullets left position. Reload and you will see the ammo bar blinking, it's trying to become 8, but keeps getting told its supposed to be 2 instead. Turn the code off in ArtMoney, convert it, and enter it into the code section of the emulator you are using. When you activate it you'll notice that the ammo bar is flashing a lot more rapidly. 2 is getting written to the address a lot more often. This problem can be solved by setting the freeze time to 1 in the additional options menu. The second problem is the amount of results that you get while doing searches for values you don't know. You're going to get a lot more than normal. Most of these extra results are constantly changing values that like to be both equal to last and different to last at the same time. Search a few more times than normal and you should get rid of them. Another problem with doing equal and different to searches is that sometimes you will end up with a long section of code that you can't get rid of. This code is usually the addresses of the textures on a character onscreen. ArtMoney can be hard to get working, and it does have some problems with getting codes working. On the upside you can easily port an ArtMoney address to a cheating device address, and hacking codes with ArtMoney is the fastest way there is to hack Perfect Dark in hirez. _______ Support _______ If you have any problems that you can't solve then the best place for support is the forums at gscentral.com. I visit the forums frequently. gscentral.com is also the best place for Perfect Dark codes. http://www.gscentral.com If you can't get through to me at gscentral.com you can email me at: krijy@hotmail.com _______________________________________________________________________________ <<< Special >>> _______________________________________________________________________________ The special part of this FAQ describes all about the hacking process. It's divided into three main parts. The level modifier part teaches you how to make the first part of a level modding code. The modifying the objects in a level part explains how to change the objects, weapons and guards in a level. It also explains how to move players into a level, when they start outside of it. Advanced level modding describes how to make a fully working multiplayer level. Two important keywords you may want to note the difference between are: "Level" which describes the entire level, the arena, the players and the objects. The two types of level are a multiplayer level and a solo level (solo mission). "Arena" which describes the actual place the level takes place in. An example is the Carrington Institute arena which is used in both the CI Training Ground and Defense. An arena consists of background (walls and floors), and collision detection (so that a player knows where the walls are). _______________________________________________________________________________ < Part One - The Level Modifier > _______________________________________________________________________________ > The Level List > The Global object list > The files that build up a level > Changing level files ~ Level list files chart ~ Level list codes chart > Loading a level via the Combat Simulator menu ~ Example of mix matching original multiplayer levels ~ Example of a multiplayer game in a solo only arena ~ Example of a solo mission loaded in multiplayer ~ Tri-operative and Quad-operative modes > Loading a level via the Solo Mission menu's ~ Example of a solo mission in an arena it's not supposed to be in ~ Moonjump codes ~ The amount of pads in a level ~ Loading solo levels via the Cinema menu ~ Skipping the intro logo's and menu's > Other level attributes ~ Level skies ~ Background Music An integral part of making new level setups is the level modifier. When I mention level modifier, I don't just mean a code that changes which level has been loaded. The level modifier codes that I am going to teach you to make, allow you to change the files that build up the levels themselves. Before I go into depth about this, I want you to try two examples. One is a multiplayer level, whilst the other is a solo level. Complex is Chicago: NTSC PAL 8107FF30 000A 81080470 000A 8107FF32 017C 81080472 017C 8107FF34 017B 81080474 017B As you may have guessed from the name, this three lined code turns Complex into Chicago. Simply start any type of multiplayer game in Complex to get it working. You'll notice that most items are in undesirable places, but other than that everything is working fine. Air Force One is in Crash Site: NTSC PAL 81080320 0009 81080860 0009 81080322 0156 81080862 0156 81080324 0155 81080864 0155 This code loads Air Force One: Anti-terrorism in Crash Site. To get it working simply choose the Air Force One level from the solo missions menu. One thing you'll notice with this code is that the intro cut-scene takes place in the sky above where the escape pod in Crash Site usually stands. These two codes should give you an idea of what you can do with the level modifier codes. ______________ The Level List ______________ All the levels in the game are on one list of values. The level list seen below has both multiplayer levels, solo levels, and some other values that aren't levels. These are the values used in what you would consider a normal level modifier, a code that modifies which level is loaded. The two level modifiers that we'll sometimes be using are the solo level mod and the multiplayer level mod. Standard Solo Level Modifier: NTSC PAL 8009DFE9 00XX 8009E589 00XX Standard Multiplayer Level Modifier: NTSC PAL 800ACB99 00XX 800AD139 00XX Below you can see the level value, level type, level code and level name. There are several different level types. Most are either solo levels or multiplayer levels. Nothing means that there isn't any level there at all. Empty means that there is a level there, but it's a BETA level that was never made. The level codenames are the same ones as used in GoldenEye, hence the GoldenEye keywords like azt or crad. Regardless of their codenames, Maian SOS (sev) has nothing to do with Severnaya. Level Value - Level Type - Level Code - Level Name 00 - Random 01 - Nothing 02 - Nothing 03 - Nothing 04 - Nothing 05 - Nothing 06 - Nothing 07 - Nothing 08 - Nothing 09 - Solo - sev - Maian SOS 0A - Nothing 0B - Nothing 0C - Nothing 0D - Nothing 0E - Nothing 0F - Nothing 10 - Nothing 11 - Nothing 12 - Nothing 13 - Nothing 14 - Unknown - silo 15 - Nothing 16 - Solo - stat - WAR! 17 - Mp - arec - Ravine 18 - Empty - arch 19 - Solo - tra - Escape 1A - Empty - dest 1B - BETA - sevb - Retaking the Institute 1C - Solo - azt - Crash Site 1D - Solo - pete - Chicago 1E - Solo - depo - G5 Building (Solo) 1F - Mp - ref - Complex 20 - Mp - cryp - G5 Building (Mp) 21 - Solo - dam - Pelagic II 22 - Solo - ark - Extraction 23 - Empty - run 24 - Empty - sevx 25 - Mp - jun - Temple 26 - Solo - dish - CI Training Ground 27 - Solo - cave - Air Base 28 - Empty - cat 29 - Mp - crad - Pipes 2A - Solo - sho - Skedar Ruins 2B - Empty - sevx 2C - Solo - eld - Villa (Solo) 2D - Solo - imp - Defense 2E - Empty - ash 2F - Solo - lue - Infiltration 30 - Solo - ame - Defection 31 - Solo - rit - Air Force One 32 - Solo & Mp - oat - Skedar 33 - Solo - ear - Investigation 34 - Solo - lee - Attack Ship 35 - Solo - lip - Rescue 36 - Empty - len 37 - Solo - wax - Mr. Blondes Revenge 38 - Solo - pam - Deep Sea 39 - Mp - mp1 - Base 3A - Empty - mp2 3B - Mp - mp3 - Area 52 3C - Mp - mp4 - Warehouse 3D - Mp - mp5 - Car Park 3E - Empty - mp6 3F - Empty - mp7 40 - Empty - mp8 41 - Mp - mp9 - Ruins 42 - Mp - mp10 - Sewers 43 - Mp - mp11 - Felicity 44 - Mp - mp12 - Fortress 45 - Mp - mp13 - Villa (Mp) 46 - Empty - mp14 47 - Mp - mp15 - Grid 48 - Empty - mp16 49 - Empty - mp17 4A - Empty - mp18 4B - Empty - mp19 4C - Empty - mp20 4D - Empty - uff 4E - Empty - old 4F - Solo - ate - Duel 50 - Empty - lam 51 - Nothing 52 - Nothing 53 - Nothing 54 - Nothing 55 - Nothing 56 - Nothing 57 - Nothing 58 - Nothing 59 - Nothing 5A - High resolution game intro (CI Training Ground) 5B - Controller Pak Menu 5C - End Credits 5D - Low resolution game intro (Small but Perfect Menu) There are four known BETA levels. The first is Retaking the Institute. This was supposed to take place in the Carrington Institute, and involved clearing the building of enemy agents. It was never finished in time for the release of the game. The second is a solo level set in the multiplayer arena called Skedar. It's empty, and all it has is player one with some weapons and ammo. The third also takes place in Skedar, but its setups have been deleted. At the E3 show in 1999, a brief four second video of a solo level taking place in Skedar was shown. It involved running around shooting dataDyne shocktroopers and Mr. Blonde's, with some Maian friends helping you. This level could be either of the BETA solo levels that took place in Skedar (most likely the first one). The fourth BETA level is the multiplayer level Rooftop. Since it doesn't have any level text it's impossible to tell which value on the level list Rooftop was originally meant to be at. There are 21 empty levels, including what was originally Citadel in GoldenEye. There are also some remnants of GoldenEye levels left in the game. These can't be used in any way, but you can see part of certain briefings from GoldenEye in the memory editor. All the levels on the level list are pre-built levels consisting of several files. The level list is represented in the memory at: NTSC 8007FCB0 to 80080A10 - PAL 800801F0 to 80080F50 It's the values on this list in the memory that you will be changing in order to create new levels. Before I explain the different files that build up a level, it's important to know where they come from. The files that build up a level, and their values, can be found on the global object list. ______________________ The Global Object List ______________________ The Global Object List is not actually found in the memory during game play. By using a hex editor on a ROM of Perfect Dark, you can find the actual names of all the values on the list. In the memory you can find a list of pointers that point to addresses in the ROM at NTSC 80082060 and PAL 800825A0. The global object list contains every object asset used in the game. It has level files used in levels, object files, costume files and weapon files. It also has some unidentified files that are rumoured to be animation files and dialog files. The entire list is 07DE in hex long, so I won't list the whole thing below. The entire list can be found in the resources section at the bottom of this FAQ. Some examples of the values on the global object list can be seen below: 000C - bgdata/bg_ref.seg - Complexes background file 003D - ob/ob_mid.seg - Unknown? 004E - CmrblondeZ - Mr. Blonde costume 0070 - Pa51boardZ - Area 51 Bulletin board with Maian pictures 0083 - Pborg_crateZ - BETA Cube with a circuit-like texture 00D3 - PgoldeneyelogoZ - BETA GoldenEye Logo 010C - Ump_setupdamZ - BETA GoldenEye Dam solo setup something 011B - Ump_setuprefZ - Complexes multiplayer setup file 0136 - UsetupimpZ - Defenses solo mission setup file 017D - bgdata/bg_ref_padsZ - Complexes pads (preset positions) 017E - bgdata/bg_ref_tilesZ - Complexes collision detection 0199 - CconneryZ - White Tuxedo 01A0 - CheadmrblondeZ - Mr. Blonde Head 026C - Pmatrix_liftZ - Grid lift 0293 - AvilgrimM - Dialogue from Villa? 0358 - PchrpcgunZ - Laptop Gun item 0385 - GpcgunZ - Laptop Gun player 03A0 - Am1_l1_aM - Animation of some sort? 04C7 - GpcgunlodZ - Laptop Gun reloader 0532 - Ghand_mrblondeZ - Mr. Blonde arms 05EE - LimpE - Defenses solo text 05EF - LimpJ - Something to do with Defense 05F0 - LimpP - Something to do with Defense 05F1 - Limp_str_gZ - Something to do with Defense 05F2 - Limp_str_fZ - Something to do with Defense 05F3 - Limp_str_sZ - Something to do with Defense 05F4 - Limp_str_iZ - Something to do with Defense 0756 - Pttb_boxZ - BETA Touch That Box, Box 07DD - Asaucerexp1M - Your guess is as good as mine These values are used in certain places in the memory, either directly or as part of a list like the level list. The values that we will be using in level modifier codes can be seen below: 0001 - bgdata/bg_sev.seg 0002 - bgdata/bg_silo.seg 0003 - bgdata/bg_stat.seg 0004 - bgdata/bg_arec.seg - Ravine 0005 - bgdata/bg_arch.seg 0006 - bgdata/bg_tra.seg 0007 - bgdata/bg_dest.seg 0008 - bgdata/bg_sevb.seg 0009 - bgdata/bg_azt.seg - Crash Site 000A - bgdata/bg_pete.seg - Chicago 000B - bgdata/bg_depo.seg - G5 Building (Solo) 000C - bgdata/bg_ref.seg - Complex 000D - bgdata/bg_cryp.seg - G5 Building (MP) 000E - bgdata/bg_dam.seg - Pelagic II 000F - bgdata/bg_ark.seg 0010 - bgdata/bg_run.seg 0011 - bgdata/bg_sevx.seg 0012 - bgdata/bg_jun.seg - Temple 0013 - bgdata/bg_dish.seg - CI Training 0014 - bgdata/bg_cave.seg - Air Base 0015 - bgdata/bg_cat.seg 0016 - bgdata/bg_crad.seg - Pipes 0017 - bgdata/bg_sho.seg - Skedar Ruins 0018 - bgdata/bg_eld.seg - Villa 0019 - bgdata/bg_imp.seg 001A - bgdata/bg_ash.seg 001B - bgdata/bg_lue.seg - Area 51 001C - bgdata/bg_ame.seg - dataDyne Building 001D - bgdata/bg_rit.seg - Air Force One 001E - bgdata/bg_oat.seg - Skedar 001F - bgdata/bg_ear.seg - Investigation 0020 - bgdata/bg_lee.seg - Attack Ship 0021 - bgdata/bg_lip.seg 0022 - bgdata/bg_len.seg 0023 - bgdata/bg_wax.seg 0024 - bgdata/bg_pam.seg - Deep Sea 0025 - bgdata/bg_uff.seg 0026 - bgdata/bg_old.seg 0027 - bgdata/bg_ate.seg 0028 - bgdata/bg_lam.seg 0029 - bgdata/bg_mp1.seg - Base 002A - bgdata/bg_mp2.seg 002B - bgdata/bg_mp3.seg - Area 52 002C - bgdata/bg_mp4.seg - Warehouse 002D - bgdata/bg_mp5.seg - Car Park 002E - bgdata/bg_mp6.seg 002F - bgdata/bg_mp7.seg 0030 - bgdata/bg_mp8.seg 0031 - bgdata/bg_mp9.seg - Ruins 0032 - bgdata/bg_mp10.seg - Sewers 0033 - bgdata/bg_mp11.seg - Felicity 0034 - bgdata/bg_mp12.seg - Fortress 0035 - bgdata/bg_mp13.seg - Villa 0036 - bgdata/bg_mp14.seg 0037 - bgdata/bg_mp15.seg - Grid 0038 - bgdata/bg_mp16.seg 0039 - bgdata/bg_mp17.seg 003A - bgdata/bg_mp18.seg 003B - bgdata/bg_mp19.seg 003C - bgdata/bg_mp20.seg 0102 - Ump_setupameZ 0103 - Ump_setuparchZ 0104 - Ump_setuparecZ - Ravine 0105 - Ump_setuparkZ 0106 - Ump_setupashZ 0107 - Ump_setupaztZ 0108 - Ump_setupcatZ 0109 - Ump_setupcaveZ 010A - Ump_setupcradZ - Pipes 010B - Ump_setupcrypZ - G5 Building (MP) 010C - Ump_setupdamZ - BETA GoldenEye Dam solo setup something 010D - Ump_setupdepoZ 010E - Ump_setupdestZ 010F - Ump_setupdishZ 0110 - Ump_setupearZ 0111 - Ump_setupeldZ 0112 - Ump_setupimpZ 0113 - Ump_setupjunZ - Temple 0114 - Ump_setupleeZ 0115 - Ump_setuplenZ 0116 - Ump_setuplipZ 0117 - Ump_setuplueZ 0118 - Ump_setupoatZ - Skedar 0119 - Ump_setuppamZ 011A - Ump_setuppeteZ - BETA GoldenEye Streets solo setup something 011B - Ump_setuprefZ - Complex 011C - Ump_setupritZ 011D - Ump_setuprunZ 011E - Ump_setupsevZ 011F - Ump_setupsevbZ - Retaking the Institute 0120 - Ump_setupsevxZ 0121 - Ump_setupshoZ 0122 - Ump_setupsiloZ 0123 - Ump_setupstatZ 0124 - Ump_setuptraZ 0125 - Ump_setupwaxZ 0126 - UsetupameZ - Defection 0127 - UsetuparchZ 0128 - UsetuparecZ 0129 - UsetuparkZ - Extraction 012A - UsetupashZ 012B - UsetupaztZ - Crash Site 012C - UsetupcatZ 012D - UsetupcaveZ - Air Base 012E - UsetupcradZ 012F - UsetupcrypZ 0130 - UsetupdamZ - Pelagic II 0131 - UsetupdepoZ - G5 Building (Solo) 0132 - UsetupdestZ 0133 - UsetupdishZ - CI Training 0134 - UsetupearZ - Investigation 0135 - UsetupeldZ - Villa (Solo) 0136 - UsetupimpZ - Defense 0137 - UsetupjunZ 0138 - UsetupleeZ - Attack Ship 0139 - UsetuplenZ 013A - UsetuplipZ - Rescue 013B - UsetuplueZ - Infiltration 013C - UsetupoatZ - Skedar 013D - UsetuppamZ - Deep Sea 013E - UsetuppeteZ - Chicago 013F - UsetuprefZ 0140 - UsetupritZ - Air Force One 0141 - UsetuprunZ 0142 - UsetupsevZ - Maian SOS 0143 - UsetupsevbZ - Retaking the Institute 0144 - UsetupsevxZ 0145 - UsetupsevxbZ 0146 - UsetupshoZ - Skedar Ruins 0147 - UsetupsiloZ - Unknown 0148 - UsetupstatZ - WAR! 0149 - UsetuptraZ - Escape 014A - UsetupwaxZ - Mr. Blondes Revenge 014B - bgdata/bg_ame_padsZ - Defection 014C - bgdata/bg_ame_tilesZ - dataDyne Building 014D - bgdata/bg_arch_padsZ 014E - bgdata/bg_arch_tilesZ 014F - bgdata/bg_arec_padsZ - Ravine 0150 - bgdata/bg_arec_tilesZ - Ravine 0151 - bgdata/bg_ark_padsZ - Extraction 0152 - bgdata/bg_ark_tilesZ 0153 - bgdata/bg_ash_padsZ 0154 - bgdata/bg_ash_tilesZ 0155 - bgdata/bg_azt_padsZ - Crash Site 0156 - bgdata/bg_azt_tilesZ - Crash Site 0157 - bgdata/bg_cat_padsZ 0158 - bgdata/bg_cat_tilesZ 0159 - bgdata/bg_cave_padsZ - Air Base 015A - bgdata/bg_cave_tilesZ - Air Base 015B - bgdata/bg_crad_padsZ - Pipes 015C - bgdata/bg_crad_tilesZ - Pipes 015D - bgdata/bg_cryp_padsZ - G5 Building (MP) 015E - bgdata/bg_cryp_tilesZ - G5 Building (MP) 015F - bgdata/bg_dam_padsZ - Pelagic II 0160 - bgdata/bg_dam_tilesZ - Pelagic II 0161 - bgdata/bg_depo_padsZ - G5 Building (Solo) 0162 - bgdata/bg_depo_tilesZ - G5 Building (Solo) 0163 - bgdata/bg_dest_padsZ 0164 - bgdata/bg_dest_tilesZ 0165 - bgdata/bg_dish_padsZ - CI Training 0166 - bgdata/bg_dish_tilesZ - Carrington Institute 0167 - bgdata/bg_ear_padsZ - Investigation 0168 - bgdata/bg_ear_tilesZ - Investigation 0169 - bgdata/bg_eld_padsZ - Villa (Solo) 016A - bgdata/bg_eld_tilesZ - Villa (Solo) 016B - bgdata/bg_imp_padsZ - Defense 016C - bgdata/bg_imp_tilesZ 016D - bgdata/bg_jun_padsZ - Temple 016E - bgdata/bg_jun_tilesZ - Temple 016F - bgdata/bg_lee_padsZ - Attack Ship 0170 - bgdata/bg_lee_tilesZ - Attack Ship 0171 - bgdata/bg_len_padsZ 0172 - bgdata/bg_len_tilesZ 0173 - bgdata/bg_lip_padsZ - Rescue 0174 - bgdata/bg_lip_tilesZ 0175 - bgdata/bg_lue_padsZ - Infiltration 0176 - bgdata/bg_lue_tilesZ - Area 51 0177 - bgdata/bg_oat_padsZ - Skedar 0178 - bgdata/bg_oat_tilesZ - Skedar 0179 - bgdata/bg_pam_padsZ - Deep Sea 017A - bgdata/bg_pam_tilesZ - Deep Sea 017B - bgdata/bg_pete_padsZ - Chicago 017C - bgdata/bg_pete_tilesZ - Chicago 017D - bgdata/bg_ref_padsZ - Complex 017E - bgdata/bg_ref_tilesZ - Complex 017F - bgdata/bg_rit_padsZ - Air Force One 0180 - bgdata/bg_rit_tilesZ - Air Force One 0181 - bgdata/bg_run_padsZ 0182 - bgdata/bg_run_tilesZ 0183 - bgdata/bg_sev_padsZ - Maian SOS 0184 - bgdata/bg_sev_tilesZ 0185 - bgdata/bg_sevb_padsZ - Retaking the Institute 0186 - bgdata/bg_sevb_tilesZ 0187 - bgdata/bg_sevx_padsZ 0188 - bgdata/bg_sevx_tilesZ 0189 - bgdata/bg_sho_padsZ - Skedar Ruins 018A - bgdata/bg_sho_tilesZ - Skedar Ruins 018B - bgdata/bg_silo_padsZ - Unknown 018C - bgdata/bg_silo_tilesZ - Unknown 018D - bgdata/bg_stat_padsZ - WAR! 018E - bgdata/bg_stat_tilesZ 018F - bgdata/bg_tra_padsZ - Escape 0190 - bgdata/bg_tra_tilesZ 0191 - bgdata/bg_wax_padsZ - Mr. Blonde's Revenge 0192 - bgdata/bg_wax_tilesZ 01D1 - UsetupuffZ 01D2 - Ump_setupuffZ 01D3 - bgdata/bg_uff_padsZ 01D4 - bgdata/bg_uff_tilesZ 01D5 - UsetupoldZ 01D6 - Ump_setupoldZ 01D7 - bgdata/bg_old_padsZ 01D8 - bgdata/bg_old_tilesZ 01D9 - UsetupateZ - Duel 01DA - Ump_setupateZ 01DB - bgdata/bg_ate_padsZ - Duel 01DC - bgdata/bg_ate_tilesZ 01DD - UsetuplamZ 01DE - Ump_setuplamZ 01DF - bgdata/bg_lam_padsZ 01E0 - bgdata/bg_lam_tilesZ 01E1 - Usetupmp1Z 01E2 - Ump_setupmp1Z - Base 01E3 - bgdata/bg_mp1_padsZ - Base 01E4 - bgdata/bg_mp1_tilesZ - Base 01E5 - Usetupmp2Z 01E6 - Ump_setupmp2Z 01E7 - bgdata/bg_mp2_padsZ 01E8 - bgdata/bg_mp2_tilesZ 01E9 - Usetupmp3Z 01EA - Ump_setupmp3Z - Area 52 01EB - bgdata/bg_mp3_padsZ - Area 52 01EC - bgdata/bg_mp3_tilesZ - Area 52 01ED - Usetupmp4Z 01EE - Ump_setupmp4Z - Warehouse 01EF - bgdata/bg_mp4_padsZ - Warehouse 01F0 - bgdata/bg_mp4_tilesZ - Warehouse 01F1 - Usetupmp5Z 01F2 - Ump_setupmp5Z - Car Park 01F3 - bgdata/bg_mp5_padsZ - Car Park 01F4 - bgdata/bg_mp5_tilesZ - Car Park 01F5 - Usetupmp6Z 01F6 - Ump_setupmp6Z 01F7 - bgdata/bg_mp6_padsZ 01F8 - bgdata/bg_mp6_tilesZ 01F9 - Usetupmp7Z 01FA - Ump_setupmp7Z 01FB - bgdata/bg_mp7_padsZ 01FC - bgdata/bg_mp7_tilesZ 01FD - Usetupmp8Z 01FE - Ump_setupmp8Z 01FF - bgdata/bg_mp8_padsZ 0200 - bgdata/bg_mp8_tilesZ 0201 - Usetupmp9Z 0202 - Ump_setupmp9Z - Ruins 0203 - bgdata/bg_mp9_padsZ - Ruins 0204 - bgdata/bg_mp9_tilesZ - Ruins 0205 - Usetupmp10Z 0206 - Ump_setupmp10Z - Sewers 0207 - bgdata/bg_mp10_padsZ - Sewers 0208 - bgdata/bg_mp10_tilesZ - Sewers 0209 - Usetupmp11Z 020A - Ump_setupmp11Z - Felicity 020B - bgdata/bg_mp11_padsZ - Felicity 020C - bgdata/bg_mp11_tilesZ - Felicity 020D - Usetupmp12Z 020E - Ump_setupmp12Z - Fortress 020F - bgdata/bg_mp12_padsZ - Fortress 0210 - bgdata/bg_mp12_tilesZ - Fortress 0211 - Usetupmp13Z 0212 - Ump_setupmp13Z - Villa 0213 - bgdata/bg_mp13_padsZ - Villa 0214 - bgdata/bg_mp13_tilesZ - Villa 0215 - Usetupmp14Z 0216 - Ump_setupmp14Z 0217 - bgdata/bg_mp14_padsZ 0218 - bgdata/bg_mp14_tilesZ 0219 - Usetupmp15Z 021A - Ump_setupmp15Z - Grid 021B - bgdata/bg_mp15_padsZ - Grid 021C - bgdata/bg_mp15_tilesZ - Grid 021D - Usetupmp16Z 021E - Ump_setupmp16Z 021F - bgdata/bg_mp16_padsZ 0220 - bgdata/bg_mp16_tilesZ 0221 - Usetupmp17Z 0222 - Ump_setupmp17Z 0223 - bgdata/bg_mp17_padsZ 0224 - bgdata/bg_mp17_tilesZ 0225 - Usetupmp18Z 0226 - Ump_setupmp18Z 0227 - bgdata/bg_mp18_padsZ 0228 - bgdata/bg_mp18_tilesZ 0229 - Usetupmp19Z 022A - Ump_setupmp19Z 022B - bgdata/bg_mp19_padsZ 022C - bgdata/bg_mp19_tilesZ 022D - Usetupmp20Z 022E - Ump_setupmp20Z 022F - bgdata/bg_mp20_padsZ 0230 - bgdata/bg_mp20_tilesZ You'll notice that a lot of these files don't have levels connected to them. The reason is that the files are empty! There isn't any information in them. Most of these empty values are used in the "empty" levels I mentioned earlier on in the level list. _______________________________ The files that build up a level _______________________________ There are 5 main files that build up a level, 1 known file that has minimal use, and 6 files that don't have any use. I'll take Chicago as an example. The codename for Chicago is pete: 000A - bgdata/bg_pete.seg - Background data (Wall and floor images) 017C - bgdata/bg_pete_tilesZ - Collision detection (Contact with the bgdata) 017B - bgdata/bg_pete_padsZ - Pads (preset positions) 013E - UsetuppeteZ - Solo mission setup 011A - Ump_setuppeteZ - Multiplayer setup (BETA GoldenEye Streets?) 06DC - LpeteE - Solo mission text 06DD - LpeteJ - Unknown / unused 06DE - LpeteP - Unknown / unused 06DF - Lpete_str_gZ - Unknown / unused 06E0 - Lpete_str_fZ - Unknown / unused 06E1 - Lpete_str_sZ - Unknown / unused 06E2 - Lpete_str_iZ - Unknown / unused We are only going to be changing the first five of these values, the background data, collision detection, setups and pads. Bgdata: ------- The background data is the file that contains information about the walls and floors that you can see in a level. This file is closely related to the collision detection file. Tiles: ------ The tiles file is also known as the collision detection file. It contains information that tells the player when they have walked into a wall, or are standing on a floor. In addition it defines where there are ladders that you can climb up. It has to be used at the same time as its corresponding background data file. A background data and collision detection file used together are known as an arena. There are 31 different arenas. The 31st is the Default arena, which is used in all the "empty" levels that have no distinctive walls or floors. The Default arena is simply a big square floor, and was no doubt used as a testing area at some point during the making of Perfect Dark. Some arenas are so big that they are used in several different levels. Most notable are Area 51 and the dataDyne Building. Pads: ----- The pads are positions defined in relation to the arena they are supposed to be in. Think of a pad as a beer mat lying somewhere in an arena. On the beer mat you put a pint of beer (an object). There are many different kinds of pads. Some simply have coordinates that define a position, others define both position and which direction the object put there is pointing in. Some door pads reshape an object to fit a door, other pads might be hanging is midair. The amount of pads vary from arena to arena, with Complex having only E2 pads, and Area 51 having 568 (that's 1384 in decimal!). Pads should be loaded in the arenas they are meant to be in, but that doesn't mean they're bound to that arena. You could load the pads from Area 51 in Complex, but most of the pads would be outside the arena or hanging in midair. Solo setup and Mp_setup: ------------------------ The setup files put objects in the pads of the arenas they are meant to be played in. The solo setup puts doors, enemies and objects in the pads of a solo level. It also defines objectives and player one's status. Mp_setup files, better known as multiplayer setup files, put ammocrates and weapons in pads. They also put respawn points, bases and hills in pads. A base or hill will highlight the room a pad is in (and put the case on that pad). A lot of the "empty" setups have something in them. These can't be loaded or used in any way, so I haven't found out much about them. To give an example, in multiplayer levels like Sewers, its solo setup contains three lifts. Some of the mp_setup files contain "remnants" of GoldenEye in them. If you try to load them the game will freeze, but you will be able to see parts of their briefings. L"codename"E: ------------- This is solo mission text. You won't be changing this, but it's nice to know it's there. ____________________ Changing level files ____________________ In order to change the levels, you simply need to swap their level files around. Below you can see an example of what Chicago looks like represented in the memory: _____________________________________________________________ | NTSC PAL | |8007FEB0 - 0000 0000 3F80 0000 001D 02FF 6464 0000 - 800803F0| |8007FEC0 - 000A 017C 017B 013E 011A 0000 3F80 0000 - 80080400| |8007FED0 - 3F80 0000 42C8 0000 0000 00FF 0000 00FF - 80080410| |8007FEE0 - 3E19 999A FFFF 0190 0000 0000 3F80 0000 - 80080420| |_____________________________________________________________| 001D is the level value from the level list. The fist 16bit value on the second line is the background data (000A). After that comes the collision detection (017C), the pads (017B), the solo setup (013E) and the mp_setup (011A). In this instance, since Chicago doesn't have a multiplayer setup, the value 011A is an empty file. To modify Chicago you simply need to change a few values (NTSC code example): 8107FEC0 00XX - Background data mod 8107FEC2 0XXX - Collision Detection mod 8107FEC4 0XXX - Pads mod 8107FEC6 0XXX - Solo setup mod 8107FEC8 0XXX - Multiplayer setup mod I'll take another example, this one shows which files Extraction uses: _____________________________________________________________ | NTSC PAL | |8007FFC0 - 3E19 999A FFFF 0190 0000 0000 3F80 0000 - 80080500| |8007FFD0 - 0022 02FF 6464 0000 001C 014C 0151 0129 - 80080510| |8007FFE0 - 0105 0000 3F80 0000 3F80 0000 42C8 0000 - 80080520| |8007FFF0 - 0000 00FF 0000 00FF 3E19 999A FFFF 0190 - 80080530| |_____________________________________________________________| 8107FFD8 00XX - Background data mod 8107FFDA 0XXX - Collision Detection mod 8107FFDC 0XXX - Pads mod 8107FFDE 0XXX - Solo setup mod 8107FFE0 0XXX - Multiplayer setup mod Notice which background data and collision detection files are used here: 001C - bgdata/bg_ame.seg - dataDyne Building 014C - bgdata/bg_ame_tilesZ - dataDyne Building 0151 - bgdata/bg_ark_padsZ - Extraction 0129 - UsetuparkZ - Extraction 0105 - Ump_setuparkZ "ame" is also the codename for Defection, but the bgdata and tiles are used in Defection, Extraction and Mr.Blonde's Revenge. The bgdata and tile files with codename "ark" (000F, 0152) are unused and empty files. Ump_setuparkZ is also empty. Level list files chart: ~~~~~~~~~~~~~~~~~~~~~~~ To make things easier to understand, I've made a list which shows the values from all the levels on the level list, in the order that they are shown in the memory (at NTSC 8007FCB0 to 80080A10 or PAL 800801F0 to 80080F50). The ones with blank level names are levels that are empty and consist only of empty files. The codename doesn't always apply for all bgdata and tiles, like Maian SOS which uses Area 51's bgdata and tiles. The unknown BETA level 14 uses Skedar's bgdata, tiles and pads, but the setup files are empty. The pads and setups in Retaking the Institute are empty too, so there's nothing BETA to be found there either. Level Bgdata Tiles Pads Setup Mp_setup Codename Level Name 09 001B 0176 0183 0142 011E sev Maian SOS 14 001E 0178 0177 0147 0122 silo Unknown 16 0017 018E 018D 0148 0123 stat WAR! 17 0004 0150 014F 0128 0104 arec Ravine 18 0005 014E 014D 0127 0103 arch 19 001B 0176 018F 0149 0124 tra Escape 1A 0007 0164 0163 0132 010E dest 1B 0013 0166 0185 0143 011F sevb Retaking the Institute 1C 0009 0156 0155 012B 0107 azt Crash Site 1D 000A 017C 017B 013E 011A pete Chicago 1E 000B 0162 0161 0131 010D depo G5 Building (Solo) 1F 000C 017E 017D 013F 011B ref Complex 20 000D 015E 015D 012F 010B cryp G5 Building (Mp) 21 000E 0160 015F 0130 010C dam Pelagic II 22 001C 014C 0151 0129 0105 ark Extraction 23 0010 0182 0181 0141 011D run 24 0011 0188 0187 0144 0120 sevx 25 0012 016E 016D 0137 0113 jun Temple 26 0013 0166 0165 0133 010F dish CI Training 27 0014 015A 0159 012D 0109 cave Air Base 28 0015 0158 0157 012C 0108 cat 29 0016 015C 015B 012E 010A crad Pipes 2A 0017 018A 0189 0146 0121 sho Skedar Ruins 2B 0011 0188 0187 0144 0120 sevx 2C 0018 016A 0169 0135 0111 eld Villa (Solo) 2D 0013 0166 016B 0136 0112 imp Defense 2E 001A 0154 0153 012A 0106 ash 2F 001B 0176 0175 013B 0117 lue Infiltration 30 001C 014C 014B 0126 0102 ame Defection 31 001D 0180 017F 0140 011C rit Air Force One 32 001E 0178 0177 013C 0118 oat Skedar 33 001F 0168 0167 0134 0110 ear Investigation 34 0020 0170 016F 0138 0114 lee Attack Ship 35 001B 0176 0173 013A 0116 lip Rescue 36 0022 0172 0171 0139 0115 len 37 001C 014C 014B 014A 0125 wax Mr.Blondes Revenge 38 0024 017A 0179 013D 0119 pam Deep Sea 4D 0025 01D4 01D3 01D1 01D2 uff 4E 0026 01D8 01D7 01D5 01D6 old 4F 0013 0166 01DB 01D9 01DA ate Duel 50 0028 01E0 01DF 01DD 01DE lam 39 0029 01E4 01E3 01E1 01E2 mp1 Base 3A 002A 01E8 01E7 01E5 01E6 mp2 3B 002B 01EC 01EB 01E9 01EA mp3 Area 52 3C 002C 01F0 01EF 01ED 01EE mp4 Warehouse 3D 002D 01F4 01F3 01F1 01F2 mp5 Car Park 3E 002E 01F8 01F7 01F5 01F6 mp6 3F 002F 01FC 01FB 01F9 01FA mp7 40 0030 0200 01FF 01FD 01FE mp8 41 0031 0204 0203 0201 0202 mp9 Ruins 42 0032 0208 0207 0205 0206 mp10 Sewers 43 0033 020C 020B 0209 020A mp11 Felicity 44 0034 0210 020F 020D 020E mp12 Fortress 45 0035 0214 0213 0211 0212 mp13 Villa (Mp) 46 0036 0218 0217 0215 0216 mp14 47 0037 021C 021B 0219 021A mp15 Grid 48 0038 0220 021F 021D 021E mp16 49 0039 0224 0223 0221 0222 mp17 4A 003A 0228 0227 0225 0226 mp18 4B 003B 022C 022B 0229 022A mp19 4C 003C 0230 022F 022D 022E mp20 Level list code charts: ~~~~~~~~~~~~~~~~~~~~~~~ Normally, to find the level modifier code you want, you would have to track down the level you want to change on the level list, represented in the memory (at NTSC 8007FCB0 to 80080A10 or PAL 800801F0 to 80080F50). To make things a lot easier I've compiled the following code lists in both NTSC and PAL. Use the codes together with the values in the tables seen above. NTSC Level List Codes: ---------------------- Value - Bgdata - Tiles - Pads - Setup - Mp_setup - Name 09 8107FCC8 8107FCCA 8107FCCC 8107FCCE 8107FCD0 Maian SOS 14 8107FD00 8107FD02 8107FD04 8107FD06 8107FD08 Unknown 16 8107FD38 8107FD3A 8107FD3C 8107FD3E 8107FD40 WAR! 17 8107FD70 8107FD72 8107FD74 8107FD76 8107FD78 Ravine 18 8107FDA8 8107FDAA 8107FDAC 8107FDAE 8107FDB0 19 8107FDE0 8107FDE2 8107FDE4 8107FDE6 8107FDE8 Escape 1A 8107FE18 8107FE1A 8107FE1C 8107FE1E 8107FE20 1B 8107FE50 8107FE52 8107FE54 8107FE56 8107FE58 Retaking the CI 1C 8107FE88 8107FE8A 8107FE8C 8107FE8E 8107FE90 Crash Site 1D 8107FEC0 8107FEC2 8107FEC4 8107FEC6 8107FEC8 Chicago 1E 8107FEF8 8107FEFA 8107FEFC 8107FEFE 8107FF00 G5 Build. (Solo) 1F 8107FF30 8107FF32 8107FF34 8107FF36 8107FF38 Complex 20 8107FF68 8107FF6A 8107FF6C 8107FF6E 8107FF70 G5 Building (Mp) 21 8107FFA0 8107FFA2 8107FFA4 8107FFA6 8107FFA8 Pelagic II 22 8107FFD8 8107FFDA 8107FFDC 8107FFDE 8107FFE0 Extraction 23 81080010 81080012 81080014 81080016 81080018 24 81080048 8108004A 8108004C 8108004E 81080050 25 81080080 81080082 81080084 81080086 81080088 Temple 26 810800B8 810800BA 810800BC 810800BE 810800C0 CI Training 27 810800F0 810800F2 810800F4 810800F6 810800F8 Air Base 28 81080128 8108012A 8108012C 8108012E 81080130 29 81080160 81080162 81080164 81080166 81080168 Pipes 2A 81080198 8108019A 8108019C 8108019E 810801A0 Skedar Ruins 2B 810801D0 810801D2 810801D4 810801D6 810801D8 2C 81080208 8108020A 8108020C 8108020E 81080210 Villa (Solo) 2D 81080240 81080242 81080244 81080246 81080248 Defense 2E 81080278 8108027A 8108027C 8108027E 81080280 2F 810802B0 810802B2 810802B4 810802B6 810802B8 Infiltration 30 810802E8 810802EA 810802EC 810802EE 810802F0 Defection 31 81080320 81080322 81080324 81080326 81080328 Air Force One 32 81080358 8108035A 8108035C 8108035E 81080360 Skedar 33 81080390 81080392 81080394 81080396 81080398 Investigation 34 810803C8 810803CA 810803CC 810803CE 810803D0 Attack Ship 35 81080400 81080402 81080404 81080406 81080408 Rescue 36 81080438 8108043A 8108043C 8108043E 81080440 37 81080470 81080472 81080474 81080476 81080478 Mr.Blondes Rev. 38 810804A8 810804AA 810804AC 810804AE 810804B0 Deep Sea 4D 810804E0 810804E2 810804E4 810804E6 810804E8 4E 81080518 8108051A 8108051C 8108051E 81080520 4F 81080550 81080552 81080554 81080556 81080558 Duel 50 81080588 8108058A 8108058C 8108058E 81080590 39 810805C0 810805C2 810805C4 810805C6 810805C8 Base 3A 810805F8 810805FA 810805FC 810805FE 81080600 3B 81080630 81080632 81080634 81080636 81080638 Area 52 3C 81080668 8108066A 8108066C 8108066E 81080670 Warehouse 3D 810806A0 810806A2 810806A4 810806A6 810806A8 Car Park 3E 810806D8 810806DA 810806DC 810806DE 810806E0 3F 81080710 81080712 81080714 81080716 81080718 40 81080748 8108074A 8108074C 8108074E 81080750 41 81080780 81080782 81080784 81080786 81080788 Ruins 42 810807B8 810807BA 810807BC 810807BE 810807C0 Sewers 43 810807F0 810807F2 810807F4 810807F6 810807F8 Felicity 44 81080828 8108082A 8108082C 8108082E 81080830 Fortress 45 81080860 81080862 81080864 81080866 81080868 Villa (Mp) 46 81080898 8108089A 8108089C 8108089E 810808A0 47 810808D0 810808D2 810808D4 810808D6 810808D8 Grid 48 81080908 8108090A 8108090C 8108090E 81080910 49 81080940 81080942 81080944 81080946 81080948 4A 81080978 8108097A 8108097C 8108097E 81080980 4B 810809B0 810809B2 810809B4 810809B6 810809B8 4C 810809E8 810809EA 810809EC 810809EE 810809F0 PAL Level List Codes: --------------------- Value - Bgdata - Tiles - Pads - Setup - Mp_setup - Name 09 81080208 8108020A 8108020C 8108020E 81080210 Maian SOS 14 81080240 81080242 81080244 81080246 81080248 Unknown 16 81080278 8108027A 8108027C 8108027E 81080280 WAR! 17 810802B0 810802B2 810802B4 810802B6 810802B8 Ravine 18 810802E8 810802EA 810802EC 810802EE 810802F0 19 81080320 81080322 81080324 81080326 81080328 Escape 1A 81080358 8108035A 8108035C 8108035E 81080360 1B 81080390 81080392 81080394 81080396 81080398 Retaking the CI 1C 810803C8 810803CA 810803CC 810803CE 810803D0 Crash Site 1D 81080400 81080402 81080404 81080406 81080408 Chicago 1E 81080438 8108043A 8108043C 8108043E 81080440 G5 Build. (Solo) 1F 81080470 81080472 81080474 81080476 81080478 Complex 20 810804A8 810804AA 810804AC 810804AE 810804B0 G5 Building (Mp) 21 810804E0 810804E2 810804E4 810804E6 810804E8 Pelagic II 22 81080518 8108051A 8108051C 8108051E 81080520 Extraction 23 81080550 81080552 81080554 81080556 81080558 24 81080588 8108058A 8108058C 8108058E 81080590 25 810805C0 810805C2 810805C4 810805C6 810805C8 Temple 26 810805F8 810805FA 810805FC 810805FE 81080600 CI Training 27 81080630 81080632 81080634 81080636 81080638 Air Base 28 81080668 8108066A 8108066C 8108066E 81080670 29 810806A0 810806A2 810806A4 810806A6 810806A8 Pipes 2A 810806D8 810806DA 810806DC 810806DE 810806E0 Skedar Ruins 2B 81080710 81080712 81080714 81080716 81080718 2C 81080748 8108074A 8108074C 8108074E 81080750 Villa (Solo) 2D 81080780 81080782 81080784 81080786 81080788 Defense 2E 810807B8 810807BA 810807BC 810807BE 810807C0 2F 810807F0 810807F2 810807F4 810807F6 810807F8 Infiltration 30 81080828 8108082A 8108082C 8108082E 81080830 Defection 31 81080860 81080862 81080864 81080866 81080868 Air Force One 32 81080898 8108089A 8108089C 8108089E 810808A0 Skedar 33 810808D0 810808D2 810808D4 810808D6 810808D8 Investigation 34 81080908 8108090A 8108090C 8108090E 81080910 Attack Ship 35 81080940 81080942 81080944 81080946 81080948 Rescue 36 81080978 8108097A 8108097C 8108097E 81080980 37 810809B0 810809B2 810809B4 810809B6 810809B8 Mr.Blondes Rev. 38 810809E8 810809EA 810809EC 810809EE 810809F0 Deep Sea 4D 81080A20 81080A22 81080A24 81080A26 81080A28 4E 81080A58 81080A5A 81080A5C 81080A5E 81080A60 4F 81080A90 81080A92 81080A94 81080A96 81080A98 Duel 50 81080AC8 81080ACA 81080ACC 81080ACE 81080AD0 39 81080B00 81080B02 81080B04 81080B06 81080B08 Base 3A 81080B38 81080B3A 81080B3C 81080B3E 81080B40 3B 81080B70 81080B72 81080B74 81080B76 81080B78 Area 52 3C 81080BA8 81080BAA 81080BAC 81080BAE 81080BB0 Warehouse 3D 81080BE0 81080BE2 81080BE4 81080BE6 81080BE8 Car Park 3E 81080C18 81080C1A 81080C1C 81080C1E 81080C20 3F 81080C50 81080C52 81080C54 81080C56 81080C58 40 81080C88 81080C8A 81080C8C 81080C8E 81080C90 41 81080CC0 81080CC2 81080CC4 81080CC6 81080CC8 Ruins 42 81080CF8 81080CFA 81080CFC 81080CFE 81080D00 Sewers 43 81080D30 81080D32 81080D34 81080D36 81080D38 Felicity 44 81080D68 81080D6A 81080D6C 81080D6E 81080D70 Fortress 45 81080DA0 81080DA2 81080DA4 81080DA6 81080DA8 Villa (Mp) 46 81080DD8 81080DDA 81080DDC 81080DDE 81080DE0 47 81080E10 81080E12 81080E14 81080E16 81080E18 Grid 48 81080E48 81080E4A 81080E4C 81080E4E 81080E50 49 81080E80 81080E82 81080E84 81080E86 81080E88 4A 81080EB8 81080EBA 81080EBC 81080EBE 81080EC0 4B 81080EF0 81080EF2 81080EF4 81080EF6 81080EF8 4C 81080F28 81080F2A 81080F2C 81080F2E 81080F30 _____________________________________________ Loading a level via the Combat Simulator menu _____________________________________________ When loading a level via the combat simulator menu, you'll be loading levels in multiplayer mode. Multiplayer mode more or less means that any players will be the players chosen from the player menu's, the pause menu system will be like that from multiplayer, and you can set lots of different things (like one-hit kills, or fast motion). You probably know all this from before, but the reason I'm telling you is because you can load a solo level via the Combat Simulator menu. Remember those two different setups mentioned earlier? When you load a level via the Combat Simulator menu, the file set at the mp_setup slot will be loaded. Multiplayer mode uses only four files, the bgdata, tiles, pads and mp_setup. You can mix and match files from the original multiplayer levels easily. To load solo levels, and levels that can't be selected from the level menu, you have to use the standard multiplayer level mod: NTSC PAL 800ACB99 00XX 800AD139 00XX To select the modified level from the arena list, instead of always forcing the game to play in the same level, use the following code. This code changes which level is loaded when you choose Random from the arena menu: NTSC PAL 80084BF9 00XX 80085149 00XX Example of mix matching original multiplayer levels (PAL example): ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Villa Bgdata mod: 81080DA0 002C - Warehouse bgdata Villa Tiles mod: 81080DA2 01F0 - Warehouse tiles Villa Pads mod: 81080DA4 01EF - Warehouse pads Villa Mp_setup mod: 81080DA8 01E2 - Base mp_setup The codes change Villa, so to play in this level simply select Villa. You'll notice that the actual level is Warehouse, with Warehouse's positions, but the sky is Villa's. The mp_setup is Base's, so it has lots of metal crates, five doors and two lifts. All of these objects are put in positions that correspond to Base's pads. As a result, most of the objects are out of place. Villa is Warehouse with Base's mp_setup: NTSC PAL 81080860 002C 81080DA0 002C 81080862 01F0 81080DA2 01F0 81080864 01EF 81080DA4 01EF 81080868 01E2 81080DA8 01E2 Example of a multiplayer game in a solo only arena: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is probably what you'll be doing most, making previously solo only arenas playable in multiplayer. The problem with solo only levels is that they don't have mp_setup files (or rather, they do have mp_setup files, but they're either empty or GoldenEye leftovers). The solution is rather simple. Simply use an mp_setup file from a multiplayer level that has a working mp_setup file. Remember the "Complex is Chicago" code I showed you earlier? NTSC PAL 8107FF30 000A 81080470 000A - Complex bgdata mod 8107FF32 017C 81080472 017C - Complex tiles mod 8107FF34 017B 81080474 017B - Complex pads mod All this code does is change the look and positions of Complex into Chicago. Complexes mp_setup remains unchanged, so you play in Chicago with Complexes mp_setup. Base is the Carrington Institute with Skedar's mp_setup: NTSC PAL 810805C0 0013 81080B00 0013 810805C2 0166 81080B02 0166 810805C4 0165 81080B04 0165 810805C8 0118 81080B08 0118 This is a version of the Carrington Institute in multiplayer. It's a Base mod so choose Base from the menu. It uses Skedar's mp_setup. The weapons can be found in the hangar, and the ammo can be found in the firing range. If you use other mp_setups the weapons and ammo will appear elsewhere. The following mp_setups are the best ones to use: 011B - Complex 0118 - Skedar 010B - G5 Building (Mp) 0212 - Villa If you remove the last code in the example above, Base's mp_setup will be loaded. This mp_setup is great for the Carrington Institute because it has two lifts in it. In the example above you may have noticed that the level looks kind of flushed out. That's because the shadowing is missing. This is most obvious in the firing range, by looking at the walls along the left and right (they're usually blacked out). If you look around you will actually see that some walls are darker than others. These patches are actually Base's shadowing. The files that build up a level aren't the only things connected to a level. There's also shadowing, fog, backdrop and sky. The problem can easily be solved by loading the Carrington Institute in a level it's meant to be loaded in: The Carrington Institute (Defense version) in multiplayer with Base's setup: NTSC PAL 800ACB99 002D 800AD139 002D 81080210 0212 81080788 0212 The shadowing will work with this version of the code. The sky should also be blue and sunny, and it takes less lines of code to achieve the same results. The floor reflection in the main hall also works. Example of a solo mission loaded in multiplayer: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Loading a solo mission via the Combat Simulator gives you a wealth of options you can't choose from normally via the Solo Mission menu. The easiest way to make this type of level mod is to simply swap the solo and mp_setup files around, and don't change the background data or collision detection. You want to have the shadowing loaded in the right level, or the game tends to freeze. WAR! loaded via the Combat Simulator: NTSC PAL 800ACB99 0016 800AD139 0016 8107FD40 0148 81080280 0148 To get this seriously cool code working, simply press start at the Combat Simulator Advanced menu. Don't be too hasty, there are a few things you have to set before entering the level. First and foremost you'll want to turn on teams and select Cyan. If you don't, the Maians at the start of the level will mince you with their Callistoes (the Skedar's team colour is yellow). Secondly, you won't be playing as a Maian soldier. You'll be playing as player one, so load your own multiplayer player from the menu. Lastly you can set certain stuff like slow-motion or fast movement. Once the game starts, you'll take control of your player and probably feel large because you usually play this level with a short Maian. The objectives interface isn't activated, so you won't be getting any "Objective 1 Completed" messages. If you die you'll respawn at the start of the level. By default the game loads the level in Agent mode. Last but not least, the game will freeze when it tries to load the level complete menu. Level Difficulty Mod: NTSC PAL 80084023 000X 80084563 000X Use this code to set the level difficulty. The values are: 00 - Agent (It's set at this by default) 01 - Special Agent 02 - Perfect Agent Level Complete Fix: NTSC PAL 8009D08B 0001 8009D5EB 0001 - Agent 8009D08F 0001 8009D5EF 0001 - Special Agent 8009D013 0001 8009D5F3 0001 - Perfect Agent Use this code to stop the game from freezing when the level is completed. If you're playing in Agent mode then use the first code. If you're playing in Special Agent mode then use the first and second code. For Perfect Agent mode use all three codes. If the above code doesn't work, use this code instead: Alternate Level Complete Fix: NTSC PAL D1067E56 XX00 D1067B36 XX00 800AC7F6 0190 800ACD96 0190 This code contains the objectives complete modifier and the Briefcase score modifier. To get it working you need to have Hold the Briefcase on as a scenario, and Team Score must not be set to unlimited. The game ends the moment you complete all the objectives, so you can't watch the outro cut-scene. The objective values for WAR! are: 02 - Objective one complete (Agent) 06 - Objective one and two complete (Special Agent) 0E - Objective one, two and three complete (Perfect Agent) Some solo missions have objectives that simply won't work when you load the mission via the Combat Simulator menu. A good example is in Defense. The buttons that activate the droneguns don't work. You simply can't press them, so you can't activate them. When it comes to these kind of objectives, the best thing to do is to hack individual codes that fix the problems. Since that can be a hard and lengthy procedure, the second best thing to do is use the objectives completed mod, and simply skip the objective. Objectives completed (or failed) modifier: NTSC PAL 81067E56 XX00 81067B36 XX00 The values for the objectives completed mod vary depending on which level is loaded, and how many objectives there are. If completing objective 1 had the value 02, and completing objective 1 and 2 had the value 04, you could make the following code: D1067E56 0200 81067E56 0400 This code uses an activator. When objective 1 is complete, objective 1 and 2 will become complete. Note of importance: Depending on the compatibility of your cheating device, only certain levels will work. It's well known that with a version 3.0 Gameshark or Action Replay, you can't play in Villa (Solo) or Infiltration. The version 3.3 Professional cheating devices have better compatibility. For the best compatibility use an emulator on a PC. Not all levels can be loaded via the Combat Simulator menu when using a version 3.0 cheating device. Of those levels that can be loaded and work with version 3.0, stick to playing with only one player. WAR! is a relatively easy level to load, and the example I've given above works in all versions. If you try and add a second player (Co-operative mode) and have a version 3.0, the game will freeze. If you have anything better than 3.0 then two players should work fine. On a PC you can activate up to four players, for Tri-operative and Quad-operative modes. Tri-operative and Quad-operative modes: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sounds exciting doesn't it? The ability to play solo levels with up to four people. There are two problems with this. The first is that most levels won't work, and the second is that the game lags. In normal co-operative mode the game lags quite a bit, but add two more players and the enemies will be running around you in circles before you even see them. To get Tri-operative or Quad-operative modes working, simply follow the same procedure as loading a solo mission via the Combat Simulator menu. WAR! loaded via the Combat Simulator (Complete, Perfect Agent version): NTSC PAL 800ACB99 0016 800AD139 0016 8107FD40 0148 81080280 0148 80084023 0002 80084563 0002 8009D08B 0001 8009D5EB 0001 8009D08F 0001 8009D5EF 0001 8009D013 0001 8009D5F3 0001 The amount of players depends on how many have pressed start. Unfortunately, player three and four are stuck inside each other, so you'll have to either kill one of them, or move them (see Part 2). ___________________________________________ Loading a level via the solo mission menu's ___________________________________________ Loading levels via the solo menu's really only allows you to play solo missions. You can't load multiplayer setups or multiplayer games via the solo mission menu's. The solo mission menu's are the one player Solo Mission menu, Co-operative menu, Counter-operative menu and the Cinema menu. Loading a level from the Cinema menu allows you to skip the solo mission briefing. When you load a level via the solo mission menu's, the game uses 11 different files. Four of these are the files that build up a level: bgdata, tiles, pads and solo setup. The game loads the file set at the solo setup value. The remaining 7 files are the level text and 6 other files that are connected to a missions solo setup. You can't change these files (with the exception of the text), so you can only load solo setups in the levels they are meant to be in. You can't swap levels around so that, to give an example, you change Chicago into Pelagic II. You can't do this because you can't change Chicago's other solo mission files. This means that when using the solo mission menu's, you'll only be able to change the bgdata, tiles and pads. Try and change anything else and you risk the game freezing. 000A - bgdata/bg_pete.seg - Background data (Wall and floor images) 017C - bgdata/bg_pete_tilesZ - Collision detection (Contact with the bgdata) 017B - bgdata/bg_pete_padsZ - Pads (preset positions) 013E - UsetuppeteZ - Solo mission setup 06DC - LpeteE - Solo mission text 06DD - LpeteJ - Unknown / unused 06DE - LpeteP - Unknown / unused 06DF - Lpete_str_gZ - Unknown / unused 06E0 - Lpete_str_fZ - Unknown / unused 06E1 - Lpete_str_sZ - Unknown / unused 06E2 - Lpete_str_iZ - Unknown / unused Standard Solo Level Modifier: NTSC PAL 8009DFE9 00XX 8009E589 00XX Example of a solo mission in an arena it's not supposed to be in: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Putting a solo mission in an arena it's not supposed to be in can produce some really cool solo levels. The process involves putting all the objects and guards from a solo setup, into a different arena than normal. Not all combinations work, and not all combinations are easy to get to work. Choosing which setup to put in which arena defines what kind of level it will be like. You can load WAR!s setup in almost any arena, giving you a solo mission that involves respawning enemies and targets you have to kill. Alternatively, you can load Crash Site's setup into most arenas, giving you a level with lots of guards walking around. The following example loads Area 51's arena in Crash Site. Select Crash Site from the solo mission menu to get it working. Crash Site in Area 51: NTSC PAL 8107FE88 001B 810803C8 001B 8107FE8A 0176 810803CA 0176 8107FE8C 0175 810803CC 0175 The first thing you'll notice is the cut-scene. It takes place above the arena. It does this because the cut-scene is taking place in the exact same place as the cut-scene normally would in Crash Site's arena. Unfortunately you can't change this, and you will start at exactly the same coordinates as normal. This is usually outside the level, meaning that when the game starts, player one falls to the ground and dies (in the example you fall down and land in the level). This can be solved by either changing player ones coordinates temporarily, or by moonjumping. Other things you may notice is the sheer amount of objects in odd places, and that some of the objectives have become unachievable. You will also see that some of the attributes of the level have been transferred over. What I'm talking about is like in the example, it's snowing everywhere, and some of the rooms are shrouded in darkness like the caves from Crash Site. This can either be for the better or worst. Moonjump codes: ~~~~~~~~~~~~~~~ In order to get around a level there are two ways. Both involve using activators, which means having to press a button. The first way is by moving player ones coordinates. I'll describe how to do this in Part 2. The second way to get around, or to move player one into a level, is by moonjumping. Moonjumping is perfect for when you want to test arena and setup combinations, because you usually start outside the level. Simply press B to move upwards, while you are falling. You have to find something to fall off, but you can usually find a "hotspot" that allows you to moonjump from a flat floor. Switching to controller style 1.1 makes things a lot easier to control. There are four different moonjump codes. Which one you use is decided by the arena you are in (with one or two exceptions). Most solo arenas use the first moonjump code provided, Villa (Solo) and Infiltration differ (Maian SOS differs too, but I can't remember which moonjump it uses). All multiplayer arenas use the multiplayer moonjump. You can activate all four moonjump codes at the same time without any side effects, so the easiest thing to do is just activate them all. Solo only arena Moonjump: NTSC PAL D009C7E4 0040 D1099FB0 4000 81206720 40F2 81202000 40F2 D009C7E4 0040 D1099FB0 4000 802066D3 0000 80201FB3 0000 Multiplayer arena Moonjump: NTSC PAL D009C7E4 0040 D1099FB0 4000 811BB720 40F2 811B7000 40F2 D009C7E4 0040 D1099FB0 4000 801BB6D3 0000 801B6FB3 0000 Villa (Solo) Moonjump: NTSC PAL D009C7E4 0040 D1099FB0 4000 811ED720 40F2 811E9000 40F2 D009C7E4 0040 D1099FB0 4000 801ED6D3 0000 801E8FB3 0000 Infiltration Moonjump: NTSC PAL D009C7E4 0040 D1099FB0 4000 811D4720 40F2 811D0000 40F2 D009C7E4 0040 D1099FB0 4000 801D46D3 0000 801CFFB3 0000 The amount of pads in a level: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The amount of pads there is in a level has a lot to do with whether a setup can be loaded in a different level or not. If the setup is trying to place an object on a pad that doesn't exist, the game is likely to freeze. To give an example, Complex has E2 pads and Area 51 has 568. The solo setup for Maian SOS has lots of objects and guards it puts in 568 different places. Let's say that the UFO is put at pad number 52E. When you load Maian SOS's setup in Complex with Complexes pads, the UFO is still put at pad number 52E. Complex only has E2 pads, pad number 52E doesn't exist! There's about an 80% chance that the game will freeze. The more objects and guards that are put in pads that don't exist, the higher this percentage becomes. Does this mean that you can't load Maian SOS's setup in Complex? The answer would be no. The setup for Maian SOS is incompatible with the pads from Complex, but not with the pads from Area 51. You can load Complex with Area 51's pads, and Maian SOS's setup and it won't freeze. Consequently, none of the pads from Area 51 are put in the same position as the arena Complex, so the arena will be empty. To make things easier to work out I've compiled the following list: Number: Level used in: Total number of pads (in hex): 0183 Maian SOS 568 018D WAR! 152 014F Ravine EF 018F Escape 568 0185 Retaking the Institute 0 0155 Crash Site 1DF 017B Chicago 126 0161 G5 Building (Solo) 103 017D Complex E2 015D G5 Building (MP) D1 015F Pelagic II 225 0151 Extraction 25F 016D Temple C0 0165 Carrington Institute 28A 0159 Air Base 1FA 015B Pipes 105 0189 Skedar Ruins 152 0169 Villa (Solo) 23A 016B Defense 28A 0175 Infiltration 568 014B Defection 260 017F Air Force One 172 0177 Skedar 106 0167 Investigation 280 016F Attack Ship 1F6 0173 Rescue 568 0191 Mr. Blonde's Revenge 0 0179 Deep Sea 29C 01DB Duel 28A 01E3 Base F7 01EB Area 52 11D 01EF Warehouse 190 01F3 Car Park 134 0203 Ruins BA 0207 Sewers BA 020B Felicity F3 020F Fortress 202 0213 Villa DB 021B Grid DA Some pad files are identical to one another. Infiltration, Rescue, Escape and Maian SOS all share Area 51's pads. Swapping the pads from Rescue with the ones from Maian SOS won't change anything. The same goes for Defense, Duel and the CI Training Ground. Retaking the Institute doesn't have any pads. Most of Defections pads are different than Extractions pads. Mr. Blondes Revenge uses Defections pads. Loading solo levels via the Cinema menu: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Some solo levels freeze at the objectives and briefing menu when you try to load them. Other levels you may want to start after a mid-level cut-scene. This can be done by loading the level via the Cinema menu. No briefings will be shown, so the game won't freeze. In order to stop the game from ending the level the moment you start you need the following code: "Happening" Modifier: NTSC PAL 8009A493 000X 8009A9E3 000X The "happening" modifier shows the value 0000 when the game wants something to happen, and 0001 when it doesn't want anything to happen. Set it at 0000 and the level won't end when the cut-scene finishes. Set it at 0001 and you can't activate any of the cut-scenes. Skipping the intro logo's and menu's: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you really can't get past the logo's without the game freezing, or you want to test levels quickly, there is a way to skip the intro logo's. In truth, you don't just skip the logo's and menu's, you skip everything else as well! Loading levels like this is the best way to see if a combination of level files will work or not, and it's also a lot easier than having to watch all the logo's, and go through all the menu's before finally getting the chance to test a level. Go straight to a solo mission upon starting the game: NTSC PAL 8105D9B6 00XX 8105D656 00XX 8009DFE9 00XX 8009E589 00XX 81075582 0000 81075A52 0000 81074602 0000 81074AAA 0000 8107459A 0000 81074A42 0000 XX stands for a value from the level list. The other codes are menu modifiers that stop you from selecting anything from the menu's that pop up. The only way to freeze the game is by pressing B at the objectives menu when you restart. You should be able to play the level over and over. ______________________ Other level attributes ______________________ The files that build up a level are not the only things that are connected to a level. A level also has a sky, shadowing, fog, and if it's a solo level, background music (lights are part of the background data, when loaded in solo). You can't change these very easily, so if you want to make a level with a specific sky or fog type, you have to modify that level. If you want to play solo arenas in multiplayer, you need the shadowing for those levels as well. To get this you have to modify the levels the solo arenas are originally used in. Some levels allow you to see farther, and some levels reduce how far you can see by blacking out walls in the distance. Levels with fog in like Crash Site allow you to see far into the distance. One thing to note is that when you load a level in solo mode, any backdrops will appear. What I mean as in backdrop is the sun from the Carrington Institute, the planet from Attack Ship and the moon from the dataDyne Building. These backdrops will disappear when you load the level in multiplayer mode. When you make level mods for lorez you've got to make sure you modify an already working level, and hope that that levels shadowing doesn't mess things up. Level Skies: ~~~~~~~~~~~~ There are different types of level skies. Multiplayer usually has a black sky with coloured clouds, while solo usually has a nicer looking sky with a backdrop. Some levels that are large have fog, but it isn't used as much as in GoldenEye. One level to take note of is BETA level 2B, which has really heavy fogging and you can’t see farther than a few meters ahead of you. Level Codename Level Name Sky Description 09 sev Maian SOS Area 51 backdrop 14 silo Skedar Red dark cloudy sky 16 stat WAR! Multicoloured sky with three suns 17 arec Ravine Orange dark cloudy sky 18 arch BETA Black sky 19 tra Escape Area 51 backdrop 1A dest BETA Blue sky with white clouds, waterline 1B sevb Retaking the Inst. Blue sky with sun 1C azt Crash Site Red sky with orange clouds and some fog 1D pete Chicago Orange dark cloudy sky 1E depo G5 Building (Solo) Black sky 1F ref Complex Grey dark cloudy sky 20 cryp G5 Building (Mp) Cyan dark cloudy sky 21 dam Pelagic II Blue sky with white clouds and some fog 22 ark Extraction Starlight sky, moon backdrop 23 run BETA Black sky 24 sevx BETA Grey dark cloudy sky 25 jun Temple Blue sky with white clouds 26 dish CI Training Blue sky with sun 27 cave Air Base Dark blue sky with white clouds 28 cat BETA Blue sky 29 crad Pipes Cyan dark cloudy sky 2A sho Skedar Ruins Multicoloured sky with three suns 2B sevx BETA Red dark cloudy sky, heavy fogging 2C eld Villa Blue sky with sun 2D imp Defense Blue sky with sun 2E ash BETA Black sky 2F lue Infiltration Area 51 backdrop 30 ame Defection Starlight sky, moon backdrop 31 rit Air Force One Dark blue sky with white clouds, waterline 32 oat Skedar Red dark cloudy sky 33 ear Investigation Black sky 34 lee Attack Ship Starlight sky, Skedar homeworld planet 35 lip Rescue Area 51 backdrop 36 len BETA Green sky 37 wax Mr.Blondes Revenge Starlight sky, moon backdrop 38 pam Deep Sea Black sky 4D uff BETA Black sky 4E old BETA Starlight sky (Messed up visualisation) 4F ate Duel Blue sky with sun 50 lam BETA Black sky 39 mp1 Base Green dark cloudy sky 3A mp2 BETA Grey dark cloudy sky 3B mp3 Area 52 Cyan dark cloudy sky 3C mp4 Warehouse Grey dark cloudy sky 3D mp5 Car Park Green dark cloudy sky 3E mp6 BETA Black sky 3F mp7 BETA Black sky 40 mp8 BETA Black sky 41 mp9 Ruins Green dark cloudy sky 42 mp10 Sewers Grey dark cloudy sky 43 mp11 Felicity Green dark cloudy sky 44 mp12 Fortress Cyan dark cloudy sky 45 mp13 Villa Blue sky with white clouds 46 mp14 BETA Black sky 47 mp15 Grid Black sky 48 mp16 BETA Black sky 49 mp17 BETA Green dark cloudy sky 4A mp18 BETA Black sky 4B mp19 BETA Black sky 4C mp20 BETA Blue sky with white clouds What can the level skies tell us about the BETA levels? Most BETA levels have black sky, but some have coloured skies, and even a little bit of shadowing and fog. Some of the level skies look like they've been left over from GoldenEye. Most notably is level 1A which has a cloudy sky and a waterline. In GoldenEye, 1A is Frigates level. The level 2B is the level that Surface 2 is in, and that has heavy fog like the one in Perfect Dark has too. It's still hard to tell which level was meant to be Rooftop, but it can't have been any of the BETA levels with a black sky. Rooftop must have had a sky to look up at, because like the name states, it takes place on a rooftop. Background Music: ~~~~~~~~~~~~~~~~~ Multiplayer allows you to select soundtracks from the soundtrack menu. You can either select the soundtrack you want from the menu, or use a music modifier to listen to any of the soundtracks from the entire game: Multiplayer Music Modifier: NTSC PAL 800AA5FB 00XX 800AAB9B 00XX Soundtracks: 00 - Random 3A - Dark Combat 3B - Skedar Mystery 3C - The BETA Soundtrack (starts like Deep sea but changes) 3D - CI Operative 3E - dataDyne Action 3F - Maian Tears 40 - Alien Conflict 0D - Carrington Institute 09 - Defection 10 - Defection X 12 - Investigation 13 - Investigation X 02 - Extraction 11 - Extraction X 0C - Villa 27 - Villa X 0E - Chicago 28 - Chicago X 0F - G5 Building 29 - G5 Building X 14 - Infiltration 2A - Infiltration X 16 - Rescue 32 - Rescue X 06 - Escape 33 - Escape X 17 - Air Base 34 - Air Base X 18 - Air Force One 35 - Air Force One X 1D - Crash Site 1E - Crash Site X 1C - Pelagic II 36 - Pelagic II X 07 - Deep Sea 37 - Deep Sea X 04 - Defense 24 - Defense X 1F - Attack Ship (Doesn't work in lorez) 20 - Attack Ship X 21 - Skedar Ruins 38 - Skedar Ruins X 58 - End Credits 03 - Pause Menu 0A - Death music from Solo 1B - Mission Status Unknown 47 - Mission Failed 48 - Combat Simulator Menu 49 - Mission Success 59 - Perfect Menu 64 - The Last Boss music (Doesn't work in lorez) 65 - Training 67 - Combat Simulator Game Complete Cut-Scene Music: 0B - Sound effects from Defection intro 22 - Defection intro without sound effects 23 - Defection outro 25 - Investigatin intro 26 - Investigation outro 2D - Extraction intro 2C - Extraction outro 30 - Villa intro version one 43 - Villa intro version two 44 - Villa intro version three 1A - Jumpship sounds from Villa intro 63 - Villa outro 2F - Chicago intro 2B - Chicago outro 2E - G5 Building intro 46 - G5 Building Special 45 - G5 Building outro 31 - Infiltration intro 53 - Infiltration outro 51 - Rescue intro 42 - Rescue outro 41 - Escape intro 50 - Escape Special 55 - Escape outro 76 - Escape outro (Short version) 72 - UFO from Escape outro 4B - Air Base intro 39 - Air Base intro (Last part only) 60 - Air Base outro 4E - Air Force One intro 5B - Air Force One Special 5D - Air Force One outro 4A - Confrontation intro 57 - Confrontation outro 54 - Pelagic II intro 5C - Pelagic II outro 52 - Deep Sea intro 4D - Deep Sea Special 5A - Deep Sea outro 56 - Defense intro 61 - Defense outro 4C - Attack Ship intro 4F - Attack Ship outro 5E - Skedar Ruins intro 62 - Skedar Ruins outro 6C - Joanna using PC cut-scene Background Sound Effects from Solo missions: 05 - Experiments from Investigation 08 - Traffic from the dataDyne Building 66 - Wind with strange beats from Crash Site 68 - The sound of the sea from Pelagic II and Villa 69 - Wind from Air Base 6A - Traffic from Chicago and the G5 Building 6D - Frogs and Grasshoppers from Infiltration 6E - Ceten Screams from Deep Sea 6F - Hum from Air Force One 70 - Hum from Attack Ship 71 - Wind from Skedar Ruins and WAR! 73 - Area 51 employee commandments from Rescue 74 - Area 51 employee commandments from Escape and Maian SOS Short Sound Effects: 01 - Rareware logo 15 - BETA Combat Simulator death soundtrack 19 - Combat Simulator death 5F - A simple tone (Bloop) 6B - Perfect Dark Logo music 75 - BETA A few plongs which sound like the Mario theme A simple music modifier for solo levels (like the one for multiplayer seen above) does exist, but it doesn't work as expected. Solo levels have two soundtracks, a foreground and background soundtrack (in addition to an X soundtrack). The solo music modifier randomly selects which of the foreground and background soundtracks to choose from. The result is that you sometimes end up with two soundtracks playing at the same time. Instead of a code that modifies the soundtrack played in all solo levels, you need to make codes that work in single levels. The solo level soundtrack list is located at NTSC 80084500 and PAL 80084A50. To make things easier I've made a table which can be seen below: ____________________________________________________________________________ | NTSC: LV: FG: BG: Xs: PAL: Level name: | | | | 80084500 - 0026 000D FFFF 0024 - 80084A50 -> CI Training Ground | | 80084508 - 0030 0009 0008 0010 - 80084A58 -> Defection | | 80084510 - 0033 0012 0005 0013 - 80084A60 -> Investigation | | 80084518 - 0022 0002 0008 0011 - 80084A68 -> Extraction | | 80084520 - 002C 000C 0068 0027 - 80084A70 -> Carrington Villa | | 80084528 - 001D 000E 006A 0028 - 80084A78 -> Chicago | | 80084530 - 001E 000F 006A 0029 - 80084A80 -> G5 Building | | 80084538 - 002F 0014 006D 002A - 80084A88 -> Infiltration | | 80084540 - 0035 0016 0073 0032 - 80084A90 -> Rescue | | 80084548 - 0019 0006 0074 0033 - 80084A98 -> Escape | | 80084550 - 0027 0017 0069 0034 - 80084AA0 -> Air Base | | 80084558 - 0031 0018 006F 0035 - 80084AA8 -> Air Force One | | 80084560 - 001C 001D 0066 001E - 80084AB0 -> Crash Site | | 80084568 - 0021 001C 0068 0036 - 80084AB8 -> Pelagic II | | 80084570 - 0038 0007 006E 0037 - 80084AC0 -> Deep Sea | | 80084578 - 002D 0004 FFFF 0024 - 80084AC8 -> Defense | | 80084580 - 0034 001F 0070 0020 - 80084AD0 -> Attack Ship | | 80084588 - 002A 0021 0071 0038 - 80084AD8 -> Skedar Ruins | | 80084590 - 0037 003A 0008 003A - 80084AE0 -> Mr. Blondes Revenge | | 80084598 - 0009 003F 0074 003F - 80084AE8 -> Maian SOS | | 800845A0 - 001B 003D FFFF 003D - 80084AF0 -> Retaking the Institute | | 800845A8 - 0016 0040 0071 0040 - 80084AF8 -> WAR! | | 800845B0 - 004F 0058 FFFF 0058 - 80084B00 -> Duel | | 800845B8 - 005C 0040 FFFF 0040 - 80084B08 -> Scrolling PD Logo | |__________________________________________________________________________| In the first column of values you can see the level number. These numbers are the same as the ones on the level list and don't need to be changed. The second row holds the foreground soundtrack modifier (FG), and the third holds the background soundtrack modifier (BG). The last row is the X soundtrack modifier. The foreground soundtrack is the normal soundtrack you listen to. The background soundtrack is the background effects that you can hear in most levels. To give an example, it could be wind from levels like Skedar Ruins, or traffic buzz from levels like Defection and Extraction. The X soundtrack is the upbeat version of the normal foreground music. It's normally activated some time during the level (it isn't activated in Investigation, Pelagic II or Crash Site). To make the code of your choice, simply use the table above to assign the correct values to the correct address. To give an example, if you wanted to make a code that changes Crash Sites foreground music into Alien Conflict, it would be: NTSC PAL 81084562 0040 81084AB2 0040 Changing the soundtrack in a solo level goes a long way to changing the overall feel of the level, and makes it feel more different than if you just let the original soundtrack play. _______________________________________________________________________________ < Part Two - Modifying the objects in a level > _______________________________________________________________________________ > Modifying objects ~ NTSC Object modifier codes ~ PAL Object modifier codes > Modifying weapons ~ NTSC Weapon modifier codes ~ PAL Weapon modifier codes ~ Multiplayer ammo codes > Modifying costumes ~ Body image modifier codes ~ Head image modifier codes ~ Arm image modifier codes ~ Gender modifying ~ Random enemy head modifying > Moving players into levels ~ The real time coordinates list ~ Finding your current coordinates ~ Moving a player with activators ~ The CI Training Ground Disabler _________________ Modifying objects _________________ When you modify an object using the following codes, you modify all instances of that object in the game. Wherever it appears in the game it will have been changed. To give an example, if you were to change the metal crate image into a UFO, you would get UFO's in Complex and Ravine (which both have metal crates). These codes only allow you to change an objects image and size. The object image is modified using the object image values on the global object list. Below you will see two lists of codes, one for PAL and one for NTSC. This list is taken from NTSC 8007B070 and PAL 8007B540, and builds up the in-game object list (see the resources section). You will find codes that modify an objects image next to that object, and it's image value from the global object list. To make an object modification simply find the object you want to change, and the object you want to change it to. Use the code from the object you want to change, and the image value of the object you want to change it to (try not to mix the PAL and NTSC lists up, they look identical). Here's an example: Change Shield into BETA Body Armour: NTSC PAL 8107B810 0564 8107BCE0 0564 To modify an objects size, simply add 2 to the image modifier address. Most objects have either 0199 or 1000 as their object size. Make Shield (or the object it has been turned into) Bigger: NTSC PAL 8107B812 1000 8107BCE2 1000 It is also possible to "delete" an object. To delete an object you set it's image to one that has no collision detection (0100 - Tv Screen), and set it's size to 0001. You can't see it or touch it, but it's still there. Here's an example: "Delete" Metal Crates (Blue Tint): NTSC PAL 8107B178 0100 8107B648 0100 8107B17A 0001 8107B64A 0001 This code was used in the Pelagic II in Villa code. It "deletes" most instances of the metal crates, but where they are put on pads that resize the object you will see white rectangles. Not all objects can be changed. Some object modifications simply freeze the game for no apparent reason. Most codes work though, it's only the odd ones out that don't like to work. Also, some codes like to work on a PC but not in a cheating device, or vice-versa. A few object image values can't be found in the object image lists below. These are BETA ones like the GoldenEye logo: 00D3 - BETA GoldenEye Logo 0761 - BETA GoldenEye Research Tape 0773 - BETA Briefcase NTSC Object modifier codes: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Object Object Object Number Modifier Value Object Name 0000 - 8107B070 01C6 - Investigation Ceiling dronegun 0001 - 8107B078 01CA - Crash Site Green Drone Gun 0002 - 8107B080 0100 - Tv Screen 0003 - 8107B088 0083 - BETA Borg Crate 0004 - 8107B090 0101 - Pane of glass 0005 - 8107B098 005D - Metal Crate 0006 - 8107B0A0 005D - Metal Crate 0007 - 8107B0A8 005D - Metal Crate 0008 - 8107B0B0 005D - Metal Crate 0009 - 8107B0B8 005D - Metal Crate 000A - 8107B0C0 005D - Metal Crate 000B - 8107B0C8 005D - Metal Crate 000C - 8107B0D0 005D - Metal Crate 000D - 8107B0D8 005D - Metal Crate 000E - 8107B0E0 005D - Metal Crate 000F - 8107B0E8 005D - Metal Crate 0010 - 8107B0F0 0089 - BETA Door 0011 - 8107B0F8 0086 - Briefcase 0012 - 8107B100 0087 - Chicago Tracer bug 0013 - 8107B108 0088 - Data Uplink 0014 - 8107B110 00DD - Nintendo Logo 0015 - 8107B118 00BE - Metal Panel 0016 - 8107B120 00CB - BETA Flag from GoldenEye 0017 - 8107B128 00DC - Area 51 Control Panel / Button 0018 - 8107B130 00BF - BETA GoldenEye Terminal 0019 - 8107B138 0065 - Area 51 Square Door (Top part) 001A - 8107B140 0062 - Area 51 Square Door (Bottom part) 001B - 8107B148 006D - Area 51 Door (Left) 001C - 8107B150 006E - Area 51 Door (Right) 001D - 8107B158 006F - Area 51 Door 001E - 8107B160 0063 - Area 51 Door with glass window 001F - 8107B168 0064 - Area 51 Brown door 0020 - 8107B170 005D - Metal Crate 0021 - 8107B178 005E - Metal Crate (Blue tint) 0022 - 8107B180 005F - Metal Crate (Brown tint) 0023 - 8107B188 0060 - Area 51 Hole-in-wall frame 0024 - 8107B190 006A - Area 51 Wall you blow up (With X on) 0025 - 8107B198 0061 - Area 51 Hole-in-wall frame 0026 - 8107B1A0 006B - Area 51 Wall you blow up (Laboratory side) 0027 - 8107B1A8 006C - Area 51 Hole-in-wall frame (Before blown up) 0028 - 8107B1B0 007B - BETA Villa Door 0029 - 8107B1B8 007C - Villa Wooden door 002A - 8107B1C0 007D - BETA Villa Wooden slide door 002B - 8107B1C8 0067 - Area 51 Hanger lift 002C - 8107B1D0 0066 - Area 51 Small lift from hanger 002D - 8107B1D8 0068 - Area 51 Storage lift 1 002E - 8107B1E0 0069 - Area 51 Storgae lift 2 002F - 8107B1E8 0078 - Villa Wine Bottle (Green) 0030 - 8107B1F0 0079 - Villa Wine Bottle (Red) 0031 - 8107B1F8 007A - Villa Wine Bottle (Red, not JUNG brand) 0032 - 8107B200 007E - Villa Windmill propellar 0033 - 8107B208 00D6 - Area 51 Elvis on hoverbed 0034 - 8107B210 00D9 - BETA Multicoloured box 0035 - 8107B218 0082 - Deep Se