From 05b4c27926b57123c1e6b5893fb84f2d9ded5df3 Mon Sep 17 00:00:00 2001 From: Cuyler36 Date: Sat, 9 Dec 2023 05:45:46 -0500 Subject: [PATCH] Add ac_npc_curator struct --- include/ac_npc.h | 4 ++++ include/ac_npc_curator.h | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/include/ac_npc.h b/include/ac_npc.h index 9c58652f..cfdcb31e 100644 --- a/include/ac_npc.h +++ b/include/ac_npc.h @@ -100,6 +100,10 @@ typedef struct npc_info_s { mActor_name_t npc_name; } NpcActorInfo_c; +/* Used for think, schedule, action, & talk */ +typedef void (*aNPC_PROC)(NPC_ACTOR* npc_actorx, GAME_PLAY* play, int schedule_idx); +typedef void (*aNPC_SUB_PROC)(NPC_ACTOR* npc_actorx, GAME_PLAY* play); + struct npc_actor_s { ACTOR actor_class; int _174; diff --git a/include/ac_npc_curator.h b/include/ac_npc_curator.h index 216e2d9f..f6860c1a 100644 --- a/include/ac_npc_curator.h +++ b/include/ac_npc_curator.h @@ -3,11 +3,27 @@ #include "types.h" #include "m_actor.h" +#include "ac_npc.h" #ifdef __cplusplus extern "C" { #endif +typedef struct npc_curator_actor_s NPC_CURATOR_ACTOR; + +struct npc_curator_actor_s { + NPC_ACTOR npc_class; + int action; + aNPC_SUB_PROC action_proc; + int sleep_wait_timer; + int talk_act_idx; + aNPC_SUB_PROC talk_proc; + aNPC_PROC setupTalkAction_proc; + int msg_no; + int _9B0; // might be unused 'awake' state + mActor_name_t donated_item; +}; + extern ACTOR_PROFILE Npc_Curator_Profile; #ifdef __cplusplus