Implement & link ac_shop_indoor

This commit is contained in:
Cuyler36
2024-09-02 01:39:06 -04:00
parent 263bf3af95
commit 8a8d9740a7
6 changed files with 554 additions and 20 deletions
+18 -19
View File
@@ -12,29 +12,29 @@ typedef struct shop_indoor_actor_s SHOP_INDOOR_ACTOR;
typedef int (*aSI_CHANGE_WALL_PROC)(mActor_name_t item);
typedef int (*aSI_CHANGE_CARPET_PROC)(mActor_name_t item);
typedef void (*aSI_INDOOR_DMA_AGAIN_PROC)();
typedef void (*aSI_CHANGE2DEFAULT_PROC)();
typedef void (*aSI_INDOOR_DMA_AGAIN_PROC)(void);
typedef void (*aSI_CHANGE2DEFAULT_PROC)(void);
typedef struct shop_indoor_clip_s {
SHOP_INDOOR_ACTOR* shop_indoor_actor;
aSI_CHANGE_WALL_PROC change_wall_proc;
aSI_CHANGE_CARPET_PROC change_carpet_proc;
aSI_INDOOR_DMA_AGAIN_PROC indoor_dma_again_proc;
aSI_CHANGE2DEFAULT_PROC change2default_proc;
ACTOR* shop_indoor_actor;
aSI_CHANGE_WALL_PROC change_wall_proc;
aSI_CHANGE_CARPET_PROC change_carpet_proc;
aSI_INDOOR_DMA_AGAIN_PROC indoor_dma_again_proc;
aSI_CHANGE2DEFAULT_PROC change2default_proc;
} aSI_Clip_c;
struct shop_indoor_actor_s {
ACTOR actor_class;
s16 floor_default_tex_no;
s16 wall_default_tex_no;
s16 floor_data_idx;
s16 wall_data_idx;
int _17C;
u8* floor_data_p[2];
u8* wall_data_p[2];
s16 shop_idx;
aSI_Clip_c clip;
int fukubiki_active;
ACTOR actor_class;
s16 floor_idx;
s16 wall_idx;
s16 floor_data_idx;
s16 wall_data_idx;
int _17C;
u8* floor_data_p[2];
u8* wall_data_p[2];
s16 shop_idx;
aSI_Clip_c clip;
int fukubiki_active;
};
extern ACTOR_PROFILE Shop_Indoor_Profile;
@@ -44,4 +44,3 @@ extern ACTOR_PROFILE Shop_Indoor_Profile;
#endif
#endif
+1
View File
@@ -90,6 +90,7 @@ typedef enum audio_sound_effects {
NA_SE_HANABI3 = HANABI(0x112),
NA_SE_EAT = 0x113,
NA_SE_11B = 0x11B,
NA_SE_WEAR = 0x11C,
NA_SE_SCOOP1 = 0x11E,
+1 -1
View File
@@ -68,7 +68,7 @@ typedef enum bank_id {
ACTOR_OBJ_BANK_27,
ACTOR_OBJ_BANK_UMBRELLA,
ACTOR_OBJ_BANK_29,
ACTOR_OBJ_BANK_30,
ACTOR_OBJ_BANK_SHOP_GOODS,
ACTOR_OBJ_BANK_31,
ACTOR_OBJ_BANK_32,
ACTOR_OBJ_BANK_33,
+2
View File
@@ -226,6 +226,8 @@ extern int mNT_check_unknown(mActor_name_t item_no);
(ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR0 || ITEM_NAME_GET_TYPE(n) == NAME_TYPE_FTR1)
#define ITEM_IS_ITEM1(n) (ITEM_NAME_GET_TYPE(n) == NAME_TYPE_ITEM1)
#define ITEM_IS_CARPET(n) ((n) >= ITM_CARPET_START && (n) < ITM_CARPET_END)
#define ITEM_IS_WALL(n) ((n) >= ITM_WALL_START && (n) < ITM_WALL_END)
#define GET_NAME_ITEM0_CATEGORY(f) (((f) & 0x0800) >> 11) /* enviornmental or static background objects */
#define GET_NAME_ITEM1_CATEGORY(f) (((f) & 0x0F00) >> 8)