ACCESS: Move _saveRiver from engine to River class
This commit is contained in:
parent
2151919434
commit
b478b05df2
4 changed files with 10 additions and 8 deletions
|
@ -43,7 +43,6 @@ AccessEngine(syst, gameDesc),
|
||||||
_skipStart = false;
|
_skipStart = false;
|
||||||
_charSegSwitch = false;
|
_charSegSwitch = false;
|
||||||
|
|
||||||
_saveRiver = false;
|
|
||||||
_oldTitleChapter = _chapter = 0;
|
_oldTitleChapter = _chapter = 0;
|
||||||
_updateChapter = -1;
|
_updateChapter = -1;
|
||||||
_rawInactiveX = 0;
|
_rawInactiveX = 0;
|
||||||
|
|
|
@ -86,7 +86,6 @@ public:
|
||||||
InactivePlayer _inactive;
|
InactivePlayer _inactive;
|
||||||
bool _charSegSwitch;
|
bool _charSegSwitch;
|
||||||
bool _skipStart;
|
bool _skipStart;
|
||||||
bool _saveRiver;
|
|
||||||
|
|
||||||
// Fields that are mapped to flags
|
// Fields that are mapped to flags
|
||||||
int &_guardLocation;
|
int &_guardLocation;
|
||||||
|
|
|
@ -1013,6 +1013,7 @@ River::River(AmazonEngine *vm): PannedScene(vm) {
|
||||||
_rKeyFlag = 0;
|
_rKeyFlag = 0;
|
||||||
_mapOffset = 0;
|
_mapOffset = 0;
|
||||||
_screenVirtX = 0;
|
_screenVirtX = 0;
|
||||||
|
_saveRiver = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void River::setRiverPan() {
|
void River::setRiverPan() {
|
||||||
|
@ -1058,7 +1059,7 @@ void River::initRiver() {
|
||||||
_vm->_destIn = &_vm->_buffer2;
|
_vm->_destIn = &_vm->_buffer2;
|
||||||
_vm->_room->roomMenu();
|
_vm->_room->roomMenu();
|
||||||
|
|
||||||
if (_vm->_saveRiver) {
|
if (_saveRiver) {
|
||||||
// Restoring a savegame, so set properties from saved fields
|
// Restoring a savegame, so set properties from saved fields
|
||||||
_vm->_screen->_scrollRow = _rScrollRow;
|
_vm->_screen->_scrollRow = _rScrollRow;
|
||||||
_vm->_screen->_scrollCol = _rScrollCol;
|
_vm->_screen->_scrollCol = _rScrollCol;
|
||||||
|
@ -1076,7 +1077,7 @@ void River::initRiver() {
|
||||||
_vm->copyBF2Vid();
|
_vm->copyBF2Vid();
|
||||||
_vm->_screen->forceFadeIn();
|
_vm->_screen->forceFadeIn();
|
||||||
|
|
||||||
if (_vm->_saveRiver) {
|
if (_saveRiver) {
|
||||||
// Restore draw rects from savegame
|
// Restore draw rects from savegame
|
||||||
_vm->_oldRects.resize(_rOldRectCount);
|
_vm->_oldRects.resize(_rOldRectCount);
|
||||||
_vm->_newRects.resize(_rNewRectCount);
|
_vm->_newRects.resize(_rNewRectCount);
|
||||||
|
@ -1096,7 +1097,7 @@ void River::initRiver() {
|
||||||
|
|
||||||
_canoeFrame = 0;
|
_canoeFrame = 0;
|
||||||
_mapPtr = (const byte *)MAPTBL[_vm->_riverFlag] + 1;
|
_mapPtr = (const byte *)MAPTBL[_vm->_riverFlag] + 1;
|
||||||
if (_vm->_saveRiver) {
|
if (_saveRiver) {
|
||||||
_mapPtr--;
|
_mapPtr--;
|
||||||
_mapPtr += _mapOffset;
|
_mapPtr += _mapOffset;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1123,7 +1124,7 @@ void River::initRiver() {
|
||||||
++_vm->_timers[12]._flag;
|
++_vm->_timers[12]._flag;
|
||||||
|
|
||||||
_vm->_maxHits = 2 - _vm->_riverFlag;
|
_vm->_maxHits = 2 - _vm->_riverFlag;
|
||||||
_vm->_saveRiver = false;
|
_saveRiver = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void River::resetPositions() {
|
void River::resetPositions() {
|
||||||
|
@ -1234,7 +1235,7 @@ void River::moveCanoe() {
|
||||||
_vm->_scripts->printString(BAR_MESSAGE);
|
_vm->_scripts->printString(BAR_MESSAGE);
|
||||||
} else {
|
} else {
|
||||||
// Clicked on the Disc icon
|
// Clicked on the Disc icon
|
||||||
_vm->_saveRiver = true;
|
_saveRiver = true;
|
||||||
_rScrollRow = screen._scrollRow;
|
_rScrollRow = screen._scrollRow;
|
||||||
_rScrollCol = screen._scrollCol;
|
_rScrollCol = screen._scrollCol;
|
||||||
_rScrollX = screen._scrollX;
|
_rScrollX = screen._scrollX;
|
||||||
|
@ -1245,7 +1246,7 @@ void River::moveCanoe() {
|
||||||
_vm->_room->handleCommand(9);
|
_vm->_room->handleCommand(9);
|
||||||
|
|
||||||
if (_vm->_room->_function != FN_CLEAR1) {
|
if (_vm->_room->_function != FN_CLEAR1) {
|
||||||
_vm->_saveRiver = false;
|
_saveRiver = false;
|
||||||
_vm->_room->buildScreen();
|
_vm->_room->buildScreen();
|
||||||
_vm->copyBF2Vid();
|
_vm->copyBF2Vid();
|
||||||
}
|
}
|
||||||
|
@ -1561,6 +1562,8 @@ void River::synchronize(Common::Serializer &s) {
|
||||||
s.syncAsUint16LE(_screenVirtX);
|
s.syncAsUint16LE(_screenVirtX);
|
||||||
warning("TODO: s.syncAsSint16LE(_topList);");
|
warning("TODO: s.syncAsSint16LE(_topList);");
|
||||||
warning("TODO: s.syncAsSint16LE(_botList);");
|
warning("TODO: s.syncAsSint16LE(_botList);");
|
||||||
|
|
||||||
|
_saveRiver = s.isLoading();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -151,6 +151,7 @@ private:
|
||||||
RiverStruct *_topList;
|
RiverStruct *_topList;
|
||||||
RiverStruct *_botList;
|
RiverStruct *_botList;
|
||||||
int _canoeDir;
|
int _canoeDir;
|
||||||
|
bool _saveRiver;
|
||||||
|
|
||||||
// Saved fields
|
// Saved fields
|
||||||
int _canoeLane;
|
int _canoeLane;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue