mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-10 11:03:46 +00:00
ovl_Bg_Mori_Hineri OK (#279)
* bg_mori_hineri OK * added description and removed reloc * made suggested changes from fig * made suggested changes * Named a few functions in ovl_Bg_Mori_Hineri
This commit is contained in:
parent
5f3f065aa7
commit
e3afc9ab5c
17 changed files with 274 additions and 980 deletions
|
@ -1,14 +0,0 @@
|
|||
glabel BgMoriHineri_Destroy
|
||||
/* 001FC 808A39CC 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00200 808A39D0 AFA40018 */ sw $a0, 0x0018($sp)
|
||||
/* 00204 808A39D4 8FAE0018 */ lw $t6, 0x0018($sp)
|
||||
/* 00208 808A39D8 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0020C 808A39DC 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 00210 808A39E0 24A50810 */ addiu $a1, $a1, 0x0810 ## $a1 = 00000810
|
||||
/* 00214 808A39E4 0C00FB56 */ jal DynaPolyInfo_Free
|
||||
## DynaPolyInfo_delReserve
|
||||
/* 00218 808A39E8 8DC6014C */ lw $a2, 0x014C($t6) ## 0000014C
|
||||
/* 0021C 808A39EC 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00220 808A39F0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00224 808A39F4 03E00008 */ jr $ra
|
||||
/* 00228 808A39F8 00000000 */ nop
|
|
@ -1,153 +0,0 @@
|
|||
glabel BgMoriHineri_Init
|
||||
/* 00000 808A37D0 27BDFFC8 */ addiu $sp, $sp, 0xFFC8 ## $sp = FFFFFFC8
|
||||
/* 00004 808A37D4 AFA5003C */ sw $a1, 0x003C($sp)
|
||||
/* 00008 808A37D8 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 0000C 808A37DC AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00010 808A37E0 3C05808A */ lui $a1, %hi(D_808A4404) ## $a1 = 808A0000
|
||||
/* 00014 808A37E4 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00018 808A37E8 0C01E037 */ jal Actor_ProcessInitChain
|
||||
|
||||
/* 0001C 808A37EC 24A54404 */ addiu $a1, $a1, %lo(D_808A4404) ## $a1 = 808A4404
|
||||
/* 00020 808A37F0 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 00024 808A37F4 0C010D20 */ jal DynaPolyInfo_SetActorMove
|
||||
|
||||
/* 00028 808A37F8 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 0002C 808A37FC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00030 808A3800 304E4000 */ andi $t6, $v0, 0x4000 ## $t6 = 00000000
|
||||
/* 00034 808A3804 AFAE0028 */ sw $t6, 0x0028($sp)
|
||||
/* 00038 808A3808 11C00003 */ beq $t6, $zero, .L808A3818
|
||||
/* 0003C 808A380C 3046003F */ andi $a2, $v0, 0x003F ## $a2 = 00000000
|
||||
/* 00040 808A3810 1000000E */ beq $zero, $zero, .L808A384C
|
||||
/* 00044 808A3814 A206016B */ sb $a2, 0x016B($s0) ## 0000016B
|
||||
.L808A3818:
|
||||
/* 00048 808A3818 0002C203 */ sra $t8, $v0, 8
|
||||
/* 0004C 808A381C 3319003F */ andi $t9, $t8, 0x003F ## $t9 = 00000000
|
||||
/* 00050 808A3820 A219016B */ sb $t9, 0x016B($s0) ## 0000016B
|
||||
/* 00054 808A3824 8205016B */ lb $a1, 0x016B($s0) ## 0000016B
|
||||
/* 00058 808A3828 AFA6002C */ sw $a2, 0x002C($sp)
|
||||
/* 0005C 808A382C 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00060 808A3830 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00064 808A3834 10400004 */ beq $v0, $zero, .L808A3848
|
||||
/* 00068 808A3838 8FA6002C */ lw $a2, 0x002C($sp)
|
||||
/* 0006C 808A383C 24080001 */ addiu $t0, $zero, 0x0001 ## $t0 = 00000001
|
||||
/* 00070 808A3840 10000002 */ beq $zero, $zero, .L808A384C
|
||||
/* 00074 808A3844 A208016B */ sb $t0, 0x016B($s0) ## 0000016B
|
||||
.L808A3848:
|
||||
/* 00078 808A3848 A200016B */ sb $zero, 0x016B($s0) ## 0000016B
|
||||
.L808A384C:
|
||||
/* 0007C 808A384C 8609001C */ lh $t1, 0x001C($s0) ## 0000001C
|
||||
/* 00080 808A3850 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
|
||||
/* 00084 808A3854 312A8000 */ andi $t2, $t1, 0x8000 ## $t2 = 00000000
|
||||
/* 00088 808A3858 000A5B83 */ sra $t3, $t2, 14
|
||||
/* 0008C 808A385C A60B001C */ sh $t3, 0x001C($s0) ## 0000001C
|
||||
/* 00090 808A3860 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 00094 808A3864 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00098 808A3868 1040000B */ beq $v0, $zero, .L808A3898
|
||||
/* 0009C 808A386C 2405005C */ addiu $a1, $zero, 0x005C ## $a1 = 0000005C
|
||||
/* 000A0 808A3870 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 000A4 808A3874 240C0001 */ addiu $t4, $zero, 0x0001 ## $t4 = 00000001
|
||||
/* 000A8 808A3878 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 000AC 808A387C 14400003 */ bne $v0, $zero, .L808A388C
|
||||
/* 000B0 808A3880 00000000 */ nop
|
||||
/* 000B4 808A3884 10000004 */ beq $zero, $zero, .L808A3898
|
||||
/* 000B8 808A3888 A60C001C */ sh $t4, 0x001C($s0) ## 0000001C
|
||||
.L808A388C:
|
||||
/* 000BC 808A388C 14410002 */ bne $v0, $at, .L808A3898
|
||||
/* 000C0 808A3890 240D0003 */ addiu $t5, $zero, 0x0003 ## $t5 = 00000003
|
||||
/* 000C4 808A3894 A60D001C */ sh $t5, 0x001C($s0) ## 0000001C
|
||||
.L808A3898:
|
||||
/* 000C8 808A3898 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 000CC 808A389C 240EFFFF */ addiu $t6, $zero, 0xFFFF ## $t6 = FFFFFFFF
|
||||
/* 000D0 808A38A0 A20E016A */ sb $t6, 0x016A($s0) ## 0000016A
|
||||
/* 000D4 808A38A4 14400010 */ bne $v0, $zero, .L808A38E8
|
||||
/* 000D8 808A38A8 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 000DC 808A38AC 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 000E0 808A38B0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 000E4 808A38B4 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 000E8 808A38B8 00812021 */ addu $a0, $a0, $at
|
||||
/* 000EC 808A38BC 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 000F0 808A38C0 AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 000F4 808A38C4 A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
/* 000F8 808A38C8 8FAF0028 */ lw $t7, 0x0028($sp)
|
||||
/* 000FC 808A38CC 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00100 808A38D0 55E00023 */ bnel $t7, $zero, .L808A3960
|
||||
/* 00104 808A38D4 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
/* 00108 808A38D8 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 0010C 808A38DC 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E
|
||||
/* 00110 808A38E0 1000001E */ beq $zero, $zero, .L808A395C
|
||||
/* 00114 808A38E4 A202016A */ sb $v0, 0x016A($s0) ## 0000016A
|
||||
.L808A38E8:
|
||||
/* 00118 808A38E8 14410009 */ bne $v0, $at, .L808A3910
|
||||
/* 0011C 808A38EC 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00120 808A38F0 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00124 808A38F4 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00128 808A38F8 00812021 */ addu $a0, $a0, $at
|
||||
/* 0012C 808A38FC AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 00130 808A3900 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00134 808A3904 2405006F */ addiu $a1, $zero, 0x006F ## $a1 = 0000006F
|
||||
/* 00138 808A3908 10000014 */ beq $zero, $zero, .L808A395C
|
||||
/* 0013C 808A390C A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
.L808A3910:
|
||||
/* 00140 808A3910 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 00144 808A3914 1441000A */ bne $v0, $at, .L808A3940
|
||||
/* 00148 808A3918 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 0014C 808A391C 8FA4003C */ lw $a0, 0x003C($sp)
|
||||
/* 00150 808A3920 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00154 808A3924 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00158 808A3928 00812021 */ addu $a0, $a0, $at
|
||||
/* 0015C 808A392C AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 00160 808A3930 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00164 808A3934 24050070 */ addiu $a1, $zero, 0x0070 ## $a1 = 00000070
|
||||
/* 00168 808A3938 10000008 */ beq $zero, $zero, .L808A395C
|
||||
/* 0016C 808A393C A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
.L808A3940:
|
||||
/* 00170 808A3940 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00174 808A3944 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00178 808A3948 00812021 */ addu $a0, $a0, $at
|
||||
/* 0017C 808A394C AFA40024 */ sw $a0, 0x0024($sp)
|
||||
/* 00180 808A3950 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00184 808A3954 24050071 */ addiu $a1, $zero, 0x0071 ## $a1 = 00000071
|
||||
/* 00188 808A3958 A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
.L808A395C:
|
||||
/* 0018C 808A395C 8FA40024 */ lw $a0, 0x0024($sp)
|
||||
.L808A3960:
|
||||
/* 00190 808A3960 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00194 808A3964 24050073 */ addiu $a1, $zero, 0x0073 ## $a1 = 00000073
|
||||
/* 00198 808A3968 A2020169 */ sb $v0, 0x0169($s0) ## 00000169
|
||||
/* 0019C 808A396C 8FB80028 */ lw $t8, 0x0028($sp)
|
||||
/* 001A0 808A3970 53000005 */ beql $t8, $zero, .L808A3988
|
||||
/* 001A4 808A3974 82090168 */ lb $t1, 0x0168($s0) ## 00000168
|
||||
/* 001A8 808A3978 8619001C */ lh $t9, 0x001C($s0) ## 0000001C
|
||||
/* 001AC 808A397C 27280004 */ addiu $t0, $t9, 0x0004 ## $t0 = 00000004
|
||||
/* 001B0 808A3980 A608001C */ sh $t0, 0x001C($s0) ## 0000001C
|
||||
/* 001B4 808A3984 82090168 */ lb $t1, 0x0168($s0) ## 00000168
|
||||
.L808A3988:
|
||||
/* 001B8 808A3988 05200006 */ bltz $t1, .L808A39A4
|
||||
/* 001BC 808A398C 00000000 */ nop
|
||||
/* 001C0 808A3990 820A0169 */ lb $t2, 0x0169($s0) ## 00000169
|
||||
/* 001C4 808A3994 3C0B808A */ lui $t3, %hi(func_808A39FC) ## $t3 = 808A0000
|
||||
/* 001C8 808A3998 256B39FC */ addiu $t3, $t3, %lo(func_808A39FC) ## $t3 = 808A39FC
|
||||
/* 001CC 808A399C 05430006 */ bgezl $t2, .L808A39B8
|
||||
/* 001D0 808A39A0 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
|
||||
.L808A39A4:
|
||||
/* 001D4 808A39A4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 001D8 808A39A8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 001DC 808A39AC 10000003 */ beq $zero, $zero, .L808A39BC
|
||||
/* 001E0 808A39B0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 001E4 808A39B4 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
|
||||
.L808A39B8:
|
||||
/* 001E8 808A39B8 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808A39BC:
|
||||
/* 001EC 808A39BC 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 001F0 808A39C0 27BD0038 */ addiu $sp, $sp, 0x0038 ## $sp = 00000000
|
||||
/* 001F4 808A39C4 03E00008 */ jr $ra
|
||||
/* 001F8 808A39C8 00000000 */ nop
|
|
@ -1,10 +0,0 @@
|
|||
glabel BgMoriHineri_Update
|
||||
/* 00764 808A3F34 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00768 808A3F38 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 0076C 808A3F3C 8C990164 */ lw $t9, 0x0164($a0) ## 00000164
|
||||
/* 00770 808A3F40 0320F809 */ jalr $ra, $t9
|
||||
/* 00774 808A3F44 00000000 */ nop
|
||||
/* 00778 808A3F48 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0077C 808A3F4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00780 808A3F50 03E00008 */ jr $ra
|
||||
/* 00784 808A3F54 00000000 */ nop
|
|
@ -1,153 +0,0 @@
|
|||
glabel func_808A39FC
|
||||
/* 0022C 808A39FC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00230 808A3A00 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00234 808A3A04 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 00238 808A3A08 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 0023C 808A3A0C 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 00240 808A3A10 AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00244 808A3A14 AFA50034 */ sw $a1, 0x0034($sp)
|
||||
/* 00248 808A3A18 00A12021 */ addu $a0, $a1, $at
|
||||
/* 0024C 808A3A1C 82050168 */ lb $a1, 0x0168($s0) ## 00000168
|
||||
/* 00250 808A3A20 0C026062 */ jal Object_IsLoaded
|
||||
|
||||
/* 00254 808A3A24 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00258 808A3A28 1040006C */ beq $v0, $zero, .L808A3BDC
|
||||
/* 0025C 808A3A2C 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00260 808A3A30 82050169 */ lb $a1, 0x0169($s0) ## 00000169
|
||||
/* 00264 808A3A34 0C026062 */ jal Object_IsLoaded
|
||||
|
||||
/* 00268 808A3A38 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 0026C 808A3A3C 10400067 */ beq $v0, $zero, .L808A3BDC
|
||||
/* 00270 808A3A40 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00274 808A3A44 8205016A */ lb $a1, 0x016A($s0) ## 0000016A
|
||||
/* 00278 808A3A48 04A20006 */ bltzl $a1, .L808A3A64
|
||||
/* 0027C 808A3A4C 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 00280 808A3A50 0C026062 */ jal Object_IsLoaded
|
||||
|
||||
/* 00284 808A3A54 AFA40028 */ sw $a0, 0x0028($sp)
|
||||
/* 00288 808A3A58 10400060 */ beq $v0, $zero, .L808A3BDC
|
||||
/* 0028C 808A3A5C 8FA40028 */ lw $a0, 0x0028($sp)
|
||||
/* 00290 808A3A60 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
.L808A3A64:
|
||||
/* 00294 808A3A64 820E0168 */ lb $t6, 0x0168($s0) ## 00000168
|
||||
/* 00298 808A3A68 02002825 */ or $a1, $s0, $zero ## $a1 = 00000000
|
||||
/* 0029C 808A3A6C 28410004 */ slti $at, $v0, 0x0004
|
||||
/* 002A0 808A3A70 14200026 */ bne $at, $zero, .L808A3B0C
|
||||
/* 002A4 808A3A74 A20E001E */ sb $t6, 0x001E($s0) ## 0000001E
|
||||
/* 002A8 808A3A78 244FFFFC */ addiu $t7, $v0, 0xFFFC ## $t7 = FFFFFFFC
|
||||
/* 002AC 808A3A7C A60F001C */ sh $t7, 0x001C($s0) ## 0000001C
|
||||
/* 002B0 808A3A80 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 002B4 808A3A84 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 002B8 808A3A88 14400005 */ bne $v0, $zero, .L808A3AA0
|
||||
/* 002BC 808A3A8C 00000000 */ nop
|
||||
/* 002C0 808A3A90 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 002C4 808A3A94 2405006F */ addiu $a1, $zero, 0x006F ## $a1 = 0000006F
|
||||
/* 002C8 808A3A98 10000011 */ beq $zero, $zero, .L808A3AE0
|
||||
/* 002CC 808A3A9C A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
.L808A3AA0:
|
||||
/* 002D0 808A3AA0 54410006 */ bnel $v0, $at, .L808A3ABC
|
||||
/* 002D4 808A3AA4 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 002D8 808A3AA8 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 002DC 808A3AAC 2405005C */ addiu $a1, $zero, 0x005C ## $a1 = 0000005C
|
||||
/* 002E0 808A3AB0 1000000B */ beq $zero, $zero, .L808A3AE0
|
||||
/* 002E4 808A3AB4 A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
/* 002E8 808A3AB8 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
.L808A3ABC:
|
||||
/* 002EC 808A3ABC 14410005 */ bne $v0, $at, .L808A3AD4
|
||||
/* 002F0 808A3AC0 00000000 */ nop
|
||||
/* 002F4 808A3AC4 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 002F8 808A3AC8 24050071 */ addiu $a1, $zero, 0x0071 ## $a1 = 00000071
|
||||
/* 002FC 808A3ACC 10000004 */ beq $zero, $zero, .L808A3AE0
|
||||
/* 00300 808A3AD0 A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
.L808A3AD4:
|
||||
/* 00304 808A3AD4 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 00308 808A3AD8 24050070 */ addiu $a1, $zero, 0x0070 ## $a1 = 00000070
|
||||
/* 0030C 808A3ADC A2020168 */ sb $v0, 0x0168($s0) ## 00000168
|
||||
.L808A3AE0:
|
||||
/* 00310 808A3AE0 82180168 */ lb $t8, 0x0168($s0) ## 00000168
|
||||
/* 00314 808A3AE4 3C19808A */ lui $t9, %hi(func_808A3D58) ## $t9 = 808A0000
|
||||
/* 00318 808A3AE8 27393D58 */ addiu $t9, $t9, %lo(func_808A3D58) ## $t9 = 808A3D58
|
||||
/* 0031C 808A3AEC 07010005 */ bgez $t8, .L808A3B04
|
||||
/* 00320 808A3AF0 00000000 */ nop
|
||||
/* 00324 808A3AF4 0C00B55C */ jal Actor_Kill
|
||||
|
||||
/* 00328 808A3AF8 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
|
||||
/* 0032C 808A3AFC 10000038 */ beq $zero, $zero, .L808A3BE0
|
||||
/* 00330 808A3B00 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808A3B04:
|
||||
/* 00334 808A3B04 10000035 */ beq $zero, $zero, .L808A3BDC
|
||||
/* 00338 808A3B08 AE190164 */ sw $t9, 0x0164($s0) ## 00000164
|
||||
.L808A3B0C:
|
||||
/* 0033C 808A3B0C 0C00B591 */ jal Actor_SetObjectDependency
|
||||
|
||||
/* 00340 808A3B10 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
/* 00344 808A3B14 AFA0002C */ sw $zero, 0x002C($sp)
|
||||
/* 00348 808A3B18 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 0034C 808A3B1C 3C08808A */ lui $t0, %hi(func_808A3F58) ## $t0 = 808A0000
|
||||
/* 00350 808A3B20 25083F58 */ addiu $t0, $t0, %lo(func_808A3F58) ## $t0 = 808A3F58
|
||||
/* 00354 808A3B24 1440000A */ bne $v0, $zero, .L808A3B50
|
||||
/* 00358 808A3B28 AE080134 */ sw $t0, 0x0134($s0) ## 00000134
|
||||
/* 0035C 808A3B2C 3C09808A */ lui $t1, %hi(func_808A3C8C) ## $t1 = 808A0000
|
||||
/* 00360 808A3B30 25293C8C */ addiu $t1, $t1, %lo(func_808A3C8C) ## $t1 = 808A3C8C
|
||||
/* 00364 808A3B34 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00368 808A3B38 AE090164 */ sw $t1, 0x0164($s0) ## 00000164
|
||||
/* 0036C 808A3B3C 248454B8 */ addiu $a0, $a0, 0x54B8 ## $a0 = 060054B8
|
||||
/* 00370 808A3B40 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 00374 808A3B44 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC
|
||||
/* 00378 808A3B48 1000001F */ beq $zero, $zero, .L808A3BC8
|
||||
/* 0037C 808A3B4C 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L808A3B50:
|
||||
/* 00380 808A3B50 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 00384 808A3B54 14410009 */ bne $v0, $at, .L808A3B7C
|
||||
/* 00388 808A3B58 3C0A808A */ lui $t2, %hi(func_808A3BFC) ## $t2 = 808A0000
|
||||
/* 0038C 808A3B5C 254A3BFC */ addiu $t2, $t2, %lo(func_808A3BFC) ## $t2 = 808A3BFC
|
||||
/* 00390 808A3B60 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 00394 808A3B64 AE0A0164 */ sw $t2, 0x0164($s0) ## 00000164
|
||||
/* 00398 808A3B68 24843490 */ addiu $a0, $a0, 0x3490 ## $a0 = 06003490
|
||||
/* 0039C 808A3B6C 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 003A0 808A3B70 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC
|
||||
/* 003A4 808A3B74 10000014 */ beq $zero, $zero, .L808A3BC8
|
||||
/* 003A8 808A3B78 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L808A3B7C:
|
||||
/* 003AC 808A3B7C 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 003B0 808A3B80 1441000A */ bne $v0, $at, .L808A3BAC
|
||||
/* 003B4 808A3B84 3C0C808A */ lui $t4, %hi(func_808A3C8C) ## $t4 = 808A0000
|
||||
/* 003B8 808A3B88 3C0B808A */ lui $t3, %hi(func_808A3BF0) ## $t3 = 808A0000
|
||||
/* 003BC 808A3B8C 256B3BF0 */ addiu $t3, $t3, %lo(func_808A3BF0) ## $t3 = 808A3BF0
|
||||
/* 003C0 808A3B90 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 003C4 808A3B94 AE0B0164 */ sw $t3, 0x0164($s0) ## 00000164
|
||||
/* 003C8 808A3B98 248443D0 */ addiu $a0, $a0, 0x43D0 ## $a0 = 060043D0
|
||||
/* 003CC 808A3B9C 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 003D0 808A3BA0 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC
|
||||
/* 003D4 808A3BA4 10000008 */ beq $zero, $zero, .L808A3BC8
|
||||
/* 003D8 808A3BA8 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L808A3BAC:
|
||||
/* 003DC 808A3BAC 258C3C8C */ addiu $t4, $t4, %lo(func_808A3C8C) ## $t4 = 00003C8C
|
||||
/* 003E0 808A3BB0 3C040600 */ lui $a0, 0x0600 ## $a0 = 06000000
|
||||
/* 003E4 808A3BB4 AE0C0164 */ sw $t4, 0x0164($s0) ## 00000164
|
||||
/* 003E8 808A3BB8 24846078 */ addiu $a0, $a0, 0x6078 ## $a0 = 06006078
|
||||
/* 003EC 808A3BBC 0C010620 */ jal DynaPolyInfo_Alloc
|
||||
|
||||
/* 003F0 808A3BC0 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFFFC
|
||||
/* 003F4 808A3BC4 8FA40034 */ lw $a0, 0x0034($sp)
|
||||
.L808A3BC8:
|
||||
/* 003F8 808A3BC8 02003025 */ or $a2, $s0, $zero ## $a2 = 00000000
|
||||
/* 003FC 808A3BCC 8FA7002C */ lw $a3, 0x002C($sp)
|
||||
/* 00400 808A3BD0 0C00FA9D */ jal DynaPolyInfo_RegisterActor
|
||||
## DynaPolyInfo_setActor
|
||||
/* 00404 808A3BD4 24850810 */ addiu $a1, $a0, 0x0810 ## $a1 = 00000810
|
||||
/* 00408 808A3BD8 AE02014C */ sw $v0, 0x014C($s0) ## 0000014C
|
||||
.L808A3BDC:
|
||||
/* 0040C 808A3BDC 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
.L808A3BE0:
|
||||
/* 00410 808A3BE0 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00414 808A3BE4 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 00418 808A3BE8 03E00008 */ jr $ra
|
||||
/* 0041C 808A3BEC 00000000 */ nop
|
|
@ -1,4 +0,0 @@
|
|||
glabel func_808A3BF0
|
||||
/* 00420 808A3BF0 AFA40000 */ sw $a0, 0x0000($sp)
|
||||
/* 00424 808A3BF4 03E00008 */ jr $ra
|
||||
/* 00428 808A3BF8 AFA50004 */ sw $a1, 0x0004($sp)
|
|
@ -1,43 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808A44B0
|
||||
.float -453.0
|
||||
|
||||
.text
|
||||
glabel func_808A3BFC
|
||||
/* 0042C 808A3BFC 27BDFFD0 */ addiu $sp, $sp, 0xFFD0 ## $sp = FFFFFFD0
|
||||
/* 00430 808A3C00 AFA40030 */ sw $a0, 0x0030($sp)
|
||||
/* 00434 808A3C04 8FAE0030 */ lw $t6, 0x0030($sp)
|
||||
/* 00438 808A3C08 3C014313 */ lui $at, 0x4313 ## $at = 43130000
|
||||
/* 0043C 808A3C0C 44813000 */ mtc1 $at, $f6 ## $f6 = 147.00
|
||||
/* 00440 808A3C10 AFBF002C */ sw $ra, 0x002C($sp)
|
||||
/* 00444 808A3C14 3C01C375 */ lui $at, 0xC375 ## $at = C3750000
|
||||
/* 00448 808A3C18 44818000 */ mtc1 $at, $f16 ## $f16 = -245.00
|
||||
/* 0044C 808A3C1C C5CA0028 */ lwc1 $f10, 0x0028($t6) ## 00000028
|
||||
/* 00450 808A3C20 C5C40024 */ lwc1 $f4, 0x0024($t6) ## 00000024
|
||||
/* 00454 808A3C24 3C01808A */ lui $at, %hi(D_808A44B0) ## $at = 808A0000
|
||||
/* 00458 808A3C28 46105480 */ add.s $f18, $f10, $f16
|
||||
/* 0045C 808A3C2C 240F4000 */ addiu $t7, $zero, 0x4000 ## $t7 = 00004000
|
||||
/* 00460 808A3C30 241827EE */ addiu $t8, $zero, 0x27EE ## $t8 = 000027EE
|
||||
/* 00464 808A3C34 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00468 808A3C38 E7B20010 */ swc1 $f18, 0x0010($sp)
|
||||
/* 0046C 808A3C3C C42644B0 */ lwc1 $f6, %lo(D_808A44B0)($at)
|
||||
/* 00470 808A3C40 C5C4002C */ lwc1 $f4, 0x002C($t6) ## 0000002C
|
||||
/* 00474 808A3C44 44074000 */ mfc1 $a3, $f8
|
||||
/* 00478 808A3C48 AFB80024 */ sw $t8, 0x0024($sp)
|
||||
/* 0047C 808A3C4C 46062200 */ add.s $f8, $f4, $f6
|
||||
/* 00480 808A3C50 AFA00020 */ sw $zero, 0x0020($sp)
|
||||
/* 00484 808A3C54 AFAF001C */ sw $t7, 0x001C($sp)
|
||||
/* 00488 808A3C58 AFA00018 */ sw $zero, 0x0018($sp)
|
||||
/* 0048C 808A3C5C E7A80014 */ swc1 $f8, 0x0014($sp)
|
||||
/* 00490 808A3C60 24A41C24 */ addiu $a0, $a1, 0x1C24 ## $a0 = 00001C24
|
||||
/* 00494 808A3C64 0C00C7D4 */ jal Actor_Spawn
|
||||
## ActorSpawn
|
||||
/* 00498 808A3C68 2406000A */ addiu $a2, $zero, 0x000A ## $a2 = 0000000A
|
||||
/* 0049C 808A3C6C 8FA80030 */ lw $t0, 0x0030($sp)
|
||||
/* 004A0 808A3C70 3C19808A */ lui $t9, %hi(func_808A3BF0) ## $t9 = 808A0000
|
||||
/* 004A4 808A3C74 27393BF0 */ addiu $t9, $t9, %lo(func_808A3BF0) ## $t9 = 808A3BF0
|
||||
/* 004A8 808A3C78 AD190164 */ sw $t9, 0x0164($t0) ## 00000164
|
||||
/* 004AC 808A3C7C 8FBF002C */ lw $ra, 0x002C($sp)
|
||||
/* 004B0 808A3C80 27BD0030 */ addiu $sp, $sp, 0x0030 ## $sp = 00000000
|
||||
/* 004B4 808A3C84 03E00008 */ jr $ra
|
||||
/* 004B8 808A3C88 00000000 */ nop
|
|
@ -1,64 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808A44B4
|
||||
.float 1100.0
|
||||
|
||||
glabel D_808A44B8
|
||||
.float 16.384
|
||||
|
||||
.text
|
||||
glabel func_808A3C8C
|
||||
/* 004BC 808A3C8C 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 004C0 808A3C90 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 004C4 808A3C94 8CA21C44 */ lw $v0, 0x1C44($a1) ## 00001C44
|
||||
/* 004C8 808A3C98 C486002C */ lwc1 $f6, 0x002C($a0) ## 0000002C
|
||||
/* 004CC 808A3C9C 3C01808A */ lui $at, %hi(D_808A44B4) ## $at = 808A0000
|
||||
/* 004D0 808A3CA0 C444002C */ lwc1 $f4, 0x002C($v0) ## 0000002C
|
||||
/* 004D4 808A3CA4 C42A44B4 */ lwc1 $f10, %lo(D_808A44B4)($at)
|
||||
/* 004D8 808A3CA8 44801000 */ mtc1 $zero, $f2 ## $f2 = 0.00
|
||||
/* 004DC 808A3CAC 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 004E0 808A3CB0 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 004E4 808A3CB4 00A03825 */ or $a3, $a1, $zero ## $a3 = 00000000
|
||||
/* 004E8 808A3CB8 3C01447A */ lui $at, 0x447A ## $at = 447A0000
|
||||
/* 004EC 808A3CBC 46085001 */ sub.s $f0, $f10, $f8
|
||||
/* 004F0 808A3CC0 4602003C */ c.lt.s $f0, $f2
|
||||
/* 004F4 808A3CC4 00000000 */ nop
|
||||
/* 004F8 808A3CC8 45020004 */ bc1fl .L808A3CDC
|
||||
/* 004FC 808A3CCC 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00
|
||||
/* 00500 808A3CD0 1000000B */ beq $zero, $zero, .L808A3D00
|
||||
/* 00504 808A3CD4 46001006 */ mov.s $f0, $f2
|
||||
/* 00508 808A3CD8 44816000 */ mtc1 $at, $f12 ## $f12 = 1000.00
|
||||
.L808A3CDC:
|
||||
/* 0050C 808A3CDC 00000000 */ nop
|
||||
/* 00510 808A3CE0 4600603C */ c.lt.s $f12, $f0
|
||||
/* 00514 808A3CE4 00000000 */ nop
|
||||
/* 00518 808A3CE8 45020004 */ bc1fl .L808A3CFC
|
||||
/* 0051C 808A3CEC 46000086 */ mov.s $f2, $f0
|
||||
/* 00520 808A3CF0 10000002 */ beq $zero, $zero, .L808A3CFC
|
||||
/* 00524 808A3CF4 46006086 */ mov.s $f2, $f12
|
||||
/* 00528 808A3CF8 46000086 */ mov.s $f2, $f0
|
||||
.L808A3CFC:
|
||||
/* 0052C 808A3CFC 46001006 */ mov.s $f0, $f2
|
||||
.L808A3D00:
|
||||
/* 00530 808A3D00 3C01808A */ lui $at, %hi(D_808A44B8) ## $at = 808A0000
|
||||
/* 00534 808A3D04 C43044B8 */ lwc1 $f16, %lo(D_808A44B8)($at)
|
||||
/* 00538 808A3D08 24050004 */ addiu $a1, $zero, 0x0004 ## $a1 = 00000004
|
||||
/* 0053C 808A3D0C 46100482 */ mul.s $f18, $f0, $f16
|
||||
/* 00540 808A3D10 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 00544 808A3D14 440F2000 */ mfc1 $t7, $f4
|
||||
/* 00548 808A3D18 00000000 */ nop
|
||||
/* 0054C 808A3D1C A4CF00B8 */ sh $t7, 0x00B8($a2) ## 000000B8
|
||||
/* 00550 808A3D20 8CE40790 */ lw $a0, 0x0790($a3) ## 00000790
|
||||
/* 00554 808A3D24 0C0169DF */ jal func_8005A77C
|
||||
/* 00558 808A3D28 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 0055C 808A3D2C 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
/* 00560 808A3D30 84D8001C */ lh $t8, 0x001C($a2) ## 0000001C
|
||||
/* 00564 808A3D34 53000005 */ beql $t8, $zero, .L808A3D4C
|
||||
/* 00568 808A3D38 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0056C 808A3D3C 84D900B8 */ lh $t9, 0x00B8($a2) ## 000000B8
|
||||
/* 00570 808A3D40 00194023 */ subu $t0, $zero, $t9
|
||||
/* 00574 808A3D44 A4C800B8 */ sh $t0, 0x00B8($a2) ## 000000B8
|
||||
/* 00578 808A3D48 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L808A3D4C:
|
||||
/* 0057C 808A3D4C 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 00580 808A3D50 03E00008 */ jr $ra
|
||||
/* 00584 808A3D54 00000000 */ nop
|
|
@ -1,72 +0,0 @@
|
|||
glabel func_808A3D58
|
||||
/* 00588 808A3D58 27BDFFD8 */ addiu $sp, $sp, 0xFFD8 ## $sp = FFFFFFD8
|
||||
/* 0058C 808A3D5C AFB0001C */ sw $s0, 0x001C($sp)
|
||||
/* 00590 808A3D60 00808025 */ or $s0, $a0, $zero ## $s0 = 00000000
|
||||
/* 00594 808A3D64 AFB10020 */ sw $s1, 0x0020($sp)
|
||||
/* 00598 808A3D68 00A08825 */ or $s1, $a1, $zero ## $s1 = 00000000
|
||||
/* 0059C 808A3D6C AFBF0024 */ sw $ra, 0x0024($sp)
|
||||
/* 005A0 808A3D70 00A02025 */ or $a0, $a1, $zero ## $a0 = 00000000
|
||||
/* 005A4 808A3D74 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 005A8 808A3D78 8205016B */ lb $a1, 0x016B($s0) ## 0000016B
|
||||
/* 005AC 808A3D7C 10400007 */ beq $v0, $zero, .L808A3D9C
|
||||
/* 005B0 808A3D80 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 005B4 808A3D84 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 005B8 808A3D88 24010002 */ addiu $at, $zero, 0x0002 ## $at = 00000002
|
||||
/* 005BC 808A3D8C 1040000C */ beq $v0, $zero, .L808A3DC0
|
||||
/* 005C0 808A3D90 00000000 */ nop
|
||||
/* 005C4 808A3D94 1041000A */ beq $v0, $at, .L808A3DC0
|
||||
/* 005C8 808A3D98 00000000 */ nop
|
||||
.L808A3D9C:
|
||||
/* 005CC 808A3D9C 0C00B2D0 */ jal Flags_GetSwitch
|
||||
|
||||
/* 005D0 808A3DA0 8205016B */ lb $a1, 0x016B($s0) ## 0000016B
|
||||
/* 005D4 808A3DA4 54400027 */ bnel $v0, $zero, .L808A3E44
|
||||
/* 005D8 808A3DA8 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
/* 005DC 808A3DAC 8602001C */ lh $v0, 0x001C($s0) ## 0000001C
|
||||
/* 005E0 808A3DB0 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
|
||||
/* 005E4 808A3DB4 10410002 */ beq $v0, $at, .L808A3DC0
|
||||
/* 005E8 808A3DB8 24010003 */ addiu $at, $zero, 0x0003 ## $at = 00000003
|
||||
/* 005EC 808A3DBC 14410020 */ bne $v0, $at, .L808A3E40
|
||||
.L808A3DC0:
|
||||
/* 005F0 808A3DC0 3C0E808A */ lui $t6, %hi(func_808A3F58) ## $t6 = 808A0000
|
||||
/* 005F4 808A3DC4 3C0F808A */ lui $t7, %hi(func_808A3E54) ## $t7 = 808A0000
|
||||
/* 005F8 808A3DC8 25CE3F58 */ addiu $t6, $t6, %lo(func_808A3F58) ## $t6 = 808A3F58
|
||||
/* 005FC 808A3DCC 25EF3E54 */ addiu $t7, $t7, %lo(func_808A3E54) ## $t7 = 808A3E54
|
||||
/* 00600 808A3DD0 AE0E0134 */ sw $t6, 0x0134($s0) ## 00000134
|
||||
/* 00604 808A3DD4 AE0F0164 */ sw $t7, 0x0164($s0) ## 00000164
|
||||
/* 00608 808A3DD8 8E380790 */ lw $t8, 0x0790($s1) ## 00000790
|
||||
/* 0060C 808A3DDC 8705014E */ lh $a1, 0x014E($t8) ## 0000014E
|
||||
/* 00610 808A3DE0 10A00009 */ beq $a1, $zero, .L808A3E08
|
||||
/* 00614 808A3DE4 0005C880 */ sll $t9, $a1, 2
|
||||
/* 00618 808A3DE8 02394021 */ addu $t0, $s1, $t9
|
||||
/* 0061C 808A3DEC 8D090790 */ lw $t1, 0x0790($t0) ## 00000790
|
||||
/* 00620 808A3DF0 24010026 */ addiu $at, $zero, 0x0026 ## $at = 00000026
|
||||
/* 00624 808A3DF4 852A0142 */ lh $t2, 0x0142($t1) ## 00000142
|
||||
/* 00628 808A3DF8 55410004 */ bnel $t2, $at, .L808A3E0C
|
||||
/* 0062C 808A3DFC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00630 808A3E00 0C0200FC */ jal func_800803F0
|
||||
/* 00634 808A3E04 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
.L808A3E08:
|
||||
/* 00638 808A3E08 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
.L808A3E0C:
|
||||
/* 0063C 808A3E0C 24050CBC */ addiu $a1, $zero, 0x0CBC ## $a1 = 00000CBC
|
||||
/* 00640 808A3E10 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 00644 808A3E14 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 00648 808A3E18 0C02003E */ jal func_800800F8
|
||||
/* 0064C 808A3E1C AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00650 808A3E20 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
|
||||
/* 00654 808A3E24 24050CBD */ addiu $a1, $zero, 0x0CBD ## $a1 = 00000CBD
|
||||
/* 00658 808A3E28 24060028 */ addiu $a2, $zero, 0x0028 ## $a2 = 00000028
|
||||
/* 0065C 808A3E2C 02003825 */ or $a3, $s0, $zero ## $a3 = 00000000
|
||||
/* 00660 808A3E30 0C02003E */ jal func_800800F8
|
||||
/* 00664 808A3E34 AFA00010 */ sw $zero, 0x0010($sp)
|
||||
/* 00668 808A3E38 3C01808A */ lui $at, %hi(D_808A43E0) ## $at = 808A0000
|
||||
/* 0066C 808A3E3C A42243E0 */ sh $v0, %lo(D_808A43E0)($at)
|
||||
.L808A3E40:
|
||||
/* 00670 808A3E40 8FBF0024 */ lw $ra, 0x0024($sp)
|
||||
.L808A3E44:
|
||||
/* 00674 808A3E44 8FB0001C */ lw $s0, 0x001C($sp)
|
||||
/* 00678 808A3E48 8FB10020 */ lw $s1, 0x0020($sp)
|
||||
/* 0067C 808A3E4C 03E00008 */ jr $ra
|
||||
/* 00680 808A3E50 27BD0028 */ addiu $sp, $sp, 0x0028 ## $sp = 00000000
|
|
@ -1,65 +0,0 @@
|
|||
.late_rodata
|
||||
glabel D_808A44BC
|
||||
.float 1100.0
|
||||
|
||||
.text
|
||||
glabel func_808A3E54
|
||||
/* 00684 808A3E54 27BDFFE8 */ addiu $sp, $sp, 0xFFE8 ## $sp = FFFFFFE8
|
||||
/* 00688 808A3E58 3C03808A */ lui $v1, %hi(D_808A43E0) ## $v1 = 808A0000
|
||||
/* 0068C 808A3E5C 246343E0 */ addiu $v1, $v1, %lo(D_808A43E0) ## $v1 = 808A43E0
|
||||
/* 00690 808A3E60 AFBF0014 */ sw $ra, 0x0014($sp)
|
||||
/* 00694 808A3E64 84AE07A0 */ lh $t6, 0x07A0($a1) ## 000007A0
|
||||
/* 00698 808A3E68 84620000 */ lh $v0, 0x0000($v1) ## 808A43E0
|
||||
/* 0069C 808A3E6C 00803025 */ or $a2, $a0, $zero ## $a2 = 00000000
|
||||
/* 006A0 808A3E70 144E001A */ bne $v0, $t6, .L808A3EDC
|
||||
/* 006A4 808A3E74 00000000 */ nop
|
||||
/* 006A8 808A3E78 10400012 */ beq $v0, $zero, .L808A3EC4
|
||||
/* 006AC 808A3E7C 3C08808A */ lui $t0, %hi(func_808A3D58) ## $t0 = 808A0000
|
||||
/* 006B0 808A3E80 8498001C */ lh $t8, 0x001C($a0) ## 0000001C
|
||||
/* 006B4 808A3E84 8082001E */ lb $v0, 0x001E($a0) ## 0000001E
|
||||
/* 006B8 808A3E88 808F0168 */ lb $t7, 0x0168($a0) ## 00000168
|
||||
/* 006BC 808A3E8C 3B190001 */ xori $t9, $t8, 0x0001 ## $t9 = 00000001
|
||||
/* 006C0 808A3E90 A499001C */ sh $t9, 0x001C($a0) ## 0000001C
|
||||
/* 006C4 808A3E94 A0820168 */ sb $v0, 0x0168($a0) ## 00000168
|
||||
/* 006C8 808A3E98 A08F001E */ sb $t7, 0x001E($a0) ## 0000001E
|
||||
/* 006CC 808A3E9C A4600000 */ sh $zero, 0x0000($v1) ## 808A43E0
|
||||
/* 006D0 808A3EA0 AFA60018 */ sw $a2, 0x0018($sp)
|
||||
/* 006D4 808A3EA4 AFA5001C */ sw $a1, 0x001C($sp)
|
||||
/* 006D8 808A3EA8 0C01E221 */ jal func_80078884
|
||||
/* 006DC 808A3EAC 24044807 */ addiu $a0, $zero, 0x4807 ## $a0 = 00004807
|
||||
/* 006E0 808A3EB0 3C02808A */ lui $v0, %hi(D_808A43E0) ## $v0 = 808A0000
|
||||
/* 006E4 808A3EB4 844243E0 */ lh $v0, %lo(D_808A43E0)($v0)
|
||||
/* 006E8 808A3EB8 8FA5001C */ lw $a1, 0x001C($sp)
|
||||
/* 006EC 808A3EBC 10000007 */ beq $zero, $zero, .L808A3EDC
|
||||
/* 006F0 808A3EC0 8FA60018 */ lw $a2, 0x0018($sp)
|
||||
.L808A3EC4:
|
||||
/* 006F4 808A3EC4 25083D58 */ addiu $t0, $t0, %lo(func_808A3D58) ## $t0 = 00003D58
|
||||
/* 006F8 808A3EC8 ACC00134 */ sw $zero, 0x0134($a2) ## 00000134
|
||||
/* 006FC 808A3ECC ACC80164 */ sw $t0, 0x0164($a2) ## 00000164
|
||||
/* 00700 808A3ED0 2409FFFF */ addiu $t1, $zero, 0xFFFF ## $t1 = FFFFFFFF
|
||||
/* 00704 808A3ED4 A4690000 */ sh $t1, 0x0000($v1) ## 00000000
|
||||
/* 00708 808A3ED8 84620000 */ lh $v0, 0x0000($v1) ## 00000000
|
||||
.L808A3EDC:
|
||||
/* 0070C 808A3EDC 58400012 */ blezl $v0, .L808A3F28
|
||||
/* 00710 808A3EE0 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 00714 808A3EE4 84AA07A0 */ lh $t2, 0x07A0($a1) ## 000007A0
|
||||
/* 00718 808A3EE8 C4C6002C */ lwc1 $f6, 0x002C($a2) ## 0000002C
|
||||
/* 0071C 808A3EEC 3C01808A */ lui $at, %hi(D_808A44BC) ## $at = 808A0000
|
||||
/* 00720 808A3EF0 000A5880 */ sll $t3, $t2, 2
|
||||
/* 00724 808A3EF4 00AB6021 */ addu $t4, $a1, $t3
|
||||
/* 00728 808A3EF8 8D8D0790 */ lw $t5, 0x0790($t4) ## 00000790
|
||||
/* 0072C 808A3EFC C42A44BC */ lwc1 $f10, %lo(D_808A44BC)($at)
|
||||
/* 00730 808A3F00 00C02025 */ or $a0, $a2, $zero ## $a0 = 00000000
|
||||
/* 00734 808A3F04 C5A40064 */ lwc1 $f4, 0x0064($t5) ## 00000064
|
||||
/* 00738 808A3F08 46062201 */ sub.s $f8, $f4, $f6
|
||||
/* 0073C 808A3F0C 460A403C */ c.lt.s $f8, $f10
|
||||
/* 00740 808A3F10 00000000 */ nop
|
||||
/* 00744 808A3F14 45020004 */ bc1fl .L808A3F28
|
||||
/* 00748 808A3F18 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
/* 0074C 808A3F1C 0C00BE52 */ jal func_8002F948
|
||||
/* 00750 808A3F20 240520AD */ addiu $a1, $zero, 0x20AD ## $a1 = 000020AD
|
||||
/* 00754 808A3F24 8FBF0014 */ lw $ra, 0x0014($sp)
|
||||
.L808A3F28:
|
||||
/* 00758 808A3F28 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000
|
||||
/* 0075C 808A3F2C 03E00008 */ jr $ra
|
||||
/* 00760 808A3F30 00000000 */ nop
|
|
@ -1,348 +0,0 @@
|
|||
.rdata
|
||||
glabel D_808A4420
|
||||
.asciz "../z_bg_mori_hineri.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808A4438
|
||||
.asciz "../z_bg_mori_hineri.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808A4450
|
||||
.asciz "../z_bg_mori_hineri.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808A4468
|
||||
.asciz "../z_bg_mori_hineri.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808A4480
|
||||
.asciz "../z_bg_mori_hineri.c"
|
||||
.balign 4
|
||||
|
||||
glabel D_808A4498
|
||||
.asciz "../z_bg_mori_hineri.c"
|
||||
.balign 4
|
||||
|
||||
.late_rodata
|
||||
glabel D_808A44C0
|
||||
.float -1761.0
|
||||
glabel D_808A44C4
|
||||
.float 1278.0
|
||||
glabel D_808A44C8
|
||||
.float 1999.0
|
||||
glabel D_808A44CC
|
||||
.float 1278.0
|
||||
glabel D_808A44D0
|
||||
.float 1.57079637051
|
||||
glabel D_808A44D4
|
||||
.float 0.01
|
||||
glabel D_808A44D8
|
||||
.float 1.3008157
|
||||
glabel D_808A44DC
|
||||
.float 3.14159274101
|
||||
glabel D_808A44E0
|
||||
.float 0.01
|
||||
|
||||
.text
|
||||
glabel func_808A3F58
|
||||
/* 00788 808A3F58 27BDFF50 */ addiu $sp, $sp, 0xFF50 ## $sp = FFFFFF50
|
||||
/* 0078C 808A3F5C AFBF001C */ sw $ra, 0x001C($sp)
|
||||
/* 00790 808A3F60 AFB00018 */ sw $s0, 0x0018($sp)
|
||||
/* 00794 808A3F64 AFA400B0 */ sw $a0, 0x00B0($sp)
|
||||
/* 00798 808A3F68 AFA500B4 */ sw $a1, 0x00B4($sp)
|
||||
/* 0079C 808A3F6C 8CA50000 */ lw $a1, 0x0000($a1) ## 00000000
|
||||
/* 007A0 808A3F70 3C06808A */ lui $a2, %hi(D_808A4420) ## $a2 = 808A0000
|
||||
/* 007A4 808A3F74 24C64420 */ addiu $a2, $a2, %lo(D_808A4420) ## $a2 = 808A4420
|
||||
/* 007A8 808A3F78 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFA4
|
||||
/* 007AC 808A3F7C 24070263 */ addiu $a3, $zero, 0x0263 ## $a3 = 00000263
|
||||
/* 007B0 808A3F80 0C031AB1 */ jal Graph_OpenDisps
|
||||
/* 007B4 808A3F84 00A08025 */ or $s0, $a1, $zero ## $s0 = 00000000
|
||||
/* 007B8 808A3F88 8FAF00B4 */ lw $t7, 0x00B4($sp)
|
||||
/* 007BC 808A3F8C 0C024F46 */ jal func_80093D18
|
||||
/* 007C0 808A3F90 8DE40000 */ lw $a0, 0x0000($t7) ## 00000000
|
||||
/* 007C4 808A3F94 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 007C8 808A3F98 8FA700B4 */ lw $a3, 0x00B4($sp)
|
||||
/* 007CC 808A3F9C 3C19DB06 */ lui $t9, 0xDB06 ## $t9 = DB060000
|
||||
/* 007D0 808A3FA0 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 007D4 808A3FA4 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 007D8 808A3FA8 37390020 */ ori $t9, $t9, 0x0020 ## $t9 = DB060020
|
||||
/* 007DC 808A3FAC AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 007E0 808A3FB0 8FA800B0 */ lw $t0, 0x00B0($sp)
|
||||
/* 007E4 808A3FB4 3C0C0001 */ lui $t4, 0x0001 ## $t4 = 00010000
|
||||
/* 007E8 808A3FB8 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000
|
||||
/* 007EC 808A3FBC 81090169 */ lb $t1, 0x0169($t0) ## 00000169
|
||||
/* 007F0 808A3FC0 35CE0003 */ ori $t6, $t6, 0x0003 ## $t6 = DA380003
|
||||
/* 007F4 808A3FC4 3C05808A */ lui $a1, %hi(D_808A4438) ## $a1 = 808A0000
|
||||
/* 007F8 808A3FC8 00095100 */ sll $t2, $t1, 4
|
||||
/* 007FC 808A3FCC 01495021 */ addu $t2, $t2, $t1
|
||||
/* 00800 808A3FD0 000A5080 */ sll $t2, $t2, 2
|
||||
/* 00804 808A3FD4 00EA5821 */ addu $t3, $a3, $t2
|
||||
/* 00808 808A3FD8 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 0080C 808A3FDC 8D8C17B4 */ lw $t4, 0x17B4($t4) ## 000117B4
|
||||
/* 00810 808A3FE0 24A54438 */ addiu $a1, $a1, %lo(D_808A4438) ## $a1 = 808A4438
|
||||
/* 00814 808A3FE4 2406026A */ addiu $a2, $zero, 0x026A ## $a2 = 0000026A
|
||||
/* 00818 808A3FE8 AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 0081C 808A3FEC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00820 808A3FF0 244D0008 */ addiu $t5, $v0, 0x0008 ## $t5 = 00000008
|
||||
/* 00824 808A3FF4 AE0D02C0 */ sw $t5, 0x02C0($s0) ## 000002C0
|
||||
/* 00828 808A3FF8 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 0082C 808A3FFC 8CE40000 */ lw $a0, 0x0000($a3) ## 00000000
|
||||
/* 00830 808A4000 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00834 808A4004 AFA2004C */ sw $v0, 0x004C($sp)
|
||||
/* 00838 808A4008 8FA3004C */ lw $v1, 0x004C($sp)
|
||||
/* 0083C 808A400C 3C18DE00 */ lui $t8, 0xDE00 ## $t8 = DE000000
|
||||
/* 00840 808A4010 3C09808A */ lui $t1, %hi(D_808A4408) ## $t1 = 808A0000
|
||||
/* 00844 808A4014 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00848 808A4018 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 0084C 808A401C 8FA600B0 */ lw $a2, 0x00B0($sp)
|
||||
/* 00850 808A4020 244F0008 */ addiu $t7, $v0, 0x0008 ## $t7 = 00000008
|
||||
/* 00854 808A4024 AE0F02C0 */ sw $t7, 0x02C0($s0) ## 000002C0
|
||||
/* 00858 808A4028 AC580000 */ sw $t8, 0x0000($v0) ## 00000000
|
||||
/* 0085C 808A402C 84D9001C */ lh $t9, 0x001C($a2) ## 0000001C
|
||||
/* 00860 808A4030 00194080 */ sll $t0, $t9, 2
|
||||
/* 00864 808A4034 01284821 */ addu $t1, $t1, $t0
|
||||
/* 00868 808A4038 8D294408 */ lw $t1, %lo(D_808A4408)($t1)
|
||||
/* 0086C 808A403C AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00870 808A4040 80CA016A */ lb $t2, 0x016A($a2) ## 0000016A
|
||||
/* 00874 808A4044 59400005 */ blezl $t2, .L808A405C
|
||||
/* 00878 808A4048 8CCC0164 */ lw $t4, 0x0164($a2) ## 00000164
|
||||
/* 0087C 808A404C 0C034236 */ jal Matrix_Get
|
||||
/* 00880 808A4050 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFB8
|
||||
/* 00884 808A4054 8FA600B0 */ lw $a2, 0x00B0($sp)
|
||||
/* 00888 808A4058 8CCC0164 */ lw $t4, 0x0164($a2) ## 00000164
|
||||
.L808A405C:
|
||||
/* 0088C 808A405C 3C0B808A */ lui $t3, %hi(func_808A3C8C) ## $t3 = 808A0000
|
||||
/* 00890 808A4060 256B3C8C */ addiu $t3, $t3, %lo(func_808A3C8C) ## $t3 = 808A3C8C
|
||||
/* 00894 808A4064 556C0042 */ bnel $t3, $t4, .L808A4170
|
||||
/* 00898 808A4068 80CE016A */ lb $t6, 0x016A($a2) ## 0000016A
|
||||
/* 0089C 808A406C 84CD00B8 */ lh $t5, 0x00B8($a2) ## 000000B8
|
||||
/* 008A0 808A4070 8FAE00B4 */ lw $t6, 0x00B4($sp)
|
||||
/* 008A4 808A4074 51A0003E */ beql $t5, $zero, .L808A4170
|
||||
/* 008A8 808A4078 80CE016A */ lb $t6, 0x016A($a2) ## 0000016A
|
||||
/* 008AC 808A407C 0C024F46 */ jal func_80093D18
|
||||
/* 008B0 808A4080 8DC40000 */ lw $a0, 0x0000($t6) ## 00000000
|
||||
/* 008B4 808A4084 8FAF00B0 */ lw $t7, 0x00B0($sp)
|
||||
/* 008B8 808A4088 3C06C4E3 */ lui $a2, 0xC4E3 ## $a2 = C4E30000
|
||||
/* 008BC 808A408C 34C6A000 */ ori $a2, $a2, 0xA000 ## $a2 = C4E3A000
|
||||
/* 008C0 808A4090 85F8001C */ lh $t8, 0x001C($t7) ## 0000001C
|
||||
/* 008C4 808A4094 3C01808A */ lui $at, %hi(D_808A44C8) ## $at = 808A0000
|
||||
/* 008C8 808A4098 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 008CC 808A409C 1700000B */ bne $t8, $zero, .L808A40CC
|
||||
/* 008D0 808A40A0 00000000 */ nop
|
||||
/* 008D4 808A40A4 3C01808A */ lui $at, %hi(D_808A44C0) ## $at = 808A0000
|
||||
/* 008D8 808A40A8 C42C44C0 */ lwc1 $f12, %lo(D_808A44C0)($at)
|
||||
/* 008DC 808A40AC 3C01808A */ lui $at, %hi(D_808A44C4) ## $at = 808A0000
|
||||
/* 008E0 808A40B0 3C06C4E3 */ lui $a2, 0xC4E3 ## $a2 = C4E30000
|
||||
/* 008E4 808A40B4 34C6A000 */ ori $a2, $a2, 0xA000 ## $a2 = C4E3A000
|
||||
/* 008E8 808A40B8 C42E44C4 */ lwc1 $f14, %lo(D_808A44C4)($at)
|
||||
/* 008EC 808A40BC 0C034261 */ jal Matrix_Translate
|
||||
/* 008F0 808A40C0 00003825 */ or $a3, $zero, $zero ## $a3 = 00000000
|
||||
/* 008F4 808A40C4 10000006 */ beq $zero, $zero, .L808A40E0
|
||||
/* 008F8 808A40C8 8FB900B0 */ lw $t9, 0x00B0($sp)
|
||||
.L808A40CC:
|
||||
/* 008FC 808A40CC C42C44C8 */ lwc1 $f12, %lo(D_808A44C8)($at)
|
||||
/* 00900 808A40D0 3C01808A */ lui $at, %hi(D_808A44CC) ## $at = 808A0000
|
||||
/* 00904 808A40D4 0C034261 */ jal Matrix_Translate
|
||||
/* 00908 808A40D8 C42E44CC */ lwc1 $f14, %lo(D_808A44CC)($at)
|
||||
/* 0090C 808A40DC 8FB900B0 */ lw $t9, 0x00B0($sp)
|
||||
.L808A40E0:
|
||||
/* 00910 808A40E0 00002025 */ or $a0, $zero, $zero ## $a0 = 00000000
|
||||
/* 00914 808A40E4 24058000 */ addiu $a1, $zero, 0x8000 ## $a1 = FFFF8000
|
||||
/* 00918 808A40E8 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 0091C 808A40EC 0C034421 */ jal Matrix_RotateRPY
|
||||
/* 00920 808A40F0 872600B8 */ lh $a2, 0x00B8($t9) ## 000000B8
|
||||
/* 00924 808A40F4 44806000 */ mtc1 $zero, $f12 ## $f12 = 0.00
|
||||
/* 00928 808A40F8 3C01C248 */ lui $at, 0xC248 ## $at = C2480000
|
||||
/* 0092C 808A40FC 44817000 */ mtc1 $at, $f14 ## $f14 = -50.00
|
||||
/* 00930 808A4100 44066000 */ mfc1 $a2, $f12
|
||||
/* 00934 808A4104 0C034261 */ jal Matrix_Translate
|
||||
/* 00938 808A4108 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 0093C 808A410C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00940 808A4110 3C09DA38 */ lui $t1, 0xDA38 ## $t1 = DA380000
|
||||
/* 00944 808A4114 35290003 */ ori $t1, $t1, 0x0003 ## $t1 = DA380003
|
||||
/* 00948 808A4118 24480008 */ addiu $t0, $v0, 0x0008 ## $t0 = 00000008
|
||||
/* 0094C 808A411C AE0802C0 */ sw $t0, 0x02C0($s0) ## 000002C0
|
||||
/* 00950 808A4120 AC490000 */ sw $t1, 0x0000($v0) ## 00000000
|
||||
/* 00954 808A4124 8FAA00B4 */ lw $t2, 0x00B4($sp)
|
||||
/* 00958 808A4128 3C05808A */ lui $a1, %hi(D_808A4450) ## $a1 = 808A0000
|
||||
/* 0095C 808A412C 24A54450 */ addiu $a1, $a1, %lo(D_808A4450) ## $a1 = 808A4450
|
||||
/* 00960 808A4130 8D440000 */ lw $a0, 0x0000($t2) ## 00000000
|
||||
/* 00964 808A4134 2406028C */ addiu $a2, $zero, 0x028C ## $a2 = 0000028C
|
||||
/* 00968 808A4138 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 0096C 808A413C AFA20044 */ sw $v0, 0x0044($sp)
|
||||
/* 00970 808A4140 8FA30044 */ lw $v1, 0x0044($sp)
|
||||
/* 00974 808A4144 3C0D0405 */ lui $t5, 0x0405 ## $t5 = 04050000
|
||||
/* 00978 808A4148 25AD9FE0 */ addiu $t5, $t5, 0x9FE0 ## $t5 = 04049FE0
|
||||
/* 0097C 808A414C AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00980 808A4150 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00984 808A4154 3C0CDE00 */ lui $t4, 0xDE00 ## $t4 = DE000000
|
||||
/* 00988 808A4158 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
||||
/* 0098C 808A415C AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0
|
||||
/* 00990 808A4160 AC4D0004 */ sw $t5, 0x0004($v0) ## 00000004
|
||||
/* 00994 808A4164 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 00998 808A4168 8FA600B0 */ lw $a2, 0x00B0($sp)
|
||||
/* 0099C 808A416C 80CE016A */ lb $t6, 0x016A($a2) ## 0000016A
|
||||
.L808A4170:
|
||||
/* 009A0 808A4170 3C010001 */ lui $at, 0x0001 ## $at = 00010000
|
||||
/* 009A4 808A4174 342117A4 */ ori $at, $at, 0x17A4 ## $at = 000117A4
|
||||
/* 009A8 808A4178 19C0008A */ blez $t6, .L808A43A4
|
||||
/* 009AC 808A417C 8FA400B4 */ lw $a0, 0x00B4($sp)
|
||||
/* 009B0 808A4180 00812021 */ addu $a0, $a0, $at
|
||||
/* 009B4 808A4184 AFA40020 */ sw $a0, 0x0020($sp)
|
||||
/* 009B8 808A4188 0C02604B */ jal Object_GetIndex
|
||||
## ObjectIndex
|
||||
/* 009BC 808A418C 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E
|
||||
/* 009C0 808A4190 8FAF00B0 */ lw $t7, 0x00B0($sp)
|
||||
/* 009C4 808A4194 0002C600 */ sll $t8, $v0, 24
|
||||
/* 009C8 808A4198 0018CE03 */ sra $t9, $t8, 24
|
||||
/* 009CC 808A419C 8FA40020 */ lw $a0, 0x0020($sp)
|
||||
/* 009D0 808A41A0 1B200080 */ blez $t9, .L808A43A4
|
||||
/* 009D4 808A41A4 A1E2016A */ sb $v0, 0x016A($t7) ## 0000016A
|
||||
/* 009D8 808A41A8 8FA800B0 */ lw $t0, 0x00B0($sp)
|
||||
/* 009DC 808A41AC 0C026062 */ jal Object_IsLoaded
|
||||
|
||||
/* 009E0 808A41B0 8105016A */ lb $a1, 0x016A($t0) ## 0000016A
|
||||
/* 009E4 808A41B4 5040007C */ beql $v0, $zero, .L808A43A8
|
||||
/* 009E8 808A41B8 8FAD00B4 */ lw $t5, 0x00B4($sp)
|
||||
/* 009EC 808A41BC 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 009F0 808A41C0 3C0ADB06 */ lui $t2, 0xDB06 ## $t2 = DB060000
|
||||
/* 009F4 808A41C4 354A0018 */ ori $t2, $t2, 0x0018 ## $t2 = DB060018
|
||||
/* 009F8 808A41C8 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 009FC 808A41CC AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 00A00 808A41D0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
/* 00A04 808A41D4 8FAC00B0 */ lw $t4, 0x00B0($sp)
|
||||
/* 00A08 808A41D8 8FAB00B4 */ lw $t3, 0x00B4($sp)
|
||||
/* 00A0C 808A41DC 3C180001 */ lui $t8, 0x0001 ## $t8 = 00010000
|
||||
/* 00A10 808A41E0 818D016A */ lb $t5, 0x016A($t4) ## 0000016A
|
||||
/* 00A14 808A41E4 3C098011 */ lui $t1, %hi(D_80116280+0x10)
|
||||
/* 00A18 808A41E8 3C08DB06 */ lui $t0, 0xDB06 ## $t0 = DB060000
|
||||
/* 00A1C 808A41EC 000D7100 */ sll $t6, $t5, 4
|
||||
/* 00A20 808A41F0 01CD7021 */ addu $t6, $t6, $t5
|
||||
/* 00A24 808A41F4 000E7080 */ sll $t6, $t6, 2
|
||||
/* 00A28 808A41F8 016E7821 */ addu $t7, $t3, $t6
|
||||
/* 00A2C 808A41FC 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 00A30 808A4200 8F1817B4 */ lw $t8, 0x17B4($t8) ## 000117B4
|
||||
/* 00A34 808A4204 35080020 */ ori $t0, $t0, 0x0020 ## $t0 = DB060020
|
||||
/* 00A38 808A4208 25296290 */ addiu $t1, %lo(D_80116280+0x10)
|
||||
/* 00A3C 808A420C AC580004 */ sw $t8, 0x0004($v0) ## 00000004
|
||||
/* 00A40 808A4210 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00A44 808A4214 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFB8
|
||||
/* 00A48 808A4218 24590008 */ addiu $t9, $v0, 0x0008 ## $t9 = 00000008
|
||||
/* 00A4C 808A421C AE1902C0 */ sw $t9, 0x02C0($s0) ## 000002C0
|
||||
/* 00A50 808A4220 AC490004 */ sw $t1, 0x0004($v0) ## 00000004
|
||||
/* 00A54 808A4224 0C03423F */ jal Matrix_Put
|
||||
/* 00A58 808A4228 AC480000 */ sw $t0, 0x0000($v0) ## 00000000
|
||||
/* 00A5C 808A422C 3C014313 */ lui $at, 0x4313 ## $at = 43130000
|
||||
/* 00A60 808A4230 44816000 */ mtc1 $at, $f12 ## $f12 = 147.00
|
||||
/* 00A64 808A4234 3C01C375 */ lui $at, 0xC375 ## $at = C3750000
|
||||
/* 00A68 808A4238 44817000 */ mtc1 $at, $f14 ## $f14 = -245.00
|
||||
/* 00A6C 808A423C 3C06C3E2 */ lui $a2, 0xC3E2 ## $a2 = C3E20000
|
||||
/* 00A70 808A4240 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = C3E28000
|
||||
/* 00A74 808A4244 0C034261 */ jal Matrix_Translate
|
||||
/* 00A78 808A4248 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00A7C 808A424C 3C01808A */ lui $at, %hi(D_808A44D0) ## $at = 808A0000
|
||||
/* 00A80 808A4250 C42C44D0 */ lwc1 $f12, %lo(D_808A44D0)($at)
|
||||
/* 00A84 808A4254 0C034348 */ jal Matrix_RotateY
|
||||
/* 00A88 808A4258 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00A8C 808A425C 3C01808A */ lui $at, %hi(D_808A44D4) ## $at = 808A0000
|
||||
/* 00A90 808A4260 C42C44D4 */ lwc1 $f12, %lo(D_808A44D4)($at)
|
||||
/* 00A94 808A4264 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00A98 808A4268 44066000 */ mfc1 $a2, $f12
|
||||
/* 00A9C 808A426C 0C0342A3 */ jal Matrix_Scale
|
||||
/* 00AA0 808A4270 46006386 */ mov.s $f14, $f12
|
||||
/* 00AA4 808A4274 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00AA8 808A4278 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000
|
||||
/* 00AAC 808A427C 358C0003 */ ori $t4, $t4, 0x0003 ## $t4 = DA380003
|
||||
/* 00AB0 808A4280 244A0008 */ addiu $t2, $v0, 0x0008 ## $t2 = 00000008
|
||||
/* 00AB4 808A4284 AE0A02C0 */ sw $t2, 0x02C0($s0) ## 000002C0
|
||||
/* 00AB8 808A4288 AC4C0000 */ sw $t4, 0x0000($v0) ## 00000000
|
||||
/* 00ABC 808A428C 8FAD00B4 */ lw $t5, 0x00B4($sp)
|
||||
/* 00AC0 808A4290 3C05808A */ lui $a1, %hi(D_808A4468) ## $a1 = 808A0000
|
||||
/* 00AC4 808A4294 24A54468 */ addiu $a1, $a1, %lo(D_808A4468) ## $a1 = 808A4468
|
||||
/* 00AC8 808A4298 8DA40000 */ lw $a0, 0x0000($t5) ## 00000000
|
||||
/* 00ACC 808A429C 240602B1 */ addiu $a2, $zero, 0x02B1 ## $a2 = 000002B1
|
||||
/* 00AD0 808A42A0 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00AD4 808A42A4 AFA20034 */ sw $v0, 0x0034($sp)
|
||||
/* 00AD8 808A42A8 8FA30034 */ lw $v1, 0x0034($sp)
|
||||
/* 00ADC 808A42AC 3C0F0600 */ lui $t7, 0x0600 ## $t7 = 06000000
|
||||
/* 00AE0 808A42B0 25EF0AE8 */ addiu $t7, $t7, 0x0AE8 ## $t7 = 06000AE8
|
||||
/* 00AE4 808A42B4 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00AE8 808A42B8 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00AEC 808A42BC 3C0EDE00 */ lui $t6, 0xDE00 ## $t6 = DE000000
|
||||
/* 00AF0 808A42C0 27A40068 */ addiu $a0, $sp, 0x0068 ## $a0 = FFFFFFB8
|
||||
/* 00AF4 808A42C4 244B0008 */ addiu $t3, $v0, 0x0008 ## $t3 = 00000008
|
||||
/* 00AF8 808A42C8 AE0B02C0 */ sw $t3, 0x02C0($s0) ## 000002C0
|
||||
/* 00AFC 808A42CC AC4F0004 */ sw $t7, 0x0004($v0) ## 00000004
|
||||
/* 00B00 808A42D0 0C03423F */ jal Matrix_Put
|
||||
/* 00B04 808A42D4 AC4E0000 */ sw $t6, 0x0000($v0) ## 00000000
|
||||
/* 00B08 808A42D8 3C014327 */ lui $at, 0x4327 ## $at = 43270000
|
||||
/* 00B0C 808A42DC 44816000 */ mtc1 $at, $f12 ## $f12 = 167.00
|
||||
/* 00B10 808A42E0 3C01C35A */ lui $at, 0xC35A ## $at = C35A0000
|
||||
/* 00B14 808A42E4 44817000 */ mtc1 $at, $f14 ## $f14 = -218.00
|
||||
/* 00B18 808A42E8 3C06C3E2 */ lui $a2, 0xC3E2 ## $a2 = C3E20000
|
||||
/* 00B1C 808A42EC 34C68000 */ ori $a2, $a2, 0x8000 ## $a2 = C3E28000
|
||||
/* 00B20 808A42F0 0C034261 */ jal Matrix_Translate
|
||||
/* 00B24 808A42F4 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00B28 808A42F8 8FA400B4 */ lw $a0, 0x00B4($sp)
|
||||
/* 00B2C 808A42FC 0C00B32C */ jal Flags_GetTreasure
|
||||
|
||||
/* 00B30 808A4300 2405000E */ addiu $a1, $zero, 0x000E ## $a1 = 0000000E
|
||||
/* 00B34 808A4304 10400007 */ beq $v0, $zero, .L808A4324
|
||||
/* 00B38 808A4308 3C01808A */ lui $at, %hi(D_808A44DC) ## $at = 808A0000
|
||||
/* 00B3C 808A430C 3C01808A */ lui $at, %hi(D_808A44D8) ## $at = 808A0000
|
||||
/* 00B40 808A4310 C42C44D8 */ lwc1 $f12, %lo(D_808A44D8)($at)
|
||||
/* 00B44 808A4314 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 00B48 808A4318 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
/* 00B4C 808A431C 10000004 */ beq $zero, $zero, .L808A4330
|
||||
/* 00B50 808A4320 00000000 */ nop
|
||||
.L808A4324:
|
||||
/* 00B54 808A4324 C42C44DC */ lwc1 $f12, %lo(D_808A44DC)($at)
|
||||
/* 00B58 808A4328 0C0343B5 */ jal Matrix_RotateZ
|
||||
/* 00B5C 808A432C 24050001 */ addiu $a1, $zero, 0x0001 ## $a1 = 00000001
|
||||
.L808A4330:
|
||||
/* 00B60 808A4330 3C01808A */ lui $at, %hi(D_808A44E0) ## $at = 808A0000
|
||||
/* 00B64 808A4334 C42C44E0 */ lwc1 $f12, %lo(D_808A44E0)($at)
|
||||
/* 00B68 808A4338 24070001 */ addiu $a3, $zero, 0x0001 ## $a3 = 00000001
|
||||
/* 00B6C 808A433C 44066000 */ mfc1 $a2, $f12
|
||||
/* 00B70 808A4340 0C0342A3 */ jal Matrix_Scale
|
||||
/* 00B74 808A4344 46006386 */ mov.s $f14, $f12
|
||||
/* 00B78 808A4348 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00B7C 808A434C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
|
||||
/* 00B80 808A4350 37390003 */ ori $t9, $t9, 0x0003 ## $t9 = DA380003
|
||||
/* 00B84 808A4354 24580008 */ addiu $t8, $v0, 0x0008 ## $t8 = 00000008
|
||||
/* 00B88 808A4358 AE1802C0 */ sw $t8, 0x02C0($s0) ## 000002C0
|
||||
/* 00B8C 808A435C AC590000 */ sw $t9, 0x0000($v0) ## 00000000
|
||||
/* 00B90 808A4360 8FA800B4 */ lw $t0, 0x00B4($sp)
|
||||
/* 00B94 808A4364 3C05808A */ lui $a1, %hi(D_808A4480) ## $a1 = 808A0000
|
||||
/* 00B98 808A4368 24A54480 */ addiu $a1, $a1, %lo(D_808A4480) ## $a1 = 808A4480
|
||||
/* 00B9C 808A436C 8D040000 */ lw $a0, 0x0000($t0) ## 00000000
|
||||
/* 00BA0 808A4370 240602BF */ addiu $a2, $zero, 0x02BF ## $a2 = 000002BF
|
||||
/* 00BA4 808A4374 0C0346A2 */ jal Matrix_NewMtx
|
||||
/* 00BA8 808A4378 AFA2002C */ sw $v0, 0x002C($sp)
|
||||
/* 00BAC 808A437C 8FA3002C */ lw $v1, 0x002C($sp)
|
||||
/* 00BB0 808A4380 3C0C0600 */ lui $t4, 0x0600 ## $t4 = 06000000
|
||||
/* 00BB4 808A4384 258C1678 */ addiu $t4, $t4, 0x1678 ## $t4 = 06001678
|
||||
/* 00BB8 808A4388 AC620004 */ sw $v0, 0x0004($v1) ## 00000004
|
||||
/* 00BBC 808A438C 8E0202C0 */ lw $v0, 0x02C0($s0) ## 000002C0
|
||||
/* 00BC0 808A4390 3C0ADE00 */ lui $t2, 0xDE00 ## $t2 = DE000000
|
||||
/* 00BC4 808A4394 24490008 */ addiu $t1, $v0, 0x0008 ## $t1 = 00000008
|
||||
/* 00BC8 808A4398 AE0902C0 */ sw $t1, 0x02C0($s0) ## 000002C0
|
||||
/* 00BCC 808A439C AC4C0004 */ sw $t4, 0x0004($v0) ## 00000004
|
||||
/* 00BD0 808A43A0 AC4A0000 */ sw $t2, 0x0000($v0) ## 00000000
|
||||
.L808A43A4:
|
||||
/* 00BD4 808A43A4 8FAD00B4 */ lw $t5, 0x00B4($sp)
|
||||
.L808A43A8:
|
||||
/* 00BD8 808A43A8 3C06808A */ lui $a2, %hi(D_808A4498) ## $a2 = 808A0000
|
||||
/* 00BDC 808A43AC 24C64498 */ addiu $a2, $a2, %lo(D_808A4498) ## $a2 = 808A4498
|
||||
/* 00BE0 808A43B0 27A40054 */ addiu $a0, $sp, 0x0054 ## $a0 = FFFFFFA4
|
||||
/* 00BE4 808A43B4 240702C5 */ addiu $a3, $zero, 0x02C5 ## $a3 = 000002C5
|
||||
/* 00BE8 808A43B8 0C031AD5 */ jal Graph_CloseDisps
|
||||
/* 00BEC 808A43BC 8DA50000 */ lw $a1, 0x0000($t5) ## 00000000
|
||||
/* 00BF0 808A43C0 8FBF001C */ lw $ra, 0x001C($sp)
|
||||
/* 00BF4 808A43C4 8FB00018 */ lw $s0, 0x0018($sp)
|
||||
/* 00BF8 808A43C8 27BD00B0 */ addiu $sp, $sp, 0x00B0 ## $sp = 00000000
|
||||
/* 00BFC 808A43CC 03E00008 */ jr $ra
|
||||
/* 00C00 808A43D0 00000000 */ nop
|
||||
/* 00C04 808A43D4 00000000 */ nop
|
||||
/* 00C08 808A43D8 00000000 */ nop
|
||||
/* 00C0C 808A43DC 00000000 */ nop
|
|
@ -1,24 +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 D_808A43E0
|
||||
.word 0xFFFF0000
|
||||
glabel Bg_Mori_Hineri_InitVars
|
||||
.word 0x00680100, 0x00000030, 0x00010000, 0x0000016C
|
||||
.word BgMoriHineri_Init
|
||||
.word BgMoriHineri_Destroy
|
||||
.word BgMoriHineri_Update
|
||||
.word 0x00000000
|
||||
glabel D_808A4404
|
||||
.word 0x485003E8
|
||||
glabel D_808A4408
|
||||
.word 0x060024E0, 0x06001980, 0x060020F0, 0x06002B70, 0x00000000, 0x00000000
|
||||
|
|
@ -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_808A44F0
|
||||
.incbin "baserom/ovl_Bg_Mori_Hineri", 0xD20, 0x00000150
|
|
@ -1042,7 +1042,7 @@ VecSph* OLib_Vec3fDiffToVecSphRot90(VecSph* arg0, Vec3f* a, Vec3f* b);
|
|||
// ? func_8007FFE0(?);
|
||||
// ? func_80080024(?);
|
||||
s16 func_800800F8(GlobalContext* globalCtx, s16 arg1, s16 arg2, Actor* actor, s16 arg4);
|
||||
// ? func_800803F0(?);
|
||||
UNK_TYPE func_800803F0(GlobalContext* globalCtx, s16 arg1);
|
||||
// ? func_80080480(?);
|
||||
void func_80080788(UNK_TYPE, UNK_TYPE);
|
||||
void Map_SavePlayerInitialInfo(GlobalContext* globalCtx);
|
||||
|
|
3
spec
3
spec
|
@ -1147,8 +1147,7 @@ endseg
|
|||
beginseg
|
||||
name "ovl_Bg_Mori_Hineri"
|
||||
include "build/src/overlays/actors/ovl_Bg_Mori_Hineri/z_bg_mori_hineri.o"
|
||||
include "build/data/overlays/actors/z_bg_mori_hineri.data.o"
|
||||
include "build/data/overlays/actors/z_bg_mori_hineri.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_Bg_Mori_Hineri/ovl_Bg_Mori_Hineri_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
/*
|
||||
* File: z_bg_mori_hineri.c
|
||||
* Overlay: ovl_Bg_Mori_Hineri
|
||||
* Description: Twisting hallway in Forest Temple
|
||||
*/
|
||||
|
||||
#include "z_bg_mori_hineri.h"
|
||||
|
||||
#define FLAGS 0x00000030
|
||||
|
@ -7,8 +13,17 @@
|
|||
void BgMoriHineri_Init(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgMoriHineri_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgMoriHineri_Update(Actor* thisx, GlobalContext* globalCtx);
|
||||
void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx);
|
||||
|
||||
void func_808A39FC(BgMoriHineri* this, GlobalContext* globalCtx);
|
||||
void func_808A3E54(BgMoriHineri* this, GlobalContext* globalCtx);
|
||||
void func_808A3C8C(BgMoriHineri* this, GlobalContext* globalCtx);
|
||||
void BgMoriHineri_SpawnBossKeyChest(BgMoriHineri* this, GlobalContext* globalCtx);
|
||||
void BgMoriHineri_DoNothing(BgMoriHineri* this, GlobalContext* globalCtx);
|
||||
void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx);
|
||||
|
||||
static s16 D_808A43E0 = -1;
|
||||
|
||||
/*
|
||||
const ActorInit Bg_Mori_Hineri_InitVars = {
|
||||
ACTOR_BG_MORI_HINERI,
|
||||
ACTORTYPE_BG,
|
||||
|
@ -20,23 +35,251 @@ const ActorInit Bg_Mori_Hineri_InitVars = {
|
|||
(ActorFunc)BgMoriHineri_Update,
|
||||
NULL,
|
||||
};
|
||||
*/
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Init.s")
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Destroy.s")
|
||||
static InitChainEntry sInitChain[] = {
|
||||
ICHAIN_VEC3F_DIV1000(scale, 1000, ICHAIN_STOP),
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A39FC.s")
|
||||
static Gfx* sDLists[] = {
|
||||
0x060024E0,
|
||||
0x06001980,
|
||||
0x060020F0,
|
||||
0x06002B70,
|
||||
};
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BF0.s")
|
||||
extern UNK_TYPE D_060054B8;
|
||||
extern UNK_TYPE D_06003490;
|
||||
extern UNK_TYPE D_060043D0;
|
||||
extern UNK_TYPE D_06006078;
|
||||
extern Gfx D_04049FE0[]; // display list for studded dungeon door
|
||||
extern Gfx D_06000AE8[];
|
||||
extern Gfx D_06001678[];
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3BFC.s")
|
||||
void BgMoriHineri_Init(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgMoriHineri* this = THIS;
|
||||
s8 moriHineriObjIdx;
|
||||
u32 switchFlagParam;
|
||||
s32 t6;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3C8C.s")
|
||||
Actor_ProcessInitChain(&this->dyna.actor, sInitChain);
|
||||
DynaPolyInfo_SetActorMove(&this->dyna.actor, DPM_PLAYER);
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3D58.s")
|
||||
switchFlagParam = this->dyna.actor.params & 0x3F;
|
||||
t6 = this->dyna.actor.params & 0x4000;
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3E54.s")
|
||||
if (t6 != 0) {
|
||||
this->switchFlag = switchFlagParam;
|
||||
} else {
|
||||
this->switchFlag = ((this->dyna.actor.params >> 8) & 0x3F);
|
||||
this->switchFlag = (Flags_GetSwitch(globalCtx, this->switchFlag)) ? 1 : 0;
|
||||
}
|
||||
this->dyna.actor.params = ((this->dyna.actor.params & 0x8000) >> 0xE);
|
||||
if (Flags_GetSwitch(globalCtx, switchFlagParam)) {
|
||||
if (this->dyna.actor.params == 0) {
|
||||
this->dyna.actor.params = 1;
|
||||
} else if (this->dyna.actor.params == 2) {
|
||||
this->dyna.actor.params = 3;
|
||||
}
|
||||
}
|
||||
this->boxObjIdx = -1;
|
||||
if (this->dyna.actor.params == 0) {
|
||||
this->moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1);
|
||||
if (t6 == 0) {
|
||||
this->boxObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_BOX);
|
||||
}
|
||||
} else {
|
||||
if (this->dyna.actor.params == 1) {
|
||||
moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1A);
|
||||
} else {
|
||||
moriHineriObjIdx = (this->dyna.actor.params == 2)
|
||||
? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2)
|
||||
: Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A);
|
||||
}
|
||||
this->moriHineriObjIdx = moriHineriObjIdx;
|
||||
}
|
||||
this->moriTexObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_TEX);
|
||||
if (t6 != 0) {
|
||||
this->dyna.actor.params += 4;
|
||||
}
|
||||
if ((this->moriHineriObjIdx < 0) || (this->moriTexObjIdx < 0)) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
} else {
|
||||
this->actionFunc = func_808A39FC;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/BgMoriHineri_Update.s")
|
||||
void BgMoriHineri_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgMoriHineri* this = THIS;
|
||||
DynaPolyInfo_Free(globalCtx, &globalCtx->colCtx.dyna, this->dyna.dynaPolyId);
|
||||
}
|
||||
|
||||
#pragma GLOBAL_ASM("asm/non_matchings/overlays/actors/ovl_Bg_Mori_Hineri/func_808A3F58.s")
|
||||
void func_808A39FC(BgMoriHineri* this, GlobalContext* globalCtx) {
|
||||
s32 sp2C;
|
||||
|
||||
if ((Object_IsLoaded(&globalCtx->objectCtx, this->moriHineriObjIdx)) &&
|
||||
(Object_IsLoaded(&globalCtx->objectCtx, this->moriTexObjIdx)) &&
|
||||
((this->boxObjIdx < 0) || (Object_IsLoaded(&globalCtx->objectCtx, this->boxObjIdx)))) {
|
||||
this->dyna.actor.objBankIndex = this->moriHineriObjIdx;
|
||||
if (this->dyna.actor.params >= 4) {
|
||||
this->dyna.actor.params -= 4;
|
||||
if (this->dyna.actor.params == 0) {
|
||||
this->moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1A);
|
||||
} else if (this->dyna.actor.params == 1) {
|
||||
this->moriHineriObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI1);
|
||||
} else {
|
||||
this->moriHineriObjIdx = (this->dyna.actor.params == 2)
|
||||
? Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2A)
|
||||
: Object_GetIndex(&globalCtx->objectCtx, OBJECT_MORI_HINERI2);
|
||||
}
|
||||
if (this->moriHineriObjIdx < 0) {
|
||||
Actor_Kill(&this->dyna.actor);
|
||||
} else {
|
||||
this->actionFunc = func_808A3D58;
|
||||
}
|
||||
} else {
|
||||
Actor_SetObjectDependency(globalCtx, &this->dyna.actor);
|
||||
sp2C = 0;
|
||||
this->dyna.actor.draw = BgMoriHineri_DrawHallAndRoom;
|
||||
if (this->dyna.actor.params == 0) {
|
||||
this->actionFunc = func_808A3C8C;
|
||||
DynaPolyInfo_Alloc(&D_060054B8, &sp2C);
|
||||
} else if (this->dyna.actor.params == 1) {
|
||||
this->actionFunc = BgMoriHineri_SpawnBossKeyChest;
|
||||
DynaPolyInfo_Alloc(&D_06003490, &sp2C);
|
||||
} else if (this->dyna.actor.params == 2) {
|
||||
this->actionFunc = BgMoriHineri_DoNothing;
|
||||
DynaPolyInfo_Alloc(&D_060043D0, &sp2C);
|
||||
} else {
|
||||
this->actionFunc = func_808A3C8C;
|
||||
DynaPolyInfo_Alloc(&D_06006078, &sp2C);
|
||||
}
|
||||
this->dyna.dynaPolyId =
|
||||
DynaPolyInfo_RegisterActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, sp2C);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BgMoriHineri_DoNothing(BgMoriHineri* this, GlobalContext* globalCtx) {
|
||||
}
|
||||
|
||||
void BgMoriHineri_SpawnBossKeyChest(BgMoriHineri* this, GlobalContext* globalCtx) {
|
||||
Actor_Spawn(&globalCtx->actorCtx, globalCtx, ACTOR_EN_BOX, this->dyna.actor.posRot.pos.x + 147.0f,
|
||||
this->dyna.actor.posRot.pos.y + -245.0f, this->dyna.actor.posRot.pos.z + -453.0f, 0, 0x4000, 0, 0x27EE);
|
||||
this->actionFunc = BgMoriHineri_DoNothing;
|
||||
}
|
||||
|
||||
void func_808A3C8C(BgMoriHineri* this, GlobalContext* globalCtx) {
|
||||
f32 f0;
|
||||
Player* player = PLAYER;
|
||||
|
||||
f0 = 1100.0f - (player->actor.posRot.pos.z - this->dyna.actor.posRot.pos.z);
|
||||
this->dyna.actor.shape.rot.z = CLAMP(f0, 0.0f, 1000.0f) * 16.384f;
|
||||
func_8005A77C(globalCtx->cameraPtrs[0], 4);
|
||||
if (this->dyna.actor.params != 0) {
|
||||
this->dyna.actor.shape.rot.z = -this->dyna.actor.shape.rot.z;
|
||||
}
|
||||
}
|
||||
|
||||
void func_808A3D58(BgMoriHineri* this, GlobalContext* globalCtx) {
|
||||
s16 unk_14E;
|
||||
|
||||
if ((Flags_GetSwitch(globalCtx, this->switchFlag) &&
|
||||
(this->dyna.actor.params == 0 || this->dyna.actor.params == 2)) ||
|
||||
(!Flags_GetSwitch(globalCtx, this->switchFlag) &&
|
||||
(this->dyna.actor.params == 1 || this->dyna.actor.params == 3))) {
|
||||
this->dyna.actor.draw = BgMoriHineri_DrawHallAndRoom;
|
||||
this->actionFunc = func_808A3E54;
|
||||
|
||||
unk_14E = globalCtx->cameraPtrs[0]->unk_14E;
|
||||
if ((unk_14E != 0) && (globalCtx->cameraPtrs[unk_14E]->setting == 0x26)) {
|
||||
func_800803F0(globalCtx, unk_14E);
|
||||
}
|
||||
func_800800F8(globalCtx, 0xCBC, 0x28, &this->dyna.actor, 0);
|
||||
D_808A43E0 = func_800800F8(globalCtx, 0xCBD, 0x28, &this->dyna.actor, 0);
|
||||
}
|
||||
}
|
||||
|
||||
void func_808A3E54(BgMoriHineri* this, GlobalContext* globalCtx) {
|
||||
s8 objBankIndex;
|
||||
|
||||
if (globalCtx->activeCamera == D_808A43E0) {
|
||||
if (D_808A43E0 != 0) {
|
||||
objBankIndex = this->dyna.actor.objBankIndex;
|
||||
this->dyna.actor.objBankIndex = this->moriHineriObjIdx;
|
||||
this->moriHineriObjIdx = objBankIndex;
|
||||
this->dyna.actor.params ^= 1;
|
||||
D_808A43E0 = 0;
|
||||
func_80078884(NA_SE_SY_TRE_BOX_APPEAR);
|
||||
} else {
|
||||
this->dyna.actor.draw = NULL;
|
||||
this->actionFunc = func_808A3D58;
|
||||
D_808A43E0 = -1;
|
||||
}
|
||||
}
|
||||
if ((D_808A43E0 > 0) &&
|
||||
((ACTIVE_CAM->eye.z - this->dyna.actor.posRot.pos.z) < 1100.0f)) {
|
||||
func_8002F948(&this->dyna.actor, NA_SE_EV_FLOOR_ROLLING - SFX_FLAG);
|
||||
}
|
||||
}
|
||||
|
||||
void BgMoriHineri_Update(Actor* thisx, GlobalContext* globalCtx) {
|
||||
BgMoriHineri* this = THIS;
|
||||
|
||||
this->actionFunc(this, globalCtx);
|
||||
}
|
||||
|
||||
void BgMoriHineri_DrawHallAndRoom(Actor* thisx, GlobalContext* globalCtx) {
|
||||
|
||||
BgMoriHineri* this = THIS;
|
||||
s8 objIndex;
|
||||
MtxF mtx;
|
||||
GraphicsContext* gfxCtx = globalCtx->state.gfxCtx;
|
||||
Gfx* dispRefs[4];
|
||||
|
||||
Graph_OpenDisps(&dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 611);
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x08, globalCtx->objectCtx.status[this->moriTexObjIdx].segment);
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 618),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, sDLists[this->dyna.actor.params]);
|
||||
if (this->boxObjIdx > 0) {
|
||||
Matrix_Get(&mtx);
|
||||
}
|
||||
if ((this->actionFunc == func_808A3C8C) && (this->dyna.actor.shape.rot.z != 0)) {
|
||||
func_80093D18(globalCtx->state.gfxCtx);
|
||||
if (this->dyna.actor.params == 0) {
|
||||
Matrix_Translate(-1761.0f, 1278.0f, -1821.0f, MTXMODE_NEW);
|
||||
} else {
|
||||
Matrix_Translate(1999.0f, 1278.0f, -1821.0f, MTXMODE_NEW);
|
||||
}
|
||||
Matrix_RotateRPY(0, -0x8000, this->dyna.actor.shape.rot.z, MTXMODE_APPLY);
|
||||
Matrix_Translate(0.0f, -50.0f, 0.0f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 652),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, D_04049FE0);
|
||||
}
|
||||
if ((this->boxObjIdx > 0) && ((this->boxObjIdx = Object_GetIndex(&globalCtx->objectCtx, OBJECT_BOX)) > 0) &&
|
||||
(Object_IsLoaded(&globalCtx->objectCtx, this->boxObjIdx))) {
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x06, globalCtx->objectCtx.status[this->boxObjIdx].segment);
|
||||
gSPSegment(gfxCtx->polyOpa.p++, 0x08, &D_80116280[2]);
|
||||
Matrix_Put(&mtx);
|
||||
Matrix_Translate(147.0f, -245.0f, -453.0f, MTXMODE_APPLY);
|
||||
Matrix_RotateY(1.5707964f, MTXMODE_APPLY);
|
||||
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 689),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, D_06000AE8);
|
||||
Matrix_Put(&mtx);
|
||||
Matrix_Translate(167.0f, -218.0f, -453.0f, MTXMODE_APPLY);
|
||||
if (Flags_GetTreasure(globalCtx, 0xE)) {
|
||||
Matrix_RotateZ(1.3008157f, MTXMODE_APPLY);
|
||||
} else {
|
||||
Matrix_RotateZ(M_PI, MTXMODE_APPLY);
|
||||
}
|
||||
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
|
||||
gSPMatrix(gfxCtx->polyOpa.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 703),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(gfxCtx->polyOpa.p++, D_06001678);
|
||||
}
|
||||
Graph_CloseDisps(dispRefs, globalCtx->state.gfxCtx, "../z_bg_mori_hineri.c", 709);
|
||||
}
|
||||
|
|
|
@ -6,9 +6,15 @@
|
|||
|
||||
struct BgMoriHineri;
|
||||
|
||||
typedef void (*BgMoriHineriActionFunc)(struct BgMoriHineri*, GlobalContext*);
|
||||
|
||||
typedef struct BgMoriHineri {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x20];
|
||||
/* 0x0000 */ DynaPolyActor dyna;
|
||||
/* 0x0164 */ BgMoriHineriActionFunc actionFunc;
|
||||
/* 0x0168 */ s8 moriHineriObjIdx;
|
||||
/* 0x0169 */ s8 moriTexObjIdx;
|
||||
/* 0x016A */ s8 boxObjIdx;
|
||||
/* 0x016B */ s8 switchFlag;
|
||||
} BgMoriHineri; // size = 0x016C
|
||||
|
||||
extern const ActorInit Bg_Mori_Hineri_InitVars;
|
||||
|
|
|
@ -768,6 +768,15 @@ D_02003C80 = 0x02003C80;
|
|||
D_02005020 = 0x02005020;
|
||||
D_020024A0 = 0x020024A0;
|
||||
|
||||
// z_bg_mori_hineri
|
||||
D_060054B8 = 0x060054B8;
|
||||
D_06003490 = 0x06003490;
|
||||
D_060043D0 = 0x060043D0;
|
||||
D_06006078 = 0x06006078;
|
||||
D_04049FE0 = 0x04049FE0;
|
||||
D_06000AE8 = 0x06000AE8;
|
||||
D_06001678 = 0x06001678;
|
||||
|
||||
// z_bg_haka_tubo
|
||||
D_060108B8 = 0x060108B8;
|
||||
D_0600FE40 = 0x0600FE40;
|
||||
|
|
Loading…
Add table
Reference in a new issue