1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-12-27 07:07:09 +00:00

ovl_Eff_Dust OK (#655)

* void func_8099D8D0(void *arg0, s32 arg1)

Signed-off-by: angie <angheloalf95@gmail.com>

* void func_8099D8D8(void *arg0, s32 arg1)

Signed-off-by: angie <angheloalf95@gmail.com>

* void EffDust_Destroy(Actor *thisx, GlobalContext *globalCtx)

Signed-off-by: angie <angheloalf95@gmail.com>

* Fix some pointers in the struct

Signed-off-by: angie <angheloalf95@gmail.com>

* Fix functions declarations

Signed-off-by: angie <angheloalf95@gmail.com>

* void EffDust_Init(Actor *thisx, GlobalContext *globalCtx)

Signed-off-by: angie <angheloalf95@gmail.com>

* EffDust_Update, EffDust_Draw, renaming and cleanup

Signed-off-by: angie <angheloalf95@gmail.com>

* void func_8099D8E0(EffDust *this)

Signed-off-by: angie <angheloalf95@gmail.com>

* void func_8099DB28(EffDust *this, GlobalContext *globalCtx)

Signed-off-by: angie <angheloalf95@gmail.com>

* void EffDust_UpdateFunc_8099DD74(EffDust *this, GlobalContext *globalCtx)

Signed-off-by: angie <angheloalf95@gmail.com>

* Members renaming

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* NON_MATCHING void func_8099E4F4(EffDust *this, GlobalContext *globalCtx)

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* void func_8099DFC0(EffDust *this, GlobalContext *globalCtx)

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* NON_MATCHING void func_8099E784(EffDust *this, GlobalContext *globalCtx)

Signed-off-by: angie <angheloalf95@gmail.com>

* NON_MATCHING func_8099E784 - score 100

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* func_8099E784 still not matching

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* almost there (func_8099E784)

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* func_8099E784 matching. needs cleanup

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* void func_8099E784(EffDust *this, GlobalContext *globalCtx)

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Rename most members of the struct

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* void func_8099E4F4(EffDust *this, GlobalContext *globalCtx) matching

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Rename a few variables and functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Add an enum for the possibles values for actor.param

Signed-off-by: angie <angheloalf95@gmail.com>

* format files

Signed-off-by: angie <angheloalf95@gmail.com>

* fix merge problems

Signed-off-by: angie <angheloalf95@gmail.com>

* delete reloc

Signed-off-by: angie <angheloalf95@gmail.com>

* remove defined symbols from undefined_syms

Signed-off-by: angie <angheloalf95@gmail.com>

* a bunch of functions

Signed-off-by: angie <angheloalf95@gmail.com>

* another bunch of functions

Signed-off-by: angie <angheloalf95@gmail.com>

* add dummies to func_8097911C to match it

Signed-off-by: angie <angheloalf95@gmail.com>

* fix some functions declarations

Signed-off-by: angie <angheloalf95@gmail.com>

* Add functions of the array used by the update function

Signed-off-by: angie <angheloalf95@gmail.com>

* add functions used by draw

Signed-off-by: angie <angheloalf95@gmail.com>

* draw and update functions

Signed-off-by: angie <angheloalf95@gmail.com>

* DemoGj_Init

Signed-off-by: angie <angheloalf95@gmail.com>

* fix some functions declarations

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* 9 small functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Some unmatched functions and 12 small matched functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* another 7 small functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* add data

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* small types fixes

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* six more functions

Signed-off-by: angie <angheloalf95@gmail.com>

* func_80978C20

Signed-off-by: angie <angheloalf95@gmail.com>

* func_8097BA48

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* five repeated functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Array of cylinders and two other functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* seven equals and problematic functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* func_80978F60 and func_80979860

Signed-off-by: angie <angheloalf95@gmail.com>

* func_8097923C doesn't want to match :c

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* three not matching functions

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* func_80978AFC

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* three more

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* DemoGj_FindGanon

Signed-off-by: angie <angheloalf95@gmail.com>

* func_809797E4

Signed-off-by: angie <angheloalf95@gmail.com>

* func_80978B90

Signed-off-by: angie <angheloalf95@gmail.com>

* last non matching function

Signed-off-by: angie <angheloalf95@gmail.com>

* erase reloc

Signed-off-by: angie <angheloalf95@gmail.com>

* a bit of renaming

Signed-off-by: angie <angheloalf95@gmail.com>

* another chunk of renaming

Signed-off-by: angie <angheloalf95@gmail.com>

* fix reg macros and a few comments

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* vt, arrayfuncs renaming and another bit of renaming

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* More renaming

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* i'm hating this actor

Signed-off-by: angie <angheloalf95@gmail.com>

* format

Signed-off-by: angie <angheloalf95@gmail.com>

* Changes asked by @shawlucas

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* changes asked by @louist103

Signed-off-by: angie <angheloalf95@gmail.com>

* Revert "Merge branch 'ovl_Demo_Gj' of github.com:AngheloAlf/oot into ovl_Eff_Dust"

This reverts commit 12e0e5d2a6, reversing
changes made to b251f1d234.

* fix merge problems

Signed-off-by: Anghelo <angheloalf95@gmail.com>

* Rename the param's enum and move it to header

Signed-off-by: angie <angheloalf95@gmail.com>

* add file description

Signed-off-by: angie <angheloalf95@gmail.com>

* Some changes requested by @Roman971

Signed-off-by: angie <angheloalf95@gmail.com>

* more changes

Signed-off-by: angie <angheloalf95@gmail.com>

* Change the particles amount from hex to decimal

Signed-off-by: angie <angheloalf95@gmail.com>

* `format.sh` should also format headers :s

Signed-off-by: angie <angheloalf95@gmail.com>
This commit is contained in:
Anghelo Carvajal 2021-02-12 19:04:22 -05:00 committed by GitHub
parent fb1909bb92
commit 6d01247f34
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 364 additions and 1425 deletions

View file

@ -1,4 +0,0 @@
glabel EffDust_Destroy
/* 0024C 8099DB1C AFA40000 */ sw $a0, 0x0000($sp)
/* 00250 8099DB20 03E00008 */ jr $ra
/* 00254 8099DB24 AFA50004 */ sw $a1, 0x0004($sp)

View file

@ -1,10 +0,0 @@
glabel EffDust_Draw
/* 0124C 8099EB1C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 01250 8099EB20 AFBF0014 */ sw $ra, 0x0014($sp)
/* 01254 8099EB24 8C990564 */ lw $t9, 0x0564($a0) ## 00000564
/* 01258 8099EB28 0320F809 */ jalr $ra, $t9
/* 0125C 8099EB2C 00000000 */ nop
/* 01260 8099EB30 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01264 8099EB34 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01268 8099EB38 03E00008 */ jr $ra
/* 0126C 8099EB3C 00000000 */ nop

View file

@ -1,144 +0,0 @@
.rdata
glabel D_8099EB70
.asciz "../z_eff_dust.c"
.balign 4
.late_rodata
glabel jtbl_8099EBE0
.word L8099D998
.word L8099D9E4
.word L8099DA30
.word L8099DA6C
.word L8099DAA8
glabel D_8099EBF4
.float 0.8
glabel D_8099EBF8
.float 0.1
glabel D_8099EBFC
.float 0.8
.text
glabel EffDust_Init
/* 00084 8099D954 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00088 8099D958 AFBF001C */ sw $ra, 0x001C($sp)
/* 0008C 8099D95C AFB00018 */ sw $s0, 0x0018($sp)
/* 00090 8099D960 AFA5002C */ sw $a1, 0x002C($sp)
/* 00094 8099D964 848E001C */ lh $t6, 0x001C($a0) ## 0000001C
/* 00098 8099D968 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0009C 8099D96C 0C267638 */ jal func_8099D8E0
/* 000A0 8099D970 AFAE0020 */ sw $t6, 0x0020($sp)
/* 000A4 8099D974 8FAF0020 */ lw $t7, 0x0020($sp)
/* 000A8 8099D978 2DE10005 */ sltiu $at, $t7, 0x0005
/* 000AC 8099D97C 1020005B */ beq $at, $zero, .L8099DAEC
/* 000B0 8099D980 000F7880 */ sll $t7, $t7, 2
/* 000B4 8099D984 3C01809A */ lui $at, %hi(jtbl_8099EBE0) ## $at = 809A0000
/* 000B8 8099D988 002F0821 */ addu $at, $at, $t7
/* 000BC 8099D98C 8C2FEBE0 */ lw $t7, %lo(jtbl_8099EBE0)($at)
/* 000C0 8099D990 01E00008 */ jr $t7
/* 000C4 8099D994 00000000 */ nop
glabel L8099D998
/* 000C8 8099D998 3C05809A */ lui $a1, %hi(func_8099DB28) ## $a1 = 809A0000
/* 000CC 8099D99C 24A5DB28 */ addiu $a1, $a1, %lo(func_8099DB28) ## $a1 = 8099DB28
/* 000D0 8099D9A0 0C267634 */ jal func_8099D8D0
/* 000D4 8099D9A4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000D8 8099D9A8 3C05809A */ lui $a1, %hi(func_8099E4F4) ## $a1 = 809A0000
/* 000DC 8099D9AC 24A5E4F4 */ addiu $a1, $a1, %lo(func_8099E4F4) ## $a1 = 8099E4F4
/* 000E0 8099D9B0 0C267636 */ jal func_8099D8D8
/* 000E4 8099D9B4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 000E8 8099D9B8 3C01809A */ lui $at, %hi(D_8099EBF4) ## $at = 809A0000
/* 000EC 8099D9BC C420EBF4 */ lwc1 $f0, %lo(D_8099EBF4)($at)
/* 000F0 8099D9C0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 000F4 8099D9C4 44812000 */ mtc1 $at, $f4 ## $f4 = 1.00
/* 000F8 8099D9C8 3C01809A */ lui $at, %hi(D_8099EBF8) ## $at = 809A0000
/* 000FC 8099D9CC E6000554 */ swc1 $f0, 0x0554($s0) ## 00000554
/* 00100 8099D9D0 E6000558 */ swc1 $f0, 0x0558($s0) ## 00000558
/* 00104 8099D9D4 E6040550 */ swc1 $f4, 0x0550($s0) ## 00000550
/* 00108 8099D9D8 C426EBF8 */ lwc1 $f6, %lo(D_8099EBF8)($at)
/* 0010C 8099D9DC 10000048 */ beq $zero, $zero, .L8099DB00
/* 00110 8099D9E0 E606055C */ swc1 $f6, 0x055C($s0) ## 0000055C
glabel L8099D9E4
/* 00114 8099D9E4 3C05809A */ lui $a1, %hi(func_8099DD74) ## $a1 = 809A0000
/* 00118 8099D9E8 24A5DD74 */ addiu $a1, $a1, %lo(func_8099DD74) ## $a1 = 8099DD74
/* 0011C 8099D9EC 0C267634 */ jal func_8099D8D0
/* 00120 8099D9F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00124 8099D9F4 3C05809A */ lui $a1, %hi(func_8099E4F4) ## $a1 = 809A0000
/* 00128 8099D9F8 24A5E4F4 */ addiu $a1, $a1, %lo(func_8099E4F4) ## $a1 = 8099E4F4
/* 0012C 8099D9FC 0C267636 */ jal func_8099D8D8
/* 00130 8099DA00 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00134 8099DA04 3C01809A */ lui $at, %hi(D_8099EBFC) ## $at = 809A0000
/* 00138 8099DA08 C420EBFC */ lwc1 $f0, %lo(D_8099EBFC)($at)
/* 0013C 8099DA0C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00140 8099DA10 44814000 */ mtc1 $at, $f8 ## $f8 = 1.00
/* 00144 8099DA14 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00148 8099DA18 44815000 */ mtc1 $at, $f10 ## $f10 = 0.50
/* 0014C 8099DA1C E6000550 */ swc1 $f0, 0x0550($s0) ## 00000550
/* 00150 8099DA20 E6000558 */ swc1 $f0, 0x0558($s0) ## 00000558
/* 00154 8099DA24 E6080554 */ swc1 $f8, 0x0554($s0) ## 00000554
/* 00158 8099DA28 10000035 */ beq $zero, $zero, .L8099DB00
/* 0015C 8099DA2C E60A055C */ swc1 $f10, 0x055C($s0) ## 0000055C
glabel L8099DA30
/* 00160 8099DA30 3C05809A */ lui $a1, %hi(func_8099DFC0) ## $a1 = 809A0000
/* 00164 8099DA34 24A5DFC0 */ addiu $a1, $a1, %lo(func_8099DFC0) ## $a1 = 8099DFC0
/* 00168 8099DA38 0C267634 */ jal func_8099D8D0
/* 0016C 8099DA3C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00170 8099DA40 3C05809A */ lui $a1, %hi(func_8099E784) ## $a1 = 809A0000
/* 00174 8099DA44 24A5E784 */ addiu $a1, $a1, %lo(func_8099E784) ## $a1 = 8099E784
/* 00178 8099DA48 0C267636 */ jal func_8099D8D8
/* 0017C 8099DA4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00180 8099DA50 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00184 8099DA54 44818000 */ mtc1 $at, $f16 ## $f16 = 0.50
/* 00188 8099DA58 3C014170 */ lui $at, 0x4170 ## $at = 41700000
/* 0018C 8099DA5C 44819000 */ mtc1 $at, $f18 ## $f18 = 15.00
/* 00190 8099DA60 E6100550 */ swc1 $f16, 0x0550($s0) ## 00000550
/* 00194 8099DA64 10000026 */ beq $zero, $zero, .L8099DB00
/* 00198 8099DA68 E612055C */ swc1 $f18, 0x055C($s0) ## 0000055C
glabel L8099DA6C
/* 0019C 8099DA6C 3C05809A */ lui $a1, %hi(func_8099DFC0) ## $a1 = 809A0000
/* 001A0 8099DA70 24A5DFC0 */ addiu $a1, $a1, %lo(func_8099DFC0) ## $a1 = 8099DFC0
/* 001A4 8099DA74 0C267634 */ jal func_8099D8D0
/* 001A8 8099DA78 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001AC 8099DA7C 3C05809A */ lui $a1, %hi(func_8099E784) ## $a1 = 809A0000
/* 001B0 8099DA80 24A5E784 */ addiu $a1, $a1, %lo(func_8099E784) ## $a1 = 8099E784
/* 001B4 8099DA84 0C267636 */ jal func_8099D8D8
/* 001B8 8099DA88 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001BC 8099DA8C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 001C0 8099DA90 44812000 */ mtc1 $at, $f4 ## $f4 = 0.50
/* 001C4 8099DA94 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 001C8 8099DA98 44813000 */ mtc1 $at, $f6 ## $f6 = 10.00
/* 001CC 8099DA9C E6040550 */ swc1 $f4, 0x0550($s0) ## 00000550
/* 001D0 8099DAA0 10000017 */ beq $zero, $zero, .L8099DB00
/* 001D4 8099DAA4 E606055C */ swc1 $f6, 0x055C($s0) ## 0000055C
glabel L8099DAA8
/* 001D8 8099DAA8 3C05809A */ lui $a1, %hi(func_8099DFC0) ## $a1 = 809A0000
/* 001DC 8099DAAC 24A5DFC0 */ addiu $a1, $a1, %lo(func_8099DFC0) ## $a1 = 8099DFC0
/* 001E0 8099DAB0 0C267634 */ jal func_8099D8D0
/* 001E4 8099DAB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001E8 8099DAB8 3C05809A */ lui $a1, %hi(func_8099E784) ## $a1 = 809A0000
/* 001EC 8099DABC 24A5E784 */ addiu $a1, $a1, %lo(func_8099E784) ## $a1 = 8099E784
/* 001F0 8099DAC0 0C267636 */ jal func_8099D8D8
/* 001F4 8099DAC4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001F8 8099DAC8 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 001FC 8099DACC 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 00200 8099DAD0 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00204 8099DAD4 44815000 */ mtc1 $at, $f10 ## $f10 = 20.00
/* 00208 8099DAD8 2418FFFF */ addiu $t8, $zero, 0xFFFF ## $t8 = FFFFFFFF
/* 0020C 8099DADC A2180003 */ sb $t8, 0x0003($s0) ## 00000003
/* 00210 8099DAE0 E6080550 */ swc1 $f8, 0x0550($s0) ## 00000550
/* 00214 8099DAE4 10000006 */ beq $zero, $zero, .L8099DB00
/* 00218 8099DAE8 E60A055C */ swc1 $f10, 0x055C($s0) ## 0000055C
.L8099DAEC:
/* 0021C 8099DAEC 3C05809A */ lui $a1, %hi(D_8099EB70) ## $a1 = 809A0000
/* 00220 8099DAF0 24A5EB70 */ addiu $a1, $a1, %lo(D_8099EB70) ## $a1 = 8099EB70
/* 00224 8099DAF4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00228 8099DAF8 0C03F5ED */ jal SystemArena_FreeDebug
/* 0022C 8099DAFC 240600CA */ addiu $a2, $zero, 0x00CA ## $a2 = 000000CA
.L8099DB00:
/* 00230 8099DB00 2419000A */ addiu $t9, $zero, 0x000A ## $t9 = 0000000A
/* 00234 8099DB04 A219054D */ sb $t9, 0x054D($s0) ## 0000054D
/* 00238 8099DB08 8FBF001C */ lw $ra, 0x001C($sp)
/* 0023C 8099DB0C 8FB00018 */ lw $s0, 0x0018($sp)
/* 00240 8099DB10 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 00244 8099DB14 03E00008 */ jr $ra
/* 00248 8099DB18 00000000 */ nop

View file

@ -1,10 +0,0 @@
glabel EffDust_Update
/* 00C00 8099E4D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00C04 8099E4D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00C08 8099E4D8 8C990560 */ lw $t9, 0x0560($a0) ## 00000560
/* 00C0C 8099E4DC 0320F809 */ jalr $ra, $t9
/* 00C10 8099E4E0 00000000 */ nop
/* 00C14 8099E4E4 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00C18 8099E4E8 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00C1C 8099E4EC 03E00008 */ jr $ra
/* 00C20 8099E4F0 00000000 */ nop

View file

@ -1,3 +0,0 @@
glabel func_8099D8D0
/* 00000 8099D8D0 03E00008 */ jr $ra
/* 00004 8099D8D4 AC850560 */ sw $a1, 0x0560($a0) ## 00000560

View file

@ -1,3 +0,0 @@
glabel func_8099D8D8
/* 00008 8099D8D8 03E00008 */ jr $ra
/* 0000C 8099D8DC AC850564 */ sw $a1, 0x0564($a0) ## 00000564

View file

@ -1,31 +0,0 @@
glabel func_8099D8E0
/* 00010 8099D8E0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00014 8099D8E4 44811000 */ mtc1 $at, $f2 ## $f2 = 1.00
/* 00018 8099D8E8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 0001C 8099D8EC 00001025 */ or $v0, $zero, $zero ## $v0 = 00000000
/* 00020 8099D8F0 00801825 */ or $v1, $a0, $zero ## $v1 = 00000000
/* 00024 8099D8F4 00802825 */ or $a1, $a0, $zero ## $a1 = 00000000
/* 00028 8099D8F8 24060040 */ addiu $a2, $zero, 0x0040 ## $a2 = 00000040
.L8099D8FC:
/* 0002C 8099D8FC E4600254 */ swc1 $f0, 0x0254($v1) ## 00000254
/* 00030 8099D900 E4600250 */ swc1 $f0, 0x0250($v1) ## 00000250
/* 00034 8099D904 E460024C */ swc1 $f0, 0x024C($v1) ## 0000024C
/* 00038 8099D908 E4A2014C */ swc1 $f2, 0x014C($a1) ## 0000014C
/* 0003C 8099D90C E4600258 */ swc1 $f0, 0x0258($v1) ## 00000258
/* 00040 8099D910 E460025C */ swc1 $f0, 0x025C($v1) ## 0000025C
/* 00044 8099D914 E4600260 */ swc1 $f0, 0x0260($v1) ## 00000260
/* 00048 8099D918 E4A20150 */ swc1 $f2, 0x0150($a1) ## 00000150
/* 0004C 8099D91C E4600264 */ swc1 $f0, 0x0264($v1) ## 00000264
/* 00050 8099D920 E4600268 */ swc1 $f0, 0x0268($v1) ## 00000268
/* 00054 8099D924 E460026C */ swc1 $f0, 0x026C($v1) ## 0000026C
/* 00058 8099D928 E4A20154 */ swc1 $f2, 0x0154($a1) ## 00000154
/* 0005C 8099D92C E4600270 */ swc1 $f0, 0x0270($v1) ## 00000270
/* 00060 8099D930 E4600274 */ swc1 $f0, 0x0274($v1) ## 00000274
/* 00064 8099D934 E4600278 */ swc1 $f0, 0x0278($v1) ## 00000278
/* 00068 8099D938 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004
/* 0006C 8099D93C E4A20158 */ swc1 $f2, 0x0158($a1) ## 00000158
/* 00070 8099D940 24630030 */ addiu $v1, $v1, 0x0030 ## $v1 = 00000030
/* 00074 8099D944 1446FFED */ bne $v0, $a2, .L8099D8FC
/* 00078 8099D948 24A50010 */ addiu $a1, $a1, 0x0010 ## $a1 = 00000010
/* 0007C 8099D94C 03E00008 */ jr $ra
/* 00080 8099D950 A080054C */ sb $zero, 0x054C($a0) ## 0000054C

View file

@ -1,167 +0,0 @@
.late_rodata
glabel D_8099EC00
.float 0.05
.text
glabel func_8099DB28
/* 00258 8099DB28 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 0025C 8099DB2C F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00260 8099DB30 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00264 8099DB34 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 00268 8099DB38 AFB60060 */ sw $s6, 0x0060($sp)
/* 0026C 8099DB3C AFB30054 */ sw $s3, 0x0054($sp)
/* 00270 8099DB40 3C01809A */ lui $at, %hi(D_8099EC00) ## $at = 809A0000
/* 00274 8099DB44 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
/* 00278 8099DB48 AFBF006C */ sw $ra, 0x006C($sp)
/* 0027C 8099DB4C AFBE0068 */ sw $s8, 0x0068($sp)
/* 00280 8099DB50 AFB70064 */ sw $s7, 0x0064($sp)
/* 00284 8099DB54 AFB5005C */ sw $s5, 0x005C($sp)
/* 00288 8099DB58 AFB40058 */ sw $s4, 0x0058($sp)
/* 0028C 8099DB5C AFB20050 */ sw $s2, 0x0050($sp)
/* 00290 8099DB60 AFB1004C */ sw $s1, 0x004C($sp)
/* 00294 8099DB64 AFB00048 */ sw $s0, 0x0048($sp)
/* 00298 8099DB68 F7BE0040 */ sdc1 $f30, 0x0040($sp)
/* 0029C 8099DB6C F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 002A0 8099DB70 F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 002A4 8099DB74 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 002A8 8099DB78 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 002AC 8099DB7C AFA50074 */ sw $a1, 0x0074($sp)
/* 002B0 8099DB80 2482014C */ addiu $v0, $a0, 0x014C ## $v0 = 0000014C
/* 002B4 8099DB84 C422EC00 */ lwc1 $f2, %lo(D_8099EC00)($at)
/* 002B8 8099DB88 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 002BC 8099DB8C 24030040 */ addiu $v1, $zero, 0x0040 ## $v1 = 00000040
.L8099DB90:
/* 002C0 8099DB90 C4400000 */ lwc1 $f0, 0x0000($v0) ## 0000014C
/* 002C4 8099DB94 26730004 */ addiu $s3, $s3, 0x0004 ## $s3 = 00000004
/* 002C8 8099DB98 4616003C */ c.lt.s $f0, $f22
/* 002CC 8099DB9C 00000000 */ nop
/* 002D0 8099DBA0 45020004 */ bc1fl .L8099DBB4
/* 002D4 8099DBA4 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000150
/* 002D8 8099DBA8 46020100 */ add.s $f4, $f0, $f2
/* 002DC 8099DBAC E4440000 */ swc1 $f4, 0x0000($v0) ## 0000014C
/* 002E0 8099DBB0 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000150
.L8099DBB4:
/* 002E4 8099DBB4 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000150
/* 002E8 8099DBB8 4616003C */ c.lt.s $f0, $f22
/* 002EC 8099DBBC 00000000 */ nop
/* 002F0 8099DBC0 45020004 */ bc1fl .L8099DBD4
/* 002F4 8099DBC4 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000154
/* 002F8 8099DBC8 46020180 */ add.s $f6, $f0, $f2
/* 002FC 8099DBCC E4460000 */ swc1 $f6, 0x0000($v0) ## 00000150
/* 00300 8099DBD0 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000154
.L8099DBD4:
/* 00304 8099DBD4 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000154
/* 00308 8099DBD8 4616003C */ c.lt.s $f0, $f22
/* 0030C 8099DBDC 00000000 */ nop
/* 00310 8099DBE0 45020004 */ bc1fl .L8099DBF4
/* 00314 8099DBE4 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000158
/* 00318 8099DBE8 46020200 */ add.s $f8, $f0, $f2
/* 0031C 8099DBEC E4480000 */ swc1 $f8, 0x0000($v0) ## 00000154
/* 00320 8099DBF0 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000158
.L8099DBF4:
/* 00324 8099DBF4 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000158
/* 00328 8099DBF8 4616003C */ c.lt.s $f0, $f22
/* 0032C 8099DBFC 00000000 */ nop
/* 00330 8099DC00 45000003 */ bc1f .L8099DC10
/* 00334 8099DC04 00000000 */ nop
/* 00338 8099DC08 46020280 */ add.s $f10, $f0, $f2
/* 0033C 8099DC0C E44A0000 */ swc1 $f10, 0x0000($v0) ## 00000158
.L8099DC10:
/* 00340 8099DC10 1663FFDF */ bne $s3, $v1, .L8099DB90
/* 00344 8099DC14 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 0000015C
/* 00348 8099DC18 3C014580 */ lui $at, 0x4580 ## $at = 45800000
/* 0034C 8099DC1C 4481E000 */ mtc1 $at, $f28 ## $f28 = 4096.00
/* 00350 8099DC20 3C014600 */ lui $at, 0x4600 ## $at = 46000000
/* 00354 8099DC24 4481D000 */ mtc1 $at, $f26 ## $f26 = 8192.00
/* 00358 8099DC28 3C01C448 */ lui $at, 0xC448 ## $at = C4480000
/* 0035C 8099DC2C 4481C000 */ mtc1 $at, $f24 ## $f24 = -800.00
/* 00360 8099DC30 4480F000 */ mtc1 $zero, $f30 ## $f30 = 0.00
/* 00364 8099DC34 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000
/* 00368 8099DC38 241E0003 */ addiu $s8, $zero, 0x0003 ## $s8 = 00000003
/* 0036C 8099DC3C 2417000C */ addiu $s7, $zero, 0x000C ## $s7 = 0000000C
/* 00370 8099DC40 92D3054C */ lbu $s3, 0x054C($s6) ## 0000054C
.L8099DC44:
/* 00374 8099DC44 3273003F */ andi $s3, $s3, 0x003F ## $s3 = 00000004
/* 00378 8099DC48 00137080 */ sll $t6, $s3, 2
/* 0037C 8099DC4C 02CEA021 */ addu $s4, $s6, $t6
/* 00380 8099DC50 C690014C */ lwc1 $f16, 0x014C($s4) ## 0000014C
/* 00384 8099DC54 4610B03E */ c.le.s $f22, $f16
/* 00388 8099DC58 00000000 */ nop
/* 0038C 8099DC5C 45020031 */ bc1fl .L8099DD24
/* 00390 8099DC60 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001
/* 00394 8099DC64 0C00CFC8 */ jal Rand_CenteredFloat
/* 00398 8099DC68 4600D306 */ mov.s $f12, $f26
/* 0039C 8099DC6C 4600048D */ trunc.w.s $f18, $f0
/* 003A0 8099DC70 4600E306 */ mov.s $f12, $f28
/* 003A4 8099DC74 44129000 */ mfc1 $s2, $f18
/* 003A8 8099DC78 00000000 */ nop
/* 003AC 8099DC7C 00129400 */ sll $s2, $s2, 16
/* 003B0 8099DC80 0C00CFC8 */ jal Rand_CenteredFloat
/* 003B4 8099DC84 00129403 */ sra $s2, $s2, 16
/* 003B8 8099DC88 4600010D */ trunc.w.s $f4, $f0
/* 003BC 8099DC8C 00122400 */ sll $a0, $s2, 16
/* 003C0 8099DC90 00042403 */ sra $a0, $a0, 16
/* 003C4 8099DC94 44102000 */ mfc1 $s0, $f4
/* 003C8 8099DC98 00000000 */ nop
/* 003CC 8099DC9C 00108400 */ sll $s0, $s0, 16
/* 003D0 8099DCA0 0C01DE0D */ jal Math_CosS
## coss?
/* 003D4 8099DCA4 00108403 */ sra $s0, $s0, 16
/* 003D8 8099DCA8 00102400 */ sll $a0, $s0, 16
/* 003DC 8099DCAC 00042403 */ sra $a0, $a0, 16
/* 003E0 8099DCB0 0C01DE0D */ jal Math_CosS
## coss?
/* 003E4 8099DCB4 46000506 */ mov.s $f20, $f0
/* 003E8 8099DCB8 4614C182 */ mul.s $f6, $f24, $f20
/* 003EC 8099DCBC 00102400 */ sll $a0, $s0, 16
/* 003F0 8099DCC0 02770019 */ multu $s3, $s7
/* 003F4 8099DCC4 00042403 */ sra $a0, $a0, 16
/* 003F8 8099DCC8 46060202 */ mul.s $f8, $f0, $f6
/* 003FC 8099DCCC 0000C812 */ mflo $t9
/* 00400 8099DCD0 02D98821 */ addu $s1, $s6, $t9
/* 00404 8099DCD4 0C01DE1C */ jal Math_SinS
## sins?
/* 00408 8099DCD8 E628024C */ swc1 $f8, 0x024C($s1) ## 0000024C
/* 0040C 8099DCDC 46180282 */ mul.s $f10, $f0, $f24
/* 00410 8099DCE0 00122400 */ sll $a0, $s2, 16
/* 00414 8099DCE4 00042403 */ sra $a0, $a0, 16
/* 00418 8099DCE8 0C01DE1C */ jal Math_SinS
## sins?
/* 0041C 8099DCEC E62A0250 */ swc1 $f10, 0x0250($s1) ## 00000250
/* 00420 8099DCF0 00102400 */ sll $a0, $s0, 16
/* 00424 8099DCF4 00042403 */ sra $a0, $a0, 16
/* 00428 8099DCF8 0C01DE0D */ jal Math_CosS
## coss?
/* 0042C 8099DCFC 46000506 */ mov.s $f20, $f0
/* 00430 8099DD00 4614C402 */ mul.s $f16, $f24, $f20
/* 00434 8099DD04 00000000 */ nop
/* 00438 8099DD08 46100482 */ mul.s $f18, $f0, $f16
/* 0043C 8099DD0C E6320254 */ swc1 $f18, 0x0254($s1) ## 00000254
/* 00440 8099DD10 E69E014C */ swc1 $f30, 0x014C($s4) ## 0000014C
/* 00444 8099DD14 92C8054C */ lbu $t0, 0x054C($s6) ## 0000054C
/* 00448 8099DD18 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
/* 0044C 8099DD1C A2C9054C */ sb $t1, 0x054C($s6) ## 0000054C
/* 00450 8099DD20 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000002
.L8099DD24:
/* 00454 8099DD24 56BEFFC7 */ bnel $s5, $s8, .L8099DC44
/* 00458 8099DD28 92D3054C */ lbu $s3, 0x054C($s6) ## 0000054C
/* 0045C 8099DD2C 8FBF006C */ lw $ra, 0x006C($sp)
/* 00460 8099DD30 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00464 8099DD34 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00468 8099DD38 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 0046C 8099DD3C D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 00470 8099DD40 D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 00474 8099DD44 D7BE0040 */ ldc1 $f30, 0x0040($sp)
/* 00478 8099DD48 8FB00048 */ lw $s0, 0x0048($sp)
/* 0047C 8099DD4C 8FB1004C */ lw $s1, 0x004C($sp)
/* 00480 8099DD50 8FB20050 */ lw $s2, 0x0050($sp)
/* 00484 8099DD54 8FB30054 */ lw $s3, 0x0054($sp)
/* 00488 8099DD58 8FB40058 */ lw $s4, 0x0058($sp)
/* 0048C 8099DD5C 8FB5005C */ lw $s5, 0x005C($sp)
/* 00490 8099DD60 8FB60060 */ lw $s6, 0x0060($sp)
/* 00494 8099DD64 8FB70064 */ lw $s7, 0x0064($sp)
/* 00498 8099DD68 8FBE0068 */ lw $s8, 0x0068($sp)
/* 0049C 8099DD6C 03E00008 */ jr $ra
/* 004A0 8099DD70 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000

View file

@ -1,167 +0,0 @@
.late_rodata
glabel D_8099EC04
.float 0.03
.text
glabel func_8099DD74
/* 004A4 8099DD74 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 004A8 8099DD78 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 004AC 8099DD7C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 004B0 8099DD80 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 004B4 8099DD84 AFB60060 */ sw $s6, 0x0060($sp)
/* 004B8 8099DD88 AFB30054 */ sw $s3, 0x0054($sp)
/* 004BC 8099DD8C 3C01809A */ lui $at, %hi(D_8099EC04) ## $at = 809A0000
/* 004C0 8099DD90 0080B025 */ or $s6, $a0, $zero ## $s6 = 00000000
/* 004C4 8099DD94 AFBF006C */ sw $ra, 0x006C($sp)
/* 004C8 8099DD98 AFBE0068 */ sw $s8, 0x0068($sp)
/* 004CC 8099DD9C AFB70064 */ sw $s7, 0x0064($sp)
/* 004D0 8099DDA0 AFB5005C */ sw $s5, 0x005C($sp)
/* 004D4 8099DDA4 AFB40058 */ sw $s4, 0x0058($sp)
/* 004D8 8099DDA8 AFB20050 */ sw $s2, 0x0050($sp)
/* 004DC 8099DDAC AFB1004C */ sw $s1, 0x004C($sp)
/* 004E0 8099DDB0 AFB00048 */ sw $s0, 0x0048($sp)
/* 004E4 8099DDB4 F7BE0040 */ sdc1 $f30, 0x0040($sp)
/* 004E8 8099DDB8 F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 004EC 8099DDBC F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 004F0 8099DDC0 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 004F4 8099DDC4 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 004F8 8099DDC8 AFA50074 */ sw $a1, 0x0074($sp)
/* 004FC 8099DDCC 2482014C */ addiu $v0, $a0, 0x014C ## $v0 = 0000014C
/* 00500 8099DDD0 C422EC04 */ lwc1 $f2, %lo(D_8099EC04)($at)
/* 00504 8099DDD4 00009825 */ or $s3, $zero, $zero ## $s3 = 00000000
/* 00508 8099DDD8 24030040 */ addiu $v1, $zero, 0x0040 ## $v1 = 00000040
.L8099DDDC:
/* 0050C 8099DDDC C4400000 */ lwc1 $f0, 0x0000($v0) ## 0000014C
/* 00510 8099DDE0 26730004 */ addiu $s3, $s3, 0x0004 ## $s3 = 00000004
/* 00514 8099DDE4 4616003C */ c.lt.s $f0, $f22
/* 00518 8099DDE8 00000000 */ nop
/* 0051C 8099DDEC 45020004 */ bc1fl .L8099DE00
/* 00520 8099DDF0 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000150
/* 00524 8099DDF4 46020100 */ add.s $f4, $f0, $f2
/* 00528 8099DDF8 E4440000 */ swc1 $f4, 0x0000($v0) ## 0000014C
/* 0052C 8099DDFC C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000150
.L8099DE00:
/* 00530 8099DE00 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000150
/* 00534 8099DE04 4616003C */ c.lt.s $f0, $f22
/* 00538 8099DE08 00000000 */ nop
/* 0053C 8099DE0C 45020004 */ bc1fl .L8099DE20
/* 00540 8099DE10 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000154
/* 00544 8099DE14 46020180 */ add.s $f6, $f0, $f2
/* 00548 8099DE18 E4460000 */ swc1 $f6, 0x0000($v0) ## 00000150
/* 0054C 8099DE1C C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000154
.L8099DE20:
/* 00550 8099DE20 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000154
/* 00554 8099DE24 4616003C */ c.lt.s $f0, $f22
/* 00558 8099DE28 00000000 */ nop
/* 0055C 8099DE2C 45020004 */ bc1fl .L8099DE40
/* 00560 8099DE30 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000158
/* 00564 8099DE34 46020200 */ add.s $f8, $f0, $f2
/* 00568 8099DE38 E4480000 */ swc1 $f8, 0x0000($v0) ## 00000154
/* 0056C 8099DE3C C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000158
.L8099DE40:
/* 00570 8099DE40 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000158
/* 00574 8099DE44 4616003C */ c.lt.s $f0, $f22
/* 00578 8099DE48 00000000 */ nop
/* 0057C 8099DE4C 45000003 */ bc1f .L8099DE5C
/* 00580 8099DE50 00000000 */ nop
/* 00584 8099DE54 46020280 */ add.s $f10, $f0, $f2
/* 00588 8099DE58 E44A0000 */ swc1 $f10, 0x0000($v0) ## 00000158
.L8099DE5C:
/* 0058C 8099DE5C 1663FFDF */ bne $s3, $v1, .L8099DDDC
/* 00590 8099DE60 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 0000015C
/* 00594 8099DE64 3C014600 */ lui $at, 0x4600 ## $at = 46000000
/* 00598 8099DE68 4481E000 */ mtc1 $at, $f28 ## $f28 = 8192.00
/* 0059C 8099DE6C 3C014780 */ lui $at, 0x4780 ## $at = 47800000
/* 005A0 8099DE70 4481D000 */ mtc1 $at, $f26 ## $f26 = 65536.00
/* 005A4 8099DE74 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 005A8 8099DE78 4481C000 */ mtc1 $at, $f24 ## $f24 = 400.00
/* 005AC 8099DE7C 4480F000 */ mtc1 $zero, $f30 ## $f30 = 0.00
/* 005B0 8099DE80 0000A825 */ or $s5, $zero, $zero ## $s5 = 00000000
/* 005B4 8099DE84 241E0002 */ addiu $s8, $zero, 0x0002 ## $s8 = 00000002
/* 005B8 8099DE88 2417000C */ addiu $s7, $zero, 0x000C ## $s7 = 0000000C
/* 005BC 8099DE8C 92D3054C */ lbu $s3, 0x054C($s6) ## 0000054C
.L8099DE90:
/* 005C0 8099DE90 3273003F */ andi $s3, $s3, 0x003F ## $s3 = 00000004
/* 005C4 8099DE94 00137080 */ sll $t6, $s3, 2
/* 005C8 8099DE98 02CEA021 */ addu $s4, $s6, $t6
/* 005CC 8099DE9C C690014C */ lwc1 $f16, 0x014C($s4) ## 0000014C
/* 005D0 8099DEA0 4610B03E */ c.le.s $f22, $f16
/* 005D4 8099DEA4 00000000 */ nop
/* 005D8 8099DEA8 45020031 */ bc1fl .L8099DF70
/* 005DC 8099DEAC 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000001
/* 005E0 8099DEB0 0C00CFC8 */ jal Rand_CenteredFloat
/* 005E4 8099DEB4 4600D306 */ mov.s $f12, $f26
/* 005E8 8099DEB8 4600048D */ trunc.w.s $f18, $f0
/* 005EC 8099DEBC 4600E306 */ mov.s $f12, $f28
/* 005F0 8099DEC0 44129000 */ mfc1 $s2, $f18
/* 005F4 8099DEC4 00000000 */ nop
/* 005F8 8099DEC8 00129400 */ sll $s2, $s2, 16
/* 005FC 8099DECC 0C00CFBE */ jal Rand_ZeroFloat
/* 00600 8099DED0 00129403 */ sra $s2, $s2, 16
/* 00604 8099DED4 4600010D */ trunc.w.s $f4, $f0
/* 00608 8099DED8 00122400 */ sll $a0, $s2, 16
/* 0060C 8099DEDC 00042403 */ sra $a0, $a0, 16
/* 00610 8099DEE0 44102000 */ mfc1 $s0, $f4
/* 00614 8099DEE4 00000000 */ nop
/* 00618 8099DEE8 00108400 */ sll $s0, $s0, 16
/* 0061C 8099DEEC 0C01DE0D */ jal Math_CosS
## coss?
/* 00620 8099DEF0 00108403 */ sra $s0, $s0, 16
/* 00624 8099DEF4 00102400 */ sll $a0, $s0, 16
/* 00628 8099DEF8 00042403 */ sra $a0, $a0, 16
/* 0062C 8099DEFC 0C01DE0D */ jal Math_CosS
## coss?
/* 00630 8099DF00 46000506 */ mov.s $f20, $f0
/* 00634 8099DF04 4614C182 */ mul.s $f6, $f24, $f20
/* 00638 8099DF08 00102400 */ sll $a0, $s0, 16
/* 0063C 8099DF0C 02770019 */ multu $s3, $s7
/* 00640 8099DF10 00042403 */ sra $a0, $a0, 16
/* 00644 8099DF14 46060202 */ mul.s $f8, $f0, $f6
/* 00648 8099DF18 0000C812 */ mflo $t9
/* 0064C 8099DF1C 02D98821 */ addu $s1, $s6, $t9
/* 00650 8099DF20 0C01DE1C */ jal Math_SinS
## sins?
/* 00654 8099DF24 E628024C */ swc1 $f8, 0x024C($s1) ## 0000024C
/* 00658 8099DF28 46180282 */ mul.s $f10, $f0, $f24
/* 0065C 8099DF2C 00122400 */ sll $a0, $s2, 16
/* 00660 8099DF30 00042403 */ sra $a0, $a0, 16
/* 00664 8099DF34 0C01DE1C */ jal Math_SinS
## sins?
/* 00668 8099DF38 E62A0250 */ swc1 $f10, 0x0250($s1) ## 00000250
/* 0066C 8099DF3C 00102400 */ sll $a0, $s0, 16
/* 00670 8099DF40 00042403 */ sra $a0, $a0, 16
/* 00674 8099DF44 0C01DE0D */ jal Math_CosS
## coss?
/* 00678 8099DF48 46000506 */ mov.s $f20, $f0
/* 0067C 8099DF4C 4614C402 */ mul.s $f16, $f24, $f20
/* 00680 8099DF50 00000000 */ nop
/* 00684 8099DF54 46100482 */ mul.s $f18, $f0, $f16
/* 00688 8099DF58 E6320254 */ swc1 $f18, 0x0254($s1) ## 00000254
/* 0068C 8099DF5C E69E014C */ swc1 $f30, 0x014C($s4) ## 0000014C
/* 00690 8099DF60 92C8054C */ lbu $t0, 0x054C($s6) ## 0000054C
/* 00694 8099DF64 25090001 */ addiu $t1, $t0, 0x0001 ## $t1 = 00000001
/* 00698 8099DF68 A2C9054C */ sb $t1, 0x054C($s6) ## 0000054C
/* 0069C 8099DF6C 26B50001 */ addiu $s5, $s5, 0x0001 ## $s5 = 00000002
.L8099DF70:
/* 006A0 8099DF70 56BEFFC7 */ bnel $s5, $s8, .L8099DE90
/* 006A4 8099DF74 92D3054C */ lbu $s3, 0x054C($s6) ## 0000054C
/* 006A8 8099DF78 8FBF006C */ lw $ra, 0x006C($sp)
/* 006AC 8099DF7C D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 006B0 8099DF80 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 006B4 8099DF84 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 006B8 8099DF88 D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 006BC 8099DF8C D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 006C0 8099DF90 D7BE0040 */ ldc1 $f30, 0x0040($sp)
/* 006C4 8099DF94 8FB00048 */ lw $s0, 0x0048($sp)
/* 006C8 8099DF98 8FB1004C */ lw $s1, 0x004C($sp)
/* 006CC 8099DF9C 8FB20050 */ lw $s2, 0x0050($sp)
/* 006D0 8099DFA0 8FB30054 */ lw $s3, 0x0054($sp)
/* 006D4 8099DFA4 8FB40058 */ lw $s4, 0x0058($sp)
/* 006D8 8099DFA8 8FB5005C */ lw $s5, 0x005C($sp)
/* 006DC 8099DFAC 8FB60060 */ lw $s6, 0x0060($sp)
/* 006E0 8099DFB0 8FB70064 */ lw $s7, 0x0064($sp)
/* 006E4 8099DFB4 8FBE0068 */ lw $s8, 0x0068($sp)
/* 006E8 8099DFB8 03E00008 */ jr $ra
/* 006EC 8099DFBC 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000

View file

@ -1,398 +0,0 @@
.late_rodata
glabel D_8099EC08
.float 0.2
glabel D_8099EC0C
.float 0.1
glabel D_8099EC10
.float 3000.0
glabel D_8099EC14
.float 4500.0
glabel D_8099EC18
.float 2500.0
glabel D_8099EC1C
.word 0x4604D000
glabel D_8099EC20
.word 0x44D48000
glabel D_8099EC24
.float 5000.0
.text
glabel func_8099DFC0
/* 006F0 8099DFC0 27BDFF90 */ addiu $sp, $sp, 0xFF90 ## $sp = FFFFFF90
/* 006F4 8099DFC4 AFBF005C */ sw $ra, 0x005C($sp)
/* 006F8 8099DFC8 AFB60058 */ sw $s6, 0x0058($sp)
/* 006FC 8099DFCC AFB50054 */ sw $s5, 0x0054($sp)
/* 00700 8099DFD0 AFB40050 */ sw $s4, 0x0050($sp)
/* 00704 8099DFD4 AFB3004C */ sw $s3, 0x004C($sp)
/* 00708 8099DFD8 AFB20048 */ sw $s2, 0x0048($sp)
/* 0070C 8099DFDC AFB10044 */ sw $s1, 0x0044($sp)
/* 00710 8099DFE0 AFB00040 */ sw $s0, 0x0040($sp)
/* 00714 8099DFE4 F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 00718 8099DFE8 F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 0071C 8099DFEC F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 00720 8099DFF0 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00724 8099DFF4 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00728 8099DFF8 8C860118 */ lw $a2, 0x0118($a0) ## 00000118
/* 0072C 8099DFFC 00809825 */ or $s3, $a0, $zero ## $s3 = 00000000
/* 00730 8099E000 8CA31C44 */ lw $v1, 0x1C44($a1) ## 00001C44
/* 00734 8099E004 10C0000A */ beq $a2, $zero, .L8099E030
/* 00738 8099E008 2482014C */ addiu $v0, $a0, 0x014C ## $v0 = 0000014C
/* 0073C 8099E00C 8CCE0130 */ lw $t6, 0x0130($a2) ## 00000130
/* 00740 8099E010 51C00008 */ beql $t6, $zero, .L8099E034
/* 00744 8099E014 9263054D */ lbu $v1, 0x054D($s3) ## 0000054D
/* 00748 8099E018 8C6F067C */ lw $t7, 0x067C($v1) ## 0000067C
/* 0074C 8099E01C 24030040 */ addiu $v1, $zero, 0x0040 ## $v1 = 00000040
/* 00750 8099E020 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00754 8099E024 31F81000 */ andi $t8, $t7, 0x1000 ## $t8 = 00000000
/* 00758 8099E028 17000034 */ bne $t8, $zero, .L8099E0FC
/* 0075C 8099E02C 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
.L8099E030:
/* 00760 8099E030 9263054D */ lbu $v1, 0x054D($s3) ## 0000054D
.L8099E034:
/* 00764 8099E034 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00768 8099E038 10600003 */ beq $v1, $zero, .L8099E048
/* 0076C 8099E03C 2479FFFF */ addiu $t9, $v1, 0xFFFF ## $t9 = 0000003F
/* 00770 8099E040 10000004 */ beq $zero, $zero, .L8099E054
/* 00774 8099E044 A279054D */ sb $t9, 0x054D($s3) ## 0000054D
.L8099E048:
/* 00778 8099E048 0C00B55C */ jal Actor_Kill
/* 0077C 8099E04C AFA20060 */ sw $v0, 0x0060($sp)
/* 00780 8099E050 8FA20060 */ lw $v0, 0x0060($sp)
.L8099E054:
/* 00784 8099E054 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00788 8099E058 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 0078C 8099E05C 3C01809A */ lui $at, %hi(D_8099EC08) ## $at = 809A0000
/* 00790 8099E060 C422EC08 */ lwc1 $f2, %lo(D_8099EC08)($at)
/* 00794 8099E064 00009025 */ or $s2, $zero, $zero ## $s2 = 00000000
/* 00798 8099E068 24030040 */ addiu $v1, $zero, 0x0040 ## $v1 = 00000040
.L8099E06C:
/* 0079C 8099E06C C4400000 */ lwc1 $f0, 0x0000($v0) ## 00000000
/* 007A0 8099E070 26520004 */ addiu $s2, $s2, 0x0004 ## $s2 = 00000004
/* 007A4 8099E074 4616003C */ c.lt.s $f0, $f22
/* 007A8 8099E078 00000000 */ nop
/* 007AC 8099E07C 45020004 */ bc1fl .L8099E090
/* 007B0 8099E080 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000004
/* 007B4 8099E084 46020100 */ add.s $f4, $f0, $f2
/* 007B8 8099E088 E4440000 */ swc1 $f4, 0x0000($v0) ## 00000000
/* 007BC 8099E08C C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000004
.L8099E090:
/* 007C0 8099E090 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000004
/* 007C4 8099E094 4616003C */ c.lt.s $f0, $f22
/* 007C8 8099E098 00000000 */ nop
/* 007CC 8099E09C 45020004 */ bc1fl .L8099E0B0
/* 007D0 8099E0A0 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000008
/* 007D4 8099E0A4 46020180 */ add.s $f6, $f0, $f2
/* 007D8 8099E0A8 E4460000 */ swc1 $f6, 0x0000($v0) ## 00000004
/* 007DC 8099E0AC C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000008
.L8099E0B0:
/* 007E0 8099E0B0 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000008
/* 007E4 8099E0B4 4616003C */ c.lt.s $f0, $f22
/* 007E8 8099E0B8 00000000 */ nop
/* 007EC 8099E0BC 45020004 */ bc1fl .L8099E0D0
/* 007F0 8099E0C0 C4400004 */ lwc1 $f0, 0x0004($v0) ## 0000000C
/* 007F4 8099E0C4 46020200 */ add.s $f8, $f0, $f2
/* 007F8 8099E0C8 E4480000 */ swc1 $f8, 0x0000($v0) ## 00000008
/* 007FC 8099E0CC C4400004 */ lwc1 $f0, 0x0004($v0) ## 0000000C
.L8099E0D0:
/* 00800 8099E0D0 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 0000000C
/* 00804 8099E0D4 4616003C */ c.lt.s $f0, $f22
/* 00808 8099E0D8 00000000 */ nop
/* 0080C 8099E0DC 45000003 */ bc1f .L8099E0EC
/* 00810 8099E0E0 00000000 */ nop
/* 00814 8099E0E4 46020280 */ add.s $f10, $f0, $f2
/* 00818 8099E0E8 E44A0000 */ swc1 $f10, 0x0000($v0) ## 0000000C
.L8099E0EC:
/* 0081C 8099E0EC 1643FFDF */ bne $s2, $v1, .L8099E06C
/* 00820 8099E0F0 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000010
/* 00824 8099E0F4 100000E8 */ beq $zero, $zero, .L8099E498
/* 00828 8099E0F8 8FBF005C */ lw $ra, 0x005C($sp)
.L8099E0FC:
/* 0082C 8099E0FC 4481B000 */ mtc1 $at, $f22 ## $f22 = -0.00
/* 00830 8099E100 3C01809A */ lui $at, %hi(D_8099EC0C) ## $at = 809A0000
/* 00834 8099E104 C422EC0C */ lwc1 $f2, %lo(D_8099EC0C)($at)
.L8099E108:
/* 00838 8099E108 C4400000 */ lwc1 $f0, 0x0000($v0) ## 00000010
/* 0083C 8099E10C 26520004 */ addiu $s2, $s2, 0x0004 ## $s2 = 00000008
/* 00840 8099E110 4616003C */ c.lt.s $f0, $f22
/* 00844 8099E114 00000000 */ nop
/* 00848 8099E118 45020004 */ bc1fl .L8099E12C
/* 0084C 8099E11C C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000014
/* 00850 8099E120 46020400 */ add.s $f16, $f0, $f2
/* 00854 8099E124 E4500000 */ swc1 $f16, 0x0000($v0) ## 00000010
/* 00858 8099E128 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000014
.L8099E12C:
/* 0085C 8099E12C 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000014
/* 00860 8099E130 4616003C */ c.lt.s $f0, $f22
/* 00864 8099E134 00000000 */ nop
/* 00868 8099E138 45020004 */ bc1fl .L8099E14C
/* 0086C 8099E13C C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000018
/* 00870 8099E140 46020480 */ add.s $f18, $f0, $f2
/* 00874 8099E144 E4520000 */ swc1 $f18, 0x0000($v0) ## 00000014
/* 00878 8099E148 C4400004 */ lwc1 $f0, 0x0004($v0) ## 00000018
.L8099E14C:
/* 0087C 8099E14C 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000018
/* 00880 8099E150 4616003C */ c.lt.s $f0, $f22
/* 00884 8099E154 00000000 */ nop
/* 00888 8099E158 45020004 */ bc1fl .L8099E16C
/* 0088C 8099E15C C4400004 */ lwc1 $f0, 0x0004($v0) ## 0000001C
/* 00890 8099E160 46020100 */ add.s $f4, $f0, $f2
/* 00894 8099E164 E4440000 */ swc1 $f4, 0x0000($v0) ## 00000018
/* 00898 8099E168 C4400004 */ lwc1 $f0, 0x0004($v0) ## 0000001C
.L8099E16C:
/* 0089C 8099E16C 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 0000001C
/* 008A0 8099E170 4616003C */ c.lt.s $f0, $f22
/* 008A4 8099E174 00000000 */ nop
/* 008A8 8099E178 45000003 */ bc1f .L8099E188
/* 008AC 8099E17C 00000000 */ nop
/* 008B0 8099E180 46020180 */ add.s $f6, $f0, $f2
/* 008B4 8099E184 E4460000 */ swc1 $f6, 0x0000($v0) ## 0000001C
.L8099E188:
/* 008B8 8099E188 1643FFDF */ bne $s2, $v1, .L8099E108
/* 008BC 8099E18C 24420004 */ addiu $v0, $v0, 0x0004 ## $v0 = 00000020
/* 008C0 8099E190 8CC90024 */ lw $t1, 0x0024($a2) ## 00000024
/* 008C4 8099E194 3C01457A */ lui $at, 0x457A ## $at = 457A0000
/* 008C8 8099E198 4481E000 */ mtc1 $at, $f28 ## $f28 = 4000.00
/* 008CC 8099E19C AE690024 */ sw $t1, 0x0024($s3) ## 00000024
/* 008D0 8099E1A0 8CC80028 */ lw $t0, 0x0028($a2) ## 00000028
/* 008D4 8099E1A4 3C01809A */ lui $at, %hi(D_8099EC10) ## $at = 809A0000
/* 008D8 8099E1A8 0000B025 */ or $s6, $zero, $zero ## $s6 = 00000000
/* 008DC 8099E1AC AE680028 */ sw $t0, 0x0028($s3) ## 00000028
/* 008E0 8099E1B0 8CC9002C */ lw $t1, 0x002C($a2) ## 0000002C
/* 008E4 8099E1B4 2415000C */ addiu $s5, $zero, 0x000C ## $s5 = 0000000C
/* 008E8 8099E1B8 AE69002C */ sw $t1, 0x002C($s3) ## 0000002C
/* 008EC 8099E1BC C43AEC10 */ lwc1 $f26, %lo(D_8099EC10)($at)
/* 008F0 8099E1C0 3C0144FA */ lui $at, 0x44FA ## $at = 44FA0000
/* 008F4 8099E1C4 4481C000 */ mtc1 $at, $f24 ## $f24 = 2000.00
/* 008F8 8099E1C8 00000000 */ nop
/* 008FC 8099E1CC 9272054C */ lbu $s2, 0x054C($s3) ## 0000054C
.L8099E1D0:
/* 00900 8099E1D0 3C014780 */ lui $at, 0x4780 ## $at = 47800000
/* 00904 8099E1D4 3252003F */ andi $s2, $s2, 0x003F ## $s2 = 00000008
/* 00908 8099E1D8 00125080 */ sll $t2, $s2, 2
/* 0090C 8099E1DC 026AA021 */ addu $s4, $s3, $t2
/* 00910 8099E1E0 C688014C */ lwc1 $f8, 0x014C($s4) ## 0000014C
/* 00914 8099E1E4 4608B03E */ c.le.s $f22, $f8
/* 00918 8099E1E8 00000000 */ nop
/* 0091C 8099E1EC 450200A6 */ bc1fl .L8099E488
/* 00920 8099E1F0 26D60001 */ addiu $s6, $s6, 0x0001 ## $s6 = 00000001
/* 00924 8099E1F4 44816000 */ mtc1 $at, $f12 ## $f12 = 65536.00
/* 00928 8099E1F8 0C00CFC8 */ jal Rand_CenteredFloat
/* 0092C 8099E1FC 00000000 */ nop
/* 00930 8099E200 4600028D */ trunc.w.s $f10, $f0
/* 00934 8099E204 8662001C */ lh $v0, 0x001C($s3) ## 0000001C
/* 00938 8099E208 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 0093C 8099E20C 44115000 */ mfc1 $s1, $f10
/* 00940 8099E210 00000000 */ nop
/* 00944 8099E214 00118C00 */ sll $s1, $s1, 16
/* 00948 8099E218 10410008 */ beq $v0, $at, .L8099E23C
/* 0094C 8099E21C 00118C03 */ sra $s1, $s1, 16
/* 00950 8099E220 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00954 8099E224 10410033 */ beq $v0, $at, .L8099E2F4
/* 00958 8099E228 24010004 */ addiu $at, $zero, 0x0004 ## $at = 00000004
/* 0095C 8099E22C 1041005F */ beq $v0, $at, .L8099E3AC
/* 00960 8099E230 00000000 */ nop
/* 00964 8099E234 1000008E */ beq $zero, $zero, .L8099E470
/* 00968 8099E238 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
.L8099E23C:
/* 0096C 8099E23C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00970 8099E240 00000000 */ nop
/* 00974 8099E244 3C01809A */ lui $at, %hi(D_8099EC14) ## $at = 809A0000
/* 00978 8099E248 C430EC14 */ lwc1 $f16, %lo(D_8099EC14)($at)
/* 0097C 8099E24C 02550019 */ multu $s2, $s5
/* 00980 8099E250 3C01442F */ lui $at, 0x442F ## $at = 442F0000
/* 00984 8099E254 46100482 */ mul.s $f18, $f0, $f16
/* 00988 8099E258 44812000 */ mtc1 $at, $f4 ## $f4 = 700.00
/* 0098C 8099E25C 00112400 */ sll $a0, $s1, 16
/* 00990 8099E260 46049080 */ add.s $f2, $f18, $f4
/* 00994 8099E264 00006012 */ mflo $t4
/* 00998 8099E268 026C8021 */ addu $s0, $s3, $t4
/* 0099C 8099E26C 4602D03C */ c.lt.s $f26, $f2
/* 009A0 8099E270 E602024C */ swc1 $f2, 0x024C($s0) ## 0000024C
/* 009A4 8099E274 45000015 */ bc1f .L8099E2CC
/* 009A8 8099E278 00000000 */ nop
/* 009AC 8099E27C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 009B0 8099E280 00000000 */ nop
/* 009B4 8099E284 00112400 */ sll $a0, $s1, 16
/* 009B8 8099E288 00042403 */ sra $a0, $a0, 16
/* 009BC 8099E28C 0C01DE1C */ jal Math_SinS
## sins?
/* 009C0 8099E290 46000506 */ mov.s $f20, $f0
/* 009C4 8099E294 4614D182 */ mul.s $f6, $f26, $f20
/* 009C8 8099E298 00000000 */ nop
/* 009CC 8099E29C 46060202 */ mul.s $f8, $f0, $f6
/* 009D0 8099E2A0 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 009D4 8099E2A4 E6080250 */ swc1 $f8, 0x0250($s0) ## 00000250
/* 009D8 8099E2A8 00112400 */ sll $a0, $s1, 16
/* 009DC 8099E2AC 00042403 */ sra $a0, $a0, 16
/* 009E0 8099E2B0 0C01DE0D */ jal Math_CosS
## coss?
/* 009E4 8099E2B4 46000506 */ mov.s $f20, $f0
/* 009E8 8099E2B8 4614D282 */ mul.s $f10, $f26, $f20
/* 009EC 8099E2BC 00000000 */ nop
/* 009F0 8099E2C0 460A0402 */ mul.s $f16, $f0, $f10
/* 009F4 8099E2C4 10000069 */ beq $zero, $zero, .L8099E46C
/* 009F8 8099E2C8 E6100254 */ swc1 $f16, 0x0254($s0) ## 00000254
.L8099E2CC:
/* 009FC 8099E2CC 0C01DE1C */ jal Math_SinS
## sins?
/* 00A00 8099E2D0 00042403 */ sra $a0, $a0, 16
/* 00A04 8099E2D4 461A0482 */ mul.s $f18, $f0, $f26
/* 00A08 8099E2D8 00112400 */ sll $a0, $s1, 16
/* 00A0C 8099E2DC 00042403 */ sra $a0, $a0, 16
/* 00A10 8099E2E0 0C01DE0D */ jal Math_CosS
## coss?
/* 00A14 8099E2E4 E6120250 */ swc1 $f18, 0x0250($s0) ## 00000250
/* 00A18 8099E2E8 461A0102 */ mul.s $f4, $f0, $f26
/* 00A1C 8099E2EC 1000005F */ beq $zero, $zero, .L8099E46C
/* 00A20 8099E2F0 E6040254 */ swc1 $f4, 0x0254($s0) ## 00000254
.L8099E2F4:
/* 00A24 8099E2F4 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00A28 8099E2F8 00000000 */ nop
/* 00A2C 8099E2FC 3C01809A */ lui $at, %hi(D_8099EC18) ## $at = 809A0000
/* 00A30 8099E300 C426EC18 */ lwc1 $f6, %lo(D_8099EC18)($at)
/* 00A34 8099E304 02550019 */ multu $s2, $s5
/* 00A38 8099E308 3C01442F */ lui $at, 0x442F ## $at = 442F0000
/* 00A3C 8099E30C 46060202 */ mul.s $f8, $f0, $f6
/* 00A40 8099E310 44815000 */ mtc1 $at, $f10 ## $f10 = 700.00
/* 00A44 8099E314 00112400 */ sll $a0, $s1, 16
/* 00A48 8099E318 460A4080 */ add.s $f2, $f8, $f10
/* 00A4C 8099E31C 00006812 */ mflo $t5
/* 00A50 8099E320 026D8021 */ addu $s0, $s3, $t5
/* 00A54 8099E324 4602C03C */ c.lt.s $f24, $f2
/* 00A58 8099E328 E602024C */ swc1 $f2, 0x024C($s0) ## 0000024C
/* 00A5C 8099E32C 45000015 */ bc1f .L8099E384
/* 00A60 8099E330 00000000 */ nop
/* 00A64 8099E334 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00A68 8099E338 00000000 */ nop
/* 00A6C 8099E33C 00112400 */ sll $a0, $s1, 16
/* 00A70 8099E340 00042403 */ sra $a0, $a0, 16
/* 00A74 8099E344 0C01DE1C */ jal Math_SinS
## sins?
/* 00A78 8099E348 46000506 */ mov.s $f20, $f0
/* 00A7C 8099E34C 4614C402 */ mul.s $f16, $f24, $f20
/* 00A80 8099E350 00000000 */ nop
/* 00A84 8099E354 46100482 */ mul.s $f18, $f0, $f16
/* 00A88 8099E358 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00A8C 8099E35C E6120250 */ swc1 $f18, 0x0250($s0) ## 00000250
/* 00A90 8099E360 00112400 */ sll $a0, $s1, 16
/* 00A94 8099E364 00042403 */ sra $a0, $a0, 16
/* 00A98 8099E368 0C01DE0D */ jal Math_CosS
## coss?
/* 00A9C 8099E36C 46000506 */ mov.s $f20, $f0
/* 00AA0 8099E370 4614C102 */ mul.s $f4, $f24, $f20
/* 00AA4 8099E374 00000000 */ nop
/* 00AA8 8099E378 46040182 */ mul.s $f6, $f0, $f4
/* 00AAC 8099E37C 1000003B */ beq $zero, $zero, .L8099E46C
/* 00AB0 8099E380 E6060254 */ swc1 $f6, 0x0254($s0) ## 00000254
.L8099E384:
/* 00AB4 8099E384 0C01DE1C */ jal Math_SinS
## sins?
/* 00AB8 8099E388 00042403 */ sra $a0, $a0, 16
/* 00ABC 8099E38C 46180202 */ mul.s $f8, $f0, $f24
/* 00AC0 8099E390 00112400 */ sll $a0, $s1, 16
/* 00AC4 8099E394 00042403 */ sra $a0, $a0, 16
/* 00AC8 8099E398 0C01DE0D */ jal Math_CosS
## coss?
/* 00ACC 8099E39C E6080250 */ swc1 $f8, 0x0250($s0) ## 00000250
/* 00AD0 8099E3A0 46180282 */ mul.s $f10, $f0, $f24
/* 00AD4 8099E3A4 10000031 */ beq $zero, $zero, .L8099E46C
/* 00AD8 8099E3A8 E60A0254 */ swc1 $f10, 0x0254($s0) ## 00000254
.L8099E3AC:
/* 00ADC 8099E3AC 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00AE0 8099E3B0 00000000 */ nop
/* 00AE4 8099E3B4 3C01809A */ lui $at, %hi(D_8099EC1C) ## $at = 809A0000
/* 00AE8 8099E3B8 C430EC1C */ lwc1 $f16, %lo(D_8099EC1C)($at)
/* 00AEC 8099E3BC 02550019 */ multu $s2, $s5
/* 00AF0 8099E3C0 3C01809A */ lui $at, %hi(D_8099EC20) ## $at = 809A0000
/* 00AF4 8099E3C4 46100482 */ mul.s $f18, $f0, $f16
/* 00AF8 8099E3C8 C424EC20 */ lwc1 $f4, %lo(D_8099EC20)($at)
/* 00AFC 8099E3CC 3C01809A */ lui $at, %hi(D_8099EC24) ## $at = 809A0000
/* 00B00 8099E3D0 00112400 */ sll $a0, $s1, 16
/* 00B04 8099E3D4 46049080 */ add.s $f2, $f18, $f4
/* 00B08 8099E3D8 00007012 */ mflo $t6
/* 00B0C 8099E3DC 026E8021 */ addu $s0, $s3, $t6
/* 00B10 8099E3E0 E602024C */ swc1 $f2, 0x024C($s0) ## 0000024C
/* 00B14 8099E3E4 C426EC24 */ lwc1 $f6, %lo(D_8099EC24)($at)
/* 00B18 8099E3E8 4602303C */ c.lt.s $f6, $f2
/* 00B1C 8099E3EC 00000000 */ nop
/* 00B20 8099E3F0 45000015 */ bc1f .L8099E448
/* 00B24 8099E3F4 00000000 */ nop
/* 00B28 8099E3F8 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00B2C 8099E3FC 00000000 */ nop
/* 00B30 8099E400 00112400 */ sll $a0, $s1, 16
/* 00B34 8099E404 00042403 */ sra $a0, $a0, 16
/* 00B38 8099E408 0C01DE1C */ jal Math_SinS
## sins?
/* 00B3C 8099E40C 46000506 */ mov.s $f20, $f0
/* 00B40 8099E410 4614E202 */ mul.s $f8, $f28, $f20
/* 00B44 8099E414 00000000 */ nop
/* 00B48 8099E418 46080282 */ mul.s $f10, $f0, $f8
/* 00B4C 8099E41C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00B50 8099E420 E60A0250 */ swc1 $f10, 0x0250($s0) ## 00000250
/* 00B54 8099E424 00112400 */ sll $a0, $s1, 16
/* 00B58 8099E428 00042403 */ sra $a0, $a0, 16
/* 00B5C 8099E42C 0C01DE0D */ jal Math_CosS
## coss?
/* 00B60 8099E430 46000506 */ mov.s $f20, $f0
/* 00B64 8099E434 4614E402 */ mul.s $f16, $f28, $f20
/* 00B68 8099E438 00000000 */ nop
/* 00B6C 8099E43C 46100482 */ mul.s $f18, $f0, $f16
/* 00B70 8099E440 1000000A */ beq $zero, $zero, .L8099E46C
/* 00B74 8099E444 E6120254 */ swc1 $f18, 0x0254($s0) ## 00000254
.L8099E448:
/* 00B78 8099E448 0C01DE1C */ jal Math_SinS
## sins?
/* 00B7C 8099E44C 00042403 */ sra $a0, $a0, 16
/* 00B80 8099E450 461C0102 */ mul.s $f4, $f0, $f28
/* 00B84 8099E454 00112400 */ sll $a0, $s1, 16
/* 00B88 8099E458 00042403 */ sra $a0, $a0, 16
/* 00B8C 8099E45C 0C01DE0D */ jal Math_CosS
## coss?
/* 00B90 8099E460 E6040250 */ swc1 $f4, 0x0250($s0) ## 00000250
/* 00B94 8099E464 461C0182 */ mul.s $f6, $f0, $f28
/* 00B98 8099E468 E6060254 */ swc1 $f6, 0x0254($s0) ## 00000254
.L8099E46C:
/* 00B9C 8099E46C 44804000 */ mtc1 $zero, $f8 ## $f8 = 0.00
.L8099E470:
/* 00BA0 8099E470 00000000 */ nop
/* 00BA4 8099E474 E688014C */ swc1 $f8, 0x014C($s4) ## 0000014C
/* 00BA8 8099E478 926F054C */ lbu $t7, 0x054C($s3) ## 0000054C
/* 00BAC 8099E47C 25F80001 */ addiu $t8, $t7, 0x0001 ## $t8 = 00000001
/* 00BB0 8099E480 A278054C */ sb $t8, 0x054C($s3) ## 0000054C
/* 00BB4 8099E484 26D60001 */ addiu $s6, $s6, 0x0001 ## $s6 = 00000002
.L8099E488:
/* 00BB8 8099E488 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00BBC 8099E48C 56C1FF50 */ bnel $s6, $at, .L8099E1D0
/* 00BC0 8099E490 9272054C */ lbu $s2, 0x054C($s3) ## 0000054C
/* 00BC4 8099E494 8FBF005C */ lw $ra, 0x005C($sp)
.L8099E498:
/* 00BC8 8099E498 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00BCC 8099E49C D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00BD0 8099E4A0 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 00BD4 8099E4A4 D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 00BD8 8099E4A8 D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 00BDC 8099E4AC 8FB00040 */ lw $s0, 0x0040($sp)
/* 00BE0 8099E4B0 8FB10044 */ lw $s1, 0x0044($sp)
/* 00BE4 8099E4B4 8FB20048 */ lw $s2, 0x0048($sp)
/* 00BE8 8099E4B8 8FB3004C */ lw $s3, 0x004C($sp)
/* 00BEC 8099E4BC 8FB40050 */ lw $s4, 0x0050($sp)
/* 00BF0 8099E4C0 8FB50054 */ lw $s5, 0x0054($sp)
/* 00BF4 8099E4C4 8FB60058 */ lw $s6, 0x0058($sp)
/* 00BF8 8099E4C8 03E00008 */ jr $ra
/* 00BFC 8099E4CC 27BD0070 */ addiu $sp, $sp, 0x0070 ## $sp = 00000000

View file

@ -1,181 +0,0 @@
.rdata
glabel D_8099EB80
.asciz "../z_eff_dust.c"
.balign 4
glabel D_8099EB90
.asciz "../z_eff_dust.c"
.balign 4
glabel D_8099EBA0
.asciz "../z_eff_dust.c"
.balign 4
.text
glabel func_8099E4F4
/* 00C24 8099E4F4 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50
/* 00C28 8099E4F8 AFBF004C */ sw $ra, 0x004C($sp)
/* 00C2C 8099E4FC AFBE0048 */ sw $s8, 0x0048($sp)
/* 00C30 8099E500 AFB70044 */ sw $s7, 0x0044($sp)
/* 00C34 8099E504 AFB60040 */ sw $s6, 0x0040($sp)
/* 00C38 8099E508 AFB5003C */ sw $s5, 0x003C($sp)
/* 00C3C 8099E50C AFB40038 */ sw $s4, 0x0038($sp)
/* 00C40 8099E510 AFB30034 */ sw $s3, 0x0034($sp)
/* 00C44 8099E514 AFB20030 */ sw $s2, 0x0030($sp)
/* 00C48 8099E518 AFB1002C */ sw $s1, 0x002C($sp)
/* 00C4C 8099E51C AFB00028 */ sw $s0, 0x0028($sp)
/* 00C50 8099E520 F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00C54 8099E524 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00C58 8099E528 8CB30000 */ lw $s3, 0x0000($a1) ## 00000000
/* 00C5C 8099E52C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00C60 8099E530 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
/* 00C64 8099E534 3C06809A */ lui $a2, %hi(D_8099EB80) ## $a2 = 809A0000
/* 00C68 8099E538 24C6EB80 */ addiu $a2, $a2, %lo(D_8099EB80) ## $a2 = 8099EB80
/* 00C6C 8099E53C 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFD0
/* 00C70 8099E540 240701A9 */ addiu $a3, $zero, 0x01A9 ## $a3 = 000001A9
/* 00C74 8099E544 0C031AB1 */ jal Graph_OpenDisps
/* 00C78 8099E548 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 00C7C 8099E54C 0C024F46 */ jal func_80093D18
/* 00C80 8099E550 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00C84 8099E554 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0
/* 00C88 8099E558 3C0FE700 */ lui $t7, 0xE700 ## $t7 = E7000000
/* 00C8C 8099E55C 3C088080 */ lui $t0, 0x8080 ## $t0 = 80800000
/* 00C90 8099E560 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 00C94 8099E564 AE6E02D0 */ sw $t6, 0x02D0($s3) ## 000002D0
/* 00C98 8099E568 AC600004 */ sw $zero, 0x0004($v1) ## 00000004
/* 00C9C 8099E56C AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 00CA0 8099E570 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0
/* 00CA4 8099E574 350880FF */ ori $t0, $t0, 0x80FF ## $t0 = 808080FF
/* 00CA8 8099E578 3C19FA00 */ lui $t9, 0xFA00 ## $t9 = FA000000
/* 00CAC 8099E57C 24780008 */ addiu $t8, $v1, 0x0008 ## $t8 = 00000008
/* 00CB0 8099E580 AE7802D0 */ sw $t8, 0x02D0($s3) ## 000002D0
/* 00CB4 8099E584 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 00CB8 8099E588 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 00CBC 8099E58C 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0
/* 00CC0 8099E590 3C0B8080 */ lui $t3, 0x8080 ## $t3 = 80800000
/* 00CC4 8099E594 356B8000 */ ori $t3, $t3, 0x8000 ## $t3 = 80808000
/* 00CC8 8099E598 24690008 */ addiu $t1, $v1, 0x0008 ## $t1 = 00000008
/* 00CCC 8099E59C AE6902D0 */ sw $t1, 0x02D0($s3) ## 000002D0
/* 00CD0 8099E5A0 3C0AFB00 */ lui $t2, 0xFB00 ## $t2 = FB000000
/* 00CD4 8099E5A4 AC6A0000 */ sw $t2, 0x0000($v1) ## 00000000
/* 00CD8 8099E5A8 AC6B0004 */ sw $t3, 0x0004($v1) ## 00000004
/* 00CDC 8099E5AC 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0
/* 00CE0 8099E5B0 3C0E809A */ lui $t6, %hi(D_8099EB60) ## $t6 = 809A0000
/* 00CE4 8099E5B4 3C0DDB06 */ lui $t5, 0xDB06 ## $t5 = DB060000
/* 00CE8 8099E5B8 246C0008 */ addiu $t4, $v1, 0x0008 ## $t4 = 00000008
/* 00CEC 8099E5BC AE6C02D0 */ sw $t4, 0x02D0($s3) ## 000002D0
/* 00CF0 8099E5C0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00CF4 8099E5C4 35AD0020 */ ori $t5, $t5, 0x0020 ## $t5 = DB060020
/* 00CF8 8099E5C8 25CEEB60 */ addiu $t6, $t6, %lo(D_8099EB60) ## $t6 = 8099EB60
/* 00CFC 8099E5CC 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 00D00 8099E5D0 2632024C */ addiu $s2, $s1, 0x024C ## $s2 = 0000024C
/* 00D04 8099E5D4 2637014C */ addiu $s7, $s1, 0x014C ## $s7 = 0000014C
/* 00D08 8099E5D8 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
/* 00D0C 8099E5DC AC6E0004 */ sw $t6, 0x0004($v1) ## 00000004
/* 00D10 8099E5E0 AC6D0000 */ sw $t5, 0x0000($v1) ## 00000000
.L8099E5E4:
/* 00D14 8099E5E4 C6F40000 */ lwc1 $f20, 0x0000($s7) ## 0000014C
/* 00D18 8099E5E8 4616A03C */ c.lt.s $f20, $f22
/* 00D1C 8099E5EC 00000000 */ nop
/* 00D20 8099E5F0 4502004C */ bc1fl .L8099E724
/* 00D24 8099E5F4 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
/* 00D28 8099E5F8 4614A102 */ mul.s $f4, $f20, $f20
/* 00D2C 8099E5FC C6220550 */ lwc1 $f2, 0x0550($s1) ## 00000550
/* 00D30 8099E600 C6300554 */ lwc1 $f16, 0x0554($s1) ## 00000554
/* 00D34 8099E604 C6320558 */ lwc1 $f18, 0x0558($s1) ## 00000558
/* 00D38 8099E608 3C020403 */ lui $v0, %hi(gEffSparklesDL) ## $v0 = 04030000
/* 00D3C 8099E60C 4602B201 */ sub.s $f8, $f22, $f2
/* 00D40 8099E610 24427880 */ addiu $v0, $v0, %lo(gEffSparklesDL) ## $v0 = 04037880
/* 00D44 8099E614 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 00D48 8099E618 4604B001 */ sub.s $f0, $f22, $f4
/* 00D4C 8099E61C C6440000 */ lwc1 $f4, 0x0000($s2) ## 0000024C
/* 00D50 8099E620 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 00D54 8099E624 0041B024 */ and $s6, $v0, $at
/* 00D58 8099E628 46001182 */ mul.s $f6, $f2, $f0
/* 00D5C 8099E62C 00027900 */ sll $t7, $v0, 4
/* 00D60 8099E630 000FC702 */ srl $t8, $t7, 28
/* 00D64 8099E634 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00D68 8099E638 3C088016 */ lui $t0, %hi(gSegments)
/* 00D6C 8099E63C 25086FA8 */ addiu $t0, %lo(gSegments)
/* 00D70 8099E640 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00D74 8099E644 46083280 */ add.s $f10, $f6, $f8
/* 00D78 8099E648 C6280024 */ lwc1 $f8, 0x0024($s1) ## 00000024
/* 00D7C 8099E64C 0018C880 */ sll $t9, $t8, 2
/* 00D80 8099E650 0328A821 */ addu $s5, $t9, $t0
/* 00D84 8099E654 460A2182 */ mul.s $f6, $f4, $f10
/* 00D88 8099E658 4610B281 */ sub.s $f10, $f22, $f16
/* 00D8C 8099E65C 03C18021 */ addu $s0, $s8, $at
/* 00D90 8099E660 46008102 */ mul.s $f4, $f16, $f0
/* 00D94 8099E664 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00D98 8099E668 46064300 */ add.s $f12, $f8, $f6
/* 00D9C 8099E66C C6460004 */ lwc1 $f6, 0x0004($s2) ## 00000250
/* 00DA0 8099E670 460A2200 */ add.s $f8, $f4, $f10
/* 00DA4 8099E674 C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
/* 00DA8 8099E678 46083102 */ mul.s $f4, $f6, $f8
/* 00DAC 8099E67C 4612B201 */ sub.s $f8, $f22, $f18
/* 00DB0 8099E680 46009182 */ mul.s $f6, $f18, $f0
/* 00DB4 8099E684 46045380 */ add.s $f14, $f10, $f4
/* 00DB8 8099E688 C6440008 */ lwc1 $f4, 0x0008($s2) ## 00000254
/* 00DBC 8099E68C 46083280 */ add.s $f10, $f6, $f8
/* 00DC0 8099E690 C628002C */ lwc1 $f8, 0x002C($s1) ## 0000002C
/* 00DC4 8099E694 460A2182 */ mul.s $f6, $f4, $f10
/* 00DC8 8099E698 46064100 */ add.s $f4, $f8, $f6
/* 00DCC 8099E69C 44062000 */ mfc1 $a2, $f4
/* 00DD0 8099E6A0 0C034261 */ jal Matrix_Translate
/* 00DD4 8099E6A4 00000000 */ nop
/* 00DD8 8099E6A8 C62C055C */ lwc1 $f12, 0x055C($s1) ## 0000055C
/* 00DDC 8099E6AC 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 00DE0 8099E6B0 44066000 */ mfc1 $a2, $f12
/* 00DE4 8099E6B4 0C0342A3 */ jal Matrix_Scale
/* 00DE8 8099E6B8 46006386 */ mov.s $f14, $f12
/* 00DEC 8099E6BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00DF0 8099E6C0 0C03424C */ jal Matrix_Mult
/* 00DF4 8099E6C4 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
/* 00DF8 8099E6C8 8E7002D0 */ lw $s0, 0x02D0($s3) ## 000002D0
/* 00DFC 8099E6CC 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000
/* 00E00 8099E6D0 354A0003 */ ori $t2, $t2, 0x0003 ## $t2 = DA380003
/* 00E04 8099E6D4 26090008 */ addiu $t1, $s0, 0x0008 ## $t1 = 00000008
/* 00E08 8099E6D8 AE6902D0 */ sw $t1, 0x02D0($s3) ## 000002D0
/* 00E0C 8099E6DC 3C05809A */ lui $a1, %hi(D_8099EB90) ## $a1 = 809A0000
/* 00E10 8099E6E0 24A5EB90 */ addiu $a1, $a1, %lo(D_8099EB90) ## $a1 = 8099EB90
/* 00E14 8099E6E4 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00E18 8099E6E8 240601C1 */ addiu $a2, $zero, 0x01C1 ## $a2 = 000001C1
/* 00E1C 8099E6EC 0C0346A2 */ jal Matrix_NewMtx
/* 00E20 8099E6F0 AE0A0000 */ sw $t2, 0x0000($s0) ## 00000000
/* 00E24 8099E6F4 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 00E28 8099E6F8 8E6302D0 */ lw $v1, 0x02D0($s3) ## 000002D0
/* 00E2C 8099E6FC 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
/* 00E30 8099E700 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 00E34 8099E704 246B0008 */ addiu $t3, $v1, 0x0008 ## $t3 = 00000008
/* 00E38 8099E708 AE6B02D0 */ sw $t3, 0x02D0($s3) ## 000002D0
/* 00E3C 8099E70C AC6C0000 */ sw $t4, 0x0000($v1) ## 00000000
/* 00E40 8099E710 8EAD0000 */ lw $t5, 0x0000($s5) ## 00000000
/* 00E44 8099E714 01B67021 */ addu $t6, $t5, $s6
/* 00E48 8099E718 01C17821 */ addu $t7, $t6, $at
/* 00E4C 8099E71C AC6F0004 */ sw $t7, 0x0004($v1) ## 00000004
/* 00E50 8099E720 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000002
.L8099E724:
/* 00E54 8099E724 24010040 */ addiu $at, $zero, 0x0040 ## $at = 00000040
/* 00E58 8099E728 2652000C */ addiu $s2, $s2, 0x000C ## $s2 = 00000258
/* 00E5C 8099E72C 1681FFAD */ bne $s4, $at, .L8099E5E4
/* 00E60 8099E730 26F70004 */ addiu $s7, $s7, 0x0004 ## $s7 = 00000150
/* 00E64 8099E734 3C06809A */ lui $a2, %hi(D_8099EBA0) ## $a2 = 809A0000
/* 00E68 8099E738 24C6EBA0 */ addiu $a2, $a2, %lo(D_8099EBA0) ## $a2 = 8099EBA0
/* 00E6C 8099E73C 27A40080 */ addiu $a0, $sp, 0x0080 ## $a0 = FFFFFFD0
/* 00E70 8099E740 02602825 */ or $a1, $s3, $zero ## $a1 = 00000000
/* 00E74 8099E744 0C031AD5 */ jal Graph_CloseDisps
/* 00E78 8099E748 240701CA */ addiu $a3, $zero, 0x01CA ## $a3 = 000001CA
/* 00E7C 8099E74C 8FBF004C */ lw $ra, 0x004C($sp)
/* 00E80 8099E750 D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 00E84 8099E754 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 00E88 8099E758 8FB00028 */ lw $s0, 0x0028($sp)
/* 00E8C 8099E75C 8FB1002C */ lw $s1, 0x002C($sp)
/* 00E90 8099E760 8FB20030 */ lw $s2, 0x0030($sp)
/* 00E94 8099E764 8FB30034 */ lw $s3, 0x0034($sp)
/* 00E98 8099E768 8FB40038 */ lw $s4, 0x0038($sp)
/* 00E9C 8099E76C 8FB5003C */ lw $s5, 0x003C($sp)
/* 00EA0 8099E770 8FB60040 */ lw $s6, 0x0040($sp)
/* 00EA4 8099E774 8FB70044 */ lw $s7, 0x0044($sp)
/* 00EA8 8099E778 8FBE0048 */ lw $s8, 0x0048($sp)
/* 00EAC 8099E77C 03E00008 */ jr $ra
/* 00EB0 8099E780 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000

View file

@ -1,256 +0,0 @@
.rdata
glabel D_8099EBB0
.asciz "../z_eff_dust.c"
.balign 4
glabel D_8099EBC0
.asciz "../z_eff_dust.c"
.balign 4
glabel D_8099EBD0
.asciz "../z_eff_dust.c"
.balign 4
.late_rodata
glabel D_8099EC28
.float 0.85
.text
glabel func_8099E784
/* 00EB4 8099E784 27BDFF30 */ addiu $sp, $sp, 0xFF30 ## $sp = FFFFFF30
/* 00EB8 8099E788 AFBF0064 */ sw $ra, 0x0064($sp)
/* 00EBC 8099E78C AFBE0060 */ sw $s8, 0x0060($sp)
/* 00EC0 8099E790 AFB7005C */ sw $s7, 0x005C($sp)
/* 00EC4 8099E794 AFB60058 */ sw $s6, 0x0058($sp)
/* 00EC8 8099E798 AFB50054 */ sw $s5, 0x0054($sp)
/* 00ECC 8099E79C AFB40050 */ sw $s4, 0x0050($sp)
/* 00ED0 8099E7A0 AFB3004C */ sw $s3, 0x004C($sp)
/* 00ED4 8099E7A4 AFB20048 */ sw $s2, 0x0048($sp)
/* 00ED8 8099E7A8 AFB10044 */ sw $s1, 0x0044($sp)
/* 00EDC 8099E7AC AFB00040 */ sw $s0, 0x0040($sp)
/* 00EE0 8099E7B0 F7BC0038 */ sdc1 $f28, 0x0038($sp)
/* 00EE4 8099E7B4 F7BA0030 */ sdc1 $f26, 0x0030($sp)
/* 00EE8 8099E7B8 F7B80028 */ sdc1 $f24, 0x0028($sp)
/* 00EEC 8099E7BC F7B60020 */ sdc1 $f22, 0x0020($sp)
/* 00EF0 8099E7C0 F7B40018 */ sdc1 $f20, 0x0018($sp)
/* 00EF4 8099E7C4 8CB20000 */ lw $s2, 0x0000($a1) ## 00000000
/* 00EF8 8099E7C8 8CAE1C44 */ lw $t6, 0x1C44($a1) ## 00001C44
/* 00EFC 8099E7CC 0080B825 */ or $s7, $a0, $zero ## $s7 = 00000000
/* 00F00 8099E7D0 00A0F025 */ or $s8, $a1, $zero ## $s8 = 00000000
/* 00F04 8099E7D4 3C06809A */ lui $a2, %hi(D_8099EBB0) ## $a2 = 809A0000
/* 00F08 8099E7D8 24C6EBB0 */ addiu $a2, $a2, %lo(D_8099EBB0) ## $a2 = 8099EBB0
/* 00F0C 8099E7DC 27A4009C */ addiu $a0, $sp, 0x009C ## $a0 = FFFFFFCC
/* 00F10 8099E7E0 240701D8 */ addiu $a3, $zero, 0x01D8 ## $a3 = 000001D8
/* 00F14 8099E7E4 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00F18 8099E7E8 0C031AB1 */ jal Graph_OpenDisps
/* 00F1C 8099E7EC AFAE00B0 */ sw $t6, 0x00B0($sp)
/* 00F20 8099E7F0 0C024F46 */ jal func_80093D18
/* 00F24 8099E7F4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00F28 8099E7F8 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 00F2C 8099E7FC 3C18E700 */ lui $t8, 0xE700 ## $t8 = E7000000
/* 00F30 8099E800 3C08FA00 */ lui $t0, 0xFA00 ## $t0 = FA000000
/* 00F34 8099E804 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00F38 8099E808 AE4F02D0 */ sw $t7, 0x02D0($s2) ## 000002D0
/* 00F3C 8099E80C AC400004 */ sw $zero, 0x0004($v0) ## 00000004
/* 00F40 8099E810 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00F44 8099E814 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 00F48 8099E818 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
/* 00F4C 8099E81C 3C01809A */ lui $at, %hi(D_8099EC28) ## $at = 809A0000
/* 00F50 8099E820 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00F54 8099E824 AE5902D0 */ sw $t9, 0x02D0($s2) ## 000002D0
/* 00F58 8099E828 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 00F5C 8099E82C AC480000 */ sw $t0, 0x0000($v0) ## 00000000
/* 00F60 8099E830 8FAA00B0 */ lw $t2, 0x00B0($sp)
/* 00F64 8099E834 C426EC28 */ lwc1 $f6, %lo(D_8099EC28)($at)
/* 00F68 8099E838 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
/* 00F6C 8099E83C C5440858 */ lwc1 $f4, 0x0858($t2) ## 00000858
/* 00F70 8099E840 3C09809A */ lui $t1, %hi(D_8099EB60) ## $t1 = 809A0000
/* 00F74 8099E844 26F3024C */ addiu $s3, $s7, 0x024C ## $s3 = 0000024C
/* 00F78 8099E848 4604303E */ c.le.s $f6, $f4
/* 00F7C 8099E84C 26F1014C */ addiu $s1, $s7, 0x014C ## $s1 = 0000014C
/* 00F80 8099E850 2529EB60 */ addiu $t1, $t1, %lo(D_8099EB60) ## $t1 = 8099EB60
/* 00F84 8099E854 35080020 */ ori $t0, $t0, 0x0020 ## $t0 = DB060020
/* 00F88 8099E858 45000009 */ bc1f .L8099E880
/* 00F8C 8099E85C 0000A025 */ or $s4, $zero, $zero ## $s4 = 00000000
/* 00F90 8099E860 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 00F94 8099E864 3C0CFB00 */ lui $t4, 0xFB00 ## $t4 = FB000000
/* 00F98 8099E868 3C0DFF00 */ lui $t5, 0xFF00 ## $t5 = FF000000
/* 00F9C 8099E86C 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
/* 00FA0 8099E870 AE4B02D0 */ sw $t3, 0x02D0($s2) ## 000002D0
/* 00FA4 8099E874 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
/* 00FA8 8099E878 10000008 */ beq $zero, $zero, .L8099E89C
/* 00FAC 8099E87C AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
.L8099E880:
/* 00FB0 8099E880 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 00FB4 8099E884 3C0FFB00 */ lui $t7, 0xFB00 ## $t7 = FB000000
/* 00FB8 8099E888 3418FF00 */ ori $t8, $zero, 0xFF00 ## $t8 = 0000FF00
/* 00FBC 8099E88C 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 00FC0 8099E890 AE4E02D0 */ sw $t6, 0x02D0($s2) ## 000002D0
/* 00FC4 8099E894 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 00FC8 8099E898 AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
.L8099E89C:
/* 00FCC 8099E89C 3C01C1A0 */ lui $at, 0xC1A0 ## $at = C1A00000
/* 00FD0 8099E8A0 4481E000 */ mtc1 $at, $f28 ## $f28 = -20.00
/* 00FD4 8099E8A4 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 00FD8 8099E8A8 3C0143A0 */ lui $at, 0x43A0 ## $at = 43A00000
/* 00FDC 8099E8AC 4481D000 */ mtc1 $at, $f26 ## $f26 = 320.00
/* 00FE0 8099E8B0 3C01437F */ lui $at, 0x437F ## $at = 437F0000
/* 00FE4 8099E8B4 4481C000 */ mtc1 $at, $f24 ## $f24 = 255.00
/* 00FE8 8099E8B8 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
/* 00FEC 8099E8BC AE5902D0 */ sw $t9, 0x02D0($s2) ## 000002D0
/* 00FF0 8099E8C0 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00FF4 8099E8C4 4481B000 */ mtc1 $at, $f22 ## $f22 = 1.00
/* 00FF8 8099E8C8 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
/* 00FFC 8099E8CC AC480000 */ sw $t0, 0x0000($v0) ## 00000000
.L8099E8D0:
/* 01000 8099E8D0 C6280000 */ lwc1 $f8, 0x0000($s1) ## 0000014C
/* 01004 8099E8D4 4616403C */ c.lt.s $f8, $f22
/* 01008 8099E8D8 00000000 */ nop
/* 0100C 8099E8DC 45020074 */ bc1fl .L8099EAB0
/* 01010 8099E8E0 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000001
/* 01014 8099E8E4 8E4302D0 */ lw $v1, 0x02D0($s2) ## 000002D0
/* 01018 8099E8E8 8FA400B0 */ lw $a0, 0x00B0($sp)
/* 0101C 8099E8EC 3C0FFA00 */ lui $t7, 0xFA00 ## $t7 = FA000000
/* 01020 8099E8F0 246E0008 */ addiu $t6, $v1, 0x0008 ## $t6 = 00000008
/* 01024 8099E8F4 AE4E02D0 */ sw $t6, 0x02D0($s2) ## 000002D0
/* 01028 8099E8F8 AC6F0000 */ sw $t7, 0x0000($v1) ## 00000000
/* 0102C 8099E8FC C62A0000 */ lwc1 $f10, 0x0000($s1) ## 0000014C
/* 01030 8099E900 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 01034 8099E904 3C020403 */ lui $v0, %hi(gEffSparklesDL) ## $v0 = 04030000
/* 01038 8099E908 46185402 */ mul.s $f16, $f10, $f24
/* 0103C 8099E90C 24427880 */ addiu $v0, $v0, %lo(gEffSparklesDL) ## $v0 = 04037880
/* 01040 8099E910 3C0100FF */ lui $at, 0x00FF ## $at = 00FF0000
/* 01044 8099E914 3421FFFF */ ori $at, $at, 0xFFFF ## $at = 00FFFFFF
/* 01048 8099E918 0041B024 */ and $s6, $v0, $at
/* 0104C 8099E91C 00025100 */ sll $t2, $v0, 4
/* 01050 8099E920 000A5F02 */ srl $t3, $t2, 28
/* 01054 8099E924 4458F800 */ cfc1 $t8, $31
/* 01058 8099E928 44D9F800 */ ctc1 $t9, $31
/* 0105C 8099E92C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 01060 8099E930 3C0D8016 */ lui $t5, %hi(gSegments)
/* 01064 8099E934 460084A4 */ cvt.w.s $f18, $f16
/* 01068 8099E938 25AD6FA8 */ addiu $t5, %lo(gSegments)
/* 0106C 8099E93C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 01070 8099E940 000B6080 */ sll $t4, $t3, 2
/* 01074 8099E944 4459F800 */ cfc1 $t9, $31
/* 01078 8099E948 018DA821 */ addu $s5, $t4, $t5
/* 0107C 8099E94C 03C18021 */ addu $s0, $s8, $at
/* 01080 8099E950 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
/* 01084 8099E954 13200013 */ beq $t9, $zero, .L8099E9A4
/* 01088 8099E958 248409E0 */ addiu $a0, $a0, 0x09E0 ## $a0 = 000009E0
/* 0108C 8099E95C 3C014F00 */ lui $at, 0x4F00 ## $at = 4F000000
/* 01090 8099E960 44819000 */ mtc1 $at, $f18 ## $f18 = 2147483648.00
/* 01094 8099E964 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 01098 8099E968 46128481 */ sub.s $f18, $f16, $f18
/* 0109C 8099E96C 44D9F800 */ ctc1 $t9, $31
/* 010A0 8099E970 00000000 */ nop
/* 010A4 8099E974 460094A4 */ cvt.w.s $f18, $f18
/* 010A8 8099E978 4459F800 */ cfc1 $t9, $31
/* 010AC 8099E97C 00000000 */ nop
/* 010B0 8099E980 33390078 */ andi $t9, $t9, 0x0078 ## $t9 = 00000000
/* 010B4 8099E984 17200005 */ bne $t9, $zero, .L8099E99C
/* 010B8 8099E988 00000000 */ nop
/* 010BC 8099E98C 44199000 */ mfc1 $t9, $f18
/* 010C0 8099E990 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 010C4 8099E994 10000007 */ beq $zero, $zero, .L8099E9B4
/* 010C8 8099E998 0321C825 */ or $t9, $t9, $at ## $t9 = 80000000
.L8099E99C:
/* 010CC 8099E99C 10000005 */ beq $zero, $zero, .L8099E9B4
/* 010D0 8099E9A0 2419FFFF */ addiu $t9, $zero, 0xFFFF ## $t9 = FFFFFFFF
.L8099E9A4:
/* 010D4 8099E9A4 44199000 */ mfc1 $t9, $f18
/* 010D8 8099E9A8 00000000 */ nop
/* 010DC 8099E9AC 0720FFFB */ bltz $t9, .L8099E99C
/* 010E0 8099E9B0 00000000 */ nop
.L8099E9B4:
/* 010E4 8099E9B4 332800FF */ andi $t0, $t9, 0x00FF ## $t0 = 000000FF
/* 010E8 8099E9B8 2401FF00 */ addiu $at, $zero, 0xFF00 ## $at = FFFFFF00
/* 010EC 8099E9BC 01014825 */ or $t1, $t0, $at ## $t1 = FFFFFFFF
/* 010F0 8099E9C0 AC690004 */ sw $t1, 0x0004($v1) ## 00000004
/* 010F4 8099E9C4 44D8F800 */ ctc1 $t8, $31
/* 010F8 8099E9C8 C6200000 */ lwc1 $f0, 0x0000($s1) ## 0000014C
/* 010FC 8099E9CC 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 01100 8099E9D0 46000102 */ mul.s $f4, $f0, $f0
/* 01104 8099E9D4 0C03424C */ jal Matrix_Mult
/* 01108 8099E9D8 4604B501 */ sub.s $f20, $f22, $f4
/* 0110C 8099E9DC C6E20550 */ lwc1 $f2, 0x0550($s7) ## 00000550
/* 01110 8099E9E0 C6320000 */ lwc1 $f18, 0x0000($s1) ## 0000014C
/* 01114 8099E9E4 C6700000 */ lwc1 $f16, 0x0000($s3) ## 0000024C
/* 01118 8099E9E8 46141182 */ mul.s $f6, $f2, $f20
/* 0111C 8099E9EC 4602B201 */ sub.s $f8, $f22, $f2
/* 01120 8099E9F0 C6640004 */ lwc1 $f4, 0x0004($s3) ## 00000250
/* 01124 8099E9F4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01128 8099E9F8 4612B001 */ sub.s $f0, $f22, $f18
/* 0112C 8099E9FC 46083280 */ add.s $f10, $f6, $f8
/* 01130 8099EA00 C6680008 */ lwc1 $f8, 0x0008($s3) ## 00000254
/* 01134 8099EA04 460A8302 */ mul.s $f12, $f16, $f10
/* 01138 8099EA08 00000000 */ nop
/* 0113C 8099EA0C 46040182 */ mul.s $f6, $f0, $f4
/* 01140 8099EA10 00000000 */ nop
/* 01144 8099EA14 46080402 */ mul.s $f16, $f0, $f8
/* 01148 8099EA18 461A3380 */ add.s $f14, $f6, $f26
/* 0114C 8099EA1C 461C8280 */ add.s $f10, $f16, $f28
/* 01150 8099EA20 44065000 */ mfc1 $a2, $f10
/* 01154 8099EA24 0C034261 */ jal Matrix_Translate
/* 01158 8099EA28 00000000 */ nop
/* 0115C 8099EA2C C6320000 */ lwc1 $f18, 0x0000($s1) ## 0000014C
/* 01160 8099EA30 C6E4055C */ lwc1 $f4, 0x055C($s7) ## 0000055C
/* 01164 8099EA34 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
/* 01168 8099EA38 46049302 */ mul.s $f12, $f18, $f4
/* 0116C 8099EA3C 44066000 */ mfc1 $a2, $f12
/* 01170 8099EA40 0C0342A3 */ jal Matrix_Scale
/* 01174 8099EA44 46006386 */ mov.s $f14, $f12
/* 01178 8099EA48 0C0347F5 */ jal func_800D1FD4
/* 0117C 8099EA4C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01180 8099EA50 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 01184 8099EA54 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000
/* 01188 8099EA58 356B0003 */ ori $t3, $t3, 0x0003 ## $t3 = DA380003
/* 0118C 8099EA5C 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 01190 8099EA60 AE4A02D0 */ sw $t2, 0x02D0($s2) ## 000002D0
/* 01194 8099EA64 3C05809A */ lui $a1, %hi(D_8099EBC0) ## $a1 = 809A0000
/* 01198 8099EA68 24A5EBC0 */ addiu $a1, $a1, %lo(D_8099EBC0) ## $a1 = 8099EBC0
/* 0119C 8099EA6C 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 011A0 8099EA70 240601FA */ addiu $a2, $zero, 0x01FA ## $a2 = 000001FA
/* 011A4 8099EA74 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 011A8 8099EA78 0C0346A2 */ jal Matrix_NewMtx
/* 011AC 8099EA7C 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 011B0 8099EA80 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 011B4 8099EA84 8E4202D0 */ lw $v0, 0x02D0($s2) ## 000002D0
/* 011B8 8099EA88 3C0DDE00 */ lui $t5, 0xDE00 ## $t5 = DE000000
/* 011BC 8099EA8C 3C018000 */ lui $at, 0x8000 ## $at = 80000000
/* 011C0 8099EA90 244C0008 */ addiu $t4, $v0, 0x0008 ## $t4 = 00000008
/* 011C4 8099EA94 AE4C02D0 */ sw $t4, 0x02D0($s2) ## 000002D0
/* 011C8 8099EA98 AC4D0000 */ sw $t5, 0x0000($v0) ## 00000000
/* 011CC 8099EA9C 8EAE0000 */ lw $t6, 0x0000($s5) ## 00000000
/* 011D0 8099EAA0 01D67821 */ addu $t7, $t6, $s6
/* 011D4 8099EAA4 01E1C021 */ addu $t8, $t7, $at
/* 011D8 8099EAA8 AC580004 */ sw $t8, 0x0004($v0) ## 00000004
/* 011DC 8099EAAC 26940001 */ addiu $s4, $s4, 0x0001 ## $s4 = 00000002
.L8099EAB0:
/* 011E0 8099EAB0 24010040 */ addiu $at, $zero, 0x0040 ## $at = 00000040
/* 011E4 8099EAB4 2673000C */ addiu $s3, $s3, 0x000C ## $s3 = 00000258
/* 011E8 8099EAB8 1681FF85 */ bne $s4, $at, .L8099E8D0
/* 011EC 8099EABC 26310004 */ addiu $s1, $s1, 0x0004 ## $s1 = 00000150
/* 011F0 8099EAC0 3C06809A */ lui $a2, %hi(D_8099EBD0) ## $a2 = 809A0000
/* 011F4 8099EAC4 24C6EBD0 */ addiu $a2, $a2, %lo(D_8099EBD0) ## $a2 = 8099EBD0
/* 011F8 8099EAC8 27A4009C */ addiu $a0, $sp, 0x009C ## $a0 = FFFFFFCC
/* 011FC 8099EACC 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 01200 8099EAD0 0C031AD5 */ jal Graph_CloseDisps
/* 01204 8099EAD4 24070203 */ addiu $a3, $zero, 0x0203 ## $a3 = 00000203
/* 01208 8099EAD8 8FBF0064 */ lw $ra, 0x0064($sp)
/* 0120C 8099EADC D7B40018 */ ldc1 $f20, 0x0018($sp)
/* 01210 8099EAE0 D7B60020 */ ldc1 $f22, 0x0020($sp)
/* 01214 8099EAE4 D7B80028 */ ldc1 $f24, 0x0028($sp)
/* 01218 8099EAE8 D7BA0030 */ ldc1 $f26, 0x0030($sp)
/* 0121C 8099EAEC D7BC0038 */ ldc1 $f28, 0x0038($sp)
/* 01220 8099EAF0 8FB00040 */ lw $s0, 0x0040($sp)
/* 01224 8099EAF4 8FB10044 */ lw $s1, 0x0044($sp)
/* 01228 8099EAF8 8FB20048 */ lw $s2, 0x0048($sp)
/* 0122C 8099EAFC 8FB3004C */ lw $s3, 0x004C($sp)
/* 01230 8099EB00 8FB40050 */ lw $s4, 0x0050($sp)
/* 01234 8099EB04 8FB50054 */ lw $s5, 0x0054($sp)
/* 01238 8099EB08 8FB60058 */ lw $s6, 0x0058($sp)
/* 0123C 8099EB0C 8FB7005C */ lw $s7, 0x005C($sp)
/* 01240 8099EB10 8FBE0060 */ lw $s8, 0x0060($sp)
/* 01244 8099EB14 03E00008 */ jr $ra
/* 01248 8099EB18 27BD00D0 */ addiu $sp, $sp, 0x00D0 ## $sp = 00000000

View file

@ -1,20 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .data
.balign 16
glabel Eff_Dust_InitVars
.word 0x01010400, 0x00000030, 0x00010000, 0x00000568
.word EffDust_Init
.word EffDust_Destroy
.word EffDust_Update
.word EffDust_Draw
glabel D_8099EB60
.word 0xDF000000, 0x00000000, 0x00000000, 0x00000000

View file

@ -1,13 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_8099EC30
.incbin "baserom/ovl_Eff_Dust", 0x1360, 0x00000180

View file

@ -863,7 +863,7 @@ typedef struct GlobalContext {
/* 0x000B0 */ void* sceneSegment;
/* 0x000B8 */ View view;
/* 0x001E0 */ Camera mainCamera;
/* 0x001E0 */ Camera subCameras[3];
/* 0x0034C */ Camera subCameras[3];
/* 0x00790 */ Camera* cameraPtrs[4];
/* 0x007A0 */ s16 activeCamera;
/* 0x007A2 */ s16 nextCamera;

3
spec
View file

@ -1608,8 +1608,7 @@ endseg
beginseg
name "ovl_Eff_Dust"
include "build/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.o"
include "build/data/overlays/actors/z_eff_dust.data.o"
include "build/data/overlays/actors/z_eff_dust.reloc.o"
include "build/src/overlays/actors/ovl_Eff_Dust/ovl_Eff_Dust_reloc.o"
endseg
beginseg

View file

@ -1,3 +1,9 @@
/**
* File z_eff_dust.c
* Overlay: ovl_Eff_Dust
* Description: Dust effects
*/
#include "z_eff_dust.h"
#include "objects/gameplay_keep/gameplay_keep.h"
@ -10,7 +16,14 @@ void EffDust_Destroy(Actor* thisx, GlobalContext* globalCtx);
void EffDust_Update(Actor* thisx, GlobalContext* globalCtx);
void EffDust_Draw(Actor* thisx, GlobalContext* globalCtx);
/*
void EffDust_InitPosAndDistance(EffDust* this);
void EffDust_UpdateFunc_8099DB28(EffDust* this, GlobalContext* globalCtx);
void EffDust_UpdateFunc_8099DD74(EffDust* this, GlobalContext* globalCtx);
void EffDust_UpdateFunc_8099DFC0(EffDust* this, GlobalContext* globalCtx);
void EffDust_DrawFunc_8099E4F4(Actor* thisx, GlobalContext* globalCtx);
void EffDust_DrawFunc_8099E784(Actor* thisx, GlobalContext* globalCtx);
const ActorInit Eff_Dust_InitVars = {
ACTOR_EFF_DUST,
ACTORCAT_NPC,
@ -22,28 +35,342 @@ const ActorInit Eff_Dust_InitVars = {
(ActorFunc)EffDust_Update,
(ActorFunc)EffDust_Draw,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099D8D0.s")
static Gfx D_8099EB60[] = {
gsSPEndDisplayList(),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099D8D8.s")
void EffDust_SetupAction(EffDust* this, EffDustActionFunc actionFunc) {
this->actionFunc = actionFunc;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099D8E0.s")
void EffDust_SetupDraw(EffDust* this, EffDustDrawFunc drawFunc) {
this->drawFunc = drawFunc;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Init.s")
void EffDust_InitPosAndDistance(EffDust* this) {
s32 i;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Destroy.s")
for (i = 0; i < 64; i++) {
this->initialPositions[i].z = 0.0f;
this->initialPositions[i].y = 0.0f;
this->initialPositions[i].x = 0.0f;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DB28.s")
this->distanceTraveled[i] = 1.0f;
}
this->index = 0;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DD74.s")
void EffDust_Init(Actor* thisx, GlobalContext* globalCtx) {
EffDust* this = THIS;
EffDustType dustEffect = this->actor.params;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099DFC0.s")
EffDust_InitPosAndDistance(this);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Update.s")
switch (dustEffect) {
case EFF_DUST_TYPE_0:
EffDust_SetupAction(this, EffDust_UpdateFunc_8099DB28);
EffDust_SetupDraw(this, EffDust_DrawFunc_8099E4F4);
this->dy = 0.8f;
this->dz = 0.8f;
this->dx = 1.0f;
this->scalingFactor = 0.1f;
break;
case EFF_DUST_TYPE_1:
EffDust_SetupAction(this, EffDust_UpdateFunc_8099DD74);
EffDust_SetupDraw(this, EffDust_DrawFunc_8099E4F4);
this->dx = 0.8f;
this->dz = 0.8f;
this->dy = 1.0f;
this->scalingFactor = 0.5f;
break;
case EFF_DUST_TYPE_2:
EffDust_SetupAction(this, EffDust_UpdateFunc_8099DFC0);
EffDust_SetupDraw(this, EffDust_DrawFunc_8099E784);
this->dx = 0.5f;
this->scalingFactor = 15.0f;
break;
case EFF_DUST_TYPE_3:
EffDust_SetupAction(this, EffDust_UpdateFunc_8099DFC0);
EffDust_SetupDraw(this, EffDust_DrawFunc_8099E784);
this->dx = 0.5f;
this->scalingFactor = 10.0f;
break;
case EFF_DUST_TYPE_4:
EffDust_SetupAction(this, EffDust_UpdateFunc_8099DFC0);
EffDust_SetupDraw(this, EffDust_DrawFunc_8099E784);
this->actor.room = -1;
this->dx = 0.5f;
this->scalingFactor = 20.0f;
break;
default:
SystemArena_FreeDebug(this, "../z_eff_dust.c", 202);
break;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099E4F4.s")
this->life = 10;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/func_8099E784.s")
void EffDust_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Eff_Dust/EffDust_Draw.s")
void EffDust_UpdateFunc_8099DB28(EffDust* this, GlobalContext* globalCtx) {
s16 theta;
s16 fi;
f32* distanceTraveled = this->distanceTraveled;
s32 i;
s32 j;
for (i = 0; i < 64; i++) {
if ((*distanceTraveled) < 1.0f) {
*distanceTraveled += 0.05f;
}
distanceTraveled++;
}
for (j = 0; j < 3; j++) {
i = this->index & 0x3F;
if (this->distanceTraveled[i] >= 1.0f) {
// Spherical coordinate system.
fi = Rand_CenteredFloat(8192.0f);
theta = Rand_CenteredFloat(4096.0f);
this->initialPositions[i].x = -800.0f * Math_CosS(fi) * Math_CosS(theta);
this->initialPositions[i].y = -800.0f * Math_SinS(theta);
this->initialPositions[i].z = -800.0f * Math_SinS(fi) * Math_CosS(theta);
this->distanceTraveled[i] = 0.0f;
this->index += 1;
}
}
}
void EffDust_UpdateFunc_8099DD74(EffDust* this, GlobalContext* globalCtx) {
s16 theta;
s16 fi;
f32* distanceTraveled = this->distanceTraveled;
s32 i;
s32 j;
for (i = 0; i < 64; i++) {
if ((*distanceTraveled) < 1.0f) {
*distanceTraveled += 0.03f;
}
distanceTraveled++;
}
for (j = 0; j < 2; j++) {
i = this->index & 0x3F;
if (this->distanceTraveled[i] >= 1.0f) {
// Spherical coordinate system.
fi = Rand_CenteredFloat(65536.0f);
theta = Rand_ZeroFloat(8192.0f);
this->initialPositions[i].x = 400.0f * Math_CosS(fi) * Math_CosS(theta);
this->initialPositions[i].y = 400.0f * Math_SinS(theta);
this->initialPositions[i].z = 400.0f * Math_SinS(fi) * Math_CosS(theta);
this->distanceTraveled[i] = 0.0f;
this->index += 1;
}
}
}
void EffDust_UpdateFunc_8099DFC0(EffDust* this, GlobalContext* globalCtx) {
s16 theta;
Player* player = PLAYER;
Actor* parent = this->actor.parent;
f32* distanceTraveled = this->distanceTraveled;
s32 i;
s32 j;
if (parent == NULL || parent->update == NULL || !(player->stateFlags1 & 0x1000)) {
if (this->life != 0) {
this->life -= 1;
} else {
Actor_Kill(&this->actor);
}
for (i = 0; i < 64; i++) {
if ((*distanceTraveled) < 1.0f) {
*distanceTraveled += 0.2f;
}
distanceTraveled++;
}
return;
}
for (i = 0; i < 64; i++) {
if ((*distanceTraveled) < 1.0f) {
*distanceTraveled += 0.1f;
}
distanceTraveled++;
}
this->actor.world.pos = parent->world.pos;
for (j = 0; j < 3; j++) {
i = this->index & 0x3F;
if (this->distanceTraveled[i] >= 1.0f) {
theta = Rand_CenteredFloat(65536.0f);
switch (this->actor.params) {
case EFF_DUST_TYPE_2:
this->initialPositions[i].x = (Rand_ZeroOne() * 4500.0f) + 700.0f;
if (this->initialPositions[i].x > 3000.0f) {
this->initialPositions[i].y = (3000.0f * Rand_ZeroOne()) * Math_SinS(theta);
this->initialPositions[i].z = (3000.0f * Rand_ZeroOne()) * Math_CosS(theta);
} else {
this->initialPositions[i].y = 3000.0f * Math_SinS(theta);
this->initialPositions[i].z = 3000.0f * Math_CosS(theta);
}
break;
case EFF_DUST_TYPE_3:
this->initialPositions[i].x = (Rand_ZeroOne() * 2500.0f) + 700.0f;
if (this->initialPositions[i].x > 2000.0f) {
this->initialPositions[i].y = (2000.0f * Rand_ZeroOne()) * Math_SinS(theta);
this->initialPositions[i].z = (2000.0f * Rand_ZeroOne()) * Math_CosS(theta);
} else {
this->initialPositions[i].y = 2000.0f * Math_SinS(theta);
this->initialPositions[i].z = 2000.0f * Math_CosS(theta);
}
break;
case EFF_DUST_TYPE_4:
this->initialPositions[i].x = (Rand_ZeroOne() * 8500.0f) + 1700.0f;
if (this->initialPositions[i].x > 5000.0f) {
this->initialPositions[i].y = (4000.0f * Rand_ZeroOne()) * Math_SinS(theta);
this->initialPositions[i].z = (4000.0f * Rand_ZeroOne()) * Math_CosS(theta);
} else {
this->initialPositions[i].y = 4000.0f * Math_SinS(theta);
this->initialPositions[i].z = 4000.0f * Math_CosS(theta);
}
break;
default:
break;
}
this->distanceTraveled[i] = 0.0f;
this->index += 1;
}
}
}
void EffDust_Update(Actor* thisx, GlobalContext* globalCtx) {
EffDust* this = THIS;
this->actionFunc(this, globalCtx);
}
void EffDust_DrawFunc_8099E4F4(Actor* thisx, GlobalContext* globalCtx2) {
EffDust* this = THIS;
GlobalContext* globalCtx = globalCtx2;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
Vec3f* initialPositions;
f32* distanceTraveled;
s32 i;
f32 aux;
OPEN_DISPS(gfxCtx, "../z_eff_dust.c", 425);
func_80093D18(gfxCtx);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 128, 128, 128, 255);
gDPSetEnvColor(POLY_XLU_DISP++, 128, 128, 128, 0);
initialPositions = this->initialPositions;
distanceTraveled = this->distanceTraveled;
gSPSegment(POLY_XLU_DISP++, 0x08, D_8099EB60);
for (i = 0; i < 64; i++) {
if (*distanceTraveled < 1.0f) {
aux = 1.0f - (*distanceTraveled * *distanceTraveled);
Matrix_Translate(this->actor.world.pos.x + (initialPositions->x * ((this->dx * aux) + (1.0f - this->dx))),
this->actor.world.pos.y + (initialPositions->y * ((this->dy * aux) + (1.0f - this->dy))),
this->actor.world.pos.z + (initialPositions->z * ((this->dz * aux) + (1.0f - this->dz))),
MTXMODE_NEW);
Matrix_Scale(this->scalingFactor, this->scalingFactor, this->scalingFactor, MTXMODE_APPLY);
Matrix_Mult(&globalCtx->mf_11DA0, MTXMODE_APPLY);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_dust.c", 449),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gEffSparklesDL));
}
initialPositions++;
distanceTraveled++;
// Needed for matching.
if (0) {}
}
CLOSE_DISPS(gfxCtx, "../z_eff_dust.c", 458);
}
void EffDust_DrawFunc_8099E784(Actor* thisx, GlobalContext* globalCtx) {
EffDust* this = THIS;
GlobalContext* globalCtx2;
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
f32* distanceTraveled;
Vec3f* initialPositions;
s32 i;
f32 aux;
Player* player = PLAYER;
OPEN_DISPS(gfxCtx, "../z_eff_dust.c", 472);
globalCtx2 = globalCtx;
func_80093D18(gfxCtx);
gDPPipeSync(POLY_XLU_DISP++);
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, 255);
if (player->unk_858 >= 0.85f) {
gDPSetEnvColor(POLY_XLU_DISP++, 255, 0, 0, 0);
} else {
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 255, 0);
}
initialPositions = this->initialPositions;
distanceTraveled = this->distanceTraveled;
gSPSegment(POLY_XLU_DISP++, 0x08, D_8099EB60);
for (i = 0; i < 64; i++) {
if (*distanceTraveled < 1.0f) {
gDPSetPrimColor(POLY_XLU_DISP++, 0, 0, 255, 255, 255, *distanceTraveled * 255);
// Needed to match.
if (!this) {}
aux = 1.0f - (*distanceTraveled * *distanceTraveled);
Matrix_Mult(&player->mf_9E0, MTXMODE_NEW);
Matrix_Translate(initialPositions->x * ((this->dx * aux) + (1.0f - this->dx)),
initialPositions->y * (1.0f - *distanceTraveled) + 320.0f,
initialPositions->z * (1.0f - *distanceTraveled) + -20.0f, MTXMODE_APPLY);
Matrix_Scale(*distanceTraveled * this->scalingFactor, *distanceTraveled * this->scalingFactor,
*distanceTraveled * this->scalingFactor, MTXMODE_APPLY);
func_800D1FD4(&globalCtx2->mf_11DA0);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(gfxCtx, "../z_eff_dust.c", 506),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, SEGMENTED_TO_VIRTUAL(gEffSparklesDL));
}
initialPositions++;
distanceTraveled++;
}
CLOSE_DISPS(gfxCtx, "../z_eff_dust.c", 515);
}
void EffDust_Draw(Actor* thisx, GlobalContext* globalCtx) {
EffDust* this = THIS;
this->drawFunc(thisx, globalCtx);
}

View file

@ -6,11 +6,31 @@
struct EffDust;
typedef void (*EffDustActionFunc)(struct EffDust*, GlobalContext*);
typedef void (*EffDustDrawFunc)(Actor*, GlobalContext*);
typedef struct EffDust {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x41C];
/* 0x014C */ f32 distanceTraveled[64]; // For each particle. Normalized. From 0.0f to 1.0f
/* 0x024C */ Vec3f initialPositions[64]; // Array of position for each dust particle.
/* 0x054C */ u8 index;
/* 0x054D */ u8 life; // Only considered if actor.params is 2, 3 or 4.
/* 0x0550 */ f32 dx; // Normalized. 0.0f to 1.0f
/* 0x0554 */ f32 dy; // Normalized. 0.0f to 1.0f
/* 0x0558 */ f32 dz; // Normalized. 0.0f to 1.0f
/* 0x055C */ f32 scalingFactor;
/* 0x0560 */ EffDustActionFunc actionFunc;
/* 0x0564 */ EffDustDrawFunc drawFunc;
} EffDust; // size = 0x0568
typedef enum {
/* 0x00 */ EFF_DUST_TYPE_0,
/* 0x01 */ EFF_DUST_TYPE_1,
/* 0x02 */ EFF_DUST_TYPE_2,
/* 0x03 */ EFF_DUST_TYPE_3,
/* 0x04 */ EFF_DUST_TYPE_4
} EffDustType;
extern const ActorInit Eff_Dust_InitVars;
#endif