This is a sub-page of Proto:Spyro: Year of the Dragon/September 4th, 2000 build.
Unused strings can be found in a number of different forms in this version.
Strings#
Debugging Executable Strings#
The following strings are in the game's executable, and are there for debugging reasons. None of them are included within the final game.
No help %d
Displays whenever the help menu tries to get a help menu that doesn't exist in the level's data. %d is replaced with the help menu ID. This can be seen in a couple of levels in this version, due to some missing help menus.
CDR ERR 0, LoadStage=%d
CDR ERR 1, LoadStage=%d
CDReadDone() -- not reading
A few CD read debugging messages, printed to the console. None of these are present in the final.
Level %d, Memory Available: %d,
Occlusion ON
***NO OCCLUSION***
Several strings printed to the console when entering levels. Both review builds include these strings, and they're absent in the final game.
Fuck fuck fuck fuck fuck - out of memory for book vram - %d bytes.
bad pause preseek %d
Language! A couple more strings printed to the console when things go wrong, removed in the final. The first is related to the Atlas (hence "book").
VSync: timeout
Another review build exclusive. Interestingly, this one isn't present in the September 11th review build, unlike the strings above.
Loading overlay strings#
A couple more can be found in the overlay used when loading levels.
Level %d, SRAM Available: %d
%s%s...
Not present in the final game, and used when printing the game's status to the console.
Moby printfs#
A number of strings used in debugging are present in this version and are not known to be present in any other version. These are all strings which are printf'd by mobys (the in-game objects).
Sparx Worlds - Moby Class 453 (Sparx exit portal)#
invalid exit data! bossMoby = %d, eggPos = %d
Used by the level exit portals in all Sparx levels.
Crawdad Farm - Moby Class 390 (Crawdad spawner)#
WARNING!!! INVALID CLASS %d for spawner %d
Crawdad spawners print this when a linked moby is found to be the wrong moby class. A similar message is used in Bugbot Factory.
Spider Town - Moby Class 602 (Spider)#
Hey! MobyUpdate_602 has a path that has no end! Trying to return to LOS home
Used by the spiders in Spider Town, relates to issues with moby path data. Interestingly suggests the name of the moby update function used by this moby. A version of this string is also used by the ladybirds in Bugbot Factory.
Spider Town - Moby Class 617 (Spider boss)#
FATAL ERROR!!! BROKEN CHILD LINK in boss #617
Related to moby links in the Spider Town boss, i.e. linking the spider boss to the spawned mini-spiders.
Evening Lake Home - Moby Class 717 (Hunter)#
BROKEN LINKS FOR MOBY 717 !!!
please repair immediately
Two strings used by Hunter in Evening Lake, printed when the moby links used in his cutscene are found to be broken.
Starfish Reef - Moby Class 622 (Mantaray boss)#
SERIOUS ERROR in boss moby #622, sibling spawning failed!
Another moby link message, this time used by the mantaray boss in Starfish Reef, relating to links between each of the mantarays in the boss area.
Harbor Speedway - Moby Class 953#
broken link for moby 953!
Used by a moby related to the Hunter mission in Harbor Speedway. Unlike most of these, this is an entirely functional moby that does not have a model.
Bugbot Factory - Moby Class 720 (Ladybird bugbots)#
Hey! MobyUpdate_602 has a path that has no end! Trying to return to LOS home
Duplicate of the moby 602 string from Spider Town. The class mentioned in the string clearly doesn't match the actual class using this message this time, so this may either be a copy paste error or due to shared code.
Bugbot Factory - Moby Class 724 (Bugbot spawner)#
WARNING... bad init path!, curNode = %d
Another pathing message, used by the bugbot spawner in Bugbot Factory.
WARNING!!! INVALID CLASS %d for spawner %d
A duplicate of the same string used in Crawdad Farm.
Bugbot Factory - Moby Class 963#
bad moby in level 48 boss, #%d
Something relating to the boss in Bugbot Factory.
ERROR!!! %d is following the wrong dude after %d's death! Status table follows:
%d's state is %d
The latter is used to print a table of all of the linked moby states if something goes wrong.
Moby printfs present in the final#
There's also a few strings printf'd by mobys that were kept in later versions of the game, too.
Honey Speedway - Moby Class 376 (Hunter)#
BROKEN LINK!!! UFO link for 376 is -1!
This moby link related the Hunter moby to the UFO during the chase sequence in Honey Speedway, and this message is printed if the link is broken. Back into the Time War, Rassilon, back into hell.
Dino Mines - Moby Class 594 (Dino Mines NPC)#
Resetting puzzle
Printed when re-entering area after obtaining the egg, but doesn't really correspond with anything actually being reset.
Sorceress's Lair - Moby Class 759 (Sorceress' wand)#
fuckety fuck fuck
As if the Sorceress wasn't bad enough, her wand is as foul-mouthed as they come.
Strings also present in the final game#
Difficulty:
A Spyro 2 leftover, which is still present in both this version and the final game, and unused in both.
Shutting Down
Launching Crash Bash Demo
cdrom:\CRASHBSH\SHELL.EXE;1
Found in the title overlay, printed when accessing the Crash Bash demo. Present in both this version and the final game.
Printfs also present in the final game#
Several of the strings printed to the console - and thus not seen in normal gameplay - are also present in the final game, but have been noted here as they are still unused in earlier builds.
Too many moby tags.
Present in the Credits overlay, printed to the console if there is not enough space to spawn new mobys, e.g. if there are too many spawned mobys already in use.
Dongle Protection#
As with other Spyro builds, dongle protection is present in this build. If the dongle check fails, the game will halt on the Universal logo screen, printing the following message to the console:
Bad Dongle
A valid dongle must have the following save file identifier:
BASLUS-99999SPYRO3
Additional Notes#
- The "Press < to Continue" string in the executable is next to string pointers for some reason, rather than in the string block, as it would be in later versions. This just seems to just be a mistake and doesn't impact gameplay.