mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
c: musicSetTempo
This commit is contained in:
@@ -1,36 +0,0 @@
|
||||
glabel musicSetTempo
|
||||
/* 002134 80001534 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 002138 80001538 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 00213C 8000153C 1080001A */ beqz $a0, .L800015A8
|
||||
/* 002140 80001540 00803025 */ move $a2, $a0
|
||||
/* 002144 80001544 44863000 */ mtc1 $a2, $f6
|
||||
/* 002148 80001548 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 00214C 8000154C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 002150 80001550 44812000 */ mtc1 $at, $f4
|
||||
/* 002154 80001554 3C01800E */ lui $at, %hi(D_800E49DC) # $at, 0x800e
|
||||
/* 002158 80001558 46082283 */ div.s $f10, $f4, $f8
|
||||
/* 00215C 8000155C C43049DC */ lwc1 $f16, %lo(D_800E49DC)($at)
|
||||
/* 002160 80001560 3C04800E */ lui $a0, %hi(gMusicPlayer) # $a0, 0x800e
|
||||
/* 002164 80001564 8C84C630 */ lw $a0, %lo(gMusicPlayer)($a0)
|
||||
/* 002168 80001568 AFA60018 */ sw $a2, 0x18($sp)
|
||||
/* 00216C 8000156C 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 002170 80001570 444EF800 */ cfc1 $t6, $31
|
||||
/* 002174 80001574 00000000 */ nop
|
||||
/* 002178 80001578 35C10003 */ ori $at, $t6, 3
|
||||
/* 00217C 8000157C 38210002 */ xori $at, $at, 2
|
||||
/* 002180 80001580 44C1F800 */ ctc1 $at, $31
|
||||
/* 002184 80001584 00000000 */ nop
|
||||
/* 002188 80001588 460091A4 */ cvt.w.s $f6, $f18
|
||||
/* 00218C 8000158C 44053000 */ mfc1 $a1, $f6
|
||||
/* 002190 80001590 44CEF800 */ ctc1 $t6, $31
|
||||
/* 002194 80001594 0C031E78 */ jal alCSPSetTempo
|
||||
/* 002198 80001598 00000000 */ nop
|
||||
/* 00219C 8000159C 8FA60018 */ lw $a2, 0x18($sp)
|
||||
/* 0021A0 800015A0 3C018011 */ lui $at, %hi(D_80115D30) # $at, 0x8011
|
||||
/* 0021A4 800015A4 A4265D30 */ sh $a2, %lo(D_80115D30)($at)
|
||||
.L800015A8:
|
||||
/* 0021A8 800015A8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0021AC 800015AC 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0021B0 800015B0 03E00008 */ jr $ra
|
||||
/* 0021B4 800015B4 00000000 */ nop
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
glabel sfxSetTempo
|
||||
/* 0023D4 800017D4 00803025 */ move $a2, $a0
|
||||
/* 0023D8 800017D8 44863000 */ mtc1 $a2, $f6
|
||||
/* 0023DC 800017DC 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 0023E0 800017E0 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 0023E4 800017E4 44812000 */ mtc1 $at, $f4
|
||||
/* 0023E8 800017E8 3C01800E */ lui $at, %hi(D_800E49EC) # $at, 0x800e
|
||||
/* 0023EC 800017EC 46082283 */ div.s $f10, $f4, $f8
|
||||
/* 0023F0 800017F0 C43049EC */ lwc1 $f16, %lo(D_800E49EC)($at)
|
||||
/* 0023F4 800017F4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 0023F8 800017F8 3C04800E */ lui $a0, %hi(gSndFxPlayer) # $a0, 0x800e
|
||||
/* 0023FC 800017FC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 002400 80001800 8C84C634 */ lw $a0, %lo(gSndFxPlayer)($a0)
|
||||
/* 002404 80001804 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 002408 80001808 444EF800 */ cfc1 $t6, $31
|
||||
/* 00240C 8000180C 00000000 */ nop
|
||||
/* 002410 80001810 35C10003 */ ori $at, $t6, 3
|
||||
/* 002414 80001814 38210002 */ xori $at, $at, 2
|
||||
/* 002418 80001818 44C1F800 */ ctc1 $at, $31
|
||||
/* 00241C 8000181C 00000000 */ nop
|
||||
/* 002420 80001820 460091A4 */ cvt.w.s $f6, $f18
|
||||
/* 002424 80001824 44053000 */ mfc1 $a1, $f6
|
||||
/* 002428 80001828 44CEF800 */ ctc1 $t6, $31
|
||||
/* 00242C 8000182C 0C031E78 */ jal alCSPSetTempo
|
||||
/* 002430 80001830 00000000 */ nop
|
||||
/* 002434 80001834 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 002438 80001838 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 00243C 8000183C 03E00008 */ jr $ra
|
||||
/* 002440 80001840 00000000 */ nop
|
||||
|
||||
+23
-10
@@ -38,6 +38,9 @@ extern u8 D_800DC660;
|
||||
extern s32 D_800DC66C;
|
||||
extern u8 D_800DC670;
|
||||
|
||||
extern f32 D_800E49DC;
|
||||
extern f32 D_800E49EC;
|
||||
|
||||
extern u8 D_800EBF60;
|
||||
extern ALHeap gALHeap;
|
||||
|
||||
@@ -537,15 +540,24 @@ void func_80001440(u8 *arg0){
|
||||
return;
|
||||
}
|
||||
|
||||
s16 func_800015B8(void);
|
||||
s16 musicGetTempo(void);
|
||||
|
||||
void musicSetTempo(s32);
|
||||
|
||||
void func_800014BC(f32 arg0) {
|
||||
musicSetTempo((s32)((f32)(u32)(func_800015B8() & 0xFF) * arg0));
|
||||
musicSetTempo((s32)((f32)(u32)(musicGetTempo() & 0xFF) * arg0));
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_001050/musicSetTempo.s")
|
||||
|
||||
s16 func_800015B8(void) {
|
||||
void musicSetTempo(s32 tempo){
|
||||
if(tempo != 0){
|
||||
f32 inv_tempo = (1.0f/tempo);
|
||||
alCSPSetTempo(gMusicPlayer,(s32)(inv_tempo*D_800E49DC));
|
||||
D_80115D30 = tempo;
|
||||
}
|
||||
}
|
||||
|
||||
s16 musicGetTempo(void) {
|
||||
return D_80115D30;
|
||||
}
|
||||
|
||||
@@ -564,7 +576,12 @@ void func_80001784(u8 a0){
|
||||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_001050/sfxSetTempo.s")
|
||||
|
||||
void sfxSetTempo(s32 tempo){
|
||||
f32 inv_tempo = (1.0f/tempo);
|
||||
alCSPSetTempo(gSndFxPlayer,(s32)(inv_tempo*D_800E49EC));
|
||||
}
|
||||
|
||||
|
||||
void func_80002570(ALCSPlayer* arg0);
|
||||
|
||||
@@ -619,9 +636,7 @@ u8 func_80001980(void) {
|
||||
return D_80115D05;
|
||||
}
|
||||
|
||||
#if 0
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_001050/musicSetRelativeVolume.s")
|
||||
#else
|
||||
|
||||
void musicSetRelativeVolume(u8 vol){
|
||||
f32 normalized_vol;
|
||||
|
||||
@@ -629,8 +644,6 @@ void musicSetRelativeVolume(u8 vol){
|
||||
normalized_vol = musicVolumeSliderPercentage*musicRelativeVolume*D_800DC650;
|
||||
alCSPSetVol(gMusicPlayer, (s16)((s32)(D_800DC66C*normalized_vol)>>8));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void musicSetVolSlider(u32 slider_val){
|
||||
f32 normalized_vol;
|
||||
|
||||
Reference in New Issue
Block a user