e_hb equivalent / some pal work (#2577)

* some pal work

* e_hb equivalent

* update config
This commit is contained in:
TakaRikka
2025-08-10 10:27:45 -06:00
committed by GitHub
parent 0b99197789
commit 8785882261
30 changed files with 2249 additions and 1398 deletions
+73 -4
View File
@@ -1,6 +1,10 @@
#ifndef D_A_E_HB_H
#define D_A_E_HB_H
#include "f_op/f_op_actor_mng.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 +14,81 @@
* @details
*
*/
class e_hb_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0x1268 - 0x5ac];
class e_hb_class {
public:
/* 0x0000 */ fopEn_enemy_c enemy;
/* 0x05AC */ request_of_phase_process_class phase;
/* 0x05B4 */ u8 arg0;
/* 0x05B5 */ u8 arg3;
/* 0x05B6 */ u8 arg1;
/* 0x05B7 */ u8 arg2;
/* 0x05B8 */ mDoExt_McaMorfSO* modelMorf;
/* 0x05BC */ Z2CreatureEnemy sound;
/* 0x0660 */ int anm;
/* 0x0664 */ u32 shadowId;
/* 0x0668 */ s16 counter;
/* 0x066A */ s16 action;
/* 0x066C */ s16 mode;
/* 0x0670 */ f32 pl_search_range;
/* 0x0674 */ cXyz field_0x674;
/* 0x0680 */ s16 field_0x680;
/* 0x0682 */ u8 field_0x682[0x0684 - 0x0682];
/* 0x0684 */ s16 angle_to_player;
/* 0x0688 */ f32 dist_to_player;
/* 0x068C */ s16 field_0x68c;
/* 0x0690 */ f32 field_0x690;
/* 0x0694 */ f32 size;
/* 0x0698 */ s16 timers[3];
/* 0x069E */ s16 invulnerabilityTimer;
/* 0x06A0 */ cXyz field_0x6a0[12];
/* 0x0730 */ csXyz field_0x730[12];
/* 0x0778 */ J3DModel* thornModel[11];
/* 0x07A4 */ u8 field_0x7A4[0x7D8 - 0x7A4];
/* 0x07D8 */ f32 thorn_size[12];
/* 0x0808 */ mDoExt_3DlineMat1_c stalkLine;
/* 0x0844 */ f32 field_0x844;
/* 0x0848 */ f32 field_0x848;
/* 0x084C */ f32 field_0x84c;
/* 0x0850 */ s8 field_0x850;
/* 0x0851 */ s8 field_0x851;
/* 0x0852 */ s8 field_0x852;
/* 0x0854 */ f32 field_0x854;
/* 0x0858 */ u8 field_0x858[0x860 - 0x858];
/* 0x0860 */ dCcD_Stts ccStts;
/* 0x089C */ dCcD_Sph ccSph;
/* 0x09D4 */ dCcD_Sph atSph;
/* 0x0B0C */ s8 field_0xb0c;
/* 0x0B0D */ s8 field_0xb0d;
/* 0x0B10 */ dCcD_Sph kukiSph[4];
/* 0x0FF0 */ dCcU_AtInfo atInfo;
/* 0x1014 */ dBgS_AcchCir acchcir;
/* 0x1054 */ dBgS_ObjAcch acch;
/* 0x122C */ u32 leaf_actor_id;
/* 0x1230 */ s8 field_0x1230;
/* 0x1231 */ s8 field_0x1231;
/* 0x1234 */ u32 field_0x1234[3];
/* 0x1240 */ u32 field_0x1240;
/* 0x1244 */ u32 field_0x1244;
/* 0x1248 */ u32 field_0x1248;
/* 0x124C */ f32 field_0x124c;
/* 0x1250 */ u8 field_0x1250[0x1264 - 0x1250];
/* 0x1264 */ u8 HIOInit;
};
STATIC_ASSERT(sizeof(e_hb_class) == 0x1268);
class daE_HB_HIO_c {
public:
/* 804FBD6C */ daE_HB_HIO_c();
/* 805005D0 */ ~daE_HB_HIO_c();
/* 805005D0 */ virtual ~daE_HB_HIO_c() {}
/* 0x04 */ s8 id;
/* 0x08 */ f32 base_size;
/* 0x0C */ f32 flower_size;
/* 0x10 */ f32 appear_size;
/* 0x14 */ s16 roof_reappear_interval;
/* 0x16 */ s16 attack_freq;
/* 0x18 */ u8 bite_pattern;
};
+7 -4
View File
@@ -290,10 +290,13 @@ public:
field_0xdea = 1;
}
static void make_prm(csXyz* param_1, u8 param_2, u8 param_3, u8 param_4, u8 param_5,
u8 param_6 = 0) {
param_1->x = (param_4 << 8) | param_3;
param_1->z = param_5 | (param_6 << 13) | ((u32(param_2) & 0xFF) << 1);
static void make_prm(u32* o_params, csXyz* o_paramsEx, u8 param_2, u8 i_itemNo, u8 i_itemBit, u8 i_itemType, u8 param_6) {
o_paramsEx->x = (i_itemBit << 8) | (i_itemNo & 0xFF);
o_paramsEx->z = (param_6 << 13) | (param_2 << 1) | i_itemType;
}
static void make_prm_bokkuri(u32* o_params, csXyz* o_paramsEx, u8 i_itemNo, u8 i_itemBit, u8 i_itemType, u8 param_5) {
make_prm(o_params, o_paramsEx, 6, i_itemNo, i_itemBit, i_itemType, param_5);
}
static const daObjCarry_dt_t mData[];