mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-09-01 08:23:04 -04:00
Implement & link ac_ev_broker
This commit is contained in:
+16
-1
@@ -3,11 +3,27 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_npc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct ac_ev_broker EV_BROKER_ACTOR;
|
||||
|
||||
typedef void (*aEBRK_ACT_PROC)(EV_BROKER_ACTOR*);
|
||||
|
||||
/* sizeof(EV_BROKER_ACTOR) == 0x9AC */
|
||||
struct ac_ev_broker {
|
||||
/* 0x000 */ NPC_ACTOR npc_class;
|
||||
/* 0x994 */ int action;
|
||||
/* 0x998 */ int next_action;
|
||||
/* 0x99C */ int action_step;
|
||||
/* 0x9A0 */ aEBRK_ACT_PROC action_proc;
|
||||
/* 0x9A4 */ ACTOR* tent_actor;
|
||||
/* 0x9A8 */ u8 pl_talk_lock;
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Ev_Broker_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
@@ -15,4 +31,3 @@ extern ACTOR_PROFILE Ev_Broker_Profile;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
+9
-8
@@ -252,15 +252,16 @@ typedef void (*aNPC_THINK_PROC)(NPC_ACTOR*, GAME_PLAY*, int);
|
||||
#define aNPC_THINK_INTERRUPT_OBSTANCE (1 << 2)
|
||||
#define aNPC_THINK_INTERRUPT_ENTRANCE (1 << 3)
|
||||
|
||||
/* sizeof(aNPC_think_info_c) == 0x18 */
|
||||
typedef struct npc_think_info_s {
|
||||
int idx;
|
||||
u8 end_flag;
|
||||
u8 force_call_flag;
|
||||
u16 force_call_timer;
|
||||
int force_call_msg_no;
|
||||
u8 force_call_camera_type;
|
||||
aNPC_THINK_PROC think_proc;
|
||||
u32 interrupt_flags;
|
||||
/* 0x00 */ int idx;
|
||||
/* 0x04 */ u8 end_flag;
|
||||
/* 0x05 */ u8 force_call_flag;
|
||||
/* 0x06 */ u16 force_call_timer;
|
||||
/* 0x08 */ int force_call_msg_no;
|
||||
/* 0x0C */ u8 force_call_camera_type;
|
||||
/* 0x10 */ aNPC_THINK_PROC think_proc;
|
||||
/* 0x14 */ u32 interrupt_flags;
|
||||
} aNPC_think_info_c;
|
||||
|
||||
typedef void (*aNPC_SCHEDULE_PROC)(NPC_ACTOR*, GAME_PLAY*, int);
|
||||
|
||||
@@ -21,6 +21,7 @@ extern int mPlib_check_able_change_camera_normal_index();
|
||||
extern void mPlib_request_main_refuse_type1(GAME* game);
|
||||
extern void mPlib_request_main_wait_type3(GAME* game);
|
||||
extern void mPlib_Set_able_force_speak_label(ACTOR* actor);
|
||||
extern void mPlib_Reset_able_force_speak_label(void);
|
||||
extern int mPlib_request_main_demo_walk_type1(GAME* game, f32 goal_x, f32 goal_z, f32 speed, int flag);
|
||||
extern void mPlib_Set_goal_player_demo_walk(f32 goal_x, f32 goal_z, f32 speed);
|
||||
extern void mPlib_Set_able_hand_all_item_in_demo(s8 enable);
|
||||
|
||||
Reference in New Issue
Block a user