Skip to content

Commit 45e969e

Browse files
authored
d_a_obj_bhbridge equivalent (#2518)
1 parent 712c880 commit 45e969e

File tree

4 files changed

+206
-414
lines changed

4 files changed

+206
-414
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1879,7 +1879,7 @@ def MatchingFor(*versions) -> bool:
18791879
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bbox"),
18801880
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bed"),
18811881
ActorRel(NonMatching, "d_a_obj_bemos"),
1882-
ActorRel(NonMatching, "d_a_obj_bhbridge"),
1882+
ActorRel(Equivalent, "d_a_obj_bhbridge"), # vtable order
18831883
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bk_leaf"),
18841884
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bky_rock"),
18851885
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_bmWindow"),

include/d/actor/d_a_e_rd.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,13 @@ class daE_RD_HIO_c : public JORReflexible {
211211
/* 0x0C */ f32 field_0xc; // リーダーサイズ比 (Leader size ratio)
212212
/* 0x10 */ f32 movement_speed; // 移動速度 (Movement speed)
213213

214-
/* 〜〜 こん棒兵の場合 〜〜 (In the case of the club soldier) */
214+
/* こん棒兵の場合 (In the case of the club soldier) */
215215
/* 0x14 */ f32 dash_speed; // 突進速度 (Rush speed)
216216
/* 0x18 */ f32 battle_init_range; // 戦闘開始範囲 (Battle starting range)
217217
/* 0x1C */ f32 attack_init_range; // 攻撃開始範囲 (Attack starting range)
218218
/* 0x20 */ f32 swing_speed; // 振り速さ (Swing speed)
219219

220-
/* 〜〜 矢兵の場合 〜〜 (In the case of arrow soldiers) */
220+
/* 矢兵の場合 (In the case of arrow soldiers) */
221221
/* 0x24 */ s16 field_0x24; // 号令→構えの間 (Command → Preparation)
222222
/* 0x26 */ u8 padding[2];
223223
/* 0x28 */ f32 attack_range; // 攻撃範囲 (Attack range)

include/d/actor/d_a_obj_bhbridge.h

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
#ifndef D_A_OBJ_BHBRIDGE_H
22
#define D_A_OBJ_BHBRIDGE_H
33

4-
#include "f_op/f_op_actor_mng.h"
4+
#include "d/d_bg_s_movebg_actor.h"
5+
#include "d/d_bg_s_acch.h"
56

67
/**
78
* @ingroup actors-objects
@@ -11,20 +12,41 @@
1112
* @details
1213
*
1314
*/
14-
class daObjBhbridge_c : public fopAc_ac_c {
15+
class daObjBhbridge_c : public dBgS_MoveBgActor {
1516
public:
1617
/* 80BB5318 */ void RideOn_Angle(s16&, f32, s16, f32);
17-
/* 80BB5380 */ void Check_RideOn();
18+
/* 80BB5380 */ int Check_RideOn();
1819
/* 80BB558C */ void initBaseMtx();
1920
/* 80BB55B8 */ void setBaseMtx();
20-
/* 80BB5934 */ void CreateHeap();
21-
/* 80BB59AC */ void Create();
22-
/* 80BB5A14 */ void Execute(f32 (**)[3][4]);
23-
/* 80BB5E10 */ void Draw();
24-
/* 80BB5EB4 */ void Delete();
21+
/* 80BB5934 */ int CreateHeap();
22+
/* 80BB59AC */ int Create();
23+
/* 80BB5A14 */ int Execute(f32 (**)[3][4]);
24+
/* 80BB5E10 */ int Draw();
25+
/* 80BB5EB4 */ int Delete();
2526

26-
private:
27-
/* 0x568 */ u8 field_0x568[0x810 - 0x568];
27+
inline int create();
28+
29+
/* 0x5A0 */ f32 field_0x5a0;
30+
/* 0x5A4 */ bool field_0x5a4;
31+
/* 0x5A8 */ f32 field_0x5a8;
32+
/* 0x5AC */ f32 field_0x5ac;
33+
/* 0x5B0 */ s16 field_0x5b0;
34+
/* 0x5B2 */ u8 field_0x5b2[0x5c0 - 0x5b2];
35+
/* 0x5C0 */ csXyz field_0x5c0;
36+
/* 0x5C6 */ bool field_0x5c6;
37+
/* 0x5C7 */ u8 field_0x5c7[0x5ca - 0x5c7];
38+
/* 0x5CA */ s16 field_0x5ca;
39+
/* 0x5CC */ s16 field_0x5cc;
40+
/* 0x5CE */ csXyz field_0x5ce;
41+
/* 0x5D4 */ f32 field_0x5d4;
42+
/* 0x5D8 */ u8 field_0x5d8[0x5dc - 0x5d8];
43+
/* 0x5DC */ s16 field_0x5dc;
44+
/* 0x5DE */ bool field_0x5de;
45+
/* 0x5E0 */ cXyz field_0x5e0;
46+
/* 0x5EC */ J3DModel* mModel;
47+
/* 0x5F0 */ request_of_phase_process_class mPhase;
48+
/* 0x5F8 */ dBgS_ObjAcch mAcch;
49+
/* 0x7D0 */ dBgS_AcchCir mAcchCir;
2850
};
2951

3052
STATIC_ASSERT(sizeof(daObjBhbridge_c) == 0x810);

0 commit comments

Comments
 (0)