mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 12:03:27 -04:00
Implement & match m_player_common.c_inc
This commit is contained in:
@@ -10286,9 +10286,6 @@ config/rel.yml:
|
||||
mFM_rail_pal_11:
|
||||
addrs: [0x80F8C428, 0x80F8C448]
|
||||
type: pal16
|
||||
mFM_rail_pal_12:
|
||||
addrs: [0x80F8C448, 0x80F8C468]
|
||||
type: pal16
|
||||
# ac_koinobori
|
||||
|
||||
# NPC draw data assets
|
||||
|
||||
+12
-1
@@ -8,6 +8,18 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
EffectBG_EFFECT_SHAKE,
|
||||
EffectBG_EFFECT_CUT_LEFT,
|
||||
EffectBG_EFFECT_CUT_RIGHT,
|
||||
EffectBG_EFFECT_SHAKE_SMALL,
|
||||
EffectBG_EFFECT_SHAKE_LARGE,
|
||||
|
||||
EffectBG_EFFECT_NUM
|
||||
};
|
||||
|
||||
typedef void (*EffectBG_MAKE_EFFECTBG_PROC)(GAME*, s16, s16, xyz_t*);
|
||||
|
||||
extern ACTOR_PROFILE Effectbg_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -15,4 +27,3 @@ extern ACTOR_PROFILE Effectbg_Profile;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+8
-1
@@ -8,6 +8,14 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef mActor_name_t (*aHTBL_SEARCH_PICK_UP_ITEM_LAYER2_PROC)(GAME*);
|
||||
|
||||
typedef struct htable_clip_s {
|
||||
aHTBL_SEARCH_PICK_UP_ITEM_LAYER2_PROC search_pick_up_item_layer2_proc;
|
||||
xyz_t pickup_pos;
|
||||
s16 pickup_counter;
|
||||
} aHTBL_Clip_c;
|
||||
|
||||
extern ACTOR_PROFILE Htable_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -15,4 +23,3 @@ extern ACTOR_PROFILE Htable_Profile;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -296,6 +296,7 @@ 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);
|
||||
extern int aMR_RadioBgmNow(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+1
-1
@@ -402,7 +402,7 @@ typedef struct npc_condition_s {
|
||||
|
||||
typedef struct npc_uzai_s {
|
||||
int step;
|
||||
u8 tool;
|
||||
u8 counter;
|
||||
u8 flag;
|
||||
u8 cross;
|
||||
} aNPC_uzai_c;
|
||||
|
||||
+11
-11
@@ -472,19 +472,19 @@ extern void cKF_SkeletonInfo_R_AnimationMove_base(xyz_t* base, s_xyz* sbase, xyz
|
||||
/**
|
||||
* Calculates and applies transformation to world coordinates based on animation data.
|
||||
*
|
||||
* @param calcx X-coordinate for calculation base.
|
||||
* @param calcy Y-coordinate for calculation base.
|
||||
* @param calcz Z-coordinate for calculation base.
|
||||
* @param base Base position result.
|
||||
* @param calcp Position calculation parameters.
|
||||
* @param val Angle value for rotation.
|
||||
* @param trans Transformation to apply.
|
||||
* @param calc_pos Calculated position result.
|
||||
* @param base_pos Base world position.
|
||||
* @param trans_x X-coordinate for translation.
|
||||
* @param trans_y Y-coordinate for translation.
|
||||
* @param trans_z Z-coordinate for translation.
|
||||
* @param angle_y Angle value for rotation.
|
||||
* @param scale Scaling factor.
|
||||
* @param keyframe Skeleton info structure containing animation data.
|
||||
* @param animation_flag Flags determining which transformations to apply.
|
||||
* @param trans_flag Flags determining which transformations to apply.
|
||||
*/
|
||||
extern void cKF_SkeletonInfo_R_AnimationMove_CulcTransToWorld(f32 calcx, f32 calcy, f32 calcz, xyz_t* base,
|
||||
xyz_t* calcp, s16 val, xyz_t* trans,
|
||||
cKF_SkeletonInfo_R_c* keyframe, int animation_flag);
|
||||
extern void cKF_SkeletonInfo_R_AnimationMove_CulcTransToWorld(xyz_t* calc_pos, const xyz_t* base_pos, f32 trans_x,
|
||||
f32 trans_y, f32 trans_z, s16 angle_y, const xyz_t* scale,
|
||||
cKF_SkeletonInfo_R_c* keyframe, int trans_flag);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+4
-2
@@ -25,6 +25,8 @@
|
||||
#include "ac_quest_manager_clip.h"
|
||||
#include "ac_shop_goods_h.h"
|
||||
#include "ac_shop_design.h"
|
||||
#include "ac_effectbg.h"
|
||||
#include "ac_htable.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -38,7 +40,7 @@ typedef struct clip_s {
|
||||
/* 0x020 */ int arrange_ftr_num;
|
||||
/* 0x024 */ void* _024;
|
||||
/* 0x028 */ void* misin_clip;
|
||||
/* 0x02C */ void* _02C;
|
||||
/* 0x02C */ aHTBL_Clip_c* htbl_clip;
|
||||
/* 0x030 */ void* _030;
|
||||
/* 0x034 */ void* _034;
|
||||
/* 0x038 */ void* _038;
|
||||
@@ -72,7 +74,7 @@ typedef struct clip_s {
|
||||
/* 0x0A8 */ void* _0A8;
|
||||
/* 0x0AC */ aGYO_Clip_c* gyo_clip;
|
||||
/* 0x0B0 */ aSG_Clip_c* shop_goods_clip;
|
||||
/* 0x0B4 */ void* _0B4;
|
||||
/* 0x0B4 */ EffectBG_MAKE_EFFECTBG_PROC make_effect_bg_proc;
|
||||
/* 0x0B8 */ aShopUmbrella_Clip_c* shop_umbrella_clip;
|
||||
/* 0x0BC */ aAR_Clip_c* arrange_room_clip;
|
||||
/* 0x0C0 */ void* _0C0;
|
||||
|
||||
@@ -134,6 +134,13 @@ enum {
|
||||
mCoBG_AREA_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mCoBG_BLOCK_BGCHECK_MODE_NORMAL,
|
||||
mCoBG_BLOCK_BGCHECK_MODE_INTRO_DEMO,
|
||||
|
||||
mCoBG_BLOCK_BGCHECK_MODE_NUM
|
||||
};
|
||||
|
||||
/* sizeof(mCoBG_CollisionData_c) == 4*/
|
||||
typedef struct collision_bg_data_s {
|
||||
/* 1------- -------- -------- -------- */ u32 shape : 1; /* collision shape */
|
||||
@@ -331,6 +338,11 @@ extern void mCoBG_BgCheckControll_RemoveDirectedUnitColumn(xyz_t* reverse_pos, A
|
||||
s16 check_type, int ut_x, int ut_z);
|
||||
extern xyz_t mCoBG_UniqueWallCheck(ACTOR* actorx, f32 range, f32 y_ofs);
|
||||
extern xyz_t mCoBG_ScopeWallCheck(ACTOR* actorx, const xyz_t* pos, f32 x, f32 z, f32 range, f32 y_ofs);
|
||||
extern int mCoBG_ScrollCheck(xyz_t start_pos, xyz_t end_pos, f32 radius);
|
||||
extern int mCoBG_GetBlockBgCheckMode(void);
|
||||
extern void mCoBG_GroundCheckOnly(xyz_t* reverse_pos, ACTOR* actor, f32 check_range, f32 offset_y, s16 check_type);
|
||||
extern f32 mCoBG_Wpos2BgUtCenterHeight_AddColumn(xyz_t pos);
|
||||
extern f32 mCoBG_UtNum2UtCenterY_Keep(int ut_x, int ut_z);
|
||||
|
||||
extern void mCoBG_InitMoveBgData();
|
||||
extern void mCoBG_InitBlockBgCheckMode();
|
||||
|
||||
@@ -245,7 +245,7 @@ typedef struct common_data_s {
|
||||
/* 0x0285BE */ s8 player_actor_exists;
|
||||
/* 0x0285BF */ s8 complete_payment_type;
|
||||
/* 0x0285C0 */ s8 player_decoy_flag;
|
||||
/* 0x0285C1 */ u8 _285C1;
|
||||
/* 0x0285C1 */ s8 axe_damage;
|
||||
/* 0x0285C2 */ u8 make_npc2_actor;
|
||||
/* 0x0285C4 */ s16 event_id;
|
||||
/* 0x0285C6 */ u8 event_title_flags;
|
||||
@@ -308,7 +308,7 @@ typedef struct common_data_s {
|
||||
/* 0x02DB46 */ mCD_persistent_data_c travel_persistent_data; /* used for checking if travelling back to town */
|
||||
/* 0x02DBA2 */ s16 island_weather;
|
||||
/* 0x02DBA4 */ s16 island_weather_intensity;
|
||||
/* 0x02DBA6 */ s16 _2DBA6;
|
||||
/* 0x02DBA6 */ s16 sunburn_time;
|
||||
/* 0x02DBA8 */ u8 memcard_slot;
|
||||
/* 0X02DBAC */ int my_room_message_control_flags;
|
||||
/* 0x02DBB0 */ s16 can_look_goki_count;
|
||||
|
||||
@@ -25,11 +25,14 @@ extern "C" {
|
||||
#define mFI_UT_WORLDSIZE_HALF_X_F (mFI_UT_WORLDSIZE_X_F / 2.0f)
|
||||
#define mFI_UT_WORLDSIZE_HALF_Z_F (mFI_UT_WORLDSIZE_X_F / 2.0f)
|
||||
|
||||
#define mFI_BK_WORLDSIZE_X (mFI_UT_WORLDSIZE_X * UT_X_NUM)
|
||||
#define mFI_BK_WORLDSIZE_Z (mFI_UT_WORLDSIZE_Z * UT_Z_NUM)
|
||||
#define mFI_BK_WORLDSIZE_BASE (mFI_UNIT_BASE_SIZE * UT_BASE_NUM)
|
||||
#define mFI_BK_WORLDSIZE_BASE_F ((f32)mFI_BK_WORLDSIZE_BASE)
|
||||
|
||||
#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_BK_WORLDSIZE_X mFI_BK_WORLDSIZE_BASE
|
||||
#define mFI_BK_WORLDSIZE_Z mFI_BK_WORLDSIZE_BASE
|
||||
|
||||
#define mFI_BK_WORLDSIZE_X_F mFI_BK_WORLDSIZE_BASE_F
|
||||
#define mFI_BK_WORLDSIZE_Z_F mFI_BK_WORLDSIZE_BASE_F
|
||||
|
||||
#define mFI_POS2UT(pos) ((int)((pos) / mFI_UNIT_BASE_SIZE_F))
|
||||
|
||||
|
||||
+279
-27
@@ -212,6 +212,9 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define ITEM_IS_RSVCPORG(n) ((n) >= RSV_CPORIGINAL_FLD0_00 && (n) <= RSV_CPORIGINAL_FLD7_11)
|
||||
#define ITEM_IS_RSVGBAORG(n) ((n) >= RSV_GBAORIGINAL0 && (n) <= RSV_GBAORIGINAL7)
|
||||
|
||||
#define ITEM_IS_MYMANNIQUIN(n) ((n) >= FTR_CLOTH_MANNIQUIN_MY_ORIGINAL0 && (n) <= FTR_CLOTH_MYMANNIQUIN_END)
|
||||
#define ITEM_IS_MYUMBRELLA(n) ((n) >= FTR_MYUMBRELLA_START && (n) <= FTR_MYUMBRELLA_END)
|
||||
|
||||
#define PAPER2TYPE(n) ((n) % PAPER_UNIQUE_NUM)
|
||||
#define PAPER2STACK(n) ((n) / PAPER_UNIQUE_NUM)
|
||||
|
||||
@@ -281,12 +284,232 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
((item) == GOLD_TREE_BEES) \
|
||||
)
|
||||
|
||||
// @BUG - they check for money tree variants twice
|
||||
#define IS_ITEM_COLLIDEABLE_TREE(item) \
|
||||
(((item) == TREE_S0) || \
|
||||
((item) == TREE_APPLE_S0) || \
|
||||
((item) == TREE_ORANGE_S0) || \
|
||||
((item) == TREE_PEACH_S0) || \
|
||||
((item) == TREE_PEAR_S0) || \
|
||||
((item) == TREE_CHERRY_S0) || \
|
||||
((item) == TREE_1000BELLS_S0) || \
|
||||
((item) == TREE_10000BELLS_S0) || \
|
||||
((item) == TREE_30000BELLS_S0) || \
|
||||
((item) == TREE_1000BELLS_S0) || \
|
||||
((item) == TREE_10000BELLS_S0) || \
|
||||
((item) == TREE_30000BELLS_S0) || \
|
||||
((item) == TREE_100BELLS_S0) || \
|
||||
((item) == TREE_PALM_S0) || \
|
||||
((item) == CEDAR_TREE_S0) || \
|
||||
((item) == GOLD_TREE_S0) || \
|
||||
((item) == TREE_S1) || \
|
||||
((item) == TREE_APPLE_S1) || \
|
||||
((item) == TREE_ORANGE_S1) || \
|
||||
((item) == TREE_PEACH_S1) || \
|
||||
((item) == TREE_PEAR_S1) || \
|
||||
((item) == TREE_CHERRY_S1) || \
|
||||
((item) == TREE_1000BELLS_S1) || \
|
||||
((item) == TREE_10000BELLS_S1) || \
|
||||
((item) == TREE_30000BELLS_S1) || \
|
||||
((item) == TREE_1000BELLS_S1) || \
|
||||
((item) == TREE_10000BELLS_S1) || \
|
||||
((item) == TREE_30000BELLS_S1) || \
|
||||
((item) == TREE_100BELLS_S1) || \
|
||||
((item) == TREE_PALM_S1) || \
|
||||
((item) == CEDAR_TREE_S1) || \
|
||||
((item) == GOLD_TREE_S1) || \
|
||||
((item) == TREE_S2) || \
|
||||
((item) == TREE_APPLE_S2) || \
|
||||
((item) == TREE_ORANGE_S2) || \
|
||||
((item) == TREE_PEACH_S2) || \
|
||||
((item) == TREE_PEAR_S2) || \
|
||||
((item) == TREE_CHERRY_S2) || \
|
||||
((item) == TREE_1000BELLS_S2) || \
|
||||
((item) == TREE_10000BELLS_S2) || \
|
||||
((item) == TREE_30000BELLS_S2) || \
|
||||
((item) == TREE_1000BELLS_S2) || \
|
||||
((item) == TREE_10000BELLS_S2) || \
|
||||
((item) == TREE_30000BELLS_S2) || \
|
||||
((item) == TREE_100BELLS_S2) || \
|
||||
((item) == TREE_PALM_S2) || \
|
||||
((item) == CEDAR_TREE_S2) || \
|
||||
((item) == GOLD_TREE_S2) || \
|
||||
((item) == TREE) || \
|
||||
((item) == TREE_APPLE_FRUIT) || \
|
||||
((item) == TREE_ORANGE_FRUIT) || \
|
||||
((item) == TREE_PEACH_FRUIT) || \
|
||||
((item) == TREE_PEAR_FRUIT) || \
|
||||
((item) == TREE_CHERRY_FRUIT) || \
|
||||
((item) == TREE_1000BELLS) || \
|
||||
((item) == TREE_10000BELLS) || \
|
||||
((item) == TREE_30000BELLS) || \
|
||||
((item) == TREE_100BELLS) || \
|
||||
((item) == TREE_PALM_FRUIT) || \
|
||||
((item) == CEDAR_TREE) || \
|
||||
((item) == GOLD_TREE) || \
|
||||
((item) == GOLD_TREE_SHOVEL) || \
|
||||
((item) == TREE_APPLE_NOFRUIT_0) || \
|
||||
((item) == TREE_ORANGE_NOFRUIT_0) || \
|
||||
((item) == TREE_PEACH_NOFRUIT_0) || \
|
||||
((item) == TREE_PEAR_NOFRUIT_0) || \
|
||||
((item) == TREE_CHERRY_NOFRUIT_0) || \
|
||||
((item) == TREE_PALM_NOFRUIT_0) || \
|
||||
((item) == TREE_APPLE_NOFRUIT_1) || \
|
||||
((item) == TREE_ORANGE_NOFRUIT_1) || \
|
||||
((item) == TREE_PEACH_NOFRUIT_1) || \
|
||||
((item) == TREE_PEAR_NOFRUIT_1) || \
|
||||
((item) == TREE_CHERRY_NOFRUIT_1) || \
|
||||
((item) == TREE_PALM_NOFRUIT_1) || \
|
||||
((item) == TREE_APPLE_NOFRUIT_2) || \
|
||||
((item) == TREE_ORANGE_NOFRUIT_2) || \
|
||||
((item) == TREE_PEACH_NOFRUIT_2) || \
|
||||
((item) == TREE_PEAR_NOFRUIT_2) || \
|
||||
((item) == TREE_CHERRY_NOFRUIT_2) || \
|
||||
((item) == TREE_PALM_NOFRUIT_2) || \
|
||||
((item) == TREE_BEES) || \
|
||||
((item) == TREE_FTR) || \
|
||||
((item) == TREE_LIGHTS) || \
|
||||
((item) == TREE_PRESENT) || \
|
||||
((item) == TREE_BELLS) || \
|
||||
((item) == CEDAR_TREE_BELLS) || \
|
||||
((item) == CEDAR_TREE_FTR) || \
|
||||
((item) == CEDAR_TREE_BEES) || \
|
||||
((item) == CEDAR_TREE_LIGHTS) || \
|
||||
((item) == GOLD_TREE_BELLS) || \
|
||||
((item) == GOLD_TREE_FTR) || \
|
||||
((item) == GOLD_TREE_BEES) \
|
||||
)
|
||||
|
||||
#define IS_ITEM_XMAS_TREE(item) ((item) == TREE_LIGHTS || (item) == CEDAR_TREE_LIGHTS)
|
||||
#define IS_ITEM_SMALL_TREE(item) ( \
|
||||
((item) == TREE_S0) || \
|
||||
((item) == TREE_APPLE_S0) || \
|
||||
((item) == TREE_ORANGE_S0) || \
|
||||
((item) == TREE_PEACH_S0) || \
|
||||
((item) == TREE_PEAR_S0) || \
|
||||
((item) == TREE_CHERRY_S0) || \
|
||||
((item) == TREE_1000BELLS_S0) || \
|
||||
((item) == TREE_10000BELLS_S0) || \
|
||||
((item) == TREE_30000BELLS_S0) || \
|
||||
((item) == TREE_1000BELLS_S0) || \
|
||||
((item) == TREE_10000BELLS_S0) || \
|
||||
((item) == TREE_30000BELLS_S0) || \
|
||||
((item) == TREE_100BELLS_S0) || \
|
||||
((item) == TREE_PALM_S0) || \
|
||||
((item) == CEDAR_TREE_S0) || \
|
||||
((item) == GOLD_TREE_S0) \
|
||||
)
|
||||
#define IS_ITEM_MED_TREE(item) ( \
|
||||
((item) == TREE_S1) || \
|
||||
((item) == TREE_APPLE_S1) || \
|
||||
((item) == TREE_ORANGE_S1) || \
|
||||
((item) == TREE_PEACH_S1) || \
|
||||
((item) == TREE_PEAR_S1) || \
|
||||
((item) == TREE_CHERRY_S1) || \
|
||||
((item) == TREE_1000BELLS_S1) || \
|
||||
((item) == TREE_10000BELLS_S1) || \
|
||||
((item) == TREE_30000BELLS_S1) || \
|
||||
((item) == TREE_1000BELLS_S1) || \
|
||||
((item) == TREE_10000BELLS_S1) || \
|
||||
((item) == TREE_30000BELLS_S1) || \
|
||||
((item) == TREE_100BELLS_S1) || \
|
||||
((item) == TREE_PALM_S1) || \
|
||||
((item) == CEDAR_TREE_S1) || \
|
||||
((item) == GOLD_TREE_S1) \
|
||||
)
|
||||
#define IS_ITEM_LARGE_TREE(item) ( \
|
||||
((item) == TREE_S2) || \
|
||||
((item) == TREE_APPLE_S2) || \
|
||||
((item) == TREE_ORANGE_S2) || \
|
||||
((item) == TREE_PEACH_S2) || \
|
||||
((item) == TREE_PEAR_S2) || \
|
||||
((item) == TREE_CHERRY_S2) || \
|
||||
((item) == TREE_1000BELLS_S2) || \
|
||||
((item) == TREE_10000BELLS_S2) || \
|
||||
((item) == TREE_30000BELLS_S2) || \
|
||||
((item) == TREE_1000BELLS_S2) || \
|
||||
((item) == TREE_10000BELLS_S2) || \
|
||||
((item) == TREE_30000BELLS_S2) || \
|
||||
((item) == TREE_100BELLS_S2) || \
|
||||
((item) == TREE_PALM_S2) || \
|
||||
((item) == CEDAR_TREE_S2) || \
|
||||
((item) == GOLD_TREE_S2) \
|
||||
)
|
||||
|
||||
#define IS_ITEM_FULL_TREE(item) \
|
||||
(((item) == TREE) || \
|
||||
((item) == TREE_APPLE_FRUIT) || \
|
||||
((item) == TREE_ORANGE_FRUIT) || \
|
||||
((item) == TREE_PEACH_FRUIT) || \
|
||||
((item) == TREE_PEAR_FRUIT) || \
|
||||
((item) == TREE_CHERRY_FRUIT) || \
|
||||
((item) == TREE_1000BELLS) || \
|
||||
((item) == TREE_10000BELLS) || \
|
||||
((item) == TREE_30000BELLS) || \
|
||||
((item) == TREE_100BELLS) || \
|
||||
((item) == TREE_PALM_FRUIT) || \
|
||||
((item) == CEDAR_TREE) || \
|
||||
((item) == GOLD_TREE) || \
|
||||
((item) == GOLD_TREE_SHOVEL) || \
|
||||
((item) == TREE_APPLE_NOFRUIT_0) || \
|
||||
((item) == TREE_ORANGE_NOFRUIT_0 ) || \
|
||||
((item) == TREE_PEACH_NOFRUIT_0) || \
|
||||
((item) == TREE_PEAR_NOFRUIT_0) || \
|
||||
((item) == TREE_CHERRY_NOFRUIT_0) || \
|
||||
((item) == TREE_PALM_NOFRUIT_0) || \
|
||||
((item) == TREE_APPLE_NOFRUIT_1) || \
|
||||
((item) == TREE_ORANGE_NOFRUIT_1 ) || \
|
||||
((item) == TREE_PEACH_NOFRUIT_1) || \
|
||||
((item) == TREE_PEAR_NOFRUIT_1) || \
|
||||
((item) == TREE_CHERRY_NOFRUIT_1) || \
|
||||
((item) == TREE_PALM_NOFRUIT_1) || \
|
||||
((item) == TREE_APPLE_NOFRUIT_2) || \
|
||||
((item) == TREE_ORANGE_NOFRUIT_2 ) || \
|
||||
((item) == TREE_PEACH_NOFRUIT_2) || \
|
||||
((item) == TREE_PEAR_NOFRUIT_2) || \
|
||||
((item) == TREE_CHERRY_NOFRUIT_2) || \
|
||||
((item) == TREE_PALM_NOFRUIT_2) || \
|
||||
((item) == TREE_BEES) || \
|
||||
((item) == TREE_FTR) || \
|
||||
((item) == TREE_LIGHTS) || \
|
||||
((item) == TREE_PRESENT) || \
|
||||
((item) == TREE_BELLS) || \
|
||||
((item) == CEDAR_TREE_BELLS) || \
|
||||
((item) == CEDAR_TREE_FTR) || \
|
||||
((item) == CEDAR_TREE_BEES) || \
|
||||
((item) == CEDAR_TREE_LIGHTS) || \
|
||||
((item) == GOLD_TREE_BELLS) || \
|
||||
((item) == GOLD_TREE_FTR) || \
|
||||
((item) == GOLD_TREE_BEES) \
|
||||
)
|
||||
|
||||
#define IS_ITEM_SHAKEABLE_TREE(item) (IS_ITEM_MED_TREE(item) || IS_ITEM_LARGE_TREE(item) || IS_ITEM_FULL_TREE(item))
|
||||
|
||||
#define IS_ITEM_BEE_TREE(item) ((item) == TREE_BEES || (item) == CEDAR_TREE_BEES || (item) == GOLD_TREE_BEES)
|
||||
|
||||
#define IS_ITEM_STONE(item) ((item) >= ROCK_A && (item) <= ROCK_E)
|
||||
#define IS_ITEM_STONE_TC(item) (((item) >= MONEY_ROCK_A && (item) <= MONEY_ROCK_E) || (item) == MONEY_FLOWER_SEED) /* TC is ten coin */
|
||||
#define IS_ITEM_ROCK(item) (((item) >= ROCK_A && (item) <= ROCK_E) || ((item) >= MONEY_ROCK_A && (item) <= MONEY_ROCK_E) || (item) == MONEY_FLOWER_SEED)
|
||||
|
||||
#define IS_ITEM_GRASS(item) ((item) >= GRASS_A && (item) <= GRASS_C) /* aka IS_ITEM_WEED */
|
||||
|
||||
#define IS_ITEM_HANIWA(item) ((item) >= HANIWA_START && (item) <= HANIWA_END)
|
||||
|
||||
#define IS_ITEM_DIARY(item) ((item) >= ITM_DIARY_START && (item) <= (ITM_DIARY_END-1))
|
||||
|
||||
#define IS_ITEM_AXE(item) ((item) == ITM_AXE || ((item) >= ITM_AXE_USE_1 && (item) <= ITM_AXE_USE_7))
|
||||
#define IS_ITEM_GOLDEN_TOOL(item) ((item) >= ITM_GOLDEN_NET && (item) <= ITM_GOLDEN_ROD)
|
||||
|
||||
#define ITEM_IS_HOLE(item) ((item) >= HOLE_START && (item) <= HOLE_END)
|
||||
#define ITEM_IS_BURIED_PITFALL_HOLE(item) ((item) >= BURIED_PITFALL_HOLE_START && (item) <= BURIED_PITFALL_HOLE_END)
|
||||
#define ITEM_IS_BURIED_PITFALL_HOLE_RSV(item) ((item) >= BURIED_PITFALL_HOLE_RSV_START && (item) <= BURIED_PITFALL_HOLE_RSV_END)
|
||||
|
||||
#define ITEM_IS_PLAYER_HOUSE(item) ((item) >= HOUSE0 && (item) < (HOUSE3 + 1))
|
||||
#define ITEM_IS_NPC_HOUSE(item) ((item) >= NPC_HOUSE_START && (item) < NPC_HOUSE_END)
|
||||
#define ITEM_IS_ISLAND_NPC_HOUSE(item) ((item) >= COTTAGE_NPC && (item) < COTTAGE_NPC_END)
|
||||
|
||||
#define ITEM_IS_SIGNBOARD(item) ((item) >= SIGNBOARD_START && (item) <= SIGNBOARD_END)
|
||||
|
||||
#define BG_CATEGORY 0
|
||||
#define ENV_CATEGORY 8
|
||||
|
||||
@@ -334,33 +557,60 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define HOLE23 (HOLE_START + 23)
|
||||
#define HOLE24 (HOLE_START + 24)
|
||||
#define HOLE_END HOLE24
|
||||
#define BURIED_PITFALL_START 0x002A
|
||||
#define BURIED_PITFALL00 (BURIED_PITFALL_START + 0)
|
||||
#define BURIED_PITFALL01 (BURIED_PITFALL_START + 1)
|
||||
#define BURIED_PITFALL02 (BURIED_PITFALL_START + 2)
|
||||
#define BURIED_PITFALL03 (BURIED_PITFALL_START + 3)
|
||||
#define BURIED_PITFALL04 (BURIED_PITFALL_START + 4)
|
||||
#define BURIED_PITFALL05 (BURIED_PITFALL_START + 5)
|
||||
#define BURIED_PITFALL06 (BURIED_PITFALL_START + 6)
|
||||
#define BURIED_PITFALL07 (BURIED_PITFALL_START + 7)
|
||||
#define BURIED_PITFALL08 (BURIED_PITFALL_START + 8)
|
||||
#define BURIED_PITFALL09 (BURIED_PITFALL_START + 9)
|
||||
#define BURIED_PITFALL10 (BURIED_PITFALL_START + 10)
|
||||
#define BURIED_PITFALL11 (BURIED_PITFALL_START + 11)
|
||||
#define BURIED_PITFALL12 (BURIED_PITFALL_START + 12)
|
||||
#define BURIED_PITFALL13 (BURIED_PITFALL_START + 13)
|
||||
#define BURIED_PITFALL14 (BURIED_PITFALL_START + 14)
|
||||
#define BURIED_PITFALL15 (BURIED_PITFALL_START + 15)
|
||||
#define BURIED_PITFALL16 (BURIED_PITFALL_START + 16)
|
||||
#define BURIED_PITFALL17 (BURIED_PITFALL_START + 17)
|
||||
#define BURIED_PITFALL18 (BURIED_PITFALL_START + 18)
|
||||
#define BURIED_PITFALL19 (BURIED_PITFALL_START + 19)
|
||||
#define BURIED_PITFALL20 (BURIED_PITFALL_START + 20)
|
||||
#define BURIED_PITFALL21 (BURIED_PITFALL_START + 21)
|
||||
#define BURIED_PITFALL22 (BURIED_PITFALL_START + 22)
|
||||
#define BURIED_PITFALL23 (BURIED_PITFALL_START + 23)
|
||||
#define BURIED_PITFALL24 (BURIED_PITFALL_START + 24)
|
||||
#define BURIED_PITFALL_END BURIED_PITFALL24
|
||||
#define BURIED_PITFALL_HOLE_START 0x002A
|
||||
#define BURIED_PITFALL_HOLE00 (BURIED_PITFALL_HOLE_START + 0)
|
||||
#define BURIED_PITFALL_HOLE01 (BURIED_PITFALL_HOLE_START + 1)
|
||||
#define BURIED_PITFALL_HOLE02 (BURIED_PITFALL_HOLE_START + 2)
|
||||
#define BURIED_PITFALL_HOLE03 (BURIED_PITFALL_HOLE_START + 3)
|
||||
#define BURIED_PITFALL_HOLE04 (BURIED_PITFALL_HOLE_START + 4)
|
||||
#define BURIED_PITFALL_HOLE05 (BURIED_PITFALL_HOLE_START + 5)
|
||||
#define BURIED_PITFALL_HOLE06 (BURIED_PITFALL_HOLE_START + 6)
|
||||
#define BURIED_PITFALL_HOLE07 (BURIED_PITFALL_HOLE_START + 7)
|
||||
#define BURIED_PITFALL_HOLE08 (BURIED_PITFALL_HOLE_START + 8)
|
||||
#define BURIED_PITFALL_HOLE09 (BURIED_PITFALL_HOLE_START + 9)
|
||||
#define BURIED_PITFALL_HOLE10 (BURIED_PITFALL_HOLE_START + 10)
|
||||
#define BURIED_PITFALL_HOLE11 (BURIED_PITFALL_HOLE_START + 11)
|
||||
#define BURIED_PITFALL_HOLE12 (BURIED_PITFALL_HOLE_START + 12)
|
||||
#define BURIED_PITFALL_HOLE13 (BURIED_PITFALL_HOLE_START + 13)
|
||||
#define BURIED_PITFALL_HOLE14 (BURIED_PITFALL_HOLE_START + 14)
|
||||
#define BURIED_PITFALL_HOLE15 (BURIED_PITFALL_HOLE_START + 15)
|
||||
#define BURIED_PITFALL_HOLE16 (BURIED_PITFALL_HOLE_START + 16)
|
||||
#define BURIED_PITFALL_HOLE17 (BURIED_PITFALL_HOLE_START + 17)
|
||||
#define BURIED_PITFALL_HOLE18 (BURIED_PITFALL_HOLE_START + 18)
|
||||
#define BURIED_PITFALL_HOLE19 (BURIED_PITFALL_HOLE_START + 19)
|
||||
#define BURIED_PITFALL_HOLE20 (BURIED_PITFALL_HOLE_START + 20)
|
||||
#define BURIED_PITFALL_HOLE21 (BURIED_PITFALL_HOLE_START + 21)
|
||||
#define BURIED_PITFALL_HOLE22 (BURIED_PITFALL_HOLE_START + 22)
|
||||
#define BURIED_PITFALL_HOLE23 (BURIED_PITFALL_HOLE_START + 23)
|
||||
#define BURIED_PITFALL_HOLE24 (BURIED_PITFALL_HOLE_START + 24)
|
||||
#define BURIED_PITFALL_HOLE_END BURIED_PITFALL_HOLE24
|
||||
#define BURIED_PITFALL_HOLE_RSV_START 0x0043
|
||||
#define BURIED_PITFALL_HOLE_RSV00 (BURIED_PITFALL_HOLE_RSV_START + 0)
|
||||
#define BURIED_PITFALL_HOLE_RSV01 (BURIED_PITFALL_HOLE_RSV_START + 1)
|
||||
#define BURIED_PITFALL_HOLE_RSV02 (BURIED_PITFALL_HOLE_RSV_START + 2)
|
||||
#define BURIED_PITFALL_HOLE_RSV03 (BURIED_PITFALL_HOLE_RSV_START + 3)
|
||||
#define BURIED_PITFALL_HOLE_RSV04 (BURIED_PITFALL_HOLE_RSV_START + 4)
|
||||
#define BURIED_PITFALL_HOLE_RSV05 (BURIED_PITFALL_HOLE_RSV_START + 5)
|
||||
#define BURIED_PITFALL_HOLE_RSV06 (BURIED_PITFALL_HOLE_RSV_START + 6)
|
||||
#define BURIED_PITFALL_HOLE_RSV07 (BURIED_PITFALL_HOLE_RSV_START + 7)
|
||||
#define BURIED_PITFALL_HOLE_RSV08 (BURIED_PITFALL_HOLE_RSV_START + 8)
|
||||
#define BURIED_PITFALL_HOLE_RSV09 (BURIED_PITFALL_HOLE_RSV_START + 9)
|
||||
#define BURIED_PITFALL_HOLE_RSV10 (BURIED_PITFALL_HOLE_RSV_START + 10)
|
||||
#define BURIED_PITFALL_HOLE_RSV11 (BURIED_PITFALL_HOLE_RSV_START + 11)
|
||||
#define BURIED_PITFALL_HOLE_RSV12 (BURIED_PITFALL_HOLE_RSV_START + 12)
|
||||
#define BURIED_PITFALL_HOLE_RSV13 (BURIED_PITFALL_HOLE_RSV_START + 13)
|
||||
#define BURIED_PITFALL_HOLE_RSV14 (BURIED_PITFALL_HOLE_RSV_START + 14)
|
||||
#define BURIED_PITFALL_HOLE_RSV15 (BURIED_PITFALL_HOLE_RSV_START + 15)
|
||||
#define BURIED_PITFALL_HOLE_RSV16 (BURIED_PITFALL_HOLE_RSV_START + 16)
|
||||
#define BURIED_PITFALL_HOLE_RSV17 (BURIED_PITFALL_HOLE_RSV_START + 17)
|
||||
#define BURIED_PITFALL_HOLE_RSV18 (BURIED_PITFALL_HOLE_RSV_START + 18)
|
||||
#define BURIED_PITFALL_HOLE_RSV19 (BURIED_PITFALL_HOLE_RSV_START + 19)
|
||||
#define BURIED_PITFALL_HOLE_RSV20 (BURIED_PITFALL_HOLE_RSV_START + 20)
|
||||
#define BURIED_PITFALL_HOLE_RSV21 (BURIED_PITFALL_HOLE_RSV_START + 21)
|
||||
#define BURIED_PITFALL_HOLE_RSV22 (BURIED_PITFALL_HOLE_RSV_START + 22)
|
||||
#define BURIED_PITFALL_HOLE_RSV23 (BURIED_PITFALL_HOLE_RSV_START + 23)
|
||||
#define BURIED_PITFALL_HOLE_RSV24 (BURIED_PITFALL_HOLE_RSV_START + 24)
|
||||
#define BURIED_PITFALL_HOLE_RSV_END BURIED_PITFALL_HOLE_RSV24
|
||||
#define SHINE_SPOT 0x005C
|
||||
#define HOLE_SHINE 0x005D
|
||||
#define TREE_BEES 0x005E
|
||||
@@ -569,6 +819,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define SIGNBOARD5_PLR3 (SIGNBOARD4_PLR3 + 1)
|
||||
#define SIGNBOARD6_PLR3 (SIGNBOARD5_PLR3 + 1)
|
||||
#define SIGNBOARD7_PLR3 (SIGNBOARD6_PLR3 + 1)
|
||||
#define SIGNBOARD_END (SIGNBOARD7_PLR3)
|
||||
|
||||
#define FTR0_START 0x1000
|
||||
#define FTR_CLASSIC_WARDROBE 0x1004
|
||||
@@ -2269,6 +2520,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define BOAT (STRUCTURE_START + 79)
|
||||
#define COTTAGE_MY (STRUCTURE_START + 80)
|
||||
#define COTTAGE_NPC (STRUCTURE_START + 81)
|
||||
#define COTTAGE_NPC_END (COTTAGE_NPC + 1)
|
||||
#define PORT_SIGN (STRUCTURE_START + 82)
|
||||
#define STRUCTURE_END (STRUCTURE_START + 83)
|
||||
|
||||
|
||||
+299
-21
@@ -17,6 +17,14 @@ extern "C" {
|
||||
#define mPlayer_DEBT3 49800 /* Basement */
|
||||
#define mPlayer_DEBT4 798000 /* Upper floor */
|
||||
|
||||
/* These are in frames */
|
||||
#define mPlayer_SUNBURN_TIME_VILLAGE (15 * mTM_SECONDS_IN_MINUTE * FRAMES_PER_SECOND)
|
||||
#define mPlayer_SUNBURN_TIME_ISLAND (5 * mTM_SECONDS_IN_MINUTE * FRAMES_PER_SECOND)
|
||||
|
||||
#define mPlayer_SUNBURN_MAX_RANK 8
|
||||
|
||||
#define mPlayer_RADIO_EXCERCISE_COMMAND_RING_BUFFER_SIZE 8
|
||||
|
||||
typedef struct player_actor_s PLAYER_ACTOR;
|
||||
|
||||
#define mPlayer_FORCE_POSITION_ANGLE_NONE 0
|
||||
@@ -31,6 +39,8 @@ typedef struct player_actor_s PLAYER_ACTOR;
|
||||
#define mPlayer_WALK_FLAG_SET_POS (1 << 1)
|
||||
#define mPlayer_WALK_FLAG_RESET_MORPH (1 << 2)
|
||||
|
||||
#define mPlayer_NET_CATCH_TABLE_COUNT 8
|
||||
|
||||
enum {
|
||||
mPlayer_JOINT_ROOT,
|
||||
mPlayer_JOINT_BASE,
|
||||
@@ -66,7 +76,7 @@ enum {
|
||||
mPlayer_ADDRESSABLE_TRUE,
|
||||
mPlayer_ADDRESSABLE_FALSE_MOVEMENT,
|
||||
mPlayer_ADDRESSABLE_FALSE_TALKING,
|
||||
mPlayer_ADDRESSABLE_FALSE_USING_TOOL,
|
||||
mPlayer_ADDRESSABLE_FALSE_READY_NET,
|
||||
|
||||
mPlayer_ADDRESSABLE_NUM
|
||||
};
|
||||
@@ -215,6 +225,61 @@ enum {
|
||||
|
||||
#define mPlayer_MAIN_INDEX_VALID(idx) ((idx) >= 0 && (idx) < mPlayer_INDEX_NUM)
|
||||
|
||||
enum {
|
||||
mPlayer_REQUEST_PRIORITY_0,
|
||||
mPlayer_REQUEST_PRIORITY_1,
|
||||
mPlayer_REQUEST_PRIORITY_2,
|
||||
mPlayer_REQUEST_PRIORITY_3,
|
||||
mPlayer_REQUEST_PRIORITY_4,
|
||||
mPlayer_REQUEST_PRIORITY_5,
|
||||
mPlayer_REQUEST_PRIORITY_6,
|
||||
mPlayer_REQUEST_PRIORITY_7,
|
||||
mPlayer_REQUEST_PRIORITY_8,
|
||||
mPlayer_REQUEST_PRIORITY_9,
|
||||
mPlayer_REQUEST_PRIORITY_10,
|
||||
mPlayer_REQUEST_PRIORITY_11,
|
||||
mPlayer_REQUEST_PRIORITY_12,
|
||||
mPlayer_REQUEST_PRIORITY_13,
|
||||
mPlayer_REQUEST_PRIORITY_14,
|
||||
mPlayer_REQUEST_PRIORITY_15,
|
||||
mPlayer_REQUEST_PRIORITY_16,
|
||||
mPlayer_REQUEST_PRIORITY_17,
|
||||
mPlayer_REQUEST_PRIORITY_18,
|
||||
mPlayer_REQUEST_PRIORITY_19,
|
||||
mPlayer_REQUEST_PRIORITY_20,
|
||||
mPlayer_REQUEST_PRIORITY_21,
|
||||
mPlayer_REQUEST_PRIORITY_22,
|
||||
mPlayer_REQUEST_PRIORITY_23,
|
||||
mPlayer_REQUEST_PRIORITY_24,
|
||||
mPlayer_REQUEST_PRIORITY_25,
|
||||
mPlayer_REQUEST_PRIORITY_26,
|
||||
mPlayer_REQUEST_PRIORITY_27,
|
||||
mPlayer_REQUEST_PRIORITY_28,
|
||||
mPlayer_REQUEST_PRIORITY_29,
|
||||
mPlayer_REQUEST_PRIORITY_30,
|
||||
mPlayer_REQUEST_PRIORITY_31,
|
||||
mPlayer_REQUEST_PRIORITY_32,
|
||||
mPlayer_REQUEST_PRIORITY_33,
|
||||
mPlayer_REQUEST_PRIORITY_34,
|
||||
mPlayer_REQUEST_PRIORITY_35,
|
||||
mPlayer_REQUEST_PRIORITY_36,
|
||||
mPlayer_REQUEST_PRIORITY_37,
|
||||
mPlayer_REQUEST_PRIORITY_38,
|
||||
mPlayer_REQUEST_PRIORITY_39,
|
||||
mPlayer_REQUEST_PRIORITY_40,
|
||||
mPlayer_REQUEST_PRIORITY_41,
|
||||
mPlayer_REQUEST_PRIORITY_42,
|
||||
mPlayer_REQUEST_PRIORITY_43,
|
||||
mPlayer_REQUEST_PRIORITY_44,
|
||||
mPlayer_REQUEST_PRIORITY_45,
|
||||
|
||||
mPlayer_REQUEST_PRIORITY_NUM
|
||||
};
|
||||
|
||||
#define mPlayer_REQUEST_PRIORITY_NONE -1
|
||||
|
||||
#define mPlayer_REQUEST_PRIORITY_VALID(prio) ((prio) >= 0 && (prio) < mPlayer_REQUEST_PRIORITY_NUM)
|
||||
|
||||
enum {
|
||||
mPlayer_ANIM_WAIT1,
|
||||
mPlayer_ANIM_WALK1,
|
||||
@@ -377,6 +442,35 @@ enum {
|
||||
mPlayer_ANIM_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_ITEM_MAIN_NONE,
|
||||
mPlayer_ITEM_MAIN_AXE_NORMAL,
|
||||
mPlayer_ITEM_MAIN_NET_NORMAL,
|
||||
mPlayer_ITEM_MAIN_NET_SWING,
|
||||
mPlayer_ITEM_MAIN_NET_STOP,
|
||||
mPlayer_ITEM_MAIN_TUMBLE,
|
||||
mPlayer_ITEM_MAIN_TUBMLE_GETUP,
|
||||
mPlayer_ITEM_MAIN_NET_PULL,
|
||||
mPlayer_ITEM_MAIN_NET_PUTAWAY,
|
||||
mPlayer_ITEM_MAIN_NET_COMPLETE_COLLECTION,
|
||||
mPlayer_ITEM_MAIN_UMBRELLA_NORMAL,
|
||||
mPlayer_ITEM_MAIN_ROD_NORMAL,
|
||||
mPlayer_ITEM_MAIN_ROD_READY,
|
||||
mPlayer_ITEM_MAIN_ROD_CAST,
|
||||
mPlayer_ITEM_MAIN_ROD_AIR,
|
||||
mPlayer_ITEM_MAIN_ROD_RELAX,
|
||||
mPlayer_ITEM_MAIN_ROD_COLLECT,
|
||||
mPlayer_ITEM_MAIN_ROD_VIB,
|
||||
mPlayer_ITEM_MAIN_ROD_FLY,
|
||||
mPlayer_ITEM_MAIN_ROD_PUTAWAY,
|
||||
mPlayer_ITEM_MAIN_SCOOP_NORMAL,
|
||||
mPlayer_ITEM_MAIN_BALLOON_NORMAL,
|
||||
mPlayer_ITEM_MAIN_WINDMILL_NORMAL,
|
||||
mPlayer_ITEM_MAIN_FAN_NORMAL,
|
||||
|
||||
mPlayer_ITEM_MAIN_NUM,
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_ITEM_KIND_AXE,
|
||||
mPlayer_ITEM_KIND_AXE_USE_1,
|
||||
@@ -469,6 +563,8 @@ enum {
|
||||
mPlayer_ITEM_KIND_NUM /* Are there more? */
|
||||
};
|
||||
|
||||
#define mPlayer_ITEM_KIND_NONE -1
|
||||
|
||||
#define mPlayer_ITEM_KIND_CHECK(kind, min, max) ((kind) >= (min) && (kind) < ((max) + 1))
|
||||
#define mPlayer_ITEM_IS_AXE(kind) mPlayer_ITEM_KIND_CHECK(kind, mPlayer_ITEM_KIND_AXE, mPlayer_ITEM_KIND_GOLD_AXE)
|
||||
#define mPlayer_ITEM_IS_NET(kind) mPlayer_ITEM_KIND_CHECK(kind, mPlayer_ITEM_KIND_NET, mPlayer_ITEM_KIND_GOLD_NET)
|
||||
@@ -483,6 +579,9 @@ enum {
|
||||
mPlayer_ITEM_KIND_CHECK(kind, mPlayer_ITEM_KIND_YELLOW_PINWHEEL, mPlayer_ITEM_KIND_FANCY_PINWHEEL)
|
||||
#define mPlayer_ITEM_IS_FAN(kind) \
|
||||
mPlayer_ITEM_KIND_CHECK(kind, mPlayer_ITEM_KIND_BLUEBELL_FAN, mPlayer_ITEM_KIND_LEAF_FAN)
|
||||
#define mPlayer_ITEM_IS_NOT_TOOL(kind) \
|
||||
(mPlayer_ITEM_IS_UMBRELLA(kind) || mPlayer_ITEM_IS_BALLOON(kind) || mPlayer_ITEM_IS_WINDMILL(kind) || \
|
||||
mPlayer_ITEM_IS_FAN(kind))
|
||||
|
||||
#define mPlayer_ITEM_KIND_VALID(kind) ((kind) >= 0 && kind < mPlayer_ITEM_KIND_NUM)
|
||||
|
||||
@@ -592,6 +691,59 @@ enum {
|
||||
mPlayer_DRAW_TYPE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_SHADOW_TYPE_NORMAL,
|
||||
mPlayer_SHADOW_TYPE_WORLD_POS,
|
||||
mPlayer_SHADOW_TYPE_ANIME_POS,
|
||||
mPlayer_SHADOW_TYPE_NONE,
|
||||
|
||||
mPlayer_SHADOW_TYPE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_STATUS_FOR_BEE_WAIT,
|
||||
mPlayer_STATUS_FOR_BEE_ATTACK,
|
||||
mPlayer_STATUS_FOR_BEE_ENTER_BUILDING,
|
||||
|
||||
mPlayer_STATUS_FOR_BEE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_NET_CATCH_TYPE_INSECT,
|
||||
mPlayer_NET_CATCH_TYPE_UNK1,
|
||||
|
||||
mPlayer_NET_CATCH_TYPE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_ABLE_ITEM_CAN_USE_ALL,
|
||||
mPlayer_ABLE_ITEM_CAN_USE_UMBRELLA,
|
||||
mPlayer_ABLE_ITEM_RESTRICTED,
|
||||
mPlayer_ABLE_ITEM_NONE,
|
||||
|
||||
mPlayer_ABLE_ITEM_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_AXE_HIT_NONE,
|
||||
mPlayer_AXE_HIT_REFLECT,
|
||||
mPlayer_AXE_HIT_TREE,
|
||||
|
||||
mPlayer_AXE_HIT_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mPlayer_AXE_BREAK_FROM_SWING,
|
||||
mPlayer_AXE_BREAK_FROM_REFLECT,
|
||||
|
||||
mPlayer_AXE_BREAK_FROM_NUM
|
||||
};
|
||||
|
||||
#define mPlayer_SETUP_TEXTURE_ANIMATION_NONE (0 << 0)
|
||||
/* Where is (1 << 0)? */
|
||||
#define mPlayer_SETUP_TEXTURE_ANIMATION_EYE (1 << 1)
|
||||
#define mPlayer_SETUP_TEXTURE_ANIMATION_MOUTH (1 << 2)
|
||||
|
||||
typedef struct player_request_return_demo_s {
|
||||
int prev_main_index;
|
||||
f32 time;
|
||||
@@ -745,6 +897,10 @@ typedef struct player_request_stung_mosquito_s {
|
||||
u32 label;
|
||||
} mPlayer_request_stung_mosquito_c;
|
||||
|
||||
typedef struct player_request_notice_mosquito_s {
|
||||
u32 label;
|
||||
} mPlayer_request_notice_mosquito_c;
|
||||
|
||||
typedef struct player_request_switch_on_lighthouse_s {
|
||||
s16 angle_y;
|
||||
xyz_t pos;
|
||||
@@ -795,7 +951,7 @@ typedef struct player_request_wade_s {
|
||||
|
||||
typedef struct player_request_wade_snowball_s {
|
||||
int dir;
|
||||
xyz_t pos;
|
||||
xyz_t snowball_dist;
|
||||
u32 label;
|
||||
} mPlayer_request_wade_snowball_c;
|
||||
|
||||
@@ -927,7 +1083,7 @@ typedef struct player_request_reflect_scoop_s {
|
||||
typedef struct player_request_putin_scoop_s {
|
||||
xyz_t dig_pos;
|
||||
mActor_name_t item;
|
||||
int _10;
|
||||
int get_gold_scoop_flag;
|
||||
} mPlayer_request_putin_scoop_c;
|
||||
|
||||
typedef struct player_request_putaway_scoop_s {
|
||||
@@ -1039,7 +1195,7 @@ typedef struct player_request_radio_exercise_s {
|
||||
|
||||
typedef struct player_request_demo_geton_boat_wade_s {
|
||||
int dir;
|
||||
f32 speed; // TODO: check this
|
||||
f32 border_ofs;
|
||||
} mPlayer_request_demo_geton_boat_wade_c;
|
||||
|
||||
typedef struct player_request_demo_getoff_boat_s {
|
||||
@@ -1116,6 +1272,7 @@ typedef union {
|
||||
mPlayer_request_shock_c shock;
|
||||
mPlayer_request_push_snowball_c push_snowball;
|
||||
mPlayer_request_stung_mosquito_c stung_mosquito;
|
||||
mPlayer_request_notice_mosquito_c notice_mosquito;
|
||||
mPlayer_request_switch_on_lighthouse_c switch_on_lighthouse;
|
||||
mPlayer_request_demo_geton_boat_c demo_geton_boat;
|
||||
mPlayer_request_demo_getoff_boat_standup_c demo_getoff_boat_standup;
|
||||
@@ -1219,6 +1376,7 @@ typedef union {
|
||||
mPlayer_request_shock_c shock;
|
||||
mPlayer_request_push_snowball_c push_snowball;
|
||||
mPlayer_request_stung_mosquito_c stung_mosquito;
|
||||
mPlayer_request_notice_mosquito_c notice_mosquito;
|
||||
mPlayer_request_switch_on_lighthouse_c switch_on_lighthouse;
|
||||
mPlayer_request_demo_geton_boat_c demo_geton_boat;
|
||||
mPlayer_request_demo_getoff_boat_standup_c demo_getoff_boat_standup;
|
||||
@@ -1305,6 +1463,10 @@ typedef struct player_main_wait_s {
|
||||
int radio_exercise_command;
|
||||
} mPlayer_main_wait_c;
|
||||
|
||||
typedef struct player_main_door_s {
|
||||
u32 label;
|
||||
} mPlayer_main_door_c;
|
||||
|
||||
typedef struct player_main_wade_s {
|
||||
int dir;
|
||||
xyz_t start_pos;
|
||||
@@ -1332,6 +1494,49 @@ typedef struct player_main_pickup_jump_s {
|
||||
int exchange_flag;
|
||||
} mPlayer_main_pickup_jump_c;
|
||||
|
||||
typedef struct player_main_swing_axe_s {
|
||||
/* 0x00 */ xyz_t target_pos;
|
||||
/* 0x0C */ mActor_name_t item;
|
||||
/* 0x0E */ u16 axe_damage_no;
|
||||
/* 0x10 */ int tree_ut_x;
|
||||
/* 0x14 */ int tree_ut_z;
|
||||
/* 0x18 */ int bee_flag;
|
||||
/* 0x1C */ s16 bee_angle_y;
|
||||
/* 0x20 */ int bee_counter;
|
||||
} mPlayer_main_swing_axe_c;
|
||||
|
||||
typedef struct player_main_reflect_axe_s {
|
||||
xyz_t target_pos;
|
||||
mActor_name_t item;
|
||||
u16 axe_damage_no;
|
||||
ACTOR* reflect_actor_p;
|
||||
} mPlayer_main_reflect_axe_c;
|
||||
|
||||
typedef struct player_main_broken_axe_s {
|
||||
union {
|
||||
mPlayer_main_swing_axe_c swing_axe;
|
||||
mPlayer_main_reflect_axe_c reflect_axe;
|
||||
} axe;
|
||||
int break_type; /* mPlayer_AXE_BREAK_FROM_* */
|
||||
f32 _28;
|
||||
int _2C;
|
||||
} mPlayer_main_broken_axe_c;
|
||||
|
||||
typedef struct player_main_dig_scoop_s {
|
||||
xyz_t target_pos;
|
||||
mActor_name_t item;
|
||||
} mPlayer_main_dig_scoop_c;
|
||||
|
||||
typedef struct player_main_fill_scoop_s {
|
||||
xyz_t target_pos;
|
||||
} mPlayer_main_fill_scoop_c;
|
||||
|
||||
typedef struct player_main_reflect_scoop_s {
|
||||
xyz_t target_pos;
|
||||
mActor_name_t item;
|
||||
ACTOR* reflect_actor_p;
|
||||
} mPlayer_main_reflect_scoop_c;
|
||||
|
||||
typedef struct player_main_get_scoop_s {
|
||||
xyz_t target_pos;
|
||||
mActor_name_t item;
|
||||
@@ -1349,6 +1554,12 @@ typedef struct player_main_putaway_scoop_s {
|
||||
int submenu_flag;
|
||||
} mPlayer_main_putaway_scoop_c;
|
||||
|
||||
typedef struct player_main_putin_scoop_s {
|
||||
xyz_t target_pos;
|
||||
mActor_name_t item;
|
||||
int get_gold_scoop_flag; // TODO: check this
|
||||
} mPlayer_main_putin_scoop_c;
|
||||
|
||||
typedef struct player_main_wash_car_s {
|
||||
int anime_idx;
|
||||
int change_anime_idx;
|
||||
@@ -1360,6 +1571,51 @@ typedef struct player_main_wash_car_s {
|
||||
int effect_flag;
|
||||
} mPlayer_main_wash_car_c;
|
||||
|
||||
typedef struct player_main_swing_net_s {
|
||||
f32 swing_timer;
|
||||
} mPlayer_main_swing_net_c;
|
||||
|
||||
typedef struct player_main_demo_wade_s {
|
||||
int dir;
|
||||
xyz_t start_pos;
|
||||
xyz_t end_pos;
|
||||
f32 timer;
|
||||
} mPlayer_main_demo_wade_c;
|
||||
|
||||
typedef struct player_main_shake_tree_s {
|
||||
xyz_t target_pos;
|
||||
mActor_name_t item;
|
||||
int tree_ut_x;
|
||||
int tree_ut_z;
|
||||
int bee_flag;
|
||||
s16 bee_angle_y;
|
||||
int bee_spawn_timer;
|
||||
} mPlayer_main_shake_tree_c;
|
||||
|
||||
typedef struct player_main_stung_bee_s {
|
||||
f32 timer;
|
||||
} mPlayer_main_stung_bee_c;
|
||||
|
||||
typedef struct player_main_push_snowball_s {
|
||||
u32 label;
|
||||
} mPlayer_main_push_snowball_c;
|
||||
|
||||
typedef struct player_main_wade_snowball_s {
|
||||
int dir;
|
||||
xyz_t start_pos;
|
||||
xyz_t end_pos;
|
||||
f32 timer;
|
||||
xyz_t snowball_dist;
|
||||
u32 snowball_label;
|
||||
} mPlayer_main_wade_snowball_c;
|
||||
|
||||
typedef struct player_main_demo_geton_boat_wade_s {
|
||||
int dir;
|
||||
xyz_t start_pos;
|
||||
xyz_t end_pos;
|
||||
f32 timer;
|
||||
} mPlayer_main_demo_geton_boat_wade_c;
|
||||
|
||||
typedef struct player_main_demo_geton_boat_sitdown_s {
|
||||
s16 angle_z;
|
||||
} mPlayer_main_demo_geton_boat_sitdown_c;
|
||||
@@ -1384,12 +1640,27 @@ typedef union {
|
||||
mPlayer_main_return_outdoor_c return_outdoor;
|
||||
mPlayer_main_return_outdoor2_c return_outdoor2;
|
||||
mPlayer_main_wait_c wait;
|
||||
mPlayer_main_door_c door;
|
||||
mPlayer_main_wade_c wade;
|
||||
mPlayer_main_pickup_c pickup;
|
||||
mPlayer_main_pickup_jump_c pickup_jump;
|
||||
mPlayer_main_swing_axe_c swing_axe;
|
||||
mPlayer_main_reflect_axe_c reflect_axe;
|
||||
mPlayer_main_broken_axe_c broken_axe;
|
||||
mPlayer_main_swing_net_c swing_net;
|
||||
mPlayer_main_dig_scoop_c dig_scoop;
|
||||
mPlayer_main_fill_scoop_c fill_scoop;
|
||||
mPlayer_main_reflect_scoop_c reflect_scoop;
|
||||
mPlayer_main_get_scoop_c get_scoop;
|
||||
mPlayer_main_putaway_scoop_c putaway_scoop;
|
||||
mPlayer_main_putin_scoop_c putin_scoop;
|
||||
mPlayer_main_demo_wade_c demo_wade;
|
||||
mPlayer_main_wash_car_c wash_car;
|
||||
mPlayer_main_shake_tree_c shake_tree;
|
||||
mPlayer_main_stung_bee_c stung_bee;
|
||||
mPlayer_main_push_snowball_c push_snowball;
|
||||
mPlayer_main_wade_snowball_c wade_snowball;
|
||||
mPlayer_main_demo_geton_boat_wade_c demo_geton_boat_wade;
|
||||
mPlayer_main_demo_geton_boat_sitdown_c demo_geton_boat_sitdown;
|
||||
mPlayer_main_demo_getoff_boat_standup_c demo_getoff_boat_standup;
|
||||
mPlayer_main_uki_c uki;
|
||||
@@ -1412,6 +1683,10 @@ typedef struct controller_data_s {
|
||||
mActor_name_t equiped_item;
|
||||
} mPlayer_Controller_Data_c;
|
||||
|
||||
typedef struct player_eye_pattern_s {
|
||||
s16 pattern;
|
||||
s16 timer;
|
||||
} mPlayer_eye_pattern_c;
|
||||
|
||||
/* sizeof(struct player_actor_s) == 0x13A8 */
|
||||
struct player_actor_s {
|
||||
@@ -1425,15 +1700,14 @@ struct player_actor_s {
|
||||
/* 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;
|
||||
/* 0x0CE8 */ mPlayer_eye_pattern_c eye_pattern_normal;
|
||||
/* 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;
|
||||
/* 0x0D04 */ int now_item_main_index;
|
||||
/* 0x0D08 */ int requested_main_index;
|
||||
/* 0x0D0C */ int requested_main_index_priority;
|
||||
/* 0x0D10 */ int requested_main_index_changed;
|
||||
@@ -1443,8 +1717,12 @@ struct player_actor_s {
|
||||
/* 0x0DA8 */ u8 _0DA8[0x0DB4 - 0x0DA8]; /* unused */
|
||||
/* 0x0DB4 */ int animation0_idx;
|
||||
/* 0x0DB8 */ int animation1_idx;
|
||||
/* 0x0DBC */ int _0DBC;
|
||||
/* 0x0DC0 */ int _0DC0[9];
|
||||
/* 0x0DBC */ int part_table_idx;
|
||||
/* 0x0DC0 */ int _0DC0;
|
||||
/* 0x0DC4 */ int item_shape_addr[2];
|
||||
/* 0x0DCC */ int item_anim_addr[2];
|
||||
/* 0x0DD4 */ int item_shape_segaddr[2];
|
||||
/* 0x0DDC */ int item_anim_segaddr[2];
|
||||
/* 0x0DE4 */ int item_shape_type[2];
|
||||
/* 0x0DEC */ int item_animation_idx[2];
|
||||
/* 0x0DF4 */ int item_bank_idx;
|
||||
@@ -1466,10 +1744,10 @@ struct player_actor_s {
|
||||
/* 0x0E70 */ u32 item_net_catch_label;
|
||||
/* 0x0E74 */ s8 item_net_catch_type;
|
||||
/* 0x0E75 */ s8 item_net_has_catch;
|
||||
/* 0x0E78 */ u32 item_net_catch_label_request_table[8];
|
||||
/* 0x0E98 */ s8 item_net_catch_type_request_table[8];
|
||||
/* 0x0EA0 */ xyz_t item_net_catch_pos_request_table[8];
|
||||
/* 0x0F00 */ f32 item_net_catch_radius_request_table[8];
|
||||
/* 0x0E78 */ u32 item_net_catch_label_request_table[mPlayer_NET_CATCH_TABLE_COUNT];
|
||||
/* 0x0E98 */ s8 item_net_catch_type_request_table[mPlayer_NET_CATCH_TABLE_COUNT];
|
||||
/* 0x0EA0 */ xyz_t item_net_catch_pos_request_table[mPlayer_NET_CATCH_TABLE_COUNT];
|
||||
/* 0x0F00 */ f32 item_net_catch_radius_request_table[mPlayer_NET_CATCH_TABLE_COUNT];
|
||||
/* 0x0F20 */ int item_net_catch_request_use_count;
|
||||
/* 0x0F24 */ u32 item_net_catch_label_request_force;
|
||||
/* 0x0F28 */ s8 item_net_catch_type_request_force;
|
||||
@@ -1477,7 +1755,7 @@ struct player_actor_s {
|
||||
/* 0x0F30 */ ACTOR* fishing_rod_actor_p;
|
||||
/* 0x0F34 */ xyz_t item_rod_top_pos;
|
||||
/* 0x0F40 */ xyz_t item_rod_virtual_top_pos;
|
||||
/* 0x0F4C */ int update_item_rod_top_pos;
|
||||
/* 0x0F4C */ int item_rod_top_pos_set;
|
||||
/* 0x0F50 */ s16 item_rod_angle_z;
|
||||
/* 0x0F54 */ ClObjTris_c item_axe_tris;
|
||||
/* 0x0F68 */ ClObjTrisElem_c item_axe_tris_elem_tbl[1];
|
||||
@@ -1534,18 +1812,18 @@ struct player_actor_s {
|
||||
/* 0x11F9 */ s8 bgm_volume_mode;
|
||||
/* 0x11FC */ int crash_snowball_for_wade;
|
||||
/* 0x1200 */ xyz_t snowball_dist;
|
||||
/* 0x120C */ int wade_request_flag;
|
||||
/* 0x120C */ int request_wade_dir;
|
||||
/* 0x1210 */ u16 cancel_wade_timer;
|
||||
/* 0x1214 */ int cancel_wade_flag;
|
||||
/* 0x1218 */ f32 geton_boat_wade;
|
||||
/* 0x121C */ u16 frame_timer;
|
||||
/* 0x1214 */ int excute_cancel_wade;
|
||||
/* 0x1218 */ f32 geton_boat_wade_border_start;
|
||||
/* 0x121C */ u16 player_frame_counter;
|
||||
/* 0x121E */ s8 bee_chase_bgm_flag;
|
||||
/* 0x121F */ s8 status_for_bee;
|
||||
/* 0x1220 */ void* angle_force_speak_label;
|
||||
/* 0x1220 */ u32 able_force_speak_label;
|
||||
/* 0x1224 */ int player_sunburn_rankup;
|
||||
/* 0x1228 */ int player_sunburn_rankdown;
|
||||
/* 0x122C */ s8 radio_exercise_command_ring_buffer[8];
|
||||
/* 0x1234 */ s8 radio_exercise_ring_buffer_cmd_num;
|
||||
/* 0x122C */ s8 radio_exercise_command_ring_buffer[mPlayer_RADIO_EXCERCISE_COMMAND_RING_BUFFER_SIZE];
|
||||
/* 0x1234 */ s8 radio_exercise_ring_buffer_cmd_timer;
|
||||
/* 0x1238 */ int radio_exercise_command_ring_buffer_index;
|
||||
/* 0x123C */ int radio_exercise_continue_cmd_idx;
|
||||
/* 0x1240 */ f32 radio_exercise_cmd_timer;
|
||||
|
||||
@@ -106,6 +106,10 @@ extern int mPlib_request_main_demo_getoff_train_type1(GAME* game);
|
||||
extern int mPlib_check_player_actor_main_index_OutDoorMove2(GAME* game);
|
||||
extern int mPlib_Check_SetOrderSubmenu(void);
|
||||
extern void mPlib_Clear_change_data_from_submenu(void);
|
||||
extern int mPlib_strength_request_main_wade_priority(GAME* game);
|
||||
extern int mPlib_strength_request_main_demo_wade_priority(GAME* game);
|
||||
extern int mPlib_strength_request_main_demo_geton_boat_wade_priority(GAME* game);
|
||||
extern int mPlib_strength_request_main_wade_snowball_priority(GAME* game);
|
||||
|
||||
extern mPlayer_change_data_from_submenu_c* mPlib_Get_change_data_from_submenu_p();
|
||||
|
||||
@@ -120,6 +124,10 @@ extern void mPlib_request_main_give_type1(GAME* game, mActor_name_t item, int mo
|
||||
#define GET_PLAYER_ACTOR_NOW() get_player_actor_withoutCheck((GAME_PLAY*)gamePT)
|
||||
#define GET_PLAYER_ACTOR_GAME(game) get_player_actor_withoutCheck((GAME_PLAY*)(game))
|
||||
|
||||
#define GET_PLAYER_ACTOR_ACTOR(play) ((ACTOR*)GET_PLAYER_ACTOR(play))
|
||||
#define GET_PLAYER_ACTOR_NOW_ACTOR() ((ACTOR*)GET_PLAYER_ACTOR_NOW())
|
||||
#define GET_PLAYER_ACTOR_GAME_ACTOR(game) ((ACTOR*)GET_PLAYER_ACTOR_GAME(game))
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+3
-3
@@ -178,9 +178,9 @@ struct submenu_s {
|
||||
/* 0x162 */ u8 open_flag; // only set to 0 or 1, checked at least once in aQMgr_actor_move_talk_sub_hand_item_wait
|
||||
/* 0x163 */ u8 after_mode; /* relates to code which runs after the submenu process */
|
||||
/* 0x164 */ u8 unk_164; // only set to 0 in mSM_move_LINKWait in AC
|
||||
/* 0x165 */ u8 disable_start_btn_flag; /* when set to TRUE, the START button input will be ignored */
|
||||
/* 0x166 */ u8 disable_start_btn_timer; /* timer for when to disable the start button ignore flag */
|
||||
/* 0x168 */ xyz_t water_pos; /* calculated to the nearest water position to the player for releasing fish */
|
||||
/* 0x165 */ u8 start_refuse; /* when set to TRUE, the START button input will be ignored */
|
||||
/* 0x166 */ u8 start_refuse_timer; /* timer for when to disable the start button ignore flag */
|
||||
/* 0x168 */ xyz_t water_pos; /* calculated to the nearest water position to the player for releasing fish */
|
||||
/* 0x174 */ Submenu_Item_c*
|
||||
item_p; /* pointer to a 'Submenu_Item_c' array, seemingly only points to Submenu::items */
|
||||
/* 0x178 */ s16 item_num; /* number of items in the item array */
|
||||
|
||||
@@ -83,6 +83,8 @@ typedef u32 unknown;
|
||||
#define BUTTON_B 0x4000
|
||||
#define BUTTON_A 0x8000
|
||||
|
||||
#define FRAMES_PER_SECOND 60
|
||||
|
||||
#define ARRAY_SIZE(arr, type) (sizeof(arr) / sizeof(type))
|
||||
#define ARRAY_COUNT(arr) (int)(sizeof(arr) / sizeof(arr[0]))
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@ static void change_FGUnit(ACTOR* actor, int type) {
|
||||
if (mSN_ClearSnowman(name) == 0) {
|
||||
int dug = FALSE;
|
||||
|
||||
if ((((*name >= BURIED_PITFALL_START) && (*name <= BURIED_PITFALL_END)) || (*name == SHINE_SPOT))) {
|
||||
if ((((*name >= BURIED_PITFALL_HOLE_START) && (*name <= BURIED_PITFALL_HOLE_END)) ||
|
||||
(*name == SHINE_SPOT))) {
|
||||
dug = TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,8 @@ static void change_FGUnit(STRUCTURE_ACTOR* buggy, int type) {
|
||||
|
||||
if (mSN_ClearSnowman(unit_fg) == FALSE) {
|
||||
dug = FALSE;
|
||||
if ((((*unit_fg >= BURIED_PITFALL_START) && (*unit_fg <= BURIED_PITFALL_END)) || (*unit_fg == SHINE_SPOT))) {
|
||||
if ((((*unit_fg >= BURIED_PITFALL_HOLE_START) && (*unit_fg <= BURIED_PITFALL_HOLE_END)) ||
|
||||
(*unit_fg == SHINE_SPOT))) {
|
||||
dug = TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,8 @@ static void change_FGUnit(STRUCTURE_ACTOR* kamakura, int type) {
|
||||
|
||||
if (mSN_ClearSnowman(unit_fg) == FALSE) {
|
||||
dug = FALSE;
|
||||
if ((((*unit_fg >= BURIED_PITFALL_START) && (*unit_fg <= BURIED_PITFALL_END)) || (*unit_fg == SHINE_SPOT))) {
|
||||
if ((((*unit_fg >= BURIED_PITFALL_HOLE_START) && (*unit_fg <= BURIED_PITFALL_HOLE_END)) ||
|
||||
(*unit_fg == SHINE_SPOT))) {
|
||||
dug = TRUE;
|
||||
}
|
||||
|
||||
@@ -171,14 +172,7 @@ static void aKKR_wait(STRUCTURE_ACTOR* kamakura, GAME_PLAY* play) {
|
||||
|
||||
static void aKKR_setup_action(STRUCTURE_ACTOR* kamakura, int action) {
|
||||
static aSTR_MOVE_PROC process[] = {
|
||||
&aKKR_wait,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
&aKKR_wait, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||
};
|
||||
|
||||
kamakura->action_proc = process[action];
|
||||
|
||||
@@ -39,7 +39,7 @@ static void aNRG_take_with(NPC_RCN_GUIDE_ACTOR* rcn_guide, GAME_PLAY* play) {
|
||||
static void aNRG_decide_house_wait(NPC_RCN_GUIDE_ACTOR* rcn_guide, GAME_PLAY* play) {
|
||||
int next_think_idx = -1;
|
||||
|
||||
if (GET_PLAYER_ACTOR_NOW()->cancel_wade_flag) {
|
||||
if (GET_PLAYER_ACTOR_NOW()->excute_cancel_wade) {
|
||||
/* Player is trying to leave the acre, so let them know they can't */
|
||||
next_think_idx = aNRC_THINK_STOP_WADE;
|
||||
} else if (Common_Get(clip).demo_clip != NULL && Common_Get(clip).demo_clip->type == mDemo_CLIP_TYPE_INTRO_DEMO) {
|
||||
@@ -112,7 +112,7 @@ static void aNRG_exit(NPC_RCN_GUIDE_ACTOR* rcn_guide, GAME_PLAY* play) {
|
||||
|
||||
intro_demo->rcn_guide_actor_p = NULL;
|
||||
Actor_delete(&rcn_guide->npc_class.actor_class);
|
||||
play->submenu.disable_start_btn_flag = FALSE;
|
||||
play->submenu.start_refuse = FALSE;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -177,7 +177,7 @@ static void aNRG_approach_init(NPC_RCN_GUIDE_ACTOR* rcn_guide, GAME_PLAY* play)
|
||||
f32 z;
|
||||
|
||||
/* Player cannot open the start menu */
|
||||
play->submenu.disable_start_btn_flag = TRUE;
|
||||
play->submenu.start_refuse = TRUE;
|
||||
/* Make the player stand around waiting */
|
||||
mPlib_request_main_demo_wait_type1(&play->game, 0, NULL);
|
||||
|
||||
|
||||
+2
-1
@@ -76,7 +76,8 @@ static void aTnt_ChangeFg(ACTOR* actor, int type) {
|
||||
if (mSN_ClearSnowman(name) == 0) {
|
||||
int dug = FALSE;
|
||||
|
||||
if ((((*name >= BURIED_PITFALL_START) && (*name <= BURIED_PITFALL_END)) || (*name == SHINE_SPOT))) {
|
||||
if ((((*name >= BURIED_PITFALL_HOLE_START) && (*name <= BURIED_PITFALL_HOLE_END)) ||
|
||||
(*name == SHINE_SPOT))) {
|
||||
dug = TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -624,7 +624,7 @@ static int bIT_common_bury_after(mActor_name_t fg_bury_item, mActor_name_t fg_ho
|
||||
int hole_no = mCoBG_GetHoleNumber(*bury_pos);
|
||||
|
||||
if (hole_no != -1) {
|
||||
*buried_item_p = BURIED_PITFALL_START + hole_no;
|
||||
*buried_item_p = BURIED_PITFALL_HOLE_START + hole_no;
|
||||
} else {
|
||||
*buried_item_p = EMPTY_NO;
|
||||
}
|
||||
@@ -2907,7 +2907,7 @@ static int bIT_actor_pit_fall(mActor_name_t pit_fg_item, int ut_x, int ut_z, mAc
|
||||
|
||||
mFI_UtNum2CenterWpos(&pos, ut_x, ut_z);
|
||||
pos.y = mCoBG_GetBgY_OnlyCenter_FromWpos2(pos, -1.0f);
|
||||
pitfall_fg_no = pit_fg_item - BURIED_PITFALL_START;
|
||||
pitfall_fg_no = pit_fg_item - BURIED_PITFALL_HOLE_START;
|
||||
mFI_SetFG_common(pitfall_fg_no + 0x43, pos, FALSE);
|
||||
hole_fg_no = pitfall_fg_no + HOLE_START;
|
||||
bIT_actor_pit_entry(common->pit, 1, hole_fg_no, &pos, fg_item_in_pit);
|
||||
|
||||
+14
-14
@@ -893,7 +893,7 @@ extern int cKF_SkeletonInfo_R_combine_play(cKF_SkeletonInfo_R_c* info1, cKF_Skel
|
||||
s_xyz* applyjoint;
|
||||
|
||||
if ((info1 == NULL) || (info2 == NULL) || (flag == NULL)) {
|
||||
return 0;
|
||||
return cKF_STATE_NONE;
|
||||
}
|
||||
joint = (F32_IS_ZERO(info1->morph_counter)) ? &info1->current_joint->x : &info1->target_joint->x;
|
||||
|
||||
@@ -930,7 +930,7 @@ extern int cKF_SkeletonInfo_R_combine_play(cKF_SkeletonInfo_R_c* info1, cKF_Skel
|
||||
if (info1->morph_counter <= 0.0f) {
|
||||
info1->morph_counter = 0.0f;
|
||||
}
|
||||
return 0;
|
||||
return cKF_STATE_NONE;
|
||||
}
|
||||
cKF_SkeletonInfo_R_morphJoint(info1);
|
||||
info1->morph_counter += 0.5f;
|
||||
@@ -1210,25 +1210,25 @@ extern void cKF_SkeletonInfo_R_AnimationMove_base(xyz_t* base, s_xyz* sbase, xyz
|
||||
keyframe->fixed_counter = count;
|
||||
}
|
||||
|
||||
extern void cKF_SkeletonInfo_R_AnimationMove_CulcTransToWorld(f32 calcx, f32 calcy, f32 calcz, xyz_t* base,
|
||||
xyz_t* calcp, s16 val, xyz_t* trans,
|
||||
cKF_SkeletonInfo_R_c* keyframe, int animation_flag) {
|
||||
extern void cKF_SkeletonInfo_R_AnimationMove_CulcTransToWorld(xyz_t* calc_pos, const xyz_t* base_pos, f32 trans_x,
|
||||
f32 trans_y, f32 trans_z, s16 angle_y, const xyz_t* scale,
|
||||
cKF_SkeletonInfo_R_c* keyframe, int trans_flag) {
|
||||
f32 sin, cos;
|
||||
f32 j_x, j_z;
|
||||
s_xyz* cur_joint = keyframe->current_joint;
|
||||
|
||||
if (animation_flag & cKF_ANIMATION_TRANS_XZ) {
|
||||
j_x = cur_joint->x - calcx;
|
||||
j_z = cur_joint->z - calcz;
|
||||
if (trans_flag & cKF_ANIMATION_TRANS_XZ) {
|
||||
j_x = cur_joint->x - trans_x;
|
||||
j_z = cur_joint->z - trans_z;
|
||||
|
||||
sin = sin_s(val);
|
||||
cos = cos_s(val);
|
||||
sin = sin_s(angle_y);
|
||||
cos = cos_s(angle_y);
|
||||
|
||||
base->x = calcp->x + trans->x * ((j_x * cos) + (j_z * sin));
|
||||
base->z = calcp->z + trans->z * ((-j_x * sin) + (j_z * cos));
|
||||
calc_pos->x = base_pos->x + scale->x * ((j_x * cos) + (j_z * sin));
|
||||
calc_pos->z = base_pos->z + scale->z * ((-j_x * sin) + (j_z * cos));
|
||||
}
|
||||
|
||||
if (animation_flag & cKF_ANIMATION_TRANS_Y) {
|
||||
base->y = calcp->y + trans->y * (cur_joint->y - calcy);
|
||||
if (trans_flag & cKF_ANIMATION_TRANS_Y) {
|
||||
calc_pos->y = base_pos->y + scale->y * (cur_joint->y - trans_y);
|
||||
}
|
||||
}
|
||||
|
||||
+449
-496
File diff suppressed because it is too large
Load Diff
+2411
-2718
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -738,7 +738,7 @@ static void mISL_toHole(mActor_name_t* fg, u16* deposit, int bx, int bz) {
|
||||
hole_no = 0;
|
||||
}
|
||||
|
||||
fg[0] = BURIED_PITFALL_START + hole_no;
|
||||
fg[0] = BURIED_PITFALL_HOLE_START + hole_no;
|
||||
deposit[0] &= ~(1 << ut_x);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -450,7 +450,7 @@ extern void mMsm_DepositItemBlock(mActor_name_t* fg_items, mActor_name_t item, i
|
||||
int hole_num = mCoBG_BnumUnum2HoleNumber(block_x, block_z, ut_x, ut_z);
|
||||
|
||||
if (hole_num != -1) {
|
||||
*fg_items = BURIED_PITFALL_START + hole_num;
|
||||
*fg_items = BURIED_PITFALL_HOLE_START + hole_num;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -315,7 +315,7 @@ extern mActor_name_t bg_item_fg_sub_dig2take_conv(mActor_name_t item) {
|
||||
mActor_name_t dig_item;
|
||||
|
||||
dig_item = item;
|
||||
if ((item >= BURIED_PITFALL_START) && (item <= BURIED_PITFALL_END)) {
|
||||
if ((item >= BURIED_PITFALL_HOLE_START) && (item <= BURIED_PITFALL_HOLE_END)) {
|
||||
dig_item = ITM_PITFALL;
|
||||
}
|
||||
|
||||
|
||||
+13
-7
@@ -7,6 +7,10 @@
|
||||
#include "sys_matrix.h"
|
||||
#include "ac_tools.h"
|
||||
#include "m_rcp.h"
|
||||
#include "ac_my_room.h"
|
||||
#include "ac_insect.h"
|
||||
#include "ac_set_ovl_insect.h"
|
||||
#include "m_house.h"
|
||||
|
||||
/* Common */
|
||||
#include "../src/m_player_controller.c_inc"
|
||||
@@ -197,18 +201,18 @@ static int Player_actor_request_main_demo_getoff_boat_standup_all(GAME*, const x
|
||||
static int Player_actor_request_main_demo_get_golden_item2_all(GAME*, int, int);
|
||||
static int Player_actor_request_main_demo_get_golden_axe_wait_all(GAME*, int);
|
||||
static int Player_actor_check_request_main_priority(GAME*, int);
|
||||
static void* Player_actor_get_door_label(GAME*);
|
||||
static u32 Player_actor_get_door_label(GAME*);
|
||||
static int Player_actor_Set_Item_net_catch_request_table(ACTOR*, GAME*, u32, s8, const xyz_t*, f32);
|
||||
static f32 Player_actor_Get_Item_net_catch_swing_timer(ACTOR*, GAME*);
|
||||
static u8 Player_actor_Set_Item_net_catch_request_force(ACTOR*, GAME*, u32, s8);
|
||||
static int Player_actor_Set_Item_net_catch_request_force(ACTOR*, GAME*, u32, s8);
|
||||
static void Player_actor_Set_force_position_angle(GAME*, const xyz_t*, const s_xyz*, u8);
|
||||
static u8 Player_actor_Get_force_position_angle(GAME*, xyz_t*, s_xyz*);
|
||||
static int Player_actor_Get_WadeEndPos(GAME*, xyz_t*);
|
||||
static int Player_actor_Check_Label_main_push_snowball(GAME*, void*);
|
||||
static int Player_actor_Check_Label_main_push_snowball(GAME*, u32);
|
||||
static int Player_actor_SetParam_for_push_snowball(GAME*, const xyz_t*, s16, f32);
|
||||
static int Player_actor_able_submenu_request_main_index(GAME*);
|
||||
static int Player_actor_check_able_change_camera_normal_index(ACTOR*);
|
||||
static int Player_actor_Check_able_force_speak_label(GAME*, ACTOR*);
|
||||
static int Player_actor_Check_able_force_speak_label(GAME*, u32);
|
||||
static int Player_actor_check_cancel_request_change_proc_index(int);
|
||||
static u32 Player_actor_Get_item_net_catch_label(ACTOR*);
|
||||
static int Player_actor_Change_item_net_catch_label(ACTOR*, u32, s8);
|
||||
@@ -225,18 +229,20 @@ static int Player_actor_Set_ScrollDemo_forWade_snowball(ACTOR*, int, const xyz_t
|
||||
static int Player_actor_Check_tree_shaken(ACTOR*, const xyz_t*);
|
||||
static int Player_actor_Check_tree_shaken_little(ACTOR*, const xyz_t*);
|
||||
static int Player_actor_Check_tree_shaken_big(ACTOR*, const xyz_t*);
|
||||
static int Player_actor_Check_Label_main_wade_snowball(GAME*, void*);
|
||||
static int Player_actor_Check_Label_main_wade_snowball(GAME*, u32);
|
||||
static int Player_actor_GetSnowballPos_forWadeSnowball(ACTOR*, xyz_t*);
|
||||
static int Player_actor_CheckCondition_forWadeSnowball(GAME*, const xyz_t*, s16);
|
||||
static mActor_name_t Player_actor_Get_itemNo_forWindow(ACTOR*);
|
||||
static int Player_actor_check_cancel_event_without_priority(GAME*);
|
||||
static int Player_actor_CheckScene_AbleSubmenu(void);
|
||||
static int Player_actor_Check_stung_mosquito(GAME*, ACTOR*);
|
||||
static int Player_actor_Check_stung_mosquito(GAME*, u32);
|
||||
|
||||
static int Player_actor_request_main_walk_all(GAME*, xyz_t*, f32, int, int);
|
||||
static int Player_actor_request_main_run_all(GAME*, f32, int, int);
|
||||
static int Player_actor_request_main_dash_all(GAME*, f32, int, int);
|
||||
|
||||
static void Player_actor_Refuse_pickup_demo_ct(ACTOR*);
|
||||
|
||||
static void Player_actor_init_value(ACTOR* actorx, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actorx;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
@@ -255,7 +261,7 @@ static void Player_actor_init_value(ACTOR* actorx, GAME* game) {
|
||||
actorx->world.position.z, 0, 0, 0, -1, -1, -1, EMPTY_NO, -1, -1, -1);
|
||||
player->animation0_idx = -1;
|
||||
player->animation1_idx = -1;
|
||||
player->_0DBC = -1;
|
||||
player->part_table_idx = -1;
|
||||
player->item_shape_type[0] = -1;
|
||||
player->item_shape_type[1] = -1;
|
||||
player->item_shape_type[2] = -1;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+420
-484
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user