mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 20:11:51 -04:00
Merge branch 'master' of https://github.com/Prakxo/ac-decomp
This commit is contained in:
@@ -8,6 +8,13 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct boat_s BOAT_ACTOR;
|
||||
|
||||
struct boat_s {
|
||||
ACTOR actor_class;
|
||||
// TODO
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Boat_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -3,11 +3,78 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "m_demo.h"
|
||||
#include "ac_boat.h"
|
||||
#include "ac_npc_sendo.h"
|
||||
#include "ac_ev_castaway.h"
|
||||
#include "m_common_data.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
aBTD_ACTION_SENDO_BIRTH_WAIT,
|
||||
aBTD_ACTION_PL_RIDE_ON_START_WAIT,
|
||||
aBTD_ACTION_PL_RIDE_ON_END_WAIT,
|
||||
aBTD_ACTION_START_CALL_END_WAIT,
|
||||
aBTD_ACTION_SONG_BGM_START_WAIT,
|
||||
aBTD_ACTION_SING_SENDO_START_WAIT,
|
||||
aBTD_ACTION_SING_SENDO_MSG_SET_WAIT,
|
||||
aBTD_ACTION_SENDO_DIALOGUE_START_WAIT,
|
||||
aBTD_ACTION_SING_SENDO_START_WAIT2,
|
||||
aBTD_ACTION_MOVE_BOAT_END_WAIT,
|
||||
aBTD_ACTION_TOUCH_WHARF_END_WAIT,
|
||||
aBTD_ACTION_PL_RIDE_OFF_START_WAIT,
|
||||
aBTD_ACTION_PL_RIDE_OFF_END_WAIT,
|
||||
aBTD_ACTION_ANCHOR_WAIT,
|
||||
|
||||
aBTD_ACTION_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
aBTD_DEMO_PL_RIDE_ON_START,
|
||||
aBTD_DEMO_PL_RIDE_ON_END,
|
||||
aBTD_DEMO_START_CALL_END,
|
||||
aBTD_DEMO_MOVE_BOAT_END,
|
||||
aBTD_DEMO_TOUCH_WHARF_END,
|
||||
aBTD_DEMO_PL_RIDE_OFF_START,
|
||||
aBTD_DEMO_PL_RIDE_OFF_END,
|
||||
aBTD_DEMO_ANCHOR,
|
||||
|
||||
aBTD_DEMO_NUM
|
||||
};
|
||||
|
||||
typedef struct boat_demo_s BOAT_DEMO_ACTOR;
|
||||
|
||||
#define aBTD_GET_DEMO_ACTOR() (BOAT_DEMO_ACTOR*)(Common_Get(clip).demo_clip2->class)
|
||||
|
||||
typedef void (*aBTD_PROC)(BOAT_DEMO_ACTOR*, GAME_PLAY*);
|
||||
|
||||
struct boat_demo_s {
|
||||
ACTOR actor_class;
|
||||
int action;
|
||||
aBTD_PROC action_proc;
|
||||
int demo_act;
|
||||
int song_bgm_timer;
|
||||
BOAT_ACTOR* boat_actor;
|
||||
NPC_SENDO_ACTOR* npc_sendo_actor;
|
||||
EV_CASTAWAY_ACTOR* castaway_actor;
|
||||
int at_island;
|
||||
xyz_t passenger_ofs;
|
||||
f32 boat_speed;
|
||||
int island_npc_info_registered;
|
||||
u8* island_gba_loader_p;
|
||||
u8* island_gba_program_p;
|
||||
u8 player_pattern;
|
||||
u8 sing_dialog_ofs;
|
||||
u8 sing_2nd_part;
|
||||
u8 sing_2nd_part_bgm_no;
|
||||
int sing_msg_no;
|
||||
u16 touch_wharf_timer;
|
||||
u8 touching_wharf;
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Boat_Demo_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -3,11 +3,19 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_npc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct ev_castaway_s EV_CASTAWAY_ACTOR;
|
||||
|
||||
struct ev_castaway_s {
|
||||
NPC_ACTOR npc_class;
|
||||
s16 bobbing_cycle;
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Ev_Castaway_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -3,11 +3,34 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_npc.h"
|
||||
#include "m_event.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct event_santa_s EVENT_SANTA_ACTOR;
|
||||
|
||||
typedef struct santa_talk_data_s {
|
||||
int msg_no;
|
||||
int talk_act;
|
||||
} aESNT_talk_data_c;
|
||||
|
||||
typedef void(*aESNT_TALK_PROC)(EVENT_SANTA_ACTOR*, GAME_PLAY*);
|
||||
typedef void (*aESNT_SETUP_TALK_PROC)(EVENT_SANTA_ACTOR*, GAME_PLAY*, int);
|
||||
|
||||
struct event_santa_s {
|
||||
/* 0x000 */ NPC_ACTOR npc_class;
|
||||
/* 0x994 */ int talk_act;
|
||||
/* 0x998 */ aESNT_TALK_PROC talk_proc;
|
||||
/* 0x99C */ aESNT_SETUP_TALK_PROC setup_talk_proc;
|
||||
/* 0x9A0 */ mActor_name_t present;
|
||||
/* 0x9A4 */ aESNT_talk_data_c* talk_data_p;
|
||||
/* 0x9A8 */ mEv_santa_event_c* event_p;
|
||||
/* 0x9AC */ mEv_santa_event_common_c* event_common_p;
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Ev_Santa_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+6
-3
@@ -14,6 +14,9 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#define aNPC_SPNPC_BIT_CURATOR 0
|
||||
#define aNPC_SPNPC_BIT_GOHOME_NPC 1
|
||||
#define aNPC_SPNPC_BIT_MASK_CAT 2
|
||||
#define aNPC_SPNPC_BIT_DOZAEMON 4
|
||||
#define aNPC_SPNPC_BIT_EV_SONCHO 5
|
||||
|
||||
#define aNPC_SPNPC_BIT_GET(field, bit) (((field) >> (bit)) & 1)
|
||||
@@ -141,7 +144,7 @@ typedef struct npc_draw_info_s {
|
||||
/* 0x008 */ u8 _000[0x20 - 8];
|
||||
/* 0x020 */ f32 _20;
|
||||
/* 0x024 */ f32 _24;
|
||||
/* 0x024 */ u8 _028[0x534 - 0x028];
|
||||
/* 0x028 */ u8 _028[0x534 - 0x028];
|
||||
/* 0x538 */ u8 _534;
|
||||
/* 0x538 */ u8 _535;
|
||||
/* 0x538 */ u8 _536;
|
||||
@@ -149,13 +152,13 @@ typedef struct npc_draw_info_s {
|
||||
/* 0x538 */ u8 _538;
|
||||
/* 0x538 */ u8 _539;
|
||||
/* 0x540 */ u8 _53A[0x580 - 0x53A];
|
||||
/* 0x580 */ int _580;
|
||||
/* 0x580 */ int animation_id;
|
||||
/* 0x584 */ int texture_bank_idx;
|
||||
/* 0x588 */ u8 _588[0x5BD - 0x588];
|
||||
/* 0x5BD */ u8 _5BD;
|
||||
/* 0x5BE */ u8 _5BE;
|
||||
/* 0x5BE */ u8 _5BF[0x630 - 0x5BF];
|
||||
} aNPC_draw_info_c;
|
||||
} aNPC_draw_info_c;
|
||||
|
||||
|
||||
typedef void (*aNPC_THINK_PROC)(NPC_ACTOR*, GAME_PLAY*, int);
|
||||
|
||||
@@ -3,11 +3,19 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_npc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct npc_sendo_s NPC_SENDO_ACTOR;
|
||||
|
||||
struct npc_sendo_s {
|
||||
NPC_ACTOR npc_class;
|
||||
// TODO
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE Npc_Sendo_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -9,6 +9,8 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
extern int aWeather_ChangingWeather();
|
||||
extern void aWeather_RequestChangeWeatherToIsland();
|
||||
extern void aWeather_RequestChangeWeatherFromIsland();
|
||||
|
||||
extern ACTOR_PROFILE Weather_Profile;
|
||||
|
||||
|
||||
+43
-29
@@ -9,6 +9,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#define mChoice_CHOICE_STRING_LEN 16
|
||||
#define mChoice_SELECT_STR_NUM 607
|
||||
|
||||
typedef struct choice_s mChoice_c;
|
||||
typedef struct choice_data_s mChoice_Data_c;
|
||||
@@ -54,58 +55,71 @@ struct choice_data_s {
|
||||
|
||||
struct choice_s {
|
||||
/* Current XY position (centered) */
|
||||
f32 center_x;
|
||||
f32 center_y;
|
||||
/* 0x00 */ f32 center_x;
|
||||
/* 0x04 */ f32 center_y;
|
||||
|
||||
/* Initial XY position */
|
||||
f32 center_x_begin;
|
||||
f32 center_y_begin;
|
||||
/* 0x08 */ f32 center_x_begin;
|
||||
/* 0x0C */ f32 center_y_begin;
|
||||
|
||||
/* Target XY position */
|
||||
f32 center_x_target;
|
||||
f32 center_y_target;
|
||||
/* 0x10 */ f32 center_x_target;
|
||||
/* 0x14 */ f32 center_y_target;
|
||||
|
||||
/* Text settings */
|
||||
rgba_t text_color;
|
||||
f32 text_scale_x;
|
||||
f32 text_scale_y;
|
||||
f32 text_x;
|
||||
f32 text_y;
|
||||
/* 0x18 */ rgba_t text_color;
|
||||
/* 0x1C */ f32 text_scale_x;
|
||||
/* 0x20 */ f32 text_scale_y;
|
||||
/* 0x24 */ f32 text_x;
|
||||
/* 0x28 */ f32 text_y;
|
||||
|
||||
/* Window scaling XY */
|
||||
f32 scale_x;
|
||||
f32 scale_y;
|
||||
/* 0x2C */ f32 scale_x;
|
||||
/* 0x30 */ f32 scale_y;
|
||||
|
||||
/* Text related data */
|
||||
mChoice_Data_c data;
|
||||
/* 0x34 */ mChoice_Data_c data;
|
||||
|
||||
int selected_choice_idx;
|
||||
rgba_t selected_choice_text_color;
|
||||
/* 0xC8 */ int selected_choice_idx;
|
||||
/* 0xCC */ rgba_t selected_choice_text_color;
|
||||
|
||||
rgba_t background_color;
|
||||
/* 0xD0 */ rgba_t background_color;
|
||||
|
||||
f32 _D4;
|
||||
f32 _D8;
|
||||
/* 0xD4 */ f32 _D4;
|
||||
/* 0xD8 */ f32 _D8;
|
||||
|
||||
f32 scale; // total choice window scaling percentage
|
||||
/* 0xDC */ f32 scale; // total choice window scaling percentage
|
||||
|
||||
int main_index;
|
||||
int requested_main_index;
|
||||
/* 0xE0 */ int main_index;
|
||||
/* 0xE4 */ int requested_main_index;
|
||||
|
||||
int window_visible_flag;
|
||||
int font_visible_flag;
|
||||
/* 0xE8 */ int window_visible_flag;
|
||||
/* 0xEC */ int font_visible_flag;
|
||||
|
||||
int choice_automove_type;
|
||||
f32 choice_automove_timer;
|
||||
/* 0xF0 */ int choice_automove_type;
|
||||
/* 0xF4 */ f32 choice_automove_timer;
|
||||
|
||||
f32 timer;
|
||||
/* 0xF8 */ f32 timer;
|
||||
|
||||
u8 no_b_flag; // can't press B to select last option
|
||||
u8 no_close_flag; // pressing B won't auto-cancel the choice selection?
|
||||
/* 0xFC */ u8 no_b_flag; // can't press B to select last option
|
||||
/* 0xFD */ u8 no_close_flag; // pressing B won't auto-cancel the choice selection?
|
||||
};
|
||||
|
||||
extern void mChoice_Main(mChoice_c* choice, GAME* game);
|
||||
extern void mChoice_Draw(mChoice_c* choice, GAME* game, int mode);
|
||||
extern void mChoice_aram_init();
|
||||
extern void mChoice_ct(mChoice_c* choice, GAME* game);
|
||||
extern void mChoice_dt(mChoice_c* choice, GAME* game);
|
||||
extern mChoice_c* mChoice_Get_base_window_p();
|
||||
extern void mChoice_Change_request_main_index(mChoice_c* choice, int request_main_index);
|
||||
extern int mChoice_check_main_index(mChoice_c* choice);
|
||||
extern int mChoice_check_main_normal(mChoice_c* choice);
|
||||
extern void mChoice_Set_choice_data( mChoice_c* choice, u8* str0, int str0_len, u8* str1, int str1_len, u8* str2, int str2_len, u8* str3, int str3_len, u8* str4, int str4_len, u8* str5, int str5_len);
|
||||
extern int mChoice_Get_ChoseNum(mChoice_c* choice);
|
||||
extern void mChoice_Clear_ChoseNum(mChoice_c* choice);
|
||||
extern void mChoice_Load_ChoseStringFromRom(mChoice_c* choice, u8* str, int str_no, ACTOR* actor);
|
||||
extern void mChoice_no_b_set(mChoice_c* choice);
|
||||
extern void mChoice_no_b_close_set(mChoice_c* choice);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ typedef struct clip_s {
|
||||
/* 0x098 */ void* _098;
|
||||
/* 0x09C */ aMI_Clip_c* my_indoor_clip;
|
||||
/* 0x0A0 */ mDemo_Clip_c* demo_clip; /* can be multiple clip classes */
|
||||
/* 0x0A4 */ void* demo_clip2; /* can be multiple clip classes */
|
||||
/* 0x0A4 */ mDemo_Clip_c* demo_clip2; /* can be multiple clip classes */
|
||||
/* 0x0A8 */ void* _0A8;
|
||||
/* 0x0AC */ aGYO_Clip_c* gyo_clip;
|
||||
/* 0x0B0 */ void* _0B0;
|
||||
|
||||
@@ -131,8 +131,9 @@ typedef struct Save_s {
|
||||
/* 0x021393 */ u8 haniwa_scheduled; /* when set, gyroids will be spwaned */
|
||||
/* 0x021394 */ u8 dust_flag; /* set by field assessment for too much 'dust' (garbage) around town, causes immediate fail of town ranking */
|
||||
/* 0x021395 */ u8 clear_grass; /* set by Wisp, removes all weeds */
|
||||
/* 0x021396 */ lbRTC_ymd_c event_year_ymd; /* might not exist and just be lbRTC_year_t */
|
||||
/* 0x02139A */ u8 unused_2139A[6];
|
||||
/* 0x021396 */ u8 _021396[2];
|
||||
/* 0x021398 */ lbRTC_year_t event_year; /* might not exist and just be lbRTC_year_t */
|
||||
/* 0x02139A */ u8 unused_2139C[6];
|
||||
/* 0x0213A0 */ u8 keep_house_size[PLAYER_NUM]; /* saved flags for house sizes */
|
||||
/* 0x0213A4 */ lbRTC_ymd_c force_remove_date; /* last time the NPC force remove timer was updated */
|
||||
/* 0x0213A8 */ mMmd_info_c museum_display; /* museum display bits */
|
||||
@@ -229,8 +230,10 @@ typedef struct common_data_s {
|
||||
/* 0x02857C */ Door_data_c famicom_emu_exit_door_data;
|
||||
/* 0x028590 */ u8 remove_cut_tree_info_bitfield; /* resets the cut tree states for trees in a visible acre */
|
||||
/* 0x028591 */ u8 floor_idx;
|
||||
/* 0x028592 */ s16 demo_profiles[mDemo_CLIP_TYPE_NUM - 1];
|
||||
/* 0x028596 */ u8 _28596[0x285BE - 0x28596];
|
||||
/* 0x028592 */ s16 demo_profiles[2]; /* demo_profiles[0] is for demo_clip, demo_profiles[1] is for demo_clip2 */
|
||||
/* 0x028596 */ u16 copy_protect_code;
|
||||
/* 0x028598 */ int event_keep_flags[4];
|
||||
/* 0x0285A8 */ u8 _285A8[0x0285BE - 0x0285A8];
|
||||
/* 0x0285BE */ s8 player_actor_exists;
|
||||
/* 0x0285BF */ s8 payment_completed_type;
|
||||
/* 0x0285C0 */ s8 player_decoy_flag;
|
||||
|
||||
@@ -94,6 +94,9 @@ enum demo_clip_type {
|
||||
mDemo_CLIP_TYPE_NONE,
|
||||
mDemo_CLIP_TYPE_INTRO_DEMO,
|
||||
mDemo_CLIP_TYPE_RIDE_OFF_DEMO,
|
||||
mDemo_CLIP_TYPE_PRESENT_DEMO,
|
||||
mDemo_CLIP_TYPE_BOAT_DEMO,
|
||||
mDemo_CLIP_TYPE_RESET_DEMO,
|
||||
|
||||
mDemo_CLIP_TYPE_NUM
|
||||
};
|
||||
|
||||
+108
-32
@@ -15,18 +15,45 @@ extern "C" {
|
||||
#define mEv_TODAY_EVENT_NUM 16
|
||||
|
||||
#define mEv_SCHEDULE_LAST_WEEKDAY_OF_MONTH 6 /* day of last weekday of the month */
|
||||
#define mEv_SCHEDULE_WEEKLY 7 /* scheduled for the desired day this week (e.g. this saturday) */
|
||||
#define mEv_SCHEDULE_EVERY_WEEK 7 /* scheduled for the desired day this week (e.g. this saturday) */
|
||||
|
||||
#define mEv_SCHEDULE_MULTIDAY 0x40 /* event scheduled over more than a single day */
|
||||
/* Month flags */
|
||||
#define mEv_SCHEDULE_HARVEST_MOON_DATE 0x40 /* Use this year's lunisolar harvest moon date */
|
||||
#define mEv_SCHEDULE_NOW_MONTH 0x20
|
||||
#define mEv_SCHEDULE_USE_SAVE_MONTH 0x10
|
||||
|
||||
#define mEv_SCHEDULE_SAVE_MONTH(m) (mEv_SCHEDULE_USE_SAVE_MONTH | ((m) & 0xF))
|
||||
#define mEv_SCHEDULE_LUNAR(m) (mEv_SCHEDULE_HARVEST_MOON_DATE | ((m) & 0xF))
|
||||
|
||||
/* Day flags */
|
||||
#define mEv_SCHEDULE_WEEKLY 0x80 /* Event happens on a given weekday and week of the month */
|
||||
#define mEv_SCHEDULE_TOWN_DAY 0x40 /* Use save data 'town day' day */
|
||||
#define mEv_SCHEDULE_DAY_AFTER 0x40 /* When used in conjunction with the 'weekly' flag, it schedules on the day after the Nth weekday */
|
||||
#define mEv_SCHEDULE_LAST_DAY_OF_MONTH 0x20
|
||||
|
||||
#define mEv_SCHEDULE_MAKE_WEEKLY_DATA(week, weekday) (mEv_SCHEDULE_WEEKLY | ((((week) & 0b111) << 3) | ((weekday) & 0b111)))
|
||||
#define mEv_SCHEDULE_1ST_WEEKDAY(weekday) mEv_SCHEDULE_MAKE_WEEKLY_DATA(1, weekday)
|
||||
#define mEv_SCHEDULE_2ND_WEEKDAY(weekday) mEv_SCHEDULE_MAKE_WEEKLY_DATA(2, weekday)
|
||||
#define mEv_SCHEDULE_3RD_WEEKDAY(weekday) mEv_SCHEDULE_MAKE_WEEKLY_DATA(3, weekday)
|
||||
#define mEv_SCHEDULE_4TH_WEEKDAY(weekday) mEv_SCHEDULE_MAKE_WEEKLY_DATA(4, weekday)
|
||||
#define mEv_SCHEDULE_5TH_WEEKDAY(weekday) mEv_SCHEDULE_MAKE_WEEKLY_DATA(5, weekday)
|
||||
#define mEv_SCHEDULE_LAST_WEEKDAY(weekday) mEv_SCHEDULE_MAKE_WEEKLY_DATA(mEv_SCHEDULE_LAST_WEEKDAY_OF_MONTH, weekday)
|
||||
#define mEv_SCHEDULE_EVERY_WEEKDAY(weekday) mEv_SCHEDULE_MAKE_WEEKLY_DATA(mEv_SCHEDULE_EVERY_WEEK, weekday)
|
||||
|
||||
/* Hour flags */
|
||||
#define mEv_SCHEDULE_TODAY 0x80 /* event will be active on the day loaded */
|
||||
#define mEv_SCHEDULE_MULTIDAY 0x40 /* event scheduled over more than a single day */
|
||||
#define mEv_SCHEDULE_USE_SAVE_SLOT_VALUE 0x20
|
||||
|
||||
#define mEv_SCHEDULE_HOUR_SLOT(h) (mEv_SCHEDULE_USE_SAVE_SLOT_VALUE | (h & 0xF))
|
||||
|
||||
#define mEv_TO_DAY(month_day) ((lbRTC_day_t)(month_day))
|
||||
#define mEv_TO_MONTH(month_day) ((lbRTC_month_t)((month_day) >> 8))
|
||||
|
||||
typedef union event_monthday_s {
|
||||
struct {
|
||||
s8 month;
|
||||
s8 day;
|
||||
u8 month;
|
||||
u8 day;
|
||||
};
|
||||
u16 raw;
|
||||
} mEv_MonthDay_u;
|
||||
@@ -36,16 +63,20 @@ typedef struct event_today_s {
|
||||
u32 active_hours; /* bitfield (24 bits) */
|
||||
mEv_MonthDay_u begin_date;
|
||||
mEv_MonthDay_u end_date;
|
||||
u16 status;
|
||||
s16 status;
|
||||
u16 pad;
|
||||
} mEv_event_today_c;
|
||||
|
||||
typedef struct event_date_s {
|
||||
struct {
|
||||
mEv_MonthDay_u month_day;
|
||||
u8 _2;
|
||||
u8 hour;
|
||||
};
|
||||
u8 month;
|
||||
u8 day;
|
||||
u8 _2;
|
||||
u8 hour;
|
||||
} mEv_schedule_date_c;
|
||||
|
||||
typedef union {
|
||||
mEv_schedule_date_c d;
|
||||
u16 md, _h;
|
||||
u32 raw;
|
||||
} mEv_schedule_date_u;
|
||||
|
||||
@@ -55,6 +86,10 @@ typedef struct event_schedule_s {
|
||||
s16 type; /* event type */
|
||||
} mEv_schedule_c;
|
||||
|
||||
#define mEv_EVENT_HOUR_START_EVENT (1 << 28)
|
||||
#define mEv_EVENT_HOUR_CLEAR_EVENT (1 << 29)
|
||||
#define mEv_EVENT_HOUR_TOO_SHORT_EVENT (1 << 30)
|
||||
|
||||
/**
|
||||
* Event type definition
|
||||
* xxxyyyyy yyyyyyyy yyyyyyyy yyyyyyyy
|
||||
@@ -94,6 +129,7 @@ enum events {
|
||||
mEv_SPNPC_ARTIST,
|
||||
mEv_SPNPC_ARABIAN,
|
||||
mEv_SPNPC_GYPSY,
|
||||
mEv_SPNPC_END,
|
||||
|
||||
mEv_SAVED_RENEWSHOP = (int)mEv_SET(mEv_SAVED_EVENT, 0), /* renew shop */
|
||||
mEv_SAVED_UNK1, /* unused */
|
||||
@@ -197,7 +233,7 @@ enum event_table {
|
||||
mEv_EVENT_LABOR_DAY,
|
||||
mEv_EVENT_RUMOR_FALL_SPORTS_FAIR,
|
||||
mEv_EVENT_AUTUMN_EQUINOX,
|
||||
mEv_EVENT_HARVEST_MOON_DAY,
|
||||
mEv_EVENT_RUMOR_HARVEST_MOON_DAY,
|
||||
mEv_EVENT_HARVEST_MOON_FESTIVAL,
|
||||
mEv_EVENT_EXPLORERS_DAY,
|
||||
mEv_EVENT_RUMOR_MUSHROOM_SEASON,
|
||||
@@ -279,7 +315,7 @@ enum event_table {
|
||||
mEv_EVENT_SONCHO_BRIDGE_MAKE,
|
||||
|
||||
mEv_EVENT_GHOST,
|
||||
mEv_EVENT_MASK_CAT,
|
||||
mEv_EVENT_MASK_NPC, // "Go Home Npc" & "Blanca" events
|
||||
|
||||
mEv_EVENT_74, // unused?
|
||||
|
||||
@@ -290,6 +326,28 @@ enum event_table {
|
||||
mEv_EVENT_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mEv_SAVE_DATE_TODAY,
|
||||
mEv_SAVE_DATE_LAST_PLAY_DATE,
|
||||
mEv_SAVE_DATE_BIRTHDAY,
|
||||
mEv_SAVE_DATE_SPECIAL0, /* Initialized to rtc month-day in init_special_event */
|
||||
mEv_SAVE_DATE_SPECIAL1, /* Initialized to beginning month-day of special event in init_special_event */
|
||||
mEv_SAVE_DATE_SPECIAL2, /* Initialized to ending month-day of special event in init_special_event */
|
||||
mEv_SAVE_DATE_WEEKLY,
|
||||
mEv_SAVE_DATE_SPECIAL3, /* Initialized to opening hours for shop sale in init_special_event */
|
||||
|
||||
mEv_SAVE_DATE_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mEv_SPECIAL_STATE_UNSCHEDULED,
|
||||
mEv_SPECIAL_STATE_SCHEDULED_LATER,
|
||||
mEv_SPECIAL_STATE_SCHEDULED_TODAY,
|
||||
mEv_SPECIAL_STATE_ACTIVE,
|
||||
|
||||
mEv_SPECIAL_STATE_NUM
|
||||
};
|
||||
|
||||
#define mEv_STATUS_ACTIVE (1 << 0) /* event is active */
|
||||
#define mEv_STATUS_STOP (1 << 1) /* event is stopped */
|
||||
#define mEv_STATUS_SHOW (1 << 2) /* event is shown */
|
||||
@@ -319,7 +377,7 @@ typedef struct kabu_peddler_event_s {
|
||||
} mEv_kabu_peddler_c;
|
||||
|
||||
typedef struct dozaemon_event_s {
|
||||
u32 flags;
|
||||
u16 flags;
|
||||
} mEv_dozaemon_c;
|
||||
|
||||
typedef union {
|
||||
@@ -401,6 +459,14 @@ typedef struct santa_event_common_s {
|
||||
mActor_name_t last_talk_cloth;
|
||||
} mEv_santa_event_common_c;
|
||||
|
||||
#define mEv_SANTA_CLOTH_NUM_MAX 10 /* How many different shirts can the player trick Jingle with */
|
||||
|
||||
typedef struct santa_event_s {
|
||||
PersonalID_c pid;
|
||||
u8 present_count;
|
||||
mActor_name_t cloth[mEv_SANTA_CLOTH_NUM_MAX];
|
||||
} mEv_santa_event_c;
|
||||
|
||||
typedef union {
|
||||
mEv_broker_common_c broker;
|
||||
mEv_santa_event_common_c santa;
|
||||
@@ -420,8 +486,8 @@ typedef struct event_s {
|
||||
} Event_c;
|
||||
|
||||
typedef struct event_info_s {
|
||||
s8 type;
|
||||
s8 id;
|
||||
u8 type;
|
||||
u8 id;
|
||||
u16 year;
|
||||
mEv_MonthDay_u start_date;
|
||||
mEv_MonthDay_u end_date;
|
||||
@@ -444,42 +510,49 @@ typedef struct event_area_s {
|
||||
int data[11];
|
||||
} mEv_area_c;
|
||||
|
||||
#define mEv_AREA_NUM 5
|
||||
#define mEv_PLACE_NUM 10
|
||||
|
||||
typedef struct event_common_s {
|
||||
s16 _00;
|
||||
s16 area_use_bitfield;
|
||||
mEv_area_c area[5];
|
||||
mEv_area_c area[mEv_AREA_NUM];
|
||||
s16 too_short;
|
||||
s16 place_use_bitfield;
|
||||
mEv_place_c place[10];
|
||||
mEv_place_c place[mEv_PLACE_NUM];
|
||||
s16 fieldday_event_id;
|
||||
s16 fieldday_event_over_status;
|
||||
u32 unused[2];
|
||||
} mEv_common_data_c;
|
||||
|
||||
typedef struct event_save_event_info_s {
|
||||
s8 type;
|
||||
s8 flags;
|
||||
u8 type;
|
||||
u8 flags;
|
||||
} mEv_event_save_info_c;
|
||||
|
||||
typedef struct event_common_save_data {
|
||||
mEv_event_save_info_c special_event;
|
||||
mEv_event_save_info_c weekly_event;
|
||||
u16 dates[8];
|
||||
u16 dates[mEv_SAVE_DATE_NUM];
|
||||
int area_use_bitfield;
|
||||
mEv_area_c area[5];
|
||||
mEv_area_c area[mEv_AREA_NUM];
|
||||
int last_date;
|
||||
int _120;
|
||||
int delete_event_id;
|
||||
u32 valentines_day_date;
|
||||
u32 white_day_date; /* unused in AC */
|
||||
u16 ghost_day;
|
||||
u16 bridge_day; // last date suspension bridge event was active
|
||||
struct {
|
||||
u8 used_all_locations:1; // set to true when tortimer has cycled through all possible bridge locations?
|
||||
u8 locations_used:7; // index of river acre w/ possible bridge location currently at
|
||||
union {
|
||||
struct {
|
||||
u8 used_all_locations:1; // set to true when tortimer has cycled through all possible bridge locations?
|
||||
u8 locations_used:7; // index of river acre w/ possible bridge location currently at
|
||||
};
|
||||
|
||||
u8 raw;
|
||||
} bridge_flags;
|
||||
u8 ghost_event_type; // 0x72 will spawn wisp, 0x77 won't?
|
||||
u8 soncho_event_type; // checked not equal to 0xFF for summer & fall fishing tournies
|
||||
u8 current_event_state; // used to signal when you've received an item from gracie or woken gulliver up
|
||||
u8 dozaemon_completed; // used to signal when you've received an item from gulliver
|
||||
} mEv_save_common_data_c;
|
||||
|
||||
extern int mEv_CheckFirstJob();
|
||||
@@ -488,10 +561,10 @@ extern int mEv_CheckArbeit();
|
||||
extern int mEv_CheckTitleDemo();
|
||||
extern int mEv_check_status(int event, s16 status);
|
||||
extern int mEv_check_status_edge(s16 status);
|
||||
extern s8* mEv_get_common_area(int type, s8 id);
|
||||
extern s8* mEv_reserve_common_area(int type, s8 id);
|
||||
extern s8* mEv_get_save_area(int type, s8 id);
|
||||
extern s8* mEv_reserve_save_area(int type, s8 id);
|
||||
extern u8* mEv_get_common_area(int type, u8 id);
|
||||
extern u8* mEv_reserve_common_area(int type, u8 id);
|
||||
extern u8* mEv_get_save_area(int type, u8 id);
|
||||
extern u8* mEv_reserve_save_area(int type, u8 id);
|
||||
extern void mEv_actor_dying_message(int type, ACTOR* actor);
|
||||
extern int mEv_ArbeitPlayer(u32 player_no);
|
||||
extern u16 mEv_get_special_event_type();
|
||||
@@ -499,14 +572,14 @@ extern void mEv_ClearEventSaveInfo(mEv_event_save_c* event_save_data);
|
||||
extern void mEv_EventON(u32 event_kind);
|
||||
extern int mEv_CheckGateway();
|
||||
extern int mEv_check_schedule(int event);
|
||||
extern mEv_place_data_c* mEv_get_common_place(int type, s8 id);
|
||||
extern mEv_place_data_c* mEv_get_common_place(int type, u8 id);
|
||||
extern void mEv_set_status(int event, s16 status);
|
||||
extern void mEv_GetEventWeather(s16* weather, s16* intensity);
|
||||
extern int mEv_CheckRealArbeit();
|
||||
extern int mEv_CheckEvent(u32 event);
|
||||
extern u16 mEv_get_bargain_day();
|
||||
|
||||
extern int mEv_weekday2day(lbRTC_month_t month, int week_type, lbRTC_weekday_t weekday);
|
||||
extern int mEv_weekday2day(lbRTC_month_t month, int week_type, int weekday);
|
||||
extern void mEv_ClearEventInfo();
|
||||
|
||||
extern void mEv_init(Event_c* event);
|
||||
@@ -518,6 +591,9 @@ extern void mEv_finish(Event_c* event);
|
||||
extern int mEv_CheckTitleDemo();
|
||||
extern void mEv_SetTitleDemo(int titledemo_no);
|
||||
|
||||
extern int mGH_check_birth2();
|
||||
extern int mMC_check_birth();
|
||||
|
||||
extern void mEv_debug_print4f(gfxprint_t* gfxprint);
|
||||
extern void mEv_sp_debug_print4f(gfxprint_t* gfxprint);
|
||||
|
||||
|
||||
+4
-4
@@ -44,8 +44,8 @@ typedef struct island_s {
|
||||
/* 0x18CA */ lbRTC_time_c renew_time; /* last time island was visited? */
|
||||
/* 0x18D2 */ u8 unused_18D2[14]; /* unused */
|
||||
/* 0x18E0 */ u8 grass_tex_type; /* grass type */
|
||||
/* 0x18E1 */ u8 last_song_male; /* last song kapp'n sang for a male character */
|
||||
/* 0x18E2 */ u8 last_song_female; /* last song kapp'n sang for a female character */
|
||||
/* 0x18E1 */ u8 last_song_to_island; /* last song kapp'n sang to the island */
|
||||
/* 0x18E2 */ u8 last_song_from_island; /* last song kapp'n sang leaving the island */
|
||||
/* 0x18E3 */ u8 unused_18E3[29]; /* unused */
|
||||
} Island_c;
|
||||
|
||||
@@ -180,8 +180,8 @@ typedef struct island_agb_s {
|
||||
/* 0x3948 */ u16 npc_pal[16];
|
||||
/* 0x3968 */ u8 _3968[20];
|
||||
/* 0x397C */ u8 _397C;
|
||||
/* 0x397D */ u8 last_song_male; /* last song kapp'n sang for a male character */
|
||||
/* 0x397E */ u8 last_song_female; /* last song kapp'n sang for a female character */
|
||||
/* 0x397D */ u8 last_song_to_island; /* last song kapp'n sang for a male character */
|
||||
/* 0x397E */ u8 last_song_from_island; /* last song kapp'n sang for a female character */
|
||||
/* 0x397F */ u8 checksum;
|
||||
} Island_agb_c;
|
||||
|
||||
|
||||
@@ -11,8 +11,13 @@ extern "C" {
|
||||
|
||||
#define mMC_TALK_IDX_MAX 10
|
||||
|
||||
typedef struct mask_cat_data_s {
|
||||
/* 0x000 */ PersonalID_c creator_pid;
|
||||
/* 0x020 */ u8 design[mNW_DESIGN_TEX_SIZE] ATTRIBUTE_ALIGN(32); /* this is aligned to 32 bytes for ARAM transfer */
|
||||
} mMC_design_c;
|
||||
|
||||
typedef struct mask_cat_s {
|
||||
mNW_original_design_c design;
|
||||
mMC_design_c design;
|
||||
u8 palette_no;
|
||||
u8 cloth_no;
|
||||
u8 talk_idx;
|
||||
|
||||
+89
-63
@@ -4,6 +4,8 @@
|
||||
#include "types.h"
|
||||
#include "libu64/gfxprint.h"
|
||||
#include "m_choice.h"
|
||||
#include "m_item_name.h"
|
||||
#include "m_msg_data.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -67,6 +69,9 @@ enum {
|
||||
mMsg_MAIL_STR_NUM
|
||||
};
|
||||
|
||||
#define mMsg_STATUS_FLAG_ZOOMDOWN_LONG (1 << 11) /* When set, mMsg_sound_ZOOMDOWN_SHORT() sfx will not play */
|
||||
#define mMsg_STATUS_FLAG_USE_AM (1 << 17) /* 'AM' when set, 'PM' when not set */
|
||||
|
||||
typedef struct message_window_s mMsg_Window_c;
|
||||
typedef struct message_data_s mMsg_Data_c;
|
||||
|
||||
@@ -144,88 +149,89 @@ struct message_data_s {
|
||||
};
|
||||
|
||||
struct message_window_s {
|
||||
int data_loaded;
|
||||
int msg_no;
|
||||
int _008;
|
||||
mMsg_Data_c* msg_data;
|
||||
f32 center_x;
|
||||
f32 center_y;
|
||||
f32 width;
|
||||
f32 height;
|
||||
/* 0x000 */ int data_loaded;
|
||||
/* 0x004 */ int msg_no;
|
||||
/* 0x008 */ int _008;
|
||||
/* 0x00C */ mMsg_Data_c* msg_data;
|
||||
/* 0x010 */ f32 center_x;
|
||||
/* 0x014 */ f32 center_y;
|
||||
/* 0x018 */ f32 width;
|
||||
/* 0x01C */ f32 height;
|
||||
|
||||
ACTOR* talk_actor;
|
||||
int show_actor_name;
|
||||
int actor_name_len;
|
||||
int nameplate_x;
|
||||
int nameplay_y;
|
||||
/* 0x020 */ ACTOR* talk_actor;
|
||||
/* 0x024 */ int show_actor_name;
|
||||
/* 0x028 */ int actor_name_len;
|
||||
/* 0x02C */ int nameplate_x;
|
||||
/* 0x030 */ int nameplay_y;
|
||||
|
||||
int show_continue_button;
|
||||
/* 0x034 */ int show_continue_button;
|
||||
|
||||
u8 free_str[mMsg_FREE_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
int free_str_article[mMsg_FREE_STR_NUM];
|
||||
/* 0x038 */ u8 free_str[mMsg_FREE_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
/* 0x178 */ int free_str_article[mMsg_FREE_STR_NUM];
|
||||
|
||||
u8 item_str[mMsg_ITEM_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
int item_str_article[mMsg_ITEM_STR_NUM];
|
||||
/* 0x1C8 */ u8 item_str[mMsg_ITEM_STR_NUM][mMsg_FREE_STRING_LEN];
|
||||
/* 0x218 */ int item_str_article[mMsg_ITEM_STR_NUM];
|
||||
|
||||
u8 mail_str[mMsg_MAIL_STR_NUM][mMsg_MAIL_STRING_LEN];
|
||||
/* 0x22C */ u8 mail_str[mMsg_MAIL_STR_NUM][mMsg_MAIL_STRING_LEN];
|
||||
|
||||
rgba_t name_text_color;
|
||||
rgba_t name_background_color;
|
||||
/* 0x2B0 */ rgba_t name_text_color;
|
||||
/* 0x2B4 */ rgba_t name_background_color;
|
||||
|
||||
rgba_t window_background_color;
|
||||
rgba_t font_color[4];
|
||||
/* 0x2B8 */ rgba_t window_background_color;
|
||||
/* 0x2BC */ rgba_t font_color[4];
|
||||
|
||||
rgba_t continue_button_color;
|
||||
/* 0x2CC */ rgba_t continue_button_color;
|
||||
|
||||
f32 font_scale_x;
|
||||
f32 font_scale_y;
|
||||
/* 0x2D0 */ f32 font_scale_x;
|
||||
/* 0x2D4 */ f32 font_scale_y;
|
||||
|
||||
int _2D8;
|
||||
int _2DC;
|
||||
/* 0x2D8 */ int _2D8;
|
||||
/* 0x2DC */ int _2DC;
|
||||
|
||||
int text_lines;
|
||||
int current_line;
|
||||
/* 0x2E0 */ int text_lines;
|
||||
/* 0x2E4 */ int current_line;
|
||||
|
||||
mChoice_c choice_window;
|
||||
/* 0x2E8 */ mChoice_c choice_window;
|
||||
|
||||
int _3E8;
|
||||
/* 0x3E8 */ int _3E8;
|
||||
|
||||
u16 end_timer;
|
||||
s16 animal_voice_idx;
|
||||
int voice_sfx_idx;
|
||||
u8 voice_idx;
|
||||
u8 voice2_idx;
|
||||
u8 voice3_idx;
|
||||
s8 hide_choice_window_timer;
|
||||
int spec;
|
||||
u8 free_str_color_idx[4];
|
||||
u8 _404[8]; // unused?
|
||||
u32 status_flags;
|
||||
/* 0x3EC */ u16 end_timer;
|
||||
/* 0x3EE */ s16 animal_voice_idx;
|
||||
/* 0x3F0 */ int voice_sfx_idx;
|
||||
/* 0x3F4 */ u8 voice_idx;
|
||||
/* 0x3F5 */ u8 voice2_idx;
|
||||
/* 0x3F6 */ u8 voice3_idx;
|
||||
/* 0x3F7 */ s8 hide_choice_window_timer;
|
||||
/* 0x3F8 */ u8 force_voice_enable_flag;
|
||||
/* 0x3FC */ int spec;
|
||||
/* 0x400 */ u8 free_str_color_idx[4];
|
||||
/* 0x408 */ u8 _404[8]; // unused?
|
||||
/* 0x40C */ u32 status_flags;
|
||||
|
||||
f32 timer;
|
||||
f32 cursor_timer;
|
||||
f32 continue_button_timer;
|
||||
/* 0x410 */ f32 timer;
|
||||
/* 0x414 */ f32 cursor_timer;
|
||||
/* 0x418 */ f32 continue_button_timer;
|
||||
|
||||
int start_text_cursor_idx;
|
||||
int end_text_cursor_idx;
|
||||
f32 window_scale;
|
||||
f32 text_scale;
|
||||
/* 0x41C */ int start_text_cursor_idx;
|
||||
/* 0x420 */ int end_text_cursor_idx;
|
||||
/* 0x424 */ f32 window_scale;
|
||||
/* 0x428 */ f32 text_scale;
|
||||
|
||||
int requested_main_index;
|
||||
int requested_priority;
|
||||
/* 0x42C */ int requested_main_index;
|
||||
/* 0x430 */ int requested_priority;
|
||||
|
||||
int main_index;
|
||||
int draw_flag;
|
||||
int cancel_flag;
|
||||
int cancelable_flag;
|
||||
int continue_msg_no;
|
||||
int continue_cancel_flag;
|
||||
int force_next;
|
||||
int lock_continue;
|
||||
s8 now_utter;
|
||||
/* 0x434 */ int main_index;
|
||||
/* 0x438 */ int draw_flag;
|
||||
/* 0x43C */ int cancel_flag;
|
||||
/* 0x440 */ int cancelable_flag;
|
||||
/* 0x444 */ int continue_msg_no;
|
||||
/* 0x448 */ int continue_cancel_flag;
|
||||
/* 0x44C */ int force_next;
|
||||
/* 0x450 */ int lock_continue;
|
||||
/* 0x454 */ s8 now_utter;
|
||||
|
||||
mMsg_Main_Data_c main_data;
|
||||
mMsg_Request_Data_c request_data;
|
||||
/* 0x458 */ mMsg_Main_Data_c main_data;
|
||||
/* 0x460 */ mMsg_Request_Data_c request_data;
|
||||
};
|
||||
|
||||
extern int mMsg_Get_Length_String(u8* buf, size_t buf_size);
|
||||
@@ -262,6 +268,26 @@ extern int mMsg_Check_main_hide(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_sound_voice_get_for_editor(int code);
|
||||
extern int mMsg_sound_spec_change_voice(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_request_main_forceoff();
|
||||
extern int mMsg_CopyPlayerName(u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyTalkName(ACTOR* actor, u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyTail(ACTOR* actor, u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyYear(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyMonth(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyWeek(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyDay(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyHour(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyMin(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopySec(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyFree(mMsg_Window_c* msg_win, int free_idx, u8* data, int idx, int max_size, int article, int capitalize);
|
||||
extern int mMsg_CopyDetermination(mMsg_Window_c* msg_win, u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyCountryName(u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyRamdomNumber2(u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyItem(mMsg_Window_c* msg_win, int item_idx, u8* data, int idx, int max_size, int article, int capitalize);
|
||||
extern int mMsg_CopyMail(mMsg_Window_c* msg_win, int mail_idx, u8* data, int idx, int max_size);
|
||||
extern int mMsg_CopyIslandName(u8* data, int idx, int max_size, int capitalize);
|
||||
extern int mMsg_CopyAmPm(mMsg_Window_c* msg_win, u8* data, int idx, int max_size);
|
||||
extern void mMsg_sound_set_voice_silent(mMsg_Window_c* msg_win, int update_voice_mode);
|
||||
extern void mMsg_sound_unset_voice_silent(mMsg_Window_c* msg_win, int update_voice_mode);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef M_MSG_DATA_H
|
||||
#define M_MSG_DATA_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define MSG_SANTA_WISH_FTR 0x2B54
|
||||
#define MSG_SANTA_WISH_WALL 0x2B55
|
||||
#define MSG_SANTA_WISH_CARPET 0x2B56
|
||||
#define MSG_SANTA_WISH_CLOTH 0x2B57
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+84
-84
@@ -1617,90 +1617,90 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define NPC_HOUSE_END 0x50EE
|
||||
|
||||
#define STRUCTURE_START 0x5800
|
||||
#define HOUSE0 (STRUCTURE_START)
|
||||
#define HOUSE1 (HOUSE0 + 1)
|
||||
#define HOUSE2 (HOUSE1 + 1)
|
||||
#define HOUSE3 (HOUSE2 + 1)
|
||||
#define SHOP0 (HOUSE3 + 1)
|
||||
#define SHOP1 (SHOP0 + 1)
|
||||
#define SHOP2 (SHOP1 + 1)
|
||||
#define SHOP3 (SHOP2 + 1)
|
||||
#define POST_OFFICE (SHOP3 + 1)
|
||||
#define TRAIN_STATION (POST_OFFICE + 1)
|
||||
#define TRAIN0 (TRAIN_STATION + 1)
|
||||
#define TRAIN1 (TRAIN0 + 1)
|
||||
#define POLICE_STATION (TRAIN1 + 1)
|
||||
#define WATERFALL_SOUTH (POLICE_STATION + 1)
|
||||
#define WATERFALL_EAST (WATERFALL_SOUTH + 1)
|
||||
#define WATERFALL_WEST (WATERFALL_EAST + 1)
|
||||
#define HOUSE0 (STRUCTURE_START + 0)
|
||||
#define HOUSE1 (STRUCTURE_START + 1)
|
||||
#define HOUSE2 (STRUCTURE_START + 2)
|
||||
#define HOUSE3 (STRUCTURE_START + 3)
|
||||
#define SHOP0 (STRUCTURE_START + 4)
|
||||
#define SHOP1 (STRUCTURE_START + 5)
|
||||
#define SHOP2 (STRUCTURE_START + 6)
|
||||
#define SHOP3 (STRUCTURE_START + 7)
|
||||
#define POST_OFFICE (STRUCTURE_START + 8)
|
||||
#define TRAIN_STATION (STRUCTURE_START + 9)
|
||||
#define TRAIN0 (STRUCTURE_START + 10)
|
||||
#define TRAIN1 (STRUCTURE_START + 11)
|
||||
#define POLICE_STATION (STRUCTURE_START + 12)
|
||||
#define WATERFALL_SOUTH (STRUCTURE_START + 13)
|
||||
#define WATERFALL_EAST (STRUCTURE_START + 14)
|
||||
#define WATERFALL_WEST (STRUCTURE_START + 15)
|
||||
#define SIGN00 (STRUCTURE_START + 16)
|
||||
#define SIGN01 (SIGN00 + 1)
|
||||
#define SIGN02 (SIGN01 + 1)
|
||||
#define SIGN03 (SIGN02 + 1)
|
||||
#define SIGN04 (SIGN03 + 1)
|
||||
#define SIGN05 (SIGN04 + 1)
|
||||
#define SIGN06 (SIGN05 + 1)
|
||||
#define SIGN07 (SIGN06 + 1)
|
||||
#define SIGN08 (SIGN07 + 1)
|
||||
#define SIGN09 (SIGN08 + 1)
|
||||
#define SIGN10 (SIGN09 + 1)
|
||||
#define SIGN11 (SIGN10 + 1)
|
||||
#define SIGN12 (SIGN11 + 1)
|
||||
#define SIGN13 (SIGN12 + 1)
|
||||
#define SIGN14 (SIGN13 + 1)
|
||||
#define SIGN15 (SIGN14 + 1)
|
||||
#define SIGN16 (SIGN15 + 1)
|
||||
#define SIGN17 (SIGN16 + 1)
|
||||
#define SIGN18 (SIGN17 + 1)
|
||||
#define SIGN19 (SIGN18 + 1)
|
||||
#define SIGN20 (SIGN19 + 1)
|
||||
#define WISHING_WELL (SIGN20 + 1)
|
||||
#define BROKER_TENT (WISHING_WELL + 1)
|
||||
#define FORTUNE_TENT (BROKER_TENT + 1)
|
||||
#define DESIGNER_CAR (FORTUNE_TENT + 1)
|
||||
#define KAMAKURA (DESIGNER_CAR + 1)
|
||||
#define SAKURA_TABLE0 (KAMAKURA + 1)
|
||||
#define SAKURA_TABLE1 (SAKURA_TABLE0 + 1)
|
||||
#define AEROBICS_RADIO (SAKURA_TABLE1 + 1)
|
||||
#define FIREWORKS_STALL0 (AEROBICS_RADIO + 1)
|
||||
#define FIREWORKS_STALL1 (FIREWORKS_STALL0 + 1)
|
||||
#define NEWYEAR_SHRINE0 (FIREWORKS_STALL1 + 1)
|
||||
#define NEWYEAR_SHRINE1 (NEWYEAR_SHRINE0 + 1)
|
||||
#define NEWYEAR_TABLE (NEWYEAR_SHRINE1 + 1)
|
||||
#define NEWYEAR_COUNTDOWN0 (NEWYEAR_TABLE + 1)
|
||||
#define NEWYEAR_COUNTDOWN1 (NEWYEAR_COUNTDOWN0 + 1)
|
||||
#define SPORTSFAIR_BALLS_RED (NEWYEAR_COUNTDOWN1 + 1)
|
||||
#define SPORTSFAIR_BALLS_WHITE (SPORTSFAIR_BALLS_RED + 1)
|
||||
#define SPORTSFAIR_BASKET_RED (SPORTSFAIR_BALLS_WHITE + 1)
|
||||
#define SPORTSFAIR_BASKET_WHITE (SPORTSFAIR_BASKET_RED + 1)
|
||||
#define FISHCHECK_STAND0 (SPORTSFAIR_BASKET_WHITE + 1)
|
||||
#define FISHCHECK_STAND1 (FISHCHECK_STAND0 + 1)
|
||||
#define KOINOBORI_WINDSOCK (FISHCHECK_STAND1 + 1)
|
||||
#define DUMP (KOINOBORI_WINDSOCK + 1)
|
||||
#define WINDMILL0 (DUMP + 1)
|
||||
#define WINDMILL1 (WINDMILL0 + 1)
|
||||
#define WINDMILL2 (WINDMILL1 + 1)
|
||||
#define WINDMILL3 (WINDMILL2 + 1)
|
||||
#define WINDMILL4 (WINDMILL3 + 1)
|
||||
#define LOTUS (WINDMILL4 + 1)
|
||||
#define MIKANBOX (LOTUS + 1)
|
||||
#define DOUZOU (MIKANBOX + 1) // train station statue
|
||||
#define TOUDAI (DOUZOU + 1) // lighthouse
|
||||
#define GHOG (TOUDAI + 1)
|
||||
#define HTABLE0 (GHOG + 1)
|
||||
#define HTABLE1 (HTABLE0 + 1)
|
||||
#define HTABLE2 (HTABLE1 + 1)
|
||||
#define TENT (HTABLE2 + 1)
|
||||
#define MUSEUM (TENT + 1)
|
||||
#define BRIDGE_A0 (MUSEUM + 1)
|
||||
#define BRIDGE_A1 (BRIDGE_A0 + 1)
|
||||
#define NEEDLEWORK_SHOP (BRIDGE_A1 + 1)
|
||||
#define FLAG (NEEDLEWORK_SHOP + 1)
|
||||
#define BOAT (FLAG + 1)
|
||||
#define COTTAGE_MY (BOAT + 1)
|
||||
#define COTTAGE_NPC (COTTAGE_MY + 1)
|
||||
#define PORT_SIGN (COTTAGE_NPC + 1)
|
||||
#define STRUCTURE_END (PORT_SIGN + 1)
|
||||
#define SIGN01 (STRUCTURE_START + 17)
|
||||
#define SIGN02 (STRUCTURE_START + 18)
|
||||
#define SIGN03 (STRUCTURE_START + 19)
|
||||
#define SIGN04 (STRUCTURE_START + 20)
|
||||
#define SIGN05 (STRUCTURE_START + 21)
|
||||
#define SIGN06 (STRUCTURE_START + 22)
|
||||
#define SIGN07 (STRUCTURE_START + 23)
|
||||
#define SIGN08 (STRUCTURE_START + 24)
|
||||
#define SIGN09 (STRUCTURE_START + 25)
|
||||
#define SIGN10 (STRUCTURE_START + 26)
|
||||
#define SIGN11 (STRUCTURE_START + 27)
|
||||
#define SIGN12 (STRUCTURE_START + 28)
|
||||
#define SIGN13 (STRUCTURE_START + 29)
|
||||
#define SIGN14 (STRUCTURE_START + 30)
|
||||
#define SIGN15 (STRUCTURE_START + 31)
|
||||
#define SIGN16 (STRUCTURE_START + 32)
|
||||
#define SIGN17 (STRUCTURE_START + 33)
|
||||
#define SIGN18 (STRUCTURE_START + 34)
|
||||
#define SIGN19 (STRUCTURE_START + 35)
|
||||
#define SIGN20 (STRUCTURE_START + 36)
|
||||
#define WISHING_WELL (STRUCTURE_START + 37)
|
||||
#define BROKER_TENT (STRUCTURE_START + 38)
|
||||
#define FORTUNE_TENT (STRUCTURE_START + 39)
|
||||
#define DESIGNER_CAR (STRUCTURE_START + 40)
|
||||
#define KAMAKURA (STRUCTURE_START + 41)
|
||||
#define SAKURA_TABLE0 (STRUCTURE_START + 42)
|
||||
#define SAKURA_TABLE1 (STRUCTURE_START + 43)
|
||||
#define AEROBICS_RADIO (STRUCTURE_START + 44)
|
||||
#define FIREWORKS_STALL0 (STRUCTURE_START + 45)
|
||||
#define FIREWORKS_STALL1 (STRUCTURE_START + 46)
|
||||
#define NEWYEAR_SHRINE0 (STRUCTURE_START + 47)
|
||||
#define NEWYEAR_SHRINE1 (STRUCTURE_START + 48)
|
||||
#define NEWYEAR_TABLE (STRUCTURE_START + 49)
|
||||
#define NEWYEAR_COUNTDOWN0 (STRUCTURE_START + 50)
|
||||
#define NEWYEAR_COUNTDOWN1 (STRUCTURE_START + 51)
|
||||
#define SPORTSFAIR_BALLS_RED (STRUCTURE_START + 52)
|
||||
#define SPORTSFAIR_BALLS_WHITE (STRUCTURE_START + 53)
|
||||
#define SPORTSFAIR_BASKET_RED (STRUCTURE_START + 54)
|
||||
#define SPORTSFAIR_BASKET_WHITE (STRUCTURE_START + 55)
|
||||
#define FISHCHECK_STAND0 (STRUCTURE_START + 56)
|
||||
#define FISHCHECK_STAND1 (STRUCTURE_START + 57)
|
||||
#define KOINOBORI_WINDSOCK (STRUCTURE_START + 58)
|
||||
#define DUMP (STRUCTURE_START + 59)
|
||||
#define WINDMILL0 (STRUCTURE_START + 60)
|
||||
#define WINDMILL1 (STRUCTURE_START + 61)
|
||||
#define WINDMILL2 (STRUCTURE_START + 62)
|
||||
#define WINDMILL3 (STRUCTURE_START + 63)
|
||||
#define WINDMILL4 (STRUCTURE_START + 64)
|
||||
#define LOTUS (STRUCTURE_START + 65)
|
||||
#define MIKANBOX (STRUCTURE_START + 66)
|
||||
#define DOUZOU (STRUCTURE_START + 67) // train station statue
|
||||
#define TOUDAI (STRUCTURE_START + 68) // lighthouse
|
||||
#define GHOG (STRUCTURE_START + 69)
|
||||
#define HTABLE0 (STRUCTURE_START + 70)
|
||||
#define HTABLE1 (STRUCTURE_START + 71)
|
||||
#define HTABLE2 (STRUCTURE_START + 72)
|
||||
#define TENT (STRUCTURE_START + 73)
|
||||
#define MUSEUM (STRUCTURE_START + 74)
|
||||
#define BRIDGE_A0 (STRUCTURE_START + 75)
|
||||
#define BRIDGE_A1 (STRUCTURE_START + 76)
|
||||
#define NEEDLEWORK_SHOP (STRUCTURE_START + 77)
|
||||
#define FLAG (STRUCTURE_START + 78)
|
||||
#define BOAT (STRUCTURE_START + 79)
|
||||
#define COTTAGE_MY (STRUCTURE_START + 80)
|
||||
#define COTTAGE_NPC (STRUCTURE_START + 81)
|
||||
#define PORT_SIGN (STRUCTURE_START + 82)
|
||||
#define STRUCTURE_END (STRUCTURE_START + 83)
|
||||
|
||||
#define ETC_START 0x8000
|
||||
#define ETC_AIRPLANE ETC_START
|
||||
@@ -1858,7 +1858,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
|
||||
#define SP_NPC_SONCHO_D078 (SP_NPC_START + 120) // D078
|
||||
#define SP_NPC_SONCHO_D079 (SP_NPC_START + 121) // D079
|
||||
#define SP_NPC_SASHO (SP_NPC_START + 122) // D07A
|
||||
//
|
||||
#define SP_NPC_CASTAWAY (SP_NPC_START + 123) // D07B
|
||||
#define SP_NPC_MAJIN_D07C (SP_NPC_START + 124) // D07C
|
||||
#define SP_NPC_MAJIN_D07D (SP_NPC_START + 125) // D07D
|
||||
#define SP_NPC_MAJIN_BROTHER (SP_NPC_START + 126) // D07E
|
||||
|
||||
@@ -49,6 +49,8 @@ extern void mPlib_request_main_give_from_submenu(mActor_name_t disp_item, int su
|
||||
extern int mPlib_Check_tree_shaken_big(const xyz_t* pos);
|
||||
extern int mPlib_Check_tree_shaken_little(const xyz_t* pos);
|
||||
extern int mPlib_request_main_recieve_wait_type1(GAME* game, mActor_name_t item, int counter_flag);
|
||||
extern int mPlib_able_player_warp_forEvent();
|
||||
extern int mPlib_Get_unable_wade();
|
||||
|
||||
extern mPlayer_change_data_from_submenu_c* mPlib_Get_change_data_from_submenu_p();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user