the cutting room mirror

Unseen Differences

This article has a talk page!This article has a talk page!
view on tcrf.net

This is a sub-page of Proto:Spyro: Year of the Dragon/April 25th, 2000 build.

Some of the differences can't be seen by the naked eye.

Level Names#

The level select menu is the only location in this version of the game where levels are given real names. In the internal level list used by the portals (most of which do not exist), the Atlas (which is not usually accessible in this version), and the debug console (which is certainly not seen by the player), the levels are all referred to as "Level" followed by their level ID. None of these level names are seen under normal conditions. For the sake of comparison, their level select names, earliest demo names and final names are included below.

Apr 25 Internal Name

Apr 25 Level Select Name

May 25 Demo Name

Final Name

Present In Apr 25

Level 10

None

Sunrise Spring Home

Sunrise Spring Home

Yes

Level 11

None

Sunny Villa

Sunny Villa

Yes

Level 12

Cloud City

Cloud City

Cloud Spires

Yes

Level 13

None

Molten Crater

Molten Crater

Yes

Level 14

None

Seashell Shore

Seashell Shore

Yes

Level 15

None

Mushroom Speedway

Mushroom Speedway

No

Level 16

Sheila's Home

Sheila's Alp

Sheila's Alp

Yes

Level 17

None

Buzz's Dungeon

Buzz's Dungeon

No

Level 18

None

Crawdad Farm

Crawdad Farm

Yes

Level 20

None

Midday Garden Home

Midday Garden Home

No

Level 21

Iceberg

Icy Peak

Icy Peak

Yes

Level 22

None

Enchanted Towers

Enchanted Towers

No

Level 23

Swamp Party

Spooky Swamp

Spooky Swamp

Yes

Level 24

Rice Paddies

Bamboo Terrace

Bamboo Terrace

Yes

Level 25

Country Speedway

Country Speedway

Country Speedway

Yes

Level 26

Sgt. Byrd's Home

Sgt. Byrd's Base

Sgt. Byrd's Base

Yes

Level 27

None

Level 27

Spike's Arena

Yes

Level 28

None

Level 28

Spider Town

No

Level 30

None

Evening Lake Home

Evening Lake Home

No

Level 31

Aztarctica

Frozen Altars

Frozen Altars

Yes

Level 32

Lost Fleet

Lost Fleet

Lost Fleet

Yes

Level 33

None

Fireworks Factory

Fireworks Factory

No

Level 34

None

Charmed Ridge

Charmed Ridge

No

Level 35

None

Honeycomb Speedway

Honey Speedway

No

Level 36

Bentley's Home

Bentley's Outpost

Bentley's Outpost

Yes

Level 37

None

Level 37

Scorch's Pit

No

Level 38

None

Level 38

Starfish Reef

No

Level 40

None

Midnight Mountain Home

Midnight Mountain Home

No

Level 41

None

Crystal Islands

Crystal Islands

No

Level 42

None

Desert Ruins

Desert Ruins

No

Level 43

None

Catacomb Caverns

Haunted Tomb

No

Level 44

None

Dry Gulch

Dino Mines

No

Level 45

None

Harbor Speedway

Harbor Speedway

No

Level 46

Agent 9's Home

Agent 9's Lab

Agent 9's Lab

Yes

Level 47

None

Level 47

Sorceress' Lair

No

Level 48

None

Level 48

Bugbot Factory

No

Level 50

None

Level 50

Super Bonus Round

No

Moneybags Values#

Looking over the array of values that Moneybags requests the player gives to him, we can see that (unsurprisingly) only four levels have Moneybags present at this point - all ones that can be seen in-game:

Level

Apr 25 Value

Final Value

Cloud Spires

200

200

Spooky Swamp

100

500

Sunrise Spring

100

300

Icy Peak

100

500

Molten Crater

N/A

300

Charmed Ridge

N/A

600

Midday Gardens

N/A

700

Evening Lake

N/A

1000

Desert Ruins

N/A

800

Midnight Mountains

N/A

1300

Frozen Altars

N/A

800

Crystal Islands

N/A

1000

Dongle Protection#

Dongle protection is present in this build, which can stop the game from running on real hardware and certain emulators. There's a couple unseen strings which correspond to the protection:

BASLUS-99999SPYRO3

This string indicates what save data would be present in the dongle.

Bad Dongle

Should no dongle be detected, this string is output to the console.

Atlas and Options Menu#

Watch on YouTubeWhile the Atlas and options menu cannot be accessed under normal means in this version, there is some very basic functionality which can be accessed using external tools.

There are two WAD files corresponding to the Atlas contents, as opposed to the one used in the final game. Both contain apparently identical graphical data for the Atlas, but some different text strings and code. There are no gem, egg or character icons present at this point.

Atlas#

Spyro3-Atlas-Apr25.png

The first of these WAD files corresponds to the Atlas, which can be loaded by setting the value at address 0x800694CC to 0x0C while on the pause menu.

Graphically, the Atlas looks very similar to how it does in the final game, except for the text layout on the page - the nine levels of each homeworld are laid out in a 3x3 grid on the page - though at this point all of the level names are simple placeholders. The font used by the Atlas is the pause menu font rather than the standard Atlas font. There's not a whole lot to do in this version of the Atlas, as changing the page just reveals the same page again.

The first WAD contains the following text strings, all of which are displayed on-screen. They're grouped by which of the two pages they appear on.

On the left page:

First Level
Second
Fourth Level
Hub
Sixth Level
Seventh

On the right page:

Level
Third Level
Level
Fifth Level
Level
Eighth Level

This all culminates in the level names taking the following layout across the double page:

First Level

Second Level

Third Level

Fourth Level

Hub Level

Fifth Level

Sixth Level

Seventh Level

Eighth Level

Options#

Spyro3-Options-Apr25.png

The second of these WAD files is near identical to the first, though notably the first three strings are switched out for the following, suggesting that the options menu would have, at one point, existed within an Atlas menu, rather than the standard pause menu:

Audio
Video
Memory Card

The rest of the graphics in this WAD - and seemingly, the code, too - match the Atlas WAD. As such, it doesn't appear that the options menu has any functionality at this point, aside from the page-turning simulator already present in the Atlas. It comes as no surprise to find out the page displays essentially identically to the Atlas, except that the first, second and fourth level names have been replaced. The page layout ends up with the following entries, including one nonsense entry thanks to the "Level" string being leftover from the Atlas:

Audio

Video Level

Third Level

Memory Card

Hub Level

Fifth Level

Sixth Level

Seventh Level

Eighth Level

The page can be loaded by setting the value at address 0x800694CC to 0x11 while on the pause menu.

Shell Fragments#

All eggs - except for the unusual ones used in Sunrise Spring - also come with unused shell fragment models within the same moby class. There are only three shell types, and all egg types seem to use the same three shell fragment models.

Spyro 2 Leftovers#

While the title screen is obviously a Spyro 2 leftover, there's a few more leftovers that aren't seen during normal gameplay.

Strings#

Several strings corresponding to mechanics and collectables that aren't present in this version are still knocking around.

Difficulty:

The minigame difficulty counter actually would end up being used in a few of the game's demos before going unused in the final game (despite still being present in the game's data). It's unused in this version, too.

You already have this orb

As orbs are the main collectable in Spyro 2, this is never used... except! The orb string can actually be seen by re-entering a level already entered using the level select cheat codes and collecting an NPC-given egg for the second time, as explained below.

You already have this talisman

Talisman

Similarly, the associated Talisman strings are still present.

Cutscenes#

The environment and moby models used in the first two cutscenes of the second game are still present in the game's data, but none of this data is used and seemingly cannot be loaded, possibly because the code used to run the cutscenes are themselves not present. Attempting to enter the IDs of these cutscenes (70 or 71, according to Spyro 2) using the level select cheat code will simply cancel the code as if no cheat had been entered at all; the same cannot be said for other invalid values. Forcing the game to load these IDs will only result in crashing.

Additionally, the sound effect data for these two cutscenes is present, and converting it into a typical audio format reveals that it's actually from the Japanese version of Spyro 2.

Loading Screens#

Spyro 2's loading screens - the ones seen at the start of the game, before and after bosses, when travelling between worlds and when entering the demo mode - are still present.

Loading Skyboxes#

Watch on YouTubeThe WAD containing the skyboxes shown during loading transitions is identical to the one in Spyro 2, meaning the loading skyboxes are the same. However, as the array handling which skybox is shown per level (address 80060ED0) is zeroed out, all levels show the loading skybox for Glimmer.

The loading skyboxes are all unused anyway, as the player cannot normally access Sunrise Spring in order to access a portal in this version. Despite this, due to the array being zeroed out, even if the player were able to reach Sunrise Spring they'd still need to modify the skybox array in order to view these extra skyboxes, making them... even more unused?

Many of these skyboxes - including the Glimmer skybox - do not appear in the final game.

Re-Entering Levels#

Using the level select cheats rather than the menu allows you to re-enter levels without all the progress variables being reset. That is, the game will still be aware of the fact that you've already completed the level.

Of particular note is the egg behavior when re-entering levels. NPC-given eggs and eggs placed throughout the level behave differently in a number of ways in this build, but of particular note is that even eggs placed throughout the level seem to respawn on re-entry, something that would never occur in the final game (except for rare cases of minigame-given eggs that are essentially just eggs placed in the level disguised to appear to spawn from the minigame). They seem to not be saved as collected, so the player does not receive a notification telling them they'd already collected the egg when they collect them for a second time.

Spyro3-AlreadyCollectedOrb-Apr25.png

By contrast, the NPC-given eggs, when they can be collected a second time, do inform the player of this. However, they do so by telling the player that they have already collected that orb, due to leftovers from Spyro 2. The dragon name clashes with this notification, as seen in the image.

Adding to the pecularities is that certain features of a level do not regenerate on returning to the level as one would expect. Of particular note is that the end-of-level NPCs seem to only leave the level in Bamboo Terrace, Lost Fleet and Bentley's Outpost. There's no exit portals in this build, so these characters are not seen to leave their respective levels via portal as the former two would in the final game, but losing a life or entering a sublevel reveals that these characters are the only ones that despawn after doing so, in this version (with the exception of Sheila's Alp, but this is true of all NPCs in that level, and these are not NPCs that would leave the level, so it is not significant in this case). As such, it seems to be the case that the level ending mechanics were slightly more complete in these levels, possibly due to them all being levels created particularly early in development. For other levels, the end-of-level NPC will instead stick around upon returning to the level, and will even give you an egg a second time should you complete their tasks again.

There's a number of oddities surrounding a few aspects which don't seem to carry across as they should when re-entering a level:

  • In Sunny Villa, the gates at the end of the level will lower again and trap the Mayor a second time.
  • In Icy Peak, the gondola does not automatically travel down the mountain.
    • However, the gondola can still be used without having to speak to the end-of-level NPC first upon returning to the level - by contrast, on the first entry into the level, prior to collecting the egg from the end-of-level NPC, the gondola will not work.
  • In Spooky Swamp, the tea lamps unlight and the door to Sleepyhead has to be re-opened. No whirlwind to the end of the level spawns even when completing the level without re-entry.
  • In Lost Fleet, the breakable walls return.
  • In Bentley's Outpost, the pushable blocks in the final section inexplicably sink into the ground, presumably due to a glitch. This allows them to be pushed in ways they're not supposed to and seems to make the level impossible to complete.

"Empty" Level Slots#

There is evidence in both this version of the game and every proceeding version up to the final game that suggests the game can handle another 3 levels on top of the 37 already in the (final) game. In particular, many arrays used by the game are 40 bytes long and even the arrays handling the conversion between the Level ID and the Level Number (the former starting at 10 and ending at 50 and the latter starting at 0 and ending at 36) suggest that there should be at least another two levels with IDs 60 and 61.

In fact, unpacking the WAD file used in the final game reveals that there are 6 empty WAD files after the level WADs. Since each level uses two WAD files (one for the data and one for the code overlay), one might draw the conclusion that these WADs are reserved for the remaining level slots. In fact, within the Atlas code, the game labels each of these three levels with the name "Empty".

In this version of the game, while most of the aforementioned six empty WAD files are still empty, two of the data WADs (presumably corresponding to levels 60 and 61) are non-empty, if it is to be believed that these WADs would be the ones that become the six empty ones in the final and they're not entirely unrelated.

As it turns out, the WADs are non-empty as they are the level and moby model files for the two leftover Spyro 2 cutscenes. Attempting to load levels 60 or 61 via a portal in the final quickly corrupts the VRAM and crashes the game. Oddly, some emulators treat entering level 60 slightly differently in this version than to the final, even preserving the appearance of the text after the VRAM corruption, perhaps suggesting that the text is still present in the data WAD that is being loaded, in some form. In said inaccurate emulators, the level transition text even claims the player is "Returning To Empty" in this version, whereas in the final game and in more accurate emulators and on hardware the game crashes much earlier than this.

Note that, despite the level IDs these WADs correspond to being 60 and 61, the cutscenes they represented in Spyro 2 had IDs 70 and 71.

Other Unused Assets#

  • Almost every NPC type for each level seems to have at least one (completely unused) talking animation, despite there being no audio dialogue present in this build. These are likely the ones that game would've used once the audio dialogue and lip syncing had been implemented.
    • Hunter's Sunny Villa model doesn't have a talk animation, but it does have a number of animations that would only be used in Enchanted Towers in the final game. The animations are not present in Sunny Villa in the final game, and they certainly aren't used in this version. It's not clear whether the animations were made in preparation for Enchanted Towers or if Hunter was originally planned to have used his skateboard in Sunny Villa.
  • The internal gem value array - which is almost entirely unused in this version, due to a lack of an Atlas, and the lack of an indicator that tells you when you've collected all the gems in a level - contains entries for all levels, including the three "empty" levels at the end of the array. In this version, all levels are set to have a total of 400 gems (which would total 16000 gems across the entire game), though the number of collected gems per level caps off at 10000 (as opposed to the final's cap of 20000). Fragments of this array are used in-game when using cheat codes, since one of the cheat codes maxes out the number of gems collected in each level and the current level's gem count can be seen via the HUD, but in fact the gem total is set even for levels that are totally absent from this build.
  • The music array - which defines which track IDs to use in each level - has all levels set to use ID 04 (Spooky Swamp's theme) except for the levels which have their own unique themes (Sheila's Alp, Bamboo Terrace, Sgt. Byrd's Base, Frozen Altars, Lost Fleet and Bentley's Outpost). This also includes levels that aren't yet implemented in this build, as well as the three "empty" slots at the end of the array (though these slots would still be using 04 in the final game).