BlueBlur is a modding API designed for the Steam version of Sonic Generations. You can use it to interface with the original C++ types of the game when creating your own DLL mods.
- Ensure your project targets C++17 or newer.
- Add BlueBlur directory to following properties in your project settings:
- C/C++ -> General -> Additional Include Directories
- Linker -> General -> Additional Library Directories
- Include BlueBlur.h in a source file in your project. You should preferably do this in a precompiled header.
There currently aren't any samples associated with this project. However, you can check these DLL mods for reference:
- ActualMandM/HedgeDllMods
- blueskythlikesclouds/DllMods
- brianuuu/DllMods
- GenerationsSM64/GenerationsSM64
- HyperBE32/App-Extension-Mods
- LadyLunanova/DllMods
- PTKickass/ModUpdates
Refer to these singletons included in the game for a head-start:
Sonic::CApplicationDocument::GetInstance()Sonic::CGameDocument::GetInstance()Sonic::CInputState::GetInstance()Sonic::Player::CPlayerSpeedContext::GetInstance()Sonic::Player::CSonicClassicContext::GetInstance()Sonic::Player::CSonicContext::GetInstance()Sonic::Player::CSonicSpContext::GetInstance()
You should use Sonic::Player::CPlayerSpeedContext if you want to handle every player regardless of their type. Use type specific singletons for specific players.