Implement & link ac_cottage

This commit is contained in:
Hexalotl
2024-03-31 11:42:47 -07:00
parent 7349ac33a7
commit 2d6a1a3fe9
5 changed files with 1023 additions and 1 deletions
+30 -1
View File
@@ -2,14 +2,43 @@
#define AC_COTTAGE_H
#include "types.h"
#include "m_actor.h"
#include "m_common_data.h"
#include "ac_structure.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void (*COTTAGE_REWRITE_DOOR_PROC)(ACTOR*, GAME_PLAY*);
typedef void (*COTTAGE_SET_BG_OFFSET_PROC)(STRUCTURE_ACTOR*, int);
typedef int (*COTTAGE_CHECK_DOOR_IN_PROC)(STRUCTURE_ACTOR*, GAME_PLAY*);
typedef int (*COTTAGE_CHECK_DOOR_OUT_PROC)(STRUCTURE_ACTOR*, GAME_PLAY*);
typedef void (*COTTAGE_DEMO_DOOR_OPEN_PROC)(ACTOR*);
typedef f32 (*COTTAGE_LIGHT_AIM_PROC)(STRUCTURE_ACTOR*);
typedef void (*COTTAGE_LIGHT_CONTROL_PROC)(STRUCTURE_ACTOR*);
typedef struct t_cottage_data_s {
cKF_Skeleton_R_c* skl;
cKF_Animation_R_c* in_anim;
cKF_Animation_R_c* out_anim;
s16 structure_type;
s16 structure_palette;
Gfx* model;
bIT_ShadowData_c* shadow_data;
mActor_name_t actor_name;
Door_data_c* door_data;
COTTAGE_REWRITE_DOOR_PROC rewrite_door_proc; // Checked?
COTTAGE_SET_BG_OFFSET_PROC set_bg_offset_proc; // Checked
COTTAGE_CHECK_DOOR_IN_PROC check_door_in_proc; // Maybe actor?
COTTAGE_CHECK_DOOR_OUT_PROC check_door_out_proc; // Maybe actor?
COTTAGE_DEMO_DOOR_OPEN_PROC demo_door_open_proc; // Checked
COTTAGE_LIGHT_AIM_PROC light_aim_proc; // Checked?
COTTAGE_LIGHT_CONTROL_PROC light_control_proc; // Checked
} COTTAGE_DATA;
extern ACTOR_PROFILE Cottage_My_Profile;
extern ACTOR_PROFILE Cottage_Npc_Profile;
#ifdef __cplusplus
}
#endif
+5
View File
@@ -348,6 +348,11 @@ extern common_data_t common_data;
#define Able_Sisters_Umbrella_Palette_Get(idx) (Able_Sisters_Palette_Get(idx + mNW_CLOTH_DESIGN_NUM))
#define Able_Sisters_Umbrella_Design_Get(idx) (Able_Sisters_Design_Get(idx + mNW_CLOTH_DESIGN_NUM))
#define Get_Villager(idx) (Save_Get(animals[idx]))
#define Get_Island() (Save_Get(island))
#define Get_Island_Villager() (Get_Island().animal)
extern void common_data_reinit();
extern void common_data_init();
extern void common_data_clear();
+2
View File
@@ -2735,6 +2735,8 @@ extern int mNT_check_unknown(mActor_name_t item_no);
#define DUMMY_NAMEPLATE 0xF11F
#define DUMMY_MUSEUM 0xF120
#define DUMMY_FLAG 0xF122
#define DUMMY_COTTAGE_MY 0xF123
#define DUMMY_COTTAGE_NPC 0xF124
#define DUMMY_TENT 0xF127
#define DUMMY_BOAT 0xF128
#define RSV_POLICE_ITEM_0 0xF128 // why is this duplicated?