We have upgraded to the latest version of MediaWiki and now support TLS1.2 and transcoding!
Please contact us via Discord or Twitter if you experience any problems.

Star Fox Adventures

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Star Fox Adventures

Developer: Rare
Publisher: Nintendo
Platform: GameCube
Released in JP: September 27, 2002
Released in US: September 23, 2002
Released in EU: November 22, 2002
Released in AU: November 15, 2002


AreasIcon.png This game has unused areas.
SourceIcon.png This game has uncompiled source code.
DevTextIcon.png This game has hidden development-related text.
ObjectIcon.png This game has unused objects.
GraphicsIcon.png This game has unused graphics.
Sgf2-unusedicon1.png This game has unused abilities.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.


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

Originally designed for the Nintendo 64 as Dinosaur Planet with no relation to the franchise, Star Fox Adventures was the last game made by Rare for a non-handheld Nintendo console and the only Rare game for the GameCube. It also has a somewhat divisive reaction, due to its departure from the Star Fox formula.

Hmmm...
To do:
  • Get all the unused graphics up here.
  • Get all the unused music and sounds up here.
  • Version differences (some versions of the game have a Dinosaur language option as a Cheat Token; others have a "message about destiny")

Subpages

TextIcon.png
Dinosaur Planet Leftovers
Leftovers from the game that never was.
SoundIcon.png
Unused Voice Clips
Dialogue the player will never hear in the game.
AreasIcon.png
Unused Maps
Unused, deleted, and renamed maps.

Unused Graphics

Starfoxadv-splashscreen.png
splashScreen.BIN contains an early logo for the game.

Starfoxadv-debugfont.png
A debug font can be found in several of the texture files.

StarFoxAdventuresCube.png
This cube appears when an object can't be loaded. The rainbow texture likewise replaces any texture that can't be loaded; in version 1.01, it was changed to gray.

ɥɔuǝɹɟ
The HUD icon texture includes unused language icons for French, German, Italian, Spanish (Spain), and Japanese. Notably, there is no flag for English, and the French flag is rotated 180 degrees.

(Source: Original TCRF research)

Unused Text

Inside GAMETEXT.bin is an early script for the game, with several differences from the final version and even including leftovers from when it was Dinosaur Planet.


"How about playing a little game?"
"The rules are simple... Choose how many Scarabs you wish to gamble."
"I will throw them into this cave and you have to collect them within my time limit."

Same as the final version, except "The rules are simple" was omitted.

"Okay,whats with all the noise?"
"I am here with the rest of Starfox Team,"
"We have come to save your planet."
"Queen calls out"
"Vesujo, ohw ehj Miyzh.Ho jicz ohw mho Jehd."
"SCALES Kuzt szojh.Ku Bawd Kuztem ICEMOUNTAIN."
"I am sorry lady, but I can not understand what you are saying."

An early version of Fox's introduction to Queen EarthWalker, most likely. The dialogue is very different, including a piece of dialogue written in some early form of Dino language.

"You're lucky it's a hot spring or you'd be frozen by now."
"Why you little ..."
"Hey, I wouldn't if I were you, my dad's a King EarthWalker and he'll bash you up!"
"I don't think he'll be doing any bashing, he's been captured."
"That's why I've been sent to rescue you!"
"He's been captured?"
"That's right! So stop moaning and let's get you back to your home!"

The last line was re-written to say "That's right! It was your mother that sent me to find you." and the cutscene was expanded so that Tricky and Fox talk about Queen EarthWalker's illness. Also, note the lack of Dino, making it likely that it's a Dinosaur Planet leftover.

"I cannot let you in yet."
"The Store Keeper has gone out to get supplies."

This never happens in the final game, as the shopkeeper is always within the store.

"They sent you to rescue me? ... Hmmpphh."
"The SharpClaws haven't fed me in days so I'm feeling a bit weak."
"If you bring me 12 Frost Weeds I'll be able to get myself out."
"Hurry boy, I'm starving in here!"

Garunda Te only needs three Frost Weeds to break free in the final game, although he doesn't mention how many of them are needed. The dialogue is also worded differently.

"Who are you?"
"My name is Fox, and this is the Crown Prince of the EarthWalkers."
"We have been sent by the SnowHorn Guardian to find the SpellStone."
"Do you know where it's hidden?"
"My name is Belina Te. The Guardian is my father."
"Did he send you to rescue me?"
"I'm sorry Belina, but he feels you have dishonoured the Guardians."
"We were only sent to find the SpellStone."
"The old fool. I had to save the tribe."
"If it wasn't for my father being a Guardian,"
"none of this would have happened in the first place!"

What's odd about this dialogue is that Garunda is still said to be a guardian, but the dialogue is otherwise similar to what's in the final game.

"To power the Jet Bike push forwards on the"
"CONTROL STICK to go faster."
"Pull back to slow down."
"Dodge left and right to avoid obstacles and beat"
"the SharpClaws!"

In the final game, there are no instructions as to how to use the jet bike.

",�t?QWake up!"
"Somebody coming."
"Here we go!"

This is the same dialogue used when first going to Moon Mt. Pass, but the last line was removed.

"?BOSS"
"GALADON"

Galadon is probably an early name for Galdon.

"PGrab the key, but don't wake the Sharpclaw."

In the final game, Fox has to get his staff back rather than get a key.

"?If you find my children I will be so happy!"
?
"?If you find all four of my children you will be greatly rewarded.  Please hurry!"

The queen simply never says this.

"?�?�?�?�?�?THE LIGHTFOOT TESTS"
"TOTEM POLE TEST"
"Activate all four Totem Poles| within the Lightfoot Village.| Beat Musclefoot's all time record| of 4m 30secs to pass the test"
"THE TEST OF STRENGTH"
"Rapidly press the A button| to compete against| the mighty Musclefoot.| Only the strongest can| push him into the pit!"

In the final game, the player is given 2:30 to complete the totem pole test (or the Tracking Test, as it's called in-game). The Test of Strength's descriptions are nearly the same as the final version, but it shows a graphic of the A button rather than simply putting it in text and MuscleFoot isn't described as "mighty".

"Thanks for saving my eggs. They will be ready to hatch soon."

Presumably said after saving a ThornTail's eggs. She doesn't say this.

Unused Help Texts

Forcing the PDA to be enabled before Fox becomes playable allows you to see unused Slippy's Advice text for Krazoa Palace, as well as the descriptions for the ThornTails in the area, which are simply blank.

StarFoxAdventuresNotDisplayed.png StarFoxAdventuresBlankDescription.png

(Source: Original TCRF research)

E3 2001 Menu Leftovers

"?�?�?�?�?�?�?�?�?level"
"choose"
"select"
"map"
"rotate"
"zoom"
"confirm"
"exit"
"TM & ^ 2001 NINTENDO	#	RARE"
??
"?�?�?�?�?�?�?attack"
"lift"
"jump"
"throw"
"kick"
"fire"
"cancel"

Unused Mechanics

Laser Spell

The Gecko code 042AB410 38000958 (US v1.0) will replace the Fire Blaster spell with an unused Rapid-Fire Laser spell. Its model is missing, so it appears as a large cube.

(Source: Original TCRF research)

Rob

In unknown circumstances, while climbing a ladder, the A button text on the HUD is set to "Rob" instead of "Slide". This text is otherwise unused, and is not displayed. This may have referred to the character ROB, rather than the act of robbery.

Hmmm...
To do:
Find out what triggers this. Where can you climb a ladder with the A button not saying Slide?
(Source: Original TCRF research)

Loading Screen

If the game takes more than 10 seconds to load at startup, the text "Loading..." appears. However, this normally never happens. The Gecko code will force it to appear.

USA 1.00          04115E48 38000258
Japan 1.00        04115E68 38000258
USA/Japan 1.01    041160E4 38000258
Europe Kiosk      04122F28 38000258
Europe 1.00       04116264 38000258
Europe 1.01       04116274 38000258
(Source: Original TCRF research)

Unused Items

Bad Guy Alert

PAY ME AND I'LL TALK. A LOT.

This item would have been sold in the ThornTail Shop for 45, 47, or 50 scarabs, depending how generous the shopkeeper is feeling. It's set to never be available, and in the final game, Tricky has this ability from the beginning.

PDA

Fox's PDA would have also been for sale, at a price of 18, 20, or 22 scarabs. It uses the same text as Bad Guy Alert. It's set to be available if you don't already have the PDA, but since Fox starts with it and never loses it, this can never happen.

Even if these items are forced to be available, they're nowhere to be found in the shop. The PDA has an object (SPPda), but forcing this object to appear just displays the placeholder cube and doesn't allow any interaction. There is no object associated with Bad Guy Alert.

(Source: Original TCRF research)

Unusable Items

Some items appear in the inventory, and have a description implying they could be "used" in some context, but there never is a situation in which they can actually be used in this way.

  • Use Fuel Cells: These are consumed when you fly, but you never need to "use" them manually.
  • Give Scarabs: These are given by talking to the appropriate characters, not by selecting them.
Hmmm...
To do:
Verify that selecting "Give Scarabs" does nothing even near someone who can be paid.
(Source: Original TCRF research)

DLLs

Dinosaur Planet for the N64 used a "dynamically loaded library" (DLL) system to automatically load code into memory as needed and unload it when finished, to reduce memory consumption. The final game still technically uses this system, but since the GameCube has plenty of RAM (and discs are much slower than cartridges), all the code is kept in RAM at all times, and "loading" or "unloading" a DLL does not actually do anything other than change a reference counter. As a result, much of the code written after the switch to GameCube does not bother to "load" a DLL before using it.

The file DLLS.tab would have been used to look up code in the corresponding DLLS.bin file, which is still present in the Kiosk Demo disc, and contains code compiled for the N64.

(Source: Original TCRF research)

Unused Teleport Animation

Setting byte 8CA of the player state to 1 activates this unused teleport effect, which draws a plane in front of the player. It's quite imperfect, as it hides other objects as well, and the player's tail can poke through it.

To see it in action, use the following Gecko code on US V1.0 and press B:

283398d2 00000004
48000000 803428f8
58010000 000000b8
80000000 00000001
94010000 000008ca
e2000001 80000000
(Source: Original TCRF research)

Development Stuff

Debug Cheat Codes

StarFoxAdventuresBsod.png
Star Fox Adventures Chapter Select.png

Two cheat codes exist on the save file select screen. Both must be entered after selecting a file but before starting the game, and while holding Z. Each button must be pressed within 1/4 second of the last. If successful, a chime will sound.

Enable Debug Text

Press X, Y, X, Y, L (all the way down). This enables displaying error messages if the game crashes. Alternatively, use Action Replay/Gecko code 003DDA28 00000001. (The same code will work for both.)

Chapter Select

Press D-pad Down, D-pad Up, Y, Y, R (all the way down). Start the game, and you'll be able to choose a chapter to start from. Selecting a chapter will replace the selected save file with one from the disc (in path "/savegame/saveN.bin" where N is the chapter number). This will also change the name of the selected save file to "FOX". Alternatively, use the following Gecko/AR code and just press Z.

USA 1.00      04119D90 60000000
USA 1.01      0411A038 60000000
Europe 1.00   0411A26C 60000000
Europe 1.01   0411A2A0 60000000
Japan 1.00    04119DB0 60000000
Japan 1.01    0411A038 60000000

Selecting Chapter 1 will start a new game, just like selecting an empty save file normally. This, however, is a bug - save1.bin actually starts in the Walled City, and can be accessed by swapping it for one of the other files in savegame.

This feature has another minor bug: if you press B to back out of the chapter list and instead select a different save file, the chapter select will display, but with only the "Play Game" option.

(Source: Original TCRF research)

Debug log messages

The following Action Replay code will enable several debug print functions on USA v1.0:

04137948 4BF45D94
04148B78 4BF34B64
04148BC8 4BF34B14
042510CC 4BE2C610
04246E04 4BE368D8
0428F7DC 4BDEDF00


These messages can be seen in Dolphin's debug console. (You may have to add the symbol OSReport at address 8007D6DC for it to pick up the messages.)

StarFoxAdventuresTrickyDebug.png

Alternatively, this Gecko code will display them on-screen (assuming you used the "enable debug text" code):

c6148b78 80137948
c62510cc 80137948
c6246e04 80137948
c61378a8 80137948
c213798c 0000000d
91410024 7d6802a6
91610068 3c60803e
8063bc14 80810008
80a1000c 80c10010
80e10014 81010018
8121001c 81410020
81610024 3c008028
6000f688 7c0803a6
4e800021 3c80803e
80a4bc14 7ca51a14
38a50001 90a4bc14
80a10068 7ca803a6
60000000 00000000

Adding the line c6148bc8 80137948 will also display a ton of Tricky-related debug text. Adding c607d6dc 80137948 will display all OSReport messages, including those that weren't intended to show on-screen, which allows them to be seen on a real GameCube without any hardware modification.

(Source: Original TCRF research)

Lighting Debugger

StarFoxAdventuresLightDebug.png

The "directional light" object (internally named "LGTDirectio", ID 0079) has some leftover debug code attached. Pressing Z toggles the debug function on/off. When on, you can supposedly use the D-pad to adjust the light's color and direction. However, this function no longer actually affects the light. This function is always active when such a light is present, but you can't see what you're changing without having debug text enabled.

(Source: Original TCRF research)

Texture Refresh

At any time, you can press A on controller 3 to print some memory usage stats to the debug console, or B to trigger a texture refresh. However, the function that reads controller inputs only reads controller 1. The code 00014E73 00000004 will make it read all four controllers, enabling this function and possibly others.

(Source: Original TCRF research)

Debug Setup Objects

StarFoxAdventuresSetupObjects1.png StarFoxAdventuresSetupObjects2.png

These codes will make invisible scene setup objects visible.

Region Code for v1.00 Code for v1.01
Kiosk Demo
0402f438 5480003c
0402f43c 901e0044
0402f440 60000000
0402f444 60000000
USA
0402D820 5480003C
0402D824 901E0044
0402D828 60000000
0402D82C 60000000
0402D918 5480003C
0402D91C 901E0044
0402D920 60000000
0402D924 60000000
Japan
0402D840 5480003C
0402D844 901E0044
0402D848 60000000
0402D84C 60000000
0402D918 5480003C
0402D91C 901E0044
0402D920 60000000
0402D924 60000000
Europe
0402D9B4 5480003C
0402D9B8 901E0044
0402D9BC 60000000
0402D9C0 60000000


(Source: Hugo Peters, Gilgamesh)

Default GameText message

"Gametext requested is not there."
"Have you xdiffed gametext.spec with the sequence guy's gametext.spec?"
"This message is very long,"
"designed to annoy you"
"If you want this message to go then get the correct gametext"
"Look,         "
"pretty buttons"
"Still here?"
"I would of thought that you would have reset the subtitles by now."
"GO AWAY!!"

An error message that would have been used whenever an incorrect string of text is referenced.

Early Credits List

 SOFTWARE DIRECTOR
 PHIL TOSSELL

 SOFTWARE ENGINEERS
 NIK PALMER
 NICK BURTON
 PHIL WOODS
 RAYMOND KERR
 BRENDAN GUNN
 ANDREW INNES
 RICHARD GALE
 ROB HARRISON

 ART DIRECTORS
 JOHNNI CHRISTENSEN
 KEITH RABBETTE
 KEVIN BAYLISS

 3D ARTISTS
 DEAN SMITH
 FEARGAL PLANT
 GAVIN FLINT
 STUART HOGTON
 MATTHEW GROVER

 ANIMATION
 NICK SOUTHAM
 MICHAEL CAWOOD
 DAVID McDERMOTT
 AISLING DUDDY

 GAME DESIGN
 STEVE BRAND
 SHAUN READ

 MUSIC
 DAVID WISE

 SOUND FX
 MARTIN PENNY

 SPEECH ENGINEER
 BEN CULLUM

 EXECUTIVE PRODUCERS
 JOEL HOCHBERG
 CHRIS STAMPER
 TIM STAMPER

 GAME DIRECTOR
 LEE SCHUNEMAN

Scattered throughout the file is a list of early credits, missing all of the publisher credits and being fairly unfinished.

(Source: Game Text Dump, Heck Yeah, Dinosaur Planet!)

Unused Files

A few files are left over and never accessed:

  • CACHEFONTSTAB.bin (0 bytes)
  • CACHEFONTSTEX.bin (0 bytes)
  • DLLS.tab
  • CHAPBITS.bin (almost entirely empty)
  • LACTIONS.bin
  • SPRITES.bin
  • SPRITES.tab
  • SPRTABLE.bin
  • VOXOBJ.bin (0 bytes)
  • VOXOBJ.tab (empty table)
  • modules (directory containing two test modules in a format not used by the game)
  • musyxbin (directory with two subdirectories, global and starfox, both empty)

Others are loaded, but don't appear to actually be used for anything:

  • FONTS.bin (font graphics, but not the ones used in-game)
  • SAVEGAME.bin (vaguely resembles an actual save)
  • SAVEGAME.tab
  • SCREENS.bin (never loaded, but SCREENS.tab is, so maybe used somewhere?)
(Source: Original TCRF research)

Old Versions

Some files are older versions of others:

Used Unused Purpose Notes
CAMACTIO.bin CAMACTIONS.bin Scripted camera movements Various small differences
ENVFXACT.bin ENVFXACTIONS.bin Fog and environmental effects Various small differences
globalma.bin globalmap.bin Map connections Possibly different format or fewer entries
OBJECTS.bin OBJECTS.bin2 Object definitions Many differences; incompatible with final game
gametext/... GAMETEXT.[bin,tab] Dialogue strings Many unused strings, different file format
(Source: Original TCRF research)

Source Code

Inside the boot folder, there are some .c files for all the languages (except Japanese) with a '.new' extension added. Shown below is English.c.new. The other files are more or less the same, but with the strings translated.

/*----------------------------------------------------------------------*
  Project: Starfox Adventures on Dinosuar Planet - For GameCube
  File:    D:\binary/Boot/English.c.new
  Copyright 2001 Rare Ltd.  All rights reserved.

  These coded instructions, statements, and computer programs contain
  proprietary information of Rare Ltd, and are protected by Federal
  copyright law.  They may not be disclosed to third parties or copied
  or duplicated in any form, in whole or in part, without the prior
  written consent of Rare Ltd.

  This file is machine generated, edits will be lost!
 *----------------------------------------------------------------------*/



// ********************************************************************************
// *	Includes
// ********************************************************************************
#include "GameTextData.h"



// ********************************************************************************
// *	Characters used by English text in Boot
// ********************************************************************************

/*
typedef struct {
	UCS4		character;	// unicode number
	unsigned short	xpos;		// coordinate of leftmost texel in font bitmap
	unsigned short	ypos;		// coordinate of topmost texel in font bitmap
	signed char	left;		// spacing
	signed char	right;		// spacing
	signed char	top;		// spacing
	signed char	bottom;		// spacing
	unsigned char	width;		// size
	unsigned char	height;		// size
	unsigned char	font;		// Index into GameTextFonts[] in GameTextData.h
	unsigned char	texture;	// Index into Textures[] in the binary file
} characterStruct;
*/

characterStruct Boot_English_characters[] = {
//	unicode	xpos	ypos	left	right	top	bottom	width	height	font	texture
	{65,	1,	1,	0,	1,	3,	4,	13,	14,	4,	0},	// latin capital letter a
	{110,	15,	1,	0,	1,	7,	4,	9,	10,	4,	0},	// latin small letter n
	{32,	25,	1,	6,	0,	15,	6,	0,	0,	4,	0},	// space
	{101,	26,	1,	0,	1,	6,	4,	10,	11,	4,	0},	// latin small letter e
	{114,	37,	1,	0,	1,	7,	4,	8,	10,	4,	0},	// latin small letter r
	{111,	46,	1,	0,	1,	7,	4,	10,	10,	4,	0},	// latin small letter o
	{104,	57,	1,	0,	1,	3,	4,	9,	14,	4,	0},	// latin small letter h
	{97,	67,	1,	0,	1,	6,	4,	9,	11,	4,	0},	// latin small letter a
	{115,	77,	1,	0,	1,	7,	4,	9,	10,	4,	0},	// latin small letter s
	{99,	87,	1,	0,	1,	6,	4,	9,	11,	4,	0},	// latin small letter c
	{117,	97,	1,	0,	1,	7,	4,	9,	10,	4,	0},	// latin small letter u
	{100,	107,	1,	0,	1,	3,	4,	9,	14,	4,	0},	// latin small letter d
	{46,	117,	1,	0,	1,	14,	4,	3,	3,	4,	0},	// full stop
	{84,	121,	1,	0,	1,	3,	4,	11,	14,	4,	0},	// latin capital letter t
	{116,	133,	1,	0,	1,	4,	4,	7,	13,	4,	0},	// latin small letter t
	{112,	141,	1,	0,	1,	7,	0,	9,	14,	4,	0},	// latin small letter p
	{119,	151,	1,	0,	1,	7,	4,	14,	10,	4,	0},	// latin small letter w
	{79,	166,	1,	0,	1,	3,	3,	12,	15,	4,	0},	// latin capital letter o
	{70,	179,	1,	0,	1,	3,	4,	10,	14,	4,	0},	// latin capital letter f
	{107,	190,	1,	0,	1,	3,	4,	9,	14,	4,	0},	// latin small letter k
	{78,	200,	1,	0,	1,	3,	4,	13,	14,	4,	0},	// latin capital letter n
	{73,	214,	1,	0,	1,	3,	4,	3,	14,	4,	0},	// latin capital letter i
	{69,	218,	1,	0,	1,	3,	4,	9,	14,	4,	0},	// latin capital letter e
	{68,	228,	1,	0,	1,	3,	4,	12,	14,	4,	0},	// latin capital letter d
	{71,	241,	1,	0,	1,	3,	4,	12,	14,	4,	0},	// latin capital letter g
	{77,	254,	1,	0,	1,	3,	4,	16,	14,	4,	0},	// latin capital letter m
	{67,	271,	1,	0,	1,	3,	4,	12,	14,	4,	0},	// latin capital letter c
	{85,	284,	1,	0,	1,	3,	4,	12,	14,	4,	0},	// latin capital letter u
	{66,	297,	1,	0,	1,	3,	4,	12,	14,	4,	0},	// latin capital letter b
	{105,	310,	1,	0,	1,	3,	4,	3,	14,	4,	0},	// latin small letter i
	{108,	314,	1,	0,	1,	3,	4,	3,	14,	4,	0},	// latin small letter l
	{102,	318,	1,	0,	1,	3,	4,	6,	14,	4,	0},	// latin small letter f
	{109,	325,	1,	0,	1,	6,	4,	15,	11,	4,	0},	// latin small letter m
	{98,	341,	1,	0,	1,	3,	4,	9,	14,	4,	0},	// latin small letter b
	{80,	351,	1,	0,	1,	3,	4,	11,	14,	4,	0},	// latin capital letter p
	{82,	363,	1,	0,	1,	3,	4,	11,	14,	4,	0},	// latin capital letter r
	{103,	375,	1,	0,	1,	6,	0,	9,	15,	4,	0},	// latin small letter g
	{118,	385,	1,	0,	1,	6,	4,	9,	11,	4,	0},	// latin small letter v
	{121,	395,	1,	0,	1,	7,	0,	9,	14,	4,	0},	// latin small letter y
	{44,	405,	1,	0,	1,	14,	2,	3,	5,	4,	0},	// comma
	{83,	409,	1,	0,	1,	3,	4,	11,	14,	4,	0},	// latin capital letter s
	{120,	421,	1,	0,	1,	7,	4,	9,	10,	4,	0},	// latin small letter x
	{76,	431,	1,	0,	1,	3,	4,	9,	14,	4,	0},	// latin capital letter l
};


// ********************************************************************************
// *	Strings used by English texts in Boot
// ********************************************************************************

// TEXT_ERROR_CRITICAL
static UTF8 English_825_0[] = {'A','n',' ','e','r','r','o','r',' ','h','a','s',' ','o','c','c','u','r','r','e','d','.',0};
static UTF8 English_825_1[] = {0};		// WARNING - empty string
static UTF8 English_825_2[] = {'T','u','r','n',' ','t','h','e',' ','p','o','w','e','r',' ','O','F','F',' ','a','n','d',' ','c','h','e','c','k',' ','t','h','e',' ','N','I','N','T','E','N','D','O',' ','G','A','M','E','C','U','B','E',' ','I','n','s','t','r','u','c','t','i','o','n',' ','B','o','o','k','l','e','t',' ','f','o','r',' ','f','u','r','t','h','e','r',' ','i','n','s','t','r','u','c','t','i','o','n','s','.',0};
static UTF8 *English_825[] = {
	&English_825_0,
	&English_825_1,
	&English_825_2,
};

// TEXT_ERROR_DISC_UNREADABLE
static UTF8 English_826_0[] = {'T','h','e',' ','G','a','m','e',' ','D','i','s','c',' ','c','o','u','l','d',' ','n','o','t',' ','b','e',' ','r','e','a','d','.',0};
static UTF8 English_826_1[] = {0};		// WARNING - empty string
static UTF8 English_826_2[] = {'P','l','e','a','s','e',' ','r','e','a','d',' ','t','h','e',' ','N','I','N','T','E','N','D','O',' ','G','A','M','E','C','U','B','E',' ','I','n','s','t','r','u','c','t','i','o','n',' ','B','o','o','k','l','e','t',' ','f','o','r',' ','m','o','r','e',' ','i','n','f','o','r','m','a','t','i','o','n','.',0};
static UTF8 *English_826[] = {
	&English_826_0,
	&English_826_1,
	&English_826_2,
};

// TEXT_READING_DISC
static UTF8 English_827_0[] = {'R','e','a','d','i','n','g',' ','d','i','s','c','.','.','.',0};
static UTF8 *English_827[] = {
	&English_827_0,
};

// TEXT_CLOSE_DISC_COVER
static UTF8 English_828_0[] = {'T','h','e',' ','D','i','s','c',' ','C','o','v','e','r',' ','i','s',' ','o','p','e','n','.',0};
static UTF8 English_828_1[] = {0};		// WARNING - empty string
static UTF8 English_828_2[] = {'I','f',' ','y','o','u',' ','w','a','n','t',' ','t','o',' ','c','o','n','t','i','n','u','e',' ','t','h','e',' ','g','a','m','e',',',0};
static UTF8 English_828_3[] = {'p','l','e','a','s','e',' ','c','l','o','s','e',' ','t','h','e',' ','D','i','s','c',' ','C','o','v','e','r','.',0};
static UTF8 *English_828[] = {
	&English_828_0,
	&English_828_1,
	&English_828_2,
	&English_828_3,
};

// TEXT_INSERT_GAME_DISC
static UTF8 English_829_0[] = {'P','l','e','a','s','e',' ','i','n','s','e','r','t',' ','a',0};
static UTF8 English_829_1[] = {'S','t','a','r',' ','F','o','x',' ','A','d','v','e','n','t','u','r','e','s',' ','G','a','m','e',' ','D','i','s','c','.',0};
static UTF8 *English_829[] = {
	&English_829_0,
	&English_829_1,
};

// TEXT_ERROR_WRONG_DISC
static UTF8 English_830_0[] = {'T','h','i','s',' ','i','s',' ','n','o','t',' ','t','h','e',0};
static UTF8 English_830_1[] = {'S','t','a','r',' ','F','o','x',' ','A','d','v','e','n','t','u','r','e','s',0};
static UTF8 English_830_2[] = {'G','a','m','e',' ','D','i','s','c','.',0};
static UTF8 English_830_3[] = {0};		// WARNING - empty string
static UTF8 English_830_4[] = {'P','l','e','a','s','e',' ','i','n','s','e','r','t',' ','a',0};
static UTF8 English_830_5[] = {'S','t','a','r',' ','F','o','x',' ','A','d','v','e','n','t','u','r','e','s',' ','G','a','m','e',' ','D','i','s','c','.',0};
static UTF8 *English_830[] = {
	&English_830_0,
	&English_830_1,
	&English_830_2,
	&English_830_3,
	&English_830_4,
	&English_830_5,
};

// DiscOpenBootError_1381
static UTF8 English_1381_0[] = {'L','o','a','d','i','n','g','.','.','.',0};
static UTF8 *English_1381[] = {
	&English_1381_0,
};



// ********************************************************************************
// *	English gametexts in Boot
// ********************************************************************************

/*
typedef struct {
	unsigned short	identifier;	// which game text is this
	unsigned short	numPhrases;	// how many phrases this text has
	unsigned char	window;		// preferred window
	unsigned char	alignH;		// horizontal alignment
	unsigned char	alignV;		// vertical alignment
	unsigned char	language;	// LANGUAGE_xxx from GameTextData.h
	UTF8		**phrases;	// pointer to <numPhrases> pointers to localised strings
} gametextStruct;
*/

gametextStruct Boot_English_texts[] = {
	{
		TEXT_ERROR_CRITICAL, // (825)
		3,		// numPhrases
		129,		// window
		0,		// horizontalAlign
		0,		// verticalAlign
		LANGUAGE_ENGLISH,
		&English_825,	// strings table
	},
	{
		TEXT_ERROR_DISC_UNREADABLE, // (826)
		3,		// numPhrases
		129,		// window
		0,		// horizontalAlign
		0,		// verticalAlign
		LANGUAGE_ENGLISH,
		&English_826,	// strings table
	},
	{
		TEXT_READING_DISC, // (827)
		1,		// numPhrases
		129,		// window
		0,		// horizontalAlign
		0,		// verticalAlign
		LANGUAGE_ENGLISH,
		&English_827,	// strings table
	},
	{
		TEXT_CLOSE_DISC_COVER, // (828)
		4,		// numPhrases
		129,		// window
		0,		// horizontalAlign
		0,		// verticalAlign
		LANGUAGE_ENGLISH,
		&English_828,	// strings table
	},
	{
		TEXT_INSERT_GAME_DISC, // (829)
		2,		// numPhrases
		129,		// window
		0,		// horizontalAlign
		0,		// verticalAlign
		LANGUAGE_ENGLISH,
		&English_829,	// strings table
	},
	{
		TEXT_ERROR_WRONG_DISC, // (830)
		6,		// numPhrases
		129,		// window
		0,		// horizontalAlign
		0,		// verticalAlign
		LANGUAGE_ENGLISH,
		&English_830,	// strings table
	},
	{
		DiscOpenBootError_1381, // (1381)
		1,		// numPhrases
		147,		// window
		0,		// horizontalAlign
		0,		// verticalAlign
		LANGUAGE_ENGLISH,
		&English_1381,	// strings table
	},
};

Another source file, audio/starfox.h.bak, contains lists of sound effect IDs, though they don't match up with the final version.

Debugging Text

MIDIWADLoadedCallback load error
WARNING:DVDCancelStreamAsync returned FALSE
curvesSetupMoveNetworkCurve: There must be at least four control points
curvesSetupMoveNetworkCurve: There must be a multiple of four control points for bezier or hermite curves
curvesMove: There must be at least four control points
curvesMove: There must be a multiple of four control points for bezier or hermite curves
VOXMAPS: route nodes list overflow
Childnode Null
overflow in 'genVoxelCircle'
VOXMAP: attempt to load invalid object voxmap '%d'
VOXMAP: Size overflow on object voxmap load->Ignoring defined voxmap
<voxLoadVoxMapActual>  Warning voxRomTab is NULL
VOXMAP: Size overflow on load->Ignoring defined voxmap
<voxLoadVoxMapActual>  Warning uncompressedSize is 0
WARNING: Voxmap has no mem available
<uninitialised>
<loading>
<file empty!>
<no file!>
<%d's not in %s>
<%d, doesn't have phrase %d>
gametext/%s/%s.bin
WARNING in mainSetBits: Bit %d can't be set to %d while a savegame is loading
GAME_STATE_RESETPRESSED
GAME_STATE_RESETNOW
audioQuit passed
GX flush passed
VIFlush passed
reset default
finished init
<mmShowInfoFBMemoryStore> failed to find store with requested handle in MMSTORE_ARRAY
thisStore 0x%8x
thisStore->handle %d
thisStore->size %d
thisStore->ptrStore 0x%8x
thisStore->ptrCurrent 0x%8x
end of this store array 0x%8x
<mmAllocateFromFBMemoryStore> failed to find store with requested handle in MMSTORE_ARRAY
<mmAllocateFromFBMemoryStore> available space in this store %d size wanted %d
<mmDestroyMemoryStore> failed to find store with requested handle in MMSTORE_ARRAY
<mmCreateMemoryStore> failed as size was %d
<mmCreateMemoryStore> failed as size %d was greater than MM_MAX_MEM_STORE_SIZE %d
<mmCreateMemoryStore> failed to allocate mmStore Object
mmStore->ptrStore
<mmCreateMemoryStore> failed to allocate mmStore->ptrStore
<mmCreateMemoryStore> failed to find slot in MMSTORE_ARRAY
mm:audioheap
mem %dk/%dk %dk/%dk %dk/%dk %dk/%dk
slot %d/%d %d/%d %d/%d %d/%d
SPAWNED A SLOT NOT ALIGNED TO 32 slot->stack %d slot->loc 0x%x slot->size %d
ERROR<free> memory usage value corrupted
7: *** mm Error *** ---> stbf stack too deep!
5: *** mm Error *** ---> Can't free ram at this location: %x
6: *** mm Error *** ---> No match found for mmFree, %08x.
1: *** mm Error *** ---> '%s' No more slots available.  region %d used %d avail %d
ERROR<alloc> memory usage value corrupted
mmUniqueIdent
2: *** mm Error *** --->  '%s'
region=%d
col=%x
wantsize=%d largestsize=%d...
No suitble block found for allocation.
Warning: Model animation buffer overflow!! size=%d
<objSetupObject>  loading is locked can't setup objno %d
LOADED OBJECT %s
=======  OBJFREEALL
LOADING CHARACTER
maptype %d
playerno %d
objFreeObjdef: Error!! (%d)
Tried to free non-existent object
FREED OBJECT %s
Warning: Unknown object type '%d/%d romdefno %d', using DummyObject (128)
<objanim.c -- setBlendMove> WARNING tried to load anim -1 from cache modno %d
HIT VOLUMES: an object has too many hit spheres
hitstate frame=%f
objHitReact.c: sphere overflow! %d
objAddObjectType: Reached MAXTYPES!!
objmsg (%x): overflow in object %d defno=%d FROM: defno %d
<renderOpMatrix> ERROR CASE numMatrices = %d
Suspected graphics hang or infinite loop
GP status %d%d%d%d%d%d -->
GP hang due to XF stall bug.
GP hang due to unterminated primitive
GP hang due to illegal instruction.
GP appears to be not hung (waiting for input).
GP is in unknown state.
GP hang due to XF stall bug.
GP hang due to unterminated primitive.
GP hang due to illegal instruction.
thread: state=%d attr=%d suspend=%d
Failed to allocate memory->forcing texture free
^^^^^^^^^^^^^^^^  Restruct textures Running
^^^^^^^^^^^^^^^^  REREGION
texRestructRefs  No Space to ReRegion from 0x%x size %d!!!!
texRestructRefs   Optimal ReRegion from 0x%x to 0x%x size %d!!!!
^^^^^^^^^^^^^^^^  AFTER REREGION
texRestructRefs  No Space to Restructure from 0x%x size %d!!!!
texRestructRefs Wrong region from 0x%x to 0x%x size %d!!!!
texRestructRefs   SubOptimal Restructure from 0x%x to 0x%x size %d!!!!
texRestructRefs   Optimal Restructure from 0x%x to 0x%x size %d!!!!
texRestructRefs ReRegioned alloc can't get back into region 0 from 0x%x to 0x%x size %d!!!!
texRestructRefs   ReRegioned alloc Optimal Restructure from 0x%x to 0x%x size %d!!!!
^^^^^^^^^^^^^^^^  Restruct textures Finished passes %d
LOAD PASS: Level object
LOAD FAIL: Manual load
LOAD FAIL: Outside map x=%f y=%f z=%f
LOAD FAIL: No block
LOAD PASS: Block object
LOAD PASS: In range %f
LOAD FAIL: Out of range
TRACK ERROR: Global texanim overflow
trackLoadBlockEnd: track block overrun
track piLocked %x
cellx %i celly %i cellz %i
NO FREE LAST LINE
trackIntersect:
FUNC OVERFLOW %d
HIT OVERFLOW
ObjSequence: max number of obj frees
SEQUENCE: Could not Find Object %i
<objLoadAnimdata>  Warning ACRomTab is NULL
!!! Error non-existant cloud id - %i - in snowFreeSnowCloud
!!! Error non-existant cloud id - %i - in snowPrintSnowCloud
!!! Error non-existant cloud id - %i - in snowReposSnowCloud
warning in newcloud dll no spare memory for light available
warning in newclouds dll no spare memory for clouds available
!!! Error non-existant cloud id - %i - in snowKillSnowCloud
Could not allocate memory for waterfx dll
<projgfx rayhit Do>No Longer supported
<projgfx setzscale Do>No Longer supported
<projgfx release Do>No Longer supported
Corner is too far out (%f)
Found new walk group patch from walkgroup %d
Error in isPointWithinPatchGroup
Unable to find exit point 0 on patch between walkgroup %d and %d
Unable to find exit point 1 on patch between walkgroup %d and %d
MAX_ROMCURVES exceeded!!
<projdummy Do>No Longer supported
<projmagicstream Do>No Longer supported
<projmagicemmit1 Do>No Longer supported
<projroombeam Do>No Longer supported
<projlightning1 Do>No Longer supported
<projlightning2 Do>No Longer supported
<projlightning3 Do>No Longer supported
<projlightning4 Do>No Longer supported
<projlightning5 Do>No Longer supported
<projlightning7 Do>No Longer supported
<projlightning6 Do>No Longer supported
<projenergise1 Do>No Longer supported
<projenergise2 Do>No Longer supported
<projrobotfire Do>No Longer supported
<projsquirt1 Do>No Longer supported
<projship1 Do>No Longer supported
<projwallpower Do>No Longer supported
<projquakeshock Do>No Longer supported
<projsunshock Do>No Longer supported
<projtesla Do>No Longer supported
<projcore1 Do>No Longer supported
<projcore2 Do>No Longer supported
<projcore3 Do>No Longer supported
<projdfp1r Do>No Longer supported
<camcontrol.c>  failed to load triggered camaction actionno %d
PATHCAM error: need at least two control points
n_rareware
^^^^^^^^^^^^^^^^  malloc for movie failed
^^^^^^^^^^^^^^^^  RESTRUCT for movie
n_attractmode.c Fail to prepare
%3d:%02d:%02d
/savegame/save%d.bin
PICMENU: tex overflow
UPLINK overflow=%d
DOWNLINK overflow=%d
LEFTLINK overflow=%d
RIGHTLINK overflow=%d
errorThreadFunc %x
Exception:
System reset
Machine check
Alignment
Performance monitor
System management interrupt
Memory Protection Error
Unknown error
Stack trace Stack %x; depth %d %08x %08x
General Purpose Registers %08x %08x %08x %08x
in water
out of water
moveTricky:
Turning in water
Turning out of water
tricky wg %d->%d target wg %d, dest wg %d
tricky last walk group is zero. Has he been loaded within a walk group? %f %f %f
velbefore %f, vel now %f
target is within a walkGroup or its patch
target is not within a walkGroup or any patches
target is within patch group %d
Patch %d: Last xyz %f %f %f
Last Patch Point %f %f %f
Tricky is neither in a walkgroup or in a patch
tricky error, target patch %d, targetWalkGroup %d, trickyWalkGroup %d, tricky last walkGroup %d, tricky in patch %d
tricky error 2!!!!!
movement state is %d
walk wait
walk free
walk start patch
walk patch exit
walk end patch
walk to node %d %d
curve setup
walk nodes
Jump run up
Jump prep
Jumping
Jump up run up
JUMPDOWN or JUMPUP
JUMPDOWN_RUNUP
entered a non valid movementstate
GROWLAT_GOTO
GROWLAT_GROWLING
GROWLAT_GOTOFLAME
GROWLAT_FLAME
BADDIEALERT_GOTO
BADDIEALERT_BARK %d %d
BADDIEALLERT_GOTOFLAME
BADDIEALLERT_FLAME
error tricky should never stop when circling
GUARD_INIT
GUARD_FINDING
GUARD_TOSPOT
GUARD_TOFRONT
GUARD_TOBADDIE
GUARD_FLAME
GUARD_DOWNTOGROWL
GUARD_GROWL
GUARD_UPFROMGROWL
FLAME_NONE
FLAME_FINDING_OUT
FLAME_GOINGTOEDGE
FLAME_TOSTART
FLAME_OUT
FLAME_FINDING_IN
FLAME_TURNING_IN
FLAME_IN
FLAME_TOEND
DIGTUNNEL_FINDING
DIGTUNNEL_GOINGTOSTART
DIGTUNNEL_DIGGING
DIGTUNNEL_TOEND1 %f
DIGTUNNEL_TOEND2
DIGTUNNEL_WAIT
sideCommandEnable warning: need to increase MAX_COMM_PRESENT
hits: %d %d %d %d %d %d %d %d   
Energy: %d/%d
find command used on the wrong object
PUSHPULL OBJECT: hitpoint overflow
vel %f, depth %f dot %f
newseqobj %d: need bit clear during sequence
newseqobj %d: used bit set during sequence
newseqobj %d: need bit clear before preempting sequence
newseqobj %d: used bit set before preempting sequence
newseqobj %d: about to prempt the sequence - objs %d
newseqobj %d: need bit clear after sequence
newseqobj %d: used bit set after sequence
newseqobj %d: need bit clear before sequence
newseqobj %d: used bit set before sequence
newseqobj %d: about to start the sequence
newseqobj %d: Need Bit %d, Used Bit %d
TEXFRAMEANIM %i
!!!!!!!!!!! TRIGGER %d  ident %d
initialise
Trigger [%d], Environment Effect, Action Num [%d], Range [%d]
^^^^^^^^^^^^^^^^LOAD %d
^^^^^^^^^^^^^^^^FREE %d
^^^^^^^^^^^^^^^^LEVELLOCKED level %d  bucket %d
^^^^^^^^^^^^^^^^LEVELUNLOCKED level %d  bucket %d
<DIMBoss.c> freeing assets for DIMBoss
<DIMBoss.c> loading assets for DIMTop
WARNING Water Spike [%d] as invalid xyzAnim ID
angle %d, obj-yaw %d
Thorntail entered an invalid state
popOutOfGround
burstIntoGroun
biteAttack
standStill
standAndSpit
hitFightMain
fight_die
runto_Object
runto_ThrowObj
pickup_Object
throw_AtObject
wait_forObject
Wait_for_throw
try_to_catch
catch_Object
Kill_Object
GREATER
<doorswitch Init>No Longer supported
<dfperchwitch Init>No Longer supported
Stack -------------------
%i : %s : Opand %i
HAS BALL : %x= %x
THROW CHANCE %i
<textblock.c Init>No Longer supported
<laser.c Init>No Longer supported
<platform1 draw>No Longer supported
<platform1 control>No Longer supported
<platform1 Init>No Longer supported
DRAKOR SPEED %f
YAW DIFF
Time %i : %i
YAW
Angle: %d
Mode: PITCH
Mode: DIFFUSE COLOUR RED
Colour: %d
Mode: DIFFUSE COLOUR GREEN
Mode: DIFFUSE COLOUR BLUE
Mode: SPECULAR COLOUR RED
Mode: SPECULAR COLOUR GREEN
Mode: SPECULAR COLOUR BLUE