Files
2025-09-19 15:06:44 -04:00

112 lines
3.3 KiB
C++

#ifndef D_A_COMING2_H
#define D_A_COMING2_H
#include "f_op/f_op_actor.h"
#include "d/actor/d_a_obj_barrel2.h"
#include "d/d_com_inf_game.h"
namespace daComing2 {
static f32 get_speed(fopAc_ac_c*);
static void* position_is_safety_call_back(void*, void*);
static BOOL position_is_none_obj(cXyz*);
static BOOL checkLineCrossXZ(cXyz*, cXyz*, cXyz*, cXyz*);
extern s32 coming_make_item_no_table[];
class _barrel_info_ {
public:
/* 0x00 */ fpc_ProcID unk_00;
/* 0x04 */ s16 unk_04;
/* 0x06 */ u8 unk_06;
/* 0x08 */ cXyz unk_08;
}; // size = 0x14
struct _start_stat_ {
/* 0x00 */ s16 unk_00;
}; // size = 0x2?
class Act_c : public fopAc_ac_c {
class _start_buoy_ {
public:
/* 0x00 */ fpc_ProcID unk_00;
/* 0x04 */ cXyz unk_04;
}; // size = 0x10
public:
virtual ~Act_c() {}
s32 get_coming_point() {
return dComIfGs_getEventReg(dSv_event_flag_c::UNK_7EFF);
}
void init_coming_point() {}
void minus_coming_point1() {
s32 evnt = dComIfGs_getEventReg(dSv_event_flag_c::UNK_7EFF);
u8 evnt2 = (evnt - 1 < 0) ? 0 : evnt - 1;
dComIfGs_setEventReg(dSv_event_flag_c::UNK_7EFF, evnt2);
}
void minus_coming_point2() {
minus_coming_point1();
minus_coming_point1();
}
void pluss_coming_point1() {}
void chase_ship();
void renew_scope_info();
BOOL no_ship_obstacle(cXyz*);
BOOL check_in_large_sea(const cXyz*);
BOOL get_water_height(float*, const cXyz*);
void init_barrelN_info(int);
void init_barrel_info();
void init_flag_info();
void init_coming_info();
BOOL make_coming_param(cXyz*, daObjBarrel2::Type_e*, int*, bool*);
BOOL request_barrel_exitN(int);
BOOL request_all_barrel_exit();
BOOL request_all_flag_exit();
void barrel_execute(int);
void barrel_main();
BOOL coming_clear_init();
void coming_clear_main();
BOOL coming_wait_init();
void coming_wait_main();
BOOL coming_setF_init();
void coming_setF_main();
BOOL coming_checkS_init();
void coming_checkS_main();
BOOL coming_game_init();
void coming_game_main();
bool coming_process_init(short);
void coming_process_main();
cPhs_State _create();
bool _delete();
bool _execute();
bool _draw();
public:
/* 0x290 */ // vtbl
/* 0x294 */ s32 unk_294;
/* 0x298 */ s8 unk_298;
/* 0x299 */ s8 unk_299;
/* 0x29A */ s16 unk_29A;
/* 0x29C */ s16 unk_29C;
/* 0x29E */ char unk29E[0x2];
/* 0x2A0 */ f32 unk_2A0;
/* 0x2A4 */ s16 unk_2A4;
/* 0x2A6 */ s16 unk_2A6;
/* 0x2A8 */ s16 unk_2A8;
/* 0x2AA */ s16 unk_2AA;
/* 0x2AC */ _barrel_info_ mBarrelInfo[20];
/* 0x43C */ _start_stat_ mStartStat;
/* 0x440 */ cXyz unk_440;
/* 0x44C */ _start_buoy_ mStartBuoy[2];
/* 0x46C */ s16 unk_46C;
/* 0x46E */ s16 unk_46E;
/* 0x470 */ char unk470[0x6];
/* 0x476 */ u8 unk_476;
/* 0x477 */ char unk477[0x31];
/* 0x4A8 */ cXyz unk_4A8;
}; // size = 0x4B4
};
#endif /* D_A_COMING2_H */