Please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

James Bond 007: NightFire (GameCube)

From The Cutting Room Floor
Jump to: navigation, search

Title Screen

James Bond 007: NightFire

Developer: Eurocom
Publisher: Electronic Arts
Platform: GameCube
Released in US: November 18, 2002
Released in EU: November 29, 2002


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
TextIcon.png This game has unused text.
BonusIcon.png This game has hidden bonus content.


James Bond 007: NightFire is a first-person shooter featuring characters from the James Bond universe, and a sequel to James Bond 007 in... Agent Under Fire.

So very stubbly.
This page is rather stubbly and could use some expansion.
Are you a bad enough dude to rescue this article?

Unused Content

Dummy Loading Screen

Seeing this usually means the game is about to crash.

This dummy loading screen is shown whenever a map not intended for actual use is loaded. All of the test maps and other invalid map IDs trigger it, so it's likely this is used as some sort of fallback procedure for whenever the game can't load a map. Unfortunately, seeing this loading screen also means your game is about to crash.

This screen can be achieved through the use of the action replay code 04207C18 070000xx, which forces the game to load a different map than intended upon entering the singleplayer mission, "The Exchange". Replace xx with the two digits used by whatever map you're trying to use (refer to "def_Startup.cfg" for these codes).

Unused Multiplayer Maps

The file "def_Startup.cfg" lists all of the maps used in the multiplayer mode, though along with them are a couple maps not actually used in the game labeled as "HT_Level_SpaceStation" and "HT_Level_Facility". Interestingly, they use the same loading screen as other multiplayer maps in the game, so it can be inferred that they weren't completely scrapped by the development team. Unfortunately, attempting to load either of them causes the game to crash on the loading screen. Judging by the filenames alone however, it can be assumed that the SpaceStation map was meant to be based off of the last mission in the game's story mode, "Equinox". The other map, Facility, is a different story. While it's possible that it could be based off of some part of the singleplayer mode like most of the other multiplayer maps, it also shares the name with a map from another game in the series, James Bond 007: GoldenEye, so perhaps it could have been a remake of sorts.

Cut Missions

Within the tables for mission titles and descriptions, there is actually data for the titles and descriptions of several cut missions hidden in surprisingly accurate spots among the normal set. Included along with the rest for both convenience's sake and to get an idea of where they fit in the game's story, these missions end up looking like:

Mission Titles Descriptions
Training (CUT) "Learn basic weapon and gadget skills in Q's evaluation center."
Paris Prelude "Prevent a rogue faction from putting a damper on the New Year's celebrations in Paris."
The Exchange "Drop in on Raphael Drake's reception and rendezvous with undercover agents."
Alpine Escape "Make your escape with Zoe on an unarmored snowmobile."
Enemies Vanquished "Race to meet Q at the extraction point."
Double Cross "Rendezvous with Alexander Mayhew, a traitor in Drake's organization."
Night Shift "Covertly access Mayhew's headquarters and retrieve data from the company computer system."
Chain Reaction "Infiltrate a nuclear power plant in the process of being decommissioned by Phoenix Industries."
Hidden Agenda (CUT) "Determine how Drake is secretly using the decommissioned power plant."
Phoenix Fire "Escape Kiko's trap and get out of the skyscraper alive."
Streets of Tokyo (CUT) "Flee the scene and head for Q's mobile headquarters."
Atoll Infiltration (CUT) "Use the special abilities of Q's Vanquish to infiltrate Drake's secret island base."
Deep Descent "Reach Drake's private island undetected."
Island Caves (CUT) "Sabotage the island's radar jamming devices so you can open the way for MI6 forces."
Island Infiltration "Destroy the air defense system that protects the island from attack."
River Gauntlet (CUT) "Infiltrate Drake's Disarmament Facility."
Countdown "Covertly make your way into the secret underwater base and pursue Drake."
Equinox "Prevent a hostile takeover of the missile defense platform...and save the world."
Aside from an interesting "Training" mission at the start, these cut missions give off the impression that the latter half of the game's story was trimmed extensively when compared with what they originally intended. Some of these missions sound very similar to missions they lie either before or after, so perhaps they were originally alternate versions of the final missions we got. That, or they were just deemed unnecessary to the overall plot. In the final game, Hidden Agenda's main objective is covered in the stage Chain Reaction; Atoll Infiltration's objective is covered by Deep Descent; and Island Infiltration has a distinct second half that takes place along a river that renders it the longest stage in the game, possibly a result of absorbing River Gauntlet. No map data remains for any of these cut missions, along with any accompanying objective text.

Unused Multiplayer Weapons

Among the game's vast arsenal, there are actually three unique weapons meant for the multiplayer mode that go unused. These include the Q-Pen, a single-fire weapon that shoots darts dealing surprisingly low damage for a weapon based around explosives; the Torpedo Launcher, another explosive weapon that fires heat-seeking torpedoes (despite the weapon's firing mode being labeled as Guided); and the Flare Gun, a strange weapon that uses the P2K's model and fires harmless purple lights.

Text

USATxt.dat

This file contains nearly all text used in the game. It also includes remnants of text used for the PlayStation 2 release of the game. For example, this memory card text can be found in USATxt.dat at 0x5987 to 0x59F3 and from 0x5A04 to 0x5A5B.

Check memory card (8MB) (for PlayStation®2) in MEMORY CARD slot %s and please try again.
Do not remove memory card (8MB) (for PlayStation®2) in MEMORY CARD slot %s, reset, or switch off the console.

There is also a bit of unused Sample Hint Text between 0x360D and 0x3666.

HINT: Sample hint text can go here. It can be quite long and will automatically word-wrap.

In addition to leftover PS2 text, there is also Xbox save text between 0x3668 through 0x36C0.

Your Xbox doesn't have enough free blocks to save games. You need to free %d more blocks.

Development Text

def_Startup.cfg

Located in the folder common, this file contains various debugging options (some of which appear to be PC only) along with a directory of maps used throughout the game's singleplayer and multiplayer. Changing this file does nothing to the actual game, but there are a few things of note that still make it particularly interesting regardless. For one, it actually lists several maps in the game that you can't normally access such as "HT_Level_AllCharacters" and "HT_Level_TestRoom2". It also lists a map within the section for Multiplayer maps that seemingly goes unused, labeled "HT_Level_SpaceStation".

[NoAudio:0]		0=Audio On, 1=Audio Off (pc only)
[ScreenDepth:16]	16/32	(pc only)
[Windowed:1]		1=Yes/0=No (pc only)
[FillPoly:1]		1=Yes/0=No (pc only)
[DrawSkin:0]		1=Yes/0=No
[DrawBones:0]		1=Yes/0=No
[DrawPortals:0]		1=Yes/0=No (pc only)
[BoundingSpheres:0]	1=Yes/0=No (pc only)
[ShowCollisions:0]	1=Yes/0=No (pc only)
[ShowColBoxes:0]	1=Yes/0=No (pc only)
[NoDrones:0]		1=None,0=All
[BrowseTexture:0]	1=Yes/0=No (pc only)
[WideScreen:0]		1=Yes/0=No
[LoadScreen:0]		1=Yes/0=No
[SafeBorders:0]		1=Yes/0=No
[DebugInfo:0]		1=Yes/0=No
[UnlimitedAmmo:1]	1=Yes/0=No
[CannotDie:1]		1=Yes/0=No
[ShowGlist:0]		1=Yes/0=No
[ShowSC:0]		1=Yes/0=No
[Sound:0]		1=Yes/0=No
[CollInfo:0]		1=Yes/0=No
[Multiplayer:0]		1=Yes/0=No
[NumHumans:1]		1..4
[ScreenSplit:0]		0=Horizontal/1=Vertical
[Controller:0]		0-4
[MP4Ever:0]		1=Yes/0=No

// will load first LoadMap:

// The Exchange
[LoadMap:0x07000005]	HT_Level_CastleExterior			0x07000005
[LoadMap:0x07000006]	HT_Level_CastleCourtyard		0x07000006
[LoadMap:0x07000007]	HT_Level_CastleIndoors1			0x07000007
[LoadMap:0x07000008]	HT_Level_CastleIndoors2			0x07000008

// Double Cross
[LoadMap:0x07000001]	HT_Level_HendersonA			0x07000001
[LoadMap:0x07000002]	HT_Level_HendersonB			0x07000002
[LoadMap:0x07000003]	HT_Level_HendersonC			0x07000003
[LoadMap:0x07000004]	HT_Level_HendersonD			0x07000004

// Night Shift
[LoadMap:0x07000009]	HT_Level_TowerA				0x07000009
[LoadMap:0x0700000a]	HT_Level_TowerB				0x0700000a
[LoadMap:0x0700000b]	HT_Level_TowerC				0x0700000b

// Chain Reaction
[LoadMap:0x0700000c]	HT_Level_PowerStationA1			0x0700000c
[LoadMap:0x0700000d]	HT_Level_PowerStationA2			0x0700000d

// Phoenix Fire
[LoadMap:0x07000011]	HT_Level_Tower2A			0x07000011
[LoadMap:0x07000012]	HT_Level_Tower2B			0x07000012
[LoadMap:0x07000013]	HT_Level_Tower2C			0x07000013
[LoadMap:0x0700004a]	HT_Level_Tower2Elevator			0x0700004a

// Countdown
[LoadMap:0x07000014]	HT_Level_EvilBase			0x07000014
[LoadMap:0x07000015]	HT_Level_EvilSilo			0x07000015
[LoadMap:0x07000016]	HT_Level_EvilBaseC			0x07000016

// Equinox
[LoadMap:0x0700001b]	HT_Level_SpaceStationD			0x0700001b


[LoadMap:0x07000021]	HT_Level_SpaceStation			0x07000021
[LoadMap:0x07000022]	HT_Level_Facility			0x07000022
[LoadMap:0x07000023]	HT_Level_Atlantis			0x07000023
[LoadMap:0x07000024]	HT_Level_SkyRail			0x07000024
[LoadMap:0x07000025]	HT_Level_SubPen				0x07000025
[LoadMap:0x07000026]	HT_Level_StealthShip			0x07000026
[LoadMap:0x07000027]	HT_Level_FortKnox			0x07000027
[LoadMap:0x07000028]	HT_Level_MissileSilo			0x07000028
[LoadMap:0x07000029]	HT_Level_SnowBlind			0x07000029
[LoadMap:0x0700004b]	HT_Level_Ravine				0x0700004b


[LoadMap:0x07000041]	HT_Level_RefRoom			0x07000041
[LoadMap:0x07000043]	HT_Level_AllCharacters			0x07000043
[LoadMap:0x07000046]	HT_Level_TestRoom2			0x07000046
[LoadMap:0x07000043]	HT_Level_AllCharacters2			0x07000049


[LoadMap:0x07000048]	HT_Level_Menu_Pre			0x07000048


[LoadMap:0x07000090]	HT_Level_MovieMap			0x07000090

Looking at the LoadMap IDs also gives us a decent idea of what order the maps were developed in. This makes maps like "HT_Level_Ravine" and "HT_Level_Tower2Elevator" interesting, as their IDs imply they were made much later in development in comparison to other maps in their sections.

TuningVars.txt

Within common there is also a file called TuningVars.txt with several configuration options and comments for the entire game.

[GLOBAL]

# Cursor speed while aiming

#Plr_AimSpeed_X			= 0.15
#Plr_AimSpeed_Y			= 0.16

#Plr_AimSpeed_X			= 0.105
#Plr_AimSpeed_Y			= 0.112

Plr_AimSpeed_X			= 0.1275
Plr_AimSpeed_Y			= 0.136

...

[CASTLE]
# The Exchange

# Player single player damage modifiers (THEIR damage to YOU)

Plr_DMod_Easy		= 0.6
Plr_DMod_Normal		= 0.7
Plr_DMod_Hard		= 1.0

# Drone difficulty level damage modifiers (YOUR damage to THEM)

DroneDamage_Easy 	= 1.5
DroneDamage_Normal 	= 1.0
DroneDamage_Hard 	= 0.8

...

# Drone skin firing accuracy modifier (higher is more accurate)

DroneFiring_Accuracy_Easy				= 0.5
DroneFiring_Accuracy_Normal				= 0.7
DroneFiring_Accuracy_Hard				= 1.0

The file is 728 lines long. It seems to refer to computer-controlled characters as "Drones". It is unclear whether or not any of the variables can affect the final game. Knowingest edited Plr_AimSpeed_X to 99.127 (much higher than the existing 0.1275) with GC-Tool and did not notice any change in aim speed.

Start.dol

This is the main game file in all GameCube games. This file includes some hidden development related text.

Surprisingly, in this file, there are several hundred, if not thousands, lines of code referencing the EAGL (Electronic Arts Graphics Library), thought to be mainly used in the Need for Speed series and various sports titles. For instance, there's this line from an EAGL Example between 0x6A88C and 0x6A99F.

EAGL::COORD33 new[].EAGL::COORD32 new
EAGL::COORD32 new[].EAGL::COORD2 new
EAGL::COORD2 new[]..EAGL::COORD3 new
EAGL::COORD3 new[]..EAGL::COORD4 new
EAGL::COORD4 new[]..EAGL::ComputationIndex new
EAGL::ComputationIndex new[]
EAGL::Colour new
EAGL::Colour new

Nightfire.elf

The file Nightfire.elf includes the section for cheats. This cheats section can be found between 0x1AD930 and 0x1ADB0D. Alongside every normal cheat (published around the time of the game's release), there are two cheats that were not previously published.

Function Unpublished Cheat Published Cheat
Unlock Max Zorin in multiplayer HUGE EGO BLIMP
Unlock Nick Nack in multiplayer JOELWADE BITESIZE

Both cheats are functionally identical to the previously-published cheats.

Also included in the file is unused code referencing the ability to change sensitivity in options between 0x1C0AC0 and 0x1C0B07.

Sensitivity_Move........Sensitivity_View........Sensitivity_Aim.........

There is a single comment left in the file between 0x200780 and 0x2007FF.

1-A.1-B.1-C.1-D
<!> Oct 20 2002 04:13:21 <!>

Run.bat

On the root of the game disc is a file called run.bat.

del *.d??
odrun ColdGC_RELEASE.elf -d=C:\NPDP\GDEV\bin\OdemRun_US.ddf %1

GDEV is GameCube development hardware. NPDP cartridges run on the hardware.