Implement more player states

This commit is contained in:
Cuyler36
2024-09-09 01:04:00 -04:00
parent 4debd92f36
commit 0eab430cde
27 changed files with 1215 additions and 112 deletions
+8 -2
View File
@@ -25,6 +25,12 @@ typedef struct audio_staffroll_info_s {
/* 0x12 */ s8 beat;
} StaffRollInfo_c;
typedef struct radio_s {
/* 0x000 */ s8 unk0;
/* 0x004 */ f32 unk4;
/* 0x008 */ u16 tempo;
} Radio_c;
enum {
STAFFROLL_PART_START,
STAFFROLL_PART_INTRO,
@@ -112,7 +118,7 @@ extern void sAdos_KishaStatusTrg(u8 state);
extern void sAdos_KishaStatusLevel(f32 speed, u32 ongenNum1, u16 angle1, f32 distance1, u32 ongenNum2, u16 angle2,
f32 distance2);
extern void sAdos_GetRadioCounter(void* p);
extern int sAdos_GetRadioCounter(Radio_c* radio);
extern void sAdos_GetKappaCounter(void* p);
extern void sAdos_GetStaffRollInfo(StaffRollInfo_c* info);
@@ -141,7 +147,7 @@ extern void sAdo_FurnitureInstPos(u32 id, const xyz_t* pos);
extern void sAdo_Set_ongenpos_refuse_fg(int state);
extern int sAdo_GameframeEnd_Check();
extern int sAdo_GetSoundFrameCounter();
extern u32 sAdo_GetSoundFrameCounter();
extern int sAdo_CheckOnPlussBridge(const xyz_t* pos, u32 atr);
extern void sAdo_RegistPlussBridge(const xyz_t* pos);
+1 -1
View File
@@ -537,7 +537,7 @@ struct group_ {
/* 0x010 */ u16 delay;
/* 0x012 */ u16 fade_timer;
/* 0x014 */ u16 stored_fade_timer;
/* 0x016 */ u16 unk016;
/* 0x016 */ u16 counter;
/* 0x018 */ u8* seq_data;
/* 0x01C */ f32 fade_volume;
/* 0x020 */ f32 fade_velocity;
+3 -9
View File
@@ -2,22 +2,16 @@
#define RADIO_H
#include "types.h"
typedef struct radio_ {
/* 0x000 */ s8 unk0;
/* 0x004 */ f32 unk4;
/* 0x008 */ u16 tempo;
} radio;
#include "audio.h"
#ifdef __cplusplus
extern "C" {
#endif
extern s16 Na_GetRadioCounter(radio* radio);
extern int Na_GetRadioCounter(Radio_c* radio);
#ifdef __cplusplus
}
#endif
#endif
#endif
+71 -15
View File
@@ -23,7 +23,7 @@ extern "C" {
#define mPlayer_SUNBURN_MAX_RANK 8
#define mPlayer_RADIO_EXCERCISE_COMMAND_RING_BUFFER_SIZE 8
#define mPlayer_RADIO_EXERCISE_COMMAND_RING_BUFFER_SIZE 8
typedef struct player_actor_s PLAYER_ACTOR;
@@ -743,6 +743,38 @@ enum {
mPlayer_AXE_BREAK_FROM_NUM
};
enum {
mPlayer_RADIO_EXERCISE_CMD0,
mPlayer_RADIO_EXERCISE_CMD1,
mPlayer_RADIO_EXERCISE_CMD2,
mPlayer_RADIO_EXERCISE_CMD3,
mPlayer_RADIO_EXERCISE_CMD4,
mPlayer_RADIO_EXERCISE_CMD5,
mPlayer_RADIO_EXERCISE_CMD6,
mPlayer_RADIO_EXERCISE_CMD7,
mPlayer_RADIO_EXERCISE_CMD8,
mPlayer_RADIO_EXERCISE_CMD9,
mPlayer_RADIO_EXERCISE_CMD10,
mPlayer_RADIO_EXERCISE_CMD11,
mPlayer_RADIO_EXERCISE_CMD12,
mPlayer_RADIO_EXERCISE_CMD13,
mPlayer_RADIO_EXERCISE_CMD14,
mPlayer_RADIO_EXERCISE_CMD15,
mPlayer_RADIO_EXERCISE_CMD16,
mPlayer_RADIO_EXERCISE_CMD17,
mPlayer_RADIO_EXERCISE_CMD_NUM
};
enum {
mPlayer_GOLDEN_ITEM_TYPE_AXE,
mPlayer_GOLDEN_ITEM_TYPE_NET,
mPlayer_GOLDEN_ITEM_TYPE_ROD,
mPlayer_GOLDEN_ITEM_TYPE_SHOVEL,
mPlayer_GOLDEN_ITEM_TYPE_NUM
};
#define mPlayer_SETUP_TEXTURE_ANIMATION_NONE (0 << 0)
/* Where is (1 << 0)? */
#define mPlayer_SETUP_TEXTURE_ANIMATION_EYE (1 << 1)
@@ -921,7 +953,7 @@ typedef struct player_request_demo_getoff_boat_standup_s {
} mPlayer_request_demo_getoff_boat_standup_c;
typedef struct player_request_demo_get_golden_item_s {
u32 label;
int type;
} mPlayer_request_demo_get_golden_item_c;
typedef struct player_request_walk_s {
@@ -1200,8 +1232,8 @@ typedef struct player_request_swing_fan_s {
} mPlayer_request_swing_fan_c;
typedef struct player_request_radio_exercise_s {
int anim_idx;
f32 morph_speed;
int cmd;
f32 speed;
} mPlayer_request_radio_exercise_c;
typedef struct player_request_demo_geton_boat_wade_s {
@@ -1575,10 +1607,14 @@ typedef struct player_main_pickup_exchange_s {
int submenu_flag;
} mPlayer_main_pickup_exchange_c;
typedef struct player_main_swing_axe_s {
typedef struct player_main_axe_common_s {
/* 0x00 */ xyz_t target_pos;
/* 0x0C */ mActor_name_t item;
/* 0x0E */ u16 axe_damage_no;
} mPlayer_main_axe_common_c;
typedef struct player_main_swing_axe_s {
/* 0x00 */ mPlayer_main_axe_common_c axe_common;
/* 0x10 */ int tree_ut_x;
/* 0x14 */ int tree_ut_z;
/* 0x18 */ int bee_flag;
@@ -1587,17 +1623,17 @@ typedef struct player_main_swing_axe_s {
} 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;
/* 0x00 */ mPlayer_main_axe_common_c axe_common;
/* 0x10 */ ACTOR* reflect_actor_p;
} mPlayer_main_reflect_axe_c;
typedef union player_main_axe_u {
mPlayer_main_swing_axe_c swing_axe;
mPlayer_main_reflect_axe_c reflect_axe;
} mPlayer_main_axe_u;
typedef struct player_main_broken_axe_s {
union {
mPlayer_main_swing_axe_c swing_axe;
mPlayer_main_reflect_axe_c reflect_axe;
} axe;
mPlayer_main_axe_u axe;
int break_type; /* mPlayer_AXE_BREAK_FROM_* */
f32 _28;
int _2C;
@@ -1809,6 +1845,13 @@ typedef struct player_main_notice_mosquito_s {
int msg_mode;
} mPlayer_main_notice_mosquito_c;
typedef struct player_main_radio_exercise_s {
int cmd;
int _04;
int _08;
int _0C;
} mPlayer_main_radio_exercise_c;
typedef struct player_main_wade_snowball_s {
int dir;
xyz_t start_pos;
@@ -1835,6 +1878,16 @@ typedef struct player_main_demo_getoff_boat_standup_s {
s16 angle_z;
} mPlayer_main_demo_getoff_boat_standup_c;
typedef struct player_main_demo_get_golden_item_s {
f32 timer;
int msg_mode;
int type;
} mPlayer_main_demo_get_golden_item_c;
typedef struct player_main_demo_get_golden_axe_wait_s {
f32 timer;
} mPlayer_main_demo_get_golden_axe_wait_c;
typedef struct player_main_uki_s {
xyz_t cast_goal_point;
} mPlayer_main_uki_c;
@@ -1914,10 +1967,13 @@ typedef union {
mPlayer_main_fail_emu_c fail_emu;
mPlayer_main_stung_mosquito_c stung_mosquito;
mPlayer_main_notice_mosquito_c notice_mosquito;
mPlayer_main_radio_exercise_c radio_exercise;
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_demo_get_golden_item_c demo_get_golden_item;
mPlayer_main_demo_get_golden_axe_wait_c demo_get_golden_axe_wait;
mPlayer_main_uki_c uki;
mPlayer_main_putaway_uki_c putaway_uki;
mPlayer_main_balloon_c balloon;
@@ -2080,12 +2136,12 @@ struct player_actor_s {
/* 0x1220 */ u32 able_force_speak_label;
/* 0x1224 */ int player_sunburn_rankup;
/* 0x1228 */ int player_sunburn_rankdown;
/* 0x122C */ s8 radio_exercise_command_ring_buffer[mPlayer_RADIO_EXCERCISE_COMMAND_RING_BUFFER_SIZE];
/* 0x122C */ s8 radio_exercise_command_ring_buffer[mPlayer_RADIO_EXERCISE_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;
/* 0x1244 */ int old_sound_frame_counter;
/* 0x1244 */ u32 old_sound_frame_counter;
/* 0x1248 */ s16 boat_angleZ;
/* 0x124C */ int change_color_request;
/* 0x1250 */ int change_color_flag;
+1
View File
@@ -113,6 +113,7 @@ extern int mPlib_strength_request_main_wade_snowball_priority(GAME* game);
extern void mPlib_change_player_face(GAME* game);
extern void mPlib_change_player_cloth_info(mPr_cloth_c* cloth_p, mActor_name_t cloth_item);
extern int mPlib_Get_status_for_bee(void);
extern int mPlib_request_main_demo_get_golden_item2_type1(GAME* game, int golden_item_type);
extern mPlayer_change_data_from_submenu_c* mPlib_Get_change_data_from_submenu_p();
+1
View File
@@ -2,6 +2,7 @@
#define M_PRIVATE_H_H
#include "types.h"
#include "m_actor_type.h"
#ifdef __cplusplus
extern "C" {