Skip to content

Commit 91e84ec

Browse files
StuckInLimboStuckInLimbo
andauthored
d_a_obj_crvhahen matching (#2564)
* useHeapInit 73%, ctor and dtor 100%, Delete 94%, wallcheck 43%, create 42% * useHeapInit 100% * Wall_Check 85% * Update fields and return types * crvhahen Wall_Check and Execute 100 * update createheap return type for matching * crvhahen create 70 draw 57 * Revert change that made useHeapInit non-matching * delete matching, .rodata 91 * create 94% * crvhahen draw 85% * setBaseMtx matching * CheckCull and checkViewArea 100% * rename & cleanup fields * cleanup fields, rodata. hahenset and hahen_hakai partials * cleanup and remove SECTION_RODATA * d_a_obj_crvhahen OK * cleanup and fix various inconsistancies or issues --------- Co-authored-by: StuckInLimbo <tbosley@limbofps.net>
1 parent 8410e4f commit 91e84ec

File tree

3 files changed

+245
-314
lines changed

3 files changed

+245
-314
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1905,7 +1905,7 @@ def MatchingFor(*versions) -> bool:
19051905
ActorRel(NonMatching, "d_a_obj_crope"),
19061906
ActorRel(NonMatching, "d_a_obj_crvfence"),
19071907
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvgate"),
1908-
ActorRel(NonMatching, "d_a_obj_crvhahen"),
1908+
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvhahen"),
19091909
ActorRel(NonMatching, "d_a_obj_crvlh_down"),
19101910
ActorRel(NonMatching, "d_a_obj_crvlh_up"),
19111911
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_crvsteel"),

include/d/actor/d_a_obj_crvhahen.h

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,54 @@
11
#ifndef D_A_OBJ_CRVHAHEN_H
22
#define D_A_OBJ_CRVHAHEN_H
33

4+
#include "d/d_com_inf_game.h"
45
#include "f_op/f_op_actor_mng.h"
6+
#include "m_Do/m_Do_ext.h"
7+
#include "m_Do/m_Do_lib.h"
58

69
/**
710
* @ingroup actors-objects
811
* @class daObjCRVHAHEN_c
9-
* @brief Caravan Wood
12+
* @brief Bulblin Camp Caraven Wooden Fence Fragments
1013
*
11-
* @details
14+
* @details Hahen (はへん) a fragment, shard, or splinter.
15+
* physics-enabled shards or fragments that simulate debris from destruction.
1216
*
1317
*/
1418
class daObjCRVHAHEN_c : public fopAc_ac_c {
1519
public:
16-
/* 80BD342C */ void HahenSet(cXyz, cXyz, cXyz, cXyz, f32);
17-
/* 80BD3628 */ void Wall_Check(cXyz, cXyz);
20+
/* 80BD342C */ int HahenSet(cXyz, cXyz, cXyz, cXyz, f32);
21+
/* 80BD3628 */ bool Wall_Check(cXyz, cXyz);
1822
/* 80BD3720 */ void Hahen_Hakai(int, int);
1923
/* 80BD38DC */ void CheckCull();
20-
/* 80BD3A9C */ void checkViewArea(cXyz*);
21-
/* 80BD3B20 */ void Execute();
22-
/* 80BD3B74 */ void Delete();
24+
/* 80BD3A9C */ bool checkViewArea(cXyz*);
25+
/* 80BD3B20 */ int Execute();
26+
/* 80BD3B74 */ int Delete();
2327
/* 80BD3C0C */ void setBaseMtx();
24-
/* 80BD3DBC */ void create();
28+
/* 80BD3DBC */ int create();
2529

26-
private:
27-
/* 0x568 */ u8 field_0x568[0x794 - 0x568];
30+
/* 80BD3338 */ int CreateHeap();
31+
/* 80BD3CA0 */ int Draw();
32+
33+
/* 0x568 */ cXyz mPos[10];
34+
/* 0x5e0 */ cXyz mVelocity[10];
35+
/* 0x658 */ cXyz mInitialPos[10];
36+
/* 0x6d0 */ csXyz mRotation[10];
37+
/* 0x70c */ csXyz mRotSpeed[10];
38+
/* 0x748 */ u32 mFlags;
39+
/* 0x74c */ f32 mGroundHeight;
40+
/* 0x750 */ bool mDrawHahen;
41+
/* 0x751 */ u8 mStatus[10];
42+
/* 0x75b */ u8 field_0x75b;
43+
/* 0x75c */ f32 mTimer;
44+
/* 0x760 */ J3DModel* mpModel[10];
45+
/* 0x788 */ request_of_phase_process_class mPhase;
46+
/* 0x790 */ u8 mEffectState;
47+
/* 0x791 */ bool mInitialized;
48+
/* 0x792 */ u8 mCounter;
49+
/* 0x793 */ u8 mDrawState;
2850
};
2951

3052
STATIC_ASSERT(sizeof(daObjCRVHAHEN_c) == 0x794);
3153

32-
3354
#endif /* D_A_OBJ_CRVHAHEN_H */

0 commit comments

Comments
 (0)