forked from ACreTeam/ac-decomp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathac_haniwa.h
78 lines (63 loc) · 1.69 KB
/
ac_haniwa.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef AC_HANIWA_H
#define AC_HANIWA_H
#include "types.h"
#include "ac_common.h"
#include "m_collision_obj.h"
#ifdef __cplusplus
extern "C" {
#endif
#define aHNW_JOINT_NUM 8
typedef struct actor_haniwa_s HANIWA_ACTOR;
typedef void (*HANIWA_ACTOR_PROC)(ACTOR*, GAME*);
enum haniwa_msg {
aHNW_MSG_NO_OWNER,
aHNW_MSG_PROCEEDS,
aHNW_MSG_NORMAL,
aHNW_MSG_OTHER_OWNER,
aHNW_MSG_NEED_FRIEND,
aHNW_MSG_NUM
};
enum haniwa_handover {
aHNW_HANDOVER_YES,
aHNW_HANDOVER_NO,
aHNW_HANDOVER_NUM
};
enum haniwa_action {
aHNW_ACTION_WAIT,
aHNW_ACTION_DANCE,
aHNW_ACTION_CHECK_PROCEEDS,
aHNW_ACTION_TALK_WITH_MASTER,
aHNW_ACTION_TALK_WITH_MASTER2,
aHNW_ACTION_TALK_END_WAIT,
aHNW_ACTION_MENU_OPEN_WAIT,
aHNW_ACTION_MENU_END_WAIT,
aHNW_ACTION_TALK_WITH_GUEST,
aHNW_ACTION_MENU_OPEN_WAIT_FOR_GUEST,
aHNW_ACTION_MENU_END_WAIT_FOR_GUEST,
aHNW_ACTION_ROOF_CHECK,
aHNW_ACTION_SAVE_CHECK,
aHNW_ACTION_SAVE_END_WAIT,
aHNW_ACTION_PL_APPROACH_DOOR,
aHNW_ACTION_DOOR_OPEN_WAIT,
aHNW_ACTION_DOOR_OPEN_TIMER,
aHNW_ACTION_NUM
};
/* sizeof(HANIWA_ACTOR) == 0x288 */
struct actor_haniwa_s {
/* 0x000 */ CMN_ACTOR common_actor_class;
/* 0x210 */ char* bank_ram_start;
/* 0x214 */ s_xyz keyframe_work_area[aHNW_JOINT_NUM];
/* 0x244 */ s_xyz keyframe_morph_area[aHNW_JOINT_NUM];
/* 0x274 */ HANIWA_ACTOR_PROC action_proc;
/* 0x278 */ f32 anim_frame_speed;
/* 0x27C */ int player_approach_door_stage;
/* 0x280 */ u16 door_approach_frame;
/* 0x282 */ u8 submenu_type;
/* 0x283 */ u8 house_idx;
/* 0x284 */ u8 playing_save_bgm;
};
extern ACTOR_PROFILE Haniwa_Profile;
#ifdef __cplusplus
}
#endif
#endif