mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-04 03:12:50 -04:00
Finish & link ac_my_room
This commit is contained in:
@@ -13,6 +13,7 @@ extern "C" {
|
||||
|
||||
#define SQRT2 (1.4142135623730950488016887242097)
|
||||
#define F_SQRT2 ((f32)SQRT2)
|
||||
#define F_SQRT2_DIV2 (0.707106f)
|
||||
|
||||
#define SQRTF(f) (__frsqrte(f))
|
||||
|
||||
|
||||
+28
-4
@@ -66,6 +66,7 @@ enum {
|
||||
};
|
||||
|
||||
enum {
|
||||
aFTR_INTERACTION_NONE = 0,
|
||||
aFTR_INTERACTION_STORAGE_DRAWERS = 1, // dressers
|
||||
aFTR_INTERACTION_STORAGE_WARDROBE = 2, // double doors
|
||||
aFTR_INTERACTION_STORAGE_CLOSET = 4, // single door
|
||||
@@ -122,6 +123,21 @@ enum {
|
||||
aFTR_CONTACT_ACTION_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
aFTR_CONTACT_ACTION_TYPE_CHAIR1,
|
||||
aFTR_CONTACT_ACTION_TYPE_CHAIR4,
|
||||
aFTR_CONTACT_ACTION_TYPE_SOFA,
|
||||
aFTR_CONTACT_ACTION_TYPE_BED_SINGLE,
|
||||
aFTR_CONTACT_ACTION_TYPE_BED_DOUBLE,
|
||||
|
||||
aFTR_CONTACT_ACTION_TYPE_NUM
|
||||
};
|
||||
|
||||
#define aFTR_CHK_CONTACT_ACTION(cnt, action) (((cnt) >> (aFTR_CONTACT_ACTION_TYPE_##action)) & 1)
|
||||
#define aFTR_CHK_CHAIR(cnt) \
|
||||
(aFTR_CHK_CONTACT_ACTION(cnt, CHAIR1) || aFTR_CHK_CONTACT_ACTION(cnt, CHAIR4) || aFTR_CHK_CONTACT_ACTION(cnt, SOFA))
|
||||
#define aFTR_CHK_BED(cnt) (aFTR_CHK_CONTACT_ACTION(cnt, BED_SINGLE) || aFTR_CHK_CONTACT_ACTION(cnt, BED_DOUBLE))
|
||||
|
||||
enum {
|
||||
aFTR_SET_TYPE_NORMAL, /* Can't be placed on top and is not a table (layer0) */
|
||||
aFTR_SET_TYPE_SURFACE, /* Is a surface (layer0) */
|
||||
@@ -130,6 +146,14 @@ enum {
|
||||
aFTR_SET_TYPE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
aFTR_KANKYO_MAP_NONE,
|
||||
aFTR_KANKYO_MAP_OPA,
|
||||
aFTR_KANKYO_MAP_XLU,
|
||||
|
||||
aFTR_KANKYO_MAP_NUM
|
||||
};
|
||||
|
||||
typedef void (*aFTR_FTR_CT_PROC)(FTR_ACTOR*, u8*);
|
||||
typedef void (*aFTR_FTR_MOVE_PROC)(FTR_ACTOR*, ACTOR*, GAME*, u8*);
|
||||
typedef void (*aFTR_FTR_DRAW_PROC)(FTR_ACTOR*, ACTOR*, GAME*, u8*);
|
||||
@@ -190,10 +214,10 @@ struct furniture_actor_s {
|
||||
xyz_t position;
|
||||
xyz_t last_position;
|
||||
xyz_t target_position;
|
||||
int target_distance; /* distance to target position */
|
||||
f32 player_distance; /* distance to the player */
|
||||
f32 angle_y; /* current Y angle */
|
||||
f32 angle_y_target; /* goal Y angle */
|
||||
int target_direction; /* direction to target position */
|
||||
f32 player_distance; /* distance to the player */
|
||||
f32 angle_y; /* current Y angle */
|
||||
f32 angle_y_target; /* goal Y angle */
|
||||
s16 state;
|
||||
u8 shape_type; /* current size & shape (rotation) */
|
||||
u8 original_shape_type; /* original size & shape (rotation) */
|
||||
|
||||
@@ -149,7 +149,7 @@ typedef struct room_pickup_s {
|
||||
int picking_up_flag;
|
||||
s16 layer;
|
||||
s16 dust_effect_timer;
|
||||
u16 icon;
|
||||
s16 icon;
|
||||
} aMR_pickup_info_c;
|
||||
|
||||
typedef struct room_rsv_ftr_s {
|
||||
@@ -291,6 +291,11 @@ extern FTR_ACTOR* aMR_GetParentFactor(FTR_ACTOR* ftr_actor, ACTOR* my_room_actor
|
||||
extern s16 aMR_GetParentAngleOffset(FTR_ACTOR* ftr_actor, ACTOR* my_room_actorx);
|
||||
extern void aMR_SetSurprise(ACTOR* my_room_actor, s16 rot);
|
||||
extern void aMR_RadioCommonMove(FTR_ACTOR* ftr_actor, ACTOR* my_room_actorx);
|
||||
extern void aMR_SaveWaltzTempo2(void);
|
||||
extern u8 aMR_GetAlphaEdge(u16 ftr_name);
|
||||
extern int aMR_DrawDolphinMode(u16 ftr_name);
|
||||
extern Gfx* aMR_IconNo2Gfx1(int icon_no);
|
||||
extern Gfx* aMR_IconNo2Gfx2(int icon_no);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ extern void sAdo_OngenTrgStart(u16 id, const xyz_t* pos);
|
||||
extern void sAdo_SetOutMode(u8 mode);
|
||||
extern void sAdo_SetVoiceMode(u8 mode);
|
||||
|
||||
extern void sAdo_FloorTrgStart(u16 id, const xyz_t* pos);
|
||||
extern void sAdo_FloorTrgStart(u8 id, const xyz_t* pos);
|
||||
|
||||
extern void sAdo_RhythmStart(u32 id, s8 type, s8 wait);
|
||||
extern void sAdo_RhythmStop(u32 id);
|
||||
|
||||
@@ -60,6 +60,9 @@ typedef enum audio_sound_effects {
|
||||
NA_SE_TOOL_BROKEN2,
|
||||
NA_SE_TOOL_BROKEN3,
|
||||
|
||||
NA_SE_STONECOIN_ROLL = 0x7D,
|
||||
NA_SE_STONECOIN_DRAG = 0x7E,
|
||||
|
||||
NA_SE_ROD_STROKE = 0x109,
|
||||
NA_SE_ROD_BACK,
|
||||
|
||||
@@ -86,6 +89,7 @@ typedef enum audio_sound_effects {
|
||||
|
||||
NA_SE_166 = 0x166,
|
||||
NA_SE_UCHIWA = 0x167,
|
||||
NA_SE_LAWNMOWER = 0x177,
|
||||
|
||||
NA_SE_SCOOP_SHIGEMI = 0x401,
|
||||
|
||||
@@ -98,6 +102,8 @@ typedef enum audio_sound_effects {
|
||||
NA_SE_BED_NEGAERI,
|
||||
NA_SE_BED_OUT,
|
||||
|
||||
NA_SE_ROTATE = 0x41A,
|
||||
|
||||
NA_SE_SOFT_CHAIR_SIT = 0x41F,
|
||||
NA_SE_HARD_CHAIR_SIT,
|
||||
NA_SE_BUBU_CHAIR_SIT,
|
||||
|
||||
@@ -29,7 +29,7 @@ extern void Na_OngenPos(u32, u8, u16, f32);
|
||||
extern void Na_OngenTrgStart(u16, u16, f32);
|
||||
extern void Na_SetOutMode(u8);
|
||||
extern void Na_SetVoiceMode(u8);
|
||||
extern void Na_FloorTrgStart(u16, u16, f32);
|
||||
extern void Na_FloorTrgStart(u8, u16, f32);
|
||||
extern void Na_Pause(u8);
|
||||
extern void Na_RhythmPos(u32, u8, u16, f32);
|
||||
extern void Na_SpecChange(int);
|
||||
|
||||
@@ -1187,16 +1187,9 @@ extern void Actor_get_overlay_area(ACTOR_DLFTBL* dlftbl, int unused, size_t allo
|
||||
extern void Actor_init_actor_class(ACTOR* actor, ACTOR_PROFILE* profile, ACTOR_DLFTBL* dlftbl, GAME_PLAY* play,
|
||||
int bank_idx, f32 x, f32 y, f32 z, s16 rot_x, s16 rot_y, s16 rot_z, s8 block_x,
|
||||
s8 block_z, s16 move_actor_list_idx, mActor_name_t name_id, s16 arg);
|
||||
#ifndef MUST_MATCH
|
||||
extern ACTOR* Actor_info_make_actor(Actor_info* actor_info, GAME* game, s16 profile_no, f32 x, f32 y, f32 z, s16 rot_x,
|
||||
s16 rot_y, s16 rot_z, s8 block_x, s8 block_z, s16 move_actor_list_idx,
|
||||
mActor_name_t name_id, s16 arg, s8 npc_info_idx, int data_bank_idx);
|
||||
#else
|
||||
extern asm ACTOR* Actor_info_make_actor(Actor_info* actor_info, GAME* game, s16 profile_no, f32 x, f32 y, f32 z,
|
||||
s16 rot_x, s16 rot_y, s16 rot_z, s8 block_x, s8 block_z,
|
||||
s16 move_actor_list_idx, mActor_name_t name_id, s16 arg, s8 npc_info_idx,
|
||||
int data_bank_idx);
|
||||
#endif
|
||||
extern ACTOR* Actor_info_make_child_actor(Actor_info* actor_info, ACTOR* parent_actor, GAME* game, s16 profile, f32 x,
|
||||
f32 y, f32 z, s16 rot_x, s16 rot_y, s16 rot_z, s16 move_actor_list_idx,
|
||||
mActor_name_t name_id, s16 arg, int data_bank_idx);
|
||||
|
||||
+106
-109
@@ -15,8 +15,8 @@ extern "C" {
|
||||
#define mFI_UNIT_BASE_SIZE 40
|
||||
#define mFI_UNIT_BASE_SIZE_F ((f32)mFI_UNIT_BASE_SIZE)
|
||||
|
||||
#define mFI_UT_WORLDSIZE_X 40
|
||||
#define mFI_UT_WORLDSIZE_Z 40
|
||||
#define mFI_UT_WORLDSIZE_X mFI_UNIT_BASE_SIZE
|
||||
#define mFI_UT_WORLDSIZE_Z mFI_UNIT_BASE_SIZE
|
||||
|
||||
#define mFI_UT_WORLDSIZE_X_F ((f32)mFI_UT_WORLDSIZE_X)
|
||||
#define mFI_UT_WORLDSIZE_Z_F ((f32)mFI_UT_WORLDSIZE_Z)
|
||||
@@ -30,6 +30,8 @@ extern "C" {
|
||||
#define mFI_BK_WORLDSIZE_X_F (mFI_UT_WORLDSIZE_X_F * UT_X_NUM)
|
||||
#define mFI_BK_WORLDSIZE_Z_F (mFI_UT_WORLDSIZE_Z_F * UT_Z_NUM)
|
||||
|
||||
#define mFI_POS2UT(pos) ((int)((pos) / mFI_UNIT_BASE_SIZE_F))
|
||||
|
||||
#define mFI_ROW_TO_CHARSTR(row) ((row) + 'A')
|
||||
#define mFI_COL_TO_CHARSTR(col) ((col) + '0')
|
||||
|
||||
@@ -39,24 +41,24 @@ extern "C" {
|
||||
#define mFI_MAX_SHELLS_PER_BLOCK 4
|
||||
|
||||
enum field_type {
|
||||
mFI_FIELDTYPE_FG,
|
||||
mFI_FIELDTYPE_1,
|
||||
mFI_FIELDTYPE_2,
|
||||
mFI_FIELDTYPE_ROOM,
|
||||
mFI_FIELDTYPE_NPC_ROOM,
|
||||
mFI_FIELDTYPE_DEMO,
|
||||
mFI_FIELDTYPE_PLAYER_ROOM,
|
||||
mFI_FIELDTYPE_FG,
|
||||
mFI_FIELDTYPE_1,
|
||||
mFI_FIELDTYPE_2,
|
||||
mFI_FIELDTYPE_ROOM,
|
||||
mFI_FIELDTYPE_NPC_ROOM,
|
||||
mFI_FIELDTYPE_DEMO,
|
||||
mFI_FIELDTYPE_PLAYER_ROOM,
|
||||
|
||||
mFI_FIELDTYPE_NUM
|
||||
mFI_FIELDTYPE_NUM
|
||||
};
|
||||
|
||||
enum field_type2 {
|
||||
mFI_FIELDTYPE2_FG,
|
||||
mFI_FIELDTYPE2_PLAYER_ROOM,
|
||||
mFI_FIELDTYPE2_NPC_ROOM,
|
||||
mFI_FIELDTYPE2_ROOM,
|
||||
mFI_FIELDTYPE2_FG,
|
||||
mFI_FIELDTYPE2_PLAYER_ROOM,
|
||||
mFI_FIELDTYPE2_NPC_ROOM,
|
||||
mFI_FIELDTYPE2_ROOM,
|
||||
|
||||
mFI_FIELDTYPE2_NUM
|
||||
mFI_FIELDTYPE2_NUM
|
||||
};
|
||||
|
||||
#define mFI_TO_FIELD_ID(type, index) (((type) << 12) | (index))
|
||||
@@ -64,134 +66,126 @@ enum field_type2 {
|
||||
#define mFI_TYPE(type) ((type) << 12)
|
||||
|
||||
enum field_room {
|
||||
/* TODO: others */
|
||||
mFI_FIELD_FG = mFI_TO_FIELD_ID(mFI_FIELDTYPE_FG, 0),
|
||||
/* TODO: others */
|
||||
mFI_FIELD_FG = mFI_TO_FIELD_ID(mFI_FIELDTYPE_FG, 0),
|
||||
|
||||
mFI_FIELD_ROOM0 = mFI_TO_FIELD_ID(mFI_FIELDTYPE_ROOM, 0),
|
||||
mFI_FIELD_ROOM_SHOP0, /* 0x3001 */
|
||||
mFI_FIELD_ROOM_BROKER_SHOP, /* 0x3002 */
|
||||
mFI_FIELD_ROOM_POST_OFFICE, /* 0x3003 */
|
||||
mFI_FIELD_ROOM_POLICE_BOX, /* 0x3004 */
|
||||
mFI_FIELD_ROOM_BUGGY, /* 0x3005 */
|
||||
mFI_FIELD_ROOM_SHOP1, /* 0x3006 */
|
||||
mFI_FIELD_ROOM_SHOP2, /* 0x3007 */
|
||||
mFI_FIELD_ROOM_SHOP3_1, /* 0x3008 */
|
||||
mFI_FIELD_ROOM_SHOP3_2, /* 0x3009 */
|
||||
mFI_FIELD_ROOM_KAMAKURA, /* 0x300A */
|
||||
mFI_FIELD_ROOM_MUSEUM_ENTRANCE, /* 0x300B */
|
||||
mFI_FIELD_ROOM_MUSEUM_PAINTING, /* 0x300C */
|
||||
mFI_FIELD_ROOM_MUSEUM_FOSSIL, /* 0x300D */
|
||||
mFI_FIELD_ROOM_MUSEUM_INSECT, /* 0x300E */
|
||||
mFI_FIELD_ROOM_MUSEUM_FISH, /* 0x300F */
|
||||
mFI_FIELD_ROOM_NEEDLEWORK, /* 0x3010 */
|
||||
mFI_FIELD_ROOM_LIGHTHOUSE, /* 0x3011 */
|
||||
mFI_FIELD_ROOM_TENT, /* 0x3012 */
|
||||
mFI_FIELD_ROOM0 = mFI_TO_FIELD_ID(mFI_FIELDTYPE_ROOM, 0),
|
||||
mFI_FIELD_ROOM_SHOP0, /* 0x3001 */
|
||||
mFI_FIELD_ROOM_BROKER_SHOP, /* 0x3002 */
|
||||
mFI_FIELD_ROOM_POST_OFFICE, /* 0x3003 */
|
||||
mFI_FIELD_ROOM_POLICE_BOX, /* 0x3004 */
|
||||
mFI_FIELD_ROOM_BUGGY, /* 0x3005 */
|
||||
mFI_FIELD_ROOM_SHOP1, /* 0x3006 */
|
||||
mFI_FIELD_ROOM_SHOP2, /* 0x3007 */
|
||||
mFI_FIELD_ROOM_SHOP3_1, /* 0x3008 */
|
||||
mFI_FIELD_ROOM_SHOP3_2, /* 0x3009 */
|
||||
mFI_FIELD_ROOM_KAMAKURA, /* 0x300A */
|
||||
mFI_FIELD_ROOM_MUSEUM_ENTRANCE, /* 0x300B */
|
||||
mFI_FIELD_ROOM_MUSEUM_PAINTING, /* 0x300C */
|
||||
mFI_FIELD_ROOM_MUSEUM_FOSSIL, /* 0x300D */
|
||||
mFI_FIELD_ROOM_MUSEUM_INSECT, /* 0x300E */
|
||||
mFI_FIELD_ROOM_MUSEUM_FISH, /* 0x300F */
|
||||
mFI_FIELD_ROOM_NEEDLEWORK, /* 0x3010 */
|
||||
mFI_FIELD_ROOM_LIGHTHOUSE, /* 0x3011 */
|
||||
mFI_FIELD_ROOM_TENT, /* 0x3012 */
|
||||
|
||||
mFI_FIELD_NPCROOM0 = mFI_TO_FIELD_ID(mFI_FIELDTYPE_NPC_ROOM, 0),
|
||||
mFI_FIELD_NPCROOM_FIELD_TOOL_INSIDE,
|
||||
mFI_FIELD_NPCROOM0 = mFI_TO_FIELD_ID(mFI_FIELDTYPE_NPC_ROOM, 0),
|
||||
mFI_FIELD_NPCROOM_FIELD_TOOL_INSIDE,
|
||||
|
||||
mFI_FIELD_DEMO_STARTDEMO = mFI_TO_FIELD_ID(mFI_FIELDTYPE_DEMO, 0),
|
||||
mFI_FIELD_DEMO_STARTDEMO2,
|
||||
mFI_FIELD_DEMO_PLAYERSELECT,
|
||||
mFI_FIELD_DEMO_STARTDEMO3,
|
||||
mFI_FIELD_DEMO_STARTDEMO = mFI_TO_FIELD_ID(mFI_FIELDTYPE_DEMO, 0),
|
||||
mFI_FIELD_DEMO_STARTDEMO2,
|
||||
mFI_FIELD_DEMO_PLAYERSELECT,
|
||||
mFI_FIELD_DEMO_STARTDEMO3,
|
||||
|
||||
mFI_FIELD_PLAYER0_ROOM = mFI_TO_FIELD_ID(mFI_FIELDTYPE_PLAYER_ROOM, 0),
|
||||
mFI_FIELD_PLAYER1_ROOM,
|
||||
mFI_FIELD_PLAYER2_ROOM,
|
||||
mFI_FIELD_PLAYER3_ROOM,
|
||||
mFI_FIELD_PLAYER0_ROOM = mFI_TO_FIELD_ID(mFI_FIELDTYPE_PLAYER_ROOM, 0),
|
||||
mFI_FIELD_PLAYER1_ROOM,
|
||||
mFI_FIELD_PLAYER2_ROOM,
|
||||
mFI_FIELD_PLAYER3_ROOM,
|
||||
|
||||
/* TODO: others */
|
||||
/* TODO: others */
|
||||
};
|
||||
|
||||
#define mFI_GET_PLAYER_ROOM_NO(field_id) (((field_id)-mFI_FIELD_PLAYER0_ROOM) & 3)
|
||||
#define mFI_IS_PLAYER_ROOM(field_id) \
|
||||
((field_id) == mFI_FIELD_PLAYER0_ROOM || (field_id) == mFI_FIELD_PLAYER1_ROOM || \
|
||||
(field_id) == mFI_FIELD_PLAYER2_ROOM || (field_id) == mFI_FIELD_PLAYER3_ROOM)
|
||||
#define mFI_GET_PLAYER_ROOM_NO(field_id) (((field_id) - mFI_FIELD_PLAYER0_ROOM) & 3)
|
||||
#define mFI_IS_PLAYER_ROOM(field_id) \
|
||||
((field_id) == mFI_FIELD_PLAYER0_ROOM || (field_id) == mFI_FIELD_PLAYER1_ROOM || \
|
||||
(field_id) == mFI_FIELD_PLAYER2_ROOM || (field_id) == mFI_FIELD_PLAYER3_ROOM)
|
||||
|
||||
/* "wade" between acres (acre transition) */
|
||||
enum player_wade_state {
|
||||
mFI_WADE_NONE,
|
||||
mFI_WADE_START,
|
||||
mFI_WADE_INPROGRESS,
|
||||
mFI_WADE_END,
|
||||
mFI_WADE_ERROR,
|
||||
mFI_WADE_NONE,
|
||||
mFI_WADE_START,
|
||||
mFI_WADE_INPROGRESS,
|
||||
mFI_WADE_END,
|
||||
mFI_WADE_ERROR,
|
||||
|
||||
mFI_WADE_NUM
|
||||
mFI_WADE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mFI_DEPOSIT_ON,
|
||||
mFI_DEPOSIT_OFF,
|
||||
mFI_DEPOSIT_GET,
|
||||
mFI_DEPOSIT_ON,
|
||||
mFI_DEPOSIT_OFF,
|
||||
mFI_DEPOSIT_GET,
|
||||
|
||||
mFI_DEPOSIT_NUM
|
||||
mFI_DEPOSIT_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mFI_MOVEDIR_NONE,
|
||||
mFI_MOVEDIR_RIGHT,
|
||||
mFI_MOVEDIR_LEFT,
|
||||
mFI_MOVEDIR_UP,
|
||||
mFI_MOVEDIR_DOWN,
|
||||
mFI_MOVEDIR_NONE,
|
||||
mFI_MOVEDIR_RIGHT,
|
||||
mFI_MOVEDIR_LEFT,
|
||||
mFI_MOVEDIR_UP,
|
||||
mFI_MOVEDIR_DOWN,
|
||||
|
||||
mFI_MOVEDIR_NUM
|
||||
mFI_MOVEDIR_NUM
|
||||
};
|
||||
|
||||
/* Not sure about these other than the island one */
|
||||
enum { mFI_CLIMATE_0, mFI_CLIMATE_ISLAND, mFI_CLIMATE_2, mFI_CLIMATE_3, mFI_CLIMATE_4, mFI_CLIMATE_5, mFI_CLIMATE_NUM };
|
||||
|
||||
enum {
|
||||
mFI_CLIMATE_0,
|
||||
mFI_CLIMATE_ISLAND,
|
||||
mFI_CLIMATE_2,
|
||||
mFI_CLIMATE_3,
|
||||
mFI_CLIMATE_4,
|
||||
mFI_CLIMATE_5,
|
||||
mFI_CLIMATE_NUM
|
||||
mFI_DIGSTATUS_MISS,
|
||||
mFI_DIGSTATUS_CANCEL,
|
||||
mFI_DIGSTATUS_FILLIN,
|
||||
mFI_DIGSTATUS_DIG,
|
||||
mFI_DIGSTATUS_PUT_ITEM,
|
||||
mFI_DIGSTATUS_GET_ITEM,
|
||||
|
||||
mFI_DIGSTATUS_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mFI_DIGSTATUS_MISS,
|
||||
mFI_DIGSTATUS_CANCEL,
|
||||
mFI_DIGSTATUS_FILLIN,
|
||||
mFI_DIGSTATUS_DIG,
|
||||
mFI_DIGSTATUS_PUT_ITEM,
|
||||
mFI_DIGSTATUS_GET_ITEM,
|
||||
|
||||
mFI_DIGSTATUS_NUM
|
||||
};
|
||||
mFI_SET_STRUCTURE_SET,
|
||||
mFI_SET_STRUCTURE_REMOVE,
|
||||
|
||||
enum {
|
||||
mFI_SET_STRUCTURE_SET,
|
||||
mFI_SET_STRUCTURE_REMOVE,
|
||||
|
||||
mFI_SET_STRUCTURE_NUM
|
||||
mFI_SET_STRUCTURE_NUM
|
||||
};
|
||||
|
||||
/* sizeof(mFI_unit_c) == 0x14 */
|
||||
typedef struct location_info_s {
|
||||
/* 0x00 */ int block_x;
|
||||
/* 0x04 */ int block_z;
|
||||
/* 0x08 */ int unit_x;
|
||||
/* 0x0C */ int unit_z;
|
||||
/* 0x10 */ mActor_name_t* block_data;
|
||||
/* 0x00 */ int block_x;
|
||||
/* 0x04 */ int block_z;
|
||||
/* 0x08 */ int unit_x;
|
||||
/* 0x0C */ int unit_z;
|
||||
/* 0x10 */ mActor_name_t* block_data;
|
||||
} mFI_unit_c;
|
||||
|
||||
typedef struct block_table_s {
|
||||
s8 block_x;
|
||||
s8 block_z;
|
||||
s8 block_x;
|
||||
s8 block_z;
|
||||
|
||||
f32 pos_x;
|
||||
f32 pos_z;
|
||||
f32 pos_x;
|
||||
f32 pos_z;
|
||||
|
||||
mActor_name_t* items;
|
||||
mActor_name_t* items;
|
||||
} mFI_block_tbl_c;
|
||||
|
||||
typedef struct visible_block_item_info_s {
|
||||
int count;
|
||||
mFI_block_tbl_c block_info_tbl[mFM_VISIBLE_BLOCK_NUM];
|
||||
int count;
|
||||
mFI_block_tbl_c block_info_tbl[mFM_VISIBLE_BLOCK_NUM];
|
||||
} mFI_item_table_c;
|
||||
|
||||
enum {
|
||||
mFI_SOUND_SOURCE_POND = 3, // TODO: might not be correct name
|
||||
mFI_SOUND_SOURCE_POND = 3, // TODO: might not be correct name
|
||||
};
|
||||
|
||||
extern void mFI_ClearFieldData();
|
||||
@@ -269,7 +263,7 @@ extern int mFI_GetItemTable(mFI_item_table_c* item_table, xyz_t wpos, char* file
|
||||
extern int mFI_FGisUpDate();
|
||||
extern void mFI_SetFGUpData();
|
||||
extern void mFI_BornItemON();
|
||||
//extern MATCH_FORCESTRIP void mFI_BornItemOFF();
|
||||
// extern MATCH_FORCESTRIP void mFI_BornItemOFF();
|
||||
extern int mFI_ItemisBorn();
|
||||
extern int mFI_ActorisBorn();
|
||||
extern void mFI_SetBearActor(GAME_PLAY* play, xyz_t wpos, int set_flag);
|
||||
@@ -288,9 +282,10 @@ extern void mFI_SetMoveActorBitData(int bx, int bz, u16 move_actor_bit_data);
|
||||
extern void mFI_SetMoveActorBitData_ON(s16 move_actor_idx, int bx, int bz);
|
||||
extern void mFI_SetMoveActorBitData_OFF(s16 move_actor_idx, int bx, int bz);
|
||||
extern void mFI_MyMoveActorBitData_ON(ACTOR* actor);
|
||||
//extern MATCH_FORCESTRIP void mFI_MyMoveActorBitData_OFF(ACTOR* actor);
|
||||
// extern MATCH_FORCESTRIP void mFI_MyMoveActorBitData_OFF(ACTOR* actor);
|
||||
extern int mFI_GetMoveActorListIdx(mFM_move_actor_c* move_actor_list, int list_size, mActor_name_t actor_name);
|
||||
extern int mFI_RegistMoveActorList(mActor_name_t actor_name, int bx, int bz, int ut_x, int ut_z, int npc_info_idx, s16 arg);
|
||||
extern int mFI_RegistMoveActorList(mActor_name_t actor_name, int bx, int bz, int ut_x, int ut_z, int npc_info_idx,
|
||||
s16 arg);
|
||||
extern int mFI_UnregistMoveActorList(mActor_name_t actor_name, int bx, int bz);
|
||||
extern int mFI_AddMoveActorList(mActor_name_t actor_name, int bx, int bz, int ut_x, int ut_z, s16 arg);
|
||||
extern mFM_move_actor_c* mFI_MoveActorListDma(int bx, int bz);
|
||||
@@ -302,12 +297,12 @@ extern int mFI_GetNextBlockNum(int* bx, int* bz);
|
||||
extern u16* mFI_GetDepositP(int bx, int bz);
|
||||
extern void mFI_ClearDeposit(int bx, int bz);
|
||||
extern int mFI_GetLineDeposit(u16* deposit, int ut_x);
|
||||
//extern MATCH_FORCESTRIP void mFI_BlockDepositON(u16* deposit_p, int ut_x, int ut_z);
|
||||
// extern MATCH_FORCESTRIP void mFI_BlockDepositON(u16* deposit_p, int ut_x, int ut_z);
|
||||
extern void mFI_BlockDepositOFF(u16* deposit_p, int ut_x, int ut_z);
|
||||
extern int mFI_GetBlockDeposit(u16* deposit_p, int ut_x, int ut_z);
|
||||
//extern MATCH_FORCESTRIP void mFI_BkUtNum2DepositON(int bx, int bz, int ut_x, int ut_z);
|
||||
// extern MATCH_FORCESTRIP void mFI_BkUtNum2DepositON(int bx, int bz, int ut_x, int ut_z);
|
||||
extern void mFI_BkUtNum2DepositOFF(int bx, int bz, int ut_x, int ut_z);
|
||||
//extern MATCH_FORCESTRIP int mFI_BkUtNum2DepositGet(int bx, int bz, int ut_x, int ut_z);
|
||||
// extern MATCH_FORCESTRIP int mFI_BkUtNum2DepositGet(int bx, int bz, int ut_x, int ut_z);
|
||||
extern void mFI_UtNum2DepositON(int ut_x, int ut_z);
|
||||
extern void mFI_UtNum2DepositOFF(int ut_x, int ut_z);
|
||||
extern int mFI_UtNum2DepositGet(int ut_x, int ut_z);
|
||||
@@ -320,12 +315,14 @@ extern int mFI_GetDigStatus(mActor_name_t* item, xyz_t wpos, int golden_shovel);
|
||||
extern void mFI_ClearHoleBlock(int bx, int bz);
|
||||
extern void mFI_ClearBeecomb(int bx, int bz);
|
||||
extern int mFI_SetFGStructure_common(mActor_name_t structure_name, int bx, int bz, int ut_x, int ut_z, int set_type);
|
||||
extern int mFI_CheckStructureArea(int ut_x, int ut_z, mActor_name_t structure_name, int structure_ut_x, int structure_ut_z);
|
||||
extern int mFI_CheckStructureArea(int ut_x, int ut_z, mActor_name_t structure_name, int structure_ut_x,
|
||||
int structure_ut_z);
|
||||
extern mActor_name_t mFI_GetOtherFruit();
|
||||
extern int mFI_CheckFGNpcOn(mActor_name_t item);
|
||||
extern int mFI_CheckLapPolice(int bx, int bz, int ut_x, int ut_z);
|
||||
extern int mFI_GetWaveUtinBlock(int* ut_x, int* ut_z, int bx, int bz);
|
||||
extern int mFI_ClearBlockItemRandom_common(mActor_name_t item, int clear_num, mActor_name_t* fg_p, u16* deposit_p, int delete_buried);
|
||||
extern int mFI_ClearBlockItemRandom_common(mActor_name_t item, int clear_num, mActor_name_t* fg_p, u16* deposit_p,
|
||||
int delete_buried);
|
||||
extern void mFI_SetFirstSetShell();
|
||||
extern void mFI_FieldMove(xyz_t player_pos);
|
||||
extern void mFI_PrintNowBGNum(gfxprint_t* gfxprint);
|
||||
|
||||
@@ -2253,6 +2253,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define ETC_START 0x8000
|
||||
#define ETC_AIRPLANE ETC_START
|
||||
#define ETC_BALL (ETC_START + 1)
|
||||
#define ETC_MY_ROOM (ETC_START + 2)
|
||||
#define ETC_MBG (ETC_START + 3)
|
||||
#define ETC_BOXTRICK (ETC_START + 4)
|
||||
#define ETC_BOXMANAGER (ETC_START + 5)
|
||||
|
||||
+287
-269
@@ -5,6 +5,7 @@
|
||||
#include "m_actor.h"
|
||||
#include "m_lib.h"
|
||||
#include "c_keyframe.h"
|
||||
#include "libultra/ultratypes.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -22,314 +23,331 @@ typedef struct player_actor_s PLAYER_ACTOR;
|
||||
#define mPlayer_FORCE_POSITION_ANGLE_ROTZ (1 << 6)
|
||||
|
||||
enum {
|
||||
mPlayer_ADDRESSABLE_TRUE,
|
||||
mPlayer_ADDRESSABLE_FALSE_MOVEMENT,
|
||||
mPlayer_ADDRESSABLE_FALSE_TALKING,
|
||||
mPlayer_ADDRESSABLE_FALSE_USING_TOOL,
|
||||
mPlayer_ADDRESSABLE_TRUE,
|
||||
mPlayer_ADDRESSABLE_FALSE_MOVEMENT,
|
||||
mPlayer_ADDRESSABLE_FALSE_TALKING,
|
||||
mPlayer_ADDRESSABLE_FALSE_USING_TOOL,
|
||||
|
||||
mPlayer_ADDRESSABLE_NUM
|
||||
mPlayer_ADDRESSABLE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_INDEX_DMA,
|
||||
mPlayer_INDEX_INTRO,
|
||||
mPlayer_INDEX_REFUSE,
|
||||
mPlayer_INDEX_REFUSE_PICKUP,
|
||||
mPlayer_INDEX_RETURN_DEMO,
|
||||
mPlayer_INDEX_RETURN_OUTDOOR,
|
||||
mPlayer_INDEX_RETURN_OUTDOOR2,
|
||||
mPlayer_INDEX_WAIT,
|
||||
mPlayer_INDEX_WALK,
|
||||
mPlayer_INDEX_RUN,
|
||||
mPlayer_INDEX_DASH,
|
||||
mPlayer_INDEX_TUMBLE,
|
||||
mPlayer_INDEX_TUMBLE_GETUP,
|
||||
mPlayer_INDEX_TURN_DASH,
|
||||
mPlayer_INDEX_FALL,
|
||||
mPlayer_INDEX_WADE,
|
||||
mPlayer_INDEX_DOOR,
|
||||
mPlayer_INDEX_OUTDOOR,
|
||||
mPlayer_INDEX_INVADE,
|
||||
mPlayer_INDEX_HOLD,
|
||||
mPlayer_INDEX_PUSH,
|
||||
mPlayer_INDEX_PULL,
|
||||
mPlayer_INDEX_ROTATE_FURNITURE,
|
||||
mPlayer_INDEX_OPEN_FURNITURE,
|
||||
mPlayer_INDEX_WAIT_OPEN_FURNITURE,
|
||||
mPlayer_INDEX_CLOSE_FURNITURE,
|
||||
mPlayer_INDEX_LIE_BED,
|
||||
mPlayer_INDEX_WAIT_BED,
|
||||
mPlayer_INDEX_ROLL_BED,
|
||||
mPlayer_INDEX_STANDUP_BED,
|
||||
mPlayer_INDEX_PICKUP,
|
||||
mPlayer_INDEX_PICKUP_JUMP,
|
||||
mPlayer_INDEX_PICKUP_FURNITURE,
|
||||
mPlayer_INDEX_PICKUP_EXCHANGE,
|
||||
mPlayer_INDEX_SITDOWN,
|
||||
mPlayer_INDEX_SITDOWN_WAIT,
|
||||
mPlayer_INDEX_STANDUP,
|
||||
mPlayer_INDEX_SWING_AXE,
|
||||
mPlayer_INDEX_AIR_AXE,
|
||||
mPlayer_INDEX_REFLECT_AXE,
|
||||
mPlayer_INDEX_BROKEN_AXE,
|
||||
mPlayer_INDEX_SLIP_NET,
|
||||
mPlayer_INDEX_READY_NET,
|
||||
mPlayer_INDEX_READY_WALK_NET,
|
||||
mPlayer_INDEX_SWING_NET,
|
||||
mPlayer_INDEX_PULL_NET,
|
||||
mPlayer_INDEX_STOP_NET,
|
||||
mPlayer_INDEX_NOTICE_NET,
|
||||
mPlayer_INDEX_PUTAWAY_NET,
|
||||
mPlayer_INDEX_READY_ROD,
|
||||
mPlayer_INDEX_CAST_ROD,
|
||||
mPlayer_INDEX_AIR_ROD,
|
||||
mPlayer_INDEX_RELAX_ROD,
|
||||
mPlayer_INDEX_COLLECT_ROD,
|
||||
mPlayer_INDEX_VIB_ROD,
|
||||
mPlayer_INDEX_FLY_ROD,
|
||||
mPlayer_INDEX_NOTICE_ROD,
|
||||
mPlayer_INDEX_PUTAWAY_ROD,
|
||||
mPlayer_INDEX_DIG_SCOOP,
|
||||
mPlayer_INDEX_FILL_SCOOP,
|
||||
mPlayer_INDEX_REFLECT_SCOOP,
|
||||
mPlayer_INDEX_AIR_SCOOP,
|
||||
mPlayer_INDEX_GET_SCOOP,
|
||||
mPlayer_INDEX_PUTAWAY_SCOOP,
|
||||
mPlayer_INDEX_PUTIN_SCOOP,
|
||||
mPlayer_INDEX_TALK,
|
||||
mPlayer_INDEX_RECIEVE_WAIT,
|
||||
mPlayer_INDEX_RECIEVE_STRETCH,
|
||||
mPlayer_INDEX_RECIEVE,
|
||||
mPlayer_INDEX_RECIEVE_PUTAWAY,
|
||||
mPlayer_INDEX_GIVE,
|
||||
mPlayer_INDEX_GIVE_WAIT,
|
||||
mPlayer_INDEX_TAKEOUT_ITEM,
|
||||
mPlayer_INDEX_PUTIN_ITEM,
|
||||
mPlayer_INDEX_DEMO_WAIT,
|
||||
mPlayer_INDEX_DEMO_WALK,
|
||||
mPlayer_INDEX_DEMO_GETON_TRAIN,
|
||||
mPlayer_INDEX_DEMO_GETON_TRAIN_WAIT,
|
||||
mPlayer_INDEX_DEMO_GETOFF_TRAIN,
|
||||
mPlayer_INDEX_DEMO_STANDING_TRAIN,
|
||||
mPlayer_INDEX_DEMO_WADE,
|
||||
mPlayer_INDEX_HIDE,
|
||||
mPlayer_INDEX_GROUNDHOG,
|
||||
mPlayer_INDEX_RELEASE_CREATURE,
|
||||
mPlayer_INDEX_WASH_CAR,
|
||||
mPlayer_INDEX_TIRED,
|
||||
mPlayer_INDEX_ROTATE_OCTAGON,
|
||||
mPlayer_INDEX_THROW_MONEY,
|
||||
mPlayer_INDEX_PRAY,
|
||||
mPlayer_INDEX_SHAKE_TREE,
|
||||
mPlayer_INDEX_MAIL_JUMP,
|
||||
mPlayer_INDEX_MAIL_LAND,
|
||||
mPlayer_INDEX_READY_PITFALL,
|
||||
mPlayer_INDEX_FALL_PITFALL,
|
||||
mPlayer_INDEX_STRUGGLE_PITFALL,
|
||||
mPlayer_INDEX_CLIMBUP_PITFALL,
|
||||
mPlayer_INDEX_STUNG_BEE,
|
||||
mPlayer_INDEX_NOTICE_BEE,
|
||||
mPlayer_INDEX_REMOVE_GRASS,
|
||||
mPlayer_INDEX_SHOCK,
|
||||
mPlayer_INDEX_KNOCK_DOOR,
|
||||
mPlayer_INDEX_CHANGE_CLOTH,
|
||||
mPlayer_INDEX_PUSH_SNOWBALL,
|
||||
mPlayer_INDEX_ROTATE_UMBRELLA,
|
||||
mPlayer_INDEX_WADE_SNOWBALL,
|
||||
mPlayer_INDEX_COMPLETE_PAYMENT,
|
||||
mPlayer_INDEX_FAIL_EMU,
|
||||
mPlayer_INDEX_STUNG_MOSQUITO,
|
||||
mPlayer_INDEX_NOTICE_MOSQUITO,
|
||||
mPlayer_INDEX_SWING_FAN,
|
||||
mPlayer_INDEX_SWITCH_ON_LIGHTHOUSE,
|
||||
mPlayer_INDEX_RADIO_EXERCISE,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT_SITDOWN,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT_WAIT,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT_WADE,
|
||||
mPlayer_INDEX_DEMO_GETOFF_BOAT_STANDUP,
|
||||
mPlayer_INDEX_DEMO_GETOFF_BOAT,
|
||||
mPlayer_INDEX_DEMO_GET_GOLDEN_ITEM,
|
||||
mPlayer_INDEX_DEMO_GET_GOLDEN_ITEM2,
|
||||
mPlayer_INDEX_DEMO_GET_GOLDEN_AXE_WAIT
|
||||
mPlayer_INDEX_DMA,
|
||||
mPlayer_INDEX_INTRO,
|
||||
mPlayer_INDEX_REFUSE,
|
||||
mPlayer_INDEX_REFUSE_PICKUP,
|
||||
mPlayer_INDEX_RETURN_DEMO,
|
||||
mPlayer_INDEX_RETURN_OUTDOOR,
|
||||
mPlayer_INDEX_RETURN_OUTDOOR2,
|
||||
mPlayer_INDEX_WAIT,
|
||||
mPlayer_INDEX_WALK,
|
||||
mPlayer_INDEX_RUN,
|
||||
mPlayer_INDEX_DASH,
|
||||
mPlayer_INDEX_TUMBLE,
|
||||
mPlayer_INDEX_TUMBLE_GETUP,
|
||||
mPlayer_INDEX_TURN_DASH,
|
||||
mPlayer_INDEX_FALL,
|
||||
mPlayer_INDEX_WADE,
|
||||
mPlayer_INDEX_DOOR,
|
||||
mPlayer_INDEX_OUTDOOR,
|
||||
mPlayer_INDEX_INVADE,
|
||||
mPlayer_INDEX_HOLD,
|
||||
mPlayer_INDEX_PUSH,
|
||||
mPlayer_INDEX_PULL,
|
||||
mPlayer_INDEX_ROTATE_FURNITURE,
|
||||
mPlayer_INDEX_OPEN_FURNITURE,
|
||||
mPlayer_INDEX_WAIT_OPEN_FURNITURE,
|
||||
mPlayer_INDEX_CLOSE_FURNITURE,
|
||||
mPlayer_INDEX_LIE_BED,
|
||||
mPlayer_INDEX_WAIT_BED,
|
||||
mPlayer_INDEX_ROLL_BED,
|
||||
mPlayer_INDEX_STANDUP_BED,
|
||||
mPlayer_INDEX_PICKUP,
|
||||
mPlayer_INDEX_PICKUP_JUMP,
|
||||
mPlayer_INDEX_PICKUP_FURNITURE,
|
||||
mPlayer_INDEX_PICKUP_EXCHANGE,
|
||||
mPlayer_INDEX_SITDOWN,
|
||||
mPlayer_INDEX_SITDOWN_WAIT,
|
||||
mPlayer_INDEX_STANDUP,
|
||||
mPlayer_INDEX_SWING_AXE,
|
||||
mPlayer_INDEX_AIR_AXE,
|
||||
mPlayer_INDEX_REFLECT_AXE,
|
||||
mPlayer_INDEX_BROKEN_AXE,
|
||||
mPlayer_INDEX_SLIP_NET,
|
||||
mPlayer_INDEX_READY_NET,
|
||||
mPlayer_INDEX_READY_WALK_NET,
|
||||
mPlayer_INDEX_SWING_NET,
|
||||
mPlayer_INDEX_PULL_NET,
|
||||
mPlayer_INDEX_STOP_NET,
|
||||
mPlayer_INDEX_NOTICE_NET,
|
||||
mPlayer_INDEX_PUTAWAY_NET,
|
||||
mPlayer_INDEX_READY_ROD,
|
||||
mPlayer_INDEX_CAST_ROD,
|
||||
mPlayer_INDEX_AIR_ROD,
|
||||
mPlayer_INDEX_RELAX_ROD,
|
||||
mPlayer_INDEX_COLLECT_ROD,
|
||||
mPlayer_INDEX_VIB_ROD,
|
||||
mPlayer_INDEX_FLY_ROD,
|
||||
mPlayer_INDEX_NOTICE_ROD,
|
||||
mPlayer_INDEX_PUTAWAY_ROD,
|
||||
mPlayer_INDEX_DIG_SCOOP,
|
||||
mPlayer_INDEX_FILL_SCOOP,
|
||||
mPlayer_INDEX_REFLECT_SCOOP,
|
||||
mPlayer_INDEX_AIR_SCOOP,
|
||||
mPlayer_INDEX_GET_SCOOP,
|
||||
mPlayer_INDEX_PUTAWAY_SCOOP,
|
||||
mPlayer_INDEX_PUTIN_SCOOP,
|
||||
mPlayer_INDEX_TALK,
|
||||
mPlayer_INDEX_RECIEVE_WAIT,
|
||||
mPlayer_INDEX_RECIEVE_STRETCH,
|
||||
mPlayer_INDEX_RECIEVE,
|
||||
mPlayer_INDEX_RECIEVE_PUTAWAY,
|
||||
mPlayer_INDEX_GIVE,
|
||||
mPlayer_INDEX_GIVE_WAIT,
|
||||
mPlayer_INDEX_TAKEOUT_ITEM,
|
||||
mPlayer_INDEX_PUTIN_ITEM,
|
||||
mPlayer_INDEX_DEMO_WAIT,
|
||||
mPlayer_INDEX_DEMO_WALK,
|
||||
mPlayer_INDEX_DEMO_GETON_TRAIN,
|
||||
mPlayer_INDEX_DEMO_GETON_TRAIN_WAIT,
|
||||
mPlayer_INDEX_DEMO_GETOFF_TRAIN,
|
||||
mPlayer_INDEX_DEMO_STANDING_TRAIN,
|
||||
mPlayer_INDEX_DEMO_WADE,
|
||||
mPlayer_INDEX_HIDE,
|
||||
mPlayer_INDEX_GROUNDHOG,
|
||||
mPlayer_INDEX_RELEASE_CREATURE,
|
||||
mPlayer_INDEX_WASH_CAR,
|
||||
mPlayer_INDEX_TIRED,
|
||||
mPlayer_INDEX_ROTATE_OCTAGON,
|
||||
mPlayer_INDEX_THROW_MONEY,
|
||||
mPlayer_INDEX_PRAY,
|
||||
mPlayer_INDEX_SHAKE_TREE,
|
||||
mPlayer_INDEX_MAIL_JUMP,
|
||||
mPlayer_INDEX_MAIL_LAND,
|
||||
mPlayer_INDEX_READY_PITFALL,
|
||||
mPlayer_INDEX_FALL_PITFALL,
|
||||
mPlayer_INDEX_STRUGGLE_PITFALL,
|
||||
mPlayer_INDEX_CLIMBUP_PITFALL,
|
||||
mPlayer_INDEX_STUNG_BEE,
|
||||
mPlayer_INDEX_NOTICE_BEE,
|
||||
mPlayer_INDEX_REMOVE_GRASS,
|
||||
mPlayer_INDEX_SHOCK,
|
||||
mPlayer_INDEX_KNOCK_DOOR,
|
||||
mPlayer_INDEX_CHANGE_CLOTH,
|
||||
mPlayer_INDEX_PUSH_SNOWBALL,
|
||||
mPlayer_INDEX_ROTATE_UMBRELLA,
|
||||
mPlayer_INDEX_WADE_SNOWBALL,
|
||||
mPlayer_INDEX_COMPLETE_PAYMENT,
|
||||
mPlayer_INDEX_FAIL_EMU,
|
||||
mPlayer_INDEX_STUNG_MOSQUITO,
|
||||
mPlayer_INDEX_NOTICE_MOSQUITO,
|
||||
mPlayer_INDEX_SWING_FAN,
|
||||
mPlayer_INDEX_SWITCH_ON_LIGHTHOUSE,
|
||||
mPlayer_INDEX_RADIO_EXERCISE,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT_SITDOWN,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT_WAIT,
|
||||
mPlayer_INDEX_DEMO_GETON_BOAT_WADE,
|
||||
mPlayer_INDEX_DEMO_GETOFF_BOAT_STANDUP,
|
||||
mPlayer_INDEX_DEMO_GETOFF_BOAT,
|
||||
mPlayer_INDEX_DEMO_GET_GOLDEN_ITEM,
|
||||
mPlayer_INDEX_DEMO_GET_GOLDEN_ITEM2,
|
||||
mPlayer_INDEX_DEMO_GET_GOLDEN_AXE_WAIT
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_CREATURE_INSECT,
|
||||
mPlayer_CREATURE_GYOEI,
|
||||
mPlayer_CREATURE_BALLOON,
|
||||
mPlayer_CREATURE_INSECT,
|
||||
mPlayer_CREATURE_GYOEI,
|
||||
mPlayer_CREATURE_BALLOON,
|
||||
|
||||
mPlayer_CREATURE_NUM
|
||||
mPlayer_CREATURE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_BED_ACTION_NONE,
|
||||
mPlayer_BED_ACTION_ROLL,
|
||||
mPlayer_BED_ACTION_OUT,
|
||||
|
||||
mPlayer_BED_ACTION_NUM
|
||||
};
|
||||
|
||||
typedef struct player_request_give_from_submenu_s {
|
||||
xyz_t unused; // assumed based on size
|
||||
mActor_name_t item;
|
||||
int mode_after; // player mode after the action finishes
|
||||
int present_flag; // set if the item is wrapped as presnet
|
||||
int counter_flag; // set when the item slides across a counter
|
||||
xyz_t unused; // assumed based on size
|
||||
mActor_name_t item;
|
||||
int mode_after; // player mode after the action finishes
|
||||
int present_flag; // set if the item is wrapped as presnet
|
||||
int counter_flag; // set when the item slides across a counter
|
||||
} mPlayer_request_give_from_submenu_c;
|
||||
|
||||
typedef struct player_request_putin_scoop_from_submenu_s {
|
||||
xyz_t wpos;
|
||||
mActor_name_t item;
|
||||
int got_gold_scoop;
|
||||
xyz_t wpos;
|
||||
mActor_name_t item;
|
||||
int got_gold_scoop;
|
||||
} mPlayer_request_putin_scoop_from_submenu_data_c;
|
||||
|
||||
typedef struct {
|
||||
int type;
|
||||
int got_gold_scoop;
|
||||
s16 angle_y;
|
||||
s16 item;
|
||||
int type;
|
||||
int got_gold_scoop;
|
||||
s16 angle_y;
|
||||
s16 item;
|
||||
} mPlayer_request_release_creature_gyoei_from_submenu_c;
|
||||
|
||||
typedef struct {
|
||||
int type;
|
||||
int got_gold_scoop;
|
||||
xyz_t wpos;
|
||||
int insect_type;
|
||||
int type;
|
||||
int got_gold_scoop;
|
||||
xyz_t wpos;
|
||||
int insect_type;
|
||||
} mPlayer_request_release_creature_insect_from_submenu_c;
|
||||
|
||||
typedef struct {
|
||||
int type;
|
||||
int got_gold_scoop;
|
||||
int balloon_shape_type;
|
||||
int type;
|
||||
int got_gold_scoop;
|
||||
int balloon_shape_type;
|
||||
} mPlayer_request_release_creature_balloon_from_submenu_c;
|
||||
|
||||
typedef struct {
|
||||
int _0;
|
||||
ACTOR* speak_actor;
|
||||
int _0;
|
||||
ACTOR* speak_actor;
|
||||
} mPlayer_request_demo_wait_from_submenu_c;
|
||||
|
||||
typedef struct {
|
||||
int direct;
|
||||
s16 angle;
|
||||
xyz_t wpos;
|
||||
int ftr_name;
|
||||
int direct;
|
||||
s16 angle;
|
||||
xyz_t wpos;
|
||||
int ftr_name;
|
||||
} mPlayer_request_lie_bed_c;
|
||||
|
||||
typedef union {
|
||||
mPlayer_request_give_from_submenu_c give_from_submenu;
|
||||
mPlayer_request_putin_scoop_from_submenu_data_c putin_scoop_from_submenu;
|
||||
mPlayer_request_release_creature_gyoei_from_submenu_c release_creature_gyoei_from_submenu;
|
||||
mPlayer_request_release_creature_insect_from_submenu_c release_creature_insect_from_submenu;
|
||||
mPlayer_request_release_creature_balloon_from_submenu_c release_creature_balloon_from_submenu;
|
||||
mPlayer_request_demo_wait_from_submenu_c demo_wait_from_submenu;
|
||||
mPlayer_request_lie_bed_c lie_bed;
|
||||
/* TODO: others */
|
||||
u8 force_size[72]; // TEMP
|
||||
mPlayer_request_give_from_submenu_c give_from_submenu;
|
||||
mPlayer_request_putin_scoop_from_submenu_data_c putin_scoop_from_submenu;
|
||||
mPlayer_request_release_creature_gyoei_from_submenu_c release_creature_gyoei_from_submenu;
|
||||
mPlayer_request_release_creature_insect_from_submenu_c release_creature_insect_from_submenu;
|
||||
mPlayer_request_release_creature_balloon_from_submenu_c release_creature_balloon_from_submenu;
|
||||
mPlayer_request_demo_wait_from_submenu_c demo_wait_from_submenu;
|
||||
mPlayer_request_lie_bed_c lie_bed;
|
||||
/* TODO: others */
|
||||
u8 force_size[72]; // TEMP
|
||||
} mPlayer_request_main_data;
|
||||
|
||||
typedef struct {
|
||||
int requested_main_index;
|
||||
int requested_index_pending;
|
||||
mPlayer_request_main_data request_main_data;
|
||||
int requested_main_index;
|
||||
int requested_index_pending;
|
||||
mPlayer_request_main_data request_main_data;
|
||||
} mPlayer_change_data_from_submenu_c;
|
||||
|
||||
/* sizeof(struct player_actor_s) == 0x13A8 */
|
||||
struct player_actor_s {
|
||||
/* 0x0000 */ ACTOR actor_class;
|
||||
/* 0x0174 */ cKF_SkeletonInfo_R_c keyframe0;
|
||||
/* 0x01E4 */ cKF_SkeletonInfo_R_c keyframe1;
|
||||
/* 0x0252 */ s_xyz joint_data[27];
|
||||
/* 0x02F4 */ s_xyz morph_data[27];
|
||||
/* 0x0398 */ Mtx work_mtx[2][13]; /* swapped between frames */
|
||||
/* 0x0A18 */ cKF_SkeletonInfo_R_c item_keyframe; /* for item animations */
|
||||
/* 0x0A88 */ s_xyz item_joint_data[8];
|
||||
/* 0x0AB8 */ s_xyz item_morph_data[8];
|
||||
/* 0x0AE8 */ Mtx item_work_mtx[2][4]; /* swapped between frames */
|
||||
/* 0x0CE8 */ s16 eye_pattern_normal;
|
||||
/* 0x0CEA */ s16 eye_pattern_normal_timer;
|
||||
/* 0x0CEC */ int blink_count;
|
||||
/* 0x0CF0 */ int eye_tex_idx;
|
||||
/* 0x0CF4 */ int mouth_tex_idx;
|
||||
/* 0x0CF8 */ int now_main_index;
|
||||
/* 0x0CFC */ int prev_main_index;
|
||||
/* 0x0D00 */ int changed_main_index;
|
||||
/* 0x0D04 */ int item_main_index;
|
||||
/* 0x0D08 */ int requested_main_index;
|
||||
/* 0x0D0C */ int requested_main_index_priority;
|
||||
/* 0x0D10 */ int requested_main_index_changed;
|
||||
/* 0x0D14 */ int settled_requested_main_index_priority;
|
||||
/* 0x0D18 */ u8 main_index_data[72]; // TODO: Union of many types...
|
||||
/* 0x0D60 */ u8 requested_main_index_data[72]; // TODO: Union of many types...
|
||||
/* 0x0DA8 */ u8 _0DA8[0x1270 - 0x0DA8]; /* TODO: finish */
|
||||
/* 0x1270 */ int (*request_main_invade_all_proc)(GAME*, int);
|
||||
/* 0x1274 */ int (*request_main_refuse_all_proc)(GAME*, int);
|
||||
/* 0x1278 */ int (*request_main_return_demo_all_proc)(GAME*, int, f32, int);
|
||||
/* 0x127C */ int (*request_main_wait_all_proc)(GAME*, f32, int, int);
|
||||
/* 0x1280 */ int (*request_main_talk_all_proc)(GAME*, ACTOR*, int, f32, int, int);
|
||||
/* 0x1284 */ int (*request_main_hold_all_proc)(GAME*, int, int, const xyz_t*, f32, int, int);
|
||||
/* 0x1288 */ int (*request_main_recieve_wait_all_proc)(GAME*, ACTOR*, int, int, mActor_name_t, int, int);
|
||||
/* 0x128C */ int (*request_main_give_all_proc)(GAME*, ACTOR*, int, int, mActor_name_t, int, int, int, int);
|
||||
/* 0x1290 */ int (*request_main_sitdown_all_proc)(GAME*, int, const xyz_t*, int, int);
|
||||
/* 0x1294 */ int (*request_main_close_furniture_all_proc)(GAME*, int);
|
||||
/* 0x1298 */ int (*request_main_lie_bed_all_proc)(GAME*, int, const xyz_t*, int, int, int);
|
||||
/* 0x129C */ int (*request_main_hide_all_proc)(GAME*, int);
|
||||
/* 0x12A0 */ int (*request_main_groundhog_proc)(GAME*, int);
|
||||
/* 0x12A4 */ int (*request_main_door_all_proc)(GAME*, const xyz_t*, s16, int, void*, int);
|
||||
/* 0x12A8 */ int (*request_main_outdoor_all_proc)(GAME*, int, int, int);
|
||||
/* 0x12AC */ int (*request_main_wash_car_all_proc)(GAME*, const xyz_t*, const xyz_t*, s16, ACTOR*, int);
|
||||
/* 0x12B0 */ int (*request_main_rotate_octagon_all_proc)(GAME*, ACTOR*, int, int, const xyz_t*, s16, int);
|
||||
/* 0x12B4 */ int (*request_main_throw_money_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12B8 */ int (*request_main_pray_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12BC */ int (*request_main_mail_jump_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12C0 */ int (*request_main_demo_wait_all_proc)(GAME*, int, void*, int);
|
||||
/* 0x12C4 */ int (*request_main_demo_walk_all_proc)(GAME*, f32, f32, f32, int, int);
|
||||
/* 0x12C8 */ int (*request_main_demo_geton_train_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12CC */ int (*request_main_demo_getoff_train_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12D0 */ int (*request_main_demo_standing_train_all_proc)(GAME*, int);
|
||||
/* 0x12D4 */ int (*request_main_stung_bee_all_proc)(GAME*, int);
|
||||
/* 0x12D8 */ int (*request_main_shock_all_proc)(GAME*, f32, s16, s8, int, int);
|
||||
/* 0x12DC */ int (*request_main_change_cloth_forNPC_proc)(GAME*, mActor_name_t, int);
|
||||
/* 0x12E0 */ int (*request_main_push_snowball_all_proc)(GAME*, void*, int, int);
|
||||
/* 0x12E4 */ int (*request_main_stung_mosquito_all_proc)(GAME*, int, int);
|
||||
/* 0x12E8 */ int (*request_main_switch_on_lighthouse_all_proc)(GAME*, const xyz_t*, int, int);
|
||||
/* 0x12EC */ int (*request_main_demo_geton_boat_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12F0 */ int (*request_main_demo_getoff_boat_standup_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12F4 */ int (*request_main_demo_get_golden_item2_all_proc)(GAME*, int, int);
|
||||
/* 0x12F8 */ int (*request_main_demo_get_golden_axe_wait_all_proc)(GAME*, int);
|
||||
/* 0x12FC */ int (*check_request_main_priority_proc)(GAME*, int);
|
||||
/* 0x1300 */ void* (*get_door_label_proc)(GAME*);
|
||||
/* 0x1304 */ int (*Set_Item_net_catch_request_table_proc)(ACTOR*, GAME*, u32, s8, const xyz_t*, f32);
|
||||
/* 0x1308 */ f32 (*Get_Item_net_catch_swing_timer_proc)(ACTOR*, GAME*);
|
||||
/* 0x130C */ u8 (*Set_Item_net_catch_request_force_proc)(ACTOR*, GAME*, u32, s8);
|
||||
/* 0x1310 */ void (*Set_force_position_angle_proc)(GAME*, const xyz_t*, const s_xyz*, u8);
|
||||
/* 0x1314 */ u8 (*Get_force_position_angle_proc)(GAME*, xyz_t*, s_xyz*);
|
||||
/* 0x1318 */ int (*Get_WadeEndPos_proc)(GAME*, xyz_t*);
|
||||
/* 0x131C */ int (*Check_Label_main_push_snowball_proc)(GAME*, void*);
|
||||
/* 0x1320 */ int (*SetParam_for_push_snowball_proc)(GAME*, const xyz_t*, s16, f32);
|
||||
/* 0x1324 */ int (*able_submenu_request_main_index_proc)(GAME*);
|
||||
/* 0x1328 */ int (*check_able_change_camera_normal_index_proc)(ACTOR*);
|
||||
/* 0x132C */ int (*Check_able_force_speak_label_proc)(GAME*, ACTOR*);
|
||||
/* 0x1330 */ int (*check_cancel_request_change_proc_index_proc)(int);
|
||||
/* 0x1334 */ u32 (*Get_item_net_catch_label_proc)(ACTOR*);
|
||||
/* 0x1338 */ int (*Change_item_net_catch_label_proc)(ACTOR*, u32, s8);
|
||||
/* 0x133C */ int (*Check_StopNet_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1340 */ int (*Check_HitAxe_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1344 */ int (*Check_VibUnit_OneFrame_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x1348 */ int (*Check_HitScoop_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x134C */ int (*Check_DigScoop_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1350 */ int (*check_request_change_item_proc)(GAME*);
|
||||
/* 0x1354 */ int (*Check_RotateOctagon_proc)(GAME*);
|
||||
/* 0x1358 */ int (*Check_end_stung_bee_proc)(ACTOR*);
|
||||
/* 0x135C */ int (*Get_status_for_bee_proc)(ACTOR*);
|
||||
/* 0x1360 */ int (*Set_ScrollDemo_forWade_snowball_proc)(ACTOR*, int, const xyz_t*);
|
||||
/* 0x1364 */ int (*Check_tree_shaken_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x1368 */ int (*Check_tree_shaken_little_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x136C */ int (*Check_tree_shaken_big_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x1370 */ int (*Check_Label_main_wade_snowball_proc)(GAME*, void*);
|
||||
/* 0x1374 */ int (*GetSnowballPos_forWadeSnowball_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1378 */ int (*CheckCondition_forWadeSnowball_proc)(GAME*, const xyz_t*, s16);
|
||||
/* 0x137C */ mActor_name_t (*Get_itemNo_forWindow_proc)(ACTOR*);
|
||||
/* 0x1380 */ int (*check_cancel_event_without_priority_proc)(GAME*);
|
||||
/* 0x1384 */ int (*CheckScene_AbleSubmenu_proc)();
|
||||
/* 0x1388 */ int (*Check_stung_mosquito_proc)(GAME*, ACTOR*);
|
||||
/* 0x138C */ int a_btn_pressed;
|
||||
/* 0x1390 */ int a_btn_triggers_submenu;
|
||||
/* 0x1394 */ mActor_name_t item_in_front; /* item directly in front of the player */
|
||||
/* 0x1398 */ xyz_t foward_ut_pos; /* wpos of unit in front of player */
|
||||
/* 0x13A4 */ s8 update_scene_bg_mode;
|
||||
/* 0x0000 */ ACTOR actor_class;
|
||||
/* 0x0174 */ cKF_SkeletonInfo_R_c keyframe0;
|
||||
/* 0x01E4 */ cKF_SkeletonInfo_R_c keyframe1;
|
||||
/* 0x0252 */ s_xyz joint_data[27];
|
||||
/* 0x02F4 */ s_xyz morph_data[27];
|
||||
/* 0x0398 */ Mtx work_mtx[2][13]; /* swapped between frames */
|
||||
/* 0x0A18 */ cKF_SkeletonInfo_R_c item_keyframe; /* for item animations */
|
||||
/* 0x0A88 */ s_xyz item_joint_data[8];
|
||||
/* 0x0AB8 */ s_xyz item_morph_data[8];
|
||||
/* 0x0AE8 */ Mtx item_work_mtx[2][4]; /* swapped between frames */
|
||||
/* 0x0CE8 */ s16 eye_pattern_normal;
|
||||
/* 0x0CEA */ s16 eye_pattern_normal_timer;
|
||||
/* 0x0CEC */ int blink_count;
|
||||
/* 0x0CF0 */ int eye_tex_idx;
|
||||
/* 0x0CF4 */ int mouth_tex_idx;
|
||||
/* 0x0CF8 */ int now_main_index;
|
||||
/* 0x0CFC */ int prev_main_index;
|
||||
/* 0x0D00 */ int changed_main_index;
|
||||
/* 0x0D04 */ int item_main_index;
|
||||
/* 0x0D08 */ int requested_main_index;
|
||||
/* 0x0D0C */ int requested_main_index_priority;
|
||||
/* 0x0D10 */ int requested_main_index_changed;
|
||||
/* 0x0D14 */ int settled_requested_main_index_priority;
|
||||
/* 0x0D18 */ u8 main_index_data[72]; // TODO: Union of many types...
|
||||
/* 0x0D60 */ u8 requested_main_index_data[72]; // TODO: Union of many types...
|
||||
/* 0x0DA8 */ u8 _0DA8[0x1010 - 0x0DA8]; /* TODO: finish */
|
||||
/* 0x1010 */ ClObjPipe_c col_pipe;
|
||||
/* 0x102C */ xyz_t head_pos;
|
||||
/* 0x1038 */ xyz_t feel_pos;
|
||||
/* 0x1044 */ xyz_t right_hand_pos;
|
||||
/* 0x1050 */ xyz_t right_hand_move;
|
||||
/* 0x105C */ xyz_t left_hand_pos;
|
||||
/* 0x1068 */ MtxF right_hand_mtx;
|
||||
/* 0x10A8 */ MtxF left_hand_mtx;
|
||||
/* 0x10E8 */ u8 _10E8[0x1270 - 0x10E8];
|
||||
/* 0x1270 */ int (*request_main_invade_all_proc)(GAME*, int);
|
||||
/* 0x1274 */ int (*request_main_refuse_all_proc)(GAME*, int);
|
||||
/* 0x1278 */ int (*request_main_return_demo_all_proc)(GAME*, int, f32, int);
|
||||
/* 0x127C */ int (*request_main_wait_all_proc)(GAME*, f32, int, int);
|
||||
/* 0x1280 */ int (*request_main_talk_all_proc)(GAME*, ACTOR*, int, f32, int, int);
|
||||
/* 0x1284 */ int (*request_main_hold_all_proc)(GAME*, int, int, const xyz_t*, f32, int, int);
|
||||
/* 0x1288 */ int (*request_main_recieve_wait_all_proc)(GAME*, ACTOR*, int, int, mActor_name_t, int, int);
|
||||
/* 0x128C */ int (*request_main_give_all_proc)(GAME*, ACTOR*, int, int, mActor_name_t, int, int, int, int);
|
||||
/* 0x1290 */ int (*request_main_sitdown_all_proc)(GAME*, int, const xyz_t*, int, int);
|
||||
/* 0x1294 */ int (*request_main_close_furniture_all_proc)(GAME*, int);
|
||||
/* 0x1298 */ int (*request_main_lie_bed_all_proc)(GAME*, int, const xyz_t*, int, int, int);
|
||||
/* 0x129C */ int (*request_main_hide_all_proc)(GAME*, int);
|
||||
/* 0x12A0 */ int (*request_main_groundhog_proc)(GAME*, int);
|
||||
/* 0x12A4 */ int (*request_main_door_all_proc)(GAME*, const xyz_t*, s16, int, void*, int);
|
||||
/* 0x12A8 */ int (*request_main_outdoor_all_proc)(GAME*, int, int, int);
|
||||
/* 0x12AC */ int (*request_main_wash_car_all_proc)(GAME*, const xyz_t*, const xyz_t*, s16, ACTOR*, int);
|
||||
/* 0x12B0 */ int (*request_main_rotate_octagon_all_proc)(GAME*, ACTOR*, int, int, const xyz_t*, s16, int);
|
||||
/* 0x12B4 */ int (*request_main_throw_money_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12B8 */ int (*request_main_pray_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12BC */ int (*request_main_mail_jump_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12C0 */ int (*request_main_demo_wait_all_proc)(GAME*, int, void*, int);
|
||||
/* 0x12C4 */ int (*request_main_demo_walk_all_proc)(GAME*, f32, f32, f32, int, int);
|
||||
/* 0x12C8 */ int (*request_main_demo_geton_train_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12CC */ int (*request_main_demo_getoff_train_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12D0 */ int (*request_main_demo_standing_train_all_proc)(GAME*, int);
|
||||
/* 0x12D4 */ int (*request_main_stung_bee_all_proc)(GAME*, int);
|
||||
/* 0x12D8 */ int (*request_main_shock_all_proc)(GAME*, f32, s16, s8, int, int);
|
||||
/* 0x12DC */ int (*request_main_change_cloth_forNPC_proc)(GAME*, mActor_name_t, int);
|
||||
/* 0x12E0 */ int (*request_main_push_snowball_all_proc)(GAME*, void*, int, int);
|
||||
/* 0x12E4 */ int (*request_main_stung_mosquito_all_proc)(GAME*, int, int);
|
||||
/* 0x12E8 */ int (*request_main_switch_on_lighthouse_all_proc)(GAME*, const xyz_t*, int, int);
|
||||
/* 0x12EC */ int (*request_main_demo_geton_boat_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12F0 */ int (*request_main_demo_getoff_boat_standup_all_proc)(GAME*, const xyz_t*, s16, int);
|
||||
/* 0x12F4 */ int (*request_main_demo_get_golden_item2_all_proc)(GAME*, int, int);
|
||||
/* 0x12F8 */ int (*request_main_demo_get_golden_axe_wait_all_proc)(GAME*, int);
|
||||
/* 0x12FC */ int (*check_request_main_priority_proc)(GAME*, int);
|
||||
/* 0x1300 */ void* (*get_door_label_proc)(GAME*);
|
||||
/* 0x1304 */ int (*Set_Item_net_catch_request_table_proc)(ACTOR*, GAME*, u32, s8, const xyz_t*, f32);
|
||||
/* 0x1308 */ f32 (*Get_Item_net_catch_swing_timer_proc)(ACTOR*, GAME*);
|
||||
/* 0x130C */ u8 (*Set_Item_net_catch_request_force_proc)(ACTOR*, GAME*, u32, s8);
|
||||
/* 0x1310 */ void (*Set_force_position_angle_proc)(GAME*, const xyz_t*, const s_xyz*, u8);
|
||||
/* 0x1314 */ u8 (*Get_force_position_angle_proc)(GAME*, xyz_t*, s_xyz*);
|
||||
/* 0x1318 */ int (*Get_WadeEndPos_proc)(GAME*, xyz_t*);
|
||||
/* 0x131C */ int (*Check_Label_main_push_snowball_proc)(GAME*, void*);
|
||||
/* 0x1320 */ int (*SetParam_for_push_snowball_proc)(GAME*, const xyz_t*, s16, f32);
|
||||
/* 0x1324 */ int (*able_submenu_request_main_index_proc)(GAME*);
|
||||
/* 0x1328 */ int (*check_able_change_camera_normal_index_proc)(ACTOR*);
|
||||
/* 0x132C */ int (*Check_able_force_speak_label_proc)(GAME*, ACTOR*);
|
||||
/* 0x1330 */ int (*check_cancel_request_change_proc_index_proc)(int);
|
||||
/* 0x1334 */ u32 (*Get_item_net_catch_label_proc)(ACTOR*);
|
||||
/* 0x1338 */ int (*Change_item_net_catch_label_proc)(ACTOR*, u32, s8);
|
||||
/* 0x133C */ int (*Check_StopNet_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1340 */ int (*Check_HitAxe_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1344 */ int (*Check_VibUnit_OneFrame_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x1348 */ int (*Check_HitScoop_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x134C */ int (*Check_DigScoop_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1350 */ int (*check_request_change_item_proc)(GAME*);
|
||||
/* 0x1354 */ int (*Check_RotateOctagon_proc)(GAME*);
|
||||
/* 0x1358 */ int (*Check_end_stung_bee_proc)(ACTOR*);
|
||||
/* 0x135C */ int (*Get_status_for_bee_proc)(ACTOR*);
|
||||
/* 0x1360 */ int (*Set_ScrollDemo_forWade_snowball_proc)(ACTOR*, int, const xyz_t*);
|
||||
/* 0x1364 */ int (*Check_tree_shaken_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x1368 */ int (*Check_tree_shaken_little_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x136C */ int (*Check_tree_shaken_big_proc)(ACTOR*, const xyz_t*);
|
||||
/* 0x1370 */ int (*Check_Label_main_wade_snowball_proc)(GAME*, void*);
|
||||
/* 0x1374 */ int (*GetSnowballPos_forWadeSnowball_proc)(ACTOR*, xyz_t*);
|
||||
/* 0x1378 */ int (*CheckCondition_forWadeSnowball_proc)(GAME*, const xyz_t*, s16);
|
||||
/* 0x137C */ mActor_name_t (*Get_itemNo_forWindow_proc)(ACTOR*);
|
||||
/* 0x1380 */ int (*check_cancel_event_without_priority_proc)(GAME*);
|
||||
/* 0x1384 */ int (*CheckScene_AbleSubmenu_proc)();
|
||||
/* 0x1388 */ int (*Check_stung_mosquito_proc)(GAME*, ACTOR*);
|
||||
/* 0x138C */ int a_btn_pressed;
|
||||
/* 0x1390 */ int a_btn_triggers_submenu;
|
||||
/* 0x1394 */ mActor_name_t item_in_front; /* item directly in front of the player */
|
||||
/* 0x1398 */ xyz_t foward_ut_pos; /* wpos of unit in front of player */
|
||||
/* 0x13A4 */ s8 update_scene_bg_mode;
|
||||
};
|
||||
|
||||
void Player_actor_ct(ACTOR*, GAME*);
|
||||
|
||||
@@ -67,6 +67,9 @@ extern int mPlib_request_main_close_furniture_type1(GAME* game);
|
||||
extern int mPlib_request_main_shock_type1(GAME* game, f32 time, s16 angle_y, int axe_swing);
|
||||
extern int mPlib_request_main_hold_type1(GAME* game, int ftr_no, int player_direct, const xyz_t* player_pos);
|
||||
extern int mPlib_check_player_warp_forEvent(void);
|
||||
extern int mPlib_check_player_actor_main_index_Furniture_Move(GAME* game);
|
||||
extern int mPlib_request_main_sitdown_type1(GAME* game, int direct, const xyz_t* pos, int ftr_no);
|
||||
extern int mPlib_request_main_lie_bed_type1(GAME* game, int direct, const xyz_t* pos, int head_direct, int ftr_no);
|
||||
|
||||
extern mPlayer_change_data_from_submenu_c* mPlib_Get_change_data_from_submenu_p();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user