aboutsummaryrefslogtreecommitdiff
path: root/engines/tsage/globals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/tsage/globals.cpp')
-rw-r--r--engines/tsage/globals.cpp139
1 files changed, 130 insertions, 9 deletions
diff --git a/engines/tsage/globals.cpp b/engines/tsage/globals.cpp
index 769ad4c054..59eb59b194 100644
--- a/engines/tsage/globals.cpp
+++ b/engines/tsage/globals.cpp
@@ -375,18 +375,98 @@ void Ringworld2Globals::reset() {
T2_GLOBALS._uiElements._active = false;
// Reset fields
+ Common::fill(&_v1000[0], &_v1000[0x1000], 0);
+ _v1000Flag = false;
+ _v5589E.set(0, 0, 0, 0);
+ _v558B6.set(0, 0, 0, 0);
+ _v558C2 = 0;
+ _animationCtr = 0;
_v5657C = 0;
+ _v565E1 = 0;
+ _v565E3 = 0;
+ _v565E5 = 0;
+ _v565E7 = 0;
+ _v565E9 = -5;
+ _v565EB = 26;
_v565F5 = 0;
+ _v565F6 = 0;
+ _v565FA = 0;
_v565AE = 0;
- for (int i = 0; i < 14; i++)
- _v56605[i] = 0;
+ _v56605[0] = 0;
+ _v56605[1] = 3;
+ _v56605[2] = 5;
+ _v56605[3] = 1;
+ _v56605[4] = 2;
+ _v56605[5] = 5;
+ _v56605[6] = 9;
+ _v56605[7] = 14;
+ _v56605[8] = 15;
+ _v56605[9] = 18;
+ _v56605[10] = 20;
+ _v56605[11] = 25;
+ _v56605[12] = 27;
+ _v56605[13] = 31;
+
+ for (int i = 0; i < 18; i++) {
+ _v56613[(i * 4) ] = 1;
+ _v56613[(i * 4) + 2] = 0;
+ _v56613[(i * 4) + 3] = 0;
+ }
+ _v56613[( 0 * 4) + 1] = 1;
+ _v56613[( 1 * 4) + 1] = 2;
+ _v56613[( 2 * 4) + 1] = 2;
+ _v56613[( 3 * 4) + 1] = 3;
+ _v56613[( 4 * 4) + 1] = 2;
+ _v56613[( 5 * 4) + 1] = 2;
+ _v56613[( 6 * 4) + 1] = 3;
+ _v56613[( 7 * 4) + 1] = 1;
+ _v56613[( 8 * 4) + 1] = 1;
+ _v56613[( 9 * 4) + 1] = 3;
+ _v56613[(10 * 4) + 1] = 3;
+ _v56613[(11 * 4) + 1] = 1;
+ _v56613[(12 * 4) + 1] = 2;
+ _v56613[(13 * 4) + 1] = 3;
+ _v56613[(14 * 4) + 1] = 2;
+ _v56613[(15 * 4) + 1] = 3;
+ _v56613[(16 * 4) + 1] = 1;
+ _v56613[(17 * 4) + 1] = 1;
+
+ _v566A6 = 3800;
+ _v566A3 = 2;
+ _v566A4 = 1;
+ _v566A5 = 0;
+ _v566A8 = 5;
+ _v566A9 = 0;
+ _v566AA = 0;
+ for (int i = 0; i < 1000; i++)
+ _v566AB[i] = 0;
+ _v56A93 = -1;
+ _v56A99 = 5;
+ _scene1925CurrLevel = 0; //_v56A9C
+ _v56A9E = 0;
+ _v56AA0 = 0;
+ _v56AA1 = 0;
+ _v56AA2 = 60;
+ _v56AA4 = 660;
+ _v56AA6 = 1;
+ _v56AA7 = 1;
+ _v56AA8 = 1;
+ _v56AAB = 0;
+ _scene180Mode = -1;
+ _v57709 = 0;
+ _v5780C = 0;
+ _v5780E = 0;
+ _v57810 = 0;
_v57C2C = 0;
- _v58CE2 = 0;
- Common::fill(&_v565F1[0], &_v565F1[MAX_CHARACTERS], 0);
+ _v565EC[0] = 0;
+ _v565EC[1] = 27;
+ _v565EC[2] = 27;
+ _v565EC[3] = 4;
+ _v565EC[4] = 4;
+ Common::fill(&_v565F1[0], &_v565F1[MAX_CHARACTERS], 1);
_speechSubtitles = SPEECH_VOICE | SPEECH_TEXT;
_insetUp = 0;
-
- Common::fill(&_v565F1[0], &_v565F1[MAX_CHARACTERS], 0);
+ _frameEdgeColour = 2;
Common::fill(&_stripManager_lookupList[0], &_stripManager_lookupList[12], 0);
_stripManager_lookupList[0] = 1;
_stripManager_lookupList[1] = 1;
@@ -410,24 +490,65 @@ void Ringworld2Globals::synchronize(Serializer &s) {
TsAGE2Globals::synchronize(s);
int i;
+ _v5589E.synchronize(s);
+ _v558B6.synchronize(s);
+
+ s.syncAsSint16LE(_v558C2);
+ s.syncAsSint16LE(_animationCtr);
s.syncAsSint16LE(_v5657C);
+ s.syncAsSint16LE(_v565E1);
+ s.syncAsSint16LE(_v565E3);
+ s.syncAsSint16LE(_v565E5);
+ s.syncAsSint16LE(_v565E7);
+ s.syncAsSint16LE(_v565E9);
+ s.syncAsSint16LE(_v565EB);
s.syncAsSint16LE(_v565F5);
+ s.syncAsSint16LE(_v565F6);
+ s.syncAsSint16LE(_v565FA);
+ s.syncAsSint16LE(_v566A3);
+ s.syncAsSint16LE(_v566A6);
+ s.syncAsSint16LE(_v56A93);
+ s.syncAsSint16LE(_scene1925CurrLevel); // _v56A9C
+ s.syncAsSint16LE(_v56A9E);
+ s.syncAsSint16LE(_v56AA2);
+ s.syncAsSint16LE(_v56AA4);
+ s.syncAsSint16LE(_v56AAB);
+ s.syncAsSint16LE(_scene180Mode);
+ s.syncAsSint16LE(_v57709);
+ s.syncAsSint16LE(_v5780C);
+ s.syncAsSint16LE(_v5780E);
+ s.syncAsSint16LE(_v57810);
s.syncAsSint16LE(_v57C2C);
- s.syncAsSint16LE(_v58CE2);
s.syncAsSint16LE(_speechSubtitles);
+ for (i = 0; i < 5; i++)
+ s.syncAsByte(_v565EC[i]);
+
for (i = 0; i < MAX_CHARACTERS; ++i)
- s.syncAsSint16LE(_v565F1[i]);
+ s.syncAsByte(_v565F1[i]);
s.syncAsByte(_v565AE);
+ s.syncAsByte(_v566A4);
+ s.syncAsByte(_v566A5);
+ s.syncAsByte(_v566A8);
+ s.syncAsByte(_v566A9);
+ s.syncAsByte(_v566AA);
+ s.syncAsByte(_v56AA0);
+ s.syncAsByte(_v56AA1);
+ s.syncAsByte(_v56AA6);
+ s.syncAsByte(_v56AA7);
+ s.syncAsByte(_v56AA8);
for (i = 0; i < 14; ++i)
s.syncAsByte(_v56605[i]);
-
+ for (i = 0; i < 1000; ++i)
+ s.syncAsByte(_v566AB[i]);
+ s.syncAsByte(_v56A99);
for (i = 0; i < 12; ++i)
s.syncAsByte(_stripManager_lookupList[i]);
s.syncAsSint16LE(_insetUp);
+ s.syncAsByte(_frameEdgeColour);
}
} // end of namespace Ringworld2