diff options
Diffstat (limited to 'engines/fullpipe/scenes')
39 files changed, 615 insertions, 151 deletions
diff --git a/engines/fullpipe/scenes/scene01.cpp b/engines/fullpipe/scenes/scene01.cpp index 6c8f26d209..e24eb1fa45 100644 --- a/engines/fullpipe/scenes/scene01.cpp +++ b/engines/fullpipe/scenes/scene01.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene02.cpp b/engines/fullpipe/scenes/scene02.cpp index 95cf1df7dd..109a20a07a 100644 --- a/engines/fullpipe/scenes/scene02.cpp +++ b/engines/fullpipe/scenes/scene02.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene03.cpp b/engines/fullpipe/scenes/scene03.cpp index 5d22931fb7..e6c9fa3bbd 100644 --- a/engines/fullpipe/scenes/scene03.cpp +++ b/engines/fullpipe/scenes/scene03.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene04.cpp b/engines/fullpipe/scenes/scene04.cpp index b2137ec627..b47553ef6f 100644 --- a/engines/fullpipe/scenes/scene04.cpp +++ b/engines/fullpipe/scenes/scene04.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene05.cpp b/engines/fullpipe/scenes/scene05.cpp index 1a728794aa..8864794691 100644 --- a/engines/fullpipe/scenes/scene05.cpp +++ b/engines/fullpipe/scenes/scene05.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene06.cpp b/engines/fullpipe/scenes/scene06.cpp index 2687db70b7..d54ebf4514 100644 --- a/engines/fullpipe/scenes/scene06.cpp +++ b/engines/fullpipe/scenes/scene06.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene07.cpp b/engines/fullpipe/scenes/scene07.cpp index 207189d151..6db8c30932 100644 --- a/engines/fullpipe/scenes/scene07.cpp +++ b/engines/fullpipe/scenes/scene07.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene08.cpp b/engines/fullpipe/scenes/scene08.cpp index 716ca1f593..a5f5a8b389 100644 --- a/engines/fullpipe/scenes/scene08.cpp +++ b/engines/fullpipe/scenes/scene08.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene09.cpp b/engines/fullpipe/scenes/scene09.cpp index 6752864962..99cf0b20fd 100644 --- a/engines/fullpipe/scenes/scene09.cpp +++ b/engines/fullpipe/scenes/scene09.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -59,18 +59,18 @@ void scene09_setupGrit(Scene *sc) { void scene09_initScene(Scene *sc) { g_vars->scene09_flyingBall = 0; - g_vars->scene09_var05 = 0; - g_vars->scene09_glotatel = sc->getStaticANIObject1ById(ANI_GLOTATEL, -1); + g_vars->scene09_numSwallenBalls = 0; + g_vars->scene09_gulper = sc->getStaticANIObject1ById(ANI_GLOTATEL, -1); g_vars->scene09_spitter = sc->getStaticANIObject1ById(ANI_PLEVATEL, -1); g_vars->scene09_grit = sc->getStaticANIObject1ById(ANI_GRIT_9, -1); - g_vars->scene09_var08 = 1; - g_vars->scene09_var09 = 0; - g_vars->scene09_var10 = -1; - g_vars->scene09_var11 = -1; - g_vars->scene09_var12 = -1000; + g_vars->scene09_gulperIsPresent = true; + g_vars->scene09_dudeIsOnLadder = false; + g_vars->scene09_interactingHanger = -1; + g_vars->scene09_intHangerPhase = -1; + g_vars->scene09_intHangerMaxPhase = -1000; g_vars->scene09_balls.cPlexLen = 10; - g_vars->scene09_var07.cPlexLen = 10; + g_vars->scene09_flyingBalls.cPlexLen = 10; while (g_vars->scene09_balls.numBalls) { Ball *b = g_vars->scene09_balls.pHead->p0; @@ -85,10 +85,7 @@ void scene09_initScene(Scene *sc) { g_vars->scene09_balls.init(&b); } - g_vars->scene09_var13 = 3; - g_vars->scene09_hangers.clear(); - g_vars->scene09_var15 = 4; g_vars->scene09_numMovingHangers = 4; StaticANIObject *hanger = sc->getStaticANIObject1ById(ANI_VISUNCHIK, -1); @@ -119,35 +116,36 @@ void scene09_initScene(Scene *sc) { g_vars->scene09_hangers.push_back(hng); } - while (g_vars->scene09_var07.numBalls) { - Ball *ohead = g_vars->scene09_var07.pHead; + while (g_vars->scene09_flyingBalls.numBalls) { + Ball *ohead = g_vars->scene09_flyingBalls.pHead; - g_vars->scene09_var07.pHead = g_vars->scene09_var07.pHead->p0; + g_vars->scene09_flyingBalls.pHead = g_vars->scene09_flyingBalls.pHead->p0; - if (g_vars->scene09_var07.pHead) + if (g_vars->scene09_flyingBalls.pHead) ohead->p0->p1 = 0; else - g_vars->scene09_var07.field_8 = 0; + g_vars->scene09_flyingBalls.field_8 = 0; - ohead->p0 = g_vars->scene09_var07.pTail; + ohead->p0 = g_vars->scene09_flyingBalls.pTail; - g_vars->scene09_var07.pTail = ohead; + g_vars->scene09_flyingBalls.pTail = ohead; - g_vars->scene09_var07.numBalls--; + g_vars->scene09_flyingBalls.numBalls--; } - g_vars->scene09_var07.reset(); + g_vars->scene09_flyingBalls.reset(); + + Ball *b9 = g_vars->scene09_flyingBalls.sub04(g_vars->scene09_flyingBalls.field_8, 0); - Ball *b9 = g_vars->scene09_var07.sub04(g_vars->scene09_var07.field_8, 0); b9->ani = sc->getStaticANIObject1ById(ANI_BALL9, -1); b9->ani->setAlpha(0xc8); - if (g_vars->scene09_var07.field_8) { - g_vars->scene09_var07.field_8->p0 = b9; - g_vars->scene09_var07.field_8 = b9; + if (g_vars->scene09_flyingBalls.field_8) { + g_vars->scene09_flyingBalls.field_8->p0 = b9; + g_vars->scene09_flyingBalls.field_8 = b9; } else { - g_vars->scene09_var07.pHead = b9; - g_vars->scene09_var07.field_8 = b9; + g_vars->scene09_flyingBalls.pHead = b9; + g_vars->scene09_flyingBalls.field_8 = b9; } for (int i = 0; i < 4; i++) { @@ -155,43 +153,43 @@ void scene09_initScene(Scene *sc) { newball->setAlpha(0xc8); - Ball *runPtr = g_vars->scene09_var07.pTail; - Ball *lastP = g_vars->scene09_var07.field_8; + Ball *runPtr = g_vars->scene09_flyingBalls.pTail; + Ball *lastP = g_vars->scene09_flyingBalls.field_8; - if (!g_vars->scene09_var07.pTail) { - g_vars->scene09_var07.cPlex = (byte *)calloc(g_vars->scene09_var07.cPlexLen, sizeof(Ball)); + if (!g_vars->scene09_flyingBalls.pTail) { + g_vars->scene09_flyingBalls.cPlex = (byte *)calloc(g_vars->scene09_flyingBalls.cPlexLen, sizeof(Ball)); - byte *p1 = g_vars->scene09_var07.cPlex + (g_vars->scene09_var07.cPlexLen - 1) * sizeof(Ball); + byte *p1 = g_vars->scene09_flyingBalls.cPlex + (g_vars->scene09_flyingBalls.cPlexLen - 1) * sizeof(Ball); - if (g_vars->scene09_var07.cPlexLen - 1 < 0) { - runPtr = g_vars->scene09_var07.pTail; + if (g_vars->scene09_flyingBalls.cPlexLen - 1 < 0) { + runPtr = g_vars->scene09_flyingBalls.pTail; } else { - runPtr = g_vars->scene09_var07.pTail; + runPtr = g_vars->scene09_flyingBalls.pTail; - for (int j = 0; j < g_vars->scene09_var07.cPlexLen; j++) { + for (int j = 0; j < g_vars->scene09_flyingBalls.cPlexLen; j++) { ((Ball *)p1)->p1 = runPtr; runPtr = (Ball *)p1; p1 -= sizeof(Ball); } - g_vars->scene09_var07.pTail = runPtr; + g_vars->scene09_flyingBalls.pTail = runPtr; } } - g_vars->scene09_var07.pTail = runPtr->p0; + g_vars->scene09_flyingBalls.pTail = runPtr->p0; runPtr->p1 = lastP; runPtr->p0 = 0; runPtr->ani = newball; - g_vars->scene09_var07.numBalls++; + g_vars->scene09_flyingBalls.numBalls++; - if (g_vars->scene09_var07.field_8) - g_vars->scene09_var07.field_8->p0 = runPtr; + if (g_vars->scene09_flyingBalls.field_8) + g_vars->scene09_flyingBalls.field_8->p0 = runPtr; else - g_vars->scene09_var07.pHead = runPtr; + g_vars->scene09_flyingBalls.pHead = runPtr; - g_vars->scene09_var07.field_8 = runPtr; + g_vars->scene09_flyingBalls.field_8 = runPtr; sc->addStaticANIObject(newball, 1); } @@ -214,7 +212,7 @@ void scene09_initScene(Scene *sc) { } int sceneHandler09_updateScreenCallback() { - int res = g_fp->drawArcadeOverlay(g_fp->_objectIdAtCursor == ANI_VISUNCHIK || g_vars->scene09_var10 >= 0); + int res = g_fp->drawArcadeOverlay(g_fp->_objectIdAtCursor == ANI_VISUNCHIK || g_vars->scene09_interactingHanger >= 0); if (!res) g_fp->_updateScreenCallback = 0; @@ -225,13 +223,13 @@ int sceneHandler09_updateScreenCallback() { int scene09_updateCursor() { g_fp->updateCursorCommon(); - if (g_vars->scene09_var10 < 0) { + if (g_vars->scene09_interactingHanger < 0) { if (g_fp->_objectIdAtCursor == ANI_VISUNCHIK) { if (g_fp->_cursorId == PIC_CSR_ITN) g_fp->_updateScreenCallback = sceneHandler09_updateScreenCallback; } else { if (g_fp->_objectIdAtCursor == PIC_SC9_LADDER_R && g_fp->_cursorId == PIC_CSR_ITN) - g_fp->_cursorId = (g_vars->scene09_var02 < 350) ? PIC_CSR_GOD : PIC_CSR_GOU; + g_fp->_cursorId = (g_vars->scene09_dudeY < 350) ? PIC_CSR_GOD : PIC_CSR_GOU; } } else { g_fp->_cursorId = PIC_CSR_ITN; @@ -241,14 +239,14 @@ int scene09_updateCursor() { } void sceneHandler09_winArcade() { - if (g_vars->scene09_glotatel->_flags & 4) { - g_vars->scene09_glotatel->changeStatics2(ST_GLT_SIT); - g_vars->scene09_glotatel->startAnim(MV_GLT_FLYAWAY, 0, -1); + if (g_vars->scene09_gulper->_flags & 4) { + g_vars->scene09_gulper->changeStatics2(ST_GLT_SIT); + g_vars->scene09_gulper->startAnim(MV_GLT_FLYAWAY, 0, -1); g_fp->setObjectState(sO_Jug, g_fp->getObjectEnumState(sO_Jug, sO_Unblocked)); g_fp->setObjectState(sO_RightStairs_9, g_fp->getObjectEnumState(sO_RightStairs_9, sO_IsOpened)); - g_vars->scene09_var08 = 0; + g_vars->scene09_gulperIsPresent = false; } } @@ -301,27 +299,293 @@ void sceneHandler09_spitterClick() { } void sceneHandler09_eatBall() { - warning("STUB: sceneHandler09_eatBall()"); + if (g_vars->scene09_flyingBall) { + g_vars->scene09_flyingBall->hide(); + + Ball *ball = g_vars->scene09_balls.pHead; + + if (ball) { + while (ball && ball->ani != g_vars->scene09_flyingBall) + ball = ball->p0; + + if (ball) { + if (ball == g_vars->scene09_balls.pHead) + g_vars->scene09_balls.pHead = ball->p0; + else + ball->p1->p0 = ball->p0; + + if (ball == g_vars->scene09_balls.field_8) + g_vars->scene09_balls.field_8 = ball->p1; + else + ball->p0->p1 = ball->p1; + + ball->p0 = g_vars->scene09_balls.pTail; + g_vars->scene09_balls.pTail = ball; + + g_vars->scene09_balls.numBalls--; + + if (!g_vars->scene09_balls.numBalls) + g_vars->scene09_balls.reset(); + } + } + + ball = g_vars->scene09_flyingBalls.sub04(g_vars->scene09_flyingBalls.field_8, 0); + ball->ani = g_vars->scene09_flyingBall; + + if (g_vars->scene09_flyingBalls.field_8) + g_vars->scene09_flyingBalls.field_8->p0 = ball; + else + g_vars->scene09_flyingBalls.pHead = ball; + + g_vars->scene09_flyingBalls.field_8 = ball; + + g_vars->scene09_flyingBall = 0; + g_vars->scene09_numSwallenBalls++; + + if (g_vars->scene09_numSwallenBalls >= 3) { + MessageQueue *mq = g_vars->scene09_gulper->getMessageQueue(); + + if (mq) { + ExCommand *ex = new ExCommand(ANI_GLOTATEL, 1, MV_GLT_FLYAWAY, 0, 0, 0, 1, 0, 0, 0); + ex->_excFlags |= 2; + + mq->addExCommandToEnd(ex); + } + + g_fp->setObjectState(sO_Jug, g_fp->getObjectEnumState(sO_Jug, sO_Unblocked)); + g_fp->setObjectState(sO_RightStairs_9, g_fp->getObjectEnumState(sO_RightStairs_9, sO_IsOpened)); + + g_vars->scene09_gulperIsPresent = false; + } + } } void sceneHandler09_showBall() { - warning("STUB: sceneHandler09_showBall()"); + if (g_vars->scene09_flyingBalls.numBalls) { + StaticANIObject *ani = g_vars->scene09_flyingBalls.pHead->ani; + Ball *ph = g_vars->scene09_flyingBalls.pHead; + g_vars->scene09_flyingBalls.pHead = ph->p0; + + if (g_vars->scene09_flyingBalls.pHead) + ph->p0->p1 = 0; + else + g_vars->scene09_flyingBalls.field_8 = 0; + + ph->p0 = g_vars->scene09_flyingBalls.pTail; + + g_vars->scene09_flyingBalls.pTail = ph; + g_vars->scene09_flyingBalls.numBalls--; + + if (!g_vars->scene09_flyingBalls.numBalls) { + g_vars->scene09_flyingBalls.numBalls = 0; + g_vars->scene09_flyingBalls.pTail = 0; + g_vars->scene09_flyingBalls.field_8 = 0; + g_vars->scene09_flyingBalls.pHead = 0; + + free(g_vars->scene09_flyingBalls.cPlex); + g_vars->scene09_flyingBalls.cPlex = 0; + } + + Ball *ball = g_vars->scene09_balls.sub04(g_vars->scene09_balls.field_8, 0); + ball->ani = ani; + + if (g_vars->scene09_balls.field_8) + g_vars->scene09_balls.field_8->p0 = ball; + else + g_vars->scene09_balls.pHead = ball; + + g_vars->scene09_balls.field_8 = ball; + + ani->show1(g_fp->_aniMan->_ox + 94, g_fp->_aniMan->_oy - 162, MV_BALL9_EXPLODE, 0); + } } void sceneHandler09_cycleHangers() { - warning("STUB: sceneHandler09_cycleHangers()"); + for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { + Movement *mov = g_vars->scene09_hangers[i]->ani->_movement; + + if (mov && mov->_id == MV_VSN_CYCLE2) { + int idx; + + if (g_vars->scene09_hangers[i]->phase >= 0) + idx = 18 - g_vars->scene09_hangers[i]->phase / 5; + else + idx = 18 - g_vars->scene09_hangers[i]->phase * 10 / 43; + + if (idx > 38) + idx = 38; + + if (idx < 1) + idx = 1; + + mov->setDynamicPhaseIndex(idx); + } + } } void sceneHandler09_limitHangerPhase() { - warning("STUB: sceneHandler09_limitHangerPhase()"); + for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { + if (i != g_vars->scene09_interactingHanger) { + g_vars->scene09_hangers[i]->phase += g_vars->scene09_hangers[i]->field_8; + + if (g_vars->scene09_hangers[i]->phase > 85) + g_vars->scene09_hangers[i]->phase = 85; + + if (g_vars->scene09_hangers[i]->phase < -85) + g_vars->scene09_hangers[i]->phase = -85; + + if (g_vars->scene09_hangers[i]->phase < 0) + g_vars->scene09_hangers[i]->field_8++; + + if (g_vars->scene09_hangers[i]->phase > 0) + g_vars->scene09_hangers[i]->field_8--; + } + } +} + +void sceneHandler09_collideBall(Ball *ball) { + if (g_vars->scene09_gulperIsPresent) { + g_vars->scene09_flyingBall = ball->ani; + + if (g_vars->scene09_gulper) { + g_vars->scene09_gulper->changeStatics2(ST_GLT_SIT); + + MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC9_EATBALL), 0, 0); + + mq->setFlags(mq->getFlags() | 1); + + if (!mq->chain(g_vars->scene09_gulper)) + delete mq; + } + } +} + +void sceneHandler09_ballExplode(Ball *ball) { + if (ball == g_vars->scene09_balls.pHead) + g_vars->scene09_balls.pHead = ball->p0; + else + ball->p1->p0 = ball->p0; + + if (ball == g_vars->scene09_balls.field_8) + g_vars->scene09_balls.field_8 = ball->p1; + else + ball->p0->p1 = ball->p1; + + ball->p0 = g_vars->scene09_balls.pTail; + + g_vars->scene09_balls.pTail = ball; + g_vars->scene09_balls.numBalls--; + + if (!g_vars->scene09_balls.numBalls) { + g_vars->scene09_balls.pTail = 0; + g_vars->scene09_balls.field_8 = 0; + g_vars->scene09_balls.pHead = 0; + free(g_vars->scene09_balls.cPlex); + g_vars->scene09_balls.cPlex = 0; + } + + MessageQueue *mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC9_BALLEXPLODE), 0, 1); + + mq->replaceKeyCode(-1, ball->ani->_okeyCode); + + if (!mq->chain(ball->ani)) + delete mq; + + Ball *runPtr = g_vars->scene09_flyingBalls.pTail; + Ball *lastP = g_vars->scene09_flyingBalls.field_8; + + if (!g_vars->scene09_flyingBalls.pTail) { + g_vars->scene09_flyingBalls.cPlex = (byte *)calloc(g_vars->scene09_flyingBalls.cPlexLen, sizeof(Ball)); + + byte *p1 = g_vars->scene09_flyingBalls.cPlex + (g_vars->scene09_flyingBalls.cPlexLen - 1) * sizeof(Ball); + + if (g_vars->scene09_flyingBalls.cPlexLen - 1 < 0) { + runPtr = g_vars->scene09_flyingBalls.pTail; + } else { + runPtr = g_vars->scene09_flyingBalls.pTail; + + for (int j = 0; j < g_vars->scene09_flyingBalls.cPlexLen; j++) { + ((Ball *)p1)->p1 = runPtr; + runPtr = (Ball *)p1; + + p1 -= sizeof(Ball); + } + + g_vars->scene09_flyingBalls.pTail = runPtr; + } + } + + g_vars->scene09_flyingBalls.pTail = runPtr->p0; + runPtr->p1 = lastP; + runPtr->p0 = 0; + runPtr->ani = ball->ani; + + g_vars->scene09_flyingBalls.numBalls++; + + if (g_vars->scene09_flyingBalls.field_8) { + g_vars->scene09_flyingBalls.field_8->p0 = runPtr; + g_vars->scene09_flyingBalls.field_8 = runPtr; + } else { + g_vars->scene09_flyingBalls.pHead = runPtr; + g_vars->scene09_flyingBalls.field_8 = runPtr; + } } void sceneHandler09_checkHangerCollide() { - warning("STUB: sceneHandler09_checkHangerCollide()"); + for (Ball *ball = g_vars->scene09_balls.pHead; ball; ball = ball->p0) { + int newx = ball->ani->_ox + 5; + + ball->ani->setOXY(newx, ball->ani->_oy); + + if (newx <= 1398 || g_vars->scene09_flyingBall) { + if (g_vars->scene09_gulperIsPresent) + goto LABEL_11; + } else if (g_vars->scene09_gulperIsPresent) { + sceneHandler09_collideBall(ball); + continue; + } + + if (newx > 1600) { + sceneHandler09_ballExplode(ball); + continue; + } + + LABEL_11: + int pixel; + + for (int i = 0; i < g_vars->scene09_numMovingHangers; i++) { + for (int j = 0; j < 4; j++) { + g_vars->scene09_hangers[i]->ani->getPixelAtPos(newx + g_vars->scene09_hangerOffsets[j].x, ball->ani->_oy + g_vars->scene09_hangerOffsets[j].y, &pixel); + + if (pixel) { + sceneHandler09_ballExplode(ball); + break; + } + } + } + } } void sceneHandler09_hangerStartCycle() { - warning("STUB: sceneHandler09_hangerStartCycle()"); + StaticANIObject *ani = g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->ani; + + if (ani->_movement) { + ani->startAnim(MV_VSN_CYCLE2, 0, -1); + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->field_8 = 0; + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase = g_vars->scene09_intHangerPhase + (g_fp->_mouseScreenPos.y - g_vars->scene09_clickY) / 2; + + if (g_vars->scene09_intHangerMaxPhase != -1000 && g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase != g_vars->scene09_intHangerMaxPhase) { + ExCommand *ex = new ExCommand(0, 35, SND_9_019, 0, 0, 0, 1, 0, 0, 0); + + ex->_field_14 = 1; + ex->_excFlags |= 2; + ex->postMessage(); + + g_vars->scene09_intHangerMaxPhase = -1000; + } + } else { + g_vars->scene09_interactingHanger = -1; + } } int sceneHandler09(ExCommand *cmd) { @@ -341,14 +605,14 @@ int sceneHandler09(ExCommand *cmd) { getCurrSceneSc2MotionController()->setEnabled(); getGameLoaderInteractionController()->enableFlag24(); - g_vars->scene09_var09 = 0; + g_vars->scene09_dudeIsOnLadder = false; break; case MSG_SC9_TOLADDER: getCurrSceneSc2MotionController()->clearEnabled(); getGameLoaderInteractionController()->disableFlag24(); - g_vars->scene09_var09 = 1; + g_vars->scene09_dudeIsOnLadder = true; break; case MSG_SC9_PLVCLICK: @@ -356,7 +620,7 @@ int sceneHandler09(ExCommand *cmd) { break; case MSG_SC9_FLOWN: - g_vars->scene09_var08 = 0; + g_vars->scene09_gulperIsPresent = false; break; case MSG_SC9_EATBALL: @@ -374,7 +638,7 @@ int sceneHandler09(ExCommand *cmd) { if (g_fp->_aniMan2) { int x = g_fp->_aniMan2->_ox; - g_vars->scene09_var02 = g_fp->_aniMan2->_oy; + g_vars->scene09_dudeY = g_fp->_aniMan2->_oy; if (x < g_fp->_sceneRect.left + 200) g_fp->_currentScene->_x = x - g_fp->_sceneRect.left - 300; @@ -392,11 +656,10 @@ int sceneHandler09(ExCommand *cmd) { sceneHandler09_limitHangerPhase(); sceneHandler09_checkHangerCollide(); - if (g_vars->scene09_var10 >= 0) + if (g_vars->scene09_interactingHanger >= 0) sceneHandler09_hangerStartCycle(); - if (!g_vars->scene09_var17) - g_fp->_behaviorManager->updateBehaviors(); + g_fp->_behaviorManager->updateBehaviors(); g_fp->startSceneTrack(); @@ -404,14 +667,14 @@ int sceneHandler09(ExCommand *cmd) { } case 30: - if (g_vars->scene09_var10 >= 0) { - if (ABS(g_vars->scene09_hangers[g_vars->scene09_var10]->phase) < 15) { - g_vars->scene09_hangers[g_vars->scene09_var10]->ani->_callback2 = 0; - g_vars->scene09_hangers[g_vars->scene09_var10]->ani->changeStatics2(ST_VSN_NORMAL); + if (g_vars->scene09_interactingHanger >= 0) { + if (ABS(g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->phase) < 15) { + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->ani->_callback2 = 0; + g_vars->scene09_hangers[g_vars->scene09_interactingHanger]->ani->changeStatics2(ST_VSN_NORMAL); } } - g_vars->scene09_var10 = -1; + g_vars->scene09_interactingHanger = -1; break; @@ -436,11 +699,11 @@ int sceneHandler09(ExCommand *cmd) { break; } - g_vars->scene09_var10 = hng; - g_vars->scene09_var11 = g_vars->scene09_hangers[hng]->phase; - g_vars->scene09_var12 = g_vars->scene09_hangers[hng]->phase; + g_vars->scene09_interactingHanger = hng; + g_vars->scene09_intHangerPhase = g_vars->scene09_hangers[hng]->phase; + g_vars->scene09_intHangerMaxPhase = g_vars->scene09_hangers[hng]->phase; - g_vars->scene09_var19 = cmd->_y; + g_vars->scene09_clickY = cmd->_y; if (!g_vars->scene09_hangers[hng]->ani->_movement || g_vars->scene09_hangers[hng]->ani->_movement->_id != MV_VSN_CYCLE2) { g_vars->scene09_hangers[hng]->ani->changeStatics2(ST_VSN_NORMAL); @@ -459,7 +722,7 @@ int sceneHandler09(ExCommand *cmd) { } } - if (g_vars->scene09_var09 && g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) == PIC_SC9_LADDER_R + if (g_vars->scene09_dudeIsOnLadder && g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY) == PIC_SC9_LADDER_R && !cmd->_keyCode && !g_fp->_aniMan->_movement) { handleObjectInteraction(g_fp->_aniMan, g_fp->_currentScene->getPictureObjectById(PIC_SC9_LADDER_R, 0), 0); } diff --git a/engines/fullpipe/scenes/scene10.cpp b/engines/fullpipe/scenes/scene10.cpp index 4f9e627fa4..8c9e0b67d0 100644 --- a/engines/fullpipe/scenes/scene10.cpp +++ b/engines/fullpipe/scenes/scene10.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene11.cpp b/engines/fullpipe/scenes/scene11.cpp index e7ed947a00..0ce82f5d5f 100644 --- a/engines/fullpipe/scenes/scene11.cpp +++ b/engines/fullpipe/scenes/scene11.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene12.cpp b/engines/fullpipe/scenes/scene12.cpp index 0295efcaf5..f63bb9a9fd 100644 --- a/engines/fullpipe/scenes/scene12.cpp +++ b/engines/fullpipe/scenes/scene12.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene13.cpp b/engines/fullpipe/scenes/scene13.cpp index 0a0c2f3906..c7b3c96b93 100644 --- a/engines/fullpipe/scenes/scene13.cpp +++ b/engines/fullpipe/scenes/scene13.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene14.cpp b/engines/fullpipe/scenes/scene14.cpp index 28f054fd32..21dbe8101f 100644 --- a/engines/fullpipe/scenes/scene14.cpp +++ b/engines/fullpipe/scenes/scene14.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene15.cpp b/engines/fullpipe/scenes/scene15.cpp index 9e11df92e4..452f2edeca 100644 --- a/engines/fullpipe/scenes/scene15.cpp +++ b/engines/fullpipe/scenes/scene15.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp index b1e261287a..9ed355fdd9 100644 --- a/engines/fullpipe/scenes/scene16.cpp +++ b/engines/fullpipe/scenes/scene16.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene17.cpp b/engines/fullpipe/scenes/scene17.cpp index 73bf7ab1c0..d40f8cf816 100644 --- a/engines/fullpipe/scenes/scene17.cpp +++ b/engines/fullpipe/scenes/scene17.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene18and19.cpp b/engines/fullpipe/scenes/scene18and19.cpp index a965cfb98e..93bf00077c 100644 --- a/engines/fullpipe/scenes/scene18and19.cpp +++ b/engines/fullpipe/scenes/scene18and19.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -36,6 +36,18 @@ namespace Fullpipe { +struct Swinger { + StaticANIObject *ani; + int sfield_4; + double angle; + int sx; + int sy; + int ix; + int iy; + int sflags; + int sfield_24; +}; + void scene18_preload() { warning("WARNING: scene18_preload()"); } @@ -44,6 +56,195 @@ void scene19_preload(Scene *sc, int key) { warning("WARNING: scene19_preload()"); } +void scene18_sub2(StaticANIObject *ani, Scene *sc) { + warning("WARNING: scene18_sub2()"); +} + +void scene18_initScene1(Scene *sc) { + PicAniInfo info; + + int oldx = g_vars->scene18_var20; + int oldy = g_vars->scene18_var04; + + g_vars->scene18_var03 = (g_fp->getObjectState(sO_Girl) == g_fp->getObjectEnumState(sO_Girl, sO_IsSwinging)); + + if (sc->_sceneId == SC_18) { + g_vars->scene18_whirlgig = sc->getStaticANIObject1ById(ANI_WHIRLIGIG_18, -1); + g_vars->scene18_var20 = 1032; + g_vars->scene18_var04 = -318; + } else { + g_vars->scene18_whirlgig = sc->getStaticANIObject1ById(ANI_WHIRLGIG_19, -1); + g_vars->scene18_var20 = 1024; + g_vars->scene18_var04 = 242; + } + + int newx = g_vars->scene18_var20 - oldx; + int newy = g_vars->scene18_var04 - oldy; + + g_vars->scene18_var29 += newx; + g_vars->scene18_var30 += newy; + g_vars->scene18_var05 += newx; + g_vars->scene18_var06 += newy; + + for (uint i = 0; i < g_vars->scene18_var07.size(); i++) { + g_vars->scene18_var07[i]->ani->getPicAniInfo(&info); + sc->addStaticANIObject(g_vars->scene18_var07[i]->ani, 1); + g_vars->scene18_var07[i]->ani->setPicAniInfo(&info); + + g_vars->scene18_var07[i]->sx += newx; + g_vars->scene18_var07[i]->sy += newy; + g_vars->scene18_var07[i]->ix += newx; + g_vars->scene18_var07[i]->iy += newy; + + GameObject *go; + + if (g_vars->scene18_var07[i]->ani->_movement) + go = g_vars->scene18_var07[i]->ani->_movement; + else + go = g_vars->scene18_var07[i]->ani; + + go->setOXY(newx + go->_ox, newy + go->_oy); + } + + if (g_vars->scene18_var08 && g_vars->scene18_var09 != -1) { + g_vars->scene18_whirlgig->startAnim(sc->_sceneId != SC_18 ? MV_WHR19_SPIN : MV_WHR18_SPIN, 0, -1); + g_vars->scene18_whirlgig->_movement->setDynamicPhaseIndex(g_vars->scene18_var09); + } + + int sndid; + + if (sc->_sceneId == SC_19) { + if (g_vars->scene18_var08) + sndid = SND_19_015; + else + sndid = SND_19_016; + } else { + if (g_vars->scene18_var08) + sndid = SND_18_006; + else + sndid = SND_18_010; + } + + g_fp->playSound(sndid, 1); + + g_vars->scene18_boy->getPicAniInfo(&info); + sc->addStaticANIObject(g_vars->scene18_boy, 1); + g_vars->scene18_boy->setPicAniInfo(&info); + + int x, y; + if (g_vars->scene18_boy->_movement) { + x = g_vars->scene18_boy->_movement->_ox; + y = g_vars->scene18_boy->_movement->_oy; + } else { + x = g_vars->scene18_boy->_ox; + y = g_vars->scene18_boy->_oy; + } + + g_vars->scene18_boy->setOXY(newx + x, newy + y); + + g_vars->scene18_girl->getPicAniInfo(&info); + sc->addStaticANIObject(g_vars->scene18_girl, 1); + g_vars->scene18_girl->setPicAniInfo(&info); + + if (g_vars->scene18_girl->_movement) { + x = g_vars->scene18_girl->_movement->_ox; + y = g_vars->scene18_girl->_movement->_oy; + } else { + x = g_vars->scene18_girl->_ox; + y = g_vars->scene18_girl->_oy; + } + + g_vars->scene18_girl->setOXY(newx + x, newy + y); + + g_vars->scene18_var12 = 0; + g_vars->scene18_var13 = -1; + g_vars->scene18_var14 = -1; + + if (g_vars->scene18_var15) { + if (sc->_sceneId == SC_19) + g_fp->_aniMan2 = 0; + else + g_fp->_aniMan2 = g_vars->scene18_var07[g_vars->scene18_var27]->ani; + } else { + g_fp->_aniMan2 = g_fp->_aniMan; + } +} + +void scene18_initScene2(Scene *sc) { + g_vars->scene18_var16 = 200; + g_vars->scene18_var17 = 200; + g_vars->scene18_var18 = 300; + g_vars->scene18_var19 = 300; + g_vars->scene18_whirlgig = sc->getStaticANIObject1ById(ANI_WHIRLIGIG_18, -1); + g_vars->scene18_var20 = 1032; + g_vars->scene18_var04 = -318; + + StaticANIObject *armchair = sc->getStaticANIObject1ById(ANI_KRESLO, -1); + + armchair->loadMovementsPixelData(); + + g_vars->scene18_var03 = (g_fp->getObjectState(sO_Girl) == g_fp->getObjectEnumState(sO_Girl, sO_IsSwinging)); + + if (g_fp->getObjectState(sO_Bridge) == g_fp->getObjectEnumState(sO_Bridge, sO_Convoluted)) { + g_vars->scene18_var08 = 1; + g_fp->playSound(SND_18_006, 1); + } else { + g_vars->scene18_var08 = 0; + g_fp->playSound(SND_18_010, 1); + } + + scene18_sub2(armchair, sc); + + g_vars->scene18_var21 = 0; + g_vars->scene18_var12 = 0; + g_vars->scene18_var22 = 1; + g_vars->scene18_var23 = -1; + g_vars->scene18_var24 = 0; + g_vars->scene18_var25 = 0; + g_vars->scene18_var26 = 1; + g_vars->scene18_var27 = -1; + g_vars->scene18_var13 = -1; + g_vars->scene18_var14 = -1; + g_vars->scene18_var28 = 0; + g_vars->scene18_var15 = 0; + g_vars->scene18_boy = sc->getStaticANIObject1ById(ANI_BOY18, -1); + g_vars->scene18_girl = sc->getStaticANIObject1ById(ANI_GIRL18, -1); + g_vars->scene18_domino = sc->getStaticANIObject1ById(ANI_DOMINO_18, -1); + g_vars->scene18_var29 = 290; + g_vars->scene18_var30 = -363; + g_vars->scene18_var05 = 283; + g_vars->scene18_var06 = -350; + + g_fp->initArcadeKeys("SC_18"); +} + +void scene19_initScene2() { + g_fp->_aniMan2 = 0; + g_vars->scene19_var01 = 200; + g_vars->scene19_var02 = 200; + g_vars->scene19_var03 = 300; + g_vars->scene19_var04 = 300; +} + +int scene18_updateCursor() { + if (g_vars->scene18_var15) { + g_fp->_cursorId = PIC_CSR_DEFAULT; + } else { + g_fp->updateCursorCommon(); + + if (g_fp->_cursorId == PIC_CSR_ITN) { + if (g_fp->_objectIdAtCursor == PIC_SC18_LADDER1) { + g_fp->_cursorId = (g_vars->scene18_var11 <= 250) ? PIC_CSR_GOD : PIC_CSR_GOU; + } else if (g_fp->_objectIdAtCursor == PIC_SC18_LADDER2 || g_fp->_objectIdAtCursor == PIC_SC18_LADDER3) { + g_fp->_cursorId = PIC_CSR_GOU; + } + } else if (g_fp->_cursorId == PIC_CSR_DEFAULT && g_fp->_objectIdAtCursor == PIC_SC18_DOMIN && g_vars->scene18_domino && (g_vars->scene18_domino->_flags & 4)) { + g_fp->_cursorId = PIC_CSR_ITN; + } + } + + return g_fp->_cursorId; +} } // End of namespace Fullpipe diff --git a/engines/fullpipe/scenes/scene20.cpp b/engines/fullpipe/scenes/scene20.cpp index 5fed24aabd..7f19f175cc 100644 --- a/engines/fullpipe/scenes/scene20.cpp +++ b/engines/fullpipe/scenes/scene20.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene21.cpp b/engines/fullpipe/scenes/scene21.cpp index 5a6509964d..8918515431 100644 --- a/engines/fullpipe/scenes/scene21.cpp +++ b/engines/fullpipe/scenes/scene21.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene22.cpp b/engines/fullpipe/scenes/scene22.cpp index 13c9ab36e9..542834b51a 100644 --- a/engines/fullpipe/scenes/scene22.cpp +++ b/engines/fullpipe/scenes/scene22.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene23.cpp b/engines/fullpipe/scenes/scene23.cpp index 1f2587eba4..ccfbac9223 100644 --- a/engines/fullpipe/scenes/scene23.cpp +++ b/engines/fullpipe/scenes/scene23.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene24.cpp b/engines/fullpipe/scenes/scene24.cpp index 508f776573..2eb536df3f 100644 --- a/engines/fullpipe/scenes/scene24.cpp +++ b/engines/fullpipe/scenes/scene24.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene25.cpp b/engines/fullpipe/scenes/scene25.cpp index ba07c3e5b9..fae311efad 100644 --- a/engines/fullpipe/scenes/scene25.cpp +++ b/engines/fullpipe/scenes/scene25.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene26.cpp b/engines/fullpipe/scenes/scene26.cpp index 91679347e6..b9d9161e7d 100644 --- a/engines/fullpipe/scenes/scene26.cpp +++ b/engines/fullpipe/scenes/scene26.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene27.cpp b/engines/fullpipe/scenes/scene27.cpp index 8623b2b9b3..1431ceffba 100644 --- a/engines/fullpipe/scenes/scene27.cpp +++ b/engines/fullpipe/scenes/scene27.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. @@ -337,7 +337,7 @@ void sceneHandler27_wipeDo() { } } -bool sceneHandler27_batFallLogic(int batn) { +bool sceneHandler27_batFallLogic(uint batn) { Bat *bat = g_vars->scene27_bats[batn]; int y = (bat->currY - 458.0) * 0.4848484848484849 + 734.0; diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp index 62afd128c2..c21ce05502 100644 --- a/engines/fullpipe/scenes/scene28.cpp +++ b/engines/fullpipe/scenes/scene28.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene30.cpp b/engines/fullpipe/scenes/scene30.cpp index 39a51deeef..ca2324e647 100644 --- a/engines/fullpipe/scenes/scene30.cpp +++ b/engines/fullpipe/scenes/scene30.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene31.cpp b/engines/fullpipe/scenes/scene31.cpp index 587fc6aaef..3f507e62b7 100644 --- a/engines/fullpipe/scenes/scene31.cpp +++ b/engines/fullpipe/scenes/scene31.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene32.cpp b/engines/fullpipe/scenes/scene32.cpp index be7c983277..9279db7513 100644 --- a/engines/fullpipe/scenes/scene32.cpp +++ b/engines/fullpipe/scenes/scene32.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene33.cpp b/engines/fullpipe/scenes/scene33.cpp index 209198c0f3..90ea0a4f3f 100644 --- a/engines/fullpipe/scenes/scene33.cpp +++ b/engines/fullpipe/scenes/scene33.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene34.cpp b/engines/fullpipe/scenes/scene34.cpp index 136dea59dd..1c8c8b4855 100644 --- a/engines/fullpipe/scenes/scene34.cpp +++ b/engines/fullpipe/scenes/scene34.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene35.cpp b/engines/fullpipe/scenes/scene35.cpp index a42849eeb5..53381fd555 100644 --- a/engines/fullpipe/scenes/scene35.cpp +++ b/engines/fullpipe/scenes/scene35.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene36.cpp b/engines/fullpipe/scenes/scene36.cpp index 7d237fd395..44099faba0 100644 --- a/engines/fullpipe/scenes/scene36.cpp +++ b/engines/fullpipe/scenes/scene36.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene37.cpp b/engines/fullpipe/scenes/scene37.cpp index 8324e00af7..09da01f138 100644 --- a/engines/fullpipe/scenes/scene37.cpp +++ b/engines/fullpipe/scenes/scene37.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/scene38.cpp b/engines/fullpipe/scenes/scene38.cpp index 7fb0be8509..2bdae1ce66 100644 --- a/engines/fullpipe/scenes/scene38.cpp +++ b/engines/fullpipe/scenes/scene38.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/sceneDbg.cpp b/engines/fullpipe/scenes/sceneDbg.cpp index 4a3751940f..bd53f5749f 100644 --- a/engines/fullpipe/scenes/sceneDbg.cpp +++ b/engines/fullpipe/scenes/sceneDbg.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/sceneFinal.cpp b/engines/fullpipe/scenes/sceneFinal.cpp index e483e8bab7..d0040463ef 100644 --- a/engines/fullpipe/scenes/sceneFinal.cpp +++ b/engines/fullpipe/scenes/sceneFinal.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. diff --git a/engines/fullpipe/scenes/sceneIntro.cpp b/engines/fullpipe/scenes/sceneIntro.cpp index c9f19f3724..5e69cf1d7a 100644 --- a/engines/fullpipe/scenes/sceneIntro.cpp +++ b/engines/fullpipe/scenes/sceneIntro.cpp @@ -8,12 +8,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
