Files
ac-decomp/include/ac_ev_soncho2.h
T
2025-02-18 01:32:03 -05:00

85 lines
1.7 KiB
C

#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