mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-09 12:05:56 -04:00
Merge pull request #128 from Cuyler36/m_soncho
Implement & link m_soncho.c
This commit is contained in:
@@ -229,6 +229,10 @@ m_shop.c:
|
||||
.rodata: [0x80643270, 0x806432D0]
|
||||
.data: [0x8065D690, 0x8065DBF8]
|
||||
.bss: [0x8129F308, 0x8129F320]
|
||||
m_soncho.c:
|
||||
.text: [0x803EC240, 0x803EDEC0]
|
||||
.rodata: [0x806432D0, 0x806432E0]
|
||||
.data: [0x8065DBF8, 0x8065DD70]
|
||||
m_start_data_init.c:
|
||||
.text: [0x803EDEC0, 0x803EED30]
|
||||
.rodata: [0x806432E0, 0x806432F0]
|
||||
|
||||
@@ -3,11 +3,56 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "m_scene.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
enum {
|
||||
aHOI_REQUEST_NO_REQUEST,
|
||||
aHOI_REQUEST_TRANSFER,
|
||||
aHOI_REQUEST_TRANS_WAIT,
|
||||
aHOI_REQUEST_GET,
|
||||
aHOI_REQUEST_GET_PULL,
|
||||
aHOI_REQUEST_EAT,
|
||||
aHOI_REQUEST_CHANGE,
|
||||
aHOI_REQUEST_PUTAWAY,
|
||||
aHOI_REQUEST_GET_PULL_WAIT,
|
||||
aHOI_REQUEST_RETURN,
|
||||
aHOI_REQUEST_RETURN_WAIT,
|
||||
aHOI_REQUEST_ESTIMATE,
|
||||
|
||||
aHOI_REQUEST_NUM
|
||||
};
|
||||
|
||||
typedef struct hand_over_item_actor_s HANDOVERITEM_ACTOR;
|
||||
|
||||
typedef ACTOR* (*aHOI_BIRTH_PROC)(mActor_name_t, int, int);
|
||||
typedef ACTOR* (*aHOI_CHG_MASTER_PROC)(ACTOR*);
|
||||
typedef int (*aHOI_CHG_REQUEST_MODE_PROC)(ACTOR*, int);
|
||||
typedef void (*aHOI_REBUILD_DMA_PROC)(Object_Exchange_c*, ACTOR*); /* yoinked from DnM, unused in AC */
|
||||
|
||||
typedef struct hand_over_item_clip_s {
|
||||
aHOI_BIRTH_PROC birth_proc;
|
||||
aHOI_CHG_MASTER_PROC chg_master_proc;
|
||||
aHOI_CHG_REQUEST_MODE_PROC chg_request_mode_proc;
|
||||
u8 request_mode;
|
||||
u8 player_after_mode;
|
||||
mActor_name_t item;
|
||||
ACTOR* master_actor;
|
||||
ACTOR* target_actor;
|
||||
u8 present_flag;
|
||||
u8 master_changed_flag;
|
||||
HANDOVERITEM_ACTOR* handOverItem_p;
|
||||
aHOI_REBUILD_DMA_PROC rebuild_dma_proc;
|
||||
} aHOI_Clip_c;
|
||||
|
||||
struct hand_over_item_actor_s {
|
||||
ACTOR actor_class;
|
||||
u8 _174[0x1F4 - 0x174]; /* TODO */
|
||||
};
|
||||
|
||||
extern ACTOR_PROFILE HandOverItem_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+9
-2
@@ -71,11 +71,18 @@ struct npc_actor_s {
|
||||
NpcActorInfo_c npc_info;
|
||||
u8 _194[0x718 - 0x194];
|
||||
int texture_bank_idx; // TEMP: this is part of draw struct
|
||||
u8 _71C[0x978 - 0x71C];
|
||||
u8 _71C[0x974 - 0x71C];
|
||||
s16 talk_base_anim_id;
|
||||
s16 _976;
|
||||
s16 melody_inst;
|
||||
u8 _97A[0x9D8 - 0x97A];
|
||||
u8 _97A[0x994 - 0x97A]; /* TODO: 0x994 may be too big. Verify size. Seen in ac_normal_npc, ac_npc_engineer */
|
||||
};
|
||||
|
||||
typedef struct animal_npc_actor_s {
|
||||
NPC_ACTOR npc_actor_class;
|
||||
u8 _994[0x9D8 - 0x994];
|
||||
} ANIMAL_NPC_ACTOR;
|
||||
|
||||
extern ACTOR_PROFILE Npc_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -3,11 +3,30 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "m_actor.h"
|
||||
#include "ac_npc.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct taisou_npc0_actor_s {
|
||||
NPC_ACTOR npc_actor_class;
|
||||
s8 ratio_idx;
|
||||
u8 anim_initialized;
|
||||
u8 gymnastic_state;
|
||||
u8 delay_cnt;
|
||||
s8 radio_counter;
|
||||
f32 end_ratio;
|
||||
int _9A0;
|
||||
int anime_dir;
|
||||
f32 current_ratio;
|
||||
int frame;
|
||||
mActor_name_t held_item;
|
||||
u8 talk_proc;
|
||||
u8 talk_state;
|
||||
u8 soncho_event;
|
||||
} TAISOU_NPC0_ACTOR;
|
||||
|
||||
extern ACTOR_PROFILE Taisou_Npc0_Profile;
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+2
-1
@@ -20,6 +20,7 @@
|
||||
#include "ac_my_indoor.h"
|
||||
#include "ac_arrange_room.h"
|
||||
#include "ac_shop_umbrella.h"
|
||||
#include "ac_handOverItem.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -44,7 +45,7 @@ typedef struct clip_s {
|
||||
/* 0x07C */ aINS_Clip_c* insect_clip;
|
||||
/* 0x080 */ aMR_Clip_c* my_room_clip;
|
||||
/* 0x084 */ void* _084;
|
||||
/* 0x088 */ void* _088;
|
||||
/* 0x088 */ aHOI_Clip_c* handOverItem_clip;
|
||||
/* 0x08C */ aSTR_Clip_c* structure_clip;
|
||||
/* 0x090 */ eEC_EffectControl_Clip_c* effect_clip;
|
||||
/* 0x094 */ aTOL_Clip_c* tools_clip;
|
||||
|
||||
@@ -71,7 +71,7 @@ typedef struct bridge_s {
|
||||
|
||||
typedef struct lighthouse_s {
|
||||
lbRTC_ymd_c renew_time;
|
||||
u8 players_switch_on;
|
||||
u8 days_switched_on;
|
||||
u8 players_quest_started;
|
||||
u8 players_completed;
|
||||
} LightHouse_c;
|
||||
|
||||
@@ -240,6 +240,9 @@ extern int mMsg_Check_MainDisappear(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_request_main_disappear_wait_type1(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_request_main_appear_wait_type1(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_Get_BodyParam(u32 table_rom_start, u32 data_rom_start, int entry_no, u32* data_addr, u32* data_size);
|
||||
extern void mMsg_Set_LockContinue(mMsg_Window_c* msg_win);
|
||||
extern void mMsg_Unset_LockContinue(mMsg_Window_c* msg_win);
|
||||
extern int mMsg_Get_msg_num(mMsg_Window_c* msg_win);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+87
-7
@@ -553,14 +553,32 @@ extern mActor_name_t bg_item_fg_sub_dig2take_conv(mActor_name_t item);
|
||||
#define FTR_DINO_DISP_STEGO 0x1F94
|
||||
#define FTR_DINO_DISP_STEGO2 0x1F98
|
||||
#define FTR_FOSSIL 0x1F9C
|
||||
|
||||
#define FTR_SHOGI_PIECE 0x1FA0
|
||||
#define FTR_CHOCOLATES 0x1FA4
|
||||
#define FTR_POST_BOX 0x1FA8
|
||||
#define FTR_PIGGY_BANK 0x1FAC
|
||||
|
||||
#define FTR_TISSUE 0x1FB0
|
||||
|
||||
#define FTR_TRIBAL_MASK 0x1FB4
|
||||
#define FTR_MATRYOSHKA 0x1FB8
|
||||
#define FTR_FAMICOM_LEGEND_OF_ZELDA_DISK 0x1FBC
|
||||
#define FTR_BOTTLED_SHIP 0x1FC0
|
||||
#define FTR_TIGER_BOBBLEHEAD 0x1FC4
|
||||
#define FTR_MOAI_STATUE 0x1FC8
|
||||
#define FTR_AEROBICS_RADIO 0x1FCC
|
||||
#define FTR_PAGODA 0x1FD0
|
||||
#define FTR_FISHING_BEAR 0x1FD4
|
||||
#define FTR_MOUTH_OF_TRUTH 0x1FD8
|
||||
#define FTR_CHINESE_LIONESS 0x1FDC
|
||||
#define FTR_TOWER_OF_PISA 0x1FE0
|
||||
#define FTR_MERLION 0x1FE4
|
||||
#define FTR_MANEKIN_PIS 0x1FE8
|
||||
#define FTR_TOKYO_TOWER 0x1FEC
|
||||
#define FTR_RED_BALLOON 0x1FF0
|
||||
#define FTR_YELLOW_BALLOON 0x1FF4
|
||||
#define FTR_BLUE_BALLOON 0x1FF8
|
||||
#define FTR_GREE_BALLOON 0x1FFC
|
||||
#define FTR0_END 0x1FFF
|
||||
|
||||
|
||||
#define ITM_PAPER_START 0x2000
|
||||
#define ITM_PAPER00 (ITM_PAPER_START + 0)
|
||||
#define ITM_PAPER01 (ITM_PAPER_START + 1)
|
||||
@@ -1182,9 +1200,54 @@ extern mActor_name_t bg_item_fg_sub_dig2take_conv(mActor_name_t item);
|
||||
#define FTR_MANOR_MODEL 0x3028
|
||||
#define FTR_POLICE_MODEL 0x302C
|
||||
#define FTR_MUSEUM_MODEL 0x3030
|
||||
|
||||
#define FTR_PLATE_ARMOR 0x3034
|
||||
#define FTR_TSUKIMI_DANGO 0x3038
|
||||
#define FTR_BEAN_THROWING_SET 0x303C
|
||||
#define FTR_OSECHI 0x3040
|
||||
#define FTR_LOVELY_PHONE 0x3044
|
||||
#define FTR_MARKET_MODEL 0x3048
|
||||
#define FTR_FORTUNE_TENT_MODEL 0x304C
|
||||
#define FTR_CHINESE_LION 0x3050
|
||||
#define FTR_TANABATA_PALM 0x3054
|
||||
#define FTR_SPRING_PENNANT 0x3058
|
||||
#define FTR_AUTUMN_PENNANT 0x305C
|
||||
#define FTR_SHOP_MDOEL 0x3060
|
||||
#define FTR_COMPASS 0x3064
|
||||
#define FTR_LONG_LIFE_NOODLES 0x3068
|
||||
#define FTR_BASS_BOAT 0x306C
|
||||
#define FTR_LIGHTHOUSE_MODEL 0x3070
|
||||
#define FTR_LIFE_RING 0x3074
|
||||
#define FTR_TREE_MODEL 0x3078
|
||||
#define FTR_PINK_TREE_MODEL 0x307C
|
||||
#define FTR_WEED_MODEL 0x3080
|
||||
#define FTR_NEEDLEWORK_MODEL 0x3084
|
||||
#define FTR_DUMP_MODEL 0x3088
|
||||
#define FTR_MORTAR_BALL 0x308C
|
||||
#define FTR_SNOWMAN 0x3090
|
||||
#define FTR_MINI_CAR 0x3094
|
||||
#define FTR_BIG_CATCH_FLAG 0x3098
|
||||
#define FTR_MOON 0x309C
|
||||
#define FTR_LOCOMOTIVE_MODEL 0x30A0
|
||||
|
||||
#define FTR_DOLLY 0x30A4
|
||||
#define FTR_STATION_MODEL0 0x30A8
|
||||
#define FTR_STATION_MODEL1 0x30AC
|
||||
#define FTR_STATION_MODEL2 0x30B0
|
||||
#define FTR_STATION_MODEL3 0x30B4
|
||||
#define FTR_STATION_MODEL4 0x30B8
|
||||
#define FTR_STATION_MODEL5 0x30BC
|
||||
#define FTR_STATION_MODEL6 0x30C0
|
||||
#define FTR_STATION_MODEL7 0x30C4
|
||||
#define FTR_STATION_MODEL8 0x30C8
|
||||
#define FTR_STATION_MODEL9 0x30CC
|
||||
#define FTR_STATION_MODEL10 0x30D0
|
||||
#define FTR_STATION_MODEL11 0x30D4
|
||||
#define FTR_STATION_MODEL12 0x30D8
|
||||
#define FTR_STATION_MODEL13 0x30DC
|
||||
#define FTR_STATION_MODEL14 0x30E0
|
||||
#define FTR_WELL_MODEL 0x30E4
|
||||
#define FTR_GRASS_MODEL 0x30E8
|
||||
#define FTR_TRACK_MODEL 0x30EC
|
||||
#define FTR_DIRT_MODEL 0x30F0
|
||||
#define FTR_TRAIN_CAR_MODEL 0x30F4
|
||||
#define FTR_ORANGEBOX 0x30F8
|
||||
|
||||
@@ -1192,12 +1255,29 @@ extern mActor_name_t bg_item_fg_sub_dig2take_conv(mActor_name_t item);
|
||||
|
||||
#define FTR_CALLIGRAPHY_PAD_WEST 0x313B
|
||||
|
||||
#define FTR_BOTTLE_ROCKET 0x31F0
|
||||
|
||||
#define FTR_FISHING_TROPHY 0x3210
|
||||
|
||||
#define FTR_TELESCOPE 0x3238
|
||||
|
||||
#define FTR_FESTIVE_FLAG 0x327C
|
||||
#define FTR_SUPER_TORTIMER 0x3280
|
||||
|
||||
#define FTR_MAILBOX 0x3294
|
||||
#define FTR_FESTIVE_CANDLE 0x3298
|
||||
|
||||
#define FTR1_END 0x3000
|
||||
#define FTR_SPRING_MEDAL 0x32A8
|
||||
#define FTR_AUTUMN_MEDAL 0x32AC
|
||||
|
||||
#define FTR_ANGLER_TROPHY 0x3374
|
||||
|
||||
#define FTR_CORNUCOPIA 0x33B4
|
||||
#define FTR_JUDGES_BELL 0x33B8
|
||||
#define FTR_NOISEMAKER 0x33BC
|
||||
#define FTR_CHOWER 0x33C0
|
||||
#define FTR_DUMMY 0x33C4
|
||||
#define FTR1_END 0x33C8
|
||||
|
||||
#define DOOR_START 0x4000
|
||||
#define DOOR0 DOOR_START /* 0x4000 */
|
||||
|
||||
@@ -27,11 +27,13 @@ extern void mPlib_change_player_cloth_info_lv2(Private_c* priv, mActor_name_t cl
|
||||
extern int mPlib_Get_address_able_display();
|
||||
extern int mPlib_get_player_actor_main_index(GAME_PLAY* play);
|
||||
extern int mPlib_check_player_actor_main_index_AllWade(GAME_PLAY* play);
|
||||
extern int mPlib_request_main_demo_wait_type1(GAME_PLAY* play, int param_2, void* param_3);
|
||||
|
||||
extern void mPlib_Object_Exchange_keep_new_PlayerMdl(GAME_PLAY* play);
|
||||
extern void mPlib_Object_Exchange_keep_new_PlayerTex(GAME_PLAY* play, int bank_id, int base_idx);
|
||||
extern void mPlib_Object_Exchange_keep_new_PlayerFaceTex(GAME_PLAY* play);
|
||||
extern void mPlib_Object_Exchange_keep_new_PlayerFacePallet(GAME_PLAY* play, int bank_id, int base_idx);
|
||||
extern void mPlib_request_main_give_type1(GAME_PLAY* play, mActor_name_t item, int mode, int present, int on_surface);
|
||||
|
||||
#define GET_PLAYER_ACTOR(play) get_player_actor_withoutCheck(play)
|
||||
#define GET_PLAYER_ACTOR_NOW() get_player_actor_withoutCheck((GAME_PLAY*)gamePT)
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ extern "C" {
|
||||
#define mSP_LOTTERY_ITEM_COUNT 3
|
||||
|
||||
#define mSP_SIGNBOARD_PRICE 500
|
||||
#define mSP_FORIEGN_FRUIT_PRICE 2000
|
||||
#define mSP_FOREIGN_FRUIT_PRICE 2000
|
||||
|
||||
#define mSP_NET_SALES_SUM 3000 // minimum sales sum before net appears (Nook's Cranny only)
|
||||
#define mSP_ROD_SALES_SUM 8000 // minimum sales sum before rod appears (Nook's Cranny only)
|
||||
|
||||
+123
-1
@@ -2,13 +2,135 @@
|
||||
#define M_SONCHO_H
|
||||
|
||||
#include "types.h"
|
||||
#include "m_play_h.h"
|
||||
#include "ac_taisou_npc0.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern u32 mSC_check_ArbeitPlayer();
|
||||
#define mSC_TROPHY_MAX 32
|
||||
#define mSC_RADIO_DAYS 13
|
||||
#define mSC_LIGHTHOUSE_DAYS 17
|
||||
|
||||
enum {
|
||||
mSC_EVENT_NEW_YEARS_DAY,
|
||||
mSC_EVENT_FOUNDERS_DAY,
|
||||
mSC_EVENT_GRADUATION_DAY,
|
||||
mSC_EVENT_APRILFOOLS_DAY,
|
||||
mSC_EVENT_TOWN_DAY,
|
||||
mSC_EVENT_MOTHERS_DAY,
|
||||
mSC_EVENT_SALE_DAY,
|
||||
mSC_EVENT_CHERRY_BLOSSOM_FESTIVAL,
|
||||
mSC_EVENT_SPRING_SPORTS_FAIR,
|
||||
mSC_EVENT_NATURE_DAY,
|
||||
mSC_EVENT_SPRING_CLEANING,
|
||||
mSC_EVENT_FATHERS_DAY,
|
||||
mSC_EVENT_FISHING_TOURNEY_1,
|
||||
mSC_EVENT_GROUNDHOG_DAY,
|
||||
mSC_EVENT_EXPLORERS_DAY,
|
||||
mSC_EVENT_FIREWORKS_SHOW,
|
||||
mSC_EVENT_METEOR_SHOWER,
|
||||
mSC_EVENT_HARVEST_MOON_FESTIVAL,
|
||||
mSC_EVENT_MAYORS_DAY,
|
||||
mSC_EVENT_OFFICERS_DAY,
|
||||
mSC_EVENT_FALL_SPORTS_FAIR,
|
||||
mSC_EVENT_HALLOWEEN,
|
||||
mSC_EVENT_FISHING_TOURNEY_2,
|
||||
mSC_EVENT_SNOW_DAY,
|
||||
mSC_EVENT_LABOR_DAY,
|
||||
mSC_EVENT_TOY_DAY,
|
||||
mSC_EVENT_NEW_YEARS_EVE_COUNTDOWN,
|
||||
mSC_EVENT_HARVEST_FESTIVAL,
|
||||
mSC_EVENT_PLAYER_BIRTHDAY,
|
||||
|
||||
mSC_EVENT_NUM = mSC_EVENT_PLAYER_BIRTHDAY,
|
||||
|
||||
mSC_SPECIAL_EVENT_JAN_VACATION = 101,
|
||||
mSC_SPECIAL_EVENT_FEB_VACATION = 102,
|
||||
mSC_SPECIAL_EVENT_MORNING_AEROBICS = 103
|
||||
};
|
||||
|
||||
enum {
|
||||
mSC_FIELD_EVENT_FOOT_RACE,
|
||||
mSC_FIELD_EVENT_BALL_TOSS,
|
||||
mSC_FIELD_EVENT_TUG_O_WAR,
|
||||
mSC_FIELD_EVENT_AEROBICS,
|
||||
|
||||
mSC_FIELD_EVENT_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mSC_RADIO_TIME_LESS,
|
||||
mSC_RADIO_TIME_SAME_DAY,
|
||||
mSC_RADIO_TIME_OVER,
|
||||
|
||||
mSC_RADIO_TIME_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mSCR_TALK_PICKUP_ALL,
|
||||
mSCR_TALK_INSPECTION,
|
||||
mSCR_TALK_NEXT_INSPECTION,
|
||||
mSCR_TALK_NEWCARD,
|
||||
mSCR_TALK_BEFORE_GIVE,
|
||||
mSCR_TALK_GIVE,
|
||||
mSCR_TALK_NEXT,
|
||||
mSCR_TALK_7,
|
||||
mSCR_TALK_8,
|
||||
mSCR_TALK_9,
|
||||
|
||||
mSCR_TALK_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mSCR_ACTION_TOO_LATE, // too late into aerobics to complete
|
||||
mSCR_ACTION_DELETE_OLD_CARD,
|
||||
mSCR_ACTION_NEW_CARD,
|
||||
mSCR_ACTION_LOST_CARD,
|
||||
mSCR_ACTION_STAMP_CARD,
|
||||
mSCR_ACTION_FINISH_CARD,
|
||||
mSCR_ACTION_LOST_CARD_AND_FINISH, // "lost" radio card but finished today
|
||||
|
||||
mSCR_ACTION_NUM
|
||||
};
|
||||
|
||||
enum {
|
||||
mSC_LIGHTHOUSE_PERIOD_0,
|
||||
mSC_LIGHTHOUSE_PERIOD_1,
|
||||
mSC_LIGHTHOUSE_PERIOD_2,
|
||||
mSC_LIGHTHOUSE_PERIOD_NONE,
|
||||
|
||||
mSC_LIGHTHOUSE_PERIOD_NUM
|
||||
};
|
||||
|
||||
extern u8 mSC_get_soncho_event();
|
||||
extern int mSC_get_soncho_field_event();
|
||||
extern void mSC_delete_soncho(ACTOR* actor, GAME_PLAY* play);
|
||||
extern int mSC_trophy_get(u8 num);
|
||||
extern void mSC_trophy_set(u8 num);
|
||||
extern mActor_name_t mSC_trophy_item(u8 soncho_event);
|
||||
extern void mSC_item_string_set(mActor_name_t item, int str_no);
|
||||
extern void mSC_get_event_name_str(u8* buf, int buf_len, int soncho_event);
|
||||
extern void mSC_event_name_set(u8 soncho_event);
|
||||
extern void mSC_set_free_str_number(int free_str_no, u32 num);
|
||||
extern int mSC_Radio_Set_Talk_Proc(TAISOU_NPC0_ACTOR* taisou_actor);
|
||||
extern mSC_Radio_Talk_Proc(TAISOU_NPC0_ACTOR* taisou_actor, GAME_PLAY* play);
|
||||
extern int mSC_LightHouse_get_period(lbRTC_time_c* time);
|
||||
extern int mSC_LightHouse_day(const lbRTC_time_c* time);
|
||||
extern int mSC_LightHouse_Event_Check(int player_no);
|
||||
extern void mSC_LightHouse_Event_Clear(int player_no);
|
||||
extern mActor_name_t mSC_LightHouse_Event_Present_Item();
|
||||
extern int mSC_LightHouse_Event_Start();
|
||||
extern int mSC_LightHouse_Talk_After_Check();
|
||||
extern void mSC_LightHouse_Quest_Start();
|
||||
extern int mSC_LightHouse_Switch_Check();
|
||||
extern int mSC_LightHouse_In_Check();
|
||||
extern void mSC_LightHouse_Switch_On();
|
||||
extern void mSC_LightHouse_Delete_Player(int player_no);
|
||||
extern int mSC_LightHouse_travel_check();
|
||||
extern void mSC_change_player_freeze(GAME_PLAY* play);
|
||||
extern u32 mSC_check_ArbeitPlayer();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
+1
-12
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "lb_rtc.h"
|
||||
#include "m_string_data.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@@ -10,18 +11,6 @@ extern "C" {
|
||||
|
||||
#define mString_MAX_STR 0x7FF
|
||||
|
||||
#define mString_AM 0x001
|
||||
#define mString_PM 0x002
|
||||
#define mString_WEEKDAY_START 0x009
|
||||
#define mString_DAY_START 0x64E
|
||||
#define mString_MONTH_START 0x66D
|
||||
#define mString_ARTICLE_START 0x737
|
||||
#define mString_HANIWA_MSG0 0x76A
|
||||
#define mString_HANIWA_MSG1 0x76B
|
||||
#define mString_HANIWA_MSG2 0x76C
|
||||
#define mString_HANIWA_MSG3 0x76D
|
||||
|
||||
|
||||
extern void mString_aram_init();
|
||||
extern void mString_Load_StringFromRom(u8* dst, int dst_len, int str_no);
|
||||
extern int mString_Load_YearStringFromRom(u8* dst, lbRTC_year_t year);
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef M_STRING_DATA_H
|
||||
#define M_STRING_DATA_H
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define mString_AM 0x001
|
||||
#define mString_PM 0x002
|
||||
#define mString_WEEKDAY_START 0x009
|
||||
#define mString_DAY_START 0x64E
|
||||
#define mString_MONTH_START 0x66D
|
||||
#define mString_SONCHO_EVENT_NAME_START 0x6F8
|
||||
#define mString_ARTICLE_START 0x737
|
||||
#define mString_HANIWA_MSG0 0x76A
|
||||
#define mString_HANIWA_MSG1 0x76B
|
||||
#define mString_HANIWA_MSG2 0x76C
|
||||
#define mString_HANIWA_MSG3 0x76D
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+5
-9
@@ -2915,18 +2915,14 @@ extern mActor_name_t mFI_GetOtherFruit() {
|
||||
#else
|
||||
/* This implementation gives an equal 25% chance for all non-native fruit to be rolled */
|
||||
extern mActor_name_t mFI_GetOtherFruit() {
|
||||
mActor_name_t other_fruit_tbl[ITM_FOOD_ORANGE - ITM_FOOD_APPLE];
|
||||
int idx = 0;
|
||||
mActor_name_t native_fruit = Save_Get(fruit);
|
||||
mActor_name_t i;
|
||||
mActor_name_t other_fruit = ITM_FOOD_START | RANDOM(4);
|
||||
|
||||
for (i = ITM_FOOD_APPLE; i < ITM_FOOD_ORANGE + 1; i++) {
|
||||
if (i != native_fruit) {
|
||||
other_fruit_tbl[idx++] = i;
|
||||
}
|
||||
/* simple fix is to add one if the random fruit is also greater than the town fruit */
|
||||
if (other_fruit >= Save_Get(fruit)) {
|
||||
other_fruit++;
|
||||
}
|
||||
|
||||
return other_fruit_tbl[RANDOM(4)];
|
||||
return other_fruit;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+1
-1
@@ -785,7 +785,7 @@ extern u32 mSP_ItemNo2ItemPrice(mActor_name_t item_no) {
|
||||
case ITM_FOOD_ORANGE:
|
||||
{
|
||||
if (Save_Get(fruit) != item_no) {
|
||||
return mSP_FORIEGN_FRUIT_PRICE;
|
||||
return mSP_FOREIGN_FRUIT_PRICE;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
+1179
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user