From f13e95ccbee7bd2610fc0603fddda62aff4bb6c8 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Sun, 17 Jul 2022 10:22:48 +0200 Subject: [PATCH] - also allocate FDoorAnimation's frame table from the texture manager's memory arena. The same lifetime rules as for the regular animations apply here. --- src/gamedata/textures/animations.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/gamedata/textures/animations.cpp b/src/gamedata/textures/animations.cpp index f39d1756c..f9570aefd 100644 --- a/src/gamedata/textures/animations.cpp +++ b/src/gamedata/textures/animations.cpp @@ -73,15 +73,6 @@ void FTextureAnimator::DeleteAll() } } mSwitchDefs.Clear(); - - for (unsigned i = 0; i < mAnimatedDoors.Size(); i++) - { - if (mAnimatedDoors[i].TextureFrames != NULL) - { - delete[] mAnimatedDoors[i].TextureFrames; - mAnimatedDoors[i].TextureFrames = NULL; - } - } mAnimatedDoors.Clear(); } @@ -864,7 +855,7 @@ void FTextureAnimator::ParseAnimatedDoor(FScanner &sc) } if (!error) { - anim.TextureFrames = new FTextureID[frames.Size()]; + anim.TextureFrames = (FTextureID*)ImageArena.Alloc(sizeof(FTextureID) * frames.Size()); memcpy (anim.TextureFrames, &frames[0], sizeof(FTextureID) * frames.Size()); anim.NumTextureFrames = frames.Size(); mAnimatedDoors.Push (anim);