GoldenEye Wiki

In GoldenEye 007 and Perfect Dark, a stage setup file contains a list of the various objects in a stage, the objectives that need to be completed, and sometimes special commands used to modify this or other aspects of play. The list of 46 different commands are what are usually called object types.

Most of these commands create objects, each with special attributes. However, some of them are used to control the objects or build objectives. The list below will seperate the different object types from the other commands.

Object Types[]

01 Doors[]

Doors serve the same function in-game as they do in real life. They partition rooms, and also are used to obscure parts of the level to increase framerate. Several kinds of doors can be created. Vertical and horizontally sliding doors, swinging doors, doors that open like an eye, and those that open like an iris. In addition, doors can be locked and automated.

Internally, these consume 0x100 bytes of data.

03 Standard Objects[]

Most objects in a stage are these basic objects. They serve no special function. All the other object classes are based on these.

Internally, these consume 0x80 bytes of data.

04 Key[]

This is a special collectible object. When the lock bits match those of a locked door, it can be opened. Multiple keys may be needed to unlock some doors.

Internally, these consume 0x84 bytes of data.

05 Alarm[]

This object type can be activated by characters. When activated, it sounds an alarm in the stage. Events can be triggered in this way.

Internally, these consume 0x80 bytes of data.

06 CCTV Camera[]

These security cameras rotate left and right. When a player stands in their path for five seconds, it sounds the alarm. Events can be triggered in this way.

Internally, these consume 0xEC bytes of data.

07 Ammo magazine[]

When collected, this adds a single magazine of ammo to the player's inventory. The amount of ammunition collected is fixed for each type. Unlike ammo boxes, this can add any type of ammo.

Internally, these consume 0x84 bytes of data.

08 Weapons/Items[]

This creates a collectible item or weapon. When collected it adds the item to inventory. It can also be equipped to a character at the beginning of the stage.

Internally, these consume 0x88 bytes of data.

09 Characters[]

Alternately called actors or guards. This creates a character, setting their body and ID number. Heads can be set or randomly-generated, and special attributes can also be assigned. The ID value is used to attach equipment to them or give them commands.

Internally, these consume 0x28 bytes of data.

0A Single-Screen Monitor[]

This object has a video screen. One of several animations can run on the screen.

Internally, these consume 0x100 bytes of data.

0B Multi-Screen Monitor[]

This is used for objects that have up to four video screens. Each screen can use a different animation.

Internally, these consume 0x254 bytes of data.

0C Monitor Rack[]

This specialized object acts as a fixture to place monitors onto. Internally, it must be followed by several monitors. Each is placed at a certain point on the rack. Up to four monitors can be properly affixed to a single rack.

Internally, these consume 0x80 bytes of data. At least one single-screen monitor is expected to follow it.

0D Drone Gun[]

Also known as an autogun. Drone Guns rotate on a universal joint, facing the player. When within range, it opens fire on the player.

Internally, these consume 0xD8 bytes of data.

0F Not Valid[]

This object type has no data attached to it.

10 Not Valid[]

This object type has no data attached to it.

11 Hat[]

A special object that is indestructible. It is placed on a character's head.

Internally, these consume 0x80 bytes of data.

14 Ammo Crate[]

Also known as a ammo box. These are most often found in multiplayer stages. When collected, they add a given amount of ammo of one or more types to the player's inventory. Only the first fourteen ammo types can be set to an ammo crate.

Internally, these consume 0xB4 bytes of data.

15 Body Armor[]

Body armor is a collectible object that increases a player's defense. When damaged, the amount of defense received decreases. In addition, the amount of defense can be set in the form of a percentage.

Internally, these consume 0x88 bytes of data.

24 Gas-Releasing Object[]

When destroyed, this object triggers the release of toxic gas in the stage. Without certain patches or codes, it is not possible to turn this effect off.

Internally, these consume 0x80 bytes of data.

27 Wheeled Vehicle[]

These are cars, trucks, or other vehicles that have four tires. They can be set to roll along a path.

Internally, these consume 0xB0 bytes of data.

28 Aircraft[]

Aircraft are objects with moving rotors.

Internally, these consume 0xB4 bytes of data.

29 Not Valid[]

This object type has no data attached to it.

2A Glass[]

A solid pane of translucent glass.

Internally, these consume 0x80 bytes of data.

2B Safe[]

Any object can be set as the body of a safe. Using other commands, collectibles can be placed inside the safe. These can't be retrieved until the door locking the safe is openned.

Internally, these consume 0x80 bytes of data.

2D Tank[]

The tank is a special object that the player can control. It also allows the player to use the tank's turret and adds cannon ammo to player inventory at the start of a stage.

Internally, these consume 0xE0 bytes of data.

2F Security Glass[]

A pane of tinted glass. The glass becomes more transparent the closer the player gets to it.

Internally, these consume 0x94 bytes of data.

Object Modifiers[]

02 Door Resize[]

Using this resizes all doors (01 objects) in the stage. The value is a hex percentage. It is converted and saved to 8002A3C0.

Internally, these consume 0x8 bytes of data.

Example:

  • C000 (Frigate & Archives)

0E Interlink Pickups[]

This is used so the player collects two items (08 objects) simultaneously if either of them is collected. It also creates double weapon pickups.

Internally, these consume 0xC bytes of data.

12 Grenade Percentage[]

Allows you to set the percentage for which a character (09 object) may throw grenades.

Internally, these consume 0xC bytes of data.

Examples:

  • 07: Very Low Chance
  • 0C: Very Low Chance
  • 19: Low Chance
  • 3F: Decent Chance (Facility Scientists)
  • 7F: Good Chance
  • CC: High Chance
  • E5: Very High Chance
  • EC: Very High Chance
  • FF: Grenadier Guard

13 Switch[]

Links together two objects. When the first object is activated, the other activates as well. Used in Facility to make automated security doors.

Internally, these consume 0x10 bytes of data.

16 Tag[]

Tags are attached to other objects so they can be manipulated with action block commands.

Internally, these consume 0x10 bytes of data.

25 Rename[]

Allows you to replace on-screen text when an item is collected or a door activated.

Internally, these consume 0x28 bytes of data.

26 Lock[]

Links an object to a door (01 object). The door can only open when the object locking it has been destroyed.

Internally, these consume 0x10 bytes of data.

2C Lock in Safe[]

Places items in a safe (2B object). The items can't be collected until the safe door is open.

Internally, these consume 0x14 bytes of data.

2E Camera Position[]

Sets positions for cameras. They can be used during play or at the end of a stage with action block command D5.

Internally, these consume 0x1C bytes of data.

Objectives[]

17 Start Objective[]

This marks the start of the objective commands in a setup file. Only objectives can be listed after this command.

Internally, these consume 0x10 bytes of data.

18 End Objective[]

Marks the end of an objective command list.

Internally, these consume 0x4 bytes of data.

19 Destroy Object[]

When a certain object is destroyed this objective is complete.

Internally, these consume 0x8 bytes of data.

1A Complete if True[]

Tests if certain bitflags are set in a special value. If they are, that completes the objective. Action block command 9A sets the special value bitflags.

Internally, these consume 0x8 bytes of data.

1B failed if True[]

Tests if certain bitflags are set in a special value. If they are, that fails the objective. Action block command 9A sets the special value bitflags.

Internally, these consume 0x8 bytes of data.

1C Collect Item[]

If a certain item has been collected the objective is completed.

Internally, these consume 0x8 bytes of data.

1D Deposit Item[]

If the player has thrown a certain object away, the objective is complete.

Internally, these consume 0x8 bytes of data.

1E Photograph Object[]

The player must use the camera on a certain object to complete the objective.

Internally, these consume 0x10 bytes of data.

1F Invalid[]

This command is not valid.

20 Enter Room[]

The objective is complete once a player enters a certain room.

Internally, these consume 0x10 bytes of data.

21 Deposit Item in Room[]

Once a certain item is thrown in a certain room, the objective is complete.

Internally, these consume 0x14 bytes of data.

22 Use Key Analyzer[]

To complete the objective, the player must use the Key Analyzer after collecting the GoldenEye Key. This objective is only used in Bunker I.

Internally, these consume 0x4 bytes of data.

23 Watch Objective Text[]

This sets the text that appears on the watch objective page during a single player game.

Internally, these consume 0x10 bytes of data.