Re-use FF's _variableArray2[] instead of creating a new one for PP. Free the

variable arrays on exit.

svn-id: r24029
This commit is contained in:
Torbjörn Andersson 2006-09-30 07:06:55 +00:00
parent 0baff35753
commit 3c093746bd
3 changed files with 5 additions and 5 deletions

View File

@ -331,7 +331,6 @@ AGOSEngine::AGOSEngine(OSystem *syst)
_variableArray = 0;
_variableArray2 = 0;
_variableArrayPtr = 0;
_variableBackupArray = 0;
memset(_windowArray, 0, sizeof(_windowArray));
@ -617,7 +616,6 @@ void AGOSEngine::setupGame() {
_variableArray = (int16 *)calloc(_numVars, sizeof(int16));
_variableArray2 = (int16 *)calloc(_numVars, sizeof(int16));
_variableBackupArray = (int16 *)calloc(_numVars, sizeof(int16));
setupOpcodes();
@ -659,6 +657,9 @@ AGOSEngine::~AGOSEngine() {
free(_backBuf);
free(_scaleBuf);
free(_variableArray);
free(_variableArray2);
delete _dummyItem1;
delete _dummyItem2;
delete _dummyItem3;

View File

@ -412,7 +412,6 @@ protected:
int16 *_variableArray;
int16 *_variableArray2;
int16 *_variableArrayPtr;
int16 *_variableBackupArray;
WindowBlock *_windowArray[16];

View File

@ -2571,7 +2571,7 @@ void AGOSEngine::o4_restoreOopsPosition() {
getNextItemPtr();
if (_oopsValid) {
for (uint i = 0; i < _numVars; i++) {
_variableArray[i] = _variableBackupArray[i];
_variableArray[i] = _variableArray2[i];
}
// i=FlagData[999]*100+11;
// C_PICTURE(4,i);
@ -2644,7 +2644,7 @@ void AGOSEngine::o4_saveOopsPosition() {
// if (IsVQueueEmpty() == 0) {
_oopsValid = true;
for (uint i = 0; i < _numVars; i++) {
_variableBackupArray[i] = _variableArray[i];
_variableArray2[i] = _variableArray[i];
}
// } else
// _oopsValid = false;