Moved the actionNouns array from the scene to the globals object, since the scene will no longer be active during animation sequences

svn-id: r49646
This commit is contained in:
Paul Gilbert 2010-06-14 06:33:24 +00:00
parent 6fb462e6b0
commit 58487da20b
6 changed files with 8 additions and 8 deletions

View File

@ -264,7 +264,7 @@ void MadsAnimation::load(const Common::String &filename, int abortTimers) {
_abortMode = _madsVm->scene()->_abortTimersMode2;
for (int i = 0; i < 3; ++i)
_actionNouns[i] = _madsVm->scene()->actionNouns[i];
_actionNouns[i] = _madsVm->globals()->actionNouns[i];
// Initialise kernel message list
for (uint i = 0; i < _messages.size(); ++i)
@ -436,7 +436,7 @@ void MadsAnimation::update() {
if (_abortMode != ABORTMODE_1) {
// Copy the noun list
for (int i = 0; i < 3; ++i)
_madsVm->scene()->actionNouns[i] = _actionNouns[i];
_madsVm->globals()->actionNouns[i] = _actionNouns[i];
}
}
}

View File

@ -282,6 +282,8 @@ MadsGlobals::MadsGlobals(MadsEngine *vm): Globals(vm) {
playerSpriteChanged = false;
dialogType = DIALOG_NONE;
sceneNumber = -1;
for (int i = 0; i < 3; ++i)
actionNouns[i] = 0;
}
MadsGlobals::~MadsGlobals() {

View File

@ -249,6 +249,7 @@ public:
MadsDialogType dialogType;
int sceneNumber;
int previousScene;
uint16 actionNouns[3];
void loadMadsVocab();
uint32 getVocabSize() { return _madsVocab.size(); }

View File

@ -55,8 +55,6 @@ MadsScene::MadsScene(MadsEngine *vm): _sceneResources(), Scene(vm, &_sceneResour
MadsView::_bgSurface = Scene::_backgroundSurface;
MadsView::_depthSurface = Scene::_walkSurface;
_interfaceSurface = new MadsInterfaceView(vm);
for (int i = 0; i < 3; ++i)
actionNouns[i] = 0;
}
MadsScene::~MadsScene() {

View File

@ -107,7 +107,6 @@ private:
void setAction();
public:
char _aaName[100];
uint16 actionNouns[3];
public:
MadsScene(MadsEngine *vm);
virtual ~MadsScene();

View File

@ -404,7 +404,7 @@ int MadsKernelMessageList::add(const Common::Point &pt, uint fontColour, uint8 f
rec.abortMode = _owner._abortTimersMode2;
for (int i = 0; i < 3; ++i)
rec.actionNouns[i] = _madsVm->scene()->actionNouns[i];
rec.actionNouns[i] = _madsVm->globals()->actionNouns[i];
if (flags & KMSG_OWNER_TIMEOUT)
rec.frameTimer = _owner._ticksAmount + _owner._newTimeout;
@ -504,7 +504,7 @@ void MadsKernelMessageList::processText(int msgIndex) {
if (_owner._abortTimersMode != ABORTMODE_1) {
for (int i = 0; i < 3; ++i)
_madsVm->scene()->actionNouns[i] = msg.actionNouns[i];
_madsVm->globals()->actionNouns[i] = msg.actionNouns[i];
}
}
}
@ -943,7 +943,7 @@ int MadsSequenceList::add(int spriteListIndex, int v0, int frameIndex, int trigg
_entries[seqIndex].abortMode = _owner._abortTimersMode2;
for (int i = 0; i < 3; ++i)
_entries[seqIndex].actionNouns[i] = _madsVm->scene()->actionNouns[i];
_entries[seqIndex].actionNouns[i] = _madsVm->globals()->actionNouns[i];
return seqIndex;
}