mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-22 22:24:16 -04:00
76 lines
1.3 KiB
C
76 lines
1.3 KiB
C
#ifndef M_HAND_OVL_H
|
|
#define M_HAND_OVL_H
|
|
|
|
#include "types.h"
|
|
#include "m_hand_ovl_h.h"
|
|
#include "m_submenu_ovl.h"
|
|
#include "c_keyframe.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
enum {
|
|
mHD_ACTION_SASU,
|
|
mHD_ACTION_SIDE,
|
|
mHD_ACTION_CLOSE,
|
|
mHD_ACTION_CLOSE_KEEP,
|
|
mHD_ACTION_OPEN,
|
|
mHD_ACTION_CLOSE2,
|
|
mHD_ACTION_SASU2,
|
|
|
|
mHD_ACTION_NUM
|
|
};
|
|
|
|
enum {
|
|
mHD_MOVE_NONE,
|
|
mHD_MOVE_NORMAL,
|
|
mHD_MOVE_SWITCH_LEFT,
|
|
mHD_MOVE_SWITCH_RIGHT,
|
|
|
|
mHD_MOVE_NUM
|
|
};
|
|
|
|
typedef void (*mHD_OVL_NOP_HAND_FUNC)(Submenu*);
|
|
typedef void (*mHD_OVL_SET_HAND_FUNC)(Submenu*);
|
|
|
|
typedef struct hand_info_s {
|
|
int type;
|
|
f32 pos[2];
|
|
f32 ofs[2];
|
|
s16 move_flag;
|
|
s16 wait_timer;
|
|
cKF_SkeletonInfo_R_c keyframe;
|
|
int keyframe_state;
|
|
s_xyz work[29];
|
|
s_xyz morph[29];
|
|
u8 _1E8[72];
|
|
s16 act;
|
|
s16 next_act;
|
|
mActor_name_t item;
|
|
Mail_c mail;
|
|
u32 item_cond;
|
|
u8 hold_tbl;
|
|
u8 hold_idx;
|
|
u8 ret_flag;
|
|
u8 catch_pg;
|
|
s16 haniwa_item_cond;
|
|
u32 haniwa_item_price;
|
|
} mHD_hand_info_c;
|
|
|
|
/* sizeof(struct hand_ovl_s) == 0x378 */
|
|
struct hand_ovl_s {
|
|
mHD_hand_info_c info;
|
|
mHD_OVL_NOP_HAND_FUNC nop_hand_func;
|
|
mHD_OVL_SET_HAND_FUNC set_hand_func;
|
|
};
|
|
|
|
extern void mHD_hand_ovl_construct(Submenu* submenu);
|
|
extern void mHD_hand_ovl_destruct(Submenu* submenu);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|