Implement and link ac_t_umbrella

This commit is contained in:
Hexalotl
2024-01-27 20:04:52 -08:00
parent 99f9820e49
commit 272a0546e0
5 changed files with 427 additions and 2 deletions
+26 -1
View File
@@ -2,7 +2,8 @@
#define AC_T_UMBRELLA_H
#include "types.h"
#include "m_actor.h"
#include "ac_tools.h"
#include "c_keyframe.h"
#ifdef __cplusplus
extern "C" {
@@ -10,6 +11,30 @@ extern "C" {
extern ACTOR_PROFILE T_Umbrella_Profile;
typedef void (*UMBRELLA_PROC)(ACTOR*);
// Size == 0x1F4 (500)
typedef struct t_umbrella_s {
TOOLS_ACTOR tools_class;
UMBRELLA_PROC action_proc;
int action;
f32 frame;
xyz_t scale_e;
xyz_t scale_kasa;
BOOL opened_fully;
} UMBRELLA_ACTOR;
typedef struct t_umbrella_data_table_s {
int table_length;
f32* sect_table;
f32* scale_table;
} UMBRELLA_DATA_TABLE;
typedef struct t_umbrella_model_s {
Gfx* model_e;
Gfx* model_kasa;
} UMBRELLA_MODEL;
#ifdef __cplusplus
}
#endif
+1 -1
View File
@@ -67,7 +67,7 @@ typedef enum bank_id {
ACTOR_OBJ_BANK_25,
ACTOR_OBJ_BANK_26,
ACTOR_OBJ_BANK_27,
ACTOR_OBJ_BANK_28,
ACTOR_OBJ_BANK_UMBRELLA,
ACTOR_OBJ_BANK_29,
ACTOR_OBJ_BANK_30,
ACTOR_OBJ_BANK_31,
+10
View File
@@ -329,6 +329,16 @@ extern common_data_t common_data;
/* Useful for returning fg item data as a pointer to mActor_name_t */
#define Save_GetFG() Save_Get(fg[0][0].items[0])
#define Player_Palette_Get(idx) (Common_Get(now_private->my_org[idx].palette))
#define Player_Design_Get(idx) (Common_GetPointer(now_private->my_org[idx].design))
#define Able_Sisters_Palette_Get(idx) (Save_Get(needlework.original_design[idx].palette))
#define Able_Sisters_Design_Get(idx) (Save_GetPointer(needlework.original_design[idx].design))
#define Able_Sisters_Cloth_Palette_Get(idx) (Able_Sisters_Palette_Get(idx))
#define Able_Sisters_Cloth_Design_Get(idx) (Able_Sisters_Design_Get(idx))
#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))
extern void common_data_reinit();
extern void common_data_init();
extern void common_data_clear();