Implement & link ac_house_goki

This commit is contained in:
Cuyler36
2025-01-08 15:26:40 -05:00
parent 6bd0c5fc4b
commit 4fed194b37
17 changed files with 493 additions and 14 deletions
+16 -1
View File
@@ -8,6 +8,22 @@
extern "C" {
#endif
typedef struct house_goki_actor_s HOUSE_GOKI_ACTOR;
typedef void (*aHG_ACT_PROC)(ACTOR* actorx, GAME* game);
struct house_goki_actor_s {
/* 0x000 */ACTOR actor_class;
/* 0x174 */aHG_ACT_PROC act_proc;
/* 0x178 */int _178;
/* 0x17C */int action;
/* 0x180 */f32 timer;
/* 0x184 */f32 timer2;
/* 0x188 */int jump_flag;
/* 0x18C */f32 shadow_alpha;
/* 0x190 */f32 alpha;
/* 0x194 */f32 anm_no;
};
extern ACTOR_PROFILE House_Goki_Profile;
#ifdef __cplusplus
@@ -15,4 +31,3 @@ extern ACTOR_PROFILE House_Goki_Profile;
#endif
#endif
+3
View File
@@ -93,6 +93,7 @@ typedef enum audio_sound_effects {
NA_SE_CLEAN_UP_FTR = 0x58,
NA_SE_TOOL_FURI = 0x5A, // swing?
NA_SE_GOKI_DEAD = 0x5B,
NA_SE_AMI_HIT = 0x5C,
NA_SE_TOOL_GET,
NA_SE_5E = 0x5E,
@@ -152,6 +153,8 @@ typedef enum audio_sound_effects {
NA_SE_12D = 0x12D,
NA_SE_GOKI_JUMP_AWAY = 0x132,
NA_SE_TREE_TOUCH = 0x134,
NA_SE_TREE_YURASU,
+4 -1
View File
@@ -409,7 +409,7 @@ typedef enum bank_id {
ACTOR_OBJ_BANK_366,
ACTOR_OBJ_BANK_367,
ACTOR_OBJ_BANK_368,
ACTOR_OBJ_BANK_369,
ACTOR_OBJ_BANK_HOUSE_GOKI,
ACTOR_OBJ_BANK_NPC_SAO,
ACTOR_OBJ_BANK_TUMBLER,
ACTOR_OBJ_BANK_372,
@@ -1045,6 +1045,9 @@ enum {
mAc_HILITE_NUM
};
#define mAc_CHK_HIT_WALL(actor, wall) ((actor)->bg_collision_check.result.hit_wall & (wall))
#define mAc_CHK_HIT_ATR_WALL(actor, wall) ((actor)->bg_collision_check.result.hit_attribute_wall & (wall))
/* sizeof(ACTOR_PROFILE) == 0x24 */
struct actor_profile_s {
/* 0x00 */ s16 id; /* unique actor type ID */
+1
View File
@@ -362,6 +362,7 @@ extern void mCoBG_VirtualBGCheck(xyz_t* rev_pos_p, mCoBG_Check_c* bg_check, cons
f32 ground_dist, s16 attr_wall, s16 rev_type, s16 check_type);
extern f32 mCoBG_Wpos2GroundCheckOnly(const xyz_t* pos_p, f32 ground_dist);
extern int mCoBG_Wpos2CheckNpc(xyz_t wpos);
extern void mCoBG_WallCheckOnly(xyz_t* rev_pos_p, ACTOR* actor, f32 range, f32 ground_dist, s16 rev_type, s16 check_type);
typedef int (*mCoBG_LINECHECK_PROC)(mActor_name_t);