mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-01 08:23:15 +00:00
CHEWY: Revert Move ged_user_func room code into their Room classes
This reverts commit 7727b6ed38a10073698ac1edc8194ccc2e7f3532. I mistakenly equated index numbers with room numbers
This commit is contained in:
parent
a65bfeb8d3
commit
d3f734a00c
@ -172,16 +172,132 @@ void check_ged_action(int16 index) {
|
||||
}
|
||||
|
||||
int16 ged_user_func(int16 idx_nr) {
|
||||
#define GED_FUNC(NUM) case NUM: idx_nr = Room##NUM::gedUserFunc(idx_nr)
|
||||
switch (idx_nr) {
|
||||
GED_FUNC(40);
|
||||
GED_FUNC(41);
|
||||
GED_FUNC(42);
|
||||
case 40:
|
||||
switch (_G(spieler).PersonRoomNr[P_CHEWY]) {
|
||||
case 8:
|
||||
if (_G(spieler).R8GTuer)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 9:
|
||||
if (!_G(spieler).R9Gitter)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 16:
|
||||
if (!_G(spieler).R16F5Exit)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 17:
|
||||
if (_G(spieler).R17Location != 1)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 21:
|
||||
if (!_G(spieler).R21Laser2Weg)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 31:
|
||||
if (!_G(spieler).R31KlappeZu)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 41:
|
||||
if (!_G(spieler).R41LolaOk)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 52:
|
||||
if (!_G(spieler).R52LichtAn)
|
||||
idx_nr = 2;
|
||||
else
|
||||
idx_nr = 4;
|
||||
break;
|
||||
|
||||
case 71:
|
||||
if (!_G(spieler).flags28_2 || !_G(spieler).flags29_4)
|
||||
idx_nr = 0;
|
||||
else
|
||||
idx_nr = 4;
|
||||
break;
|
||||
|
||||
case 76:
|
||||
return idx_nr;
|
||||
|
||||
case 84:
|
||||
if (!_G(spieler).flags31_1)
|
||||
_G(spieler).flags31_4 = true;
|
||||
break;
|
||||
|
||||
case 86:
|
||||
if (!_G(spieler).flags32_2)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 94:
|
||||
if (!_G(spieler).flags35_10)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 97:
|
||||
if (!_G(spieler).flags35_80)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 41:
|
||||
switch (_G(spieler).PersonRoomNr[P_CHEWY]) {
|
||||
case 17:
|
||||
if (_G(spieler).R17Location != 2)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 21:
|
||||
if (!_G(spieler).R21Laser1Weg) {
|
||||
idx_nr = 0;
|
||||
} else
|
||||
idx_nr = 3;
|
||||
break;
|
||||
|
||||
case 37:
|
||||
if (!_G(spieler).R37Kloppe)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 52:
|
||||
if (!_G(spieler).R52TuerAuf)
|
||||
idx_nr = 2;
|
||||
else
|
||||
idx_nr = 4;
|
||||
break;
|
||||
|
||||
case 97:
|
||||
if (!_G(spieler).flags36_20)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case 42:
|
||||
if (_G(spieler).PersonRoomNr[P_CHEWY] == 97) {
|
||||
if (!_G(spieler).flags37_1)
|
||||
idx_nr = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
#undef GED_FUNC
|
||||
|
||||
return idx_nr;
|
||||
}
|
||||
|
@ -155,87 +155,6 @@ bool Room40::timer(int16 t_nr, int16 ani_nr) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int16 Room40::gedUserFunc(int16 idx_nr) {
|
||||
switch (_G(spieler).PersonRoomNr[P_CHEWY]) {
|
||||
case 8:
|
||||
if (_G(spieler).R8GTuer)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 9:
|
||||
if (!_G(spieler).R9Gitter)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 16:
|
||||
if (!_G(spieler).R16F5Exit)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 17:
|
||||
if (_G(spieler).R17Location != 1)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 21:
|
||||
if (!_G(spieler).R21Laser2Weg)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 31:
|
||||
if (!_G(spieler).R31KlappeZu)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 41:
|
||||
if (!_G(spieler).R41LolaOk)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 52:
|
||||
if (!_G(spieler).R52LichtAn)
|
||||
idx_nr = 2;
|
||||
else
|
||||
idx_nr = 4;
|
||||
break;
|
||||
|
||||
case 71:
|
||||
if (!_G(spieler).flags28_2 || !_G(spieler).flags29_4)
|
||||
idx_nr = 0;
|
||||
else
|
||||
idx_nr = 4;
|
||||
break;
|
||||
|
||||
case 76:
|
||||
return idx_nr;
|
||||
|
||||
case 84:
|
||||
if (!_G(spieler).flags31_1)
|
||||
_G(spieler).flags31_4 = true;
|
||||
break;
|
||||
|
||||
case 86:
|
||||
if (!_G(spieler).flags32_2)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 94:
|
||||
if (!_G(spieler).flags35_10)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 97:
|
||||
if (!_G(spieler).flags35_80)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return idx_nr;
|
||||
}
|
||||
|
||||
void Room40::move_train(int16 mode) {
|
||||
_G(spieler).R40TrainMove = false;
|
||||
hide_cur();
|
||||
|
@ -36,7 +36,6 @@ public:
|
||||
static void entry(int16 eib_nr);
|
||||
static void xit(int16 eib_nr);
|
||||
static bool timer(int16 t_nr, int16 ani_nr);
|
||||
static int16 gedUserFunc(int16 idx_nr);
|
||||
|
||||
static int16 use_mr_pumpkin();
|
||||
static void talk_police();
|
||||
|
@ -79,44 +79,6 @@ void Room41::xit() {
|
||||
_G(spieler).R41TrainCount--;
|
||||
}
|
||||
|
||||
int16 Room41::gedUserFunc(int16 idx_nr) {
|
||||
switch (_G(spieler).PersonRoomNr[P_CHEWY]) {
|
||||
case 17:
|
||||
if (_G(spieler).R17Location != 2)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 21:
|
||||
if (!_G(spieler).R21Laser1Weg) {
|
||||
idx_nr = 0;
|
||||
} else
|
||||
idx_nr = 3;
|
||||
break;
|
||||
|
||||
case 37:
|
||||
if (!_G(spieler).R37Kloppe)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
case 52:
|
||||
if (!_G(spieler).R52TuerAuf)
|
||||
idx_nr = 2;
|
||||
else
|
||||
idx_nr = 4;
|
||||
break;
|
||||
|
||||
case 97:
|
||||
if (!_G(spieler).flags36_20)
|
||||
idx_nr = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return idx_nr;
|
||||
}
|
||||
|
||||
void Room41::setup_func() {
|
||||
if (_G(spieler).PersonRoomNr[P_HOWARD] == 41) {
|
||||
calc_person_look();
|
||||
|
@ -35,8 +35,6 @@ private:
|
||||
public:
|
||||
static void entry();
|
||||
static void xit();
|
||||
static int16 gedUserFunc(int16 idx_nr);
|
||||
|
||||
static int16 use_brief();
|
||||
static int16 use_lola();
|
||||
static int16 use_kasse();
|
||||
|
@ -71,15 +71,6 @@ void Room42::xit() {
|
||||
}
|
||||
}
|
||||
|
||||
int16 Room42::gedUserFunc(int16 idx_nr) {
|
||||
if (_G(spieler).PersonRoomNr[P_CHEWY] == 97) {
|
||||
if (!_G(spieler).flags37_1)
|
||||
idx_nr = 0;
|
||||
}
|
||||
|
||||
return idx_nr;
|
||||
}
|
||||
|
||||
void Room42::setup_func() {
|
||||
if (!_G(spieler).R42HoToBeamter)
|
||||
calc_person_look();
|
||||
|
@ -33,13 +33,11 @@ private:
|
||||
public:
|
||||
static void entry();
|
||||
static void xit();
|
||||
static int16 gedUserFunc(int16 idx_nr);
|
||||
|
||||
static void talk_beamter();
|
||||
static int16 use_psack();
|
||||
static int16 use_beamter();
|
||||
static void dia_beamter(int16 str_end_nr);
|
||||
static void calc_xit();
|
||||
};
|
||||
|
||||
} // namespace Rooms
|
||||
|
Loading…
x
Reference in New Issue
Block a user