diff --git a/Source/Contents/Models/ModelActor.cpp b/Source/Contents/Models/ModelActor.cpp index 462f5769..d1f278d1 100644 --- a/Source/Contents/Models/ModelActor.cpp +++ b/Source/Contents/Models/ModelActor.cpp @@ -220,8 +220,10 @@ C3dNode* C3dActorV2::Find(const char* name) { // OFFSET: 0x00AB94D0 // FUNCTION: fn_17510 void C3dActor::CopyVolumes(const std::list& source) { - for (const ModelVolume* volume : source) { - this->volumes.push_back(new ModelVolume(*volume)); + for (auto it = source.begin(); it != source.end(); ++it) { + ModelVolume* volume = new ModelVolume; + *volume = **it; + this->volumes.push_back(volume); } } diff --git a/Source/Contents/Models/ModelActor.h b/Source/Contents/Models/ModelActor.h index aa9a6230..f5139640 100644 --- a/Source/Contents/Models/ModelActor.h +++ b/Source/Contents/Models/ModelActor.h @@ -22,6 +22,7 @@ public: virtual void MarkOccluded(const float* ray); virtual void SetSpeed(float speed); void CopyVolumes(const std::list& source); + void Fade(); /* 0004 */ float position[3]; /* 0010 */ float rotation[3]; @@ -50,7 +51,6 @@ public: protected: void FinishBounds(const float* bounds, bool modern); - void Fade(); bool Reversed() const; };