mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-15 06:08:35 +00:00
CHEWY: Move spz globals to Globals
This commit is contained in:
parent
546cb99e0b
commit
d9c6188922
@ -145,7 +145,7 @@ void MainMenu::animate() {
|
||||
if (ani_timer->TimeFlag) {
|
||||
uhr->reset_timer(0, 0);
|
||||
_G(spieler).DelaySpeed = _G(FrameSpeed) / _G(spieler).FramesPerSecond;
|
||||
spieler_vector->Delay = _G(spieler).DelaySpeed + spz_delay[0];
|
||||
spieler_vector->Delay = _G(spieler).DelaySpeed + _G(spz_delay)[0];
|
||||
_G(FrameSpeed) = 0;
|
||||
det->set_global_delay(_G(spieler).DelaySpeed);
|
||||
}
|
||||
@ -279,11 +279,11 @@ void MainMenu::playGame() {
|
||||
|
||||
void MainMenu::savePersonAni() {
|
||||
for (int i = 0; i < MAX_PERSON; ++i) {
|
||||
_personAni[i] = PersonAni[i];
|
||||
PersonAni[i] = -1;
|
||||
_personAni[i] = _G(PersonAni)[i];
|
||||
_G(PersonAni)[i] = -1;
|
||||
|
||||
delete PersonTaf[i];
|
||||
PersonTaf[i] = nullptr;
|
||||
delete _G(PersonTaf)[i];
|
||||
_G(PersonTaf)[i] = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -114,25 +114,5 @@ Atdsys *atds;
|
||||
Flic *flc;
|
||||
MovClass *mov;
|
||||
|
||||
AutoMov auto_mov[MAX_AUTO_MOV];
|
||||
|
||||
int16 HowardMov;
|
||||
|
||||
taf_seq_info *spz_tinfo;
|
||||
int16 SpzDelay;
|
||||
int16 spz_spr_nr[MAX_SPZ_PHASEN];
|
||||
int16 spz_start;
|
||||
int16 spz_akt_id;
|
||||
|
||||
int16 spz_p_nr;
|
||||
int16 spz_delay[MAX_PERSON];
|
||||
int16 spz_count;
|
||||
int16 spz_ani[MAX_PERSON];
|
||||
|
||||
int16 AkChewyTaf;
|
||||
|
||||
int16 PersonAni[MAX_PERSON];
|
||||
taf_seq_info *PersonTaf[MAX_PERSON];
|
||||
uint8 PersonSpr[MAX_PERSON][8];
|
||||
|
||||
} // namespace Chewy
|
||||
|
@ -188,6 +188,25 @@ public:
|
||||
int16 _EndOfPool = 0;
|
||||
int _timer_action_ctr = 0;
|
||||
|
||||
AutoMov _auto_mov[MAX_AUTO_MOV];
|
||||
int16 _HowardMov = 0;
|
||||
|
||||
taf_seq_info *_spz_tinfo = nullptr;
|
||||
int16 _SpzDelay = 0;
|
||||
int16 _spz_spr_nr[MAX_SPZ_PHASEN] = { 0 };
|
||||
int16 _spz_start = 0;
|
||||
int16 _spz_akt_id = 0;
|
||||
|
||||
int16 _spz_p_nr = 0;
|
||||
int16 _spz_delay[MAX_PERSON] = { 0 };
|
||||
int16 _spz_count = 0;
|
||||
int16 _spz_ani[MAX_PERSON] = { 0 };
|
||||
|
||||
int16 _AkChewyTaf = 0;
|
||||
int16 _PersonAni[MAX_PERSON] = { 0 };
|
||||
taf_seq_info *_PersonTaf[MAX_PERSON] = { nullptr };
|
||||
uint8 _PersonSpr[MAX_PERSON][8] = { 0 };
|
||||
|
||||
// main.cpp
|
||||
int16 _menu_flag = 0;
|
||||
bool _inv_disp_ok = 0;
|
||||
@ -299,24 +318,6 @@ extern Atdsys *atds;
|
||||
extern Flic *flc;
|
||||
extern MovClass *mov;
|
||||
|
||||
extern AutoMov auto_mov[MAX_AUTO_MOV];
|
||||
extern int16 HowardMov;
|
||||
extern int16 AkChewyTaf;
|
||||
|
||||
extern int16 PersonAni[MAX_PERSON];
|
||||
extern taf_seq_info *PersonTaf[MAX_PERSON];
|
||||
extern uint8 PersonSpr[MAX_PERSON][8];
|
||||
|
||||
extern int16 SpzDelay;
|
||||
extern taf_seq_info *spz_tinfo;
|
||||
extern int16 spz_spr_nr[MAX_SPZ_PHASEN];
|
||||
extern int16 spz_start;
|
||||
extern int16 spz_akt_id;
|
||||
|
||||
extern int16 spz_count;
|
||||
extern int16 spz_delay[MAX_PERSON];
|
||||
extern int16 spz_p_nr;
|
||||
extern int16 spz_ani[MAX_PERSON];
|
||||
|
||||
void cursor_wahl(int16 nr);
|
||||
|
||||
|
@ -151,12 +151,12 @@ void var_init() {
|
||||
spieler_mi[P_NICHELLE].Mode = true;
|
||||
|
||||
for (int16 i = 0; i < MAX_PERSON; i++) {
|
||||
PersonAni[i] = -1;
|
||||
PersonTaf[i] = 0;
|
||||
_G(PersonAni)[i] = -1;
|
||||
_G(PersonTaf)[i] = 0;
|
||||
spieler_mi[i].Mode = false;
|
||||
|
||||
ani_stand_flag[i] = false;
|
||||
spz_delay[i] = 0;
|
||||
_G(spz_delay)[i] = 0;
|
||||
_G(spieler).PersonRoomNr[i] = -1;
|
||||
_G(spieler).PersonDia[i] = -1;
|
||||
}
|
||||
@ -275,7 +275,7 @@ void new_game() {
|
||||
for (int16 i = 0; i < obj->spieler_invnr[0]; i++)
|
||||
_G(spieler).InventSlot[i] = obj->spieler_invnr[i + 1];
|
||||
|
||||
AkChewyTaf = 0;
|
||||
_G(AkChewyTaf) = 0;
|
||||
load_chewy_taf(CHEWY_NORMAL);
|
||||
}
|
||||
|
||||
@ -304,11 +304,11 @@ static void font_load() {
|
||||
}
|
||||
|
||||
void init_load() {
|
||||
AkChewyTaf = 0;
|
||||
_G(AkChewyTaf) = 0;
|
||||
load_chewy_taf(CHEWY_NORMAL);
|
||||
|
||||
spz_akt_id = -1;
|
||||
spz_tinfo = nullptr;
|
||||
_G(spz_akt_id) = -1;
|
||||
_G(spz_tinfo) = nullptr;
|
||||
set_spz_delay(3);
|
||||
|
||||
menutaf = _G(mem)->taf_adr(MENUTAF);
|
||||
|
@ -81,8 +81,8 @@ void alloc_buffers() {
|
||||
void free_buffers() {
|
||||
det->del_dptr();
|
||||
for (int16 i = 0; i < MAX_PERSON; i++)
|
||||
free((char *)PersonTaf[i]);
|
||||
free((char *)spz_tinfo);
|
||||
free((char *)_G(PersonTaf)[i]);
|
||||
free((char *)_G(spz_tinfo));
|
||||
free(_G(font6x8));
|
||||
free(_G(font8x8));
|
||||
free(_G(spblende));
|
||||
@ -533,7 +533,7 @@ void set_up_screen(SetupScreenMode mode) {
|
||||
if (ani_timer[0].TimeFlag) {
|
||||
uhr->reset_timer(0, 0);
|
||||
_G(spieler).DelaySpeed = _G(FrameSpeed) / _G(spieler).FramesPerSecond;
|
||||
spieler_vector[P_CHEWY].Delay = _G(spieler).DelaySpeed + spz_delay[P_CHEWY];
|
||||
spieler_vector[P_CHEWY].Delay = _G(spieler).DelaySpeed + _G(spz_delay)[P_CHEWY];
|
||||
_G(FrameSpeed) = 0;
|
||||
det->set_global_delay(_G(spieler).DelaySpeed);
|
||||
}
|
||||
@ -1523,7 +1523,7 @@ int16 is_mouse_person(int16 x, int16 y) {
|
||||
check = false;
|
||||
else {
|
||||
check = true;;
|
||||
if (!spz_ani[i]) {
|
||||
if (!_G(spz_ani)[i]) {
|
||||
switch (i) {
|
||||
case P_CHEWY:
|
||||
xy = (int16
|
||||
@ -1535,12 +1535,12 @@ int16 is_mouse_person(int16 x, int16 y) {
|
||||
if (_G(spieler).PersonRoomNr[i] !=
|
||||
_G(spieler).PersonRoomNr[P_CHEWY])
|
||||
check = false;
|
||||
xy = (int16 *)PersonTaf[i]->image[PersonSpr[i][spieler_vector[i].PhNr]];
|
||||
xy = (int16 *)_G(PersonTaf)[i]->image[_G(PersonSpr)[i][spieler_vector[i].PhNr]];
|
||||
break;
|
||||
|
||||
}
|
||||
} else
|
||||
xy = (int16 *)spz_tinfo->image[spz_spr_nr[spieler_vector[i].PhNr]];
|
||||
xy = (int16 *)_G(spz_tinfo)->image[_G(spz_spr_nr)[spieler_vector[i].PhNr]];
|
||||
if (check) {
|
||||
if (x + _G(spieler).scrollx >= spieler_vector[i].Xypos[0] &&
|
||||
x + _G(spieler).scrollx <= spieler_vector[i].Xypos[0] + xy[0] + spieler_vector[i].Xzoom &&
|
||||
@ -2032,7 +2032,7 @@ int16 is_chewy_busy() {
|
||||
if (!mov->auto_go_status()) {
|
||||
if (!spieler_vector[P_CHEWY].Count) {
|
||||
if (!flags.ExitMov) {
|
||||
if (!spz_ani[P_CHEWY]) {
|
||||
if (!_G(spz_ani)[P_CHEWY]) {
|
||||
ret = false;
|
||||
}
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ void check_ged_action(int16 index) {
|
||||
case 45:
|
||||
case 46:
|
||||
if (!index && flags.ExitMov)
|
||||
HowardMov = 1;
|
||||
_G(HowardMov) = 1;
|
||||
break;
|
||||
|
||||
GED_ACTION(49);
|
||||
@ -328,7 +328,7 @@ void enter_room(int16 eib_nr) {
|
||||
uhr->reset_timer(0, 0);
|
||||
flags.AutoAniPlay = false;
|
||||
_G(SetUpScreenFunc) = nullptr;
|
||||
HowardMov = 0;
|
||||
_G(HowardMov) = 0;
|
||||
_G(cur_hide_flag) = false;
|
||||
|
||||
#define ENTRY(NUM) case NUM: Room##NUM::entry(); break
|
||||
@ -672,20 +672,20 @@ void exit_room(int16 eib_nr) {
|
||||
case 84:
|
||||
x = spieler_vector[P_CHEWY].Xypos[0] - 70;
|
||||
y = spieler_vector[P_CHEWY].Xypos[1] - 50;
|
||||
HowardMov = 1;
|
||||
_G(HowardMov) = 1;
|
||||
break;
|
||||
|
||||
case 85:
|
||||
x = spieler_vector[P_CHEWY].Xypos[0] + 70;
|
||||
y = spieler_vector[P_CHEWY].Xypos[1];
|
||||
HowardMov = 1;
|
||||
_G(HowardMov) = 1;
|
||||
break;
|
||||
|
||||
case 86:
|
||||
det->show_static_spr(0);
|
||||
x = spieler_vector[P_CHEWY].Xypos[0] - 44;
|
||||
y = spieler_vector[P_CHEWY].Xypos[1];
|
||||
HowardMov = 2;
|
||||
_G(HowardMov) = 2;
|
||||
break;
|
||||
|
||||
case 90:
|
||||
|
@ -501,7 +501,7 @@ void Room::set_ablage_info(int16 ablagenr, int16 bildnr, uint32 pic_size) {
|
||||
}
|
||||
|
||||
void load_chewy_taf(int16 taf_nr) {
|
||||
if (AkChewyTaf != taf_nr) {
|
||||
if (_G(AkChewyTaf) != taf_nr) {
|
||||
if (chewy) {
|
||||
free((char *)chewy);
|
||||
chewy = nullptr;
|
||||
@ -560,7 +560,7 @@ void load_chewy_taf(int16 taf_nr) {
|
||||
}
|
||||
if (fname_ != NULL) {
|
||||
_G(spieler).ChewyAni = taf_nr;
|
||||
AkChewyTaf = taf_nr;
|
||||
_G(AkChewyTaf) = taf_nr;
|
||||
chewy = _G(mem)->taf_adr(fname_);
|
||||
chewy_kor = chewy->korrektur;
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ void Room45::setup_func() {
|
||||
--_G(r45_delay);
|
||||
}
|
||||
|
||||
if (_G(spieler).PersonRoomNr[P_HOWARD] == 45 && HowardMov != 2) {
|
||||
if (_G(spieler).PersonRoomNr[P_HOWARD] == 45 && _G(HowardMov) != 2) {
|
||||
calc_person_look();
|
||||
const int16 ch_x = spieler_vector[P_CHEWY].Xypos[0];
|
||||
|
||||
@ -155,7 +155,7 @@ void Room45::setup_func() {
|
||||
|
||||
y = 130;
|
||||
|
||||
if (HowardMov && flags.ExitMov) {
|
||||
if (_G(HowardMov) && flags.ExitMov) {
|
||||
x = 56;
|
||||
y = 122;
|
||||
}
|
||||
@ -209,7 +209,7 @@ void Room45::talk_taxi(int16 aad_nr) {
|
||||
}
|
||||
|
||||
void Room45::taxi_mov() {
|
||||
HowardMov = 2;
|
||||
_G(HowardMov) = 2;
|
||||
room->set_timer_status(12, TIMER_STOP);
|
||||
det->del_static_ani(12);
|
||||
g_engine->_sound->playSound(15, 1);
|
||||
|
@ -88,7 +88,7 @@ void Room46::setup_func() {
|
||||
x = 120;
|
||||
}
|
||||
|
||||
if (HowardMov && flags.ExitMov) {
|
||||
if (_G(HowardMov) && flags.ExitMov) {
|
||||
x = 160;
|
||||
y = 200;
|
||||
}
|
||||
|
@ -268,9 +268,9 @@ void Room50::setup_func() {
|
||||
y = 115;
|
||||
}
|
||||
|
||||
if (HowardMov && flags.ExitMov) {
|
||||
if (_G(HowardMov) && flags.ExitMov) {
|
||||
_G(SetUpScreenFunc) = nullptr;
|
||||
HowardMov = 0;
|
||||
_G(HowardMov) = 0;
|
||||
auto_move(4, P_HOWARD);
|
||||
} else {
|
||||
go_auto_xy(x, y, P_HOWARD, ANI_GO);
|
||||
|
@ -195,9 +195,9 @@ void Room51::setup_func() {
|
||||
y = 118;
|
||||
}
|
||||
|
||||
if (HowardMov && flags.ExitMov) {
|
||||
if (_G(HowardMov) && flags.ExitMov) {
|
||||
_G(SetUpScreenFunc) = nullptr;
|
||||
HowardMov = 0;
|
||||
_G(HowardMov) = 0;
|
||||
auto_move(9, P_HOWARD);
|
||||
} else {
|
||||
go_auto_xy(x, y, P_HOWARD, ANI_GO);
|
||||
|
@ -142,7 +142,7 @@ void Room85::setup_func() {
|
||||
nicDestX = 128;
|
||||
}
|
||||
|
||||
if (HowardMov == 1) {
|
||||
if (_G(HowardMov) == 1) {
|
||||
howDestX = 98;
|
||||
nicDestX = 128;
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ void Room87::setup_func() {
|
||||
nicDestY = 110;
|
||||
}
|
||||
|
||||
if (HowardMov == 1) {
|
||||
if (_G(HowardMov) == 1) {
|
||||
howDestX = 11;
|
||||
howDestY = 70;
|
||||
nicDestX = -3;
|
||||
@ -90,7 +90,7 @@ void Room87::xit(int16 eib_nr) {
|
||||
spieler_mi[P_CHEWY].Mode = true;
|
||||
_G(zoom_horizont) = 0;
|
||||
room->set_zoom(25);
|
||||
HowardMov = 1;
|
||||
_G(HowardMov) = 1;
|
||||
flags.ZoomMov = true;
|
||||
_G(zoom_mov_fak) = 2;
|
||||
go_auto_xy(20, 56, P_CHEWY, ANI_WAIT);
|
||||
|
@ -62,7 +62,7 @@ void Room90::entry(int16 eib_nr) {
|
||||
}
|
||||
|
||||
hide_cur();
|
||||
HowardMov = 1;
|
||||
_G(HowardMov) = 1;
|
||||
|
||||
if (_G(spieler).flags34_40 && !_G(spieler).flags33_40) {
|
||||
det->set_detail_pos(12, 329, 15);
|
||||
@ -100,7 +100,7 @@ void Room90::entry(int16 eib_nr) {
|
||||
start_aad_wait(520, -1);
|
||||
}
|
||||
|
||||
HowardMov = 0;
|
||||
_G(HowardMov) = 0;
|
||||
show_cur();
|
||||
}
|
||||
|
||||
@ -158,7 +158,7 @@ void Room90::setup_func() {
|
||||
}
|
||||
}
|
||||
|
||||
if (_G(spieler).PersonRoomNr[P_HOWARD] != 90 || HowardMov == 1)
|
||||
if (_G(spieler).PersonRoomNr[P_HOWARD] != 90 || _G(HowardMov) == 1)
|
||||
return;
|
||||
|
||||
calc_person_look();
|
||||
@ -174,7 +174,7 @@ void Room90::setup_func() {
|
||||
else
|
||||
destX = 18;
|
||||
|
||||
if (HowardMov == 2)
|
||||
if (_G(HowardMov) == 2)
|
||||
destX = 18;
|
||||
|
||||
go_auto_xy(destX, 132, P_HOWARD, ANI_GO);
|
||||
@ -285,7 +285,7 @@ int Room90::shootControlUnit() {
|
||||
|
||||
hide_cur();
|
||||
del_inventar(_G(spieler).AkInvent);
|
||||
HowardMov = 2;
|
||||
_G(HowardMov) = 2;
|
||||
flags.ZoomMov = false;
|
||||
auto_move(5, P_CHEWY);
|
||||
spieler_mi[P_CHEWY].Mode = true;
|
||||
@ -306,7 +306,7 @@ int Room90::shootControlUnit() {
|
||||
_G(fx_blend) = BLEND3;
|
||||
spieler_mi[P_CHEWY].Mode = false;
|
||||
flags.NoScroll = false;
|
||||
HowardMov = 0;
|
||||
_G(HowardMov) = 0;
|
||||
_G(spieler).flags33_40 = true;
|
||||
det->stop_detail(12);
|
||||
atds->set_steuer_bit(519, ATS_AKTIV_BIT, ATS_DATEI);
|
||||
|
@ -79,7 +79,7 @@ void Room95::setup_func() {
|
||||
else
|
||||
destX = 536;
|
||||
|
||||
if (HowardMov == 1) {
|
||||
if (_G(HowardMov) == 1) {
|
||||
destX = 473;
|
||||
destY = 83;
|
||||
}
|
||||
|
@ -65,7 +65,7 @@ void Room96::setup_func() {
|
||||
else
|
||||
destX = 93;
|
||||
|
||||
if (HowardMov == 1) {
|
||||
if (_G(HowardMov) == 1) {
|
||||
destX = 49;
|
||||
destY = 60;
|
||||
}
|
||||
|
@ -231,7 +231,7 @@ void Room97::setup_func() {
|
||||
destY = 112;
|
||||
}
|
||||
|
||||
if (HowardMov != 1)
|
||||
if (_G(HowardMov) != 1)
|
||||
go_auto_xy(destX, destY, P_HOWARD, ANI_GO);
|
||||
}
|
||||
|
||||
@ -298,7 +298,7 @@ void Room97::proc3() {
|
||||
go_auto_xy(588, 129, P_CHEWY, ANI_WAIT);
|
||||
} else {
|
||||
_G(spieler).flags36_1 = true;
|
||||
HowardMov = 1;
|
||||
_G(HowardMov) = 1;
|
||||
go_auto_xy(572, 139, P_CHEWY, ANI_WAIT);
|
||||
Sdi[6].z_ebene = 6;
|
||||
Sdi[24].z_ebene = 6;
|
||||
@ -348,7 +348,7 @@ void Room97::proc4() {
|
||||
}
|
||||
|
||||
det->show_static_spr(2);
|
||||
HowardMov = 1;
|
||||
_G(HowardMov) = 1;
|
||||
|
||||
go_auto_xy(967, 111, P_CHEWY, ANI_WAIT);
|
||||
go_auto_xy(1008, 93, P_CHEWY, ANI_WAIT);
|
||||
@ -370,7 +370,7 @@ void Room97::proc4() {
|
||||
spieler_mi[P_CHEWY].Mode = false;
|
||||
start_spz(CH_TALK5, 255, false, P_CHEWY);
|
||||
start_aad_wait(553, -1);
|
||||
HowardMov = 0;
|
||||
_G(HowardMov) = 0;
|
||||
show_cur();
|
||||
}
|
||||
|
||||
|
@ -158,7 +158,7 @@ void sprite_engine() {
|
||||
|
||||
case ZOBJ_CHEWY:
|
||||
if (!_G(spieler).PersonHide[P_CHEWY]) {
|
||||
if (!spz_ani[P_CHEWY]) {
|
||||
if (!_G(spz_ani)[P_CHEWY]) {
|
||||
spr_nr = _G(chewy_ph)[spieler_vector[P_CHEWY].Phase * 8 + spieler_vector[P_CHEWY].PhNr];
|
||||
x = spieler_mi[P_CHEWY].XyzStart[0] + chewy_kor[spr_nr * 2] - _G(spieler).scrollx;
|
||||
y = spieler_mi[P_CHEWY].XyzStart[1] + chewy_kor[spr_nr * 2 + 1] - _G(spieler).scrolly;
|
||||
@ -170,17 +170,17 @@ void sprite_engine() {
|
||||
spieler_vector[P_CHEWY].Yzoom,
|
||||
_G(scr_width));
|
||||
} else {
|
||||
spr_nr = spz_spr_nr[spieler_vector[P_CHEWY].PhNr];
|
||||
x = spieler_mi[P_CHEWY].XyzStart[0] + spz_tinfo->korrektur[spr_nr * 2] -
|
||||
spr_nr = _G(spz_spr_nr)[spieler_vector[P_CHEWY].PhNr];
|
||||
x = spieler_mi[P_CHEWY].XyzStart[0] + _G(spz_tinfo)->korrektur[spr_nr * 2] -
|
||||
_G(spieler).scrollx;
|
||||
y = spieler_mi[P_CHEWY].XyzStart[1] + spz_tinfo->korrektur[spr_nr * 2 + 1] -
|
||||
y = spieler_mi[P_CHEWY].XyzStart[1] + _G(spz_tinfo)->korrektur[spr_nr * 2 + 1] -
|
||||
_G(spieler).scrolly;
|
||||
calc_zoom(spieler_mi[P_CHEWY].XyzStart[1],
|
||||
(int16)room->_roomInfo->ZoomFak,
|
||||
(int16)room->_roomInfo->ZoomFak,
|
||||
&spieler_vector[P_CHEWY]);
|
||||
|
||||
_G(out)->scale_set(spz_tinfo->image[spr_nr], x, y,
|
||||
_G(out)->scale_set(_G(spz_tinfo)->image[spr_nr], x, y,
|
||||
spieler_vector[P_CHEWY].Xzoom,
|
||||
spieler_vector[P_CHEWY].Yzoom,
|
||||
_G(scr_width));
|
||||
@ -192,12 +192,12 @@ void sprite_engine() {
|
||||
case ZOBJ_NICHELLE:
|
||||
p_nr = _G(z_obj_sort)[min_zeiger].ObjArt - 6;
|
||||
if (!_G(spieler).PersonHide[p_nr]) {
|
||||
if (!spz_ani[p_nr]) {
|
||||
ts_info = PersonTaf[p_nr];
|
||||
spr_nr = PersonSpr[p_nr][spieler_vector[p_nr].PhNr];
|
||||
if (!_G(spz_ani)[p_nr]) {
|
||||
ts_info = _G(PersonTaf)[p_nr];
|
||||
spr_nr = _G(PersonSpr)[p_nr][spieler_vector[p_nr].PhNr];
|
||||
} else {
|
||||
ts_info = spz_tinfo;
|
||||
spr_nr = spz_spr_nr[spieler_vector[p_nr].PhNr];
|
||||
ts_info = _G(spz_tinfo);
|
||||
spr_nr = _G(spz_spr_nr)[spieler_vector[p_nr].PhNr];
|
||||
}
|
||||
|
||||
x = spieler_mi[p_nr].XyzStart[0] +
|
||||
@ -917,21 +917,21 @@ void mov_objekt(ObjMov *om, MovInfo *mi) {
|
||||
} else {
|
||||
switch (mi->Id) {
|
||||
case CHEWY_OBJ:
|
||||
if (!spz_ani[P_CHEWY])
|
||||
if (!_G(spz_ani)[P_CHEWY])
|
||||
calc_person_end_ani(om, P_CHEWY);
|
||||
else
|
||||
calc_person_spz_ani(om);
|
||||
break;
|
||||
|
||||
case HOWARD_OBJ:
|
||||
if (!spz_ani[P_HOWARD])
|
||||
if (!_G(spz_ani)[P_HOWARD])
|
||||
calc_person_end_ani(om, P_HOWARD);
|
||||
else
|
||||
calc_person_spz_ani(om);
|
||||
break;
|
||||
|
||||
case NICHELLE_OBJ:
|
||||
if (!spz_ani[P_NICHELLE])
|
||||
if (!_G(spz_ani)[P_NICHELLE])
|
||||
calc_person_end_ani(om, P_NICHELLE);
|
||||
else
|
||||
calc_person_spz_ani(om);
|
||||
@ -1060,7 +1060,7 @@ void zoom_mov_anpass(ObjMov *om, MovInfo *mi) {
|
||||
|
||||
void start_spz_wait(int16 ani_id, int16 count, bool reverse, int16 p_nr) {
|
||||
if (start_spz(ani_id, count, reverse, p_nr)) {
|
||||
while (spz_count && !SHOULD_QUIT)
|
||||
while (_G(spz_count) && !SHOULD_QUIT)
|
||||
set_up_screen(DO_SETUP);
|
||||
}
|
||||
}
|
||||
@ -1073,8 +1073,8 @@ bool start_spz(int16 ani_id, int16 count, bool reverse, int16 p_nr) {
|
||||
bool ret = false;
|
||||
if (!flags.SpzAni) {
|
||||
flags.SpzAni = true;
|
||||
spz_ani[p_nr] = true;
|
||||
spz_p_nr = p_nr;
|
||||
_G(spz_ani)[p_nr] = true;
|
||||
_G(spz_p_nr) = p_nr;
|
||||
spr_start = SPZ_ANI_PH[ani_id][0];
|
||||
spr_anz = SPZ_ANI_PH[ani_id][1];
|
||||
if (person_end_phase[p_nr] == P_RIGHT) {
|
||||
@ -1082,28 +1082,28 @@ bool start_spz(int16 ani_id, int16 count, bool reverse, int16 p_nr) {
|
||||
spr_start += CH_SPZ_OFFSET;
|
||||
}
|
||||
|
||||
if (ani_id != spz_akt_id) {
|
||||
if (spz_tinfo)
|
||||
free((char *)spz_tinfo);
|
||||
spz_akt_id = ani_id;
|
||||
spz_tinfo = _G(mem)->taf_seq_adr(spr_start, spr_anz);
|
||||
if (ani_id != _G(spz_akt_id)) {
|
||||
if (_G(spz_tinfo))
|
||||
free((char *)_G(spz_tinfo));
|
||||
_G(spz_akt_id) = ani_id;
|
||||
_G(spz_tinfo) = _G(mem)->taf_seq_adr(spr_start, spr_anz);
|
||||
}
|
||||
|
||||
for (i = 0; i < spr_anz; i++) {
|
||||
if (!reverse)
|
||||
spz_spr_nr[i] = i;
|
||||
_G(spz_spr_nr)[i] = i;
|
||||
else
|
||||
spz_spr_nr[i] = spr_anz - i - 1;
|
||||
_G(spz_spr_nr)[i] = spr_anz - i - 1;
|
||||
}
|
||||
|
||||
spz_start = spr_start;
|
||||
spz_delay[p_nr] = SpzDelay;
|
||||
_G(spz_start) = spr_start;
|
||||
_G(spz_delay)[p_nr] = _G(SpzDelay);
|
||||
spieler_vector[p_nr].Count = 0;
|
||||
spieler_vector[p_nr].PhNr = 0;
|
||||
spieler_vector[p_nr].PhAnz = spr_anz;
|
||||
spieler_vector[p_nr].Delay = _G(spieler).DelaySpeed + spz_delay[p_nr];
|
||||
spieler_vector[p_nr].Delay = _G(spieler).DelaySpeed + _G(spz_delay)[p_nr];
|
||||
spieler_vector[p_nr].DelayCount = 0;
|
||||
spz_count = count;
|
||||
_G(spz_count) = count;
|
||||
flags.MausLinks = true;
|
||||
ret = true;
|
||||
}
|
||||
@ -1114,12 +1114,12 @@ void calc_person_spz_ani(ObjMov *om) {
|
||||
if (om->PhNr < om->PhAnz - 1)
|
||||
++om->PhNr;
|
||||
else {
|
||||
--spz_count;
|
||||
if (spz_count > 0) {
|
||||
--_G(spz_count);
|
||||
if (_G(spz_count) > 0) {
|
||||
om->PhNr = 0;
|
||||
om->Delay = _G(spieler).DelaySpeed + spz_delay[spz_p_nr];
|
||||
om->Delay = _G(spieler).DelaySpeed + _G(spz_delay)[_G(spz_p_nr)];
|
||||
} else {
|
||||
if (spz_count != 255)
|
||||
if (_G(spz_count) != 255)
|
||||
stop_spz();
|
||||
}
|
||||
}
|
||||
@ -1129,28 +1129,28 @@ void stop_spz() {
|
||||
if (flags.SpzAni) {
|
||||
flags.SpzAni = false;
|
||||
flags.MausLinks = false;
|
||||
spz_ani[spz_p_nr] = false;
|
||||
spieler_vector[spz_p_nr].Count = 0;
|
||||
spieler_vector[spz_p_nr].PhNr = 0;
|
||||
set_person_spr(person_end_phase[spz_p_nr], spz_p_nr);
|
||||
spz_delay[spz_p_nr] = 0;
|
||||
_G(spz_ani)[_G(spz_p_nr)] = false;
|
||||
spieler_vector[_G(spz_p_nr)].Count = 0;
|
||||
spieler_vector[_G(spz_p_nr)].PhNr = 0;
|
||||
set_person_spr(person_end_phase[_G(spz_p_nr)], _G(spz_p_nr));
|
||||
_G(spz_delay)[_G(spz_p_nr)] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void set_spz_delay(int16 delay) {
|
||||
SpzDelay = delay;
|
||||
_G(SpzDelay) = delay;
|
||||
}
|
||||
|
||||
void load_person_ani(int16 ani_id, int16 p_nr) {
|
||||
int16 ani_start;
|
||||
short ani_anz;
|
||||
if (PersonAni[p_nr] != ani_id) {
|
||||
if (_G(PersonAni)[p_nr] != ani_id) {
|
||||
ani_start = SPZ_ANI_PH[ani_id][0];
|
||||
ani_anz = SPZ_ANI_PH[ani_id][1];
|
||||
PersonAni[p_nr] = ani_id;
|
||||
if (PersonTaf[p_nr])
|
||||
free((char *)PersonTaf[p_nr]);
|
||||
PersonTaf[p_nr] = _G(mem)->taf_seq_adr(ani_start, ani_anz);
|
||||
_G(PersonAni)[p_nr] = ani_id;
|
||||
if (_G(PersonTaf)[p_nr])
|
||||
free((char *)_G(PersonTaf)[p_nr]);
|
||||
_G(PersonTaf)[p_nr] = _G(mem)->taf_seq_adr(ani_start, ani_anz);
|
||||
spieler_vector[p_nr].PhNr = 0;
|
||||
spieler_vector[p_nr].PhAnz = ani_anz;
|
||||
}
|
||||
@ -1173,17 +1173,17 @@ void calc_person_ani() {
|
||||
|
||||
case P_HOWARD:
|
||||
case P_NICHELLE:
|
||||
if (!spz_ani[p_nr]) {
|
||||
if (!_G(spz_ani)[p_nr]) {
|
||||
for (i = 0; i < 8; i++)
|
||||
PersonSpr[p_nr][i] = i;
|
||||
_G(PersonSpr)[p_nr][i] = i;
|
||||
|
||||
if (!spieler_vector[p_nr].Count &&
|
||||
_G(auto_p_nr) != p_nr) {
|
||||
ani_nr = (int16)p_ani[p_nr - 1][4] + (person_end_phase[p_nr] * 4);
|
||||
|
||||
spieler_vector[p_nr].PhAnz = 5;
|
||||
PersonSpr[p_nr][3] = 1;
|
||||
PersonSpr[p_nr][4] = 0;
|
||||
_G(PersonSpr)[p_nr][3] = 1;
|
||||
_G(PersonSpr)[p_nr][4] = 0;
|
||||
} else {
|
||||
switch (spieler_vector[p_nr].Phase) {
|
||||
case CH_LEFT_NO:
|
||||
|
Loading…
Reference in New Issue
Block a user