mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Rework ingame hud struct (#442)
* name some camera things * yea there * lots of audio * match a func * better * x * egg * all but one func in audio.c nopw * audio looks good for now * Update audio.c * correct taj thing * fix warnings * Update audiosfx.h * Update README.md * preliminary names * fix warnings * fix an oopsie * checkpoint * oh my god * Update README.md * run clang tidy * initial hud asset ids
This commit is contained in:
@@ -9,7 +9,7 @@ As of January 26, 2024, this is our current score:
|
||||
|
||||
    Decomp progress: 66.48%
|
||||
|
||||
    Documentation progress: 35.36%
|
||||
    Documentation progress: 35.49%
|
||||
<!-- README_SCORE_SUMMARY_END -->
|
||||
|
||||
---
|
||||
@@ -125,15 +125,15 @@ s32 is_drumstick_unlocked(void) {
|
||||
```
|
||||
|
||||
<!-- README_SCORE_BEGIN -->
|
||||
As of January 26, 2024, this is our current score:
|
||||
As of April 4, 2024, this is our current score:
|
||||
```
|
||||
====================================================================
|
||||
ADVENTURE ONE (ASM -> C Decompilation)
|
||||
-------------- 66.48% Complete (69.44% NON_MATCHING) ---------------
|
||||
-------------- 66.48% Complete (69.07% NON_MATCHING) ---------------
|
||||
# Decompiled functions: 1681
|
||||
# GLOBAL_ASM remaining: 164
|
||||
# NON_MATCHING functions: 16
|
||||
# NON_EQUIVALENT WIP functions: 54
|
||||
# NON_MATCHING functions: 15
|
||||
# NON_EQUIVALENT WIP functions: 55
|
||||
--------------------------- Game Status ----------------------------
|
||||
Balloons: 31/47, Keys: 3/4, Trophies: 3/5
|
||||
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
|
||||
@@ -141,9 +141,9 @@ As of January 26, 2024, this is our current score:
|
||||
We are racing in Windmill Plains. (Lap 3/3)
|
||||
====================================================================
|
||||
ADVENTURE TWO (Cleanup & Documentation)
|
||||
------------------------- 35.36% Complete --------------------------
|
||||
# Documented functions: 828
|
||||
# Undocumented remaining: 740
|
||||
------------------------- 35.49% Complete --------------------------
|
||||
# Documented functions: 833
|
||||
# Undocumented remaining: 735
|
||||
--------------------------- Game Status ----------------------------
|
||||
Balloons: 17/47, Keys: 2/4, Trophies: 1/5
|
||||
T.T. Amulets: 2/4, Wizpig Amulets: 1/4
|
||||
|
||||
@@ -510,7 +510,7 @@ glabel func_80008438
|
||||
/* 009790 80008B90 AFA90018 */ sw $t1, 0x18($sp)
|
||||
/* 009794 80008B94 AFA80014 */ sw $t0, 0x14($sp)
|
||||
/* 009798 80008B98 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 00979C 80008B9C 0C0024AA */ jal func_800092A8
|
||||
/* 00979C 80008B9C 0C0024AA */ jal audioline_distance
|
||||
/* 0097A0 80008BA0 02803825 */ move $a3, $s4
|
||||
/* 0097A4 80008BA4 AE020000 */ sw $v0, ($s0)
|
||||
/* 0097A8 80008BA8 C66A0014 */ lwc1 $f10, 0x14($s3)
|
||||
|
||||
@@ -54,7 +54,7 @@ glabel func_80009B7C
|
||||
/* 00A844 80009C44 AFB80010 */ sw $t8, 0x10($sp)
|
||||
/* 00A848 80009C48 4600B306 */ mov.s $f12, $f22
|
||||
/* 00A84C 80009C4C 4600A386 */ mov.s $f14, $f20
|
||||
/* 00A850 80009C50 0C0024AA */ jal func_800092A8
|
||||
/* 00A850 80009C50 0C0024AA */ jal audioline_distance
|
||||
/* 00A854 80009C54 03C03825 */ move $a3, $fp
|
||||
/* 00A858 80009C58 0056082A */ slt $at, $v0, $s6
|
||||
/* 00A85C 80009C5C 1020001D */ beqz $at, .L80009CD4
|
||||
|
||||
@@ -282,7 +282,7 @@ glabel func_800063EC
|
||||
/* 0073C0 800067C0 E46200A4 */ swc1 $f2, 0xa4($v1)
|
||||
.L800067C4:
|
||||
/* 0073C4 800067C4 E7AE0018 */ swc1 $f14, 0x18($sp)
|
||||
/* 0073C8 800067C8 0C028064 */ jal func_800A0190
|
||||
/* 0073C8 800067C8 0C028064 */ jal race_starting
|
||||
/* 0073CC 800067CC E7B2002C */ swc1 $f18, 0x2c($sp)
|
||||
/* 0073D0 800067D0 3C098012 */ lui $t1, %hi(gRacerSound) # $t1, 0x8012
|
||||
/* 0073D4 800067D4 C7AE0018 */ lwc1 $f14, 0x18($sp)
|
||||
|
||||
@@ -54,38 +54,38 @@ glabel func_8009F034
|
||||
/* 09FC9C 8009F09C 14410007 */ bne $v0, $at, .L8009F0BC
|
||||
/* 09FCA0 8009F0A0 3C0F8012 */ lui $t7, %hi(gHUDNumPlayers) # $t7, 0x8012
|
||||
.L8009F0A4:
|
||||
/* 09FCA4 8009F0A4 3C018012 */ lui $at, %hi(D_80126D24) # $at, 0x8012
|
||||
/* 09FCA8 8009F0A8 AC206D24 */ sw $zero, %lo(D_80126D24)($at)
|
||||
/* 09FCAC 8009F0AC 3C018012 */ lui $at, %hi(D_80126D34) # $at, 0x8012
|
||||
/* 09FCA4 8009F0A4 3C018012 */ lui $at, %hi(gHudOffsetX) # $at, 0x8012
|
||||
/* 09FCA8 8009F0A8 AC206D24 */ sw $zero, %lo(gHudOffsetX)($at)
|
||||
/* 09FCAC 8009F0AC 3C018012 */ lui $at, %hi(gHudRaceStart) # $at, 0x8012
|
||||
/* 09FCB0 8009F0B0 240E0001 */ li $t6, 1
|
||||
/* 09FCB4 8009F0B4 10000015 */ b .L8009F10C
|
||||
/* 09FCB8 8009F0B8 A02E6D34 */ sb $t6, %lo(D_80126D34)($at)
|
||||
/* 09FCB8 8009F0B8 A02E6D34 */ sb $t6, %lo(gHudRaceStart)($at)
|
||||
.L8009F0BC:
|
||||
/* 09FCBC 8009F0BC 8DEF6D0C */ lw $t7, %lo(gHUDNumPlayers)($t7)
|
||||
/* 09FCC0 8009F0C0 24180140 */ li $t8, 320
|
||||
/* 09FCC4 8009F0C4 29E10002 */ slti $at, $t7, 2
|
||||
/* 09FCC8 8009F0C8 10200008 */ beqz $at, .L8009F0EC
|
||||
/* 09FCCC 8009F0CC 241900C8 */ li $t9, 200
|
||||
/* 09FCD0 8009F0D0 3C018012 */ lui $at, %hi(D_80126D24) # $at, 0x8012
|
||||
/* 09FCD4 8009F0D4 AC386D24 */ sw $t8, %lo(D_80126D24)($at)
|
||||
/* 09FCD0 8009F0D0 3C018012 */ lui $at, %hi(gHudOffsetX) # $at, 0x8012
|
||||
/* 09FCD4 8009F0D4 AC386D24 */ sw $t8, %lo(gHudOffsetX)($at)
|
||||
/* 09FCD8 8009F0D8 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 09FCDC 8009F0DC 44812000 */ mtc1 $at, $f4
|
||||
/* 09FCE0 8009F0E0 3C018012 */ lui $at, %hi(D_80126D30) # $at, 0x8012
|
||||
/* 09FCE0 8009F0E0 3C018012 */ lui $at, %hi(gHudBounceMag) # $at, 0x8012
|
||||
/* 09FCE4 8009F0E4 10000007 */ b .L8009F104
|
||||
/* 09FCE8 8009F0E8 E4246D30 */ swc1 $f4, %lo(D_80126D30)($at)
|
||||
/* 09FCE8 8009F0E8 E4246D30 */ swc1 $f4, %lo(gHudBounceMag)($at)
|
||||
.L8009F0EC:
|
||||
/* 09FCEC 8009F0EC 3C018012 */ lui $at, %hi(D_80126D24) # $at, 0x8012
|
||||
/* 09FCF0 8009F0F0 AC396D24 */ sw $t9, %lo(D_80126D24)($at)
|
||||
/* 09FCEC 8009F0EC 3C018012 */ lui $at, %hi(gHudOffsetX) # $at, 0x8012
|
||||
/* 09FCF0 8009F0F0 AC396D24 */ sw $t9, %lo(gHudOffsetX)($at)
|
||||
/* 09FCF4 8009F0F4 3C014000 */ li $at, 0x40000000 # 2.000000
|
||||
/* 09FCF8 8009F0F8 44813000 */ mtc1 $at, $f6
|
||||
/* 09FCFC 8009F0FC 3C018012 */ lui $at, %hi(D_80126D30) # $at, 0x8012
|
||||
/* 09FD00 8009F100 E4266D30 */ swc1 $f6, %lo(D_80126D30)($at)
|
||||
/* 09FCFC 8009F0FC 3C018012 */ lui $at, %hi(gHudBounceMag) # $at, 0x8012
|
||||
/* 09FD00 8009F100 E4266D30 */ swc1 $f6, %lo(gHudBounceMag)($at)
|
||||
.L8009F104:
|
||||
/* 09FD04 8009F104 3C018012 */ lui $at, %hi(D_80126D34) # $at, 0x8012
|
||||
/* 09FD08 8009F108 A0206D34 */ sb $zero, %lo(D_80126D34)($at)
|
||||
/* 09FD04 8009F104 3C018012 */ lui $at, %hi(gHudRaceStart) # $at, 0x8012
|
||||
/* 09FD08 8009F108 A0206D34 */ sb $zero, %lo(gHudRaceStart)($at)
|
||||
.L8009F10C:
|
||||
/* 09FD0C 8009F10C 3C018012 */ lui $at, %hi(D_80126D2C) # $at, 0x8012
|
||||
/* 09FD10 8009F110 A4206D2C */ sh $zero, %lo(D_80126D2C)($at)
|
||||
/* 09FD0C 8009F10C 3C018012 */ lui $at, %hi(gHudBounceTimer) # $at, 0x8012
|
||||
/* 09FD10 8009F110 A4206D2C */ sh $zero, %lo(gHudBounceTimer)($at)
|
||||
/* 09FD14 8009F114 3C018012 */ lui $at, %hi(gRaceStartShowHudStep) # $at, 0x8012
|
||||
/* 09FD18 8009F118 A0206CD4 */ sb $zero, %lo(gRaceStartShowHudStep)($at)
|
||||
/* 09FD1C 8009F11C 3C018012 */ lui $at, %hi(gHideRaceTimer) # $at, 0x8012
|
||||
@@ -94,24 +94,24 @@ glabel func_8009F034
|
||||
/* 09FD28 8009F128 A0206D38 */ sb $zero, %lo(gWrongWayNagPrefix)($at)
|
||||
/* 09FD2C 8009F12C 3C018012 */ lui $at, %hi(D_80126D35) # $at, 0x8012
|
||||
/* 09FD30 8009F130 A0206D35 */ sb $zero, %lo(D_80126D35)($at)
|
||||
/* 09FD34 8009F134 3C018012 */ lui $at, %hi(D_80126CD0) # $at, 0x8012
|
||||
/* 09FD34 8009F134 3C018012 */ lui $at, %hi(gMinimapOpacity) # $at, 0x8012
|
||||
/* 09FD38 8009F138 26100300 */ addiu $s0, %lo(osTvType) # addiu $s0, $s0, 0x300
|
||||
/* 09FD3C 8009F13C A0206CD0 */ sb $zero, %lo(D_80126CD0)($at)
|
||||
/* 09FD3C 8009F13C A0206CD0 */ sb $zero, %lo(gMinimapOpacity)($at)
|
||||
/* 09FD40 8009F140 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 09FD44 8009F144 2419FF9C */ li $t9, -100
|
||||
/* 09FD48 8009F148 15C00005 */ bnez $t6, .L8009F160
|
||||
/* 09FD4C 8009F14C 24040078 */ li $a0, 120
|
||||
/* 09FD50 8009F150 240F003C */ li $t7, 60
|
||||
/* 09FD54 8009F154 3C018012 */ lui $at, %hi(D_8012718B) # $at, 0x8012
|
||||
/* 09FD54 8009F154 3C018012 */ lui $at, %hi(gMinimapOpacityTarget) # $at, 0x8012
|
||||
/* 09FD58 8009F158 10000004 */ b .L8009F16C
|
||||
/* 09FD5C 8009F15C A02F718B */ sb $t7, %lo(D_8012718B)($at)
|
||||
/* 09FD5C 8009F15C A02F718B */ sb $t7, %lo(gMinimapOpacityTarget)($at)
|
||||
.L8009F160:
|
||||
/* 09FD60 8009F160 24180032 */ li $t8, 50
|
||||
/* 09FD64 8009F164 3C018012 */ lui $at, %hi(D_8012718B) # $at, 0x8012
|
||||
/* 09FD68 8009F168 A038718B */ sb $t8, %lo(D_8012718B)($at)
|
||||
/* 09FD64 8009F164 3C018012 */ lui $at, %hi(gMinimapOpacityTarget) # $at, 0x8012
|
||||
/* 09FD68 8009F168 A038718B */ sb $t8, %lo(gMinimapOpacityTarget)($at)
|
||||
.L8009F16C:
|
||||
/* 09FD6C 8009F16C 3C018012 */ lui $at, %hi(D_80126CD1) # $at, 0x8012
|
||||
/* 09FD70 8009F170 A0206CD1 */ sb $zero, %lo(D_80126CD1)($at)
|
||||
/* 09FD6C 8009F16C 3C018012 */ lui $at, %hi(gMinimapFade) # $at, 0x8012
|
||||
/* 09FD70 8009F170 A0206CD1 */ sb $zero, %lo(gMinimapFade)($at)
|
||||
/* 09FD74 8009F174 3C018012 */ lui $at, %hi(gShowHUD) # $at, 0x8012
|
||||
/* 09FD78 8009F178 A0206CD2 */ sb $zero, %lo(gShowHUD)($at)
|
||||
/* 09FD7C 8009F17C 3C018012 */ lui $at, %hi(D_80126CD5) # $at, 0x8012
|
||||
@@ -128,10 +128,10 @@ glabel func_8009F034
|
||||
/* 09FDA8 8009F1A8 3C018012 */ lui $at, %hi(D_8012718A) # $at, 0x8012
|
||||
/* 09FDAC 8009F1AC A022718A */ sb $v0, %lo(D_8012718A)($at)
|
||||
/* 09FDB0 8009F1B0 8E180000 */ lw $t8, ($s0)
|
||||
/* 09FDB4 8009F1B4 3C038012 */ lui $v1, %hi(D_8012718C) # $v1, 0x8012
|
||||
/* 09FDB8 8009F1B8 3C048012 */ lui $a0, %hi(D_80127190) # $a0, 0x8012
|
||||
/* 09FDBC 8009F1BC 24847190 */ addiu $a0, %lo(D_80127190) # addiu $a0, $a0, 0x7190
|
||||
/* 09FDC0 8009F1C0 2463718C */ addiu $v1, %lo(D_8012718C) # addiu $v1, $v1, 0x718c
|
||||
/* 09FDB4 8009F1B4 3C038012 */ lui $v1, %hi(gStopwatchErrorX) # $v1, 0x8012
|
||||
/* 09FDB8 8009F1B8 3C048012 */ lui $a0, %hi(gStopwatchErrorY) # $a0, 0x8012
|
||||
/* 09FDBC 8009F1BC 24847190 */ addiu $a0, %lo(gStopwatchErrorY) # addiu $a0, $a0, 0x7190
|
||||
/* 09FDC0 8009F1C0 2463718C */ addiu $v1, %lo(gStopwatchErrorX) # addiu $v1, $v1, 0x718c
|
||||
/* 09FDC4 8009F1C4 240E0037 */ li $t6, 55
|
||||
/* 09FDC8 8009F1C8 240F00B3 */ li $t7, 179
|
||||
/* 09FDCC 8009F1CC AC6E0000 */ sw $t6, ($v1)
|
||||
|
||||
@@ -942,16 +942,16 @@ glabel func_800A277C
|
||||
/* 0A40F8 800A34F8 00003025 */ move $a2, $zero
|
||||
/* 0A40FC 800A34FC 0C0310E1 */ jal set_text_colour
|
||||
/* 0A4100 800A3500 240700FF */ li $a3, 255
|
||||
/* 0A4104 800A3504 3C108012 */ lui $s0, %hi(D_8012718C) # $s0, 0x8012
|
||||
/* 0A4108 800A3508 3C118012 */ lui $s1, %hi(D_80126D24) # $s1, 0x8012
|
||||
/* 0A410C 800A350C 26316D24 */ addiu $s1, %lo(D_80126D24) # addiu $s1, $s1, 0x6d24
|
||||
/* 0A4110 800A3510 2610718C */ addiu $s0, %lo(D_8012718C) # addiu $s0, $s0, 0x718c
|
||||
/* 0A4104 800A3504 3C108012 */ lui $s0, %hi(gStopwatchErrorX) # $s0, 0x8012
|
||||
/* 0A4108 800A3508 3C118012 */ lui $s1, %hi(gHudOffsetX) # $s1, 0x8012
|
||||
/* 0A410C 800A350C 26316D24 */ addiu $s1, %lo(gHudOffsetX) # addiu $s1, $s1, 0x6d24
|
||||
/* 0A4110 800A3510 2610718C */ addiu $s0, %lo(gStopwatchErrorX) # addiu $s0, $s0, 0x718c
|
||||
/* 0A4114 800A3514 8E190000 */ lw $t9, ($s0)
|
||||
/* 0A4118 800A3518 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 0A411C 800A351C 3C0D8012 */ lui $t5, %hi(D_80126D28) # $t5, 0x8012
|
||||
/* 0A4120 800A3520 8DAD6D28 */ lw $t5, %lo(D_80126D28)($t5)
|
||||
/* 0A4124 800A3524 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012
|
||||
/* 0A4128 800A3528 8CC67190 */ lw $a2, %lo(D_80127190)($a2)
|
||||
/* 0A411C 800A351C 3C0D8012 */ lui $t5, %hi(gHudBounceX) # $t5, 0x8012
|
||||
/* 0A4120 800A3520 8DAD6D28 */ lw $t5, %lo(gHudBounceX)($t5)
|
||||
/* 0A4124 800A3524 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012
|
||||
/* 0A4128 800A3528 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2)
|
||||
/* 0A412C 800A352C 032B6021 */ addu $t4, $t9, $t3
|
||||
/* 0A4130 800A3530 8FA70060 */ lw $a3, 0x60($sp)
|
||||
/* 0A4134 800A3534 2418000C */ li $t8, 12
|
||||
@@ -963,10 +963,10 @@ glabel func_800A277C
|
||||
/* 0A414C 800A354C 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 0A4150 800A3550 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 0A4154 800A3554 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 0A4158 800A3558 3C198012 */ lui $t9, %hi(D_80126D28) # $t9, 0x8012
|
||||
/* 0A415C 800A355C 8F396D28 */ lw $t9, %lo(D_80126D28)($t9)
|
||||
/* 0A4160 800A3560 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012
|
||||
/* 0A4164 800A3564 8CC67190 */ lw $a2, %lo(D_80127190)($a2)
|
||||
/* 0A4158 800A3558 3C198012 */ lui $t9, %hi(gHudBounceX) # $t9, 0x8012
|
||||
/* 0A415C 800A355C 8F396D28 */ lw $t9, %lo(gHudBounceX)($t9)
|
||||
/* 0A4160 800A3560 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012
|
||||
/* 0A4164 800A3564 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2)
|
||||
/* 0A4168 800A3568 01EA7021 */ addu $t6, $t7, $t2
|
||||
/* 0A416C 800A356C 8FA7005C */ lw $a3, 0x5c($sp)
|
||||
/* 0A4170 800A3570 240B000C */ li $t3, 12
|
||||
@@ -978,10 +978,10 @@ glabel func_800A277C
|
||||
/* 0A4188 800A3588 24C6000F */ addiu $a2, $a2, 0xf
|
||||
/* 0A418C 800A358C 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 0A4190 800A3590 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 0A4194 800A3594 3C0F8012 */ lui $t7, %hi(D_80126D28) # $t7, 0x8012
|
||||
/* 0A4198 800A3598 8DEF6D28 */ lw $t7, %lo(D_80126D28)($t7)
|
||||
/* 0A419C 800A359C 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012
|
||||
/* 0A41A0 800A35A0 8CC67190 */ lw $a2, %lo(D_80127190)($a2)
|
||||
/* 0A4194 800A3594 3C0F8012 */ lui $t7, %hi(gHudBounceX) # $t7, 0x8012
|
||||
/* 0A4198 800A3598 8DEF6D28 */ lw $t7, %lo(gHudBounceX)($t7)
|
||||
/* 0A419C 800A359C 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012
|
||||
/* 0A41A0 800A35A0 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2)
|
||||
/* 0A41A4 800A35A4 018DC021 */ addu $t8, $t4, $t5
|
||||
/* 0A41A8 800A35A8 8FA70058 */ lw $a3, 0x58($sp)
|
||||
/* 0A41AC 800A35AC 240A000C */ li $t2, 12
|
||||
@@ -1002,10 +1002,10 @@ glabel func_800A277C
|
||||
/* 0A41E8 800A35E8 AFAE0010 */ sw $t6, 0x10($sp)
|
||||
/* 0A41EC 800A35EC 8E190000 */ lw $t9, ($s0)
|
||||
/* 0A41F0 800A35F0 8E2B0000 */ lw $t3, ($s1)
|
||||
/* 0A41F4 800A35F4 3C0D8012 */ lui $t5, %hi(D_80126D28) # $t5, 0x8012
|
||||
/* 0A41F8 800A35F8 8DAD6D28 */ lw $t5, %lo(D_80126D28)($t5)
|
||||
/* 0A41FC 800A35FC 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012
|
||||
/* 0A4200 800A3600 8CC67190 */ lw $a2, %lo(D_80127190)($a2)
|
||||
/* 0A41F4 800A35F4 3C0D8012 */ lui $t5, %hi(gHudBounceX) # $t5, 0x8012
|
||||
/* 0A41F8 800A35F8 8DAD6D28 */ lw $t5, %lo(gHudBounceX)($t5)
|
||||
/* 0A41FC 800A35FC 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012
|
||||
/* 0A4200 800A3600 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2)
|
||||
/* 0A4204 800A3604 8FA70060 */ lw $a3, 0x60($sp)
|
||||
/* 0A4208 800A3608 2418000C */ li $t8, 12
|
||||
/* 0A420C 800A360C 032B6021 */ addu $t4, $t9, $t3
|
||||
@@ -1015,10 +1015,10 @@ glabel func_800A277C
|
||||
/* 0A421C 800A361C 018D2821 */ addu $a1, $t4, $t5
|
||||
/* 0A4220 800A3620 8E0F0000 */ lw $t7, ($s0)
|
||||
/* 0A4224 800A3624 8E2A0000 */ lw $t2, ($s1)
|
||||
/* 0A4228 800A3628 3C198012 */ lui $t9, %hi(D_80126D28) # $t9, 0x8012
|
||||
/* 0A422C 800A362C 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012
|
||||
/* 0A4230 800A3630 8CC67190 */ lw $a2, %lo(D_80127190)($a2)
|
||||
/* 0A4234 800A3634 8F396D28 */ lw $t9, %lo(D_80126D28)($t9)
|
||||
/* 0A4228 800A3628 3C198012 */ lui $t9, %hi(gHudBounceX) # $t9, 0x8012
|
||||
/* 0A422C 800A362C 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012
|
||||
/* 0A4230 800A3630 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2)
|
||||
/* 0A4234 800A3634 8F396D28 */ lw $t9, %lo(gHudBounceX)($t9)
|
||||
/* 0A4238 800A3638 8FA7005C */ lw $a3, 0x5c($sp)
|
||||
/* 0A423C 800A363C 240B000C */ li $t3, 12
|
||||
/* 0A4240 800A3640 01EA7021 */ addu $t6, $t7, $t2
|
||||
@@ -1029,10 +1029,10 @@ glabel func_800A277C
|
||||
/* 0A4254 800A3654 01D92821 */ addu $a1, $t6, $t9
|
||||
/* 0A4258 800A3658 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 0A425C 800A365C 8E2D0000 */ lw $t5, ($s1)
|
||||
/* 0A4260 800A3660 3C0F8012 */ lui $t7, %hi(D_80126D28) # $t7, 0x8012
|
||||
/* 0A4264 800A3664 3C068012 */ lui $a2, %hi(D_80127190) # $a2, 0x8012
|
||||
/* 0A4268 800A3668 8CC67190 */ lw $a2, %lo(D_80127190)($a2)
|
||||
/* 0A426C 800A366C 8DEF6D28 */ lw $t7, %lo(D_80126D28)($t7)
|
||||
/* 0A4260 800A3660 3C0F8012 */ lui $t7, %hi(gHudBounceX) # $t7, 0x8012
|
||||
/* 0A4264 800A3664 3C068012 */ lui $a2, %hi(gStopwatchErrorY) # $a2, 0x8012
|
||||
/* 0A4268 800A3668 8CC67190 */ lw $a2, %lo(gStopwatchErrorY)($a2)
|
||||
/* 0A426C 800A366C 8DEF6D28 */ lw $t7, %lo(gHudBounceX)($t7)
|
||||
/* 0A4270 800A3670 8FA70058 */ lw $a3, 0x58($sp)
|
||||
/* 0A4274 800A3674 240A000C */ li $t2, 12
|
||||
/* 0A4278 800A3678 018DC021 */ addu $t8, $t4, $t5
|
||||
|
||||
@@ -24,15 +24,15 @@ glabel func_800AA600
|
||||
/* 0AB238 800AA638 00E08025 */ move $s0, $a3
|
||||
/* 0AB23C 800AA63C 15420007 */ bne $t2, $v0, .L800AA65C
|
||||
/* 0AB240 800AA640 AFB80038 */ sw $t8, 0x38($sp)
|
||||
/* 0AB244 800AA644 3C0B8012 */ lui $t3, %hi(D_80126CD0) # $t3, 0x8012
|
||||
/* 0AB248 800AA648 816B6CD0 */ lb $t3, %lo(D_80126CD0)($t3)
|
||||
/* 0AB244 800AA644 3C0B8012 */ lui $t3, %hi(gMinimapOpacity) # $t3, 0x8012
|
||||
/* 0AB248 800AA648 816B6CD0 */ lb $t3, %lo(gMinimapOpacity)($t3)
|
||||
/* 0AB24C 800AA64C 00000000 */ nop
|
||||
/* 0AB250 800AA650 000B6023 */ negu $t4, $t3
|
||||
/* 0AB254 800AA654 10000005 */ b .L800AA66C
|
||||
/* 0AB258 800AA658 AFAC00A4 */ sw $t4, 0xa4($sp)
|
||||
.L800AA65C:
|
||||
/* 0AB25C 800AA65C 3C0D8012 */ lui $t5, %hi(D_80126CD0) # $t5, 0x8012
|
||||
/* 0AB260 800AA660 81AD6CD0 */ lb $t5, %lo(D_80126CD0)($t5)
|
||||
/* 0AB25C 800AA65C 3C0D8012 */ lui $t5, %hi(gMinimapOpacity) # $t5, 0x8012
|
||||
/* 0AB260 800AA660 81AD6CD0 */ lb $t5, %lo(gMinimapOpacity)($t5)
|
||||
/* 0AB264 800AA664 00000000 */ nop
|
||||
/* 0AB268 800AA668 AFAD00A4 */ sw $t5, 0xa4($sp)
|
||||
.L800AA66C:
|
||||
@@ -145,7 +145,7 @@ glabel func_800AA600
|
||||
/* 0AB400 800AA800 340AC000 */ li $t2, 49152
|
||||
/* 0AB404 800AA804 2401000E */ li $at, 14
|
||||
/* 0AB408 800AA808 11010014 */ beq $t0, $at, .L800AA85C
|
||||
/* 0AB40C 800AA80C 3C0C8012 */ lui $t4, %hi(D_80126D24) # $t4, 0x8012
|
||||
/* 0AB40C 800AA80C 3C0C8012 */ lui $t4, %hi(gHudOffsetX) # $t4, 0x8012
|
||||
/* 0AB410 800AA810 2401001B */ li $at, 27
|
||||
/* 0AB414 800AA814 11010011 */ beq $t0, $at, .L800AA85C
|
||||
/* 0AB418 800AA818 2901002F */ slti $at, $t0, 0x2f
|
||||
@@ -155,8 +155,8 @@ glabel func_800AA600
|
||||
.L800AA828:
|
||||
/* 0AB428 800AA828 2401002E */ li $at, 46
|
||||
/* 0AB42C 800AA82C 1101000B */ beq $t0, $at, .L800AA85C
|
||||
/* 0AB430 800AA830 3C188012 */ lui $t8, %hi(D_80126CD3) # $t8, 0x8012
|
||||
/* 0AB434 800AA834 83186CD3 */ lb $t8, %lo(D_80126CD3)($t8)
|
||||
/* 0AB430 800AA830 3C188012 */ lui $t8, %hi(gMinimapXlu) # $t8, 0x8012
|
||||
/* 0AB434 800AA834 83186CD3 */ lb $t8, %lo(gMinimapXlu)($t8)
|
||||
/* 0AB438 800AA838 8FAD00A4 */ lw $t5, 0xa4($sp)
|
||||
/* 0AB43C 800AA83C 330B0001 */ andi $t3, $t8, 1
|
||||
/* 0AB440 800AA840 11600006 */ beqz $t3, .L800AA85C
|
||||
@@ -167,9 +167,9 @@ glabel func_800AA600
|
||||
/* 0AB454 800AA854 46082280 */ add.s $f10, $f4, $f8
|
||||
/* 0AB458 800AA858 E60A0010 */ swc1 $f10, 0x10($s0)
|
||||
.L800AA85C:
|
||||
/* 0AB45C 800AA85C 3C0E8012 */ lui $t6, %hi(D_80126D28) # $t6, 0x8012
|
||||
/* 0AB460 800AA860 8DCE6D28 */ lw $t6, %lo(D_80126D28)($t6)
|
||||
/* 0AB464 800AA864 8D8C6D24 */ lw $t4, %lo(D_80126D24)($t4)
|
||||
/* 0AB45C 800AA85C 3C0E8012 */ lui $t6, %hi(gHudBounceX) # $t6, 0x8012
|
||||
/* 0AB460 800AA860 8DCE6D28 */ lw $t6, %lo(gHudBounceX)($t6)
|
||||
/* 0AB464 800AA864 8D8C6D24 */ lw $t4, %lo(gHudOffsetX)($t4)
|
||||
/* 0AB468 800AA868 C606000C */ lwc1 $f6, 0xc($s0)
|
||||
/* 0AB46C 800AA86C 018E7821 */ addu $t7, $t4, $t6
|
||||
/* 0AB470 800AA870 448F8000 */ mtc1 $t7, $f16
|
||||
@@ -195,7 +195,7 @@ glabel func_800AA600
|
||||
/* 0AB4BC 800AA8BC 8C840300 */ lw $a0, %lo(osTvType)($a0)
|
||||
/* 0AB4C0 800AA8C0 3C014100 */ li $at, 0x41000000 # 8.000000
|
||||
/* 0AB4C4 800AA8C4 14800009 */ bnez $a0, .L800AA8EC
|
||||
/* 0AB4C8 800AA8C8 3C0C8012 */ lui $t4, %hi(D_80126CD3) # $t4, 0x8012
|
||||
/* 0AB4C8 800AA8C8 3C0C8012 */ lui $t4, %hi(gMinimapXlu) # $t4, 0x8012
|
||||
/* 0AB4CC 800AA8CC C6080010 */ lwc1 $f8, 0x10($s0)
|
||||
/* 0AB4D0 800AA8D0 44815000 */ mtc1 $at, $f10
|
||||
/* 0AB4D4 800AA8D4 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000
|
||||
@@ -205,16 +205,16 @@ glabel func_800AA600
|
||||
/* 0AB4E4 800AA8E4 8C840300 */ lw $a0, %lo(osTvType)($a0)
|
||||
/* 0AB4E8 800AA8E8 00000000 */ nop
|
||||
.L800AA8EC:
|
||||
/* 0AB4EC 800AA8EC 818C6CD3 */ lb $t4, %lo(D_80126CD3)($t4)
|
||||
/* 0AB4EC 800AA8EC 818C6CD3 */ lb $t4, %lo(gMinimapXlu)($t4)
|
||||
/* 0AB4F0 800AA8F0 3C01437F */ li $at, 0x437F0000 # 255.000000
|
||||
/* 0AB4F4 800AA8F4 318E0002 */ andi $t6, $t4, 2
|
||||
/* 0AB4F8 800AA8F8 11C0001E */ beqz $t6, .L800AA974
|
||||
/* 0AB4FC 800AA8FC 240300FF */ li $v1, 255
|
||||
/* 0AB500 800AA900 3C0F8012 */ lui $t7, %hi(D_80126CD0) # $t7, 0x8012
|
||||
/* 0AB504 800AA904 81EF6CD0 */ lb $t7, %lo(D_80126CD0)($t7)
|
||||
/* 0AB500 800AA900 3C0F8012 */ lui $t7, %hi(gMinimapOpacity) # $t7, 0x8012
|
||||
/* 0AB504 800AA904 81EF6CD0 */ lb $t7, %lo(gMinimapOpacity)($t7)
|
||||
/* 0AB508 800AA908 3C198012 */ lui $t9, %hi(D_80126CD5) # $t9, 0x8012
|
||||
/* 0AB50C 800AA90C 448F3000 */ mtc1 $t7, $f6
|
||||
/* 0AB510 800AA910 9339718B */ lbu $t9, %lo(D_8012718B)($t9)
|
||||
/* 0AB510 800AA910 9339718B */ lbu $t9, %lo(gMinimapOpacityTarget)($t9)
|
||||
/* 0AB514 800AA914 468034A0 */ cvt.s.w $f18, $f6
|
||||
/* 0AB518 800AA918 44810000 */ mtc1 $at, $f0
|
||||
/* 0AB51C 800AA91C 44994000 */ mtc1 $t9, $f8
|
||||
@@ -618,7 +618,7 @@ glabel func_800AA600
|
||||
/* 0ABB0C 800AAF0C 3C0B8012 */ lui $t3, %hi(gHUDCurrDisplayList) # $t3, 0x8012
|
||||
/* 0ABB10 800AAF10 2401000E */ li $at, 14
|
||||
/* 0ABB14 800AAF14 11010014 */ beq $t0, $at, .L800AAF68
|
||||
/* 0ABB18 800AAF18 3C198012 */ lui $t9, %hi(D_80126D24) # $t9, 0x8012
|
||||
/* 0ABB18 800AAF18 3C198012 */ lui $t9, %hi(gHudOffsetX) # $t9, 0x8012
|
||||
/* 0ABB1C 800AAF1C 2401001B */ li $at, 27
|
||||
/* 0ABB20 800AAF20 11010011 */ beq $t0, $at, .L800AAF68
|
||||
/* 0ABB24 800AAF24 2901002F */ slti $at, $t0, 0x2f
|
||||
@@ -628,8 +628,8 @@ glabel func_800AA600
|
||||
.L800AAF34:
|
||||
/* 0ABB34 800AAF34 2401002E */ li $at, 46
|
||||
/* 0ABB38 800AAF38 1101000B */ beq $t0, $at, .L800AAF68
|
||||
/* 0ABB3C 800AAF3C 3C0D8012 */ lui $t5, %hi(D_80126CD3) # $t5, 0x8012
|
||||
/* 0ABB40 800AAF40 81AD6CD3 */ lb $t5, %lo(D_80126CD3)($t5)
|
||||
/* 0ABB3C 800AAF3C 3C0D8012 */ lui $t5, %hi(gMinimapXlu) # $t5, 0x8012
|
||||
/* 0ABB40 800AAF40 81AD6CD3 */ lb $t5, %lo(gMinimapXlu)($t5)
|
||||
/* 0ABB44 800AAF44 8FAE00A4 */ lw $t6, 0xa4($sp)
|
||||
/* 0ABB48 800AAF48 31AC0001 */ andi $t4, $t5, 1
|
||||
/* 0ABB4C 800AAF4C 11800006 */ beqz $t4, .L800AAF68
|
||||
@@ -640,9 +640,9 @@ glabel func_800AA600
|
||||
/* 0ABB60 800AAF60 460A4101 */ sub.s $f4, $f8, $f10
|
||||
/* 0ABB64 800AAF64 E6040010 */ swc1 $f4, 0x10($s0)
|
||||
.L800AAF68:
|
||||
/* 0ABB68 800AAF68 3C0F8012 */ lui $t7, %hi(D_80126D28) # $t7, 0x8012
|
||||
/* 0ABB6C 800AAF6C 8DEF6D28 */ lw $t7, %lo(D_80126D28)($t7)
|
||||
/* 0ABB70 800AAF70 8F396D24 */ lw $t9, %lo(D_80126D24)($t9)
|
||||
/* 0ABB68 800AAF68 3C0F8012 */ lui $t7, %hi(gHudBounceX) # $t7, 0x8012
|
||||
/* 0ABB6C 800AAF6C 8DEF6D28 */ lw $t7, %lo(gHudBounceX)($t7)
|
||||
/* 0ABB70 800AAF70 8F396D24 */ lw $t9, %lo(gHudOffsetX)($t9)
|
||||
/* 0ABB74 800AAF74 C610000C */ lwc1 $f16, 0xc($s0)
|
||||
/* 0ABB78 800AAF78 032FC021 */ addu $t8, $t9, $t7
|
||||
/* 0ABB7C 800AAF7C 44983000 */ mtc1 $t8, $f6
|
||||
|
||||
@@ -16,7 +16,7 @@ glabel func_80010994
|
||||
/* 0115CC 800109CC 3C018012 */ lui $at, %hi(gEventStartTimer) # $at, 0x8012
|
||||
/* 0115D0 800109D0 1840000D */ blez $v0, .L80010A08
|
||||
/* 0115D4 800109D4 AC22ADB8 */ sw $v0, %lo(gEventStartTimer)($at)
|
||||
/* 0115D8 800109D8 0C028064 */ jal func_800A0190
|
||||
/* 0115D8 800109D8 0C028064 */ jal race_starting
|
||||
/* 0115DC 800109DC 00000000 */ nop
|
||||
/* 0115E0 800109E0 10400009 */ beqz $v0, .L80010A08
|
||||
/* 0115E4 800109E4 3C038012 */ lui $v1, %hi(D_8011ADBC) # $v1, 0x8012
|
||||
|
||||
@@ -90,7 +90,7 @@ typedef struct LevelObjectEntry_AudioLine {
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x0A */ u16 soundID;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0C */ u8 lineID;
|
||||
/* 0x0D */ u8 unkD;
|
||||
/* 0x0E */ u16 unkE;
|
||||
/* 0x10 */ u8 unk10;
|
||||
@@ -214,7 +214,7 @@ typedef struct LevelObjectEntry_SkyControl {
|
||||
typedef struct LevelObjectEntry_AudioReverb {
|
||||
/* 0x00 */ LevelObjectEntryCommon common;
|
||||
/* 0x08 */ u8 unk8;
|
||||
/* 0x09 */ u8 unk9;
|
||||
/* 0x09 */ u8 lineID;
|
||||
/* 0x0A */ u8 unkA;
|
||||
} LevelObjectEntry_AudioReverb;
|
||||
|
||||
|
||||
+3
-3
@@ -1129,7 +1129,7 @@ typedef struct Object_AudioLine {
|
||||
} unk_struct;
|
||||
s32 unk8_word;
|
||||
} unk_union;
|
||||
/* 0x0C */ u8 unkC;
|
||||
/* 0x0C */ u8 lineID;
|
||||
/* 0x0D */ u8 unkD;
|
||||
/* 0x0E */ u8 unkE;
|
||||
/* 0x0F */ u8 unkF;
|
||||
@@ -1141,7 +1141,7 @@ typedef struct Object_AudioLine {
|
||||
typedef struct Object_AudioReverb {
|
||||
/* 0x0 */ u16 pad0;
|
||||
/* 0x2 */ s16 unk2;
|
||||
/* 0x4 */ u8 unk4;
|
||||
/* 0x4 */ u8 lineID;
|
||||
/* 0x5 */ u8 unk5;
|
||||
} Object_AudioReverb;
|
||||
|
||||
@@ -1216,7 +1216,7 @@ typedef struct Object_Racer {
|
||||
/* 0x02A */ u16 unk2A;
|
||||
/* 0x02C */ f32 velocity;
|
||||
/* 0x030 */ f32 lateral_velocity;
|
||||
/* 0x034 */ s32 unk34; // I think this is the engine pitch for the hovercraft and plane, but I cannot yet confirm.
|
||||
/* 0x034 */ f32 unk34; // Vehicle pitch.
|
||||
/* 0x038 */ f32 ox1;
|
||||
/* 0x03C */ f32 oy1;
|
||||
/* 0x040 */ f32 oz1;
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
|
||||
#include "asset_loading.h"
|
||||
|
||||
//#include "assets.h"
|
||||
// #include "assets.h"
|
||||
#include "macros.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
|
||||
+36
-28
@@ -45,6 +45,7 @@ extern unk8011A6D8 D_8011A6D8[];
|
||||
/*******************************/
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
// audioline_init
|
||||
void func_80008040(void) {
|
||||
s32 var_v0;
|
||||
|
||||
@@ -81,6 +82,7 @@ void func_80008168(void) {
|
||||
extern f32 D_80119C60[672];
|
||||
extern f32 D_8011A6E0[336]; //[7][48];
|
||||
extern unk8011A6D8 **D_8011A6DC;
|
||||
// audioline_reset
|
||||
void func_80008174(void) {
|
||||
s32 i;
|
||||
s32 j;
|
||||
@@ -99,7 +101,7 @@ void func_80008174(void) {
|
||||
gUsedMasks = 0;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(D_80119C60); i++) {
|
||||
D_80119C58[i].unk16C = 0;
|
||||
D_80119C58[i].soundID = 0;
|
||||
if (D_80119C58[i].unk178 != 0) {
|
||||
if (D_80119C58[i].unk0.unk0_02 == 0) {
|
||||
func_8000488C(D_80119C58[i].unk178);
|
||||
@@ -130,6 +132,7 @@ void func_80008174(void) {
|
||||
GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80008174.s")
|
||||
#endif
|
||||
|
||||
// audioline_ambient
|
||||
GLOBAL_ASM("asm/non_matchings/audio_spatial/func_80008438.s")
|
||||
|
||||
s32 func_800090C0(f32 arg0, f32 arg1, s32 arg2) {
|
||||
@@ -159,13 +162,17 @@ s32 func_800090C0(f32 arg0, f32 arg1, s32 arg2) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
// Best I can figure, this measures the distance between XYZ values.
|
||||
s32 func_800092A8(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX, f32 *outY, f32 *outZ) {
|
||||
/**
|
||||
* Calculates the position between two points, then the distance from the nearest point.
|
||||
* Write the adjusted positions to the arguments.
|
||||
* Returns the distance between the input and the nearest endpoint.
|
||||
*/
|
||||
s32 audioline_distance(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX, f32 *outY, f32 *outZ) {
|
||||
f32 dx, dy, dz;
|
||||
f32 x1, y1, z1;
|
||||
f32 x2, y2, z2;
|
||||
|
||||
f32 temp;
|
||||
f32 mag;
|
||||
f32 ret;
|
||||
|
||||
x1 = floatXYZ->x1;
|
||||
@@ -174,19 +181,19 @@ s32 func_800092A8(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX,
|
||||
x2 = floatXYZ->x2;
|
||||
y2 = floatXYZ->y2;
|
||||
z2 = floatXYZ->z2;
|
||||
temp = 0.0f;
|
||||
mag = 0.0f;
|
||||
|
||||
dx = x2 - x1;
|
||||
dy = y2 - y1;
|
||||
dz = z2 - z1;
|
||||
|
||||
if (dx == 0.0 && dy == 0.0 && dz == 0.0) {
|
||||
temp = 0.0f;
|
||||
mag = 0.0f;
|
||||
} else {
|
||||
temp = ((inX - x1) * dx + (inY - y1) * dy + (inZ - z1) * dz) / (dx * dx + dy * dy + dz * dz);
|
||||
mag = ((inX - x1) * dx + (inY - y1) * dy + (inZ - z1) * dz) / (dx * dx + dy * dy + dz * dz);
|
||||
}
|
||||
|
||||
if (temp < 0.0f) {
|
||||
if (mag < 0.0f) {
|
||||
*outX = x1;
|
||||
*outY = y1;
|
||||
*outZ = z1;
|
||||
@@ -194,7 +201,7 @@ s32 func_800092A8(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX,
|
||||
dy = y1 - inY;
|
||||
dz = z1 - inZ;
|
||||
ret = sqrtf(dx * dx + dy * dy + dz * dz);
|
||||
} else if (temp > 1.0f) {
|
||||
} else if (mag > 1.0f) {
|
||||
*outX = x2;
|
||||
*outY = y2;
|
||||
*outZ = z2;
|
||||
@@ -203,8 +210,8 @@ s32 func_800092A8(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX,
|
||||
dz = z2 - inZ;
|
||||
ret = sqrtf(dx * dx + dy * dy + dz * dz);
|
||||
} else {
|
||||
*outX = temp * dx + x1, // Comma required here as this was likely all one line.
|
||||
*outY = temp * dy + y1, *outZ = temp * dz + z1;
|
||||
*outX = mag * dx + x1, // Comma required here as this was likely all one line.
|
||||
*outY = mag * dy + y1, *outZ = mag * dz + z1;
|
||||
|
||||
ret = sqrtf((*outX - inX) * (*outX - inX) + (*outY - inY) * (*outY - inY) + (*outZ - inZ) * (*outZ - inZ));
|
||||
}
|
||||
@@ -275,35 +282,36 @@ void func_8000974C(u16 soundBite, f32 x, f32 y, f32 z, u8 arg4, u8 arg5, u8 volu
|
||||
}
|
||||
}
|
||||
|
||||
void func_800098A4(u8 arg0, u16 soundId, f32 x, f32 y, f32 z, u8 arg5, u8 arg6, u8 arg7, u8 arg8, u16 arg9, u8 argA,
|
||||
u8 argB, u8 argC) {
|
||||
void audioline_ambient_create(u8 arg0, u16 soundId, f32 x, f32 y, f32 z, u8 arg5, u8 arg6, u8 arg7, u8 arg8, u16 arg9,
|
||||
u8 argA, u8 lineID, u8 argC) {
|
||||
Vec3f *temp_a0;
|
||||
unk80119C58 *temp_v1;
|
||||
|
||||
if ((argB < 7) && (argC < 30)) {
|
||||
temp_v1 = &D_80119C58[argB];
|
||||
if ((lineID < 7) && (argC < 30)) {
|
||||
temp_v1 = &D_80119C58[lineID];
|
||||
temp_a0 = (Vec3f *) (((u32 *) &temp_v1->unk4) + argC * 3); // This can't be right...
|
||||
temp_a0->x = x;
|
||||
temp_a0->y = y;
|
||||
temp_a0->z = z;
|
||||
if (argC == 0) {
|
||||
(&D_80119C58[argB])->unk16C = soundId;
|
||||
(&D_80119C58[argB])->unk0.unk0_02 = arg0;
|
||||
(&D_80119C58[argB])->unk170 = arg9;
|
||||
(&D_80119C58[argB])->unk17D = argA;
|
||||
(&D_80119C58[argB])->unk174 = arg6;
|
||||
(&D_80119C58[argB])->unk175 = arg5;
|
||||
(&D_80119C58[argB])->unk176 = arg7;
|
||||
(&D_80119C58[argB])->unk17E = arg8;
|
||||
(&D_80119C58[lineID])->soundID = soundId;
|
||||
(&D_80119C58[lineID])->unk0.unk0_02 = arg0;
|
||||
(&D_80119C58[lineID])->unk170 = arg9;
|
||||
(&D_80119C58[lineID])->unk17D = argA;
|
||||
(&D_80119C58[lineID])->unk174 = arg6;
|
||||
(&D_80119C58[lineID])->unk175 = arg5;
|
||||
(&D_80119C58[lineID])->unk176 = arg7;
|
||||
(&D_80119C58[lineID])->unk17E = arg8;
|
||||
}
|
||||
if ((&D_80119C58[argB])->unk17C < argC) {
|
||||
(&D_80119C58[argB])->unk17C = argC;
|
||||
if ((&D_80119C58[lineID])->unk17C < argC) {
|
||||
(&D_80119C58[lineID])->unk17C = argC;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// single regalloc diff
|
||||
// audioline_reverb_create
|
||||
void func_80009968(f32 x, f32 y, f32 z, u8 arg3, u8 arg4, u8 arg5) {
|
||||
Vec3f *temp_a1;
|
||||
s32 tempArg5 = arg5;
|
||||
@@ -375,7 +383,7 @@ s32 func_80009AB4(u8 arg0) {
|
||||
|
||||
#ifdef NON_EQUIVALENT
|
||||
u8 func_80009D6C(unk8011A6D8 *, f32, f32, f32);
|
||||
|
||||
// audioline_reverb
|
||||
void func_80009B7C(s32 *soundState, f32 x, f32 y, f32 z) {
|
||||
s32 j;
|
||||
f32 outX;
|
||||
@@ -398,7 +406,7 @@ void func_80009B7C(s32 *soundState, f32 x, f32 y, f32 z) {
|
||||
if (D_8011A6D8[i].unk0.unk0_02 != 0) {
|
||||
if (func_80009AB4(i) != 0) {
|
||||
for (j = 0; j < D_8011A6D8[i].unkB8; j++) {
|
||||
distBetween = func_800092A8(x, y, z, &D_8011A6D8[i].unk4.unk4_02[j], &outX, &outY, &outZ);
|
||||
distBetween = audioline_distance(x, y, z, &D_8011A6D8[i].unk4.unk4_02[j], &outX, &outY, &outZ);
|
||||
if (distBetween < var_s6) {
|
||||
numOfYVals = func_8002BAB0(levelSegmentIndex, x, z, yVals);
|
||||
for (k = 0; k < numOfYVals; k++) {
|
||||
@@ -433,7 +441,7 @@ void func_8000A184(Gfx **arg0, Vertex **arg1, Triangle **arg2) {
|
||||
s32 i, j;
|
||||
|
||||
for (i = 0; i < 7; i++) {
|
||||
if (D_80119C58[i].unk16C != 0) {
|
||||
if (D_80119C58[i].soundID != 0) {
|
||||
for (j = 0; j < D_80119C58[i].unk17C; j++) {
|
||||
debug_render_line(arg0, arg1, arg2, (floatXYZVals *) &D_80119C5C[i], 0xFF, 0xFF, 0);
|
||||
}
|
||||
|
||||
+3
-3
@@ -59,15 +59,15 @@ void play_sound_at_position(u16 soundId, f32 x, f32 y, f32 z, u8 arg4, SoundMask
|
||||
void func_8000A2E8(s32 arg0);
|
||||
s32 func_800090C0(f32, f32, s32);
|
||||
void func_800095E8(u16 soundId, f32 x, f32 y, f32 z, u8 arg4, u8 arg5, f32 arg6, SoundMask **soundMask);
|
||||
void func_800098A4(u8 arg0, u16 soundId, f32 x, f32 y, f32 z, u8 arg5, u8 arg6,
|
||||
u8 arg7, u8 arg8, u16 arg9, u8 argA, u8 argB, u8 argC);
|
||||
void audioline_ambient_create(u8 arg0, u16 soundId, f32 x, f32 y, f32 z, u8 arg5, u8 arg6, u8 arg7, u8 arg8, u16 arg9,
|
||||
u8 argA, u8 lineID, u8 argC);
|
||||
s32 func_800099EC(u8 arg0);
|
||||
void debug_render_line(Gfx **dlist, Vertex **verts, Triangle **tris, floatXYZVals *coords, u8 red, u8 green, u8 blue);
|
||||
void func_80006BFC(Object *obj, ObjectSegment *segment, Object *obj2, s32 updateRate);
|
||||
void update_spatial_audio_position(SoundMask *arg0, f32 x, f32 y, f32 z);
|
||||
s32 func_80009AB4(u8 arg0);
|
||||
|
||||
s32 func_800092A8(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX, f32 *outY, f32 *outZ);
|
||||
s32 audioline_distance(f32 inX, f32 inY, f32 inZ, floatXYZVals *floatXYZ, f32 *outX, f32 *outY, f32 *outZ);
|
||||
void func_80009968(f32, f32, f32, u8, u8, u8); // Non Matching
|
||||
void func_80008174(void); // Non Matching
|
||||
void func_80008040(void); // Non Matching
|
||||
|
||||
+2
-2
@@ -416,7 +416,7 @@ void racer_sound_hovercraft(Object *obj, UNUSED u32 buttonsPressed, u32 buttonsH
|
||||
} else {
|
||||
var_f18 = 0.0f;
|
||||
}
|
||||
if (func_800A0190() == FALSE) {
|
||||
if (race_starting() == FALSE) {
|
||||
gRacerSound->throttlePitch = 0.0f;
|
||||
}
|
||||
if (velocity > 10.0) {
|
||||
@@ -521,7 +521,7 @@ void func_800063EC(Object *obj, UNUSED u32 buttonsPressed, u32 buttonsHeld, s32
|
||||
if (gRacerSound->throttlePitch < 0) {
|
||||
gRacerSound->throttlePitch = 0;
|
||||
}
|
||||
if (func_800A0190() == 0) {
|
||||
if (race_starting() == 0) {
|
||||
gRacerSound->throttlePitch = 0.0f;
|
||||
}
|
||||
var_f14 += gRacerSound->throttlePitch;
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ typedef struct unk80119C58 {
|
||||
} unk0;
|
||||
/* 0x004 */ Vec3f *unk4;
|
||||
/* 0x008 */ u8 pad9[0x164];
|
||||
/* 0x16C */ s32 unk16C;
|
||||
/* 0x16C */ s32 soundID;
|
||||
/* 0x170 */ s32 unk170;
|
||||
/* 0x174 */ u8 unk174;
|
||||
/* 0x175 */ u8 unk175;
|
||||
|
||||
@@ -220,6 +220,9 @@ UNUSED TextureHeader *get_loaded_font(s32 font, u8 index) {
|
||||
}
|
||||
}
|
||||
//!@bug: No return statement. The function will return whatever happens to be in v0 before this function was called.
|
||||
#ifdef AVOID_UB
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+790
-761
File diff suppressed because it is too large
Load Diff
+178
-358
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -8886,7 +8886,7 @@ void render_track_select_setup_ui(UNUSED s32 updateRate) {
|
||||
sMenuGuiOpacity = 0;
|
||||
}
|
||||
availableVehicleFlags = get_map_available_vehicles(gTrackIdForPreview);
|
||||
i = get_level_name(gTrackIdForPreview);
|
||||
i = (s32) get_level_name(gTrackIdForPreview);
|
||||
set_text_font(ASSET_FONTS_BIGFONT);
|
||||
set_text_colour(192, 192, 255, 0, sMenuGuiOpacity);
|
||||
set_text_background_colour(0, 0, 0, 0);
|
||||
|
||||
+57
-49
@@ -262,8 +262,9 @@ void obj_loop_fireball_octoweapon(Object *obj, s32 updateRate) {
|
||||
if (obj->behaviorId == BHV_FIREBALL_OCTOWEAPON) {
|
||||
racer->attackType = ATTACK_EXPLOSION;
|
||||
obj->properties.fireball.timer = 20;
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position,
|
||||
obj->segment.trans.z_position, 44, SOUND_EXPLOSION, 1.0f, 1);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f,
|
||||
1);
|
||||
free_object(obj);
|
||||
} else if (obj->properties.fireball.timer > 0) {
|
||||
racer->bubbleTrapTimer = 60;
|
||||
@@ -282,8 +283,8 @@ void obj_loop_fireball_octoweapon(Object *obj, s32 updateRate) {
|
||||
if (obj->properties.fireball.timer < 0) {
|
||||
if (obj->unk4A == 298) {
|
||||
free_object(obj);
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f, 1);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f, 1);
|
||||
}
|
||||
obj->segment.trans.scale *= 0.9; //!@Delta
|
||||
if (obj->segment.trans.scale < 0.5) {
|
||||
@@ -457,8 +458,8 @@ void obj_loop_laserbolt(Object *obj, s32 updateRate) {
|
||||
move_object(obj, obj->segment.x_velocity * updateRateF, obj->segment.y_velocity * updateRateF,
|
||||
obj->segment.z_velocity * updateRateF);
|
||||
if (hasCollision) {
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position - 36.0f,
|
||||
obj->segment.trans.z_position, 44, SOUND_NONE, 0.2, 0);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position - 36.0f,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_NONE, 0.2, 0);
|
||||
delete = TRUE;
|
||||
}
|
||||
|
||||
@@ -481,8 +482,8 @@ void obj_loop_laserbolt(Object *obj, s32 updateRate) {
|
||||
laserGun->fireTimer = 180;
|
||||
}
|
||||
delete = TRUE;
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position - 36.0f,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 0.5, 0);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position - 36.0f,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 0.5, 0);
|
||||
}
|
||||
}
|
||||
if (delete) {
|
||||
@@ -673,8 +674,8 @@ void obj_loop_trophycab(Object *obj, s32 updateRate) {
|
||||
gfxData->unk4 = 0;
|
||||
}
|
||||
if (obj->properties.trophyCabinet.action == 1) {
|
||||
func_800AB1AC(3);
|
||||
set_hud_visibility(0);
|
||||
minimap_opacity_set(3);
|
||||
hud_visibility(0);
|
||||
dialogueID = npc_dialogue_loop(DIALOGUE_TROPHY);
|
||||
if (dialogueID) {
|
||||
obj->properties.trophyCabinet.action = 0;
|
||||
@@ -683,7 +684,7 @@ void obj_loop_trophycab(Object *obj, s32 updateRate) {
|
||||
begin_trophy_race_teleport();
|
||||
obj->properties.trophyCabinet.action = 2;
|
||||
} else {
|
||||
set_hud_visibility(1);
|
||||
hud_visibility(1);
|
||||
}
|
||||
}
|
||||
disable_racer_input();
|
||||
@@ -1250,7 +1251,7 @@ void obj_loop_stopwatchman(Object *obj, s32 updateRate) {
|
||||
}
|
||||
if (obj->properties.npc.action != TT_MODE_ROAM) {
|
||||
disable_racer_input();
|
||||
func_800AB194(3);
|
||||
minimap_fade(3);
|
||||
}
|
||||
if (obj->properties.npc.action >= TT_MODE_TURN_TOWARDS_PLAYER) {
|
||||
index = npc_dialogue_loop(DIALOGUE_TT);
|
||||
@@ -2270,8 +2271,8 @@ void obj_loop_bombexplosion(Object *obj, s32 updateRate) {
|
||||
temp_t8 = (obj->properties.bombExplosion.unk4 >> 8) & 0xFF;
|
||||
if (obj->properties.bombExplosion.timer > 10 && temp_t8 != 0) {
|
||||
obj->properties.bombExplosion.unk4 ^= (temp_t8 << 8);
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position,
|
||||
BHV_LENS_FLARE_SWITCH, SOUND_NONE, 1.0f, temp_t8 - 1);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position,
|
||||
BHV_LENS_FLARE_SWITCH, SOUND_NONE, 1.0f, temp_t8 - 1);
|
||||
}
|
||||
if (obj->properties.bombExplosion.timer < 20) {
|
||||
obj->segment.trans.scale = ((obj->properties.bombExplosion.timer / 20.0f) * 10.0f) + 0.5f;
|
||||
@@ -2600,7 +2601,7 @@ void obj_loop_parkwarden(Object *obj, s32 updateRate) {
|
||||
obj->properties.npc.action == TAJ_MODE_TELEPORT_AWAY_BEGIN ||
|
||||
obj->properties.npc.action == TAJ_MODE_TELEPORT_AWAY_END)) {
|
||||
disable_racer_input();
|
||||
func_800AB194(3);
|
||||
minimap_fade(3);
|
||||
}
|
||||
|
||||
switch (obj->properties.npc.action) {
|
||||
@@ -3084,8 +3085,8 @@ void obj_loop_parkwarden(Object *obj, s32 updateRate) {
|
||||
gNPCPosY = obj->segment.trans.y_position;
|
||||
}
|
||||
if (sp6B != 0) {
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position,
|
||||
BHV_DINO_WHALE, SOUND_NONE, 1.0f, 0);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position,
|
||||
BHV_DINO_WHALE, SOUND_NONE, 1.0f, 0);
|
||||
}
|
||||
obj->segment.animFrame = taj->animFrameF * 1.0;
|
||||
func_80061C0C(obj);
|
||||
@@ -4200,8 +4201,8 @@ void obj_loop_bananacreator(Object *obj, s32 updateRate) {
|
||||
newBananaObj->segment.level_entry = NULL;
|
||||
newBananaObj64 = &newBananaObj->unk64->banana;
|
||||
newBananaObj64->spawner = obj;
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position - 14.0f,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_SELECT, 0.25f, 0);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position - 14.0f,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_SELECT, 0.25f, 0);
|
||||
obj->properties.bananaSpawner.spawn = FALSE;
|
||||
}
|
||||
obj->properties.bananaSpawner.timer = TIME_SECONDS(20); // Set delay to respawn banana to 20 seconds.
|
||||
@@ -4841,8 +4842,8 @@ void handle_rocket_projectile(Object *obj, s32 updateRate) {
|
||||
func_80072348(racer->playerIndex, 9);
|
||||
}
|
||||
}
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position,
|
||||
BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f, 1);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position,
|
||||
obj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f, 1);
|
||||
free_object(obj);
|
||||
return;
|
||||
}
|
||||
@@ -4861,8 +4862,8 @@ block_37:
|
||||
}
|
||||
obj->properties.projectile.timer -= updateRate;
|
||||
if (obj->properties.projectile.timer < 0) {
|
||||
func_8003FC44(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position,
|
||||
BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f, 1);
|
||||
obj_spawn_effect(obj->segment.trans.x_position, obj->segment.trans.y_position, obj->segment.trans.z_position,
|
||||
BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f, 1);
|
||||
free_object(obj);
|
||||
return;
|
||||
}
|
||||
@@ -5187,8 +5188,9 @@ void func_8003F2E8(Object *weaponObj, s32 updateRate) {
|
||||
weaponHit = &weaponInteractObj->unk64->racer;
|
||||
weaponHit->attackType = ATTACK_EXPLOSION;
|
||||
if (weapon->weaponID == WEAPON_TRIPMINE) {
|
||||
func_8003FC44(weaponObj->segment.trans.x_position, weaponObj->segment.trans.y_position,
|
||||
weaponObj->segment.trans.z_position, 44, SOUND_EXPLOSION, 1.0f, 1);
|
||||
obj_spawn_effect(weaponObj->segment.trans.x_position, weaponObj->segment.trans.y_position,
|
||||
weaponObj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH,
|
||||
SOUND_EXPLOSION, 1.0f, 1);
|
||||
} else if (weapon->weaponID == WEAPON_BUBBLE_TRAP) {
|
||||
if (weaponHit->shieldTimer > 0 && weaponHit->shieldType >= SHIELD_LEVEL3) {
|
||||
weaponProperties->unk4 = 3;
|
||||
@@ -5237,8 +5239,9 @@ void func_8003F2E8(Object *weaponObj, s32 updateRate) {
|
||||
weaponObj->segment.trans.y_position, weaponObj->segment.trans.z_position, 4,
|
||||
NULL);
|
||||
} else {
|
||||
func_8003FC44(weaponObj->segment.trans.x_position, weaponObj->segment.trans.y_position,
|
||||
weaponObj->segment.trans.z_position, 44, SOUND_EXPLOSION, 1.0f, 1);
|
||||
obj_spawn_effect(weaponObj->segment.trans.x_position, weaponObj->segment.trans.y_position,
|
||||
weaponObj->segment.trans.z_position, BHV_LENS_FLARE_SWITCH, SOUND_EXPLOSION, 1.0f,
|
||||
1);
|
||||
free_object(weaponObj);
|
||||
}
|
||||
}
|
||||
@@ -5246,7 +5249,11 @@ void func_8003F2E8(Object *weaponObj, s32 updateRate) {
|
||||
}
|
||||
}
|
||||
|
||||
void func_8003FC44(f32 x, f32 y, f32 z, s32 objectID, s32 soundID, f32 scale, s32 arg6) {
|
||||
/**
|
||||
* Create a special effect at the given position.
|
||||
* Plays a sound if one is given.
|
||||
*/
|
||||
void obj_spawn_effect(f32 x, f32 y, f32 z, s32 objectID, s32 soundID, f32 scale, s32 arg6) {
|
||||
LevelObjectEntry8003FC44 spawnObj;
|
||||
Object *newObj;
|
||||
|
||||
@@ -5293,33 +5300,34 @@ void obj_init_audio(Object *obj, LevelObjectEntry_Audio *entry) {
|
||||
|
||||
/* Official name: audioLineInit */
|
||||
void obj_init_audioline(Object *obj, LevelObjectEntry_AudioLine *entry) {
|
||||
Object_AudioLine *obj64;
|
||||
Object_AudioLine *audLine;
|
||||
|
||||
obj64 = &obj->unk64->audio_line;
|
||||
obj64->unk0 = entry->unk8;
|
||||
obj64->soundID = entry->soundID;
|
||||
obj64->unkC = entry->unkC;
|
||||
obj64->unkD = entry->unkD;
|
||||
obj64->unk_union.unk8_word = 0;
|
||||
obj64->unk4 = entry->unkE;
|
||||
obj64->unk11 = entry->unk12;
|
||||
obj64->unk10 = entry->unk11;
|
||||
obj64->unkE = entry->unk9;
|
||||
obj64->unkF = entry->unk10;
|
||||
obj64->unk12 = entry->unk13;
|
||||
func_800098A4(obj64->unk0, obj64->soundID, entry->common.x, entry->common.y, entry->common.z, obj64->unkF,
|
||||
obj64->unkE, obj64->unk10, obj64->unk12, obj64->unk4, obj64->unk11, obj64->unkC, obj64->unkD);
|
||||
audLine = &obj->unk64->audio_line;
|
||||
audLine->unk0 = entry->unk8;
|
||||
audLine->soundID = entry->soundID;
|
||||
audLine->lineID = entry->lineID;
|
||||
audLine->unkD = entry->unkD;
|
||||
audLine->unk_union.unk8_word = 0;
|
||||
audLine->unk4 = entry->unkE;
|
||||
audLine->unk11 = entry->unk12;
|
||||
audLine->unk10 = entry->unk11;
|
||||
audLine->unkE = entry->unk9;
|
||||
audLine->unkF = entry->unk10;
|
||||
audLine->unk12 = entry->unk13;
|
||||
audioline_ambient_create(audLine->unk0, audLine->soundID, entry->common.x, entry->common.y, entry->common.z,
|
||||
audLine->unkF, audLine->unkE, audLine->unk10, audLine->unk12, audLine->unk4,
|
||||
audLine->unk11, audLine->lineID, audLine->unkD);
|
||||
free_object(obj);
|
||||
}
|
||||
|
||||
void obj_init_audioreverb(Object *obj, LevelObjectEntry_AudioReverb *entry) {
|
||||
s32 temp;
|
||||
Object_AudioReverb *obj64 = &obj->unk64->audio_reverb;
|
||||
obj64->unk2 = entry->unk8;
|
||||
temp = entry->unk9;
|
||||
obj64->unk4 = temp & 0xFF;
|
||||
obj64->unk5 = entry->unkA;
|
||||
func_80009968(entry->common.x, entry->common.y, entry->common.z, obj64->unk2, obj64->unk4, obj64->unk5);
|
||||
Object_AudioReverb *reverb = &obj->unk64->audio_reverb;
|
||||
reverb->unk2 = entry->unk8;
|
||||
temp = entry->lineID;
|
||||
reverb->lineID = temp & 0xFF;
|
||||
reverb->unk5 = entry->unkA;
|
||||
func_80009968(entry->common.x, entry->common.y, entry->common.z, reverb->unk2, reverb->lineID, reverb->unk5);
|
||||
free_object(obj);
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user