diff options
Diffstat (limited to 'engines/tsage/globals.cpp')
-rw-r--r-- | engines/tsage/globals.cpp | 139 |
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 |