1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

Bg_Spot06_Objects OK and documented (#605)

* stuck on init

* init matches

* more functions matched

* just a few functions left

* three functions left

* all finished

* fix compiler error

* various improvements

* add actor description

* remove unused asm

* fix remaining dyna things

* Update src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Update src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.c

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* fixed all of roman's comments

* format c files

Co-authored-by: Zelllll <elijah@DESKTOP-NMP1I89.localdomain>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
This commit is contained in:
Zelllll 2021-01-22 18:55:38 -06:00 committed by GitHub
parent 588de66d06
commit 84195fcef6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 465 additions and 1418 deletions

View File

@ -1,31 +0,0 @@
glabel BgSpot06Objects_Destroy
/* 003DC 808AEB5C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 003E0 808AEB60 AFBF0014 */ sw $ra, 0x0014($sp)
/* 003E4 808AEB64 AFA5001C */ sw $a1, 0x001C($sp)
/* 003E8 808AEB68 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 003EC 808AEB6C 00803825 */ or $a3, $a0, $zero ## $a3 = 00000000
/* 003F0 808AEB70 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 003F4 808AEB74 10400007 */ beq $v0, $zero, .L808AEB94
/* 003F8 808AEB78 8FA4001C */ lw $a0, 0x001C($sp)
/* 003FC 808AEB7C 1041000A */ beq $v0, $at, .L808AEBA8
/* 00400 808AEB80 24E50170 */ addiu $a1, $a3, 0x0170 ## $a1 = 00000170
/* 00404 808AEB84 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00408 808AEB88 10410009 */ beq $v0, $at, .L808AEBB0
/* 0040C 808AEB8C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00410 808AEB90 14410007 */ bne $v0, $at, .L808AEBB0
.L808AEB94:
/* 00414 808AEB94 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 00418 808AEB98 0C00FB56 */ jal DynaPoly_DeleteBgActor
## DynaPoly_DeleteBgActor
/* 0041C 808AEB9C 8CE6014C */ lw $a2, 0x014C($a3) ## 0000014C
/* 00420 808AEBA0 10000004 */ beq $zero, $zero, .L808AEBB4
/* 00424 808AEBA4 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AEBA8:
/* 00428 808AEBA8 0C016F32 */ jal Collider_DestroyJntSph
/* 0042C 808AEBAC 8FA4001C */ lw $a0, 0x001C($sp)
.L808AEBB0:
/* 00430 808AEBB0 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AEBB4:
/* 00434 808AEBB4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00438 808AEBB8 03E00008 */ jr $ra
/* 0043C 808AEBBC 00000000 */ nop

View File

@ -1,58 +0,0 @@
glabel BgSpot06Objects_Draw
/* 00FB8 808AF738 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00FBC 808AF73C AFBF0014 */ sw $ra, 0x0014($sp)
/* 00FC0 808AF740 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00FC4 808AF744 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
/* 00FC8 808AF748 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
/* 00FCC 808AF74C 1040000C */ beq $v0, $zero, .L808AF780
/* 00FD0 808AF750 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00FD4 808AF754 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00FD8 808AF758 1041000E */ beq $v0, $at, .L808AF794
/* 00FDC 808AF75C 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00FE0 808AF760 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00FE4 808AF764 1041001A */ beq $v0, $at, .L808AF7D0
/* 00FE8 808AF768 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
/* 00FEC 808AF76C 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00FF0 808AF770 1041001B */ beq $v0, $at, .L808AF7E0
/* 00FF4 808AF774 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00FF8 808AF778 1000001D */ beq $zero, $zero, .L808AF7F0
/* 00FFC 808AF77C 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AF780:
/* 01000 808AF780 3C050600 */ lui $a1, %hi(D_06000E10) ## $a1 = 06000000
/* 01004 808AF784 0C00D498 */ jal Gfx_DrawDListOpa
/* 01008 808AF788 24A50E10 */ addiu $a1, $a1, %lo(D_06000E10) ## $a1 = 06000E10
/* 0100C 808AF78C 10000018 */ beq $zero, $zero, .L808AF7F0
/* 01010 808AF790 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AF794:
/* 01014 808AF794 3C050600 */ lui $a1, %hi(D_06002490) ## $a1 = 06000000
/* 01018 808AF798 24A52490 */ addiu $a1, $a1, %lo(D_06002490) ## $a1 = 06002490
/* 0101C 808AF79C 0C00D498 */ jal Gfx_DrawDListOpa
/* 01020 808AF7A0 AFA60018 */ sw $a2, 0x0018($sp)
/* 01024 808AF7A4 8FA60018 */ lw $a2, 0x0018($sp)
/* 01028 808AF7A8 3C0E808B */ lui $t6, %hi(func_808AF1D8) ## $t6 = 808B0000
/* 0102C 808AF7AC 25CEF1D8 */ addiu $t6, $t6, %lo(func_808AF1D8) ## $t6 = 808AF1D8
/* 01030 808AF7B0 8CCF0164 */ lw $t7, 0x0164($a2) ## 00000164
/* 01034 808AF7B4 24040001 */ addiu $a0, $zero, 0x0001 ## $a0 = 00000001
/* 01038 808AF7B8 55CF000D */ bnel $t6, $t7, .L808AF7F0
/* 0103C 808AF7BC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 01040 808AF7C0 0C018A29 */ jal Collider_UpdateSpheres
/* 01044 808AF7C4 24C50170 */ addiu $a1, $a2, 0x0170 ## $a1 = 00000170
/* 01048 808AF7C8 10000009 */ beq $zero, $zero, .L808AF7F0
/* 0104C 808AF7CC 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AF7D0:
/* 01050 808AF7D0 0C22BD49 */ jal func_808AF524
/* 01054 808AF7D4 00E02825 */ or $a1, $a3, $zero ## $a1 = 00000000
/* 01058 808AF7D8 10000005 */ beq $zero, $zero, .L808AF7F0
/* 0105C 808AF7DC 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AF7E0:
/* 01060 808AF7E0 3C050600 */ lui $a1, %hi(D_06001160) ## $a1 = 06000000
/* 01064 808AF7E4 0C00D498 */ jal Gfx_DrawDListOpa
/* 01068 808AF7E8 24A51160 */ addiu $a1, $a1, %lo(D_06001160) ## $a1 = 06001160
/* 0106C 808AF7EC 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AF7F0:
/* 01070 808AF7F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 01074 808AF7F4 03E00008 */ jr $ra
/* 01078 808AF7F8 00000000 */ nop

View File

@ -1,294 +0,0 @@
.rdata
glabel D_808AF970
.asciz "spot06 obj nthisx->arg_data=[%d]"
.balign 4
.late_rodata
glabel D_808AF9E8
.word 0xC4F92000
glabel D_808AF9EC
.word 0xC4A42000
glabel D_808AF9F0
.word 0xC42A4000
glabel D_808AF9F4
.word 0xC42A4000
glabel D_808AF9F8
.word 0xC4A42000
.text
glabel BgSpot06Objects_Init
/* 00000 808AE780 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00004 808AE784 AFBF0024 */ sw $ra, 0x0024($sp)
/* 00008 808AE788 AFB00020 */ sw $s0, 0x0020($sp)
/* 0000C 808AE78C AFA50044 */ sw $a1, 0x0044($sp)
/* 00010 808AE790 AFA00034 */ sw $zero, 0x0034($sp)
/* 00014 808AE794 8482001C */ lh $v0, 0x001C($a0) ## 0000001C
/* 00018 808AE798 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 0001C 808AE79C 00027A03 */ sra $t7, $v0, 8
/* 00020 808AE7A0 31F800FF */ andi $t8, $t7, 0x00FF ## $t8 = 00000000
/* 00024 808AE7A4 304E00FF */ andi $t6, $v0, 0x00FF ## $t6 = 00000000
/* 00028 808AE7A8 A48E0168 */ sh $t6, 0x0168($a0) ## 00000168
/* 0002C 808AE7AC A498001C */ sh $t8, 0x001C($a0) ## 0000001C
/* 00030 808AE7B0 3C04808B */ lui $a0, %hi(D_808AF970) ## $a0 = 808B0000
/* 00034 808AE7B4 2484F970 */ addiu $a0, $a0, %lo(D_808AF970) ## $a0 = 808AF970
/* 00038 808AE7B8 0C00084C */ jal osSyncPrintf
/* 0003C 808AE7BC 8605001C */ lh $a1, 0x001C($s0) ## 0000001C
/* 00040 808AE7C0 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
/* 00044 808AE7C4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00048 808AE7C8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0004C 808AE7CC 1040000B */ beq $v0, $zero, .L808AE7FC
/* 00050 808AE7D0 3C05808B */ lui $a1, %hi(D_808AF964) ## $a1 = 808B0000
/* 00054 808AE7D4 1041002E */ beq $v0, $at, .L808AE890
/* 00058 808AE7D8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 0005C 808AE7DC 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
/* 00060 808AE7E0 10410085 */ beq $v0, $at, .L808AE9F8
/* 00064 808AE7E4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00068 808AE7E8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 0006C 808AE7EC 104100BC */ beq $v0, $at, .L808AEAE0
/* 00070 808AE7F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00074 808AE7F4 100000D5 */ beq $zero, $zero, .L808AEB4C
/* 00078 808AE7F8 8FBF0024 */ lw $ra, 0x0024($sp)
.L808AE7FC:
/* 0007C 808AE7FC 0C01E037 */ jal Actor_ProcessInitChain
/* 00080 808AE800 24A5F964 */ addiu $a1, $a1, %lo(D_808AF964) ## $a1 = 808AF964
/* 00084 808AE804 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00088 808AE808 0C010D20 */ jal DynaPolyActor_Init
/* 0008C 808AE80C 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00090 808AE810 3C040600 */ lui $a0, %hi(D_06000EE8) ## $a0 = 06000000
/* 00094 808AE814 24840EE8 */ addiu $a0, $a0, %lo(D_06000EE8) ## $a0 = 06000EE8
/* 00098 808AE818 0C010620 */ jal CollisionHeader_GetVirtual
/* 0009C 808AE81C 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4
/* 000A0 808AE820 8FA40044 */ lw $a0, 0x0044($sp)
/* 000A4 808AE824 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 000A8 808AE828 8FA70034 */ lw $a3, 0x0034($sp)
/* 000AC 808AE82C 0C00FA9D */ jal DynaPoly_SetBgActor
## DynaPoly_SetBgActor
/* 000B0 808AE830 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 000B4 808AE834 3C038016 */ lui $v1, %hi(gSaveContext)
/* 000B8 808AE838 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 000BC 808AE83C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 000C0 808AE840 8C790004 */ lw $t9, 0x0004($v1) ## 8015E664
/* 000C4 808AE844 8FA40044 */ lw $a0, 0x0044($sp)
/* 000C8 808AE848 1720000D */ bne $t9, $zero, .L808AE880
/* 000CC 808AE84C 00000000 */ nop
/* 000D0 808AE850 0C00B2D0 */ jal Flags_GetSwitch
/* 000D4 808AE854 86050168 */ lh $a1, 0x0168($s0) ## 00000168
/* 000D8 808AE858 10400009 */ beq $v0, $zero, .L808AE880
/* 000DC 808AE85C 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 000E0 808AE860 C604000C */ lwc1 $f4, 0x000C($s0) ## 0000000C
/* 000E4 808AE864 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 000E8 808AE868 3C08808B */ lui $t0, %hi(func_808AEE00) ## $t0 = 808B0000
/* 000EC 808AE86C 2508EE00 */ addiu $t0, $t0, %lo(func_808AEE00) ## $t0 = 808AEE00
/* 000F0 808AE870 46062200 */ add.s $f8, $f4, $f6
/* 000F4 808AE874 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
/* 000F8 808AE878 100000B3 */ beq $zero, $zero, .L808AEB48
/* 000FC 808AE87C E6080028 */ swc1 $f8, 0x0028($s0) ## 00000028
.L808AE880:
/* 00100 808AE880 3C09808B */ lui $t1, %hi(func_808AECB4) ## $t1 = 808B0000
/* 00104 808AE884 2529ECB4 */ addiu $t1, $t1, %lo(func_808AECB4) ## $t1 = 808AECB4
/* 00108 808AE888 100000AF */ beq $zero, $zero, .L808AEB48
/* 0010C 808AE88C AE090164 */ sw $t1, 0x0164($s0) ## 00000164
.L808AE890:
/* 00110 808AE890 3C05808B */ lui $a1, %hi(D_808AF964) ## $a1 = 808B0000
/* 00114 808AE894 0C01E037 */ jal Actor_ProcessInitChain
/* 00118 808AE898 24A5F964 */ addiu $a1, $a1, %lo(D_808AF964) ## $a1 = 808AF964
/* 0011C 808AE89C 26050170 */ addiu $a1, $s0, 0x0170 ## $a1 = 00000170
/* 00120 808AE8A0 AFA5002C */ sw $a1, 0x002C($sp)
/* 00124 808AE8A4 0C016EFE */ jal Collider_InitJntSph
/* 00128 808AE8A8 8FA40044 */ lw $a0, 0x0044($sp)
/* 0012C 808AE8AC 3C07808B */ lui $a3, %hi(D_808AF954) ## $a3 = 808B0000
/* 00130 808AE8B0 260A0190 */ addiu $t2, $s0, 0x0190 ## $t2 = 00000190
/* 00134 808AE8B4 8FA5002C */ lw $a1, 0x002C($sp)
/* 00138 808AE8B8 AFAA0010 */ sw $t2, 0x0010($sp)
/* 0013C 808AE8BC 24E7F954 */ addiu $a3, $a3, %lo(D_808AF954) ## $a3 = 808AF954
/* 00140 808AE8C0 8FA40044 */ lw $a0, 0x0044($sp)
/* 00144 808AE8C4 0C017014 */ jal Collider_SetJntSph
/* 00148 808AE8C8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 0014C 808AE8CC 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00150 808AE8D0 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00154 808AE8D4 8C6B0004 */ lw $t3, 0x0004($v1) ## 8015E664
/* 00158 808AE8D8 8FA40044 */ lw $a0, 0x0044($sp)
/* 0015C 808AE8DC 5560002C */ bnel $t3, $zero, .L808AE990
/* 00160 808AE8E0 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C
/* 00164 808AE8E4 0C00B2D0 */ jal Flags_GetSwitch
/* 00168 808AE8E8 86050168 */ lh $a1, 0x0168($s0) ## 00000168
/* 0016C 808AE8EC 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00170 808AE8F0 10400026 */ beq $v0, $zero, .L808AE98C
/* 00174 808AE8F4 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00178 808AE8F8 946C0EE0 */ lhu $t4, 0x0EE0($v1) ## 8015F540
/* 0017C 808AE8FC 3C01808B */ lui $at, %hi(D_808AF9EC) ## $at = 808B0000
/* 00180 808AE900 318D0200 */ andi $t5, $t4, 0x0200 ## $t5 = 00000000
/* 00184 808AE904 15A00006 */ bne $t5, $zero, .L808AE920
/* 00188 808AE908 00000000 */ nop
/* 0018C 808AE90C 3C01808B */ lui $at, %hi(D_808AF9E8) ## $at = 808B0000
/* 00190 808AE910 C420F9E8 */ lwc1 $f0, %lo(D_808AF9E8)($at)
/* 00194 808AE914 E6000028 */ swc1 $f0, 0x0028($s0) ## 00000028
/* 00198 808AE918 10000004 */ beq $zero, $zero, .L808AE92C
/* 0019C 808AE91C E600000C */ swc1 $f0, 0x000C($s0) ## 0000000C
.L808AE920:
/* 001A0 808AE920 C422F9EC */ lwc1 $f2, %lo(D_808AF9EC)($at)
/* 001A4 808AE924 E6020028 */ swc1 $f2, 0x0028($s0) ## 00000028
/* 001A8 808AE928 E602000C */ swc1 $f2, 0x000C($s0) ## 0000000C
.L808AE92C:
/* 001AC 808AE92C 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 001B0 808AE930 44810000 */ mtc1 $at, $f0 ## $f0 = 16.00
/* 001B4 808AE934 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
/* 001B8 808AE938 44818000 */ mtc1 $at, $f16 ## $f16 = 100.00
/* 001BC 808AE93C C60A002C */ lwc1 $f10, 0x002C($s0) ## 0000002C
/* 001C0 808AE940 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C
/* 001C4 808AE944 3C0E808B */ lui $t6, %hi(func_808AF450) ## $t6 = 808B0000
/* 001C8 808AE948 46105481 */ sub.s $f18, $f10, $f16
/* 001CC 808AE94C 25CEF450 */ addiu $t6, $t6, %lo(func_808AF450) ## $t6 = 808AF450
/* 001D0 808AE950 AE0E0164 */ sw $t6, 0x0164($s0) ## 00000164
/* 001D4 808AE954 E612002C */ swc1 $f18, 0x002C($s0) ## 0000002C
/* 001D8 808AE958 C604002C */ lwc1 $f4, 0x002C($s0) ## 0000002C
/* 001DC 808AE95C 46002180 */ add.s $f6, $f4, $f0
/* 001E0 808AE960 E6060010 */ swc1 $f6, 0x0010($s0) ## 00000010
/* 001E4 808AE964 844F002E */ lh $t7, 0x002E($v0) ## 0000002E
/* 001E8 808AE968 000FC040 */ sll $t8, $t7, 1
/* 001EC 808AE96C A4580036 */ sh $t8, 0x0036($v0) ## 00000036
/* 001F0 808AE970 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 001F4 808AE974 8E09018C */ lw $t1, 0x018C($s0) ## 0000018C
/* 001F8 808AE978 46004280 */ add.s $f10, $f8, $f0
/* 001FC 808AE97C 4600540D */ trunc.w.s $f16, $f10
/* 00200 808AE980 44088000 */ mfc1 $t0, $f16
/* 00204 808AE984 1000000D */ beq $zero, $zero, .L808AE9BC
/* 00208 808AE988 A5280034 */ sh $t0, 0x0034($t1) ## 00000034
.L808AE98C:
/* 0020C 808AE98C 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C
.L808AE990:
/* 00210 808AE990 3C0A808B */ lui $t2, %hi(func_808AEEFC) ## $t2 = 808B0000
/* 00214 808AE994 254AEEFC */ addiu $t2, $t2, %lo(func_808AEEFC) ## $t2 = 808AEEFC
/* 00218 808AE998 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 0021C 808AE99C 844B002E */ lh $t3, 0x002E($v0) ## 0000002E
/* 00220 808AE9A0 A44B0036 */ sh $t3, 0x0036($v0) ## 00000036
/* 00224 808AE9A4 C612002C */ lwc1 $f18, 0x002C($s0) ## 0000002C
/* 00228 808AE9A8 8E0E018C */ lw $t6, 0x018C($s0) ## 0000018C
/* 0022C 808AE9AC 4600910D */ trunc.w.s $f4, $f18
/* 00230 808AE9B0 440D2000 */ mfc1 $t5, $f4
/* 00234 808AE9B4 00000000 */ nop
/* 00238 808AE9B8 A5CD0034 */ sh $t5, 0x0034($t6) ## 808AF484
.L808AE9BC:
/* 0023C 808AE9BC C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 00240 808AE9C0 8E19018C */ lw $t9, 0x018C($s0) ## 0000018C
/* 00244 808AE9C4 240B00FF */ addiu $t3, $zero, 0x00FF ## $t3 = 000000FF
/* 00248 808AE9C8 4600320D */ trunc.w.s $f8, $f6
/* 0024C 808AE9CC 44184000 */ mfc1 $t8, $f8
/* 00250 808AE9D0 00000000 */ nop
/* 00254 808AE9D4 A7380030 */ sh $t8, 0x0030($t9) ## 00000030
/* 00258 808AE9D8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 0025C 808AE9DC 8E0A018C */ lw $t2, 0x018C($s0) ## 0000018C
/* 00260 808AE9E0 4600540D */ trunc.w.s $f16, $f10
/* 00264 808AE9E4 44098000 */ mfc1 $t1, $f16
/* 00268 808AE9E8 00000000 */ nop
/* 0026C 808AE9EC A5490032 */ sh $t1, 0x0032($t2) ## 808AEF2E
/* 00270 808AE9F0 10000055 */ beq $zero, $zero, .L808AEB48
/* 00274 808AE9F4 A20B00AE */ sb $t3, 0x00AE($s0) ## 000000AE
.L808AE9F8:
/* 00278 808AE9F8 3C05808B */ lui $a1, %hi(D_808AF968) ## $a1 = 808B0000
/* 0027C 808AE9FC 0C01E037 */ jal Actor_ProcessInitChain
/* 00280 808AEA00 24A5F968 */ addiu $a1, $a1, %lo(D_808AF968) ## $a1 = 808AF968
/* 00284 808AEA04 3C038016 */ lui $v1, %hi(gSaveContext)
/* 00288 808AEA08 240C0030 */ addiu $t4, $zero, 0x0030 ## $t4 = 00000030
/* 0028C 808AEA0C 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 00290 808AEA10 AE0C0004 */ sw $t4, 0x0004($s0) ## 00000004
/* 00294 808AEA14 8C6D0004 */ lw $t5, 0x0004($v1) ## 8015E664
/* 00298 808AEA18 3C09808B */ lui $t1, %hi(func_808AEE00) ## $t1 = 808B0000
/* 0029C 808AEA1C 2529EE00 */ addiu $t1, $t1, %lo(func_808AEE00) ## $t1 = 808AEE00
/* 002A0 808AEA20 55A0002C */ bnel $t5, $zero, .L808AEAD4
/* 002A4 808AEA24 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 002A8 808AEA28 946E0EE0 */ lhu $t6, 0x0EE0($v1) ## 8015F540
/* 002AC 808AEA2C 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000
/* 002B0 808AEA30 55E00028 */ bnel $t7, $zero, .L808AEAD4
/* 002B4 808AEA34 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
/* 002B8 808AEA38 8C781360 */ lw $t8, 0x1360($v1) ## 8015F9C0
/* 002BC 808AEA3C 2B010004 */ slti $at, $t8, 0x0004
/* 002C0 808AEA40 10200018 */ beq $at, $zero, .L808AEAA4
/* 002C4 808AEA44 3C01808B */ lui $at, %hi(D_808AF9F0) ## $at = 808B0000
/* 002C8 808AEA48 C420F9F0 */ lwc1 $f0, %lo(D_808AF9F0)($at)
/* 002CC 808AEA4C 8FA30044 */ lw $v1, 0x0044($sp)
/* 002D0 808AEA50 2419FB57 */ addiu $t9, $zero, 0xFB57 ## $t9 = FFFFFB57
/* 002D4 808AEA54 E600016C */ swc1 $f0, 0x016C($s0) ## 0000016C
/* 002D8 808AEA58 8C6807C0 */ lw $t0, 0x07C0($v1) ## 8015EE20
/* 002DC 808AEA5C 2404F837 */ addiu $a0, $zero, 0xF837 ## $a0 = FFFFF837
/* 002E0 808AEA60 8D090028 */ lw $t1, 0x0028($t0) ## 00000028
/* 002E4 808AEA64 3C08808B */ lui $t0, %hi(func_808AEE00) ## $t0 = 808B0000
/* 002E8 808AEA68 2508EE00 */ addiu $t0, $t0, %lo(func_808AEE00) ## $t0 = 808AEE00
/* 002EC 808AEA6C A5390012 */ sh $t9, 0x0012($t1) ## 808AEE12
/* 002F0 808AEA70 8C6A07C0 */ lw $t2, 0x07C0($v1) ## 8015EE20
/* 002F4 808AEA74 8D420028 */ lw $v0, 0x0028($t2) ## 00000028
/* 002F8 808AEA78 844B0014 */ lh $t3, 0x0014($v0) ## 00000014
/* 002FC 808AEA7C 256CFFCE */ addiu $t4, $t3, 0xFFCE ## $t4 = FFFFFFCE
/* 00300 808AEA80 A44C0014 */ sh $t4, 0x0014($v0) ## 00000014
/* 00304 808AEA84 8C6D07C0 */ lw $t5, 0x07C0($v1) ## 8015EE20
/* 00308 808AEA88 8DAE0028 */ lw $t6, 0x0028($t5) ## 00000028
/* 0030C 808AEA8C A5C40022 */ sh $a0, 0x0022($t6) ## 00000022
/* 00310 808AEA90 8C6F07C0 */ lw $t7, 0x07C0($v1) ## 8015EE20
/* 00314 808AEA94 8DF80028 */ lw $t8, 0x0028($t7) ## 00000028
/* 00318 808AEA98 A7040032 */ sh $a0, 0x0032($t8) ## 00000032
/* 0031C 808AEA9C 1000002A */ beq $zero, $zero, .L808AEB48
/* 00320 808AEAA0 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
.L808AEAA4:
/* 00324 808AEAA4 3C01808B */ lui $at, %hi(D_808AF9F4) ## $at = 808B0000
/* 00328 808AEAA8 C420F9F4 */ lwc1 $f0, %lo(D_808AF9F4)($at)
/* 0032C 808AEAAC 3C01808B */ lui $at, %hi(D_808AF9F8) ## $at = 808B0000
/* 00330 808AEAB0 C422F9F8 */ lwc1 $f2, %lo(D_808AF9F8)($at)
/* 00334 808AEAB4 3C19808B */ lui $t9, %hi(func_808AF7FC) ## $t9 = 808B0000
/* 00338 808AEAB8 2739F7FC */ addiu $t9, $t9, %lo(func_808AF7FC) ## $t9 = 808AF7FC
/* 0033C 808AEABC 46020480 */ add.s $f18, $f0, $f2
/* 00340 808AEAC0 AE190164 */ sw $t9, 0x0164($s0) ## 00000164
/* 00344 808AEAC4 E600016C */ swc1 $f0, 0x016C($s0) ## 0000016C
/* 00348 808AEAC8 1000001F */ beq $zero, $zero, .L808AEB48
/* 0034C 808AEACC E6120028 */ swc1 $f18, 0x0028($s0) ## 00000028
/* 00350 808AEAD0 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00
.L808AEAD4:
/* 00354 808AEAD4 AE090164 */ sw $t1, 0x0164($s0) ## 00000164
/* 00358 808AEAD8 1000001B */ beq $zero, $zero, .L808AEB48
/* 0035C 808AEADC E604016C */ swc1 $f4, 0x016C($s0) ## 0000016C
.L808AEAE0:
/* 00360 808AEAE0 3C05808B */ lui $a1, %hi(D_808AF964) ## $a1 = 808B0000
/* 00364 808AEAE4 0C01E037 */ jal Actor_ProcessInitChain
/* 00368 808AEAE8 24A5F964 */ addiu $a1, $a1, %lo(D_808AF964) ## $a1 = 808AF964
/* 0036C 808AEAEC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00370 808AEAF0 0C010D20 */ jal DynaPolyActor_Init
/* 00374 808AEAF4 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00378 808AEAF8 3C040600 */ lui $a0, %hi(D_06001238) ## $a0 = 06000000
/* 0037C 808AEAFC 24841238 */ addiu $a0, $a0, %lo(D_06001238) ## $a0 = 06001238
/* 00380 808AEB00 0C010620 */ jal CollisionHeader_GetVirtual
/* 00384 808AEB04 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4
/* 00388 808AEB08 8FA40044 */ lw $a0, 0x0044($sp)
/* 0038C 808AEB0C 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
/* 00390 808AEB10 8FA70034 */ lw $a3, 0x0034($sp)
/* 00394 808AEB14 0C00FA9D */ jal DynaPoly_SetBgActor
## DynaPoly_SetBgActor
/* 00398 808AEB18 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
/* 0039C 808AEB1C 3C0A808B */ lui $t2, %hi(func_808AEE00) ## $t2 = 808B0000
/* 003A0 808AEB20 3C038016 */ lui $v1, %hi(gSaveContext)
/* 003A4 808AEB24 254AEE00 */ addiu $t2, $t2, %lo(func_808AEE00) ## $t2 = 808AEE00
/* 003A8 808AEB28 2463E660 */ addiu $v1, %lo(gSaveContext)
/* 003AC 808AEB2C AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
/* 003B0 808AEB30 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
/* 003B4 808AEB34 8C6B0004 */ lw $t3, 0x0004($v1) ## 8015E664
/* 003B8 808AEB38 51600004 */ beql $t3, $zero, .L808AEB4C
/* 003BC 808AEB3C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 003C0 808AEB40 0C00B55C */ jal Actor_Kill
/* 003C4 808AEB44 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
.L808AEB48:
/* 003C8 808AEB48 8FBF0024 */ lw $ra, 0x0024($sp)
.L808AEB4C:
/* 003CC 808AEB4C 8FB00020 */ lw $s0, 0x0020($sp)
/* 003D0 808AEB50 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 003D4 808AEB54 03E00008 */ jr $ra
/* 003D8 808AEB58 00000000 */ nop

View File

@ -1,24 +0,0 @@
glabel BgSpot06Objects_Update
/* 00D50 808AF4D0 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00D54 808AF4D4 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00D58 808AF4D8 AFA5001C */ sw $a1, 0x001C($sp)
/* 00D5C 808AF4DC AFA40018 */ sw $a0, 0x0018($sp)
/* 00D60 808AF4E0 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
/* 00D64 808AF4E4 0320F809 */ jalr $ra, $t9
/* 00D68 808AF4E8 00000000 */ nop
/* 00D6C 808AF4EC 8FA70018 */ lw $a3, 0x0018($sp)
/* 00D70 808AF4F0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
/* 00D74 808AF4F4 8FA4001C */ lw $a0, 0x001C($sp)
/* 00D78 808AF4F8 84EE001C */ lh $t6, 0x001C($a3) ## 0000001C
/* 00D7C 808AF4FC 24E60170 */ addiu $a2, $a3, 0x0170 ## $a2 = 00000170
/* 00D80 808AF500 15C10004 */ bne $t6, $at, .L808AF514
/* 00D84 808AF504 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00D88 808AF508 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00011E60
/* 00D8C 808AF50C 0C017713 */ jal CollisionCheck_SetOC
## CollisionCheck_setOC
/* 00D90 808AF510 00812821 */ addu $a1, $a0, $at
.L808AF514:
/* 00D94 808AF514 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D98 808AF518 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D9C 808AF51C 03E00008 */ jr $ra
/* 00DA0 808AF520 00000000 */ nop

View File

@ -1,75 +0,0 @@
.late_rodata
glabel D_808AF9FC
.float 0.05
glabel D_808AFA00
.word 0x3E333333
.text
glabel func_808AEBC0
/* 00440 808AEBC0 27BDFFC0 */ addiu $sp, $sp, 0xFFC0 ## $sp = FFFFFFC0
/* 00444 808AEBC4 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
/* 00448 808AEBC8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0044C 808AEBCC AFB00020 */ sw $s0, 0x0020($sp)
/* 00450 808AEBD0 AFA50044 */ sw $a1, 0x0044($sp)
/* 00454 808AEBD4 01E57821 */ addu $t7, $t7, $a1
/* 00458 808AEBD8 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4
/* 0045C 808AEBDC 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
/* 00460 808AEBE0 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00464 808AEBE4 01E1001B */ divu $zero, $t7, $at
/* 00468 808AEBE8 0000C010 */ mfhi $t8
/* 0046C 808AEBEC 3C014320 */ lui $at, 0x4320 ## $at = 43200000
/* 00470 808AEBF0 5700002C */ bnel $t8, $zero, .L808AECA4
/* 00474 808AEBF4 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00478 808AEBF8 44816000 */ mtc1 $at, $f12 ## $f12 = 160.00
/* 0047C 808AEBFC 0C00CFC8 */ jal Rand_CenteredFloat
/* 00480 808AEC00 00000000 */ nop
/* 00484 808AEC04 E7A00030 */ swc1 $f0, 0x0030($sp)
/* 00488 808AEC08 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 0048C 808AEC0C 24844000 */ addiu $a0, $a0, 0x4000 ## $a0 = 00004000
/* 00490 808AEC10 00042400 */ sll $a0, $a0, 16
/* 00494 808AEC14 0C01DE1C */ jal Math_SinS
## sins?
/* 00498 808AEC18 00042403 */ sra $a0, $a0, 16
/* 0049C 808AEC1C C7A40030 */ lwc1 $f4, 0x0030($sp)
/* 004A0 808AEC20 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 004A4 808AEC24 46040182 */ mul.s $f6, $f0, $f4
/* 004A8 808AEC28 46083280 */ add.s $f10, $f6, $f8
/* 004AC 808AEC2C E7AA0034 */ swc1 $f10, 0x0034($sp)
/* 004B0 808AEC30 C6100028 */ lwc1 $f16, 0x0028($s0) ## 00000028
/* 004B4 808AEC34 E7B00038 */ swc1 $f16, 0x0038($sp)
/* 004B8 808AEC38 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 004BC 808AEC3C 24844000 */ addiu $a0, $a0, 0x4000 ## $a0 = 00004000
/* 004C0 808AEC40 00042400 */ sll $a0, $a0, 16
/* 004C4 808AEC44 0C01DE0D */ jal Math_CosS
## coss?
/* 004C8 808AEC48 00042403 */ sra $a0, $a0, 16
/* 004CC 808AEC4C C7B20030 */ lwc1 $f18, 0x0030($sp)
/* 004D0 808AEC50 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 004D4 808AEC54 46120102 */ mul.s $f4, $f0, $f18
/* 004D8 808AEC58 46062200 */ add.s $f8, $f4, $f6
/* 004DC 808AEC5C 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 004E0 808AEC60 E7A8003C */ swc1 $f8, 0x003C($sp)
/* 004E4 808AEC64 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 004E8 808AEC68 44815000 */ mtc1 $at, $f10 ## $f10 = 10.00
/* 004EC 808AEC6C 3C01808B */ lui $at, %hi(D_808AF9FC) ## $at = 808B0000
/* 004F0 808AEC70 C430F9FC */ lwc1 $f16, %lo(D_808AF9FC)($at)
/* 004F4 808AEC74 3C01808B */ lui $at, %hi(D_808AFA00) ## $at = 808B0000
/* 004F8 808AEC78 C424FA00 */ lwc1 $f4, %lo(D_808AFA00)($at)
/* 004FC 808AEC7C 46100482 */ mul.s $f18, $f0, $f16
/* 00500 808AEC80 8FA40044 */ lw $a0, 0x0044($sp)
/* 00504 808AEC84 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFF4
/* 00508 808AEC88 3C064248 */ lui $a2, 0x4248 ## $a2 = 42480000
/* 0050C 808AEC8C 3C07428C */ lui $a3, 0x428C ## $a3 = 428C0000
/* 00510 808AEC90 E7AA0010 */ swc1 $f10, 0x0010($sp)
/* 00514 808AEC94 46049180 */ add.s $f6, $f18, $f4
/* 00518 808AEC98 0C00A4F9 */ jal EffectSsBubble_Spawn
/* 0051C 808AEC9C E7A60014 */ swc1 $f6, 0x0014($sp)
/* 00520 808AECA0 8FBF0024 */ lw $ra, 0x0024($sp)
.L808AECA4:
/* 00524 808AECA4 8FB00020 */ lw $s0, 0x0020($sp)
/* 00528 808AECA8 27BD0040 */ addiu $sp, $sp, 0x0040 ## $sp = 00000000
/* 0052C 808AECAC 03E00008 */ jr $ra
/* 00530 808AECB0 00000000 */ nop

View File

@ -1,41 +0,0 @@
glabel func_808AECB4
/* 00534 808AECB4 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 00538 808AECB8 AFB10018 */ sw $s1, 0x0018($sp)
/* 0053C 808AECBC 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 00540 808AECC0 AFB2001C */ sw $s2, 0x001C($sp)
/* 00544 808AECC4 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 00548 808AECC8 AFBF0024 */ sw $ra, 0x0024($sp)
/* 0054C 808AECCC AFB30020 */ sw $s3, 0x0020($sp)
/* 00550 808AECD0 AFB00014 */ sw $s0, 0x0014($sp)
/* 00554 808AECD4 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
/* 00558 808AECD8 0C00B2D0 */ jal Flags_GetSwitch
/* 0055C 808AECDC 86250168 */ lh $a1, 0x0168($s1) ## 00000168
/* 00560 808AECE0 10400012 */ beq $v0, $zero, .L808AED2C
/* 00564 808AECE4 240E0064 */ addiu $t6, $zero, 0x0064 ## $t6 = 00000064
/* 00568 808AECE8 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 0056C 808AECEC 44813000 */ mtc1 $at, $f6 ## $f6 = 3.00
/* 00570 808AECF0 C6240028 */ lwc1 $f4, 0x0028($s1) ## 00000028
/* 00574 808AECF4 3C0F808B */ lui $t7, %hi(func_808AED48) ## $t7 = 808B0000
/* 00578 808AECF8 25EFED48 */ addiu $t7, $t7, %lo(func_808AED48) ## $t7 = 808AED48
/* 0057C 808AECFC 46062200 */ add.s $f8, $f4, $f6
/* 00580 808AED00 A62E016A */ sh $t6, 0x016A($s1) ## 0000016A
/* 00584 808AED04 AE2F0164 */ sw $t7, 0x0164($s1) ## 00000164
/* 00588 808AED08 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 0058C 808AED0C E6280028 */ swc1 $f8, 0x0028($s1) ## 00000028
/* 00590 808AED10 2413000F */ addiu $s3, $zero, 0x000F ## $s3 = 0000000F
/* 00594 808AED14 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L808AED18:
/* 00598 808AED18 0C22BAF0 */ jal func_808AEBC0
/* 0059C 808AED1C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 005A0 808AED20 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 005A4 808AED24 5613FFFC */ bnel $s0, $s3, .L808AED18
/* 005A8 808AED28 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L808AED2C:
/* 005AC 808AED2C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 005B0 808AED30 8FB00014 */ lw $s0, 0x0014($sp)
/* 005B4 808AED34 8FB10018 */ lw $s1, 0x0018($sp)
/* 005B8 808AED38 8FB2001C */ lw $s2, 0x001C($sp)
/* 005BC 808AED3C 8FB30020 */ lw $s3, 0x0020($sp)
/* 005C0 808AED40 03E00008 */ jr $ra
/* 005C4 808AED44 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000

View File

@ -1,16 +0,0 @@
glabel func_808AED48
/* 005C8 808AED48 AFA50004 */ sw $a1, 0x0004($sp)
/* 005CC 808AED4C 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 005D0 808AED50 3C0F808B */ lui $t7, %hi(func_808AED7C) ## $t7 = 808B0000
/* 005D4 808AED54 25EFED7C */ addiu $t7, $t7, %lo(func_808AED7C) ## $t7 = 808AED7C
/* 005D8 808AED58 10400003 */ beq $v0, $zero, .L808AED68
/* 005DC 808AED5C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 005E0 808AED60 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
/* 005E4 808AED64 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
.L808AED68:
/* 005E8 808AED68 14400002 */ bne $v0, $zero, .L808AED74
/* 005EC 808AED6C 00000000 */ nop
/* 005F0 808AED70 AC8F0164 */ sw $t7, 0x0164($a0) ## 00000164
.L808AED74:
/* 005F4 808AED74 03E00008 */ jr $ra
/* 005F8 808AED78 00000000 */ nop

View File

@ -1,38 +0,0 @@
glabel func_808AED7C
/* 005FC 808AED7C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00600 808AED80 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00604 808AED84 0C22BAF0 */ jal func_808AEBC0
/* 00608 808AED88 AFA40018 */ sw $a0, 0x0018($sp)
/* 0060C 808AED8C 8FA70018 */ lw $a3, 0x0018($sp)
/* 00610 808AED90 3C0142F0 */ lui $at, 0x42F0 ## $at = 42F00000
/* 00614 808AED94 44813000 */ mtc1 $at, $f6 ## $f6 = 120.00
/* 00618 808AED98 C4E4000C */ lwc1 $f4, 0x000C($a3) ## 0000000C
/* 0061C 808AED9C 3C063F19 */ lui $a2, 0x3F19 ## $a2 = 3F190000
/* 00620 808AEDA0 34C6999A */ ori $a2, $a2, 0x999A ## $a2 = 3F19999A
/* 00624 808AEDA4 46062200 */ add.s $f8, $f4, $f6
/* 00628 808AEDA8 24E40028 */ addiu $a0, $a3, 0x0028 ## $a0 = 00000028
/* 0062C 808AEDAC 44054000 */ mfc1 $a1, $f8
/* 00630 808AEDB0 0C01DE80 */ jal Math_StepToF
/* 00634 808AEDB4 00000000 */ nop
/* 00638 808AEDB8 1040000A */ beq $v0, $zero, .L808AEDE4
/* 0063C 808AEDBC 8FA70018 */ lw $a3, 0x0018($sp)
/* 00640 808AEDC0 3C0E808B */ lui $t6, %hi(func_808AEE00) ## $t6 = 808B0000
/* 00644 808AEDC4 25CEEE00 */ addiu $t6, $t6, %lo(func_808AEE00) ## $t6 = 808AEE00
/* 00648 808AEDC8 ACEE0164 */ sw $t6, 0x0164($a3) ## 00000164
/* 0064C 808AEDCC A4E0016A */ sh $zero, 0x016A($a3) ## 0000016A
/* 00650 808AEDD0 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00654 808AEDD4 0C00BE0A */ jal Audio_PlayActorSound2
/* 00658 808AEDD8 24052837 */ addiu $a1, $zero, 0x2837 ## $a1 = 00002837
/* 0065C 808AEDDC 10000005 */ beq $zero, $zero, .L808AEDF4
/* 00660 808AEDE0 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AEDE4:
/* 00664 808AEDE4 00E02025 */ or $a0, $a3, $zero ## $a0 = 00000000
/* 00668 808AEDE8 0C00BE5D */ jal func_8002F974
/* 0066C 808AEDEC 24052036 */ addiu $a1, $zero, 0x2036 ## $a1 = 00002036
/* 00670 808AEDF0 8FBF0014 */ lw $ra, 0x0014($sp)
.L808AEDF4:
/* 00674 808AEDF4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00678 808AEDF8 03E00008 */ jr $ra
/* 0067C 808AEDFC 00000000 */ nop

View File

@ -1,4 +0,0 @@
glabel func_808AEE00
/* 00680 808AEE00 AFA40000 */ sw $a0, 0x0000($sp)
/* 00684 808AEE04 03E00008 */ jr $ra
/* 00688 808AEE08 AFA50004 */ sw $a1, 0x0004($sp)

View File

@ -1,27 +0,0 @@
glabel func_808AEE0C
/* 0068C 808AEE0C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 00690 808AEE10 AFBF001C */ sw $ra, 0x001C($sp)
/* 00694 808AEE14 AFA40020 */ sw $a0, 0x0020($sp)
/* 00698 808AEE18 14C00009 */ bne $a2, $zero, .L808AEE40
/* 0069C 808AEE1C AFA50024 */ sw $a1, 0x0024($sp)
/* 006A0 808AEE20 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
/* 006A4 808AEE24 01E57821 */ addu $t7, $t7, $a1
/* 006A8 808AEE28 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4
/* 006AC 808AEE2C 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 006B0 808AEE30 01E1001B */ divu $zero, $t7, $at
/* 006B4 808AEE34 0000C010 */ mfhi $t8
/* 006B8 808AEE38 57000009 */ bnel $t8, $zero, .L808AEE60
/* 006BC 808AEE3C 8FBF001C */ lw $ra, 0x001C($sp)
.L808AEE40:
/* 006C0 808AEE40 8FA50020 */ lw $a1, 0x0020($sp)
/* 006C4 808AEE44 8FA40024 */ lw $a0, 0x0024($sp)
/* 006C8 808AEE48 2406012C */ addiu $a2, $zero, 0x012C ## $a2 = 0000012C
/* 006CC 808AEE4C 240702BC */ addiu $a3, $zero, 0x02BC ## $a3 = 000002BC
/* 006D0 808AEE50 AFA00010 */ sw $zero, 0x0010($sp)
/* 006D4 808AEE54 0C00A511 */ jal EffectSsGRipple_Spawn
/* 006D8 808AEE58 24A50008 */ addiu $a1, $a1, 0x0008 ## $a1 = 00000008
/* 006DC 808AEE5C 8FBF001C */ lw $ra, 0x001C($sp)
.L808AEE60:
/* 006E0 808AEE60 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 006E4 808AEE64 03E00008 */ jr $ra
/* 006E8 808AEE68 00000000 */ nop

View File

@ -1,48 +0,0 @@
.late_rodata
glabel D_808AFA04
.float 0.05
glabel D_808AFA08
.word 0x3E333333
.text
glabel func_808AEE6C
/* 006EC 808AEE6C 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 006F0 808AEE70 3C0F0001 */ lui $t7, 0x0001 ## $t7 = 00010000
/* 006F4 808AEE74 AFBF001C */ sw $ra, 0x001C($sp)
/* 006F8 808AEE78 AFA40020 */ sw $a0, 0x0020($sp)
/* 006FC 808AEE7C AFA50024 */ sw $a1, 0x0024($sp)
/* 00700 808AEE80 01E57821 */ addu $t7, $t7, $a1
/* 00704 808AEE84 8DEF1DE4 */ lw $t7, 0x1DE4($t7) ## 00011DE4
/* 00708 808AEE88 24010007 */ addiu $at, $zero, 0x0007 ## $at = 00000007
/* 0070C 808AEE8C 01E1001B */ divu $zero, $t7, $at
/* 00710 808AEE90 0000C010 */ mfhi $t8
/* 00714 808AEE94 13000003 */ beq $t8, $zero, .L808AEEA4
/* 00718 808AEE98 00000000 */ nop
/* 0071C 808AEE9C 50C00014 */ beql $a2, $zero, .L808AEEF0
/* 00720 808AEEA0 8FBF001C */ lw $ra, 0x001C($sp)
.L808AEEA4:
/* 00724 808AEEA4 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00728 808AEEA8 00000000 */ nop
/* 0072C 808AEEAC 3C0141F0 */ lui $at, 0x41F0 ## $at = 41F00000
/* 00730 808AEEB0 44812000 */ mtc1 $at, $f4 ## $f4 = 30.00
/* 00734 808AEEB4 3C01808B */ lui $at, %hi(D_808AFA04) ## $at = 808B0000
/* 00738 808AEEB8 C426FA04 */ lwc1 $f6, %lo(D_808AFA04)($at)
/* 0073C 808AEEBC 3C01808B */ lui $at, %hi(D_808AFA08) ## $at = 808B0000
/* 00740 808AEEC0 C42AFA08 */ lwc1 $f10, %lo(D_808AFA08)($at)
/* 00744 808AEEC4 46060202 */ mul.s $f8, $f0, $f6
/* 00748 808AEEC8 8FA50020 */ lw $a1, 0x0020($sp)
/* 0074C 808AEECC 8FA40024 */ lw $a0, 0x0024($sp)
/* 00750 808AEED0 24060000 */ addiu $a2, $zero, 0x0000 ## $a2 = 00000000
/* 00754 808AEED4 3C074220 */ lui $a3, 0x4220 ## $a3 = 42200000
/* 00758 808AEED8 E7A40010 */ swc1 $f4, 0x0010($sp)
/* 0075C 808AEEDC 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
/* 00760 808AEEE0 460A4400 */ add.s $f16, $f8, $f10
/* 00764 808AEEE4 0C00A4F9 */ jal EffectSsBubble_Spawn
/* 00768 808AEEE8 E7B00014 */ swc1 $f16, 0x0014($sp)
/* 0076C 808AEEEC 8FBF001C */ lw $ra, 0x001C($sp)
.L808AEEF0:
/* 00770 808AEEF0 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00774 808AEEF4 03E00008 */ jr $ra
/* 00778 808AEEF8 00000000 */ nop

View File

@ -1,156 +0,0 @@
.late_rodata
glabel D_808AFA0C
.float 0.7
glabel D_808AFA10
.float 0.1
.text
glabel func_808AEEFC
/* 0077C 808AEEFC 27BDFF80 */ addiu $sp, $sp, 0xFF80 ## $sp = FFFFFF80
/* 00780 808AEF00 AFBF0054 */ sw $ra, 0x0054($sp)
/* 00784 808AEF04 AFB40050 */ sw $s4, 0x0050($sp)
/* 00788 808AEF08 AFB3004C */ sw $s3, 0x004C($sp)
/* 0078C 808AEF0C AFB20048 */ sw $s2, 0x0048($sp)
/* 00790 808AEF10 AFB10044 */ sw $s1, 0x0044($sp)
/* 00794 808AEF14 AFB00040 */ sw $s0, 0x0040($sp)
/* 00798 808AEF18 F7BA0038 */ sdc1 $f26, 0x0038($sp)
/* 0079C 808AEF1C F7B80030 */ sdc1 $f24, 0x0030($sp)
/* 007A0 808AEF20 F7B60028 */ sdc1 $f22, 0x0028($sp)
/* 007A4 808AEF24 F7B40020 */ sdc1 $f20, 0x0020($sp)
/* 007A8 808AEF28 908E0181 */ lbu $t6, 0x0181($a0) ## 00000181
/* 007AC 808AEF2C 00808825 */ or $s1, $a0, $zero ## $s1 = 00000000
/* 007B0 808AEF30 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 007B4 808AEF34 31CF0002 */ andi $t7, $t6, 0x0002 ## $t7 = 00000000
/* 007B8 808AEF38 11E00068 */ beq $t7, $zero, .L808AF0DC
/* 007BC 808AEF3C 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 007C0 808AEF40 8C990004 */ lw $t9, 0x0004($a0) ## 00000004
/* 007C4 808AEF44 24180082 */ addiu $t8, $zero, 0x0082 ## $t8 = 00000082
/* 007C8 808AEF48 A498016A */ sh $t8, 0x016A($a0) ## 0000016A
/* 007CC 808AEF4C 37280010 */ ori $t0, $t9, 0x0010 ## $t0 = 00000010
/* 007D0 808AEF50 AC880004 */ sw $t0, 0x0004($a0) ## 00000004
/* 007D4 808AEF54 0C01DE1C */ jal Math_SinS
## sins?
/* 007D8 808AEF58 84840032 */ lh $a0, 0x0032($a0) ## 00000032
/* 007DC 808AEF5C 46000506 */ mov.s $f20, $f0
/* 007E0 808AEF60 0C01DE0D */ jal Math_CosS
## coss?
/* 007E4 808AEF64 86240032 */ lh $a0, 0x0032($s1) ## 00000032
/* 007E8 808AEF68 3C014040 */ lui $at, 0x4040 ## $at = 40400000
/* 007EC 808AEF6C 44811000 */ mtc1 $at, $f2 ## $f2 = 3.00
/* 007F0 808AEF70 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
/* 007F4 808AEF74 C62A002C */ lwc1 $f10, 0x002C($s1) ## 0000002C
/* 007F8 808AEF78 46141182 */ mul.s $f6, $f2, $f20
/* 007FC 808AEF7C 46000586 */ mov.s $f22, $f0
/* 00800 808AEF80 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00804 808AEF84 46001402 */ mul.s $f16, $f2, $f0
/* 00808 808AEF88 46062200 */ add.s $f8, $f4, $f6
/* 0080C 808AEF8C 46105480 */ add.s $f18, $f10, $f16
/* 00810 808AEF90 E6280024 */ swc1 $f8, 0x0024($s1) ## 00000024
/* 00814 808AEF94 E632002C */ swc1 $f18, 0x002C($s1) ## 0000002C
/* 00818 808AEF98 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
.L808AEF9C:
/* 0081C 808AEF9C 02402825 */ or $a1, $s2, $zero ## $a1 = 00000000
/* 00820 808AEFA0 0C22BB9B */ jal func_808AEE6C
/* 00824 808AEFA4 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00828 808AEFA8 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 0082C 808AEFAC 2A010014 */ slti $at, $s0, 0x0014
/* 00830 808AEFB0 5420FFFA */ bnel $at, $zero, .L808AEF9C
/* 00834 808AEFB4 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00838 808AEFB8 3C0140A0 */ lui $at, 0x40A0 ## $at = 40A00000
/* 0083C 808AEFBC 44810000 */ mtc1 $at, $f0 ## $f0 = 5.00
/* 00840 808AEFC0 C6240024 */ lwc1 $f4, 0x0024($s1) ## 00000024
/* 00844 808AEFC4 3C01808B */ lui $at, %hi(D_808AFA0C) ## $at = 808B0000
/* 00848 808AEFC8 46140182 */ mul.s $f6, $f0, $f20
/* 0084C 808AEFCC C43AFA0C */ lwc1 $f26, %lo(D_808AFA0C)($at)
/* 00850 808AEFD0 3C01808B */ lui $at, %hi(D_808AFA10) ## $at = 808B0000
/* 00854 808AEFD4 46160482 */ mul.s $f18, $f0, $f22
/* 00858 808AEFD8 C438FA10 */ lwc1 $f24, %lo(D_808AFA10)($at)
/* 0085C 808AEFDC 3C0141A0 */ lui $at, 0x41A0 ## $at = 41A00000
/* 00860 808AEFE0 4481A000 */ mtc1 $at, $f20 ## $f20 = 20.00
/* 00864 808AEFE4 4480B000 */ mtc1 $zero, $f22 ## $f22 = 0.00
/* 00868 808AEFE8 46062200 */ add.s $f8, $f4, $f6
/* 0086C 808AEFEC 00008025 */ or $s0, $zero, $zero ## $s0 = 00000000
/* 00870 808AEFF0 24140003 */ addiu $s4, $zero, 0x0003 ## $s4 = 00000003
/* 00874 808AEFF4 27B30068 */ addiu $s3, $sp, 0x0068 ## $s3 = FFFFFFE8
/* 00878 808AEFF8 E7A80068 */ swc1 $f8, 0x0068($sp)
/* 0087C 808AEFFC C62A0028 */ lwc1 $f10, 0x0028($s1) ## 00000028
/* 00880 808AF000 E7AA006C */ swc1 $f10, 0x006C($sp)
/* 00884 808AF004 C630002C */ lwc1 $f16, 0x002C($s1) ## 0000002C
/* 00888 808AF008 46128100 */ add.s $f4, $f16, $f18
/* 0088C 808AF00C E7A40070 */ swc1 $f4, 0x0070($sp)
.L808AF010:
/* 00890 808AF010 0C03F66B */ jal Rand_ZeroOne
## Rand.Next() float
/* 00894 808AF014 00000000 */ nop
/* 00898 808AF018 46180182 */ mul.s $f6, $f0, $f24
/* 0089C 808AF01C 4406B000 */ mfc1 $a2, $f22
/* 008A0 808AF020 4407A000 */ mfc1 $a3, $f20
/* 008A4 808AF024 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 008A8 808AF028 02602825 */ or $a1, $s3, $zero ## $a1 = FFFFFFE8
/* 008AC 808AF02C E7B40010 */ swc1 $f20, 0x0010($sp)
/* 008B0 808AF030 461A3200 */ add.s $f8, $f6, $f26
/* 008B4 808AF034 0C00A4F9 */ jal EffectSsBubble_Spawn
/* 008B8 808AF038 E7A80014 */ swc1 $f8, 0x0014($sp)
/* 008BC 808AF03C 26100001 */ addiu $s0, $s0, 0x0001 ## $s0 = 00000001
/* 008C0 808AF040 1614FFF3 */ bne $s0, $s4, .L808AF010
/* 008C4 808AF044 00000000 */ nop
/* 008C8 808AF048 24090001 */ addiu $t1, $zero, 0x0001 ## $t1 = 00000001
/* 008CC 808AF04C 240A02BC */ addiu $t2, $zero, 0x02BC ## $t2 = 000002BC
/* 008D0 808AF050 AFAA0014 */ sw $t2, 0x0014($sp)
/* 008D4 808AF054 AFA90010 */ sw $t1, 0x0010($sp)
/* 008D8 808AF058 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 008DC 808AF05C 26250024 */ addiu $a1, $s1, 0x0024 ## $a1 = 00000024
/* 008E0 808AF060 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 008E4 808AF064 0C00A527 */ jal EffectSsGSplash_Spawn
/* 008E8 808AF068 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 008EC 808AF06C 8E2C018C */ lw $t4, 0x018C($s1) ## 0000018C
/* 008F0 808AF070 240B002D */ addiu $t3, $zero, 0x002D ## $t3 = 0000002D
/* 008F4 808AF074 3C0D808B */ lui $t5, %hi(func_808AF120) ## $t5 = 808B0000
/* 008F8 808AF078 3C078013 */ lui $a3, %hi(D_801333E0)
/* 008FC 808AF07C 25ADF120 */ addiu $t5, $t5, %lo(func_808AF120) ## $t5 = 808AF120
/* 00900 808AF080 3C0E8013 */ lui $t6, %hi(D_801333E8)
/* 00904 808AF084 A58B0036 */ sh $t3, 0x0036($t4) ## 00000036
/* 00908 808AF088 24E733E0 */ addiu $a3, %lo(D_801333E0)
/* 0090C 808AF08C AE2D0164 */ sw $t5, 0x0164($s1) ## 00000164
/* 00910 808AF090 25CE33E8 */ addiu $t6, %lo(D_801333E8)
/* 00914 808AF094 3C058013 */ lui $a1, %hi(D_801333D4)
/* 00918 808AF098 24A533D4 */ addiu $a1, %lo(D_801333D4)
/* 0091C 808AF09C AFAE0014 */ sw $t6, 0x0014($sp)
/* 00920 808AF0A0 AFA70010 */ sw $a3, 0x0010($sp)
/* 00924 808AF0A4 24044802 */ addiu $a0, $zero, 0x4802 ## $a0 = 00004802
/* 00928 808AF0A8 0C03DCE3 */ jal Audio_PlaySoundGeneral
/* 0092C 808AF0AC 24060004 */ addiu $a2, $zero, 0x0004 ## $a2 = 00000004
/* 00930 808AF0B0 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00934 808AF0B4 0C00B2DD */ jal Flags_SetSwitch
/* 00938 808AF0B8 86250168 */ lh $a1, 0x0168($s1) ## 00000168
/* 0093C 808AF0BC 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00940 808AF0C0 24051018 */ addiu $a1, $zero, 0x1018 ## $a1 = 00001018
/* 00944 808AF0C4 240600AA */ addiu $a2, $zero, 0x00AA ## $a2 = 000000AA
/* 00948 808AF0C8 02203825 */ or $a3, $s1, $zero ## $a3 = 00000000
/* 0094C 808AF0CC 0C02003E */ jal func_800800F8
/* 00950 808AF0D0 AFA00010 */ sw $zero, 0x0010($sp)
/* 00954 808AF0D4 10000007 */ beq $zero, $zero, .L808AF0F4
/* 00958 808AF0D8 8FBF0054 */ lw $ra, 0x0054($sp)
.L808AF0DC:
/* 0095C 808AF0DC 34211E60 */ ori $at, $at, 0x1E60 ## $at = 00001E60
/* 00960 808AF0E0 02412821 */ addu $a1, $s2, $at
/* 00964 808AF0E4 02402025 */ or $a0, $s2, $zero ## $a0 = 00000000
/* 00968 808AF0E8 0C01767D */ jal CollisionCheck_SetAC
## CollisionCheck_setAC
/* 0096C 808AF0EC 26260170 */ addiu $a2, $s1, 0x0170 ## $a2 = 00000170
/* 00970 808AF0F0 8FBF0054 */ lw $ra, 0x0054($sp)
.L808AF0F4:
/* 00974 808AF0F4 D7B40020 */ ldc1 $f20, 0x0020($sp)
/* 00978 808AF0F8 D7B60028 */ ldc1 $f22, 0x0028($sp)
/* 0097C 808AF0FC D7B80030 */ ldc1 $f24, 0x0030($sp)
/* 00980 808AF100 D7BA0038 */ ldc1 $f26, 0x0038($sp)
/* 00984 808AF104 8FB00040 */ lw $s0, 0x0040($sp)
/* 00988 808AF108 8FB10044 */ lw $s1, 0x0044($sp)
/* 0098C 808AF10C 8FB20048 */ lw $s2, 0x0048($sp)
/* 00990 808AF110 8FB3004C */ lw $s3, 0x004C($sp)
/* 00994 808AF114 8FB40050 */ lw $s4, 0x0050($sp)
/* 00998 808AF118 03E00008 */ jr $ra
/* 0099C 808AF11C 27BD0080 */ addiu $sp, $sp, 0x0080 ## $sp = 00000000

View File

@ -1,59 +0,0 @@
.late_rodata
glabel D_808AFA14
.float 0.3
glabel D_808AFA18
.float 0.3
.text
glabel func_808AF120
/* 009A0 808AF120 27BDFFE0 */ addiu $sp, $sp, 0xFFE0 ## $sp = FFFFFFE0
/* 009A4 808AF124 AFBF001C */ sw $ra, 0x001C($sp)
/* 009A8 808AF128 AFB00018 */ sw $s0, 0x0018($sp)
/* 009AC 808AF12C AFA50024 */ sw $a1, 0x0024($sp)
/* 009B0 808AF130 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 009B4 808AF134 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 009B8 808AF138 10400002 */ beq $v0, $zero, .L808AF144
/* 009BC 808AF13C 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 009C0 808AF140 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
.L808AF144:
/* 009C4 808AF144 0C01DE1C */ jal Math_SinS
## sins?
/* 009C8 808AF148 86040032 */ lh $a0, 0x0032($s0) ## 00000032
/* 009CC 808AF14C 3C01808B */ lui $at, %hi(D_808AFA14) ## $at = 808B0000
/* 009D0 808AF150 C426FA14 */ lwc1 $f6, %lo(D_808AFA14)($at)
/* 009D4 808AF154 C6040024 */ lwc1 $f4, 0x0024($s0) ## 00000024
/* 009D8 808AF158 86040032 */ lh $a0, 0x0032($s0) ## 00000032
/* 009DC 808AF15C 46003202 */ mul.s $f8, $f6, $f0
/* 009E0 808AF160 46082280 */ add.s $f10, $f4, $f8
/* 009E4 808AF164 0C01DE0D */ jal Math_CosS
## coss?
/* 009E8 808AF168 E60A0024 */ swc1 $f10, 0x0024($s0) ## 00000024
/* 009EC 808AF16C 3C01808B */ lui $at, %hi(D_808AFA18) ## $at = 808B0000
/* 009F0 808AF170 C432FA18 */ lwc1 $f18, %lo(D_808AFA18)($at)
/* 009F4 808AF174 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 009F8 808AF178 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 009FC 808AF17C 46009182 */ mul.s $f6, $f18, $f0
/* 00A00 808AF180 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00A04 808AF184 46068100 */ add.s $f4, $f16, $f6
/* 00A08 808AF188 E604002C */ swc1 $f4, 0x002C($s0) ## 0000002C
/* 00A0C 808AF18C 0C22BB9B */ jal func_808AEE6C
/* 00A10 808AF190 8FA50024 */ lw $a1, 0x0024($sp)
/* 00A14 808AF194 860F016A */ lh $t7, 0x016A($s0) ## 0000016A
/* 00A18 808AF198 3C08808B */ lui $t0, %hi(func_808AF1D8) ## $t0 = 808B0000
/* 00A1C 808AF19C 3C013F00 */ lui $at, 0x3F00 ## $at = 3F000000
/* 00A20 808AF1A0 15E00008 */ bne $t7, $zero, .L808AF1C4
/* 00A24 808AF1A4 2508F1D8 */ addiu $t0, $t0, %lo(func_808AF1D8) ## $t0 = 808AF1D8
/* 00A28 808AF1A8 44814000 */ mtc1 $at, $f8 ## $f8 = 0.50
/* 00A2C 808AF1AC 8E180004 */ lw $t8, 0x0004($s0) ## 00000004
/* 00A30 808AF1B0 2401DFFF */ addiu $at, $zero, 0xDFFF ## $at = FFFFDFFF
/* 00A34 808AF1B4 AE080164 */ sw $t0, 0x0164($s0) ## 00000164
/* 00A38 808AF1B8 0301C824 */ and $t9, $t8, $at
/* 00A3C 808AF1BC AE190004 */ sw $t9, 0x0004($s0) ## 00000004
/* 00A40 808AF1C0 E6080060 */ swc1 $f8, 0x0060($s0) ## 00000060
.L808AF1C4:
/* 00A44 808AF1C4 8FBF001C */ lw $ra, 0x001C($sp)
/* 00A48 808AF1C8 8FB00018 */ lw $s0, 0x0018($sp)
/* 00A4C 808AF1CC 27BD0020 */ addiu $sp, $sp, 0x0020 ## $sp = 00000000
/* 00A50 808AF1D0 03E00008 */ jr $ra
/* 00A54 808AF1D4 00000000 */ nop

View File

@ -1,192 +0,0 @@
.late_rodata
glabel D_808AFA1C
.word 0x4089999A
glabel D_808AFA20
.float 1.3
glabel D_808AFA24
.word 0xC4F92000
glabel D_808AFA28
.word 0xC4F6A000
glabel D_808AFA2C
.float 0.02
glabel D_808AFA30
.word 0xC4F92000
.text
glabel func_808AF1D8
/* 00A58 808AF1D8 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
/* 00A5C 808AF1DC AFBF0024 */ sw $ra, 0x0024($sp)
/* 00A60 808AF1E0 AFB00020 */ sw $s0, 0x0020($sp)
/* 00A64 808AF1E4 AFA50034 */ sw $a1, 0x0034($sp)
/* 00A68 808AF1E8 44800000 */ mtc1 $zero, $f0 ## $f0 = 0.00
/* 00A6C 808AF1EC C4820060 */ lwc1 $f2, 0x0060($a0) ## 00000060
/* 00A70 808AF1F0 C4840028 */ lwc1 $f4, 0x0028($a0) ## 00000028
/* 00A74 808AF1F4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 00A78 808AF1F8 4600103E */ c.le.s $f2, $f0
/* 00A7C 808AF1FC 3C01808B */ lui $at, %hi(D_808AFA28) ## $at = 808B0000
/* 00A80 808AF200 46022180 */ add.s $f6, $f4, $f2
/* 00A84 808AF204 45000045 */ bc1f .L808AF31C
/* 00A88 808AF208 E4860028 */ swc1 $f6, 0x0028($a0) ## 00000028
/* 00A8C 808AF20C 0C01DE0D */ jal Math_CosS
## coss?
/* 00A90 808AF210 848400B4 */ lh $a0, 0x00B4($a0) ## 000000B4
/* 00A94 808AF214 3C01808B */ lui $at, %hi(D_808AFA1C) ## $at = 808B0000
/* 00A98 808AF218 C428FA1C */ lwc1 $f8, %lo(D_808AFA1C)($at)
/* 00A9C 808AF21C 46080282 */ mul.s $f10, $f0, $f8
/* 00AA0 808AF220 E7AA002C */ swc1 $f10, 0x002C($sp)
/* 00AA4 808AF224 0C01DE1C */ jal Math_SinS
## sins?
/* 00AA8 808AF228 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00AAC 808AF22C C7B2002C */ lwc1 $f18, 0x002C($sp)
/* 00AB0 808AF230 C6100024 */ lwc1 $f16, 0x0024($s0) ## 00000024
/* 00AB4 808AF234 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00AB8 808AF238 46009102 */ mul.s $f4, $f18, $f0
/* 00ABC 808AF23C 46048180 */ add.s $f6, $f16, $f4
/* 00AC0 808AF240 0C01DE0D */ jal Math_CosS
## coss?
/* 00AC4 808AF244 E6060024 */ swc1 $f6, 0x0024($s0) ## 00000024
/* 00AC8 808AF248 C7AA002C */ lwc1 $f10, 0x002C($sp)
/* 00ACC 808AF24C C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00AD0 808AF250 3C01808B */ lui $at, %hi(D_808AFA20) ## $at = 808B0000
/* 00AD4 808AF254 46005482 */ mul.s $f18, $f10, $f0
/* 00AD8 808AF258 C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 00ADC 808AF25C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00AE0 808AF260 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00AE4 808AF264 46124400 */ add.s $f16, $f8, $f18
/* 00AE8 808AF268 E610002C */ swc1 $f16, 0x002C($s0) ## 0000002C
/* 00AEC 808AF26C C426FA20 */ lwc1 $f6, %lo(D_808AFA20)($at)
/* 00AF0 808AF270 46062281 */ sub.s $f10, $f4, $f6
/* 00AF4 808AF274 E60A0028 */ swc1 $f10, 0x0028($s0) ## 00000028
/* 00AF8 808AF278 0C22BB83 */ jal func_808AEE0C
/* 00AFC 808AF27C 8FA50034 */ lw $a1, 0x0034($sp)
/* 00B00 808AF280 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00B04 808AF284 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00B08 808AF288 0C01DE2B */ jal Math_ScaledStepToS
/* 00B0C 808AF28C 24060260 */ addiu $a2, $zero, 0x0260 ## $a2 = 00000260
/* 00B10 808AF290 5040006B */ beql $v0, $zero, .L808AF440
/* 00B14 808AF294 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00B18 808AF298 0C01DE1C */ jal Math_SinS
## sins?
/* 00B1C 808AF29C 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00B20 808AF2A0 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 00B24 808AF2A4 44819000 */ mtc1 $at, $f18 ## $f18 = 16.00
/* 00B28 808AF2A8 C6080024 */ lwc1 $f8, 0x0024($s0) ## 00000024
/* 00B2C 808AF2AC 860400B6 */ lh $a0, 0x00B6($s0) ## 000000B6
/* 00B30 808AF2B0 46120402 */ mul.s $f16, $f0, $f18
/* 00B34 808AF2B4 46104101 */ sub.s $f4, $f8, $f16
/* 00B38 808AF2B8 0C01DE0D */ jal Math_CosS
## coss?
/* 00B3C 808AF2BC E6040008 */ swc1 $f4, 0x0008($s0) ## 00000008
/* 00B40 808AF2C0 3C014180 */ lui $at, 0x4180 ## $at = 41800000
/* 00B44 808AF2C4 44815000 */ mtc1 $at, $f10 ## $f10 = 16.00
/* 00B48 808AF2C8 C606002C */ lwc1 $f6, 0x002C($s0) ## 0000002C
/* 00B4C 808AF2CC 3C01808B */ lui $at, %hi(D_808AFA24) ## $at = 808B0000
/* 00B50 808AF2D0 460A0482 */ mul.s $f18, $f0, $f10
/* 00B54 808AF2D4 8E0F0004 */ lw $t7, 0x0004($s0) ## 00000004
/* 00B58 808AF2D8 8E02018C */ lw $v0, 0x018C($s0) ## 0000018C
/* 00B5C 808AF2DC 240E0020 */ addiu $t6, $zero, 0x0020 ## $t6 = 00000020
/* 00B60 808AF2E0 3C09808B */ lui $t1, %hi(func_808AF450) ## $t1 = 808B0000
/* 00B64 808AF2E4 2529F450 */ addiu $t1, $t1, %lo(func_808AF450) ## $t1 = 808AF450
/* 00B68 808AF2E8 46123201 */ sub.s $f8, $f6, $f18
/* 00B6C 808AF2EC E6080010 */ swc1 $f8, 0x0010($s0) ## 00000010
/* 00B70 808AF2F0 C430FA24 */ lwc1 $f16, %lo(D_808AFA24)($at)
/* 00B74 808AF2F4 2401FFEF */ addiu $at, $zero, 0xFFEF ## $at = FFFFFFEF
/* 00B78 808AF2F8 01E1C024 */ and $t8, $t7, $at
/* 00B7C 808AF2FC A60E016A */ sh $t6, 0x016A($s0) ## 0000016A
/* 00B80 808AF300 AE180004 */ sw $t8, 0x0004($s0) ## 00000004
/* 00B84 808AF304 E6100028 */ swc1 $f16, 0x0028($s0) ## 00000028
/* 00B88 808AF308 8459002E */ lh $t9, 0x002E($v0) ## 0000002E
/* 00B8C 808AF30C 00194040 */ sll $t0, $t9, 1
/* 00B90 808AF310 A4480036 */ sh $t0, 0x0036($v0) ## 00000036
/* 00B94 808AF314 10000049 */ beq $zero, $zero, .L808AF43C
/* 00B98 808AF318 AE090164 */ sw $t1, 0x0164($s0) ## 00000164
.L808AF31C:
/* 00B9C 808AF31C C6040028 */ lwc1 $f4, 0x0028($s0) ## 00000028
/* 00BA0 808AF320 C42AFA28 */ lwc1 $f10, %lo(D_808AFA28)($at)
/* 00BA4 808AF324 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00BA8 808AF328 24060001 */ addiu $a2, $zero, 0x0001 ## $a2 = 00000001
/* 00BAC 808AF32C 4604503E */ c.le.s $f10, $f4
/* 00BB0 808AF330 00000000 */ nop
/* 00BB4 808AF334 45020010 */ bc1fl .L808AF378
/* 00BB8 808AF338 860C00B4 */ lh $t4, 0x00B4($s0) ## 000000B4
/* 00BBC 808AF33C E6000060 */ swc1 $f0, 0x0060($s0) ## 00000060
/* 00BC0 808AF340 0C22BB83 */ jal func_808AEE0C
/* 00BC4 808AF344 8FA50034 */ lw $a1, 0x0034($sp)
/* 00BC8 808AF348 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00BCC 808AF34C 240B02BC */ addiu $t3, $zero, 0x02BC ## $t3 = 000002BC
/* 00BD0 808AF350 AFAB0014 */ sw $t3, 0x0014($sp)
/* 00BD4 808AF354 AFAA0010 */ sw $t2, 0x0010($sp)
/* 00BD8 808AF358 8FA40034 */ lw $a0, 0x0034($sp)
/* 00BDC 808AF35C 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00BE0 808AF360 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00BE4 808AF364 0C00A527 */ jal EffectSsGSplash_Spawn
/* 00BE8 808AF368 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
/* 00BEC 808AF36C 10000034 */ beq $zero, $zero, .L808AF440
/* 00BF0 808AF370 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00BF4 808AF374 860C00B4 */ lh $t4, 0x00B4($s0) ## 000000B4
.L808AF378:
/* 00BF8 808AF378 2401C000 */ addiu $at, $zero, 0xC000 ## $at = FFFFC000
/* 00BFC 808AF37C 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C00 808AF380 1581001F */ bne $t4, $at, .L808AF400
/* 00C04 808AF384 8FA50034 */ lw $a1, 0x0034($sp)
/* 00C08 808AF388 3C01808B */ lui $at, %hi(D_808AFA2C) ## $at = 808B0000
/* 00C0C 808AF38C C426FA2C */ lwc1 $f6, %lo(D_808AFA2C)($at)
/* 00C10 808AF390 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00C14 808AF394 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 00C18 808AF398 46061480 */ add.s $f18, $f2, $f6
/* 00C1C 808AF39C 0C00CFC8 */ jal Rand_CenteredFloat
/* 00C20 808AF3A0 E6120060 */ swc1 $f18, 0x0060($s0) ## 00000060
/* 00C24 808AF3A4 C6080008 */ lwc1 $f8, 0x0008($s0) ## 00000008
/* 00C28 808AF3A8 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 00C2C 808AF3AC 44816000 */ mtc1 $at, $f12 ## $f12 = 1.00
/* 00C30 808AF3B0 46080400 */ add.s $f16, $f0, $f8
/* 00C34 808AF3B4 0C00CFC8 */ jal Rand_CenteredFloat
/* 00C38 808AF3B8 E6100024 */ swc1 $f16, 0x0024($s0) ## 00000024
/* 00C3C 808AF3BC 3C014120 */ lui $at, 0x4120 ## $at = 41200000
/* 00C40 808AF3C0 44816000 */ mtc1 $at, $f12 ## $f12 = 10.00
/* 00C44 808AF3C4 C6020060 */ lwc1 $f2, 0x0060($s0) ## 00000060
/* 00C48 808AF3C8 C6040010 */ lwc1 $f4, 0x0010($s0) ## 00000010
/* 00C4C 808AF3CC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00C50 808AF3D0 4602603C */ c.lt.s $f12, $f2
/* 00C54 808AF3D4 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00C58 808AF3D8 46040280 */ add.s $f10, $f0, $f4
/* 00C5C 808AF3DC 45000003 */ bc1f .L808AF3EC
/* 00C60 808AF3E0 E60A002C */ swc1 $f10, 0x002C($s0) ## 0000002C
/* 00C64 808AF3E4 10000002 */ beq $zero, $zero, .L808AF3F0
/* 00C68 808AF3E8 E60C0060 */ swc1 $f12, 0x0060($s0) ## 00000060
.L808AF3EC:
/* 00C6C 808AF3EC E6020060 */ swc1 $f2, 0x0060($s0) ## 00000060
.L808AF3F0:
/* 00C70 808AF3F0 0C22BB9B */ jal func_808AEE6C
/* 00C74 808AF3F4 8FA50034 */ lw $a1, 0x0034($sp)
/* 00C78 808AF3F8 10000011 */ beq $zero, $zero, .L808AF440
/* 00C7C 808AF3FC 8FBF0024 */ lw $ra, 0x0024($sp)
.L808AF400:
/* 00C80 808AF400 0C22BB9B */ jal func_808AEE6C
/* 00C84 808AF404 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00C88 808AF408 260400B4 */ addiu $a0, $s0, 0x00B4 ## $a0 = 000000B4
/* 00C8C 808AF40C 2405C000 */ addiu $a1, $zero, 0xC000 ## $a1 = FFFFC000
/* 00C90 808AF410 0C01DE2B */ jal Math_ScaledStepToS
/* 00C94 808AF414 24060030 */ addiu $a2, $zero, 0x0030 ## $a2 = 00000030
/* 00C98 808AF418 50400009 */ beql $v0, $zero, .L808AF440
/* 00C9C 808AF41C 8FBF0024 */ lw $ra, 0x0024($sp)
/* 00CA0 808AF420 C6060024 */ lwc1 $f6, 0x0024($s0) ## 00000024
/* 00CA4 808AF424 3C01808B */ lui $at, %hi(D_808AFA30) ## $at = 808B0000
/* 00CA8 808AF428 C608002C */ lwc1 $f8, 0x002C($s0) ## 0000002C
/* 00CAC 808AF42C E6060008 */ swc1 $f6, 0x0008($s0) ## 00000008
/* 00CB0 808AF430 C432FA30 */ lwc1 $f18, %lo(D_808AFA30)($at)
/* 00CB4 808AF434 E6080010 */ swc1 $f8, 0x0010($s0) ## 00000010
/* 00CB8 808AF438 E612000C */ swc1 $f18, 0x000C($s0) ## 0000000C
.L808AF43C:
/* 00CBC 808AF43C 8FBF0024 */ lw $ra, 0x0024($sp)
.L808AF440:
/* 00CC0 808AF440 8FB00020 */ lw $s0, 0x0020($sp)
/* 00CC4 808AF444 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
/* 00CC8 808AF448 03E00008 */ jr $ra
/* 00CCC 808AF44C 00000000 */ nop

View File

@ -1,41 +0,0 @@
.late_rodata
glabel D_808AFA34
.word 0x3E490FDB
.text
glabel func_808AF450
/* 00CD0 808AF450 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
/* 00CD4 808AF454 AFBF0014 */ sw $ra, 0x0014($sp)
/* 00CD8 808AF458 AFA40018 */ sw $a0, 0x0018($sp)
/* 00CDC 808AF45C 0C22BB83 */ jal func_808AEE0C
/* 00CE0 808AF460 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00CE4 808AF464 8FA40018 */ lw $a0, 0x0018($sp)
/* 00CE8 808AF468 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
/* 00CEC 808AF46C 10400003 */ beq $v0, $zero, .L808AF47C
/* 00CF0 808AF470 244EFFFF */ addiu $t6, $v0, 0xFFFF ## $t6 = FFFFFFFF
/* 00CF4 808AF474 A48E016A */ sh $t6, 0x016A($a0) ## 0000016A
/* 00CF8 808AF478 8482016A */ lh $v0, 0x016A($a0) ## 0000016A
.L808AF47C:
/* 00CFC 808AF47C 44822000 */ mtc1 $v0, $f4 ## $f4 = 0.00
/* 00D00 808AF480 3C01808B */ lui $at, %hi(D_808AFA34) ## $at = 808B0000
/* 00D04 808AF484 C428FA34 */ lwc1 $f8, %lo(D_808AFA34)($at)
/* 00D08 808AF488 468021A0 */ cvt.s.w $f6, $f4
/* 00D0C 808AF48C AFA40018 */ sw $a0, 0x0018($sp)
/* 00D10 808AF490 46083302 */ mul.s $f12, $f6, $f8
/* 00D14 808AF494 0C0400A4 */ jal sinf
/* 00D18 808AF498 00000000 */ nop
/* 00D1C 808AF49C 8FA40018 */ lw $a0, 0x0018($sp)
/* 00D20 808AF4A0 46000280 */ add.s $f10, $f0, $f0
/* 00D24 808AF4A4 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
/* 00D28 808AF4A8 C490000C */ lwc1 $f16, 0x000C($a0) ## 0000000C
/* 00D2C 808AF4AC 848F016A */ lh $t7, 0x016A($a0) ## 0000016A
/* 00D30 808AF4B0 46105480 */ add.s $f18, $f10, $f16
/* 00D34 808AF4B4 15E00002 */ bne $t7, $zero, .L808AF4C0
/* 00D38 808AF4B8 E4920028 */ swc1 $f18, 0x0028($a0) ## 00000028
/* 00D3C 808AF4BC A498016A */ sh $t8, 0x016A($a0) ## 0000016A
.L808AF4C0:
/* 00D40 808AF4C0 8FBF0014 */ lw $ra, 0x0014($sp)
/* 00D44 808AF4C4 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
/* 00D48 808AF4C8 03E00008 */ jr $ra
/* 00D4C 808AF4CC 00000000 */ nop

View File

@ -1,150 +0,0 @@
.rdata
glabel D_808AF994
.asciz "../z_bg_spot06_objects.c"
.balign 4
glabel D_808AF9B0
.asciz "../z_bg_spot06_objects.c"
.balign 4
glabel D_808AF9CC
.asciz "../z_bg_spot06_objects.c"
.balign 4
.text
glabel func_808AF524
/* 00DA4 808AF524 27BDFF78 */ addiu $sp, $sp, 0xFF78 ## $sp = FFFFFF78
/* 00DA8 808AF528 AFB20040 */ sw $s2, 0x0040($sp)
/* 00DAC 808AF52C 00A09025 */ or $s2, $a1, $zero ## $s2 = 00000000
/* 00DB0 808AF530 AFBF0044 */ sw $ra, 0x0044($sp)
/* 00DB4 808AF534 AFB1003C */ sw $s1, 0x003C($sp)
/* 00DB8 808AF538 AFB00038 */ sw $s0, 0x0038($sp)
/* 00DBC 808AF53C AFA40088 */ sw $a0, 0x0088($sp)
/* 00DC0 808AF540 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
/* 00DC4 808AF544 3C06808B */ lui $a2, %hi(D_808AF994) ## $a2 = 808B0000
/* 00DC8 808AF548 24C6F994 */ addiu $a2, $a2, %lo(D_808AF994) ## $a2 = 808AF994
/* 00DCC 808AF54C 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFE4
/* 00DD0 808AF550 2407034C */ addiu $a3, $zero, 0x034C ## $a3 = 0000034C
/* 00DD4 808AF554 0C031AB1 */ jal Graph_OpenDisps
/* 00DD8 808AF558 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
/* 00DDC 808AF55C 0C024F61 */ jal func_80093D84
/* 00DE0 808AF560 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 00DE4 808AF564 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 00DE8 808AF568 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000
/* 00DEC 808AF56C 35EF0003 */ ori $t7, $t7, 0x0003 ## $t7 = DA380003
/* 00DF0 808AF570 244E0008 */ addiu $t6, $v0, 0x0008 ## $t6 = 00000008
/* 00DF4 808AF574 AE2E02D0 */ sw $t6, 0x02D0($s1) ## 000002D0
/* 00DF8 808AF578 3C05808B */ lui $a1, %hi(D_808AF9B0) ## $a1 = 808B0000
/* 00DFC 808AF57C AC4F0000 */ sw $t7, 0x0000($v0) ## 00000000
/* 00E00 808AF580 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 00E04 808AF584 24A5F9B0 */ addiu $a1, $a1, %lo(D_808AF9B0) ## $a1 = 808AF9B0
/* 00E08 808AF588 24060352 */ addiu $a2, $zero, 0x0352 ## $a2 = 00000352
/* 00E0C 808AF58C 0C0346A2 */ jal Matrix_NewMtx
/* 00E10 808AF590 00408025 */ or $s0, $v0, $zero ## $s0 = 00000000
/* 00E14 808AF594 AE020004 */ sw $v0, 0x0004($s0) ## 00000004
/* 00E18 808AF598 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 00E1C 808AF59C 8E50009C */ lw $s0, 0x009C($s2) ## 0000009C
/* 00E20 808AF5A0 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
/* 00E24 808AF5A4 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
/* 00E28 808AF5A8 AE3802D0 */ sw $t8, 0x02D0($s1) ## 000002D0
/* 00E2C 808AF5AC 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
/* 00E30 808AF5B0 AC590000 */ sw $t9, 0x0000($v0) ## 00000000
/* 00E34 808AF5B4 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 00E38 808AF5B8 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020
/* 00E3C 808AF5BC 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 00E40 808AF5C0 240A0001 */ addiu $t2, $zero, 0x0001 ## $t2 = 00000001
/* 00E44 808AF5C4 240B0020 */ addiu $t3, $zero, 0x0020 ## $t3 = 00000020
/* 00E48 808AF5C8 240C0020 */ addiu $t4, $zero, 0x0020 ## $t4 = 00000020
/* 00E4C 808AF5CC 00103023 */ subu $a2, $zero, $s0
/* 00E50 808AF5D0 AFA60050 */ sw $a2, 0x0050($sp)
/* 00E54 808AF5D4 AFAC0028 */ sw $t4, 0x0028($sp)
/* 00E58 808AF5D8 AFAB0024 */ sw $t3, 0x0024($sp)
/* 00E5C 808AF5DC AFAA0018 */ sw $t2, 0x0018($sp)
/* 00E60 808AF5E0 AFA90014 */ sw $t1, 0x0014($sp)
/* 00E64 808AF5E4 AFA80010 */ sw $t0, 0x0010($sp)
/* 00E68 808AF5E8 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00E6C 808AF5EC AFA20064 */ sw $v0, 0x0064($sp)
/* 00E70 808AF5F0 AFB00020 */ sw $s0, 0x0020($sp)
/* 00E74 808AF5F4 AFB0001C */ sw $s0, 0x001C($sp)
/* 00E78 808AF5F8 0C0253D0 */ jal Gfx_TwoTexScroll
/* 00E7C 808AF5FC 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
/* 00E80 808AF600 8FA30064 */ lw $v1, 0x0064($sp)
/* 00E84 808AF604 8FA60050 */ lw $a2, 0x0050($sp)
/* 00E88 808AF608 3C0EDB06 */ lui $t6, 0xDB06 ## $t6 = DB060000
/* 00E8C 808AF60C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00E90 808AF610 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 00E94 808AF614 35CE0024 */ ori $t6, $t6, 0x0024 ## $t6 = DB060024
/* 00E98 808AF618 00103880 */ sll $a3, $s0, 2
/* 00E9C 808AF61C 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
/* 00EA0 808AF620 AE2D02D0 */ sw $t5, 0x02D0($s1) ## 000002D0
/* 00EA4 808AF624 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
/* 00EA8 808AF628 8E440000 */ lw $a0, 0x0000($s2) ## 00000000
/* 00EAC 808AF62C 00F03823 */ subu $a3, $a3, $s0
/* 00EB0 808AF630 00073840 */ sll $a3, $a3, 1
/* 00EB4 808AF634 240F0020 */ addiu $t7, $zero, 0x0020 ## $t7 = 00000020
/* 00EB8 808AF638 24180020 */ addiu $t8, $zero, 0x0020 ## $t8 = 00000020
/* 00EBC 808AF63C 24190001 */ addiu $t9, $zero, 0x0001 ## $t9 = 00000001
/* 00EC0 808AF640 24080020 */ addiu $t0, $zero, 0x0020 ## $t0 = 00000020
/* 00EC4 808AF644 24090020 */ addiu $t1, $zero, 0x0020 ## $t1 = 00000020
/* 00EC8 808AF648 AFA90028 */ sw $t1, 0x0028($sp)
/* 00ECC 808AF64C AFA80024 */ sw $t0, 0x0024($sp)
/* 00ED0 808AF650 AFB90018 */ sw $t9, 0x0018($sp)
/* 00ED4 808AF654 AFB80014 */ sw $t8, 0x0014($sp)
/* 00ED8 808AF658 AFAF0010 */ sw $t7, 0x0010($sp)
/* 00EDC 808AF65C AFA70020 */ sw $a3, 0x0020($sp)
/* 00EE0 808AF660 AFB0001C */ sw $s0, 0x001C($sp)
/* 00EE4 808AF664 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 00EE8 808AF668 0C0253D0 */ jal Gfx_TwoTexScroll
/* 00EEC 808AF66C AFA20060 */ sw $v0, 0x0060($sp)
/* 00EF0 808AF670 8FA30060 */ lw $v1, 0x0060($sp)
/* 00EF4 808AF674 3C0BFB00 */ lui $t3, 0xFB00 ## $t3 = FB000000
/* 00EF8 808AF678 240CFF80 */ addiu $t4, $zero, 0xFF80 ## $t4 = FFFFFF80
/* 00EFC 808AF67C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
/* 00F00 808AF680 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 00F04 808AF684 3C01C42A */ lui $at, 0xC42A ## $at = C42A0000
/* 00F08 808AF688 44813000 */ mtc1 $at, $f6 ## $f6 = -680.00
/* 00F0C 808AF68C 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
/* 00F10 808AF690 AE2A02D0 */ sw $t2, 0x02D0($s1) ## 000002D0
/* 00F14 808AF694 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
/* 00F18 808AF698 AC4B0000 */ sw $t3, 0x0000($v0) ## 00000000
/* 00F1C 808AF69C 8FAD0088 */ lw $t5, 0x0088($sp)
/* 00F20 808AF6A0 3C06808B */ lui $a2, %hi(D_808AF9CC) ## $a2 = 808B0000
/* 00F24 808AF6A4 3C0E8016 */ lui $t6, %hi(gSaveContext+0x1360)
/* 00F28 808AF6A8 C5A4016C */ lwc1 $f4, 0x016C($t5) ## 0000016C
/* 00F2C 808AF6AC 3C09DE00 */ lui $t1, 0xDE00 ## $t1 = DE000000
/* 00F30 808AF6B0 24C6F9CC */ addiu $a2, $a2, %lo(D_808AF9CC) ## $a2 = 808AF9CC
/* 00F34 808AF6B4 4606203C */ c.lt.s $f4, $f6
/* 00F38 808AF6B8 27A4006C */ addiu $a0, $sp, 0x006C ## $a0 = FFFFFFE4
/* 00F3C 808AF6BC 2407036F */ addiu $a3, $zero, 0x036F ## $a3 = 0000036F
/* 00F40 808AF6C0 4502000F */ bc1fl .L808AF700
/* 00F44 808AF6C4 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 00F48 808AF6C8 8DCEF9C0 */ lw $t6, %lo(gSaveContext+0x1360)($t6)
/* 00F4C 808AF6CC 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
/* 00F50 808AF6D0 29C10004 */ slti $at, $t6, 0x0004
/* 00F54 808AF6D4 5020000A */ beql $at, $zero, .L808AF700
/* 00F58 808AF6D8 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 00F5C 808AF6DC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
/* 00F60 808AF6E0 3C190600 */ lui $t9, %hi(D_06000120) ## $t9 = 06000000
/* 00F64 808AF6E4 27390120 */ addiu $t9, $t9, %lo(D_06000120) ## $t9 = 06000120
/* 00F68 808AF6E8 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
/* 00F6C 808AF6EC AE2F02D0 */ sw $t7, 0x02D0($s1) ## 000002D0
/* 00F70 808AF6F0 AC590004 */ sw $t9, 0x0004($v0) ## 00000004
/* 00F74 808AF6F4 10000008 */ beq $zero, $zero, .L808AF718
/* 00F78 808AF6F8 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
/* 00F7C 808AF6FC 8E2202D0 */ lw $v0, 0x02D0($s1) ## 000002D0
.L808AF700:
/* 00F80 808AF700 3C0A0600 */ lui $t2, %hi(D_06000470) ## $t2 = 06000000
/* 00F84 808AF704 254A0470 */ addiu $t2, $t2, %lo(D_06000470) ## $t2 = 06000470
/* 00F88 808AF708 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
/* 00F8C 808AF70C AE2802D0 */ sw $t0, 0x02D0($s1) ## 000002D0
/* 00F90 808AF710 AC4A0004 */ sw $t2, 0x0004($v0) ## 00000004
/* 00F94 808AF714 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
.L808AF718:
/* 00F98 808AF718 0C031AD5 */ jal Graph_CloseDisps
/* 00F9C 808AF71C 8E450000 */ lw $a1, 0x0000($s2) ## 00000000
/* 00FA0 808AF720 8FBF0044 */ lw $ra, 0x0044($sp)
/* 00FA4 808AF724 8FB00038 */ lw $s0, 0x0038($sp)
/* 00FA8 808AF728 8FB1003C */ lw $s1, 0x003C($sp)
/* 00FAC 808AF72C 8FB20040 */ lw $s2, 0x0040($sp)
/* 00FB0 808AF730 03E00008 */ jr $ra
/* 00FB4 808AF734 27BD0088 */ addiu $sp, $sp, 0x0088 ## $sp = 00000000

View File

@ -1,12 +0,0 @@
glabel func_808AF7FC
/* 0107C 808AF7FC 3C0E8016 */ lui $t6, %hi(gSaveContext+0xee0)
/* 01080 808AF800 95CEF540 */ lhu $t6, %lo(gSaveContext+0xee0)($t6)
/* 01084 808AF804 3C18808B */ lui $t8, %hi(func_808AF824) ## $t8 = 808B0000
/* 01088 808AF808 AFA50004 */ sw $a1, 0x0004($sp)
/* 0108C 808AF80C 31CF0200 */ andi $t7, $t6, 0x0200 ## $t7 = 00000000
/* 01090 808AF810 11E00002 */ beq $t7, $zero, .L808AF81C
/* 01094 808AF814 2718F824 */ addiu $t8, $t8, %lo(func_808AF824) ## $t8 = 808AF824
/* 01098 808AF818 AC980164 */ sw $t8, 0x0164($a0) ## 00000164
.L808AF81C:
/* 0109C 808AF81C 03E00008 */ jr $ra
/* 010A0 808AF820 00000000 */ nop

View File

@ -1,72 +0,0 @@
.late_rodata
glabel D_808AFA38
.word 0xC4A42000
glabel D_808AFA3C
.word 0x38D1B717
glabel D_808AFA40
.float 0.001
.text
glabel func_808AF824
/* 010A4 808AF824 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
/* 010A8 808AF828 AFBF0024 */ sw $ra, 0x0024($sp)
/* 010AC 808AF82C AFB00020 */ sw $s0, 0x0020($sp)
/* 010B0 808AF830 AFA5002C */ sw $a1, 0x002C($sp)
/* 010B4 808AF834 3C01808B */ lui $at, %hi(D_808AFA38) ## $at = 808B0000
/* 010B8 808AF838 C422FA38 */ lwc1 $f2, %lo(D_808AFA38)($at)
/* 010BC 808AF83C C480016C */ lwc1 $f0, 0x016C($a0) ## 0000016C
/* 010C0 808AF840 3C01808B */ lui $at, %hi(D_808AFA3C) ## $at = 808B0000
/* 010C4 808AF844 3C0E808B */ lui $t6, %hi(func_808AEE00) ## $t6 = 808B0000
/* 010C8 808AF848 46020100 */ add.s $f4, $f0, $f2
/* 010CC 808AF84C 3C063DCC */ lui $a2, 0x3DCC ## $a2 = 3DCC0000
/* 010D0 808AF850 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
/* 010D4 808AF854 25CEEE00 */ addiu $t6, $t6, %lo(func_808AEE00) ## $t6 = 808AEE00
/* 010D8 808AF858 E4840028 */ swc1 $f4, 0x0028($a0) ## 00000028
/* 010DC 808AF85C C426FA3C */ lwc1 $f6, %lo(D_808AFA3C)($at)
/* 010E0 808AF860 3C013F80 */ lui $at, 0x3F80 ## $at = 3F800000
/* 010E4 808AF864 34C6CCCD */ ori $a2, $a2, 0xCCCD ## $a2 = 3DCCCCCD
/* 010E8 808AF868 4600303E */ c.le.s $f6, $f0
/* 010EC 808AF86C 00000000 */ nop
/* 010F0 808AF870 45020005 */ bc1fl .L808AF888
/* 010F4 808AF874 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
/* 010F8 808AF878 E4820028 */ swc1 $f2, 0x0028($a0) ## 00000028
/* 010FC 808AF87C 1000001C */ beq $zero, $zero, .L808AF8F0
/* 01100 808AF880 AC8E0164 */ sw $t6, 0x0164($a0) ## 00000164
/* 01104 808AF884 44810000 */ mtc1 $at, $f0 ## $f0 = 1.00
.L808AF888:
/* 01108 808AF888 3C01808B */ lui $at, %hi(D_808AFA40) ## $at = 808B0000
/* 0110C 808AF88C C428FA40 */ lwc1 $f8, %lo(D_808AFA40)($at)
/* 01110 808AF890 44050000 */ mfc1 $a1, $f0
/* 01114 808AF894 44070000 */ mfc1 $a3, $f0
/* 01118 808AF898 2604016C */ addiu $a0, $s0, 0x016C ## $a0 = 0000016C
/* 0111C 808AF89C 0C01E0C4 */ jal Math_SmoothStepToF
/* 01120 808AF8A0 E7A80010 */ swc1 $f8, 0x0010($sp)
/* 01124 808AF8A4 8FA2002C */ lw $v0, 0x002C($sp)
/* 01128 808AF8A8 240FFB57 */ addiu $t7, $zero, 0xFB57 ## $t7 = FFFFFB57
/* 0112C 808AF8AC 8C5807C0 */ lw $t8, 0x07C0($v0) ## 000007C0
/* 01130 808AF8B0 8F190028 */ lw $t9, 0x0028($t8) ## 00000028
/* 01134 808AF8B4 A72F0012 */ sh $t7, 0x0012($t9) ## 00000012
/* 01138 808AF8B8 C60A0028 */ lwc1 $f10, 0x0028($s0) ## 00000028
/* 0113C 808AF8BC 8C4A07C0 */ lw $t2, 0x07C0($v0) ## 000007C0
/* 01140 808AF8C0 4600540D */ trunc.w.s $f16, $f10
/* 01144 808AF8C4 8D4B0028 */ lw $t3, 0x0028($t2) ## 00000028
/* 01148 808AF8C8 44098000 */ mfc1 $t1, $f16
/* 0114C 808AF8CC 00000000 */ nop
/* 01150 808AF8D0 A5690022 */ sh $t1, 0x0022($t3) ## 00000022
/* 01154 808AF8D4 C6120028 */ lwc1 $f18, 0x0028($s0) ## 00000028
/* 01158 808AF8D8 8C4E07C0 */ lw $t6, 0x07C0($v0) ## 000007C0
/* 0115C 808AF8DC 4600910D */ trunc.w.s $f4, $f18
/* 01160 808AF8E0 8DD80028 */ lw $t8, 0x0028($t6) ## 00000028
/* 01164 808AF8E4 440D2000 */ mfc1 $t5, $f4
/* 01168 808AF8E8 00000000 */ nop
/* 0116C 808AF8EC A70D0032 */ sh $t5, 0x0032($t8) ## 00000032
.L808AF8F0:
/* 01170 808AF8F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 01174 808AF8F4 0C00BE52 */ jal func_8002F948
/* 01178 808AF8F8 2405205E */ addiu $a1, $zero, 0x205E ## $a1 = 0000205E
/* 0117C 808AF8FC 8FBF0024 */ lw $ra, 0x0024($sp)
/* 01180 808AF900 8FB00020 */ lw $s0, 0x0020($sp)
/* 01184 808AF904 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
/* 01188 808AF908 03E00008 */ jr $ra
/* 0118C 808AF90C 00000000 */ nop

View File

@ -1,27 +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 Bg_Spot06_Objects_InitVars
.word 0x00D50600, 0x00000200, 0x006A0000, 0x000001D0
.word BgSpot06Objects_Init
.word BgSpot06Objects_Destroy
.word BgSpot06Objects_Update
.word BgSpot06Objects_Draw
glabel D_808AF930
.word 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000000, 0x00050100, 0x01000000, 0x0000FF60, 0x00120064
glabel D_808AF954
.word 0x0A000939, 0x20000000, 0x00000001
.word D_808AF930
glabel D_808AF964
.word 0x48500064
glabel D_808AF968
.word 0x485003E8, 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_808AFA50
.incbin "baserom/ovl_Bg_Spot06_Objects", 0x12D0, 0x000001E0

3
spec
View File

@ -1194,8 +1194,7 @@ endseg
beginseg
name "ovl_Bg_Spot06_Objects"
include "build/src/overlays/actors/ovl_Bg_Spot06_Objects/z_bg_spot06_objects.o"
include "build/data/overlays/actors/z_bg_spot06_objects.data.o"
include "build/data/overlays/actors/z_bg_spot06_objects.reloc.o"
include "build/src/overlays/actors/ovl_Bg_Spot06_Objects/ovl_Bg_Spot06_Objects_reloc.o"
endseg
beginseg

View File

@ -1,23 +1,58 @@
/*
* File: z_bg_spot06_objects.c
* Overlay: ovl_Bg_Spot06_Objects
* Description: Lake Hylia Objects
*/
#include "z_bg_spot06_objects.h"
#define FLAGS 0x00000200
#define THIS ((BgSpot06Objects*)thisx)
typedef enum {
/* 0x0 */ LHO_WATER_TEMPLE_ENTRACE_GATE,
/* 0x1 */ LHO_WATER_TEMPLE_ENTRANCE_LOCK,
/* 0x2 */ LHO_WATER_PLANE,
/* 0x3 */ LHO_ICE_BLOCK
} LakeHyliaObjectsType;
typedef enum {
/* 0x0 */ LHWB_GERUDO_VALLEY_RIVER_UPPER, // entrance from Gerudo Valley
/* 0x1 */ LHWB_GERUDO_VALLEY_RIVER_LOWER, // river flowing from Gerudo Valley
/* 0x2 */ LHWB_MAIN_1, // main water box
/* 0x3 */ LHWB_MAIN_2 // extension of main water box
} LakeHyliaWaterBoxIndices;
// Lake Hylia water plane levels
#define WATER_LEVEL_RAISED (-1313)
#define WATER_LEVEL_RIVER_RAISED (WATER_LEVEL_RAISED + 200)
#define WATER_LEVEL_LOWERED (WATER_LEVEL_RAISED - 680)
#define WATER_LEVEL_RIVER_LOWERED (WATER_LEVEL_RIVER_RAISED - 80)
void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx);
void BgSpot06Objects_Destroy(Actor* thisx, GlobalContext* globalCtx);
void BgSpot06Objects_Update(Actor* thisx, GlobalContext* globalCtx);
void BgSpot06Objects_Draw(Actor* thisx, GlobalContext* globalCtx);
void BgSpot06Objects_GateWaitForSwitch(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_GateWaitToOpen(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_GateOpen(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_DoNothing(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_LockWait(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_LockPullOutward(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_LockSwimToSurface(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_LockFloat(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_WaterPlaneCutsceneWait(BgSpot06Objects* this, GlobalContext* globalCtx);
void BgSpot06Objects_WaterPlaneCutsceneRise(BgSpot06Objects* this, GlobalContext* globalCtx);
extern UNK_TYPE D_06000120;
extern UNK_TYPE D_06000470;
extern UNK_TYPE D_06000E10;
extern UNK_TYPE D_06000EE8;
extern UNK_TYPE D_06001160;
extern UNK_TYPE D_06001238;
extern UNK_TYPE D_06002490;
extern Gfx D_06000120[]; // Lake Hylia lowered water
extern Gfx D_06000470[]; // Lake Hylia raised water
extern Gfx D_06000E10[]; // Water Temple entrance gate
extern CollisionHeader D_06000EE8; // Water Temple entrance gate collision
extern Gfx D_06001160[]; // Zora's Domain entrance block of ice
extern CollisionHeader D_06001238; // Zora's Domain entrance block of ice collision
extern Gfx D_06002490[]; // Water Temple entrance lock
/*
const ActorInit Bg_Spot06_Objects_InitVars = {
ACTOR_BG_SPOT06_OBJECTS,
ACTORCAT_PROP,
@ -30,7 +65,7 @@ const ActorInit Bg_Spot06_Objects_InitVars = {
(ActorFunc)BgSpot06Objects_Draw,
};
static ColliderJntSphElementInit D_808AF930[1] = {
static ColliderJntSphElementInit sJntSphItemsInit[1] = {
{
{
ELEMTYPE_UNK0,
@ -44,7 +79,7 @@ static ColliderJntSphElementInit D_808AF930[1] = {
},
};
static ColliderJntSphInit D_808AF954 = {
static ColliderJntSphInit sJntSphInit = {
{
COLTYPE_NONE,
AT_NONE,
@ -54,41 +89,429 @@ static ColliderJntSphInit D_808AF954 = {
COLSHAPE_JNTSPH,
},
1,
D_808AF930,
sJntSphItemsInit,
};
*/
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Init.s")
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Destroy.s")
static InitChainEntry sInitChain[] = {
ICHAIN_VEC3F_DIV1000(scale, 100, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEBC0.s")
static InitChainEntry sInitChainWaterPlane[] = {
ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP),
};
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AECB4.s")
void BgSpot06Objects_Init(Actor* thisx, GlobalContext* globalCtx) {
BgSpot06Objects* this = THIS;
s32 pad;
CollisionHeader* colHeader = NULL;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED48.s")
this->switchFlag = thisx->params & 0xFF;
thisx->params = (thisx->params >> 8) & 0xFF;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AED7C.s")
osSyncPrintf("spot06 obj nthisx->arg_data=[%d]", thisx->params);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE00.s")
switch (thisx->params) {
case LHO_WATER_TEMPLE_ENTRACE_GATE:
Actor_ProcessInitChain(thisx, sInitChain);
DynaPolyActor_Init(thisx, DPM_UNK);
CollisionHeader_GetVirtual(&D_06000EE8, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE0C.s")
if (LINK_IS_ADULT && Flags_GetSwitch(globalCtx, this->switchFlag)) {
thisx->world.pos.y = thisx->home.pos.y + 120.0f;
this->actionFunc = BgSpot06Objects_DoNothing;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEE6C.s")
} else {
this->actionFunc = BgSpot06Objects_GateWaitForSwitch;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AEEFC.s")
break;
case LHO_WATER_TEMPLE_ENTRANCE_LOCK:
Actor_ProcessInitChain(thisx, sInitChain);
Collider_InitJntSph(globalCtx, &this->collider);
Collider_SetJntSph(globalCtx, &this->collider, thisx, &sJntSphInit, &this->colliderItem);
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF120.s")
if (LINK_IS_ADULT && Flags_GetSwitch(globalCtx, this->switchFlag)) {
if (!(gSaveContext.eventChkInf[6] & 0x200)) {
thisx->home.pos.y = thisx->world.pos.y = WATER_LEVEL_LOWERED;
} else {
thisx->home.pos.y = thisx->world.pos.y = WATER_LEVEL_RAISED;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF1D8.s")
this->actionFunc = BgSpot06Objects_LockFloat;
thisx->world.pos.z -= 100.0f;
thisx->home.pos.z = thisx->world.pos.z + 16.0f;
this->collider.elements[0].dim.worldSphere.radius =
this->collider.elements[0].dim.modelSphere.radius * 2;
this->collider.elements[0].dim.worldSphere.center.z = thisx->world.pos.z + 16.0f;
} else {
this->actionFunc = BgSpot06Objects_LockWait;
this->collider.elements[0].dim.worldSphere.radius = this->collider.elements[0].dim.modelSphere.radius;
this->collider.elements[0].dim.worldSphere.center.z = thisx->world.pos.z;
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF450.s")
this->collider.elements[0].dim.worldSphere.center.x = thisx->world.pos.x;
this->collider.elements[0].dim.worldSphere.center.y = thisx->world.pos.y;
thisx->colChkInfo.mass = MASS_IMMOVABLE;
break;
case LHO_WATER_PLANE:
Actor_ProcessInitChain(thisx, sInitChainWaterPlane);
thisx->flags = 0x30;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Update.s")
if (LINK_IS_ADULT && !(gSaveContext.eventChkInf[6] & 0x200)) {
if (gSaveContext.sceneSetupIndex < 4) {
this->lakeHyliaWaterLevel = -681.0f;
globalCtx->colCtx.colHeader->waterBoxes[LHWB_GERUDO_VALLEY_RIVER_LOWER].ySurface =
WATER_LEVEL_RIVER_LOWERED;
globalCtx->colCtx.colHeader->waterBoxes[LHWB_GERUDO_VALLEY_RIVER_LOWER].zMin -= 50;
globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_1].ySurface = WATER_LEVEL_LOWERED;
globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_2].ySurface = WATER_LEVEL_LOWERED;
this->actionFunc = BgSpot06Objects_DoNothing;
} else {
thisx->world.pos.y = this->lakeHyliaWaterLevel = -681.0f;
thisx->world.pos.y += WATER_LEVEL_RAISED;
this->actionFunc = BgSpot06Objects_WaterPlaneCutsceneWait;
}
} else {
this->lakeHyliaWaterLevel = 0.0f;
this->actionFunc = BgSpot06Objects_DoNothing;
}
break;
case LHO_ICE_BLOCK:
Actor_ProcessInitChain(thisx, sInitChain);
DynaPolyActor_Init(thisx, DPM_UNK);
CollisionHeader_GetVirtual(&D_06001238, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, thisx, colHeader);
this->actionFunc = BgSpot06Objects_DoNothing;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF524.s")
if (LINK_IS_CHILD) {
Actor_Kill(thisx);
}
break;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/BgSpot06Objects_Draw.s")
void BgSpot06Objects_Destroy(Actor* thisx, GlobalContext* globalCtx) {
BgSpot06Objects* this = THIS;
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF7FC.s")
switch (this->dyna.actor.params) {
case LHO_WATER_TEMPLE_ENTRACE_GATE:
case LHO_ICE_BLOCK:
DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, this->dyna.bgId);
break;
case LHO_WATER_TEMPLE_ENTRANCE_LOCK:
Collider_DestroyJntSph(globalCtx, &this->collider.base);
break;
case LHO_WATER_PLANE:
break;
}
}
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Spot06_Objects/func_808AF824.s")
/**
* Water Temple entrance gate effect functions
*/
void BgSpot06Objects_GateSpawnBubbles(BgSpot06Objects* this, GlobalContext* globalCtx) {
Vec3f sp34;
f32 tmp;
if ((globalCtx->gameplayFrames % 3) == 0) {
tmp = Rand_CenteredFloat(160.0f);
sp34.x = (Math_SinS(this->dyna.actor.shape.rot.y + 0x4000) * tmp) + this->dyna.actor.world.pos.x;
sp34.y = this->dyna.actor.world.pos.y;
sp34.z = (Math_CosS(this->dyna.actor.shape.rot.y + 0x4000) * tmp) + this->dyna.actor.world.pos.z;
EffectSsBubble_Spawn(globalCtx, &sp34.x, 50.0f, 70.0f, 10.0f, (Rand_ZeroOne() * 0.05f) + 0.175f);
}
}
/**
* This is where the gate waits for the switch to be set by the fish shaped lock.
*/
void BgSpot06Objects_GateWaitForSwitch(BgSpot06Objects* this, GlobalContext* globalCtx) {
s32 i;
if (Flags_GetSwitch(globalCtx, this->switchFlag)) {
this->timer = 100;
this->dyna.actor.world.pos.y += 3.0f;
this->actionFunc = BgSpot06Objects_GateWaitToOpen;
for (i = 0; i < 15; i++) {
BgSpot06Objects_GateSpawnBubbles(this, globalCtx);
}
}
}
/**
* This is where the gate waits a few frames before rising after the switch is set.
*/
void BgSpot06Objects_GateWaitToOpen(BgSpot06Objects* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
if (this->timer == 0) {
this->actionFunc = BgSpot06Objects_GateOpen;
}
}
/**
* This is where the gate finally rises upward.
*/
void BgSpot06Objects_GateOpen(BgSpot06Objects* this, GlobalContext* globalCtx) {
BgSpot06Objects_GateSpawnBubbles(this, globalCtx);
if (Math_StepToF(&this->dyna.actor.world.pos.y, this->dyna.actor.home.pos.y + 120.0f, 0.6f)) {
this->actionFunc = BgSpot06Objects_DoNothing;
this->timer = 0;
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_METALDOOR_STOP);
} else {
func_8002F974(&this->dyna.actor, NA_SE_EV_METALDOOR_SLIDE - SFX_FLAG);
}
}
void BgSpot06Objects_DoNothing(BgSpot06Objects* this, GlobalContext* globalCtx) {
}
/**
* Fish shaped lock effect functions
*/
void BgSpot06Objects_LockSpawnWaterRipples(BgSpot06Objects* this, GlobalContext* globalCtx, s32 flag) {
if (flag || !(globalCtx->gameplayFrames % 7)) {
EffectSsGRipple_Spawn(globalCtx, &this->dyna.actor.home, 300, 700, 0);
}
}
void BgSpot06Objects_LockSpawnBubbles(BgSpot06Objects* this, GlobalContext* globalCtx, s32 flag) {
if (!(globalCtx->gameplayFrames % 7) || flag) {
EffectSsBubble_Spawn(globalCtx, &this->dyna.actor.world, 0.0f, 40.0f, 30.0f, (Rand_ZeroOne() * 0.05f) + 0.175f);
}
}
/**
* This is where the fish shaped lock waits to be pulled out by the hookshot. Once it does it will spawn bubbles.
*/
void BgSpot06Objects_LockWait(BgSpot06Objects* this, GlobalContext* globalCtx) {
s32 pad;
s32 i;
s32 pad2;
Vec3f effectPos;
f32 sin;
f32 cos;
if (this->collider.base.acFlags & 2) {
this->timer = 130;
this->dyna.actor.flags |= 0x10;
sin = Math_SinS(this->dyna.actor.world.rot.y);
cos = Math_CosS(this->dyna.actor.world.rot.y);
this->dyna.actor.world.pos.x += (3.0f * sin);
this->dyna.actor.world.pos.z += (3.0f * cos);
for (i = 0; i < 20; i++) {
BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 1);
}
effectPos.x = this->dyna.actor.world.pos.x + (5.0f * sin);
effectPos.y = this->dyna.actor.world.pos.y;
effectPos.z = this->dyna.actor.world.pos.z + (5.0f * cos);
for (i = 0; i < 3; i++) {
EffectSsBubble_Spawn(globalCtx, &effectPos, 0.0f, 20.0f, 20.0f, (Rand_ZeroOne() * 0.1f) + 0.7f);
}
EffectSsGSplash_Spawn(globalCtx, &this->dyna.actor.world, NULL, NULL, 1, 700);
this->collider.elements->dim.worldSphere.radius = 45;
this->actionFunc = BgSpot06Objects_LockPullOutward;
Audio_PlaySoundGeneral(NA_SE_SY_CORRECT_CHIME, &D_801333D4, 4, &D_801333E0, &D_801333E0, &D_801333E8);
Flags_SetSwitch(globalCtx, this->switchFlag);
func_800800F8(globalCtx, 0x1018, 170, &this->dyna.actor, 0);
} else {
CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider);
}
}
/**
* Once the fish shaped lock is pulled out from the Hookshot it will move outward.
*/
void BgSpot06Objects_LockPullOutward(BgSpot06Objects* this, GlobalContext* globalCtx) {
if (this->timer != 0) {
this->timer--;
}
this->dyna.actor.world.pos.x += (0.3f * Math_SinS(this->dyna.actor.world.rot.y));
this->dyna.actor.world.pos.z += (0.3f * Math_CosS(this->dyna.actor.world.rot.y));
BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 0);
if (this->timer == 0) {
this->dyna.actor.velocity.y = 0.5f;
this->dyna.actor.flags &= ~0x2000;
this->actionFunc = BgSpot06Objects_LockSwimToSurface;
}
}
/**
* After being pulled all the way out the fish shaped lock will rise to the surface, creating bubbles in the water as it
* does so.
*/
void BgSpot06Objects_LockSwimToSurface(BgSpot06Objects* this, GlobalContext* globalCtx) {
f32 cos;
f32 pad;
this->dyna.actor.world.pos.y += this->dyna.actor.velocity.y;
if (this->dyna.actor.velocity.y <= 0.0f) {
cos = Math_CosS(this->dyna.actor.shape.rot.x) * 4.3f;
this->dyna.actor.world.pos.x += (cos * Math_SinS(this->dyna.actor.shape.rot.y));
this->dyna.actor.world.pos.z += (cos * Math_CosS(this->dyna.actor.shape.rot.y));
this->dyna.actor.world.pos.y = this->dyna.actor.world.pos.y - 1.3f;
BgSpot06Objects_LockSpawnWaterRipples(this, globalCtx, 0);
if (Math_ScaledStepToS(&this->dyna.actor.shape, 0, 0x260) != 0) {
this->dyna.actor.home.pos.x =
this->dyna.actor.world.pos.x - (Math_SinS(this->dyna.actor.shape.rot.y) * 16.0f);
this->dyna.actor.home.pos.z =
this->dyna.actor.world.pos.z - (Math_CosS(this->dyna.actor.shape.rot.y) * 16.0f);
this->dyna.actor.world.pos.y = -1993.0f;
this->timer = 32;
this->dyna.actor.flags &= ~0x10;
this->collider.elements[0].dim.worldSphere.radius = this->collider.elements[0].dim.modelSphere.radius * 2;
this->actionFunc = BgSpot06Objects_LockFloat;
}
} else {
if (this->dyna.actor.world.pos.y >= -1973.0f) {
this->dyna.actor.velocity.y = 0.0f;
BgSpot06Objects_LockSpawnWaterRipples(this, globalCtx, 1);
EffectSsGSplash_Spawn(globalCtx, &this->dyna.actor.home, NULL, NULL, 1, 700);
} else if (this->dyna.actor.shape.rot.x == -0x4000) {
this->dyna.actor.velocity.y += 0.02f;
this->dyna.actor.world.pos.x = Rand_CenteredFloat(1.0f) + this->dyna.actor.home.pos.x;
this->dyna.actor.world.pos.z = Rand_CenteredFloat(1.0f) + this->dyna.actor.home.pos.z;
this->dyna.actor.velocity.y =
(this->dyna.actor.velocity.y > 10.0f) ? (10.0f) : (this->dyna.actor.velocity.y);
BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 0);
} else {
BgSpot06Objects_LockSpawnBubbles(this, globalCtx, 0);
if (Math_ScaledStepToS(&this->dyna.actor.shape.rot.x, -0x4000, 0x30)) {
this->dyna.actor.home.pos.x = this->dyna.actor.world.pos.x;
this->dyna.actor.home.pos.y = -1993.0f;
this->dyna.actor.home.pos.z = this->dyna.actor.world.pos.z;
}
}
}
}
/**
* Once the fish shaped lock finishes rising to the surface it will float and create ripples in the water every few
* frames.
*/
void BgSpot06Objects_LockFloat(BgSpot06Objects* this, GlobalContext* globalCtx) {
BgSpot06Objects_LockSpawnWaterRipples(this, globalCtx, 0);
if (this->timer != 0) {
this->timer--;
}
this->dyna.actor.world.pos.y = (2.0f * sinf(this->timer * (M_PI / 16.0f))) + this->dyna.actor.home.pos.y;
if (this->timer == 0) {
this->timer = 32;
}
}
void BgSpot06Objects_Update(Actor* thisx, GlobalContext* globalCtx) {
BgSpot06Objects* this = THIS;
this->actionFunc(this, globalCtx);
if (thisx->params == LHO_WATER_TEMPLE_ENTRANCE_LOCK) {
CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base);
}
}
/**
* Draw the Lake Hylia water plane, and scroll its texture
*/
void BgSpot06Objects_DrawLakeHyliaWater(BgSpot06Objects* this, GlobalContext* globalCtx) {
s32 pad;
s32 gameplayFrames;
OPEN_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot06_objects.c", 844);
func_80093D84(globalCtx->state.gfxCtx);
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_spot06_objects.c", 850),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gameplayFrames = globalCtx->state.frames;
gSPSegment(POLY_XLU_DISP++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -gameplayFrames, gameplayFrames, 32, 32, 1, gameplayFrames,
gameplayFrames, 32, 32));
gSPSegment(POLY_XLU_DISP++, 0x09,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, -gameplayFrames, gameplayFrames * 6, 32, 32, 1,
gameplayFrames, gameplayFrames * 6, 32, 32));
gDPSetEnvColor(POLY_XLU_DISP++, 255, 255, 255, 128);
if ((this->lakeHyliaWaterLevel < -680.0f) && (gSaveContext.sceneSetupIndex < 4)) {
gSPDisplayList(POLY_XLU_DISP++, D_06000120);
} else {
gSPDisplayList(POLY_XLU_DISP++, D_06000470);
}
CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_bg_spot06_objects.c", 879);
}
void BgSpot06Objects_Draw(Actor* thisx, GlobalContext* globalCtx) {
BgSpot06Objects* this = THIS;
switch (this->dyna.actor.params) {
case LHO_WATER_TEMPLE_ENTRACE_GATE:
Gfx_DrawDListOpa(globalCtx, D_06000E10);
break;
case LHO_WATER_TEMPLE_ENTRANCE_LOCK:
Gfx_DrawDListOpa(globalCtx, D_06002490);
if (this->actionFunc == BgSpot06Objects_LockSwimToSurface) {
Collider_UpdateSpheres(1, &this->collider);
}
break;
case LHO_WATER_PLANE:
BgSpot06Objects_DrawLakeHyliaWater(this, globalCtx);
break;
case LHO_ICE_BLOCK:
Gfx_DrawDListOpa(globalCtx, D_06001160);
break;
}
}
/**
* This is where the Lake Hylia water plane waits for the cutscene to set the water risen flag after the Water Temple is
* cleared.
*/
void BgSpot06Objects_WaterPlaneCutsceneWait(BgSpot06Objects* this, GlobalContext* globalCtx) {
if (gSaveContext.eventChkInf[6] & 0x200) {
this->actionFunc = BgSpot06Objects_WaterPlaneCutsceneRise;
}
}
/**
* This is where the Lake Hylia water plane rises in the cutscene after the Water Temple is cleared.
*/
void BgSpot06Objects_WaterPlaneCutsceneRise(BgSpot06Objects* this, GlobalContext* globalCtx) {
s32 pad;
this->dyna.actor.world.pos.y = this->lakeHyliaWaterLevel + WATER_LEVEL_RAISED;
if (this->lakeHyliaWaterLevel >= 0.0001f) {
this->dyna.actor.world.pos.y = WATER_LEVEL_RAISED;
this->actionFunc = BgSpot06Objects_DoNothing;
} else {
Math_SmoothStepToF(&this->lakeHyliaWaterLevel, 1.0f, 0.1f, 1.0f, 0.001f);
globalCtx->colCtx.colHeader->waterBoxes[LHWB_GERUDO_VALLEY_RIVER_LOWER].ySurface = WATER_LEVEL_RIVER_LOWERED;
globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_1].ySurface = this->dyna.actor.world.pos.y;
globalCtx->colCtx.colHeader->waterBoxes[LHWB_MAIN_2].ySurface = this->dyna.actor.world.pos.y;
}
func_8002F948(&this->dyna.actor, NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
}

View File

@ -6,9 +6,16 @@
struct BgSpot06Objects;
typedef void (*BgSpot06ObjectsActionFunc)(struct BgSpot06Objects*, GlobalContext*);
typedef struct BgSpot06Objects {
/* 0x0000 */ Actor actor;
/* 0x014C */ char unk_14C[0x84];
/* 0x0000 */ DynaPolyActor dyna;
/* 0x0164 */ BgSpot06ObjectsActionFunc actionFunc;
/* 0x0168 */ s16 switchFlag;
/* 0x016A */ s16 timer;
/* 0x016C */ f32 lakeHyliaWaterLevel;
/* 0x0170 */ ColliderJntSph collider;
/* 0x0190 */ ColliderJntSphElement colliderItem[1];
} BgSpot06Objects; // size = 0x01D0
extern const ActorInit Bg_Spot06_Objects_InitVars;

View File

@ -48,12 +48,8 @@ static ColliderCylinderInit D_80AA0420 = {
static u32 D_80AA044C[] = { 0x01000000, 0x00400000, 0x00800000 };
static u32 D_80AA0458[] = { 0x08000000, 0x02000000, 0x04000000 };
static u16 sSfxIds[] = {
NA_SE_IT_ROLLING_CUT_LV2,
NA_SE_IT_ROLLING_CUT_LV1,
NA_SE_IT_ROLLING_CUT_LV2,
NA_SE_IT_ROLLING_CUT_LV1
};
static u16 sSfxIds[] = { NA_SE_IT_ROLLING_CUT_LV2, NA_SE_IT_ROLLING_CUT_LV1, NA_SE_IT_ROLLING_CUT_LV2,
NA_SE_IT_ROLLING_CUT_LV1 };
extern Gfx D_04012570[];
extern Gfx D_04012690[];