mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-23 06:34:18 -04:00
93 lines
4.6 KiB
C
93 lines
4.6 KiB
C
#ifndef M_PLAYER_H
|
|
#define M_PLAYER_H
|
|
|
|
#include "types.h"
|
|
#include "m_actor.h"
|
|
#include "m_lib.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct player_actor_s PLAYER_ACTOR;
|
|
|
|
#define mPlayer_FORCE_POSITION_ANGLE_NONE 0
|
|
// where is (1 << 0) ??
|
|
#define mPlayer_FORCE_POSITION_ANGLE_POSX (1 << 1)
|
|
#define mPlayer_FORCE_POSITION_ANGLE_POSY (1 << 2)
|
|
#define mPlayer_FORCE_POSITION_ANGLE_POSZ (1 << 3)
|
|
#define mPlayer_FORCE_POSITION_ANGLE_ROTX (1 << 4)
|
|
#define mPlayer_FORCE_POSITION_ANGLE_ROTY (1 << 5)
|
|
#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_NUM
|
|
};
|
|
|
|
/* sizeof(struct player_actor_s) == 0x13A8 */
|
|
struct player_actor_s {
|
|
/* 0x0000 */ ACTOR actor_class;
|
|
/* 0x0174 */ u8 tmp0174[0x1270 - 0x0174];
|
|
/* 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 */ u8 tmp131C[0x13A8 - 0x131C];
|
|
/* TODO: finish */
|
|
};
|
|
|
|
void Player_actor_ct(ACTOR*, GAME*);
|
|
void Player_actor_dt(ACTOR*, GAME*);
|
|
void Player_actor_move(ACTOR*, GAME*);
|
|
void Player_actor_draw(ACTOR*, GAME*);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|