ebu equivalent (#2547)

This commit is contained in:
TakaRikka 2025-07-22 05:28:42 -07:00 committed by GitHub
parent d528862dd0
commit ea1c649eb1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 1138 additions and 754 deletions

View File

@ -1655,7 +1655,7 @@ config.libs = [
ActorRel(NonMatching, "d_a_e_bi"),
ActorRel(MatchingFor("GZ2E01"), "d_a_e_bi_leaf"),
ActorRel(NonMatching, "d_a_e_bs"),
ActorRel(NonMatching, "d_a_e_bu"),
ActorRel(Equivalent, "d_a_e_bu"), # weak func order
ActorRel(NonMatching, "d_a_e_bug"),
ActorRel(Equivalent, "d_a_e_cr"), # weak func order
ActorRel(MatchingFor("GZ2E01"), "d_a_e_cr_egg"),

View File

@ -1,6 +1,11 @@
#ifndef D_A_E_BU_H
#define D_A_E_BU_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_path.h"
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
/**
* @ingroup actors-enemies
@ -10,16 +15,69 @@
* @details
*
*/
class e_bu_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xaa4 - 0x5ac];
class e_bu_class {
public:
/* 0x000 */ fopEn_enemy_c enemy;
/* 0x5AC */ request_of_phase_process_class phase;
/* 0x5B4 */ u8 prm0;
/* 0x5B5 */ u8 prm1;
/* 0x5B6 */ u8 type;
/* 0x5B7 */ u8 pathNo;
/* 0x5B8 */ s8 field_0x5b8;
/* 0x5B9 */ s8 now_path_pntNo;
/* 0x5BA */ s8 path_step;
/* 0x5BC */ dPath* ppd;
/* 0x5C0 */ mDoExt_McaMorfSO* modelMorf;
/* 0x5C4 */ Z2CreatureEnemy sound;
/* 0x668 */ int anm;
/* 0x66C */ int anm_frame;
/* 0x670 */ s16 lifetime;
/* 0x672 */ s16 action;
/* 0x674 */ s16 mode;
/* 0x678 */ cXyz move_pos;
/* 0x684 */ s16 angle_to_player;
/* 0x688 */ f32 dist_to_player;
/* 0x68C */ f32 pl_search_range;
/* 0x690 */ f32 field_0x690;
/* 0x694 */ f32 field_0x694;
/* 0x698 */ f32 hit_speed;
/* 0x69C */ s16 hit_rot;
/* 0x69E */ csXyz field_0x69e;
/* 0x6A4 */ s8 is_dead;
/* 0x6A8 */ f32 field_0x6a8;
/* 0x6AC */ s16 timers[4];
/* 0x6B4 */ s16 invulnerabilityTimer;
/* 0x6B6 */ s16 head_rot_y;
/* 0x6B8 */ s16 field_0x6b8;
/* 0x6BA */ s16 head_rot_x;
/* 0x6BC */ s16 field_0x6bc;
/* 0x6BE */ s16 jaw_rot;
/* 0x6C0 */ cXyz field_0x6c0;
/* 0x6CC */ dBgS_AcchCir acchcir;
/* 0x70C */ dBgS_ObjAcch acch;
/* 0x8E4 */ dCcD_Stts ccStts;
/* 0x920 */ dCcD_Sph ccSph;
/* 0xA58 */ dCcU_AtInfo atInfo;
/* 0xA7C */ u32 field_0xa7c;
/* 0xA80 */ u32 field_0xa80;
/* 0xA84 */ u32 mtrl_emitter_id[4];
/* 0xA94 */ u8 field_0xA94[0xAA0 - 0xA94];
/* 0xAA0 */ u8 HIOInit;
};
STATIC_ASSERT(sizeof(e_bu_class) == 0xaa4);
class daE_BU_HIO_c {
public:
/* 806911AC */ daE_BU_HIO_c();
/* 806941D4 */ ~daE_BU_HIO_c();
/* 806941D4 */ virtual ~daE_BU_HIO_c() {}
/* 0x04 */ s8 id;
/* 0x08 */ f32 base_size;
/* 0x0C */ f32 fly_speed;
/* 0x10 */ f32 attack_range;
/* 0x14 */ f32 attack_speed;
/* 0x18 */ f32 dash_speed;
};

File diff suppressed because it is too large Load Diff