TSAGE: R2R - Some more renaming, fix card shuffling animations sync

This commit is contained in:
Strangerke 2013-11-30 17:54:44 +01:00
parent dc0285041c
commit 6c1401d2d0
2 changed files with 21 additions and 22 deletions

View File

@ -2241,7 +2241,7 @@ Scene1337::Scene1337() {
for (int i = 0; i < 100; i++)
_availableCardsPile[i] = 0;
_field423C = 0;
_shuffleEndedFl = false;
_field423E = 0;
_field4240 = 0;
_field4242 = 0;
@ -3045,40 +3045,43 @@ void Scene1337::Action1::signal() {
}
}
/**
* Shuffle cards animation
*/
void Scene1337::Action2::signal() {
Scene1337 *scene = (Scene1337 *)R2_GLOBALS._sceneManager._scene;
switch (_actionIndex++) {
case 0:
scene->_item3._card.postInit();
scene->_item3._card.setVisage(1332);
scene->_item3._card.setStrip(8);
scene->_item3._card.setFrame(1);
scene->_item3._card.fixPriority(300);
scene->_item3._card.setPosition(Common::Point(156, 108));
scene->_shuffleAnimation._card.postInit();
scene->_shuffleAnimation._card.setVisage(1332);
scene->_shuffleAnimation._card.setStrip(8);
scene->_shuffleAnimation._card.setFrame(1);
scene->_shuffleAnimation._card.fixPriority(300);
scene->_shuffleAnimation._card.setPosition(Common::Point(156, 108));
scene->_discardPile._card.remove();
scene->_discardPile._cardId = 0;
scene->_aSound1.play(60);
scene->_item3._card.animate(ANIM_MODE_5, this);
scene->_shuffleAnimation._card.animate(ANIM_MODE_5, this);
break;
case 1:
scene->_item3._card.setFrame(1);
scene->_shuffleAnimation._card.setFrame(1);
scene->_aSound1.play(60);
scene->_item3._card.animate(ANIM_MODE_5, this);
scene->_shuffleAnimation._card.animate(ANIM_MODE_5, this);
break;
case 2: {
Common::Point pt(156, 108);
NpcMover *mover = new NpcMover();
scene->_item3._card.addMover(mover, &pt, this);
scene->_shuffleAnimation._card.addMover(mover, &pt, this);
}
break;
case 3:
scene->_item3._card.remove();
scene->_shuffleAnimation._card.remove();
scene->_background2.setup2(1332, 5, 1, 162, 95, 110, 1);
scene->_field423C = 1;
scene->_shuffleEndedFl = true;
break;
default:
break;
@ -5583,18 +5586,14 @@ void Scene1337::shuffleCards() {
_availableCardsPile[randIndx] = swap;
}
_field423C = 0;
_shuffleEndedFl = false;
_animatedCard._card.setAction(&_action2);
while(_field423C == 0) {
while(!_shuffleEndedFl && !g_vm->shouldQuit()) {
g_globals->_sceneObjects->recurse(SceneHandler::dispatchObject);
g_globals->_scenePalette.signalListeners();
R2_GLOBALS._sceneObjects->draw();
warning("TODO: recurse on draw() and on signalListeners()?");
g_globals->_events.delay(g_globals->_sceneHandler->_delayTicks);
// Hack to avoid eternal loop
// To be removed when the recurse is working properly
_field423C = 1;
}
}

View File

@ -293,7 +293,7 @@ public:
Action12 _action12;
Action13 _action13;
unkObj1337sub1 _animatedCard;
unkObj1337sub1 _item3;
unkObj1337sub1 _shuffleAnimation;
unkObj1337sub1 _item4;
BackgroundSceneObject _background2;
int _cardsAvailableNumb;
@ -306,7 +306,7 @@ public:
unkObj1337sub1 _item6;
unkObj1337sub1 _discardPile;
unkObj1337sub1 _item8;
int _field423C;
bool _shuffleEndedFl;
int _field423E;
int _field4240;
int _field4242;