aboutsummaryrefslogtreecommitdiff
path: root/engines/fullpipe/scenes.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/fullpipe/scenes.cpp')
-rw-r--r--engines/fullpipe/scenes.cpp58
1 files changed, 38 insertions, 20 deletions
diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp
index 3fe8704d3b..7420c1b1cf 100644
--- a/engines/fullpipe/scenes.cpp
+++ b/engines/fullpipe/scenes.cpp
@@ -378,26 +378,22 @@ Vars::Vars() {
scene28_headBeardedFlipper = false;
scene28_lift6inside = false;
- scene29_var01 = 0;
- scene29_var02 = 0;
- scene29_var03 = 0;
- scene29_var04 = 0;
scene29_porter = 0;
scene29_shooter1 = 0;
scene29_shooter2 = 0;
scene29_ass = 0;
- scene29_var09 = 0;
- scene29_var10 = 0;
- scene29_var11 = 0;
- scene29_var12 = 0;
- scene29_var13 = 0;
- scene29_var14 = 75;
- scene29_var15 = 0;
- scene29_var16 = 0;
- scene29_var17 = 0;
- scene29_var18 = 0;
- scene29_var20 = 0;
- scene29_var21 = 0;
+ scene29_manIsRiding = false;
+ scene29_arcadeIsOn = false;
+ scene29_reachedFarRight = false;
+ scene29_rideBackEnabled = false;
+ scene29_shootCountdown = 0;
+ scene29_shootDistance = 75;
+ scene29_manIsHit = 0;
+ scene29_scrollSpeed = 0;
+ scene29_scrollingDisabled = 0;
+ scene29_hitBall = 0;
+ scene29_manX = 0;
+ scene29_manY = 0;
scene30_leg = 0;
scene30_liftFlag = 1;
@@ -1110,10 +1106,6 @@ int defaultUpdateCursor() {
return g_fp->_cursorId;
}
-void FullpipeEngine::processArcade(ExCommand *ex) {
- warning("STUB: FullpipeEngine::processArcade()");
-}
-
void FullpipeEngine::updateMapPiece(int mapId, int update) {
for (int i = 0; i < 200; i++) {
int hiWord = (_mapTable[i] >> 16) & 0xffff;
@@ -1469,5 +1461,31 @@ Ball *BallChain::sub04(Ball *ballP, Ball *ballN) {
return pTail;
}
+void BallChain::removeBall(Ball *ball) {
+ if (ball == pHead)
+ pHead = ball->p0;
+ else
+ ball->p1->p0 = ball->p0;
+
+ if (ball == field_8)
+ field_8 = ball->p1;
+ else
+ ball->p0->p1 = ball->p1;
+
+ ball->p0 = pTail;
+ pTail = ball;
+
+ numBalls--;
+
+ if (!numBalls) {
+ numBalls = 0;
+ pTail = 0;
+ field_8 = 0;
+ pHead = 0;
+ free(cPlex);
+ cPlex = 0;
+ }
+}
+
} // End of namespace Fullpipe