diff --git a/TombEngine/Game/Setup.cpp b/TombEngine/Game/Setup.cpp index 733989cb6..076acc185 100644 --- a/TombEngine/Game/Setup.cpp +++ b/TombEngine/Game/Setup.cpp @@ -208,6 +208,8 @@ void CustomObjects() void InitializeObjects() { + TENLog("Initializing objects...", LogLevel::Info); + AllocTR4Objects(); AllocTR5Objects(); @@ -250,9 +252,6 @@ void InitializeObjects() // User defined objects CustomObjects(); - HairEffect.Initialize(); - InitializeSpecialEffects(); - NumRPickups = 0; CurrentSequence = 0; SequenceResults[0][1][2] = 0; diff --git a/TombEngine/Game/control/control.cpp b/TombEngine/Game/control/control.cpp index 446dbac9c..412c974dd 100644 --- a/TombEngine/Game/control/control.cpp +++ b/TombEngine/Game/control/control.cpp @@ -389,6 +389,7 @@ GameStatus DoLevel(int levelIndex, bool loadGame) InitializeCamera(); InitializeSpotCamSequences(isTitle); InitializeItemBoxData(); + InitializeSpecialEffects(); // Initialize scripting. InitializeScripting(levelIndex, loadGame); diff --git a/TombEngine/Specific/level.cpp b/TombEngine/Specific/level.cpp index e87d162d5..aa42a4e55 100644 --- a/TombEngine/Specific/level.cpp +++ b/TombEngine/Specific/level.cpp @@ -219,6 +219,8 @@ std::string ReadString() void LoadItems() { + InitializeObjects(); + g_Level.NumItems = ReadCount(); TENLog("Moveables: " + std::to_string(g_Level.NumItems), LogLevel::Info); @@ -454,9 +456,6 @@ void LoadObjects() Objects[objNum].animIndex = ReadInt32(); } - TENLog("Initializing objects...", LogLevel::Info); - InitializeObjects(); - int staticCount = ReadCount(); TENLog("Statics: " + std::to_string(staticCount), LogLevel::Info);