aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage
diff options
context:
space:
mode:
authorPaul Gilbert2013-09-08 14:50:21 -0400
committerPaul Gilbert2013-09-08 14:50:21 -0400
commit658f86144bdd83bdd39ecd895e760fbe52ff19d8 (patch)
treebe20d65bddb092c5834251a6145876f42d011612 /engines/tsage
parent3079100409df05d5da47a0c2f0676659c7d9d733 (diff)
downloadscummvm-rg350-658f86144bdd83bdd39ecd895e760fbe52ff19d8.tar.gz
scummvm-rg350-658f86144bdd83bdd39ecd895e760fbe52ff19d8.tar.bz2
scummvm-rg350-658f86144bdd83bdd39ecd895e760fbe52ff19d8.zip
TSAGE: Fixes and renaming for R2R rim scene
Diffstat (limited to 'engines/tsage')
-rw-r--r--engines/tsage/core.cpp2
-rw-r--r--engines/tsage/globals.cpp8
-rw-r--r--engines/tsage/globals.h4
-rw-r--r--engines/tsage/ringworld2/ringworld2_logic.cpp7
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes1.cpp145
-rw-r--r--engines/tsage/ringworld2/ringworld2_scenes1.h16
6 files changed, 95 insertions, 87 deletions
diff --git a/engines/tsage/core.cpp b/engines/tsage/core.cpp
index 5ad5b01f8b..055005808c 100644
--- a/engines/tsage/core.cpp
+++ b/engines/tsage/core.cpp
@@ -1179,7 +1179,7 @@ void PaletteRotation::signal() {
int count = _end - _currIndex;
g_system->getPaletteManager()->setPalette((const byte *)&_palette[_currIndex * 3], _start, count);
- if (count2) {
+ if (count2 > 0) {
g_system->getPaletteManager()->setPalette((const byte *)&_palette[_start * 3], _start + count, count2);
}
}
diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp
index 22b0d7280a..d47634fed1 100644
--- a/engines/tsage/globals.cpp
+++ b/engines/tsage/globals.cpp
@@ -409,8 +409,8 @@ void Ringworld2Globals::reset() {
_v565E9 = -5;
_v565EB = 26;
_foodCount = 0;
- _v565F6 = 0;
- _v565FA = 0;
+ _rimLocation = 0;
+ _rimTransportLocation = 0;
_v565AE = 0;
_v56605[0] = 0;
_v56605[1] = 3;
@@ -524,8 +524,8 @@ void Ringworld2Globals::synchronize(Serializer &s) {
s.syncAsSint16LE(_v565E9);
s.syncAsSint16LE(_v565EB);
s.syncAsSint16LE(_foodCount);
- s.syncAsSint32LE(_v565F6);
- s.syncAsSint16LE(_v565FA);
+ s.syncAsSint32LE(_rimLocation);
+ s.syncAsSint16LE(_rimTransportLocation);
s.syncAsSint16LE(_landerSuitNumber);
s.syncAsSint16LE(_v566A6);
s.syncAsSint16LE(_v56A93);
diff --git a/engines/tsage/globals.h b/engines/tsage/globals.h
index 01e1594502..4512b34eb5 100644
--- a/engines/tsage/globals.h
+++ b/engines/tsage/globals.h
@@ -265,8 +265,8 @@ public:
int _v565E9;
int _v565EB;
int _foodCount;
- int _v565F6;
- int _v565FA;
+ int _rimLocation;
+ int _rimTransportLocation;
int _v5657C;
byte _v565AE;
byte _v56605[14];
diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index 2d55b8c524..b58c671c67 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -144,10 +144,13 @@ Scene *Ringworld2Game::createScene(int sceneNumber) {
// Miranda being questioned
return new Scene1625();
case 1700:
+ // Rim
return new Scene1700();
case 1750:
+ // Maintaiance Vechile
return new Scene1750();
case 1800:
+ // Rim lift
return new Scene1800();
case 1850:
return new Scene1850();
@@ -2271,9 +2274,9 @@ void ScannerDialog::Button::reset() {
break;
case 1700:
case 1800:
- if (R2_GLOBALS._v565F6 < 1201)
+ if (R2_GLOBALS._rimLocation < 1201)
scanner._obj4.setup(4, 3, 3);
- else if (R2_GLOBALS._v565F6 < 1201)
+ else if (R2_GLOBALS._rimLocation < 1201)
scanner._obj4.setup(4, 3, 4);
else
scanner._obj4.setup(4, 3, 5);
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index 2925347d78..f1ae691b99 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -5,7 +5,7 @@
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
+ * modify it under the terms of the GNU GenWeral Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
@@ -10282,7 +10282,7 @@ void Scene1625::process(Event &event) {
}
/*--------------------------------------------------------------------------
- * Scene 1700 -
+ * Scene 1700 - Rim
*
*--------------------------------------------------------------------------*/
@@ -10304,7 +10304,7 @@ bool Scene1700::Item2::startAction(CursorType action, Event &event) {
return SceneHotspot::startAction(action, event);
}
-bool Scene1700::Actor11::startAction(CursorType action, Event &event) {
+bool Scene1700::RimTransport::startAction(CursorType action, Event &event) {
if (action != CURSOR_USE)
return SceneActor::startAction(action, event);
@@ -10372,13 +10372,13 @@ void Scene1700::enterArea() {
Rect tmpRect;
R2_GLOBALS._walkRegions.load(1700);
- _actor3.remove();
- _actor4.remove();
- _actor5.remove();
- _actor6.remove();
- _actor7.remove();
- _actor8.remove();
- _actor11.remove();
+ _slabWest.remove();
+ _slabEast.remove();
+ _slabShadowWest.remove();
+ _slabShadowEast.remove();
+ _westPlatform.remove();
+ _rimTransportDoor.remove();
+ _rimTransport.remove();
if (_sceneMode != 40) {
_ledgeHopper.remove();
@@ -10397,7 +10397,8 @@ void Scene1700::enterArea() {
warning("set_pane_p(_paneNumber);");
- if (_sceneMode != 40 && R2_GLOBALS._v565F6 == 0) {
+ if (_sceneMode != 40 && R2_GLOBALS._rimLocation == 0) {
+ // Crashed ledge hopper
_ledgeHopper.postInit();
_ledgeHopper.setup(1701, 1, 1);
_ledgeHopper.setPosition(Common::Point(220, 137));
@@ -10406,35 +10407,37 @@ void Scene1700::enterArea() {
R2_GLOBALS._walkRegions.enableRegion(12);
}
- if ((R2_GLOBALS._v565F6 + 2) % 4 == 0) {
- _actor3.postInit();
- _actor3.setup(1700, 1, 1);
- _actor3.setPosition(Common::Point(222, 82));
- _actor3.setDetails(100, -1, -1, -1, 2, (SceneItem *) NULL);
+ if ((R2_GLOBALS._rimLocation + 2) % 4 == 0) {
+ // The slabs forming the bottom of the regular rings the rim transport travels through
+ _slabWest.postInit();
+ _slabWest.setup(1700, 1, 1);
+ _slabWest.setPosition(Common::Point(222, 82));
+ _slabWest.setDetails(100, -1, -1, -1, 2, (SceneItem *) NULL);
- _actor5.postInit();
- _actor5.setup(1700, 2, 1);
- _actor5.setPosition(Common::Point(177, 82));
- _actor5.fixPriority(0);
+ _slabShadowWest.postInit();
+ _slabShadowWest.setup(1700, 2, 1);
+ _slabShadowWest.setPosition(Common::Point(177, 82));
+ _slabShadowWest.fixPriority(0);
- _actor6.postInit();
- _actor6.setup(1700, 2, 2);
- _actor6.setPosition(Common::Point(332, 96));
- _actor6.fixPriority(0);
+ _slabShadowEast.postInit();
+ _slabShadowEast.setup(1700, 2, 2);
+ _slabShadowEast.setPosition(Common::Point(332, 96));
+ _slabShadowEast.fixPriority(0);
- _actor4.postInit();
- _actor4.setup(1700, 1, 2);
- _actor4.setPosition(Common::Point(424, 84));
+ _slabEast.postInit();
+ _slabEast.setup(1700, 1, 2);
+ _slabEast.setPosition(Common::Point(424, 84));
R2_GLOBALS._walkRegions.enableRegion(11);
}
- if ((R2_GLOBALS._v565F6 + 399) % 800 == 0) {
- _actor7.postInit();
- _actor7.setup(1700, 3, 2);
- _actor7.setPosition(Common::Point(51, 141));
- _actor7.fixPriority(0);
- _actor7.setDetails(100, -1, -1, -1, 2, (SceneItem *) NULL);
+ if ((R2_GLOBALS._rimLocation + 399) % 800 == 0) {
+ // Enable west exit to lift
+ _westPlatform.postInit();
+ _westPlatform.setup(1700, 3, 2);
+ _westPlatform.setPosition(Common::Point(51, 141));
+ _westPlatform.fixPriority(0);
+ _westPlatform.setDetails(100, -1, -1, -1, 2, (SceneItem *) NULL);
_westExit._enabled = true;
} else {
@@ -10442,23 +10445,24 @@ void Scene1700::enterArea() {
_westExit._enabled = false;
}
- if ( ((!R2_GLOBALS.getFlag(15)) && ((R2_GLOBALS._v565F6 == 25) || (R2_GLOBALS._v565F6 == -3)))
- || ((R2_GLOBALS.getFlag(15)) && (R2_GLOBALS._v565F6 == R2_GLOBALS._v565FA))
+ if ( ((!R2_GLOBALS.getFlag(15)) && ((R2_GLOBALS._rimLocation == 25) || (R2_GLOBALS._rimLocation == -3)))
+ || ((R2_GLOBALS.getFlag(15)) && (R2_GLOBALS._rimLocation == R2_GLOBALS._rimTransportLocation))
) {
- R2_GLOBALS._v565FA = R2_GLOBALS._v565F6;
+ // Rim transport vechile located
+ R2_GLOBALS._rimTransportLocation = R2_GLOBALS._rimLocation;
if (!R2_GLOBALS.getFlag(15))
_field77C = 1;
- _actor11.postInit();
- _actor11.setup(1700, 3, 1);
- _actor11.setPosition(Common::Point(338, 150));
- _actor11.setDetails(1700, 9, -1, -1, 2, (SceneItem *) NULL);
- _actor11.fixPriority(15);
+ _rimTransport.postInit();
+ _rimTransport.setup(1700, 3, 1);
+ _rimTransport.setPosition(Common::Point(338, 150));
+ _rimTransport.setDetails(1700, 9, -1, -1, 2, (SceneItem *) NULL);
+ _rimTransport.fixPriority(15);
- _actor8.postInit();
- _actor8.setup(1700, 4, 1);
- _actor8.setPosition(Common::Point(312, 106));
- _actor8.fixPriority(130);
+ _rimTransportDoor.postInit();
+ _rimTransportDoor.setup(1700, 4, 1);
+ _rimTransportDoor.setPosition(Common::Point(312, 106));
+ _rimTransportDoor.fixPriority(130);
}
}
@@ -10613,8 +10617,8 @@ void Scene1700::signal() {
switch (_sceneMode) {
case 1: {
_sceneMode = 3;
- if ((R2_GLOBALS._v565F6 < 2400) && (R2_GLOBALS._v565F6 >= 0))
- ++R2_GLOBALS._v565F6;
+ if (R2_GLOBALS._rimLocation < 2400)
+ ++R2_GLOBALS._rimLocation;
enterArea();
R2_GLOBALS._player.setPosition(Common::Point(235 - (((((235 - R2_GLOBALS._player._position.x) * 100) / 103) * 167) / 100), 170));
Common::Point pt(R2_GLOBALS._player._position.x, 160);
@@ -10638,8 +10642,8 @@ void Scene1700::signal() {
break;
case 2: {
_sceneMode = 3;
- if ((R2_GLOBALS._v565F6 > -2400) && (R2_GLOBALS._v565F6 < 0))
- R2_GLOBALS._v565F6--;
+ if (R2_GLOBALS._rimLocation > -2400)
+ --R2_GLOBALS._rimLocation;
enterArea();
R2_GLOBALS._player.setPosition(Common::Point(235 - (((((235 - R2_GLOBALS._player._position.x) * 100) / 167) * 103) / 100), 0));
Common::Point pt(R2_GLOBALS._player._position.x, 10);
@@ -10681,9 +10685,9 @@ void Scene1700::signal() {
PlayerMover *mover = new PlayerMover();
_actor12.addMover(mover, &pt, NULL);
if (R2_GLOBALS._player._characterIndex == R2_QUINN)
- setAction(&_sequenceManager, this, 1700, &R2_GLOBALS._player, &_actor8, NULL);
+ setAction(&_sequenceManager, this, 1700, &R2_GLOBALS._player, &_rimTransportDoor, NULL);
else
- setAction(&_sequenceManager, this, 1701, &R2_GLOBALS._player, &_actor8, NULL);
+ setAction(&_sequenceManager, this, 1701, &R2_GLOBALS._player, &_rimTransportDoor, NULL);
}
break;
case 5:
@@ -10747,7 +10751,7 @@ void Scene1700::signal() {
}
/*--------------------------------------------------------------------------
- * Scene 1750 - Rim Transport
+ * Scene 1750 - Maintaiance Vechile
*
*--------------------------------------------------------------------------*/
@@ -10931,7 +10935,7 @@ void Scene1750::postInit(SceneObjectList *OwnerList) {
_rotation->_idxChange = 0;
_rotation->_countdown = 2;
- switch ((R2_GLOBALS._v565F6 + 2) % 4) {
+ switch ((R2_GLOBALS._rimLocation + 2) % 4) {
case 0:
_rotation->_currIndex = 247;
break;
@@ -10977,7 +10981,7 @@ void Scene1750::postInit(SceneObjectList *OwnerList) {
_actor1.postInit();
_actor1.setup(1750, 2, 1);
- _actor1.setPosition(Common::Point(35, ((_rotation->_currIndex - 218) % 4) + ((R2_GLOBALS._v565F6 % 800) * 4) - 1440));
+ _actor1.setPosition(Common::Point(35, ((_rotation->_currIndex - 218) % 4) + ((R2_GLOBALS._rimLocation % 800) * 4) - 1440));
_actor1.fixPriority(8);
_actor2.postInit();
@@ -11028,13 +11032,13 @@ void Scene1750::postInit(SceneObjectList *OwnerList) {
}
void Scene1750::remove() {
- if (R2_GLOBALS._v565F6 == 2400)
- R2_GLOBALS._v565F6 = 2399;
+ if (R2_GLOBALS._rimLocation == 2400)
+ R2_GLOBALS._rimLocation = 2399;
- if (R2_GLOBALS._v565F6 == -2400)
- R2_GLOBALS._v565F6 = -2399;
+ if (R2_GLOBALS._rimLocation == -2400)
+ R2_GLOBALS._rimLocation = -2399;
- R2_GLOBALS._v565FA = R2_GLOBALS._v565F6;
+ R2_GLOBALS._rimTransportLocation = R2_GLOBALS._rimLocation;
SceneExt::remove();
R2_GLOBALS._sound1.fadeOut2(NULL);
@@ -11095,21 +11099,21 @@ void Scene1750::dispatch() {
_field419 = ((_rotation->_currIndex - 218) / 4) / 4;
if ((_field41B + 1) == _field419 || (_field41B - 3) == _field419) {
- if (R2_GLOBALS._v565F6 >= 2400) {
- ++R2_GLOBALS._v565F6;
+ if (R2_GLOBALS._rimLocation < 2400) {
+ ++R2_GLOBALS._rimLocation;
}
}
if ((_field41B - 1) == _field419 || (_field41B + 3) == _field419) {
- if (R2_GLOBALS._v565F6 > -2400) {
- --R2_GLOBALS._v565F6;
+ if (R2_GLOBALS._rimLocation > -2400) {
+ --R2_GLOBALS._rimLocation;
}
}
if (_rotation->_currIndex != _field41D) {
_field41D = _rotation->_currIndex;
- _actor1.setPosition(Common::Point(35, ((_rotation->_currIndex - 218) / 4) +
- ((R2_GLOBALS._v565F6 % 800) * 4)));
+ _actor1.setPosition(Common::Point(35, ((_rotation->_currIndex - 218) % 4) +
+ ((R2_GLOBALS._rimLocation % 800) * 4) - 1440));
}
}
@@ -11124,9 +11128,10 @@ void Scene1750::dispatch() {
}
/*--------------------------------------------------------------------------
- * Scene 1800 -
+ * Scene 1800 - Rim Lift
*
*--------------------------------------------------------------------------*/
+
Scene1800::Scene1800() {
_field412 = 0;
}
@@ -11146,7 +11151,7 @@ bool Scene1800::Hotspot5::startAction(CursorType action, Event &event) {
R2_GLOBALS._events.setCursor(CURSOR_CROSSHAIRS);
if (R2_GLOBALS._player._characterIndex == R2_QUINN) {
- if (R2_GLOBALS._v565F6 == 1201) {
+ if (R2_GLOBALS._rimLocation == 1201) {
scene->_stripManager.start(548, this);
} else if (R2_GLOBALS.getFlag(66)) {
return false;
@@ -11154,7 +11159,7 @@ bool Scene1800::Hotspot5::startAction(CursorType action, Event &event) {
scene->_stripManager.start(546, this);
}
} else {
- if (R2_GLOBALS._v565F6 == 1201) {
+ if (R2_GLOBALS._rimLocation == 1201) {
scene->_stripManager.start(549, this);
} else if (R2_GLOBALS.getFlag(66)) {
return false;
@@ -11318,9 +11323,9 @@ void Scene1800::postInit(SceneObjectList *OwnerList) {
_stripManager.addSpeaker(&_seekerSpeaker);
if (R2_GLOBALS._sceneManager._previousScene == -1)
- R2_GLOBALS._v565F6 = 1201;
+ R2_GLOBALS._rimLocation = 1201;
- if (R2_GLOBALS._v565F6 == 1201)
+ if (R2_GLOBALS._rimLocation == 1201)
_field412 = 2;
else
_field412 = 0;
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h
index 0e929b3ef3..aa777a80a2 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.h
@@ -721,7 +721,7 @@ class Scene1700 : public SceneExt {
virtual bool startAction(CursorType action, Event &event);
};
- class Actor11 : public SceneActor {
+ class RimTransport : public SceneActor {
public:
virtual bool startAction(CursorType action, Event &event);
};
@@ -749,15 +749,15 @@ public:
Item2 _item2;
SceneActor _actor1;
SceneActor _actor2;
- SceneActor _actor3;
- SceneActor _actor4;
- SceneActor _actor5;
- SceneActor _actor6;
- SceneActor _actor7;
- SceneActor _actor8;
+ SceneActor _slabWest;
+ SceneActor _slabEast;
+ SceneActor _slabShadowWest;
+ SceneActor _slabShadowEast;
+ SceneActor _westPlatform;
+ SceneActor _rimTransportDoor;
SceneActor _ledgeHopper;
SceneActor _actor10;
- Actor11 _actor11;
+ RimTransport _rimTransport;
Actor12 _actor12;
NorthExit _northExit;
SouthExit _southExit;