mirror of https://github.com/n64decomp/mk64.git
Match 3 functions in code_8001F980 (#193)
Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
parent
67331d5dda
commit
92ad254c24
|
|
@ -1,129 +0,0 @@
|
|||
glabel func_80021F84
|
||||
/* 022B84 80021F84 44856000 */ mtc1 $a1, $f12
|
||||
/* 022B88 80021F88 C4840000 */ lwc1 $f4, ($a0)
|
||||
/* 022B8C 80021F8C C4880010 */ lwc1 $f8, 0x10($a0)
|
||||
/* 022B90 80021F90 C4900020 */ lwc1 $f16, 0x20($a0)
|
||||
/* 022B94 80021F94 460C2182 */ mul.s $f6, $f4, $f12
|
||||
/* 022B98 80021F98 C4840004 */ lwc1 $f4, 4($a0)
|
||||
/* 022B9C 80021F9C 460C4282 */ mul.s $f10, $f8, $f12
|
||||
/* 022BA0 80021FA0 C4880014 */ lwc1 $f8, 0x14($a0)
|
||||
/* 022BA4 80021FA4 460C8482 */ mul.s $f18, $f16, $f12
|
||||
/* 022BA8 80021FA8 E4860000 */ swc1 $f6, ($a0)
|
||||
/* 022BAC 80021FAC C4900024 */ lwc1 $f16, 0x24($a0)
|
||||
/* 022BB0 80021FB0 460C2182 */ mul.s $f6, $f4, $f12
|
||||
/* 022BB4 80021FB4 E48A0010 */ swc1 $f10, 0x10($a0)
|
||||
/* 022BB8 80021FB8 C4840008 */ lwc1 $f4, 8($a0)
|
||||
/* 022BBC 80021FBC 460C4282 */ mul.s $f10, $f8, $f12
|
||||
/* 022BC0 80021FC0 E4920020 */ swc1 $f18, 0x20($a0)
|
||||
/* 022BC4 80021FC4 C4880018 */ lwc1 $f8, 0x18($a0)
|
||||
/* 022BC8 80021FC8 460C8482 */ mul.s $f18, $f16, $f12
|
||||
/* 022BCC 80021FCC E4860004 */ swc1 $f6, 4($a0)
|
||||
/* 022BD0 80021FD0 C4900028 */ lwc1 $f16, 0x28($a0)
|
||||
/* 022BD4 80021FD4 460C2182 */ mul.s $f6, $f4, $f12
|
||||
/* 022BD8 80021FD8 E48A0014 */ swc1 $f10, 0x14($a0)
|
||||
/* 022BDC 80021FDC 460C4282 */ mul.s $f10, $f8, $f12
|
||||
/* 022BE0 80021FE0 E4920024 */ swc1 $f18, 0x24($a0)
|
||||
/* 022BE4 80021FE4 460C8482 */ mul.s $f18, $f16, $f12
|
||||
/* 022BE8 80021FE8 E4860008 */ swc1 $f6, 8($a0)
|
||||
/* 022BEC 80021FEC E48A0018 */ swc1 $f10, 0x18($a0)
|
||||
/* 022BF0 80021FF0 03E00008 */ jr $ra
|
||||
/* 022BF4 80021FF4 E4920028 */ swc1 $f18, 0x28($a0)
|
||||
|
||||
/* 022BF8 80021FF8 3C014780 */ li $at, 0x47800000 # 65536.000000
|
||||
/* 022BFC 80021FFC 44810000 */ mtc1 $at, $f0
|
||||
/* 022C00 80022000 C4A40000 */ lwc1 $f4, ($a1)
|
||||
/* 022C04 80022004 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022C08 80022008 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022C0C 8002200C 440F4000 */ mfc1 $t7, $f8
|
||||
/* 022C10 80022010 00000000 */ nop
|
||||
/* 022C14 80022014 AC8F0000 */ sw $t7, ($a0)
|
||||
/* 022C18 80022018 C4AA0004 */ lwc1 $f10, 4($a1)
|
||||
/* 022C1C 8002201C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022C20 80022020 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022C24 80022024 44199000 */ mfc1 $t9, $f18
|
||||
/* 022C28 80022028 00000000 */ nop
|
||||
/* 022C2C 8002202C AC990004 */ sw $t9, 4($a0)
|
||||
/* 022C30 80022030 C4A40008 */ lwc1 $f4, 8($a1)
|
||||
/* 022C34 80022034 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022C38 80022038 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022C3C 8002203C 44094000 */ mfc1 $t1, $f8
|
||||
/* 022C40 80022040 00000000 */ nop
|
||||
/* 022C44 80022044 AC890008 */ sw $t1, 8($a0)
|
||||
/* 022C48 80022048 C4AA000C */ lwc1 $f10, 0xc($a1)
|
||||
/* 022C4C 8002204C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022C50 80022050 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022C54 80022054 440B9000 */ mfc1 $t3, $f18
|
||||
/* 022C58 80022058 00000000 */ nop
|
||||
/* 022C5C 8002205C AC8B000C */ sw $t3, 0xc($a0)
|
||||
/* 022C60 80022060 C4A40010 */ lwc1 $f4, 0x10($a1)
|
||||
/* 022C64 80022064 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022C68 80022068 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022C6C 8002206C 440D4000 */ mfc1 $t5, $f8
|
||||
/* 022C70 80022070 00000000 */ nop
|
||||
/* 022C74 80022074 AC8D0010 */ sw $t5, 0x10($a0)
|
||||
/* 022C78 80022078 C4AA0014 */ lwc1 $f10, 0x14($a1)
|
||||
/* 022C7C 8002207C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022C80 80022080 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022C84 80022084 440F9000 */ mfc1 $t7, $f18
|
||||
/* 022C88 80022088 00000000 */ nop
|
||||
/* 022C8C 8002208C AC8F0014 */ sw $t7, 0x14($a0)
|
||||
/* 022C90 80022090 C4A40018 */ lwc1 $f4, 0x18($a1)
|
||||
/* 022C94 80022094 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022C98 80022098 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022C9C 8002209C 44194000 */ mfc1 $t9, $f8
|
||||
/* 022CA0 800220A0 00000000 */ nop
|
||||
/* 022CA4 800220A4 AC990018 */ sw $t9, 0x18($a0)
|
||||
/* 022CA8 800220A8 C4AA001C */ lwc1 $f10, 0x1c($a1)
|
||||
/* 022CAC 800220AC 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022CB0 800220B0 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022CB4 800220B4 44099000 */ mfc1 $t1, $f18
|
||||
/* 022CB8 800220B8 00000000 */ nop
|
||||
/* 022CBC 800220BC AC89001C */ sw $t1, 0x1c($a0)
|
||||
/* 022CC0 800220C0 C4A40020 */ lwc1 $f4, 0x20($a1)
|
||||
/* 022CC4 800220C4 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022CC8 800220C8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022CCC 800220CC 440B4000 */ mfc1 $t3, $f8
|
||||
/* 022CD0 800220D0 00000000 */ nop
|
||||
/* 022CD4 800220D4 AC8B0020 */ sw $t3, 0x20($a0)
|
||||
/* 022CD8 800220D8 C4AA0024 */ lwc1 $f10, 0x24($a1)
|
||||
/* 022CDC 800220DC 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022CE0 800220E0 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022CE4 800220E4 440D9000 */ mfc1 $t5, $f18
|
||||
/* 022CE8 800220E8 00000000 */ nop
|
||||
/* 022CEC 800220EC AC8D0024 */ sw $t5, 0x24($a0)
|
||||
/* 022CF0 800220F0 C4A40028 */ lwc1 $f4, 0x28($a1)
|
||||
/* 022CF4 800220F4 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022CF8 800220F8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022CFC 800220FC 440F4000 */ mfc1 $t7, $f8
|
||||
/* 022D00 80022100 00000000 */ nop
|
||||
/* 022D04 80022104 AC8F0028 */ sw $t7, 0x28($a0)
|
||||
/* 022D08 80022108 C4AA002C */ lwc1 $f10, 0x2c($a1)
|
||||
/* 022D0C 8002210C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022D10 80022110 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022D14 80022114 44199000 */ mfc1 $t9, $f18
|
||||
/* 022D18 80022118 00000000 */ nop
|
||||
/* 022D1C 8002211C AC99002C */ sw $t9, 0x2c($a0)
|
||||
/* 022D20 80022120 C4A40030 */ lwc1 $f4, 0x30($a1)
|
||||
/* 022D24 80022124 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022D28 80022128 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022D2C 8002212C 44094000 */ mfc1 $t1, $f8
|
||||
/* 022D30 80022130 00000000 */ nop
|
||||
/* 022D34 80022134 AC890030 */ sw $t1, 0x30($a0)
|
||||
/* 022D38 80022138 C4AA0034 */ lwc1 $f10, 0x34($a1)
|
||||
/* 022D3C 8002213C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022D40 80022140 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022D44 80022144 440B9000 */ mfc1 $t3, $f18
|
||||
/* 022D48 80022148 00000000 */ nop
|
||||
/* 022D4C 8002214C AC8B0034 */ sw $t3, 0x34($a0)
|
||||
/* 022D50 80022150 C4A40038 */ lwc1 $f4, 0x38($a1)
|
||||
/* 022D54 80022154 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022D58 80022158 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022D5C 8002215C 440D4000 */ mfc1 $t5, $f8
|
||||
/* 022D60 80022160 00000000 */ nop
|
||||
/* 022D64 80022164 AC8D0038 */ sw $t5, 0x38($a0)
|
||||
/* 022D68 80022168 C4AA003C */ lwc1 $f10, 0x3c($a1)
|
||||
/* 022D6C 8002216C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022D70 80022170 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022D74 80022174 440F9000 */ mfc1 $t7, $f18
|
||||
/* 022D78 80022178 03E00008 */ jr $ra
|
||||
/* 022D7C 8002217C AC8F003C */ sw $t7, 0x3c($a0)
|
||||
|
|
@ -1,221 +0,0 @@
|
|||
glabel func_80022180
|
||||
/* 022D80 80022180 3C014780 */ li $at, 0x47800000 # 65536.000000
|
||||
/* 022D84 80022184 44810000 */ mtc1 $at, $f0
|
||||
/* 022D88 80022188 C4A40004 */ lwc1 $f4, 4($a1)
|
||||
/* 022D8C 8002218C C4AA0000 */ lwc1 $f10, ($a1)
|
||||
/* 022D90 80022190 3C02FFFF */ lui $v0, 0xffff
|
||||
/* 022D94 80022194 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022D98 80022198 00000000 */ nop
|
||||
/* 022D9C 8002219C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022DA0 800221A0 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022DA4 800221A4 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022DA8 800221A8 440F4000 */ mfc1 $t7, $f8
|
||||
/* 022DAC 800221AC 44099000 */ mfc1 $t1, $f18
|
||||
/* 022DB0 800221B0 000FC403 */ sra $t8, $t7, 0x10
|
||||
/* 022DB4 800221B4 3319FFFF */ andi $t9, $t8, 0xffff
|
||||
/* 022DB8 800221B8 01225024 */ and $t2, $t1, $v0
|
||||
/* 022DBC 800221BC 032A5825 */ or $t3, $t9, $t2
|
||||
/* 022DC0 800221C0 AC8B0000 */ sw $t3, ($a0)
|
||||
/* 022DC4 800221C4 C4A4000C */ lwc1 $f4, 0xc($a1)
|
||||
/* 022DC8 800221C8 C4AA0008 */ lwc1 $f10, 8($a1)
|
||||
/* 022DCC 800221CC 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022DD0 800221D0 00000000 */ nop
|
||||
/* 022DD4 800221D4 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022DD8 800221D8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022DDC 800221DC 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022DE0 800221E0 440D4000 */ mfc1 $t5, $f8
|
||||
/* 022DE4 800221E4 44089000 */ mfc1 $t0, $f18
|
||||
/* 022DE8 800221E8 000D7403 */ sra $t6, $t5, 0x10
|
||||
/* 022DEC 800221EC 31CFFFFF */ andi $t7, $t6, 0xffff
|
||||
/* 022DF0 800221F0 01024824 */ and $t1, $t0, $v0
|
||||
/* 022DF4 800221F4 01E9C825 */ or $t9, $t7, $t1
|
||||
/* 022DF8 800221F8 AC990004 */ sw $t9, 4($a0)
|
||||
/* 022DFC 800221FC C4A40014 */ lwc1 $f4, 0x14($a1)
|
||||
/* 022E00 80022200 C4AA0010 */ lwc1 $f10, 0x10($a1)
|
||||
/* 022E04 80022204 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022E08 80022208 00000000 */ nop
|
||||
/* 022E0C 8002220C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022E10 80022210 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022E14 80022214 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022E18 80022218 440B4000 */ mfc1 $t3, $f8
|
||||
/* 022E1C 8002221C 44189000 */ mfc1 $t8, $f18
|
||||
/* 022E20 80022220 000B6403 */ sra $t4, $t3, 0x10
|
||||
/* 022E24 80022224 318DFFFF */ andi $t5, $t4, 0xffff
|
||||
/* 022E28 80022228 03024024 */ and $t0, $t8, $v0
|
||||
/* 022E2C 8002222C 01A87825 */ or $t7, $t5, $t0
|
||||
/* 022E30 80022230 AC8F0008 */ sw $t7, 8($a0)
|
||||
/* 022E34 80022234 C4A4001C */ lwc1 $f4, 0x1c($a1)
|
||||
/* 022E38 80022238 C4AA0018 */ lwc1 $f10, 0x18($a1)
|
||||
/* 022E3C 8002223C 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022E40 80022240 00000000 */ nop
|
||||
/* 022E44 80022244 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022E48 80022248 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022E4C 8002224C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022E50 80022250 44194000 */ mfc1 $t9, $f8
|
||||
/* 022E54 80022254 440E9000 */ mfc1 $t6, $f18
|
||||
/* 022E58 80022258 00195403 */ sra $t2, $t9, 0x10
|
||||
/* 022E5C 8002225C 314BFFFF */ andi $t3, $t2, 0xffff
|
||||
/* 022E60 80022260 01C2C024 */ and $t8, $t6, $v0
|
||||
/* 022E64 80022264 01786825 */ or $t5, $t3, $t8
|
||||
/* 022E68 80022268 AC8D000C */ sw $t5, 0xc($a0)
|
||||
/* 022E6C 8002226C C4A40024 */ lwc1 $f4, 0x24($a1)
|
||||
/* 022E70 80022270 C4AA0020 */ lwc1 $f10, 0x20($a1)
|
||||
/* 022E74 80022274 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022E78 80022278 00000000 */ nop
|
||||
/* 022E7C 8002227C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022E80 80022280 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022E84 80022284 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022E88 80022288 440F4000 */ mfc1 $t7, $f8
|
||||
/* 022E8C 8002228C 440C9000 */ mfc1 $t4, $f18
|
||||
/* 022E90 80022290 000F4C03 */ sra $t1, $t7, 0x10
|
||||
/* 022E94 80022294 3139FFFF */ andi $t9, $t1, 0xffff
|
||||
/* 022E98 80022298 01827024 */ and $t6, $t4, $v0
|
||||
/* 022E9C 8002229C 032E5825 */ or $t3, $t9, $t6
|
||||
/* 022EA0 800222A0 AC8B0010 */ sw $t3, 0x10($a0)
|
||||
/* 022EA4 800222A4 C4A4002C */ lwc1 $f4, 0x2c($a1)
|
||||
/* 022EA8 800222A8 C4AA0028 */ lwc1 $f10, 0x28($a1)
|
||||
/* 022EAC 800222AC 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022EB0 800222B0 00000000 */ nop
|
||||
/* 022EB4 800222B4 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022EB8 800222B8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022EBC 800222BC 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022EC0 800222C0 440D4000 */ mfc1 $t5, $f8
|
||||
/* 022EC4 800222C4 440A9000 */ mfc1 $t2, $f18
|
||||
/* 022EC8 800222C8 000D4403 */ sra $t0, $t5, 0x10
|
||||
/* 022ECC 800222CC 310FFFFF */ andi $t7, $t0, 0xffff
|
||||
/* 022ED0 800222D0 01426024 */ and $t4, $t2, $v0
|
||||
/* 022ED4 800222D4 01ECC825 */ or $t9, $t7, $t4
|
||||
/* 022ED8 800222D8 AC990014 */ sw $t9, 0x14($a0)
|
||||
/* 022EDC 800222DC C4A40034 */ lwc1 $f4, 0x34($a1)
|
||||
/* 022EE0 800222E0 C4AA0030 */ lwc1 $f10, 0x30($a1)
|
||||
/* 022EE4 800222E4 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022EE8 800222E8 00000000 */ nop
|
||||
/* 022EEC 800222EC 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022EF0 800222F0 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022EF4 800222F4 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022EF8 800222F8 440B4000 */ mfc1 $t3, $f8
|
||||
/* 022EFC 800222FC 44099000 */ mfc1 $t1, $f18
|
||||
/* 022F00 80022300 000BC403 */ sra $t8, $t3, 0x10
|
||||
/* 022F04 80022304 330DFFFF */ andi $t5, $t8, 0xffff
|
||||
/* 022F08 80022308 01225024 */ and $t2, $t1, $v0
|
||||
/* 022F0C 8002230C 01AA7825 */ or $t7, $t5, $t2
|
||||
/* 022F10 80022310 AC8F0018 */ sw $t7, 0x18($a0)
|
||||
/* 022F14 80022314 C4A4003C */ lwc1 $f4, 0x3c($a1)
|
||||
/* 022F18 80022318 C4AA0038 */ lwc1 $f10, 0x38($a1)
|
||||
/* 022F1C 8002231C 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022F20 80022320 00000000 */ nop
|
||||
/* 022F24 80022324 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022F28 80022328 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022F2C 8002232C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022F30 80022330 44194000 */ mfc1 $t9, $f8
|
||||
/* 022F34 80022334 44089000 */ mfc1 $t0, $f18
|
||||
/* 022F38 80022338 00197403 */ sra $t6, $t9, 0x10
|
||||
/* 022F3C 8002233C 31CBFFFF */ andi $t3, $t6, 0xffff
|
||||
/* 022F40 80022340 01024824 */ and $t1, $t0, $v0
|
||||
/* 022F44 80022344 01696825 */ or $t5, $t3, $t1
|
||||
/* 022F48 80022348 AC8D001C */ sw $t5, 0x1c($a0)
|
||||
/* 022F4C 8002234C C4A40004 */ lwc1 $f4, 4($a1)
|
||||
/* 022F50 80022350 C4AA0000 */ lwc1 $f10, ($a1)
|
||||
/* 022F54 80022354 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022F58 80022358 00000000 */ nop
|
||||
/* 022F5C 8002235C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022F60 80022360 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022F64 80022364 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022F68 80022368 440F4000 */ mfc1 $t7, $f8
|
||||
/* 022F6C 8002236C 440E9000 */ mfc1 $t6, $f18
|
||||
/* 022F70 80022370 31ECFFFF */ andi $t4, $t7, 0xffff
|
||||
/* 022F74 80022374 000EC400 */ sll $t8, $t6, 0x10
|
||||
/* 022F78 80022378 01984025 */ or $t0, $t4, $t8
|
||||
/* 022F7C 8002237C AC880020 */ sw $t0, 0x20($a0)
|
||||
/* 022F80 80022380 C4A4000C */ lwc1 $f4, 0xc($a1)
|
||||
/* 022F84 80022384 C4AA0008 */ lwc1 $f10, 8($a1)
|
||||
/* 022F88 80022388 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022F8C 8002238C 00000000 */ nop
|
||||
/* 022F90 80022390 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022F94 80022394 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022F98 80022398 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022F9C 8002239C 44094000 */ mfc1 $t1, $f8
|
||||
/* 022FA0 800223A0 440F9000 */ mfc1 $t7, $f18
|
||||
/* 022FA4 800223A4 312DFFFF */ andi $t5, $t1, 0xffff
|
||||
/* 022FA8 800223A8 000FCC00 */ sll $t9, $t7, 0x10
|
||||
/* 022FAC 800223AC 01B97025 */ or $t6, $t5, $t9
|
||||
/* 022FB0 800223B0 AC8E0024 */ sw $t6, 0x24($a0)
|
||||
/* 022FB4 800223B4 C4A40014 */ lwc1 $f4, 0x14($a1)
|
||||
/* 022FB8 800223B8 C4AA0010 */ lwc1 $f10, 0x10($a1)
|
||||
/* 022FBC 800223BC 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022FC0 800223C0 00000000 */ nop
|
||||
/* 022FC4 800223C4 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022FC8 800223C8 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 022FCC 800223CC 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 022FD0 800223D0 44184000 */ mfc1 $t8, $f8
|
||||
/* 022FD4 800223D4 44099000 */ mfc1 $t1, $f18
|
||||
/* 022FD8 800223D8 3308FFFF */ andi $t0, $t8, 0xffff
|
||||
/* 022FDC 800223DC 00095400 */ sll $t2, $t1, 0x10
|
||||
/* 022FE0 800223E0 010A7825 */ or $t7, $t0, $t2
|
||||
/* 022FE4 800223E4 AC8F0028 */ sw $t7, 0x28($a0)
|
||||
/* 022FE8 800223E8 C4A4001C */ lwc1 $f4, 0x1c($a1)
|
||||
/* 022FEC 800223EC C4AA0018 */ lwc1 $f10, 0x18($a1)
|
||||
/* 022FF0 800223F0 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 022FF4 800223F4 00000000 */ nop
|
||||
/* 022FF8 800223F8 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 022FFC 800223FC 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 023000 80022400 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 023004 80022404 44194000 */ mfc1 $t9, $f8
|
||||
/* 023008 80022408 44189000 */ mfc1 $t8, $f18
|
||||
/* 02300C 8002240C 332EFFFF */ andi $t6, $t9, 0xffff
|
||||
/* 023010 80022410 00185C00 */ sll $t3, $t8, 0x10
|
||||
/* 023014 80022414 01CB4825 */ or $t1, $t6, $t3
|
||||
/* 023018 80022418 AC89002C */ sw $t1, 0x2c($a0)
|
||||
/* 02301C 8002241C C4A40024 */ lwc1 $f4, 0x24($a1)
|
||||
/* 023020 80022420 C4AA0020 */ lwc1 $f10, 0x20($a1)
|
||||
/* 023024 80022424 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 023028 80022428 00000000 */ nop
|
||||
/* 02302C 8002242C 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 023030 80022430 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 023034 80022434 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 023038 80022438 440A4000 */ mfc1 $t2, $f8
|
||||
/* 02303C 8002243C 44199000 */ mfc1 $t9, $f18
|
||||
/* 023040 80022440 314FFFFF */ andi $t7, $t2, 0xffff
|
||||
/* 023044 80022444 00196400 */ sll $t4, $t9, 0x10
|
||||
/* 023048 80022448 01ECC025 */ or $t8, $t7, $t4
|
||||
/* 02304C 8002244C AC980030 */ sw $t8, 0x30($a0)
|
||||
/* 023050 80022450 C4A4002C */ lwc1 $f4, 0x2c($a1)
|
||||
/* 023054 80022454 C4AA0028 */ lwc1 $f10, 0x28($a1)
|
||||
/* 023058 80022458 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 02305C 8002245C 00000000 */ nop
|
||||
/* 023060 80022460 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 023064 80022464 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 023068 80022468 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 02306C 8002246C 440B4000 */ mfc1 $t3, $f8
|
||||
/* 023070 80022470 440A9000 */ mfc1 $t2, $f18
|
||||
/* 023074 80022474 3169FFFF */ andi $t1, $t3, 0xffff
|
||||
/* 023078 80022478 000A6C00 */ sll $t5, $t2, 0x10
|
||||
/* 02307C 8002247C 012DC825 */ or $t9, $t1, $t5
|
||||
/* 023080 80022480 AC990034 */ sw $t9, 0x34($a0)
|
||||
/* 023084 80022484 C4A40034 */ lwc1 $f4, 0x34($a1)
|
||||
/* 023088 80022488 C4AA0030 */ lwc1 $f10, 0x30($a1)
|
||||
/* 02308C 8002248C 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 023090 80022490 00000000 */ nop
|
||||
/* 023094 80022494 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 023098 80022498 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 02309C 8002249C 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 0230A0 800224A0 440C4000 */ mfc1 $t4, $f8
|
||||
/* 0230A4 800224A4 440B9000 */ mfc1 $t3, $f18
|
||||
/* 0230A8 800224A8 3198FFFF */ andi $t8, $t4, 0xffff
|
||||
/* 0230AC 800224AC 000B4400 */ sll $t0, $t3, 0x10
|
||||
/* 0230B0 800224B0 03085025 */ or $t2, $t8, $t0
|
||||
/* 0230B4 800224B4 AC8A0038 */ sw $t2, 0x38($a0)
|
||||
/* 0230B8 800224B8 C4A4003C */ lwc1 $f4, 0x3c($a1)
|
||||
/* 0230BC 800224BC C4AA0038 */ lwc1 $f10, 0x38($a1)
|
||||
/* 0230C0 800224C0 46002182 */ mul.s $f6, $f4, $f0
|
||||
/* 0230C4 800224C4 00000000 */ nop
|
||||
/* 0230C8 800224C8 46005402 */ mul.s $f16, $f10, $f0
|
||||
/* 0230CC 800224CC 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 0230D0 800224D0 4600848D */ trunc.w.s $f18, $f16
|
||||
/* 0230D4 800224D4 440D4000 */ mfc1 $t5, $f8
|
||||
/* 0230D8 800224D8 440C9000 */ mfc1 $t4, $f18
|
||||
/* 0230DC 800224DC 31B9FFFF */ andi $t9, $t5, 0xffff
|
||||
/* 0230E0 800224E0 000C7400 */ sll $t6, $t4, 0x10
|
||||
/* 0230E4 800224E4 032E5825 */ or $t3, $t9, $t6
|
||||
/* 0230E8 800224E8 03E00008 */ jr $ra
|
||||
/* 0230EC 800224EC AC8B003C */ sw $t3, 0x3c($a0)
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
#include <macros.h>
|
||||
#include <common_structs.h>
|
||||
#include <defines.h>
|
||||
#include "types.h"
|
||||
#include "variables.h"
|
||||
#include "code_8001F980.h"
|
||||
#include "code_80057C60.h"
|
||||
|
|
@ -877,11 +878,8 @@ void func_80021DA8(void) {
|
|||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
f32 sins(u16); // extern
|
||||
f32 coss(u16); // extern
|
||||
|
||||
void func_80021E10(void *arg0, void *arg1, void *arg2) {
|
||||
//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd
|
||||
void func_80021E10(Mat4 arg0, f32 *arg1, s16 *arg2) {
|
||||
f32 sp38;
|
||||
f32 sp30;
|
||||
f32 sp2C;
|
||||
|
|
@ -892,76 +890,87 @@ void func_80021E10(void *arg0, void *arg1, void *arg2) {
|
|||
f32 temp_f20;
|
||||
f32 temp_f6;
|
||||
|
||||
sp38 = sins(arg2->unk0);
|
||||
temp_f20 = coss(arg2->unk0);
|
||||
sp38 = sins((u16) arg2->unk0);
|
||||
temp_f20 = coss((u16) arg2->unk0);
|
||||
sp30 = sins(arg2->unk2);
|
||||
sp2C = coss(arg2->unk2);
|
||||
sp28 = sins(arg2->unk4);
|
||||
temp_f0 = coss(arg2->unk4);
|
||||
temp_f12 = sp38 * sp30;
|
||||
temp_f6 = temp_f12 * temp_f0;
|
||||
arg0->unk0 = (sp2C * temp_f0) + (temp_f12 * sp28);
|
||||
arg0->unk20 = temp_f20 * sp30;
|
||||
arg0->unk10 = (-sp2C * sp28) + temp_f6;
|
||||
arg0->unk24 = -sp38;
|
||||
arg0[0][0] = (sp2C * temp_f0) + (temp_f12 * sp28);
|
||||
arg0->unk20 = (f32) (temp_f20 * sp30);
|
||||
arg0->unk10 = (f32) ((-sp2C * sp28) + temp_f6);
|
||||
arg0->unk24 = (f32) -sp38;
|
||||
temp_f12_2 = sp38 * sp2C;
|
||||
arg0->unk4 = temp_f20 * sp28;
|
||||
arg0->unk30 = arg1->unk0;
|
||||
arg0->unk14 = temp_f20 * temp_f0;
|
||||
arg0->unk34 = arg1->unk4;
|
||||
arg0->unk8 = (-sp30 * temp_f0) + (temp_f12_2 * sp28);
|
||||
arg0->unk28 = temp_f20 * sp2C;
|
||||
arg0->unk18 = (sp30 * sp28) + (temp_f12_2 * temp_f0);
|
||||
arg0->unkC = 0.0f;
|
||||
arg0[0][1] = temp_f20 * sp28;
|
||||
arg0->unk30 = (f32) arg1->unk0;
|
||||
arg0->unk14 = (f32) (temp_f20 * temp_f0);
|
||||
arg0->unk34 = (f32) arg1->unk4;
|
||||
arg0[0][2] = (-sp30 * temp_f0) + (temp_f12_2 * sp28);
|
||||
arg0->unk28 = (f32) (temp_f20 * sp2C);
|
||||
arg0->unk18 = (f32) ((sp30 * sp28) + (temp_f12_2 * temp_f0));
|
||||
arg0[0][3] = 0.0f;
|
||||
arg0->unk1C = 0.0f;
|
||||
arg0->unk2C = 0.0f;
|
||||
arg0->unk3C = 1.0f;
|
||||
arg0->unk38 = arg1->unk8;
|
||||
arg0->unk38 = (f32) arg1->unk8;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_8001F980/func_80021E10.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80021F84(void *arg0, f32 arg1) {
|
||||
arg0->unk0 = arg0->unk0 * arg1;
|
||||
arg0->unk10 = arg0->unk10 * arg1;
|
||||
arg0->unk20 = arg0->unk20 * arg1;
|
||||
arg0->unk4 = arg0->unk4 * arg1;
|
||||
arg0->unk14 = arg0->unk14 * arg1;
|
||||
arg0->unk24 = arg0->unk24 * arg1;
|
||||
arg0->unk8 = arg0->unk8 * arg1;
|
||||
arg0->unk18 = arg0->unk18 * arg1;
|
||||
arg0->unk28 = arg0->unk28 * arg1;
|
||||
void func_80021F84(Mat4 arg0, f32 arg1) {
|
||||
arg0[0][0] *= arg1;
|
||||
arg0[1][0] *= arg1;
|
||||
arg0[2][0] *= arg1;
|
||||
arg0[0][1] *= arg1;
|
||||
arg0[1][1] *= arg1;
|
||||
arg0[2][1] *= arg1;
|
||||
arg0[0][2] *= arg1;
|
||||
arg0[1][2] *= arg1;
|
||||
arg0[2][2] *= arg1;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_8001F980/func_80021F84.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
void func_80022180(void *arg0, void *arg1) {
|
||||
arg0->unk0 = (((arg1->unk4 * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk0 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unk4 = (((arg1->unkC * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk8 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unk8 = (((arg1->unk14 * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk10 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unkC = (((arg1->unk1C * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk18 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unk10 = (((arg1->unk24 * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk20 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unk14 = (((arg1->unk2C * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk28 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unk18 = (((arg1->unk34 * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk30 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unk1C = (((arg1->unk3C * 65536.0f) >> 0x10) & 0xFFFF) | ((arg1->unk38 * 65536.0f) & 0xFFFF0000);
|
||||
arg0->unk20 = ((arg1->unk4 * 65536.0f) & 0xFFFF) | ((arg1->unk0 * 65536.0f) << 0x10);
|
||||
arg0->unk24 = ((arg1->unkC * 65536.0f) & 0xFFFF) | ((arg1->unk8 * 65536.0f) << 0x10);
|
||||
arg0->unk28 = ((arg1->unk14 * 65536.0f) & 0xFFFF) | ((arg1->unk10 * 65536.0f) << 0x10);
|
||||
arg0->unk2C = ((arg1->unk1C * 65536.0f) & 0xFFFF) | ((arg1->unk18 * 65536.0f) << 0x10);
|
||||
arg0->unk30 = ((arg1->unk24 * 65536.0f) & 0xFFFF) | ((arg1->unk20 * 65536.0f) << 0x10);
|
||||
arg0->unk34 = ((arg1->unk2C * 65536.0f) & 0xFFFF) | ((arg1->unk28 * 65536.0f) << 0x10);
|
||||
arg0->unk38 = ((arg1->unk34 * 65536.0f) & 0xFFFF) | ((arg1->unk30 * 65536.0f) << 0x10);
|
||||
arg0->unk3C = ((arg1->unk3C * 65536.0f) & 0xFFFF) | ((arg1->unk38 * 65536.0f) << 0x10);
|
||||
UNUSED void func_80021FF8(Mtx *arg0, Mat4 arg1) {
|
||||
f32 someMultiplier = 65536.0f;
|
||||
arg0->m[0][0] = arg1[0][0] * someMultiplier;
|
||||
arg0->m[0][1] = arg1[0][1] * someMultiplier;
|
||||
arg0->m[0][2] = arg1[0][2] * someMultiplier;
|
||||
arg0->m[0][3] = arg1[0][3] * someMultiplier;
|
||||
arg0->m[1][0] = arg1[1][0] * someMultiplier;
|
||||
arg0->m[1][1] = arg1[1][1] * someMultiplier;
|
||||
arg0->m[1][2] = arg1[1][2] * someMultiplier;
|
||||
arg0->m[1][3] = arg1[1][3] * someMultiplier;
|
||||
arg0->m[2][0] = arg1[2][0] * someMultiplier;
|
||||
arg0->m[2][1] = arg1[2][1] * someMultiplier;
|
||||
arg0->m[2][2] = arg1[2][2] * someMultiplier;
|
||||
arg0->m[2][3] = arg1[2][3] * someMultiplier;
|
||||
arg0->m[3][0] = arg1[3][0] * someMultiplier;
|
||||
arg0->m[3][1] = arg1[3][1] * someMultiplier;
|
||||
arg0->m[3][2] = arg1[3][2] * someMultiplier;
|
||||
arg0->m[3][3] = arg1[3][3] * someMultiplier;
|
||||
}
|
||||
|
||||
void func_80022180(Mtx *arg0, Mat4 arg1) {
|
||||
f32 someMultiplier = 65536.0f;
|
||||
arg0->m[0][0] = ((s32) (arg1[0][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[0][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[0][1] = ((s32) (arg1[0][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[0][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[0][2] = ((s32) (arg1[1][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[1][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[0][3] = ((s32) (arg1[1][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[1][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[1][0] = ((s32) (arg1[2][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[2][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[1][1] = ((s32) (arg1[2][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[2][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[1][2] = ((s32) (arg1[3][0] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[3][1] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[1][3] = ((s32) (arg1[3][2] * someMultiplier) & 0xFFFF0000) | (((s32) (arg1[3][3] * someMultiplier) >> 0x10) & 0xFFFF);
|
||||
arg0->m[2][0] = ((s32) (arg1[0][0] * someMultiplier) << 0x10) | ((s32) (arg1[0][1] * someMultiplier) & 0xFFFF);
|
||||
arg0->m[2][1] = ((s32) (arg1[0][2] * someMultiplier) << 0x10) | ((s32) (arg1[0][3] * someMultiplier) & 0xFFFF);
|
||||
arg0->m[2][2] = ((s32) (arg1[1][0] * someMultiplier) << 0x10) | ((s32) (arg1[1][1] * someMultiplier) & 0xFFFF);
|
||||
arg0->m[2][3] = ((s32) (arg1[1][2] * someMultiplier) << 0x10) | ((s32) (arg1[1][3] * someMultiplier) & 0xFFFF);
|
||||
arg0->m[3][0] = ((s32) (arg1[2][0] * someMultiplier) << 0x10) | ((s32) (arg1[2][1] * someMultiplier) & 0xFFFF);
|
||||
arg0->m[3][1] = ((s32) (arg1[2][2] * someMultiplier) << 0x10) | ((s32) (arg1[2][3] * someMultiplier) & 0xFFFF);
|
||||
arg0->m[3][2] = ((s32) (arg1[3][0] * someMultiplier) << 0x10) | ((s32) (arg1[3][1] * someMultiplier) & 0xFFFF);
|
||||
arg0->m[3][3] = ((s32) (arg1[3][2] * someMultiplier) << 0x10) | ((s32) (arg1[3][3] * someMultiplier) & 0xFFFF);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/code_8001F980/func_80022180.s")
|
||||
#endif
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef CODE_8001F980_H
|
||||
#define CODE_8001F980_H
|
||||
|
||||
#include "types.h"
|
||||
#include "common_structs.h"
|
||||
|
||||
/* Function Prototypes */
|
||||
|
|
@ -15,6 +16,9 @@ void func_800219BC();
|
|||
void func_80021C78();
|
||||
void func_80021D40();
|
||||
void func_80021DA8();
|
||||
void func_80021F84(Mat4, f32);
|
||||
void func_80021FF8(Mtx*, Mat4);
|
||||
void func_80022180(Mtx*, Mat4);
|
||||
void move_s32_towards(s32*, s32, f32);
|
||||
void move_f32_towards(f32*, f32, f32);
|
||||
void move_s16_towards(s16*, s16, f32);
|
||||
|
|
|
|||
Loading…
Reference in New Issue