Leftover code from Unleashed in Generations
Since Sonic Generations was built off of Sonic Unleashed, a lot of the codebase is shared, but there's also a bunch of stuff leftover from the Werehog and other things that goes completely unused in Sonic Generations.
Sonic::CSparkEffectStripClaw
Manual particle that would play whenever the Werehog would execute a claw-related attack, it's unspawnable in Sonic Generations due to a missing helper class, but it is identical to the one found in Sonic Unleashed.
Sonic::CStandardFur, Sonic::CFurVolumeTextureCreator, Sonic::CFurRender, Sonic::CFurInstanceRender
Classes used to help and manage the fur used by the Werehog and Chip in Unleashed, these do nothing in Sonic Generations due to the corresponding fur shader not existing in the game, but they're identical to Sonic Unleashed.
Sonic::IInstallTest, Sonic::CInstallTestNotSupport
These are leftover classes from the Install screen mode in Unleashed, there is also a function at address 0x108FF80
which is a remnant of SWA::CInstallDisplay
from Unleashed, which is the UI used for the Install screen.
Set Manager
Inside the message processor function for Sonic::Message::MsgLoadSetLayer
in Sonic::CSetObjectManager
, the set manager checks if the Set Layer XML contains the <Evil>
tag for spawning the Werehog instead of Modern Sonic, although in Sonic Generations this does nothing as it is ignored later on.
The set manager also contains a message called Sonic::Message::MsgCollectLegacySetData
, considering that this message did not exist in Sonic Unleashed, it's safe to assume that this was most likely used to refactor set layers to use the Sonic Generations set layer layout, as Generations has a maximum of 28 layers with predefined names, while Unleashed has an infinite possible amount of layers.