mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
82 lines
1.5 KiB
C
82 lines
1.5 KiB
C
#ifndef M_CATALOG_OVL_H
|
|
#define M_CATALOG_OVL_H
|
|
|
|
#include "types.h"
|
|
#include "m_catalog_ovl_h.h"
|
|
#include "m_submenu_ovl.h"
|
|
#include "ac_furniture.h"
|
|
#include "m_item_name.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define mCL_MENU_ITEM_MAX 742
|
|
#define mCL_MENU_PAGE_SIZE 7
|
|
#define mCL_ITEM_DATA_NUM 2
|
|
#define mCL_TAG_STR_SIZE 10
|
|
|
|
enum {
|
|
mCL_MENU_FTR,
|
|
mCL_MENU_WALL,
|
|
mCL_MENU_CARPET,
|
|
mCL_MENU_CLOTH,
|
|
mCL_MENU_UMBRELLA,
|
|
mCL_MENU_PAPER,
|
|
mCL_MENU_HANIWA,
|
|
mCL_MENU_FOSSIL,
|
|
mCL_MENU_MUSIC,
|
|
|
|
mCL_MENU_NUM
|
|
};
|
|
|
|
typedef struct catalog_item_s {
|
|
FTR_ACTOR ftr_actor;
|
|
u8* seg0;
|
|
u8* seg1;
|
|
u8 segment_data[0x4820];
|
|
aFTR_PROFILE* profile;
|
|
int seg_ofs;
|
|
s16 gfx_type;
|
|
s16 timer;
|
|
u32 price;
|
|
f32 scale;
|
|
f32 pos_y;
|
|
mActor_name_t item_no;
|
|
u16 _509A;
|
|
u16 _509C;
|
|
} mCL_Item_c;
|
|
|
|
typedef struct catalog_menu_s {
|
|
s16 item_count;
|
|
s16 top_idx;
|
|
s16 y_idx;
|
|
u8 completed_flag;
|
|
mActor_name_t item_list[mCL_MENU_ITEM_MAX];
|
|
u8 item_name[mCL_MENU_PAGE_SIZE][mIN_ITEM_NAME_LEN];
|
|
} mCL_Menu_c;
|
|
|
|
struct catalog_ovl_s {
|
|
u8 item_data_idx;
|
|
u8 page_no;
|
|
s16 page_timer;
|
|
int _0004;
|
|
mCL_Item_c item_data[mCL_ITEM_DATA_NUM];
|
|
mCL_Menu_c menu_data[mCL_MENU_NUM];
|
|
u8 _D9AC[72];
|
|
u8 page_order[mCL_MENU_NUM];
|
|
u8 change_flag;
|
|
u8 counter;
|
|
u8 alpha;
|
|
};
|
|
|
|
extern void mCL_catalog_ovl_set_proc(Submenu* submenu);
|
|
extern void mCL_catalog_ovl_construct(Submenu* submenu);
|
|
extern void mCL_catalog_ovl_destruct(Submenu* submenu);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|