1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
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
|