diff options
Diffstat (limited to 'engines/bladerunner/light.cpp')
| -rw-r--r-- | engines/bladerunner/light.cpp | 11 | 
1 files changed, 11 insertions, 0 deletions
| diff --git a/engines/bladerunner/light.cpp b/engines/bladerunner/light.cpp index 08eb8ab5be..8be8d0112b 100644 --- a/engines/bladerunner/light.cpp +++ b/engines/bladerunner/light.cpp @@ -27,9 +27,13 @@  namespace BladeRunner {  Light::Light() { +	_animationData = nullptr;  }  Light::~Light() { +	if (_animationData != nullptr) { +		delete[] _animationData; +	}  }  void Light::read(Common::ReadStream *stream, int framesCount, int frame, int animated) { @@ -43,6 +47,9 @@ void Light::read(Common::ReadStream *stream, int framesCount, int frame, int ani  	_animatedParameters = stream->readUint32LE(); +	if (_animationData != nullptr) { +		delete[] _animationData; +	}  	int floatsCount = size / 4;  	_animationData = new float[floatsCount];  	for (int i = 0; i < floatsCount; i++) { @@ -80,6 +87,10 @@ void Light::readVqa(Common::ReadStream *stream, int framesCount, int frame, int  	int size = stream->readUint32LE(); +	if(_animationData != nullptr) { +		delete[] _animationData; +	} +  	int floatsCount = size / 4;  	_animationData = new float[floatsCount];  	for (int i = 0; i < floatsCount; i++) { | 
