aboutsummaryrefslogtreecommitdiff
path: root/engines/cryo/eden.cpp
diff options
context:
space:
mode:
authorStrangerke2017-01-15 22:24:28 +0100
committerEugene Sandulenko2017-01-25 22:42:22 +0100
commit3ee08c1ac30d09a8f2c1c7d56ce78a913ca64c5c (patch)
tree5d3b63b15b8779bcac72e9ae0f81a191ea61ccbe /engines/cryo/eden.cpp
parent9c52ea3b268669e16487baf655f8d7f04db53e61 (diff)
downloadscummvm-rg350-3ee08c1ac30d09a8f2c1c7d56ce78a913ca64c5c.tar.gz
scummvm-rg350-3ee08c1ac30d09a8f2c1c7d56ce78a913ca64c5c.tar.bz2
scummvm-rg350-3ee08c1ac30d09a8f2c1c7d56ce78a913ca64c5c.zip
CRYO: get rid of 3 GOTOs
Diffstat (limited to 'engines/cryo/eden.cpp')
-rw-r--r--engines/cryo/eden.cpp39
1 files changed, 22 insertions, 17 deletions
diff --git a/engines/cryo/eden.cpp b/engines/cryo/eden.cpp
index 83f59026f5..8a197e6aa2 100644
--- a/engines/cryo/eden.cpp
+++ b/engines/cryo/eden.cpp
@@ -2671,6 +2671,16 @@ void EdenGame::displayBackgroundFollower() {
}
}
+void EdenGame::displayNoFollower(int16 bank) {
+ if (bank) {
+ useBank(bank);
+ if (_globals->_characterPtr == &kPersons[PER_UNKN_156])
+ noclipax_avecnoir(0, 0, 16);
+ else
+ noclipax(0, 0, 16);
+ }
+}
+
// Original name: af_fondperso1
void EdenGame::displayCharacterBackground1() {
byte bank;
@@ -2681,41 +2691,36 @@ void EdenGame::displayCharacterBackground1() {
bank = _globals->_characterBackgroundBankIdx;
if (_globals->_eventType == EventType::etEventE) {
_globals->_var103 = 1;
- goto no_suiveur;
+ displayNoFollower(bank);
+ return;
}
_gameIcons[0].sx = 60;
perso_rects[PER_MESSENGER].left = 62;
}
if (_globals->_characterPtr == &kPersons[PER_THOO]) {
bank = 37;
- if (_globals->_curObjectId == Objects::obShell)
- goto no_suiveur;
+ if (_globals->_curObjectId == Objects::obShell) {
+ displayNoFollower(bank);
+ return;
+ }
}
ptab = kPersoRoomBankTable + _globals->_characterPtr->_roomBankId;
bank = *ptab++;
if (!(_globals->_characterPtr->_partyMask & _globals->_party)) {
while ((bank = *ptab++) != 0xFF) {
- if (bank == (_globals->_roomNum & 0xFF)) { //TODO: signed vs unsigned - chg r31 to uns?
+ if (bank == (_globals->_roomNum & 0xFF)) { //TODO: signed vs unsigned - chg bank to uns?
bank = *ptab;
break;
}
ptab++;
}
- if (bank != 0xFF)
- goto no_suiveur;
- ptab = kPersoRoomBankTable + _globals->_characterPtr->_roomBankId;
- bank = *ptab++;
+ if (bank == 0xFF) {
+ ptab = kPersoRoomBankTable + _globals->_characterPtr->_roomBankId;
+ bank = *ptab++;
+ }
}
displayBackgroundFollower();
-no_suiveur:
- ;
- if (bank) {
- useBank(bank);
- if (_globals->_characterPtr == &kPersons[PER_UNKN_156])
- noclipax_avecnoir(0, 0, 16);
- else
- noclipax(0, 0, 16);
- }
+ displayNoFollower(bank);
}
// Original name: af_fondperso