diff options
| author | Prakxo <87568477+Prakxo@users.noreply.github.com> | 2024-10-13 17:36:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-13 08:36:51 -0700 |
| commit | 78d0c294c50f9ade86f9e60cb2bea6479b56357a (patch) | |
| tree | 0c55c9b75fa942d7c05fcf4d2acd5e0bc62447dd /include | |
| parent | 60cc4c9e2368f4ae47c24931b6530dabdc5e35dd (diff) | |
m_bgm OK (#222)
* m_demo OK
* camera fix
* m_bgm OK
Diffstat (limited to 'include')
| -rw-r--r-- | include/67E840.h | 188 | ||||
| -rw-r--r-- | include/6E3240.h | 3 | ||||
| -rw-r--r-- | include/m_bgm.h | 406 | ||||
| -rw-r--r-- | include/m_common_data.h | 3 | ||||
| -rw-r--r-- | include/m_event.h | 2 | ||||
| -rw-r--r-- | include/m_field_info.h | 4 | ||||
| -rw-r--r-- | include/m_melody.h | 2 |
7 files changed, 414 insertions, 194 deletions
diff --git a/include/67E840.h b/include/67E840.h deleted file mode 100644 index 7c38846..0000000 --- a/include/67E840.h +++ /dev/null @@ -1,188 +0,0 @@ -#ifndef C_67E840_H -#define C_67E840_H - -#include "ultra64.h" - -struct Game_Play; -struct Game; - -// void func_8005ABA0_jp(); -// void func_8005ABE0_jp(); -// void func_8005ACA8_jp(); -// void func_8005ACC0_jp(); -// void func_8005ACEC_jp(); -// void func_8005AD08_jp(); -// void func_8005AD5C_jp(); -// void func_8005ADA8_jp(); -// void func_8005AE1C_jp(); -// void func_8005AE40_jp(); -// void func_8005AE78_jp(); -// void func_8005AF38_jp(); -// void func_8005AF7C_jp(); -// void func_8005AFD0_jp(); -// void func_8005AFE4_jp(); -// void func_8005AFF8_jp(); -// void func_8005B028_jp(); -// void func_8005B128_jp(); -// void func_8005B204_jp(); -// void func_8005B2F4_jp(); -// void func_8005B338_jp(); -// void func_8005B464_jp(); -// void func_8005B4D4_jp(); -// void func_8005B4E8_jp(); -// void func_8005B4FC_jp(); -// void func_8005B52C_jp(); -// void func_8005B5BC_jp(); -// void func_8005B5FC_jp(); -// void func_8005B610_jp(); -// void func_8005B620_jp(); -// void func_8005B668_jp(); -// void func_8005B6D4_jp(); -// void func_8005B6F8_jp(); -// void func_8005B730_jp(); -// void func_8005B758_jp(); -// void func_8005B810_jp(); -// void func_8005B8D4_jp(); -// void func_8005B90C_jp(); -// void func_8005B92C_jp(); -// void func_8005BA0C_jp(); -// void func_8005BB38_jp(); -// void func_8005BB90_jp(); -// void func_8005BC08_jp(); -// void func_8005BD24_jp(); -// void func_8005BDAC_jp(); -// void func_8005BE34_jp(); -// void func_8005BEBC_jp(); -// void func_8005BF40_jp(); -// void func_8005C07C_jp(); -// void func_8005C1B8_jp(); -// void func_8005C228_jp(); -// void func_8005C298_jp(); -// void func_8005C2E4_jp(); -// void func_8005C3E4_jp(); -// void func_8005C444_jp(); -// void func_8005C4F0_jp(); -// void func_8005C550_jp(); -// void func_8005C6E4_jp(); -// void func_8005C778_jp(); -// void func_8005C7B8_jp(); -// void func_8005C828_jp(); -// void func_8005C83C_jp(); -// void func_8005C888_jp(); -// void func_8005C8D4_jp(); -// void func_8005C918_jp(); -// void func_8005C9BC_jp(); -// void func_8005C9D0_jp(); -// void func_8005C9E4_jp(); -// void func_8005CA14_jp(); -// void func_8005CA44_jp(); -// void func_8005CC0C_jp(); -// void func_8005CC90_jp(); -// void func_8005CD70_jp(); -// void func_8005CE34_jp(); -// void func_8005CEC0_jp(); -// void func_8005CF04_jp(); -// void func_8005CF4C_jp(); -// void func_8005D000_jp(); -// void func_8005D084_jp(); -// void func_8005D13C_jp(); -// void func_8005D19C_jp(); -// void func_8005D1B8_jp(); -// void func_8005D1F4_jp(); -// void func_8005D2A4_jp(); -// void func_8005D338_jp(); -// void func_8005D3C0_jp(); -// void func_8005D4B0_jp(); -// void func_8005D758_jp(); -// void func_8005D7A0_jp(); -// void func_8005D810_jp(); -// void func_8005D84C_jp(); -// void func_8005D8E0_jp(); -// void func_8005D91C_jp(); -// void func_8005D958_jp(); -// void func_8005D9AC_jp(); -// void func_8005DA00_jp(); -// void func_8005DAF0_jp(); -// void func_8005DBA4_jp(); -// void func_8005DC40_jp(); -// void func_8005DC9C_jp(); -// void func_8005DCCC_jp(); -void mBGMPsComp_make_ps_lost_fanfare(s32 arg0, s32 arg1); -// void func_8005DD5C_jp(); -void mBGMPsComp_make_ps_wipe(s32 arg0); -// void func_8005DE0C_jp(); -// void func_8005DE60_jp(); -// void func_8005DE88_jp(); -// void func_8005DEE0_jp(); -// void func_8005DF14_jp(); -// void func_8005DF70_jp(); -// void func_8005DFA0_jp(); -// void func_8005DFFC_jp(); -// void func_8005E02C_jp(); -// void func_8005E080_jp(); -// void func_8005E0DC_jp(); -// void func_8005E10C_jp(); -// void func_8005E15C_jp(); -// void func_8005E1B0_jp(); -// void func_8005E1D8_jp(); -// void func_8005E22C_jp(); -// void func_8005E254_jp(); -// void func_8005E2B4_jp(); -// void func_8005E2EC_jp(); -// void func_8005E390_jp(); -// void func_8005E3EC_jp(); -// void func_8005E458_jp(); -// void func_8005E494_jp(); -// void func_8005E4C4_jp(); -// void func_8005E4F8_jp(); -// void func_8005E530_jp(); -// void func_8005E550_jp(); -// void func_8005E58C_jp(); -// void func_8005E5BC_jp(); -// void func_8005E5F8_jp(); -// void func_8005E628_jp(); -// void func_8005E660_jp(); -// void func_8005E69C_jp(); -// void func_8005E6CC_jp(); -// void func_8005E700_jp(); -// void func_8005E738_jp(); -// void func_8005E758_jp(); -// void func_8005E794_jp(); -// void func_8005E7C4_jp(); -// void func_8005E800_jp(); -// void func_8005E83C_jp(); -// void func_8005E8F4_jp(); -// void func_8005E9B4_jp(); -// void func_8005E9C8_jp(); -void mBGMPsComp_volume_talk_start(void); -void mBGMPsComp_volume_talk_end(void); -// void func_8005EA14_jp(); -// void func_8005EA24_jp(); -// void func_8005EA38_jp(); -// void func_8005EA4C_jp(); -void mBGMPsComp_scene_mode(s32 arg0); -// void func_8005EAC8_jp(); -// void func_8005EAE4_jp(); -// void func_8005EAFC_jp(); -// void func_8005EB74_jp(); -// void func_8005EBD8_jp(); -// void func_8005EBE8_jp(); -// void func_8005ECC4_jp(); -// void func_8005ECF8_jp(); -// void func_8005ED24_jp(); -// void func_8005ED44_jp(); -// void func_8005ED78_jp(); -// void func_8005ED98_jp(); -// void func_8005EDC4_jp(); -void mBGMForce_inform_end(void); -// void func_8005EDEC_jp(); -void mBGMForce_room_nonstop_start(void); -// void func_8005EE20_jp(); -// void func_8005EEA0_jp(); -void mBGM_main(struct Game* game); -void mBGM_ct(void); -void func_8005F020_jp(void); -void mBGM_cleanup(void); -// void func_8005F250_jp(); - -#endif diff --git a/include/6E3240.h b/include/6E3240.h index 663ee20..0c52ff4 100644 --- a/include/6E3240.h +++ b/include/6E3240.h @@ -2,6 +2,7 @@ #define C_6E3240_H #include "ultra64.h" +#include "lb_rtc.h" struct Game; struct Game_Play; @@ -61,7 +62,7 @@ void mSP_ExchangeLineUp_InGame(struct Game* game); // void func_800C2070_jp(); // void func_800C22F8_jp(); // void func_800C2354_jp(); -// void func_800C2380_jp(); +lbRTC_hour_t mSP_GetShopCloseTime_Bgm(void); // void func_800C23EC_jp(); // void func_800C2480_jp(); // void func_800C2578_jp(); diff --git a/include/m_bgm.h b/include/m_bgm.h new file mode 100644 index 0000000..0610d23 --- /dev/null +++ b/include/m_bgm.h @@ -0,0 +1,406 @@ +#ifndef C_67E840_H +#define C_67E840_H + +#include "ultra64.h" +#include "m_lib.h" + +struct Game_Play; +struct Game; + +#define BGM_CHECK_BGM_DATA(num) \ + (num == 40 || num == 73 || num == 68 || num == 74 || num == 76 || num == 75 || num == 49 || num == 50 || \ + num == 71 || num == 64 || num == 66 || num == 78) + +#define BGM_MONTH_TIME_TO_BGM_MONTH_TIME(month) (((month) << 22) & 0x03C00000) +#define BGM_DAY_TIME_TO_BGM_DAY_TIME(day) (((day) << 17) & 0x3E0000) +#define BGM_HOUR_TIME_TO_BGM_HOUR_TIME(hour) (((hour) << 12) & 0x1F000) +#define BGM_MIN_TIME_TO_BGM_MIN_TIME(min) (((min) << 6) & 0xFC0) +#define BGM_SEC_TIME_TO_BGM_SEC_TIME(sec) (((sec) << 0) & 0x3F) + +#define BGM_RTC_TIME_TO_BGM_TIME(month, day, hour, min, sec) \ + (BGM_MONTH_TIME_TO_BGM_MONTH_TIME(month) | BGM_DAY_TIME_TO_BGM_DAY_TIME(day) | \ + BGM_HOUR_TIME_TO_BGM_HOUR_TIME(hour) | BGM_MIN_TIME_TO_BGM_MIN_TIME(min) | \ + BGM_SEC_TIME_TO_BGM_SEC_TIME(sec)) + +#define BGM_TIME_TO_SHOP_CLOSE_TIME(hour, min, sec) \ + (BGM_HOUR_TIME_TO_BGM_HOUR_TIME(hour) | BGM_MIN_TIME_TO_BGM_MIN_TIME(min) | \ + BGM_SEC_TIME_TO_BGM_SEC_TIME(sec)) + +#define BGM_CLOCK_CHECK_SEC (((1 << 6) - 1) << 0) +#define BGM_CLOCK_CHECK_MIN (((1 << 6) - 1) << 6) +#define BGM_CLOCK_CHECK_HOUR (((1 << 5) - 1) << 12) +#define BGM_CLOCK_CHECK_DAY (((1 << 5) - 1) << 17) +#define BGM_CLOCK_CHECK_MONTH (((1 << 4) - 1) << 22) + +#define BGM_CLOCK_CHECK_ALL (BGM_CLOCK_CHECK_MONTH | BGM_CLOCK_CHECK_DAY | BGM_CLOCK_CHECK_HOUR | BGM_CLOCK_CHECK_MIN | BGM_CLOCK_CHECK_SEC) + +#define BGM_PS_MAX 12 + +typedef struct BgmElement { + /* 0x00 */ u8 num; + /* 0x01 */ u8 unk1; + /* 0x02 */ u16 unk2; + /* 0x04 */ u16 stopType0; + /* 0x06 */ u16 stopType1; +} BgmElement; // size = 0x8 + +typedef struct BgmClock { + /* 0x00 */ u32 now; + /* 0x04 */ u32 prior; +} BgmClock; // size = 0x8 + +typedef struct BgmDemo { + /* 0x00 */ BgmElement element; + /* 0x08 */ u8 makeFlag; + /* 0x09 */ u8 deleteFlag; + /* 0x0A */ UNK_TYPE1 unkA[2]; +} BgmDemo; // size = 0xC + +typedef struct BgmRoom { + /* 0x00 */ BgmElement element; + /* 0x08 */ u8 makeFlag; + /* 0x09 */ u8 deleteFlag; + /* 0x0A */ u8 shopFadeoutFlag; + /* 0x0B */ UNK_TYPE1 unkB; + /* 0x0C */ u32 shopCloseTime0; + /* 0x10 */ u32 shopCloseTime1; +} BgmRoom; // size 0x14 + +typedef struct BgmTime BgmTime; + +typedef void (*BgmTimeMoveFunc)(BgmTime*, struct Game_Play*); + +struct BgmTime { + /* 0x4 */ BgmTimeMoveFunc moveFunc; + /* 0x5 */ u8 newYearEventFlag; + /* 0x6 */ UNK_TYPE1 unk6; +}; // size = 0x8 + +typedef struct BgmFieldSudden { + /* 0x0 */ u32 flag; + /* 0x4 */ u32 priorFlag; +} BgmFieldSuddenEvent; // size = 0x8 + +typedef enum BgmBlAttribute { + /* 0 */ BGM_BL_ATTRIBUTE_INACTIVE, + /* 1 */ BGM_BL_ATTRIBUTE_NEARBY, + /* 2 */ BGM_BL_ATTRIBUTE_ACTIVE, + /* 3 */ BGM_BL_ATTRIBUTE_MAX +} BgmBlAttribute; + +typedef enum BgmEventArea { + /* 0 */ BGM_EVENT_AREA_EVERYWHERE, + /* 1 */ BGM_EVENT_AREA_BLOCK, + /* 2 */ BGM_EVENT_AREA_MAX, +} BgmEventArea; + +typedef struct BgmFieldScheduleInfo { + /* 0x0 */ u32 flag; + /* 0x4 */ s32 attribute; + /* 0x8 */ s32 priorAttribute; +} BgmFieldScheduleInfo; // size = 0xC + +typedef struct BgmFieldScheduleEvent { + /* 0x00 */ BgmFieldScheduleInfo info[21]; +} BgmFieldScheduleEvent; // size = 0xFC + +typedef struct BgmNorm { + /* 0x00 */ BgmElement element; + /* 0x08 */ u8 makeFlag; + /* 0x09 */ u8 deleteFlag; + /* 0x0A */ UNK_TYPE1 unkA[2]; +} BgmFieldNorm; // size = 0xC + +typedef struct BgmPS { + /* 0x00 */ BgmElement element; + /* 0x04 */ s32 category; + /* 0x08 */ s16 counter; + /* 0x0A */ u16 cfFlags; + /* 0x0C */ u8 priority; + /* 0x0D */ UNK_TYPE1 unkD; +} BgmPS; // size = 0x10 + +typedef struct BgmPSStop { + /* 0x0 */ u8 requestFlag; + /* 0x2 */ u16 type; + /* 0x4 */ UNK_TYPE1 unk4; +} BgmPSStop; // size = 0x6 + +typedef struct BgmPSStart { + /* 0x0 */ u8 requestFlag; + /* 0x1 */ u8 num; + /* 0x2 */ u8 flags; + /* 0x3 */ u8 unk; +} BgmPSStart; // size = 0x4 + +typedef struct BgmPSVolume { + /* 0x00 */ f32 mainVolume; + /* 0x04 */ u16 mainVolumeMoveCounter; + /* 0x06 */ u8 mainRequestFlag; + /* 0x08 */ f32 psVolume; + /* 0x0C */ u16 psVolumeMoveCounter; + /* 0x0E */ u8 psRequestFlag; + /* 0x10 */ f32 fishingInsectVolume; + /* 0x14 */ u16 fishingInsectVolumeMoveCounter; + /* 0x16 */ u8 fishingInsectRequestFlag; + /* 0x18 */ f32 talkVolume; + /* 0x1C */ u8 talkRequestFlag; + /* 0x20 */ f32 pauseVolume; + /* 0x24 */ u16 pauseVolumeMoveCounter; + /* 0x26 */ u8 pauseRequestFlag; +} BgmPSVolume; // size = 0x28 + +typedef struct BgmPSPause { + /* 0x0 */ u8 requestFlag; + /* 0x1 */ u8 mode; + /* 0x2 */ UNK_TYPE1 unk2[2]; +} BgmPSPause; // size = 0x4 + +typedef struct BgmPSMd { + /* 0x00 */ u8 requestFlag; + /* 0x01 */ u8 makeFlag; + /* 0x02 */ u8 deleteFlag; + /* 0x03 */ u8 moveFlag; + /* 0x04 */ xyz_t pos; + /* 0x10 */ u16 angle; + /* 0x12 */ u16 mdType; + /* 0x14 */ u32 ongenNum; +} BgmPSMd; // size = 0x18 + +typedef struct BgmPSArm { + /* 0x0 */ u8 requestFlag; + /* 0x1 */ u8 armState; + /* 0x2 */ UNK_TYPE1 unk2[2]; +} BgmPSArm; // size = 0x4 + +typedef struct BgmPSComp { + /* 0x000 */ BgmPS ps[BGM_PS_MAX]; + /* 0x0F0 */ s32 psNum; + /* 0x0F4 */ s32 fishInsectState; + /* 0x0F8 */ s32 talkState; + /* 0x0FC */ s32 pauseState; + /* 0x100 */ BgmPSStop stop; + /* 0x106 */ BgmPSStart start; + /* 0x10C */ BgmPSVolume volume; + /* 0x134 */ BgmPSPause pause; + /* 0x138 */ BgmPSMd md; + /* 0x150 */ BgmPSArm arm; +} BgmPSComp; // size = 0x154 + +typedef struct BgmForce { + /* 0x0 */ s32 inform; + /* 0x4 */ u8 flag; + /* 0x8 */ s32 roomNonstop; +} BgmForce; // size = 0xC + +typedef struct Bgm { + /* 0x000 */ BgmClock clock; + /* 0x008 */ BgmDemo demo; + /* 0x014 */ BgmRoom room; + /* 0x028 */ BgmTime time; + /* 0x030 */ BgmFieldSuddenEvent fieldSuddenEvent; + /* 0x038 */ BgmFieldScheduleEvent fieldScheduleEvent; + /* 0x134 */ BgmFieldNorm fieldNorm; + /* 0x140 */ BgmPSComp psComp; + /* 0x294 */ BgmForce force; +} Bgm; // size = 0x2A0 + +typedef struct BgmEventData { + /* 0x0 */ s16 eventType; + /* 0x2 */ u8 num; + /* 0x3 */ u8 eventArea; + /* 0x4 */ u32 blockType; +} BgmEventData; // size = 0x8 + +int mBGM_check_MD(u8 num); +int mBGM_check_ignore_talk_volume(u8 num); +int func_8005ACA8_jp(u8 num); +void mBGMElem_default_set(BgmElement* element); +int mBGMClock_after_time_check(BgmClock* clock, u32 checktTime, u32 checkMask); +int mBGMClock_over_time_check(BgmClock* clock, u32 checktTime, u32 checkMask); +int mBGMClock_range_time_check(BgmClock* clock, u32 checktTime0, u32 checktTime1, u32 checkMask); +void mBGMClock_now_set(BgmClock* clock); +void mBGMClock_move(BgmClock* clock, struct Game_Play* play); +void mBGMClock_ct(BgmClock* clock); +void mBGMDemo_make_scene_bgm(BgmDemo* demo); +void mBGMDemo_delete_scene_bgm(BgmDemo* demo); +void mBGMDemo_move(BgmDemo* demo, struct Game_Play* play); +void mBGMDemo_scene_bgm_make_req(void); +void mBGMDemo_scene_bgm_delete_req(void); +void mBGMDemo_ct(BgmDemo* demo); +void mBGMRoom_shop_close_time_set(BgmRoom* room); +u8 mBGMRoom_make_scene_bgm_shop_get(BgmRoom* room, u16 fieldId); +void mBGMRoom_make_scene_bgm(BgmRoom* room); +void mBGMRoom_delete_scene_bgm(BgmRoom* room); +s32 mBGMRoom_shop_close_check(BgmRoom* room); +void mBGMRoom_move(BgmRoom* room, struct Game_Play* play); +void mBGMRoom_scene_bgm_make_req(void); +void mBGMRoom_scene_bgm_delete_req(void); +void mBGMRoom_ct(BgmRoom* room); +void mBGMTime_signal_melody(BgmTime* time); +int mBGMTime_silent_check(BgmTime* time); +void mBGMTime_new_year_ev_flag_set(void); +void mBGMTime_new_year_ev_flag_clr(void); +void mBGMTime_move_wait(BgmTime* time, struct Game_Play* play); +void mBGMTime_move_change(BgmTime* time, struct Game_Play* play); +void mBGMTime_move(BgmTime* time, struct Game_Play* play); +void mBGMTime_ct(BgmTime* time); +s32 mBGMFieldSuddenEv_flag_check_arbeit(BgmFieldSuddenEvent* fieldSuddenEvent, struct Game_Play* play); +void mBGMFieldSuddenEv_flag_set(BgmFieldSuddenEvent* fieldSudden, struct Game_Play* play); +void mBGMFieldSuddenEv_ps_compose(BgmFieldSuddenEvent* fieldSudden, struct Game_Play* play); +void mBGMFieldSuddenEv_move(BgmFieldSuddenEvent* fieldSudden, struct Game_Play* play); +void mBGMFieldSuddenEv_ct(BgmFieldSuddenEvent* fieldSudden); +s32 mBGMFieldSchedEv_bl_attr_get(s32 blockX, s32 blockZ, s32 eventArea, u32 blockType); +s32 mBGMFieldSchedEv_bl_attr_evdata_get(BgmEventData* data, struct Game_Play* play); +void mBGMFieldSchedEv_Info_old_copy(BgmFieldScheduleInfo* info); +void mBGMFieldSchedEv_Info_ev_now_set_standard(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_Silence_0(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_CountDown_1(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_CountDown_2(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_CountDown_3(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_CountDown_4(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_CountDown_5(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_CountDown_6(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_NewYear01(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_ev_now_set_NewYear02(BgmFieldScheduleInfo* info, BgmEventData* data, struct Game_Play* play, + s32 eventStartFlag); +void mBGMFieldSchedEv_Info_attr_now_set(BgmFieldScheduleInfo* info, struct Game_Play* play, BgmEventData* data); +void mBGMFieldSchedEv_info_set(BgmFieldScheduleEvent* schedule, struct Game_Play* play); +void mBGMFieldSchedEv_Info_ps_delete(BgmFieldScheduleInfo* info, BgmEventData* data, s32 flag); +void mBGMFieldSchedEv_Info_ps_make(BgmFieldScheduleInfo* info, BgmEventData* data, s32 priority); +void mBGMFieldSchedEv_Info_ps_volume_change(BgmFieldScheduleInfo* info, BgmEventData* data); +void mBGMFieldSchedEv_ps_compose(BgmFieldScheduleEvent* schedule, struct Game_Play* play); +void mBGMFieldSchedEv_sp_flag(BgmFieldScheduleEvent* schedule); +void mBGMFieldSchedEv_move(BgmFieldScheduleEvent* schedule, struct Game_Play* play); +void mBGMFieldSchedEv_ct(BgmFieldScheduleEvent* schedule); +u8 mBGMFieldNorm_bgm_num_get(s32 hour); +void mBGMFieldNorm_elem_set(BgmFieldNorm* norm); +void mBGMFieldNorm_make_bgm(BgmFieldNorm* norm, struct Game_Play* play); +void mBGMFieldNorm_delete_bgm(BgmFieldNorm* norm); +void mBGMFieldNorm_move(BgmFieldNorm* norm, struct Game_Play* play); +void mBGMFieldNorm_make_req(void); +void mBGMFieldNorm_delete_req(void); +void mBGMFieldNorm_ct(BgmFieldNorm* norm); +void mBGMPs_counter_dec(BgmPS* ps); +void mBGMPsComp_ps_remove(BgmPSComp* psComp, s32 removePos); +s32 mBGMPsComp_search_insert_pos_kategorie(BgmPSComp* psComp, s32 category, u8 priority); +s32 mBGMPsComp_search_pos_kategorie_bgm_num(BgmPSComp* psComp, s32 category, u8 num, s32 counterFlag, s32 delPass); +void mBGMPsComp_shift_behind(BgmPSComp* psComp, s32 shiftIdx); +void mBGMPsComp_all_ps_bitclr(BgmPSComp* psComp, u8 bits); +s32 mBGMPsComp_execute_ps_pos_get(BgmPSComp* psComp); +BgmPS* mBGMPsComp_high_ps_not_delete(BgmPSComp* psComp, s32 maxPos); +void mBGMPsComp_main_req_stop(BgmPSComp* psComp); +void mBGMPsComp_main_remove(BgmPSComp* psComp); +void mBGMPsComp_main_req_start(BgmPSComp* psComp); +void mBGMPsComp_main_req_pause(BgmPSComp* psComp); +void mBGMPsComp_main_req_md(BgmPSComp* psComp); +void mBGMPsComp_main_md_move(BgmPSComp* psComp); +void mBGMPsComp_main_req_volume_ps(BgmPSComp* psComp); +void func_8005D2A4_jp(BgmPSComp* psComp); +void mBGMPsComp_main_req_volume_talk(BgmPSComp* psComp); +void mBGMPsComp_main_req_volume_pause(BgmPSComp* psComp); +void mBGMPsComp_main_req_volume(BgmPSComp* psComp); +void mBGMPsComp_MDPlayerPos_main_inform_sound(BgmPSMd* md); +void mBGMPsComp_Arm_main_inform_sound(BgmPSArm* arm); +void mBGMPsComp_Stop_main_inform_sound(BgmPSStop* stop); +void mBGMPsComp_Start_main_inform_sound(BgmPSStart* start); +void mBGMPsComp_Volume_main_inform_sound(BgmPSVolume* volume); +void mBGMPsComp_Pause_main_inform_sound(BgmPSPause* pause); +void mBGMPsComp_main_inform_sound(BgmPSComp* psComp); +void mBGMPsComp_main_counter_dec(BgmPSComp* psComp); +void mBGMPsComp_main_fo_check(BgmPSComp* psComp); +void mBGMPsComp_main_lost(BgmPSComp* psComp); +s32 mBGMPsComp_make_ps(BgmPSComp* psComp, BgmElement* element, s32 category, s16 counter, u16 cfFlags, u8 priority); +void _mBGMPsComp_make_ps_fanfare(u8 num, u16 stopType); +void mBGMPsComp_make_ps_fanfare(u8 num, u16 stopType); +void _mBGMPsComp_make_ps_lost_fanfare(u8 num, u16 stopType); +void mBGMPsComp_make_ps_lost_fanfare(u8 num, u16 stopType); +void _mBGMPsComp_make_ps_wipe(u16 stopType); +void mBGMPsComp_make_ps_wipe(u16 stopType); +void _mBGMPsComp_make_ps_quiet(u16 stopType); +void mBGMPsComp_make_ps_quiet(u16 stopType); +void _mBGMPsComp_make_ps_co_quiet(u16 stopType, s16 counter); +void mBGMPsComp_make_ps_co_quiet(u16 stopType, s16 counter); +void _mBGMPsComp_make_ps_demo(u8 num, u16 stopType); +void mBGMPsComp_make_ps_demo(u8 num, u16 stopType); +void _mBGMPsComp_make_ps_happening(u8 num, u16 stopType); +void mBGMPsComp_make_ps_happening(u8 num, u16 stopType); +void mBGMPsComp_make_ps_quietRoom(u16 stopType); +void _mBGMPsComp_make_ps_room(u8 num, u16 stopType); +void mBGMPsComp_make_ps_room(u8 num, u16 stopType); +void mBGMPsComp_make_ps_time(void); +void _mBGMPsComp_make_ps_quietField(u16 stopType); +void mBGMPsComp_make_ps_quietField(u16 stopType); +void _mBGMPsComp_make_ps_fc_quietField(u16 stopType); +void mBGMPsComp_make_ps_fc_quietField(u16 stopType); +void _mBGMPsComp_make_ps_fieldSuddenEv(u8 num, u16 stopType, u8 priority); +void mBGMPsComp_make_ps_fieldSuddenEv(u8 num, u16 stopType, u8 priority); +void mBGMPsComp_make_ps_fieldSchedEv(u8 num, s32 updateVolumeMoveCounter, s32 updateVolumeFlag, s32 cfFlag, + u16 stopType, u8 priority); +void mBGMPsComp_make_ps_fieldNorm(u8 num, u16 stopType); +void mBGMPsComp_delete_ps(BgmPSComp* psComp, s32 category, u8 num, u16 stopType, s32 counterFlag); +void _mBGMPsComp_delete_ps_fanfare(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_fanfare(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_wipe(void); +void _mBGMPsComp_delete_ps_quiet(void); +void mBGMPsComp_delete_ps_quiet(void); +void _mBGMPsComp_delete_ps_demo(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_demo(u8 num, u16 stopType); +void _mBGMPsComp_delete_ps_happening(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_happening(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_quietRoom(void); +void _mBGMPsComp_delete_ps_room(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_room(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_time(void); +void _mBGMPsComp_delete_ps_quietField(void); +void mBGMPsComp_delete_ps_quietField(void); +void _mBGMPsComp_delete_ps_fieldSuddenEv(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_fieldSuddenEv(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_fieldSchedEv(u8 num, u16 stopType); +void mBGMPsComp_delete_ps_fieldNorm(u8 num, u16 stopType); +void mBGMPsComp_volume_change_fieldSchedEv(u8 num, s32 updateVolumeCounter, s32 updateVolumeLevel); +void mBGMPsComp_search_cf_set_field(u8 num, s32 category); +void func_8005E9B4_jp(void); +void func_8005E9C8_jp(void); +void mBGMPsComp_volume_talk_start(void); +void mBGMPsComp_volume_talk_end(void); +void mBGMPsComp_pause(s32 state); +void mBGMPsComp_MDPlayerPos_make(void); +void mBGMPsComp_MDPlayerPos_delete(void); +void mBGMPsComp_MDPlayerPos_param_set(xyz_t* pos, u16 angle, u16 mdType, u32 ongenNum); +void mBGMPsComp_scene_mode(u8 mode); +void mBGMPsComp_arm_make(s32 state); +void mBGMPsComp_arm_delete(void); +s32 mBGMPsComp_execute_bgm_num_get(void); +void mBGMPsComp_ct(BgmPSComp* psComp); +s32 mBGMForce_wipe_ps_make_permit(BgmForce* force); +void mBGMForce_move_inform(BgmForce* force); +void mBGMForce_move_room_nonstop(BgmForce* force); +void mBGMForce_move(BgmForce* force); +void mBGMForce_ct(BgmForce* force); +void mBGMForce_inform_cleanup(BgmForce* force); +void mBGMForce_room_nonstop_cleanup(BgmForce* force); +void mBGMForce_cleanup(BgmForce* force); +void mBGMForce_inform_start(void); +void mBGMForce_inform_end(void); +void _mBGMForce_room_nonstop_start(void); +void mBGMForce_room_nonstop_start(void); +void mBGM_main_control(Bgm* bgm); +void mBGM_weather_set(void); +void mBGM_main(struct Game* game); +void mBGM_ct(void); +void mBGM_init(void); +void mBGM_cleanup(void); +void mBGM_reset(void); + + +#endif diff --git a/include/m_common_data.h b/include/m_common_data.h index 3201dc2..0c399d4 100644 --- a/include/m_common_data.h +++ b/include/m_common_data.h @@ -180,7 +180,8 @@ typedef struct CommonData { /* 0x10A3B */ UNK_TYPE1 unk_10A3B[0x1]; /* 0x10A3C */ UNK_TYPE1 unk_10A3C[0x2C]; /* 0x10A68 */ u8 unk_10A68; - /* 0x10A69 */ UNK_TYPE1 unk_10A69[0x3]; + /* 0x10A69 */ UNK_TYPE1 unk_10A69[0x2]; + /* 0x10A6B */ u8 unk10A6B; /* 0x10A6C */ xyz_t unk_10A6C; /* 0x10A78 */ u8 unk_10A78; /* 0x10A79 */ UNK_TYPE1 unk_10A79[0x7]; diff --git a/include/m_event.h b/include/m_event.h index e8d3aad..8a6a973 100644 --- a/include/m_event.h +++ b/include/m_event.h @@ -110,7 +110,7 @@ s32 mEv_set_status(s32,s32); void mEv_clear_status(s32, s16); // void func_8007FEBC_jp(); s32 mEv_check_status(s32, s16); -// void func_8007FF8C_jp(); +s32 mEv_check_status_edge(s32); // void func_8007FFC4_jp(); // void func_80080000_jp(); // void func_80080040_jp(); diff --git a/include/m_field_info.h b/include/m_field_info.h index 09e9801..744dbae 100644 --- a/include/m_field_info.h +++ b/include/m_field_info.h @@ -48,7 +48,7 @@ typedef enum FieldRoom { (fieldId) == FI_FIELD_PLAYER2_ROOM || (fieldId) == FI_FIELD_PLAYER3_ROOM) void mFI_ClearFieldData(void); -// void func_80087C40_jp(); +s32 mFI_CheckFieldData(void); struct FieldMakeBlockInfo* mFI_GetBlockTopP(void); u16 mFI_GetFieldId(void); // void func_80087C9C_jp(); @@ -175,7 +175,7 @@ s32 func_8008BE00_jp(struct FieldMakeMoveActor*, s32); void mFI_SetPlayerWade(struct Game*); s32 mFI_CheckPlayerWade(s32); s32 mFI_GetPlayerWade(void); -// void func_8008C130_jp(); +s32 mFI_GetNextBlockNum(s32*, s32*); u16* mFI_GetDepositP(s32,s32); // void func_8008C344_jp(); // void func_8008C390_jp(); diff --git a/include/m_melody.h b/include/m_melody.h index dfb0e5b..f512b21 100644 --- a/include/m_melody.h +++ b/include/m_melody.h @@ -6,7 +6,7 @@ void mMld_SetDefaultMelody(void); void mMld_TransformMelodyData_u64_2_u8(u8* dst, u64 src); // void func_8009D03C_jp(); -// void func_8009D0CC_jp(); +void mMld_GetMelody(u8*); // void func_8009D100_jp(); // void func_8009D128_jp(); // void func_8009D160_jp(); |
