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

z_skin_matrix.c decompiled (1 non matching, 1 non equivalent) (#243)

* func_800A7BE4 and func_800A7C20 done

- func_800A7BE4 copy of "Math_Vec3f_ToVec3s" in z_lib.c
- func_800A7C20 copy of "Math_Vec3s_ToVec3f" in z_lib.c

* done func_800A7A24

* func_800A76A4 done

* func_800A6E10 done

* func_800A6EF4 done

* func_800A6FA0 done

* func_800A72FC done

* Deleted z_skin_matrix.data.s and updated spec

* func_800A730C done

* func_800A735C done

* func_800A7E70 done, func_800A7C60 matching but I'm not happy with it (weird types in function params)

* Corrections. func_800A7C60 in skin_matrix done, Matrix_MtxFToMtx in sys_matrix done.

* func_800A7EC0 nonmatching

* func_800A8030 nonmatching but VERY close (two registers swapped)

* func_800A8030 done

* updating comments

* func_800A7704 done

* func_800A7894 done

* halfway through deciphering mips_to_c for func_800A73E0

* func_800A73E0 functional but non-matching (saved register differences and probably regalloc)

* Renaming some arguments and rewriting comments

* Renamed files across whole project and deleted asm nonmatchings

* ran format.sh

* fixed function name

* fixing multiplcation order in SkinMatrix_MtxFMtxFMult

* Corrections in SkinMatrix_MtxFMtxFMult

* Formatting changes after review

* Changes as per code review

* fixing rename error

* fixing rename error

* rename fixes

* fixing function rename error

* ran ./format.sh

* last couple of changes as per code review

* renamed SetScaling -> SetScale

* Skin_Matrix_Invert -> SkinMatrix_Invert

* Renaming and fixing debug message print

* Renamed argument "mf" to more specific "clear" in SkinMatrix_GetClear

* renamed again to "mfp"

* snake case to camel case changes
This commit is contained in:
AdamKiddle 2020-08-08 16:23:16 +01:00 committed by GitHub
parent 34c73dda62
commit 54f762b419
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
85 changed files with 947 additions and 1443 deletions

View File

@ -53,10 +53,11 @@ glabel func_800430A0
/* ABA2B4 80043114 E7A60020 */ swc1 $f6, 0x20($sp)
/* ABA2B8 80043118 C4680084 */ lwc1 $f8, 0x84($v1)
/* ABA2BC 8004311C AFA30034 */ sw $v1, 0x34($sp)
/* ABA2C0 80043120 0C029EC1 */ jal func_800A7B04
/* ABA2C0 80043120 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate
/* ABA2C4 80043124 E7A80024 */ swc1 $f8, 0x24($sp)
/* ABA2C8 80043128 27A400D0 */ addiu $a0, $sp, 0xd0
/* ABA2CC 8004312C 0C029CF8 */ jal func_800A73E0
/* ABA2CC 8004312C 0C029CF8 */ jal SkinMatrix_Invert
/* ABA2D0 80043130 27A50090 */ addiu $a1, $sp, 0x90
/* ABA2D4 80043134 24010002 */ li $at, 2
/* ABA2D8 80043138 10410055 */ beq $v0, $at, .L80043290
@ -76,17 +77,18 @@ glabel func_800430A0
/* ABA310 80043170 C47000A0 */ lwc1 $f16, 0xa0($v1)
/* ABA314 80043174 E7B00020 */ swc1 $f16, 0x20($sp)
/* ABA318 80043178 C47200A4 */ lwc1 $f18, 0xa4($v1)
/* ABA31C 8004317C 0C029EC1 */ jal func_800A7B04
/* ABA31C 8004317C 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate
/* ABA320 80043180 E7B20024 */ swc1 $f18, 0x24($sp)
/* ABA324 80043184 8FA50118 */ lw $a1, 0x118($sp)
/* ABA328 80043188 27A40090 */ addiu $a0, $sp, 0x90
/* ABA32C 8004318C 27A60038 */ addiu $a2, $sp, 0x38
/* ABA330 80043190 24A50024 */ addiu $a1, $a1, 0x24
/* ABA334 80043194 0C029BBD */ jal func_800A6EF4
/* ABA334 80043194 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* ABA338 80043198 AFA50034 */ sw $a1, 0x34($sp)
/* ABA33C 8004319C 27A40050 */ addiu $a0, $sp, 0x50
/* ABA340 800431A0 27A50038 */ addiu $a1, $sp, 0x38
/* ABA344 800431A4 0C029BBD */ jal func_800A6EF4
/* ABA344 800431A4 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* ABA348 800431A8 27A60044 */ addiu $a2, $sp, 0x44
/* ABA34C 800431AC 27AF0044 */ addiu $t7, $sp, 0x44
/* ABA350 800431B0 8DF80000 */ lw $t8, ($t7)

View File

@ -1,134 +0,0 @@
glabel Matrix_MtxFToMtx
/* B489E0 800D1840 3C014780 */ li $at, 0x47800000 # 0.000000
/* B489E4 800D1844 44810000 */ mtc1 $at, $f0
/* B489E8 800D1848 C4840000 */ lwc1 $f4, ($a0)
/* B489EC 800D184C 24A30020 */ addiu $v1, $a1, 0x20
/* B489F0 800D1850 00A01025 */ move $v0, $a1
/* B489F4 800D1854 46002182 */ mul.s $f6, $f4, $f0
/* B489F8 800D1858 4600320D */ trunc.w.s $f8, $f6
/* B489FC 800D185C 44184000 */ mfc1 $t8, $f8
/* B48A00 800D1860 00000000 */ nop
/* B48A04 800D1864 00187C03 */ sra $t7, $t8, 0x10
/* B48A08 800D1868 A4AF0000 */ sh $t7, ($a1)
/* B48A0C 800D186C A4B80020 */ sh $t8, 0x20($a1)
/* B48A10 800D1870 C48A0004 */ lwc1 $f10, 4($a0)
/* B48A14 800D1874 46005402 */ mul.s $f16, $f10, $f0
/* B48A18 800D1878 4600848D */ trunc.w.s $f18, $f16
/* B48A1C 800D187C 44099000 */ mfc1 $t1, $f18
/* B48A20 800D1880 00000000 */ nop
/* B48A24 800D1884 00094403 */ sra $t0, $t1, 0x10
/* B48A28 800D1888 A4A80002 */ sh $t0, 2($a1)
/* B48A2C 800D188C A4A90022 */ sh $t1, 0x22($a1)
/* B48A30 800D1890 C4840008 */ lwc1 $f4, 8($a0)
/* B48A34 800D1894 46002182 */ mul.s $f6, $f4, $f0
/* B48A38 800D1898 4600320D */ trunc.w.s $f8, $f6
/* B48A3C 800D189C 440C4000 */ mfc1 $t4, $f8
/* B48A40 800D18A0 00000000 */ nop
/* B48A44 800D18A4 000C5C03 */ sra $t3, $t4, 0x10
/* B48A48 800D18A8 A4AB0004 */ sh $t3, 4($a1)
/* B48A4C 800D18AC A4AC0024 */ sh $t4, 0x24($a1)
/* B48A50 800D18B0 C48A000C */ lwc1 $f10, 0xc($a0)
/* B48A54 800D18B4 46005402 */ mul.s $f16, $f10, $f0
/* B48A58 800D18B8 4600848D */ trunc.w.s $f18, $f16
/* B48A5C 800D18BC 440F9000 */ mfc1 $t7, $f18
/* B48A60 800D18C0 00000000 */ nop
/* B48A64 800D18C4 000F7403 */ sra $t6, $t7, 0x10
/* B48A68 800D18C8 A4AE0006 */ sh $t6, 6($a1)
/* B48A6C 800D18CC A4AF0026 */ sh $t7, 0x26($a1)
/* B48A70 800D18D0 C4840010 */ lwc1 $f4, 0x10($a0)
/* B48A74 800D18D4 46002182 */ mul.s $f6, $f4, $f0
/* B48A78 800D18D8 4600320D */ trunc.w.s $f8, $f6
/* B48A7C 800D18DC 44084000 */ mfc1 $t0, $f8
/* B48A80 800D18E0 00000000 */ nop
/* B48A84 800D18E4 0008CC03 */ sra $t9, $t0, 0x10
/* B48A88 800D18E8 A4B90008 */ sh $t9, 8($a1)
/* B48A8C 800D18EC A4A80028 */ sh $t0, 0x28($a1)
/* B48A90 800D18F0 C48A0014 */ lwc1 $f10, 0x14($a0)
/* B48A94 800D18F4 46005402 */ mul.s $f16, $f10, $f0
/* B48A98 800D18F8 4600848D */ trunc.w.s $f18, $f16
/* B48A9C 800D18FC 440B9000 */ mfc1 $t3, $f18
/* B48AA0 800D1900 00000000 */ nop
/* B48AA4 800D1904 000B5403 */ sra $t2, $t3, 0x10
/* B48AA8 800D1908 A4AA000A */ sh $t2, 0xa($a1)
/* B48AAC 800D190C A4AB002A */ sh $t3, 0x2a($a1)
/* B48AB0 800D1910 C4840018 */ lwc1 $f4, 0x18($a0)
/* B48AB4 800D1914 46002182 */ mul.s $f6, $f4, $f0
/* B48AB8 800D1918 4600320D */ trunc.w.s $f8, $f6
/* B48ABC 800D191C 440E4000 */ mfc1 $t6, $f8
/* B48AC0 800D1920 00000000 */ nop
/* B48AC4 800D1924 000E6C03 */ sra $t5, $t6, 0x10
/* B48AC8 800D1928 A4AD000C */ sh $t5, 0xc($a1)
/* B48ACC 800D192C A4AE002C */ sh $t6, 0x2c($a1)
/* B48AD0 800D1930 C48A001C */ lwc1 $f10, 0x1c($a0)
/* B48AD4 800D1934 46005402 */ mul.s $f16, $f10, $f0
/* B48AD8 800D1938 4600848D */ trunc.w.s $f18, $f16
/* B48ADC 800D193C 44199000 */ mfc1 $t9, $f18
/* B48AE0 800D1940 00000000 */ nop
/* B48AE4 800D1944 0019C403 */ sra $t8, $t9, 0x10
/* B48AE8 800D1948 A4B8000E */ sh $t8, 0xe($a1)
/* B48AEC 800D194C A4B9002E */ sh $t9, 0x2e($a1)
/* B48AF0 800D1950 C4840020 */ lwc1 $f4, 0x20($a0)
/* B48AF4 800D1954 46002182 */ mul.s $f6, $f4, $f0
/* B48AF8 800D1958 4600320D */ trunc.w.s $f8, $f6
/* B48AFC 800D195C 440A4000 */ mfc1 $t2, $f8
/* B48B00 800D1960 00000000 */ nop
/* B48B04 800D1964 000A4C03 */ sra $t1, $t2, 0x10
/* B48B08 800D1968 A4A90010 */ sh $t1, 0x10($a1)
/* B48B0C 800D196C A4AA0030 */ sh $t2, 0x30($a1)
/* B48B10 800D1970 C48A0024 */ lwc1 $f10, 0x24($a0)
/* B48B14 800D1974 46005402 */ mul.s $f16, $f10, $f0
/* B48B18 800D1978 4600848D */ trunc.w.s $f18, $f16
/* B48B1C 800D197C 440D9000 */ mfc1 $t5, $f18
/* B48B20 800D1980 00000000 */ nop
/* B48B24 800D1984 000D6403 */ sra $t4, $t5, 0x10
/* B48B28 800D1988 A4AC0012 */ sh $t4, 0x12($a1)
/* B48B2C 800D198C A46D0012 */ sh $t5, 0x12($v1)
/* B48B30 800D1990 C4840028 */ lwc1 $f4, 0x28($a0)
/* B48B34 800D1994 46002182 */ mul.s $f6, $f4, $f0
/* B48B38 800D1998 4600320D */ trunc.w.s $f8, $f6
/* B48B3C 800D199C 44184000 */ mfc1 $t8, $f8
/* B48B40 800D19A0 00000000 */ nop
/* B48B44 800D19A4 00187C03 */ sra $t7, $t8, 0x10
/* B48B48 800D19A8 A4AF0014 */ sh $t7, 0x14($a1)
/* B48B4C 800D19AC A4780014 */ sh $t8, 0x14($v1)
/* B48B50 800D19B0 C48A002C */ lwc1 $f10, 0x2c($a0)
/* B48B54 800D19B4 46005402 */ mul.s $f16, $f10, $f0
/* B48B58 800D19B8 4600848D */ trunc.w.s $f18, $f16
/* B48B5C 800D19BC 44099000 */ mfc1 $t1, $f18
/* B48B60 800D19C0 00000000 */ nop
/* B48B64 800D19C4 00094403 */ sra $t0, $t1, 0x10
/* B48B68 800D19C8 A4A80016 */ sh $t0, 0x16($a1)
/* B48B6C 800D19CC A4690016 */ sh $t1, 0x16($v1)
/* B48B70 800D19D0 C4840030 */ lwc1 $f4, 0x30($a0)
/* B48B74 800D19D4 46002182 */ mul.s $f6, $f4, $f0
/* B48B78 800D19D8 4600320D */ trunc.w.s $f8, $f6
/* B48B7C 800D19DC 440C4000 */ mfc1 $t4, $f8
/* B48B80 800D19E0 00000000 */ nop
/* B48B84 800D19E4 000C5C03 */ sra $t3, $t4, 0x10
/* B48B88 800D19E8 A4AB0018 */ sh $t3, 0x18($a1)
/* B48B8C 800D19EC A46C0018 */ sh $t4, 0x18($v1)
/* B48B90 800D19F0 C48A0034 */ lwc1 $f10, 0x34($a0)
/* B48B94 800D19F4 46005402 */ mul.s $f16, $f10, $f0
/* B48B98 800D19F8 4600848D */ trunc.w.s $f18, $f16
/* B48B9C 800D19FC 440F9000 */ mfc1 $t7, $f18
/* B48BA0 800D1A00 00000000 */ nop
/* B48BA4 800D1A04 000F7403 */ sra $t6, $t7, 0x10
/* B48BA8 800D1A08 A4AE001A */ sh $t6, 0x1a($a1)
/* B48BAC 800D1A0C A46F001A */ sh $t7, 0x1a($v1)
/* B48BB0 800D1A10 C4840038 */ lwc1 $f4, 0x38($a0)
/* B48BB4 800D1A14 46002182 */ mul.s $f6, $f4, $f0
/* B48BB8 800D1A18 4600320D */ trunc.w.s $f8, $f6
/* B48BBC 800D1A1C 44084000 */ mfc1 $t0, $f8
/* B48BC0 800D1A20 00000000 */ nop
/* B48BC4 800D1A24 0008CC03 */ sra $t9, $t0, 0x10
/* B48BC8 800D1A28 A4B9001C */ sh $t9, 0x1c($a1)
/* B48BCC 800D1A2C A468001C */ sh $t0, 0x1c($v1)
/* B48BD0 800D1A30 C48A003C */ lwc1 $f10, 0x3c($a0)
/* B48BD4 800D1A34 46005402 */ mul.s $f16, $f10, $f0
/* B48BD8 800D1A38 4600848D */ trunc.w.s $f18, $f16
/* B48BDC 800D1A3C 440B9000 */ mfc1 $t3, $f18
/* B48BE0 800D1A40 00000000 */ nop
/* B48BE4 800D1A44 000B5403 */ sra $t2, $t3, 0x10
/* B48BE8 800D1A48 A4AA001E */ sh $t2, 0x1e($a1)
/* B48BEC 800D1A4C 03E00008 */ jr $ra
/* B48BF0 800D1A50 A46B001E */ sh $t3, 0x1e($v1)

View File

@ -223,7 +223,8 @@ glabel func_8003EE80
/* AB6360 8003F1C0 C6840050 */ lwc1 $f4, 0x50($s4)
/* AB6364 8003F1C4 E7A40020 */ swc1 $f4, 0x20($sp)
/* AB6368 8003F1C8 C6860054 */ lwc1 $f6, 0x54($s4)
/* AB636C 8003F1CC 0C029EC1 */ jal func_800A7B04
/* AB636C 8003F1CC 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate
/* AB6370 8003F1D0 E7A60024 */ swc1 $f6, 0x24($sp)
/* AB6374 8003F1D4 97CB000C */ lhu $t3, 0xc($fp)
/* AB6378 8003F1D8 3C013F80 */ li $at, 0x3F800000 # 0.000000
@ -255,7 +256,7 @@ glabel func_8003EE80
/* AB63D8 8003F238 03102821 */ addu $a1, $t8, $s0
/* AB63DC 8003F23C 02A02025 */ move $a0, $s5
/* AB63E0 8003F240 02202825 */ move $a1, $s1
/* AB63E4 8003F244 0C029BBD */ jal func_800A6EF4
/* AB63E4 8003F244 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* AB63E8 8003F248 02403025 */ move $a2, $s2
/* AB63EC 8003F24C 8FB90174 */ lw $t9, 0x174($sp)
/* AB63F0 8003F250 8EEF13F4 */ lw $t7, 0x13f4($s7)

View File

@ -194,7 +194,8 @@ glabel func_8003FDDC
/* AB7258 800400B8 C4460018 */ lwc1 $f6, 0x18($v0)
/* AB725C 800400BC E7A60020 */ swc1 $f6, 0x20($sp)
/* AB7260 800400C0 C448001C */ lwc1 $f8, 0x1c($v0)
/* AB7264 800400C4 0C029EC1 */ jal func_800A7B04
/* AB7264 800400C4 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate
/* AB7268 800400C8 E7A80024 */ swc1 $f8, 0x24($sp)
/* AB726C 800400CC 8E0D0018 */ lw $t5, 0x18($s0)
/* AB7270 800400D0 8E0C0028 */ lw $t4, 0x28($s0)
@ -223,7 +224,7 @@ glabel func_8003FDDC
/* AB72C8 80040128 01822821 */ addu $a1, $t4, $v0
/* AB72CC 8004012C 27A4008C */ addiu $a0, $sp, 0x8c
/* AB72D0 80040130 02602825 */ move $a1, $s3
/* AB72D4 80040134 0C029BBD */ jal func_800A6EF4
/* AB72D4 80040134 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* AB72D8 80040138 02203025 */ move $a2, $s1
/* AB72DC 8004013C 2631000C */ addiu $s1, $s1, 0xc
/* AB72E0 80040140 27AF0104 */ addiu $t7, $sp, 0x104

View File

@ -93,7 +93,7 @@ glabel EffectBlure_DrawSmooth
/* A991CC 8002202C 46804220 */ cvt.s.w $f8, $f8
/* A991D0 80022030 44063000 */ mfc1 $a2, $f6
/* A991D4 80022034 44074000 */ mfc1 $a3, $f8
/* A991D8 80022038 0C029E89 */ jal func_800A7A24
/* A991D8 80022038 0C029E89 */ jal SkinMatrix_SetTranslate
/* A991DC 8002203C 00000000 */ nop
/* A991E0 80022040 3C018013 */ lui $at, %hi(D_80135448)
/* A991E4 80022044 C4205448 */ lwc1 $f0, %lo(D_80135448)($at)
@ -102,14 +102,14 @@ glabel EffectBlure_DrawSmooth
/* A991F0 80022050 44050000 */ mfc1 $a1, $f0
/* A991F4 80022054 44060000 */ mfc1 $a2, $f0
/* A991F8 80022058 44070000 */ mfc1 $a3, $f0
/* A991FC 8002205C 0C029DA9 */ jal func_800A76A4
/* A991FC 8002205C 0C029DA9 */ jal SkinMatrix_SetScale
/* A99200 80022060 00000000 */ nop
/* A99204 80022064 02002025 */ move $a0, $s0
/* A99208 80022068 02202825 */ move $a1, $s1
/* A9920C 8002206C 0C029BE8 */ jal func_800A6FA0
/* A9920C 8002206C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* A99210 80022070 27A6005C */ addiu $a2, $sp, 0x5c
/* A99214 80022074 02A02025 */ move $a0, $s5
/* A99218 80022078 0C029F9C */ jal func_800A7E70
/* A99218 80022078 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* A9921C 8002207C 27A5005C */ addiu $a1, $sp, 0x5c
/* A99220 80022080 50400056 */ beql $v0, $zero, .L800221DC
/* A99224 80022084 8FBF002C */ lw $ra, 0x2c($sp)

View File

@ -1115,7 +1115,7 @@ glabel EffectSpark_Draw
.L80025FE4:
/* A9D184 80025FE4 8E250018 */ lw $a1, 0x18($s1)
/* A9D188 80025FE8 8E26001C */ lw $a2, 0x1c($s1)
/* A9D18C 80025FEC 0C029E89 */ jal func_800A7A24
/* A9D18C 80025FEC 0C029E89 */ jal SkinMatrix_SetTranslate
/* A9D190 80025FF0 8E270020 */ lw $a3, 0x20($s1)
/* A9D194 80025FF4 0C03F66B */ jal Math_Rand_ZeroOne
/* A9D198 80025FF8 00000000 */ nop
@ -1132,15 +1132,15 @@ glabel EffectSpark_Draw
/* A9D1C4 80026024 46085082 */ mul.s $f2, $f10, $f8
/* A9D1C8 80026028 44051000 */ mfc1 $a1, $f2
/* A9D1CC 8002602C 44061000 */ mfc1 $a2, $f2
/* A9D1D0 80026030 0C029DA9 */ jal func_800A76A4
/* A9D1D0 80026030 0C029DA9 */ jal SkinMatrix_SetScale
/* A9D1D4 80026034 00000000 */ nop
/* A9D1D8 80026038 27A400EC */ addiu $a0, $sp, 0xec
/* A9D1DC 8002603C 8FA5004C */ lw $a1, 0x4c($sp)
/* A9D1E0 80026040 0C029BE8 */ jal func_800A6FA0
/* A9D1E0 80026040 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* A9D1E4 80026044 27A6006C */ addiu $a2, $sp, 0x6c
/* A9D1E8 80026048 27A4006C */ addiu $a0, $sp, 0x6c
/* A9D1EC 8002604C 27A500AC */ addiu $a1, $sp, 0xac
/* A9D1F0 80026050 0C029BE8 */ jal func_800A6FA0
/* A9D1F0 80026050 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* A9D1F4 80026054 27A6012C */ addiu $a2, $sp, 0x12c
/* A9D1F8 80026058 A6130000 */ sh $s3, ($s0)
/* A9D1FC 8002605C A6130002 */ sh $s3, 2($s0)
@ -1200,7 +1200,7 @@ glabel EffectSpark_Draw
/* A9D2D4 80026134 A614FFF8 */ sh $s4, -8($s0)
/* A9D2D8 80026138 A614FFFA */ sh $s4, -6($s0)
/* A9D2DC 8002613C A600FFF6 */ sh $zero, -0xa($s0)
/* A9D2E0 80026140 0C029F9C */ jal func_800A7E70
/* A9D2E0 80026140 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* A9D2E4 80026144 A208FFFF */ sb $t0, -1($s0)
/* A9D2E8 80026148 10400027 */ beqz $v0, .L800261E8
/* A9D2EC 8002614C 00124980 */ sll $t1, $s2, 6

View File

@ -46,25 +46,25 @@ glabel func_80027F80
/* A9F198 80027FF8 8E270008 */ lw $a3, 8($s1)
/* A9F19C 80027FFC 27A40120 */ addiu $a0, $sp, 0x120
/* A9F1A0 80028000 46083002 */ mul.s $f0, $f6, $f8
/* A9F1A4 80028004 0C029E89 */ jal func_800A7A24
/* A9F1A4 80028004 0C029E89 */ jal SkinMatrix_SetTranslate
/* A9F1A8 80028008 E7A00160 */ swc1 $f0, 0x160($sp)
/* A9F1AC 8002800C C7A00160 */ lwc1 $f0, 0x160($sp)
/* A9F1B0 80028010 27A400E0 */ addiu $a0, $sp, 0xe0
/* A9F1B4 80028014 44050000 */ mfc1 $a1, $f0
/* A9F1B8 80028018 44060000 */ mfc1 $a2, $f0
/* A9F1BC 8002801C 44070000 */ mfc1 $a3, $f0
/* A9F1C0 80028020 0C029DA9 */ jal func_800A76A4
/* A9F1C0 80028020 0C029DA9 */ jal SkinMatrix_SetScale
/* A9F1C4 80028024 00000000 */ nop
/* A9F1C8 80028028 8FA50168 */ lw $a1, 0x168($sp)
/* A9F1CC 8002802C 3C010001 */ lui $at, (0x00011DA0 >> 16) # lui $at, 1
/* A9F1D0 80028030 34211DA0 */ ori $at, (0x00011DA0 & 0xFFFF) # ori $at, $at, 0x1da0
/* A9F1D4 80028034 27A40120 */ addiu $a0, $sp, 0x120
/* A9F1D8 80028038 27A60060 */ addiu $a2, $sp, 0x60
/* A9F1DC 8002803C 0C029BE8 */ jal func_800A6FA0
/* A9F1DC 8002803C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* A9F1E0 80028040 00A12821 */ addu $a1, $a1, $at
/* A9F1E4 80028044 27A40060 */ addiu $a0, $sp, 0x60
/* A9F1E8 80028048 27A500E0 */ addiu $a1, $sp, 0xe0
/* A9F1EC 8002804C 0C029BE8 */ jal func_800A6FA0
/* A9F1EC 8002804C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* A9F1F0 80028050 27A600A0 */ addiu $a2, $sp, 0xa0
/* A9F1F4 80028054 8FA40054 */ lw $a0, 0x54($sp)
/* A9F1F8 80028058 3C018000 */ lui $at, 0x8000
@ -79,7 +79,7 @@ glabel func_80027F80
/* A9F21C 8002807C AE0B02D0 */ sw $t3, 0x2d0($s0)
/* A9F220 80028080 AC640004 */ sw $a0, 4($v1)
/* A9F224 80028084 02002025 */ move $a0, $s0
/* A9F228 80028088 0C029F9C */ jal func_800A7E70
/* A9F228 80028088 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* A9F22C 8002808C AC6C0000 */ sw $t4, ($v1)
/* A9F230 80028090 1040004A */ beqz $v0, .L800281BC
/* A9F234 80028094 3C0FDA38 */ lui $t7, (0xDA380003 >> 16) # lui $t7, 0xda38

View File

@ -77,7 +77,7 @@ glabel func_80090AFC
/* B07D74 80090BD4 27A50074 */ addiu $a1, $sp, 0x74
/* B07D78 80090BD8 27A60068 */ addiu $a2, $sp, 0x68
/* B07D7C 80090BDC 27A70064 */ addiu $a3, $sp, 0x64
/* B07D80 80090BE0 0C029B84 */ jal func_800A6E10
/* B07D80 80090BE0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* B07D84 80090BE4 00812021 */ addu $a0, $a0, $at
/* B07D88 80090BE8 3C014348 */ li $at, 0x43480000 # 0.000000
/* B07D8C 80090BEC 44811000 */ mtc1 $at, $f2

View File

@ -190,7 +190,7 @@ glabel func_80095D04
/* B0D13C 80095F9C AFA9006C */ sw $t1, 0x6c($sp)
/* B0D140 80095FA0 AFA8009C */ sw $t0, 0x9c($sp)
/* B0D144 80095FA4 AFA300A4 */ sw $v1, 0xa4($sp)
/* B0D148 80095FA8 0C029B84 */ jal func_800A6E10
/* B0D148 80095FA8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* B0D14C 80095FAC E7B20098 */ swc1 $f18, 0x98($sp)
/* B0D150 80095FB0 860E0006 */ lh $t6, 6($s0)
/* B0D154 80095FB4 C7A8008C */ lwc1 $f8, 0x8c($sp)

View File

@ -71,7 +71,7 @@ glabel func_800A57C0
/* B1CA70 800A58D0 44998000 */ mtc1 $t9, $f16
/* B1CA74 800A58D4 00000000 */ nop
/* B1CA78 800A58D8 468084A0 */ cvt.s.w $f18, $f16
/* B1CA7C 800A58DC 0C029BBD */ jal func_800A6EF4
/* B1CA7C 800A58DC 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* B1CA80 800A58E0 E7B2006C */ swc1 $f18, 0x6c($sp)
/* B1CA84 800A58E4 C7A40070 */ lwc1 $f4, 0x70($sp)
/* B1CA88 800A58E8 2631000A */ addiu $s1, $s1, 0xa

View File

@ -155,7 +155,7 @@ glabel func_800A598C
/* B1CD54 800A5BB4 E7B200B4 */ swc1 $f18, 0xb4($sp)
/* B1CD58 800A5BB8 92790000 */ lbu $t9, ($s3)
/* B1CD5C 800A5BBC 00197180 */ sll $t6, $t9, 6
/* B1CD60 800A5BC0 0C029BBD */ jal func_800A6EF4
/* B1CD60 800A5BC0 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* B1CD64 800A5BC4 024E2021 */ addu $a0, $s2, $t6
/* B1CD68 800A5BC8 1000005B */ b .L800A5D38
/* B1CD6C 800A5BCC 96CE0004 */ lhu $t6, 4($s6)
@ -188,7 +188,7 @@ glabel func_800A598C
/* B1CDD4 800A5C34 E7B200A8 */ swc1 $f18, 0xa8($sp)
/* B1CDD8 800A5C38 92190000 */ lbu $t9, ($s0)
/* B1CDDC 800A5C3C 00197180 */ sll $t6, $t9, 6
/* B1CDE0 800A5C40 0C029BBD */ jal func_800A6EF4
/* B1CDE0 800A5C40 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* B1CDE4 800A5C44 024E2021 */ addu $a0, $s2, $t6
/* B1CDE8 800A5C48 1000003B */ b .L800A5D38
/* B1CDEC 800A5C4C 96CE0004 */ lhu $t6, 4($s6)
@ -231,7 +231,7 @@ glabel func_800A598C
/* B1CE74 800A5CD4 E7A60090 */ swc1 $f6, 0x90($sp)
/* B1CE78 800A5CD8 920F0000 */ lbu $t7, ($s0)
/* B1CE7C 800A5CDC 000FC980 */ sll $t9, $t7, 6
/* B1CE80 800A5CE0 0C029BBD */ jal func_800A6EF4
/* B1CE80 800A5CE0 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* B1CE84 800A5CE4 02592021 */ addu $a0, $s2, $t9
/* B1CE88 800A5CE8 C7A000D0 */ lwc1 $f0, 0xd0($sp)
/* B1CE8C 800A5CEC C7A200D4 */ lwc1 $f2, 0xd4($sp)

View File

@ -63,7 +63,7 @@ glabel func_800A5F60
/* B1D1C8 800A6028 252900C0 */ addiu $t1, %lo(D_801600C0) # addiu $t1, $t1, 0xc0
/* B1D1CC 800A602C 0007C180 */ sll $t8, $a3, 6
/* B1D1D0 800A6030 03092821 */ addu $a1, $t8, $t1
/* B1D1D4 800A6034 0C029F9C */ jal func_800A7E70
/* B1D1D4 800A6034 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* B1D1D8 800A6038 AFA80054 */ sw $t0, 0x54($sp)
/* B1D1DC 800A603C 1040001B */ beqz $v0, .L800A60AC
/* B1D1E0 800A6040 8FA80054 */ lw $t0, 0x54($sp)

View File

@ -67,7 +67,7 @@ glabel func_800A60D8
/* B1D350 800A61B0 AC900000 */ sw $s0, ($a0)
/* B1D354 800A61B4 AC8D0004 */ sw $t5, 4($a0)
/* B1D358 800A61B8 02A02025 */ move $a0, $s5
/* B1D35C 800A61BC 0C029F9C */ jal func_800A7E70
/* B1D35C 800A61BC 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* B1D360 800A61C0 26450004 */ addiu $a1, $s2, 4
/* B1D364 800A61C4 10400048 */ beqz $v0, .L800A62E8
/* B1D368 800A61C8 00000000 */ nop

View File

@ -10,11 +10,11 @@ glabel func_800A6408
/* B1D5C8 800A6428 AFA70064 */ sw $a3, 0x64($sp)
/* B1D5CC 800A642C 01F82821 */ addu $a1, $t7, $t8
/* B1D5D0 800A6430 27A60018 */ addiu $a2, $sp, 0x18
/* B1D5D4 800A6434 0C029BE8 */ jal func_800A6FA0
/* B1D5D4 800A6434 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* B1D5D8 800A6438 24840004 */ addiu $a0, $a0, 4
/* B1D5DC 800A643C 27A40018 */ addiu $a0, $sp, 0x18
/* B1D5E0 800A6440 8FA50060 */ lw $a1, 0x60($sp)
/* B1D5E4 800A6444 0C029BBD */ jal func_800A6EF4
/* B1D5E4 800A6444 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* B1D5E8 800A6448 8FA60064 */ lw $a2, 0x64($sp)
/* B1D5EC 800A644C 8FBF0014 */ lw $ra, 0x14($sp)
/* B1D5F0 800A6450 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -25,7 +25,7 @@ glabel func_800A698C
/* B1DB88 800A69E8 240100FF */ li $at, 255
/* B1DB8C 800A69EC 14610005 */ bne $v1, $at, .L800A6A04
/* B1DB90 800A69F0 AFAF0070 */ sw $t7, 0x70($sp)
/* B1DB94 800A69F4 0C029CBF */ jal func_800A72FC
/* B1DB94 800A69F4 0C029CBF */ jal SkinMatrix_GetClear
/* B1DB98 800A69F8 27A4006C */ addiu $a0, $sp, 0x6c
/* B1DB9C 800A69FC 10000006 */ b .L800A6A18
/* B1DBA0 800A6A00 93A9008B */ lbu $t1, 0x8b($sp)
@ -41,10 +41,10 @@ glabel func_800A698C
/* B1DBC0 800A6A20 00095180 */ sll $t2, $t1, 6
/* B1DBC4 800A6A24 014B2821 */ addu $a1, $t2, $t3
/* B1DBC8 800A6A28 AFA50024 */ sw $a1, 0x24($sp)
/* B1DBCC 800A6A2C 0C029BE8 */ jal func_800A6FA0
/* B1DBCC 800A6A2C 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* B1DBD0 800A6A30 27A60028 */ addiu $a2, $sp, 0x28
/* B1DBD4 800A6A34 8FA50024 */ lw $a1, 0x24($sp)
/* B1DBD8 800A6A38 0C029CD7 */ jal func_800A735C
/* B1DBD8 800A6A38 0C029CD7 */ jal SkinMatrix_MtxFCopy
/* B1DBDC 800A6A3C 27A40028 */ addiu $a0, $sp, 0x28
/* B1DBE0 800A6A40 8FA80070 */ lw $t0, 0x70($sp)
/* B1DBE4 800A6A44 240100FF */ li $at, 255

View File

@ -74,7 +74,7 @@ glabel func_800A6AC4
/* B1DD80 800A6BE0 00063403 */ sra $a2, $a2, 0x10
/* B1DD84 800A6BE4 00073C00 */ sll $a3, $a3, 0x10
/* B1DD88 800A6BE8 00073C03 */ sra $a3, $a3, 0x10
/* B1DD8C 800A6BEC 0C029EE1 */ jal func_800A7B84
/* B1DD8C 800A6BEC 0C029EE1 */ jal SkinMatrix_SetRotateRPYTranslate
/* B1DD90 800A6BF0 E7AC0018 */ swc1 $f12, 0x18($sp)
/* B1DD94 800A6BF4 10000014 */ b .L800A6C48
/* B1DD98 800A6BF8 8E980000 */ lw $t8, ($s4)
@ -95,7 +95,7 @@ glabel func_800A6AC4
/* B1DDD0 800A6C30 00073C00 */ sll $a3, $a3, 0x10
/* B1DDD4 800A6C34 00073C03 */ sra $a3, $a3, 0x10
/* B1DDD8 800A6C38 E7A00014 */ swc1 $f0, 0x14($sp)
/* B1DDDC 800A6C3C 0C029EE1 */ jal func_800A7B84
/* B1DDDC 800A6C3C 0C029EE1 */ jal SkinMatrix_SetRotateRPYTranslate
/* B1DDE0 800A6C40 E7A00018 */ swc1 $f0, 0x18($sp)
/* B1DDE4 800A6C44 8E980000 */ lw $t8, ($s4)
.L800A6C48:
@ -152,7 +152,7 @@ glabel func_800A6AC4
/* B1DEAC 800A6D0C 00073C00 */ sll $a3, $a3, 0x10
/* B1DEB0 800A6D10 00073C03 */ sra $a3, $a3, 0x10
/* B1DEB4 800A6D14 00063400 */ sll $a2, $a2, 0x10
/* B1DEB8 800A6D18 0C029EE1 */ jal func_800A7B84
/* B1DEB8 800A6D18 0C029EE1 */ jal SkinMatrix_SetRotateRPYTranslate
/* B1DEBC 800A6D1C 00063403 */ sra $a2, $a2, 0x10
/* B1DEC0 800A6D20 8E8E0000 */ lw $t6, ($s4)
/* B1DEC4 800A6D24 26310001 */ addiu $s1, $s1, 1
@ -182,7 +182,8 @@ glabel func_800A6AC4
/* B1DF20 800A6D80 46082280 */ add.s $f10, $f4, $f8
/* B1DF24 800A6D84 E7AA0020 */ swc1 $f10, 0x20($sp)
/* B1DF28 800A6D88 C6A6002C */ lwc1 $f6, 0x2c($s5)
/* B1DF2C 800A6D8C 0C029EC1 */ jal func_800A7B04
/* B1DF2C 800A6D8C 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate
/* B1DF30 800A6D90 E7A60024 */ swc1 $f6, 0x24($sp)
/* B1DF34 800A6D94 8E8A0000 */ lw $t2, ($s4)
/* B1DF38 800A6D98 02802025 */ move $a0, $s4

View File

@ -17,7 +17,7 @@ glabel D_80140844
.float 0.0005
.text
glabel func_800A73E0
glabel SkinMatrix_Invert
/* B1E580 800A73E0 27BDFF48 */ addiu $sp, $sp, -0xb8
/* B1E584 800A73E4 AFB40028 */ sw $s4, 0x28($sp)
/* B1E588 800A73E8 AFB30024 */ sw $s3, 0x24($sp)
@ -27,9 +27,9 @@ glabel func_800A73E0
/* B1E598 800A73F8 AFB20020 */ sw $s2, 0x20($sp)
/* B1E59C 800A73FC AFB1001C */ sw $s1, 0x1c($sp)
/* B1E5A0 800A7400 AFB00018 */ sw $s0, 0x18($sp)
/* B1E5A4 800A7404 0C029CD7 */ jal func_800A735C
/* B1E5A4 800A7404 0C029CD7 */ jal SkinMatrix_MtxFCopy
/* B1E5A8 800A7408 02802825 */ move $a1, $s4
/* B1E5AC 800A740C 0C029CC3 */ jal func_800A730C
/* B1E5AC 800A740C 0C029CC3 */ jal SkinMatrix_Clear
/* B1E5B0 800A7410 02602025 */ move $a0, $s3
/* B1E5B4 800A7414 3C018014 */ lui $at, %hi(D_80140844)
/* B1E5B8 800A7418 C42C0844 */ lwc1 $f12, %lo(D_80140844)($at)

View File

@ -1,59 +0,0 @@
glabel func_800A6E10
/* B1DFB0 800A6E10 C4A40000 */ lwc1 $f4, ($a1)
/* B1DFB4 800A6E14 C4860000 */ lwc1 $f6, ($a0)
/* B1DFB8 800A6E18 C4AA0004 */ lwc1 $f10, 4($a1)
/* B1DFBC 800A6E1C C4900010 */ lwc1 $f16, 0x10($a0)
/* B1DFC0 800A6E20 46062202 */ mul.s $f8, $f4, $f6
/* B1DFC4 800A6E24 C4A60008 */ lwc1 $f6, 8($a1)
/* B1DFC8 800A6E28 46105482 */ mul.s $f18, $f10, $f16
/* B1DFCC 800A6E2C C48A0020 */ lwc1 $f10, 0x20($a0)
/* B1DFD0 800A6E30 460A3402 */ mul.s $f16, $f6, $f10
/* B1DFD4 800A6E34 46124100 */ add.s $f4, $f8, $f18
/* B1DFD8 800A6E38 C4920030 */ lwc1 $f18, 0x30($a0)
/* B1DFDC 800A6E3C 46102200 */ add.s $f8, $f4, $f16
/* B1DFE0 800A6E40 46089180 */ add.s $f6, $f18, $f8
/* B1DFE4 800A6E44 E4C60000 */ swc1 $f6, ($a2)
/* B1DFE8 800A6E48 C4AA0000 */ lwc1 $f10, ($a1)
/* B1DFEC 800A6E4C C4840004 */ lwc1 $f4, 4($a0)
/* B1DFF0 800A6E50 C4B20004 */ lwc1 $f18, 4($a1)
/* B1DFF4 800A6E54 C4880014 */ lwc1 $f8, 0x14($a0)
/* B1DFF8 800A6E58 46045402 */ mul.s $f16, $f10, $f4
/* B1DFFC 800A6E5C C4A40008 */ lwc1 $f4, 8($a1)
/* B1E000 800A6E60 46089182 */ mul.s $f6, $f18, $f8
/* B1E004 800A6E64 C4920024 */ lwc1 $f18, 0x24($a0)
/* B1E008 800A6E68 46122202 */ mul.s $f8, $f4, $f18
/* B1E00C 800A6E6C 46068280 */ add.s $f10, $f16, $f6
/* B1E010 800A6E70 C4860034 */ lwc1 $f6, 0x34($a0)
/* B1E014 800A6E74 46085400 */ add.s $f16, $f10, $f8
/* B1E018 800A6E78 46103100 */ add.s $f4, $f6, $f16
/* B1E01C 800A6E7C E4C40004 */ swc1 $f4, 4($a2)
/* B1E020 800A6E80 C4B20000 */ lwc1 $f18, ($a1)
/* B1E024 800A6E84 C48A0008 */ lwc1 $f10, 8($a0)
/* B1E028 800A6E88 C4A60004 */ lwc1 $f6, 4($a1)
/* B1E02C 800A6E8C C4900018 */ lwc1 $f16, 0x18($a0)
/* B1E030 800A6E90 460A9202 */ mul.s $f8, $f18, $f10
/* B1E034 800A6E94 C4AA0008 */ lwc1 $f10, 8($a1)
/* B1E038 800A6E98 46103102 */ mul.s $f4, $f6, $f16
/* B1E03C 800A6E9C C4860028 */ lwc1 $f6, 0x28($a0)
/* B1E040 800A6EA0 46065402 */ mul.s $f16, $f10, $f6
/* B1E044 800A6EA4 46044480 */ add.s $f18, $f8, $f4
/* B1E048 800A6EA8 C4840038 */ lwc1 $f4, 0x38($a0)
/* B1E04C 800A6EAC 46109200 */ add.s $f8, $f18, $f16
/* B1E050 800A6EB0 46082280 */ add.s $f10, $f4, $f8
/* B1E054 800A6EB4 E4CA0008 */ swc1 $f10, 8($a2)
/* B1E058 800A6EB8 C492000C */ lwc1 $f18, 0xc($a0)
/* B1E05C 800A6EBC C4A60000 */ lwc1 $f6, ($a1)
/* B1E060 800A6EC0 C488001C */ lwc1 $f8, 0x1c($a0)
/* B1E064 800A6EC4 C4A40004 */ lwc1 $f4, 4($a1)
/* B1E068 800A6EC8 46123402 */ mul.s $f16, $f6, $f18
/* B1E06C 800A6ECC C4B20008 */ lwc1 $f18, 8($a1)
/* B1E070 800A6ED0 46082282 */ mul.s $f10, $f4, $f8
/* B1E074 800A6ED4 C484002C */ lwc1 $f4, 0x2c($a0)
/* B1E078 800A6ED8 46049202 */ mul.s $f8, $f18, $f4
/* B1E07C 800A6EDC 460A8180 */ add.s $f6, $f16, $f10
/* B1E080 800A6EE0 C48A003C */ lwc1 $f10, 0x3c($a0)
/* B1E084 800A6EE4 46083400 */ add.s $f16, $f6, $f8
/* B1E088 800A6EE8 46105480 */ add.s $f18, $f10, $f16
/* B1E08C 800A6EEC 03E00008 */ jr $ra
/* B1E090 800A6EF0 E4F20000 */ swc1 $f18, ($a3)

View File

@ -1,45 +0,0 @@
glabel func_800A6EF4
/* B1E094 800A6EF4 C4800000 */ lwc1 $f0, ($a0)
/* B1E098 800A6EF8 C4A40000 */ lwc1 $f4, ($a1)
/* B1E09C 800A6EFC C4820010 */ lwc1 $f2, 0x10($a0)
/* B1E0A0 800A6F00 C4A80004 */ lwc1 $f8, 4($a1)
/* B1E0A4 800A6F04 46002182 */ mul.s $f6, $f4, $f0
/* B1E0A8 800A6F08 C48C0020 */ lwc1 $f12, 0x20($a0)
/* B1E0AC 800A6F0C C4B20008 */ lwc1 $f18, 8($a1)
/* B1E0B0 800A6F10 46024282 */ mul.s $f10, $f8, $f2
/* B1E0B4 800A6F14 C48E0030 */ lwc1 $f14, 0x30($a0)
/* B1E0B8 800A6F18 460C9102 */ mul.s $f4, $f18, $f12
/* B1E0BC 800A6F1C 460A3400 */ add.s $f16, $f6, $f10
/* B1E0C0 800A6F20 46048200 */ add.s $f8, $f16, $f4
/* B1E0C4 800A6F24 460E4180 */ add.s $f6, $f8, $f14
/* B1E0C8 800A6F28 E4C60000 */ swc1 $f6, ($a2)
/* B1E0CC 800A6F2C C4800004 */ lwc1 $f0, 4($a0)
/* B1E0D0 800A6F30 C4AA0000 */ lwc1 $f10, ($a1)
/* B1E0D4 800A6F34 C4820014 */ lwc1 $f2, 0x14($a0)
/* B1E0D8 800A6F38 C4B00004 */ lwc1 $f16, 4($a1)
/* B1E0DC 800A6F3C 46005482 */ mul.s $f18, $f10, $f0
/* B1E0E0 800A6F40 C48C0024 */ lwc1 $f12, 0x24($a0)
/* B1E0E4 800A6F44 C4A60008 */ lwc1 $f6, 8($a1)
/* B1E0E8 800A6F48 46028102 */ mul.s $f4, $f16, $f2
/* B1E0EC 800A6F4C C48E0034 */ lwc1 $f14, 0x34($a0)
/* B1E0F0 800A6F50 460C3282 */ mul.s $f10, $f6, $f12
/* B1E0F4 800A6F54 46049200 */ add.s $f8, $f18, $f4
/* B1E0F8 800A6F58 460A4400 */ add.s $f16, $f8, $f10
/* B1E0FC 800A6F5C 460E8480 */ add.s $f18, $f16, $f14
/* B1E100 800A6F60 E4D20004 */ swc1 $f18, 4($a2)
/* B1E104 800A6F64 C4800008 */ lwc1 $f0, 8($a0)
/* B1E108 800A6F68 C4A40000 */ lwc1 $f4, ($a1)
/* B1E10C 800A6F6C C4820018 */ lwc1 $f2, 0x18($a0)
/* B1E110 800A6F70 C4A80004 */ lwc1 $f8, 4($a1)
/* B1E114 800A6F74 46002182 */ mul.s $f6, $f4, $f0
/* B1E118 800A6F78 C48C0028 */ lwc1 $f12, 0x28($a0)
/* B1E11C 800A6F7C C4B20008 */ lwc1 $f18, 8($a1)
/* B1E120 800A6F80 46024282 */ mul.s $f10, $f8, $f2
/* B1E124 800A6F84 C48E0038 */ lwc1 $f14, 0x38($a0)
/* B1E128 800A6F88 460C9102 */ mul.s $f4, $f18, $f12
/* B1E12C 800A6F8C 460A3400 */ add.s $f16, $f6, $f10
/* B1E130 800A6F90 46048200 */ add.s $f8, $f16, $f4
/* B1E134 800A6F94 460E4180 */ add.s $f6, $f8, $f14
/* B1E138 800A6F98 03E00008 */ jr $ra
/* B1E13C 800A6F9C E4C60008 */ swc1 $f6, 8($a2)

View File

@ -1,217 +0,0 @@
glabel func_800A6FA0
/* B1E140 800A6FA0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B1E144 800A6FA4 F7B60010 */ sdc1 $f22, 0x10($sp)
/* B1E148 800A6FA8 F7B40008 */ sdc1 $f20, 8($sp)
/* B1E14C 800A6FAC C4800000 */ lwc1 $f0, ($a0)
/* B1E150 800A6FB0 C4B00000 */ lwc1 $f16, ($a1)
/* B1E154 800A6FB4 C4820010 */ lwc1 $f2, 0x10($a0)
/* B1E158 800A6FB8 C4B20004 */ lwc1 $f18, 4($a1)
/* B1E15C 800A6FBC 46100102 */ mul.s $f4, $f0, $f16
/* B1E160 800A6FC0 C48C0020 */ lwc1 $f12, 0x20($a0)
/* B1E164 800A6FC4 C4B40008 */ lwc1 $f20, 8($a1)
/* B1E168 800A6FC8 46121182 */ mul.s $f6, $f2, $f18
/* B1E16C 800A6FCC C48E0030 */ lwc1 $f14, 0x30($a0)
/* B1E170 800A6FD0 C4B6000C */ lwc1 $f22, 0xc($a1)
/* B1E174 800A6FD4 46146282 */ mul.s $f10, $f12, $f20
/* B1E178 800A6FD8 46062200 */ add.s $f8, $f4, $f6
/* B1E17C 800A6FDC 46167182 */ mul.s $f6, $f14, $f22
/* B1E180 800A6FE0 460A4100 */ add.s $f4, $f8, $f10
/* B1E184 800A6FE4 46062200 */ add.s $f8, $f4, $f6
/* B1E188 800A6FE8 E4C80000 */ swc1 $f8, ($a2)
/* B1E18C 800A6FEC C4B00010 */ lwc1 $f16, 0x10($a1)
/* B1E190 800A6FF0 C4B20014 */ lwc1 $f18, 0x14($a1)
/* B1E194 800A6FF4 C4B40018 */ lwc1 $f20, 0x18($a1)
/* B1E198 800A6FF8 46100282 */ mul.s $f10, $f0, $f16
/* B1E19C 800A6FFC C4B6001C */ lwc1 $f22, 0x1c($a1)
/* B1E1A0 800A7000 46121102 */ mul.s $f4, $f2, $f18
/* B1E1A4 800A7004 46045180 */ add.s $f6, $f10, $f4
/* B1E1A8 800A7008 46146202 */ mul.s $f8, $f12, $f20
/* B1E1AC 800A700C 46083280 */ add.s $f10, $f6, $f8
/* B1E1B0 800A7010 46167102 */ mul.s $f4, $f14, $f22
/* B1E1B4 800A7014 46045180 */ add.s $f6, $f10, $f4
/* B1E1B8 800A7018 E4C60010 */ swc1 $f6, 0x10($a2)
/* B1E1BC 800A701C C4B00020 */ lwc1 $f16, 0x20($a1)
/* B1E1C0 800A7020 C4B20024 */ lwc1 $f18, 0x24($a1)
/* B1E1C4 800A7024 C4B40028 */ lwc1 $f20, 0x28($a1)
/* B1E1C8 800A7028 46100202 */ mul.s $f8, $f0, $f16
/* B1E1CC 800A702C C4B6002C */ lwc1 $f22, 0x2c($a1)
/* B1E1D0 800A7030 46121282 */ mul.s $f10, $f2, $f18
/* B1E1D4 800A7034 460A4100 */ add.s $f4, $f8, $f10
/* B1E1D8 800A7038 46146182 */ mul.s $f6, $f12, $f20
/* B1E1DC 800A703C 46062200 */ add.s $f8, $f4, $f6
/* B1E1E0 800A7040 46167282 */ mul.s $f10, $f14, $f22
/* B1E1E4 800A7044 460A4100 */ add.s $f4, $f8, $f10
/* B1E1E8 800A7048 E4C40020 */ swc1 $f4, 0x20($a2)
/* B1E1EC 800A704C C4B00030 */ lwc1 $f16, 0x30($a1)
/* B1E1F0 800A7050 C4B20034 */ lwc1 $f18, 0x34($a1)
/* B1E1F4 800A7054 C4B40038 */ lwc1 $f20, 0x38($a1)
/* B1E1F8 800A7058 46100182 */ mul.s $f6, $f0, $f16
/* B1E1FC 800A705C C4B6003C */ lwc1 $f22, 0x3c($a1)
/* B1E200 800A7060 46121202 */ mul.s $f8, $f2, $f18
/* B1E204 800A7064 46083280 */ add.s $f10, $f6, $f8
/* B1E208 800A7068 46146102 */ mul.s $f4, $f12, $f20
/* B1E20C 800A706C 46045180 */ add.s $f6, $f10, $f4
/* B1E210 800A7070 46167202 */ mul.s $f8, $f14, $f22
/* B1E214 800A7074 46083280 */ add.s $f10, $f6, $f8
/* B1E218 800A7078 E4CA0030 */ swc1 $f10, 0x30($a2)
/* B1E21C 800A707C C4800004 */ lwc1 $f0, 4($a0)
/* B1E220 800A7080 C4B00000 */ lwc1 $f16, ($a1)
/* B1E224 800A7084 C4820014 */ lwc1 $f2, 0x14($a0)
/* B1E228 800A7088 C4B20004 */ lwc1 $f18, 4($a1)
/* B1E22C 800A708C 46100102 */ mul.s $f4, $f0, $f16
/* B1E230 800A7090 C48C0024 */ lwc1 $f12, 0x24($a0)
/* B1E234 800A7094 C4B40008 */ lwc1 $f20, 8($a1)
/* B1E238 800A7098 46121182 */ mul.s $f6, $f2, $f18
/* B1E23C 800A709C C48E0034 */ lwc1 $f14, 0x34($a0)
/* B1E240 800A70A0 C4B6000C */ lwc1 $f22, 0xc($a1)
/* B1E244 800A70A4 46146282 */ mul.s $f10, $f12, $f20
/* B1E248 800A70A8 46062200 */ add.s $f8, $f4, $f6
/* B1E24C 800A70AC 46167182 */ mul.s $f6, $f14, $f22
/* B1E250 800A70B0 460A4100 */ add.s $f4, $f8, $f10
/* B1E254 800A70B4 46062200 */ add.s $f8, $f4, $f6
/* B1E258 800A70B8 E4C80004 */ swc1 $f8, 4($a2)
/* B1E25C 800A70BC C4B00010 */ lwc1 $f16, 0x10($a1)
/* B1E260 800A70C0 C4B20014 */ lwc1 $f18, 0x14($a1)
/* B1E264 800A70C4 C4B40018 */ lwc1 $f20, 0x18($a1)
/* B1E268 800A70C8 46100282 */ mul.s $f10, $f0, $f16
/* B1E26C 800A70CC C4B6001C */ lwc1 $f22, 0x1c($a1)
/* B1E270 800A70D0 46121102 */ mul.s $f4, $f2, $f18
/* B1E274 800A70D4 46045180 */ add.s $f6, $f10, $f4
/* B1E278 800A70D8 46146202 */ mul.s $f8, $f12, $f20
/* B1E27C 800A70DC 46083280 */ add.s $f10, $f6, $f8
/* B1E280 800A70E0 46167102 */ mul.s $f4, $f14, $f22
/* B1E284 800A70E4 46045180 */ add.s $f6, $f10, $f4
/* B1E288 800A70E8 E4C60014 */ swc1 $f6, 0x14($a2)
/* B1E28C 800A70EC C4B00020 */ lwc1 $f16, 0x20($a1)
/* B1E290 800A70F0 C4B20024 */ lwc1 $f18, 0x24($a1)
/* B1E294 800A70F4 C4B40028 */ lwc1 $f20, 0x28($a1)
/* B1E298 800A70F8 46100202 */ mul.s $f8, $f0, $f16
/* B1E29C 800A70FC C4B6002C */ lwc1 $f22, 0x2c($a1)
/* B1E2A0 800A7100 46121282 */ mul.s $f10, $f2, $f18
/* B1E2A4 800A7104 460A4100 */ add.s $f4, $f8, $f10
/* B1E2A8 800A7108 46146182 */ mul.s $f6, $f12, $f20
/* B1E2AC 800A710C 46062200 */ add.s $f8, $f4, $f6
/* B1E2B0 800A7110 46167282 */ mul.s $f10, $f14, $f22
/* B1E2B4 800A7114 460A4100 */ add.s $f4, $f8, $f10
/* B1E2B8 800A7118 E4C40024 */ swc1 $f4, 0x24($a2)
/* B1E2BC 800A711C C4B00030 */ lwc1 $f16, 0x30($a1)
/* B1E2C0 800A7120 C4B20034 */ lwc1 $f18, 0x34($a1)
/* B1E2C4 800A7124 C4B40038 */ lwc1 $f20, 0x38($a1)
/* B1E2C8 800A7128 46100182 */ mul.s $f6, $f0, $f16
/* B1E2CC 800A712C C4B6003C */ lwc1 $f22, 0x3c($a1)
/* B1E2D0 800A7130 46121202 */ mul.s $f8, $f2, $f18
/* B1E2D4 800A7134 46083280 */ add.s $f10, $f6, $f8
/* B1E2D8 800A7138 46146102 */ mul.s $f4, $f12, $f20
/* B1E2DC 800A713C 46045180 */ add.s $f6, $f10, $f4
/* B1E2E0 800A7140 46167202 */ mul.s $f8, $f14, $f22
/* B1E2E4 800A7144 46083280 */ add.s $f10, $f6, $f8
/* B1E2E8 800A7148 E4CA0034 */ swc1 $f10, 0x34($a2)
/* B1E2EC 800A714C C4800008 */ lwc1 $f0, 8($a0)
/* B1E2F0 800A7150 C4B00000 */ lwc1 $f16, ($a1)
/* B1E2F4 800A7154 C4820018 */ lwc1 $f2, 0x18($a0)
/* B1E2F8 800A7158 C4B20004 */ lwc1 $f18, 4($a1)
/* B1E2FC 800A715C 46100102 */ mul.s $f4, $f0, $f16
/* B1E300 800A7160 C48C0028 */ lwc1 $f12, 0x28($a0)
/* B1E304 800A7164 C4B40008 */ lwc1 $f20, 8($a1)
/* B1E308 800A7168 46121182 */ mul.s $f6, $f2, $f18
/* B1E30C 800A716C C48E0038 */ lwc1 $f14, 0x38($a0)
/* B1E310 800A7170 C4B6000C */ lwc1 $f22, 0xc($a1)
/* B1E314 800A7174 46146282 */ mul.s $f10, $f12, $f20
/* B1E318 800A7178 46062200 */ add.s $f8, $f4, $f6
/* B1E31C 800A717C 46167182 */ mul.s $f6, $f14, $f22
/* B1E320 800A7180 460A4100 */ add.s $f4, $f8, $f10
/* B1E324 800A7184 46062200 */ add.s $f8, $f4, $f6
/* B1E328 800A7188 E4C80008 */ swc1 $f8, 8($a2)
/* B1E32C 800A718C C4B00010 */ lwc1 $f16, 0x10($a1)
/* B1E330 800A7190 C4B20014 */ lwc1 $f18, 0x14($a1)
/* B1E334 800A7194 C4B40018 */ lwc1 $f20, 0x18($a1)
/* B1E338 800A7198 46100282 */ mul.s $f10, $f0, $f16
/* B1E33C 800A719C C4B6001C */ lwc1 $f22, 0x1c($a1)
/* B1E340 800A71A0 46121102 */ mul.s $f4, $f2, $f18
/* B1E344 800A71A4 46045180 */ add.s $f6, $f10, $f4
/* B1E348 800A71A8 46146202 */ mul.s $f8, $f12, $f20
/* B1E34C 800A71AC 46083280 */ add.s $f10, $f6, $f8
/* B1E350 800A71B0 46167102 */ mul.s $f4, $f14, $f22
/* B1E354 800A71B4 46045180 */ add.s $f6, $f10, $f4
/* B1E358 800A71B8 E4C60018 */ swc1 $f6, 0x18($a2)
/* B1E35C 800A71BC C4B00020 */ lwc1 $f16, 0x20($a1)
/* B1E360 800A71C0 C4B20024 */ lwc1 $f18, 0x24($a1)
/* B1E364 800A71C4 C4B40028 */ lwc1 $f20, 0x28($a1)
/* B1E368 800A71C8 46100202 */ mul.s $f8, $f0, $f16
/* B1E36C 800A71CC C4B6002C */ lwc1 $f22, 0x2c($a1)
/* B1E370 800A71D0 46121282 */ mul.s $f10, $f2, $f18
/* B1E374 800A71D4 460A4100 */ add.s $f4, $f8, $f10
/* B1E378 800A71D8 46146182 */ mul.s $f6, $f12, $f20
/* B1E37C 800A71DC 46062200 */ add.s $f8, $f4, $f6
/* B1E380 800A71E0 46167282 */ mul.s $f10, $f14, $f22
/* B1E384 800A71E4 460A4100 */ add.s $f4, $f8, $f10
/* B1E388 800A71E8 E4C40028 */ swc1 $f4, 0x28($a2)
/* B1E38C 800A71EC C4B00030 */ lwc1 $f16, 0x30($a1)
/* B1E390 800A71F0 C4B20034 */ lwc1 $f18, 0x34($a1)
/* B1E394 800A71F4 C4B40038 */ lwc1 $f20, 0x38($a1)
/* B1E398 800A71F8 46100182 */ mul.s $f6, $f0, $f16
/* B1E39C 800A71FC C4B6003C */ lwc1 $f22, 0x3c($a1)
/* B1E3A0 800A7200 46121202 */ mul.s $f8, $f2, $f18
/* B1E3A4 800A7204 46083280 */ add.s $f10, $f6, $f8
/* B1E3A8 800A7208 46146102 */ mul.s $f4, $f12, $f20
/* B1E3AC 800A720C 46045180 */ add.s $f6, $f10, $f4
/* B1E3B0 800A7210 46167202 */ mul.s $f8, $f14, $f22
/* B1E3B4 800A7214 46083280 */ add.s $f10, $f6, $f8
/* B1E3B8 800A7218 E4CA0038 */ swc1 $f10, 0x38($a2)
/* B1E3BC 800A721C C480000C */ lwc1 $f0, 0xc($a0)
/* B1E3C0 800A7220 C4B00000 */ lwc1 $f16, ($a1)
/* B1E3C4 800A7224 C482001C */ lwc1 $f2, 0x1c($a0)
/* B1E3C8 800A7228 C4B20004 */ lwc1 $f18, 4($a1)
/* B1E3CC 800A722C 46100102 */ mul.s $f4, $f0, $f16
/* B1E3D0 800A7230 C48C002C */ lwc1 $f12, 0x2c($a0)
/* B1E3D4 800A7234 C4B40008 */ lwc1 $f20, 8($a1)
/* B1E3D8 800A7238 46121182 */ mul.s $f6, $f2, $f18
/* B1E3DC 800A723C C48E003C */ lwc1 $f14, 0x3c($a0)
/* B1E3E0 800A7240 C4B6000C */ lwc1 $f22, 0xc($a1)
/* B1E3E4 800A7244 46146282 */ mul.s $f10, $f12, $f20
/* B1E3E8 800A7248 46062200 */ add.s $f8, $f4, $f6
/* B1E3EC 800A724C 46167182 */ mul.s $f6, $f14, $f22
/* B1E3F0 800A7250 460A4100 */ add.s $f4, $f8, $f10
/* B1E3F4 800A7254 46062200 */ add.s $f8, $f4, $f6
/* B1E3F8 800A7258 E4C8000C */ swc1 $f8, 0xc($a2)
/* B1E3FC 800A725C C4B00010 */ lwc1 $f16, 0x10($a1)
/* B1E400 800A7260 C4B20014 */ lwc1 $f18, 0x14($a1)
/* B1E404 800A7264 C4B40018 */ lwc1 $f20, 0x18($a1)
/* B1E408 800A7268 46100282 */ mul.s $f10, $f0, $f16
/* B1E40C 800A726C C4B6001C */ lwc1 $f22, 0x1c($a1)
/* B1E410 800A7270 46121102 */ mul.s $f4, $f2, $f18
/* B1E414 800A7274 46045180 */ add.s $f6, $f10, $f4
/* B1E418 800A7278 46146202 */ mul.s $f8, $f12, $f20
/* B1E41C 800A727C 46083280 */ add.s $f10, $f6, $f8
/* B1E420 800A7280 46167102 */ mul.s $f4, $f14, $f22
/* B1E424 800A7284 46045180 */ add.s $f6, $f10, $f4
/* B1E428 800A7288 E4C6001C */ swc1 $f6, 0x1c($a2)
/* B1E42C 800A728C C4B00020 */ lwc1 $f16, 0x20($a1)
/* B1E430 800A7290 C4B20024 */ lwc1 $f18, 0x24($a1)
/* B1E434 800A7294 C4B40028 */ lwc1 $f20, 0x28($a1)
/* B1E438 800A7298 46100202 */ mul.s $f8, $f0, $f16
/* B1E43C 800A729C C4B6002C */ lwc1 $f22, 0x2c($a1)
/* B1E440 800A72A0 46121282 */ mul.s $f10, $f2, $f18
/* B1E444 800A72A4 460A4100 */ add.s $f4, $f8, $f10
/* B1E448 800A72A8 46146182 */ mul.s $f6, $f12, $f20
/* B1E44C 800A72AC 46062200 */ add.s $f8, $f4, $f6
/* B1E450 800A72B0 46167282 */ mul.s $f10, $f14, $f22
/* B1E454 800A72B4 460A4100 */ add.s $f4, $f8, $f10
/* B1E458 800A72B8 E4C4002C */ swc1 $f4, 0x2c($a2)
/* B1E45C 800A72BC C4B00030 */ lwc1 $f16, 0x30($a1)
/* B1E460 800A72C0 C4B20034 */ lwc1 $f18, 0x34($a1)
/* B1E464 800A72C4 C4B40038 */ lwc1 $f20, 0x38($a1)
/* B1E468 800A72C8 46100182 */ mul.s $f6, $f0, $f16
/* B1E46C 800A72CC C4B6003C */ lwc1 $f22, 0x3c($a1)
/* B1E470 800A72D0 46121202 */ mul.s $f8, $f2, $f18
/* B1E474 800A72D4 46083280 */ add.s $f10, $f6, $f8
/* B1E478 800A72D8 46146102 */ mul.s $f4, $f12, $f20
/* B1E47C 800A72DC 46045180 */ add.s $f6, $f10, $f4
/* B1E480 800A72E0 46167202 */ mul.s $f8, $f14, $f22
/* B1E484 800A72E4 46083280 */ add.s $f10, $f6, $f8
/* B1E488 800A72E8 E4CA003C */ swc1 $f10, 0x3c($a2)
/* B1E48C 800A72EC D7B60010 */ ldc1 $f22, 0x10($sp)
/* B1E490 800A72F0 D7B40008 */ ldc1 $f20, 8($sp)
/* B1E494 800A72F4 03E00008 */ jr $ra
/* B1E498 800A72F8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,6 +0,0 @@
glabel func_800A72FC
/* B1E49C 800A72FC 3C0E8013 */ lui $t6, %hi(D_8012A4A0) # $t6, 0x8013
/* B1E4A0 800A7300 25CEA4A0 */ addiu $t6, %lo(D_8012A4A0) # addiu $t6, $t6, -0x5b60
/* B1E4A4 800A7304 03E00008 */ jr $ra
/* B1E4A8 800A7308 AC8E0000 */ sw $t6, ($a0)

View File

@ -1,22 +0,0 @@
glabel func_800A730C
/* B1E4AC 800A730C 44801000 */ mtc1 $zero, $f2
/* B1E4B0 800A7310 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B1E4B4 800A7314 44810000 */ mtc1 $at, $f0
/* B1E4B8 800A7318 E4820004 */ swc1 $f2, 4($a0)
/* B1E4BC 800A731C E4820008 */ swc1 $f2, 8($a0)
/* B1E4C0 800A7320 E482000C */ swc1 $f2, 0xc($a0)
/* B1E4C4 800A7324 E4820010 */ swc1 $f2, 0x10($a0)
/* B1E4C8 800A7328 E4820018 */ swc1 $f2, 0x18($a0)
/* B1E4CC 800A732C E482001C */ swc1 $f2, 0x1c($a0)
/* B1E4D0 800A7330 E4820020 */ swc1 $f2, 0x20($a0)
/* B1E4D4 800A7334 E4820024 */ swc1 $f2, 0x24($a0)
/* B1E4D8 800A7338 E482002C */ swc1 $f2, 0x2c($a0)
/* B1E4DC 800A733C E4820030 */ swc1 $f2, 0x30($a0)
/* B1E4E0 800A7340 E4820034 */ swc1 $f2, 0x34($a0)
/* B1E4E4 800A7344 E4820038 */ swc1 $f2, 0x38($a0)
/* B1E4E8 800A7348 E4800000 */ swc1 $f0, ($a0)
/* B1E4EC 800A734C E4800014 */ swc1 $f0, 0x14($a0)
/* B1E4F0 800A7350 E4800028 */ swc1 $f0, 0x28($a0)
/* B1E4F4 800A7354 03E00008 */ jr $ra
/* B1E4F8 800A7358 E480003C */ swc1 $f0, 0x3c($a0)

View File

@ -1,35 +0,0 @@
glabel func_800A735C
/* B1E4FC 800A735C C4840000 */ lwc1 $f4, ($a0)
/* B1E500 800A7360 E4A40000 */ swc1 $f4, ($a1)
/* B1E504 800A7364 C4860004 */ lwc1 $f6, 4($a0)
/* B1E508 800A7368 E4A60004 */ swc1 $f6, 4($a1)
/* B1E50C 800A736C C4880008 */ lwc1 $f8, 8($a0)
/* B1E510 800A7370 E4A80008 */ swc1 $f8, 8($a1)
/* B1E514 800A7374 C48A000C */ lwc1 $f10, 0xc($a0)
/* B1E518 800A7378 E4AA000C */ swc1 $f10, 0xc($a1)
/* B1E51C 800A737C C4900010 */ lwc1 $f16, 0x10($a0)
/* B1E520 800A7380 E4B00010 */ swc1 $f16, 0x10($a1)
/* B1E524 800A7384 C4920014 */ lwc1 $f18, 0x14($a0)
/* B1E528 800A7388 E4B20014 */ swc1 $f18, 0x14($a1)
/* B1E52C 800A738C C4840018 */ lwc1 $f4, 0x18($a0)
/* B1E530 800A7390 E4A40018 */ swc1 $f4, 0x18($a1)
/* B1E534 800A7394 C486001C */ lwc1 $f6, 0x1c($a0)
/* B1E538 800A7398 E4A6001C */ swc1 $f6, 0x1c($a1)
/* B1E53C 800A739C C4880020 */ lwc1 $f8, 0x20($a0)
/* B1E540 800A73A0 E4A80020 */ swc1 $f8, 0x20($a1)
/* B1E544 800A73A4 C48A0024 */ lwc1 $f10, 0x24($a0)
/* B1E548 800A73A8 E4AA0024 */ swc1 $f10, 0x24($a1)
/* B1E54C 800A73AC C4900028 */ lwc1 $f16, 0x28($a0)
/* B1E550 800A73B0 E4B00028 */ swc1 $f16, 0x28($a1)
/* B1E554 800A73B4 C492002C */ lwc1 $f18, 0x2c($a0)
/* B1E558 800A73B8 E4B2002C */ swc1 $f18, 0x2c($a1)
/* B1E55C 800A73BC C4840030 */ lwc1 $f4, 0x30($a0)
/* B1E560 800A73C0 E4A40030 */ swc1 $f4, 0x30($a1)
/* B1E564 800A73C4 C4860034 */ lwc1 $f6, 0x34($a0)
/* B1E568 800A73C8 E4A60034 */ swc1 $f6, 0x34($a1)
/* B1E56C 800A73CC C4880038 */ lwc1 $f8, 0x38($a0)
/* B1E570 800A73D0 E4A80038 */ swc1 $f8, 0x38($a1)
/* B1E574 800A73D4 C48A003C */ lwc1 $f10, 0x3c($a0)
/* B1E578 800A73D8 03E00008 */ jr $ra
/* B1E57C 800A73DC E4AA003C */ swc1 $f10, 0x3c($a1)

View File

@ -1,26 +0,0 @@
glabel func_800A76A4
/* B1E844 800A76A4 AFA7000C */ sw $a3, 0xc($sp)
/* B1E848 800A76A8 44800000 */ mtc1 $zero, $f0
/* B1E84C 800A76AC 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B1E850 800A76B0 44856000 */ mtc1 $a1, $f12
/* B1E854 800A76B4 44867000 */ mtc1 $a2, $f14
/* B1E858 800A76B8 44812000 */ mtc1 $at, $f4
/* B1E85C 800A76BC E4800004 */ swc1 $f0, 4($a0)
/* B1E860 800A76C0 E4800008 */ swc1 $f0, 8($a0)
/* B1E864 800A76C4 E480000C */ swc1 $f0, 0xc($a0)
/* B1E868 800A76C8 E4800010 */ swc1 $f0, 0x10($a0)
/* B1E86C 800A76CC E4800018 */ swc1 $f0, 0x18($a0)
/* B1E870 800A76D0 E480001C */ swc1 $f0, 0x1c($a0)
/* B1E874 800A76D4 E4800020 */ swc1 $f0, 0x20($a0)
/* B1E878 800A76D8 E4800024 */ swc1 $f0, 0x24($a0)
/* B1E87C 800A76DC E480002C */ swc1 $f0, 0x2c($a0)
/* B1E880 800A76E0 E4800030 */ swc1 $f0, 0x30($a0)
/* B1E884 800A76E4 E4800034 */ swc1 $f0, 0x34($a0)
/* B1E888 800A76E8 E4800038 */ swc1 $f0, 0x38($a0)
/* B1E88C 800A76EC E48C0000 */ swc1 $f12, ($a0)
/* B1E890 800A76F0 E48E0014 */ swc1 $f14, 0x14($a0)
/* B1E894 800A76F4 E484003C */ swc1 $f4, 0x3c($a0)
/* B1E898 800A76F8 C7A6000C */ lwc1 $f6, 0xc($sp)
/* B1E89C 800A76FC 03E00008 */ jr $ra
/* B1E8A0 800A7700 E4860028 */ swc1 $f6, 0x28($a0)

View File

@ -1,105 +0,0 @@
glabel func_800A7704
/* B1E8A4 800A7704 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B1E8A8 800A7708 AFB00018 */ sw $s0, 0x18($sp)
/* B1E8AC 800A770C 00808025 */ move $s0, $a0
/* B1E8B0 800A7710 AFBF001C */ sw $ra, 0x1c($sp)
/* B1E8B4 800A7714 AFA70044 */ sw $a3, 0x44($sp)
/* B1E8B8 800A7718 AFA5003C */ sw $a1, 0x3c($sp)
/* B1E8BC 800A771C AFA60040 */ sw $a2, 0x40($sp)
/* B1E8C0 800A7720 0C01DE1C */ jal Math_Sins
/* B1E8C4 800A7724 87A40046 */ lh $a0, 0x46($sp)
/* B1E8C8 800A7728 87A40046 */ lh $a0, 0x46($sp)
/* B1E8CC 800A772C 0C01DE0D */ jal Math_Coss
/* B1E8D0 800A7730 E7A00030 */ swc1 $f0, 0x30($sp)
/* B1E8D4 800A7734 87A40042 */ lh $a0, 0x42($sp)
/* B1E8D8 800A7738 C7AE0030 */ lwc1 $f14, 0x30($sp)
/* B1E8DC 800A773C 44808000 */ mtc1 $zero, $f16
/* B1E8E0 800A7740 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B1E8E4 800A7744 44811000 */ mtc1 $at, $f2
/* B1E8E8 800A7748 46007107 */ neg.s $f4, $f14
/* B1E8EC 800A774C 46000306 */ mov.s $f12, $f0
/* B1E8F0 800A7750 E6000014 */ swc1 $f0, 0x14($s0)
/* B1E8F4 800A7754 E6040010 */ swc1 $f4, 0x10($s0)
/* B1E8F8 800A7758 E610002C */ swc1 $f16, 0x2c($s0)
/* B1E8FC 800A775C E610001C */ swc1 $f16, 0x1c($s0)
/* B1E900 800A7760 E610000C */ swc1 $f16, 0xc($s0)
/* B1E904 800A7764 E6100038 */ swc1 $f16, 0x38($s0)
/* B1E908 800A7768 E6100034 */ swc1 $f16, 0x34($s0)
/* B1E90C 800A776C E6100030 */ swc1 $f16, 0x30($s0)
/* B1E910 800A7770 10800017 */ beqz $a0, .L800A77D0
/* B1E914 800A7774 E602003C */ swc1 $f2, 0x3c($s0)
/* B1E918 800A7778 E7AC002C */ swc1 $f12, 0x2c($sp)
/* B1E91C 800A777C 0C01DE1C */ jal Math_Sins
/* B1E920 800A7780 E7AE0030 */ swc1 $f14, 0x30($sp)
/* B1E924 800A7784 87A40042 */ lh $a0, 0x42($sp)
/* B1E928 800A7788 0C01DE0D */ jal Math_Coss
/* B1E92C 800A778C E7A00024 */ swc1 $f0, 0x24($sp)
/* B1E930 800A7790 C7AC002C */ lwc1 $f12, 0x2c($sp)
/* B1E934 800A7794 C7A20024 */ lwc1 $f2, 0x24($sp)
/* B1E938 800A7798 C7AE0030 */ lwc1 $f14, 0x30($sp)
/* B1E93C 800A779C 46006182 */ mul.s $f6, $f12, $f0
/* B1E940 800A77A0 46001107 */ neg.s $f4, $f2
/* B1E944 800A77A4 44808000 */ mtc1 $zero, $f16
/* B1E948 800A77A8 46026202 */ mul.s $f8, $f12, $f2
/* B1E94C 800A77AC E6040008 */ swc1 $f4, 8($s0)
/* B1E950 800A77B0 E6000028 */ swc1 $f0, 0x28($s0)
/* B1E954 800A77B4 46007282 */ mul.s $f10, $f14, $f0
/* B1E958 800A77B8 E6060000 */ swc1 $f6, ($s0)
/* B1E95C 800A77BC 46027482 */ mul.s $f18, $f14, $f2
/* B1E960 800A77C0 E6080020 */ swc1 $f8, 0x20($s0)
/* B1E964 800A77C4 E60A0004 */ swc1 $f10, 4($s0)
/* B1E968 800A77C8 10000007 */ b .L800A77E8
/* B1E96C 800A77CC E6120024 */ swc1 $f18, 0x24($s0)
.L800A77D0:
/* B1E970 800A77D0 E6000000 */ swc1 $f0, ($s0)
/* B1E974 800A77D4 E60E0004 */ swc1 $f14, 4($s0)
/* B1E978 800A77D8 E6100024 */ swc1 $f16, 0x24($s0)
/* B1E97C 800A77DC E6100020 */ swc1 $f16, 0x20($s0)
/* B1E980 800A77E0 E6100008 */ swc1 $f16, 8($s0)
/* B1E984 800A77E4 E6020028 */ swc1 $f2, 0x28($s0)
.L800A77E8:
/* B1E988 800A77E8 87A4003E */ lh $a0, 0x3e($sp)
/* B1E98C 800A77EC 50800024 */ beql $a0, $zero, .L800A7880
/* B1E990 800A77F0 E6100018 */ swc1 $f16, 0x18($s0)
/* B1E994 800A77F4 0C01DE1C */ jal Math_Sins
/* B1E998 800A77F8 00000000 */ nop
/* B1E99C 800A77FC 87A4003E */ lh $a0, 0x3e($sp)
/* B1E9A0 800A7800 0C01DE0D */ jal Math_Coss
/* B1E9A4 800A7804 E7A00024 */ swc1 $f0, 0x24($sp)
/* B1E9A8 800A7808 C60E0010 */ lwc1 $f14, 0x10($s0)
/* B1E9AC 800A780C C7A20024 */ lwc1 $f2, 0x24($sp)
/* B1E9B0 800A7810 C60C0020 */ lwc1 $f12, 0x20($s0)
/* B1E9B4 800A7814 46007182 */ mul.s $f6, $f14, $f0
/* B1E9B8 800A7818 00000000 */ nop
/* B1E9BC 800A781C 46026202 */ mul.s $f8, $f12, $f2
/* B1E9C0 800A7820 00000000 */ nop
/* B1E9C4 800A7824 46006482 */ mul.s $f18, $f12, $f0
/* B1E9C8 800A7828 C60C0024 */ lwc1 $f12, 0x24($s0)
/* B1E9CC 800A782C 46027102 */ mul.s $f4, $f14, $f2
/* B1E9D0 800A7830 C60E0014 */ lwc1 $f14, 0x14($s0)
/* B1E9D4 800A7834 46083280 */ add.s $f10, $f6, $f8
/* B1E9D8 800A7838 46007202 */ mul.s $f8, $f14, $f0
/* B1E9DC 800A783C E60A0010 */ swc1 $f10, 0x10($s0)
/* B1E9E0 800A7840 46026282 */ mul.s $f10, $f12, $f2
/* B1E9E4 800A7844 46049181 */ sub.s $f6, $f18, $f4
/* B1E9E8 800A7848 46006102 */ mul.s $f4, $f12, $f0
/* B1E9EC 800A784C C60C0028 */ lwc1 $f12, 0x28($s0)
/* B1E9F0 800A7850 E6060020 */ swc1 $f6, 0x20($s0)
/* B1E9F4 800A7854 46027182 */ mul.s $f6, $f14, $f2
/* B1E9F8 800A7858 460A4480 */ add.s $f18, $f8, $f10
/* B1E9FC 800A785C 46026282 */ mul.s $f10, $f12, $f2
/* B1EA00 800A7860 E6120014 */ swc1 $f18, 0x14($s0)
/* B1EA04 800A7864 46006482 */ mul.s $f18, $f12, $f0
/* B1EA08 800A7868 46062201 */ sub.s $f8, $f4, $f6
/* B1EA0C 800A786C E60A0018 */ swc1 $f10, 0x18($s0)
/* B1EA10 800A7870 E6080024 */ swc1 $f8, 0x24($s0)
/* B1EA14 800A7874 10000002 */ b .L800A7880
/* B1EA18 800A7878 E6120028 */ swc1 $f18, 0x28($s0)
/* B1EA1C 800A787C E6100018 */ swc1 $f16, 0x18($s0)
.L800A7880:
/* B1EA20 800A7880 8FBF001C */ lw $ra, 0x1c($sp)
/* B1EA24 800A7884 8FB00018 */ lw $s0, 0x18($sp)
/* B1EA28 800A7888 27BD0038 */ addiu $sp, $sp, 0x38
/* B1EA2C 800A788C 03E00008 */ jr $ra
/* B1EA30 800A7890 00000000 */ nop

View File

@ -1,105 +0,0 @@
glabel func_800A7894
/* B1EA34 800A7894 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B1EA38 800A7898 AFB00018 */ sw $s0, 0x18($sp)
/* B1EA3C 800A789C 00808025 */ move $s0, $a0
/* B1EA40 800A78A0 AFBF001C */ sw $ra, 0x1c($sp)
/* B1EA44 800A78A4 AFA60040 */ sw $a2, 0x40($sp)
/* B1EA48 800A78A8 AFA5003C */ sw $a1, 0x3c($sp)
/* B1EA4C 800A78AC AFA70044 */ sw $a3, 0x44($sp)
/* B1EA50 800A78B0 0C01DE1C */ jal Math_Sins
/* B1EA54 800A78B4 87A40042 */ lh $a0, 0x42($sp)
/* B1EA58 800A78B8 87A40042 */ lh $a0, 0x42($sp)
/* B1EA5C 800A78BC 0C01DE0D */ jal Math_Coss
/* B1EA60 800A78C0 E7A00030 */ swc1 $f0, 0x30($sp)
/* B1EA64 800A78C4 87A4003E */ lh $a0, 0x3e($sp)
/* B1EA68 800A78C8 C7AE0030 */ lwc1 $f14, 0x30($sp)
/* B1EA6C 800A78CC 44808000 */ mtc1 $zero, $f16
/* B1EA70 800A78D0 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B1EA74 800A78D4 44811000 */ mtc1 $at, $f2
/* B1EA78 800A78D8 46007107 */ neg.s $f4, $f14
/* B1EA7C 800A78DC 46000306 */ mov.s $f12, $f0
/* B1EA80 800A78E0 E6000000 */ swc1 $f0, ($s0)
/* B1EA84 800A78E4 E6040008 */ swc1 $f4, 8($s0)
/* B1EA88 800A78E8 E610002C */ swc1 $f16, 0x2c($s0)
/* B1EA8C 800A78EC E610001C */ swc1 $f16, 0x1c($s0)
/* B1EA90 800A78F0 E610000C */ swc1 $f16, 0xc($s0)
/* B1EA94 800A78F4 E6100038 */ swc1 $f16, 0x38($s0)
/* B1EA98 800A78F8 E6100034 */ swc1 $f16, 0x34($s0)
/* B1EA9C 800A78FC E6100030 */ swc1 $f16, 0x30($s0)
/* B1EAA0 800A7900 10800017 */ beqz $a0, .L800A7960
/* B1EAA4 800A7904 E602003C */ swc1 $f2, 0x3c($s0)
/* B1EAA8 800A7908 E7AC002C */ swc1 $f12, 0x2c($sp)
/* B1EAAC 800A790C 0C01DE1C */ jal Math_Sins
/* B1EAB0 800A7910 E7AE0030 */ swc1 $f14, 0x30($sp)
/* B1EAB4 800A7914 87A4003E */ lh $a0, 0x3e($sp)
/* B1EAB8 800A7918 0C01DE0D */ jal Math_Coss
/* B1EABC 800A791C E7A00024 */ swc1 $f0, 0x24($sp)
/* B1EAC0 800A7920 C7AC002C */ lwc1 $f12, 0x2c($sp)
/* B1EAC4 800A7924 C7A20024 */ lwc1 $f2, 0x24($sp)
/* B1EAC8 800A7928 C7AE0030 */ lwc1 $f14, 0x30($sp)
/* B1EACC 800A792C 46006182 */ mul.s $f6, $f12, $f0
/* B1EAD0 800A7930 46001107 */ neg.s $f4, $f2
/* B1EAD4 800A7934 44808000 */ mtc1 $zero, $f16
/* B1EAD8 800A7938 46026202 */ mul.s $f8, $f12, $f2
/* B1EADC 800A793C E6040024 */ swc1 $f4, 0x24($s0)
/* B1EAE0 800A7940 E6000014 */ swc1 $f0, 0x14($s0)
/* B1EAE4 800A7944 46007282 */ mul.s $f10, $f14, $f0
/* B1EAE8 800A7948 E6060028 */ swc1 $f6, 0x28($s0)
/* B1EAEC 800A794C 46027482 */ mul.s $f18, $f14, $f2
/* B1EAF0 800A7950 E6080018 */ swc1 $f8, 0x18($s0)
/* B1EAF4 800A7954 E60A0020 */ swc1 $f10, 0x20($s0)
/* B1EAF8 800A7958 10000007 */ b .L800A7978
/* B1EAFC 800A795C E6120010 */ swc1 $f18, 0x10($s0)
.L800A7960:
/* B1EB00 800A7960 E6000028 */ swc1 $f0, 0x28($s0)
/* B1EB04 800A7964 E60E0020 */ swc1 $f14, 0x20($s0)
/* B1EB08 800A7968 E6100024 */ swc1 $f16, 0x24($s0)
/* B1EB0C 800A796C E6100018 */ swc1 $f16, 0x18($s0)
/* B1EB10 800A7970 E6100010 */ swc1 $f16, 0x10($s0)
/* B1EB14 800A7974 E6020014 */ swc1 $f2, 0x14($s0)
.L800A7978:
/* B1EB18 800A7978 87A40046 */ lh $a0, 0x46($sp)
/* B1EB1C 800A797C 50800024 */ beql $a0, $zero, .L800A7A10
/* B1EB20 800A7980 E6100004 */ swc1 $f16, 4($s0)
/* B1EB24 800A7984 0C01DE1C */ jal Math_Sins
/* B1EB28 800A7988 00000000 */ nop
/* B1EB2C 800A798C 87A40046 */ lh $a0, 0x46($sp)
/* B1EB30 800A7990 0C01DE0D */ jal Math_Coss
/* B1EB34 800A7994 E7A00024 */ swc1 $f0, 0x24($sp)
/* B1EB38 800A7998 C60E0000 */ lwc1 $f14, ($s0)
/* B1EB3C 800A799C C7A20024 */ lwc1 $f2, 0x24($sp)
/* B1EB40 800A79A0 C60C0010 */ lwc1 $f12, 0x10($s0)
/* B1EB44 800A79A4 46007182 */ mul.s $f6, $f14, $f0
/* B1EB48 800A79A8 00000000 */ nop
/* B1EB4C 800A79AC 46026202 */ mul.s $f8, $f12, $f2
/* B1EB50 800A79B0 00000000 */ nop
/* B1EB54 800A79B4 46006482 */ mul.s $f18, $f12, $f0
/* B1EB58 800A79B8 C60C0018 */ lwc1 $f12, 0x18($s0)
/* B1EB5C 800A79BC 46027102 */ mul.s $f4, $f14, $f2
/* B1EB60 800A79C0 C60E0008 */ lwc1 $f14, 8($s0)
/* B1EB64 800A79C4 46083280 */ add.s $f10, $f6, $f8
/* B1EB68 800A79C8 46007202 */ mul.s $f8, $f14, $f0
/* B1EB6C 800A79CC E60A0000 */ swc1 $f10, ($s0)
/* B1EB70 800A79D0 46026282 */ mul.s $f10, $f12, $f2
/* B1EB74 800A79D4 46049181 */ sub.s $f6, $f18, $f4
/* B1EB78 800A79D8 46006102 */ mul.s $f4, $f12, $f0
/* B1EB7C 800A79DC C60C0014 */ lwc1 $f12, 0x14($s0)
/* B1EB80 800A79E0 E6060010 */ swc1 $f6, 0x10($s0)
/* B1EB84 800A79E4 46027182 */ mul.s $f6, $f14, $f2
/* B1EB88 800A79E8 460A4480 */ add.s $f18, $f8, $f10
/* B1EB8C 800A79EC 46026282 */ mul.s $f10, $f12, $f2
/* B1EB90 800A79F0 E6120008 */ swc1 $f18, 8($s0)
/* B1EB94 800A79F4 46006482 */ mul.s $f18, $f12, $f0
/* B1EB98 800A79F8 46062201 */ sub.s $f8, $f4, $f6
/* B1EB9C 800A79FC E60A0004 */ swc1 $f10, 4($s0)
/* B1EBA0 800A7A00 E6080018 */ swc1 $f8, 0x18($s0)
/* B1EBA4 800A7A04 10000002 */ b .L800A7A10
/* B1EBA8 800A7A08 E6120014 */ swc1 $f18, 0x14($s0)
/* B1EBAC 800A7A0C E6100004 */ swc1 $f16, 4($s0)
.L800A7A10:
/* B1EBB0 800A7A10 8FBF001C */ lw $ra, 0x1c($sp)
/* B1EBB4 800A7A14 8FB00018 */ lw $s0, 0x18($sp)
/* B1EBB8 800A7A18 27BD0038 */ addiu $sp, $sp, 0x38
/* B1EBBC 800A7A1C 03E00008 */ jr $ra
/* B1EBC0 800A7A20 00000000 */ nop

View File

@ -1,26 +0,0 @@
glabel func_800A7A24
/* B1EBC4 800A7A24 AFA7000C */ sw $a3, 0xc($sp)
/* B1EBC8 800A7A28 44800000 */ mtc1 $zero, $f0
/* B1EBCC 800A7A2C 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B1EBD0 800A7A30 44811000 */ mtc1 $at, $f2
/* B1EBD4 800A7A34 44856000 */ mtc1 $a1, $f12
/* B1EBD8 800A7A38 44867000 */ mtc1 $a2, $f14
/* B1EBDC 800A7A3C E4800004 */ swc1 $f0, 4($a0)
/* B1EBE0 800A7A40 E4800008 */ swc1 $f0, 8($a0)
/* B1EBE4 800A7A44 E480000C */ swc1 $f0, 0xc($a0)
/* B1EBE8 800A7A48 E4800010 */ swc1 $f0, 0x10($a0)
/* B1EBEC 800A7A4C E4800018 */ swc1 $f0, 0x18($a0)
/* B1EBF0 800A7A50 E480001C */ swc1 $f0, 0x1c($a0)
/* B1EBF4 800A7A54 E4800020 */ swc1 $f0, 0x20($a0)
/* B1EBF8 800A7A58 E4800024 */ swc1 $f0, 0x24($a0)
/* B1EBFC 800A7A5C E480002C */ swc1 $f0, 0x2c($a0)
/* B1EC00 800A7A60 E4820000 */ swc1 $f2, ($a0)
/* B1EC04 800A7A64 E4820014 */ swc1 $f2, 0x14($a0)
/* B1EC08 800A7A68 E4820028 */ swc1 $f2, 0x28($a0)
/* B1EC0C 800A7A6C E482003C */ swc1 $f2, 0x3c($a0)
/* B1EC10 800A7A70 E48C0030 */ swc1 $f12, 0x30($a0)
/* B1EC14 800A7A74 E48E0034 */ swc1 $f14, 0x34($a0)
/* B1EC18 800A7A78 C7A4000C */ lwc1 $f4, 0xc($sp)
/* B1EC1C 800A7A7C 03E00008 */ jr $ra
/* B1EC20 800A7A80 E4840038 */ swc1 $f4, 0x38($a0)

View File

@ -1,34 +0,0 @@
glabel func_800A7A84
/* B1EC24 800A7A84 27BDFF68 */ addiu $sp, $sp, -0x98
/* B1EC28 800A7A88 AFBF0014 */ sw $ra, 0x14($sp)
/* B1EC2C 800A7A8C AFA5009C */ sw $a1, 0x9c($sp)
/* B1EC30 800A7A90 AFA600A0 */ sw $a2, 0xa0($sp)
/* B1EC34 800A7A94 AFA700A4 */ sw $a3, 0xa4($sp)
/* B1EC38 800A7A98 AFA40098 */ sw $a0, 0x98($sp)
/* B1EC3C 800A7A9C 8FA700BC */ lw $a3, 0xbc($sp)
/* B1EC40 800A7AA0 8FA600B8 */ lw $a2, 0xb8($sp)
/* B1EC44 800A7AA4 0C029E89 */ jal func_800A7A24
/* B1EC48 800A7AA8 8FA500B4 */ lw $a1, 0xb4($sp)
/* B1EC4C 800A7AAC 27A40058 */ addiu $a0, $sp, 0x58
/* B1EC50 800A7AB0 87A500AA */ lh $a1, 0xaa($sp)
/* B1EC54 800A7AB4 87A600AE */ lh $a2, 0xae($sp)
/* B1EC58 800A7AB8 0C029DC1 */ jal func_800A7704
/* B1EC5C 800A7ABC 87A700B2 */ lh $a3, 0xb2($sp)
/* B1EC60 800A7AC0 8FA40098 */ lw $a0, 0x98($sp)
/* B1EC64 800A7AC4 27A50058 */ addiu $a1, $sp, 0x58
/* B1EC68 800A7AC8 0C029BE8 */ jal func_800A6FA0
/* B1EC6C 800A7ACC 27A60018 */ addiu $a2, $sp, 0x18
/* B1EC70 800A7AD0 27A40058 */ addiu $a0, $sp, 0x58
/* B1EC74 800A7AD4 8FA5009C */ lw $a1, 0x9c($sp)
/* B1EC78 800A7AD8 8FA600A0 */ lw $a2, 0xa0($sp)
/* B1EC7C 800A7ADC 0C029DA9 */ jal func_800A76A4
/* B1EC80 800A7AE0 8FA700A4 */ lw $a3, 0xa4($sp)
/* B1EC84 800A7AE4 27A40018 */ addiu $a0, $sp, 0x18
/* B1EC88 800A7AE8 27A50058 */ addiu $a1, $sp, 0x58
/* B1EC8C 800A7AEC 0C029BE8 */ jal func_800A6FA0
/* B1EC90 800A7AF0 8FA60098 */ lw $a2, 0x98($sp)
/* B1EC94 800A7AF4 8FBF0014 */ lw $ra, 0x14($sp)
/* B1EC98 800A7AF8 27BD0098 */ addiu $sp, $sp, 0x98
/* B1EC9C 800A7AFC 03E00008 */ jr $ra
/* B1ECA0 800A7B00 00000000 */ nop

View File

@ -1,34 +0,0 @@
glabel func_800A7B04
/* B1ECA4 800A7B04 27BDFF68 */ addiu $sp, $sp, -0x98
/* B1ECA8 800A7B08 AFBF0014 */ sw $ra, 0x14($sp)
/* B1ECAC 800A7B0C AFA5009C */ sw $a1, 0x9c($sp)
/* B1ECB0 800A7B10 AFA600A0 */ sw $a2, 0xa0($sp)
/* B1ECB4 800A7B14 AFA700A4 */ sw $a3, 0xa4($sp)
/* B1ECB8 800A7B18 AFA40098 */ sw $a0, 0x98($sp)
/* B1ECBC 800A7B1C 8FA700BC */ lw $a3, 0xbc($sp)
/* B1ECC0 800A7B20 8FA600B8 */ lw $a2, 0xb8($sp)
/* B1ECC4 800A7B24 0C029E89 */ jal func_800A7A24
/* B1ECC8 800A7B28 8FA500B4 */ lw $a1, 0xb4($sp)
/* B1ECCC 800A7B2C 27A40058 */ addiu $a0, $sp, 0x58
/* B1ECD0 800A7B30 87A500AA */ lh $a1, 0xaa($sp)
/* B1ECD4 800A7B34 87A600AE */ lh $a2, 0xae($sp)
/* B1ECD8 800A7B38 0C029E25 */ jal func_800A7894
/* B1ECDC 800A7B3C 87A700B2 */ lh $a3, 0xb2($sp)
/* B1ECE0 800A7B40 8FA40098 */ lw $a0, 0x98($sp)
/* B1ECE4 800A7B44 27A50058 */ addiu $a1, $sp, 0x58
/* B1ECE8 800A7B48 0C029BE8 */ jal func_800A6FA0
/* B1ECEC 800A7B4C 27A60018 */ addiu $a2, $sp, 0x18
/* B1ECF0 800A7B50 27A40058 */ addiu $a0, $sp, 0x58
/* B1ECF4 800A7B54 8FA5009C */ lw $a1, 0x9c($sp)
/* B1ECF8 800A7B58 8FA600A0 */ lw $a2, 0xa0($sp)
/* B1ECFC 800A7B5C 0C029DA9 */ jal func_800A76A4
/* B1ED00 800A7B60 8FA700A4 */ lw $a3, 0xa4($sp)
/* B1ED04 800A7B64 27A40018 */ addiu $a0, $sp, 0x18
/* B1ED08 800A7B68 27A50058 */ addiu $a1, $sp, 0x58
/* B1ED0C 800A7B6C 0C029BE8 */ jal func_800A6FA0
/* B1ED10 800A7B70 8FA60098 */ lw $a2, 0x98($sp)
/* B1ED14 800A7B74 8FBF0014 */ lw $ra, 0x14($sp)
/* B1ED18 800A7B78 27BD0098 */ addiu $sp, $sp, 0x98
/* B1ED1C 800A7B7C 03E00008 */ jr $ra
/* B1ED20 800A7B80 00000000 */ nop

View File

@ -1,26 +0,0 @@
glabel func_800A7B84
/* B1ED24 800A7B84 27BDFF68 */ addiu $sp, $sp, -0x98
/* B1ED28 800A7B88 AFBF0014 */ sw $ra, 0x14($sp)
/* B1ED2C 800A7B8C AFA40098 */ sw $a0, 0x98($sp)
/* B1ED30 800A7B90 AFA5009C */ sw $a1, 0x9c($sp)
/* B1ED34 800A7B94 AFA600A0 */ sw $a2, 0xa0($sp)
/* B1ED38 800A7B98 AFA700A4 */ sw $a3, 0xa4($sp)
/* B1ED3C 800A7B9C 8FA700B0 */ lw $a3, 0xb0($sp)
/* B1ED40 800A7BA0 8FA600AC */ lw $a2, 0xac($sp)
/* B1ED44 800A7BA4 8FA500A8 */ lw $a1, 0xa8($sp)
/* B1ED48 800A7BA8 0C029E89 */ jal func_800A7A24
/* B1ED4C 800A7BAC 27A40018 */ addiu $a0, $sp, 0x18
/* B1ED50 800A7BB0 27A40058 */ addiu $a0, $sp, 0x58
/* B1ED54 800A7BB4 87A5009E */ lh $a1, 0x9e($sp)
/* B1ED58 800A7BB8 87A600A2 */ lh $a2, 0xa2($sp)
/* B1ED5C 800A7BBC 0C029DC1 */ jal func_800A7704
/* B1ED60 800A7BC0 87A700A6 */ lh $a3, 0xa6($sp)
/* B1ED64 800A7BC4 27A40018 */ addiu $a0, $sp, 0x18
/* B1ED68 800A7BC8 27A50058 */ addiu $a1, $sp, 0x58
/* B1ED6C 800A7BCC 0C029BE8 */ jal func_800A6FA0
/* B1ED70 800A7BD0 8FA60098 */ lw $a2, 0x98($sp)
/* B1ED74 800A7BD4 8FBF0014 */ lw $ra, 0x14($sp)
/* B1ED78 800A7BD8 27BD0098 */ addiu $sp, $sp, 0x98
/* B1ED7C 800A7BDC 03E00008 */ jr $ra
/* B1ED80 800A7BE0 00000000 */ nop

View File

@ -1,17 +0,0 @@
glabel func_800A7BE4
/* B1ED84 800A7BE4 C4840000 */ lwc1 $f4, ($a0)
/* B1ED88 800A7BE8 4600218D */ trunc.w.s $f6, $f4
/* B1ED8C 800A7BEC 440F3000 */ mfc1 $t7, $f6
/* B1ED90 800A7BF0 00000000 */ nop
/* B1ED94 800A7BF4 A4AF0000 */ sh $t7, ($a1)
/* B1ED98 800A7BF8 C4880004 */ lwc1 $f8, 4($a0)
/* B1ED9C 800A7BFC 4600428D */ trunc.w.s $f10, $f8
/* B1EDA0 800A7C00 44195000 */ mfc1 $t9, $f10
/* B1EDA4 800A7C04 00000000 */ nop
/* B1EDA8 800A7C08 A4B90002 */ sh $t9, 2($a1)
/* B1EDAC 800A7C0C C4900008 */ lwc1 $f16, 8($a0)
/* B1EDB0 800A7C10 4600848D */ trunc.w.s $f18, $f16
/* B1EDB4 800A7C14 44099000 */ mfc1 $t1, $f18
/* B1EDB8 800A7C18 03E00008 */ jr $ra
/* B1EDBC 800A7C1C A4A90004 */ sh $t1, 4($a1)

View File

@ -1,18 +0,0 @@
glabel func_800A7C20
/* B1EDC0 800A7C20 848E0000 */ lh $t6, ($a0)
/* B1EDC4 800A7C24 448E2000 */ mtc1 $t6, $f4
/* B1EDC8 800A7C28 00000000 */ nop
/* B1EDCC 800A7C2C 468021A0 */ cvt.s.w $f6, $f4
/* B1EDD0 800A7C30 E4A60000 */ swc1 $f6, ($a1)
/* B1EDD4 800A7C34 848F0002 */ lh $t7, 2($a0)
/* B1EDD8 800A7C38 448F4000 */ mtc1 $t7, $f8
/* B1EDDC 800A7C3C 00000000 */ nop
/* B1EDE0 800A7C40 468042A0 */ cvt.s.w $f10, $f8
/* B1EDE4 800A7C44 E4AA0004 */ swc1 $f10, 4($a1)
/* B1EDE8 800A7C48 84980004 */ lh $t8, 4($a0)
/* B1EDEC 800A7C4C 44988000 */ mtc1 $t8, $f16
/* B1EDF0 800A7C50 00000000 */ nop
/* B1EDF4 800A7C54 468084A0 */ cvt.s.w $f18, $f16
/* B1EDF8 800A7C58 03E00008 */ jr $ra
/* B1EDFC 800A7C5C E4B20008 */ swc1 $f18, 8($a1)

View File

@ -1,134 +0,0 @@
glabel func_800A7C60
/* B1EE00 800A7C60 3C014780 */ li $at, 0x47800000 # 0.000000
/* B1EE04 800A7C64 44810000 */ mtc1 $at, $f0
/* B1EE08 800A7C68 C4840000 */ lwc1 $f4, ($a0)
/* B1EE0C 800A7C6C 24A20020 */ addiu $v0, $a1, 0x20
/* B1EE10 800A7C70 46002182 */ mul.s $f6, $f4, $f0
/* B1EE14 800A7C74 4600320D */ trunc.w.s $f8, $f6
/* B1EE18 800A7C78 44184000 */ mfc1 $t8, $f8
/* B1EE1C 800A7C7C 00000000 */ nop
/* B1EE20 800A7C80 00187C03 */ sra $t7, $t8, 0x10
/* B1EE24 800A7C84 A4AF0000 */ sh $t7, ($a1)
/* B1EE28 800A7C88 A4B80020 */ sh $t8, 0x20($a1)
/* B1EE2C 800A7C8C C48A0004 */ lwc1 $f10, 4($a0)
/* B1EE30 800A7C90 46005402 */ mul.s $f16, $f10, $f0
/* B1EE34 800A7C94 4600848D */ trunc.w.s $f18, $f16
/* B1EE38 800A7C98 44099000 */ mfc1 $t1, $f18
/* B1EE3C 800A7C9C 00000000 */ nop
/* B1EE40 800A7CA0 00094403 */ sra $t0, $t1, 0x10
/* B1EE44 800A7CA4 A4A80002 */ sh $t0, 2($a1)
/* B1EE48 800A7CA8 A4A90022 */ sh $t1, 0x22($a1)
/* B1EE4C 800A7CAC C4840008 */ lwc1 $f4, 8($a0)
/* B1EE50 800A7CB0 46002182 */ mul.s $f6, $f4, $f0
/* B1EE54 800A7CB4 4600320D */ trunc.w.s $f8, $f6
/* B1EE58 800A7CB8 440C4000 */ mfc1 $t4, $f8
/* B1EE5C 800A7CBC 00000000 */ nop
/* B1EE60 800A7CC0 000C5C03 */ sra $t3, $t4, 0x10
/* B1EE64 800A7CC4 A4AB0004 */ sh $t3, 4($a1)
/* B1EE68 800A7CC8 A4AC0024 */ sh $t4, 0x24($a1)
/* B1EE6C 800A7CCC C48A000C */ lwc1 $f10, 0xc($a0)
/* B1EE70 800A7CD0 46005402 */ mul.s $f16, $f10, $f0
/* B1EE74 800A7CD4 4600848D */ trunc.w.s $f18, $f16
/* B1EE78 800A7CD8 440F9000 */ mfc1 $t7, $f18
/* B1EE7C 800A7CDC 00000000 */ nop
/* B1EE80 800A7CE0 000F7403 */ sra $t6, $t7, 0x10
/* B1EE84 800A7CE4 A4AE0006 */ sh $t6, 6($a1)
/* B1EE88 800A7CE8 A4AF0026 */ sh $t7, 0x26($a1)
/* B1EE8C 800A7CEC C4840010 */ lwc1 $f4, 0x10($a0)
/* B1EE90 800A7CF0 46002182 */ mul.s $f6, $f4, $f0
/* B1EE94 800A7CF4 4600320D */ trunc.w.s $f8, $f6
/* B1EE98 800A7CF8 44084000 */ mfc1 $t0, $f8
/* B1EE9C 800A7CFC 00000000 */ nop
/* B1EEA0 800A7D00 0008CC03 */ sra $t9, $t0, 0x10
/* B1EEA4 800A7D04 A4B90008 */ sh $t9, 8($a1)
/* B1EEA8 800A7D08 A4A80028 */ sh $t0, 0x28($a1)
/* B1EEAC 800A7D0C C48A0014 */ lwc1 $f10, 0x14($a0)
/* B1EEB0 800A7D10 46005402 */ mul.s $f16, $f10, $f0
/* B1EEB4 800A7D14 4600848D */ trunc.w.s $f18, $f16
/* B1EEB8 800A7D18 440B9000 */ mfc1 $t3, $f18
/* B1EEBC 800A7D1C 00000000 */ nop
/* B1EEC0 800A7D20 000B5403 */ sra $t2, $t3, 0x10
/* B1EEC4 800A7D24 A4AA000A */ sh $t2, 0xa($a1)
/* B1EEC8 800A7D28 A4AB002A */ sh $t3, 0x2a($a1)
/* B1EECC 800A7D2C C4840018 */ lwc1 $f4, 0x18($a0)
/* B1EED0 800A7D30 46002182 */ mul.s $f6, $f4, $f0
/* B1EED4 800A7D34 4600320D */ trunc.w.s $f8, $f6
/* B1EED8 800A7D38 440E4000 */ mfc1 $t6, $f8
/* B1EEDC 800A7D3C 00000000 */ nop
/* B1EEE0 800A7D40 000E6C03 */ sra $t5, $t6, 0x10
/* B1EEE4 800A7D44 A4AD000C */ sh $t5, 0xc($a1)
/* B1EEE8 800A7D48 A4AE002C */ sh $t6, 0x2c($a1)
/* B1EEEC 800A7D4C C48A001C */ lwc1 $f10, 0x1c($a0)
/* B1EEF0 800A7D50 46005402 */ mul.s $f16, $f10, $f0
/* B1EEF4 800A7D54 4600848D */ trunc.w.s $f18, $f16
/* B1EEF8 800A7D58 44199000 */ mfc1 $t9, $f18
/* B1EEFC 800A7D5C 00000000 */ nop
/* B1EF00 800A7D60 0019C403 */ sra $t8, $t9, 0x10
/* B1EF04 800A7D64 A4B8000E */ sh $t8, 0xe($a1)
/* B1EF08 800A7D68 A4B9002E */ sh $t9, 0x2e($a1)
/* B1EF0C 800A7D6C C4840020 */ lwc1 $f4, 0x20($a0)
/* B1EF10 800A7D70 46002182 */ mul.s $f6, $f4, $f0
/* B1EF14 800A7D74 4600320D */ trunc.w.s $f8, $f6
/* B1EF18 800A7D78 440A4000 */ mfc1 $t2, $f8
/* B1EF1C 800A7D7C 00000000 */ nop
/* B1EF20 800A7D80 000A4C03 */ sra $t1, $t2, 0x10
/* B1EF24 800A7D84 A4A90010 */ sh $t1, 0x10($a1)
/* B1EF28 800A7D88 A4AA0030 */ sh $t2, 0x30($a1)
/* B1EF2C 800A7D8C C48A0024 */ lwc1 $f10, 0x24($a0)
/* B1EF30 800A7D90 46005402 */ mul.s $f16, $f10, $f0
/* B1EF34 800A7D94 4600848D */ trunc.w.s $f18, $f16
/* B1EF38 800A7D98 440D9000 */ mfc1 $t5, $f18
/* B1EF3C 800A7D9C 00000000 */ nop
/* B1EF40 800A7DA0 000D6403 */ sra $t4, $t5, 0x10
/* B1EF44 800A7DA4 A4AC0012 */ sh $t4, 0x12($a1)
/* B1EF48 800A7DA8 A44D0012 */ sh $t5, 0x12($v0)
/* B1EF4C 800A7DAC C4840028 */ lwc1 $f4, 0x28($a0)
/* B1EF50 800A7DB0 46002182 */ mul.s $f6, $f4, $f0
/* B1EF54 800A7DB4 4600320D */ trunc.w.s $f8, $f6
/* B1EF58 800A7DB8 44184000 */ mfc1 $t8, $f8
/* B1EF5C 800A7DBC 00000000 */ nop
/* B1EF60 800A7DC0 00187C03 */ sra $t7, $t8, 0x10
/* B1EF64 800A7DC4 A4AF0014 */ sh $t7, 0x14($a1)
/* B1EF68 800A7DC8 A4580014 */ sh $t8, 0x14($v0)
/* B1EF6C 800A7DCC C48A002C */ lwc1 $f10, 0x2c($a0)
/* B1EF70 800A7DD0 46005402 */ mul.s $f16, $f10, $f0
/* B1EF74 800A7DD4 4600848D */ trunc.w.s $f18, $f16
/* B1EF78 800A7DD8 44099000 */ mfc1 $t1, $f18
/* B1EF7C 800A7DDC 00000000 */ nop
/* B1EF80 800A7DE0 00094403 */ sra $t0, $t1, 0x10
/* B1EF84 800A7DE4 A4A80016 */ sh $t0, 0x16($a1)
/* B1EF88 800A7DE8 A4490016 */ sh $t1, 0x16($v0)
/* B1EF8C 800A7DEC C4840030 */ lwc1 $f4, 0x30($a0)
/* B1EF90 800A7DF0 46002182 */ mul.s $f6, $f4, $f0
/* B1EF94 800A7DF4 4600320D */ trunc.w.s $f8, $f6
/* B1EF98 800A7DF8 440C4000 */ mfc1 $t4, $f8
/* B1EF9C 800A7DFC 00000000 */ nop
/* B1EFA0 800A7E00 000C5C03 */ sra $t3, $t4, 0x10
/* B1EFA4 800A7E04 A4AB0018 */ sh $t3, 0x18($a1)
/* B1EFA8 800A7E08 A44C0018 */ sh $t4, 0x18($v0)
/* B1EFAC 800A7E0C C48A0034 */ lwc1 $f10, 0x34($a0)
/* B1EFB0 800A7E10 46005402 */ mul.s $f16, $f10, $f0
/* B1EFB4 800A7E14 4600848D */ trunc.w.s $f18, $f16
/* B1EFB8 800A7E18 440F9000 */ mfc1 $t7, $f18
/* B1EFBC 800A7E1C 00000000 */ nop
/* B1EFC0 800A7E20 000F7403 */ sra $t6, $t7, 0x10
/* B1EFC4 800A7E24 A4AE001A */ sh $t6, 0x1a($a1)
/* B1EFC8 800A7E28 A44F001A */ sh $t7, 0x1a($v0)
/* B1EFCC 800A7E2C C4840038 */ lwc1 $f4, 0x38($a0)
/* B1EFD0 800A7E30 46002182 */ mul.s $f6, $f4, $f0
/* B1EFD4 800A7E34 4600320D */ trunc.w.s $f8, $f6
/* B1EFD8 800A7E38 44084000 */ mfc1 $t0, $f8
/* B1EFDC 800A7E3C 00000000 */ nop
/* B1EFE0 800A7E40 0008CC03 */ sra $t9, $t0, 0x10
/* B1EFE4 800A7E44 A4B9001C */ sh $t9, 0x1c($a1)
/* B1EFE8 800A7E48 A448001C */ sh $t0, 0x1c($v0)
/* B1EFEC 800A7E4C C48A003C */ lwc1 $f10, 0x3c($a0)
/* B1EFF0 800A7E50 46005402 */ mul.s $f16, $f10, $f0
/* B1EFF4 800A7E54 4600848D */ trunc.w.s $f18, $f16
/* B1EFF8 800A7E58 440B9000 */ mfc1 $t3, $f18
/* B1EFFC 800A7E5C 00000000 */ nop
/* B1F000 800A7E60 000B5403 */ sra $t2, $t3, 0x10
/* B1F004 800A7E64 A4AA001E */ sh $t2, 0x1e($a1)
/* B1F008 800A7E68 03E00008 */ jr $ra
/* B1F00C 800A7E6C A44B001E */ sh $t3, 0x1e($v0)

View File

@ -1,31 +0,0 @@
.rdata
glabel D_80140810
.asciz "Skin_Matrix_to_Mtx_new() :NULL\n"
# EUC-JP: :NULL | Secure failure: Return NULL and end
.balign 4
.text
glabel func_800A7E70
/* B1F010 800A7E70 27BDFFE0 */ addiu $sp, $sp, -0x20
/* B1F014 800A7E74 AFBF0014 */ sw $ra, 0x14($sp)
/* B1F018 800A7E78 AFA50024 */ sw $a1, 0x24($sp)
/* B1F01C 800A7E7C 0C031A73 */ jal Graph_Alloc
/* B1F020 800A7E80 24050040 */ li $a1, 64
/* B1F024 800A7E84 14400006 */ bnez $v0, .L800A7EA0
/* B1F028 800A7E88 00402825 */ move $a1, $v0
/* B1F02C 800A7E8C 3C048014 */ lui $a0, %hi(D_80140810) # $a0, 0x8014
/* B1F030 800A7E90 0C00084C */ jal osSyncPrintf
/* B1F034 800A7E94 24840810 */ addiu $a0, %lo(D_80140810) # addiu $a0, $a0, 0x810
/* B1F038 800A7E98 10000005 */ b .L800A7EB0
/* B1F03C 800A7E9C 00001025 */ move $v0, $zero
.L800A7EA0:
/* B1F040 800A7EA0 8FA40024 */ lw $a0, 0x24($sp)
/* B1F044 800A7EA4 0C029F18 */ jal func_800A7C60
/* B1F048 800A7EA8 AFA5001C */ sw $a1, 0x1c($sp)
/* B1F04C 800A7EAC 8FA2001C */ lw $v0, 0x1c($sp)
.L800A7EB0:
/* B1F050 800A7EB0 8FBF0014 */ lw $ra, 0x14($sp)
/* B1F054 800A7EB4 27BD0020 */ addiu $sp, $sp, 0x20
/* B1F058 800A7EB8 03E00008 */ jr $ra
/* B1F05C 800A7EBC 00000000 */ nop

View File

@ -1,91 +0,0 @@
glabel func_800A8030
/* B1F1D0 800A8030 27BDFFB8 */ addiu $sp, $sp, -0x48
/* B1F1D4 800A8034 F7B40008 */ sdc1 $f20, 8($sp)
/* B1F1D8 800A8038 C4A00000 */ lwc1 $f0, ($a1)
/* B1F1DC 800A803C C4A20004 */ lwc1 $f2, 4($a1)
/* B1F1E0 800A8040 C4AC0008 */ lwc1 $f12, 8($a1)
/* B1F1E4 800A8044 46000102 */ mul.s $f4, $f0, $f0
/* B1F1E8 800A8048 C4B4000C */ lwc1 $f20, 0xc($a1)
/* B1F1EC 800A804C 3C014000 */ li $at, 0x40000000 # 0.000000
/* B1F1F0 800A8050 46021182 */ mul.s $f6, $f2, $f2
/* B1F1F4 800A8054 46062200 */ add.s $f8, $f4, $f6
/* B1F1F8 800A8058 460C6282 */ mul.s $f10, $f12, $f12
/* B1F1FC 800A805C 460A4100 */ add.s $f4, $f8, $f10
/* B1F200 800A8060 4614A182 */ mul.s $f6, $f20, $f20
/* B1F204 800A8064 44815000 */ mtc1 $at, $f10
/* B1F208 800A8068 3C013F80 */ li $at, 0x3F800000 # 0.000000
/* B1F20C 800A806C 46062200 */ add.s $f8, $f4, $f6
/* B1F210 800A8070 46085483 */ div.s $f18, $f10, $f8
/* B1F214 800A8074 46120102 */ mul.s $f4, $f0, $f18
/* B1F218 800A8078 E7A40040 */ swc1 $f4, 0x40($sp)
/* B1F21C 800A807C 46121402 */ mul.s $f16, $f2, $f18
/* B1F220 800A8080 C7A60040 */ lwc1 $f6, 0x40($sp)
/* B1F224 800A8084 46126382 */ mul.s $f14, $f12, $f18
/* B1F228 800A8088 00000000 */ nop
/* B1F22C 800A808C 4606A282 */ mul.s $f10, $f20, $f6
/* B1F230 800A8090 00000000 */ nop
/* B1F234 800A8094 4610A202 */ mul.s $f8, $f20, $f16
/* B1F238 800A8098 00000000 */ nop
/* B1F23C 800A809C 460EA102 */ mul.s $f4, $f20, $f14
/* B1F240 800A80A0 E7AA0034 */ swc1 $f10, 0x34($sp)
/* B1F244 800A80A4 46060282 */ mul.s $f10, $f0, $f6
/* B1F248 800A80A8 E7A80030 */ swc1 $f8, 0x30($sp)
/* B1F24C 800A80AC 46100202 */ mul.s $f8, $f0, $f16
/* B1F250 800A80B0 E7A4002C */ swc1 $f4, 0x2c($sp)
/* B1F254 800A80B4 460E0482 */ mul.s $f18, $f0, $f14
/* B1F258 800A80B8 E7AA0028 */ swc1 $f10, 0x28($sp)
/* B1F25C 800A80BC 44800000 */ mtc1 $zero, $f0
/* B1F260 800A80C0 46101102 */ mul.s $f4, $f2, $f16
/* B1F264 800A80C4 E7A80024 */ swc1 $f8, 0x24($sp)
/* B1F268 800A80C8 44818000 */ mtc1 $at, $f16
/* B1F26C 800A80CC 460E1182 */ mul.s $f6, $f2, $f14
/* B1F270 800A80D0 00000000 */ nop
/* B1F274 800A80D4 460E6282 */ mul.s $f10, $f12, $f14
/* B1F278 800A80D8 E7A4001C */ swc1 $f4, 0x1c($sp)
/* B1F27C 800A80DC C7A8001C */ lwc1 $f8, 0x1c($sp)
/* B1F280 800A80E0 E7A60018 */ swc1 $f6, 0x18($sp)
/* B1F284 800A80E4 E7AA0014 */ swc1 $f10, 0x14($sp)
/* B1F288 800A80E8 C7A40014 */ lwc1 $f4, 0x14($sp)
/* B1F28C 800A80EC 44815000 */ mtc1 $at, $f10
/* B1F290 800A80F0 46044180 */ add.s $f6, $f8, $f4
/* B1F294 800A80F4 46065201 */ sub.s $f8, $f10, $f6
/* B1F298 800A80F8 E4880000 */ swc1 $f8, ($a0)
/* B1F29C 800A80FC C7AA002C */ lwc1 $f10, 0x2c($sp)
/* B1F2A0 800A8100 C7A40024 */ lwc1 $f4, 0x24($sp)
/* B1F2A4 800A8104 460A2180 */ add.s $f6, $f4, $f10
/* B1F2A8 800A8108 E4860004 */ swc1 $f6, 4($a0)
/* B1F2AC 800A810C C7A80030 */ lwc1 $f8, 0x30($sp)
/* B1F2B0 800A8110 46089101 */ sub.s $f4, $f18, $f8
/* B1F2B4 800A8114 E4840008 */ swc1 $f4, 8($a0)
/* B1F2B8 800A8118 C7AE0028 */ lwc1 $f14, 0x28($sp)
/* B1F2BC 800A811C C7AC0034 */ lwc1 $f12, 0x34($sp)
/* B1F2C0 800A8120 C7A20018 */ lwc1 $f2, 0x18($sp)
/* B1F2C4 800A8124 E480000C */ swc1 $f0, 0xc($a0)
/* B1F2C8 800A8128 C7A6002C */ lwc1 $f6, 0x2c($sp)
/* B1F2CC 800A812C C7AA0024 */ lwc1 $f10, 0x24($sp)
/* B1F2D0 800A8130 46065201 */ sub.s $f8, $f10, $f6
/* B1F2D4 800A8134 E4880010 */ swc1 $f8, 0x10($a0)
/* B1F2D8 800A8138 C7A40014 */ lwc1 $f4, 0x14($sp)
/* B1F2DC 800A813C 460C1200 */ add.s $f8, $f2, $f12
/* B1F2E0 800A8140 E480001C */ swc1 $f0, 0x1c($a0)
/* B1F2E4 800A8144 46047280 */ add.s $f10, $f14, $f4
/* B1F2E8 800A8148 E4880018 */ swc1 $f8, 0x18($a0)
/* B1F2EC 800A814C 460A8181 */ sub.s $f6, $f16, $f10
/* B1F2F0 800A8150 E4860014 */ swc1 $f6, 0x14($a0)
/* B1F2F4 800A8154 C7A40030 */ lwc1 $f4, 0x30($sp)
/* B1F2F8 800A8158 460C1181 */ sub.s $f6, $f2, $f12
/* B1F2FC 800A815C 46041280 */ add.s $f10, $f2, $f4
/* B1F300 800A8160 E4860024 */ swc1 $f6, 0x24($a0)
/* B1F304 800A8164 E48A0020 */ swc1 $f10, 0x20($a0)
/* B1F308 800A8168 C7A8001C */ lwc1 $f8, 0x1c($sp)
/* B1F30C 800A816C E480002C */ swc1 $f0, 0x2c($a0)
/* B1F310 800A8170 E4800030 */ swc1 $f0, 0x30($a0)
/* B1F314 800A8174 46087100 */ add.s $f4, $f14, $f8
/* B1F318 800A8178 E4800034 */ swc1 $f0, 0x34($a0)
/* B1F31C 800A817C E4800038 */ swc1 $f0, 0x38($a0)
/* B1F320 800A8180 E490003C */ swc1 $f16, 0x3c($a0)
/* B1F324 800A8184 46048281 */ sub.s $f10, $f16, $f4
/* B1F328 800A8188 E48A0028 */ swc1 $f10, 0x28($a0)
/* B1F32C 800A818C D7B40008 */ ldc1 $f20, 8($sp)
/* B1F330 800A8190 03E00008 */ jr $ra
/* B1F334 800A8194 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -212,7 +212,7 @@ glabel BgHakaShip_Draw
/* 00968 8087FA68 00812021 */ addu $a0, $a0, $at
/* 0096C 8087FA6C E7AA0030 */ swc1 $f10, 0x0030($sp)
/* 00970 8087FA70 C470002C */ lwc1 $f16, 0x002C($v1) ## 0000002C
/* 00974 8087FA74 0C029BBD */ jal func_800A6EF4
/* 00974 8087FA74 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* 00978 8087FA78 E7B00034 */ swc1 $f16, 0x0034($sp)
/* 0097C 8087FA7C 02002025 */ or $a0, $s0, $zero ## $a0 = 0000016C
/* 00980 8087FA80 0C01E245 */ jal func_80078914

View File

@ -38,14 +38,14 @@ glabel BgHidanRock_Draw
/* 00E84 8088BF04 26060170 */ addiu $a2, $s0, 0x0170 ## $a2 = 00000170
/* 00E88 8088BF08 AFA60024 */ sw $a2, 0x0024($sp)
/* 00E8C 8088BF0C 24A5BF60 */ addiu $a1, $a1, %lo(D_8088BF60) ## $a1 = 8088BF60
/* 00E90 8088BF10 0C029BBD */ jal func_800A6EF4
/* 00E90 8088BF10 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* 00E94 8088BF14 02212021 */ addu $a0, $s1, $at
/* 00E98 8088BF18 10000006 */ beq $zero, $zero, .L8088BF34
/* 00E9C 8088BF1C 8FA60024 */ lw $a2, 0x0024($sp)
.L8088BF20:
/* 00EA0 8088BF20 26060170 */ addiu $a2, $s0, 0x0170 ## $a2 = 00000170
/* 00EA4 8088BF24 AFA60024 */ sw $a2, 0x0024($sp)
/* 00EA8 8088BF28 0C029BBD */ jal func_800A6EF4
/* 00EA8 8088BF28 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* 00EAC 8088BF2C 26050008 */ addiu $a1, $s0, 0x0008 ## $a1 = 00000008
/* 00EB0 8088BF30 8FA60024 */ lw $a2, 0x0024($sp)
.L8088BF34:

View File

@ -60,7 +60,7 @@ glabel BossMo_Update
/* 074FC 80922FFC 02212021 */ addu $a0, $s1, $at
/* 07500 80923000 26450F50 */ addiu $a1, $s2, 0x0F50 ## $a1 = 00000F50
/* 07504 80923004 264700F0 */ addiu $a3, $s2, 0x00F0 ## $a3 = 000000F0
/* 07508 80923008 0C029B84 */ jal func_800A6E10
/* 07508 80923008 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 0750C 8092300C AFB100BC */ sw $s1, 0x00BC($sp)
/* 07510 80923010 3C048092 */ lui $a0, %hi(D_809269F8) ## $a0 = 80920000
/* 07514 80923014 248469F8 */ addiu $a0, $a0, %lo(D_809269F8) ## $a0 = 809269F8

View File

@ -316,7 +316,7 @@ glabel func_809352DC
/* 09160 80935730 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60
/* 09164 80935734 26250038 */ addiu $a1, $s1, 0x0038 ## $a1 = 00000038
/* 09168 80935738 262603C8 */ addiu $a2, $s1, 0x03C8 ## $a2 = 000003C8
/* 0916C 8093573C 0C029BBD */ jal func_800A6EF4
/* 0916C 8093573C 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* 09170 80935740 00812021 */ addu $a0, $a0, $at
/* 09174 80935744 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 09178 80935748 0C24D8E7 */ jal func_8093639C

View File

@ -139,7 +139,7 @@ glabel func_809360FC
/* 09D2C 809362FC AFA20030 */ sw $v0, 0x0030($sp)
/* 09D30 80936300 AFA3001C */ sw $v1, 0x001C($sp)
/* 09D34 80936304 AFA70038 */ sw $a3, 0x0038($sp)
/* 09D38 80936308 0C029BBD */ jal func_800A6EF4
/* 09D38 80936308 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* 09D3C 8093630C 00812021 */ addu $a0, $a0, $at
/* 09D40 80936310 8FA40038 */ lw $a0, 0x0038($sp)
/* 09D44 80936314 0C24CF4B */ jal func_80933D2C

View File

@ -584,7 +584,7 @@ glabel func_8093B1AC
/* 02CCC 8093B99C 02203025 */ or $a2, $s1, $zero ## $a2 = 0000054C
/* 02CD0 8093B9A0 02602825 */ or $a1, $s3, $zero ## $a1 = 0000050C
/* 02CD4 8093B9A4 02C12021 */ addu $a0, $s6, $at
/* 02CD8 8093B9A8 0C029B84 */ jal func_800A6E10
/* 02CD8 8093B9A8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 02CDC 8093B9AC 26A700F0 */ addiu $a3, $s5, 0x00F0 ## $a3 = 000000F0
/* 02CE0 8093B9B0 86AC001C */ lh $t4, 0x001C($s5) ## 0000001C
/* 02CE4 8093B9B4 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001
@ -681,7 +681,7 @@ glabel func_8093B1AC
/* 02E24 8093BAF4 02203025 */ or $a2, $s1, $zero ## $a2 = 00000558
/* 02E28 8093BAF8 02C12021 */ addu $a0, $s6, $at
/* 02E2C 8093BAFC 26A50530 */ addiu $a1, $s5, 0x0530 ## $a1 = 00000530
/* 02E30 8093BB00 0C029B84 */ jal func_800A6E10
/* 02E30 8093BB00 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 02E34 8093BB04 26A700F0 */ addiu $a3, $s5, 0x00F0 ## $a3 = 000000F0
/* 02E38 8093BB08 86AB001C */ lh $t3, 0x001C($s5) ## 0000001C
/* 02E3C 8093BB0C 24010001 */ addiu $at, $zero, 0x0001 ## $at = 00000001

View File

@ -4,7 +4,7 @@ glabel func_80A5BB90
/* 008A8 80A5BB98 AFBF0014 */ sw $ra, 0x0014($sp)
/* 008AC 80A5BB9C AFA40018 */ sw $a0, 0x0018($sp)
/* 008B0 80A5BBA0 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60
/* 008B4 80A5BBA4 0C029B84 */ jal func_800A6E10
/* 008B4 80A5BBA4 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 008B8 80A5BBA8 00812021 */ addu $a0, $a0, $at
/* 008BC 80A5BBAC 8FBF0014 */ lw $ra, 0x0014($sp)
/* 008C0 80A5BBB0 27BD0018 */ addiu $sp, $sp, 0x0018 ## $sp = 00000000

View File

@ -134,7 +134,7 @@ glabel func_80A5BD94
/* 00C84 80A5BF74 02602025 */ or $a0, $s3, $zero ## $a0 = 00000000
/* 00C88 80A5BF78 02202825 */ or $a1, $s1, $zero ## $a1 = 00000024
/* 00C8C 80A5BF7C 02803025 */ or $a2, $s4, $zero ## $a2 = 000000E4
/* 00C90 80A5BF80 0C029B84 */ jal func_800A6E10
/* 00C90 80A5BF80 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 00C94 80A5BF84 02A03825 */ or $a3, $s5, $zero ## $a3 = 000000F0
.L80A5BF88:
/* 00C98 80A5BF88 3C0A80A6 */ lui $t2, %hi(D_80A665DA) ## $t2 = 80A60000

View File

@ -113,7 +113,7 @@ glabel func_80A65108
/* 09F74 80A65264 27A5002C */ addiu $a1, $sp, 0x002C ## $a1 = FFFFFF84
/* 09F78 80A65268 26060228 */ addiu $a2, $s0, 0x0228 ## $a2 = 00000228
/* 09F7C 80A6526C 27A70028 */ addiu $a3, $sp, 0x0028 ## $a3 = FFFFFF80
/* 09F80 80A65270 0C029B84 */ jal func_800A6E10
/* 09F80 80A65270 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 09F84 80A65274 00812021 */ addu $a0, $a0, $at
/* 09F88 80A65278 8E030210 */ lw $v1, 0x0210($s0) ## 00000210
/* 09F8C 80A6527C C7A20054 */ lwc1 $f2, 0x0054($sp)

View File

@ -219,10 +219,11 @@ glabel EnHorseNormal_Draw
/* 01EF4 80A6D144 27A40074 */ addiu $a0, $sp, 0x0074 ## $a0 = FFFFFFA4
/* 01EF8 80A6D148 E7AA0024 */ swc1 $f10, 0x0024($sp)
/* 01EFC 80A6D14C 46062200 */ add.s $f8, $f4, $f6
/* 01F00 80A6D150 0C029EC1 */ jal func_800A7B04
/* 01F00 80A6D150 0C029EC1 */ jal SkinMatrix_SetScaleRotateYRPTranslate
/* 01F04 80A6D154 E7A80020 */ swc1 $f8, 0x0020($sp)
/* 01F08 80A6D158 8E240000 */ lw $a0, 0x0000($s1) ## 00000000
/* 01F0C 80A6D15C 0C029F9C */ jal func_800A7E70
/* 01F0C 80A6D15C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 01F10 80A6D160 27A50074 */ addiu $a1, $sp, 0x0074 ## $a1 = FFFFFFA4
/* 01F14 80A6D164 10400075 */ beq $v0, $zero, .L80A6D33C
/* 01F18 80A6D168 8FA800C4 */ lw $t0, 0x00C4($sp)

View File

@ -13,7 +13,7 @@ glabel func_80A6CC88
/* 01A64 80A6CCB4 AFA60034 */ sw $a2, 0x0034($sp)
/* 01A68 80A6CCB8 00812021 */ addu $a0, $a0, $at
/* 01A6C 80A6CCBC 27A70038 */ addiu $a3, $sp, 0x0038 ## $a3 = FFFFFFF8
/* 01A70 80A6CCC0 0C029B84 */ jal func_800A6E10
/* 01A70 80A6CCC0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 01A74 80A6CCC4 E7A0003C */ swc1 $f0, 0x003C($sp)
/* 01A78 80A6CCC8 8FAE0034 */ lw $t6, 0x0034($sp)
/* 01A7C 80A6CCCC C7A0003C */ lwc1 $f0, 0x003C($sp)

View File

@ -10,7 +10,7 @@ glabel func_80A772EC
/* 02FFC 80A7730C 3C0680A8 */ lui $a2, %hi(D_80A78FA0) ## $a2 = 80A80000
/* 03000 80A77310 24C68FA0 */ addiu $a2, $a2, %lo(D_80A78FA0) ## $a2 = 80A78FA0
/* 03004 80A77314 27A70024 */ addiu $a3, $sp, 0x0024 ## $a3 = FFFFFFF4
/* 03008 80A77318 0C029B84 */ jal func_800A6E10
/* 03008 80A77318 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 0300C 80A7731C 24A50024 */ addiu $a1, $a1, 0x0024 ## $a1 = 00000024
/* 03010 80A77320 3C078013 */ lui $a3, %hi(D_801333E0)
/* 03014 80A77324 3C0E8013 */ lui $t6, %hi(D_801333E8)

View File

@ -10,7 +10,7 @@ glabel func_80B3AF70
/* 00020 80B3AF90 AFA60028 */ sw $a2, 0x0028($sp)
/* 00024 80B3AF94 00C02825 */ or $a1, $a2, $zero ## $a1 = 00000000
/* 00028 80B3AF98 260600E4 */ addiu $a2, $s0, 0x00E4 ## $a2 = 000000E4
/* 0002C 80B3AF9C 0C029B84 */ jal func_800A6E10
/* 0002C 80B3AF9C 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 00030 80B3AFA0 260700F0 */ addiu $a3, $s0, 0x00F0 ## $a3 = 000000F0
/* 00034 80B3AFA4 C60200F0 */ lwc1 $f2, 0x00F0($s0) ## 000000F0
/* 00038 80B3AFA8 44802000 */ mtc1 $zero, $f4 ## $f4 = 0.00

View File

@ -29,7 +29,7 @@ glabel func_80B3D014
/* 00EA0 80B3D080 27A7003C */ addiu $a3, $sp, 0x003C ## $a3 = FFFFFFEC
/* 00EA4 80B3D084 ACA80008 */ sw $t0, 0x0008($a1) ## FFFFFFE8
/* 00EA8 80B3D088 8FA40054 */ lw $a0, 0x0054($sp)
/* 00EAC 80B3D08C 0C029B84 */ jal func_800A6E10
/* 00EAC 80B3D08C 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 00EB0 80B3D090 00812021 */ addu $a0, $a0, $at
/* 00EB4 80B3D094 3C0480B4 */ lui $a0, %hi(D_80B42D90) ## $a0 = 80B40000
/* 00EB8 80B3D098 24842D90 */ addiu $a0, $a0, %lo(D_80B42D90) ## $a0 = 80B42D90
@ -55,7 +55,7 @@ glabel func_80B3D014
/* 00F04 80B3D0E4 27A7003C */ addiu $a3, $sp, 0x003C ## $a3 = FFFFFFEC
/* 00F08 80B3D0E8 ACAB0008 */ sw $t3, 0x0008($a1) ## FFFFFFDC
/* 00F0C 80B3D0EC 8FA40054 */ lw $a0, 0x0054($sp)
/* 00F10 80B3D0F0 0C029B84 */ jal func_800A6E10
/* 00F10 80B3D0F0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 00F14 80B3D0F4 00812021 */ addu $a0, $a0, $at
/* 00F18 80B3D0F8 3C0480B4 */ lui $a0, %hi(D_80B42D90) ## $a0 = 80B40000
/* 00F1C 80B3D0FC 24842D90 */ addiu $a0, $a0, %lo(D_80B42D90) ## $a0 = 80B42D90

View File

@ -10,7 +10,7 @@ glabel func_80B3F3F8
/* 03238 80B3F418 3C0680B4 */ lui $a2, %hi(D_80B42DA0) ## $a2 = 80B40000
/* 0323C 80B3F41C 24C62DA0 */ addiu $a2, $a2, %lo(D_80B42DA0) ## $a2 = 80B42DA0
/* 03240 80B3F420 27A70018 */ addiu $a3, $sp, 0x0018 ## $a3 = FFFFFFF8
/* 03244 80B3F424 0C029B84 */ jal func_800A6E10
/* 03244 80B3F424 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 03248 80B3F428 00812021 */ addu $a0, $a0, $at
/* 0324C 80B3F42C 3C0480B4 */ lui $a0, %hi(D_80B42DA0) ## $a0 = 80B40000
/* 03250 80B3F430 24842DA0 */ addiu $a0, $a0, %lo(D_80B42DA0) ## $a0 = 80B42DA0

View File

@ -23,7 +23,7 @@ glabel func_80B3FA4C
/* 038C0 80B3FAA0 27A50034 */ addiu $a1, $sp, 0x0034 ## $a1 = FFFFFFEC
/* 038C4 80B3FAA4 27A60028 */ addiu $a2, $sp, 0x0028 ## $a2 = FFFFFFE0
/* 038C8 80B3FAA8 27A70018 */ addiu $a3, $sp, 0x0018 ## $a3 = FFFFFFD0
/* 038CC 80B3FAAC 0C029B84 */ jal func_800A6E10
/* 038CC 80B3FAAC 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 038D0 80B3FAB0 00812021 */ addu $a0, $a0, $at
/* 038D4 80B3FAB4 8FA4004C */ lw $a0, 0x004C($sp)
/* 038D8 80B3FAB8 27A50028 */ addiu $a1, $sp, 0x0028 ## $a1 = FFFFFFE0

View File

@ -425,7 +425,7 @@ glabel func_80B6E9E0
/* 05400 80B6EDA0 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4
/* 05404 80B6EDA4 24C6AF94 */ addiu $a2, $a2, %lo(D_80B7AF94) ## $a2 = 80B7AF94
/* 05408 80B6EDA8 24A5E0B8 */ addiu $a1, $a1, %lo(D_80B7E0B8) ## $a1 = 80B7E0B8
/* 0540C 80B6EDAC 0C029B84 */ jal func_800A6E10
/* 0540C 80B6EDAC 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 05410 80B6EDB0 00812021 */ addu $a0, $a0, $at
/* 05414 80B6EDB4 3C0F80B8 */ lui $t7, %hi(D_80B7A694) ## $t7 = 80B80000
/* 05418 80B6EDB8 85EFA694 */ lh $t7, %lo(D_80B7A694)($t7)

View File

@ -37,7 +37,7 @@ glabel func_80B761B8
/* 0C88C 80B7622C A6380032 */ sh $t8, 0x0032($s1) ## 80B7FF2A
/* 0C890 80B76230 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4
/* 0C894 80B76234 02202825 */ or $a1, $s1, $zero ## $a1 = 80B7FEF8
/* 0C898 80B76238 0C029B84 */ jal func_800A6E10
/* 0C898 80B76238 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 0C89C 80B7623C 26260018 */ addiu $a2, $s1, 0x0018 ## $a2 = 80B7FF10
/* 0C8A0 80B76240 C6220020 */ lwc1 $f2, 0x0020($s1) ## 80B7FF18
/* 0C8A4 80B76244 C6240038 */ lwc1 $f4, 0x0038($s1) ## 80B7FF30

View File

@ -333,7 +333,7 @@ glabel func_80B768FC
/* 0D374 80B76D14 A60D0002 */ sh $t5, 0x0002($s0) ## 80B81FCA
/* 0D378 80B76D18 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4
/* 0D37C 80B76D1C 02A03025 */ or $a2, $s5, $zero ## $a2 = 80B81FE4
/* 0D380 80B76D20 0C029B84 */ jal func_800A6E10
/* 0D380 80B76D20 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 0D384 80B76D24 02802825 */ or $a1, $s4, $zero ## $a1 = 80B81FCC
/* 0D388 80B76D28 3C0143C8 */ lui $at, 0x43C8 ## $at = 43C80000
/* 0D38C 80B76D2C 44818000 */ mtc1 $at, $f16 ## $f16 = 400.00

View File

@ -2085,7 +2085,7 @@ glabel L80B7955C
/* 1050C 80B79EAC 27A6004C */ addiu $a2, $sp, 0x004C ## $a2 = FFFFFF24
/* 10510 80B79EB0 45000014 */ bc1f .L80B79F04
/* 10514 80B79EB4 00000000 */ nop
/* 10518 80B79EB8 0C029B84 */ jal func_800A6E10
/* 10518 80B79EB8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 1051C 80B79EBC A7A30076 */ sh $v1, 0x0076($sp)
/* 10520 80B79EC0 C7A40054 */ lwc1 $f4, 0x0054($sp)
/* 10524 80B79EC4 44805000 */ mtc1 $zero, $f10 ## $f10 = 0.00
@ -2160,7 +2160,7 @@ glabel L80B7955C
/* 1061C 80B79FBC 24E7FEA4 */ addiu $a3, $a3, %lo(D_80B7FEA4) ## $a3 = 80B7FEA4
/* 10620 80B79FC0 24C65138 */ addiu $a2, $a2, %lo(D_80B85138) ## $a2 = 80B85138
/* 10624 80B79FC4 24A5AFD0 */ addiu $a1, $a1, %lo(D_80B7AFD0) ## $a1 = 80B7AFD0
/* 10628 80B79FC8 0C029B84 */ jal func_800A6E10
/* 10628 80B79FC8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 1062C 80B79FCC 02012021 */ addu $a0, $s0, $at
/* 10630 80B79FD0 3C0480B8 */ lui $a0, %hi(D_80B85138) ## $a0 = 80B80000
/* 10634 80B79FD4 24845138 */ addiu $a0, $a0, %lo(D_80B85138) ## $a0 = 80B85138

View File

@ -126,7 +126,7 @@ glabel func_8084A5C4
/* 18528 8084A738 8FA400B4 */ lw $a0, 0x00B4($sp)
/* 1852C 8084A73C 00812021 */ addu $a0, $a0, $at
/* 18530 8084A740 26050038 */ addiu $a1, $s0, 0x0038 ## $a1 = 00000038
/* 18534 8084A744 0C029BBD */ jal func_800A6EF4
/* 18534 8084A744 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* 18538 8084A748 27A6007C */ addiu $a2, $sp, 0x007C ## $a2 = FFFFFFCC
/* 1853C 8084A74C 3C01C080 */ lui $at, 0xC080 ## $at = C0800000
/* 18540 8084A750 44812000 */ mtc1 $at, $f4 ## $f4 = -4.00

View File

@ -64,7 +64,7 @@ glabel func_808526EC
/* 205C4 808527D4 24840A20 */ addiu $a0, $a0, 0x0A20 ## $a0 = 00000A20
/* 205C8 808527D8 46805420 */ cvt.s.w $f16, $f10
/* 205CC 808527DC 46100480 */ add.s $f18, $f0, $f16
/* 205D0 808527E0 0C029BBD */ jal func_800A6EF4
/* 205D0 808527E0 0C029BBD */ jal SkinMatrix_Vec3fMtxFMultXYZ
/* 205D4 808527E4 E7B2003C */ swc1 $f18, 0x003C($sp)
/* 205D8 808527E8 3C068085 */ lui $a2, %hi(D_80855228) ## $a2 = 80850000
/* 205DC 808527EC 3C188085 */ lui $t8, %hi(D_80855234) ## $t8 = 80850000

View File

@ -63,28 +63,28 @@ glabel func_809A0698
/* 00210 809A0760 AFA80024 */ sw $t0, 0x0024($sp)
/* 00214 809A0764 27A40124 */ addiu $a0, $sp, 0x0124 ## $a0 = FFFFFFBC
/* 00218 809A0768 46083003 */ div.s $f0, $f6, $f8
/* 0021C 809A076C 0C029E89 */ jal func_800A7A24
/* 0021C 809A076C 0C029E89 */ jal SkinMatrix_SetTranslate
/* 00220 809A0770 E7A00054 */ swc1 $f0, 0x0054($sp)
/* 00224 809A0774 C7A00054 */ lwc1 $f0, 0x0054($sp)
/* 00228 809A0778 27A400E4 */ addiu $a0, $sp, 0x00E4 ## $a0 = FFFFFF7C
/* 0022C 809A077C 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00230 809A0780 44050000 */ mfc1 $a1, $f0
/* 00234 809A0784 44060000 */ mfc1 $a2, $f0
/* 00238 809A0788 0C029DA9 */ jal func_800A76A4
/* 00238 809A0788 0C029DA9 */ jal SkinMatrix_SetScale
/* 0023C 809A078C 00000000 */ nop
/* 00240 809A0790 8FA50168 */ lw $a1, 0x0168($sp)
/* 00244 809A0794 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00248 809A0798 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 0024C 809A079C 27A40124 */ addiu $a0, $sp, 0x0124 ## $a0 = FFFFFFBC
/* 00250 809A07A0 27A60064 */ addiu $a2, $sp, 0x0064 ## $a2 = FFFFFEFC
/* 00254 809A07A4 0C029BE8 */ jal func_800A6FA0
/* 00254 809A07A4 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 00258 809A07A8 00A12821 */ addu $a1, $a1, $at
/* 0025C 809A07AC 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFEFC
/* 00260 809A07B0 27A500E4 */ addiu $a1, $sp, 0x00E4 ## $a1 = FFFFFF7C
/* 00264 809A07B4 0C029BE8 */ jal func_800A6FA0
/* 00264 809A07B4 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 00268 809A07B8 27A600A4 */ addiu $a2, $sp, 0x00A4 ## $a2 = FFFFFF3C
/* 0026C 809A07BC 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00270 809A07C0 0C029F9C */ jal func_800A7E70
/* 00270 809A07C0 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 00274 809A07C4 27A500A4 */ addiu $a1, $sp, 0x00A4 ## $a1 = FFFFFF3C
/* 00278 809A07C8 10400045 */ beq $v0, $zero, .L809A08E0
/* 0027C 809A07CC 3C0FDA38 */ lui $t7, 0xDA38 ## $t7 = DA380000

View File

@ -37,21 +37,21 @@ glabel func_809A0BB8
/* 0016C 809A0C0C 8E070008 */ lw $a3, 0x0008($s0) ## 00000008
/* 00170 809A0C10 27A400D4 */ addiu $a0, $sp, 0x00D4 ## $a0 = FFFFFFBC
/* 00174 809A0C14 46083002 */ mul.s $f0, $f6, $f8
/* 00178 809A0C18 0C029E89 */ jal func_800A7A24
/* 00178 809A0C18 0C029E89 */ jal SkinMatrix_SetTranslate
/* 0017C 809A0C1C E7A0004C */ swc1 $f0, 0x004C($sp)
/* 00180 809A0C20 C7A0004C */ lwc1 $f0, 0x004C($sp)
/* 00184 809A0C24 27A40094 */ addiu $a0, $sp, 0x0094 ## $a0 = FFFFFF7C
/* 00188 809A0C28 44050000 */ mfc1 $a1, $f0
/* 0018C 809A0C2C 44060000 */ mfc1 $a2, $f0
/* 00190 809A0C30 44070000 */ mfc1 $a3, $f0
/* 00194 809A0C34 0C029DA9 */ jal func_800A76A4
/* 00194 809A0C34 0C029DA9 */ jal SkinMatrix_SetScale
/* 00198 809A0C38 00000000 */ nop
/* 0019C 809A0C3C 27A400D4 */ addiu $a0, $sp, 0x00D4 ## $a0 = FFFFFFBC
/* 001A0 809A0C40 27A50094 */ addiu $a1, $sp, 0x0094 ## $a1 = FFFFFF7C
/* 001A4 809A0C44 0C029BE8 */ jal func_800A6FA0
/* 001A4 809A0C44 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 001A8 809A0C48 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFF3C
/* 001AC 809A0C4C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 001B0 809A0C50 0C029F9C */ jal func_800A7E70
/* 001B0 809A0C50 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 001B4 809A0C54 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFF3C
/* 001B8 809A0C58 1040004B */ beq $v0, $zero, .L809A0D88
/* 001BC 809A0C5C 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000

View File

@ -80,7 +80,7 @@ glabel func_809A0DB4
/* 00434 809A0ED4 34211D60 */ ori $at, $at, 0x1D60 ## $at = 00011D60
/* 00438 809A0ED8 00812021 */ addu $a0, $a0, $at
/* 0043C 809A0EDC 27A7002C */ addiu $a3, $sp, 0x002C ## $a3 = FFFFFFFC
/* 00440 809A0EE0 0C029B84 */ jal func_800A6E10
/* 00440 809A0EE0 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 00444 809A0EE4 AFA60024 */ sw $a2, 0x0024($sp)
/* 00448 809A0EE8 3C078013 */ lui $a3, %hi(D_801333E0)
/* 0044C 809A0EEC 3C0C8013 */ lui $t4, %hi(D_801333E8)

View File

@ -37,21 +37,21 @@ glabel func_809A12B4
/* 000328 809A1308 8E070008 */ lw $a3, 8($s0)
/* 00032C 809A130C 27A400DC */ addiu $a0, $sp, 0xdc
/* 000330 809A1310 46083002 */ mul.s $f0, $f6, $f8
/* 000334 809A1314 0C029E89 */ jal func_800A7A24
/* 000334 809A1314 0C029E89 */ jal SkinMatrix_SetTranslate
/* 000338 809A1318 E7A00054 */ swc1 $f0, 0x54($sp)
/* 00033C 809A131C C7A00054 */ lwc1 $f0, 0x54($sp)
/* 000340 809A1320 27A4009C */ addiu $a0, $sp, 0x9c
/* 000344 809A1324 44050000 */ mfc1 $a1, $f0
/* 000348 809A1328 44060000 */ mfc1 $a2, $f0
/* 00034C 809A132C 44070000 */ mfc1 $a3, $f0
/* 000350 809A1330 0C029DA9 */ jal func_800A76A4
/* 000350 809A1330 0C029DA9 */ jal SkinMatrix_SetScale
/* 000354 809A1334 00000000 */ nop
/* 000358 809A1338 27A400DC */ addiu $a0, $sp, 0xdc
/* 00035C 809A133C 27A5009C */ addiu $a1, $sp, 0x9c
/* 000360 809A1340 0C029BE8 */ jal func_800A6FA0
/* 000360 809A1340 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 000364 809A1344 27A6005C */ addiu $a2, $sp, 0x5c
/* 000368 809A1348 02202025 */ move $a0, $s1
/* 00036C 809A134C 0C029F9C */ jal func_800A7E70
/* 00036C 809A134C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 000370 809A1350 27A5005C */ addiu $a1, $sp, 0x5c
/* 000374 809A1354 1040004B */ beqz $v0, .L809A1484
/* 000378 809A1358 02202025 */ move $a0, $s1

View File

@ -56,21 +56,21 @@ glabel func_809A6AD8
/* 00214 809A6B74 44060000 */ mfc1 $a2, $f0
/* 00218 809A6B78 8E270008 */ lw $a3, 0x0008($s1) ## 00000008
/* 0021C 809A6B7C E7A20120 */ swc1 $f2, 0x0120($sp)
/* 00220 809A6B80 0C029E89 */ jal func_800A7A24
/* 00220 809A6B80 0C029E89 */ jal SkinMatrix_SetTranslate
/* 00224 809A6B84 27A400DC */ addiu $a0, $sp, 0x00DC ## $a0 = FFFFFFB4
/* 00228 809A6B88 C7A20120 */ lwc1 $f2, 0x0120($sp)
/* 0022C 809A6B8C 27A4009C */ addiu $a0, $sp, 0x009C ## $a0 = FFFFFF74
/* 00230 809A6B90 44051000 */ mfc1 $a1, $f2
/* 00234 809A6B94 44061000 */ mfc1 $a2, $f2
/* 00238 809A6B98 44071000 */ mfc1 $a3, $f2
/* 0023C 809A6B9C 0C029DA9 */ jal func_800A76A4
/* 0023C 809A6B9C 0C029DA9 */ jal SkinMatrix_SetScale
/* 00240 809A6BA0 00000000 */ nop
/* 00244 809A6BA4 27A400DC */ addiu $a0, $sp, 0x00DC ## $a0 = FFFFFFB4
/* 00248 809A6BA8 27A5009C */ addiu $a1, $sp, 0x009C ## $a1 = FFFFFF74
/* 0024C 809A6BAC 0C029BE8 */ jal func_800A6FA0
/* 0024C 809A6BAC 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 00250 809A6BB0 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFF34
/* 00254 809A6BB4 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 00258 809A6BB8 0C029F9C */ jal func_800A7E70
/* 00258 809A6BB8 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 0025C 809A6BBC 27A5005C */ addiu $a1, $sp, 0x005C ## $a1 = FFFFFF34
/* 00260 809A6BC0 10400046 */ beq $v0, $zero, .L809A6CDC
/* 00264 809A6BC4 3C0CDA38 */ lui $t4, 0xDA38 ## $t4 = DA380000

View File

@ -26,7 +26,7 @@ glabel func_809A824C
/* 00134 809A8284 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC
/* 00138 809A8288 8E250000 */ lw $a1, 0x0000($s1) ## 00000000
/* 0013C 809A828C 8E260004 */ lw $a2, 0x0004($s1) ## 00000004
/* 00140 809A8290 0C029E89 */ jal func_800A7A24
/* 00140 809A8290 0C029E89 */ jal SkinMatrix_SetTranslate
/* 00144 809A8294 8E270008 */ lw $a3, 0x0008($s1) ## 00000008
/* 00148 809A8298 862F0050 */ lh $t7, 0x0050($s1) ## 00000050
/* 0014C 809A829C 3C0142C8 */ lui $at, 0x42C8 ## $at = 42C80000
@ -38,18 +38,18 @@ glabel func_809A824C
/* 00164 809A82B4 46083003 */ div.s $f0, $f6, $f8
/* 00168 809A82B8 44050000 */ mfc1 $a1, $f0
/* 0016C 809A82BC 44060000 */ mfc1 $a2, $f0
/* 00170 809A82C0 0C029DA9 */ jal func_800A76A4
/* 00170 809A82C0 0C029DA9 */ jal SkinMatrix_SetScale
/* 00174 809A82C4 00000000 */ nop
/* 00178 809A82C8 8FA50160 */ lw $a1, 0x0160($sp)
/* 0017C 809A82CC 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 00180 809A82D0 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00184 809A82D4 27A4011C */ addiu $a0, $sp, 0x011C ## $a0 = FFFFFFBC
/* 00188 809A82D8 27A6005C */ addiu $a2, $sp, 0x005C ## $a2 = FFFFFEFC
/* 0018C 809A82DC 0C029BE8 */ jal func_800A6FA0
/* 0018C 809A82DC 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 00190 809A82E0 00A12821 */ addu $a1, $a1, $at
/* 00194 809A82E4 27A4005C */ addiu $a0, $sp, 0x005C ## $a0 = FFFFFEFC
/* 00198 809A82E8 27A500DC */ addiu $a1, $sp, 0x00DC ## $a1 = FFFFFF7C
/* 0019C 809A82EC 0C029BE8 */ jal func_800A6FA0
/* 0019C 809A82EC 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 001A0 809A82F0 27A6009C */ addiu $a2, $sp, 0x009C ## $a2 = FFFFFF3C
/* 001A4 809A82F4 8E0302D0 */ lw $v1, 0x02D0($s0) ## 000002D0
/* 001A8 809A82F8 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
@ -61,7 +61,7 @@ glabel func_809A824C
/* 001C0 809A8310 02002025 */ or $a0, $s0, $zero ## $a0 = 00000000
/* 001C4 809A8314 27A5009C */ addiu $a1, $sp, 0x009C ## $a1 = FFFFFF3C
/* 001C8 809A8318 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 001CC 809A831C 0C029F9C */ jal func_800A7E70
/* 001CC 809A831C 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 001D0 809A8320 AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 001D4 809A8324 1040004C */ beq $v0, $zero, .L809A8458
/* 001D8 809A8328 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000

View File

@ -37,34 +37,34 @@ glabel func_809AA9AC
/* 001F0 809AAA00 27A40194 */ addiu $a0, $sp, 0x0194 ## $a0 = FFFFFFB4
/* 001F4 809AAA04 8E050000 */ lw $a1, 0x0000($s0) ## 00000000
/* 001F8 809AAA08 8E060004 */ lw $a2, 0x0004($s0) ## 00000004
/* 001FC 809AAA0C 0C029E89 */ jal func_800A7A24
/* 001FC 809AAA0C 0C029E89 */ jal SkinMatrix_SetTranslate
/* 00200 809AAA10 8E070008 */ lw $a3, 0x0008($s0) ## 00000008
/* 00204 809AAA14 27A40154 */ addiu $a0, $sp, 0x0154 ## $a0 = FFFFFF74
/* 00208 809AAA18 00002825 */ or $a1, $zero, $zero ## $a1 = 00000000
/* 0020C 809AAA1C 00003025 */ or $a2, $zero, $zero ## $a2 = 00000000
/* 00210 809AAA20 0C029DC1 */ jal func_800A7704
/* 00210 809AAA20 0C029DC1 */ jal SkinMatrix_SetRotateRPY
/* 00214 809AAA24 86070042 */ lh $a3, 0x0042($s0) ## 00000042
/* 00218 809AAA28 C7A001D8 */ lwc1 $f0, 0x01D8($sp)
/* 0021C 809AAA2C 27A40114 */ addiu $a0, $sp, 0x0114 ## $a0 = FFFFFF34
/* 00220 809AAA30 3C073F80 */ lui $a3, 0x3F80 ## $a3 = 3F800000
/* 00224 809AAA34 44050000 */ mfc1 $a1, $f0
/* 00228 809AAA38 44060000 */ mfc1 $a2, $f0
/* 0022C 809AAA3C 0C029DA9 */ jal func_800A76A4
/* 0022C 809AAA3C 0C029DA9 */ jal SkinMatrix_SetScale
/* 00230 809AAA40 00000000 */ nop
/* 00234 809AAA44 8FA501E0 */ lw $a1, 0x01E0($sp)
/* 00238 809AAA48 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0023C 809AAA4C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00240 809AAA50 27A40194 */ addiu $a0, $sp, 0x0194 ## $a0 = FFFFFFB4
/* 00244 809AAA54 27A600D4 */ addiu $a2, $sp, 0x00D4 ## $a2 = FFFFFEF4
/* 00248 809AAA58 0C029BE8 */ jal func_800A6FA0
/* 00248 809AAA58 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 0024C 809AAA5C 00A12821 */ addu $a1, $a1, $at
/* 00250 809AAA60 27A400D4 */ addiu $a0, $sp, 0x00D4 ## $a0 = FFFFFEF4
/* 00254 809AAA64 27A50154 */ addiu $a1, $sp, 0x0154 ## $a1 = FFFFFF74
/* 00258 809AAA68 0C029BE8 */ jal func_800A6FA0
/* 00258 809AAA68 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 0025C 809AAA6C 27A60094 */ addiu $a2, $sp, 0x0094 ## $a2 = FFFFFEB4
/* 00260 809AAA70 27A40094 */ addiu $a0, $sp, 0x0094 ## $a0 = FFFFFEB4
/* 00264 809AAA74 27A50114 */ addiu $a1, $sp, 0x0114 ## $a1 = FFFFFF34
/* 00268 809AAA78 0C029BE8 */ jal func_800A6FA0
/* 00268 809AAA78 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 0026C 809AAA7C 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFE74
/* 00270 809AAA80 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 00274 809AAA84 3C19DA38 */ lui $t9, 0xDA38 ## $t9 = DA380000
@ -76,7 +76,7 @@ glabel func_809AA9AC
/* 0028C 809AAA9C 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 00290 809AAAA0 27A50054 */ addiu $a1, $sp, 0x0054 ## $a1 = FFFFFE74
/* 00294 809AAAA4 AC790000 */ sw $t9, 0x0000($v1) ## 00000000
/* 00298 809AAAA8 0C029F9C */ jal func_800A7E70
/* 00298 809AAAA8 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 0029C 809AAAAC AC680004 */ sw $t0, 0x0004($v1) ## 00000004
/* 002A0 809AAAB0 10400044 */ beq $v0, $zero, .L809AABC4
/* 002A4 809AAAB4 3C0ADA38 */ lui $t2, 0xDA38 ## $t2 = DA380000

View File

@ -51,7 +51,7 @@ glabel func_809AB078
/* 00204 809AB0F4 8E060004 */ lw $a2, 0x0004($s0) ## 00000004
/* 00208 809AB0F8 8E070008 */ lw $a3, 0x0008($s0) ## 00000008
/* 0020C 809AB0FC E7A2005C */ swc1 $f2, 0x005C($sp)
/* 00210 809AB100 0C029E89 */ jal func_800A7A24
/* 00210 809AB100 0C029E89 */ jal SkinMatrix_SetTranslate
/* 00214 809AB104 A7A2005A */ sh $v0, 0x005A($sp)
/* 00218 809AB108 3C01809B */ lui $at, %hi(D_809AB594) ## $at = 809B0000
/* 0021C 809AB10C C7A2005C */ lwc1 $f2, 0x005C($sp)
@ -61,7 +61,7 @@ glabel func_809AB078
/* 0022C 809AB11C 460A1002 */ mul.s $f0, $f2, $f10
/* 00230 809AB120 44050000 */ mfc1 $a1, $f0
/* 00234 809AB124 44070000 */ mfc1 $a3, $f0
/* 00238 809AB128 0C029DA9 */ jal func_800A76A4
/* 00238 809AB128 0C029DA9 */ jal SkinMatrix_SetScale
/* 0023C 809AB12C 00000000 */ nop
/* 00240 809AB130 C610002C */ lwc1 $f16, 0x002C($s0) ## 0000002C
/* 00244 809AB134 C6040030 */ lwc1 $f4, 0x0030($s0) ## 00000030
@ -74,22 +74,22 @@ glabel func_809AB078
/* 00260 809AB150 00052C00 */ sll $a1, $a1, 16
/* 00264 809AB154 00052C03 */ sra $a1, $a1, 16
/* 00268 809AB158 00063400 */ sll $a2, $a2, 16
/* 0026C 809AB15C 0C029DC1 */ jal func_800A7704
/* 0026C 809AB15C 0C029DC1 */ jal SkinMatrix_SetRotateRPY
/* 00270 809AB160 00063403 */ sra $a2, $a2, 16
/* 00274 809AB164 8FA501E8 */ lw $a1, 0x01E8($sp)
/* 00278 809AB168 3C010001 */ lui $at, 0x0001 ## $at = 00010000
/* 0027C 809AB16C 34211DA0 */ ori $at, $at, 0x1DA0 ## $at = 00011DA0
/* 00280 809AB170 27A40164 */ addiu $a0, $sp, 0x0164 ## $a0 = FFFFFF7C
/* 00284 809AB174 27A600A4 */ addiu $a2, $sp, 0x00A4 ## $a2 = FFFFFEBC
/* 00288 809AB178 0C029BE8 */ jal func_800A6FA0
/* 00288 809AB178 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 0028C 809AB17C 00A12821 */ addu $a1, $a1, $at
/* 00290 809AB180 27A400A4 */ addiu $a0, $sp, 0x00A4 ## $a0 = FFFFFEBC
/* 00294 809AB184 27A500E4 */ addiu $a1, $sp, 0x00E4 ## $a1 = FFFFFEFC
/* 00298 809AB188 0C029BE8 */ jal func_800A6FA0
/* 00298 809AB188 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 0029C 809AB18C 27A60064 */ addiu $a2, $sp, 0x0064 ## $a2 = FFFFFE7C
/* 002A0 809AB190 27A40064 */ addiu $a0, $sp, 0x0064 ## $a0 = FFFFFE7C
/* 002A4 809AB194 27A50124 */ addiu $a1, $sp, 0x0124 ## $a1 = FFFFFF3C
/* 002A8 809AB198 0C029BE8 */ jal func_800A6FA0
/* 002A8 809AB198 0C029BE8 */ jal SkinMatrix_MtxFMtxFMult
/* 002AC 809AB19C 27A601A4 */ addiu $a2, $sp, 0x01A4 ## $a2 = FFFFFFBC
/* 002B0 809AB1A0 8E2302D0 */ lw $v1, 0x02D0($s1) ## 000002D0
/* 002B4 809AB1A4 3C0BDA38 */ lui $t3, 0xDA38 ## $t3 = DA380000
@ -101,7 +101,7 @@ glabel func_809AB078
/* 002CC 809AB1BC 02202025 */ or $a0, $s1, $zero ## $a0 = 00000000
/* 002D0 809AB1C0 27A501A4 */ addiu $a1, $sp, 0x01A4 ## $a1 = FFFFFFBC
/* 002D4 809AB1C4 AC6B0000 */ sw $t3, 0x0000($v1) ## 00000000
/* 002D8 809AB1C8 0C029F9C */ jal func_800A7E70
/* 002D8 809AB1C8 0C029F9C */ jal SkinMatrix_MtxFToNewMtx
/* 002DC 809AB1CC AC6C0004 */ sw $t4, 0x0004($v1) ## 00000004
/* 002E0 809AB1D0 1040004E */ beq $v0, $zero, .L809AB30C
/* 002E4 809AB1D4 3C0EDA38 */ lui $t6, 0xDA38 ## $t6 = DA380000

View File

@ -44,7 +44,7 @@ glabel func_809AC78C
/* 000EC 809AC7EC 8FA50070 */ lw $a1, 0x0070($sp)
/* 000F0 809AC7F0 27A60054 */ addiu $a2, $sp, 0x0054 ## $a2 = FFFFFFEC
/* 000F4 809AC7F4 27A70050 */ addiu $a3, $sp, 0x0050 ## $a3 = FFFFFFE8
/* 000F8 809AC7F8 0C029B84 */ jal func_800A6E10
/* 000F8 809AC7F8 0C029B84 */ jal SkinMatrix_Vec3fMtxFMultXYZW
/* 000FC 809AC7FC 00812021 */ addu $a0, $a0, $at
/* 00100 809AC800 3C01809B */ lui $at, %hi(D_809ACAB8) ## $at = 809B0000
/* 00104 809AC804 C422CAB8 */ lwc1 $f2, %lo(D_809ACAB8)($at)

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 .data
.balign 16
glabel D_8012A4A0
.incbin "baserom.z64", 0xBA1640, 0x40

View File

@ -1300,22 +1300,18 @@ void func_800A663C(GlobalContext* globalCtx, PSkinAwb*, SkeletonHeader*, Animati
void func_800A6888(GlobalContext*, PSkinAwb*);
// ? func_800A698C(?);
// ? func_800A6AC4(?);
// ? func_800A6E10(?);
void func_800A6EF4(MtxF* mf, Vec3f* src, Vec3f* dest);
void func_800A6FA0(MtxF* mf1, MtxF* mf2, MtxF* dest);
// ? func_800A72FC(?);
// ? func_800A730C(?);
// ? func_800A735C(?);
// ? func_800A73E0(?);
void func_800A76A4(MtxF* dest, f32 x, f32 y, f32 z);
void func_800A7704(MtxF* dest, s16 x, s16 y, s16 z);
// ? func_800A7894(?);
void func_800A7A24(MtxF* dest, f32 x, f32 y, f32 z);
// ? func_800A7B04(?);
// ? func_800A7B84(?);
// ? func_800A7C60(?);
Mtx* func_800A7E70(GraphicsContext* gfxCtx, MtxF* src);
void func_800A7EC0(MtxF* dest, s16 arg1, f32 x, f32 y, f32 z);
void SkinMatrix_Vec3fMtxFMultXYZW(MtxF* mf, Vec3f* src, Vec3f* xyzDest, f32* wDest);
void SkinMatrix_Vec3fMtxFMultXYZ(MtxF* mf, Vec3f* src, Vec3f* dest);
void SkinMatrix_MtxFMtxFMult(MtxF* mfB, MtxF* mfA, MtxF* dest);
void SkinMatrix_GetClear(MtxF** mf);
void SkinMatrix_MtxFCopy(MtxF* src, MtxF* dest);
s32 SkinMatrix_Invert(MtxF* src, MtxF* dest);
void SkinMatrix_SetScale(MtxF* mf, f32 x, f32 y, f32 z);
void SkinMatrix_SetRotateRPY(MtxF* mf, s16 roll, s16 pitch, s16 yaw);
void SkinMatrix_SetTranslate(MtxF* mf, f32 x, f32 y, f32 z);
void SkinMatrix_SetScaleRotateYRPTranslate(MtxF* mf, f32 scaleX, f32 scaleY, f32 scaleZ, s16 yaw, s16 roll, s16 pitch, f32 dx, f32 dy, f32 dz);
Mtx* SkinMatrix_MtxFToNewMtx(GraphicsContext* gfxCtx, MtxF* src);
void func_800A7EC0(MtxF *mf, s16 a, f32 x, f32 y, f32 z);
// ? func_800A81A0(?);
// ? func_800A82C8(?);
// ? func_800A9A9C(?);
@ -1754,7 +1750,7 @@ void func_800D1694(f32 x, f32 y, f32 z, Vec3s* vec);
Mtx* Matrix_MtxFToMtx(MtxF* src, Mtx* dest);
Mtx* Matrix_ToMtx(Mtx* dest, char* file, s32 line);
Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx, char* file, s32 line);
Mtx* Matrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx);
Mtx* Matrix_SkinMatrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx);
void Matrix_MultVec3f(Vec3f* src, Vec3f* dest);
void Matrix_MtxFCopy(MtxF* dest, MtxF* src);
void Matrix_MtxToMtxF(Mtx* src, MtxF* dest);

1
spec
View File

@ -352,7 +352,6 @@ beginseg
include "build/data/z_skin.bss.o"
include "build/src/code/z_skin_awb.o"
include "build/src/code/z_skin_matrix.o"
include "build/data/z_skin_matrix.data.o"
include "build/src/code/z_sram.o"
include "build/data/z_sram.data.o"
include "build/src/code/code_800A9D40.o"

View File

@ -20,7 +20,7 @@ void func_8006BA30(GlobalContext* globalCtx) {
if (DECR(source->countdown) == 0) {
func_800F89E8(&source->relativePos);
} else {
func_800A6EF4(&globalCtx->mf_11D60, &source->originPos, &source->relativePos);
SkinMatrix_Vec3fMtxFMultXYZ(&globalCtx->mf_11D60, &source->originPos, &source->relativePos);
}
}
@ -60,6 +60,6 @@ void Audio_PlaySoundAtPosition(GlobalContext* globalCtx, Vec3f* pos, s32 duratio
source->originPos = *pos;
source->countdown = duration;
func_800A6EF4(&globalCtx->mf_11D60, &source->originPos, &source->relativePos);
SkinMatrix_Vec3fMtxFMultXYZ(&globalCtx->mf_11D60, &source->originPos, &source->relativePos);
Audio_PlaySoundGeneral(sfxId, &source->relativePos, 4, &D_801333E0, &D_801333E0, &D_801333E8);
}

View File

@ -53,7 +53,7 @@ void Matrix_Mult(MtxF* mf, u8 mode) {
MtxF* cmf = Matrix_GetCurrent();
if (mode == MTXMODE_APPLY) {
func_800A6FA0(cmf, mf, cmf);
SkinMatrix_MtxFMtxFMult(cmf, mf, cmf);
} else {
Matrix_MtxFCopy(sCurrentMatrix, mf);
}
@ -78,7 +78,7 @@ void Matrix_Translate(f32 x, f32 y, f32 z, u8 mode) {
ty = cmf->yw;
cmf->ww += tx * x + ty * y + cmf->zw * z;
} else {
func_800A7A24(cmf, x, y, z);
SkinMatrix_SetTranslate(cmf, x, y, z);
}
}
@ -99,7 +99,7 @@ void Matrix_Scale(f32 x, f32 y, f32 z, u8 mode) {
cmf->yw *= y;
cmf->zw *= z;
} else {
func_800A76A4(cmf, x, y, z);
SkinMatrix_SetScale(cmf, x, y, z);
}
}
@ -382,7 +382,7 @@ void Matrix_RotateRPY(s16 x, s16 y, s16 z, u8 mode) {
cmf->zw = temp2 * cos - temp1 * sin;
}
} else {
func_800A7704(cmf, x, y, z);
SkinMatrix_SetRotateRPY(cmf, x, y, z);
}
}
@ -540,82 +540,76 @@ void func_800D1694(f32 x, f32 y, f32 z, Vec3s* vec) {
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/func_800D1694.s")
#endif
#ifdef NON_MATCHING
// mostly regalloc differences
Mtx* Matrix_MtxFToMtx(MtxF* src, Mtx* dest) {
s32 temp;
u16* m1 = (u16*)&dest->m[0][0];
u16* m2 = (u16*)&dest->m[2][0];
s32 temp;
temp = src->xx * 65536.0f;
m1[0] = (temp >> 0x10) & 0xFFFF;
m2[0] = temp & 0xFFFF;
temp = src->xx * 0x10000;
m1[0] = (temp >> 0x10);
m1[16 + 0] = temp & 0xFFFF;
temp = src->xy * 65536.0f;
m1[1] = (temp >> 0x10) & 0xFFFF;
m2[1] = temp & 0xFFFF;
temp = src->xy * 0x10000;
m1[1] = (temp >> 0x10);
m1[16 + 1] = temp & 0xFFFF;
temp = src->xz * 65536.0f;
m1[2] = (temp >> 0x10) & 0xFFFF;
m2[2] = temp & 0xFFFF;
temp = src->xz * 0x10000;
m1[2] = (temp >> 0x10);
m1[16 + 2] = temp & 0xFFFF;
temp = src->xw * 65536.0f;
m1[3] = (temp >> 0x10) & 0xFFFF;
m2[3] = temp & 0xFFFF;
temp = src->xw * 0x10000;
m1[3] = (temp >> 0x10);
m1[16 + 3] = temp & 0xFFFF;
temp = src->yx * 65536.0f;
m1[4] = (temp >> 0x10) & 0xFFFF;
m2[4] = temp & 0xFFFF;
temp = src->yx * 0x10000;
m1[4] = (temp >> 0x10);
m1[16 + 4] = temp & 0xFFFF;
temp = src->yy * 65536.0f;
m1[5] = (temp >> 0x10) & 0xFFFF;
m2[5] = temp & 0xFFFF;
temp = src->yy * 0x10000;
m1[5] = (temp >> 0x10);
m1[16 + 5] = temp & 0xFFFF;
temp = src->yz * 65536.0f;
m1[6] = (temp >> 0x10) & 0xFFFF;
m2[6] = temp & 0xFFFF;
temp = src->yz * 0x10000;
m1[6] = (temp >> 0x10);
m1[16 + 6] = temp & 0xFFFF;
temp = src->yw * 65536.0f;
m1[7] = (temp >> 0x10) & 0xFFFF;
m2[7] = temp & 0xFFFF;
temp = src->yw * 0x10000;
m1[7] = (temp >> 0x10);
m1[16 + 7] = temp & 0xFFFF;
temp = src->zx * 65536.0f;
m1[8] = (temp >> 0x10) & 0xFFFF;
m2[8] = temp & 0xFFFF;
temp = src->zx * 0x10000;
m1[8] = (temp >> 0x10);
m1[16 + 8] = temp & 0xFFFF;
temp = src->zy * 65536.0f;
m1[9] = (temp >> 0x10) & 0xFFFF;
temp = src->zy * 0x10000;
m1[9] = (temp >> 0x10);
m2[9] = temp & 0xFFFF;
temp = src->zz * 65536.0f;
m1[10] = (temp >> 0x10) & 0xFFFF;
temp = src->zz * 0x10000;
m1[10] = (temp >> 0x10);
m2[10] = temp & 0xFFFF;
temp = src->zw * 65536.0f;
m1[11] = (temp >> 0x10) & 0xFFFF;
temp = src->zw * 0x10000;
m1[11] = (temp >> 0x10);
m2[11] = temp & 0xFFFF;
temp = src->wx * 65536.0f;
m1[12] = (temp >> 0x10) & 0xFFFF;
temp = src->wx * 0x10000;
m1[12] = (temp >> 0x10);
m2[12] = temp & 0xFFFF;
temp = src->wy * 65536.0f;
m1[13] = (temp >> 0x10) & 0xFFFF;
temp = src->wy * 0x10000;
m1[13] = (temp >> 0x10);
m2[13] = temp & 0xFFFF;
temp = src->wz * 65536.0f;
m1[14] = (temp >> 0x10) & 0xFFFF;
temp = src->wz * 0x10000;
m1[14] = (temp >> 0x10);
m2[14] = temp & 0xFFFF;
temp = src->ww * 65536.0f;
m1[15] = (temp >> 0x10) & 0xFFFF;
temp = src->ww * 0x10000;
m1[15] = (temp >> 0x10);
m2[15] = temp & 0xFFFF;
return dest;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/sys_matrix/Matrix_MtxFToMtx.s")
#endif
Mtx* Matrix_ToMtx(Mtx* dest, char* file, s32 line) {
return Matrix_MtxFToMtx(Matrix_CheckFloats(sCurrentMatrix, file, line), dest);
@ -625,7 +619,7 @@ Mtx* Matrix_NewMtx(GraphicsContext* gfxCtx, char* file, s32 line) {
return Matrix_ToMtx(Graph_Alloc(gfxCtx, sizeof(Mtx)), file, line);
}
Mtx* Matrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx) {
Mtx* Matrix_SkinMatrix_MtxFToNewMtx(MtxF* src, GraphicsContext* gfxCtx) {
return Matrix_MtxFToMtx(src, Graph_Alloc(gfxCtx, sizeof(Mtx)));
}

View File

@ -228,7 +228,7 @@ void func_8002BDB0(Actor* actor, s32 arg1, s32 arg2, UNK_PTR arg3, s32 arg4, UNK
}
void func_8002BE04(GlobalContext* globalCtx, Vec3f* arg1, Vec3f* arg2, f32* arg3) {
func_800A6E10(&globalCtx->mf_11D60, arg1, arg2, arg3);
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, arg1, arg2, arg3);
*arg3 = (*arg3 < 1.0f) ? 1.0f : (1.0f / *arg3);
}
@ -2400,7 +2400,8 @@ void func_800315AC(GlobalContext* globalCtx, ActorContext* actorCtx) {
HREG(66) = i;
if ((HREG(64) != 1) || ((HREG(65) != -1) && (HREG(65) != HREG(66))) || (HREG(68) == 0)) {
func_800A6E10(&globalCtx->mf_11D60, &actor->posRot.pos, &actor->projectedPos, &actor->projectedW);
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &actor->posRot.pos, &actor->projectedPos,
&actor->projectedW);
}
if ((HREG(64) != 1) || ((HREG(65) != -1) && (HREG(65) != HREG(66))) || (HREG(69) == 0)) {

View File

@ -47,13 +47,13 @@ void EffectBlure_AddVertex(EffectBlure* this, Vec3f* p1, Vec3f* p2) {
scale = 1.0f / scale;
Math_Vec3f_Scale(&sp154, scale);
func_800A7A24(&sp110, sp160.x, sp160.y, sp160.z);
SkinMatrix_SetTranslate(&sp110, sp160.x, sp160.y, sp160.z);
func_800A7EC0(&spD0, this->addAngle, sp154.x, sp154.y, sp154.z);
func_800A6FA0(&sp110, &spD0, &sp90);
func_800A7A24(&sp110, -sp160.x, -sp160.y, -sp160.z);
func_800A6FA0(&sp90, &sp110, &sp50);
func_800A6EF4(&sp50, p1, &sp38);
func_800A6EF4(&sp50, p2, &sp44);
SkinMatrix_MtxFMtxFMult(&sp110, &spD0, &sp90);
SkinMatrix_SetTranslate(&sp110, -sp160.x, -sp160.y, -sp160.z);
SkinMatrix_MtxFMtxFMult(&sp90, &sp110, &sp50);
SkinMatrix_Vec3fMtxFMultXYZ(&sp50, p1, &sp38);
SkinMatrix_Vec3fMtxFMultXYZ(&sp50, p2, &sp44);
elem->p1.x = sp38.x;
elem->p1.y = sp38.y;
@ -715,11 +715,11 @@ void EffectBlure_DrawSmooth(EffectBlure* this, GraphicsContext* gfxCtx) {
this->elements[this->numElements - 1].flags |= 2;
EffectBlure_SetupSmooth(this, gfxCtx);
func_800A7A24(&spDC, this->elements[0].p2.x, this->elements[0].p2.y, this->elements[0].p2.z);
func_800A76A4(&sp9C, 0.1f, 0.1f, 0.1f);
func_800A6FA0(&spDC, &sp9C, &sp5C);
SkinMatrix_SetTranslate(&spDC, this->elements[0].p2.x, this->elements[0].p2.y, this->elements[0].p2.z);
SkinMatrix_SetScale(&sp9C, 0.1f, 0.1f, 0.1f);
SkinMatrix_MtxFMtxFMult(&spDC, &sp9C, &sp5C);
mtx = func_800A7E70(gfxCtx, &sp5C);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp5C);
if (mtx == NULL) {
return;
}
@ -844,13 +844,13 @@ void EffectBlure_DrawSimpleVertices(GraphicsContext* gfxCtx, EffectBlure* this,
scale = 1.0f / scale;
Math_Vec3f_Scale(&sp198, scale);
func_800A7A24(&sp154, sp1B0.x, sp1B0.y, sp1B0.z);
SkinMatrix_SetTranslate(&sp154, sp1B0.x, sp1B0.y, sp1B0.z);
func_800A7EC0(&sp114, 0x3FFF, sp198.x, sp198.y, sp198.z);
func_800A6FA0(&sp154, &sp114, &spD4);
func_800A7A24(&sp154, -sp1B0.x, -sp1B0.y, -sp1B0.z);
func_800A6FA0(&spD4, &sp154, &sp94);
SkinMatrix_MtxFMtxFMult(&sp154, &sp114, &spD4);
SkinMatrix_SetTranslate(&sp154, -sp1B0.x, -sp1B0.y, -sp1B0.z);
SkinMatrix_MtxFMtxFMult(&spD4, &sp154, &sp94);
mtx = func_800A7E70(gfxCtx, &sp94);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp94);
if (mtx == NULL) {
// Translates to: "Forced termination because a matrix cannot be taken"
osSyncPrintf("EffectBlureInfo2_disp_makeDisplayList()マトリックス取れないので,強制終了\n");

View File

@ -203,17 +203,17 @@ void EffectShieldParticle_Draw(void* thisx, GraphicsContext* gfxCtx) {
temp3 = 1.0f;
}
func_800A7A24(&spC4, this->position.x, this->position.y, this->position.z);
func_800A7704(&sp104, 0, elem->yaw, 0);
func_800A6FA0(&spC4, &sp104, &sp84);
func_800A7704(&sp104, 0, 0, elem->pitch);
func_800A6FA0(&sp84, &sp104, &spC4);
func_800A7A24(&sp104, temp1, 0.0f, 0.0f);
func_800A6FA0(&spC4, &sp104, &sp84);
func_800A76A4(&sp104, temp3 * 0.02f, 0.02f, 0.02f);
func_800A6FA0(&sp84, &sp104, &spC4);
SkinMatrix_SetTranslate(&spC4, this->position.x, this->position.y, this->position.z);
SkinMatrix_SetRotateRPY(&sp104, 0, elem->yaw, 0);
SkinMatrix_MtxFMtxFMult(&spC4, &sp104, &sp84);
SkinMatrix_SetRotateRPY(&sp104, 0, 0, elem->pitch);
SkinMatrix_MtxFMtxFMult(&sp84, &sp104, &spC4);
SkinMatrix_SetTranslate(&sp104, temp1, 0.0f, 0.0f);
SkinMatrix_MtxFMtxFMult(&spC4, &sp104, &sp84);
SkinMatrix_SetScale(&sp104, temp3 * 0.02f, 0.02f, 0.02f);
SkinMatrix_MtxFMtxFMult(&sp84, &sp104, &spC4);
mtx = func_800A7E70(gfxCtx, &spC4);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spC4);
if (mtx == NULL) {
break;
}

View File

@ -215,11 +215,11 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
elem = &this->elements[i];
func_800A7A24(&spEC, elem->position.x, elem->position.y, elem->position.z);
SkinMatrix_SetTranslate(&spEC, elem->position.x, elem->position.y, elem->position.z);
temp = ((Math_Rand_ZeroOne() * 2.5f) + 1.5f) * 0.015625f;
func_800A76A4(&spAC, temp, temp, 1.0f);
func_800A6FA0(&spEC, &globalCtx->mf_11DA0, &sp6C);
func_800A6FA0(&sp6C, &spAC, &sp12C);
SkinMatrix_SetScale(&spAC, temp, temp, 1.0f);
SkinMatrix_MtxFMtxFMult(&spEC, &globalCtx->mf_11DA0, &sp6C);
SkinMatrix_MtxFMtxFMult(&sp6C, &spAC, &sp12C);
vertices[j].v.ob[0] = -32;
vertices[j].v.ob[1] = -32;
@ -269,7 +269,7 @@ void EffectSpark_Draw(void* thisx, GraphicsContext* gfxCtx) {
if (this) {}
mtx = func_800A7E70(gfxCtx, &sp12C);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp12C);
if (mtx == NULL) {
break;
}

View File

@ -572,7 +572,7 @@ void func_80090AFC(GlobalContext* globalCtx, Player* player, f32 arg2) {
gfxCtx->overlay.p = Gfx_CallSetupDL(gfxCtx->overlay.p, 7);
func_800A6E10(&globalCtx->mf_11D60, &sp74, &sp68, &sp64);
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &sp74, &sp68, &sp64);
sp60 = (sp64 < 200.0f) ? 0.07999999821186066f : (sp64 / 200.0f) * 0.07999999821186066f;

View File

@ -138,7 +138,7 @@ void func_80095D04(GlobalContext* globalCtx, Room* room, u32 flags) {
sp90.x = polygonDlist->pos.x;
sp90.y = polygonDlist->pos.y;
sp90.z = polygonDlist->pos.z;
func_800A6E10(&globalCtx->mf_11D60, &sp90, &sp84, &sp80);
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &sp90, &sp84, &sp80);
temp_f0 = polygonDlist->unk_06;
if (-temp_f0 < sp84.z) {
temp_f2 = sp84.z - temp_f0;

View File

@ -1,42 +1,728 @@
#include <ultra64.h>
#include <global.h>
#include <vt.h>
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A6E10.s")
// clang-format off
MtxF sMtxFClear = {
1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f,
};
// clang-format on
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A6EF4.s")
/**
* Multiplies a 4 component row vector [ src , 1 ] by the matrix mf and writes the resulting 4 components to xyzDest
* and wDest.
*
* \f[ [\texttt{xyzDest}, \texttt{wDest}] = [\texttt{src}, 1] \cdot [mf] \f]
*/
void SkinMatrix_Vec3fMtxFMultXYZW(MtxF* mf, Vec3f* src, Vec3f* xyzDest, f32* wDest) {
xyzDest->x = mf->wx + ((src->x * mf->xx) + (src->y * mf->yx) + (src->z * mf->zx));
xyzDest->y = mf->wy + ((src->x * mf->xy) + (src->y * mf->yy) + (src->z * mf->zy));
xyzDest->z = mf->wz + ((src->x * mf->xz) + (src->y * mf->yz) + (src->z * mf->zz));
*wDest = mf->ww + ((src->x * mf->xw) + (src->y * mf->yw) + (src->z * mf->zw));
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A6FA0.s")
/**
* Multiplies a 4 component row vector [ src , 1 ] by the matrix mf and writes the resulting xyz components to dest.
*
* \f[ [\texttt{dest}, -] = [\texttt{src}, 1] \cdot [mf] \f]
*/
void SkinMatrix_Vec3fMtxFMultXYZ(MtxF* mf, Vec3f* src, Vec3f* dest) {
f32 mx;
f32 my;
f32 mz;
f32 mw;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A72FC.s")
mx = mf->xx;
my = mf->yx;
mz = mf->zx;
mw = mf->wx;
dest->x = mw + ((src->x * mx) + (src->y * my) + (src->z * mz));
mx = mf->xy;
my = mf->yy;
mz = mf->zy;
mw = mf->wy;
dest->y = mw + ((src->x * mx) + (src->y * my) + (src->z * mz));
mx = mf->xz;
my = mf->yz;
mz = mf->zz;
mw = mf->wz;
dest->z = mw + ((src->x * mx) + (src->y * my) + (src->z * mz));
}
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A730C.s")
/**
* Matrix multiplication, dest = mfA * mfB.
* mfA and dest should not be the same matrix.
*/
void SkinMatrix_MtxFMtxFMult(MtxF* mfB, MtxF* mfA, MtxF* dest) {
f32 rx;
f32 ry;
f32 rz;
f32 rw;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A735C.s")
f32 cx;
f32 cy;
f32 cz;
f32 cw;
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A73E0.s")
//---COL1---
cx = mfB->xx;
cy = mfB->yx;
cz = mfB->zx;
cw = mfB->wx;
//--------
rx = mfA->xx;
ry = mfA->xy;
rz = mfA->xz;
rw = mfA->xw;
dest->xx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A76A4.s")
rx = mfA->yx;
ry = mfA->yy;
rz = mfA->yz;
rw = mfA->yw;
dest->yx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7704.s")
rx = mfA->zx;
ry = mfA->zy;
rz = mfA->zz;
rw = mfA->zw;
dest->zx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7894.s")
rx = mfA->wx;
ry = mfA->wy;
rz = mfA->wz;
rw = mfA->ww;
dest->wx = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7A24.s")
//---COL2---
cx = mfB->xy;
cy = mfB->yy;
cz = mfB->zy;
cw = mfB->wy;
//--------
rx = mfA->xx;
ry = mfA->xy;
rz = mfA->xz;
rw = mfA->xw;
dest->xy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7A84.s")
rx = mfA->yx;
ry = mfA->yy;
rz = mfA->yz;
rw = mfA->yw;
dest->yy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7B04.s")
rx = mfA->zx;
ry = mfA->zy;
rz = mfA->zz;
rw = mfA->zw;
dest->zy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7B84.s")
rx = mfA->wx;
ry = mfA->wy;
rz = mfA->wz;
rw = mfA->ww;
dest->wy = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7BE4.s")
//---COL3---
cx = mfB->xz;
cy = mfB->yz;
cz = mfB->zz;
cw = mfB->wz;
//--------
rx = mfA->xx;
ry = mfA->xy;
rz = mfA->xz;
rw = mfA->xw;
dest->xz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7C20.s")
rx = mfA->yx;
ry = mfA->yy;
rz = mfA->yz;
rw = mfA->yw;
dest->yz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7C60.s")
rx = mfA->zx;
ry = mfA->zy;
rz = mfA->zz;
rw = mfA->zw;
dest->zz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7E70.s")
rx = mfA->wx;
ry = mfA->wy;
rz = mfA->wz;
rw = mfA->ww;
dest->wz = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
//---COL4---
cx = mfB->xw;
cy = mfB->yw;
cz = mfB->zw;
cw = mfB->ww;
//--------
rx = mfA->xx;
ry = mfA->xy;
rz = mfA->xz;
rw = mfA->xw;
dest->xw = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
rx = mfA->yx;
ry = mfA->yy;
rz = mfA->yz;
rw = mfA->yw;
dest->yw = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
rx = mfA->zx;
ry = mfA->zy;
rz = mfA->zz;
rw = mfA->zw;
dest->zw = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
rx = mfA->wx;
ry = mfA->wy;
rz = mfA->wz;
rw = mfA->ww;
dest->ww = (cx * rx) + (cy * ry) + (cz * rz) + (cw * rw);
}
/**
* "Clear" in this file means the identity matrix.
*/
void SkinMatrix_GetClear(MtxF** mfp) {
*mfp = &sMtxFClear;
}
void SkinMatrix_Clear(MtxF* mf) {
mf->xx = 1.0f;
mf->yy = 1.0f;
mf->zz = 1.0f;
mf->ww = 1.0f;
mf->xy = 0.0f;
mf->xz = 0.0f;
mf->xw = 0.0f;
mf->yx = 0.0f;
mf->yz = 0.0f;
mf->yw = 0.0f;
mf->zx = 0.0f;
mf->zy = 0.0f;
mf->zw = 0.0f;
mf->wx = 0.0f;
mf->wy = 0.0f;
mf->wz = 0.0f;
}
void SkinMatrix_MtxFCopy(MtxF* src, MtxF* dest) {
dest->xx = src->xx;
dest->xy = src->xy;
dest->xz = src->xz;
dest->xw = src->xw;
dest->yx = src->yx;
dest->yy = src->yy;
dest->yz = src->yz;
dest->yw = src->yw;
dest->zx = src->zx;
dest->zy = src->zy;
dest->zz = src->zz;
dest->zw = src->zw;
dest->wx = src->wx;
dest->wy = src->wy;
dest->wz = src->wz;
dest->ww = src->ww;
}
/**
* Inverts a matrix using a slight modification of the Gauss-Jordan method
* (column operations instead of row operations).
* returns 0 if successfully inverted
* returns 2 if matrix non-invertible (0 determinant)
*/
#ifdef NON_MATCHING
// Saved register usage differences and probably regalloc
s32 SkinMatrix_Invert(MtxF* src, MtxF* dest) {
MtxF mfCopy;
s32 i;
s32 k;
f32 temp1;
f32 temp2;
f32 diagElement;
s32 thisRow;
s32 thisCol;
u32 pad;
SkinMatrix_MtxFCopy(src, &mfCopy);
SkinMatrix_Clear(dest);
for (thisRow = 0; thisRow != 4; thisRow++) {
for (thisCol = thisRow; (thisCol < 4) && (fabsf(mfCopy.mf[thisRow][thisCol]) < 0.0005f); thisCol++) {}
if (thisCol == 4) {
// reaching col = 4 means the row is either all 0 or a duplicate row.
// therefore singular matrix (0 determinant).
osSyncPrintf(VT_COL(YELLOW, BLACK));
osSyncPrintf("Skin_Matrix_InverseMatrix():逆行列つくれません\n");
osSyncPrintf(VT_RST);
return 2;
}
if (thisCol != thisRow) { // responsible for swapping columns if zero on diagonal
for (i = 0; i != 4; i++) {
temp1 = mfCopy.mf[i][thisCol];
mfCopy.mf[i][thisCol] = mfCopy.mf[i][thisRow];
mfCopy.mf[i][thisRow] = temp1;
temp1 = dest->mf[i][thisCol];
dest->mf[i][thisCol] = dest->mf[i][thisRow];
dest->mf[i][thisRow] = temp1;
}
}
diagElement = mfCopy.mf[thisRow][thisRow];
// Scale this whole column s.t. the diag element = 1
mfCopy.mf[0][thisRow] = mfCopy.mf[0][thisRow] / diagElement;
dest->mf[0][thisRow] = dest->mf[0][thisRow] / diagElement;
mfCopy.mf[1][thisRow] = mfCopy.mf[1][thisRow] / diagElement;
dest->mf[1][thisRow] = dest->mf[1][thisRow] / diagElement;
mfCopy.mf[2][thisRow] = mfCopy.mf[2][thisRow] / diagElement;
dest->mf[2][thisRow] = dest->mf[2][thisRow] / diagElement;
mfCopy.mf[3][thisRow] = mfCopy.mf[3][thisRow] / diagElement;
dest->mf[3][thisRow] = dest->mf[3][thisRow] / diagElement;
// col i = col i - a * col j
for (k = 0; k != 4; k++) {
if (k != thisRow) {
temp2 = mfCopy.mf[thisRow][k];
mfCopy.mf[0][k] = mfCopy.mf[0][k] - (mfCopy.mf[0][thisRow] * temp2);
dest->mf[0][k] = dest->mf[0][k] - (dest->mf[0][thisRow] * temp2);
mfCopy.mf[1][k] = mfCopy.mf[1][k] - (mfCopy.mf[1][thisRow] * temp2);
dest->mf[1][k] = dest->mf[1][k] - (dest->mf[1][thisRow] * temp2);
mfCopy.mf[2][k] = mfCopy.mf[2][k] - (mfCopy.mf[2][thisRow] * temp2);
dest->mf[2][k] = dest->mf[2][k] - (dest->mf[2][thisRow] * temp2);
mfCopy.mf[3][k] = mfCopy.mf[3][k] - (mfCopy.mf[3][thisRow] * temp2);
dest->mf[3][k] = dest->mf[3][k] - (dest->mf[3][thisRow] * temp2);
}
}
}
return 0;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/SkinMatrix_Invert.s")
#endif
/**
* Produces a matrix which scales x,y,z components of vectors or x,y,z rows of matrices (when applied on LHS)
*/
void SkinMatrix_SetScale(MtxF* mf, f32 x, f32 y, f32 z) {
mf->xy = 0.0f;
mf->xz = 0.0f;
mf->xw = 0.0f;
mf->yx = 0.0f;
mf->yz = 0.0f;
mf->yw = 0.0f;
mf->zx = 0.0f;
mf->zy = 0.0f;
mf->zw = 0.0f;
mf->wx = 0.0f;
mf->wy = 0.0f;
mf->wz = 0.0f;
mf->ww = 1.0f;
mf->xx = x;
mf->yy = y;
mf->zz = z;
}
/**
* Produces a rotation matrix = (roll rotation matrix) * (pitch rotation matrix) * (yaw rotation matrix)
*/
void SkinMatrix_SetRotateRPY(MtxF* mf, s16 roll, s16 pitch, s16 yaw) {
f32 cos2;
f32 sin;
f32 cos;
f32 yx;
f32 sin2;
f32 zx;
f32 yy;
f32 zy;
sin = Math_Sins(yaw);
cos = Math_Coss(yaw);
mf->yy = cos;
mf->yx = -sin;
mf->xw = mf->yw = mf->zw = 0;
mf->wx = mf->wy = mf->wz = 0;
mf->ww = 1;
if (pitch != 0) {
sin2 = Math_Sins(pitch);
cos2 = Math_Coss(pitch);
mf->xx = cos * cos2;
mf->zx = cos * sin2;
mf->xy = sin * cos2;
mf->zy = sin * sin2;
mf->xz = -sin2;
mf->zz = cos2;
} else {
mf->xx = cos;
if (1) {}
if (1) {}
zx = sin; // required to match
mf->xy = sin;
mf->xz = mf->zx = mf->zy = 0;
mf->zz = 1;
}
if (roll != 0) {
sin2 = Math_Sins(roll);
cos2 = Math_Coss(roll);
yx = mf->yx;
zx = mf->zx;
mf->yx = (yx * cos2) + (zx * sin2);
mf->zx = (zx * cos2) - (yx * sin2);
if (1) {}
zy = mf->zy;
yy = mf->yy;
mf->yy = (yy * cos2) + (zy * sin2);
mf->zy = (zy * cos2) - (yy * sin2);
if (cos2) {}
mf->yz = mf->zz * sin2;
mf->zz = mf->zz * cos2;
} else {
mf->yz = 0;
}
}
/**
* Produces a rotation matrix = (yaw rotation matrix) * (roll rotation matrix) * (pitch rotation matrix)
*/
void SkinMatrix_SetRotateYRP(MtxF* mf, s16 yaw, s16 roll, s16 pitch) {
f32 cos2;
f32 sin;
f32 cos;
f32 xz;
f32 sin2;
f32 yz;
f32 xx;
f32 yx;
sin = Math_Sins(roll);
cos = Math_Coss(roll);
mf->xx = cos;
mf->xz = -sin;
mf->zw = 0;
mf->yw = 0;
mf->xw = 0;
mf->wz = 0;
mf->wy = 0;
mf->wx = 0;
mf->ww = 1;
if (yaw != 0) {
sin2 = Math_Sins(yaw);
cos2 = Math_Coss(yaw);
mf->zz = cos * cos2;
mf->yz = cos * sin2;
mf->zx = sin * cos2;
mf->yx = sin * sin2;
mf->zy = -sin2;
mf->yy = cos2;
} else {
mf->zz = cos;
if (1) {}
if (1) {}
yx = sin; // required to match
mf->zx = sin;
mf->yx = mf->yz = mf->zy = 0;
mf->yy = 1;
}
if (pitch != 0) {
sin2 = Math_Sins(pitch);
cos2 = Math_Coss(pitch);
xx = mf->xx;
yx = mf->yx;
mf->xx = (xx * cos2) + (yx * sin2);
mf->yx = yx * cos2 - (xx * sin2);
if (1) {}
yz = mf->yz;
xz = mf->xz;
mf->xz = (xz * cos2) + (yz * sin2);
mf->yz = (yz * cos2) - (xz * sin2);
if (cos2) {}
mf->xy = mf->yy * sin2;
mf->yy = mf->yy * cos2;
} else {
mf->xy = 0;
}
}
/**
* Produces a matrix which translates a vector by amounts in the x, y and z directions
*/
void SkinMatrix_SetTranslate(MtxF* mf, f32 x, f32 y, f32 z) {
mf->xy = 0.0f;
mf->xz = 0.0f;
mf->xw = 0.0f;
mf->yx = 0.0f;
mf->yz = 0.0f;
mf->yw = 0.0f;
mf->zx = 0.0f;
mf->zy = 0.0f;
mf->zw = 0.0f;
mf->xx = 1.0f;
mf->yy = 1.0f;
mf->zz = 1.0f;
mf->ww = 1.0f;
mf->wx = x;
mf->wy = y;
mf->wz = z;
}
/**
* Produces a matrix which scales, then rotates (RPY), then translates a vector
*/
void SkinMatrix_SetScaleRotateRPYTranslate(MtxF* mf, f32 scaleX, f32 scaleY, f32 scaleZ, s16 roll, s16 pitch, s16 yaw,
f32 dx, f32 dy, f32 dz) {
MtxF mft1;
MtxF mft2;
SkinMatrix_SetTranslate(mf, dx, dy, dz);
SkinMatrix_SetRotateRPY(&mft1, roll, pitch, yaw);
SkinMatrix_MtxFMtxFMult(mf, &mft1, &mft2);
SkinMatrix_SetScale(&mft1, scaleX, scaleY, scaleZ);
SkinMatrix_MtxFMtxFMult(&mft2, &mft1, mf);
}
/**
* Produces a matrix which scales, then rotates (YRP), then translates a vector
*/
void SkinMatrix_SetScaleRotateYRPTranslate(MtxF* mf, f32 scaleX, f32 scaleY, f32 scaleZ, s16 yaw, s16 roll, s16 pitch,
f32 dx, f32 dy, f32 dz) {
MtxF mft1;
MtxF mft2;
SkinMatrix_SetTranslate(mf, dx, dy, dz);
SkinMatrix_SetRotateYRP(&mft1, yaw, roll, pitch);
SkinMatrix_MtxFMtxFMult(mf, &mft1, &mft2);
SkinMatrix_SetScale(&mft1, scaleX, scaleY, scaleZ);
SkinMatrix_MtxFMtxFMult(&mft2, &mft1, mf);
}
/**
* Produces a matrix which rotates (RPY), then translates a vector
*/
void SkinMatrix_SetRotateRPYTranslate(MtxF* mf, s16 roll, s16 pitch, s16 yaw, f32 dx, f32 dy, f32 dz) {
MtxF mft1;
MtxF mft2;
SkinMatrix_SetTranslate(&mft2, dx, dy, dz);
SkinMatrix_SetRotateRPY(&mft1, roll, pitch, yaw);
SkinMatrix_MtxFMtxFMult(&mft2, &mft1, mf);
}
void SkinMatrix_Vec3fToVec3s(Vec3f* src, Vec3s* dest) {
dest->x = src->x;
dest->y = src->y;
dest->z = src->z;
}
void SkinMatrix_Vec3sToVec3f(Vec3s* src, Vec3f* dest) {
dest->x = src->x;
dest->y = src->y;
dest->z = src->z;
}
void SkinMatrix_MtxFToMtx(MtxF* src, Mtx* dest) {
s32 temp;
u16* m1 = (u16*)&dest->m[0][0];
u16* m2 = (u16*)&dest->m[2][0];
temp = src->xx * 0x10000;
m1[0] = (temp >> 0x10);
m1[16 + 0] = temp & 0xFFFF;
temp = src->xy * 0x10000;
m1[1] = (temp >> 0x10);
m1[16 + 1] = temp & 0xFFFF;
temp = src->xz * 0x10000;
m1[2] = (temp >> 0x10);
m1[16 + 2] = temp & 0xFFFF;
temp = src->xw * 0x10000;
m1[3] = (temp >> 0x10);
m1[16 + 3] = temp & 0xFFFF;
temp = src->yx * 0x10000;
m1[4] = (temp >> 0x10);
m1[16 + 4] = temp & 0xFFFF;
temp = src->yy * 0x10000;
m1[5] = (temp >> 0x10);
m1[16 + 5] = temp & 0xFFFF;
temp = src->yz * 0x10000;
m1[6] = (temp >> 0x10);
m1[16 + 6] = temp & 0xFFFF;
temp = src->yw * 0x10000;
m1[7] = (temp >> 0x10);
m1[16 + 7] = temp & 0xFFFF;
temp = src->zx * 0x10000;
m1[8] = (temp >> 0x10);
m1[16 + 8] = temp & 0xFFFF;
temp = src->zy * 0x10000;
m1[9] = (temp >> 0x10);
m2[9] = temp & 0xFFFF;
temp = src->zz * 0x10000;
m1[10] = (temp >> 0x10);
m2[10] = temp & 0xFFFF;
temp = src->zw * 0x10000;
m1[11] = (temp >> 0x10);
m2[11] = temp & 0xFFFF;
temp = src->wx * 0x10000;
m1[12] = (temp >> 0x10);
m2[12] = temp & 0xFFFF;
temp = src->wy * 0x10000;
m1[13] = (temp >> 0x10);
m2[13] = temp & 0xFFFF;
temp = src->wz * 0x10000;
m1[14] = (temp >> 0x10);
m2[14] = temp & 0xFFFF;
temp = src->ww * 0x10000;
m1[15] = (temp >> 0x10);
m2[15] = temp & 0xFFFF;
}
Mtx* SkinMatrix_MtxFToNewMtx(GraphicsContext* gfxCtx, MtxF* src) {
Mtx* mtx = Graph_Alloc(gfxCtx, sizeof(Mtx));
if (mtx == NULL) {
osSyncPrintf("Skin_Matrix_to_Mtx_new() 確保失敗:NULLを返して終了\n", mtx);
return NULL;
}
SkinMatrix_MtxFToMtx(src, mtx);
return mtx;
}
/**
* Produces a matrix which rotates vectors by angle a around the vector with components (x,y,z)
*/
#ifdef NON_EQUIVALENT
// I think this is functionally correct but I cannot be 100% sure of equivalence because diff output is not very close
void func_800A7EC0(MtxF* mf, s16 a, f32 x, f32 y, f32 z) {
f32 sin;
f32 cos;
f32 ct;
f32 xx;
f32 yy;
f32 zz;
f32 xy;
f32 xz;
f32 yz;
f32 sx;
f32 sy;
f32 sz;
sin = Math_Sins(a);
cos = Math_Coss(a);
ct = 1.0f - cos;
sx = sin * x;
sy = sin * y;
sz = sin * z;
xx = x * x;
xy = x * y;
xz = x * z;
yy = y * y;
yz = y * z;
zz = z * z;
mf->xx = (f32)ct * xx + cos;
mf->xy = (f32)((ct * xy) + sz);
mf->xz = (f32)((ct * xz) - sy);
mf->xw = 0.0f;
mf->yx = (f32)((ct * (xy)) - sz);
mf->yy = (f32)ct * yy + cos;
mf->yz = (f32)((ct * (yz)) + sx);
mf->yw = 0.0f;
mf->zx = (f32)((ct * (xz)) + sy);
mf->zy = (f32)((ct * (yz)) - sx);
mf->zz = (f32)ct * zz + cos;
mf->zw = 0.0f;
mf->wx = 0.0f;
mf->wy = 0.0f;
mf->wz = 0.0f;
mf->ww = 1.0f;
}
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A7EC0.s")
#endif
#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_matrix/func_800A8030.s")
void func_800A8030(MtxF* mf, f32* arg1) {
f32 n;
f32 xNorm;
f32 yNorm;
f32 zNorm;
f32 wxNorm;
f32 wyNorm;
f32 wzNorm;
f32 xxNorm;
f32 xyNorm;
f32 xzNorm;
f32 yyNorm;
f32 yzNorm;
f32 zzNorm;
n = 2.0f / ((arg1[3] * arg1[3]) + ((arg1[2] * arg1[2]) + ((arg1[1] * arg1[1]) + (arg1[0] * arg1[0]))));
xNorm = arg1[0] * n;
yNorm = arg1[1] * n;
zNorm = arg1[2] * n;
wxNorm = arg1[3] * xNorm;
wyNorm = arg1[3] * yNorm;
wzNorm = arg1[3] * zNorm;
xxNorm = arg1[0] * xNorm;
xyNorm = arg1[0] * yNorm;
xzNorm = arg1[0] * zNorm;
yyNorm = arg1[1] * yNorm;
yzNorm = arg1[1] * zNorm;
zzNorm = arg1[2] * zNorm;
mf->xx = (1.0f - (yyNorm + zzNorm));
mf->xy = (xyNorm + wzNorm);
mf->xz = (xzNorm - wyNorm);
mf->xw = 0.0f;
mf->yx = (xyNorm - wzNorm);
mf->yy = (1.0f - (xxNorm + zzNorm));
mf->yz = (yzNorm + wxNorm);
mf->yw = 0.0f;
mf->zx = (yzNorm + wyNorm);
mf->zy = (yzNorm - wxNorm);
mf->zz = (1.0f - (xxNorm + yyNorm));
mf->zw = 0.0f;
mf->wx = 0.0f;
mf->wy = 0.0f;
mf->ww = 1.0f;
mf->wz = 0.0f;
}

View File

@ -511,7 +511,7 @@ void BgHakaTrap_Draw(Actor* thisx, GlobalContext* globalCtx) {
sp2C.z = thisx->posRot.pos.z;
sp2C.y = thisx->posRot.pos.y + 110.0f;
func_800A6EF4(&globalCtx->mf_11D60, &sp2C, &this->unk_16C);
SkinMatrix_Vec3fMtxFMultXYZ(&globalCtx->mf_11D60, &sp2C, &this->unk_16C);
func_80078914(&this->unk_16C, NA_SE_EV_BRIDGE_CLOSE - SFX_FLAG);
}
}

View File

@ -82,7 +82,7 @@ void func_8097C8A8(DemoGo* this, GlobalContext* globalCtx) {
Vec3f* sp1C;
if ((thisx->params == 0) || (thisx->params == 1)) {
func_800A6E10(&globalCtx->mf_11D60, &thisx->posRot.pos, &sp20, &sp1C);
SkinMatrix_Vec3fMtxFMultXYZW(&globalCtx->mf_11D60, &thisx->posRot.pos, &sp20, &sp1C);
Audio_PlaySoundAtPosition(globalCtx, &sp20, 20, NA_SE_EV_OBJECT_FALL);
}
}

View File

@ -483,7 +483,7 @@ void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
func_800D1FD4(&globalCtx->mf_11DA0);
func_80093D84(globalCtx->state.gfxCtx);
gDPSetPrimColor(gfxCtx->polyXlu.p++, 0, 0, 255, 255, 255, (s8)this->unk_160);
if (this->fireMode > 0) {
gDPSetEnvColor(gfxCtx->polyXlu.p++, 0, 255, 255, 0);
} else {
@ -502,8 +502,8 @@ void EnFhgFire_Draw(Actor* thisx, GlobalContext* globalCtx) {
gSPMatrix(gfxCtx->polyXlu.p++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_en_fhg_fire.c", 1833),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPSegment(gfxCtx->polyXlu.p++, 0x08,
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40,
1, (s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40));
Gfx_TwoTexScroll(globalCtx->state.gfxCtx, 0, (s16)this->unk_174, (s16)this->unk_178, 0x40, 0x40, 1,
(s16)this->unk_17C, (s16)this->unk_180, 0x40, 0x40));
gSPDisplayList(gfxCtx->polyXlu.p++, D_0600FAA0);
} else {
osSyncPrintf("FF DRAW 1\n");

View File

@ -65,14 +65,14 @@ void EffectSsBomb_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
scale = this->regs[SS_BOMB_SCALE] / 100.0f;
func_800A7A24(&sp12C, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&spEC, scale, scale, 1.0f);
func_800A6FA0(&sp12C, &globalCtx->mf_11DA0, &sp6C);
func_800A6FA0(&sp6C, &spEC, &spAC);
SkinMatrix_SetTranslate(&sp12C, this->pos.x, this->pos.y, this->pos.z);
SkinMatrix_SetScale(&spEC, scale, scale, 1.0f);
SkinMatrix_MtxFMtxFMult(&sp12C, &globalCtx->mf_11DA0, &sp6C);
SkinMatrix_MtxFMtxFMult(&sp6C, &spEC, &spAC);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
mtx = func_800A7E70(gfxCtx, &spAC);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spAC);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);

View File

@ -87,12 +87,12 @@ void EffectSsBomb2_DrawFade(GlobalContext* globalCtx, u32 index, EffectSs* this)
Graph_OpenDisps(&dispRefs, gfxCtx, "../z_eff_ss_bomb2.c", 298);
scale = this->regs[SS_BOMB2_SCALE] * 0.01f;
func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&spDC, scale, scale, 1.0f);
func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C);
SkinMatrix_SetTranslate(&sp11C, this->pos.x, this->pos.y, this->pos.z);
SkinMatrix_SetScale(&spDC, scale, scale, 1.0f);
SkinMatrix_MtxFMtxFMult(&sp11C, &globalCtx->mf_11DA0, &sp5C);
func_800A6FA0(&sp5C, &spDC, &sp9C);
mtx = func_800A7E70(gfxCtx, &sp9C);
SkinMatrix_MtxFMtxFMult(&sp5C, &spDC, &sp9C);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp9C);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
@ -134,15 +134,15 @@ void EffectSsBomb2_DrawLayered(GlobalContext* globalCtx, u32 index, EffectSs* th
temp_f24 = this->regs[SS_BOMB2_A];
scale = this->regs[SS_BOMB2_SCALE] * 0.01f;
func_800A7A24(&sp1B4, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&sp174, scale, scale, 1.0f);
func_800A6FA0(&sp1B4, &globalCtx->mf_11DA0, &spF4);
func_800A6FA0(&spF4, &sp174, &sp134);
mtx = func_800A7E70(gfxCtx, &sp134);
SkinMatrix_SetTranslate(&sp1B4, this->pos.x, this->pos.y, this->pos.z);
SkinMatrix_SetScale(&sp174, scale, scale, 1.0f);
SkinMatrix_MtxFMtxFMult(&sp1B4, &globalCtx->mf_11DA0, &spF4);
SkinMatrix_MtxFMtxFMult(&spF4, &sp174, &sp134);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp134);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
mtx2 = func_800A7E70(gfxCtx, &sp134);
mtx2 = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp134);
if (mtx2 != NULL) {
func_80094BC4(gfxCtx);

View File

@ -96,13 +96,13 @@ void EffectSsDust_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
scale = this->regs[SS_DUST_SCALE] * 0.0025f;
func_800A7A24(&sp144, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&sp104, scale, scale, 1.0f);
func_800A6FA0(&sp144, &globalCtx->mf_11DA0, &sp84);
func_800A6FA0(&sp84, &sp104, &spC4);
SkinMatrix_SetTranslate(&sp144, this->pos.x, this->pos.y, this->pos.z);
SkinMatrix_SetScale(&sp104, scale, scale, 1.0f);
SkinMatrix_MtxFMtxFMult(&sp144, &globalCtx->mf_11DA0, &sp84);
SkinMatrix_MtxFMtxFMult(&sp84, &sp104, &spC4);
gSPMatrix(gfxCtx->polyXlu.p++, &gMtxClear, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
mtx = func_800A7E70(gfxCtx, &spC4);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &spC4);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);

View File

@ -94,12 +94,12 @@ void EffectSsGSpk_Draw(GlobalContext* globalCtx, u32 index, EffectSs* this) {
scale = this->regs[SS_G_SPK_SCALE] * 0.0025f;
func_800A7A24(&sp11C, this->pos.x, this->pos.y, this->pos.z);
func_800A76A4(&spDC, scale, scale, 1.0f);
func_800A6FA0(&sp11C, &globalCtx->mf_11DA0, &sp5C);
func_800A6FA0(&sp5C, &spDC, &sp9C);
SkinMatrix_SetTranslate(&sp11C, this->pos.x, this->pos.y, this->pos.z);
SkinMatrix_SetScale(&spDC, scale, scale, 1.0f);
SkinMatrix_MtxFMtxFMult(&sp11C, &globalCtx->mf_11DA0, &sp5C);
SkinMatrix_MtxFMtxFMult(&sp5C, &spDC, &sp9C);
mtx = func_800A7E70(gfxCtx, &sp9C);
mtx = SkinMatrix_MtxFToNewMtx(gfxCtx, &sp9C);
if (mtx != NULL) {
gSPMatrix(gfxCtx->polyXlu.p++, mtx, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);