CHEWY: Review calls to set_steuer_bit, fix various issues in Room13 logic

This commit is contained in:
Strangerke
2022-03-03 18:36:25 -08:00
committed by Paul Gilbert
parent 5f9f51ed59
commit 153fe2c351
5 changed files with 26 additions and 28 deletions
+20 -22
View File
@@ -68,9 +68,15 @@ void Room13::entry() {
atds->set_ats_str(93, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATEI);
}
if (_G(spieler).R13Band) {
if (_G(spieler).R13Bandlauf) {
for (int i = 0; i < 5; ++i)
det->start_detail(i, 255, false);
}
if (!flags.LoadGame && _G(spieler).R13Band) {
_G(spieler).room_e_obj[25].Attribut = AUSGANG_OBEN;
atds->set_steuer_bit(100, 1, 1);
atds->set_steuer_bit(100, ATS_AKTIV_BIT, ATS_DATEI);
_G(spieler).R13Band = false;
}
if (_G(spieler).R21GitterMuell)
@@ -80,21 +86,14 @@ void Room13::entry() {
void Room13::xit() {
_G(spieler).room_e_obj[25].Attribut = AUSGANG_OBEN;
atds->set_steuer_bit(100, 1, 1);
atds->set_steuer_bit(100, ATS_AKTIV_BIT, ATS_DATEI);
_G(spieler).R13Band = false;
}
void Room13::gedAction(int index) {
switch (index) {
case 2:
if (_G(spieler).R12ChewyBork) {
stop_person(P_CHEWY);
talk_bork();
}
break;
default:
break;
if (index == 2 && _G(spieler).R12ChewyBork) {
stop_person(P_CHEWY);
talk_bork();
}
}
@@ -108,7 +107,7 @@ void Room13::talk_bork() {
_G(spieler).PersonHide[P_CHEWY] = true;
start_aad_wait(33, -1);
det->stop_detail(9);
det->load_taf_seq(86, (97 - 86) + 1, nullptr);
det->load_taf_seq(86, 12, nullptr);
_G(spieler).PersonHide[P_CHEWY] = false;
det->hide_static_spr(12);
_G(auto_obj) = 1;
@@ -120,7 +119,7 @@ void Room13::talk_bork() {
auto_mov_obj[R13_BORK_OBJ].Id = AUTO_OBJ0;
auto_mov_vector[R13_BORK_OBJ].Delay = _G(spieler).DelaySpeed;
auto_mov_obj[R13_BORK_OBJ].Mode = true;
init_auto_obj(R13_BORK_OBJ, &R13_BORK_PHASEN[0][0], mov_phasen[R13_BORK_OBJ].Lines, (const MovLine *)R13_BORK_MPKT);
init_auto_obj(R13_BORK_OBJ, &R13_BORK_PHASEN[0][0], 3, (const MovLine *)R13_BORK_MPKT);
auto_move(9, P_CHEWY);
wait_auto_obj(R13_BORK_OBJ);
auto_move(11, P_CHEWY);
@@ -177,7 +176,7 @@ void Room13::jmp_band() {
flags.NoScroll = false;
set_person_pos(195, 226, P_CHEWY, P_LEFT);
_G(spieler).R13Bandlauf = 0;
_G(spieler).R13Bandlauf = false;
atds->set_ats_str(94, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATEI);
atds->set_ats_str(97, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATEI);
atds->set_ats_str(93, TXT_MARK_LOOK, _G(spieler).R13Bandlauf, ATS_DATEI);
@@ -190,11 +189,10 @@ void Room13::jmp_band() {
_G(spieler).scrollx = 92;
_G(spieler).scrolly = 120;
_G(spieler).PersonHide[P_CHEWY] = true;
wait_show_screen(40);
wait_show_screen(20);
_G(spieler).PersonHide[P_CHEWY] = false;
}
} else
start_aad_wait(118, -1);
}
}
void Room13::jmp_boden() {
@@ -215,14 +213,14 @@ void Room13::jmp_boden() {
int16 Room13::monitor_knopf() {
int16 action_flag = false;
if (!_G(spieler).inv_cur) {
action_flag = true;
if (_G(spieler).R13Band) {
action_flag = true;
start_aad_wait(620, -1);
} else if (!_G(spieler).R12ChewyBork) {
action_flag = true;
auto_move(8, P_CHEWY);
_G(spieler).PersonHide[P_CHEWY] = true;
start_detail_wait(6, 1, ANI_VOR);
+2 -2
View File
@@ -121,7 +121,7 @@ void Room22::bork(int16 t_nr) {
bork_walk1();
} else {
if (!_G(spieler).R22ChewyPlatt) {
atds->set_steuer_bit(79, 1, 1);
atds->set_steuer_bit(79, ATS_AKTIV_BIT, ATS_DATEI);
_G(spieler).R22ChewyPlatt = true;
}
@@ -196,7 +196,7 @@ int16 Room22::malen() {
if (!_G(spieler).R22ChewyPlatt) {
_G(spieler).R22ChewyPlatt = true;
atds->set_steuer_bit(79, 1, 1);
atds->set_steuer_bit(79, ATS_AKTIV_BIT, ATS_DATEI);
}
}
+1 -1
View File
@@ -52,7 +52,7 @@ void Room29::entry() {
if (_G(spieler).R29AutoSitz) {
if (_G(spieler).ChewyAni == CHEWY_ROCKER)
atds->set_steuer_bit(212, 1, 1);
atds->set_steuer_bit(212, ATS_AKTIV_BIT, ATS_DATEI);
else
det->show_static_spr(9);
}
+1 -1
View File
@@ -60,7 +60,7 @@ void Room41::entry() {
}
if (_G(spieler).ChewyAni == CHEWY_ROCKER) {
atds->set_steuer_bit(269, 1, 1);
atds->set_steuer_bit(269, ATS_AKTIV_BIT, ATS_DATEI);
}
if (!flags.LoadGame)
+2 -2
View File
@@ -381,8 +381,8 @@ int16 Room55::use_kammeraus() {
_G(spieler).R55SekWeg = true;
atds->set_steuer_bit(352, ATS_AKTIV_BIT, ATS_DATEI);
del_inventar(_G(spieler).AkInvent);
atds->set_steuer_bit(345, 1, 1);
atds->set_steuer_bit(346, 1, 1);
atds->set_steuer_bit(345, ATS_AKTIV_BIT, ATS_DATEI);
atds->set_steuer_bit(346, ATS_AKTIV_BIT, ATS_DATEI);
strasse(1);
show_cur();
}