diff options
| author | coco875 <59367621+coco875@users.noreply.github.com> | 2025-12-22 22:48:07 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-22 14:48:07 -0700 |
| commit | ce92773a602cca246c44dbec9fb87656fedfa323 (patch) | |
| tree | 19bee63b1ae4ad566eaeb66d83f90257d6407fea /src/engine/World.cpp | |
| parent | 31c2063a61feddb340a48beb7c0376b885c8ce00 (diff) | |
Clean ptr and fix (#610)
* use more unique ptr and fix a shell crash
* remove useless mods folder
* add even more unique_ptr
* Update KoopaTroopaBeach.cpp
* restore a throw
* Update Game.cpp
* automatically create mods folder
* fix oob in external by assuming that all 8 player can make sound
* better texture loading
* add destructor for gameobject
* avoid out of bound in audio sample
* Update FrameInterpolation.cpp
* Update torch
Diffstat (limited to 'src/engine/World.cpp')
| -rw-r--r-- | src/engine/World.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/engine/World.cpp b/src/engine/World.cpp index 2e4b08748..bc6cbfc1b 100644 --- a/src/engine/World.cpp +++ b/src/engine/World.cpp @@ -106,7 +106,7 @@ void World::TickCameras() { } } - for (GameCamera* camera : Cameras) { + for (auto& camera : Cameras) { if (camera->IsActive()) { camera->Tick(); } @@ -215,9 +215,9 @@ void World::TickObjects60fps() { } } -ParticleEmitter* World::AddEmitter(ParticleEmitter* emitter) { - Emitters.push_back(emitter); - return Emitters.back(); +ParticleEmitter* World::AddEmitter(std::unique_ptr<ParticleEmitter> emitter) { + Emitters.push_back(std::move(emitter)); + return Emitters.back().get(); } void World::DrawObjects(s32 cameraId) { @@ -259,10 +259,6 @@ void World::CleanWorld(void) { World::Reset(); // Reset OObjects - for (auto& emitter : Emitters) { - delete emitter; - } - for (size_t i = 0; i < ARRAY_COUNT(mPlayerBombKart); i++) { mPlayerBombKart[i].state = PlayerBombKart::PlayerBombKartState::DISABLED; mPlayerBombKart[i]._primAlpha = 0; |
