Jump to content

Leftover code from Unleashed in Generations

From HedgeDocs

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.

Werehog related code

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.

Install screen related code

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.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.