The Legend of Spyro: The Eternal Night is the second entry in the Legend of Spyro series. To compensate for making the combat harder, you can now warp this time to make it "easier".
Note that all of the soundtrack from A New Beginning and the unused graphics are in the files for this game, but it's not worth mentioning here.
Sub-Pages#
Debug Options#
A few debug options can be accessed in this game. The codes listed below are only for the PlayStation 2 version of this game unless specified otherwise. If you plan on activating these codes on a real PlayStation 2, activate the following enable code first. If not, skip this step.
USA |
EU |
|---|---|
9017DB90 0C05F68C |
9017DB50 0C05F67C |
Level Select#
Like in the previous game, a level select menu is available. The North American version of this level select has all the test maps removed, however these are still present in the European version, which is good for us. In the level select menu for this game, you can access test maps which test different props, enemies, etc. You can re-enable this menu in the PS2 version with the following codes. Anything that supports RAW codes such as a CodeBreaker or GameShark will work.
USA |
EU (English) |
EU (French/Spanish/German/Italian/Dutch) |
|---|---|---|
00C37BD4 00000001 |
00C60414 00000001 |
00BC58D4 00000001 |
You can also re-enable this menu in the Wii version with the following decrypted Action Replay codes.
USA |
EU (English) |
EU (French/Spanish/German/Italian/Dutch) |
|---|---|---|
007eea14 00000001 |
00819f54 00000001 |
00818234 00000001 |





Debug Displays#
Just like in the previous game, a few debug displays can be found in this game as well.
Debug Graph#
Debug graph display codes:
USA |
EU |
|---|---|
Version 1 |
Version 1 |
Version 2 |
Version 2 |
Version 3 |
Version 3 |
Version 4 |
Version 4 |
Version 5 |
Version 5 |
Version 6 |
Version 6 |
Version 7 |
Version 7 |
Version 8 |
Version 8 |
Display Everything |
Display Everything |
The above cheat enables a graph in-game at all times. When a certain graphic entry gets loaded into memory, it will flash that icon accordingly. When Spyro shoots fire the fire icons will light up and so on. It's unclear what the numbers represent. Version 1 of the above code is how it probably should normally look. Version 6 is also another good one.


Collision Overlay#
Enable Spyro collision overlay code:
USA |
EU |
|---|---|
2014B18C 00000000 |
2014B1CC 00000000 |
Memory Info#
Enable memory info code:
USA |
EU |
|---|---|
20123530 14400003 |
20123500 00000000 |

You can also show or hide the memory info display on the Wii version by pressing D-Pad Up + 2 on the Wii remote with this Gecko code enabled:
USA |
EU |
|---|---|
0440f23c 60000000 |
0440f6a8 60000000 |
(Source: Original TCRF research)
Autolevelswitch#
Watch on YouTubeJust like in A New Beginning, there is an unused fonction that loads all the chunks in the game in the order they appear in the Level Select and then loads all the Dragon Challenges in order before attempting to exit the program (on Wii, this successfully shuts down the console). Note that the EU version also loads all of the test levels. It also displays "Autolevelswitch running..." if enabled before or during a loading screen. In the Wii version, you can enable it by setting 804a0d3c (USA) or 804a127c (EU) to 1. You can also use the following GameShark / CodeBreaker code to enable Autolevelswitch in the PS2 version of the game : 209465FC 00000001 (USA) or 20946B7C 00000001 (EU). Alternatively, if the value is set to 2, Autolevelswitch will stop after the last chunk of the current level instead of loading the next level.
Fast Forward Cutscenes#
Watch on YouTubeThere is also another unused fonction from A New Beginning that allows to fast forward most cutscenes in the game. In the Wii version, you can enable it by setting 804a0d40 (USA) or 804a1280 (EU) to 1. You can also use the following GameShark / CodeBreaker code to enable Fast Forward Cutscenes in the PS2 version of the game : 20946600 00000001 (USA) or 20946B80 00000001 (EU).
(Source: Original TCRF research)
Hidden Cheats#
Several cheats never uncovered before can be inputted while inside the pause menu in-game. Press the following buttons listed below to enable them.
Button Inputs |
Reward |
|---|---|
L2, R2, R2, L2, Left, Right, Right, Left, L1, R1, L2, R2, Start |
Unlimited Magic. |
L2, R2, R2, L2, Left, Right, Right, Left, R2, L2, R1, L1 Start |
Unlimited Health. |
L2, R2, R2, L2, Left, Right, Right, Left, R1, L1, L1, R1, Start |
Unlimited dragon time/slow motion. |
L2, R2, R2, L2, Left, Right, Right, Left, R1, R2, R2, R1, Start |
All magic at max. There is no confirmation sound to this cheat. |
L2, R2, R2, L2, Left, Right, Right, Left, L2, R2, R2, L2, Start |
All feathers. |
(Source: Original TCRF research)
Unused Difficulty Setting#

The game contains an unused difficulty setting called "DDA" (Dynamic Difficulty Adjustment). By default it's set to "2", which doesn't change any of the game's base values. However, by using the cheat code below, you can change the difficulty to be easier or harder.
Replace the ? with the difficulty number
NTSC PS2
208be024 0000000?
PAL PS2
208be5a4 0000000?
NTSC Wii
04559A40 0000000?
Below are the values for each difficulty setting dumped from the "EnemySettings.ini.bni" file.
Difficulty |
Health |
Armour |
DefensiveMax |
DefensiveHitWeight |
DefensiveDecayRate |
AttackDamage |
AttackDelay |
AttackDefensiveThreshold |
AttackDefensivePenalty |
|---|---|---|---|---|---|---|---|---|---|
0 |
0.25 |
0.25 |
0.25 |
0.25 |
1.5 |
0.25 |
1.5 |
1.0 |
1.5 |
1 |
0.75 |
0.75 |
0.75 |
0.75 |
1.25 |
0.75 |
1.25 |
1.0 |
1.25 |
2 |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
1.0 |
3 |
1.5 |
1.5 |
1.5 |
1.5 |
0.75 |
1.5 |
0.75 |
1.0 |
0.75 |
4 |
2.0 |
2.0 |
2.0 |
2.0 |
0.5 |
2.0 |
0.5 |
1.0 |
0.5 |
(Source: Original TCRF research)
Unused Text#
A bunch of seemingly unused text can be found within the 'translations' files in the game.
Unused Options#
TEXT_CONTROLS_FREESTYLE=166
Freestyle
TEXT_CONTROLS_CLASSIC=167
Classic
TEXT_OPTIONS_CONTROLS=168
Controls
TEXT_MENU_GAME_TOTALS=185
Game Totals
TEXT_MENU_EXPAND=43
Expand/Collapse
TEXT_MENU_SAVEGAME=1006
Save Game
TEXT_JUMP_SAVE=1005
Press <font=font_buttons:0>)</font> to save game
Unused Enemy Names#
Some of these enemy names are originally from A New Beginning, while others seem to be new names that were never used in either game.
A New Beginning Leftovers#
TEXT_CYNDER_NAME=204
Cynder
TEXT_BUFFALOBEETLE_NAME=213
Buffalo Beetle
TEXT_FROGWEED_NAME=214
Frog Weed
TEXT_ELECKING_NAME=218
Electric King
TEXT_FIREBEETLE_NAME=219
Fire Beetle
TEXT_ELECEEL_NAME=220
Electric Leech
TEXT_CONDUIT_NAME=221
Conduit
Unused Enemies#
TEXT_FIRECANNON_NAME=205
Fire Cannon
TEXT_EARTHCANNON_NAME=206
Earth Cannon
TEXT_ELECTRICCANNON_NAME=207
Electric Cannon
TEXT_ICECANNON_NAME=208
Ice Cannon
TEXT_SPIRITDRAGON_NAME=209
Magical Spirit Dragon
TEXT_BLACKDRAGON_NAME=215
Black Dragon
TEXT_ELEMENTALKING_NAME=216
Elemental King
TEXT_STONE_KING=228
Stone King
TEXT_METAL_KING=229
Metal King
Unused Level Names#
There were originally more dragon challenges intended, some of which are actually "playable" with editing of the level files. Skabb's Ship may be an early name for Pirate Fleet or Fellmuth Arena, but it's not used. Well of Night doesn't appear in this game, though it was used as name for the last level in the Gameboy Advance version of Eternal Night instead of Mountain Fortress.
TEXT_DRAGON_CHALLENGE_6=455
Dragon Challenge 6
TEXT_DRAGON_CHALLENGE_7=456
Dragon Challenge 7
TEXT_DRAGON_CHALLENGE_8=457
Dragon Challenge 8
TEXT_DRAGON_CHALLENGE_9=458
Dragon Challenge 9
TEXT_DRAGON_CHALLENGE_10=459
Dragon Challenge 10
TEXT_LEVEL_SKABBS_SHIP=1012
Skabb's Ship
TEXT_LEVEL_WELL_OF_NIGHT=1016
Well of Night
TEXT_LEVEL_SPEEDWAY3=1019
Speedway 3
TEXT_LEVEL_TEST3=1022
Puzzle Test
TEXT_LEVEL_DEMO=4
Testing
Unused Boss Hints#
Though the game shipped without any hints for the major bossfights, there seem to be unused hints that weren't implemented into the game. Interestingly, one of the hints for Gaul mention some sort of mechanic with breaking the pots in the boss arena to weaken him, though it does not seem to work.
Arborick#
DOJO_F_KU_1_INSTRUCT=431
Use Spyro's ranged fireball to set Arborick on fire!
TEXT_BREATH_ICE2_2=616
Aim for Arborick's body parts!
Fellmuth Arena & Pirate Fleet#
TEXT_DIALOG_FIFTYTWO=365
Dodge the Ravage Rider until he hits the breaks then attack the rider who pops out!
DOJO_F_KU_2_INSTRUCT=432
Wait for Skabb's hook to get stuck in the wall then attack him!
DOJO_F_KU_3_INSTRUCT=433
Wait for Skabb to reload then attack him!
TEXT_BREATH_ELEC2_3=611
Wait for Skabb's sword to get stuck then attack him!
TEXT_BREATH_ICE2_1=615
Defeat Skabb's minions first!
Fortress#
DOJO_F_KU_4_INSTRUCT=434
Wait for Gaul to get stuck before trying to attack him!
DOJO_F_KB_1_INSTRUCT=435
Wait for Gaul to become exhausted before trying to attack him!
DOJO_F_KB_2_INSTRUCT=436
Destroy all of the pots to weaken Gaul.
DOJO_F_KB_3_INSTRUCT=437
Unleash your Dark Fury, Spyro!
Unused Gameplay Hints#
There seem to also be some hints that were supposed to trigger in gameplay that were also not implemented.
Temple#
TEXT_DIALOG_TWENTYEIGHT=341
Run Spyro into a statue to push it into place.
TEXT_BREATH_FIRE2_3=605
Wiggle your left analog stick <font=font_buttons:0>0</font> or use Spyro's flame breath to break free of spider webs.
TEXT_ARMOURED_SNAIL_TEXT_TIP=237
Use Spyro's flame breath to force the snail to hide, then jump and attack the rider!
TEXT_BREATH_FIRE2_1=603
Sparx will sometimes show you the way!
TEXT_BREATH_FIRE2_2=604
Try using Dragon Time with the <font=font_buttons:0>!</font> button to help Spyro through.
Ancient Grove#
TEXT_DIALOG_THIRTYFOUR=347
You can knock over some trees by attacking them.
TEXT_DIALOG_THIRTYFIVE=348
Be careful when jumping onto shaking jellyfish or they will zap you!
TEXT_DIALOG_FIFTYNINE=372
Ride the floating jellyfish to the other side.
TEXT_DIALOG_THIRTYSIX=349
Use Spyro's Polar Bomb to clear the burning rubble.
TEXT_DIALOG_THIRTYSEVEN=350
Remember to use Spyro's Fury with the <font=font_buttons:0>,</font> button if you're being over-run by Gaul's forces.
Unknown#
TEXT_DIALOG_FORTYNINE=362
Find and rescue all of the Manweersmalls. Press <font=font_buttons:0>(</font> to destroy the crystals that imprison them.
TEXT_DIALOG_FIFTYTHREE=366
Stay away from the spotlight or you will get zapped.
TEXT_BREATH_EARTH2_3=623
Press the <font=font_buttons:0>!</font> button to skip cutscenes.
Graphics#
Unused Logo#
Prototype Logo |
A New Beginning Logo |
Final Logo |
|---|---|---|
![]() |
![]() |
![]() |
There is an unused early logo in the files of the game, more resembling the logo used for A New Beginning.
Russian Logo#
|
|
To do: |
|
Unused |
Used |
|---|---|
|
|
This early Russian logo can be found in the game's files. The "Spyro" lettering was slightly darker, the formatting of "The Legend of" was altered, and the word "ночь" ("Night") misuses "B" instead of "Ь". While the typo was corrected in the final logo, the letter that was used has a closer resemblance to the Latin lowercase "b".
(Source: Original TCRF research)
Unused Areas#
There are a few test maps in the game that can be accessed through the hidden level select.
Test Maps#
test_01.lc3.bni#

test_01.lc3.bni contains a ton of props all around the map to test different features. There are also dialogue box buttons that test how they work in-game.
demo_01.lc3.bni#

Like the map above, this one contains a ton of props. It also tests slopes and different effects.
Battle Test#

The Reset Test option in the level select launches a battle test of some sorts where you need to activate different stuff, kill enemies etc. to get to the next stage. There are four stages inside the Reset Test option.
Enemy Testing#
There are maps for enemy testing inside the game files. With these you can pretty much fight every enemy that is supposed to appear in the map. From dogs to assassins. By going on the green button, you can spawn the select enemy. Going on the red button will despawn the enemy. Every single one of these maps take a section from a normal map and puts buttons on it.
enemy-temple_01.lc3.bni#

Temple Enemy Testing.
enemy-grove_01.lc3.bni#

Ancient Grove Enemy Testing. This map acts as a testing-section for the Ancient Grove part and the Underground Grove part.
enemy-caves_01.lc3.bni#

Celestial Caves and Dream Sequence enemies testing map.
enemy-arena_01.lc3.bni#

Pirate Fleet and Fellmuth Arena enemy testing. The third image is an assassin enemy test. One weird side-effect with testing them like that is that you can't breathe fire on them.
enemy-fortress_01.lc3.bni#

Mountain Fortress enemy testing map.
(Source: Original TCRF research)
Unused Dragon Challenges#
By editing the 'levels.ini.bni' file to add references to the level files for these unused levels, you can access some unused dragon challenges that don't appear in the level select menu. In the edits that have been made, the levels seem to be only partially playable, with the enemies not spawning in properly due to missing references to the enemies, probably due to not being able to fully edit the 'levels.ini.bni' file properly.
DC06-Earth#
Enemy references from DC06-Earth_env.lc3.bni file
With the edit made to load in this level, it was made using Temple as a base, which seems to be the reason why only the Temple Death Hound enemies seem to spawn in the demonstration above.
EarthTier3 A055_RubbleBrute
DeathHound A016_DeathHound
Dreadwing_W a077_WraithDreadwing
TempleDeathHound A151_TempleDeathHound
DC08-Ice#
Enemy references from DC08-Ice_env.lc3.bni file
It seems that the enemies intended for this level are enemies from Cynder's Lair from A New Beginning, though they do not load in with the edits made to the file.
ElecTier1 A063_ElectricLeech
ElecTier3 A065_Conduit
ElecTier4 A075_CrystalBrute
DC10-Convex#
Kind of playable? But breaks towards the end pretty hard. Unsure if it breaking is due to the edits not working properly, or if it never worked in the first place.
Enemy references from DC10-Convex_env.lc3.bni file
It seems that this challenge also has references to some possible enemies? Though there's no model IDs to go along with them, so it could be possible that Cynder is the only enemy intended for this challenge.
ConvexTier2
ConvexTier3
(Source: Original TCRF research)
Early Boss Area#
There is also an unused area out of bounds in the Ancient Grove level.
There is a circular platform between the tree triggering the Arborick intro cutscene and the Arborick fight itself, hidden by a black wall. It looks like an unifinished area for a boss fight and might have been originally planned for Arborick. There is no collision except for the black wall. It can't be seen in normal gameplay and the only way to access it without hacks is by using glitches to get out of bounds.
(Source: Original TCRF research)
Developer Text#
MAKE.LANG.VBS#
Warren Spence was a production assistant on the project.
'MAKE_LANG.vbs
'Author: Warren Spence - December 06
Set objShell = WScript.CreateObject("WScript.Shell")
Dim objXL
Set objXL = WScript.CreateObject("Excel.Application")
objXL.Visible = FALSE
Set objWorkBook = objXL.Workbooks.Open(objShell.CurrentDirectory & "\cutscenes.xls")
objWorkBook.SaveAs objShell.CurrentDirectory & "\cutscenes.xml", 46 '46 = XML file format
objWorkBook.Close True
Set objWorkBook = objXL.Workbooks.Open(objShell.CurrentDirectory & "\names.xls")
objWorkBook.SaveAs objShell.CurrentDirectory & "\names.xml", 46 '46 = XML file format
objWorkBook.Close True
Set objWorkBook = objXL.Workbooks.Open(objShell.CurrentDirectory & "\translations.xls")
objWorkBook.SaveAs objShell.CurrentDirectory & "\translations.xml", 46 '46 = XML file format
objWorkBook.Close True
objXL.Quit
' now run the batch file to export the text files
objShell.Run "exportlang.bat", 1, True
' remove the XML files
'objShell.Exec "del " & objShell.CurrentDirectory & "\cutscenes.xml"
'objShell.Exec "del " & objShell.CurrentDirectory & "\names.xml"
'objShell.Exec "del " & objShell.CurrentDirectory & "\translations.xml"
Tasks.txt#
1 Spyro Passes Out In Temple - File : Temple_env.lv3, Triggered In Prop ID : 316,TriggerBox_04
2 Spyro Passes Out In Grove - File : (Yet to be triggered)
3 Spyro Passes Out In Arena - File : (Yet to be triggered)
4 Spyro Passes Out In AirShip - File : (Yet to be triggered)
5 Spyro Wakes up From Dream in Temple - File : Temple_02.lv3, Triggered In Prop ID : 473,Cutscene_07
6 Spyro Disables Feather Relic in temple_02 - File : Temple_env, Triggered by ConceptRelic_01
7
8
9
10
11 1st Dream Sequence Complete - File : Dream_env.lv3, Triggered In Prop ID : 313,TriggerBox_01
12 2nd Dream Sequence Complete - File : Dream_env.lv3, Triggered In Prop ID : 314,TriggerBox_02
13 3rd Dream Sequence Complete - File : Dream_env.lv3, Triggered In Prop ID : 315,TriggerBox_03
14 4th Dream Sequence Complete - File : Dream_env.lv3, Triggered In Prop ID : 316,TriggerBox_04
15
16
17
18
19
20 Caves Hub - Finished Fire Trial
21 Caves Hub - Finished Ice Trial
22 Caves Hub - Finished Electricity Trial
23 Caves Hub - Finished Earth trial
24 Caves Hub - Finihsed All Trials
25 Tutorial Task in Caves for displaying Button Crab when player first comes across them.
26 Caves Ice Boss
27 Caves Electricity Boss
28 Caves Fire Boss
29 Caves Earth Boss
30
31
IgnoredEnemies.txt#
// Whatever global.model enemy entries are listed here will be ignored by the automated AnimationTester.exe which
// is run in the Update.bat.
//
// Note: If one of -1 -2 -3 -4 -5 -6 -7 or -8 is listed after an enemey then, rather than ignoring the enemy
// all together, AnimationTester.exe just ignores that particular test for the enemy.
//
//
// '1' tests whether an animation is defined in the .bad but not the .add
// '2' tests whether an animation is defined in the .add but not the .bad
// '3' tests for cycle loop and cycle stop in the animations that require it
// '4' tests whether attacks have the required 'AttackBegin' and 'AttackEnd'
// '5' tests whether the reference points used in the add files exist in m3d
// '6' tests whether subobjects and armour are set up correctly
// '7' tests whether the melee trails are set up correctly if they exist
// '8' tests if .add file has an entry for either ASV_HitKnockdown or ASV_HitFall
DeathHound -4
TempleDeathHound -4
GroveDeathHound -4
CynderDeathHound -4
ConvexTier3 -8
ElecTier2_TEMP -8
MiningMoleLeader -8
RavageRider -8
ConvexityTier2
ConvexTier2
CynderTier1_A
CynderTier2_A
CynderTier3_A
CynderTier1_B
CynderTier2_B
CynderTier3_B
CynderTier1_C
CynderTier2_C
CynderTier3_C
CynderTier2Train_C
CynderTier1_D
CynderTier2_D
CynderTier3_D
Dreadwing_A
Dreadwing_B
Dreadwing_D
Dreadwing_Z
EarthTier3
ElecTier1
ElecTier3
Exhumor
FireBoss
FireTier1
FireTier2
FireTier3
IceBoss
IceTier1
IceTier3
SwampTier1
SwampTier2
SwampTier3
FleetGhost
FOrtressYak
(Source: Original TCRF research)
|
The Spyro series | |
|---|---|
|
PlayStation |
Spyro the Dragon (Prototypes) • Ripto's Rage! (Prototypes) • Year of the Dragon (Prototypes) |
|
Game Boy Advance |
|
|
PlayStation 2, GameCube |
Enter the Dragonfly (Prototypes) • A Hero's Tail (Prototypes) |
|
Xbox |
|
|
Nintendo DS |
|
|
PlayStation 4, Xbox One, Nintendo Switch, Windows |
|
|
J2ME |
|
|
Adobe Flash |
|
|
The Legend of Spyro | |
|
PlayStation 2 |
|
|
Xbox, GameCube |
|
|
Wii |
|
|
PlayStation 3, Xbox 360 |
|
|
Game Boy Advance |
|
|
Nintendo DS |
|
|
J2ME |
|
|
Adobe Flash |
|
|
Windows |
|
|
Skylanders | |
|
Wii, Wii U |
Spyro's Adventure (TFB) • Giants (Prototypes) • Swap Force (Prototypes) • Trap Team |
|
Nintendo 3DS |
|
|
Adobe Flash |
|
|
PlayStation 3, Xbox 360 |
Spyro's Adventure (XPEC) (Prototypes) • Giants (Prototypes) • Swap Force • Trap Team • SuperChargers • Imaginators |
|
Xbox One, PlayStation 4 |
|
|
Nintendo Switch |
|
|
HTML5 |
Panel Panic • Mini Mission: Jail Break! • Light & Dark Puzzle Passage! • Splash Circuit |
|
iOS |
|
|
Android |
|
|
Fire OS |
|
|
tvOS |
|
|
Other | |
|
Game Boy Advance |
Spyro Orange: The Cortex Conspiracy • Crash Bandicoot Purple: Ripto's Rampage |
|
Adobe Flash |
|


