4 Weather matches (#448)

* func_800ACA20

* Update submodules

* func_800ACA20 to lensflare_render and clang-tidy

* Match func_800AB4A8

* Fix last commit accidentally not matching

* Mostly match render_rain_splashes

* Stack betterment

* Match render_rain_splashes

* Match func_800AC21C

* Remove old asm files.

* Update README
This commit is contained in:
Ryan Myers
2024-06-23 19:21:26 -04:00
committed by GitHub
parent 8415bc71b1
commit a3a50bc85b
16 changed files with 458 additions and 1444 deletions
+26 -26
View File
@@ -5,9 +5,9 @@ This repo contains a work-in-progress decompilation of Diddy Kong Racing for the
Currently, only the US 1.0 version of the game is supported. US 1.1, EU 1.0, EU 1.1, and JP are not supported at this time.
<!-- README_SCORE_SUMMARY_BEGIN -->
As of January 26, 2024, this is our current score:
As of June 21, 2024, this is our current score:
&emsp;&emsp;&emsp;&emsp;Decomp progress: 66.48%
&emsp;&emsp;&emsp;&emsp;Decomp progress: 67.05%
&emsp;&emsp;&emsp;&emsp;Documentation progress: 48.33%
<!-- README_SCORE_SUMMARY_END -->
@@ -126,31 +126,31 @@ s32 is_drumstick_unlocked(void) {
```
<!-- README_SCORE_BEGIN -->
As of May 25, 2024, this is our current score:
As of June 21st, 2024, this is our current score:
```
===========================================
ADVENTURE ONE (ASM -> C Decompilation)
-- 66.48% Complete (69.07% NON_MATCHING) --
# Decompiled functions: 1681
# GLOBAL_ASM remaining: 164
# 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
-------------------------------------------
We are racing in Windmill Plains. (Lap 3/3)
===========================================
ADVENTURE TWO (Cleanup & Documentation)
------------- 48.33% Complete -------------
# Documented functions: 1068
# Undocumented remaining: 500
--------------- Game Status ---------------
Balloons: 23/47, Keys: 2/4, Trophies: 2/5
T.T. Amulets: 2/4, Wizpig Amulets: 2/4
-------------------------------------------
We are racing in Crescent Island. (Lap 3/3)
===========================================
=============================================
ADVENTURE ONE (ASM -> C Decompilation)
--- 67.05% Complete (69.64% NON_MATCHING) ---
# Decompiled functions: 1685
# GLOBAL_ASM remaining: 160
# NON_MATCHING functions: 15
# NON_EQUIVALENT WIP functions: 54
---------------- Game Status ----------------
Balloons: 32/47, Keys: 3/4, Trophies: 3/5
T.T. Amulets: 3/4, Wizpig Amulets: 3/4
---------------------------------------------
We are racing in Greenwood Village. (Lap 1/3)
=============================================
ADVENTURE TWO (Cleanup & Documentation)
-------------- 48.33% Complete --------------
# Documented functions: 1068
# Undocumented remaining: 500
---------------- Game Status ----------------
Balloons: 23/47, Keys: 2/4, Trophies: 2/5
T.T. Amulets: 2/4, Wizpig Amulets: 2/4
---------------------------------------------
We are racing in Crescent Island. (Lap 3/3)
=============================================
```
<!-- README_SCORE_END -->
-435
View File
@@ -1,435 +0,0 @@
glabel func_800AB4A8
/* 0AC0A8 800AB4A8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0AC0AC 800AB4AC AFBF0034 */ sw $ra, 0x34($sp)
/* 0AC0B0 800AB4B0 AFB40028 */ sw $s4, 0x28($sp)
/* 0AC0B4 800AB4B4 AFB20020 */ sw $s2, 0x20($sp)
/* 0AC0B8 800AB4B8 AFB1001C */ sw $s1, 0x1c($sp)
/* 0AC0BC 800AB4BC AFB00018 */ sw $s0, 0x18($sp)
/* 0AC0C0 800AB4C0 00C08025 */ move $s0, $a2
/* 0AC0C4 800AB4C4 00808825 */ move $s1, $a0
/* 0AC0C8 800AB4C8 00E09025 */ move $s2, $a3
/* 0AC0CC 800AB4CC 00A0A025 */ move $s4, $a1
/* 0AC0D0 800AB4D0 AFB60030 */ sw $s6, 0x30($sp)
/* 0AC0D4 800AB4D4 AFB5002C */ sw $s5, 0x2c($sp)
/* 0AC0D8 800AB4D8 0C02ACD7 */ jal free_weather_memory
/* 0AC0DC 800AB4DC AFB30024 */ sw $s3, 0x24($sp)
/* 0AC0E0 800AB4E0 3C028012 */ lui $v0, %hi(D_80127BB8) # $v0, 0x8012
/* 0AC0E4 800AB4E4 24427BB8 */ addiu $v0, %lo(D_80127BB8) # addiu $v0, $v0, 0x7bb8
/* 0AC0E8 800AB4E8 8FA30048 */ lw $v1, 0x48($sp)
/* 0AC0EC 800AB4EC 8FA6004C */ lw $a2, 0x4c($sp)
/* 0AC0F0 800AB4F0 8FA70050 */ lw $a3, 0x50($sp)
/* 0AC0F4 800AB4F4 2A210002 */ slti $at, $s1, 2
/* 0AC0F8 800AB4F8 AC50000C */ sw $s0, 0xc($v0)
/* 0AC0FC 800AB4FC AC400010 */ sw $zero, 0x10($v0)
/* 0AC100 800AB500 AC500014 */ sw $s0, 0x14($v0)
/* 0AC104 800AB504 AC520018 */ sw $s2, 0x18($v0)
/* 0AC108 800AB508 AC40001C */ sw $zero, 0x1c($v0)
/* 0AC10C 800AB50C AC520020 */ sw $s2, 0x20($v0)
/* 0AC110 800AB510 AC400028 */ sw $zero, 0x28($v0)
/* 0AC114 800AB514 AC400004 */ sw $zero, 4($v0)
/* 0AC118 800AB518 AC400034 */ sw $zero, 0x34($v0)
/* 0AC11C 800AB51C AC40003C */ sw $zero, 0x3c($v0)
/* 0AC120 800AB520 AC430024 */ sw $v1, 0x24($v0)
/* 0AC124 800AB524 AC43002C */ sw $v1, 0x2c($v0)
/* 0AC128 800AB528 AC460000 */ sw $a2, ($v0)
/* 0AC12C 800AB52C AC460008 */ sw $a2, 8($v0)
/* 0AC130 800AB530 AC470030 */ sw $a3, 0x30($v0)
/* 0AC134 800AB534 14200002 */ bnez $at, .L800AB540
/* 0AC138 800AB538 AC470038 */ sw $a3, 0x38($v0)
/* 0AC13C 800AB53C 24110001 */ li $s1, 1
.L800AB540:
/* 0AC140 800AB540 00117080 */ sll $t6, $s1, 2
/* 0AC144 800AB544 01D17023 */ subu $t6, $t6, $s1
/* 0AC148 800AB548 000E7080 */ sll $t6, $t6, 2
/* 0AC14C 800AB54C 01D17023 */ subu $t6, $t6, $s1
/* 0AC150 800AB550 3C0F800E */ lui $t7, %hi(D_800E2850) # $t7, 0x800e
/* 0AC154 800AB554 25EF2850 */ addiu $t7, %lo(D_800E2850) # addiu $t7, $t7, 0x2850
/* 0AC158 800AB558 000E7080 */ sll $t6, $t6, 2
/* 0AC15C 800AB55C 01CF8021 */ addu $s0, $t6, $t7
/* 0AC160 800AB560 8E180008 */ lw $t8, 8($s0)
/* 0AC164 800AB564 24010001 */ li $at, 1
/* 0AC168 800AB568 17010006 */ bne $t8, $at, .L800AB584
/* 0AC16C 800AB56C 3C16FFAA */ lui $s6, (0xFFAA55FF >> 16) # lui $s6, 0xffaa
/* 0AC170 800AB570 24C40001 */ addiu $a0, $a2, 1
/* 0AC174 800AB574 0C02B451 */ jal func_800AD144
/* 0AC178 800AB578 24E50001 */ addiu $a1, $a3, 1
/* 0AC17C 800AB57C 10000164 */ b .L800ABB10
/* 0AC180 800AB580 8FBF0034 */ lw $ra, 0x34($sp)
.L800AB584:
/* 0AC184 800AB584 8E040004 */ lw $a0, 4($s0)
/* 0AC188 800AB588 36D655FF */ ori $s6, (0xFFAA55FF & 0xFFFF) # ori $s6, $s6, 0x55ff
/* 0AC18C 800AB58C 0004C880 */ sll $t9, $a0, 2
/* 0AC190 800AB590 0324C823 */ subu $t9, $t9, $a0
/* 0AC194 800AB594 00192080 */ sll $a0, $t9, 2
/* 0AC198 800AB598 0C01C327 */ jal allocate_from_main_pool_safe
/* 0AC19C 800AB59C 02C02825 */ move $a1, $s6
/* 0AC1A0 800AB5A0 3C15800E */ lui $s5, %hi(D_800E28D8) # $s5, 0x800e
/* 0AC1A4 800AB5A4 26B528D8 */ addiu $s5, %lo(D_800E28D8) # addiu $s5, $s5, 0x28d8
/* 0AC1A8 800AB5A8 8E090004 */ lw $t1, 4($s0)
/* 0AC1AC 800AB5AC 8E0B0010 */ lw $t3, 0x10($s0)
/* 0AC1B0 800AB5B0 86180024 */ lh $t8, 0x24($s0)
/* 0AC1B4 800AB5B4 86190026 */ lh $t9, 0x26($s0)
/* 0AC1B8 800AB5B8 8E0D0018 */ lw $t5, 0x18($s0)
/* 0AC1BC 800AB5BC 8E0A000C */ lw $t2, 0xc($s0)
/* 0AC1C0 800AB5C0 8E0C0014 */ lw $t4, 0x14($s0)
/* 0AC1C4 800AB5C4 AEA90004 */ sw $t1, 4($s5)
/* 0AC1C8 800AB5C8 AEAB0010 */ sw $t3, 0x10($s5)
/* 0AC1CC 800AB5CC A6B80024 */ sh $t8, 0x24($s5)
/* 0AC1D0 800AB5D0 A6B90026 */ sh $t9, 0x26($s5)
/* 0AC1D4 800AB5D4 86A90024 */ lh $t1, 0x24($s5)
/* 0AC1D8 800AB5D8 86AB0026 */ lh $t3, 0x26($s5)
/* 0AC1DC 800AB5DC AEAD0018 */ sw $t5, 0x18($s5)
/* 0AC1E0 800AB5E0 8E0E001C */ lw $t6, 0x1c($s0)
/* 0AC1E4 800AB5E4 8E0F0020 */ lw $t7, 0x20($s0)
/* 0AC1E8 800AB5E8 8E0D0008 */ lw $t5, 8($s0)
/* 0AC1EC 800AB5EC AEAA000C */ sw $t2, 0xc($s5)
/* 0AC1F0 800AB5F0 AEAC0014 */ sw $t4, 0x14($s5)
/* 0AC1F4 800AB5F4 00095040 */ sll $t2, $t1, 1
/* 0AC1F8 800AB5F8 000B6040 */ sll $t4, $t3, 1
/* 0AC1FC 800AB5FC AEA20000 */ sw $v0, ($s5)
/* 0AC200 800AB600 A6AA0028 */ sh $t2, 0x28($s5)
/* 0AC204 800AB604 A6AC002A */ sh $t4, 0x2a($s5)
/* 0AC208 800AB608 AEAE001C */ sw $t6, 0x1c($s5)
/* 0AC20C 800AB60C 15A00003 */ bnez $t5, .L800AB61C
/* 0AC210 800AB610 AEAF0020 */ sw $t7, 0x20($s5)
/* 0AC214 800AB614 0C02AECD */ jal func_800ABB34
/* 0AC218 800AB618 00000000 */ nop
.L800AB61C:
/* 0AC21C 800AB61C 3C138012 */ lui $s3, %hi(D_80127BB0) # $s3, 0x8012
/* 0AC220 800AB620 26737BB0 */ addiu $s3, %lo(D_80127BB0) # addiu $s3, $s3, 0x7bb0
/* 0AC224 800AB624 AE740000 */ sw $s4, ($s3)
/* 0AC228 800AB628 00142040 */ sll $a0, $s4, 1
/* 0AC22C 800AB62C 0C01C327 */ jal allocate_from_main_pool_safe
/* 0AC230 800AB630 02C02825 */ move $a1, $s6
/* 0AC234 800AB634 3C01800E */ lui $at, %hi(D_800E2910) # $at, 0x800e
/* 0AC238 800AB638 AC222910 */ sw $v0, %lo(D_800E2910)($at)
/* 0AC23C 800AB63C 00142100 */ sll $a0, $s4, 4
/* 0AC240 800AB640 0C01C327 */ jal allocate_from_main_pool_safe
/* 0AC244 800AB644 02C02825 */ move $a1, $s6
/* 0AC248 800AB648 8E6E0000 */ lw $t6, ($s3)
/* 0AC24C 800AB64C 3C12800E */ lui $s2, %hi(D_800E28D4) # $s2, 0x800e
/* 0AC250 800AB650 265228D4 */ addiu $s2, %lo(D_800E28D4) # addiu $s2, $s2, 0x28d4
/* 0AC254 800AB654 AE420000 */ sw $v0, ($s2)
/* 0AC258 800AB658 19C0003F */ blez $t6, .L800AB758
/* 0AC25C 800AB65C 00008825 */ move $s1, $zero
/* 0AC260 800AB660 00008025 */ move $s0, $zero
.L800AB664:
/* 0AC264 800AB664 8EA50018 */ lw $a1, 0x18($s5)
/* 0AC268 800AB668 0C01BE53 */ jal get_random_number_from_range
/* 0AC26C 800AB66C 00002025 */ move $a0, $zero
/* 0AC270 800AB670 8E4F0000 */ lw $t7, ($s2)
/* 0AC274 800AB674 00002025 */ move $a0, $zero
/* 0AC278 800AB678 01F0C021 */ addu $t8, $t7, $s0
/* 0AC27C 800AB67C AF020000 */ sw $v0, ($t8)
/* 0AC280 800AB680 8EA5001C */ lw $a1, 0x1c($s5)
/* 0AC284 800AB684 0C01BE53 */ jal get_random_number_from_range
/* 0AC288 800AB688 00000000 */ nop
/* 0AC28C 800AB68C 8E590000 */ lw $t9, ($s2)
/* 0AC290 800AB690 00002025 */ move $a0, $zero
/* 0AC294 800AB694 03304821 */ addu $t1, $t9, $s0
/* 0AC298 800AB698 AD220004 */ sw $v0, 4($t1)
/* 0AC29C 800AB69C 8EA50020 */ lw $a1, 0x20($s5)
/* 0AC2A0 800AB6A0 0C01BE53 */ jal get_random_number_from_range
/* 0AC2A4 800AB6A4 00000000 */ nop
/* 0AC2A8 800AB6A8 8E4A0000 */ lw $t2, ($s2)
/* 0AC2AC 800AB6AC 00002025 */ move $a0, $zero
/* 0AC2B0 800AB6B0 01505821 */ addu $t3, $t2, $s0
/* 0AC2B4 800AB6B4 AD620008 */ sw $v0, 8($t3)
/* 0AC2B8 800AB6B8 0C01BE53 */ jal get_random_number_from_range
/* 0AC2BC 800AB6BC 24050020 */ li $a1, 32
/* 0AC2C0 800AB6C0 8E4F0000 */ lw $t7, ($s2)
/* 0AC2C4 800AB6C4 244C0005 */ addiu $t4, $v0, 5
/* 0AC2C8 800AB6C8 240D0001 */ li $t5, 1
/* 0AC2CC 800AB6CC 018D7004 */ sllv $t6, $t5, $t4
/* 0AC2D0 800AB6D0 01F0C021 */ addu $t8, $t7, $s0
/* 0AC2D4 800AB6D4 A30E000C */ sb $t6, 0xc($t8)
/* 0AC2D8 800AB6D8 00002025 */ move $a0, $zero
/* 0AC2DC 800AB6DC 0C01BE53 */ jal get_random_number_from_range
/* 0AC2E0 800AB6E0 24050020 */ li $a1, 32
/* 0AC2E4 800AB6E4 8E4B0000 */ lw $t3, ($s2)
/* 0AC2E8 800AB6E8 24590005 */ addiu $t9, $v0, 5
/* 0AC2EC 800AB6EC 24090001 */ li $t1, 1
/* 0AC2F0 800AB6F0 03295004 */ sllv $t2, $t1, $t9
/* 0AC2F4 800AB6F4 01706821 */ addu $t5, $t3, $s0
/* 0AC2F8 800AB6F8 A1AA000D */ sb $t2, 0xd($t5)
/* 0AC2FC 800AB6FC 00002025 */ move $a0, $zero
/* 0AC300 800AB700 0C01BE53 */ jal get_random_number_from_range
/* 0AC304 800AB704 24050020 */ li $a1, 32
/* 0AC308 800AB708 8E580000 */ lw $t8, ($s2)
/* 0AC30C 800AB70C 244C0005 */ addiu $t4, $v0, 5
/* 0AC310 800AB710 240F0001 */ li $t7, 1
/* 0AC314 800AB714 018F7004 */ sllv $t6, $t7, $t4
/* 0AC318 800AB718 03104821 */ addu $t1, $t8, $s0
/* 0AC31C 800AB71C A12E000E */ sb $t6, 0xe($t1)
/* 0AC320 800AB720 8EA50004 */ lw $a1, 4($s5)
/* 0AC324 800AB724 00002025 */ move $a0, $zero
/* 0AC328 800AB728 0C01BE53 */ jal get_random_number_from_range
/* 0AC32C 800AB72C 24A5FFFF */ addiu $a1, $a1, -1
/* 0AC330 800AB730 8E590000 */ lw $t9, ($s2)
/* 0AC334 800AB734 26310001 */ addiu $s1, $s1, 1
/* 0AC338 800AB738 03305821 */ addu $t3, $t9, $s0
/* 0AC33C 800AB73C A162000F */ sb $v0, 0xf($t3)
/* 0AC340 800AB740 8E6A0000 */ lw $t2, ($s3)
/* 0AC344 800AB744 26100010 */ addiu $s0, $s0, 0x10
/* 0AC348 800AB748 022A082A */ slt $at, $s1, $t2
/* 0AC34C 800AB74C 1420FFC5 */ bnez $at, .L800AB664
/* 0AC350 800AB750 00000000 */ nop
/* 0AC354 800AB754 00008825 */ move $s1, $zero
.L800AB758:
/* 0AC358 800AB758 00148080 */ sll $s0, $s4, 2
/* 0AC35C 800AB75C 00109080 */ sll $s2, $s0, 2
/* 0AC360 800AB760 02509021 */ addu $s2, $s2, $s0
/* 0AC364 800AB764 00129040 */ sll $s2, $s2, 1
/* 0AC368 800AB768 02402025 */ move $a0, $s2
/* 0AC36C 800AB76C 0C01C327 */ jal allocate_from_main_pool_safe
/* 0AC370 800AB770 02C02825 */ move $a1, $s6
/* 0AC374 800AB774 3C13800E */ lui $s3, %hi(D_800E2914) # $s3, 0x800e
/* 0AC378 800AB778 26732914 */ addiu $s3, %lo(D_800E2914) # addiu $s3, $s3, 0x2914
/* 0AC37C 800AB77C AE620000 */ sw $v0, ($s3)
/* 0AC380 800AB780 02402025 */ move $a0, $s2
/* 0AC384 800AB784 0C01C327 */ jal allocate_from_main_pool_safe
/* 0AC388 800AB788 02C02825 */ move $a1, $s6
/* 0AC38C 800AB78C 3C07800E */ lui $a3, %hi(D_800E2914) # $a3, 0x800e
/* 0AC390 800AB790 3C08800E */ lui $t0, %hi(gWeatherAssetTable) # $t0, 0x800e
/* 0AC394 800AB794 3C03800E */ lui $v1, %hi(D_800E2904) # $v1, 0x800e
/* 0AC398 800AB798 AE620004 */ sw $v0, 4($s3)
/* 0AC39C 800AB79C 24632904 */ addiu $v1, %lo(D_800E2904) # addiu $v1, $v1, 0x2904
/* 0AC3A0 800AB7A0 2508291C */ addiu $t0, %lo(gWeatherAssetTable) # addiu $t0, $t0, 0x291c
/* 0AC3A4 800AB7A4 24E72914 */ addiu $a3, %lo(D_800E2914) # addiu $a3, $a3, 0x2914
/* 0AC3A8 800AB7A8 240400FF */ li $a0, 255
.L800AB7AC:
/* 0AC3AC 800AB7AC 8CED0000 */ lw $t5, ($a3)
/* 0AC3B0 800AB7B0 1A000063 */ blez $s0, .L800AB940
/* 0AC3B4 800AB7B4 AC6D0000 */ sw $t5, ($v1)
/* 0AC3B8 800AB7B8 32060003 */ andi $a2, $s0, 3
/* 0AC3BC 800AB7BC 10C00017 */ beqz $a2, .L800AB81C
/* 0AC3C0 800AB7C0 00C02825 */ move $a1, $a2
/* 0AC3C4 800AB7C4 00111080 */ sll $v0, $s1, 2
/* 0AC3C8 800AB7C8 00511021 */ addu $v0, $v0, $s1
/* 0AC3CC 800AB7CC 00021040 */ sll $v0, $v0, 1
.L800AB7D0:
/* 0AC3D0 800AB7D0 8C6F0000 */ lw $t7, ($v1)
/* 0AC3D4 800AB7D4 26310001 */ addiu $s1, $s1, 1
/* 0AC3D8 800AB7D8 01E26021 */ addu $t4, $t7, $v0
/* 0AC3DC 800AB7DC A1840006 */ sb $a0, 6($t4)
/* 0AC3E0 800AB7E0 8C780000 */ lw $t8, ($v1)
/* 0AC3E4 800AB7E4 00000000 */ nop
/* 0AC3E8 800AB7E8 03027021 */ addu $t6, $t8, $v0
/* 0AC3EC 800AB7EC A1C40007 */ sb $a0, 7($t6)
/* 0AC3F0 800AB7F0 8C690000 */ lw $t1, ($v1)
/* 0AC3F4 800AB7F4 00000000 */ nop
/* 0AC3F8 800AB7F8 0122C821 */ addu $t9, $t1, $v0
/* 0AC3FC 800AB7FC A3240008 */ sb $a0, 8($t9)
/* 0AC400 800AB800 8C6B0000 */ lw $t3, ($v1)
/* 0AC404 800AB804 00000000 */ nop
/* 0AC408 800AB808 01625021 */ addu $t2, $t3, $v0
/* 0AC40C 800AB80C A1440009 */ sb $a0, 9($t2)
/* 0AC410 800AB810 14B1FFEF */ bne $a1, $s1, .L800AB7D0
/* 0AC414 800AB814 2442000A */ addiu $v0, $v0, 0xa
/* 0AC418 800AB818 12300048 */ beq $s1, $s0, .L800AB93C
.L800AB81C:
/* 0AC41C 800AB81C 00111080 */ sll $v0, $s1, 2
/* 0AC420 800AB820 00102880 */ sll $a1, $s0, 2
/* 0AC424 800AB824 00B02821 */ addu $a1, $a1, $s0
/* 0AC428 800AB828 00511021 */ addu $v0, $v0, $s1
/* 0AC42C 800AB82C 00021040 */ sll $v0, $v0, 1
/* 0AC430 800AB830 00052840 */ sll $a1, $a1, 1
.L800AB834:
/* 0AC434 800AB834 8C6D0000 */ lw $t5, ($v1)
/* 0AC438 800AB838 00000000 */ nop
/* 0AC43C 800AB83C 01A27821 */ addu $t7, $t5, $v0
/* 0AC440 800AB840 A1E40006 */ sb $a0, 6($t7)
/* 0AC444 800AB844 8C6C0000 */ lw $t4, ($v1)
/* 0AC448 800AB848 00000000 */ nop
/* 0AC44C 800AB84C 0182C021 */ addu $t8, $t4, $v0
/* 0AC450 800AB850 A3040007 */ sb $a0, 7($t8)
/* 0AC454 800AB854 8C6E0000 */ lw $t6, ($v1)
/* 0AC458 800AB858 00000000 */ nop
/* 0AC45C 800AB85C 01C24821 */ addu $t1, $t6, $v0
/* 0AC460 800AB860 A1240008 */ sb $a0, 8($t1)
/* 0AC464 800AB864 8C790000 */ lw $t9, ($v1)
/* 0AC468 800AB868 00000000 */ nop
/* 0AC46C 800AB86C 03225821 */ addu $t3, $t9, $v0
/* 0AC470 800AB870 A1640009 */ sb $a0, 9($t3)
/* 0AC474 800AB874 8C6A0000 */ lw $t2, ($v1)
/* 0AC478 800AB878 00000000 */ nop
/* 0AC47C 800AB87C 01426821 */ addu $t5, $t2, $v0
/* 0AC480 800AB880 A1A40010 */ sb $a0, 0x10($t5)
/* 0AC484 800AB884 8C6F0000 */ lw $t7, ($v1)
/* 0AC488 800AB888 00000000 */ nop
/* 0AC48C 800AB88C 01E26021 */ addu $t4, $t7, $v0
/* 0AC490 800AB890 A1840011 */ sb $a0, 0x11($t4)
/* 0AC494 800AB894 8C780000 */ lw $t8, ($v1)
/* 0AC498 800AB898 00000000 */ nop
/* 0AC49C 800AB89C 03027021 */ addu $t6, $t8, $v0
/* 0AC4A0 800AB8A0 A1C40012 */ sb $a0, 0x12($t6)
/* 0AC4A4 800AB8A4 8C690000 */ lw $t1, ($v1)
/* 0AC4A8 800AB8A8 00000000 */ nop
/* 0AC4AC 800AB8AC 0122C821 */ addu $t9, $t1, $v0
/* 0AC4B0 800AB8B0 A3240013 */ sb $a0, 0x13($t9)
/* 0AC4B4 800AB8B4 8C6B0000 */ lw $t3, ($v1)
/* 0AC4B8 800AB8B8 00000000 */ nop
/* 0AC4BC 800AB8BC 01625021 */ addu $t2, $t3, $v0
/* 0AC4C0 800AB8C0 A144001A */ sb $a0, 0x1a($t2)
/* 0AC4C4 800AB8C4 8C6D0000 */ lw $t5, ($v1)
/* 0AC4C8 800AB8C8 00000000 */ nop
/* 0AC4CC 800AB8CC 01A27821 */ addu $t7, $t5, $v0
/* 0AC4D0 800AB8D0 A1E4001B */ sb $a0, 0x1b($t7)
/* 0AC4D4 800AB8D4 8C6C0000 */ lw $t4, ($v1)
/* 0AC4D8 800AB8D8 00000000 */ nop
/* 0AC4DC 800AB8DC 0182C021 */ addu $t8, $t4, $v0
/* 0AC4E0 800AB8E0 A304001C */ sb $a0, 0x1c($t8)
/* 0AC4E4 800AB8E4 8C6E0000 */ lw $t6, ($v1)
/* 0AC4E8 800AB8E8 00000000 */ nop
/* 0AC4EC 800AB8EC 01C24821 */ addu $t1, $t6, $v0
/* 0AC4F0 800AB8F0 A124001D */ sb $a0, 0x1d($t1)
/* 0AC4F4 800AB8F4 8C790000 */ lw $t9, ($v1)
/* 0AC4F8 800AB8F8 00000000 */ nop
/* 0AC4FC 800AB8FC 03225821 */ addu $t3, $t9, $v0
/* 0AC500 800AB900 A1640024 */ sb $a0, 0x24($t3)
/* 0AC504 800AB904 8C6A0000 */ lw $t2, ($v1)
/* 0AC508 800AB908 00000000 */ nop
/* 0AC50C 800AB90C 01426821 */ addu $t5, $t2, $v0
/* 0AC510 800AB910 A1A40025 */ sb $a0, 0x25($t5)
/* 0AC514 800AB914 8C6F0000 */ lw $t7, ($v1)
/* 0AC518 800AB918 00000000 */ nop
/* 0AC51C 800AB91C 01E26021 */ addu $t4, $t7, $v0
/* 0AC520 800AB920 A1840026 */ sb $a0, 0x26($t4)
/* 0AC524 800AB924 8C780000 */ lw $t8, ($v1)
/* 0AC528 800AB928 00000000 */ nop
/* 0AC52C 800AB92C 03027021 */ addu $t6, $t8, $v0
/* 0AC530 800AB930 24420028 */ addiu $v0, $v0, 0x28
/* 0AC534 800AB934 1445FFBF */ bne $v0, $a1, .L800AB834
/* 0AC538 800AB938 A1C40027 */ sb $a0, 0x27($t6)
.L800AB93C:
/* 0AC53C 800AB93C 00008825 */ move $s1, $zero
.L800AB940:
/* 0AC540 800AB940 24E70004 */ addiu $a3, $a3, 4
/* 0AC544 800AB944 00E8082B */ sltu $at, $a3, $t0
/* 0AC548 800AB948 1420FF98 */ bnez $at, .L800AB7AC
/* 0AC54C 800AB94C 00000000 */ nop
/* 0AC550 800AB950 8EA20008 */ lw $v0, 8($s5)
/* 0AC554 800AB954 3C148012 */ lui $s4, %hi(D_80127C04) # $s4, 0x8012
/* 0AC558 800AB958 90520000 */ lbu $s2, ($v0)
/* 0AC55C 800AB95C 90530001 */ lbu $s3, 1($v0)
/* 0AC560 800AB960 26947C04 */ addiu $s4, %lo(D_80127C04) # addiu $s4, $s4, 0x7c04
/* 0AC564 800AB964 8E840000 */ lw $a0, ($s4)
/* 0AC568 800AB968 00124940 */ sll $t1, $s2, 5
/* 0AC56C 800AB96C 00135140 */ sll $t2, $s3, 5
/* 0AC570 800AB970 2532FFFF */ addiu $s2, $t1, -1
/* 0AC574 800AB974 2553FFFF */ addiu $s3, $t2, -1
/* 0AC578 800AB978 0012CC00 */ sll $t9, $s2, 0x10
/* 0AC57C 800AB97C 00136C00 */ sll $t5, $s3, 0x10
/* 0AC580 800AB980 00046100 */ sll $t4, $a0, 4
/* 0AC584 800AB984 00199403 */ sra $s2, $t9, 0x10
/* 0AC588 800AB988 000D9C03 */ sra $s3, $t5, 0x10
/* 0AC58C 800AB98C 01802025 */ move $a0, $t4
/* 0AC590 800AB990 0C01C327 */ jal allocate_from_main_pool_safe
/* 0AC594 800AB994 02C02825 */ move $a1, $s6
/* 0AC598 800AB998 8E980000 */ lw $t8, ($s4)
/* 0AC59C 800AB99C 3C03800E */ lui $v1, %hi(D_800E290C) # $v1, 0x800e
/* 0AC5A0 800AB9A0 2463290C */ addiu $v1, %lo(D_800E290C) # addiu $v1, $v1, 0x290c
/* 0AC5A4 800AB9A4 1B000057 */ blez $t8, .L800ABB04
/* 0AC5A8 800AB9A8 AC620000 */ sw $v0, ($v1)
/* 0AC5AC 800AB9AC 00008025 */ move $s0, $zero
.L800AB9B0:
/* 0AC5B0 800AB9B0 8C6E0000 */ lw $t6, ($v1)
/* 0AC5B4 800AB9B4 00112040 */ sll $a0, $s1, 1
/* 0AC5B8 800AB9B8 01D04821 */ addu $t1, $t6, $s0
/* 0AC5BC 800AB9BC A1200000 */ sb $zero, ($t1)
/* 0AC5C0 800AB9C0 8C790000 */ lw $t9, ($v1)
/* 0AC5C4 800AB9C4 24820003 */ addiu $v0, $a0, 3
/* 0AC5C8 800AB9C8 03305821 */ addu $t3, $t9, $s0
/* 0AC5CC 800AB9CC A1620001 */ sb $v0, 1($t3)
/* 0AC5D0 800AB9D0 8C6A0000 */ lw $t2, ($v1)
/* 0AC5D4 800AB9D4 24850001 */ addiu $a1, $a0, 1
/* 0AC5D8 800AB9D8 01506821 */ addu $t5, $t2, $s0
/* 0AC5DC 800AB9DC A5A00004 */ sh $zero, 4($t5)
/* 0AC5E0 800AB9E0 8C6F0000 */ lw $t7, ($v1)
/* 0AC5E4 800AB9E4 26310002 */ addiu $s1, $s1, 2
/* 0AC5E8 800AB9E8 01F06021 */ addu $t4, $t7, $s0
/* 0AC5EC 800AB9EC A5930006 */ sh $s3, 6($t4)
/* 0AC5F0 800AB9F0 8C780000 */ lw $t8, ($v1)
/* 0AC5F4 800AB9F4 00000000 */ nop
/* 0AC5F8 800AB9F8 03107021 */ addu $t6, $t8, $s0
/* 0AC5FC 800AB9FC A1C50002 */ sb $a1, 2($t6)
/* 0AC600 800ABA00 8C690000 */ lw $t1, ($v1)
/* 0AC604 800ABA04 00000000 */ nop
/* 0AC608 800ABA08 0130C821 */ addu $t9, $t1, $s0
/* 0AC60C 800ABA0C A7320008 */ sh $s2, 8($t9)
/* 0AC610 800ABA10 8C6B0000 */ lw $t3, ($v1)
/* 0AC614 800ABA14 00000000 */ nop
/* 0AC618 800ABA18 01705021 */ addu $t2, $t3, $s0
/* 0AC61C 800ABA1C A540000A */ sh $zero, 0xa($t2)
/* 0AC620 800ABA20 8C6D0000 */ lw $t5, ($v1)
/* 0AC624 800ABA24 00000000 */ nop
/* 0AC628 800ABA28 01B07821 */ addu $t7, $t5, $s0
/* 0AC62C 800ABA2C A1E40003 */ sb $a0, 3($t7)
/* 0AC630 800ABA30 8C6C0000 */ lw $t4, ($v1)
/* 0AC634 800ABA34 00000000 */ nop
/* 0AC638 800ABA38 0190C021 */ addu $t8, $t4, $s0
/* 0AC63C 800ABA3C A700000C */ sh $zero, 0xc($t8)
/* 0AC640 800ABA40 8C6E0000 */ lw $t6, ($v1)
/* 0AC644 800ABA44 00000000 */ nop
/* 0AC648 800ABA48 01D04821 */ addu $t1, $t6, $s0
/* 0AC64C 800ABA4C A520000E */ sh $zero, 0xe($t1)
/* 0AC650 800ABA50 8C790000 */ lw $t9, ($v1)
/* 0AC654 800ABA54 24890002 */ addiu $t1, $a0, 2
/* 0AC658 800ABA58 03305821 */ addu $t3, $t9, $s0
/* 0AC65C 800ABA5C A1600010 */ sb $zero, 0x10($t3)
/* 0AC660 800ABA60 8C6A0000 */ lw $t2, ($v1)
/* 0AC664 800ABA64 00000000 */ nop
/* 0AC668 800ABA68 01506821 */ addu $t5, $t2, $s0
/* 0AC66C 800ABA6C A1A20011 */ sb $v0, 0x11($t5)
/* 0AC670 800ABA70 8C6F0000 */ lw $t7, ($v1)
/* 0AC674 800ABA74 00000000 */ nop
/* 0AC678 800ABA78 01F06021 */ addu $t4, $t7, $s0
/* 0AC67C 800ABA7C A5800014 */ sh $zero, 0x14($t4)
/* 0AC680 800ABA80 8C780000 */ lw $t8, ($v1)
/* 0AC684 800ABA84 00000000 */ nop
/* 0AC688 800ABA88 03107021 */ addu $t6, $t8, $s0
/* 0AC68C 800ABA8C A5D30016 */ sh $s3, 0x16($t6)
/* 0AC690 800ABA90 8C790000 */ lw $t9, ($v1)
/* 0AC694 800ABA94 00000000 */ nop
/* 0AC698 800ABA98 03305821 */ addu $t3, $t9, $s0
/* 0AC69C 800ABA9C A1690012 */ sb $t1, 0x12($t3)
/* 0AC6A0 800ABAA0 8C6A0000 */ lw $t2, ($v1)
/* 0AC6A4 800ABAA4 00000000 */ nop
/* 0AC6A8 800ABAA8 01506821 */ addu $t5, $t2, $s0
/* 0AC6AC 800ABAAC A5B20018 */ sh $s2, 0x18($t5)
/* 0AC6B0 800ABAB0 8C6F0000 */ lw $t7, ($v1)
/* 0AC6B4 800ABAB4 00000000 */ nop
/* 0AC6B8 800ABAB8 01F06021 */ addu $t4, $t7, $s0
/* 0AC6BC 800ABABC A593001A */ sh $s3, 0x1a($t4)
/* 0AC6C0 800ABAC0 8C780000 */ lw $t8, ($v1)
/* 0AC6C4 800ABAC4 00000000 */ nop
/* 0AC6C8 800ABAC8 03107021 */ addu $t6, $t8, $s0
/* 0AC6CC 800ABACC A1C50013 */ sb $a1, 0x13($t6)
/* 0AC6D0 800ABAD0 8C790000 */ lw $t9, ($v1)
/* 0AC6D4 800ABAD4 00000000 */ nop
/* 0AC6D8 800ABAD8 03304821 */ addu $t1, $t9, $s0
/* 0AC6DC 800ABADC A532001C */ sh $s2, 0x1c($t1)
/* 0AC6E0 800ABAE0 8C6B0000 */ lw $t3, ($v1)
/* 0AC6E4 800ABAE4 00000000 */ nop
/* 0AC6E8 800ABAE8 01705021 */ addu $t2, $t3, $s0
/* 0AC6EC 800ABAEC A540001E */ sh $zero, 0x1e($t2)
/* 0AC6F0 800ABAF0 8E8D0000 */ lw $t5, ($s4)
/* 0AC6F4 800ABAF4 26100020 */ addiu $s0, $s0, 0x20
/* 0AC6F8 800ABAF8 022D082A */ slt $at, $s1, $t5
/* 0AC6FC 800ABAFC 1420FFAC */ bnez $at, .L800AB9B0
/* 0AC700 800ABB00 00000000 */ nop
.L800ABB04:
/* 0AC704 800ABB04 3C018012 */ lui $at, %hi(D_80127C08) # $at, 0x8012
/* 0AC708 800ABB08 AC207C08 */ sw $zero, %lo(D_80127C08)($at)
/* 0AC70C 800ABB0C 8FBF0034 */ lw $ra, 0x34($sp)
.L800ABB10:
/* 0AC710 800ABB10 8FB00018 */ lw $s0, 0x18($sp)
/* 0AC714 800ABB14 8FB1001C */ lw $s1, 0x1c($sp)
/* 0AC718 800ABB18 8FB20020 */ lw $s2, 0x20($sp)
/* 0AC71C 800ABB1C 8FB30024 */ lw $s3, 0x24($sp)
/* 0AC720 800ABB20 8FB40028 */ lw $s4, 0x28($sp)
/* 0AC724 800ABB24 8FB5002C */ lw $s5, 0x2c($sp)
/* 0AC728 800ABB28 8FB60030 */ lw $s6, 0x30($sp)
/* 0AC72C 800ABB2C 03E00008 */ jr $ra
/* 0AC730 800ABB30 27BD0038 */ addiu $sp, $sp, 0x38
-231
View File
@@ -1,231 +0,0 @@
glabel func_800AC21C
/* 0ACE1C 800AC21C 27BDFF88 */ addiu $sp, $sp, -0x78
/* 0ACE20 800AC220 3C028012 */ lui $v0, %hi(gWeatherCamera) # $v0, 0x8012
/* 0ACE24 800AC224 8C427C1C */ lw $v0, %lo(gWeatherCamera)($v0)
/* 0ACE28 800AC228 AFBF0044 */ sw $ra, 0x44($sp)
/* 0ACE2C 800AC22C AFBE0040 */ sw $fp, 0x40($sp)
/* 0ACE30 800AC230 AFB7003C */ sw $s7, 0x3c($sp)
/* 0ACE34 800AC234 AFB60038 */ sw $s6, 0x38($sp)
/* 0ACE38 800AC238 AFB50034 */ sw $s5, 0x34($sp)
/* 0ACE3C 800AC23C AFB40030 */ sw $s4, 0x30($sp)
/* 0ACE40 800AC240 AFB3002C */ sw $s3, 0x2c($sp)
/* 0ACE44 800AC244 AFB20028 */ sw $s2, 0x28($sp)
/* 0ACE48 800AC248 AFB10024 */ sw $s1, 0x24($sp)
/* 0ACE4C 800AC24C AFB00020 */ sw $s0, 0x20($sp)
/* 0ACE50 800AC250 E7B50018 */ swc1 $f21, 0x18($sp)
/* 0ACE54 800AC254 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 0ACE58 800AC258 3C014780 */ li $at, 0x47800000 # 65536.000000
/* 0ACE5C 800AC25C 44810000 */ mtc1 $at, $f0
/* 0ACE60 800AC260 C444000C */ lwc1 $f4, 0xc($v0)
/* 0ACE64 800AC264 C44A0010 */ lwc1 $f10, 0x10($v0)
/* 0ACE68 800AC268 46002182 */ mul.s $f6, $f4, $f0
/* 0ACE6C 800AC26C C4440014 */ lwc1 $f4, 0x14($v0)
/* 0ACE70 800AC270 3C14800E */ lui $s4, %hi(D_800E2908) # $s4, 0x800e
/* 0ACE74 800AC274 26942908 */ addiu $s4, %lo(D_800E2908) # addiu $s4, $s4, 0x2908
/* 0ACE78 800AC278 444EF800 */ cfc1 $t6, $31
/* 0ACE7C 800AC27C AE800000 */ sw $zero, ($s4)
/* 0ACE80 800AC280 35C10003 */ ori $at, $t6, 3
/* 0ACE84 800AC284 38210002 */ xori $at, $at, 2
/* 0ACE88 800AC288 44C1F800 */ ctc1 $at, $31
/* 0ACE8C 800AC28C 3C198012 */ lui $t9, %hi(D_80127BB4) # $t9, 0x8012
/* 0ACE90 800AC290 46003224 */ cvt.w.s $f8, $f6
/* 0ACE94 800AC294 8F397BB4 */ lw $t9, %lo(D_80127BB4)($t9)
/* 0ACE98 800AC298 44CEF800 */ ctc1 $t6, $31
/* 0ACE9C 800AC29C 44034000 */ mfc1 $v1, $f8
/* 0ACEA0 800AC2A0 46005402 */ mul.s $f16, $f10, $f0
/* 0ACEA4 800AC2A4 3C11800E */ lui $s1, %hi(D_800E2904) # $s1, 0x800e
/* 0ACEA8 800AC2A8 8E312904 */ lw $s1, %lo(D_800E2904)($s1)
/* 0ACEAC 800AC2AC 3C168012 */ lui $s6, %hi(D_80127BF8) # $s6, 0x8012
/* 0ACEB0 800AC2B0 444FF800 */ cfc1 $t7, $31
/* 0ACEB4 800AC2B4 3C17800E */ lui $s7, %hi(D_800E28D4) # $s7, 0x800e
/* 0ACEB8 800AC2B8 35E10003 */ ori $at, $t7, 3
/* 0ACEBC 800AC2BC 38210002 */ xori $at, $at, 2
/* 0ACEC0 800AC2C0 44C1F800 */ ctc1 $at, $31
/* 0ACEC4 800AC2C4 3C1E8012 */ lui $fp, %hi(gWeatherCameraMatrix) # $fp, 0x8012
/* 0ACEC8 800AC2C8 460084A4 */ cvt.w.s $f18, $f16
/* 0ACECC 800AC2CC 27DE7C20 */ addiu $fp, %lo(gWeatherCameraMatrix) # addiu $fp, $fp, 0x7c20
/* 0ACED0 800AC2D0 44CFF800 */ ctc1 $t7, $31
/* 0ACED4 800AC2D4 44079000 */ mfc1 $a3, $f18
/* 0ACED8 800AC2D8 46002182 */ mul.s $f6, $f4, $f0
/* 0ACEDC 800AC2DC 26F728D4 */ addiu $s7, %lo(D_800E28D4) # addiu $s7, $s7, 0x28d4
/* 0ACEE0 800AC2E0 26D67BF8 */ addiu $s6, %lo(D_80127BF8) # addiu $s6, $s6, 0x7bf8
/* 0ACEE4 800AC2E4 3C10800E */ lui $s0, %hi(D_800E28D8) # $s0, 0x800e
/* 0ACEE8 800AC2E8 4458F800 */ cfc1 $t8, $31
/* 0ACEEC 800AC2EC 00009025 */ move $s2, $zero
/* 0ACEF0 800AC2F0 37010003 */ ori $at, $t8, 3
/* 0ACEF4 800AC2F4 38210002 */ xori $at, $at, 2
/* 0ACEF8 800AC2F8 44C1F800 */ ctc1 $at, $31
/* 0ACEFC 800AC2FC 3C013780 */ li $at, 0x37800000 # 0.000015
/* 0ACF00 800AC300 46003224 */ cvt.w.s $f8, $f6
/* 0ACF04 800AC304 00009825 */ move $s3, $zero
/* 0ACF08 800AC308 44084000 */ mfc1 $t0, $f8
/* 0ACF0C 800AC30C 44D8F800 */ ctc1 $t8, $31
/* 0ACF10 800AC310 1B200096 */ blez $t9, .L800AC56C
/* 0ACF14 800AC314 27B50064 */ addiu $s5, $sp, 0x64
/* 0ACF18 800AC318 4481A000 */ mtc1 $at, $f20
/* 0ACF1C 800AC31C AFA30058 */ sw $v1, 0x58($sp)
/* 0ACF20 800AC320 AFA70054 */ sw $a3, 0x54($sp)
/* 0ACF24 800AC324 AFA80050 */ sw $t0, 0x50($sp)
/* 0ACF28 800AC328 261028D8 */ addiu $s0, %lo(D_800E28D8) # addiu $s0, $s0, 0x28d8
.L800AC32C:
/* 0ACF2C 800AC32C 8EE90000 */ lw $t1, ($s7)
/* 0ACF30 800AC330 8FA30058 */ lw $v1, 0x58($sp)
/* 0ACF34 800AC334 01331021 */ addu $v0, $t1, $s3
/* 0ACF38 800AC338 8C4A0000 */ lw $t2, ($v0)
/* 0ACF3C 800AC33C 8E0C0018 */ lw $t4, 0x18($s0)
/* 0ACF40 800AC340 8E0E000C */ lw $t6, 0xc($s0)
/* 0ACF44 800AC344 01435823 */ subu $t3, $t2, $v1
/* 0ACF48 800AC348 016C6824 */ and $t5, $t3, $t4
/* 0ACF4C 800AC34C 01AE7821 */ addu $t7, $t5, $t6
/* 0ACF50 800AC350 448F5000 */ mtc1 $t7, $f10
/* 0ACF54 800AC354 8FA70054 */ lw $a3, 0x54($sp)
/* 0ACF58 800AC358 46805420 */ cvt.s.w $f16, $f10
/* 0ACF5C 800AC35C 8E09001C */ lw $t1, 0x1c($s0)
/* 0ACF60 800AC360 8E0B0010 */ lw $t3, 0x10($s0)
/* 0ACF64 800AC364 46148482 */ mul.s $f18, $f16, $f20
/* 0ACF68 800AC368 8FA80050 */ lw $t0, 0x50($sp)
/* 0ACF6C 800AC36C 8E0F0020 */ lw $t7, 0x20($s0)
/* 0ACF70 800AC370 8FC40000 */ lw $a0, ($fp)
/* 0ACF74 800AC374 E7B20064 */ swc1 $f18, 0x64($sp)
/* 0ACF78 800AC378 8C580004 */ lw $t8, 4($v0)
/* 0ACF7C 800AC37C 02A02825 */ move $a1, $s5
/* 0ACF80 800AC380 0307C823 */ subu $t9, $t8, $a3
/* 0ACF84 800AC384 03295024 */ and $t2, $t9, $t1
/* 0ACF88 800AC388 014B6021 */ addu $t4, $t2, $t3
/* 0ACF8C 800AC38C 448C2000 */ mtc1 $t4, $f4
/* 0ACF90 800AC390 8E190014 */ lw $t9, 0x14($s0)
/* 0ACF94 800AC394 468021A0 */ cvt.s.w $f6, $f4
/* 0ACF98 800AC398 02A03025 */ move $a2, $s5
/* 0ACF9C 800AC39C 46143202 */ mul.s $f8, $f6, $f20
/* 0ACFA0 800AC3A0 E7A80068 */ swc1 $f8, 0x68($sp)
/* 0ACFA4 800AC3A4 8C4D0008 */ lw $t5, 8($v0)
/* 0ACFA8 800AC3A8 00000000 */ nop
/* 0ACFAC 800AC3AC 01A87023 */ subu $t6, $t5, $t0
/* 0ACFB0 800AC3B0 01CFC024 */ and $t8, $t6, $t7
/* 0ACFB4 800AC3B4 03194821 */ addu $t1, $t8, $t9
/* 0ACFB8 800AC3B8 44895000 */ mtc1 $t1, $f10
/* 0ACFBC 800AC3BC 00000000 */ nop
/* 0ACFC0 800AC3C0 46805420 */ cvt.s.w $f16, $f10
/* 0ACFC4 800AC3C4 46148482 */ mul.s $f18, $f16, $f20
/* 0ACFC8 800AC3C8 0C01BDBB */ jal f32_matrix_dot
/* 0ACFCC 800AC3CC E7B2006C */ swc1 $f18, 0x6c($sp)
/* 0ACFD0 800AC3D0 444AF800 */ cfc1 $t2, $31
/* 0ACFD4 800AC3D4 C7A4006C */ lwc1 $f4, 0x6c($sp)
/* 0ACFD8 800AC3D8 35410003 */ ori $at, $t2, 3
/* 0ACFDC 800AC3DC 38210002 */ xori $at, $at, 2
/* 0ACFE0 800AC3E0 44C1F800 */ ctc1 $at, $31
/* 0ACFE4 800AC3E4 86CD0000 */ lh $t5, ($s6)
/* 0ACFE8 800AC3E8 460021A4 */ cvt.w.s $f6, $f4
/* 0ACFEC 800AC3EC 44023000 */ mfc1 $v0, $f6
/* 0ACFF0 800AC3F0 44CAF800 */ ctc1 $t2, $31
/* 0ACFF4 800AC3F4 00025C00 */ sll $t3, $v0, 0x10
/* 0ACFF8 800AC3F8 000B6403 */ sra $t4, $t3, 0x10
/* 0ACFFC 800AC3FC 018D082A */ slt $at, $t4, $t5
/* 0AD000 800AC400 10200054 */ beqz $at, .L800AC554
/* 0AD004 800AC404 A7AC0074 */ sh $t4, 0x74($sp)
/* 0AD008 800AC408 8ECE0004 */ lw $t6, 4($s6)
/* 0AD00C 800AC40C A7AC0074 */ sh $t4, 0x74($sp)
/* 0AD010 800AC410 01CC082A */ slt $at, $t6, $t4
/* 0AD014 800AC414 1020004F */ beqz $at, .L800AC554
/* 0AD018 800AC418 00000000 */ nop
/* 0AD01C 800AC41C 444FF800 */ cfc1 $t7, $31
/* 0AD020 800AC420 C7A80064 */ lwc1 $f8, 0x64($sp)
/* 0AD024 800AC424 35E10003 */ ori $at, $t7, 3
/* 0AD028 800AC428 38210002 */ xori $at, $at, 2
/* 0AD02C 800AC42C 44C1F800 */ ctc1 $at, $31
/* 0AD030 800AC430 C7B00068 */ lwc1 $f16, 0x68($sp)
/* 0AD034 800AC434 460042A4 */ cvt.w.s $f10, $f8
/* 0AD038 800AC438 860A0024 */ lh $t2, 0x24($s0)
/* 0AD03C 800AC43C 44CFF800 */ ctc1 $t7, $31
/* 0AD040 800AC440 440C5000 */ mfc1 $t4, $f10
/* 0AD044 800AC444 26310028 */ addiu $s1, $s1, 0x28
/* 0AD048 800AC448 4459F800 */ cfc1 $t9, $31
/* 0AD04C 800AC44C A7AC0070 */ sh $t4, 0x70($sp)
/* 0AD050 800AC450 37210003 */ ori $at, $t9, 3
/* 0AD054 800AC454 38210002 */ xori $at, $at, 2
/* 0AD058 800AC458 44C1F800 */ ctc1 $at, $31
/* 0AD05C 800AC45C 018A6823 */ subu $t5, $t4, $t2
/* 0AD060 800AC460 460084A4 */ cvt.w.s $f18, $f16
/* 0AD064 800AC464 44099000 */ mfc1 $t1, $f18
/* 0AD068 800AC468 44D9F800 */ ctc1 $t9, $31
/* 0AD06C 800AC46C A7A90072 */ sh $t1, 0x72($sp)
/* 0AD070 800AC470 A62DFFD8 */ sh $t5, -0x28($s1)
/* 0AD074 800AC474 860F0026 */ lh $t7, 0x26($s0)
/* 0AD078 800AC478 87AE0072 */ lh $t6, 0x72($sp)
/* 0AD07C 800AC47C 00000000 */ nop
/* 0AD080 800AC480 01CFC821 */ addu $t9, $t6, $t7
/* 0AD084 800AC484 A639FFDA */ sh $t9, -0x26($s1)
/* 0AD088 800AC488 87A90074 */ lh $t1, 0x74($sp)
/* 0AD08C 800AC48C 00000000 */ nop
/* 0AD090 800AC490 A629FFDC */ sh $t1, -0x24($s1)
/* 0AD094 800AC494 860B0024 */ lh $t3, 0x24($s0)
/* 0AD098 800AC498 87B80070 */ lh $t8, 0x70($sp)
/* 0AD09C 800AC49C 00000000 */ nop
/* 0AD0A0 800AC4A0 030B6021 */ addu $t4, $t8, $t3
/* 0AD0A4 800AC4A4 A62CFFE2 */ sh $t4, -0x1e($s1)
/* 0AD0A8 800AC4A8 860D0026 */ lh $t5, 0x26($s0)
/* 0AD0AC 800AC4AC 87AA0072 */ lh $t2, 0x72($sp)
/* 0AD0B0 800AC4B0 00000000 */ nop
/* 0AD0B4 800AC4B4 014D7021 */ addu $t6, $t2, $t5
/* 0AD0B8 800AC4B8 A62EFFE4 */ sh $t6, -0x1c($s1)
/* 0AD0BC 800AC4BC 87AF0074 */ lh $t7, 0x74($sp)
/* 0AD0C0 800AC4C0 00000000 */ nop
/* 0AD0C4 800AC4C4 A62FFFE6 */ sh $t7, -0x1a($s1)
/* 0AD0C8 800AC4C8 86090024 */ lh $t1, 0x24($s0)
/* 0AD0CC 800AC4CC 87B90070 */ lh $t9, 0x70($sp)
/* 0AD0D0 800AC4D0 00000000 */ nop
/* 0AD0D4 800AC4D4 0329C021 */ addu $t8, $t9, $t1
/* 0AD0D8 800AC4D8 A638FFEC */ sh $t8, -0x14($s1)
/* 0AD0DC 800AC4DC 860C0026 */ lh $t4, 0x26($s0)
/* 0AD0E0 800AC4E0 87AB0072 */ lh $t3, 0x72($sp)
/* 0AD0E4 800AC4E4 00000000 */ nop
/* 0AD0E8 800AC4E8 016C5023 */ subu $t2, $t3, $t4
/* 0AD0EC 800AC4EC A62AFFEE */ sh $t2, -0x12($s1)
/* 0AD0F0 800AC4F0 87AD0074 */ lh $t5, 0x74($sp)
/* 0AD0F4 800AC4F4 00000000 */ nop
/* 0AD0F8 800AC4F8 A62DFFF0 */ sh $t5, -0x10($s1)
/* 0AD0FC 800AC4FC 860F0024 */ lh $t7, 0x24($s0)
/* 0AD100 800AC500 87AE0070 */ lh $t6, 0x70($sp)
/* 0AD104 800AC504 00000000 */ nop
/* 0AD108 800AC508 01CFC823 */ subu $t9, $t6, $t7
/* 0AD10C 800AC50C A639FFF6 */ sh $t9, -0xa($s1)
/* 0AD110 800AC510 86180026 */ lh $t8, 0x26($s0)
/* 0AD114 800AC514 87A90072 */ lh $t1, 0x72($sp)
/* 0AD118 800AC518 3C0E800E */ lui $t6, %hi(D_800E2910) # $t6, 0x800e
/* 0AD11C 800AC51C 01385823 */ subu $t3, $t1, $t8
/* 0AD120 800AC520 A62BFFF8 */ sh $t3, -8($s1)
/* 0AD124 800AC524 87AC0074 */ lh $t4, 0x74($sp)
/* 0AD128 800AC528 00000000 */ nop
/* 0AD12C 800AC52C A62CFFFA */ sh $t4, -6($s1)
/* 0AD130 800AC530 8E8A0000 */ lw $t2, ($s4)
/* 0AD134 800AC534 00000000 */ nop
/* 0AD138 800AC538 254D0004 */ addiu $t5, $t2, 4
/* 0AD13C 800AC53C AE8D0000 */ sw $t5, ($s4)
/* 0AD140 800AC540 8DCE2910 */ lw $t6, %lo(D_800E2910)($t6)
/* 0AD144 800AC544 000DC883 */ sra $t9, $t5, 2
/* 0AD148 800AC548 00194840 */ sll $t1, $t9, 1
/* 0AD14C 800AC54C 01C9C021 */ addu $t8, $t6, $t1
/* 0AD150 800AC550 A7120000 */ sh $s2, ($t8)
.L800AC554:
/* 0AD154 800AC554 3C0B8012 */ lui $t3, %hi(D_80127BB4) # $t3, 0x8012
/* 0AD158 800AC558 8D6B7BB4 */ lw $t3, %lo(D_80127BB4)($t3)
/* 0AD15C 800AC55C 26520001 */ addiu $s2, $s2, 1
/* 0AD160 800AC560 024B082A */ slt $at, $s2, $t3
/* 0AD164 800AC564 1420FF71 */ bnez $at, .L800AC32C
/* 0AD168 800AC568 26730010 */ addiu $s3, $s3, 0x10
.L800AC56C:
/* 0AD16C 800AC56C 8FBF0044 */ lw $ra, 0x44($sp)
/* 0AD170 800AC570 C7B50018 */ lwc1 $f21, 0x18($sp)
/* 0AD174 800AC574 C7B4001C */ lwc1 $f20, 0x1c($sp)
/* 0AD178 800AC578 8FB00020 */ lw $s0, 0x20($sp)
/* 0AD17C 800AC57C 8FB10024 */ lw $s1, 0x24($sp)
/* 0AD180 800AC580 8FB20028 */ lw $s2, 0x28($sp)
/* 0AD184 800AC584 8FB3002C */ lw $s3, 0x2c($sp)
/* 0AD188 800AC588 8FB40030 */ lw $s4, 0x30($sp)
/* 0AD18C 800AC58C 8FB50034 */ lw $s5, 0x34($sp)
/* 0AD190 800AC590 8FB60038 */ lw $s6, 0x38($sp)
/* 0AD194 800AC594 8FB7003C */ lw $s7, 0x3c($sp)
/* 0AD198 800AC598 8FBE0040 */ lw $fp, 0x40($sp)
/* 0AD19C 800AC59C 03E00008 */ jr $ra
/* 0AD1A0 800AC5A0 27BD0078 */ addiu $sp, $sp, 0x78
-350
View File
@@ -1,350 +0,0 @@
glabel func_800ACA20
/* 0AD620 800ACA20 27BDFF10 */ addiu $sp, $sp, -0xf0
/* 0AD624 800ACA24 AFB60050 */ sw $s6, 0x50($sp)
/* 0AD628 800ACA28 3C16800E */ lui $s6, %hi(gLensFlare) # $s6, 0x800e
/* 0AD62C 800ACA2C 26D62A80 */ addiu $s6, %lo(gLensFlare) # addiu $s6, $s6, 0x2a80
/* 0AD630 800ACA30 8ECF0000 */ lw $t7, ($s6)
/* 0AD634 800ACA34 AFB70054 */ sw $s7, 0x54($sp)
/* 0AD638 800ACA38 AFB5004C */ sw $s5, 0x4c($sp)
/* 0AD63C 800ACA3C AFB1003C */ sw $s1, 0x3c($sp)
/* 0AD640 800ACA40 AFB00038 */ sw $s0, 0x38($sp)
/* 0AD644 800ACA44 00E08025 */ move $s0, $a3
/* 0AD648 800ACA48 00808825 */ move $s1, $a0
/* 0AD64C 800ACA4C 00A0A825 */ move $s5, $a1
/* 0AD650 800ACA50 00C0B825 */ move $s7, $a2
/* 0AD654 800ACA54 AFBF005C */ sw $ra, 0x5c($sp)
/* 0AD658 800ACA58 AFBE0058 */ sw $fp, 0x58($sp)
/* 0AD65C 800ACA5C AFB40048 */ sw $s4, 0x48($sp)
/* 0AD660 800ACA60 AFB30044 */ sw $s3, 0x44($sp)
/* 0AD664 800ACA64 AFB20040 */ sw $s2, 0x40($sp)
/* 0AD668 800ACA68 E7B90030 */ swc1 $f25, 0x30($sp)
/* 0AD66C 800ACA6C E7B80034 */ swc1 $f24, 0x34($sp)
/* 0AD670 800ACA70 E7B70028 */ swc1 $f23, 0x28($sp)
/* 0AD674 800ACA74 E7B6002C */ swc1 $f22, 0x2c($sp)
/* 0AD678 800ACA78 E7B50020 */ swc1 $f21, 0x20($sp)
/* 0AD67C 800ACA7C 11E00126 */ beqz $t7, .L800ACF18
/* 0AD680 800ACA80 E7B40024 */ swc1 $f20, 0x24($sp)
/* 0AD684 800ACA84 3C19800E */ lui $t9, %hi(gLensFlareOff) # $t9, 0x800e
/* 0AD688 800ACA88 8F392A84 */ lw $t9, %lo(gLensFlareOff)($t9)
/* 0AD68C 800ACA8C 00000000 */ nop
/* 0AD690 800ACA90 17200122 */ bnez $t9, .L800ACF1C
/* 0AD694 800ACA94 8FBF005C */ lw $ra, 0x5c($sp)
/* 0AD698 800ACA98 0C019884 */ jal get_viewport_count
/* 0AD69C 800ACA9C 00000000 */ nop
/* 0AD6A0 800ACAA0 1440011D */ bnez $v0, .L800ACF18
/* 0AD6A4 800ACAA4 3C01BF80 */ li $at, 0xBF800000 # -1.000000
/* 0AD6A8 800ACAA8 8ECE0000 */ lw $t6, ($s6)
/* 0AD6AC 800ACAAC 4480A000 */ mtc1 $zero, $f20
/* 0AD6B0 800ACAB0 8DCB003C */ lw $t3, 0x3c($t6)
/* 0AD6B4 800ACAB4 44815000 */ mtc1 $at, $f10
/* 0AD6B8 800ACAB8 E7B400D8 */ swc1 $f20, 0xd8($sp)
/* 0AD6BC 800ACABC E7B400DC */ swc1 $f20, 0xdc($sp)
/* 0AD6C0 800ACAC0 AFAB0098 */ sw $t3, 0x98($sp)
/* 0AD6C4 800ACAC4 0C01A769 */ jal get_projection_matrix_f32
/* 0AD6C8 800ACAC8 E7AA00E0 */ swc1 $f10, 0xe0($sp)
/* 0AD6CC 800ACACC 27A500D8 */ addiu $a1, $sp, 0xd8
/* 0AD6D0 800ACAD0 00A03025 */ move $a2, $a1
/* 0AD6D4 800ACAD4 0C01BDBB */ jal f32_matrix_dot
/* 0AD6D8 800ACAD8 00402025 */ move $a0, $v0
/* 0AD6DC 800ACADC 3C1E8012 */ lui $fp, %hi(gLensFlarePos) # $fp, 0x8012
/* 0AD6E0 800ACAE0 27DE7C30 */ addiu $fp, %lo(gLensFlarePos) # addiu $fp, $fp, 0x7c30
/* 0AD6E4 800ACAE4 C7C60000 */ lwc1 $f6, ($fp)
/* 0AD6E8 800ACAE8 C7A400D8 */ lwc1 $f4, 0xd8($sp)
/* 0AD6EC 800ACAEC C7CA0004 */ lwc1 $f10, 4($fp)
/* 0AD6F0 800ACAF0 46043202 */ mul.s $f8, $f6, $f4
/* 0AD6F4 800ACAF4 C7A600DC */ lwc1 $f6, 0xdc($sp)
/* 0AD6F8 800ACAF8 02202025 */ move $a0, $s1
/* 0AD6FC 800ACAFC 02A02825 */ move $a1, $s5
/* 0AD700 800ACB00 46065102 */ mul.s $f4, $f10, $f6
/* 0AD704 800ACB04 C7A600E0 */ lwc1 $f6, 0xe0($sp)
/* 0AD708 800ACB08 46044280 */ add.s $f10, $f8, $f4
/* 0AD70C 800ACB0C C7C80008 */ lwc1 $f8, 8($fp)
/* 0AD710 800ACB10 00000000 */ nop
/* 0AD714 800ACB14 46083102 */ mul.s $f4, $f6, $f8
/* 0AD718 800ACB18 460A2480 */ add.s $f18, $f4, $f10
/* 0AD71C 800ACB1C 4612A03C */ c.lt.s $f20, $f18
/* 0AD720 800ACB20 00000000 */ nop
/* 0AD724 800ACB24 450000FD */ bc1f .L800ACF1C
/* 0AD728 800ACB28 8FBF005C */ lw $ra, 0x5c($sp)
/* 0AD72C 800ACB2C 0C019B37 */ jal func_80066CDC
/* 0AD730 800ACB30 E7B200C8 */ swc1 $f18, 0xc8($sp)
/* 0AD734 800ACB34 02202025 */ move $a0, $s1
/* 0AD738 800ACB38 0C01A102 */ jal matrix_world_origin
/* 0AD73C 800ACB3C 02A02825 */ move $a1, $s5
/* 0AD740 800ACB40 3C014000 */ li $at, 0x40000000 # 2.000000
/* 0AD744 800ACB44 4481C000 */ mtc1 $at, $f24
/* 0AD748 800ACB48 3C014380 */ li $at, 0x43800000 # 256.000000
/* 0AD74C 800ACB4C 44813000 */ mtc1 $at, $f6
/* 0AD750 800ACB50 C7CC0000 */ lwc1 $f12, ($fp)
/* 0AD754 800ACB54 C604000C */ lwc1 $f4, 0xc($s0)
/* 0AD758 800ACB58 46066202 */ mul.s $f8, $f12, $f6
/* 0AD75C 800ACB5C 44813000 */ mtc1 $at, $f6
/* 0AD760 800ACB60 C7CE0004 */ lwc1 $f14, 4($fp)
/* 0AD764 800ACB64 C7C20008 */ lwc1 $f2, 8($fp)
/* 0AD768 800ACB68 46044280 */ add.s $f10, $f8, $f4
/* 0AD76C 800ACB6C C7B200C8 */ lwc1 $f18, 0xc8($sp)
/* 0AD770 800ACB70 46067202 */ mul.s $f8, $f14, $f6
/* 0AD774 800ACB74 E7AA00CC */ swc1 $f10, 0xcc($sp)
/* 0AD778 800ACB78 C6040010 */ lwc1 $f4, 0x10($s0)
/* 0AD77C 800ACB7C 44813000 */ mtc1 $at, $f6
/* 0AD780 800ACB80 46044280 */ add.s $f10, $f8, $f4
/* 0AD784 800ACB84 00009025 */ move $s2, $zero
/* 0AD788 800ACB88 46061202 */ mul.s $f8, $f2, $f6
/* 0AD78C 800ACB8C E7AA00D0 */ swc1 $f10, 0xd0($sp)
/* 0AD790 800ACB90 C6040014 */ lwc1 $f4, 0x14($s0)
/* 0AD794 800ACB94 C7A600D8 */ lwc1 $f6, 0xd8($sp)
/* 0AD798 800ACB98 46129502 */ mul.s $f20, $f18, $f18
/* 0AD79C 800ACB9C 46044280 */ add.s $f10, $f8, $f4
/* 0AD7A0 800ACBA0 A7A000A4 */ sh $zero, 0xa4($sp)
/* 0AD7A4 800ACBA4 E7AA00D4 */ swc1 $f10, 0xd4($sp)
/* 0AD7A8 800ACBA8 4614A582 */ mul.s $f22, $f20, $f20
/* 0AD7AC 800ACBAC C7AA00DC */ lwc1 $f10, 0xdc($sp)
/* 0AD7B0 800ACBB0 A7A000A6 */ sh $zero, 0xa6($sp)
/* 0AD7B4 800ACBB4 A7A000A8 */ sh $zero, 0xa8($sp)
/* 0AD7B8 800ACBB8 4612C402 */ mul.s $f16, $f24, $f18
/* 0AD7BC 800ACBBC 3C14FA00 */ lui $s4, 0xfa00
/* 0AD7C0 800ACBC0 27B300A4 */ addiu $s3, $sp, 0xa4
/* 0AD7C4 800ACBC4 24020001 */ li $v0, 1
/* 0AD7C8 800ACBC8 46068202 */ mul.s $f8, $f16, $f6
/* 0AD7CC 800ACBCC 460C4101 */ sub.s $f4, $f8, $f12
/* 0AD7D0 800ACBD0 460A8182 */ mul.s $f6, $f16, $f10
/* 0AD7D4 800ACBD4 E7A400D8 */ swc1 $f4, 0xd8($sp)
/* 0AD7D8 800ACBD8 C7A400E0 */ lwc1 $f4, 0xe0($sp)
/* 0AD7DC 800ACBDC 00000000 */ nop
/* 0AD7E0 800ACBE0 46048282 */ mul.s $f10, $f16, $f4
/* 0AD7E4 800ACBE4 460E3201 */ sub.s $f8, $f6, $f14
/* 0AD7E8 800ACBE8 E7A800DC */ swc1 $f8, 0xdc($sp)
/* 0AD7EC 800ACBEC 46025181 */ sub.s $f6, $f10, $f2
/* 0AD7F0 800ACBF0 E7A600E0 */ swc1 $f6, 0xe0($sp)
.L800ACBF4:
/* 0AD7F4 800ACBF4 16400004 */ bnez $s2, .L800ACC08
/* 0AD7F8 800ACBF8 3C108012 */ lui $s0, %hi(gLensFlareLarge) # $s0, 0x8012
/* 0AD7FC 800ACBFC 8E107C2C */ lw $s0, %lo(gLensFlareLarge)($s0)
/* 0AD800 800ACC00 10000009 */ b .L800ACC28
/* 0AD804 800ACC04 00000000 */ nop
.L800ACC08:
/* 0AD808 800ACC08 16420005 */ bne $s2, $v0, .L800ACC20
/* 0AD80C 800ACC0C 3C108012 */ lui $s0, %hi(gLensFlareSet2) # $s0, 0x8012
/* 0AD810 800ACC10 3C108012 */ lui $s0, %hi(gLensFlareSet1) # $s0, 0x8012
/* 0AD814 800ACC14 8E107C24 */ lw $s0, %lo(gLensFlareSet1)($s0)
/* 0AD818 800ACC18 10000003 */ b .L800ACC28
/* 0AD81C 800ACC1C 00000000 */ nop
.L800ACC20:
/* 0AD820 800ACC20 8E107C28 */ lw $s0, %lo(gLensFlareSet2)($s0)
/* 0AD824 800ACC24 00000000 */ nop
.L800ACC28:
/* 0AD828 800ACC28 12000058 */ beqz $s0, .L800ACD8C
/* 0AD82C 800ACC2C 00000000 */ nop
/* 0AD830 800ACC30 8E0D0000 */ lw $t5, ($s0)
/* 0AD834 800ACC34 00000000 */ nop
/* 0AD838 800ACC38 19A00054 */ blez $t5, .L800ACD8C
/* 0AD83C 800ACC3C 00000000 */ nop
.L800ACC40:
/* 0AD840 800ACC40 C7A800CC */ lwc1 $f8, 0xcc($sp)
/* 0AD844 800ACC44 C7A400D0 */ lwc1 $f4, 0xd0($sp)
/* 0AD848 800ACC48 C7AA00D4 */ lwc1 $f10, 0xd4($sp)
/* 0AD84C 800ACC4C E7A800B0 */ swc1 $f8, 0xb0($sp)
/* 0AD850 800ACC50 E7A400B4 */ swc1 $f4, 0xb4($sp)
/* 0AD854 800ACC54 12400016 */ beqz $s2, .L800ACCB0
/* 0AD858 800ACC58 E7AA00B8 */ swc1 $f10, 0xb8($sp)
/* 0AD85C 800ACC5C C606000C */ lwc1 $f6, 0xc($s0)
/* 0AD860 800ACC60 E7A80060 */ swc1 $f8, 0x60($sp)
/* 0AD864 800ACC64 C7A800D8 */ lwc1 $f8, 0xd8($sp)
/* 0AD868 800ACC68 00000000 */ nop
/* 0AD86C 800ACC6C 46083182 */ mul.s $f6, $f6, $f8
/* 0AD870 800ACC70 C7A80060 */ lwc1 $f8, 0x60($sp)
/* 0AD874 800ACC74 00000000 */ nop
/* 0AD878 800ACC78 46064200 */ add.s $f8, $f8, $f6
/* 0AD87C 800ACC7C E7A800B0 */ swc1 $f8, 0xb0($sp)
/* 0AD880 800ACC80 C606000C */ lwc1 $f6, 0xc($s0)
/* 0AD884 800ACC84 C7A800DC */ lwc1 $f8, 0xdc($sp)
/* 0AD888 800ACC88 00000000 */ nop
/* 0AD88C 800ACC8C 46083182 */ mul.s $f6, $f6, $f8
/* 0AD890 800ACC90 46062200 */ add.s $f8, $f4, $f6
/* 0AD894 800ACC94 C7A600E0 */ lwc1 $f6, 0xe0($sp)
/* 0AD898 800ACC98 E7A800B4 */ swc1 $f8, 0xb4($sp)
/* 0AD89C 800ACC9C C604000C */ lwc1 $f4, 0xc($s0)
/* 0AD8A0 800ACCA0 00000000 */ nop
/* 0AD8A4 800ACCA4 46062202 */ mul.s $f8, $f4, $f6
/* 0AD8A8 800ACCA8 46085100 */ add.s $f4, $f10, $f8
/* 0AD8AC 800ACCAC E7A400B8 */ swc1 $f4, 0xb8($sp)
.L800ACCB0:
/* 0AD8B0 800ACCB0 C6060008 */ lwc1 $f6, 8($s0)
/* 0AD8B4 800ACCB4 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0AD8B8 800ACCB8 46143282 */ mul.s $f10, $f6, $f20
/* 0AD8BC 800ACCBC E7AA00AC */ swc1 $f10, 0xac($sp)
/* 0AD8C0 800ACCC0 8E220000 */ lw $v0, ($s1)
/* 0AD8C4 800ACCC4 00000000 */ nop
/* 0AD8C8 800ACCC8 24580008 */ addiu $t8, $v0, 8
/* 0AD8CC 800ACCCC AE380000 */ sw $t8, ($s1)
/* 0AD8D0 800ACCD0 AC540000 */ sw $s4, ($v0)
/* 0AD8D4 800ACCD4 920B0005 */ lbu $t3, 5($s0)
/* 0AD8D8 800ACCD8 920F0004 */ lbu $t7, 4($s0)
/* 0AD8DC 800ACCDC 000B6C00 */ sll $t5, $t3, 0x10
/* 0AD8E0 800ACCE0 000FCE00 */ sll $t9, $t7, 0x18
/* 0AD8E4 800ACCE4 032DC025 */ or $t8, $t9, $t5
/* 0AD8E8 800ACCE8 92190007 */ lbu $t9, 7($s0)
/* 0AD8EC 800ACCEC 920F0006 */ lbu $t7, 6($s0)
/* 0AD8F0 800ACCF0 44994000 */ mtc1 $t9, $f8
/* 0AD8F4 800ACCF4 000F7200 */ sll $t6, $t7, 8
/* 0AD8F8 800ACCF8 030E5825 */ or $t3, $t8, $t6
/* 0AD8FC 800ACCFC 07210004 */ bgez $t9, .L800ACD10
/* 0AD900 800ACD00 46804120 */ cvt.s.w $f4, $f8
/* 0AD904 800ACD04 44813000 */ mtc1 $at, $f6
/* 0AD908 800ACD08 00000000 */ nop
/* 0AD90C 800ACD0C 46062100 */ add.s $f4, $f4, $f6
.L800ACD10:
/* 0AD910 800ACD10 46162282 */ mul.s $f10, $f4, $f22
/* 0AD914 800ACD14 02202025 */ move $a0, $s1
/* 0AD918 800ACD18 02A02825 */ move $a1, $s5
/* 0AD91C 800ACD1C 02E03025 */ move $a2, $s7
/* 0AD920 800ACD20 444DF800 */ cfc1 $t5, $31
/* 0AD924 800ACD24 02603825 */ move $a3, $s3
/* 0AD928 800ACD28 35A10003 */ ori $at, $t5, 3
/* 0AD92C 800ACD2C 38210002 */ xori $at, $at, 2
/* 0AD930 800ACD30 44C1F800 */ ctc1 $at, $31
/* 0AD934 800ACD34 00000000 */ nop
/* 0AD938 800ACD38 46005224 */ cvt.w.s $f8, $f10
/* 0AD93C 800ACD3C 440C4000 */ mfc1 $t4, $f8
/* 0AD940 800ACD40 44CDF800 */ ctc1 $t5, $31
/* 0AD944 800ACD44 318F00FF */ andi $t7, $t4, 0xff
/* 0AD948 800ACD48 016FC025 */ or $t8, $t3, $t7
/* 0AD94C 800ACD4C AC580004 */ sw $t8, 4($v0)
/* 0AD950 800ACD50 8ECE0000 */ lw $t6, ($s6)
/* 0AD954 800ACD54 8E0D0000 */ lw $t5, ($s0)
/* 0AD958 800ACD58 8DD90068 */ lw $t9, 0x68($t6)
/* 0AD95C 800ACD5C 000D6080 */ sll $t4, $t5, 2
/* 0AD960 800ACD60 032C5821 */ addu $t3, $t9, $t4
/* 0AD964 800ACD64 8D6F0000 */ lw $t7, ($t3)
/* 0AD968 800ACD68 24180104 */ li $t8, 260
/* 0AD96C 800ACD6C AFB80014 */ sw $t8, 0x14($sp)
/* 0AD970 800ACD70 0C01A145 */ jal render_sprite_billboard
/* 0AD974 800ACD74 AFAF0010 */ sw $t7, 0x10($sp)
/* 0AD978 800ACD78 8E0E0010 */ lw $t6, 0x10($s0)
/* 0AD97C 800ACD7C 26100010 */ addiu $s0, $s0, 0x10
/* 0AD980 800ACD80 1DC0FFAF */ bgtz $t6, .L800ACC40
/* 0AD984 800ACD84 00000000 */ nop
/* 0AD988 800ACD88 24020001 */ li $v0, 1
.L800ACD8C:
/* 0AD98C 800ACD8C 16420019 */ bne $s2, $v0, .L800ACDF4
/* 0AD990 800ACD90 24010003 */ li $at, 3
/* 0AD994 800ACD94 C7CC0000 */ lwc1 $f12, ($fp)
/* 0AD998 800ACD98 C7A600D8 */ lwc1 $f6, 0xd8($sp)
/* 0AD99C 800ACD9C C7CE0004 */ lwc1 $f14, 4($fp)
/* 0AD9A0 800ACDA0 460C3102 */ mul.s $f4, $f6, $f12
/* 0AD9A4 800ACDA4 C7AA00DC */ lwc1 $f10, 0xdc($sp)
/* 0AD9A8 800ACDA8 C7C20008 */ lwc1 $f2, 8($fp)
/* 0AD9AC 800ACDAC E7A60060 */ swc1 $f6, 0x60($sp)
/* 0AD9B0 800ACDB0 460E5202 */ mul.s $f8, $f10, $f14
/* 0AD9B4 800ACDB4 46082100 */ add.s $f4, $f4, $f8
/* 0AD9B8 800ACDB8 C7A800E0 */ lwc1 $f8, 0xe0($sp)
/* 0AD9BC 800ACDBC 00000000 */ nop
/* 0AD9C0 800ACDC0 46081182 */ mul.s $f6, $f2, $f8
/* 0AD9C4 800ACDC4 46043180 */ add.s $f6, $f6, $f4
/* 0AD9C8 800ACDC8 46183002 */ mul.s $f0, $f6, $f24
/* 0AD9CC 800ACDCC C7A60060 */ lwc1 $f6, 0x60($sp)
/* 0AD9D0 800ACDD0 460C0102 */ mul.s $f4, $f0, $f12
/* 0AD9D4 800ACDD4 46062101 */ sub.s $f4, $f4, $f6
/* 0AD9D8 800ACDD8 460E0182 */ mul.s $f6, $f0, $f14
/* 0AD9DC 800ACDDC E7A400D8 */ swc1 $f4, 0xd8($sp)
/* 0AD9E0 800ACDE0 460A3101 */ sub.s $f4, $f6, $f10
/* 0AD9E4 800ACDE4 46020182 */ mul.s $f6, $f0, $f2
/* 0AD9E8 800ACDE8 E7A400DC */ swc1 $f4, 0xdc($sp)
/* 0AD9EC 800ACDEC 46083281 */ sub.s $f10, $f6, $f8
/* 0AD9F0 800ACDF0 E7AA00E0 */ swc1 $f10, 0xe0($sp)
.L800ACDF4:
/* 0AD9F4 800ACDF4 26520001 */ addiu $s2, $s2, 1
/* 0AD9F8 800ACDF8 1641FF7E */ bne $s2, $at, .L800ACBF4
/* 0AD9FC 800ACDFC 00000000 */ nop
/* 0ADA00 800ACE00 0C01E948 */ jal get_video_width_and_height_as_s32
/* 0ADA04 800ACE04 00000000 */ nop
/* 0ADA08 800ACE08 8E230000 */ lw $v1, ($s1)
/* 0ADA0C 800ACE0C 8FAA0098 */ lw $t2, 0x98($sp)
/* 0ADA10 800ACE10 00602025 */ move $a0, $v1
/* 0ADA14 800ACE14 3C0C800E */ lui $t4, %hi(dLensFlare) # $t4, 0x800e
/* 0ADA18 800ACE18 258C2928 */ addiu $t4, %lo(dLensFlare) # addiu $t4, $t4, 0x2928
/* 0ADA1C 800ACE1C 3C190600 */ lui $t9, 0x600
/* 0ADA20 800ACE20 24630008 */ addiu $v1, $v1, 8
/* 0ADA24 800ACE24 00024403 */ sra $t0, $v0, 0x10
/* 0ADA28 800ACE28 AC990000 */ sw $t9, ($a0)
/* 0ADA2C 800ACE2C AC8C0004 */ sw $t4, 4($a0)
/* 0ADA30 800ACE30 00602825 */ move $a1, $v1
/* 0ADA34 800ACE34 310DFFFF */ andi $t5, $t0, 0xffff
/* 0ADA38 800ACE38 ACB40000 */ sw $s4, ($a1)
/* 0ADA3C 800ACE3C 01A04025 */ move $t0, $t5
/* 0ADA40 800ACE40 914D0011 */ lbu $t5, 0x11($t2)
/* 0ADA44 800ACE44 914F0010 */ lbu $t7, 0x10($t2)
/* 0ADA48 800ACE48 000DCC00 */ sll $t9, $t5, 0x10
/* 0ADA4C 800ACE4C 000FC600 */ sll $t8, $t7, 0x18
/* 0ADA50 800ACE50 03196025 */ or $t4, $t8, $t9
/* 0ADA54 800ACE54 91580013 */ lbu $t8, 0x13($t2)
/* 0ADA58 800ACE58 914F0012 */ lbu $t7, 0x12($t2)
/* 0ADA5C 800ACE5C 44982000 */ mtc1 $t8, $f4
/* 0ADA60 800ACE60 000F7200 */ sll $t6, $t7, 8
/* 0ADA64 800ACE64 3049FFFF */ andi $t1, $v0, 0xffff
/* 0ADA68 800ACE68 018E6825 */ or $t5, $t4, $t6
/* 0ADA6C 800ACE6C 24630008 */ addiu $v1, $v1, 8
/* 0ADA70 800ACE70 07010005 */ bgez $t8, .L800ACE88
/* 0ADA74 800ACE74 468021A0 */ cvt.s.w $f6, $f4
/* 0ADA78 800ACE78 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000
/* 0ADA7C 800ACE7C 44814000 */ mtc1 $at, $f8
/* 0ADA80 800ACE80 00000000 */ nop
/* 0ADA84 800ACE84 46083180 */ add.s $f6, $f6, $f8
.L800ACE88:
/* 0ADA88 800ACE88 46163282 */ mul.s $f10, $f6, $f22
/* 0ADA8C 800ACE8C 00603025 */ move $a2, $v1
/* 0ADA90 800ACE90 3C0EFCFF */ lui $t6, (0xFCFFFFFF >> 16) # lui $t6, 0xfcff
/* 0ADA94 800ACE94 3C18FFFD */ lui $t8, (0xFFFDF6FB >> 16) # lui $t8, 0xfffd
/* 0ADA98 800ACE98 4459F800 */ cfc1 $t9, $31
/* 0ADA9C 800ACE9C 3718F6FB */ ori $t8, (0xFFFDF6FB & 0xFFFF) # ori $t8, $t8, 0xf6fb
/* 0ADAA0 800ACEA0 37210003 */ ori $at, $t9, 3
/* 0ADAA4 800ACEA4 38210002 */ xori $at, $at, 2
/* 0ADAA8 800ACEA8 44C1F800 */ ctc1 $at, $31
/* 0ADAAC 800ACEAC 35CEFFFF */ ori $t6, (0xFCFFFFFF & 0xFFFF) # ori $t6, $t6, 0xffff
/* 0ADAB0 800ACEB0 46005124 */ cvt.w.s $f4, $f10
/* 0ADAB4 800ACEB4 24670008 */ addiu $a3, $v1, 8
/* 0ADAB8 800ACEB8 440B2000 */ mfc1 $t3, $f4
/* 0ADABC 800ACEBC 44D9F800 */ ctc1 $t9, $31
/* 0ADAC0 800ACEC0 316F00FF */ andi $t7, $t3, 0xff
/* 0ADAC4 800ACEC4 01AF6025 */ or $t4, $t5, $t7
/* 0ADAC8 800ACEC8 ACAC0004 */ sw $t4, 4($a1)
/* 0ADACC 800ACECC 313903FF */ andi $t9, $t1, 0x3ff
/* 0ADAD0 800ACED0 ACD80004 */ sw $t8, 4($a2)
/* 0ADAD4 800ACED4 ACCE0000 */ sw $t6, ($a2)
/* 0ADAD8 800ACED8 00195B80 */ sll $t3, $t9, 0xe
/* 0ADADC 800ACEDC 310F03FF */ andi $t7, $t0, 0x3ff
/* 0ADAE0 800ACEE0 3C01F600 */ lui $at, 0xf600
/* 0ADAE4 800ACEE4 01616825 */ or $t5, $t3, $at
/* 0ADAE8 800ACEE8 000F6080 */ sll $t4, $t7, 2
/* 0ADAEC 800ACEEC 01AC7025 */ or $t6, $t5, $t4
/* 0ADAF0 800ACEF0 24E20008 */ addiu $v0, $a3, 8
/* 0ADAF4 800ACEF4 ACEE0000 */ sw $t6, ($a3)
/* 0ADAF8 800ACEF8 ACE00004 */ sw $zero, 4($a3)
/* 0ADAFC 800ACEFC 3C18E700 */ lui $t8, 0xe700
/* 0ADB00 800ACF00 AC580000 */ sw $t8, ($v0)
/* 0ADB04 800ACF04 AC400004 */ sw $zero, 4($v0)
/* 0ADB08 800ACF08 24430008 */ addiu $v1, $v0, 8
/* 0ADB0C 800ACF0C AE230000 */ sw $v1, ($s1)
/* 0ADB10 800ACF10 0C01ECF4 */ jal reset_render_settings
/* 0ADB14 800ACF14 02202025 */ move $a0, $s1
.L800ACF18:
/* 0ADB18 800ACF18 8FBF005C */ lw $ra, 0x5c($sp)
.L800ACF1C:
/* 0ADB1C 800ACF1C C7B50020 */ lwc1 $f21, 0x20($sp)
/* 0ADB20 800ACF20 C7B40024 */ lwc1 $f20, 0x24($sp)
/* 0ADB24 800ACF24 C7B70028 */ lwc1 $f23, 0x28($sp)
/* 0ADB28 800ACF28 C7B6002C */ lwc1 $f22, 0x2c($sp)
/* 0ADB2C 800ACF2C C7B90030 */ lwc1 $f25, 0x30($sp)
/* 0ADB30 800ACF30 C7B80034 */ lwc1 $f24, 0x34($sp)
/* 0ADB34 800ACF34 8FB00038 */ lw $s0, 0x38($sp)
/* 0ADB38 800ACF38 8FB1003C */ lw $s1, 0x3c($sp)
/* 0ADB3C 800ACF3C 8FB20040 */ lw $s2, 0x40($sp)
/* 0ADB40 800ACF40 8FB30044 */ lw $s3, 0x44($sp)
/* 0ADB44 800ACF44 8FB40048 */ lw $s4, 0x48($sp)
/* 0ADB48 800ACF48 8FB5004C */ lw $s5, 0x4c($sp)
/* 0ADB4C 800ACF4C 8FB60050 */ lw $s6, 0x50($sp)
/* 0ADB50 800ACF50 8FB70054 */ lw $s7, 0x54($sp)
/* 0ADB54 800ACF54 8FBE0058 */ lw $fp, 0x58($sp)
/* 0ADB58 800ACF58 03E00008 */ jr $ra
/* 0ADB5C 800ACF5C 27BD00F0 */ addiu $sp, $sp, 0xf0
@@ -1,297 +0,0 @@
glabel render_rain_splashes
/* 0AE258 800AD658 27BDFF80 */ addiu $sp, $sp, -0x80
/* 0AE25C 800AD65C 3C0E800E */ lui $t6, %hi(gRainSplashGfx) # $t6, 0x800e
/* 0AE260 800AD660 8DCE2C8C */ lw $t6, %lo(gRainSplashGfx)($t6)
/* 0AE264 800AD664 AFB20028 */ sw $s2, 0x28($sp)
/* 0AE268 800AD668 AFBF002C */ sw $ra, 0x2c($sp)
/* 0AE26C 800AD66C AFB10024 */ sw $s1, 0x24($sp)
/* 0AE270 800AD670 AFB00020 */ sw $s0, 0x20($sp)
/* 0AE274 800AD674 AFA40080 */ sw $a0, 0x80($sp)
/* 0AE278 800AD678 11C00109 */ beqz $t6, .L800ADAA0
/* 0AE27C 800AD67C 24120001 */ li $s2, 1
/* 0AE280 800AD680 3C0F800E */ lui $t7, %hi(D_800E2C6C) # $t7, 0x800e
/* 0AE284 800AD684 8DEF2C6C */ lw $t7, %lo(D_800E2C6C)($t7)
/* 0AE288 800AD688 3C19800E */ lui $t9, %hi(gLightningFrequency) # $t9, 0x800e
/* 0AE28C 800AD68C 8F392C60 */ lw $t9, %lo(gLightningFrequency)($t9)
/* 0AE290 800AD690 000FC083 */ sra $t8, $t7, 2
/* 0AE294 800AD694 03190019 */ multu $t8, $t9
/* 0AE298 800AD698 00002025 */ move $a0, $zero
/* 0AE29C 800AD69C 00001012 */ mflo $v0
/* 0AE2A0 800AD6A0 00024383 */ sra $t0, $v0, 0xe
/* 0AE2A4 800AD6A4 29014001 */ slti $at, $t0, 0x4001
/* 0AE2A8 800AD6A8 142000C0 */ bnez $at, .L800AD9AC
/* 0AE2AC 800AD6AC 00000000 */ nop
/* 0AE2B0 800AD6B0 0C006EC6 */ jal get_racer_object_by_port
/* 0AE2B4 800AD6B4 AFA8007C */ sw $t0, 0x7c($sp)
/* 0AE2B8 800AD6B8 3C06800E */ lui $a2, %hi(D_800E2C84) # $a2, 0x800e
/* 0AE2BC 800AD6BC 24C62C84 */ addiu $a2, %lo(D_800E2C84) # addiu $a2, $a2, 0x2c84
/* 0AE2C0 800AD6C0 8CC90000 */ lw $t1, ($a2)
/* 0AE2C4 800AD6C4 8FAA0080 */ lw $t2, 0x80($sp)
/* 0AE2C8 800AD6C8 AFA20050 */ sw $v0, 0x50($sp)
/* 0AE2CC 800AD6CC 012A5823 */ subu $t3, $t1, $t2
/* 0AE2D0 800AD6D0 1D6000B6 */ bgtz $t3, .L800AD9AC
/* 0AE2D4 800AD6D4 ACCB0000 */ sw $t3, ($a2)
/* 0AE2D8 800AD6D8 104000B4 */ beqz $v0, .L800AD9AC
/* 0AE2DC 800AD6DC 00001825 */ move $v1, $zero
/* 0AE2E0 800AD6E0 000068C0 */ sll $t5, $zero, 3
/* 0AE2E4 800AD6E4 01A06823 */ subu $t5, $t5, $zero
/* 0AE2E8 800AD6E8 3C0E800E */ lui $t6, %hi(D_800E2B4C) # $t6, 0x800e
/* 0AE2EC 800AD6EC 25CE2B4C */ addiu $t6, %lo(D_800E2B4C) # addiu $t6, $t6, 0x2b4c
/* 0AE2F0 800AD6F0 000D6880 */ sll $t5, $t5, 2
/* 0AE2F4 800AD6F4 2411FFFF */ li $s1, -1
/* 0AE2F8 800AD6F8 01AE8021 */ addu $s0, $t5, $t6
.L800AD6FC:
/* 0AE2FC 800AD6FC 860F0006 */ lh $t7, 6($s0)
/* 0AE300 800AD700 00000000 */ nop
/* 0AE304 800AD704 15E00002 */ bnez $t7, .L800AD710
/* 0AE308 800AD708 00000000 */ nop
/* 0AE30C 800AD70C 00608825 */ move $s1, $v1
.L800AD710:
/* 0AE310 800AD710 24630001 */ addiu $v1, $v1, 1
/* 0AE314 800AD714 28610008 */ slti $at, $v1, 8
/* 0AE318 800AD718 10200003 */ beqz $at, .L800AD728
/* 0AE31C 800AD71C 2610001C */ addiu $s0, $s0, 0x1c
/* 0AE320 800AD720 0620FFF6 */ bltz $s1, .L800AD6FC
/* 0AE324 800AD724 00000000 */ nop
.L800AD728:
/* 0AE328 800AD728 062000A0 */ bltz $s1, .L800AD9AC
/* 0AE32C 800AD72C 2404E000 */ li $a0, -8192
/* 0AE330 800AD730 0C01BE53 */ jal get_random_number_from_range
/* 0AE334 800AD734 24052000 */ li $a1, 8192
/* 0AE338 800AD738 8FB80050 */ lw $t8, 0x50($sp)
/* 0AE33C 800AD73C 34018000 */ li $at, 32768
/* 0AE340 800AD740 87190000 */ lh $t9, ($t8)
/* 0AE344 800AD744 24040032 */ li $a0, 50
/* 0AE348 800AD748 00594021 */ addu $t0, $v0, $t9
/* 0AE34C 800AD74C 01014821 */ addu $t1, $t0, $at
/* 0AE350 800AD750 AFA9006C */ sw $t1, 0x6c($sp)
/* 0AE354 800AD754 0C01BE53 */ jal get_random_number_from_range
/* 0AE358 800AD758 240501F4 */ li $a1, 500
/* 0AE35C 800AD75C 44822000 */ mtc1 $v0, $f4
/* 0AE360 800AD760 87B0006E */ lh $s0, 0x6e($sp)
/* 0AE364 800AD764 468021A0 */ cvt.s.w $f6, $f4
/* 0AE368 800AD768 00102400 */ sll $a0, $s0, 0x10
/* 0AE36C 800AD76C 00045403 */ sra $t2, $a0, 0x10
/* 0AE370 800AD770 E7A6005C */ swc1 $f6, 0x5c($sp)
/* 0AE374 800AD774 0C01C1F1 */ jal sins_f
/* 0AE378 800AD778 01402025 */ move $a0, $t2
/* 0AE37C 800AD77C C7A8005C */ lwc1 $f8, 0x5c($sp)
/* 0AE380 800AD780 8FAB0050 */ lw $t3, 0x50($sp)
/* 0AE384 800AD784 46080282 */ mul.s $f10, $f0, $f8
/* 0AE388 800AD788 C570000C */ lwc1 $f16, 0xc($t3)
/* 0AE38C 800AD78C 00102400 */ sll $a0, $s0, 0x10
/* 0AE390 800AD790 00046403 */ sra $t4, $a0, 0x10
/* 0AE394 800AD794 46105480 */ add.s $f18, $f10, $f16
/* 0AE398 800AD798 01802025 */ move $a0, $t4
/* 0AE39C 800AD79C 0C01C1FE */ jal coss_f
/* 0AE3A0 800AD7A0 E7B20058 */ swc1 $f18, 0x58($sp)
/* 0AE3A4 800AD7A4 C7A4005C */ lwc1 $f4, 0x5c($sp)
/* 0AE3A8 800AD7A8 8FA20050 */ lw $v0, 0x50($sp)
/* 0AE3AC 800AD7AC 46040182 */ mul.s $f6, $f0, $f4
/* 0AE3B0 800AD7B0 C4480014 */ lwc1 $f8, 0x14($v0)
/* 0AE3B4 800AD7B4 C7AC0058 */ lwc1 $f12, 0x58($sp)
/* 0AE3B8 800AD7B8 C44E0010 */ lwc1 $f14, 0x10($v0)
/* 0AE3BC 800AD7BC 46083080 */ add.s $f2, $f6, $f8
/* 0AE3C0 800AD7C0 44061000 */ mfc1 $a2, $f2
/* 0AE3C4 800AD7C4 0C00A7C6 */ jal get_level_segment_index_from_position
/* 0AE3C8 800AD7C8 E7A20054 */ swc1 $f2, 0x54($sp)
/* 0AE3CC 800AD7CC 8FA50058 */ lw $a1, 0x58($sp)
/* 0AE3D0 800AD7D0 8FA60054 */ lw $a2, 0x54($sp)
/* 0AE3D4 800AD7D4 00402025 */ move $a0, $v0
/* 0AE3D8 800AD7D8 0C00AC3D */ jal func_8002B0F4
/* 0AE3DC 800AD7DC 27A7004C */ addiu $a3, $sp, 0x4c
/* 0AE3E0 800AD7E0 10400072 */ beqz $v0, .L800AD9AC
/* 0AE3E4 800AD7E4 3C01447A */ li $at, 0x447A0000 # 1000.000000
/* 0AE3E8 800AD7E8 44811000 */ mtc1 $at, $f2
/* 0AE3EC 800AD7EC 28410002 */ slti $at, $v0, 2
/* 0AE3F0 800AD7F0 1420002D */ bnez $at, .L800AD8A8
/* 0AE3F4 800AD7F4 00001825 */ move $v1, $zero
/* 0AE3F8 800AD7F8 2444FFFF */ addiu $a0, $v0, -1
/* 0AE3FC 800AD7FC 1880001A */ blez $a0, .L800AD868
/* 0AE400 800AD800 00000000 */ nop
/* 0AE404 800AD804 8FAE004C */ lw $t6, 0x4c($sp)
/* 0AE408 800AD808 8FAD0050 */ lw $t5, 0x50($sp)
/* 0AE40C 800AD80C 8DCF0000 */ lw $t7, ($t6)
/* 0AE410 800AD810 C5A00010 */ lwc1 $f0, 0x10($t5)
/* 0AE414 800AD814 C5EA0000 */ lwc1 $f10, ($t7)
/* 0AE418 800AD818 00000000 */ nop
/* 0AE41C 800AD81C 460A003C */ c.lt.s $f0, $f10
/* 0AE420 800AD820 00000000 */ nop
/* 0AE424 800AD824 45000010 */ bc1f .L800AD868
/* 0AE428 800AD828 00000000 */ nop
.L800AD82C:
/* 0AE42C 800AD82C 24630001 */ addiu $v1, $v1, 1
/* 0AE430 800AD830 0064082A */ slt $at, $v1, $a0
/* 0AE434 800AD834 1020000C */ beqz $at, .L800AD868
/* 0AE438 800AD838 00000000 */ nop
/* 0AE43C 800AD83C 8FB8004C */ lw $t8, 0x4c($sp)
/* 0AE440 800AD840 0003C880 */ sll $t9, $v1, 2
/* 0AE444 800AD844 03194021 */ addu $t0, $t8, $t9
/* 0AE448 800AD848 8D090000 */ lw $t1, ($t0)
/* 0AE44C 800AD84C 00000000 */ nop
/* 0AE450 800AD850 C5300000 */ lwc1 $f16, ($t1)
/* 0AE454 800AD854 00000000 */ nop
/* 0AE458 800AD858 4610003C */ c.lt.s $f0, $f16
/* 0AE45C 800AD85C 00000000 */ nop
/* 0AE460 800AD860 4501FFF2 */ bc1t .L800AD82C
/* 0AE464 800AD864 00000000 */ nop
.L800AD868:
/* 0AE468 800AD868 1860000F */ blez $v1, .L800AD8A8
/* 0AE46C 800AD86C 00035880 */ sll $t3, $v1, 2
/* 0AE470 800AD870 8FAA004C */ lw $t2, 0x4c($sp)
/* 0AE474 800AD874 8FAE0050 */ lw $t6, 0x50($sp)
/* 0AE478 800AD878 014B6021 */ addu $t4, $t2, $t3
/* 0AE47C 800AD87C 8D8D0000 */ lw $t5, ($t4)
/* 0AE480 800AD880 C5C40010 */ lwc1 $f4, 0x10($t6)
/* 0AE484 800AD884 C5B20000 */ lwc1 $f18, ($t5)
/* 0AE488 800AD888 44803000 */ mtc1 $zero, $f6
/* 0AE48C 800AD88C 46122081 */ sub.s $f2, $f4, $f18
/* 0AE490 800AD890 2463FFFF */ addiu $v1, $v1, -1
/* 0AE494 800AD894 4606103C */ c.lt.s $f2, $f6
/* 0AE498 800AD898 00000000 */ nop
/* 0AE49C 800AD89C 45000002 */ bc1f .L800AD8A8
/* 0AE4A0 800AD8A0 00000000 */ nop
/* 0AE4A4 800AD8A4 46001087 */ neg.s $f2, $f2
.L800AD8A8:
/* 0AE4A8 800AD8A8 8FAF004C */ lw $t7, 0x4c($sp)
/* 0AE4AC 800AD8AC 0003C080 */ sll $t8, $v1, 2
/* 0AE4B0 800AD8B0 01F81021 */ addu $v0, $t7, $t8
/* 0AE4B4 800AD8B4 8C480000 */ lw $t0, ($v0)
/* 0AE4B8 800AD8B8 8FB90050 */ lw $t9, 0x50($sp)
/* 0AE4BC 800AD8BC C50A0000 */ lwc1 $f10, ($t0)
/* 0AE4C0 800AD8C0 C7280010 */ lwc1 $f8, 0x10($t9)
/* 0AE4C4 800AD8C4 44808000 */ mtc1 $zero, $f16
/* 0AE4C8 800AD8C8 460A4001 */ sub.s $f0, $f8, $f10
/* 0AE4CC 800AD8CC 3C0A800E */ lui $t2, %hi(D_800E2B4C) # $t2, 0x800e
/* 0AE4D0 800AD8D0 4610003C */ c.lt.s $f0, $f16
/* 0AE4D4 800AD8D4 3C014348 */ li $at, 0x43480000 # 200.000000
/* 0AE4D8 800AD8D8 45000002 */ bc1f .L800AD8E4
/* 0AE4DC 800AD8DC 254A2B4C */ addiu $t2, %lo(D_800E2B4C) # addiu $t2, $t2, 0x2b4c
/* 0AE4E0 800AD8E0 46000007 */ neg.s $f0, $f0
.L800AD8E4:
/* 0AE4E4 800AD8E4 4602003C */ c.lt.s $f0, $f2
/* 0AE4E8 800AD8E8 C7A60058 */ lwc1 $f6, 0x58($sp)
/* 0AE4EC 800AD8EC 4500000A */ bc1f .L800AD918
/* 0AE4F0 800AD8F0 240C0001 */ li $t4, 1
/* 0AE4F4 800AD8F4 3C014348 */ li $at, 0x43480000 # 200.000000
/* 0AE4F8 800AD8F8 44812000 */ mtc1 $at, $f4
/* 0AE4FC 800AD8FC 00000000 */ nop
/* 0AE500 800AD900 4600203C */ c.lt.s $f4, $f0
/* 0AE504 800AD904 00000000 */ nop
/* 0AE508 800AD908 4500000A */ bc1f .L800AD934
/* 0AE50C 800AD90C 00000000 */ nop
/* 0AE510 800AD910 10000008 */ b .L800AD934
/* 0AE514 800AD914 2411FFFF */ li $s1, -1
.L800AD918:
/* 0AE518 800AD918 44819000 */ mtc1 $at, $f18
/* 0AE51C 800AD91C 24420004 */ addiu $v0, $v0, 4
/* 0AE520 800AD920 4602903C */ c.lt.s $f18, $f2
/* 0AE524 800AD924 00000000 */ nop
/* 0AE528 800AD928 45000002 */ bc1f .L800AD934
/* 0AE52C 800AD92C 00000000 */ nop
/* 0AE530 800AD930 2411FFFF */ li $s1, -1
.L800AD934:
/* 0AE534 800AD934 0620001D */ bltz $s1, .L800AD9AC
/* 0AE538 800AD938 001148C0 */ sll $t1, $s1, 3
/* 0AE53C 800AD93C 01314823 */ subu $t1, $t1, $s1
/* 0AE540 800AD940 00094880 */ sll $t1, $t1, 2
/* 0AE544 800AD944 012A8021 */ addu $s0, $t1, $t2
/* 0AE548 800AD948 E606000C */ swc1 $f6, 0xc($s0)
/* 0AE54C 800AD94C 8C4B0000 */ lw $t3, ($v0)
/* 0AE550 800AD950 8FA3007C */ lw $v1, 0x7c($sp)
/* 0AE554 800AD954 C5680000 */ lwc1 $f8, ($t3)
/* 0AE558 800AD958 C7AA0054 */ lwc1 $f10, 0x54($sp)
/* 0AE55C 800AD95C 00036A83 */ sra $t5, $v1, 0xa
/* 0AE560 800AD960 A6000018 */ sh $zero, 0x18($s0)
/* 0AE564 800AD964 A60C0006 */ sh $t4, 6($s0)
/* 0AE568 800AD968 01A01825 */ move $v1, $t5
/* 0AE56C 800AD96C 25A500BF */ addiu $a1, $t5, 0xbf
/* 0AE570 800AD970 AFAD0030 */ sw $t5, 0x30($sp)
/* 0AE574 800AD974 24040080 */ li $a0, 128
/* 0AE578 800AD978 E6080010 */ swc1 $f8, 0x10($s0)
/* 0AE57C 800AD97C 0C01BE53 */ jal get_random_number_from_range
/* 0AE580 800AD980 E60A0014 */ swc1 $f10, 0x14($s0)
/* 0AE584 800AD984 3C04800E */ lui $a0, %hi(D_800E2C84) # $a0, 0x800e
/* 0AE588 800AD988 24842C84 */ addiu $a0, %lo(D_800E2C84) # addiu $a0, $a0, 0x2c84
/* 0AE58C 800AD98C 8FA30030 */ lw $v1, 0x30($sp)
/* 0AE590 800AD990 8C8E0000 */ lw $t6, ($a0)
/* 0AE594 800AD994 A602001A */ sh $v0, 0x1a($s0)
/* 0AE598 800AD998 01C37823 */ subu $t7, $t6, $v1
/* 0AE59C 800AD99C 25F80040 */ addiu $t8, $t7, 0x40
/* 0AE5A0 800AD9A0 07010002 */ bgez $t8, .L800AD9AC
/* 0AE5A4 800AD9A4 AC980000 */ sw $t8, ($a0)
/* 0AE5A8 800AD9A8 AC800000 */ sw $zero, ($a0)
.L800AD9AC:
/* 0AE5AC 800AD9AC 3C10800E */ lui $s0, %hi(D_800E2B4C) # $s0, 0x800e
/* 0AE5B0 800AD9B0 3C118012 */ lui $s1, %hi(gCurrWeatherDisplayList) # $s1, 0x8012
/* 0AE5B4 800AD9B4 26317C0C */ addiu $s1, %lo(gCurrWeatherDisplayList) # addiu $s1, $s1, 0x7c0c
/* 0AE5B8 800AD9B8 26102B4C */ addiu $s0, %lo(D_800E2B4C) # addiu $s0, $s0, 0x2b4c
.L800AD9BC:
/* 0AE5BC 800AD9BC 86080006 */ lh $t0, 6($s0)
/* 0AE5C0 800AD9C0 8FAA0080 */ lw $t2, 0x80($sp)
/* 0AE5C4 800AD9C4 1100002A */ beqz $t0, .L800ADA70
/* 0AE5C8 800AD9C8 00000000 */ nop
/* 0AE5CC 800AD9CC 86090018 */ lh $t1, 0x18($s0)
/* 0AE5D0 800AD9D0 000A5900 */ sll $t3, $t2, 4
/* 0AE5D4 800AD9D4 012B6021 */ addu $t4, $t1, $t3
/* 0AE5D8 800AD9D8 A60C0018 */ sh $t4, 0x18($s0)
/* 0AE5DC 800AD9DC 860D0018 */ lh $t5, 0x18($s0)
/* 0AE5E0 800AD9E0 3C08FA00 */ lui $t0, 0xfa00
/* 0AE5E4 800AD9E4 29A10100 */ slti $at, $t5, 0x100
/* 0AE5E8 800AD9E8 14200003 */ bnez $at, .L800AD9F8
/* 0AE5EC 800AD9EC 02202025 */ move $a0, $s1
/* 0AE5F0 800AD9F0 1000001F */ b .L800ADA70
/* 0AE5F4 800AD9F4 A6000006 */ sh $zero, 6($s0)
.L800AD9F8:
/* 0AE5F8 800AD9F8 12400009 */ beqz $s2, .L800ADA20
/* 0AE5FC 800AD9FC 3C01C0C0 */ lui $at, (0xC0C0FF00 >> 16) # lui $at, 0xc0c0
/* 0AE600 800ADA00 8E220000 */ lw $v0, ($s1)
/* 0AE604 800ADA04 3C0FFB00 */ lui $t7, 0xfb00
/* 0AE608 800ADA08 244E0008 */ addiu $t6, $v0, 8
/* 0AE60C 800ADA0C AE2E0000 */ sw $t6, ($s1)
/* 0AE610 800ADA10 2418FF00 */ li $t8, -256
/* 0AE614 800ADA14 00009025 */ move $s2, $zero
/* 0AE618 800ADA18 AC580004 */ sw $t8, 4($v0)
/* 0AE61C 800ADA1C AC4F0000 */ sw $t7, ($v0)
.L800ADA20:
/* 0AE620 800ADA20 8E220000 */ lw $v0, ($s1)
/* 0AE624 800ADA24 3421FF00 */ ori $at, (0xC0C0FF00 & 0xFFFF) # ori $at, $at, 0xff00
/* 0AE628 800ADA28 24590008 */ addiu $t9, $v0, 8
/* 0AE62C 800ADA2C AE390000 */ sw $t9, ($s1)
/* 0AE630 800ADA30 AC480000 */ sw $t0, ($v0)
/* 0AE634 800ADA34 860A001A */ lh $t2, 0x1a($s0)
/* 0AE638 800ADA38 3C0C800E */ lui $t4, %hi(gRainSplashGfx) # $t4, 0x800e
/* 0AE63C 800ADA3C 314900FF */ andi $t1, $t2, 0xff
/* 0AE640 800ADA40 01215825 */ or $t3, $t1, $at
/* 0AE644 800ADA44 AC4B0004 */ sw $t3, 4($v0)
/* 0AE648 800ADA48 8D8C2C8C */ lw $t4, %lo(gRainSplashGfx)($t4)
/* 0AE64C 800ADA4C 3C058012 */ lui $a1, %hi(gCurrWeatherMatrix) # $a1, 0x8012
/* 0AE650 800ADA50 3C068012 */ lui $a2, %hi(gCurrWeatherVertexList) # $a2, 0x8012
/* 0AE654 800ADA54 240D010E */ li $t5, 270
/* 0AE658 800ADA58 AFAD0014 */ sw $t5, 0x14($sp)
/* 0AE65C 800ADA5C 24C67C14 */ addiu $a2, %lo(gCurrWeatherVertexList) # addiu $a2, $a2, 0x7c14
/* 0AE660 800ADA60 24A57C10 */ addiu $a1, %lo(gCurrWeatherMatrix) # addiu $a1, $a1, 0x7c10
/* 0AE664 800ADA64 02003825 */ move $a3, $s0
/* 0AE668 800ADA68 0C01A145 */ jal render_sprite_billboard
/* 0AE66C 800ADA6C AFAC0010 */ sw $t4, 0x10($sp)
.L800ADA70:
/* 0AE670 800ADA70 3C0E800E */ lui $t6, %hi(gRainGfx) # $t6, 0x800e
/* 0AE674 800ADA74 25CE2C2C */ addiu $t6, %lo(gRainGfx) # addiu $t6, $t6, 0x2c2c
/* 0AE678 800ADA78 2610001C */ addiu $s0, $s0, 0x1c
/* 0AE67C 800ADA7C 160EFFCF */ bne $s0, $t6, .L800AD9BC
/* 0AE680 800ADA80 00000000 */ nop
/* 0AE684 800ADA84 8E220000 */ lw $v0, ($s1)
/* 0AE688 800ADA88 3C18FA00 */ lui $t8, 0xfa00
/* 0AE68C 800ADA8C 244F0008 */ addiu $t7, $v0, 8
/* 0AE690 800ADA90 AE2F0000 */ sw $t7, ($s1)
/* 0AE694 800ADA94 2419FFFF */ li $t9, -1
/* 0AE698 800ADA98 AC590004 */ sw $t9, 4($v0)
/* 0AE69C 800ADA9C AC580000 */ sw $t8, ($v0)
.L800ADAA0:
/* 0AE6A0 800ADAA0 8FBF002C */ lw $ra, 0x2c($sp)
/* 0AE6A4 800ADAA4 8FB00020 */ lw $s0, 0x20($sp)
/* 0AE6A8 800ADAA8 8FB10024 */ lw $s1, 0x24($sp)
/* 0AE6AC 800ADAAC 8FB20028 */ lw $s2, 0x28($sp)
/* 0AE6B0 800ADAB0 03E00008 */ jr $ra
/* 0AE6B4 800ADAB4 27BD0080 */ addiu $sp, $sp, 0x80
+5 -1
View File
@@ -332,7 +332,11 @@ typedef struct LevelObjectEntry_LensFlare {
/* 0x0C */ u8 set1;
/* 0x0D */ u8 set2;
/* 0x0E */ u8 largeShine;
/* 0x0A */ u8 pad[5];
/* 0x0A */ u8 padA;
/* 0x10 */ u8 red;
/* 0x11 */ u8 green;
/* 0x12 */ u8 blue;
/* 0x13 */ u8 alpha;
} LevelObjectEntry_LensFlare;
typedef struct LevelObjectEntry_LensFlareSwitch {
+2
View File
@@ -32,6 +32,8 @@
#define COLOUR_TAG_ORANGE 0xFF7F7FFF
// Controller Pak
#define COLOUR_TAG_BLACK 0x000000FF
// Weather
#define COLOUR_TAG_LIGHT_ORANGE 0xFFAA55FF
/* Size: 0x14 bytes */
typedef struct MemoryPoolSlot {
+1
View File
@@ -400,6 +400,7 @@ void set_background_fill_colour(s32 red, s32 green, s32 blue) {
sBackgroundFillColour = GPACK_RGBA5551(red, green, blue, 1);
sBackgroundFillColour |= (sBackgroundFillColour << 16);
}
/**
* Clears the ZBuffer first, then decides how to draw the background which goes directly
* over the colour buffer. DrawBG if set to 0 (which never happens) will completely skip
+3 -3
View File
@@ -388,7 +388,7 @@ void render_scene(Gfx **dList, MatrixS **mtx, Vertex **vtx, TriangleList **tris,
tempUpdateRate);
}
lensflare_override(get_active_camera_segment());
func_800ACA20(&gSceneCurrDisplayList, &gSceneCurrMatrix, &gSceneCurrVertexList, get_active_camera_segment());
lensflare_render(&gSceneCurrDisplayList, &gSceneCurrMatrix, &gSceneCurrVertexList, get_active_camera_segment());
render_hud(&gSceneCurrDisplayList, &gSceneCurrMatrix, &gSceneCurrVertexList,
get_racer_object_by_port(gSceneCurrentPlayerID), updateRate);
}
@@ -415,8 +415,8 @@ void render_scene(Gfx **dList, MatrixS **mtx, Vertex **vtx, TriangleList **tris,
initialise_player_viewport_vars(updateRate);
set_weather_limits(-1, -512);
lensflare_override(get_active_camera_segment());
func_800ACA20(&gSceneCurrDisplayList, &gSceneCurrMatrix, &gSceneCurrVertexList,
get_active_camera_segment());
lensflare_render(&gSceneCurrDisplayList, &gSceneCurrMatrix, &gSceneCurrVertexList,
get_active_camera_segment());
set_text_font(FONT_COLOURFUL);
if (osTvType == TV_TYPE_PAL) {
posX = SCREEN_WIDTH_HALF + 6;
+1 -1
View File
@@ -190,7 +190,7 @@ void free_track(void);
void func_8002581C(u8 *segmentIds, s32 numberOfSegments, s32 viewportIndex);
s32 func_80027568(void);
s32 func_8002CC30(LevelModelSegment*);
s8 func_8002B0F4(s16, f32 xPos, f32 zPos, WaterProperties***); // Definitely not triple pointer, but easiest way to fix warns.
s8 func_8002B0F4(s32, f32 xPos, f32 zPos, WaterProperties***); // Definitely not triple pointer, but easiest way to fix warns.
void func_800278E8(s32);
void func_80028050(void);
void initialise_player_viewport_vars(s32);
+381 -82
View File
File diff suppressed because it is too large Load Diff
+32 -14
View File
@@ -7,7 +7,8 @@
typedef enum WeatherType {
WEATHER_SNOW,
WEATHER_RAIN
WEATHER_RAIN,
WEATHER_UNK2
} WeatherType;
typedef struct unk800E2850_unk0 {
@@ -42,17 +43,11 @@ typedef struct LensFlareData {
} LensFlareData;
/* Size: 0x1C Bytes */
typedef struct unk800E2B4C {
s32 unk0;
s16 unk4;
s16 unk6;
f32 unk8;
f32 unkC;
f32 unk10;
f32 unk14;
s16 unk18;
s16 unk1A;
} unk800E2B4C;
typedef struct ObjectSegment2 {
ObjectTransform trans;
s16 animFrame;
s16 unk1A;
} ObjectSegment2;
/* Size: 0x18 Bytes */
typedef struct unk800E2C2C {
@@ -84,10 +79,31 @@ typedef struct unk800E28D4 {
s32 unk0;
s32 unk4;
s32 unk8;
u8 padC[3];
u8 unkC;
u8 unkD;
u8 unkE;
u8 unkF;
} unk800E28D4;
typedef struct RainData {
s32 unk0;
s32 unk4;
s32 unk8;
s32 unkC;
s32 unk10;
s32 unk14;
s32 unk18;
s32 unk1C;
s32 unk20;
s32 unk24;
s32 unk28;
s32 unk2C;
s32 unk30;
s32 unk34;
s32 unk38;
s32 unk3C;
} RainData;
void set_weather_limits(s16 arg0, s16 arg1);
void lensflare_remove(Object *obj);
void lensflare_override_add(Object *obj);
@@ -105,6 +121,8 @@ void free_weather_memory(void);
void changeWeather(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5);
void lensflare_override(ObjectSegment *cameraSegment);
void func_800AC0C8(s32 updateRate);
void func_800ABB34(void);
void func_800AD144(s32 arg0, s32 arg1);
s32 coss(s16);
s32 sins(s16);
@@ -112,7 +130,7 @@ void init_weather(void);
void f32_matrix_dot(Matrix *arg0, Matrix *arg1, Matrix *arg2);
void func_800AC21C(void);
void lensflare_init(Object *);
void func_800ACA20(Gfx**, MatrixS**, Vertex**, ObjectSegment*);
void lensflare_render(Gfx**, MatrixS**, Vertex**, ObjectSegment*);
void func_800AB4A8(s32 weatherType, s32 weatherEnable, s32 velX, s32 velY, s32 velZ, s32 intensity, s32 opacity);
#endif
+4 -1
View File
@@ -16,6 +16,9 @@ compiler_type = "ido"
"TRUE" = "unsigned int"
"FALSE" = "unsigned int"
"NULL" = "unsigned int"
"G_CC.*" = "unsigned int"
"G_AC.*" = "unsigned int"
"ARRAY_COUNT" = "unsigned int"
[decompme.compilers]
"tools/ido-static-recomp/build/5.3/out/cc" = "ido5.3_irix"
"tools/ido-static-recomp/build/5.3/out/cc" = "ido5.3"