Skip to content

Commit

Permalink
FULLPIPE: Renames in scene37. This completes the scene
Browse files Browse the repository at this point in the history
  • Loading branch information
sev- committed Jan 18, 2014
1 parent ce69278 commit dc7fc44
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 73 deletions.
15 changes: 5 additions & 10 deletions engines/fullpipe/scenes.cpp
Expand Up @@ -356,19 +356,14 @@ Vars::Vars() {
scene36_rotohrust = 0;
scene36_scissors = 0;

scene37_var01 = 0;
scene37_var02 = 0;
scene37_var03 = 0;
scene37_var04 = 0;
scene37_var05.clear();
scene37_var06 = 0;
scene37_var07 = 0;
scene37_rings.clear();
scene37_lastDudeX = -1;
scene37_cursorIsLocked = 0;
scene37_plusMinus1 = 0;
scene37_plusMinus2 = 0;
scene37_plusMinus3 = 0;
scene37_var07 = 0;
scene37_var09 = 0;
scene37_var10 = 0;
scene37_soundFlipper = 0;
scene37_dudeX = 0;

selector = 0;
}
Expand Down
14 changes: 5 additions & 9 deletions engines/fullpipe/scenes.h
Expand Up @@ -507,18 +507,14 @@ class Vars {
StaticANIObject *scene36_rotohrust;
StaticANIObject *scene36_scissors;

int scene37_var01;
int scene37_var02;
int scene37_var03;
int scene37_var04;
Common::Array<Ring *> scene37_var05;
int scene37_var06;
int scene37_var07;
Common::Array<Ring *> scene37_rings;
int scene37_lastDudeX;
bool scene37_cursorIsLocked;
StaticANIObject *scene37_plusMinus1;
StaticANIObject *scene37_plusMinus2;
StaticANIObject *scene37_plusMinus3;
int scene37_var09;
int scene37_var10;
int scene37_soundFlipper;
int scene37_dudeX;

PictureObject *selector;
};
Expand Down
104 changes: 50 additions & 54 deletions engines/fullpipe/scenes/scene37.cpp
Expand Up @@ -52,11 +52,7 @@ void scene37_initScene(Scene *sc) {
Ring *ring;
StaticANIObject *ani;

g_vars->scene37_var01 = 200;
g_vars->scene37_var02 = 200;
g_vars->scene37_var03 = 300;
g_vars->scene37_var04 = 300;
g_vars->scene37_var06 = -1;
g_vars->scene37_lastDudeX = -1;

ring = new Ring();
ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 0);
Expand All @@ -68,7 +64,7 @@ void scene37_initScene(Scene *sc) {
ring->subRings[1] = 4;
ring->subRings[2] = 8;
ring->state = false;
g_vars->scene37_var05.push_back(ring);
g_vars->scene37_rings.push_back(ring);

ring = new Ring();
ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 1);
Expand All @@ -80,7 +76,7 @@ void scene37_initScene(Scene *sc) {
ring->subRings[1] = 5;
ring->subRings[2] = 9;
ring->state = false;
g_vars->scene37_var05.push_back(ring);
g_vars->scene37_rings.push_back(ring);

ring = new Ring();
ani = sc->getStaticANIObject1ById(ANI_GUARD_37, 2);
Expand All @@ -92,20 +88,20 @@ void scene37_initScene(Scene *sc) {
ring->subRings[1] = 7;
ring->subRings[2] = 11;
ring->state = false;
g_vars->scene37_var05.push_back(ring);
g_vars->scene37_rings.push_back(ring);

g_fp->setObjectState(sO_LeftPipe_37, g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsClosed));

Scene *oldsc = g_fp->_currentScene;

g_fp->_currentScene = sc;

g_vars->scene37_var07 = 0;
g_vars->scene37_cursorIsLocked = false;

g_vars->scene37_plusMinus1 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 1);

for (int i = 0; i < g_vars->scene37_var05[0]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[0]->subRings[i]);
for (int i = 0; i < g_vars->scene37_rings[0]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[0]->subRings[i]);

if (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On)) {
g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_PLUS);
Expand All @@ -118,8 +114,8 @@ void scene37_initScene(Scene *sc) {

g_vars->scene37_plusMinus2 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 2);

for (int i = 0; i < g_vars->scene37_var05[1]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[1]->subRings[i]);
for (int i = 0; i < g_vars->scene37_rings[1]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[1]->subRings[i]);

if (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On)) {
g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_PLUS);
Expand All @@ -132,8 +128,8 @@ void scene37_initScene(Scene *sc) {

g_vars->scene37_plusMinus3 = sc->getStaticANIObject1ById(ANI_PLUSMINUS, 3);

for (int i = 0; i < g_vars->scene37_var05[2]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[2]->subRings[i]);
for (int i = 0; i < g_vars->scene37_rings[2]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[2]->subRings[i]);

if (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On)) {
g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_PLUS);
Expand All @@ -153,22 +149,22 @@ int scene37_updateCursor() {
g_fp->updateCursorCommon();

if (g_fp->_cursorId == PIC_CSR_ITN && g_fp->_objectIdAtCursor == PIC_SC37_MASK) {
if (g_vars->scene37_var07)
if (g_vars->scene37_cursorIsLocked)
g_fp->_cursorId = PIC_CSR_GOL;
}

return g_fp->_cursorId;
}

void sceneHandler37_updateRing(int ringNum) {
g_vars->scene37_var05[ringNum]->ani->changeStatics2(ST_GRD37_STAND);
g_vars->scene37_var05[ringNum]->ani->startAnim(MV_GRD37_PULL, 0, -1);
g_vars->scene37_var05[ringNum]->state = !g_vars->scene37_var05[ringNum]->state;
g_vars->scene37_rings[ringNum]->ani->changeStatics2(ST_GRD37_STAND);
g_vars->scene37_rings[ringNum]->ani->startAnim(MV_GRD37_PULL, 0, -1);
g_vars->scene37_rings[ringNum]->state = !g_vars->scene37_rings[ringNum]->state;

StaticANIObject *ani;

for (int i = 0; i < g_vars->scene37_var05[ringNum]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[ringNum]->subRings[i]);
for (int i = 0; i < g_vars->scene37_rings[ringNum]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[ringNum]->subRings[i]);

if ((ani->_movement && ani->_movement->_id != MV_RNG_CLOSE) || ani->_statics->_staticsId != ST_RNG_CLOSED2) {
ani->changeStatics2(ST_RNG_OPEN);
Expand All @@ -179,20 +175,20 @@ void sceneHandler37_updateRing(int ringNum) {
}
}

g_vars->scene37_var07 = 1;
g_vars->scene37_cursorIsLocked = true;

for (int j = 0; j < g_vars->scene37_var05.size(); j++) {
for (int i = 0; i < g_vars->scene37_var05[ringNum]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_var05[j]->subRings[i]);
for (int j = 0; j < g_vars->scene37_rings.size(); j++) {
for (int i = 0; i < g_vars->scene37_rings[ringNum]->numSubRings; i++) {
ani = g_fp->_currentScene->getStaticANIObject1ById(ANI_RING, g_vars->scene37_rings[j]->subRings[i]);

if ((ani->_movement && ani->_movement->_id != MV_RNG_CLOSE) || ani->_statics->_staticsId != ST_RNG_CLOSED2)
g_vars->scene37_var07 = 0;
g_vars->scene37_cursorIsLocked = false;
}
}

int state;

if (g_vars->scene37_var07)
if (g_vars->scene37_cursorIsLocked)
state = g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsOpened);
else
state = g_fp->getObjectEnumState(sO_LeftPipe_37, sO_IsClosed);
Expand All @@ -201,24 +197,24 @@ void sceneHandler37_updateRing(int ringNum) {
}

void sceneHandler37_setRingsState() {
if (g_vars->scene37_var06 == -1) {
g_vars->scene37_var06 = g_vars->scene37_var10;
if (g_vars->scene37_lastDudeX == -1) {
g_vars->scene37_lastDudeX = g_vars->scene37_dudeX;
} else {
for (int i = 0; i < g_vars->scene37_var05.size(); i++) {
int x = g_vars->scene37_var05[i]->x;
for (int i = 0; i < g_vars->scene37_rings.size(); i++) {
int x = g_vars->scene37_rings[i]->x;

if (g_vars->scene37_var06 > x && g_vars->scene37_var10 <= x && !g_vars->scene37_var05[i]->state)
if (g_vars->scene37_lastDudeX > x && g_vars->scene37_dudeX <= x && !g_vars->scene37_rings[i]->state)
sceneHandler37_updateRing(i);

x = g_vars->scene37_var05[i]->y;
x = g_vars->scene37_rings[i]->y;

if (g_vars->scene37_var06 < x && g_vars->scene37_var10 >= x) {
if (g_vars->scene37_var05[i]->state)
if (g_vars->scene37_lastDudeX < x && g_vars->scene37_dudeX >= x) {
if (g_vars->scene37_rings[i]->state)
sceneHandler37_updateRing(i);
}
}

g_vars->scene37_var06 = g_vars->scene37_var10;
g_vars->scene37_lastDudeX = g_vars->scene37_dudeX;
}
}

Expand Down Expand Up @@ -258,57 +254,57 @@ int sceneHandler37(ExCommand *cmd) {
if (g_fp->_aniMan2) {
int x = g_fp->_aniMan2->_ox;

g_vars->scene37_var10 = x;
g_vars->scene37_dudeX = x;

if (x >= 500) {
if (x < g_fp->_sceneRect.left + g_vars->scene37_var01)
g_fp->_currentScene->_x = x - g_vars->scene37_var03 - g_fp->_sceneRect.left;
if (x < g_fp->_sceneRect.left + 200)
g_fp->_currentScene->_x = x - 300 - g_fp->_sceneRect.left;
} else {
g_fp->_currentScene->_x = -g_fp->_sceneRect.left;
}
x = g_vars->scene37_var10;
x = g_vars->scene37_dudeX;

if (x > g_fp->_sceneRect.right - g_vars->scene37_var01)
g_fp->_currentScene->_x = x + g_vars->scene37_var03 - g_fp->_sceneRect.right;
if (x > g_fp->_sceneRect.right - 200)
g_fp->_currentScene->_x = x + 300 - g_fp->_sceneRect.right;
}

sceneHandler37_setRingsState();

g_fp->_behaviorManager->updateBehaviors();
g_fp->startSceneTrack();

++g_vars->scene37_var09;
++g_vars->scene37_soundFlipper;

break;

case MSG_SC37_PULL:
if (g_vars->scene37_var05[0]->ani->_movement && g_vars->scene37_var05[0]->ani->_movement->_id == MV_GRD37_PULL) {
if ((g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On) && !g_vars->scene37_var05[0]->state)
|| (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_Off) && g_vars->scene37_var05[0]->state)) {
if (g_vars->scene37_rings[0]->ani->_movement && g_vars->scene37_rings[0]->ani->_movement->_id == MV_GRD37_PULL) {
if ((g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_On) && !g_vars->scene37_rings[0]->state)
|| (g_fp->getObjectState(sO_Guard_1) == g_fp->getObjectEnumState(sO_Guard_1, sO_Off) && g_vars->scene37_rings[0]->state)) {
g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_PLUS);
} else {
g_vars->scene37_plusMinus1->_statics = g_vars->scene37_plusMinus1->getStaticsById(ST_PMS_MINUS);
}
} else if (g_vars->scene37_var05[1]->ani->_movement && g_vars->scene37_var05[1]->ani->_movement->_id == MV_GRD37_PULL) {
if ((g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On) && !g_vars->scene37_var05[1]->state)
|| (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_Off) && g_vars->scene37_var05[1]->state)) {
} else if (g_vars->scene37_rings[1]->ani->_movement && g_vars->scene37_rings[1]->ani->_movement->_id == MV_GRD37_PULL) {
if ((g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_On) && !g_vars->scene37_rings[1]->state)
|| (g_fp->getObjectState(sO_Guard_2) == g_fp->getObjectEnumState(sO_Guard_2, sO_Off) && g_vars->scene37_rings[1]->state)) {
g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_PLUS);
} else {
g_vars->scene37_plusMinus2->_statics = g_vars->scene37_plusMinus2->getStaticsById(ST_PMS_MINUS);
}
} else if (g_vars->scene37_var05[2]->ani->_movement && g_vars->scene37_var05[2]->ani->_movement->_id == MV_GRD37_PULL) {
if ((g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On) && !g_vars->scene37_var05[2]->state)
|| (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_Off) && g_vars->scene37_var05[2]->state)) {
} else if (g_vars->scene37_rings[2]->ani->_movement && g_vars->scene37_rings[2]->ani->_movement->_id == MV_GRD37_PULL) {
if ((g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_On) && !g_vars->scene37_rings[2]->state)
|| (g_fp->getObjectState(sO_Guard_3) == g_fp->getObjectEnumState(sO_Guard_3, sO_Off) && g_vars->scene37_rings[2]->state)) {
g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_PLUS);
} else {
g_vars->scene37_plusMinus3->_statics = g_vars->scene37_plusMinus3->getStaticsById(ST_PMS_MINUS);
}
}

if (g_vars->scene37_var09) {
if (g_vars->scene37_soundFlipper) {
g_fp->playSound(SND_37_007, 0);

g_vars->scene37_var09 = 0;
g_vars->scene37_soundFlipper = 0;
}

break;
Expand Down

0 comments on commit dc7fc44

Please sign in to comment.