Implement & link ac_ev_soncho2

This commit is contained in:
Colby Austin Brown
2025-01-14 14:56:55 -08:00
parent af43673e24
commit 1caeb909a2
5 changed files with 576 additions and 1 deletions
+66 -1
View File
@@ -3,6 +3,7 @@
#include "types.h"
#include "m_actor.h"
#include "ac_npc.h"
#ifdef __cplusplus
extern "C" {
@@ -10,9 +11,73 @@ extern "C" {
extern ACTOR_PROFILE Ev_Soncho2_Profile;
typedef struct ac_npc_soncho2 NPC_SONCHO2;
typedef void (*aEV_SONCHO2_PROC)(NPC_SONCHO2* soncho, GAME_PLAY* play);
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
+5
View File
@@ -13,6 +13,11 @@ extern "C" {
#define MSG_SANTA_WISH_WALL 0x2B55
#define MSG_SANTA_WISH_CARPET 0x2B56
#define MSG_SANTA_WISH_CLOTH 0x2B57
#define MSG_SONCHO_EVENTS 0x3280
#define MSG_SONCHO_EVENTS_COUNT 10
#define MSG_HARVEST_FESTIVAL 0x3391
#define MSG_SONCHO_LIGHTHOUSE_1 0x33f4
#define MSG_SONCHO_LIGHTHOUSE_2 0x340b
#define MSG_MAX 0x3F91 /* Maximum message id */