#ifndef AC_EV_SONCHO2_H #define AC_EV_SONCHO2_H #include "types.h" #include "m_actor.h" #include "ac_npc.h" #ifdef __cplusplus extern "C" { #endif extern ACTOR_PROFILE Ev_Soncho2_Profile; typedef struct ac_npc_soncho2 NPC_SONCHO2; typedef void (*aEV_SONCHO2_PROC)(NPC_SONCHO2* soncho, GAME_PLAY* play); typedef void (*aEV_SONCHO2_TALK_PROC)(NPC_SONCHO2* soncho, GAME* game); struct ac_npc_soncho2 { NPC_ACTOR npc_class; /* 0x994 */ aEV_SONCHO2_PROC _994; /* 0x998 */ lbRTC_year_t year; /* 0x99a */ lbRTC_month_t month; /* 0x99b */ lbRTC_day_t day; /* 0x99c */ mActor_name_t item; /* 0x99e */ s16 timer; /* 0x9a0 */ s16 center_x; /* 0x9a2 */ s16 center_z; /* 0x9a4 */ s16 goal_x; /* 0x9a6 */ s16 goal_z; /* 0x9a8 */ u8 think_idx; /* 0x9a9 */ u8 think; /* 0x9aa */ u8 _9aa; /* 0x9ab */ u8 talk; /* 0x9ac */ u8 _9ac; /* 0x9ad */ u8 melody_inst; /* 0x9ae */ u8 event; }; struct ev_foot_race_data { u8 _0 : 1; int flags : 32; }; typedef struct ev_foot_race_data aES2_FOOT_RACE_DATA; enum soncho2_talk { aES2_TALK_0, aES2_TALK_1, aES2_TALK_2, aES2_TALK_LIGHTHOUSE_QUEST_START_1, aES2_TALK_LIGHTHOUSE_QUEST_START_2, aES2_TALK_5, aES2_TALK_6, aES2_TALK_7, aES2_TALK_8, aES2_TALK_9, aES2_TALK_a, aES2_TALK_TUG_O_WAR }; enum soncho2_think { aES2_THINK_0, aES2_THINK_AEROBICS, aES2_THINK_BALL_TOSS, aES2_THINK_3, aES2_THINK_4, aES2_THINK_FOOT_RACE, aES2_THINK_LIGHTHOUSE_QUEST_START, aES2_THINK_7, aES2_THINK_8, aES2_THINK_9, aES2_THINK_a, aES2_THINK_b, aES2_THINK_c, aES2_THINK_d, aES2_THINK_TUG_O_WAR, }; #ifdef __cplusplus } #endif #endif