629 lines
16 KiB
C
629 lines
16 KiB
C
#include <ultra64.h>
|
|
#include "functions.h"
|
|
#include "variables.h"
|
|
|
|
|
|
|
|
extern func_8024FDDC(u8, s32);
|
|
|
|
void func_8025AE50(s32, f32);
|
|
|
|
bool func_80250074(u8);
|
|
void func_8024FD28(u8, s32);
|
|
void func_8024FC1C(u8, s32);
|
|
void func_8025AC20(enum comusic_e, s32, s32, f32, char*, s32);
|
|
void func_8025AC7C(enum comusic_e, s32, s32, f32, s32, char*, s32);
|
|
void func_80259B14(void);
|
|
void func_8025A55C(s32, s32, s32);
|
|
void func_8025A7DC(enum comusic_e);
|
|
void func_8025ABB8(enum comusic_e, s32, s32, s32);
|
|
void *func_802EDAA4(SLA **, s32*);
|
|
|
|
/* .bss */
|
|
CoMusic *D_80276E30 = NULL; //active track ptr
|
|
int D_80276E34 = 0;
|
|
|
|
/* .code */
|
|
CoMusic *func_802598B0(enum comusic_e track_id) {
|
|
CoMusic *iMusPtr;
|
|
CoMusic *freeSlotPtr;
|
|
|
|
freeSlotPtr = NULL;
|
|
for(iMusPtr = D_80276E30 + 1; iMusPtr < D_80276E30 + 5; iMusPtr++) {
|
|
if (track_id == iMusPtr->unk10) {
|
|
return iMusPtr;
|
|
}
|
|
if (freeSlotPtr == 0) {
|
|
if ((s32) iMusPtr->unk10 < 0) {
|
|
freeSlotPtr = iMusPtr;
|
|
}
|
|
}
|
|
}
|
|
return freeSlotPtr;
|
|
}
|
|
|
|
void func_80259914(CoMusic *this, s32 arg1, s32 arg2){
|
|
s32 sp2C;
|
|
s32 i;
|
|
struct12s *tmp;
|
|
|
|
array_clear(this->unk18);
|
|
for(i = 0; i < 0xE; i++){
|
|
this->unk1C[i] = 0;
|
|
}
|
|
tmp = (struct12s *)func_802EDAA4(&this->unk18, &sp2C);
|
|
tmp->unk0 = arg1;
|
|
tmp->unk1 = arg2;
|
|
}
|
|
|
|
void func_80259994(CoMusic *this, s32 arg1){
|
|
func_80259914(this, arg1, arg1);
|
|
}
|
|
|
|
void func_802599B4(CoMusic *this){
|
|
func_80259994(this, func_80250034(this->unk10));
|
|
this->unk10 = -1;
|
|
this->unk14 = 0;
|
|
this->unk15 = 0;
|
|
func_8024FC1C(this - D_80276E30, -1);
|
|
}
|
|
|
|
void func_80259A24(void){
|
|
CoMusic * iPtr;
|
|
s32 i;
|
|
|
|
if(D_80276E30 != NULL)
|
|
func_80259B14();
|
|
|
|
D_80276E30 = (CoMusic *) malloc(6*sizeof(CoMusic));
|
|
for(iPtr = D_80276E30; iPtr < D_80276E30 + 6; iPtr++){
|
|
iPtr->unk10 = -1;
|
|
iPtr->unk8 = 0;
|
|
iPtr->unk12 = 0;
|
|
iPtr->unkC = 0;
|
|
iPtr->unk4 = 0.0f;
|
|
iPtr->unk14 = 0;
|
|
iPtr->unk15 = 0;
|
|
iPtr->unk0 = 0.0f;
|
|
iPtr->unk18 = array_new(sizeof(struct12s),4);
|
|
for(i = 0; i < 0xE; i++){
|
|
iPtr->unk1C[i] = 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
//comusic_freeAll
|
|
void func_80259B14(void){
|
|
CoMusic *iPtr;
|
|
func_8024FB8C();
|
|
func_8024F83C();
|
|
|
|
for(iPtr = D_80276E30; iPtr < D_80276E30 + 6; iPtr++){
|
|
array_free(iPtr->unk18);
|
|
}
|
|
free(D_80276E30);
|
|
D_80276E30 = NULL;
|
|
}
|
|
|
|
//comusic_count
|
|
s32 func_80259B8C(void){
|
|
CoMusic * iPtr;
|
|
s32 cnt = 0;
|
|
for(iPtr = D_80276E30; iPtr < D_80276E30 + 6; iPtr++){
|
|
if(iPtr->unk10 >= 0)
|
|
cnt++;
|
|
}
|
|
return cnt;
|
|
}
|
|
|
|
void func_80259BD0(void) {
|
|
s32 temp_lo;
|
|
CoMusic *var_s0;
|
|
f32 sp3C;
|
|
|
|
|
|
sp3C = time_getDelta();
|
|
for(var_s0 = D_80276E30; var_s0 < &D_80276E30[6]; var_s0++){
|
|
if (var_s0->unk10 >= 0) {
|
|
temp_lo = var_s0 - D_80276E30;
|
|
var_s0->unk4 = min_f(var_s0->unk4 + sp3C, 600.0f);
|
|
if ((var_s0->unk4 > 1.0f) && func_80250074(temp_lo)) {
|
|
func_8025A7DC(var_s0->unk10);
|
|
}
|
|
}
|
|
}
|
|
func_8024FF34();
|
|
if (!D_80276E34)
|
|
return;
|
|
|
|
D_80276E34 = FALSE;
|
|
for(var_s0 = D_80276E30; var_s0 < &D_80276E30[6]; var_s0++){
|
|
if (var_s0->unk10 >= 0) {
|
|
if (var_s0->unk12 != 0) {
|
|
temp_lo = var_s0 - D_80276E30;
|
|
if (var_s0->unk0 > 0.0f) {
|
|
var_s0->unk0 -= time_getDelta();
|
|
D_80276E34 = TRUE;
|
|
} else if (var_s0->unk12 < 0) {
|
|
var_s0->unk8 += var_s0->unk12;
|
|
if (var_s0->unk15 && (var_s0->unkC == 0) && (var_s0->unk8 <= 0)) {
|
|
func_802599B4(var_s0);
|
|
continue;
|
|
} else {
|
|
if (var_s0->unkC >= var_s0->unk8) {
|
|
var_s0->unk8 = var_s0->unkC;
|
|
var_s0->unk12 = 0;
|
|
} else {
|
|
D_80276E34 = TRUE;
|
|
}
|
|
func_8024FD28(temp_lo, (s16)var_s0->unk8);
|
|
}
|
|
} else if (var_s0->unk8 < var_s0->unkC) {
|
|
if (var_s0->unk8 == 0) {
|
|
var_s0->unk4 = 0.0f;
|
|
}
|
|
var_s0->unk8 += var_s0->unk12;
|
|
if (var_s0->unk8 >= var_s0->unkC) {
|
|
var_s0->unk8 = var_s0->unkC;
|
|
var_s0->unk12 = 0;
|
|
} else {
|
|
D_80276E34 = TRUE;
|
|
}
|
|
func_8024FD28(temp_lo, (s16)var_s0->unk8);
|
|
} else {
|
|
var_s0->unk12 = 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_80259EA8(CoMusic *this, s32 *arg1, s32 *arg2){
|
|
int i;
|
|
int cnt = array_size(this->unk18);
|
|
s32 tmp_s1 = 0x7FFF;
|
|
s32 tmp_s2 = 0x40000000;
|
|
struct12s *tmp_ptr;
|
|
|
|
for(i = 1; i < cnt; i++){
|
|
if(func_802EDC18(this->unk18, i)){
|
|
tmp_ptr = (struct12s*)array_at(this->unk18, i);
|
|
if(tmp_ptr->unk0 < tmp_s1 || (tmp_s1 == tmp_ptr->unk0 && tmp_ptr->unk1 < tmp_s2)){
|
|
tmp_s1 = tmp_ptr->unk0;
|
|
tmp_s2 = tmp_ptr->unk1;
|
|
}//L80259F40
|
|
}
|
|
}
|
|
*arg1 = tmp_s1;
|
|
*arg2 = tmp_s2;
|
|
}
|
|
|
|
void func_80259F7C(CoMusic *self, s32 *arg1, s32 *arg2, s32 *arg3) {
|
|
struct12s *temp_v0;
|
|
f32 pad;
|
|
s32 sp34;
|
|
s32 var_s2;
|
|
|
|
var_s2 = *arg1;
|
|
sp34 = *arg2;
|
|
if ((*arg3 != 0) && !func_802EDC18(self->unk18, *arg3)) {
|
|
*arg3 = 0;
|
|
}
|
|
|
|
if (var_s2 < 0) {
|
|
temp_v0 = (struct12s *)array_at(self->unk18, 1);
|
|
if (temp_v0->unk0 < func_80250034(self->unk10)) {
|
|
var_s2 = func_80250034(self->unk10);
|
|
}
|
|
else{
|
|
var_s2 = temp_v0->unk0;
|
|
}
|
|
if (*arg3 != 0) {
|
|
temp_v0 = (struct12s *)array_at(self->unk18, *arg3);
|
|
*arg2 = temp_v0->unk1;
|
|
func_802EDCDC(self->unk18, *arg3);
|
|
*arg3 = 0;
|
|
func_80259EA8(self, arg1, &sp34);
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (*arg3 == 0) {
|
|
temp_v0 = (struct12s *)array_at(self->unk18, 1);
|
|
if ((temp_v0->unk0 < var_s2) || ((var_s2 == temp_v0->unk0) && (sp34 >= temp_v0->unk1))) {
|
|
func_80259914(self, var_s2, sp34);
|
|
} else {
|
|
func_802EDAA4(&self->unk18, arg3);
|
|
}
|
|
}
|
|
if (*arg3 != 0) {
|
|
temp_v0 = (struct12s *)array_at(self->unk18, *arg3);
|
|
temp_v0->unk0 = var_s2;
|
|
temp_v0->unk1 = sp34;
|
|
}
|
|
func_80259EA8(self, arg1, arg2);
|
|
}
|
|
|
|
void func_8025A104(enum comusic_e arg0, s32 arg1){
|
|
if (arg0 != D_80276E30[0].unk10){
|
|
func_8024FC1C(0, arg0);
|
|
}
|
|
func_8024FD28(0, (s16)arg1);
|
|
D_80276E30[0].unk10 = (s16) arg0;
|
|
D_80276E30[0].unk8 = arg1;
|
|
D_80276E30[0].unk0 = 0.0f;
|
|
D_80276E30[0].unk12 = 0;
|
|
D_80276E30[0].unk4 = 0.0f;
|
|
D_80276E30[0].unk15 = 0;
|
|
func_80259994(&D_80276E30[0], arg1);
|
|
}
|
|
|
|
void func_8025A1A8(enum comusic_e arg0){
|
|
|
|
if (arg0 != D_80276E30[0].unk10){
|
|
func_8024FC1C(0, arg0);
|
|
D_80276E30[0].unk10 = (s16) arg0;
|
|
D_80276E30[0].unk8 = func_80250034(arg0);
|
|
D_80276E30[0].unk0 = 0.0f;
|
|
D_80276E30[0].unk12 = 0;
|
|
D_80276E30[0].unk4 = 0.0f;
|
|
D_80276E30[0].unk15 = 0;
|
|
func_80259994(&D_80276E30[0], D_80276E30[0].unk8);
|
|
}
|
|
}
|
|
|
|
void func_8025A23C(s32 arg0){
|
|
CoMusic *music = &D_80276E30[5];
|
|
s32 temp_v0;
|
|
|
|
if (arg0 != music->unk10){
|
|
func_8024FC1C(5, arg0);
|
|
music->unk10 = (s16) arg0;
|
|
temp_v0 = func_80250034(arg0);
|
|
music->unk8 = temp_v0;
|
|
music->unk12 = 0;
|
|
music->unk15 = 0;
|
|
music->unk0 = 0.0f;
|
|
music->unk4 = 0.0f;
|
|
func_80259994(music, temp_v0);
|
|
}
|
|
}
|
|
|
|
void func_8025A2B0(void){
|
|
func_802599B4(&D_80276E30[5]);
|
|
}
|
|
|
|
void func_8025A2D8(void){
|
|
func_802599B4(&D_80276E30[0]);
|
|
}
|
|
|
|
void func_8025A2FC(s32 arg0, s32 arg1){
|
|
s32 i;
|
|
|
|
func_8025A55C(arg0, arg1, 1);
|
|
for (i = 1; i < 5; i++){
|
|
s16 val = (i + D_80276E30)->unk10; // Doesn't match with D_80276E30[i]
|
|
if (val >= 0){
|
|
func_8025ABB8(val, arg0, arg1, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_8025A388(s32 arg0, s32 arg1) {
|
|
s32 i;
|
|
|
|
if (D_80276E30->unk14 == 0){
|
|
func_8025A55C(arg0, arg1, 1);
|
|
}
|
|
for (i = 1; i < 5; i++){
|
|
CoMusic *current = (i + D_80276E30); // Doesn't match with D_80276E30[i]
|
|
if (current->unk10 >= 0 && current->unk14 == 0){
|
|
func_8025ABB8(current->unk10, arg0, arg1, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_8025A430(s32 arg0, s32 arg1, s32 arg2){
|
|
s32 i;
|
|
|
|
func_8025A55C(arg0, arg1, arg2);
|
|
for (i = 1; i < 5; i++){
|
|
s16 val = (i + D_80276E30)->unk10; // Doesn't match with D_80276E30[i]
|
|
if (val >= 0){
|
|
func_8025ABB8(val, arg0, arg1, arg2);
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_8025A4C4(s32 arg0, s32 arg1, s32 *arg2){
|
|
if(D_80276E30[0].unk10 >= 0){
|
|
func_80259F7C(&D_80276E30[0], &arg0, &arg1, arg2);
|
|
if(arg0 != D_80276E30[0].unk8){
|
|
if(D_80276E30[0].unk8 < arg0){
|
|
D_80276E30[0].unk12 = arg1;
|
|
}
|
|
else{
|
|
D_80276E30[0].unk12 = -arg1;
|
|
}
|
|
D_80276E30[0].unkC = arg0;
|
|
D_80276E34 = 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_8025A55C(s32 arg0, s32 arg1, s32 arg2){
|
|
func_8025A4C4(arg0, arg1, &D_80276E30->unk1C[arg2]);
|
|
}
|
|
|
|
void func_8025A58C(s32 arg0, s32 arg1){
|
|
func_8025A55C(arg0, arg1, 0);
|
|
}
|
|
|
|
|
|
void func_8025A5AC(enum comusic_e comusic_id, s32 arg1, s32 arg2){
|
|
CoMusic *tmp_a2;
|
|
s32 sp20;
|
|
|
|
if(arg1 == -1){
|
|
arg1 = func_80250034(comusic_id);
|
|
}
|
|
|
|
tmp_a2 = func_802598B0(comusic_id);
|
|
if(tmp_a2 == NULL)
|
|
return;
|
|
|
|
sp20 = (tmp_a2 - D_80276E30);
|
|
if(tmp_a2->unk10 < 0 || arg2){
|
|
switch(comusic_id){
|
|
case COMUSIC_15_EXTRA_LIFE_COLLECTED:
|
|
if(map_get() != MAP_10_BGS_MR_VILE){
|
|
case COMUSIC_3B_MINIGAME_VICTORY:
|
|
case COMUSIC_3C_MINIGAME_LOSS:
|
|
func_8025AE50(4000, 2.0f);
|
|
}//L8025A668
|
|
}
|
|
tmp_a2->unk10 = comusic_id;
|
|
tmp_a2->unk12 = 0;
|
|
tmp_a2->unk15 = 0;
|
|
tmp_a2->unk4 = 0.0f;
|
|
func_80259994(tmp_a2, arg1);
|
|
func_8024FC1C(sp20, comusic_id);
|
|
}
|
|
func_8024FD28(sp20, (s16) arg1);
|
|
tmp_a2->unk8 = arg1;
|
|
|
|
}
|
|
|
|
void func_8025A6CC(enum comusic_e arg0, s32 arg1){
|
|
func_8025A5AC(arg0, arg1, 0);
|
|
}
|
|
|
|
void func_8025A6EC(enum comusic_e track_id, s32 arg1){
|
|
func_8025A5AC(track_id, arg1, 1);
|
|
}
|
|
|
|
//comusic_queueTrack
|
|
void func_8025A70C(enum comusic_e track_id){
|
|
CoMusic *trackPtr;
|
|
s32 indx;
|
|
|
|
trackPtr = func_802598B0(track_id);
|
|
if(trackPtr == NULL)
|
|
return;
|
|
|
|
indx = trackPtr - D_80276E30;
|
|
if(trackPtr->unk10 < 0){
|
|
trackPtr->unk10 = track_id;
|
|
trackPtr->unk12 = 0;
|
|
trackPtr->unk4 = 0.0f;
|
|
func_8024FC1C( indx, track_id);
|
|
func_80259994(trackPtr, trackPtr->unk8 = func_80250034(track_id));
|
|
}
|
|
|
|
}
|
|
|
|
void func_8025A788(enum comusic_e comusic_id, f32 delay1, f32 delay2){
|
|
timedFunc_set_1(delay1, (GenMethod_1) func_8025A70C, comusic_id);
|
|
timedFunc_set_1(delay1 + delay2, (GenMethod_1) func_8025A7DC, comusic_id);
|
|
}
|
|
|
|
void func_8025A7DC(enum comusic_e track_id){
|
|
CoMusic *trackPtr;
|
|
|
|
trackPtr = func_802598B0(track_id);
|
|
if (trackPtr != NULL && trackPtr->unk10 >= 0){
|
|
func_802599B4(trackPtr);
|
|
}
|
|
}
|
|
|
|
s32 func_8025A818(void){
|
|
if (D_80276E30[0].unkC == 0 && D_80276E30[0].unk8 <= 0){
|
|
func_802599B4(&D_80276E30[0]);
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
s32 func_8025A864(enum comusic_e track_id){
|
|
CoMusic *trackPtr;
|
|
|
|
trackPtr = func_802598B0(track_id);
|
|
if (trackPtr != NULL && trackPtr->unkC == 0 && trackPtr->unk8 <= 0){
|
|
func_802599B4(trackPtr);
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void func_8025A8B8(enum comusic_e track_id, s32 arg1){
|
|
CoMusic *trackPtr;
|
|
|
|
trackPtr = func_802598B0(track_id);
|
|
if (trackPtr != NULL){
|
|
trackPtr->unk14 = arg1;
|
|
}
|
|
}
|
|
|
|
void func_8025A8E4(s32 arg0) {
|
|
if (D_80276E30[0].unk10 >= 0) {
|
|
D_80276E30[0].unk14 = arg0;
|
|
}
|
|
}
|
|
|
|
void func_8025A904(void){
|
|
CoMusic *trackPtr = &D_80276E30[0];
|
|
|
|
while (trackPtr < &D_80276E30[6]){
|
|
if (trackPtr->unk10 >= 0){
|
|
func_802599B4(trackPtr);
|
|
}
|
|
trackPtr++;
|
|
}
|
|
}
|
|
|
|
//dequeue_allTracks
|
|
void func_8025A96C(void){
|
|
CoMusic *iPtr;
|
|
|
|
for(iPtr = &D_80276E30[1]; iPtr < &D_80276E30[6]; iPtr++){
|
|
if(iPtr->unk10 >= 0){
|
|
func_802599B4(iPtr);
|
|
}
|
|
}
|
|
}
|
|
|
|
//dequeue_allTracks
|
|
void func_8025A9D4(void){
|
|
CoMusic *iPtr;
|
|
|
|
for(iPtr = &D_80276E30[0]; iPtr < &D_80276E30[6]; iPtr++){
|
|
if(iPtr->unk10 >= 0 && !iPtr->unk14){
|
|
func_802599B4(iPtr);
|
|
}
|
|
}
|
|
}
|
|
|
|
//dequeue_nonmainTracks
|
|
void func_8025AA48(void){
|
|
CoMusic *iPtr;
|
|
|
|
for(iPtr = &D_80276E30[1]; iPtr < &D_80276E30[6]; iPtr++){
|
|
if(iPtr->unk10 >= 0 && !iPtr->unk14){
|
|
func_802599B4(iPtr);
|
|
}
|
|
}
|
|
}
|
|
|
|
//dequeue_track?
|
|
void func_8025AABC(enum comusic_e track_id){
|
|
CoMusic *trackPtr;
|
|
|
|
if(trackPtr = func_802598B0(track_id)){
|
|
trackPtr->unk15 = 1;
|
|
if(!trackPtr->unk8)
|
|
func_802599B4(trackPtr);
|
|
}
|
|
}
|
|
|
|
void func_8025AB00(void){
|
|
D_80276E30[0].unk15 = 1;
|
|
if (!D_80276E30[0].unk8){
|
|
func_802599B4(&D_80276E30[0]);
|
|
}
|
|
}
|
|
|
|
void comusic_8025AB44(enum comusic_e comusic_id, s32 arg1, s32 arg2){
|
|
func_8025AC20(comusic_id, arg1, arg2, 0.0f, "comusic.c", 0x39e);
|
|
}
|
|
|
|
void comusic_8025AB78(enum comusic_e comusic_id, s32 arg1, s32 arg2, s32 arg3){
|
|
func_8025AC7C(comusic_id, arg1, arg2, 0.0f, arg3, "comusic.c", 0x3a3);
|
|
}
|
|
|
|
void func_8025ABB8(enum comusic_e comusic_id, s32 arg1, s32 arg2, s32 arg3){
|
|
func_8025AC7C(comusic_id, arg1, arg2, 0.0f, (s32)&(func_802598B0(comusic_id)->unk1C[arg3]), "comusic.c", 0x3aa);
|
|
}
|
|
|
|
void func_8025AC20(enum comusic_e comusic_id, s32 arg1, s32 arg2, f32 arg3, char* arg4, s32 char5){
|
|
func_8025AC7C(comusic_id, arg1, arg2, 0.0f, (s32) func_802598B0(comusic_id)->unk1C, "comusic.c", 0x3b1);
|
|
}
|
|
|
|
void func_8025AC7C(enum comusic_e comusic_id, s32 arg1, s32 arg2, f32 arg3, s32 arg4, char* arg5, s32 arg6){
|
|
CoMusic *trackPtr;
|
|
u32 sp24;
|
|
|
|
trackPtr = func_802598B0(comusic_id);
|
|
if(trackPtr == NULL)
|
|
return;
|
|
|
|
if(trackPtr->unk10 < 0){ //Track not ready
|
|
if(arg1 == 0)
|
|
return;
|
|
sp24 = (trackPtr - D_80276E30);
|
|
func_8024FC1C(sp24, comusic_id);
|
|
trackPtr->unk10 = comusic_id;
|
|
trackPtr->unk8 = 0;
|
|
trackPtr->unk15 = 0;
|
|
trackPtr->unk4 = 0.0f;
|
|
func_80259994(trackPtr, 0);
|
|
func_8024FD28(sp24, 0);
|
|
}
|
|
func_80259F7C(trackPtr,&arg1, &arg2, arg4);
|
|
trackPtr->unk0 = arg3;
|
|
trackPtr->unk12 = (trackPtr->unk8 < arg1)? arg2: -arg2;
|
|
trackPtr->unkC = arg1;
|
|
D_80276E34 = 1;
|
|
|
|
}
|
|
|
|
//comusic_trackQueued
|
|
int func_8025AD7C(enum comusic_e arg0){
|
|
CoMusic * trackPtr = func_802598B0(arg0);
|
|
return (trackPtr == NULL || trackPtr->unk10 == -1)? 0 : 1;
|
|
}
|
|
|
|
//comusic_isPrimaryTrack
|
|
int func_8025ADBC(enum comusic_e arg0){
|
|
return D_80276E30[0].unk10 == arg0;
|
|
}
|
|
|
|
s32 func_8025ADD4(enum comusic_e id){
|
|
CoMusic * ptr = func_802598B0(id);
|
|
return ptr - D_80276E30;
|
|
}
|
|
|
|
void func_8025AE0C(s32 arg0, f32 arg1){
|
|
func_8025A58C(0, arg0);
|
|
timedFunc_set_2(arg1, (GenMethod_2)func_8025A58C, -1, arg0);
|
|
}
|
|
|
|
void func_8025AE50(s32 arg0, f32 arg1){
|
|
func_8025A430(0, arg0, 6);
|
|
timedFunc_set_3(arg1, (GenMethod_3)func_8025A430, -1, arg0, 6);
|
|
}
|
|
|
|
void func_8025AEA0(enum comusic_e track_id, s32 arg1){
|
|
CoMusic *ptr = func_802598B0(track_id);
|
|
|
|
if(!ptr) return;
|
|
func_8024FDDC(ptr - D_80276E30, arg1);
|
|
}
|
|
|
|
int func_8025AEEC(void){
|
|
s32 out = func_802501A0(0, 0x6A, 0);
|
|
if(out)
|
|
func_80250170(0, 0x6A, 0);
|
|
return out;
|
|
}
|
|
|
|
void func_8025AF38(void){
|
|
CoMusic *iPtr;
|
|
|
|
if(!D_80276E30) return;
|
|
|
|
for(iPtr = &D_80276E30[0]; iPtr < &D_80276E30[6]; iPtr++){
|
|
iPtr->unk18 = array_defrag(iPtr->unk18);
|
|
}
|
|
D_80276E30 = (CoMusic *)defrag(D_80276E30);
|
|
}
|