mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
120 lines
2.4 KiB
C
120 lines
2.4 KiB
C
#ifndef M_INVENTORY_OVL_H
|
|
#define M_INVENTORY_OVL_H
|
|
|
|
#include "types.h"
|
|
#include "m_inventory_ovl_h.h"
|
|
#include "m_submenu_ovl.h"
|
|
#include "c_keyframe.h"
|
|
#include "libultra/ultratypes.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define mIV_PLAYER_JOINT_NUM (mPlayer_JOINT_NUM + 1)
|
|
#define mIV_ITEM_JOINT_NUM 8
|
|
#define mIV_PLAYER_EFFECT_NUM 20
|
|
#define mIV_COLLECT_NUM 40
|
|
#define mIV_ITEM_COLUMNS 5
|
|
#define mIV_ITEM_ROWS 3
|
|
#define mIV_MAIL_COLUMNS 2
|
|
#define mIV_MAIL_ROWS 5
|
|
|
|
enum {
|
|
mIV_ITEM_SCALE_TYPE_NONE,
|
|
mIV_ITEM_SCALE_TYPE_SHRINK,
|
|
mIV_ITEM_SCALE_TYPE_GROW,
|
|
mIV_ITEM_SCALE_TYPE_GROW_FAST,
|
|
mIV_ITEM_SCALE_TYPE_GROW_FASTEST,
|
|
mIV_ITEM_SCALE_TYPE_PRESENT,
|
|
|
|
mIV_ITEM_SCALE_TYPE_NUM
|
|
};
|
|
|
|
enum {
|
|
mIV_PAGE_FISH_COLLECTION,
|
|
mIV_PAGE_INVENTORY,
|
|
mIV_PAGE_INSECT_COLLECTION,
|
|
|
|
mIV_PAGE_NUM
|
|
};
|
|
|
|
enum {
|
|
mIV_ANIM_WALK,
|
|
mIV_ANIM_CATCH,
|
|
mIV_ANIM_CHANGE,
|
|
mIV_ANIM_EAT,
|
|
|
|
mIV_ANIM_NUM
|
|
};
|
|
|
|
enum {
|
|
mIV_STRING_LAND_NAME,
|
|
mIV_STRING_PLAYER_NAME,
|
|
|
|
mIV_STRING_NUM
|
|
};
|
|
|
|
typedef struct inventory_effect_s {
|
|
int timer;
|
|
xyz_t pos;
|
|
f32 scale;
|
|
f32 speed;
|
|
} mIV_pl_eff_c;
|
|
|
|
typedef mActor_name_t (*mIV_SET_COLLECT_ITEMNO_PROC)(int, int);
|
|
|
|
/* sizeof (struct inventory_ovl_s) == 0x5EC */
|
|
struct inventory_ovl_s {
|
|
cKF_SkeletonInfo_R_c player_main_keyframe;
|
|
cKF_SkeletonInfo_R_c player_com_keyframe;
|
|
s_xyz player_work[mIV_PLAYER_JOINT_NUM];
|
|
s_xyz player_morph[mIV_PLAYER_JOINT_NUM];
|
|
|
|
cKF_SkeletonInfo_R_c item_keyframe;
|
|
s_xyz item_work[mIV_ITEM_JOINT_NUM];
|
|
s_xyz item_morph[mIV_ITEM_JOINT_NUM];
|
|
|
|
MtxF item_mtx;
|
|
MtxF food_mtx;
|
|
|
|
u8 _374[0x3BC - 0x374];
|
|
|
|
u16 selectable_item_bitfield;
|
|
u16 selectable_mail_bitfield;
|
|
|
|
u32 disp_money;
|
|
int disp_money_chg_step;
|
|
|
|
xyz_t shovel_pos;
|
|
xyz_t release_pos;
|
|
u8 shovel_flag;
|
|
u8 release_flag;
|
|
|
|
u8 food_idx;
|
|
u8 item_scale_type[mPr_POCKETS_SLOT_COUNT];
|
|
u8 page_order[mIV_PAGE_NUM];
|
|
u8 next_page_id;
|
|
s16 page_move_timer;
|
|
s16 remove_timer;
|
|
mIV_pl_eff_c pl_eff[mIV_PLAYER_EFFECT_NUM];
|
|
mIV_SET_COLLECT_ITEMNO_PROC set_collect_itemNo_proc;
|
|
u16 item_mark_bitfield;
|
|
u16 mail_mark_bitfield2;
|
|
s16 mail_mark_flag;
|
|
u8 _5E6[2];
|
|
u16 mail_mark_bitfield;
|
|
u8 original_flag;
|
|
u8 wc_flag;
|
|
};
|
|
|
|
extern void mIV_inventory_ovl_construct(Submenu* submenu);
|
|
extern void mIV_inventory_ovl_destruct(Submenu* submenu);
|
|
extern void mIV_inventory_ovl_set_proc(Submenu* submenu);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|