From bcf65f3883c6982211c39b0f687cf1462cbacd02 Mon Sep 17 00:00:00 2001 From: MegaMech Date: Thu, 19 May 2022 02:39:18 -0600 Subject: [PATCH] import random_u16 to sm64, match random_s32, and match actor func (#203) * import random_u16 and atans from sm64 * rand math decomp * Match func_80298AC0 --- .../code_80005FD0/func_80015390.s | 4 +- .../code_80005FD0/func_8001577C.s | 4 +- .../code_80005FD0/func_80015C94.s | 4 +- .../code_80005FD0/func_80016494.s | 4 +- .../code_80005FD0/func_80017054.s | 4 +- .../code_80005FD0/func_800178F4.s | 4 +- .../code_80005FD0/func_800180F0.s | 4 +- .../code_80005FD0/func_800188F4.s | 4 +- .../code_80005FD0/func_8001933C.s | 4 +- .../code_80005FD0/func_80019760.s | 4 +- .../code_8001C4D0/func_8001E0C4.s | 4 +- .../code_8001C4D0/func_8001E45C.s | 4 +- .../code_8001C4D0/func_8001E8E8.s | 4 +- .../code_8001C4D0/func_8001EA0C.s | 4 +- .../code_80027D00/func_8002934C.s | 2 +- .../code_80027D00/func_8002AE38.s | 8 +- .../code_80027D00/func_8002B8A4.s | 182 +- .../code_80057C60/func_80063FBC.s | 236 +-- .../code_80071F00/func_80073570.s | 44 +- .../code_80071F00/func_8007C420.s | 2 +- .../code_80071F00/func_8007C550.s | 2 +- .../code_80071F00/func_8007CE0C.s | 2 +- .../code_80086E70/func_800872D8.s | 2 +- .../code_80086E70/func_80087324.s | 2 +- .../code_80086E70/func_80087368.s | 2 +- .../code_80086E70/func_80087A0C.s | 2 +- .../code_80086E70/func_80088178.s | 2 +- .../code_80086E70/func_80088538.s | 4 +- .../code_80086E70/func_800886F4.s | 4 +- .../code_80086E70/func_8008A0B4.s | 2 +- .../code_8008C1D0/code_8008C1D0.s | 4 +- .../code_8008C1D0/func_8008C9EC.s | 534 +++--- .../code_8008C1D0/func_8008CEB0.s | 298 +-- .../code_8008C1D0/func_8008D170.s | 306 +-- .../code_8008C1D0/func_8008FF08.s | 372 ++-- .../code_8008C1D0/func_80090178.s | 794 ++++---- .../code_8008C1D0/func_80090970.s | 1008 +++++----- .../code_8008C1D0/func_800910E4.s | 128 +- .../code_8008C1D0/func_80091298.s | 228 +-- .../code_8008C1D0/func_800914E0.s | 318 +-- .../code_80091750/func_8009A9FC.s | 202 +- .../code_80091750/func_8009AB7C.s | 258 +-- .../code_80091750/func_8009AD78.s | 414 ++-- .../code_800AF9B0/func_800B4560.s | 66 +- .../code_800AF9B0/func_800B6AF8.s | 126 +- .../code_80281FA0/func_80282454.s | 4 +- .../crash_screen/crash_screen_draw_info.s | 292 +-- .../crash_screen/crash_screen_draw_square.s | 200 +- .../crash_screen/thread9_crash_screen.s | 202 +- asm/non_matchings/math_util/func_802B5564.s | 296 +-- asm/non_matchings/math_util/func_802B5794.s | 294 +-- asm/non_matchings/math_util/func_802B59DC.s | 54 +- asm/non_matchings/math_util/func_802B5A44.s | 54 +- asm/non_matchings/math_util/func_802B5AAC.s | 54 +- asm/non_matchings/math_util/func_802B5B14.s | 206 +- asm/non_matchings/math_util/func_802B5CAC.s | 68 +- asm/non_matchings/math_util/func_802B5D30.s | 28 +- asm/non_matchings/math_util/func_802B5D64.s | 216 +-- asm/non_matchings/math_util/func_802B5F74.s | 162 +- asm/non_matchings/math_util/func_802B60B4.s | 178 +- asm/non_matchings/math_util/func_802B6214.s | 178 +- asm/non_matchings/math_util/func_802B6374.s | 36 +- asm/non_matchings/math_util/func_802B63B8.s | 64 +- asm/non_matchings/math_util/func_802B6434.s | 64 +- asm/non_matchings/math_util/func_802B64B0.s | 12 +- asm/non_matchings/math_util/func_802B64C4.s | 64 +- asm/non_matchings/math_util/func_802B6540.s | 498 ++--- asm/non_matchings/math_util/func_802B68F8.s | 220 +-- asm/non_matchings/math_util/func_802B6A84.s | 160 +- asm/non_matchings/math_util/func_802B6BC0.s | 210 +- asm/non_matchings/math_util/func_802B6D58.s | 608 +++--- asm/non_matchings/math_util/func_802B75F8.s | 210 +- asm/non_matchings/math_util/func_802B7790.s | 47 - asm/non_matchings/math_util/func_802B7830.s | 107 -- asm/non_matchings/math_util/func_802B79B8.s | 16 - asm/non_matchings/math_util/func_802B79F0.s | 196 +- asm/non_matchings/math_util/func_802B7B50.s | 54 - asm/non_matchings/math_util/func_802B7C18.s | 11 - asm/non_matchings/math_util/func_802B7C40.s | 12 - asm/non_matchings/math_util/func_802B7C6C.s | 16 - asm/non_matchings/math_util/func_802B7CA8.s | 17 - asm/non_matchings/math_util/func_802B7CE8.s | 17 - asm/non_matchings/math_util/func_802B7D28.s | 28 - asm/non_matchings/math_util/func_802B7F34.s | 19 - asm/non_matchings/math_util/func_802B7F7C.s | 80 +- asm/non_matchings/math_util/func_802B8058.s | 76 +- asm/non_matchings/math_util/func_802B80D0.s | 454 ++--- asm/non_matchings/math_util/func_802B8414.s | 266 +-- asm/non_matchings/math_util/func_802B8614.s | 192 +- asm/non_matchings/math_util/random_int.s | 70 - asm/non_matchings/math_util/random_u16.s | 45 - data/data_121DA0_2_2.s | 8 +- data/data_credits_128480_1.s | 1698 ++++++++--------- include/actor_types.h | 8 + include/functions.h | 2 +- mk64.ld | 1 + src/code_80005FD0.c | 60 +- src/code_80005FD0.h | 30 +- src/code_8001C4D0.c | 24 +- src/code_80027D00.c | 14 +- src/code_80040E50.c | 12 +- src/code_80071F00.c | 12 +- src/code_80086E70.c | 36 +- src/code_8008C1D0.c | 6 +- src/code_80280000.c | 6 +- src/code_80281610.c | 6 +- src/code_80281FA0.c | 6 +- src/code_80296A50.c | 71 +- src/framebuffers.c | 4 +- src/framebuffers.h | 2 +- src/math_util.c | 286 +-- src/math_util.h | 3 +- 112 files changed, 6847 insertions(+), 7413 deletions(-) delete mode 100644 asm/non_matchings/math_util/func_802B7790.s delete mode 100644 asm/non_matchings/math_util/func_802B7830.s delete mode 100644 asm/non_matchings/math_util/func_802B79B8.s delete mode 100644 asm/non_matchings/math_util/func_802B7B50.s delete mode 100644 asm/non_matchings/math_util/func_802B7C18.s delete mode 100644 asm/non_matchings/math_util/func_802B7C40.s delete mode 100644 asm/non_matchings/math_util/func_802B7C6C.s delete mode 100644 asm/non_matchings/math_util/func_802B7CA8.s delete mode 100644 asm/non_matchings/math_util/func_802B7CE8.s delete mode 100644 asm/non_matchings/math_util/func_802B7D28.s delete mode 100644 asm/non_matchings/math_util/func_802B7F34.s delete mode 100644 asm/non_matchings/math_util/random_int.s delete mode 100644 asm/non_matchings/math_util/random_u16.s diff --git a/asm/non_matchings/code_80005FD0/func_80015390.s b/asm/non_matchings/code_80005FD0/func_80015390.s index b05976eed..cce02d2b0 100644 --- a/asm/non_matchings/code_80005FD0/func_80015390.s +++ b/asm/non_matchings/code_80005FD0/func_80015390.s @@ -94,7 +94,7 @@ glabel func_80015390 /* 0160E8 800154E8 C6040014 */ lwc1 $f4, 0x14($s0) /* 0160EC 800154EC E7AC0094 */ swc1 $f12, 0x94($sp) /* 0160F0 800154F0 46062381 */ sub.s $f14, $f4, $f6 -/* 0160F4 800154F4 0C0ADE0C */ jal func_802B7830 +/* 0160F4 800154F4 0C0ADE0C */ jal atan2s /* 0160F8 800154F8 E7AE008C */ swc1 $f14, 0x8c($sp) /* 0160FC 800154FC C7A00094 */ lwc1 $f0, 0x94($sp) /* 016100 80015500 C7AE008C */ lwc1 $f14, 0x8c($sp) @@ -105,7 +105,7 @@ glabel func_80015390 /* 016114 80015514 0C033850 */ jal sqrtf /* 016118 80015518 460A4300 */ add.s $f12, $f8, $f10 /* 01611C 8001551C 46000306 */ mov.s $f12, $f0 -/* 016120 80015520 0C0ADE0C */ jal func_802B7830 +/* 016120 80015520 0C0ADE0C */ jal atan2s /* 016124 80015524 C7AE0090 */ lwc1 $f14, 0x90($sp) /* 016128 80015528 A6020024 */ sh $v0, 0x24($s0) /* 01612C 8001552C A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_8001577C.s b/asm/non_matchings/code_80005FD0/func_8001577C.s index 7ca35b458..1ad32f124 100644 --- a/asm/non_matchings/code_80005FD0/func_8001577C.s +++ b/asm/non_matchings/code_80005FD0/func_8001577C.s @@ -181,7 +181,7 @@ glabel func_8001577C /* 01663C 80015A3C C6060014 */ lwc1 $f6, 0x14($s0) /* 016640 80015A40 E7AC0084 */ swc1 $f12, 0x84($sp) /* 016644 80015A44 46043381 */ sub.s $f14, $f6, $f4 -/* 016648 80015A48 0C0ADE0C */ jal func_802B7830 +/* 016648 80015A48 0C0ADE0C */ jal atan2s /* 01664C 80015A4C E7AE007C */ swc1 $f14, 0x7c($sp) /* 016650 80015A50 C7A00084 */ lwc1 $f0, 0x84($sp) /* 016654 80015A54 C7AE007C */ lwc1 $f14, 0x7c($sp) @@ -192,7 +192,7 @@ glabel func_8001577C /* 016668 80015A68 0C033850 */ jal sqrtf /* 01666C 80015A6C 460A4300 */ add.s $f12, $f8, $f10 /* 016670 80015A70 46000306 */ mov.s $f12, $f0 -/* 016674 80015A74 0C0ADE0C */ jal func_802B7830 +/* 016674 80015A74 0C0ADE0C */ jal atan2s /* 016678 80015A78 C7AE0080 */ lwc1 $f14, 0x80($sp) /* 01667C 80015A7C A6020024 */ sh $v0, 0x24($s0) /* 016680 80015A80 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_80015C94.s b/asm/non_matchings/code_80005FD0/func_80015C94.s index 8d00b38aa..0dde7f1d0 100644 --- a/asm/non_matchings/code_80005FD0/func_80015C94.s +++ b/asm/non_matchings/code_80005FD0/func_80015C94.s @@ -390,7 +390,7 @@ glabel func_80015C94 /* 016E70 80016270 C6040008 */ lwc1 $f4, 8($s0) /* 016E74 80016274 C6080014 */ lwc1 $f8, 0x14($s0) /* 016E78 80016278 46044381 */ sub.s $f14, $f8, $f4 -/* 016E7C 8001627C 0C0ADE0C */ jal func_802B7830 +/* 016E7C 8001627C 0C0ADE0C */ jal atan2s /* 016E80 80016280 E7AE00A4 */ swc1 $f14, 0xa4($sp) /* 016E84 80016284 4614A182 */ mul.s $f6, $f20, $f20 /* 016E88 80016288 C7AE00A4 */ lwc1 $f14, 0xa4($sp) @@ -399,7 +399,7 @@ glabel func_80015C94 /* 016E94 80016294 0C033850 */ jal sqrtf /* 016E98 80016298 460A3300 */ add.s $f12, $f6, $f10 /* 016E9C 8001629C 46000306 */ mov.s $f12, $f0 -/* 016EA0 800162A0 0C0ADE0C */ jal func_802B7830 +/* 016EA0 800162A0 0C0ADE0C */ jal atan2s /* 016EA4 800162A4 C7AE00A8 */ lwc1 $f14, 0xa8($sp) /* 016EA8 800162A8 A6020024 */ sh $v0, 0x24($s0) /* 016EAC 800162AC A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_80016494.s b/asm/non_matchings/code_80005FD0/func_80016494.s index 5aaeac7b6..93ef731f0 100644 --- a/asm/non_matchings/code_80005FD0/func_80016494.s +++ b/asm/non_matchings/code_80005FD0/func_80016494.s @@ -487,7 +487,7 @@ glabel func_80016494 /* 0177E0 80016BE0 C6060014 */ lwc1 $f6, 0x14($s0) /* 0177E4 80016BE4 E7AC00AC */ swc1 $f12, 0xac($sp) /* 0177E8 80016BE8 46083381 */ sub.s $f14, $f6, $f8 -/* 0177EC 80016BEC 0C0ADE0C */ jal func_802B7830 +/* 0177EC 80016BEC 0C0ADE0C */ jal atan2s /* 0177F0 80016BF0 E7AE00A4 */ swc1 $f14, 0xa4($sp) /* 0177F4 80016BF4 C7A000AC */ lwc1 $f0, 0xac($sp) /* 0177F8 80016BF8 C7AE00A4 */ lwc1 $f14, 0xa4($sp) @@ -498,7 +498,7 @@ glabel func_80016494 /* 01780C 80016C0C 0C033850 */ jal sqrtf /* 017810 80016C10 460A2300 */ add.s $f12, $f4, $f10 /* 017814 80016C14 46000306 */ mov.s $f12, $f0 -/* 017818 80016C18 0C0ADE0C */ jal func_802B7830 +/* 017818 80016C18 0C0ADE0C */ jal atan2s /* 01781C 80016C1C C7AE00A8 */ lwc1 $f14, 0xa8($sp) /* 017820 80016C20 A6020024 */ sh $v0, 0x24($s0) /* 017824 80016C24 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_80017054.s b/asm/non_matchings/code_80005FD0/func_80017054.s index 952411c65..69d0372a4 100644 --- a/asm/non_matchings/code_80005FD0/func_80017054.s +++ b/asm/non_matchings/code_80005FD0/func_80017054.s @@ -431,7 +431,7 @@ glabel func_80017054 /* 0182C4 800176C4 C60A0014 */ lwc1 $f10, 0x14($s0) /* 0182C8 800176C8 E7AC00AC */ swc1 $f12, 0xac($sp) /* 0182CC 800176CC 46065381 */ sub.s $f14, $f10, $f6 -/* 0182D0 800176D0 0C0ADE0C */ jal func_802B7830 +/* 0182D0 800176D0 0C0ADE0C */ jal atan2s /* 0182D4 800176D4 E7AE00A4 */ swc1 $f14, 0xa4($sp) /* 0182D8 800176D8 C7A000AC */ lwc1 $f0, 0xac($sp) /* 0182DC 800176DC C7AE00A4 */ lwc1 $f14, 0xa4($sp) @@ -442,7 +442,7 @@ glabel func_80017054 /* 0182F0 800176F0 0C033850 */ jal sqrtf /* 0182F4 800176F4 46044300 */ add.s $f12, $f8, $f4 /* 0182F8 800176F8 46000306 */ mov.s $f12, $f0 -/* 0182FC 800176FC 0C0ADE0C */ jal func_802B7830 +/* 0182FC 800176FC 0C0ADE0C */ jal atan2s /* 018300 80017700 C7AE00A8 */ lwc1 $f14, 0xa8($sp) /* 018304 80017704 A6020024 */ sh $v0, 0x24($s0) /* 018308 80017708 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_800178F4.s b/asm/non_matchings/code_80005FD0/func_800178F4.s index 6275c4a7a..dda82b823 100644 --- a/asm/non_matchings/code_80005FD0/func_800178F4.s +++ b/asm/non_matchings/code_80005FD0/func_800178F4.s @@ -386,7 +386,7 @@ glabel func_800178F4 /* 018AB4 80017EB4 C60A0014 */ lwc1 $f10, 0x14($s0) /* 018AB8 80017EB8 E7AC0094 */ swc1 $f12, 0x94($sp) /* 018ABC 80017EBC 46045381 */ sub.s $f14, $f10, $f4 -/* 018AC0 80017EC0 0C0ADE0C */ jal func_802B7830 +/* 018AC0 80017EC0 0C0ADE0C */ jal atan2s /* 018AC4 80017EC4 E7AE008C */ swc1 $f14, 0x8c($sp) /* 018AC8 80017EC8 C7A00094 */ lwc1 $f0, 0x94($sp) /* 018ACC 80017ECC C7AE008C */ lwc1 $f14, 0x8c($sp) @@ -397,7 +397,7 @@ glabel func_800178F4 /* 018AE0 80017EE0 0C033850 */ jal sqrtf /* 018AE4 80017EE4 46083300 */ add.s $f12, $f6, $f8 /* 018AE8 80017EE8 46000306 */ mov.s $f12, $f0 -/* 018AEC 80017EEC 0C0ADE0C */ jal func_802B7830 +/* 018AEC 80017EEC 0C0ADE0C */ jal atan2s /* 018AF0 80017EF0 C7AE0090 */ lwc1 $f14, 0x90($sp) /* 018AF4 80017EF4 A6020024 */ sh $v0, 0x24($s0) /* 018AF8 80017EF8 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_800180F0.s b/asm/non_matchings/code_80005FD0/func_800180F0.s index 0ee77cdd6..babbf7bd2 100644 --- a/asm/non_matchings/code_80005FD0/func_800180F0.s +++ b/asm/non_matchings/code_80005FD0/func_800180F0.s @@ -389,7 +389,7 @@ glabel func_800180F0 /* 0192BC 800186BC C6040014 */ lwc1 $f4, 0x14($s0) /* 0192C0 800186C0 E7AC0094 */ swc1 $f12, 0x94($sp) /* 0192C4 800186C4 46062381 */ sub.s $f14, $f4, $f6 -/* 0192C8 800186C8 0C0ADE0C */ jal func_802B7830 +/* 0192C8 800186C8 0C0ADE0C */ jal atan2s /* 0192CC 800186CC E7AE008C */ swc1 $f14, 0x8c($sp) /* 0192D0 800186D0 C7A00094 */ lwc1 $f0, 0x94($sp) /* 0192D4 800186D4 C7AE008C */ lwc1 $f14, 0x8c($sp) @@ -400,7 +400,7 @@ glabel func_800180F0 /* 0192E8 800186E8 0C033850 */ jal sqrtf /* 0192EC 800186EC 460A4300 */ add.s $f12, $f8, $f10 /* 0192F0 800186F0 46000306 */ mov.s $f12, $f0 -/* 0192F4 800186F4 0C0ADE0C */ jal func_802B7830 +/* 0192F4 800186F4 0C0ADE0C */ jal atan2s /* 0192F8 800186F8 C7AE0090 */ lwc1 $f14, 0x90($sp) /* 0192FC 800186FC A6020024 */ sh $v0, 0x24($s0) /* 019300 80018700 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_800188F4.s b/asm/non_matchings/code_80005FD0/func_800188F4.s index e5a0b3831..42e816775 100644 --- a/asm/non_matchings/code_80005FD0/func_800188F4.s +++ b/asm/non_matchings/code_80005FD0/func_800188F4.s @@ -523,7 +523,7 @@ glabel func_800188F4 /* 019CBC 800190BC C6040014 */ lwc1 $f4, 0x14($s0) /* 019CC0 800190C0 E7AC00AC */ swc1 $f12, 0xac($sp) /* 019CC4 800190C4 46062381 */ sub.s $f14, $f4, $f6 -/* 019CC8 800190C8 0C0ADE0C */ jal func_802B7830 +/* 019CC8 800190C8 0C0ADE0C */ jal atan2s /* 019CCC 800190CC E7AE00A4 */ swc1 $f14, 0xa4($sp) /* 019CD0 800190D0 C7A000AC */ lwc1 $f0, 0xac($sp) /* 019CD4 800190D4 C7AE00A4 */ lwc1 $f14, 0xa4($sp) @@ -534,7 +534,7 @@ glabel func_800188F4 /* 019CE8 800190E8 0C033850 */ jal sqrtf /* 019CEC 800190EC 460A4300 */ add.s $f12, $f8, $f10 /* 019CF0 800190F0 46000306 */ mov.s $f12, $f0 -/* 019CF4 800190F4 0C0ADE0C */ jal func_802B7830 +/* 019CF4 800190F4 0C0ADE0C */ jal atan2s /* 019CF8 800190F8 C7AE00A8 */ lwc1 $f14, 0xa8($sp) /* 019CFC 800190FC A6020024 */ sh $v0, 0x24($s0) /* 019D00 80019100 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_8001933C.s b/asm/non_matchings/code_80005FD0/func_8001933C.s index 799b770b7..e9706488a 100644 --- a/asm/non_matchings/code_80005FD0/func_8001933C.s +++ b/asm/non_matchings/code_80005FD0/func_8001933C.s @@ -193,7 +193,7 @@ glabel func_8001933C /* 01A22C 8001962C C6080014 */ lwc1 $f8, 0x14($s0) /* 01A230 80019630 E7AC008C */ swc1 $f12, 0x8c($sp) /* 01A234 80019634 460A4381 */ sub.s $f14, $f8, $f10 -/* 01A238 80019638 0C0ADE0C */ jal func_802B7830 +/* 01A238 80019638 0C0ADE0C */ jal atan2s /* 01A23C 8001963C E7AE0084 */ swc1 $f14, 0x84($sp) /* 01A240 80019640 C7A0008C */ lwc1 $f0, 0x8c($sp) /* 01A244 80019644 C7AE0084 */ lwc1 $f14, 0x84($sp) @@ -204,7 +204,7 @@ glabel func_8001933C /* 01A258 80019658 0C033850 */ jal sqrtf /* 01A25C 8001965C 46109300 */ add.s $f12, $f18, $f16 /* 01A260 80019660 46000306 */ mov.s $f12, $f0 -/* 01A264 80019664 0C0ADE0C */ jal func_802B7830 +/* 01A264 80019664 0C0ADE0C */ jal atan2s /* 01A268 80019668 C7AE0088 */ lwc1 $f14, 0x88($sp) /* 01A26C 8001966C A6020024 */ sh $v0, 0x24($s0) /* 01A270 80019670 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80005FD0/func_80019760.s b/asm/non_matchings/code_80005FD0/func_80019760.s index 988bcaad4..105380542 100644 --- a/asm/non_matchings/code_80005FD0/func_80019760.s +++ b/asm/non_matchings/code_80005FD0/func_80019760.s @@ -55,7 +55,7 @@ glabel func_80019760 /* 01A434 80019834 C6080014 */ lwc1 $f8, 0x14($s0) /* 01A438 80019838 E7AC002C */ swc1 $f12, 0x2c($sp) /* 01A43C 8001983C 460A4381 */ sub.s $f14, $f8, $f10 -/* 01A440 80019840 0C0ADE0C */ jal func_802B7830 +/* 01A440 80019840 0C0ADE0C */ jal atan2s /* 01A444 80019844 E7AE0024 */ swc1 $f14, 0x24($sp) /* 01A448 80019848 C7A0002C */ lwc1 $f0, 0x2c($sp) /* 01A44C 8001984C C7AE0024 */ lwc1 $f14, 0x24($sp) @@ -66,7 +66,7 @@ glabel func_80019760 /* 01A460 80019860 0C033850 */ jal sqrtf /* 01A464 80019864 46128300 */ add.s $f12, $f16, $f18 /* 01A468 80019868 46000306 */ mov.s $f12, $f0 -/* 01A46C 8001986C 0C0ADE0C */ jal func_802B7830 +/* 01A46C 8001986C 0C0ADE0C */ jal atan2s /* 01A470 80019870 C7AE0028 */ lwc1 $f14, 0x28($sp) /* 01A474 80019874 A6020024 */ sh $v0, 0x24($s0) /* 01A478 80019878 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_8001C4D0/func_8001E0C4.s b/asm/non_matchings/code_8001C4D0/func_8001E0C4.s index ee312e018..d133d696d 100644 --- a/asm/non_matchings/code_8001C4D0/func_8001E0C4.s +++ b/asm/non_matchings/code_8001C4D0/func_8001E0C4.s @@ -216,7 +216,7 @@ glabel func_8001E0C4 /* 01F000 8001E400 C6080014 */ lwc1 $f8, 0x14($s0) /* 01F004 8001E404 E7AC0084 */ swc1 $f12, 0x84($sp) /* 01F008 8001E408 46124381 */ sub.s $f14, $f8, $f18 -/* 01F00C 8001E40C 0C0ADE0C */ jal func_802B7830 +/* 01F00C 8001E40C 0C0ADE0C */ jal atan2s /* 01F010 8001E410 E7AE007C */ swc1 $f14, 0x7c($sp) /* 01F014 8001E414 C7A00084 */ lwc1 $f0, 0x84($sp) /* 01F018 8001E418 C7AE007C */ lwc1 $f14, 0x7c($sp) @@ -227,7 +227,7 @@ glabel func_8001E0C4 /* 01F02C 8001E42C 0C033850 */ jal sqrtf /* 01F030 8001E430 46062300 */ add.s $f12, $f4, $f6 /* 01F034 8001E434 46000306 */ mov.s $f12, $f0 -/* 01F038 8001E438 0C0ADE0C */ jal func_802B7830 +/* 01F038 8001E438 0C0ADE0C */ jal atan2s /* 01F03C 8001E43C C7AE0080 */ lwc1 $f14, 0x80($sp) /* 01F040 8001E440 A6020024 */ sh $v0, 0x24($s0) /* 01F044 8001E444 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_8001C4D0/func_8001E45C.s b/asm/non_matchings/code_8001C4D0/func_8001E45C.s index 27333b31f..c9f8b1c5b 100644 --- a/asm/non_matchings/code_8001C4D0/func_8001E45C.s +++ b/asm/non_matchings/code_8001C4D0/func_8001E45C.s @@ -298,7 +298,7 @@ glabel func_8001E45C /* 01F48C 8001E88C C60A0014 */ lwc1 $f10, 0x14($s0) /* 01F490 8001E890 E7AC0094 */ swc1 $f12, 0x94($sp) /* 01F494 8001E894 46105381 */ sub.s $f14, $f10, $f16 -/* 01F498 8001E898 0C0ADE0C */ jal func_802B7830 +/* 01F498 8001E898 0C0ADE0C */ jal atan2s /* 01F49C 8001E89C E7AE008C */ swc1 $f14, 0x8c($sp) /* 01F4A0 8001E8A0 C7A00094 */ lwc1 $f0, 0x94($sp) /* 01F4A4 8001E8A4 C7AE008C */ lwc1 $f14, 0x8c($sp) @@ -309,7 +309,7 @@ glabel func_8001E45C /* 01F4B8 8001E8B8 0C033850 */ jal sqrtf /* 01F4BC 8001E8BC 46049300 */ add.s $f12, $f18, $f4 /* 01F4C0 8001E8C0 46000306 */ mov.s $f12, $f0 -/* 01F4C4 8001E8C4 0C0ADE0C */ jal func_802B7830 +/* 01F4C4 8001E8C4 0C0ADE0C */ jal atan2s /* 01F4C8 8001E8C8 C7AE0090 */ lwc1 $f14, 0x90($sp) /* 01F4CC 8001E8CC A6020024 */ sh $v0, 0x24($s0) /* 01F4D0 8001E8D0 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_8001C4D0/func_8001E8E8.s b/asm/non_matchings/code_8001C4D0/func_8001E8E8.s index 3173c25ec..d036be66f 100644 --- a/asm/non_matchings/code_8001C4D0/func_8001E8E8.s +++ b/asm/non_matchings/code_8001C4D0/func_8001E8E8.s @@ -52,7 +52,7 @@ glabel func_8001E8E8 /* 01F5B0 8001E9B0 C6040014 */ lwc1 $f4, 0x14($s0) /* 01F5B4 8001E9B4 E7AC008C */ swc1 $f12, 0x8c($sp) /* 01F5B8 8001E9B8 46062381 */ sub.s $f14, $f4, $f6 -/* 01F5BC 8001E9BC 0C0ADE0C */ jal func_802B7830 +/* 01F5BC 8001E9BC 0C0ADE0C */ jal atan2s /* 01F5C0 8001E9C0 E7AE0084 */ swc1 $f14, 0x84($sp) /* 01F5C4 8001E9C4 C7A0008C */ lwc1 $f0, 0x8c($sp) /* 01F5C8 8001E9C8 C7AE0084 */ lwc1 $f14, 0x84($sp) @@ -63,7 +63,7 @@ glabel func_8001E8E8 /* 01F5DC 8001E9DC 0C033850 */ jal sqrtf /* 01F5E0 8001E9E0 460A4300 */ add.s $f12, $f8, $f10 /* 01F5E4 8001E9E4 46000306 */ mov.s $f12, $f0 -/* 01F5E8 8001E9E8 0C0ADE0C */ jal func_802B7830 +/* 01F5E8 8001E9E8 0C0ADE0C */ jal atan2s /* 01F5EC 8001E9EC C7AE0088 */ lwc1 $f14, 0x88($sp) /* 01F5F0 8001E9F0 A6020024 */ sh $v0, 0x24($s0) /* 01F5F4 8001E9F4 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_8001C4D0/func_8001EA0C.s b/asm/non_matchings/code_8001C4D0/func_8001EA0C.s index eafee3858..78389befb 100644 --- a/asm/non_matchings/code_8001C4D0/func_8001EA0C.s +++ b/asm/non_matchings/code_8001C4D0/func_8001EA0C.s @@ -298,7 +298,7 @@ glabel func_8001EA0C /* 01FA3C 8001EE3C C60A0014 */ lwc1 $f10, 0x14($s0) /* 01FA40 8001EE40 E7AC0094 */ swc1 $f12, 0x94($sp) /* 01FA44 8001EE44 46105381 */ sub.s $f14, $f10, $f16 -/* 01FA48 8001EE48 0C0ADE0C */ jal func_802B7830 +/* 01FA48 8001EE48 0C0ADE0C */ jal atan2s /* 01FA4C 8001EE4C E7AE008C */ swc1 $f14, 0x8c($sp) /* 01FA50 8001EE50 C7A00094 */ lwc1 $f0, 0x94($sp) /* 01FA54 8001EE54 C7AE008C */ lwc1 $f14, 0x8c($sp) @@ -309,7 +309,7 @@ glabel func_8001EA0C /* 01FA68 8001EE68 0C033850 */ jal sqrtf /* 01FA6C 8001EE6C 46049300 */ add.s $f12, $f18, $f4 /* 01FA70 8001EE70 46000306 */ mov.s $f12, $f0 -/* 01FA74 8001EE74 0C0ADE0C */ jal func_802B7830 +/* 01FA74 8001EE74 0C0ADE0C */ jal atan2s /* 01FA78 8001EE78 C7AE0090 */ lwc1 $f14, 0x90($sp) /* 01FA7C 8001EE7C A6020024 */ sh $v0, 0x24($s0) /* 01FA80 8001EE80 A6000028 */ sh $zero, 0x28($s0) diff --git a/asm/non_matchings/code_80027D00/func_8002934C.s b/asm/non_matchings/code_80027D00/func_8002934C.s index bf7cc06ef..75c4e2f28 100644 --- a/asm/non_matchings/code_80027D00/func_8002934C.s +++ b/asm/non_matchings/code_80027D00/func_8002934C.s @@ -10,7 +10,7 @@ glabel func_8002934C /* 029F6C 8002936C C4A80008 */ lwc1 $f8, 8($a1) /* 029F70 80029370 46109301 */ sub.s $f12, $f18, $f16 /* 029F74 80029374 00808025 */ move $s0, $a0 -/* 029F78 80029378 0C0ADE0C */ jal func_802B7830 +/* 029F78 80029378 0C0ADE0C */ jal atan2s /* 029F7C 8002937C 46085381 */ sub.s $f14, $f10, $f8 /* 029F80 80029380 83AE006B */ lb $t6, 0x6b($sp) /* 029F84 80029384 000E7840 */ sll $t7, $t6, 1 diff --git a/asm/non_matchings/code_80027D00/func_8002AE38.s b/asm/non_matchings/code_80027D00/func_8002AE38.s index 816b60a54..42815bb0b 100644 --- a/asm/non_matchings/code_80027D00/func_8002AE38.s +++ b/asm/non_matchings/code_80027D00/func_8002AE38.s @@ -141,7 +141,7 @@ glabel func_8002AE38 /* 02BC48 8002B048 AFA60040 */ sw $a2, 0x40($sp) /* 02BC4C 8002B04C E7B00024 */ swc1 $f16, 0x24($sp) /* 02BC50 8002B050 46045301 */ sub.s $f12, $f10, $f4 -/* 02BC54 8002B054 0C0ADE0C */ jal func_802B7830 +/* 02BC54 8002B054 0C0ADE0C */ jal atan2s /* 02BC58 8002B058 46069381 */ sub.s $f14, $f18, $f6 /* 02BC5C 8002B05C C7B00024 */ lwc1 $f16, 0x24($sp) /* 02BC60 8002B060 C7A80048 */ lwc1 $f8, 0x48($sp) @@ -149,7 +149,7 @@ glabel func_8002AE38 /* 02BC68 8002B068 C7A4004C */ lwc1 $f4, 0x4c($sp) /* 02BC6C 8002B06C A7A2001A */ sh $v0, 0x1a($sp) /* 02BC70 8002B070 460A4301 */ sub.s $f12, $f8, $f10 -/* 02BC74 8002B074 0C0ADE0C */ jal func_802B7830 +/* 02BC74 8002B074 0C0ADE0C */ jal atan2s /* 02BC78 8002B078 46102381 */ sub.s $f14, $f4, $f16 /* 02BC7C 8002B07C 97AA001A */ lhu $t2, 0x1a($sp) /* 02BC80 8002B080 8FA60040 */ lw $a2, 0x40($sp) @@ -163,7 +163,7 @@ glabel func_8002AE38 /* 02BC98 8002B098 A7A4002E */ sh $a0, 0x2e($sp) /* 02BC9C 8002B09C AFA60040 */ sw $a2, 0x40($sp) /* 02BCA0 8002B0A0 460A9381 */ sub.s $f14, $f18, $f10 -/* 02BCA4 8002B0A4 0C0ADE0C */ jal func_802B7830 +/* 02BCA4 8002B0A4 0C0ADE0C */ jal atan2s /* 02BCA8 8002B0A8 E7B00024 */ swc1 $f16, 0x24($sp) /* 02BCAC 8002B0AC C7B00024 */ lwc1 $f16, 0x24($sp) /* 02BCB0 8002B0B0 C7A40048 */ lwc1 $f4, 0x48($sp) @@ -171,7 +171,7 @@ glabel func_8002AE38 /* 02BCB8 8002B0B8 C7A8004C */ lwc1 $f8, 0x4c($sp) /* 02BCBC 8002B0BC A7A2001A */ sh $v0, 0x1a($sp) /* 02BCC0 8002B0C0 46062301 */ sub.s $f12, $f4, $f6 -/* 02BCC4 8002B0C4 0C0ADE0C */ jal func_802B7830 +/* 02BCC4 8002B0C4 0C0ADE0C */ jal atan2s /* 02BCC8 8002B0C8 46104381 */ sub.s $f14, $f8, $f16 /* 02BCCC 8002B0CC 97AC001A */ lhu $t4, 0x1a($sp) /* 02BCD0 8002B0D0 8FA60040 */ lw $a2, 0x40($sp) diff --git a/asm/non_matchings/code_80027D00/func_8002B8A4.s b/asm/non_matchings/code_80027D00/func_8002B8A4.s index 754ea7b72..59b9cf991 100644 --- a/asm/non_matchings/code_80027D00/func_8002B8A4.s +++ b/asm/non_matchings/code_80027D00/func_8002B8A4.s @@ -1,91 +1,91 @@ -glabel func_8002B8A4 -/* 02C4A4 8002B8A4 3C02800E */ lui $v0, %hi(gPlayerOne) # $v0, 0x800e -/* 02C4A8 8002B8A8 8C42C4DC */ lw $v0, %lo(gPlayerOne)($v0) -/* 02C4AC 8002B8AC 27BDFFF0 */ addiu $sp, $sp, -0x10 -/* 02C4B0 8002B8B0 AFB00004 */ sw $s0, 4($sp) -/* 02C4B4 8002B8B4 14820002 */ bne $a0, $v0, .L8002B8C0 -/* 02C4B8 8002B8B8 00A08025 */ move $s0, $a1 -/* 02C4BC 8002B8BC AFA0000C */ sw $zero, 0xc($sp) -.L8002B8C0: -/* 02C4C0 8002B8C0 3C05800E */ lui $a1, %hi(gPlayerTwo) # $a1, 0x800e -/* 02C4C4 8002B8C4 8CA5C4E0 */ lw $a1, %lo(gPlayerTwo)($a1) -/* 02C4C8 8002B8C8 8FA3000C */ lw $v1, 0xc($sp) -/* 02C4CC 8002B8CC 3C06800E */ lui $a2, %hi(gPlayerThree) # $a2, 0x800e -/* 02C4D0 8002B8D0 14850002 */ bne $a0, $a1, .L8002B8DC -/* 02C4D4 8002B8D4 3C07800E */ lui $a3, %hi(gPlayerFour) # $a3, 0x800e -/* 02C4D8 8002B8D8 24030001 */ li $v1, 1 -.L8002B8DC: -/* 02C4DC 8002B8DC 8CC6C4E4 */ lw $a2, %lo(gPlayerThree)($a2) -/* 02C4E0 8002B8E0 3C08800E */ lui $t0, %hi(gPlayerFive) # $t0, 0x800e -/* 02C4E4 8002B8E4 3C09800E */ lui $t1, %hi(gPlayerSix) # $t1, 0x800e -/* 02C4E8 8002B8E8 14860002 */ bne $a0, $a2, .L8002B8F4 -/* 02C4EC 8002B8EC 3C0A800E */ lui $t2, %hi(gPlayerSeven) # $t2, 0x800e -/* 02C4F0 8002B8F0 24030002 */ li $v1, 2 -.L8002B8F4: -/* 02C4F4 8002B8F4 8CE7C4E8 */ lw $a3, %lo(gPlayerFour)($a3) -/* 02C4F8 8002B8F8 3C0C8016 */ lui $t4, %hi(D_801653C0) # $t4, 0x8016 -/* 02C4FC 8002B8FC 258C53C0 */ addiu $t4, %lo(D_801653C0) # addiu $t4, $t4, 0x53c0 -/* 02C500 8002B900 14870002 */ bne $a0, $a3, .L8002B90C -/* 02C504 8002B904 3C0B800E */ lui $t3, %hi(gPlayerEight) # $t3, 0x800e -/* 02C508 8002B908 24030003 */ li $v1, 3 -.L8002B90C: -/* 02C50C 8002B90C 8D08C4EC */ lw $t0, %lo(gPlayerFive)($t0) -/* 02C510 8002B910 14880002 */ bne $a0, $t0, .L8002B91C -/* 02C514 8002B914 00000000 */ nop -/* 02C518 8002B918 24030004 */ li $v1, 4 -.L8002B91C: -/* 02C51C 8002B91C 8D29C4F0 */ lw $t1, %lo(gPlayerSix)($t1) -/* 02C520 8002B920 14890002 */ bne $a0, $t1, .L8002B92C -/* 02C524 8002B924 00000000 */ nop -/* 02C528 8002B928 24030005 */ li $v1, 5 -.L8002B92C: -/* 02C52C 8002B92C 8D4AC4F4 */ lw $t2, %lo(gPlayerSeven)($t2) -/* 02C530 8002B930 148A0002 */ bne $a0, $t2, .L8002B93C -/* 02C534 8002B934 00000000 */ nop -/* 02C538 8002B938 24030006 */ li $v1, 6 -.L8002B93C: -/* 02C53C 8002B93C 8D6BC4F8 */ lw $t3, %lo(gPlayerEight)($t3) -/* 02C540 8002B940 548B0003 */ bnel $a0, $t3, .L8002B950 -/* 02C544 8002B944 00037080 */ sll $t6, $v1, 2 -/* 02C548 8002B948 24030007 */ li $v1, 7 -/* 02C54C 8002B94C 00037080 */ sll $t6, $v1, 2 -.L8002B950: -/* 02C550 8002B950 018E7821 */ addu $t7, $t4, $t6 -/* 02C554 8002B954 16020002 */ bne $s0, $v0, .L8002B960 -/* 02C558 8002B958 ADF00000 */ sw $s0, ($t7) -/* 02C55C 8002B95C 00001825 */ move $v1, $zero -.L8002B960: -/* 02C560 8002B960 16050002 */ bne $s0, $a1, .L8002B96C -/* 02C564 8002B964 00000000 */ nop -/* 02C568 8002B968 24030001 */ li $v1, 1 -.L8002B96C: -/* 02C56C 8002B96C 16060002 */ bne $s0, $a2, .L8002B978 -/* 02C570 8002B970 00000000 */ nop -/* 02C574 8002B974 24030002 */ li $v1, 2 -.L8002B978: -/* 02C578 8002B978 16070002 */ bne $s0, $a3, .L8002B984 -/* 02C57C 8002B97C 00000000 */ nop -/* 02C580 8002B980 24030003 */ li $v1, 3 -.L8002B984: -/* 02C584 8002B984 16080002 */ bne $s0, $t0, .L8002B990 -/* 02C588 8002B988 00000000 */ nop -/* 02C58C 8002B98C 24030004 */ li $v1, 4 -.L8002B990: -/* 02C590 8002B990 16090002 */ bne $s0, $t1, .L8002B99C -/* 02C594 8002B994 00000000 */ nop -/* 02C598 8002B998 24030005 */ li $v1, 5 -.L8002B99C: -/* 02C59C 8002B99C 160A0002 */ bne $s0, $t2, .L8002B9A8 -/* 02C5A0 8002B9A0 00000000 */ nop -/* 02C5A4 8002B9A4 24030006 */ li $v1, 6 -.L8002B9A8: -/* 02C5A8 8002B9A8 560B0003 */ bnel $s0, $t3, .L8002B9B8 -/* 02C5AC 8002B9AC 0003C080 */ sll $t8, $v1, 2 -/* 02C5B0 8002B9B0 24030007 */ li $v1, 7 -/* 02C5B4 8002B9B4 0003C080 */ sll $t8, $v1, 2 -.L8002B9B8: -/* 02C5B8 8002B9B8 0198C821 */ addu $t9, $t4, $t8 -/* 02C5BC 8002B9BC AF240000 */ sw $a0, ($t9) -/* 02C5C0 8002B9C0 8FB00004 */ lw $s0, 4($sp) -/* 02C5C4 8002B9C4 03E00008 */ jr $ra -/* 02C5C8 8002B9C8 27BD0010 */ addiu $sp, $sp, 0x10 +glabel func_8002B8A4 +/* 02C4A4 8002B8A4 3C02800E */ lui $v0, %hi(gPlayerOne) # $v0, 0x800e +/* 02C4A8 8002B8A8 8C42C4DC */ lw $v0, %lo(gPlayerOne)($v0) +/* 02C4AC 8002B8AC 27BDFFF0 */ addiu $sp, $sp, -0x10 +/* 02C4B0 8002B8B0 AFB00004 */ sw $s0, 4($sp) +/* 02C4B4 8002B8B4 14820002 */ bne $a0, $v0, .L8002B8C0 +/* 02C4B8 8002B8B8 00A08025 */ move $s0, $a1 +/* 02C4BC 8002B8BC AFA0000C */ sw $zero, 0xc($sp) +.L8002B8C0: +/* 02C4C0 8002B8C0 3C05800E */ lui $a1, %hi(gPlayerTwo) # $a1, 0x800e +/* 02C4C4 8002B8C4 8CA5C4E0 */ lw $a1, %lo(gPlayerTwo)($a1) +/* 02C4C8 8002B8C8 8FA3000C */ lw $v1, 0xc($sp) +/* 02C4CC 8002B8CC 3C06800E */ lui $a2, %hi(gPlayerThree) # $a2, 0x800e +/* 02C4D0 8002B8D0 14850002 */ bne $a0, $a1, .L8002B8DC +/* 02C4D4 8002B8D4 3C07800E */ lui $a3, %hi(gPlayerFour) # $a3, 0x800e +/* 02C4D8 8002B8D8 24030001 */ li $v1, 1 +.L8002B8DC: +/* 02C4DC 8002B8DC 8CC6C4E4 */ lw $a2, %lo(gPlayerThree)($a2) +/* 02C4E0 8002B8E0 3C08800E */ lui $t0, %hi(gPlayerFive) # $t0, 0x800e +/* 02C4E4 8002B8E4 3C09800E */ lui $t1, %hi(gPlayerSix) # $t1, 0x800e +/* 02C4E8 8002B8E8 14860002 */ bne $a0, $a2, .L8002B8F4 +/* 02C4EC 8002B8EC 3C0A800E */ lui $t2, %hi(gPlayerSeven) # $t2, 0x800e +/* 02C4F0 8002B8F0 24030002 */ li $v1, 2 +.L8002B8F4: +/* 02C4F4 8002B8F4 8CE7C4E8 */ lw $a3, %lo(gPlayerFour)($a3) +/* 02C4F8 8002B8F8 3C0C8016 */ lui $t4, %hi(D_801653C0) # $t4, 0x8016 +/* 02C4FC 8002B8FC 258C53C0 */ addiu $t4, %lo(D_801653C0) # addiu $t4, $t4, 0x53c0 +/* 02C500 8002B900 14870002 */ bne $a0, $a3, .L8002B90C +/* 02C504 8002B904 3C0B800E */ lui $t3, %hi(gPlayerEight) # $t3, 0x800e +/* 02C508 8002B908 24030003 */ li $v1, 3 +.L8002B90C: +/* 02C50C 8002B90C 8D08C4EC */ lw $t0, %lo(gPlayerFive)($t0) +/* 02C510 8002B910 14880002 */ bne $a0, $t0, .L8002B91C +/* 02C514 8002B914 00000000 */ nop +/* 02C518 8002B918 24030004 */ li $v1, 4 +.L8002B91C: +/* 02C51C 8002B91C 8D29C4F0 */ lw $t1, %lo(gPlayerSix)($t1) +/* 02C520 8002B920 14890002 */ bne $a0, $t1, .L8002B92C +/* 02C524 8002B924 00000000 */ nop +/* 02C528 8002B928 24030005 */ li $v1, 5 +.L8002B92C: +/* 02C52C 8002B92C 8D4AC4F4 */ lw $t2, %lo(gPlayerSeven)($t2) +/* 02C530 8002B930 148A0002 */ bne $a0, $t2, .L8002B93C +/* 02C534 8002B934 00000000 */ nop +/* 02C538 8002B938 24030006 */ li $v1, 6 +.L8002B93C: +/* 02C53C 8002B93C 8D6BC4F8 */ lw $t3, %lo(gPlayerEight)($t3) +/* 02C540 8002B940 548B0003 */ bnel $a0, $t3, .L8002B950 +/* 02C544 8002B944 00037080 */ sll $t6, $v1, 2 +/* 02C548 8002B948 24030007 */ li $v1, 7 +/* 02C54C 8002B94C 00037080 */ sll $t6, $v1, 2 +.L8002B950: +/* 02C550 8002B950 018E7821 */ addu $t7, $t4, $t6 +/* 02C554 8002B954 16020002 */ bne $s0, $v0, .L8002B960 +/* 02C558 8002B958 ADF00000 */ sw $s0, ($t7) +/* 02C55C 8002B95C 00001825 */ move $v1, $zero +.L8002B960: +/* 02C560 8002B960 16050002 */ bne $s0, $a1, .L8002B96C +/* 02C564 8002B964 00000000 */ nop +/* 02C568 8002B968 24030001 */ li $v1, 1 +.L8002B96C: +/* 02C56C 8002B96C 16060002 */ bne $s0, $a2, .L8002B978 +/* 02C570 8002B970 00000000 */ nop +/* 02C574 8002B974 24030002 */ li $v1, 2 +.L8002B978: +/* 02C578 8002B978 16070002 */ bne $s0, $a3, .L8002B984 +/* 02C57C 8002B97C 00000000 */ nop +/* 02C580 8002B980 24030003 */ li $v1, 3 +.L8002B984: +/* 02C584 8002B984 16080002 */ bne $s0, $t0, .L8002B990 +/* 02C588 8002B988 00000000 */ nop +/* 02C58C 8002B98C 24030004 */ li $v1, 4 +.L8002B990: +/* 02C590 8002B990 16090002 */ bne $s0, $t1, .L8002B99C +/* 02C594 8002B994 00000000 */ nop +/* 02C598 8002B998 24030005 */ li $v1, 5 +.L8002B99C: +/* 02C59C 8002B99C 160A0002 */ bne $s0, $t2, .L8002B9A8 +/* 02C5A0 8002B9A0 00000000 */ nop +/* 02C5A4 8002B9A4 24030006 */ li $v1, 6 +.L8002B9A8: +/* 02C5A8 8002B9A8 560B0003 */ bnel $s0, $t3, .L8002B9B8 +/* 02C5AC 8002B9AC 0003C080 */ sll $t8, $v1, 2 +/* 02C5B0 8002B9B0 24030007 */ li $v1, 7 +/* 02C5B4 8002B9B4 0003C080 */ sll $t8, $v1, 2 +.L8002B9B8: +/* 02C5B8 8002B9B8 0198C821 */ addu $t9, $t4, $t8 +/* 02C5BC 8002B9BC AF240000 */ sw $a0, ($t9) +/* 02C5C0 8002B9C0 8FB00004 */ lw $s0, 4($sp) +/* 02C5C4 8002B9C4 03E00008 */ jr $ra +/* 02C5C8 8002B9C8 27BD0010 */ addiu $sp, $sp, 0x10 diff --git a/asm/non_matchings/code_80057C60/func_80063FBC.s b/asm/non_matchings/code_80057C60/func_80063FBC.s index a93c8e295..27aaad0d9 100644 --- a/asm/non_matchings/code_80057C60/func_80063FBC.s +++ b/asm/non_matchings/code_80057C60/func_80063FBC.s @@ -1,118 +1,118 @@ -glabel func_80063FBC -/* 064BBC 80063FBC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 064BC0 80063FC0 00057400 */ sll $t6, $a1, 0x10 -/* 064BC4 80063FC4 000E7C03 */ sra $t7, $t6, 0x10 -/* 064BC8 80063FC8 000FC0C0 */ sll $t8, $t7, 3 -/* 064BCC 80063FCC 030FC021 */ addu $t8, $t8, $t7 -/* 064BD0 80063FD0 0018C0C0 */ sll $t8, $t8, 3 -/* 064BD4 80063FD4 AFBF002C */ sw $ra, 0x2c($sp) -/* 064BD8 80063FD8 AFB00028 */ sw $s0, 0x28($sp) -/* 064BDC 80063FDC AFA50044 */ sw $a1, 0x44($sp) -/* 064BE0 80063FE0 AFA60048 */ sw $a2, 0x48($sp) -/* 064BE4 80063FE4 AFA7004C */ sw $a3, 0x4c($sp) -/* 064BE8 80063FE8 00981021 */ addu $v0, $a0, $t8 -/* 064BEC 80063FEC 94590538 */ lhu $t9, 0x538($v0) -/* 064BF0 80063FF0 24010001 */ li $at, 1 -/* 064BF4 80063FF4 00808025 */ move $s0, $a0 -/* 064BF8 80063FF8 57210025 */ bnel $t9, $at, .L80064090 -/* 064BFC 80063FFC 44803000 */ mtc1 $zero, $f6 -/* 064C00 80064000 44802000 */ mtc1 $zero, $f4 -/* 064C04 80064004 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 064C08 80064008 44814000 */ mtc1 $at, $f8 -/* 064C0C 8006400C E7A40010 */ swc1 $f4, 0x10($sp) -/* 064C10 80064010 C6060094 */ lwc1 $f6, 0x94($s0) -/* 064C14 80064014 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 064C18 80064018 44818000 */ mtc1 $at, $f16 -/* 064C1C 8006401C 46083283 */ div.s $f10, $f6, $f8 -/* 064C20 80064020 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 064C24 80064024 44812000 */ mtc1 $at, $f4 -/* 064C28 80064028 84480546 */ lh $t0, 0x546($v0) -/* 064C2C 8006402C 3C01C016 */ li $at, 0xC0160000 # -2.343750 -/* 064C30 80064030 44812800 */ mtc1 $at, $f5 -/* 064C34 80064034 44884000 */ mtc1 $t0, $f8 -/* 064C38 80064038 27A4003C */ addiu $a0, $sp, 0x3c -/* 064C3C 8006403C 27A50034 */ addiu $a1, $sp, 0x34 -/* 064C40 80064040 27A60038 */ addiu $a2, $sp, 0x38 -/* 064C44 80064044 3C074040 */ lui $a3, 0x4040 -/* 064C48 80064048 46105482 */ mul.s $f18, $f10, $f16 -/* 064C4C 8006404C 468042A0 */ cvt.s.w $f10, $f8 -/* 064C50 80064050 46049183 */ div.s $f6, $f18, $f4 -/* 064C54 80064054 44802000 */ mtc1 $zero, $f4 -/* 064C58 80064058 46065402 */ mul.s $f16, $f10, $f6 -/* 064C5C 8006405C 460084A1 */ cvt.d.s $f18, $f16 -/* 064C60 80064060 46322201 */ sub.d $f8, $f4, $f18 -/* 064C64 80064064 462042A0 */ cvt.s.d $f10, $f8 -/* 064C68 80064068 E7AA0014 */ swc1 $f10, 0x14($sp) -/* 064C6C 8006406C 84490548 */ lh $t1, 0x548($v0) -/* 064C70 80064070 AFA20030 */ sw $v0, 0x30($sp) -/* 064C74 80064074 AFA0001C */ sw $zero, 0x1c($sp) -/* 064C78 80064078 00095023 */ negu $t2, $t1 -/* 064C7C 8006407C 0C018AC6 */ jal func_80062B18 -/* 064C80 80064080 AFAA0018 */ sw $t2, 0x18($sp) -/* 064C84 80064084 10000023 */ b .L80064114 -/* 064C88 80064088 8FA20030 */ lw $v0, 0x30($sp) -/* 064C8C 8006408C 44803000 */ mtc1 $zero, $f6 -.L80064090: -/* 064C90 80064090 3C014190 */ li $at, 0x41900000 # 18.000000 -/* 064C94 80064094 44812000 */ mtc1 $at, $f4 -/* 064C98 80064098 E7A60010 */ swc1 $f6, 0x10($sp) -/* 064C9C 8006409C C6100094 */ lwc1 $f16, 0x94($s0) -/* 064CA0 800640A0 3C014358 */ li $at, 0x43580000 # 216.000000 -/* 064CA4 800640A4 44814000 */ mtc1 $at, $f8 -/* 064CA8 800640A8 46048483 */ div.s $f18, $f16, $f4 -/* 064CAC 800640AC 3C014170 */ li $at, 0x41700000 # 15.000000 -/* 064CB0 800640B0 44813000 */ mtc1 $at, $f6 -/* 064CB4 800640B4 844B0546 */ lh $t3, 0x546($v0) -/* 064CB8 800640B8 3C01C016 */ li $at, 0xC0160000 # -2.343750 -/* 064CBC 800640BC 44813800 */ mtc1 $at, $f7 -/* 064CC0 800640C0 448B2000 */ mtc1 $t3, $f4 -/* 064CC4 800640C4 27A4003C */ addiu $a0, $sp, 0x3c -/* 064CC8 800640C8 27A50034 */ addiu $a1, $sp, 0x34 -/* 064CCC 800640CC 27A60038 */ addiu $a2, $sp, 0x38 -/* 064CD0 800640D0 3C07C040 */ lui $a3, 0xc040 -/* 064CD4 800640D4 46089282 */ mul.s $f10, $f18, $f8 -/* 064CD8 800640D8 468024A0 */ cvt.s.w $f18, $f4 -/* 064CDC 800640DC 46065403 */ div.s $f16, $f10, $f6 -/* 064CE0 800640E0 44803000 */ mtc1 $zero, $f6 -/* 064CE4 800640E4 46109202 */ mul.s $f8, $f18, $f16 -/* 064CE8 800640E8 460042A1 */ cvt.d.s $f10, $f8 -/* 064CEC 800640EC 462A3101 */ sub.d $f4, $f6, $f10 -/* 064CF0 800640F0 462024A0 */ cvt.s.d $f18, $f4 -/* 064CF4 800640F4 E7B20014 */ swc1 $f18, 0x14($sp) -/* 064CF8 800640F8 844C0548 */ lh $t4, 0x548($v0) -/* 064CFC 800640FC AFA20030 */ sw $v0, 0x30($sp) -/* 064D00 80064100 AFA0001C */ sw $zero, 0x1c($sp) -/* 064D04 80064104 000C6823 */ negu $t5, $t4 -/* 064D08 80064108 0C018AC6 */ jal func_80062B18 -/* 064D0C 8006410C AFAD0018 */ sw $t5, 0x18($sp) -/* 064D10 80064110 8FA20030 */ lw $v0, 0x30($sp) -.L80064114: -/* 064D14 80064114 C6100014 */ lwc1 $f16, 0x14($s0) -/* 064D18 80064118 C7A8003C */ lwc1 $f8, 0x3c($sp) -/* 064D1C 8006411C 844E0546 */ lh $t6, 0x546($v0) -/* 064D20 80064120 24010006 */ li $at, 6 -/* 064D24 80064124 46088180 */ add.s $f6, $f16, $f8 -/* 064D28 80064128 25CF0001 */ addiu $t7, $t6, 1 -/* 064D2C 8006412C E4460528 */ swc1 $f6, 0x528($v0) -/* 064D30 80064130 C7A40038 */ lwc1 $f4, 0x38($sp) -/* 064D34 80064134 C60A001C */ lwc1 $f10, 0x1c($s0) -/* 064D38 80064138 46045480 */ add.s $f18, $f10, $f4 -/* 064D3C 8006413C E4520530 */ swc1 $f18, 0x530($v0) -/* 064D40 80064140 C6080070 */ lwc1 $f8, 0x70($s0) -/* 064D44 80064144 C6100018 */ lwc1 $f16, 0x18($s0) -/* 064D48 80064148 C7AA0034 */ lwc1 $f10, 0x34($sp) -/* 064D4C 8006414C A44F0546 */ sh $t7, 0x546($v0) -/* 064D50 80064150 46088181 */ sub.s $f6, $f16, $f8 -/* 064D54 80064154 84580546 */ lh $t8, 0x546($v0) -/* 064D58 80064158 460A3100 */ add.s $f4, $f6, $f10 -/* 064D5C 8006415C 17010004 */ bne $t8, $at, .L80064170 -/* 064D60 80064160 E444052C */ swc1 $f4, 0x52c($v0) -/* 064D64 80064164 A4400544 */ sh $zero, 0x544($v0) -/* 064D68 80064168 A4400546 */ sh $zero, 0x546($v0) -/* 064D6C 8006416C A440053A */ sh $zero, 0x53a($v0) -.L80064170: -/* 064D70 80064170 8FBF002C */ lw $ra, 0x2c($sp) -/* 064D74 80064174 8FB00028 */ lw $s0, 0x28($sp) -/* 064D78 80064178 27BD0040 */ addiu $sp, $sp, 0x40 -/* 064D7C 8006417C 03E00008 */ jr $ra -/* 064D80 80064180 00000000 */ nop +glabel func_80063FBC +/* 064BBC 80063FBC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 064BC0 80063FC0 00057400 */ sll $t6, $a1, 0x10 +/* 064BC4 80063FC4 000E7C03 */ sra $t7, $t6, 0x10 +/* 064BC8 80063FC8 000FC0C0 */ sll $t8, $t7, 3 +/* 064BCC 80063FCC 030FC021 */ addu $t8, $t8, $t7 +/* 064BD0 80063FD0 0018C0C0 */ sll $t8, $t8, 3 +/* 064BD4 80063FD4 AFBF002C */ sw $ra, 0x2c($sp) +/* 064BD8 80063FD8 AFB00028 */ sw $s0, 0x28($sp) +/* 064BDC 80063FDC AFA50044 */ sw $a1, 0x44($sp) +/* 064BE0 80063FE0 AFA60048 */ sw $a2, 0x48($sp) +/* 064BE4 80063FE4 AFA7004C */ sw $a3, 0x4c($sp) +/* 064BE8 80063FE8 00981021 */ addu $v0, $a0, $t8 +/* 064BEC 80063FEC 94590538 */ lhu $t9, 0x538($v0) +/* 064BF0 80063FF0 24010001 */ li $at, 1 +/* 064BF4 80063FF4 00808025 */ move $s0, $a0 +/* 064BF8 80063FF8 57210025 */ bnel $t9, $at, .L80064090 +/* 064BFC 80063FFC 44803000 */ mtc1 $zero, $f6 +/* 064C00 80064000 44802000 */ mtc1 $zero, $f4 +/* 064C04 80064004 3C014190 */ li $at, 0x41900000 # 18.000000 +/* 064C08 80064008 44814000 */ mtc1 $at, $f8 +/* 064C0C 8006400C E7A40010 */ swc1 $f4, 0x10($sp) +/* 064C10 80064010 C6060094 */ lwc1 $f6, 0x94($s0) +/* 064C14 80064014 3C014358 */ li $at, 0x43580000 # 216.000000 +/* 064C18 80064018 44818000 */ mtc1 $at, $f16 +/* 064C1C 8006401C 46083283 */ div.s $f10, $f6, $f8 +/* 064C20 80064020 3C014170 */ li $at, 0x41700000 # 15.000000 +/* 064C24 80064024 44812000 */ mtc1 $at, $f4 +/* 064C28 80064028 84480546 */ lh $t0, 0x546($v0) +/* 064C2C 8006402C 3C01C016 */ li $at, 0xC0160000 # -2.343750 +/* 064C30 80064030 44812800 */ mtc1 $at, $f5 +/* 064C34 80064034 44884000 */ mtc1 $t0, $f8 +/* 064C38 80064038 27A4003C */ addiu $a0, $sp, 0x3c +/* 064C3C 8006403C 27A50034 */ addiu $a1, $sp, 0x34 +/* 064C40 80064040 27A60038 */ addiu $a2, $sp, 0x38 +/* 064C44 80064044 3C074040 */ lui $a3, 0x4040 +/* 064C48 80064048 46105482 */ mul.s $f18, $f10, $f16 +/* 064C4C 8006404C 468042A0 */ cvt.s.w $f10, $f8 +/* 064C50 80064050 46049183 */ div.s $f6, $f18, $f4 +/* 064C54 80064054 44802000 */ mtc1 $zero, $f4 +/* 064C58 80064058 46065402 */ mul.s $f16, $f10, $f6 +/* 064C5C 8006405C 460084A1 */ cvt.d.s $f18, $f16 +/* 064C60 80064060 46322201 */ sub.d $f8, $f4, $f18 +/* 064C64 80064064 462042A0 */ cvt.s.d $f10, $f8 +/* 064C68 80064068 E7AA0014 */ swc1 $f10, 0x14($sp) +/* 064C6C 8006406C 84490548 */ lh $t1, 0x548($v0) +/* 064C70 80064070 AFA20030 */ sw $v0, 0x30($sp) +/* 064C74 80064074 AFA0001C */ sw $zero, 0x1c($sp) +/* 064C78 80064078 00095023 */ negu $t2, $t1 +/* 064C7C 8006407C 0C018AC6 */ jal func_80062B18 +/* 064C80 80064080 AFAA0018 */ sw $t2, 0x18($sp) +/* 064C84 80064084 10000023 */ b .L80064114 +/* 064C88 80064088 8FA20030 */ lw $v0, 0x30($sp) +/* 064C8C 8006408C 44803000 */ mtc1 $zero, $f6 +.L80064090: +/* 064C90 80064090 3C014190 */ li $at, 0x41900000 # 18.000000 +/* 064C94 80064094 44812000 */ mtc1 $at, $f4 +/* 064C98 80064098 E7A60010 */ swc1 $f6, 0x10($sp) +/* 064C9C 8006409C C6100094 */ lwc1 $f16, 0x94($s0) +/* 064CA0 800640A0 3C014358 */ li $at, 0x43580000 # 216.000000 +/* 064CA4 800640A4 44814000 */ mtc1 $at, $f8 +/* 064CA8 800640A8 46048483 */ div.s $f18, $f16, $f4 +/* 064CAC 800640AC 3C014170 */ li $at, 0x41700000 # 15.000000 +/* 064CB0 800640B0 44813000 */ mtc1 $at, $f6 +/* 064CB4 800640B4 844B0546 */ lh $t3, 0x546($v0) +/* 064CB8 800640B8 3C01C016 */ li $at, 0xC0160000 # -2.343750 +/* 064CBC 800640BC 44813800 */ mtc1 $at, $f7 +/* 064CC0 800640C0 448B2000 */ mtc1 $t3, $f4 +/* 064CC4 800640C4 27A4003C */ addiu $a0, $sp, 0x3c +/* 064CC8 800640C8 27A50034 */ addiu $a1, $sp, 0x34 +/* 064CCC 800640CC 27A60038 */ addiu $a2, $sp, 0x38 +/* 064CD0 800640D0 3C07C040 */ lui $a3, 0xc040 +/* 064CD4 800640D4 46089282 */ mul.s $f10, $f18, $f8 +/* 064CD8 800640D8 468024A0 */ cvt.s.w $f18, $f4 +/* 064CDC 800640DC 46065403 */ div.s $f16, $f10, $f6 +/* 064CE0 800640E0 44803000 */ mtc1 $zero, $f6 +/* 064CE4 800640E4 46109202 */ mul.s $f8, $f18, $f16 +/* 064CE8 800640E8 460042A1 */ cvt.d.s $f10, $f8 +/* 064CEC 800640EC 462A3101 */ sub.d $f4, $f6, $f10 +/* 064CF0 800640F0 462024A0 */ cvt.s.d $f18, $f4 +/* 064CF4 800640F4 E7B20014 */ swc1 $f18, 0x14($sp) +/* 064CF8 800640F8 844C0548 */ lh $t4, 0x548($v0) +/* 064CFC 800640FC AFA20030 */ sw $v0, 0x30($sp) +/* 064D00 80064100 AFA0001C */ sw $zero, 0x1c($sp) +/* 064D04 80064104 000C6823 */ negu $t5, $t4 +/* 064D08 80064108 0C018AC6 */ jal func_80062B18 +/* 064D0C 8006410C AFAD0018 */ sw $t5, 0x18($sp) +/* 064D10 80064110 8FA20030 */ lw $v0, 0x30($sp) +.L80064114: +/* 064D14 80064114 C6100014 */ lwc1 $f16, 0x14($s0) +/* 064D18 80064118 C7A8003C */ lwc1 $f8, 0x3c($sp) +/* 064D1C 8006411C 844E0546 */ lh $t6, 0x546($v0) +/* 064D20 80064120 24010006 */ li $at, 6 +/* 064D24 80064124 46088180 */ add.s $f6, $f16, $f8 +/* 064D28 80064128 25CF0001 */ addiu $t7, $t6, 1 +/* 064D2C 8006412C E4460528 */ swc1 $f6, 0x528($v0) +/* 064D30 80064130 C7A40038 */ lwc1 $f4, 0x38($sp) +/* 064D34 80064134 C60A001C */ lwc1 $f10, 0x1c($s0) +/* 064D38 80064138 46045480 */ add.s $f18, $f10, $f4 +/* 064D3C 8006413C E4520530 */ swc1 $f18, 0x530($v0) +/* 064D40 80064140 C6080070 */ lwc1 $f8, 0x70($s0) +/* 064D44 80064144 C6100018 */ lwc1 $f16, 0x18($s0) +/* 064D48 80064148 C7AA0034 */ lwc1 $f10, 0x34($sp) +/* 064D4C 8006414C A44F0546 */ sh $t7, 0x546($v0) +/* 064D50 80064150 46088181 */ sub.s $f6, $f16, $f8 +/* 064D54 80064154 84580546 */ lh $t8, 0x546($v0) +/* 064D58 80064158 460A3100 */ add.s $f4, $f6, $f10 +/* 064D5C 8006415C 17010004 */ bne $t8, $at, .L80064170 +/* 064D60 80064160 E444052C */ swc1 $f4, 0x52c($v0) +/* 064D64 80064164 A4400544 */ sh $zero, 0x544($v0) +/* 064D68 80064168 A4400546 */ sh $zero, 0x546($v0) +/* 064D6C 8006416C A440053A */ sh $zero, 0x53a($v0) +.L80064170: +/* 064D70 80064170 8FBF002C */ lw $ra, 0x2c($sp) +/* 064D74 80064174 8FB00028 */ lw $s0, 0x28($sp) +/* 064D78 80064178 27BD0040 */ addiu $sp, $sp, 0x40 +/* 064D7C 8006417C 03E00008 */ jr $ra +/* 064D80 80064180 00000000 */ nop diff --git a/asm/non_matchings/code_80071F00/func_80073570.s b/asm/non_matchings/code_80071F00/func_80073570.s index baca3d64c..4502f9761 100644 --- a/asm/non_matchings/code_80071F00/func_80073570.s +++ b/asm/non_matchings/code_80071F00/func_80073570.s @@ -1,22 +1,22 @@ -glabel func_80073570 -/* 074170 80073570 3C028019 */ lui $v0, %hi(D_8018D1EC) # $v0, 0x8019 -/* 074174 80073574 2442D1EC */ addiu $v0, %lo(D_8018D1EC) # addiu $v0, $v0, -0x2e14 -/* 074178 80073578 8C4E0000 */ lw $t6, ($v0) -/* 07417C 8007357C 24010005 */ li $at, 5 -/* 074180 80073580 0004C8C0 */ sll $t9, $a0, 3 -/* 074184 80073584 25CF0001 */ addiu $t7, $t6, 1 -/* 074188 80073588 15E10002 */ bne $t7, $at, .L80073594 -/* 07418C 8007358C AC4F0000 */ sw $t7, ($v0) -/* 074190 80073590 AC400000 */ sw $zero, ($v0) -.L80073594: -/* 074194 80073594 0324C823 */ subu $t9, $t9, $a0 -/* 074198 80073598 0019C940 */ sll $t9, $t9, 5 -/* 07419C 8007359C 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 -/* 0741A0 800735A0 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 -/* 0741A4 800735A4 272800A6 */ addiu $t0, $t9, 0xa6 -/* 0741A8 800735A8 01091021 */ addu $v0, $t0, $t1 -/* 0741AC 800735AC 844A0000 */ lh $t2, ($v0) -/* 0741B0 800735B0 254B0001 */ addiu $t3, $t2, 1 -/* 0741B4 800735B4 03E00008 */ jr $ra -/* 0741B8 800735B8 A44B0000 */ sh $t3, ($v0) - +glabel func_80073570 +/* 074170 80073570 3C028019 */ lui $v0, %hi(D_8018D1EC) # $v0, 0x8019 +/* 074174 80073574 2442D1EC */ addiu $v0, %lo(D_8018D1EC) # addiu $v0, $v0, -0x2e14 +/* 074178 80073578 8C4E0000 */ lw $t6, ($v0) +/* 07417C 8007357C 24010005 */ li $at, 5 +/* 074180 80073580 0004C8C0 */ sll $t9, $a0, 3 +/* 074184 80073584 25CF0001 */ addiu $t7, $t6, 1 +/* 074188 80073588 15E10002 */ bne $t7, $at, .L80073594 +/* 07418C 8007358C AC4F0000 */ sw $t7, ($v0) +/* 074190 80073590 AC400000 */ sw $zero, ($v0) +.L80073594: +/* 074194 80073594 0324C823 */ subu $t9, $t9, $a0 +/* 074198 80073598 0019C940 */ sll $t9, $t9, 5 +/* 07419C 8007359C 3C098016 */ lui $t1, %hi(D_80165C18) # $t1, 0x8016 +/* 0741A0 800735A0 25295C18 */ addiu $t1, %lo(D_80165C18) # addiu $t1, $t1, 0x5c18 +/* 0741A4 800735A4 272800A6 */ addiu $t0, $t9, 0xa6 +/* 0741A8 800735A8 01091021 */ addu $v0, $t0, $t1 +/* 0741AC 800735AC 844A0000 */ lh $t2, ($v0) +/* 0741B0 800735B0 254B0001 */ addiu $t3, $t2, 1 +/* 0741B4 800735B4 03E00008 */ jr $ra +/* 0741B8 800735B8 A44B0000 */ sh $t3, ($v0) + diff --git a/asm/non_matchings/code_80071F00/func_8007C420.s b/asm/non_matchings/code_80071F00/func_8007C420.s index 76a55553f..d53211707 100644 --- a/asm/non_matchings/code_80071F00/func_8007C420.s +++ b/asm/non_matchings/code_80071F00/func_8007C420.s @@ -15,7 +15,7 @@ glabel func_8007C420 /* 07D054 8007C454 C4A8001C */ lwc1 $f8, 0x1c($a1) /* 07D058 8007C458 AFA30018 */ sw $v1, 0x18($sp) /* 07D05C 8007C45C 46062301 */ sub.s $f12, $f4, $f6 -/* 07D060 8007C460 0C0ADE0C */ jal func_802B7830 +/* 07D060 8007C460 0C0ADE0C */ jal atan2s /* 07D064 8007C464 460A4381 */ sub.s $f14, $f8, $f10 /* 07D068 8007C468 8FA30018 */ lw $v1, 0x18($sp) /* 07D06C 8007C46C 3045FFFF */ andi $a1, $v0, 0xffff diff --git a/asm/non_matchings/code_80071F00/func_8007C550.s b/asm/non_matchings/code_80071F00/func_8007C550.s index 18fcaeb65..6b09d9e7c 100644 --- a/asm/non_matchings/code_80071F00/func_8007C550.s +++ b/asm/non_matchings/code_80071F00/func_8007C550.s @@ -10,7 +10,7 @@ glabel func_8007C550 /* 07D170 8007C570 AFA40020 */ sw $a0, 0x20($sp) /* 07D174 8007C574 C46C0038 */ lwc1 $f12, 0x38($v1) /* 07D178 8007C578 C46E0040 */ lwc1 $f14, 0x40($v1) -/* 07D17C 8007C57C 0C0ADE0C */ jal func_802B7830 +/* 07D17C 8007C57C 0C0ADE0C */ jal atan2s /* 07D180 8007C580 AFA30018 */ sw $v1, 0x18($sp) /* 07D184 8007C584 8FA30018 */ lw $v1, 0x18($sp) /* 07D188 8007C588 3045FFFF */ andi $a1, $v0, 0xffff diff --git a/asm/non_matchings/code_80071F00/func_8007CE0C.s b/asm/non_matchings/code_80071F00/func_8007CE0C.s index 3663d96f9..db2abc311 100644 --- a/asm/non_matchings/code_80071F00/func_8007CE0C.s +++ b/asm/non_matchings/code_80071F00/func_8007CE0C.s @@ -43,7 +43,7 @@ glabel func_8007CE0C /* 07DAB0 8007CEB0 C4460014 */ lwc1 $f6, 0x14($v0) /* 07DAB4 8007CEB4 C44A001C */ lwc1 $f10, 0x1c($v0) /* 07DAB8 8007CEB8 46083301 */ sub.s $f12, $f6, $f8 -/* 07DABC 8007CEBC 0C0ADE0C */ jal func_802B7830 +/* 07DABC 8007CEBC 0C0ADE0C */ jal atan2s /* 07DAC0 8007CEC0 46105381 */ sub.s $f14, $f10, $f16 /* 07DAC4 8007CEC4 8FBF0024 */ lw $ra, 0x24($sp) /* 07DAC8 8007CEC8 A60200C0 */ sh $v0, 0xc0($s0) diff --git a/asm/non_matchings/code_80086E70/func_800872D8.s b/asm/non_matchings/code_80086E70/func_800872D8.s index a62496282..9f8ee6f77 100644 --- a/asm/non_matchings/code_80086E70/func_800872D8.s +++ b/asm/non_matchings/code_80086E70/func_800872D8.s @@ -12,7 +12,7 @@ glabel func_800872D8 /* 087F00 80087300 C4AA0008 */ lwc1 $f10, 8($a1) /* 087F04 80087304 C4A60000 */ lwc1 $f6, ($a1) /* 087F08 80087308 460A4381 */ sub.s $f14, $f8, $f10 -/* 087F0C 8008730C 0C0ADE0C */ jal func_802B7830 +/* 087F0C 8008730C 0C0ADE0C */ jal atan2s /* 087F10 80087310 46062301 */ sub.s $f12, $f4, $f6 /* 087F14 80087314 8FBF0014 */ lw $ra, 0x14($sp) /* 087F18 80087318 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/code_80086E70/func_80087324.s b/asm/non_matchings/code_80086E70/func_80087324.s index 31ab289d0..4351f97e0 100644 --- a/asm/non_matchings/code_80086E70/func_80087324.s +++ b/asm/non_matchings/code_80086E70/func_80087324.s @@ -8,7 +8,7 @@ glabel func_80087324 /* 087F3C 8008733C AFBF0014 */ sw $ra, 0x14($sp) /* 087F40 80087340 01CF1021 */ addu $v0, $t6, $t7 /* 087F44 80087344 C44C003C */ lwc1 $f12, 0x3c($v0) -/* 087F48 80087348 0C0ADE0C */ jal func_802B7830 +/* 087F48 80087348 0C0ADE0C */ jal atan2s /* 087F4C 8008734C C44E0040 */ lwc1 $f14, 0x40($v0) /* 087F50 80087350 8FBF0014 */ lw $ra, 0x14($sp) /* 087F54 80087354 00021023 */ negu $v0, $v0 diff --git a/asm/non_matchings/code_80086E70/func_80087368.s b/asm/non_matchings/code_80086E70/func_80087368.s index a24e5f179..97ad4f994 100644 --- a/asm/non_matchings/code_80086E70/func_80087368.s +++ b/asm/non_matchings/code_80086E70/func_80087368.s @@ -8,7 +8,7 @@ glabel func_80087368 /* 087F80 80087380 AFBF0014 */ sw $ra, 0x14($sp) /* 087F84 80087384 01CF1021 */ addu $v0, $t6, $t7 /* 087F88 80087388 C44C0038 */ lwc1 $f12, 0x38($v0) -/* 087F8C 8008738C 0C0ADE0C */ jal func_802B7830 +/* 087F8C 8008738C 0C0ADE0C */ jal atan2s /* 087F90 80087390 C44E0040 */ lwc1 $f14, 0x40($v0) /* 087F94 80087394 8FBF0014 */ lw $ra, 0x14($sp) /* 087F98 80087398 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/code_80086E70/func_80087A0C.s b/asm/non_matchings/code_80086E70/func_80087A0C.s index 4593c1bc2..18dabe0da 100644 --- a/asm/non_matchings/code_80086E70/func_80087A0C.s +++ b/asm/non_matchings/code_80086E70/func_80087A0C.s @@ -52,7 +52,7 @@ glabel func_80087A0C /* 0886D4 80087AD4 03281821 */ addu $v1, $t9, $t0 /* 0886D8 80087AD8 A7B80036 */ sh $t8, 0x36($sp) /* 0886DC 80087ADC E4700014 */ swc1 $f16, 0x14($v1) -/* 0886E0 80087AE0 0C0ADE0C */ jal func_802B7830 +/* 0886E0 80087AE0 0C0ADE0C */ jal atan2s /* 0886E4 80087AE4 AFA30020 */ sw $v1, 0x20($sp) /* 0886E8 80087AE8 8FA30020 */ lw $v1, 0x20($sp) /* 0886EC 80087AEC 02002025 */ move $a0, $s0 diff --git a/asm/non_matchings/code_80086E70/func_80088178.s b/asm/non_matchings/code_80086E70/func_80088178.s index c01b744e1..416db3802 100644 --- a/asm/non_matchings/code_80086E70/func_80088178.s +++ b/asm/non_matchings/code_80086E70/func_80088178.s @@ -16,7 +16,7 @@ glabel func_80088178 /* 088DB0 800881B0 AFBF0014 */ sw $ra, 0x14($sp) /* 088DB4 800881B4 AFA40018 */ sw $a0, 0x18($sp) /* 088DB8 800881B8 AFA5001C */ sw $a1, 0x1c($sp) -/* 088DBC 800881BC 0C0ADE0C */ jal func_802B7830 +/* 088DBC 800881BC 0C0ADE0C */ jal atan2s /* 088DC0 800881C0 468083A0 */ cvt.s.w $f14, $f16 /* 088DC4 800881C4 8FAA0018 */ lw $t2, 0x18($sp) /* 088DC8 800881C8 3C0C8016 */ lui $t4, %hi(D_80165C18) # $t4, 0x8016 diff --git a/asm/non_matchings/code_80086E70/func_80088538.s b/asm/non_matchings/code_80086E70/func_80088538.s index f4fb2f703..d1f6d84fd 100644 --- a/asm/non_matchings/code_80086E70/func_80088538.s +++ b/asm/non_matchings/code_80086E70/func_80088538.s @@ -43,12 +43,12 @@ glabel func_80088538 /* 0891D8 800885D8 9627000A */ lhu $a3, 0xa($s1) /* 0891DC 800885DC E6000044 */ swc1 $f0, 0x44($s0) /* 0891E0 800885E0 C62C0038 */ lwc1 $f12, 0x38($s1) -/* 0891E4 800885E4 0C0ADE0C */ jal func_802B7830 +/* 0891E4 800885E4 0C0ADE0C */ jal atan2s /* 0891E8 800885E8 C62E0034 */ lwc1 $f14, 0x34($s1) /* 0891EC 800885EC 24494000 */ addiu $t1, $v0, 0x4000 /* 0891F0 800885F0 A60900B8 */ sh $t1, 0xb8($s0) /* 0891F4 800885F4 C62C0030 */ lwc1 $f12, 0x30($s1) -/* 0891F8 800885F8 0C0ADE0C */ jal func_802B7830 +/* 0891F8 800885F8 0C0ADE0C */ jal atan2s /* 0891FC 800885FC C62E0034 */ lwc1 $f14, 0x34($s1) /* 089200 80088600 A60200BC */ sh $v0, 0xbc($s0) .L80088604: diff --git a/asm/non_matchings/code_80086E70/func_800886F4.s b/asm/non_matchings/code_80086E70/func_800886F4.s index 791d295a2..098778d33 100644 --- a/asm/non_matchings/code_80086E70/func_800886F4.s +++ b/asm/non_matchings/code_80086E70/func_800886F4.s @@ -34,12 +34,12 @@ glabel func_800886F4 /* 089374 80088774 9627000A */ lhu $a3, 0xa($s1) /* 089378 80088778 E6000044 */ swc1 $f0, 0x44($s0) /* 08937C 8008877C C62C0038 */ lwc1 $f12, 0x38($s1) -/* 089380 80088780 0C0ADE0C */ jal func_802B7830 +/* 089380 80088780 0C0ADE0C */ jal atan2s /* 089384 80088784 C62E0034 */ lwc1 $f14, 0x34($s1) /* 089388 80088788 24484000 */ addiu $t0, $v0, 0x4000 /* 08938C 8008878C A60800B8 */ sh $t0, 0xb8($s0) /* 089390 80088790 C62C0030 */ lwc1 $f12, 0x30($s1) -/* 089394 80088794 0C0ADE0C */ jal func_802B7830 +/* 089394 80088794 0C0ADE0C */ jal atan2s /* 089398 80088798 C62E0034 */ lwc1 $f14, 0x34($s1) /* 08939C 8008879C 10000003 */ b .L800887AC /* 0893A0 800887A0 A60200BC */ sh $v0, 0xbc($s0) diff --git a/asm/non_matchings/code_80086E70/func_8008A0B4.s b/asm/non_matchings/code_80086E70/func_8008A0B4.s index 35fdf3e24..51f22ba9a 100644 --- a/asm/non_matchings/code_80086E70/func_8008A0B4.s +++ b/asm/non_matchings/code_80086E70/func_8008A0B4.s @@ -15,7 +15,7 @@ glabel func_8008A0B4 /* 08ACE8 8008A0E8 C4AA001C */ lwc1 $f10, 0x1c($a1) /* 08ACEC 8008A0EC AFA00018 */ sw $zero, 0x18($sp) /* 08ACF0 8008A0F0 46062301 */ sub.s $f12, $f4, $f6 -/* 08ACF4 8008A0F4 0C0ADE0C */ jal func_802B7830 +/* 08ACF4 8008A0F4 0C0ADE0C */ jal atan2s /* 08ACF8 8008A0F8 460A4381 */ sub.s $f14, $f8, $f10 /* 08ACFC 8008A0FC 8FB80030 */ lw $t8, 0x30($sp) /* 08AD00 8008A100 97A40036 */ lhu $a0, 0x36($sp) diff --git a/asm/non_matchings/code_8008C1D0/code_8008C1D0.s b/asm/non_matchings/code_8008C1D0/code_8008C1D0.s index c388b3b4f..299b7eb2f 100644 --- a/asm/non_matchings/code_8008C1D0/code_8008C1D0.s +++ b/asm/non_matchings/code_8008C1D0/code_8008C1D0.s @@ -5327,7 +5327,7 @@ glabel func_800914A0 /* 0922F0 800916F0 E7AC0038 */ swc1 $f12, 0x38($sp) /* 0922F4 800916F4 46062381 */ sub.s $f14, $f4, $f6 /* 0922F8 800916F8 E7B00034 */ swc1 $f16, 0x34($sp) -/* 0922FC 800916FC 0C0ADE0C */ jal func_802B7830 +/* 0922FC 800916FC 0C0ADE0C */ jal atan2s /* 092300 80091700 E7AE0030 */ swc1 $f14, 0x30($sp) /* 092304 80091704 C7A00038 */ lwc1 $f0, 0x38($sp) /* 092308 80091708 C7AE0030 */ lwc1 $f14, 0x30($sp) @@ -5338,7 +5338,7 @@ glabel func_800914A0 /* 09231C 8009171C 0C033850 */ jal sqrtf /* 092320 80091720 46125300 */ add.s $f12, $f10, $f18 /* 092324 80091724 46000306 */ mov.s $f12, $f0 -/* 092328 80091728 0C0ADE0C */ jal func_802B7830 +/* 092328 80091728 0C0ADE0C */ jal atan2s /* 09232C 8009172C C7AE0034 */ lwc1 $f14, 0x34($sp) /* 092330 80091730 8FBF001C */ lw $ra, 0x1c($sp) /* 092334 80091734 3C018016 */ lui $at, %hi(cameras+0x24) # $at, 0x8016 diff --git a/asm/non_matchings/code_8008C1D0/func_8008C9EC.s b/asm/non_matchings/code_8008C1D0/func_8008C9EC.s index 60b8c69c8..93adca389 100644 --- a/asm/non_matchings/code_8008C1D0/func_8008C9EC.s +++ b/asm/non_matchings/code_8008C1D0/func_8008C9EC.s @@ -1,267 +1,267 @@ -glabel func_8008C9EC -/* 08D5EC 8008C9EC 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 08D5F0 8008C9F0 3C0F800E */ lui $t7, %hi(D_800E6F60) # $t7, 0x800e -/* 08D5F4 8008C9F4 AFBF001C */ sw $ra, 0x1c($sp) -/* 08D5F8 8008C9F8 AFB00018 */ sw $s0, 0x18($sp) -/* 08D5FC 8008C9FC AFA50044 */ sw $a1, 0x44($sp) -/* 08D600 8008CA00 25EF6F60 */ addiu $t7, %lo(D_800E6F60) # addiu $t7, $t7, 0x6f60 -/* 08D604 8008CA04 8DE10000 */ lw $at, ($t7) -/* 08D608 8008CA08 27AE0030 */ addiu $t6, $sp, 0x30 -/* 08D60C 8008CA0C 8DE80004 */ lw $t0, 4($t7) -/* 08D610 8008CA10 ADC10000 */ sw $at, ($t6) -/* 08D614 8008CA14 95E10008 */ lhu $at, 8($t7) -/* 08D618 8008CA18 ADC80004 */ sw $t0, 4($t6) -/* 08D61C 8008CA1C 00808025 */ move $s0, $a0 -/* 08D620 8008CA20 A5C10008 */ sh $at, 8($t6) -/* 08D624 8008CA24 94890046 */ lhu $t1, 0x46($a0) -/* 08D628 8008CA28 24010040 */ li $at, 64 -/* 08D62C 8008CA2C A4800206 */ sh $zero, 0x206($a0) -/* 08D630 8008CA30 312A0040 */ andi $t2, $t1, 0x40 -/* 08D634 8008CA34 15410005 */ bne $t2, $at, .L8008CA4C -/* 08D638 8008CA38 A48000C4 */ sh $zero, 0xc4($a0) -/* 08D63C 8008CA3C 0C00C7D2 */ jal func_80031F48 -/* 08D640 8008CA40 3C0542C8 */ lui $a1, 0x42c8 -/* 08D644 8008CA44 10000015 */ b .L8008CA9C -/* 08D648 8008CA48 8E1800BC */ lw $t8, 0xbc($s0) -.L8008CA4C: -/* 08D64C 8008CA4C 960B0000 */ lhu $t3, ($s0) -/* 08D650 8008CA50 24014000 */ li $at, 16384 -/* 08D654 8008CA54 3C053F80 */ lui $a1, 0x3f80 -/* 08D658 8008CA58 316C4000 */ andi $t4, $t3, 0x4000 -/* 08D65C 8008CA5C 15810005 */ bne $t4, $at, .L8008CA74 -/* 08D660 8008CA60 02002025 */ move $a0, $s0 -/* 08D664 8008CA64 0C00C7D2 */ jal func_80031F48 -/* 08D668 8008CA68 02002025 */ move $a0, $s0 -/* 08D66C 8008CA6C 10000004 */ b .L8008CA80 -/* 08D670 8008CA70 960D0000 */ lhu $t5, ($s0) -.L8008CA74: -/* 08D674 8008CA74 0C00C7D2 */ jal func_80031F48 -/* 08D678 8008CA78 3C054080 */ lui $a1, 0x4080 -/* 08D67C 8008CA7C 960D0000 */ lhu $t5, ($s0) -.L8008CA80: -/* 08D680 8008CA80 02002025 */ move $a0, $s0 -/* 08D684 8008CA84 31B94000 */ andi $t9, $t5, 0x4000 -/* 08D688 8008CA88 57200004 */ bnel $t9, $zero, .L8008CA9C -/* 08D68C 8008CA8C 8E1800BC */ lw $t8, 0xbc($s0) -/* 08D690 8008CA90 0C00C7D2 */ jal func_80031F48 -/* 08D694 8008CA94 3C0541F0 */ lui $a1, 0x41f0 -/* 08D698 8008CA98 8E1800BC */ lw $t8, 0xbc($s0) -.L8008CA9C: -/* 08D69C 8008CA9C 24010080 */ li $at, 128 -/* 08D6A0 8008CAA0 330E0080 */ andi $t6, $t8, 0x80 -/* 08D6A4 8008CAA4 55C10057 */ bnel $t6, $at, .L8008CC04 -/* 08D6A8 8008CAA8 860C00B2 */ lh $t4, 0xb2($s0) -/* 08D6AC 8008CAAC 860F00B2 */ lh $t7, 0xb2($s0) -/* 08D6B0 8008CAB0 27A60030 */ addiu $a2, $sp, 0x30 -/* 08D6B4 8008CAB4 8609002E */ lh $t1, 0x2e($s0) -/* 08D6B8 8008CAB8 000F4040 */ sll $t0, $t7, 1 -/* 08D6BC 8008CABC 00C82021 */ addu $a0, $a2, $t0 -/* 08D6C0 8008CAC0 848A0000 */ lh $t2, ($a0) -/* 08D6C4 8008CAC4 3C198019 */ lui $t9, %hi(D_8018D920) # $t9, 0x8019 -/* 08D6C8 8008CAC8 2739D920 */ addiu $t9, %lo(D_8018D920) # addiu $t9, $t9, -0x26e0 -/* 08D6CC 8008CACC 012A5823 */ subu $t3, $t1, $t2 -/* 08D6D0 8008CAD0 A60B002E */ sh $t3, 0x2e($s0) -/* 08D6D4 8008CAD4 83AC0047 */ lb $t4, 0x47($sp) -/* 08D6D8 8008CAD8 848E0000 */ lh $t6, ($a0) -/* 08D6DC 8008CADC 240100B6 */ li $at, 182 -/* 08D6E0 8008CAE0 000C6840 */ sll $t5, $t4, 1 -/* 08D6E4 8008CAE4 01B91021 */ addu $v0, $t5, $t9 -/* 08D6E8 8008CAE8 84580000 */ lh $t8, ($v0) -/* 08D6EC 8008CAEC 240D0168 */ li $t5, 360 -/* 08D6F0 8008CAF0 030E7823 */ subu $t7, $t8, $t6 -/* 08D6F4 8008CAF4 A44F0000 */ sh $t7, ($v0) -/* 08D6F8 8008CAF8 860300B2 */ lh $v1, 0xb2($s0) -/* 08D6FC 8008CAFC 3C180001 */ lui $t8, 1 -/* 08D700 8008CB00 31E8FFFF */ andi $t0, $t7, 0xffff -/* 08D704 8008CB04 00034840 */ sll $t1, $v1, 1 -/* 08D708 8008CB08 00C95021 */ addu $t2, $a2, $t1 -/* 08D70C 8008CB0C 854B0000 */ lh $t3, ($t2) -/* 08D710 8008CB10 246AFFFF */ addiu $t2, $v1, -1 -/* 08D714 8008CB14 0161001A */ div $zero, $t3, $at -/* 08D718 8008CB18 00006012 */ mflo $t4 -/* 08D71C 8008CB1C 00000000 */ nop -/* 08D720 8008CB20 00000000 */ nop -/* 08D724 8008CB24 01AC001A */ div $zero, $t5, $t4 -/* 08D728 8008CB28 0000C812 */ mflo $t9 -/* 08D72C 8008CB2C 15800002 */ bnez $t4, .L8008CB38 -/* 08D730 8008CB30 00000000 */ nop -/* 08D734 8008CB34 0007000D */ break 7 -.L8008CB38: -/* 08D738 8008CB38 2401FFFF */ li $at, -1 -/* 08D73C 8008CB3C 15810004 */ bne $t4, $at, .L8008CB50 -/* 08D740 8008CB40 3C018000 */ lui $at, 0x8000 -/* 08D744 8008CB44 15A10002 */ bne $t5, $at, .L8008CB50 -/* 08D748 8008CB48 00000000 */ nop -/* 08D74C 8008CB4C 0006000D */ break 6 -.L8008CB50: -/* 08D750 8008CB50 0319001A */ div $zero, $t8, $t9 -/* 08D754 8008CB54 00007012 */ mflo $t6 -/* 08D758 8008CB58 17200002 */ bnez $t9, .L8008CB64 -/* 08D75C 8008CB5C 00000000 */ nop -/* 08D760 8008CB60 0007000D */ break 7 -.L8008CB64: -/* 08D764 8008CB64 2401FFFF */ li $at, -1 -/* 08D768 8008CB68 17210004 */ bne $t9, $at, .L8008CB7C -/* 08D76C 8008CB6C 3C018000 */ lui $at, 0x8000 -/* 08D770 8008CB70 17010002 */ bne $t8, $at, .L8008CB7C -/* 08D774 8008CB74 00000000 */ nop -/* 08D778 8008CB78 0006000D */ break 6 -.L8008CB7C: -/* 08D77C 8008CB7C 010E001A */ div $zero, $t0, $t6 -/* 08D780 8008CB80 00002812 */ mflo $a1 -/* 08D784 8008CB84 00057C00 */ sll $t7, $a1, 0x10 -/* 08D788 8008CB88 000F4C03 */ sra $t1, $t7, 0x10 -/* 08D78C 8008CB8C 15C00002 */ bnez $t6, .L8008CB98 -/* 08D790 8008CB90 00000000 */ nop -/* 08D794 8008CB94 0007000D */ break 7 -.L8008CB98: -/* 08D798 8008CB98 2401FFFF */ li $at, -1 -/* 08D79C 8008CB9C 15C10004 */ bne $t6, $at, .L8008CBB0 -/* 08D7A0 8008CBA0 3C018000 */ lui $at, 0x8000 -/* 08D7A4 8008CBA4 15010002 */ bne $t0, $at, .L8008CBB0 -/* 08D7A8 8008CBA8 00000000 */ nop -/* 08D7AC 8008CBAC 0006000D */ break 6 -.L8008CBB0: -/* 08D7B0 8008CBB0 01202825 */ move $a1, $t1 -/* 08D7B4 8008CBB4 55200066 */ bnel $t1, $zero, .L8008CD50 -/* 08D7B8 8008CBB8 83A20047 */ lb $v0, 0x47($sp) -/* 08D7BC 8008CBBC A60A00B2 */ sh $t2, 0xb2($s0) -/* 08D7C0 8008CBC0 860B00B2 */ lh $t3, 0xb2($s0) -/* 08D7C4 8008CBC4 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e -/* 08D7C8 8008CBC8 5D600061 */ bgtzl $t3, .L8008CD50 -/* 08D7CC 8008CBCC 83A20047 */ lb $v0, 0x47($sp) -/* 08D7D0 8008CBD0 8DADC53C */ lw $t5, %lo(gModeSelection)($t5) -/* 08D7D4 8008CBD4 24010003 */ li $at, 3 -/* 08D7D8 8008CBD8 02002025 */ move $a0, $s0 -/* 08D7DC 8008CBDC 55A10004 */ bnel $t5, $at, .L8008CBF0 -/* 08D7E0 8008CBE0 02002025 */ move $a0, $s0 -/* 08D7E4 8008CBE4 0C01AE2D */ jal func_8006B8B4 -/* 08D7E8 8008CBE8 83A50047 */ lb $a1, 0x47($sp) -/* 08D7EC 8008CBEC 02002025 */ move $a0, $s0 -.L8008CBF0: -/* 08D7F0 8008CBF0 0C023231 */ jal func_8008C8C4 -/* 08D7F4 8008CBF4 83A50047 */ lb $a1, 0x47($sp) -/* 08D7F8 8008CBF8 10000055 */ b .L8008CD50 -/* 08D7FC 8008CBFC 83A20047 */ lb $v0, 0x47($sp) -/* 08D800 8008CC00 860C00B2 */ lh $t4, 0xb2($s0) -.L8008CC04: -/* 08D804 8008CC04 27B90030 */ addiu $t9, $sp, 0x30 -/* 08D808 8008CC08 8608002E */ lh $t0, 0x2e($s0) -/* 08D80C 8008CC0C 000CC040 */ sll $t8, $t4, 1 -/* 08D810 8008CC10 03192021 */ addu $a0, $t8, $t9 -/* 08D814 8008CC14 848E0000 */ lh $t6, ($a0) -/* 08D818 8008CC18 3C0B8019 */ lui $t3, %hi(D_8018D920) # $t3, 0x8019 -/* 08D81C 8008CC1C 256BD920 */ addiu $t3, %lo(D_8018D920) # addiu $t3, $t3, -0x26e0 -/* 08D820 8008CC20 010E7821 */ addu $t7, $t0, $t6 -/* 08D824 8008CC24 A60F002E */ sh $t7, 0x2e($s0) -/* 08D828 8008CC28 83A90047 */ lb $t1, 0x47($sp) -/* 08D82C 8008CC2C 848C0000 */ lh $t4, ($a0) -/* 08D830 8008CC30 240100B6 */ li $at, 182 -/* 08D834 8008CC34 00095040 */ sll $t2, $t1, 1 -/* 08D838 8008CC38 014B1021 */ addu $v0, $t2, $t3 -/* 08D83C 8008CC3C 844D0000 */ lh $t5, ($v0) -/* 08D840 8008CC40 24090168 */ li $t1, 360 -/* 08D844 8008CC44 3C0B0001 */ lui $t3, 1 -/* 08D848 8008CC48 01ACC023 */ subu $t8, $t5, $t4 -/* 08D84C 8008CC4C A4580000 */ sh $t8, ($v0) -/* 08D850 8008CC50 860300B2 */ lh $v1, 0xb2($s0) -/* 08D854 8008CC54 3319FFFF */ andi $t9, $t8, 0xffff -/* 08D858 8008CC58 00034040 */ sll $t0, $v1, 1 -/* 08D85C 8008CC5C 03A87021 */ addu $t6, $sp, $t0 -/* 08D860 8008CC60 85CE0030 */ lh $t6, 0x30($t6) -/* 08D864 8008CC64 2468FFFF */ addiu $t0, $v1, -1 -/* 08D868 8008CC68 01C1001A */ div $zero, $t6, $at -/* 08D86C 8008CC6C 00007812 */ mflo $t7 -/* 08D870 8008CC70 00000000 */ nop -/* 08D874 8008CC74 00000000 */ nop -/* 08D878 8008CC78 012F001A */ div $zero, $t1, $t7 -/* 08D87C 8008CC7C 00005012 */ mflo $t2 -/* 08D880 8008CC80 15E00002 */ bnez $t7, .L8008CC8C -/* 08D884 8008CC84 00000000 */ nop -/* 08D888 8008CC88 0007000D */ break 7 -.L8008CC8C: -/* 08D88C 8008CC8C 2401FFFF */ li $at, -1 -/* 08D890 8008CC90 15E10004 */ bne $t7, $at, .L8008CCA4 -/* 08D894 8008CC94 3C018000 */ lui $at, 0x8000 -/* 08D898 8008CC98 15210002 */ bne $t1, $at, .L8008CCA4 -/* 08D89C 8008CC9C 00000000 */ nop -/* 08D8A0 8008CCA0 0006000D */ break 6 -.L8008CCA4: -/* 08D8A4 8008CCA4 016A001A */ div $zero, $t3, $t2 -/* 08D8A8 8008CCA8 00006812 */ mflo $t5 -/* 08D8AC 8008CCAC 15400002 */ bnez $t2, .L8008CCB8 -/* 08D8B0 8008CCB0 00000000 */ nop -/* 08D8B4 8008CCB4 0007000D */ break 7 -.L8008CCB8: -/* 08D8B8 8008CCB8 2401FFFF */ li $at, -1 -/* 08D8BC 8008CCBC 15410004 */ bne $t2, $at, .L8008CCD0 -/* 08D8C0 8008CCC0 3C018000 */ lui $at, 0x8000 -/* 08D8C4 8008CCC4 15610002 */ bne $t3, $at, .L8008CCD0 -/* 08D8C8 8008CCC8 00000000 */ nop -/* 08D8CC 8008CCCC 0006000D */ break 6 -.L8008CCD0: -/* 08D8D0 8008CCD0 032D001A */ div $zero, $t9, $t5 -/* 08D8D4 8008CCD4 00002812 */ mflo $a1 -/* 08D8D8 8008CCD8 00056400 */ sll $t4, $a1, 0x10 -/* 08D8DC 8008CCDC 000CC403 */ sra $t8, $t4, 0x10 -/* 08D8E0 8008CCE0 15A00002 */ bnez $t5, .L8008CCEC -/* 08D8E4 8008CCE4 00000000 */ nop -/* 08D8E8 8008CCE8 0007000D */ break 7 -.L8008CCEC: -/* 08D8EC 8008CCEC 2401FFFF */ li $at, -1 -/* 08D8F0 8008CCF0 15A10004 */ bne $t5, $at, .L8008CD04 -/* 08D8F4 8008CCF4 3C018000 */ lui $at, 0x8000 -/* 08D8F8 8008CCF8 17210002 */ bne $t9, $at, .L8008CD04 -/* 08D8FC 8008CCFC 00000000 */ nop -/* 08D900 8008CD00 0006000D */ break 6 -.L8008CD04: -/* 08D904 8008CD04 03002825 */ move $a1, $t8 -/* 08D908 8008CD08 57000011 */ bnel $t8, $zero, .L8008CD50 -/* 08D90C 8008CD0C 83A20047 */ lb $v0, 0x47($sp) -/* 08D910 8008CD10 A60800B2 */ sh $t0, 0xb2($s0) -/* 08D914 8008CD14 860E00B2 */ lh $t6, 0xb2($s0) -/* 08D918 8008CD18 02002025 */ move $a0, $s0 -/* 08D91C 8008CD1C 5DC0000C */ bgtzl $t6, .L8008CD50 -/* 08D920 8008CD20 83A20047 */ lb $v0, 0x47($sp) -/* 08D924 8008CD24 0C023231 */ jal func_8008C8C4 -/* 08D928 8008CD28 83A50047 */ lb $a1, 0x47($sp) -/* 08D92C 8008CD2C 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e -/* 08D930 8008CD30 8D29C53C */ lw $t1, %lo(gModeSelection)($t1) -/* 08D934 8008CD34 24010003 */ li $at, 3 -/* 08D938 8008CD38 02002025 */ move $a0, $s0 -/* 08D93C 8008CD3C 55210004 */ bnel $t1, $at, .L8008CD50 -/* 08D940 8008CD40 83A20047 */ lb $v0, 0x47($sp) -/* 08D944 8008CD44 0C01AE2D */ jal func_8006B8B4 -/* 08D948 8008CD48 83A50047 */ lb $a1, 0x47($sp) -/* 08D94C 8008CD4C 83A20047 */ lb $v0, 0x47($sp) -.L8008CD50: -/* 08D950 8008CD50 3C0B8016 */ lui $t3, %hi(D_80165460) # 0x8016 -/* 08D954 8008CD54 24010001 */ li $at, 1 -/* 08D958 8008CD58 00027880 */ sll $t7, $v0, 2 -/* 08D95C 8008CD5C 016F5821 */ addu $t3, $t3, $t7 -/* 08D960 8008CD60 8D6B5460 */ lw $t3, %lo(D_80165460)($t3) # 0x5460($t3) -/* 08D964 8008CD64 55610012 */ bnel $t3, $at, .L8008CDB0 -/* 08D968 8008CD68 8FBF001C */ lw $ra, 0x1c($sp) -/* 08D96C 8008CD6C 960A0000 */ lhu $t2, ($s0) -/* 08D970 8008CD70 24014000 */ li $at, 16384 -/* 08D974 8008CD74 240D0078 */ li $t5, 120 -/* 08D978 8008CD78 31594000 */ andi $t9, $t2, 0x4000 -/* 08D97C 8008CD7C 1721000B */ bne $t9, $at, .L8008CDAC -/* 08D980 8008CD80 3C0142B4 */ li $at, 0x42B40000 # 90.000000 -/* 08D984 8008CD84 44810000 */ mtc1 $at, $f0 -/* 08D988 8008CD88 3C018016 */ lui $at, %hi(D_80165480) # 0x8016 -/* 08D98C 8008CD8C 002F0821 */ addu $at, $at, $t7 -/* 08D990 8008CD90 AC2D5480 */ sw $t5, %lo(D_80165480)($at) # 0x5480($at) -/* 08D994 8008CD94 C604009C */ lwc1 $f4, 0x9c($s0) -/* 08D998 8008CD98 4600203E */ c.le.s $f4, $f0 -/* 08D99C 8008CD9C 00000000 */ nop -/* 08D9A0 8008CDA0 45020003 */ bc1fl .L8008CDB0 -/* 08D9A4 8008CDA4 8FBF001C */ lw $ra, 0x1c($sp) -/* 08D9A8 8008CDA8 E600009C */ swc1 $f0, 0x9c($s0) -.L8008CDAC: -/* 08D9AC 8008CDAC 8FBF001C */ lw $ra, 0x1c($sp) -.L8008CDB0: -/* 08D9B0 8008CDB0 8FB00018 */ lw $s0, 0x18($sp) -/* 08D9B4 8008CDB4 27BD0040 */ addiu $sp, $sp, 0x40 -/* 08D9B8 8008CDB8 03E00008 */ jr $ra -/* 08D9BC 8008CDBC 00000000 */ nop +glabel func_8008C9EC +/* 08D5EC 8008C9EC 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 08D5F0 8008C9F0 3C0F800E */ lui $t7, %hi(D_800E6F60) # $t7, 0x800e +/* 08D5F4 8008C9F4 AFBF001C */ sw $ra, 0x1c($sp) +/* 08D5F8 8008C9F8 AFB00018 */ sw $s0, 0x18($sp) +/* 08D5FC 8008C9FC AFA50044 */ sw $a1, 0x44($sp) +/* 08D600 8008CA00 25EF6F60 */ addiu $t7, %lo(D_800E6F60) # addiu $t7, $t7, 0x6f60 +/* 08D604 8008CA04 8DE10000 */ lw $at, ($t7) +/* 08D608 8008CA08 27AE0030 */ addiu $t6, $sp, 0x30 +/* 08D60C 8008CA0C 8DE80004 */ lw $t0, 4($t7) +/* 08D610 8008CA10 ADC10000 */ sw $at, ($t6) +/* 08D614 8008CA14 95E10008 */ lhu $at, 8($t7) +/* 08D618 8008CA18 ADC80004 */ sw $t0, 4($t6) +/* 08D61C 8008CA1C 00808025 */ move $s0, $a0 +/* 08D620 8008CA20 A5C10008 */ sh $at, 8($t6) +/* 08D624 8008CA24 94890046 */ lhu $t1, 0x46($a0) +/* 08D628 8008CA28 24010040 */ li $at, 64 +/* 08D62C 8008CA2C A4800206 */ sh $zero, 0x206($a0) +/* 08D630 8008CA30 312A0040 */ andi $t2, $t1, 0x40 +/* 08D634 8008CA34 15410005 */ bne $t2, $at, .L8008CA4C +/* 08D638 8008CA38 A48000C4 */ sh $zero, 0xc4($a0) +/* 08D63C 8008CA3C 0C00C7D2 */ jal func_80031F48 +/* 08D640 8008CA40 3C0542C8 */ lui $a1, 0x42c8 +/* 08D644 8008CA44 10000015 */ b .L8008CA9C +/* 08D648 8008CA48 8E1800BC */ lw $t8, 0xbc($s0) +.L8008CA4C: +/* 08D64C 8008CA4C 960B0000 */ lhu $t3, ($s0) +/* 08D650 8008CA50 24014000 */ li $at, 16384 +/* 08D654 8008CA54 3C053F80 */ lui $a1, 0x3f80 +/* 08D658 8008CA58 316C4000 */ andi $t4, $t3, 0x4000 +/* 08D65C 8008CA5C 15810005 */ bne $t4, $at, .L8008CA74 +/* 08D660 8008CA60 02002025 */ move $a0, $s0 +/* 08D664 8008CA64 0C00C7D2 */ jal func_80031F48 +/* 08D668 8008CA68 02002025 */ move $a0, $s0 +/* 08D66C 8008CA6C 10000004 */ b .L8008CA80 +/* 08D670 8008CA70 960D0000 */ lhu $t5, ($s0) +.L8008CA74: +/* 08D674 8008CA74 0C00C7D2 */ jal func_80031F48 +/* 08D678 8008CA78 3C054080 */ lui $a1, 0x4080 +/* 08D67C 8008CA7C 960D0000 */ lhu $t5, ($s0) +.L8008CA80: +/* 08D680 8008CA80 02002025 */ move $a0, $s0 +/* 08D684 8008CA84 31B94000 */ andi $t9, $t5, 0x4000 +/* 08D688 8008CA88 57200004 */ bnel $t9, $zero, .L8008CA9C +/* 08D68C 8008CA8C 8E1800BC */ lw $t8, 0xbc($s0) +/* 08D690 8008CA90 0C00C7D2 */ jal func_80031F48 +/* 08D694 8008CA94 3C0541F0 */ lui $a1, 0x41f0 +/* 08D698 8008CA98 8E1800BC */ lw $t8, 0xbc($s0) +.L8008CA9C: +/* 08D69C 8008CA9C 24010080 */ li $at, 128 +/* 08D6A0 8008CAA0 330E0080 */ andi $t6, $t8, 0x80 +/* 08D6A4 8008CAA4 55C10057 */ bnel $t6, $at, .L8008CC04 +/* 08D6A8 8008CAA8 860C00B2 */ lh $t4, 0xb2($s0) +/* 08D6AC 8008CAAC 860F00B2 */ lh $t7, 0xb2($s0) +/* 08D6B0 8008CAB0 27A60030 */ addiu $a2, $sp, 0x30 +/* 08D6B4 8008CAB4 8609002E */ lh $t1, 0x2e($s0) +/* 08D6B8 8008CAB8 000F4040 */ sll $t0, $t7, 1 +/* 08D6BC 8008CABC 00C82021 */ addu $a0, $a2, $t0 +/* 08D6C0 8008CAC0 848A0000 */ lh $t2, ($a0) +/* 08D6C4 8008CAC4 3C198019 */ lui $t9, %hi(D_8018D920) # $t9, 0x8019 +/* 08D6C8 8008CAC8 2739D920 */ addiu $t9, %lo(D_8018D920) # addiu $t9, $t9, -0x26e0 +/* 08D6CC 8008CACC 012A5823 */ subu $t3, $t1, $t2 +/* 08D6D0 8008CAD0 A60B002E */ sh $t3, 0x2e($s0) +/* 08D6D4 8008CAD4 83AC0047 */ lb $t4, 0x47($sp) +/* 08D6D8 8008CAD8 848E0000 */ lh $t6, ($a0) +/* 08D6DC 8008CADC 240100B6 */ li $at, 182 +/* 08D6E0 8008CAE0 000C6840 */ sll $t5, $t4, 1 +/* 08D6E4 8008CAE4 01B91021 */ addu $v0, $t5, $t9 +/* 08D6E8 8008CAE8 84580000 */ lh $t8, ($v0) +/* 08D6EC 8008CAEC 240D0168 */ li $t5, 360 +/* 08D6F0 8008CAF0 030E7823 */ subu $t7, $t8, $t6 +/* 08D6F4 8008CAF4 A44F0000 */ sh $t7, ($v0) +/* 08D6F8 8008CAF8 860300B2 */ lh $v1, 0xb2($s0) +/* 08D6FC 8008CAFC 3C180001 */ lui $t8, 1 +/* 08D700 8008CB00 31E8FFFF */ andi $t0, $t7, 0xffff +/* 08D704 8008CB04 00034840 */ sll $t1, $v1, 1 +/* 08D708 8008CB08 00C95021 */ addu $t2, $a2, $t1 +/* 08D70C 8008CB0C 854B0000 */ lh $t3, ($t2) +/* 08D710 8008CB10 246AFFFF */ addiu $t2, $v1, -1 +/* 08D714 8008CB14 0161001A */ div $zero, $t3, $at +/* 08D718 8008CB18 00006012 */ mflo $t4 +/* 08D71C 8008CB1C 00000000 */ nop +/* 08D720 8008CB20 00000000 */ nop +/* 08D724 8008CB24 01AC001A */ div $zero, $t5, $t4 +/* 08D728 8008CB28 0000C812 */ mflo $t9 +/* 08D72C 8008CB2C 15800002 */ bnez $t4, .L8008CB38 +/* 08D730 8008CB30 00000000 */ nop +/* 08D734 8008CB34 0007000D */ break 7 +.L8008CB38: +/* 08D738 8008CB38 2401FFFF */ li $at, -1 +/* 08D73C 8008CB3C 15810004 */ bne $t4, $at, .L8008CB50 +/* 08D740 8008CB40 3C018000 */ lui $at, 0x8000 +/* 08D744 8008CB44 15A10002 */ bne $t5, $at, .L8008CB50 +/* 08D748 8008CB48 00000000 */ nop +/* 08D74C 8008CB4C 0006000D */ break 6 +.L8008CB50: +/* 08D750 8008CB50 0319001A */ div $zero, $t8, $t9 +/* 08D754 8008CB54 00007012 */ mflo $t6 +/* 08D758 8008CB58 17200002 */ bnez $t9, .L8008CB64 +/* 08D75C 8008CB5C 00000000 */ nop +/* 08D760 8008CB60 0007000D */ break 7 +.L8008CB64: +/* 08D764 8008CB64 2401FFFF */ li $at, -1 +/* 08D768 8008CB68 17210004 */ bne $t9, $at, .L8008CB7C +/* 08D76C 8008CB6C 3C018000 */ lui $at, 0x8000 +/* 08D770 8008CB70 17010002 */ bne $t8, $at, .L8008CB7C +/* 08D774 8008CB74 00000000 */ nop +/* 08D778 8008CB78 0006000D */ break 6 +.L8008CB7C: +/* 08D77C 8008CB7C 010E001A */ div $zero, $t0, $t6 +/* 08D780 8008CB80 00002812 */ mflo $a1 +/* 08D784 8008CB84 00057C00 */ sll $t7, $a1, 0x10 +/* 08D788 8008CB88 000F4C03 */ sra $t1, $t7, 0x10 +/* 08D78C 8008CB8C 15C00002 */ bnez $t6, .L8008CB98 +/* 08D790 8008CB90 00000000 */ nop +/* 08D794 8008CB94 0007000D */ break 7 +.L8008CB98: +/* 08D798 8008CB98 2401FFFF */ li $at, -1 +/* 08D79C 8008CB9C 15C10004 */ bne $t6, $at, .L8008CBB0 +/* 08D7A0 8008CBA0 3C018000 */ lui $at, 0x8000 +/* 08D7A4 8008CBA4 15010002 */ bne $t0, $at, .L8008CBB0 +/* 08D7A8 8008CBA8 00000000 */ nop +/* 08D7AC 8008CBAC 0006000D */ break 6 +.L8008CBB0: +/* 08D7B0 8008CBB0 01202825 */ move $a1, $t1 +/* 08D7B4 8008CBB4 55200066 */ bnel $t1, $zero, .L8008CD50 +/* 08D7B8 8008CBB8 83A20047 */ lb $v0, 0x47($sp) +/* 08D7BC 8008CBBC A60A00B2 */ sh $t2, 0xb2($s0) +/* 08D7C0 8008CBC0 860B00B2 */ lh $t3, 0xb2($s0) +/* 08D7C4 8008CBC4 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e +/* 08D7C8 8008CBC8 5D600061 */ bgtzl $t3, .L8008CD50 +/* 08D7CC 8008CBCC 83A20047 */ lb $v0, 0x47($sp) +/* 08D7D0 8008CBD0 8DADC53C */ lw $t5, %lo(gModeSelection)($t5) +/* 08D7D4 8008CBD4 24010003 */ li $at, 3 +/* 08D7D8 8008CBD8 02002025 */ move $a0, $s0 +/* 08D7DC 8008CBDC 55A10004 */ bnel $t5, $at, .L8008CBF0 +/* 08D7E0 8008CBE0 02002025 */ move $a0, $s0 +/* 08D7E4 8008CBE4 0C01AE2D */ jal func_8006B8B4 +/* 08D7E8 8008CBE8 83A50047 */ lb $a1, 0x47($sp) +/* 08D7EC 8008CBEC 02002025 */ move $a0, $s0 +.L8008CBF0: +/* 08D7F0 8008CBF0 0C023231 */ jal func_8008C8C4 +/* 08D7F4 8008CBF4 83A50047 */ lb $a1, 0x47($sp) +/* 08D7F8 8008CBF8 10000055 */ b .L8008CD50 +/* 08D7FC 8008CBFC 83A20047 */ lb $v0, 0x47($sp) +/* 08D800 8008CC00 860C00B2 */ lh $t4, 0xb2($s0) +.L8008CC04: +/* 08D804 8008CC04 27B90030 */ addiu $t9, $sp, 0x30 +/* 08D808 8008CC08 8608002E */ lh $t0, 0x2e($s0) +/* 08D80C 8008CC0C 000CC040 */ sll $t8, $t4, 1 +/* 08D810 8008CC10 03192021 */ addu $a0, $t8, $t9 +/* 08D814 8008CC14 848E0000 */ lh $t6, ($a0) +/* 08D818 8008CC18 3C0B8019 */ lui $t3, %hi(D_8018D920) # $t3, 0x8019 +/* 08D81C 8008CC1C 256BD920 */ addiu $t3, %lo(D_8018D920) # addiu $t3, $t3, -0x26e0 +/* 08D820 8008CC20 010E7821 */ addu $t7, $t0, $t6 +/* 08D824 8008CC24 A60F002E */ sh $t7, 0x2e($s0) +/* 08D828 8008CC28 83A90047 */ lb $t1, 0x47($sp) +/* 08D82C 8008CC2C 848C0000 */ lh $t4, ($a0) +/* 08D830 8008CC30 240100B6 */ li $at, 182 +/* 08D834 8008CC34 00095040 */ sll $t2, $t1, 1 +/* 08D838 8008CC38 014B1021 */ addu $v0, $t2, $t3 +/* 08D83C 8008CC3C 844D0000 */ lh $t5, ($v0) +/* 08D840 8008CC40 24090168 */ li $t1, 360 +/* 08D844 8008CC44 3C0B0001 */ lui $t3, 1 +/* 08D848 8008CC48 01ACC023 */ subu $t8, $t5, $t4 +/* 08D84C 8008CC4C A4580000 */ sh $t8, ($v0) +/* 08D850 8008CC50 860300B2 */ lh $v1, 0xb2($s0) +/* 08D854 8008CC54 3319FFFF */ andi $t9, $t8, 0xffff +/* 08D858 8008CC58 00034040 */ sll $t0, $v1, 1 +/* 08D85C 8008CC5C 03A87021 */ addu $t6, $sp, $t0 +/* 08D860 8008CC60 85CE0030 */ lh $t6, 0x30($t6) +/* 08D864 8008CC64 2468FFFF */ addiu $t0, $v1, -1 +/* 08D868 8008CC68 01C1001A */ div $zero, $t6, $at +/* 08D86C 8008CC6C 00007812 */ mflo $t7 +/* 08D870 8008CC70 00000000 */ nop +/* 08D874 8008CC74 00000000 */ nop +/* 08D878 8008CC78 012F001A */ div $zero, $t1, $t7 +/* 08D87C 8008CC7C 00005012 */ mflo $t2 +/* 08D880 8008CC80 15E00002 */ bnez $t7, .L8008CC8C +/* 08D884 8008CC84 00000000 */ nop +/* 08D888 8008CC88 0007000D */ break 7 +.L8008CC8C: +/* 08D88C 8008CC8C 2401FFFF */ li $at, -1 +/* 08D890 8008CC90 15E10004 */ bne $t7, $at, .L8008CCA4 +/* 08D894 8008CC94 3C018000 */ lui $at, 0x8000 +/* 08D898 8008CC98 15210002 */ bne $t1, $at, .L8008CCA4 +/* 08D89C 8008CC9C 00000000 */ nop +/* 08D8A0 8008CCA0 0006000D */ break 6 +.L8008CCA4: +/* 08D8A4 8008CCA4 016A001A */ div $zero, $t3, $t2 +/* 08D8A8 8008CCA8 00006812 */ mflo $t5 +/* 08D8AC 8008CCAC 15400002 */ bnez $t2, .L8008CCB8 +/* 08D8B0 8008CCB0 00000000 */ nop +/* 08D8B4 8008CCB4 0007000D */ break 7 +.L8008CCB8: +/* 08D8B8 8008CCB8 2401FFFF */ li $at, -1 +/* 08D8BC 8008CCBC 15410004 */ bne $t2, $at, .L8008CCD0 +/* 08D8C0 8008CCC0 3C018000 */ lui $at, 0x8000 +/* 08D8C4 8008CCC4 15610002 */ bne $t3, $at, .L8008CCD0 +/* 08D8C8 8008CCC8 00000000 */ nop +/* 08D8CC 8008CCCC 0006000D */ break 6 +.L8008CCD0: +/* 08D8D0 8008CCD0 032D001A */ div $zero, $t9, $t5 +/* 08D8D4 8008CCD4 00002812 */ mflo $a1 +/* 08D8D8 8008CCD8 00056400 */ sll $t4, $a1, 0x10 +/* 08D8DC 8008CCDC 000CC403 */ sra $t8, $t4, 0x10 +/* 08D8E0 8008CCE0 15A00002 */ bnez $t5, .L8008CCEC +/* 08D8E4 8008CCE4 00000000 */ nop +/* 08D8E8 8008CCE8 0007000D */ break 7 +.L8008CCEC: +/* 08D8EC 8008CCEC 2401FFFF */ li $at, -1 +/* 08D8F0 8008CCF0 15A10004 */ bne $t5, $at, .L8008CD04 +/* 08D8F4 8008CCF4 3C018000 */ lui $at, 0x8000 +/* 08D8F8 8008CCF8 17210002 */ bne $t9, $at, .L8008CD04 +/* 08D8FC 8008CCFC 00000000 */ nop +/* 08D900 8008CD00 0006000D */ break 6 +.L8008CD04: +/* 08D904 8008CD04 03002825 */ move $a1, $t8 +/* 08D908 8008CD08 57000011 */ bnel $t8, $zero, .L8008CD50 +/* 08D90C 8008CD0C 83A20047 */ lb $v0, 0x47($sp) +/* 08D910 8008CD10 A60800B2 */ sh $t0, 0xb2($s0) +/* 08D914 8008CD14 860E00B2 */ lh $t6, 0xb2($s0) +/* 08D918 8008CD18 02002025 */ move $a0, $s0 +/* 08D91C 8008CD1C 5DC0000C */ bgtzl $t6, .L8008CD50 +/* 08D920 8008CD20 83A20047 */ lb $v0, 0x47($sp) +/* 08D924 8008CD24 0C023231 */ jal func_8008C8C4 +/* 08D928 8008CD28 83A50047 */ lb $a1, 0x47($sp) +/* 08D92C 8008CD2C 3C09800E */ lui $t1, %hi(gModeSelection) # $t1, 0x800e +/* 08D930 8008CD30 8D29C53C */ lw $t1, %lo(gModeSelection)($t1) +/* 08D934 8008CD34 24010003 */ li $at, 3 +/* 08D938 8008CD38 02002025 */ move $a0, $s0 +/* 08D93C 8008CD3C 55210004 */ bnel $t1, $at, .L8008CD50 +/* 08D940 8008CD40 83A20047 */ lb $v0, 0x47($sp) +/* 08D944 8008CD44 0C01AE2D */ jal func_8006B8B4 +/* 08D948 8008CD48 83A50047 */ lb $a1, 0x47($sp) +/* 08D94C 8008CD4C 83A20047 */ lb $v0, 0x47($sp) +.L8008CD50: +/* 08D950 8008CD50 3C0B8016 */ lui $t3, %hi(D_80165460) # 0x8016 +/* 08D954 8008CD54 24010001 */ li $at, 1 +/* 08D958 8008CD58 00027880 */ sll $t7, $v0, 2 +/* 08D95C 8008CD5C 016F5821 */ addu $t3, $t3, $t7 +/* 08D960 8008CD60 8D6B5460 */ lw $t3, %lo(D_80165460)($t3) # 0x5460($t3) +/* 08D964 8008CD64 55610012 */ bnel $t3, $at, .L8008CDB0 +/* 08D968 8008CD68 8FBF001C */ lw $ra, 0x1c($sp) +/* 08D96C 8008CD6C 960A0000 */ lhu $t2, ($s0) +/* 08D970 8008CD70 24014000 */ li $at, 16384 +/* 08D974 8008CD74 240D0078 */ li $t5, 120 +/* 08D978 8008CD78 31594000 */ andi $t9, $t2, 0x4000 +/* 08D97C 8008CD7C 1721000B */ bne $t9, $at, .L8008CDAC +/* 08D980 8008CD80 3C0142B4 */ li $at, 0x42B40000 # 90.000000 +/* 08D984 8008CD84 44810000 */ mtc1 $at, $f0 +/* 08D988 8008CD88 3C018016 */ lui $at, %hi(D_80165480) # 0x8016 +/* 08D98C 8008CD8C 002F0821 */ addu $at, $at, $t7 +/* 08D990 8008CD90 AC2D5480 */ sw $t5, %lo(D_80165480)($at) # 0x5480($at) +/* 08D994 8008CD94 C604009C */ lwc1 $f4, 0x9c($s0) +/* 08D998 8008CD98 4600203E */ c.le.s $f4, $f0 +/* 08D99C 8008CD9C 00000000 */ nop +/* 08D9A0 8008CDA0 45020003 */ bc1fl .L8008CDB0 +/* 08D9A4 8008CDA4 8FBF001C */ lw $ra, 0x1c($sp) +/* 08D9A8 8008CDA8 E600009C */ swc1 $f0, 0x9c($s0) +.L8008CDAC: +/* 08D9AC 8008CDAC 8FBF001C */ lw $ra, 0x1c($sp) +.L8008CDB0: +/* 08D9B0 8008CDB0 8FB00018 */ lw $s0, 0x18($sp) +/* 08D9B4 8008CDB4 27BD0040 */ addiu $sp, $sp, 0x40 +/* 08D9B8 8008CDB8 03E00008 */ jr $ra +/* 08D9BC 8008CDBC 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008CEB0.s b/asm/non_matchings/code_8008C1D0/func_8008CEB0.s index c8d973b5b..7bc92c6a7 100644 --- a/asm/non_matchings/code_8008C1D0/func_8008CEB0.s +++ b/asm/non_matchings/code_8008C1D0/func_8008CEB0.s @@ -1,149 +1,149 @@ -glabel func_8008CEB0 -/* 08DAB0 8008CEB0 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08DAB4 8008CEB4 AFBF001C */ sw $ra, 0x1c($sp) -/* 08DAB8 8008CEB8 AFB00018 */ sw $s0, 0x18($sp) -/* 08DABC 8008CEBC AFA50034 */ sw $a1, 0x34($sp) -/* 08DAC0 8008CEC0 848300B4 */ lh $v1, 0xb4($a0) -/* 08DAC4 8008CEC4 3C01800F */ lui $at, %hi(D_800EF540) -/* 08DAC8 8008CEC8 D424F540 */ ldc1 $f4, %lo(D_800EF540)($at) -/* 08DACC 8008CECC 24630001 */ addiu $v1, $v1, 1 -/* 08DAD0 8008CED0 00037400 */ sll $t6, $v1, 0x10 -/* 08DAD4 8008CED4 000E1C03 */ sra $v1, $t6, 0x10 -/* 08DAD8 8008CED8 00630019 */ multu $v1, $v1 -/* 08DADC 8008CEDC 44838000 */ mtc1 $v1, $f16 -/* 08DAE0 8008CEE0 C48000B8 */ lwc1 $f0, 0xb8($a0) -/* 08DAE4 8008CEE4 00808025 */ move $s0, $a0 -/* 08DAE8 8008CEE8 468084A0 */ cvt.s.w $f18, $f16 -/* 08DAEC 8008CEEC 848700AC */ lh $a3, 0xac($a0) -/* 08DAF0 8008CEF0 0000C012 */ mflo $t8 -/* 08DAF4 8008CEF4 44983000 */ mtc1 $t8, $f6 -/* 08DAF8 8008CEF8 00000000 */ nop -/* 08DAFC 8008CEFC 46803221 */ cvt.d.w $f8, $f6 -/* 08DB00 8008CF00 46282282 */ mul.d $f10, $f4, $f8 -/* 08DB04 8008CF04 00000000 */ nop -/* 08DB08 8008CF08 46009182 */ mul.s $f6, $f18, $f0 -/* 08DB0C 8008CF0C 46003121 */ cvt.d.s $f4, $f6 -/* 08DB10 8008CF10 462A2201 */ sub.d $f8, $f4, $f10 -/* 08DB14 8008CF14 4620440D */ trunc.w.d $f16, $f8 -/* 08DB18 8008CF18 44028000 */ mfc1 $v0, $f16 -/* 08DB1C 8008CF1C 00000000 */ nop -/* 08DB20 8008CF20 00023400 */ sll $a2, $v0, 0x10 -/* 08DB24 8008CF24 00064403 */ sra $t0, $a2, 0x10 -/* 08DB28 8008CF28 10600047 */ beqz $v1, .L8008D048 -/* 08DB2C 8008CF2C 01003025 */ move $a2, $t0 -/* 08DB30 8008CF30 00024C00 */ sll $t1, $v0, 0x10 -/* 08DB34 8008CF34 00095403 */ sra $t2, $t1, 0x10 -/* 08DB38 8008CF38 05410043 */ bgez $t2, .L8008D048 -/* 08DB3C 8008CF3C 3C01800F */ lui $at, %hi(D_800EF548) -/* 08DB40 8008CF40 D426F548 */ ldc1 $f6, %lo(D_800EF548)($at) -/* 08DB44 8008CF44 460004A1 */ cvt.d.s $f18, $f0 -/* 08DB48 8008CF48 8C8200BC */ lw $v0, 0xbc($a0) -/* 08DB4C 8008CF4C 46269102 */ mul.d $f4, $f18, $f6 -/* 08DB50 8008CF50 00073823 */ negu $a3, $a3 -/* 08DB54 8008CF54 00075C00 */ sll $t3, $a3, 0x10 -/* 08DB58 8008CF58 24010001 */ li $at, 1 -/* 08DB5C 8008CF5C 304D0001 */ andi $t5, $v0, 1 -/* 08DB60 8008CF60 00001825 */ move $v1, $zero -/* 08DB64 8008CF64 000B3C03 */ sra $a3, $t3, 0x10 -/* 08DB68 8008CF68 15A10004 */ bne $t5, $at, .L8008CF7C -/* 08DB6C 8008CF6C 46202020 */ cvt.s.d $f0, $f4 -/* 08DB70 8008CF70 3C040004 */ lui $a0, 4 -/* 08DB74 8008CF74 00447025 */ or $t6, $v0, $a0 -/* 08DB78 8008CF78 AE0E00BC */ sw $t6, 0xbc($s0) -.L8008CF7C: -/* 08DB7C 8008CF7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 08DB80 8008CF80 44815000 */ mtc1 $at, $f10 -/* 08DB84 8008CF84 3C040004 */ lui $a0, 4 -/* 08DB88 8008CF88 460A003E */ c.le.s $f0, $f10 -/* 08DB8C 8008CF8C 00000000 */ nop -/* 08DB90 8008CF90 4500002D */ bc1f .L8008D048 -/* 08DB94 8008CF94 00000000 */ nop -/* 08DB98 8008CF98 8E0F00BC */ lw $t7, 0xbc($s0) -/* 08DB9C 8008CF9C 2401F7FF */ li $at, -2049 -/* 08DBA0 8008CFA0 01E11024 */ and $v0, $t7, $at -/* 08DBA4 8008CFA4 0044C824 */ and $t9, $v0, $a0 -/* 08DBA8 8008CFA8 1099000D */ beq $a0, $t9, .L8008CFE0 -/* 08DBAC 8008CFAC AE0200BC */ sw $v0, 0xbc($s0) -/* 08DBB0 8008CFB0 02002025 */ move $a0, $s0 -/* 08DBB4 8008CFB4 83A50037 */ lb $a1, 0x37($sp) -/* 08DBB8 8008CFB8 A7A3002A */ sh $v1, 0x2a($sp) -/* 08DBBC 8008CFBC A7A60026 */ sh $a2, 0x26($sp) -/* 08DBC0 8008CFC0 A7A70028 */ sh $a3, 0x28($sp) -/* 08DBC4 8008CFC4 0C0231CF */ jal func_8008C73C -/* 08DBC8 8008CFC8 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DBCC 8008CFCC 87A3002A */ lh $v1, 0x2a($sp) -/* 08DBD0 8008CFD0 87A60026 */ lh $a2, 0x26($sp) -/* 08DBD4 8008CFD4 87A70028 */ lh $a3, 0x28($sp) -/* 08DBD8 8008CFD8 1000001B */ b .L8008D048 -/* 08DBDC 8008CFDC C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008CFE0: -/* 08DBE0 8008CFE0 960800B6 */ lhu $t0, 0xb6($s0) -/* 08DBE4 8008CFE4 960B0000 */ lhu $t3, ($s0) -/* 08DBE8 8008CFE8 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 08DBEC 8008CFEC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08DBF0 8008CFF0 00415024 */ and $t2, $v0, $at -/* 08DBF4 8008CFF4 24014000 */ li $at, 16384 -/* 08DBF8 8008CFF8 35090020 */ ori $t1, $t0, 0x20 -/* 08DBFC 8008CFFC 316C4000 */ andi $t4, $t3, 0x4000 -/* 08DC00 8008D000 A60900B6 */ sh $t1, 0xb6($s0) -/* 08DC04 8008D004 15810010 */ bne $t4, $at, .L8008D048 -/* 08DC08 8008D008 AE0A00BC */ sw $t2, 0xbc($s0) -/* 08DC0C 8008D00C 96050254 */ lhu $a1, 0x254($s0) -/* 08DC10 8008D010 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 08DC14 8008D014 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 08DC18 8008D018 00056900 */ sll $t5, $a1, 4 -/* 08DC1C 8008D01C 01A12821 */ addu $a1, $t5, $at -/* 08DC20 8008D020 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DC24 8008D024 A7A70028 */ sh $a3, 0x28($sp) -/* 08DC28 8008D028 A7A60026 */ sh $a2, 0x26($sp) -/* 08DC2C 8008D02C A7A3002A */ sh $v1, 0x2a($sp) -/* 08DC30 8008D030 0C03243D */ jal func_800C90F4 -/* 08DC34 8008D034 93A40037 */ lbu $a0, 0x37($sp) -/* 08DC38 8008D038 87A3002A */ lh $v1, 0x2a($sp) -/* 08DC3C 8008D03C 87A60026 */ lh $a2, 0x26($sp) -/* 08DC40 8008D040 87A70028 */ lh $a3, 0x28($sp) -/* 08DC44 8008D044 C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008D048: -/* 08DC48 8008D048 00C70019 */ multu $a2, $a3 -/* 08DC4C 8008D04C 8E0200BC */ lw $v0, 0xbc($s0) -/* 08DC50 8008D050 24010001 */ li $at, 1 -/* 08DC54 8008D054 02002025 */ move $a0, $s0 -/* 08DC58 8008D058 30490008 */ andi $t1, $v0, 8 -/* 08DC5C 8008D05C 00003012 */ mflo $a2 -/* 08DC60 8008D060 00067400 */ sll $t6, $a2, 0x10 -/* 08DC64 8008D064 000E3403 */ sra $a2, $t6, 0x10 -/* 08DC68 8008D068 1CC00004 */ bgtz $a2, .L8008D07C -/* 08DC6C 8008D06C 00000000 */ nop -/* 08DC70 8008D070 14E10002 */ bne $a3, $at, .L8008D07C -/* 08DC74 8008D074 00000000 */ nop -/* 08DC78 8008D078 00003025 */ move $a2, $zero -.L8008D07C: -/* 08DC7C 8008D07C 04C00004 */ bltz $a2, .L8008D090 -/* 08DC80 8008D080 2401FFFF */ li $at, -1 -/* 08DC84 8008D084 54E10003 */ bnel $a3, $at, .L8008D094 -/* 08DC88 8008D088 86180078 */ lh $t8, 0x78($s0) -/* 08DC8C 8008D08C 00003025 */ move $a2, $zero -.L8008D090: -/* 08DC90 8008D090 86180078 */ lh $t8, 0x78($s0) -.L8008D094: -/* 08DC94 8008D094 0006C8C0 */ sll $t9, $a2, 3 -/* 08DC98 8008D098 0326C821 */ addu $t9, $t9, $a2 -/* 08DC9C 8008D09C 0019C840 */ sll $t9, $t9, 1 -/* 08DCA0 8008D0A0 03194021 */ addu $t0, $t8, $t9 -/* 08DCA4 8008D0A4 A6080078 */ sh $t0, 0x78($s0) -/* 08DCA8 8008D0A8 E60000B8 */ swc1 $f0, 0xb8($s0) -/* 08DCAC 8008D0AC A60300B4 */ sh $v1, 0xb4($s0) -/* 08DCB0 8008D0B0 11200007 */ beqz $t1, .L8008D0D0 -/* 08DCB4 8008D0B4 A60700AC */ sh $a3, 0xac($s0) -/* 08DCB8 8008D0B8 0C0231CF */ jal func_8008C73C -/* 08DCBC 8008D0BC 83A50037 */ lb $a1, 0x37($sp) -/* 08DCC0 8008D0C0 8E0A00BC */ lw $t2, 0xbc($s0) -/* 08DCC4 8008D0C4 2401F7FF */ li $at, -2049 -/* 08DCC8 8008D0C8 01415824 */ and $t3, $t2, $at -/* 08DCCC 8008D0CC AE0B00BC */ sw $t3, 0xbc($s0) -.L8008D0D0: -/* 08DCD0 8008D0D0 8FBF001C */ lw $ra, 0x1c($sp) -/* 08DCD4 8008D0D4 8FB00018 */ lw $s0, 0x18($sp) -/* 08DCD8 8008D0D8 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08DCDC 8008D0DC 03E00008 */ jr $ra -/* 08DCE0 8008D0E0 00000000 */ nop +glabel func_8008CEB0 +/* 08DAB0 8008CEB0 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08DAB4 8008CEB4 AFBF001C */ sw $ra, 0x1c($sp) +/* 08DAB8 8008CEB8 AFB00018 */ sw $s0, 0x18($sp) +/* 08DABC 8008CEBC AFA50034 */ sw $a1, 0x34($sp) +/* 08DAC0 8008CEC0 848300B4 */ lh $v1, 0xb4($a0) +/* 08DAC4 8008CEC4 3C01800F */ lui $at, %hi(D_800EF540) +/* 08DAC8 8008CEC8 D424F540 */ ldc1 $f4, %lo(D_800EF540)($at) +/* 08DACC 8008CECC 24630001 */ addiu $v1, $v1, 1 +/* 08DAD0 8008CED0 00037400 */ sll $t6, $v1, 0x10 +/* 08DAD4 8008CED4 000E1C03 */ sra $v1, $t6, 0x10 +/* 08DAD8 8008CED8 00630019 */ multu $v1, $v1 +/* 08DADC 8008CEDC 44838000 */ mtc1 $v1, $f16 +/* 08DAE0 8008CEE0 C48000B8 */ lwc1 $f0, 0xb8($a0) +/* 08DAE4 8008CEE4 00808025 */ move $s0, $a0 +/* 08DAE8 8008CEE8 468084A0 */ cvt.s.w $f18, $f16 +/* 08DAEC 8008CEEC 848700AC */ lh $a3, 0xac($a0) +/* 08DAF0 8008CEF0 0000C012 */ mflo $t8 +/* 08DAF4 8008CEF4 44983000 */ mtc1 $t8, $f6 +/* 08DAF8 8008CEF8 00000000 */ nop +/* 08DAFC 8008CEFC 46803221 */ cvt.d.w $f8, $f6 +/* 08DB00 8008CF00 46282282 */ mul.d $f10, $f4, $f8 +/* 08DB04 8008CF04 00000000 */ nop +/* 08DB08 8008CF08 46009182 */ mul.s $f6, $f18, $f0 +/* 08DB0C 8008CF0C 46003121 */ cvt.d.s $f4, $f6 +/* 08DB10 8008CF10 462A2201 */ sub.d $f8, $f4, $f10 +/* 08DB14 8008CF14 4620440D */ trunc.w.d $f16, $f8 +/* 08DB18 8008CF18 44028000 */ mfc1 $v0, $f16 +/* 08DB1C 8008CF1C 00000000 */ nop +/* 08DB20 8008CF20 00023400 */ sll $a2, $v0, 0x10 +/* 08DB24 8008CF24 00064403 */ sra $t0, $a2, 0x10 +/* 08DB28 8008CF28 10600047 */ beqz $v1, .L8008D048 +/* 08DB2C 8008CF2C 01003025 */ move $a2, $t0 +/* 08DB30 8008CF30 00024C00 */ sll $t1, $v0, 0x10 +/* 08DB34 8008CF34 00095403 */ sra $t2, $t1, 0x10 +/* 08DB38 8008CF38 05410043 */ bgez $t2, .L8008D048 +/* 08DB3C 8008CF3C 3C01800F */ lui $at, %hi(D_800EF548) +/* 08DB40 8008CF40 D426F548 */ ldc1 $f6, %lo(D_800EF548)($at) +/* 08DB44 8008CF44 460004A1 */ cvt.d.s $f18, $f0 +/* 08DB48 8008CF48 8C8200BC */ lw $v0, 0xbc($a0) +/* 08DB4C 8008CF4C 46269102 */ mul.d $f4, $f18, $f6 +/* 08DB50 8008CF50 00073823 */ negu $a3, $a3 +/* 08DB54 8008CF54 00075C00 */ sll $t3, $a3, 0x10 +/* 08DB58 8008CF58 24010001 */ li $at, 1 +/* 08DB5C 8008CF5C 304D0001 */ andi $t5, $v0, 1 +/* 08DB60 8008CF60 00001825 */ move $v1, $zero +/* 08DB64 8008CF64 000B3C03 */ sra $a3, $t3, 0x10 +/* 08DB68 8008CF68 15A10004 */ bne $t5, $at, .L8008CF7C +/* 08DB6C 8008CF6C 46202020 */ cvt.s.d $f0, $f4 +/* 08DB70 8008CF70 3C040004 */ lui $a0, 4 +/* 08DB74 8008CF74 00447025 */ or $t6, $v0, $a0 +/* 08DB78 8008CF78 AE0E00BC */ sw $t6, 0xbc($s0) +.L8008CF7C: +/* 08DB7C 8008CF7C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 08DB80 8008CF80 44815000 */ mtc1 $at, $f10 +/* 08DB84 8008CF84 3C040004 */ lui $a0, 4 +/* 08DB88 8008CF88 460A003E */ c.le.s $f0, $f10 +/* 08DB8C 8008CF8C 00000000 */ nop +/* 08DB90 8008CF90 4500002D */ bc1f .L8008D048 +/* 08DB94 8008CF94 00000000 */ nop +/* 08DB98 8008CF98 8E0F00BC */ lw $t7, 0xbc($s0) +/* 08DB9C 8008CF9C 2401F7FF */ li $at, -2049 +/* 08DBA0 8008CFA0 01E11024 */ and $v0, $t7, $at +/* 08DBA4 8008CFA4 0044C824 */ and $t9, $v0, $a0 +/* 08DBA8 8008CFA8 1099000D */ beq $a0, $t9, .L8008CFE0 +/* 08DBAC 8008CFAC AE0200BC */ sw $v0, 0xbc($s0) +/* 08DBB0 8008CFB0 02002025 */ move $a0, $s0 +/* 08DBB4 8008CFB4 83A50037 */ lb $a1, 0x37($sp) +/* 08DBB8 8008CFB8 A7A3002A */ sh $v1, 0x2a($sp) +/* 08DBBC 8008CFBC A7A60026 */ sh $a2, 0x26($sp) +/* 08DBC0 8008CFC0 A7A70028 */ sh $a3, 0x28($sp) +/* 08DBC4 8008CFC4 0C0231CF */ jal func_8008C73C +/* 08DBC8 8008CFC8 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 08DBCC 8008CFCC 87A3002A */ lh $v1, 0x2a($sp) +/* 08DBD0 8008CFD0 87A60026 */ lh $a2, 0x26($sp) +/* 08DBD4 8008CFD4 87A70028 */ lh $a3, 0x28($sp) +/* 08DBD8 8008CFD8 1000001B */ b .L8008D048 +/* 08DBDC 8008CFDC C7A0002C */ lwc1 $f0, 0x2c($sp) +.L8008CFE0: +/* 08DBE0 8008CFE0 960800B6 */ lhu $t0, 0xb6($s0) +/* 08DBE4 8008CFE4 960B0000 */ lhu $t3, ($s0) +/* 08DBE8 8008CFE8 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb +/* 08DBEC 8008CFEC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 08DBF0 8008CFF0 00415024 */ and $t2, $v0, $at +/* 08DBF4 8008CFF4 24014000 */ li $at, 16384 +/* 08DBF8 8008CFF8 35090020 */ ori $t1, $t0, 0x20 +/* 08DBFC 8008CFFC 316C4000 */ andi $t4, $t3, 0x4000 +/* 08DC00 8008D000 A60900B6 */ sh $t1, 0xb6($s0) +/* 08DC04 8008D004 15810010 */ bne $t4, $at, .L8008D048 +/* 08DC08 8008D008 AE0A00BC */ sw $t2, 0xbc($s0) +/* 08DC0C 8008D00C 96050254 */ lhu $a1, 0x254($s0) +/* 08DC10 8008D010 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 +/* 08DC14 8008D014 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 +/* 08DC18 8008D018 00056900 */ sll $t5, $a1, 4 +/* 08DC1C 8008D01C 01A12821 */ addu $a1, $t5, $at +/* 08DC20 8008D020 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 08DC24 8008D024 A7A70028 */ sh $a3, 0x28($sp) +/* 08DC28 8008D028 A7A60026 */ sh $a2, 0x26($sp) +/* 08DC2C 8008D02C A7A3002A */ sh $v1, 0x2a($sp) +/* 08DC30 8008D030 0C03243D */ jal func_800C90F4 +/* 08DC34 8008D034 93A40037 */ lbu $a0, 0x37($sp) +/* 08DC38 8008D038 87A3002A */ lh $v1, 0x2a($sp) +/* 08DC3C 8008D03C 87A60026 */ lh $a2, 0x26($sp) +/* 08DC40 8008D040 87A70028 */ lh $a3, 0x28($sp) +/* 08DC44 8008D044 C7A0002C */ lwc1 $f0, 0x2c($sp) +.L8008D048: +/* 08DC48 8008D048 00C70019 */ multu $a2, $a3 +/* 08DC4C 8008D04C 8E0200BC */ lw $v0, 0xbc($s0) +/* 08DC50 8008D050 24010001 */ li $at, 1 +/* 08DC54 8008D054 02002025 */ move $a0, $s0 +/* 08DC58 8008D058 30490008 */ andi $t1, $v0, 8 +/* 08DC5C 8008D05C 00003012 */ mflo $a2 +/* 08DC60 8008D060 00067400 */ sll $t6, $a2, 0x10 +/* 08DC64 8008D064 000E3403 */ sra $a2, $t6, 0x10 +/* 08DC68 8008D068 1CC00004 */ bgtz $a2, .L8008D07C +/* 08DC6C 8008D06C 00000000 */ nop +/* 08DC70 8008D070 14E10002 */ bne $a3, $at, .L8008D07C +/* 08DC74 8008D074 00000000 */ nop +/* 08DC78 8008D078 00003025 */ move $a2, $zero +.L8008D07C: +/* 08DC7C 8008D07C 04C00004 */ bltz $a2, .L8008D090 +/* 08DC80 8008D080 2401FFFF */ li $at, -1 +/* 08DC84 8008D084 54E10003 */ bnel $a3, $at, .L8008D094 +/* 08DC88 8008D088 86180078 */ lh $t8, 0x78($s0) +/* 08DC8C 8008D08C 00003025 */ move $a2, $zero +.L8008D090: +/* 08DC90 8008D090 86180078 */ lh $t8, 0x78($s0) +.L8008D094: +/* 08DC94 8008D094 0006C8C0 */ sll $t9, $a2, 3 +/* 08DC98 8008D098 0326C821 */ addu $t9, $t9, $a2 +/* 08DC9C 8008D09C 0019C840 */ sll $t9, $t9, 1 +/* 08DCA0 8008D0A0 03194021 */ addu $t0, $t8, $t9 +/* 08DCA4 8008D0A4 A6080078 */ sh $t0, 0x78($s0) +/* 08DCA8 8008D0A8 E60000B8 */ swc1 $f0, 0xb8($s0) +/* 08DCAC 8008D0AC A60300B4 */ sh $v1, 0xb4($s0) +/* 08DCB0 8008D0B0 11200007 */ beqz $t1, .L8008D0D0 +/* 08DCB4 8008D0B4 A60700AC */ sh $a3, 0xac($s0) +/* 08DCB8 8008D0B8 0C0231CF */ jal func_8008C73C +/* 08DCBC 8008D0BC 83A50037 */ lb $a1, 0x37($sp) +/* 08DCC0 8008D0C0 8E0A00BC */ lw $t2, 0xbc($s0) +/* 08DCC4 8008D0C4 2401F7FF */ li $at, -2049 +/* 08DCC8 8008D0C8 01415824 */ and $t3, $t2, $at +/* 08DCCC 8008D0CC AE0B00BC */ sw $t3, 0xbc($s0) +.L8008D0D0: +/* 08DCD0 8008D0D0 8FBF001C */ lw $ra, 0x1c($sp) +/* 08DCD4 8008D0D4 8FB00018 */ lw $s0, 0x18($sp) +/* 08DCD8 8008D0D8 27BD0030 */ addiu $sp, $sp, 0x30 +/* 08DCDC 8008D0DC 03E00008 */ jr $ra +/* 08DCE0 8008D0E0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008D170.s b/asm/non_matchings/code_8008C1D0/func_8008D170.s index 3a8ea16b9..132fd7d40 100644 --- a/asm/non_matchings/code_8008C1D0/func_8008D170.s +++ b/asm/non_matchings/code_8008C1D0/func_8008D170.s @@ -1,153 +1,153 @@ -glabel func_8008D170 -/* 08DD70 8008D170 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 08DD74 8008D174 AFBF001C */ sw $ra, 0x1c($sp) -/* 08DD78 8008D178 AFB00018 */ sw $s0, 0x18($sp) -/* 08DD7C 8008D17C AFA50034 */ sw $a1, 0x34($sp) -/* 08DD80 8008D180 848300B4 */ lh $v1, 0xb4($a0) -/* 08DD84 8008D184 3C01800F */ lui $at, %hi(D_800EF550) -/* 08DD88 8008D188 D424F550 */ ldc1 $f4, %lo(D_800EF550)($at) -/* 08DD8C 8008D18C 24630001 */ addiu $v1, $v1, 1 -/* 08DD90 8008D190 00037400 */ sll $t6, $v1, 0x10 -/* 08DD94 8008D194 000E1C03 */ sra $v1, $t6, 0x10 -/* 08DD98 8008D198 00630019 */ multu $v1, $v1 -/* 08DD9C 8008D19C 44838000 */ mtc1 $v1, $f16 -/* 08DDA0 8008D1A0 C48000B8 */ lwc1 $f0, 0xb8($a0) -/* 08DDA4 8008D1A4 00808025 */ move $s0, $a0 -/* 08DDA8 8008D1A8 468084A0 */ cvt.s.w $f18, $f16 -/* 08DDAC 8008D1AC 848700AC */ lh $a3, 0xac($a0) -/* 08DDB0 8008D1B0 0000C012 */ mflo $t8 -/* 08DDB4 8008D1B4 44983000 */ mtc1 $t8, $f6 -/* 08DDB8 8008D1B8 00000000 */ nop -/* 08DDBC 8008D1BC 46803221 */ cvt.d.w $f8, $f6 -/* 08DDC0 8008D1C0 46282282 */ mul.d $f10, $f4, $f8 -/* 08DDC4 8008D1C4 00000000 */ nop -/* 08DDC8 8008D1C8 46009182 */ mul.s $f6, $f18, $f0 -/* 08DDCC 8008D1CC 46003121 */ cvt.d.s $f4, $f6 -/* 08DDD0 8008D1D0 462A2201 */ sub.d $f8, $f4, $f10 -/* 08DDD4 8008D1D4 4620440D */ trunc.w.d $f16, $f8 -/* 08DDD8 8008D1D8 44028000 */ mfc1 $v0, $f16 -/* 08DDDC 8008D1DC 00000000 */ nop -/* 08DDE0 8008D1E0 00023400 */ sll $a2, $v0, 0x10 -/* 08DDE4 8008D1E4 00064403 */ sra $t0, $a2, 0x10 -/* 08DDE8 8008D1E8 1060004B */ beqz $v1, .L8008D318 -/* 08DDEC 8008D1EC 01003025 */ move $a2, $t0 -/* 08DDF0 8008D1F0 00024C00 */ sll $t1, $v0, 0x10 -/* 08DDF4 8008D1F4 00095403 */ sra $t2, $t1, 0x10 -/* 08DDF8 8008D1F8 05410047 */ bgez $t2, .L8008D318 -/* 08DDFC 8008D1FC 3C01800F */ lui $at, %hi(D_800EF558) -/* 08DE00 8008D200 D426F558 */ ldc1 $f6, %lo(D_800EF558)($at) -/* 08DE04 8008D204 460004A1 */ cvt.d.s $f18, $f0 -/* 08DE08 8008D208 8C8200BC */ lw $v0, 0xbc($a0) -/* 08DE0C 8008D20C 46269102 */ mul.d $f4, $f18, $f6 -/* 08DE10 8008D210 00073823 */ negu $a3, $a3 -/* 08DE14 8008D214 00075C00 */ sll $t3, $a3, 0x10 -/* 08DE18 8008D218 24010001 */ li $at, 1 -/* 08DE1C 8008D21C 304D0001 */ andi $t5, $v0, 1 -/* 08DE20 8008D220 00001825 */ move $v1, $zero -/* 08DE24 8008D224 000B3C03 */ sra $a3, $t3, 0x10 -/* 08DE28 8008D228 11A10004 */ beq $t5, $at, .L8008D23C -/* 08DE2C 8008D22C 46202020 */ cvt.s.d $f0, $f4 -/* 08DE30 8008D230 848E0044 */ lh $t6, 0x44($a0) -/* 08DE34 8008D234 31CF0020 */ andi $t7, $t6, 0x20 -/* 08DE38 8008D238 15E00003 */ bnez $t7, .L8008D248 -.L8008D23C: -/* 08DE3C 8008D23C 3C040004 */ lui $a0, 4 -/* 08DE40 8008D240 0044C025 */ or $t8, $v0, $a0 -/* 08DE44 8008D244 AE1800BC */ sw $t8, 0xbc($s0) -.L8008D248: -/* 08DE48 8008D248 3C01800F */ lui $at, %hi(D_800EF560) -/* 08DE4C 8008D24C D42AF560 */ ldc1 $f10, %lo(D_800EF560)($at) -/* 08DE50 8008D250 46000221 */ cvt.d.s $f8, $f0 -/* 08DE54 8008D254 3C040004 */ lui $a0, 4 -/* 08DE58 8008D258 462A403E */ c.le.d $f8, $f10 -/* 08DE5C 8008D25C 00000000 */ nop -/* 08DE60 8008D260 4500002D */ bc1f .L8008D318 -/* 08DE64 8008D264 00000000 */ nop -/* 08DE68 8008D268 86190044 */ lh $t9, 0x44($s0) -/* 08DE6C 8008D26C 8E0200BC */ lw $v0, 0xbc($s0) -/* 08DE70 8008D270 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb -/* 08DE74 8008D274 3328BFFF */ andi $t0, $t9, 0xbfff -/* 08DE78 8008D278 00444824 */ and $t1, $v0, $a0 -/* 08DE7C 8008D27C 1089000D */ beq $a0, $t1, .L8008D2B4 -/* 08DE80 8008D280 A6080044 */ sh $t0, 0x44($s0) -/* 08DE84 8008D284 02002025 */ move $a0, $s0 -/* 08DE88 8008D288 83A50037 */ lb $a1, 0x37($sp) -/* 08DE8C 8008D28C A7A3002A */ sh $v1, 0x2a($sp) -/* 08DE90 8008D290 A7A60026 */ sh $a2, 0x26($sp) -/* 08DE94 8008D294 A7A70028 */ sh $a3, 0x28($sp) -/* 08DE98 8008D298 0C0231CF */ jal func_8008C73C -/* 08DE9C 8008D29C E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DEA0 8008D2A0 87A3002A */ lh $v1, 0x2a($sp) -/* 08DEA4 8008D2A4 87A60026 */ lh $a2, 0x26($sp) -/* 08DEA8 8008D2A8 87A70028 */ lh $a3, 0x28($sp) -/* 08DEAC 8008D2AC 1000001A */ b .L8008D318 -/* 08DEB0 8008D2B0 C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008D2B4: -/* 08DEB4 8008D2B4 960A00B6 */ lhu $t2, 0xb6($s0) -/* 08DEB8 8008D2B8 960D0000 */ lhu $t5, ($s0) -/* 08DEBC 8008D2BC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 08DEC0 8008D2C0 00416024 */ and $t4, $v0, $at -/* 08DEC4 8008D2C4 24014000 */ li $at, 16384 -/* 08DEC8 8008D2C8 354B0020 */ ori $t3, $t2, 0x20 -/* 08DECC 8008D2CC 31AE4000 */ andi $t6, $t5, 0x4000 -/* 08DED0 8008D2D0 A60B00B6 */ sh $t3, 0xb6($s0) -/* 08DED4 8008D2D4 15C10010 */ bne $t6, $at, .L8008D318 -/* 08DED8 8008D2D8 AE0C00BC */ sw $t4, 0xbc($s0) -/* 08DEDC 8008D2DC 96050254 */ lhu $a1, 0x254($s0) -/* 08DEE0 8008D2E0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 -/* 08DEE4 8008D2E4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 -/* 08DEE8 8008D2E8 00057900 */ sll $t7, $a1, 4 -/* 08DEEC 8008D2EC 01E12821 */ addu $a1, $t7, $at -/* 08DEF0 8008D2F0 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 08DEF4 8008D2F4 A7A70028 */ sh $a3, 0x28($sp) -/* 08DEF8 8008D2F8 A7A60026 */ sh $a2, 0x26($sp) -/* 08DEFC 8008D2FC A7A3002A */ sh $v1, 0x2a($sp) -/* 08DF00 8008D300 0C03243D */ jal func_800C90F4 -/* 08DF04 8008D304 93A40037 */ lbu $a0, 0x37($sp) -/* 08DF08 8008D308 87A3002A */ lh $v1, 0x2a($sp) -/* 08DF0C 8008D30C 87A60026 */ lh $a2, 0x26($sp) -/* 08DF10 8008D310 87A70028 */ lh $a3, 0x28($sp) -/* 08DF14 8008D314 C7A0002C */ lwc1 $f0, 0x2c($sp) -.L8008D318: -/* 08DF18 8008D318 00C70019 */ multu $a2, $a3 -/* 08DF1C 8008D31C 8E0200BC */ lw $v0, 0xbc($s0) -/* 08DF20 8008D320 24010001 */ li $at, 1 -/* 08DF24 8008D324 02002025 */ move $a0, $s0 -/* 08DF28 8008D328 304B0008 */ andi $t3, $v0, 8 -/* 08DF2C 8008D32C 00003012 */ mflo $a2 -/* 08DF30 8008D330 0006C400 */ sll $t8, $a2, 0x10 -/* 08DF34 8008D334 00183403 */ sra $a2, $t8, 0x10 -/* 08DF38 8008D338 1CC00004 */ bgtz $a2, .L8008D34C -/* 08DF3C 8008D33C 00000000 */ nop -/* 08DF40 8008D340 14E10002 */ bne $a3, $at, .L8008D34C -/* 08DF44 8008D344 00000000 */ nop -/* 08DF48 8008D348 00003025 */ move $a2, $zero -.L8008D34C: -/* 08DF4C 8008D34C 04C00004 */ bltz $a2, .L8008D360 -/* 08DF50 8008D350 2401FFFF */ li $at, -1 -/* 08DF54 8008D354 54E10003 */ bnel $a3, $at, .L8008D364 -/* 08DF58 8008D358 86080078 */ lh $t0, 0x78($s0) -/* 08DF5C 8008D35C 00003025 */ move $a2, $zero -.L8008D360: -/* 08DF60 8008D360 86080078 */ lh $t0, 0x78($s0) -.L8008D364: -/* 08DF64 8008D364 00064880 */ sll $t1, $a2, 2 -/* 08DF68 8008D368 01264821 */ addu $t1, $t1, $a2 -/* 08DF6C 8008D36C 00094880 */ sll $t1, $t1, 2 -/* 08DF70 8008D370 01095021 */ addu $t2, $t0, $t1 -/* 08DF74 8008D374 A60A0078 */ sh $t2, 0x78($s0) -/* 08DF78 8008D378 E60000B8 */ swc1 $f0, 0xb8($s0) -/* 08DF7C 8008D37C A60300B4 */ sh $v1, 0xb4($s0) -/* 08DF80 8008D380 11600006 */ beqz $t3, .L8008D39C -/* 08DF84 8008D384 A60700AC */ sh $a3, 0xac($s0) -/* 08DF88 8008D388 0C0231CF */ jal func_8008C73C -/* 08DF8C 8008D38C 83A50037 */ lb $a1, 0x37($sp) -/* 08DF90 8008D390 860C0044 */ lh $t4, 0x44($s0) -/* 08DF94 8008D394 318DBFFF */ andi $t5, $t4, 0xbfff -/* 08DF98 8008D398 A60D0044 */ sh $t5, 0x44($s0) -.L8008D39C: -/* 08DF9C 8008D39C 8FBF001C */ lw $ra, 0x1c($sp) -/* 08DFA0 8008D3A0 8FB00018 */ lw $s0, 0x18($sp) -/* 08DFA4 8008D3A4 27BD0030 */ addiu $sp, $sp, 0x30 -/* 08DFA8 8008D3A8 03E00008 */ jr $ra -/* 08DFAC 8008D3AC 00000000 */ nop +glabel func_8008D170 +/* 08DD70 8008D170 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 08DD74 8008D174 AFBF001C */ sw $ra, 0x1c($sp) +/* 08DD78 8008D178 AFB00018 */ sw $s0, 0x18($sp) +/* 08DD7C 8008D17C AFA50034 */ sw $a1, 0x34($sp) +/* 08DD80 8008D180 848300B4 */ lh $v1, 0xb4($a0) +/* 08DD84 8008D184 3C01800F */ lui $at, %hi(D_800EF550) +/* 08DD88 8008D188 D424F550 */ ldc1 $f4, %lo(D_800EF550)($at) +/* 08DD8C 8008D18C 24630001 */ addiu $v1, $v1, 1 +/* 08DD90 8008D190 00037400 */ sll $t6, $v1, 0x10 +/* 08DD94 8008D194 000E1C03 */ sra $v1, $t6, 0x10 +/* 08DD98 8008D198 00630019 */ multu $v1, $v1 +/* 08DD9C 8008D19C 44838000 */ mtc1 $v1, $f16 +/* 08DDA0 8008D1A0 C48000B8 */ lwc1 $f0, 0xb8($a0) +/* 08DDA4 8008D1A4 00808025 */ move $s0, $a0 +/* 08DDA8 8008D1A8 468084A0 */ cvt.s.w $f18, $f16 +/* 08DDAC 8008D1AC 848700AC */ lh $a3, 0xac($a0) +/* 08DDB0 8008D1B0 0000C012 */ mflo $t8 +/* 08DDB4 8008D1B4 44983000 */ mtc1 $t8, $f6 +/* 08DDB8 8008D1B8 00000000 */ nop +/* 08DDBC 8008D1BC 46803221 */ cvt.d.w $f8, $f6 +/* 08DDC0 8008D1C0 46282282 */ mul.d $f10, $f4, $f8 +/* 08DDC4 8008D1C4 00000000 */ nop +/* 08DDC8 8008D1C8 46009182 */ mul.s $f6, $f18, $f0 +/* 08DDCC 8008D1CC 46003121 */ cvt.d.s $f4, $f6 +/* 08DDD0 8008D1D0 462A2201 */ sub.d $f8, $f4, $f10 +/* 08DDD4 8008D1D4 4620440D */ trunc.w.d $f16, $f8 +/* 08DDD8 8008D1D8 44028000 */ mfc1 $v0, $f16 +/* 08DDDC 8008D1DC 00000000 */ nop +/* 08DDE0 8008D1E0 00023400 */ sll $a2, $v0, 0x10 +/* 08DDE4 8008D1E4 00064403 */ sra $t0, $a2, 0x10 +/* 08DDE8 8008D1E8 1060004B */ beqz $v1, .L8008D318 +/* 08DDEC 8008D1EC 01003025 */ move $a2, $t0 +/* 08DDF0 8008D1F0 00024C00 */ sll $t1, $v0, 0x10 +/* 08DDF4 8008D1F4 00095403 */ sra $t2, $t1, 0x10 +/* 08DDF8 8008D1F8 05410047 */ bgez $t2, .L8008D318 +/* 08DDFC 8008D1FC 3C01800F */ lui $at, %hi(D_800EF558) +/* 08DE00 8008D200 D426F558 */ ldc1 $f6, %lo(D_800EF558)($at) +/* 08DE04 8008D204 460004A1 */ cvt.d.s $f18, $f0 +/* 08DE08 8008D208 8C8200BC */ lw $v0, 0xbc($a0) +/* 08DE0C 8008D20C 46269102 */ mul.d $f4, $f18, $f6 +/* 08DE10 8008D210 00073823 */ negu $a3, $a3 +/* 08DE14 8008D214 00075C00 */ sll $t3, $a3, 0x10 +/* 08DE18 8008D218 24010001 */ li $at, 1 +/* 08DE1C 8008D21C 304D0001 */ andi $t5, $v0, 1 +/* 08DE20 8008D220 00001825 */ move $v1, $zero +/* 08DE24 8008D224 000B3C03 */ sra $a3, $t3, 0x10 +/* 08DE28 8008D228 11A10004 */ beq $t5, $at, .L8008D23C +/* 08DE2C 8008D22C 46202020 */ cvt.s.d $f0, $f4 +/* 08DE30 8008D230 848E0044 */ lh $t6, 0x44($a0) +/* 08DE34 8008D234 31CF0020 */ andi $t7, $t6, 0x20 +/* 08DE38 8008D238 15E00003 */ bnez $t7, .L8008D248 +.L8008D23C: +/* 08DE3C 8008D23C 3C040004 */ lui $a0, 4 +/* 08DE40 8008D240 0044C025 */ or $t8, $v0, $a0 +/* 08DE44 8008D244 AE1800BC */ sw $t8, 0xbc($s0) +.L8008D248: +/* 08DE48 8008D248 3C01800F */ lui $at, %hi(D_800EF560) +/* 08DE4C 8008D24C D42AF560 */ ldc1 $f10, %lo(D_800EF560)($at) +/* 08DE50 8008D250 46000221 */ cvt.d.s $f8, $f0 +/* 08DE54 8008D254 3C040004 */ lui $a0, 4 +/* 08DE58 8008D258 462A403E */ c.le.d $f8, $f10 +/* 08DE5C 8008D25C 00000000 */ nop +/* 08DE60 8008D260 4500002D */ bc1f .L8008D318 +/* 08DE64 8008D264 00000000 */ nop +/* 08DE68 8008D268 86190044 */ lh $t9, 0x44($s0) +/* 08DE6C 8008D26C 8E0200BC */ lw $v0, 0xbc($s0) +/* 08DE70 8008D270 3C01FFFB */ lui $at, (0xFFFBFFFF >> 16) # lui $at, 0xfffb +/* 08DE74 8008D274 3328BFFF */ andi $t0, $t9, 0xbfff +/* 08DE78 8008D278 00444824 */ and $t1, $v0, $a0 +/* 08DE7C 8008D27C 1089000D */ beq $a0, $t1, .L8008D2B4 +/* 08DE80 8008D280 A6080044 */ sh $t0, 0x44($s0) +/* 08DE84 8008D284 02002025 */ move $a0, $s0 +/* 08DE88 8008D288 83A50037 */ lb $a1, 0x37($sp) +/* 08DE8C 8008D28C A7A3002A */ sh $v1, 0x2a($sp) +/* 08DE90 8008D290 A7A60026 */ sh $a2, 0x26($sp) +/* 08DE94 8008D294 A7A70028 */ sh $a3, 0x28($sp) +/* 08DE98 8008D298 0C0231CF */ jal func_8008C73C +/* 08DE9C 8008D29C E7A0002C */ swc1 $f0, 0x2c($sp) +/* 08DEA0 8008D2A0 87A3002A */ lh $v1, 0x2a($sp) +/* 08DEA4 8008D2A4 87A60026 */ lh $a2, 0x26($sp) +/* 08DEA8 8008D2A8 87A70028 */ lh $a3, 0x28($sp) +/* 08DEAC 8008D2AC 1000001A */ b .L8008D318 +/* 08DEB0 8008D2B0 C7A0002C */ lwc1 $f0, 0x2c($sp) +.L8008D2B4: +/* 08DEB4 8008D2B4 960A00B6 */ lhu $t2, 0xb6($s0) +/* 08DEB8 8008D2B8 960D0000 */ lhu $t5, ($s0) +/* 08DEBC 8008D2BC 3421FFFF */ ori $at, (0xFFFBFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 08DEC0 8008D2C0 00416024 */ and $t4, $v0, $at +/* 08DEC4 8008D2C4 24014000 */ li $at, 16384 +/* 08DEC8 8008D2C8 354B0020 */ ori $t3, $t2, 0x20 +/* 08DECC 8008D2CC 31AE4000 */ andi $t6, $t5, 0x4000 +/* 08DED0 8008D2D0 A60B00B6 */ sh $t3, 0xb6($s0) +/* 08DED4 8008D2D4 15C10010 */ bne $t6, $at, .L8008D318 +/* 08DED8 8008D2D8 AE0C00BC */ sw $t4, 0xbc($s0) +/* 08DEDC 8008D2DC 96050254 */ lhu $a1, 0x254($s0) +/* 08DEE0 8008D2E0 3C012900 */ lui $at, (0x29008008 >> 16) # lui $at, 0x2900 +/* 08DEE4 8008D2E4 34218008 */ ori $at, (0x29008008 & 0xFFFF) # ori $at, $at, 0x8008 +/* 08DEE8 8008D2E8 00057900 */ sll $t7, $a1, 4 +/* 08DEEC 8008D2EC 01E12821 */ addu $a1, $t7, $at +/* 08DEF0 8008D2F0 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 08DEF4 8008D2F4 A7A70028 */ sh $a3, 0x28($sp) +/* 08DEF8 8008D2F8 A7A60026 */ sh $a2, 0x26($sp) +/* 08DEFC 8008D2FC A7A3002A */ sh $v1, 0x2a($sp) +/* 08DF00 8008D300 0C03243D */ jal func_800C90F4 +/* 08DF04 8008D304 93A40037 */ lbu $a0, 0x37($sp) +/* 08DF08 8008D308 87A3002A */ lh $v1, 0x2a($sp) +/* 08DF0C 8008D30C 87A60026 */ lh $a2, 0x26($sp) +/* 08DF10 8008D310 87A70028 */ lh $a3, 0x28($sp) +/* 08DF14 8008D314 C7A0002C */ lwc1 $f0, 0x2c($sp) +.L8008D318: +/* 08DF18 8008D318 00C70019 */ multu $a2, $a3 +/* 08DF1C 8008D31C 8E0200BC */ lw $v0, 0xbc($s0) +/* 08DF20 8008D320 24010001 */ li $at, 1 +/* 08DF24 8008D324 02002025 */ move $a0, $s0 +/* 08DF28 8008D328 304B0008 */ andi $t3, $v0, 8 +/* 08DF2C 8008D32C 00003012 */ mflo $a2 +/* 08DF30 8008D330 0006C400 */ sll $t8, $a2, 0x10 +/* 08DF34 8008D334 00183403 */ sra $a2, $t8, 0x10 +/* 08DF38 8008D338 1CC00004 */ bgtz $a2, .L8008D34C +/* 08DF3C 8008D33C 00000000 */ nop +/* 08DF40 8008D340 14E10002 */ bne $a3, $at, .L8008D34C +/* 08DF44 8008D344 00000000 */ nop +/* 08DF48 8008D348 00003025 */ move $a2, $zero +.L8008D34C: +/* 08DF4C 8008D34C 04C00004 */ bltz $a2, .L8008D360 +/* 08DF50 8008D350 2401FFFF */ li $at, -1 +/* 08DF54 8008D354 54E10003 */ bnel $a3, $at, .L8008D364 +/* 08DF58 8008D358 86080078 */ lh $t0, 0x78($s0) +/* 08DF5C 8008D35C 00003025 */ move $a2, $zero +.L8008D360: +/* 08DF60 8008D360 86080078 */ lh $t0, 0x78($s0) +.L8008D364: +/* 08DF64 8008D364 00064880 */ sll $t1, $a2, 2 +/* 08DF68 8008D368 01264821 */ addu $t1, $t1, $a2 +/* 08DF6C 8008D36C 00094880 */ sll $t1, $t1, 2 +/* 08DF70 8008D370 01095021 */ addu $t2, $t0, $t1 +/* 08DF74 8008D374 A60A0078 */ sh $t2, 0x78($s0) +/* 08DF78 8008D378 E60000B8 */ swc1 $f0, 0xb8($s0) +/* 08DF7C 8008D37C A60300B4 */ sh $v1, 0xb4($s0) +/* 08DF80 8008D380 11600006 */ beqz $t3, .L8008D39C +/* 08DF84 8008D384 A60700AC */ sh $a3, 0xac($s0) +/* 08DF88 8008D388 0C0231CF */ jal func_8008C73C +/* 08DF8C 8008D38C 83A50037 */ lb $a1, 0x37($sp) +/* 08DF90 8008D390 860C0044 */ lh $t4, 0x44($s0) +/* 08DF94 8008D394 318DBFFF */ andi $t5, $t4, 0xbfff +/* 08DF98 8008D398 A60D0044 */ sh $t5, 0x44($s0) +.L8008D39C: +/* 08DF9C 8008D39C 8FBF001C */ lw $ra, 0x1c($sp) +/* 08DFA0 8008D3A0 8FB00018 */ lw $s0, 0x18($sp) +/* 08DFA4 8008D3A4 27BD0030 */ addiu $sp, $sp, 0x30 +/* 08DFA8 8008D3A8 03E00008 */ jr $ra +/* 08DFAC 8008D3AC 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_8008FF08.s b/asm/non_matchings/code_8008C1D0/func_8008FF08.s index d1ec7b27c..82204f3ec 100644 --- a/asm/non_matchings/code_8008C1D0/func_8008FF08.s +++ b/asm/non_matchings/code_8008C1D0/func_8008FF08.s @@ -1,186 +1,186 @@ -glabel func_8008FF08 -/* 090B08 8008FF08 3C18800E */ lui $t8, %hi(gCurrentCourseId) # $t8, 0x800e -/* 090B0C 8008FF0C 8718C5A0 */ lh $t8, %lo(gCurrentCourseId)($t8) -/* 090B10 8008FF10 AFA50004 */ sw $a1, 4($sp) -/* 090B14 8008FF14 00057600 */ sll $t6, $a1, 0x18 -/* 090B18 8008FF18 2719FFFE */ addiu $t9, $t8, -2 -/* 090B1C 8008FF1C 2F210012 */ sltiu $at, $t9, 0x12 -/* 090B20 8008FF20 10200087 */ beqz $at, .L80090140 -/* 090B24 8008FF24 000E2E03 */ sra $a1, $t6, 0x18 -/* 090B28 8008FF28 0019C880 */ sll $t9, $t9, 2 -/* 090B2C 8008FF2C 3C01800F */ lui $at, %hi(jpt_800EF5B0) -/* 090B30 8008FF30 00390821 */ addu $at, $at, $t9 -/* 090B34 8008FF34 8C39F5B0 */ lw $t9, %lo(jpt_800EF5B0)($at) -/* 090B38 8008FF38 03200008 */ jr $t9 -/* 090B3C 8008FF3C 00000000 */ nop -glabel L8008FF40 -/* 090B40 8008FF40 00054040 */ sll $t0, $a1, 1 -/* 090B44 8008FF44 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 -/* 090B48 8008FF48 00681821 */ addu $v1, $v1, $t0 -/* 090B4C 8008FF4C 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) -/* 090B50 8008FF50 00031400 */ sll $v0, $v1, 0x10 -/* 090B54 8008FF54 00024C03 */ sra $t1, $v0, 0x10 -/* 090B58 8008FF58 29210235 */ slti $at, $t1, 0x235 -/* 090B5C 8008FF5C 14200006 */ bnez $at, .L8008FF78 -/* 090B60 8008FF60 01201025 */ move $v0, $t1 -/* 090B64 8008FF64 29210247 */ slti $at, $t1, 0x247 -/* 090B68 8008FF68 10200003 */ beqz $at, .L8008FF78 -/* 090B6C 8008FF6C 240A0214 */ li $t2, 532 -/* 090B70 8008FF70 03E00008 */ jr $ra -/* 090B74 8008FF74 A48A0220 */ sh $t2, 0x220($a0) - -.L8008FF78: -/* 090B78 8008FF78 28410267 */ slti $at, $v0, 0x267 -/* 090B7C 8008FF7C 14200005 */ bnez $at, .L8008FF94 -/* 090B80 8008FF80 28410277 */ slti $at, $v0, 0x277 -/* 090B84 8008FF84 10200003 */ beqz $at, .L8008FF94 -/* 090B88 8008FF88 240B025B */ li $t3, 603 -/* 090B8C 8008FF8C 03E00008 */ jr $ra -/* 090B90 8008FF90 A48B0220 */ sh $t3, 0x220($a0) - -.L8008FF94: -/* 090B94 8008FF94 A4830220 */ sh $v1, 0x220($a0) -/* 090B98 8008FF98 84820220 */ lh $v0, 0x220($a0) -/* 090B9C 8008FF9C 3C0C8016 */ lui $t4, %hi(D_801645C8) # $t4, 0x8016 -/* 090BA0 8008FFA0 04410073 */ bgez $v0, .L80090170 -/* 090BA4 8008FFA4 00000000 */ nop -/* 090BA8 8008FFA8 958C45C8 */ lhu $t4, %lo(D_801645C8)($t4) -/* 090BAC 8008FFAC 01826821 */ addu $t5, $t4, $v0 -/* 090BB0 8008FFB0 03E00008 */ jr $ra -/* 090BB4 8008FFB4 A48D0220 */ sh $t5, 0x220($a0) - -glabel L8008FFB8 -/* 090BB8 8008FFB8 00057040 */ sll $t6, $a1, 1 -/* 090BBC 8008FFBC 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 -/* 090BC0 8008FFC0 006E1821 */ addu $v1, $v1, $t6 -/* 090BC4 8008FFC4 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) -/* 090BC8 8008FFC8 00031400 */ sll $v0, $v1, 0x10 -/* 090BCC 8008FFCC 00027C03 */ sra $t7, $v0, 0x10 -/* 090BD0 8008FFD0 29E1012C */ slti $at, $t7, 0x12c -/* 090BD4 8008FFD4 14200005 */ bnez $at, .L8008FFEC -/* 090BD8 8008FFD8 29E1013C */ slti $at, $t7, 0x13c -/* 090BDC 8008FFDC 10200003 */ beqz $at, .L8008FFEC -/* 090BE0 8008FFE0 2418012C */ li $t8, 300 -/* 090BE4 8008FFE4 03E00008 */ jr $ra -/* 090BE8 8008FFE8 A4980220 */ sh $t8, 0x220($a0) - -.L8008FFEC: -/* 090BEC 8008FFEC A4830220 */ sh $v1, 0x220($a0) -/* 090BF0 8008FFF0 84820220 */ lh $v0, 0x220($a0) -/* 090BF4 8008FFF4 3C198016 */ lui $t9, %hi(D_801645C8) # $t9, 0x8016 -/* 090BF8 8008FFF8 0441005D */ bgez $v0, .L80090170 -/* 090BFC 8008FFFC 00000000 */ nop -/* 090C00 80090000 973945C8 */ lhu $t9, %lo(D_801645C8)($t9) -/* 090C04 80090004 03224021 */ addu $t0, $t9, $v0 -/* 090C08 80090008 03E00008 */ jr $ra -/* 090C0C 8009000C A4880220 */ sh $t0, 0x220($a0) - -glabel L80090010 -/* 090C10 80090010 00054840 */ sll $t1, $a1, 1 -/* 090C14 80090014 3C0A8016 */ lui $t2, %hi(D_80165320) # 0x8016 -/* 090C18 80090018 01495021 */ addu $t2, $t2, $t1 -/* 090C1C 8009001C 854A5320 */ lh $t2, %lo(D_80165320)($t2) # 0x5320($t2) -/* 090C20 80090020 03E00008 */ jr $ra -/* 090C24 80090024 A48A0220 */ sh $t2, 0x220($a0) - -glabel L80090028 -/* 090C28 80090028 00051840 */ sll $v1, $a1, 1 -/* 090C2C 8009002C 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 -/* 090C30 80090030 00431021 */ addu $v0, $v0, $v1 -/* 090C34 80090034 84424438 */ lh $v0, %lo(D_80164438)($v0) # 0x4438($v0) -/* 090C38 80090038 3C0C8016 */ lui $t4, %hi(D_80165320) # 0x8016 -/* 090C3C 8009003C 01836021 */ addu $t4, $t4, $v1 -/* 090C40 80090040 284100F0 */ slti $at, $v0, 0xf0 -/* 090C44 80090044 14200005 */ bnez $at, .L8009005C -/* 090C48 80090048 28410105 */ slti $at, $v0, 0x105 -/* 090C4C 8009004C 10200003 */ beqz $at, .L8009005C -/* 090C50 80090050 240B00F0 */ li $t3, 240 -/* 090C54 80090054 03E00008 */ jr $ra -/* 090C58 80090058 A48B0220 */ sh $t3, 0x220($a0) - -.L8009005C: -/* 090C5C 8009005C 858C5320 */ lh $t4, %lo(D_80165320)($t4) # 0x5320($t4) -/* 090C60 80090060 3C0D8016 */ lui $t5, %hi(D_801645C8) # $t5, 0x8016 -/* 090C64 80090064 A48C0220 */ sh $t4, 0x220($a0) -/* 090C68 80090068 84820220 */ lh $v0, 0x220($a0) -/* 090C6C 8009006C 04410040 */ bgez $v0, .L80090170 -/* 090C70 80090070 00000000 */ nop -/* 090C74 80090074 95AD45C8 */ lhu $t5, %lo(D_801645C8)($t5) -/* 090C78 80090078 01A27021 */ addu $t6, $t5, $v0 -/* 090C7C 8009007C 03E00008 */ jr $ra -/* 090C80 80090080 A48E0220 */ sh $t6, 0x220($a0) - -glabel L80090084 -/* 090C84 80090084 00051840 */ sll $v1, $a1, 1 -/* 090C88 80090088 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 -/* 090C8C 8009008C 00431021 */ addu $v0, $v0, $v1 -/* 090C90 80090090 84424438 */ lh $v0, %lo(D_80164438)($v0) # 0x4438($v0) -/* 090C94 80090094 3C188016 */ lui $t8, %hi(D_80165320) # 0x8016 -/* 090C98 80090098 0303C021 */ addu $t8, $t8, $v1 -/* 090C9C 8009009C 28410258 */ slti $at, $v0, 0x258 -/* 090CA0 800900A0 14200005 */ bnez $at, .L800900B8 -/* 090CA4 800900A4 284102A4 */ slti $at, $v0, 0x2a4 -/* 090CA8 800900A8 10200003 */ beqz $at, .L800900B8 -/* 090CAC 800900AC 240F0258 */ li $t7, 600 -/* 090CB0 800900B0 03E00008 */ jr $ra -/* 090CB4 800900B4 A48F0220 */ sh $t7, 0x220($a0) - -.L800900B8: -/* 090CB8 800900B8 87185320 */ lh $t8, %lo(D_80165320)($t8) # 0x5320($t8) -/* 090CBC 800900BC 3C198016 */ lui $t9, %hi(D_801645C8) # $t9, 0x8016 -/* 090CC0 800900C0 A4980220 */ sh $t8, 0x220($a0) -/* 090CC4 800900C4 84820220 */ lh $v0, 0x220($a0) -/* 090CC8 800900C8 04410029 */ bgez $v0, .L80090170 -/* 090CCC 800900CC 00000000 */ nop -/* 090CD0 800900D0 973945C8 */ lhu $t9, %lo(D_801645C8)($t9) -/* 090CD4 800900D4 03224021 */ addu $t0, $t9, $v0 -/* 090CD8 800900D8 03E00008 */ jr $ra -/* 090CDC 800900DC A4880220 */ sh $t0, 0x220($a0) - -glabel L800900E0 -/* 090CE0 800900E0 00054840 */ sll $t1, $a1, 1 -/* 090CE4 800900E4 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 -/* 090CE8 800900E8 00691821 */ addu $v1, $v1, $t1 -/* 090CEC 800900EC 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) -/* 090CF0 800900F0 00031400 */ sll $v0, $v1, 0x10 -/* 090CF4 800900F4 00025403 */ sra $t2, $v0, 0x10 -/* 090CF8 800900F8 294100B9 */ slti $at, $t2, 0xb9 -/* 090CFC 800900FC 14200005 */ bnez $at, .L80090114 -/* 090D00 80090100 29410119 */ slti $at, $t2, 0x119 -/* 090D04 80090104 10200003 */ beqz $at, .L80090114 -/* 090D08 80090108 240B00B9 */ li $t3, 185 -/* 090D0C 8009010C 03E00008 */ jr $ra -/* 090D10 80090110 A48B0220 */ sh $t3, 0x220($a0) - -.L80090114: -/* 090D14 80090114 A4830220 */ sh $v1, 0x220($a0) -/* 090D18 80090118 84820220 */ lh $v0, 0x220($a0) -/* 090D1C 8009011C 3C0C8016 */ lui $t4, %hi(D_801645C8) # $t4, 0x8016 -/* 090D20 80090120 04410013 */ bgez $v0, .L80090170 -/* 090D24 80090124 00000000 */ nop -/* 090D28 80090128 958C45C8 */ lhu $t4, %lo(D_801645C8)($t4) -/* 090D2C 8009012C 01826821 */ addu $t5, $t4, $v0 -/* 090D30 80090130 03E00008 */ jr $ra -/* 090D34 80090134 A48D0220 */ sh $t5, 0x220($a0) - -glabel L80090138 -/* 090D38 80090138 03E00008 */ jr $ra -/* 090D3C 8009013C A4800220 */ sh $zero, 0x220($a0) - -.L80090140: -glabel L80090140 -/* 090D40 80090140 00057040 */ sll $t6, $a1, 1 -/* 090D44 80090144 3C0F8016 */ lui $t7, %hi(D_80164438) # 0x8016 -/* 090D48 80090148 01EE7821 */ addu $t7, $t7, $t6 -/* 090D4C 8009014C 95EF4438 */ lhu $t7, %lo(D_80164438)($t7) # 0x4438($t7) -/* 090D50 80090150 3C188016 */ lui $t8, %hi(D_801645C8) # $t8, 0x8016 -/* 090D54 80090154 A48F0220 */ sh $t7, 0x220($a0) -/* 090D58 80090158 84820220 */ lh $v0, 0x220($a0) -/* 090D5C 8009015C 04410004 */ bgez $v0, .L80090170 -/* 090D60 80090160 00000000 */ nop -/* 090D64 80090164 971845C8 */ lhu $t8, %lo(D_801645C8)($t8) -/* 090D68 80090168 0302C821 */ addu $t9, $t8, $v0 -/* 090D6C 8009016C A4990220 */ sh $t9, 0x220($a0) -.L80090170: -/* 090D70 80090170 03E00008 */ jr $ra -/* 090D74 80090174 00000000 */ nop +glabel func_8008FF08 +/* 090B08 8008FF08 3C18800E */ lui $t8, %hi(gCurrentCourseId) # $t8, 0x800e +/* 090B0C 8008FF0C 8718C5A0 */ lh $t8, %lo(gCurrentCourseId)($t8) +/* 090B10 8008FF10 AFA50004 */ sw $a1, 4($sp) +/* 090B14 8008FF14 00057600 */ sll $t6, $a1, 0x18 +/* 090B18 8008FF18 2719FFFE */ addiu $t9, $t8, -2 +/* 090B1C 8008FF1C 2F210012 */ sltiu $at, $t9, 0x12 +/* 090B20 8008FF20 10200087 */ beqz $at, .L80090140 +/* 090B24 8008FF24 000E2E03 */ sra $a1, $t6, 0x18 +/* 090B28 8008FF28 0019C880 */ sll $t9, $t9, 2 +/* 090B2C 8008FF2C 3C01800F */ lui $at, %hi(jpt_800EF5B0) +/* 090B30 8008FF30 00390821 */ addu $at, $at, $t9 +/* 090B34 8008FF34 8C39F5B0 */ lw $t9, %lo(jpt_800EF5B0)($at) +/* 090B38 8008FF38 03200008 */ jr $t9 +/* 090B3C 8008FF3C 00000000 */ nop +glabel L8008FF40 +/* 090B40 8008FF40 00054040 */ sll $t0, $a1, 1 +/* 090B44 8008FF44 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 +/* 090B48 8008FF48 00681821 */ addu $v1, $v1, $t0 +/* 090B4C 8008FF4C 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) +/* 090B50 8008FF50 00031400 */ sll $v0, $v1, 0x10 +/* 090B54 8008FF54 00024C03 */ sra $t1, $v0, 0x10 +/* 090B58 8008FF58 29210235 */ slti $at, $t1, 0x235 +/* 090B5C 8008FF5C 14200006 */ bnez $at, .L8008FF78 +/* 090B60 8008FF60 01201025 */ move $v0, $t1 +/* 090B64 8008FF64 29210247 */ slti $at, $t1, 0x247 +/* 090B68 8008FF68 10200003 */ beqz $at, .L8008FF78 +/* 090B6C 8008FF6C 240A0214 */ li $t2, 532 +/* 090B70 8008FF70 03E00008 */ jr $ra +/* 090B74 8008FF74 A48A0220 */ sh $t2, 0x220($a0) + +.L8008FF78: +/* 090B78 8008FF78 28410267 */ slti $at, $v0, 0x267 +/* 090B7C 8008FF7C 14200005 */ bnez $at, .L8008FF94 +/* 090B80 8008FF80 28410277 */ slti $at, $v0, 0x277 +/* 090B84 8008FF84 10200003 */ beqz $at, .L8008FF94 +/* 090B88 8008FF88 240B025B */ li $t3, 603 +/* 090B8C 8008FF8C 03E00008 */ jr $ra +/* 090B90 8008FF90 A48B0220 */ sh $t3, 0x220($a0) + +.L8008FF94: +/* 090B94 8008FF94 A4830220 */ sh $v1, 0x220($a0) +/* 090B98 8008FF98 84820220 */ lh $v0, 0x220($a0) +/* 090B9C 8008FF9C 3C0C8016 */ lui $t4, %hi(D_801645C8) # $t4, 0x8016 +/* 090BA0 8008FFA0 04410073 */ bgez $v0, .L80090170 +/* 090BA4 8008FFA4 00000000 */ nop +/* 090BA8 8008FFA8 958C45C8 */ lhu $t4, %lo(D_801645C8)($t4) +/* 090BAC 8008FFAC 01826821 */ addu $t5, $t4, $v0 +/* 090BB0 8008FFB0 03E00008 */ jr $ra +/* 090BB4 8008FFB4 A48D0220 */ sh $t5, 0x220($a0) + +glabel L8008FFB8 +/* 090BB8 8008FFB8 00057040 */ sll $t6, $a1, 1 +/* 090BBC 8008FFBC 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 +/* 090BC0 8008FFC0 006E1821 */ addu $v1, $v1, $t6 +/* 090BC4 8008FFC4 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) +/* 090BC8 8008FFC8 00031400 */ sll $v0, $v1, 0x10 +/* 090BCC 8008FFCC 00027C03 */ sra $t7, $v0, 0x10 +/* 090BD0 8008FFD0 29E1012C */ slti $at, $t7, 0x12c +/* 090BD4 8008FFD4 14200005 */ bnez $at, .L8008FFEC +/* 090BD8 8008FFD8 29E1013C */ slti $at, $t7, 0x13c +/* 090BDC 8008FFDC 10200003 */ beqz $at, .L8008FFEC +/* 090BE0 8008FFE0 2418012C */ li $t8, 300 +/* 090BE4 8008FFE4 03E00008 */ jr $ra +/* 090BE8 8008FFE8 A4980220 */ sh $t8, 0x220($a0) + +.L8008FFEC: +/* 090BEC 8008FFEC A4830220 */ sh $v1, 0x220($a0) +/* 090BF0 8008FFF0 84820220 */ lh $v0, 0x220($a0) +/* 090BF4 8008FFF4 3C198016 */ lui $t9, %hi(D_801645C8) # $t9, 0x8016 +/* 090BF8 8008FFF8 0441005D */ bgez $v0, .L80090170 +/* 090BFC 8008FFFC 00000000 */ nop +/* 090C00 80090000 973945C8 */ lhu $t9, %lo(D_801645C8)($t9) +/* 090C04 80090004 03224021 */ addu $t0, $t9, $v0 +/* 090C08 80090008 03E00008 */ jr $ra +/* 090C0C 8009000C A4880220 */ sh $t0, 0x220($a0) + +glabel L80090010 +/* 090C10 80090010 00054840 */ sll $t1, $a1, 1 +/* 090C14 80090014 3C0A8016 */ lui $t2, %hi(D_80165320) # 0x8016 +/* 090C18 80090018 01495021 */ addu $t2, $t2, $t1 +/* 090C1C 8009001C 854A5320 */ lh $t2, %lo(D_80165320)($t2) # 0x5320($t2) +/* 090C20 80090020 03E00008 */ jr $ra +/* 090C24 80090024 A48A0220 */ sh $t2, 0x220($a0) + +glabel L80090028 +/* 090C28 80090028 00051840 */ sll $v1, $a1, 1 +/* 090C2C 8009002C 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 +/* 090C30 80090030 00431021 */ addu $v0, $v0, $v1 +/* 090C34 80090034 84424438 */ lh $v0, %lo(D_80164438)($v0) # 0x4438($v0) +/* 090C38 80090038 3C0C8016 */ lui $t4, %hi(D_80165320) # 0x8016 +/* 090C3C 8009003C 01836021 */ addu $t4, $t4, $v1 +/* 090C40 80090040 284100F0 */ slti $at, $v0, 0xf0 +/* 090C44 80090044 14200005 */ bnez $at, .L8009005C +/* 090C48 80090048 28410105 */ slti $at, $v0, 0x105 +/* 090C4C 8009004C 10200003 */ beqz $at, .L8009005C +/* 090C50 80090050 240B00F0 */ li $t3, 240 +/* 090C54 80090054 03E00008 */ jr $ra +/* 090C58 80090058 A48B0220 */ sh $t3, 0x220($a0) + +.L8009005C: +/* 090C5C 8009005C 858C5320 */ lh $t4, %lo(D_80165320)($t4) # 0x5320($t4) +/* 090C60 80090060 3C0D8016 */ lui $t5, %hi(D_801645C8) # $t5, 0x8016 +/* 090C64 80090064 A48C0220 */ sh $t4, 0x220($a0) +/* 090C68 80090068 84820220 */ lh $v0, 0x220($a0) +/* 090C6C 8009006C 04410040 */ bgez $v0, .L80090170 +/* 090C70 80090070 00000000 */ nop +/* 090C74 80090074 95AD45C8 */ lhu $t5, %lo(D_801645C8)($t5) +/* 090C78 80090078 01A27021 */ addu $t6, $t5, $v0 +/* 090C7C 8009007C 03E00008 */ jr $ra +/* 090C80 80090080 A48E0220 */ sh $t6, 0x220($a0) + +glabel L80090084 +/* 090C84 80090084 00051840 */ sll $v1, $a1, 1 +/* 090C88 80090088 3C028016 */ lui $v0, %hi(D_80164438) # 0x8016 +/* 090C8C 8009008C 00431021 */ addu $v0, $v0, $v1 +/* 090C90 80090090 84424438 */ lh $v0, %lo(D_80164438)($v0) # 0x4438($v0) +/* 090C94 80090094 3C188016 */ lui $t8, %hi(D_80165320) # 0x8016 +/* 090C98 80090098 0303C021 */ addu $t8, $t8, $v1 +/* 090C9C 8009009C 28410258 */ slti $at, $v0, 0x258 +/* 090CA0 800900A0 14200005 */ bnez $at, .L800900B8 +/* 090CA4 800900A4 284102A4 */ slti $at, $v0, 0x2a4 +/* 090CA8 800900A8 10200003 */ beqz $at, .L800900B8 +/* 090CAC 800900AC 240F0258 */ li $t7, 600 +/* 090CB0 800900B0 03E00008 */ jr $ra +/* 090CB4 800900B4 A48F0220 */ sh $t7, 0x220($a0) + +.L800900B8: +/* 090CB8 800900B8 87185320 */ lh $t8, %lo(D_80165320)($t8) # 0x5320($t8) +/* 090CBC 800900BC 3C198016 */ lui $t9, %hi(D_801645C8) # $t9, 0x8016 +/* 090CC0 800900C0 A4980220 */ sh $t8, 0x220($a0) +/* 090CC4 800900C4 84820220 */ lh $v0, 0x220($a0) +/* 090CC8 800900C8 04410029 */ bgez $v0, .L80090170 +/* 090CCC 800900CC 00000000 */ nop +/* 090CD0 800900D0 973945C8 */ lhu $t9, %lo(D_801645C8)($t9) +/* 090CD4 800900D4 03224021 */ addu $t0, $t9, $v0 +/* 090CD8 800900D8 03E00008 */ jr $ra +/* 090CDC 800900DC A4880220 */ sh $t0, 0x220($a0) + +glabel L800900E0 +/* 090CE0 800900E0 00054840 */ sll $t1, $a1, 1 +/* 090CE4 800900E4 3C038016 */ lui $v1, %hi(D_80164438) # 0x8016 +/* 090CE8 800900E8 00691821 */ addu $v1, $v1, $t1 +/* 090CEC 800900EC 94634438 */ lhu $v1, %lo(D_80164438)($v1) # 0x4438($v1) +/* 090CF0 800900F0 00031400 */ sll $v0, $v1, 0x10 +/* 090CF4 800900F4 00025403 */ sra $t2, $v0, 0x10 +/* 090CF8 800900F8 294100B9 */ slti $at, $t2, 0xb9 +/* 090CFC 800900FC 14200005 */ bnez $at, .L80090114 +/* 090D00 80090100 29410119 */ slti $at, $t2, 0x119 +/* 090D04 80090104 10200003 */ beqz $at, .L80090114 +/* 090D08 80090108 240B00B9 */ li $t3, 185 +/* 090D0C 8009010C 03E00008 */ jr $ra +/* 090D10 80090110 A48B0220 */ sh $t3, 0x220($a0) + +.L80090114: +/* 090D14 80090114 A4830220 */ sh $v1, 0x220($a0) +/* 090D18 80090118 84820220 */ lh $v0, 0x220($a0) +/* 090D1C 8009011C 3C0C8016 */ lui $t4, %hi(D_801645C8) # $t4, 0x8016 +/* 090D20 80090120 04410013 */ bgez $v0, .L80090170 +/* 090D24 80090124 00000000 */ nop +/* 090D28 80090128 958C45C8 */ lhu $t4, %lo(D_801645C8)($t4) +/* 090D2C 8009012C 01826821 */ addu $t5, $t4, $v0 +/* 090D30 80090130 03E00008 */ jr $ra +/* 090D34 80090134 A48D0220 */ sh $t5, 0x220($a0) + +glabel L80090138 +/* 090D38 80090138 03E00008 */ jr $ra +/* 090D3C 8009013C A4800220 */ sh $zero, 0x220($a0) + +.L80090140: +glabel L80090140 +/* 090D40 80090140 00057040 */ sll $t6, $a1, 1 +/* 090D44 80090144 3C0F8016 */ lui $t7, %hi(D_80164438) # 0x8016 +/* 090D48 80090148 01EE7821 */ addu $t7, $t7, $t6 +/* 090D4C 8009014C 95EF4438 */ lhu $t7, %lo(D_80164438)($t7) # 0x4438($t7) +/* 090D50 80090150 3C188016 */ lui $t8, %hi(D_801645C8) # $t8, 0x8016 +/* 090D54 80090154 A48F0220 */ sh $t7, 0x220($a0) +/* 090D58 80090158 84820220 */ lh $v0, 0x220($a0) +/* 090D5C 8009015C 04410004 */ bgez $v0, .L80090170 +/* 090D60 80090160 00000000 */ nop +/* 090D64 80090164 971845C8 */ lhu $t8, %lo(D_801645C8)($t8) +/* 090D68 80090168 0302C821 */ addu $t9, $t8, $v0 +/* 090D6C 8009016C A4990220 */ sh $t9, 0x220($a0) +.L80090170: +/* 090D70 80090170 03E00008 */ jr $ra +/* 090D74 80090174 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_80090178.s b/asm/non_matchings/code_8008C1D0/func_80090178.s index 3872ddc34..ed46e8dd0 100644 --- a/asm/non_matchings/code_8008C1D0/func_80090178.s +++ b/asm/non_matchings/code_8008C1D0/func_80090178.s @@ -1,397 +1,397 @@ -glabel func_80090178 -/* 090D78 80090178 27BDFEF0 */ addiu $sp, $sp, -0x110 -/* 090D7C 8009017C 3C18800E */ lui $t8, %hi(D_800E6F6C) # $t8, 0x800e -/* 090D80 80090180 AFA50114 */ sw $a1, 0x114($sp) -/* 090D84 80090184 27186F6C */ addiu $t8, %lo(D_800E6F6C) # addiu $t8, $t8, 0x6f6c -/* 090D88 80090188 8F010000 */ lw $at, ($t8) -/* 090D8C 8009018C 27A200F8 */ addiu $v0, $sp, 0xf8 -/* 090D90 80090190 00057600 */ sll $t6, $a1, 0x18 -/* 090D94 80090194 AC410000 */ sw $at, ($v0) -/* 090D98 80090198 8F0F0004 */ lw $t7, 4($t8) -/* 090D9C 8009019C 000E2E03 */ sra $a1, $t6, 0x18 -/* 090DA0 800901A0 3C0E800E */ lui $t6, %hi(D_800E6F7C) # $t6, 0x800e -/* 090DA4 800901A4 AC4F0004 */ sw $t7, 4($v0) -/* 090DA8 800901A8 8F010008 */ lw $at, 8($t8) -/* 090DAC 800901AC 25CE6F7C */ addiu $t6, %lo(D_800E6F7C) # addiu $t6, $t6, 0x6f7c -/* 090DB0 800901B0 27A300E8 */ addiu $v1, $sp, 0xe8 -/* 090DB4 800901B4 AC410008 */ sw $at, 8($v0) -/* 090DB8 800901B8 8F0F000C */ lw $t7, 0xc($t8) -/* 090DBC 800901BC 3C18800E */ lui $t8, %hi(D_800E6F8C) # $t8, 0x800e -/* 090DC0 800901C0 27186F8C */ addiu $t8, %lo(D_800E6F8C) # addiu $t8, $t8, 0x6f8c -/* 090DC4 800901C4 AC4F000C */ sw $t7, 0xc($v0) -/* 090DC8 800901C8 8DC10000 */ lw $at, ($t6) -/* 090DCC 800901CC 27A800D8 */ addiu $t0, $sp, 0xd8 -/* 090DD0 800901D0 27A900C8 */ addiu $t1, $sp, 0xc8 -/* 090DD4 800901D4 AC610000 */ sw $at, ($v1) -/* 090DD8 800901D8 8DCF0004 */ lw $t7, 4($t6) -/* 090DDC 800901DC 27AA00B8 */ addiu $t2, $sp, 0xb8 -/* 090DE0 800901E0 27AB00A8 */ addiu $t3, $sp, 0xa8 -/* 090DE4 800901E4 AC6F0004 */ sw $t7, 4($v1) -/* 090DE8 800901E8 8DC10008 */ lw $at, 8($t6) -/* 090DEC 800901EC 27AC0098 */ addiu $t4, $sp, 0x98 -/* 090DF0 800901F0 27AD0088 */ addiu $t5, $sp, 0x88 -/* 090DF4 800901F4 AC610008 */ sw $at, 8($v1) -/* 090DF8 800901F8 8DCF000C */ lw $t7, 0xc($t6) -/* 090DFC 800901FC 3C0E800E */ lui $t6, %hi(D_800E6F9C) # $t6, 0x800e -/* 090E00 80090200 25CE6F9C */ addiu $t6, %lo(D_800E6F9C) # addiu $t6, $t6, 0x6f9c -/* 090E04 80090204 AC6F000C */ sw $t7, 0xc($v1) -/* 090E08 80090208 8F010000 */ lw $at, ($t8) -/* 090E0C 8009020C 3C19800E */ lui $t9, %hi(D_800E6FEC) # $t9, 0x800e -/* 090E10 80090210 27396FEC */ addiu $t9, %lo(D_800E6FEC) # addiu $t9, $t9, 0x6fec -/* 090E14 80090214 AD010000 */ sw $at, ($t0) -/* 090E18 80090218 8F0F0004 */ lw $t7, 4($t8) -/* 090E1C 8009021C AD0F0004 */ sw $t7, 4($t0) -/* 090E20 80090220 8F010008 */ lw $at, 8($t8) -/* 090E24 80090224 AD010008 */ sw $at, 8($t0) -/* 090E28 80090228 8F0F000C */ lw $t7, 0xc($t8) -/* 090E2C 8009022C 3C18800E */ lui $t8, %hi(D_800E6FAC) # $t8, 0x800e -/* 090E30 80090230 27186FAC */ addiu $t8, %lo(D_800E6FAC) # addiu $t8, $t8, 0x6fac -/* 090E34 80090234 AD0F000C */ sw $t7, 0xc($t0) -/* 090E38 80090238 8DC10000 */ lw $at, ($t6) -/* 090E3C 8009023C AD210000 */ sw $at, ($t1) -/* 090E40 80090240 8DCF0004 */ lw $t7, 4($t6) -/* 090E44 80090244 AD2F0004 */ sw $t7, 4($t1) -/* 090E48 80090248 8DC10008 */ lw $at, 8($t6) -/* 090E4C 8009024C AD210008 */ sw $at, 8($t1) -/* 090E50 80090250 8DCF000C */ lw $t7, 0xc($t6) -/* 090E54 80090254 3C0E800E */ lui $t6, %hi(D_800E6FBC) # $t6, 0x800e -/* 090E58 80090258 25CE6FBC */ addiu $t6, %lo(D_800E6FBC) # addiu $t6, $t6, 0x6fbc -/* 090E5C 8009025C AD2F000C */ sw $t7, 0xc($t1) -/* 090E60 80090260 8F010000 */ lw $at, ($t8) -/* 090E64 80090264 AD410000 */ sw $at, ($t2) -/* 090E68 80090268 8F0F0004 */ lw $t7, 4($t8) -/* 090E6C 8009026C AD4F0004 */ sw $t7, 4($t2) -/* 090E70 80090270 8F010008 */ lw $at, 8($t8) -/* 090E74 80090274 AD410008 */ sw $at, 8($t2) -/* 090E78 80090278 8F0F000C */ lw $t7, 0xc($t8) -/* 090E7C 8009027C 3C18800E */ lui $t8, %hi(D_800E6FCC) # $t8, 0x800e -/* 090E80 80090280 27186FCC */ addiu $t8, %lo(D_800E6FCC) # addiu $t8, $t8, 0x6fcc -/* 090E84 80090284 AD4F000C */ sw $t7, 0xc($t2) -/* 090E88 80090288 8DC10000 */ lw $at, ($t6) -/* 090E8C 8009028C AD610000 */ sw $at, ($t3) -/* 090E90 80090290 8DCF0004 */ lw $t7, 4($t6) -/* 090E94 80090294 AD6F0004 */ sw $t7, 4($t3) -/* 090E98 80090298 8DC10008 */ lw $at, 8($t6) -/* 090E9C 8009029C AD610008 */ sw $at, 8($t3) -/* 090EA0 800902A0 8DCF000C */ lw $t7, 0xc($t6) -/* 090EA4 800902A4 3C0E800E */ lui $t6, %hi(D_800E6FDC) # $t6, 0x800e -/* 090EA8 800902A8 25CE6FDC */ addiu $t6, %lo(D_800E6FDC) # addiu $t6, $t6, 0x6fdc -/* 090EAC 800902AC AD6F000C */ sw $t7, 0xc($t3) -/* 090EB0 800902B0 8F010000 */ lw $at, ($t8) -/* 090EB4 800902B4 AD810000 */ sw $at, ($t4) -/* 090EB8 800902B8 8F0F0004 */ lw $t7, 4($t8) -/* 090EBC 800902BC AD8F0004 */ sw $t7, 4($t4) -/* 090EC0 800902C0 8F010008 */ lw $at, 8($t8) -/* 090EC4 800902C4 AD810008 */ sw $at, 8($t4) -/* 090EC8 800902C8 8F0F000C */ lw $t7, 0xc($t8) -/* 090ECC 800902CC 27B80078 */ addiu $t8, $sp, 0x78 -/* 090ED0 800902D0 AD8F000C */ sw $t7, 0xc($t4) -/* 090ED4 800902D4 8DC10000 */ lw $at, ($t6) -/* 090ED8 800902D8 ADA10000 */ sw $at, ($t5) -/* 090EDC 800902DC 8DCF0004 */ lw $t7, 4($t6) -/* 090EE0 800902E0 ADAF0004 */ sw $t7, 4($t5) -/* 090EE4 800902E4 8DC10008 */ lw $at, 8($t6) -/* 090EE8 800902E8 ADA10008 */ sw $at, 8($t5) -/* 090EEC 800902EC 8DCF000C */ lw $t7, 0xc($t6) -/* 090EF0 800902F0 27AE0068 */ addiu $t6, $sp, 0x68 -/* 090EF4 800902F4 ADAF000C */ sw $t7, 0xc($t5) -/* 090EF8 800902F8 8F2F0004 */ lw $t7, 4($t9) -/* 090EFC 800902FC 8F210000 */ lw $at, ($t9) -/* 090F00 80090300 AF0F0004 */ sw $t7, 4($t8) -/* 090F04 80090304 AF010000 */ sw $at, ($t8) -/* 090F08 80090308 8F210008 */ lw $at, 8($t9) -/* 090F0C 8009030C 8F2F000C */ lw $t7, 0xc($t9) -/* 090F10 80090310 27B90058 */ addiu $t9, $sp, 0x58 -/* 090F14 80090314 AF010008 */ sw $at, 8($t8) -/* 090F18 80090318 AF0F000C */ sw $t7, 0xc($t8) -/* 090F1C 8009031C 3C18800E */ lui $t8, %hi(D_800E6FFC) # $t8, 0x800e -/* 090F20 80090320 27186FFC */ addiu $t8, %lo(D_800E6FFC) # addiu $t8, $t8, 0x6ffc -/* 090F24 80090324 8F010000 */ lw $at, ($t8) -/* 090F28 80090328 8F0F0004 */ lw $t7, 4($t8) -/* 090F2C 8009032C ADC10000 */ sw $at, ($t6) -/* 090F30 80090330 ADCF0004 */ sw $t7, 4($t6) -/* 090F34 80090334 8F0F000C */ lw $t7, 0xc($t8) -/* 090F38 80090338 8F010008 */ lw $at, 8($t8) -/* 090F3C 8009033C 27B80048 */ addiu $t8, $sp, 0x48 -/* 090F40 80090340 ADCF000C */ sw $t7, 0xc($t6) -/* 090F44 80090344 ADC10008 */ sw $at, 8($t6) -/* 090F48 80090348 3C0E800E */ lui $t6, %hi(D_800E700C) # $t6, 0x800e -/* 090F4C 8009034C 25CE700C */ addiu $t6, %lo(D_800E700C) # addiu $t6, $t6, 0x700c -/* 090F50 80090350 8DC10000 */ lw $at, ($t6) -/* 090F54 80090354 8DCF0004 */ lw $t7, 4($t6) -/* 090F58 80090358 AF210000 */ sw $at, ($t9) -/* 090F5C 8009035C AF2F0004 */ sw $t7, 4($t9) -/* 090F60 80090360 8DCF000C */ lw $t7, 0xc($t6) -/* 090F64 80090364 8DC10008 */ lw $at, 8($t6) -/* 090F68 80090368 27AE0038 */ addiu $t6, $sp, 0x38 -/* 090F6C 8009036C AF2F000C */ sw $t7, 0xc($t9) -/* 090F70 80090370 AF210008 */ sw $at, 8($t9) -/* 090F74 80090374 3C19800E */ lui $t9, %hi(D_800E701C) # $t9, 0x800e -/* 090F78 80090378 2739701C */ addiu $t9, %lo(D_800E701C) # addiu $t9, $t9, 0x701c -/* 090F7C 8009037C 8F210000 */ lw $at, ($t9) -/* 090F80 80090380 8F2F0004 */ lw $t7, 4($t9) -/* 090F84 80090384 AF010000 */ sw $at, ($t8) -/* 090F88 80090388 AF0F0004 */ sw $t7, 4($t8) -/* 090F8C 8009038C 8F2F000C */ lw $t7, 0xc($t9) -/* 090F90 80090390 8F210008 */ lw $at, 8($t9) -/* 090F94 80090394 27B90028 */ addiu $t9, $sp, 0x28 -/* 090F98 80090398 AF0F000C */ sw $t7, 0xc($t8) -/* 090F9C 8009039C AF010008 */ sw $at, 8($t8) -/* 090FA0 800903A0 3C18800E */ lui $t8, %hi(D_800E702C) # $t8, 0x800e -/* 090FA4 800903A4 2718702C */ addiu $t8, %lo(D_800E702C) # addiu $t8, $t8, 0x702c -/* 090FA8 800903A8 8F010000 */ lw $at, ($t8) -/* 090FAC 800903AC 8F0F0004 */ lw $t7, 4($t8) -/* 090FB0 800903B0 ADC10000 */ sw $at, ($t6) -/* 090FB4 800903B4 ADCF0004 */ sw $t7, 4($t6) -/* 090FB8 800903B8 8F0F000C */ lw $t7, 0xc($t8) -/* 090FBC 800903BC 8F010008 */ lw $at, 8($t8) -/* 090FC0 800903C0 27B80018 */ addiu $t8, $sp, 0x18 -/* 090FC4 800903C4 ADCF000C */ sw $t7, 0xc($t6) -/* 090FC8 800903C8 ADC10008 */ sw $at, 8($t6) -/* 090FCC 800903CC 3C0E800E */ lui $t6, %hi(D_800E703C) # $t6, 0x800e -/* 090FD0 800903D0 25CE703C */ addiu $t6, %lo(D_800E703C) # addiu $t6, $t6, 0x703c -/* 090FD4 800903D4 8DC10000 */ lw $at, ($t6) -/* 090FD8 800903D8 8DCF0004 */ lw $t7, 4($t6) -/* 090FDC 800903DC AF210000 */ sw $at, ($t9) -/* 090FE0 800903E0 AF2F0004 */ sw $t7, 4($t9) -/* 090FE4 800903E4 8DCF000C */ lw $t7, 0xc($t6) -/* 090FE8 800903E8 8DC10008 */ lw $at, 8($t6) -/* 090FEC 800903EC 27AE0008 */ addiu $t6, $sp, 8 -/* 090FF0 800903F0 AF2F000C */ sw $t7, 0xc($t9) -/* 090FF4 800903F4 AF210008 */ sw $at, 8($t9) -/* 090FF8 800903F8 3C19800E */ lui $t9, %hi(D_800E704C) # $t9, 0x800e -/* 090FFC 800903FC 2739704C */ addiu $t9, %lo(D_800E704C) # addiu $t9, $t9, 0x704c -/* 091000 80090400 8F210000 */ lw $at, ($t9) -/* 091004 80090404 8F2F0004 */ lw $t7, 4($t9) -/* 091008 80090408 AF010000 */ sw $at, ($t8) -/* 09100C 8009040C AF0F0004 */ sw $t7, 4($t8) -/* 091010 80090410 8F2F000C */ lw $t7, 0xc($t9) -/* 091014 80090414 8F210008 */ lw $at, 8($t9) -/* 091018 80090418 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e -/* 09101C 8009041C AF0F000C */ sw $t7, 0xc($t8) -/* 091020 80090420 AF010008 */ sw $at, 8($t8) -/* 091024 80090424 3C18800E */ lui $t8, %hi(D_800E705C) # $t8, 0x800e -/* 091028 80090428 2718705C */ addiu $t8, %lo(D_800E705C) # addiu $t8, $t8, 0x705c -/* 09102C 8009042C 8F010000 */ lw $at, ($t8) -/* 091030 80090430 8F0F0004 */ lw $t7, 4($t8) -/* 091034 80090434 ADC10000 */ sw $at, ($t6) -/* 091038 80090438 ADCF0004 */ sw $t7, 4($t6) -/* 09103C 8009043C 8F0F000C */ lw $t7, 0xc($t8) -/* 091040 80090440 8F010008 */ lw $at, 8($t8) -/* 091044 80090444 ADCF000C */ sw $t7, 0xc($t6) -/* 091048 80090448 ADC10008 */ sw $at, 8($t6) -/* 09104C 8009044C 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9) -/* 091050 80090450 272EFFFC */ addiu $t6, $t9, -4 -/* 091054 80090454 2DC10010 */ sltiu $at, $t6, 0x10 -/* 091058 80090458 1020008F */ beqz $at, .L80090698 -/* 09105C 8009045C 000E7080 */ sll $t6, $t6, 2 -/* 091060 80090460 3C01800F */ lui $at, %hi(jpt_800EF5F8) -/* 091064 80090464 002E0821 */ addu $at, $at, $t6 -/* 091068 80090468 8C2EF5F8 */ lw $t6, %lo(jpt_800EF5F8)($at) -/* 09106C 8009046C 01C00008 */ jr $t6 -/* 091070 80090470 00000000 */ nop -glabel L80090474 -/* 091074 80090474 3C0F8016 */ lui $t7, %hi(D_80165310) # $t7, 0x8016 -/* 091078 80090478 25EF5310 */ addiu $t7, %lo(D_80165310) # addiu $t7, $t7, 0x5310 -/* 09107C 8009047C 0005C040 */ sll $t8, $a1, 1 -/* 091080 80090480 030F4021 */ addu $t0, $t8, $t7 -/* 091084 80090484 95190000 */ lhu $t9, ($t0) -/* 091088 80090488 3C0A8016 */ lui $t2, %hi(D_80164550) # $t2, 0x8016 -/* 09108C 8009048C 254A4550 */ addiu $t2, %lo(D_80164550) # addiu $t2, $t2, 0x4550 -/* 091090 80090490 00197080 */ sll $t6, $t9, 2 -/* 091094 80090494 94820220 */ lhu $v0, 0x220($a0) -/* 091098 80090498 014EC021 */ addu $t8, $t2, $t6 -/* 09109C 8009049C 8F0F0000 */ lw $t7, ($t8) -/* 0910A0 800904A0 0002C8C0 */ sll $t9, $v0, 3 -/* 0910A4 800904A4 01F91821 */ addu $v1, $t7, $t9 -/* 0910A8 800904A8 846E0000 */ lh $t6, ($v1) -/* 0910AC 800904AC 448E2000 */ mtc1 $t6, $f4 -/* 0910B0 800904B0 00000000 */ nop -/* 0910B4 800904B4 468021A0 */ cvt.s.w $f6, $f4 -/* 0910B8 800904B8 E4C60000 */ swc1 $f6, ($a2) -/* 0910BC 800904BC 84780002 */ lh $t8, 2($v1) -/* 0910C0 800904C0 44984000 */ mtc1 $t8, $f8 -/* 0910C4 800904C4 00000000 */ nop -/* 0910C8 800904C8 468042A0 */ cvt.s.w $f10, $f8 -/* 0910CC 800904CC E4CA0004 */ swc1 $f10, 4($a2) -/* 0910D0 800904D0 846F0004 */ lh $t7, 4($v1) -/* 0910D4 800904D4 448F8000 */ mtc1 $t7, $f16 -/* 0910D8 800904D8 3C0F8016 */ lui $t7, %hi(D_801645C8) # 0x8016 -/* 0910DC 800904DC 468084A0 */ cvt.s.w $f18, $f16 -/* 0910E0 800904E0 E4D20008 */ swc1 $f18, 8($a2) -/* 0910E4 800904E4 95090000 */ lhu $t1, ($t0) -/* 0910E8 800904E8 84990220 */ lh $t9, 0x220($a0) -/* 0910EC 800904EC 0009C040 */ sll $t8, $t1, 1 -/* 0910F0 800904F0 01F87821 */ addu $t7, $t7, $t8 -/* 0910F4 800904F4 95EF45C8 */ lhu $t7, %lo(D_801645C8)($t7) # 0x45c8($t7) -/* 0910F8 800904F8 272E0005 */ addiu $t6, $t9, 5 -/* 0910FC 800904FC 25F90001 */ addiu $t9, $t7, 1 -/* 091100 80090500 01D9001A */ div $zero, $t6, $t9 -/* 091104 80090504 17200002 */ bnez $t9, .L80090510 -/* 091108 80090508 00000000 */ nop -/* 09110C 8009050C 0007000D */ break 7 -.L80090510: -/* 091110 80090510 2401FFFF */ li $at, -1 -/* 091114 80090514 17210004 */ bne $t9, $at, .L80090528 -/* 091118 80090518 3C018000 */ lui $at, 0x8000 -/* 09111C 8009051C 15C10002 */ bne $t6, $at, .L80090528 -/* 091120 80090520 00000000 */ nop -/* 091124 80090524 0006000D */ break 6 -.L80090528: -/* 091128 80090528 0000C010 */ mfhi $t8 -/* 09112C 8009052C 00097080 */ sll $t6, $t1, 2 -/* 091130 80090530 014EC821 */ addu $t9, $t2, $t6 -/* 091134 80090534 001878C0 */ sll $t7, $t8, 3 -/* 091138 80090538 8F380000 */ lw $t8, ($t9) -/* 09113C 8009053C 01F81821 */ addu $v1, $t7, $t8 -/* 091140 80090540 846E0000 */ lh $t6, ($v1) -/* 091144 80090544 448E2000 */ mtc1 $t6, $f4 -/* 091148 80090548 00000000 */ nop -/* 09114C 8009054C 468021A0 */ cvt.s.w $f6, $f4 -/* 091150 80090550 E4E60000 */ swc1 $f6, ($a3) -/* 091154 80090554 84790002 */ lh $t9, 2($v1) -/* 091158 80090558 44994000 */ mtc1 $t9, $f8 -/* 09115C 8009055C 00000000 */ nop -/* 091160 80090560 468042A0 */ cvt.s.w $f10, $f8 -/* 091164 80090564 E4EA0004 */ swc1 $f10, 4($a3) -/* 091168 80090568 846F0004 */ lh $t7, 4($v1) -/* 09116C 8009056C 448F8000 */ mtc1 $t7, $f16 -/* 091170 80090570 00000000 */ nop -/* 091174 80090574 468084A0 */ cvt.s.w $f18, $f16 -/* 091178 80090578 1000007D */ b .L80090770 -/* 09117C 8009057C E4F20008 */ swc1 $f18, 8($a3) -glabel L80090580 -/* 091180 80090580 00052080 */ sll $a0, $a1, 2 -/* 091184 80090584 0044C021 */ addu $t8, $v0, $a0 -/* 091188 80090588 44800000 */ mtc1 $zero, $f0 -/* 09118C 8009058C C7040000 */ lwc1 $f4, ($t8) -/* 091190 80090590 00647021 */ addu $t6, $v1, $a0 -/* 091194 80090594 E4C00004 */ swc1 $f0, 4($a2) -/* 091198 80090598 E4C40000 */ swc1 $f4, ($a2) -/* 09119C 8009059C C5C60000 */ lwc1 $f6, ($t6) -/* 0911A0 800905A0 0104C821 */ addu $t9, $t0, $a0 -/* 0911A4 800905A4 01247821 */ addu $t7, $t1, $a0 -/* 0911A8 800905A8 E4C60008 */ swc1 $f6, 8($a2) -/* 0911AC 800905AC C7280000 */ lwc1 $f8, ($t9) -/* 0911B0 800905B0 E4E00004 */ swc1 $f0, 4($a3) -/* 0911B4 800905B4 E4E80000 */ swc1 $f8, ($a3) -/* 0911B8 800905B8 C5EA0000 */ lwc1 $f10, ($t7) -/* 0911BC 800905BC 1000006C */ b .L80090770 -/* 0911C0 800905C0 E4EA0008 */ swc1 $f10, 8($a3) -glabel L800905C4 -/* 0911C4 800905C4 00052080 */ sll $a0, $a1, 2 -/* 0911C8 800905C8 3C0143F0 */ li $at, 0x43F00000 # 480.000000 -/* 0911CC 800905CC 0144C021 */ addu $t8, $t2, $a0 -/* 0911D0 800905D0 44810000 */ mtc1 $at, $f0 -/* 0911D4 800905D4 C7100000 */ lwc1 $f16, ($t8) -/* 0911D8 800905D8 01647021 */ addu $t6, $t3, $a0 -/* 0911DC 800905DC E4C00004 */ swc1 $f0, 4($a2) -/* 0911E0 800905E0 E4D00000 */ swc1 $f16, ($a2) -/* 0911E4 800905E4 C5D20000 */ lwc1 $f18, ($t6) -/* 0911E8 800905E8 0184C821 */ addu $t9, $t4, $a0 -/* 0911EC 800905EC 01A47821 */ addu $t7, $t5, $a0 -/* 0911F0 800905F0 E4D20008 */ swc1 $f18, 8($a2) -/* 0911F4 800905F4 C7240000 */ lwc1 $f4, ($t9) -/* 0911F8 800905F8 E4E00004 */ swc1 $f0, 4($a3) -/* 0911FC 800905FC E4E40000 */ swc1 $f4, ($a3) -/* 091200 80090600 C5E60000 */ lwc1 $f6, ($t7) -/* 091204 80090604 1000005A */ b .L80090770 -/* 091208 80090608 E4E60008 */ swc1 $f6, 8($a3) -glabel L8009060C -/* 09120C 8009060C 00052080 */ sll $a0, $a1, 2 -/* 091210 80090610 03A4C021 */ addu $t8, $sp, $a0 -/* 091214 80090614 44800000 */ mtc1 $zero, $f0 -/* 091218 80090618 C7080078 */ lwc1 $f8, 0x78($t8) -/* 09121C 8009061C 03A47021 */ addu $t6, $sp, $a0 -/* 091220 80090620 E4C00004 */ swc1 $f0, 4($a2) -/* 091224 80090624 E4C80000 */ swc1 $f8, ($a2) -/* 091228 80090628 C5CA0068 */ lwc1 $f10, 0x68($t6) -/* 09122C 8009062C 03A4C821 */ addu $t9, $sp, $a0 -/* 091230 80090630 03A47821 */ addu $t7, $sp, $a0 -/* 091234 80090634 E4CA0008 */ swc1 $f10, 8($a2) -/* 091238 80090638 C7300058 */ lwc1 $f16, 0x58($t9) -/* 09123C 8009063C E4E00004 */ swc1 $f0, 4($a3) -/* 091240 80090640 E4F00000 */ swc1 $f16, ($a3) -/* 091244 80090644 C5F20048 */ lwc1 $f18, 0x48($t7) -/* 091248 80090648 10000049 */ b .L80090770 -/* 09124C 8009064C E4F20008 */ swc1 $f18, 8($a3) -glabel L80090650 -/* 091250 80090650 00052080 */ sll $a0, $a1, 2 -/* 091254 80090654 3C014348 */ li $at, 0x43480000 # 200.000000 -/* 091258 80090658 03A4C021 */ addu $t8, $sp, $a0 -/* 09125C 8009065C 44810000 */ mtc1 $at, $f0 -/* 091260 80090660 C7040038 */ lwc1 $f4, 0x38($t8) -/* 091264 80090664 03A47021 */ addu $t6, $sp, $a0 -/* 091268 80090668 E4C00004 */ swc1 $f0, 4($a2) -/* 09126C 8009066C E4C40000 */ swc1 $f4, ($a2) -/* 091270 80090670 C5C60028 */ lwc1 $f6, 0x28($t6) -/* 091274 80090674 03A4C821 */ addu $t9, $sp, $a0 -/* 091278 80090678 03A47821 */ addu $t7, $sp, $a0 -/* 09127C 8009067C E4C60008 */ swc1 $f6, 8($a2) -/* 091280 80090680 C7280018 */ lwc1 $f8, 0x18($t9) -/* 091284 80090684 E4E00004 */ swc1 $f0, 4($a3) -/* 091288 80090688 E4E80000 */ swc1 $f8, ($a3) -/* 09128C 8009068C C5EA0008 */ lwc1 $f10, 8($t7) -/* 091290 80090690 10000037 */ b .L80090770 -/* 091294 80090694 E4EA0008 */ swc1 $f10, 8($a3) -.L80090698: -glabel L80090698 -/* 091298 80090698 3C0A8016 */ lui $t2, %hi(D_80164550) # $t2, 0x8016 -/* 09129C 8009069C 94820220 */ lhu $v0, 0x220($a0) -/* 0912A0 800906A0 254A4550 */ addiu $t2, %lo(D_80164550) # addiu $t2, $t2, 0x4550 -/* 0912A4 800906A4 8D580000 */ lw $t8, ($t2) -/* 0912A8 800906A8 000270C0 */ sll $t6, $v0, 3 -/* 0912AC 800906AC 030E1821 */ addu $v1, $t8, $t6 -/* 0912B0 800906B0 84790000 */ lh $t9, ($v1) -/* 0912B4 800906B4 44998000 */ mtc1 $t9, $f16 -/* 0912B8 800906B8 00000000 */ nop -/* 0912BC 800906BC 468084A0 */ cvt.s.w $f18, $f16 -/* 0912C0 800906C0 E4D20000 */ swc1 $f18, ($a2) -/* 0912C4 800906C4 846F0002 */ lh $t7, 2($v1) -/* 0912C8 800906C8 448F2000 */ mtc1 $t7, $f4 -/* 0912CC 800906CC 3C0F8016 */ lui $t7, %hi(D_801645C8) # $t7, 0x8016 -/* 0912D0 800906D0 468021A0 */ cvt.s.w $f6, $f4 -/* 0912D4 800906D4 E4C60004 */ swc1 $f6, 4($a2) -/* 0912D8 800906D8 84780004 */ lh $t8, 4($v1) -/* 0912DC 800906DC 44984000 */ mtc1 $t8, $f8 -/* 0912E0 800906E0 00000000 */ nop -/* 0912E4 800906E4 468042A0 */ cvt.s.w $f10, $f8 -/* 0912E8 800906E8 E4CA0008 */ swc1 $f10, 8($a2) -/* 0912EC 800906EC 848E0220 */ lh $t6, 0x220($a0) -/* 0912F0 800906F0 95EF45C8 */ lhu $t7, %lo(D_801645C8)($t7) -/* 0912F4 800906F4 25D90005 */ addiu $t9, $t6, 5 -/* 0912F8 800906F8 25F80001 */ addiu $t8, $t7, 1 -/* 0912FC 800906FC 0338001A */ div $zero, $t9, $t8 -/* 091300 80090700 17000002 */ bnez $t8, .L8009070C -/* 091304 80090704 00000000 */ nop -/* 091308 80090708 0007000D */ break 7 -.L8009070C: -/* 09130C 8009070C 2401FFFF */ li $at, -1 -/* 091310 80090710 17010004 */ bne $t8, $at, .L80090724 -/* 091314 80090714 3C018000 */ lui $at, 0x8000 -/* 091318 80090718 17210002 */ bne $t9, $at, .L80090724 -/* 09131C 8009071C 00000000 */ nop -/* 091320 80090720 0006000D */ break 6 -.L80090724: -/* 091324 80090724 8D590000 */ lw $t9, ($t2) -/* 091328 80090728 00007010 */ mfhi $t6 -/* 09132C 8009072C 000E78C0 */ sll $t7, $t6, 3 -/* 091330 80090730 01F91821 */ addu $v1, $t7, $t9 -/* 091334 80090734 84780000 */ lh $t8, ($v1) -/* 091338 80090738 44988000 */ mtc1 $t8, $f16 -/* 09133C 8009073C 00000000 */ nop -/* 091340 80090740 468084A0 */ cvt.s.w $f18, $f16 -/* 091344 80090744 E4F20000 */ swc1 $f18, ($a3) -/* 091348 80090748 846E0002 */ lh $t6, 2($v1) -/* 09134C 8009074C 448E2000 */ mtc1 $t6, $f4 -/* 091350 80090750 00000000 */ nop -/* 091354 80090754 468021A0 */ cvt.s.w $f6, $f4 -/* 091358 80090758 E4E60004 */ swc1 $f6, 4($a3) -/* 09135C 8009075C 846F0004 */ lh $t7, 4($v1) -/* 091360 80090760 448F4000 */ mtc1 $t7, $f8 -/* 091364 80090764 00000000 */ nop -/* 091368 80090768 468042A0 */ cvt.s.w $f10, $f8 -/* 09136C 8009076C E4EA0008 */ swc1 $f10, 8($a3) -.L80090770: -/* 091370 80090770 03E00008 */ jr $ra -/* 091374 80090774 27BD0110 */ addiu $sp, $sp, 0x110 +glabel func_80090178 +/* 090D78 80090178 27BDFEF0 */ addiu $sp, $sp, -0x110 +/* 090D7C 8009017C 3C18800E */ lui $t8, %hi(D_800E6F6C) # $t8, 0x800e +/* 090D80 80090180 AFA50114 */ sw $a1, 0x114($sp) +/* 090D84 80090184 27186F6C */ addiu $t8, %lo(D_800E6F6C) # addiu $t8, $t8, 0x6f6c +/* 090D88 80090188 8F010000 */ lw $at, ($t8) +/* 090D8C 8009018C 27A200F8 */ addiu $v0, $sp, 0xf8 +/* 090D90 80090190 00057600 */ sll $t6, $a1, 0x18 +/* 090D94 80090194 AC410000 */ sw $at, ($v0) +/* 090D98 80090198 8F0F0004 */ lw $t7, 4($t8) +/* 090D9C 8009019C 000E2E03 */ sra $a1, $t6, 0x18 +/* 090DA0 800901A0 3C0E800E */ lui $t6, %hi(D_800E6F7C) # $t6, 0x800e +/* 090DA4 800901A4 AC4F0004 */ sw $t7, 4($v0) +/* 090DA8 800901A8 8F010008 */ lw $at, 8($t8) +/* 090DAC 800901AC 25CE6F7C */ addiu $t6, %lo(D_800E6F7C) # addiu $t6, $t6, 0x6f7c +/* 090DB0 800901B0 27A300E8 */ addiu $v1, $sp, 0xe8 +/* 090DB4 800901B4 AC410008 */ sw $at, 8($v0) +/* 090DB8 800901B8 8F0F000C */ lw $t7, 0xc($t8) +/* 090DBC 800901BC 3C18800E */ lui $t8, %hi(D_800E6F8C) # $t8, 0x800e +/* 090DC0 800901C0 27186F8C */ addiu $t8, %lo(D_800E6F8C) # addiu $t8, $t8, 0x6f8c +/* 090DC4 800901C4 AC4F000C */ sw $t7, 0xc($v0) +/* 090DC8 800901C8 8DC10000 */ lw $at, ($t6) +/* 090DCC 800901CC 27A800D8 */ addiu $t0, $sp, 0xd8 +/* 090DD0 800901D0 27A900C8 */ addiu $t1, $sp, 0xc8 +/* 090DD4 800901D4 AC610000 */ sw $at, ($v1) +/* 090DD8 800901D8 8DCF0004 */ lw $t7, 4($t6) +/* 090DDC 800901DC 27AA00B8 */ addiu $t2, $sp, 0xb8 +/* 090DE0 800901E0 27AB00A8 */ addiu $t3, $sp, 0xa8 +/* 090DE4 800901E4 AC6F0004 */ sw $t7, 4($v1) +/* 090DE8 800901E8 8DC10008 */ lw $at, 8($t6) +/* 090DEC 800901EC 27AC0098 */ addiu $t4, $sp, 0x98 +/* 090DF0 800901F0 27AD0088 */ addiu $t5, $sp, 0x88 +/* 090DF4 800901F4 AC610008 */ sw $at, 8($v1) +/* 090DF8 800901F8 8DCF000C */ lw $t7, 0xc($t6) +/* 090DFC 800901FC 3C0E800E */ lui $t6, %hi(D_800E6F9C) # $t6, 0x800e +/* 090E00 80090200 25CE6F9C */ addiu $t6, %lo(D_800E6F9C) # addiu $t6, $t6, 0x6f9c +/* 090E04 80090204 AC6F000C */ sw $t7, 0xc($v1) +/* 090E08 80090208 8F010000 */ lw $at, ($t8) +/* 090E0C 8009020C 3C19800E */ lui $t9, %hi(D_800E6FEC) # $t9, 0x800e +/* 090E10 80090210 27396FEC */ addiu $t9, %lo(D_800E6FEC) # addiu $t9, $t9, 0x6fec +/* 090E14 80090214 AD010000 */ sw $at, ($t0) +/* 090E18 80090218 8F0F0004 */ lw $t7, 4($t8) +/* 090E1C 8009021C AD0F0004 */ sw $t7, 4($t0) +/* 090E20 80090220 8F010008 */ lw $at, 8($t8) +/* 090E24 80090224 AD010008 */ sw $at, 8($t0) +/* 090E28 80090228 8F0F000C */ lw $t7, 0xc($t8) +/* 090E2C 8009022C 3C18800E */ lui $t8, %hi(D_800E6FAC) # $t8, 0x800e +/* 090E30 80090230 27186FAC */ addiu $t8, %lo(D_800E6FAC) # addiu $t8, $t8, 0x6fac +/* 090E34 80090234 AD0F000C */ sw $t7, 0xc($t0) +/* 090E38 80090238 8DC10000 */ lw $at, ($t6) +/* 090E3C 8009023C AD210000 */ sw $at, ($t1) +/* 090E40 80090240 8DCF0004 */ lw $t7, 4($t6) +/* 090E44 80090244 AD2F0004 */ sw $t7, 4($t1) +/* 090E48 80090248 8DC10008 */ lw $at, 8($t6) +/* 090E4C 8009024C AD210008 */ sw $at, 8($t1) +/* 090E50 80090250 8DCF000C */ lw $t7, 0xc($t6) +/* 090E54 80090254 3C0E800E */ lui $t6, %hi(D_800E6FBC) # $t6, 0x800e +/* 090E58 80090258 25CE6FBC */ addiu $t6, %lo(D_800E6FBC) # addiu $t6, $t6, 0x6fbc +/* 090E5C 8009025C AD2F000C */ sw $t7, 0xc($t1) +/* 090E60 80090260 8F010000 */ lw $at, ($t8) +/* 090E64 80090264 AD410000 */ sw $at, ($t2) +/* 090E68 80090268 8F0F0004 */ lw $t7, 4($t8) +/* 090E6C 8009026C AD4F0004 */ sw $t7, 4($t2) +/* 090E70 80090270 8F010008 */ lw $at, 8($t8) +/* 090E74 80090274 AD410008 */ sw $at, 8($t2) +/* 090E78 80090278 8F0F000C */ lw $t7, 0xc($t8) +/* 090E7C 8009027C 3C18800E */ lui $t8, %hi(D_800E6FCC) # $t8, 0x800e +/* 090E80 80090280 27186FCC */ addiu $t8, %lo(D_800E6FCC) # addiu $t8, $t8, 0x6fcc +/* 090E84 80090284 AD4F000C */ sw $t7, 0xc($t2) +/* 090E88 80090288 8DC10000 */ lw $at, ($t6) +/* 090E8C 8009028C AD610000 */ sw $at, ($t3) +/* 090E90 80090290 8DCF0004 */ lw $t7, 4($t6) +/* 090E94 80090294 AD6F0004 */ sw $t7, 4($t3) +/* 090E98 80090298 8DC10008 */ lw $at, 8($t6) +/* 090E9C 8009029C AD610008 */ sw $at, 8($t3) +/* 090EA0 800902A0 8DCF000C */ lw $t7, 0xc($t6) +/* 090EA4 800902A4 3C0E800E */ lui $t6, %hi(D_800E6FDC) # $t6, 0x800e +/* 090EA8 800902A8 25CE6FDC */ addiu $t6, %lo(D_800E6FDC) # addiu $t6, $t6, 0x6fdc +/* 090EAC 800902AC AD6F000C */ sw $t7, 0xc($t3) +/* 090EB0 800902B0 8F010000 */ lw $at, ($t8) +/* 090EB4 800902B4 AD810000 */ sw $at, ($t4) +/* 090EB8 800902B8 8F0F0004 */ lw $t7, 4($t8) +/* 090EBC 800902BC AD8F0004 */ sw $t7, 4($t4) +/* 090EC0 800902C0 8F010008 */ lw $at, 8($t8) +/* 090EC4 800902C4 AD810008 */ sw $at, 8($t4) +/* 090EC8 800902C8 8F0F000C */ lw $t7, 0xc($t8) +/* 090ECC 800902CC 27B80078 */ addiu $t8, $sp, 0x78 +/* 090ED0 800902D0 AD8F000C */ sw $t7, 0xc($t4) +/* 090ED4 800902D4 8DC10000 */ lw $at, ($t6) +/* 090ED8 800902D8 ADA10000 */ sw $at, ($t5) +/* 090EDC 800902DC 8DCF0004 */ lw $t7, 4($t6) +/* 090EE0 800902E0 ADAF0004 */ sw $t7, 4($t5) +/* 090EE4 800902E4 8DC10008 */ lw $at, 8($t6) +/* 090EE8 800902E8 ADA10008 */ sw $at, 8($t5) +/* 090EEC 800902EC 8DCF000C */ lw $t7, 0xc($t6) +/* 090EF0 800902F0 27AE0068 */ addiu $t6, $sp, 0x68 +/* 090EF4 800902F4 ADAF000C */ sw $t7, 0xc($t5) +/* 090EF8 800902F8 8F2F0004 */ lw $t7, 4($t9) +/* 090EFC 800902FC 8F210000 */ lw $at, ($t9) +/* 090F00 80090300 AF0F0004 */ sw $t7, 4($t8) +/* 090F04 80090304 AF010000 */ sw $at, ($t8) +/* 090F08 80090308 8F210008 */ lw $at, 8($t9) +/* 090F0C 8009030C 8F2F000C */ lw $t7, 0xc($t9) +/* 090F10 80090310 27B90058 */ addiu $t9, $sp, 0x58 +/* 090F14 80090314 AF010008 */ sw $at, 8($t8) +/* 090F18 80090318 AF0F000C */ sw $t7, 0xc($t8) +/* 090F1C 8009031C 3C18800E */ lui $t8, %hi(D_800E6FFC) # $t8, 0x800e +/* 090F20 80090320 27186FFC */ addiu $t8, %lo(D_800E6FFC) # addiu $t8, $t8, 0x6ffc +/* 090F24 80090324 8F010000 */ lw $at, ($t8) +/* 090F28 80090328 8F0F0004 */ lw $t7, 4($t8) +/* 090F2C 8009032C ADC10000 */ sw $at, ($t6) +/* 090F30 80090330 ADCF0004 */ sw $t7, 4($t6) +/* 090F34 80090334 8F0F000C */ lw $t7, 0xc($t8) +/* 090F38 80090338 8F010008 */ lw $at, 8($t8) +/* 090F3C 8009033C 27B80048 */ addiu $t8, $sp, 0x48 +/* 090F40 80090340 ADCF000C */ sw $t7, 0xc($t6) +/* 090F44 80090344 ADC10008 */ sw $at, 8($t6) +/* 090F48 80090348 3C0E800E */ lui $t6, %hi(D_800E700C) # $t6, 0x800e +/* 090F4C 8009034C 25CE700C */ addiu $t6, %lo(D_800E700C) # addiu $t6, $t6, 0x700c +/* 090F50 80090350 8DC10000 */ lw $at, ($t6) +/* 090F54 80090354 8DCF0004 */ lw $t7, 4($t6) +/* 090F58 80090358 AF210000 */ sw $at, ($t9) +/* 090F5C 8009035C AF2F0004 */ sw $t7, 4($t9) +/* 090F60 80090360 8DCF000C */ lw $t7, 0xc($t6) +/* 090F64 80090364 8DC10008 */ lw $at, 8($t6) +/* 090F68 80090368 27AE0038 */ addiu $t6, $sp, 0x38 +/* 090F6C 8009036C AF2F000C */ sw $t7, 0xc($t9) +/* 090F70 80090370 AF210008 */ sw $at, 8($t9) +/* 090F74 80090374 3C19800E */ lui $t9, %hi(D_800E701C) # $t9, 0x800e +/* 090F78 80090378 2739701C */ addiu $t9, %lo(D_800E701C) # addiu $t9, $t9, 0x701c +/* 090F7C 8009037C 8F210000 */ lw $at, ($t9) +/* 090F80 80090380 8F2F0004 */ lw $t7, 4($t9) +/* 090F84 80090384 AF010000 */ sw $at, ($t8) +/* 090F88 80090388 AF0F0004 */ sw $t7, 4($t8) +/* 090F8C 8009038C 8F2F000C */ lw $t7, 0xc($t9) +/* 090F90 80090390 8F210008 */ lw $at, 8($t9) +/* 090F94 80090394 27B90028 */ addiu $t9, $sp, 0x28 +/* 090F98 80090398 AF0F000C */ sw $t7, 0xc($t8) +/* 090F9C 8009039C AF010008 */ sw $at, 8($t8) +/* 090FA0 800903A0 3C18800E */ lui $t8, %hi(D_800E702C) # $t8, 0x800e +/* 090FA4 800903A4 2718702C */ addiu $t8, %lo(D_800E702C) # addiu $t8, $t8, 0x702c +/* 090FA8 800903A8 8F010000 */ lw $at, ($t8) +/* 090FAC 800903AC 8F0F0004 */ lw $t7, 4($t8) +/* 090FB0 800903B0 ADC10000 */ sw $at, ($t6) +/* 090FB4 800903B4 ADCF0004 */ sw $t7, 4($t6) +/* 090FB8 800903B8 8F0F000C */ lw $t7, 0xc($t8) +/* 090FBC 800903BC 8F010008 */ lw $at, 8($t8) +/* 090FC0 800903C0 27B80018 */ addiu $t8, $sp, 0x18 +/* 090FC4 800903C4 ADCF000C */ sw $t7, 0xc($t6) +/* 090FC8 800903C8 ADC10008 */ sw $at, 8($t6) +/* 090FCC 800903CC 3C0E800E */ lui $t6, %hi(D_800E703C) # $t6, 0x800e +/* 090FD0 800903D0 25CE703C */ addiu $t6, %lo(D_800E703C) # addiu $t6, $t6, 0x703c +/* 090FD4 800903D4 8DC10000 */ lw $at, ($t6) +/* 090FD8 800903D8 8DCF0004 */ lw $t7, 4($t6) +/* 090FDC 800903DC AF210000 */ sw $at, ($t9) +/* 090FE0 800903E0 AF2F0004 */ sw $t7, 4($t9) +/* 090FE4 800903E4 8DCF000C */ lw $t7, 0xc($t6) +/* 090FE8 800903E8 8DC10008 */ lw $at, 8($t6) +/* 090FEC 800903EC 27AE0008 */ addiu $t6, $sp, 8 +/* 090FF0 800903F0 AF2F000C */ sw $t7, 0xc($t9) +/* 090FF4 800903F4 AF210008 */ sw $at, 8($t9) +/* 090FF8 800903F8 3C19800E */ lui $t9, %hi(D_800E704C) # $t9, 0x800e +/* 090FFC 800903FC 2739704C */ addiu $t9, %lo(D_800E704C) # addiu $t9, $t9, 0x704c +/* 091000 80090400 8F210000 */ lw $at, ($t9) +/* 091004 80090404 8F2F0004 */ lw $t7, 4($t9) +/* 091008 80090408 AF010000 */ sw $at, ($t8) +/* 09100C 8009040C AF0F0004 */ sw $t7, 4($t8) +/* 091010 80090410 8F2F000C */ lw $t7, 0xc($t9) +/* 091014 80090414 8F210008 */ lw $at, 8($t9) +/* 091018 80090418 3C19800E */ lui $t9, %hi(gCurrentCourseId) # $t9, 0x800e +/* 09101C 8009041C AF0F000C */ sw $t7, 0xc($t8) +/* 091020 80090420 AF010008 */ sw $at, 8($t8) +/* 091024 80090424 3C18800E */ lui $t8, %hi(D_800E705C) # $t8, 0x800e +/* 091028 80090428 2718705C */ addiu $t8, %lo(D_800E705C) # addiu $t8, $t8, 0x705c +/* 09102C 8009042C 8F010000 */ lw $at, ($t8) +/* 091030 80090430 8F0F0004 */ lw $t7, 4($t8) +/* 091034 80090434 ADC10000 */ sw $at, ($t6) +/* 091038 80090438 ADCF0004 */ sw $t7, 4($t6) +/* 09103C 8009043C 8F0F000C */ lw $t7, 0xc($t8) +/* 091040 80090440 8F010008 */ lw $at, 8($t8) +/* 091044 80090444 ADCF000C */ sw $t7, 0xc($t6) +/* 091048 80090448 ADC10008 */ sw $at, 8($t6) +/* 09104C 8009044C 8739C5A0 */ lh $t9, %lo(gCurrentCourseId)($t9) +/* 091050 80090450 272EFFFC */ addiu $t6, $t9, -4 +/* 091054 80090454 2DC10010 */ sltiu $at, $t6, 0x10 +/* 091058 80090458 1020008F */ beqz $at, .L80090698 +/* 09105C 8009045C 000E7080 */ sll $t6, $t6, 2 +/* 091060 80090460 3C01800F */ lui $at, %hi(jpt_800EF5F8) +/* 091064 80090464 002E0821 */ addu $at, $at, $t6 +/* 091068 80090468 8C2EF5F8 */ lw $t6, %lo(jpt_800EF5F8)($at) +/* 09106C 8009046C 01C00008 */ jr $t6 +/* 091070 80090470 00000000 */ nop +glabel L80090474 +/* 091074 80090474 3C0F8016 */ lui $t7, %hi(D_80165310) # $t7, 0x8016 +/* 091078 80090478 25EF5310 */ addiu $t7, %lo(D_80165310) # addiu $t7, $t7, 0x5310 +/* 09107C 8009047C 0005C040 */ sll $t8, $a1, 1 +/* 091080 80090480 030F4021 */ addu $t0, $t8, $t7 +/* 091084 80090484 95190000 */ lhu $t9, ($t0) +/* 091088 80090488 3C0A8016 */ lui $t2, %hi(D_80164550) # $t2, 0x8016 +/* 09108C 8009048C 254A4550 */ addiu $t2, %lo(D_80164550) # addiu $t2, $t2, 0x4550 +/* 091090 80090490 00197080 */ sll $t6, $t9, 2 +/* 091094 80090494 94820220 */ lhu $v0, 0x220($a0) +/* 091098 80090498 014EC021 */ addu $t8, $t2, $t6 +/* 09109C 8009049C 8F0F0000 */ lw $t7, ($t8) +/* 0910A0 800904A0 0002C8C0 */ sll $t9, $v0, 3 +/* 0910A4 800904A4 01F91821 */ addu $v1, $t7, $t9 +/* 0910A8 800904A8 846E0000 */ lh $t6, ($v1) +/* 0910AC 800904AC 448E2000 */ mtc1 $t6, $f4 +/* 0910B0 800904B0 00000000 */ nop +/* 0910B4 800904B4 468021A0 */ cvt.s.w $f6, $f4 +/* 0910B8 800904B8 E4C60000 */ swc1 $f6, ($a2) +/* 0910BC 800904BC 84780002 */ lh $t8, 2($v1) +/* 0910C0 800904C0 44984000 */ mtc1 $t8, $f8 +/* 0910C4 800904C4 00000000 */ nop +/* 0910C8 800904C8 468042A0 */ cvt.s.w $f10, $f8 +/* 0910CC 800904CC E4CA0004 */ swc1 $f10, 4($a2) +/* 0910D0 800904D0 846F0004 */ lh $t7, 4($v1) +/* 0910D4 800904D4 448F8000 */ mtc1 $t7, $f16 +/* 0910D8 800904D8 3C0F8016 */ lui $t7, %hi(D_801645C8) # 0x8016 +/* 0910DC 800904DC 468084A0 */ cvt.s.w $f18, $f16 +/* 0910E0 800904E0 E4D20008 */ swc1 $f18, 8($a2) +/* 0910E4 800904E4 95090000 */ lhu $t1, ($t0) +/* 0910E8 800904E8 84990220 */ lh $t9, 0x220($a0) +/* 0910EC 800904EC 0009C040 */ sll $t8, $t1, 1 +/* 0910F0 800904F0 01F87821 */ addu $t7, $t7, $t8 +/* 0910F4 800904F4 95EF45C8 */ lhu $t7, %lo(D_801645C8)($t7) # 0x45c8($t7) +/* 0910F8 800904F8 272E0005 */ addiu $t6, $t9, 5 +/* 0910FC 800904FC 25F90001 */ addiu $t9, $t7, 1 +/* 091100 80090500 01D9001A */ div $zero, $t6, $t9 +/* 091104 80090504 17200002 */ bnez $t9, .L80090510 +/* 091108 80090508 00000000 */ nop +/* 09110C 8009050C 0007000D */ break 7 +.L80090510: +/* 091110 80090510 2401FFFF */ li $at, -1 +/* 091114 80090514 17210004 */ bne $t9, $at, .L80090528 +/* 091118 80090518 3C018000 */ lui $at, 0x8000 +/* 09111C 8009051C 15C10002 */ bne $t6, $at, .L80090528 +/* 091120 80090520 00000000 */ nop +/* 091124 80090524 0006000D */ break 6 +.L80090528: +/* 091128 80090528 0000C010 */ mfhi $t8 +/* 09112C 8009052C 00097080 */ sll $t6, $t1, 2 +/* 091130 80090530 014EC821 */ addu $t9, $t2, $t6 +/* 091134 80090534 001878C0 */ sll $t7, $t8, 3 +/* 091138 80090538 8F380000 */ lw $t8, ($t9) +/* 09113C 8009053C 01F81821 */ addu $v1, $t7, $t8 +/* 091140 80090540 846E0000 */ lh $t6, ($v1) +/* 091144 80090544 448E2000 */ mtc1 $t6, $f4 +/* 091148 80090548 00000000 */ nop +/* 09114C 8009054C 468021A0 */ cvt.s.w $f6, $f4 +/* 091150 80090550 E4E60000 */ swc1 $f6, ($a3) +/* 091154 80090554 84790002 */ lh $t9, 2($v1) +/* 091158 80090558 44994000 */ mtc1 $t9, $f8 +/* 09115C 8009055C 00000000 */ nop +/* 091160 80090560 468042A0 */ cvt.s.w $f10, $f8 +/* 091164 80090564 E4EA0004 */ swc1 $f10, 4($a3) +/* 091168 80090568 846F0004 */ lh $t7, 4($v1) +/* 09116C 8009056C 448F8000 */ mtc1 $t7, $f16 +/* 091170 80090570 00000000 */ nop +/* 091174 80090574 468084A0 */ cvt.s.w $f18, $f16 +/* 091178 80090578 1000007D */ b .L80090770 +/* 09117C 8009057C E4F20008 */ swc1 $f18, 8($a3) +glabel L80090580 +/* 091180 80090580 00052080 */ sll $a0, $a1, 2 +/* 091184 80090584 0044C021 */ addu $t8, $v0, $a0 +/* 091188 80090588 44800000 */ mtc1 $zero, $f0 +/* 09118C 8009058C C7040000 */ lwc1 $f4, ($t8) +/* 091190 80090590 00647021 */ addu $t6, $v1, $a0 +/* 091194 80090594 E4C00004 */ swc1 $f0, 4($a2) +/* 091198 80090598 E4C40000 */ swc1 $f4, ($a2) +/* 09119C 8009059C C5C60000 */ lwc1 $f6, ($t6) +/* 0911A0 800905A0 0104C821 */ addu $t9, $t0, $a0 +/* 0911A4 800905A4 01247821 */ addu $t7, $t1, $a0 +/* 0911A8 800905A8 E4C60008 */ swc1 $f6, 8($a2) +/* 0911AC 800905AC C7280000 */ lwc1 $f8, ($t9) +/* 0911B0 800905B0 E4E00004 */ swc1 $f0, 4($a3) +/* 0911B4 800905B4 E4E80000 */ swc1 $f8, ($a3) +/* 0911B8 800905B8 C5EA0000 */ lwc1 $f10, ($t7) +/* 0911BC 800905BC 1000006C */ b .L80090770 +/* 0911C0 800905C0 E4EA0008 */ swc1 $f10, 8($a3) +glabel L800905C4 +/* 0911C4 800905C4 00052080 */ sll $a0, $a1, 2 +/* 0911C8 800905C8 3C0143F0 */ li $at, 0x43F00000 # 480.000000 +/* 0911CC 800905CC 0144C021 */ addu $t8, $t2, $a0 +/* 0911D0 800905D0 44810000 */ mtc1 $at, $f0 +/* 0911D4 800905D4 C7100000 */ lwc1 $f16, ($t8) +/* 0911D8 800905D8 01647021 */ addu $t6, $t3, $a0 +/* 0911DC 800905DC E4C00004 */ swc1 $f0, 4($a2) +/* 0911E0 800905E0 E4D00000 */ swc1 $f16, ($a2) +/* 0911E4 800905E4 C5D20000 */ lwc1 $f18, ($t6) +/* 0911E8 800905E8 0184C821 */ addu $t9, $t4, $a0 +/* 0911EC 800905EC 01A47821 */ addu $t7, $t5, $a0 +/* 0911F0 800905F0 E4D20008 */ swc1 $f18, 8($a2) +/* 0911F4 800905F4 C7240000 */ lwc1 $f4, ($t9) +/* 0911F8 800905F8 E4E00004 */ swc1 $f0, 4($a3) +/* 0911FC 800905FC E4E40000 */ swc1 $f4, ($a3) +/* 091200 80090600 C5E60000 */ lwc1 $f6, ($t7) +/* 091204 80090604 1000005A */ b .L80090770 +/* 091208 80090608 E4E60008 */ swc1 $f6, 8($a3) +glabel L8009060C +/* 09120C 8009060C 00052080 */ sll $a0, $a1, 2 +/* 091210 80090610 03A4C021 */ addu $t8, $sp, $a0 +/* 091214 80090614 44800000 */ mtc1 $zero, $f0 +/* 091218 80090618 C7080078 */ lwc1 $f8, 0x78($t8) +/* 09121C 8009061C 03A47021 */ addu $t6, $sp, $a0 +/* 091220 80090620 E4C00004 */ swc1 $f0, 4($a2) +/* 091224 80090624 E4C80000 */ swc1 $f8, ($a2) +/* 091228 80090628 C5CA0068 */ lwc1 $f10, 0x68($t6) +/* 09122C 8009062C 03A4C821 */ addu $t9, $sp, $a0 +/* 091230 80090630 03A47821 */ addu $t7, $sp, $a0 +/* 091234 80090634 E4CA0008 */ swc1 $f10, 8($a2) +/* 091238 80090638 C7300058 */ lwc1 $f16, 0x58($t9) +/* 09123C 8009063C E4E00004 */ swc1 $f0, 4($a3) +/* 091240 80090640 E4F00000 */ swc1 $f16, ($a3) +/* 091244 80090644 C5F20048 */ lwc1 $f18, 0x48($t7) +/* 091248 80090648 10000049 */ b .L80090770 +/* 09124C 8009064C E4F20008 */ swc1 $f18, 8($a3) +glabel L80090650 +/* 091250 80090650 00052080 */ sll $a0, $a1, 2 +/* 091254 80090654 3C014348 */ li $at, 0x43480000 # 200.000000 +/* 091258 80090658 03A4C021 */ addu $t8, $sp, $a0 +/* 09125C 8009065C 44810000 */ mtc1 $at, $f0 +/* 091260 80090660 C7040038 */ lwc1 $f4, 0x38($t8) +/* 091264 80090664 03A47021 */ addu $t6, $sp, $a0 +/* 091268 80090668 E4C00004 */ swc1 $f0, 4($a2) +/* 09126C 8009066C E4C40000 */ swc1 $f4, ($a2) +/* 091270 80090670 C5C60028 */ lwc1 $f6, 0x28($t6) +/* 091274 80090674 03A4C821 */ addu $t9, $sp, $a0 +/* 091278 80090678 03A47821 */ addu $t7, $sp, $a0 +/* 09127C 8009067C E4C60008 */ swc1 $f6, 8($a2) +/* 091280 80090680 C7280018 */ lwc1 $f8, 0x18($t9) +/* 091284 80090684 E4E00004 */ swc1 $f0, 4($a3) +/* 091288 80090688 E4E80000 */ swc1 $f8, ($a3) +/* 09128C 8009068C C5EA0008 */ lwc1 $f10, 8($t7) +/* 091290 80090690 10000037 */ b .L80090770 +/* 091294 80090694 E4EA0008 */ swc1 $f10, 8($a3) +.L80090698: +glabel L80090698 +/* 091298 80090698 3C0A8016 */ lui $t2, %hi(D_80164550) # $t2, 0x8016 +/* 09129C 8009069C 94820220 */ lhu $v0, 0x220($a0) +/* 0912A0 800906A0 254A4550 */ addiu $t2, %lo(D_80164550) # addiu $t2, $t2, 0x4550 +/* 0912A4 800906A4 8D580000 */ lw $t8, ($t2) +/* 0912A8 800906A8 000270C0 */ sll $t6, $v0, 3 +/* 0912AC 800906AC 030E1821 */ addu $v1, $t8, $t6 +/* 0912B0 800906B0 84790000 */ lh $t9, ($v1) +/* 0912B4 800906B4 44998000 */ mtc1 $t9, $f16 +/* 0912B8 800906B8 00000000 */ nop +/* 0912BC 800906BC 468084A0 */ cvt.s.w $f18, $f16 +/* 0912C0 800906C0 E4D20000 */ swc1 $f18, ($a2) +/* 0912C4 800906C4 846F0002 */ lh $t7, 2($v1) +/* 0912C8 800906C8 448F2000 */ mtc1 $t7, $f4 +/* 0912CC 800906CC 3C0F8016 */ lui $t7, %hi(D_801645C8) # $t7, 0x8016 +/* 0912D0 800906D0 468021A0 */ cvt.s.w $f6, $f4 +/* 0912D4 800906D4 E4C60004 */ swc1 $f6, 4($a2) +/* 0912D8 800906D8 84780004 */ lh $t8, 4($v1) +/* 0912DC 800906DC 44984000 */ mtc1 $t8, $f8 +/* 0912E0 800906E0 00000000 */ nop +/* 0912E4 800906E4 468042A0 */ cvt.s.w $f10, $f8 +/* 0912E8 800906E8 E4CA0008 */ swc1 $f10, 8($a2) +/* 0912EC 800906EC 848E0220 */ lh $t6, 0x220($a0) +/* 0912F0 800906F0 95EF45C8 */ lhu $t7, %lo(D_801645C8)($t7) +/* 0912F4 800906F4 25D90005 */ addiu $t9, $t6, 5 +/* 0912F8 800906F8 25F80001 */ addiu $t8, $t7, 1 +/* 0912FC 800906FC 0338001A */ div $zero, $t9, $t8 +/* 091300 80090700 17000002 */ bnez $t8, .L8009070C +/* 091304 80090704 00000000 */ nop +/* 091308 80090708 0007000D */ break 7 +.L8009070C: +/* 09130C 8009070C 2401FFFF */ li $at, -1 +/* 091310 80090710 17010004 */ bne $t8, $at, .L80090724 +/* 091314 80090714 3C018000 */ lui $at, 0x8000 +/* 091318 80090718 17210002 */ bne $t9, $at, .L80090724 +/* 09131C 8009071C 00000000 */ nop +/* 091320 80090720 0006000D */ break 6 +.L80090724: +/* 091324 80090724 8D590000 */ lw $t9, ($t2) +/* 091328 80090728 00007010 */ mfhi $t6 +/* 09132C 8009072C 000E78C0 */ sll $t7, $t6, 3 +/* 091330 80090730 01F91821 */ addu $v1, $t7, $t9 +/* 091334 80090734 84780000 */ lh $t8, ($v1) +/* 091338 80090738 44988000 */ mtc1 $t8, $f16 +/* 09133C 8009073C 00000000 */ nop +/* 091340 80090740 468084A0 */ cvt.s.w $f18, $f16 +/* 091344 80090744 E4F20000 */ swc1 $f18, ($a3) +/* 091348 80090748 846E0002 */ lh $t6, 2($v1) +/* 09134C 8009074C 448E2000 */ mtc1 $t6, $f4 +/* 091350 80090750 00000000 */ nop +/* 091354 80090754 468021A0 */ cvt.s.w $f6, $f4 +/* 091358 80090758 E4E60004 */ swc1 $f6, 4($a3) +/* 09135C 8009075C 846F0004 */ lh $t7, 4($v1) +/* 091360 80090760 448F4000 */ mtc1 $t7, $f8 +/* 091364 80090764 00000000 */ nop +/* 091368 80090768 468042A0 */ cvt.s.w $f10, $f8 +/* 09136C 8009076C E4EA0008 */ swc1 $f10, 8($a3) +.L80090770: +/* 091370 80090770 03E00008 */ jr $ra +/* 091374 80090774 27BD0110 */ addiu $sp, $sp, 0x110 diff --git a/asm/non_matchings/code_8008C1D0/func_80090970.s b/asm/non_matchings/code_8008C1D0/func_80090970.s index 43a05d780..934cf3b2b 100644 --- a/asm/non_matchings/code_8008C1D0/func_80090970.s +++ b/asm/non_matchings/code_8008C1D0/func_80090970.s @@ -1,504 +1,504 @@ -glabel func_80090970 -/* 091570 80090970 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 091574 80090974 AFBF001C */ sw $ra, 0x1c($sp) -/* 091578 80090978 AFB00018 */ sw $s0, 0x18($sp) -/* 09157C 8009097C AFA5005C */ sw $a1, 0x5c($sp) -/* 091580 80090980 AFA60060 */ sw $a2, 0x60($sp) -/* 091584 80090984 44802000 */ mtc1 $zero, $f4 -/* 091588 80090988 240E000C */ li $t6, 12 -/* 09158C 8009098C A48E00C2 */ sh $t6, 0xc2($a0) -/* 091590 80090990 A4800078 */ sh $zero, 0x78($a0) -/* 091594 80090994 AC80007C */ sw $zero, 0x7c($a0) -/* 091598 80090998 A48000C0 */ sh $zero, 0xc0($a0) -/* 09159C 8009099C E484008C */ swc1 $f4, 0x8c($a0) -/* 0915A0 800909A0 00808025 */ move $s0, $a0 -/* 0915A4 800909A4 0C0230D5 */ jal func_8008C354 -/* 0915A8 800909A8 83A5005F */ lb $a1, 0x5f($sp) -/* 0915AC 800909AC 960F0222 */ lhu $t7, 0x222($s0) -/* 0915B0 800909B0 2DE10005 */ sltiu $at, $t7, 5 -/* 0915B4 800909B4 1020018C */ beqz $at, .L80090FE8 -/* 0915B8 800909B8 000F7880 */ sll $t7, $t7, 2 -/* 0915BC 800909BC 3C01800F */ lui $at, %hi(jpt_800EF638) # 0x800f -/* 0915C0 800909C0 002F0821 */ addu $at, $at, $t7 -/* 0915C4 800909C4 8C2FF638 */ lw $t7, %lo(jpt_800EF638)($at) # -0x9c8($at) -/* 0915C8 800909C8 01E00008 */ jr $t7 -/* 0915CC 800909CC 00000000 */ nop -glabel L800909D0 -/* 0915D0 800909D0 860300CA */ lh $v1, 0xca($s0) -/* 0915D4 800909D4 24010001 */ li $at, 1 -/* 0915D8 800909D8 30780001 */ andi $t8, $v1, 1 -/* 0915DC 800909DC 1701003A */ bne $t8, $at, .L80090AC8 -/* 0915E0 800909E0 306B0002 */ andi $t3, $v1, 2 -/* 0915E4 800909E4 860200C8 */ lh $v0, 0xc8($s0) -/* 0915E8 800909E8 30790002 */ andi $t9, $v1, 2 -/* 0915EC 800909EC 2841003C */ slti $at, $v0, 0x3c -/* 0915F0 800909F0 14200004 */ bnez $at, .L80090A04 -/* 0915F4 800909F4 24480001 */ addiu $t0, $v0, 1 -/* 0915F8 800909F8 24010002 */ li $at, 2 -/* 0915FC 800909FC 13210009 */ beq $t9, $at, .L80090A24 -/* 091600 80090A00 83AB005F */ lb $t3, 0x5f($sp) -.L80090A04: -/* 091604 80090A04 A60800C8 */ sh $t0, 0xc8($s0) -/* 091608 80090A08 860900C8 */ lh $t1, 0xc8($s0) -/* 09160C 80090A0C 240A003C */ li $t2, 60 -/* 091610 80090A10 2921003C */ slti $at, $t1, 0x3c -/* 091614 80090A14 54200051 */ bnel $at, $zero, .L80090B5C -/* 091618 80090A18 8E0800BC */ lw $t0, 0xbc($s0) -/* 09161C 80090A1C 1000004E */ b .L80090B58 -/* 091620 80090A20 A60A00C8 */ sh $t2, 0xc8($s0) -.L80090A24: -/* 091624 80090A24 3C0D8016 */ lui $t5, %hi(D_801652A0) # $t5, 0x8016 -/* 091628 80090A28 25AD52A0 */ addiu $t5, %lo(D_801652A0) # addiu $t5, $t5, 0x52a0 -/* 09162C 80090A2C 000B6080 */ sll $t4, $t3, 2 -/* 091630 80090A30 018D1021 */ addu $v0, $t4, $t5 -/* 091634 80090A34 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 091638 80090A38 44814000 */ mtc1 $at, $f8 -/* 09163C 80090A3C C4460000 */ lwc1 $f6, ($v0) -/* 091640 80090A40 3C063C44 */ lui $a2, (0x3C449BA6 >> 16) # lui $a2, 0x3c44 -/* 091644 80090A44 34C69BA6 */ ori $a2, (0x3C449BA6 & 0xFFFF) # ori $a2, $a2, 0x9ba6 -/* 091648 80090A48 46083280 */ add.s $f10, $f6, $f8 -/* 09164C 80090A4C AFA20028 */ sw $v0, 0x28($sp) -/* 091650 80090A50 26040018 */ addiu $a0, $s0, 0x18 -/* 091654 80090A54 44055000 */ mfc1 $a1, $f10 -/* 091658 80090A58 0C008973 */ jal move_f32_towards -/* 09165C 80090A5C 00000000 */ nop -/* 091660 80090A60 83AE0063 */ lb $t6, 0x63($sp) -/* 091664 80090A64 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c -/* 091668 80090A68 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 09166C 80090A6C 000E7840 */ sll $t7, $t6, 1 -/* 091670 80090A70 020F2021 */ addu $a0, $s0, $t7 -/* 091674 80090A74 248400CC */ addiu $a0, $a0, 0xcc -/* 091678 80090A78 0C00898D */ jal move_s16_towards -/* 09167C 80090A7C 00002825 */ move $a1, $zero -/* 091680 80090A80 8FB80028 */ lw $t8, 0x28($sp) -/* 091684 80090A84 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 091688 80090A88 44812000 */ mtc1 $at, $f4 -/* 09168C 80090A8C C7120000 */ lwc1 $f18, ($t8) -/* 091690 80090A90 C6100018 */ lwc1 $f16, 0x18($s0) -/* 091694 80090A94 24190001 */ li $t9, 1 -/* 091698 80090A98 46049180 */ add.s $f6, $f18, $f4 -/* 09169C 80090A9C 240A00FF */ li $t2, 255 -/* 0916A0 80090AA0 4610303E */ c.le.s $f6, $f16 -/* 0916A4 80090AA4 00000000 */ nop -/* 0916A8 80090AA8 4502002C */ bc1fl .L80090B5C -/* 0916AC 80090AAC 8E0800BC */ lw $t0, 0xbc($s0) -/* 0916B0 80090AB0 860800CA */ lh $t0, 0xca($s0) -/* 0916B4 80090AB4 A6190222 */ sh $t9, 0x222($s0) -/* 0916B8 80090AB8 A60A00C6 */ sh $t2, 0xc6($s0) -/* 0916BC 80090ABC 35090004 */ ori $t1, $t0, 4 -/* 0916C0 80090AC0 10000025 */ b .L80090B58 -/* 0916C4 80090AC4 A60900CA */ sh $t1, 0xca($s0) -.L80090AC8: -/* 0916C8 80090AC8 24010002 */ li $at, 2 -/* 0916CC 80090ACC 15610022 */ bne $t3, $at, .L80090B58 -/* 0916D0 80090AD0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 -/* 0916D4 80090AD4 44815000 */ mtc1 $at, $f10 -/* 0916D8 80090AD8 C6080074 */ lwc1 $f8, 0x74($s0) -/* 0916DC 80090ADC 3C063CCC */ lui $a2, (0x3CCCCCCD >> 16) # lui $a2, 0x3ccc -/* 0916E0 80090AE0 34C6CCCD */ ori $a2, (0x3CCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 0916E4 80090AE4 460A4480 */ add.s $f18, $f8, $f10 -/* 0916E8 80090AE8 26040018 */ addiu $a0, $s0, 0x18 -/* 0916EC 80090AEC 44059000 */ mfc1 $a1, $f18 -/* 0916F0 80090AF0 0C008973 */ jal move_f32_towards -/* 0916F4 80090AF4 00000000 */ nop -/* 0916F8 80090AF8 83AC0063 */ lb $t4, 0x63($sp) -/* 0916FC 80090AFC 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c -/* 091700 80090B00 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd -/* 091704 80090B04 000C6840 */ sll $t5, $t4, 1 -/* 091708 80090B08 020D2021 */ addu $a0, $s0, $t5 -/* 09170C 80090B0C 248400CC */ addiu $a0, $a0, 0xcc -/* 091710 80090B10 0C00898D */ jal move_s16_towards -/* 091714 80090B14 00002825 */ move $a1, $zero -/* 091718 80090B18 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 09171C 80090B1C 44813000 */ mtc1 $at, $f6 -/* 091720 80090B20 C6100074 */ lwc1 $f16, 0x74($s0) -/* 091724 80090B24 C6040018 */ lwc1 $f4, 0x18($s0) -/* 091728 80090B28 240E0001 */ li $t6, 1 -/* 09172C 80090B2C 46068200 */ add.s $f8, $f16, $f6 -/* 091730 80090B30 241900FF */ li $t9, 255 -/* 091734 80090B34 4604403E */ c.le.s $f8, $f4 -/* 091738 80090B38 00000000 */ nop -/* 09173C 80090B3C 45020007 */ bc1fl .L80090B5C -/* 091740 80090B40 8E0800BC */ lw $t0, 0xbc($s0) -/* 091744 80090B44 860F00CA */ lh $t7, 0xca($s0) -/* 091748 80090B48 A60E0222 */ sh $t6, 0x222($s0) -/* 09174C 80090B4C A61900C6 */ sh $t9, 0xc6($s0) -/* 091750 80090B50 35F80004 */ ori $t8, $t7, 4 -/* 091754 80090B54 A61800CA */ sh $t8, 0xca($s0) -.L80090B58: -/* 091758 80090B58 8E0800BC */ lw $t0, 0xbc($s0) -.L80090B5C: -/* 09175C 80090B5C 3C028000 */ lui $v0, 0x8000 -/* 091760 80090B60 02002025 */ move $a0, $s0 -/* 091764 80090B64 01024824 */ and $t1, $t0, $v0 -/* 091768 80090B68 54490120 */ bnel $v0, $t1, .L80090FEC -/* 09176C 80090B6C 3C014334 */ lui $at, 0x4334 -/* 091770 80090B70 0C023ECC */ jal func_8008FB30 -/* 091774 80090B74 83A5005F */ lb $a1, 0x5f($sp) -/* 091778 80090B78 1000011C */ b .L80090FEC -/* 09177C 80090B7C 3C014334 */ lui $at, 0x4334 -glabel L80090B80 -/* 091780 80090B80 96020000 */ lhu $v0, ($s0) -/* 091784 80090B84 24014000 */ li $at, 16384 -/* 091788 80090B88 304A4000 */ andi $t2, $v0, 0x4000 -/* 09178C 80090B8C 15410005 */ bne $t2, $at, .L80090BA4 -/* 091790 80090B90 304B1000 */ andi $t3, $v0, 0x1000 -/* 091794 80090B94 15600003 */ bnez $t3, .L80090BA4 -/* 091798 80090B98 83A4005F */ lb $a0, 0x5f($sp) -/* 09179C 80090B9C 0C027822 */ jal func_8009E088 -/* 0917A0 80090BA0 2405000A */ li $a1, 10 -.L80090BA4: -/* 0917A4 80090BA4 860C00CA */ lh $t4, 0xca($s0) -/* 0917A8 80090BA8 83AE005F */ lb $t6, 0x5f($sp) -/* 0917AC 80090BAC 24010001 */ li $at, 1 -/* 0917B0 80090BB0 318D0001 */ andi $t5, $t4, 1 -/* 0917B4 80090BB4 15A1001B */ bne $t5, $at, .L80090C24 -/* 0917B8 80090BB8 000E7880 */ sll $t7, $t6, 2 -/* 0917BC 80090BBC 3C018016 */ lui $at, %hi(D_801652A0) -/* 0917C0 80090BC0 002F0821 */ addu $at, $at, $t7 -/* 0917C4 80090BC4 C42A52A0 */ lwc1 $f10, %lo(D_801652A0)($at) -/* 0917C8 80090BC8 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0917CC 80090BCC 44819000 */ mtc1 $at, $f18 -/* 0917D0 80090BD0 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3 -/* 0917D4 80090BD4 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a -/* 0917D8 80090BD8 46125400 */ add.s $f16, $f10, $f18 -/* 0917DC 80090BDC 26040018 */ addiu $a0, $s0, 0x18 -/* 0917E0 80090BE0 44058000 */ mfc1 $a1, $f16 -/* 0917E4 80090BE4 0C008973 */ jal move_f32_towards -/* 0917E8 80090BE8 00000000 */ nop -/* 0917EC 80090BEC 861800C6 */ lh $t8, 0xc6($s0) -/* 0917F0 80090BF0 24090002 */ li $t1, 2 -/* 0917F4 80090BF4 2719FFF8 */ addiu $t9, $t8, -8 -/* 0917F8 80090BF8 A61900C6 */ sh $t9, 0xc6($s0) -/* 0917FC 80090BFC 860800C6 */ lh $t0, 0xc6($s0) -/* 091800 80090C00 29010009 */ slti $at, $t0, 9 -/* 091804 80090C04 5020001C */ beql $at, $zero, .L80090C78 -/* 091808 80090C08 861800CA */ lh $t8, 0xca($s0) -/* 09180C 80090C0C 860A00CA */ lh $t2, 0xca($s0) -/* 091810 80090C10 A60000C6 */ sh $zero, 0xc6($s0) -/* 091814 80090C14 A6090222 */ sh $t1, 0x222($s0) -/* 091818 80090C18 314BFFFE */ andi $t3, $t2, 0xfffe -/* 09181C 80090C1C 10000015 */ b .L80090C74 -/* 091820 80090C20 A60B00CA */ sh $t3, 0xca($s0) -.L80090C24: -/* 091824 80090C24 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 091828 80090C28 44812000 */ mtc1 $at, $f4 -/* 09182C 80090C2C C6060024 */ lwc1 $f6, 0x24($s0) -/* 091830 80090C30 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3 -/* 091834 80090C34 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a -/* 091838 80090C38 46043200 */ add.s $f8, $f6, $f4 -/* 09183C 80090C3C 26040018 */ addiu $a0, $s0, 0x18 -/* 091840 80090C40 44054000 */ mfc1 $a1, $f8 -/* 091844 80090C44 0C008973 */ jal move_f32_towards -/* 091848 80090C48 00000000 */ nop -/* 09184C 80090C4C 860C00C6 */ lh $t4, 0xc6($s0) -/* 091850 80090C50 240F0002 */ li $t7, 2 -/* 091854 80090C54 258DFFF8 */ addiu $t5, $t4, -8 -/* 091858 80090C58 A60D00C6 */ sh $t5, 0xc6($s0) -/* 09185C 80090C5C 860E00C6 */ lh $t6, 0xc6($s0) -/* 091860 80090C60 29C10009 */ slti $at, $t6, 9 -/* 091864 80090C64 50200004 */ beql $at, $zero, .L80090C78 -/* 091868 80090C68 861800CA */ lh $t8, 0xca($s0) -/* 09186C 80090C6C A60000C6 */ sh $zero, 0xc6($s0) -/* 091870 80090C70 A60F0222 */ sh $t7, 0x222($s0) -.L80090C74: -/* 091874 80090C74 861800CA */ lh $t8, 0xca($s0) -.L80090C78: -/* 091878 80090C78 3319DFFF */ andi $t9, $t8, 0xdfff -/* 09187C 80090C7C 100000DA */ b .L80090FE8 -/* 091880 80090C80 A61900CA */ sh $t9, 0xca($s0) -glabel L80090C84 -/* 091884 80090C84 02002025 */ move $a0, $s0 -/* 091888 80090C88 83A5005F */ lb $a1, 0x5f($sp) -/* 09188C 80090C8C 27A60044 */ addiu $a2, $sp, 0x44 -/* 091890 80090C90 0C02405E */ jal func_80090178 -/* 091894 80090C94 27A70038 */ addiu $a3, $sp, 0x38 -/* 091898 80090C98 27A40044 */ addiu $a0, $sp, 0x44 -/* 09189C 80090C9C 0C0AD489 */ jal func_802B5224 -/* 0918A0 80090CA0 27A50038 */ addiu $a1, $sp, 0x38 -/* 0918A4 80090CA4 00025023 */ negu $t2, $v0 -/* 0918A8 80090CA8 A60A002E */ sh $t2, 0x2e($s0) -/* 0918AC 80090CAC C7AA0044 */ lwc1 $f10, 0x44($sp) -/* 0918B0 80090CB0 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 0918B4 80090CB4 44818000 */ mtc1 $at, $f16 -/* 0918B8 80090CB8 E60A0014 */ swc1 $f10, 0x14($s0) -/* 0918BC 80090CBC C7B20048 */ lwc1 $f18, 0x48($sp) -/* 0918C0 80090CC0 240B0003 */ li $t3, 3 -/* 0918C4 80090CC4 46109180 */ add.s $f6, $f18, $f16 -/* 0918C8 80090CC8 E6060018 */ swc1 $f6, 0x18($s0) -/* 0918CC 80090CCC C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 0918D0 80090CD0 A60B0222 */ sh $t3, 0x222($s0) -/* 0918D4 80090CD4 100000C4 */ b .L80090FE8 -/* 0918D8 80090CD8 E604001C */ swc1 $f4, 0x1c($s0) -glabel L80090CDC -/* 0918DC 80090CDC 83AC005F */ lb $t4, 0x5f($sp) -/* 0918E0 80090CE0 3C018016 */ lui $at, %hi(D_80165330) # 0x8016 -/* 0918E4 80090CE4 000C6840 */ sll $t5, $t4, 1 -/* 0918E8 80090CE8 002D0821 */ addu $at, $at, $t5 -/* 0918EC 80090CEC A4205330 */ sh $zero, %lo(D_80165330)($at) # 0x5330($at) -/* 0918F0 80090CF0 96020000 */ lhu $v0, ($s0) -/* 0918F4 80090CF4 24014000 */ li $at, 16384 -/* 0918F8 80090CF8 304E4000 */ andi $t6, $v0, 0x4000 -/* 0918FC 80090CFC 15C10005 */ bne $t6, $at, .L80090D14 -/* 091900 80090D00 304F1000 */ andi $t7, $v0, 0x1000 -/* 091904 80090D04 15E00003 */ bnez $t7, .L80090D14 -/* 091908 80090D08 01802025 */ move $a0, $t4 -/* 09190C 80090D0C 0C027808 */ jal func_8009E020 -/* 091910 80090D10 24050014 */ li $a1, 20 -.L80090D14: -/* 091914 80090D14 02002025 */ move $a0, $s0 -/* 091918 80090D18 83A5005F */ lb $a1, 0x5f($sp) -/* 09191C 80090D1C 27A60044 */ addiu $a2, $sp, 0x44 -/* 091920 80090D20 0C02405E */ jal func_80090178 -/* 091924 80090D24 27A70038 */ addiu $a3, $sp, 0x38 -/* 091928 80090D28 C7A80044 */ lwc1 $f8, 0x44($sp) -/* 09192C 80090D2C 3C014220 */ li $at, 0x42200000 # 40.000000 -/* 091930 80090D30 44819000 */ mtc1 $at, $f18 -/* 091934 80090D34 E6080014 */ swc1 $f8, 0x14($s0) -/* 091938 80090D38 C7AA0048 */ lwc1 $f10, 0x48($sp) -/* 09193C 80090D3C 8619002E */ lh $t9, 0x2e($s0) -/* 091940 80090D40 46125400 */ add.s $f16, $f10, $f18 -/* 091944 80090D44 E6100018 */ swc1 $f16, 0x18($s0) -/* 091948 80090D48 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 09194C 80090D4C E606001C */ swc1 $f6, 0x1c($s0) -/* 091950 80090D50 83A2005F */ lb $v0, 0x5f($sp) -/* 091954 80090D54 0002C0C0 */ sll $t8, $v0, 3 -/* 091958 80090D58 0302C023 */ subu $t8, $t8, $v0 -/* 09195C 80090D5C 0018C0C0 */ sll $t8, $t8, 3 -/* 091960 80090D60 0302C021 */ addu $t8, $t8, $v0 -/* 091964 80090D64 0018C0C0 */ sll $t8, $t8, 3 -/* 091968 80090D68 0302C023 */ subu $t8, $t8, $v0 -/* 09196C 80090D6C 00181100 */ sll $v0, $t8, 4 -/* 091970 80090D70 00592023 */ subu $a0, $v0, $t9 -/* 091974 80090D74 3088FFFF */ andi $t0, $a0, 0xffff -/* 091978 80090D78 01002025 */ move $a0, $t0 -/* 09197C 80090D7C 0C0AE00E */ jal coss -/* 091980 80090D80 AFA20028 */ sw $v0, 0x28($sp) -/* 091984 80090D84 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 091988 80090D88 44812000 */ mtc1 $at, $f4 -/* 09198C 80090D8C C60A001C */ lwc1 $f10, 0x1c($s0) -/* 091990 80090D90 8FA20028 */ lw $v0, 0x28($sp) -/* 091994 80090D94 46040202 */ mul.s $f8, $f0, $f4 -/* 091998 80090D98 8609002E */ lh $t1, 0x2e($s0) -/* 09199C 80090D9C 00492023 */ subu $a0, $v0, $t1 -/* 0919A0 80090DA0 308AFFFF */ andi $t2, $a0, 0xffff -/* 0919A4 80090DA4 01402025 */ move $a0, $t2 -/* 0919A8 80090DA8 460A4480 */ add.s $f18, $f8, $f10 -/* 0919AC 80090DAC 0C0AE006 */ jal sins -/* 0919B0 80090DB0 E612001C */ swc1 $f18, 0x1c($s0) -/* 0919B4 80090DB4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 -/* 0919B8 80090DB8 44818000 */ mtc1 $at, $f16 -/* 0919BC 80090DBC 860B00C6 */ lh $t3, 0xc6($s0) -/* 0919C0 80090DC0 C6040014 */ lwc1 $f4, 0x14($s0) -/* 0919C4 80090DC4 46100182 */ mul.s $f6, $f0, $f16 -/* 0919C8 80090DC8 256D0008 */ addiu $t5, $t3, 8 -/* 0919CC 80090DCC A60D00C6 */ sh $t5, 0xc6($s0) -/* 0919D0 80090DD0 860E00C6 */ lh $t6, 0xc6($s0) -/* 0919D4 80090DD4 240F00FF */ li $t7, 255 -/* 0919D8 80090DD8 240C0004 */ li $t4, 4 -/* 0919DC 80090DDC 29C100F0 */ slti $at, $t6, 0xf0 -/* 0919E0 80090DE0 46043200 */ add.s $f8, $f6, $f4 -/* 0919E4 80090DE4 14200080 */ bnez $at, .L80090FE8 -/* 0919E8 80090DE8 E6080014 */ swc1 $f8, 0x14($s0) -/* 0919EC 80090DEC 861800CA */ lh $t8, 0xca($s0) -/* 0919F0 80090DF0 A60F00C6 */ sh $t7, 0xc6($s0) -/* 0919F4 80090DF4 A60C0222 */ sh $t4, 0x222($s0) -/* 0919F8 80090DF8 3319FFFB */ andi $t9, $t8, 0xfffb -/* 0919FC 80090DFC A61900CA */ sh $t9, 0xca($s0) -/* 091A00 80090E00 10000079 */ b .L80090FE8 -/* 091A04 80090E04 A60000C8 */ sh $zero, 0xc8($s0) -glabel L80090E08 -/* 091A08 80090E08 860200C8 */ lh $v0, 0xc8($s0) -/* 091A0C 80090E0C 24010096 */ li $at, 150 -/* 091A10 80090E10 10410005 */ beq $v0, $at, .L80090E28 -/* 091A14 80090E14 240100C8 */ li $at, 200 -/* 091A18 80090E18 10410003 */ beq $v0, $at, .L80090E28 -/* 091A1C 80090E1C 240100FA */ li $at, 250 -/* 091A20 80090E20 54410019 */ bnel $v0, $at, .L80090E88 -/* 091A24 80090E24 240100FC */ li $at, 252 -.L80090E28: -/* 091A28 80090E28 8604002E */ lh $a0, 0x2e($s0) -/* 091A2C 80090E2C 00042023 */ negu $a0, $a0 -/* 091A30 80090E30 3088FFFF */ andi $t0, $a0, 0xffff -/* 091A34 80090E34 0C0AE00E */ jal coss -/* 091A38 80090E38 01002025 */ move $a0, $t0 -/* 091A3C 80090E3C 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 091A40 80090E40 44815000 */ mtc1 $at, $f10 -/* 091A44 80090E44 C610001C */ lwc1 $f16, 0x1c($s0) -/* 091A48 80090E48 8604002E */ lh $a0, 0x2e($s0) -/* 091A4C 80090E4C 460A0482 */ mul.s $f18, $f0, $f10 -/* 091A50 80090E50 00042023 */ negu $a0, $a0 -/* 091A54 80090E54 3089FFFF */ andi $t1, $a0, 0xffff -/* 091A58 80090E58 01202025 */ move $a0, $t1 -/* 091A5C 80090E5C 46109180 */ add.s $f6, $f18, $f16 -/* 091A60 80090E60 0C0AE006 */ jal sins -/* 091A64 80090E64 E606001C */ swc1 $f6, 0x1c($s0) -/* 091A68 80090E68 3C01C120 */ li $at, 0xC1200000 # -10.000000 -/* 091A6C 80090E6C 44812000 */ mtc1 $at, $f4 -/* 091A70 80090E70 C60A0014 */ lwc1 $f10, 0x14($s0) -/* 091A74 80090E74 860200C8 */ lh $v0, 0xc8($s0) -/* 091A78 80090E78 46040202 */ mul.s $f8, $f0, $f4 -/* 091A7C 80090E7C 460A4480 */ add.s $f18, $f8, $f10 -/* 091A80 80090E80 E6120014 */ swc1 $f18, 0x14($s0) -/* 091A84 80090E84 240100FC */ li $at, 252 -.L80090E88: -/* 091A88 80090E88 14410011 */ bne $v0, $at, .L80090ED0 -/* 091A8C 80090E8C 3C028016 */ lui $v0, %hi(D_80164550) # $v0, 0x8016 -/* 091A90 80090E90 8C424550 */ lw $v0, %lo(D_80164550)($v0) -/* 091A94 80090E94 844A0000 */ lh $t2, ($v0) -/* 091A98 80090E98 448A8000 */ mtc1 $t2, $f16 -/* 091A9C 80090E9C 00000000 */ nop -/* 091AA0 80090EA0 468081A0 */ cvt.s.w $f6, $f16 -/* 091AA4 80090EA4 E6060014 */ swc1 $f6, 0x14($s0) -/* 091AA8 80090EA8 844B0002 */ lh $t3, 2($v0) -/* 091AAC 80090EAC 448B2000 */ mtc1 $t3, $f4 -/* 091AB0 80090EB0 00000000 */ nop -/* 091AB4 80090EB4 46802220 */ cvt.s.w $f8, $f4 -/* 091AB8 80090EB8 E6080018 */ swc1 $f8, 0x18($s0) -/* 091ABC 80090EBC 844D0004 */ lh $t5, 4($v0) -/* 091AC0 80090EC0 448D5000 */ mtc1 $t5, $f10 -/* 091AC4 80090EC4 00000000 */ nop -/* 091AC8 80090EC8 468054A0 */ cvt.s.w $f18, $f10 -/* 091ACC 80090ECC E612001C */ swc1 $f18, 0x1c($s0) -.L80090ED0: -/* 091AD0 80090ED0 C6100074 */ lwc1 $f16, 0x74($s0) -/* 091AD4 80090ED4 C6060070 */ lwc1 $f6, 0x70($s0) -/* 091AD8 80090ED8 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 091ADC 80090EDC 44814000 */ mtc1 $at, $f8 -/* 091AE0 80090EE0 46068100 */ add.s $f4, $f16, $f6 -/* 091AE4 80090EE4 3C063D23 */ lui $a2, (0x3D23D70A >> 16) # lui $a2, 0x3d23 -/* 091AE8 80090EE8 34C6D70A */ ori $a2, (0x3D23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a -/* 091AEC 80090EEC 26040018 */ addiu $a0, $s0, 0x18 -/* 091AF0 80090EF0 46082281 */ sub.s $f10, $f4, $f8 -/* 091AF4 80090EF4 44055000 */ mfc1 $a1, $f10 -/* 091AF8 80090EF8 0C008973 */ jal move_f32_towards -/* 091AFC 80090EFC 00000000 */ nop -/* 091B00 80090F00 860E00C8 */ lh $t6, 0xc8($s0) -/* 091B04 80090F04 8E0200BC */ lw $v0, 0xbc($s0) -/* 091B08 80090F08 24010008 */ li $at, 8 -/* 091B0C 80090F0C 25CF0001 */ addiu $t7, $t6, 1 -/* 091B10 80090F10 304C0008 */ andi $t4, $v0, 8 -/* 091B14 80090F14 15810004 */ bne $t4, $at, .L80090F28 -/* 091B18 80090F18 A60F00C8 */ sh $t7, 0xc8($s0) -/* 091B1C 80090F1C 30588000 */ andi $t8, $v0, 0x8000 -/* 091B20 80090F20 53000032 */ beql $t8, $zero, .L80090FEC -/* 091B24 80090F24 3C014334 */ lui $at, 0x4334 -.L80090F28: -/* 091B28 80090F28 861900CA */ lh $t9, 0xca($s0) -/* 091B2C 80090F2C 860900C8 */ lh $t1, 0xc8($s0) -/* 091B30 80090F30 3328EFFF */ andi $t0, $t9, 0xefff -/* 091B34 80090F34 2921005B */ slti $at, $t1, 0x5b -/* 091B38 80090F38 1420002B */ bnez $at, .L80090FE8 -/* 091B3C 80090F3C A60800CA */ sh $t0, 0xca($s0) -/* 091B40 80090F40 960A0000 */ lhu $t2, ($s0) -/* 091B44 80090F44 93A4005F */ lbu $a0, 0x5f($sp) -/* 091B48 80090F48 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 -/* 091B4C 80090F4C 314B4000 */ andi $t3, $t2, 0x4000 -/* 091B50 80090F50 11600003 */ beqz $t3, .L80090F60 -/* 091B54 80090F54 00000000 */ nop -/* 091B58 80090F58 0C032406 */ jal func_800C9018 -/* 091B5C 80090F5C 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 -.L80090F60: -/* 091B60 80090F60 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e -/* 091B64 80090F64 8DADC53C */ lw $t5, %lo(gModeSelection)($t5) -/* 091B68 80090F68 24010003 */ li $at, 3 -/* 091B6C 80090F6C 02002025 */ move $a0, $s0 -/* 091B70 80090F70 55A10004 */ bnel $t5, $at, .L80090F84 -/* 091B74 80090F74 860E00CA */ lh $t6, 0xca($s0) -/* 091B78 80090F78 0C01AE2D */ jal func_8006B8B4 -/* 091B7C 80090F7C 83A5005F */ lb $a1, 0x5f($sp) -/* 091B80 80090F80 860E00CA */ lh $t6, 0xca($s0) -.L80090F84: -/* 091B84 80090F84 960C00DE */ lhu $t4, 0xde($s0) -/* 091B88 80090F88 24010080 */ li $at, 128 -/* 091B8C 80090F8C 31CFFFFD */ andi $t7, $t6, 0xfffd -/* 091B90 80090F90 A60F00CA */ sh $t7, 0xca($s0) -/* 091B94 80090F94 860300CA */ lh $v1, 0xca($s0) -/* 091B98 80090F98 3198FFFB */ andi $t8, $t4, 0xfffb -/* 091B9C 80090F9C A61800DE */ sh $t8, 0xde($s0) -/* 091BA0 80090FA0 30790080 */ andi $t9, $v1, 0x80 -/* 091BA4 80090FA4 13210010 */ beq $t9, $at, .L80090FE8 -/* 091BA8 80090FA8 3068FFF7 */ andi $t0, $v1, 0xfff7 -/* 091BAC 80090FAC C6060214 */ lwc1 $f6, 0x214($s0) -/* 091BB0 80090FB0 A60800CA */ sh $t0, 0xca($s0) -/* 091BB4 80090FB4 3C01800F */ lui $at, %hi(D_800EF650) -/* 091BB8 80090FB8 D428F650 */ ldc1 $f8, %lo(D_800EF650)($at) -/* 091BBC 80090FBC 46003121 */ cvt.d.s $f4, $f6 -/* 091BC0 80090FC0 C612009C */ lwc1 $f18, 0x9c($s0) -/* 091BC4 80090FC4 46282282 */ mul.d $f10, $f4, $f8 -/* 091BC8 80090FC8 02002025 */ move $a0, $s0 -/* 091BCC 80090FCC 46009421 */ cvt.d.s $f16, $f18 -/* 091BD0 80090FD0 4630503E */ c.le.d $f10, $f16 -/* 091BD4 80090FD4 00000000 */ nop -/* 091BD8 80090FD8 45020004 */ bc1fl .L80090FEC -/* 091BDC 80090FDC 3C014334 */ lui $at, 0x4334 -/* 091BE0 80090FE0 0C023C41 */ jal func_8008F104 -/* 091BE4 80090FE4 83A5005F */ lb $a1, 0x5f($sp) -.L80090FE8: -/* 091BE8 80090FE8 3C014334 */ li $at, 0x43340000 # 180.000000 -.L80090FEC: -/* 091BEC 80090FEC 44810000 */ mtc1 $at, $f0 -/* 091BF0 80090FF0 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 091BF4 80090FF4 44813000 */ mtc1 $at, $f6 -/* 091BF8 80090FF8 C6120DA0 */ lwc1 $f18, 0xda0($s0) -/* 091BFC 80090FFC 46069100 */ add.s $f4, $f18, $f6 -/* 091C00 80091000 E6040DA0 */ swc1 $f4, 0xda0($s0) -/* 091C04 80091004 C6080DA0 */ lwc1 $f8, 0xda0($s0) -/* 091C08 80091008 4608003E */ c.le.s $f0, $f8 -/* 091C0C 8009100C 00000000 */ nop -/* 091C10 80091010 45020003 */ bc1fl .L80091020 -/* 091C14 80091014 86090D98 */ lh $t1, 0xd98($s0) -/* 091C18 80091018 E6000DA0 */ swc1 $f0, 0xda0($s0) -/* 091C1C 8009101C 86090D98 */ lh $t1, 0xd98($s0) -.L80091020: -/* 091C20 80091020 24010001 */ li $at, 1 -/* 091C24 80091024 55210015 */ bnel $t1, $at, .L8009107C -/* 091C28 80091028 860D0D98 */ lh $t5, 0xd98($s0) -/* 091C2C 8009102C C6100D9C */ lwc1 $f16, 0xd9c($s0) -/* 091C30 80091030 C60A0DA0 */ lwc1 $f10, 0xda0($s0) -/* 091C34 80091034 3C01800F */ lui $at, %hi(D_800EF658) # $at, 0x800f -/* 091C38 80091038 460A8480 */ add.s $f18, $f16, $f10 -/* 091C3C 8009103C E6120D9C */ swc1 $f18, 0xd9c($s0) -/* 091C40 80091040 C424F658 */ lwc1 $f4, %lo(D_800EF658)($at) -/* 091C44 80091044 C6060D9C */ lwc1 $f6, 0xd9c($s0) -/* 091C48 80091048 4606203E */ c.le.s $f4, $f6 -/* 091C4C 8009104C 00000000 */ nop -/* 091C50 80091050 4502000A */ bc1fl .L8009107C -/* 091C54 80091054 860D0D98 */ lh $t5, 0xd98($s0) -/* 091C58 80091058 860A0D98 */ lh $t2, 0xd98($s0) -/* 091C5C 8009105C 2402FFFF */ li $v0, -1 -/* 091C60 80091060 44804000 */ mtc1 $zero, $f8 -/* 091C64 80091064 01420019 */ multu $t2, $v0 -/* 091C68 80091068 E6080DA0 */ swc1 $f8, 0xda0($s0) -/* 091C6C 8009106C 00005812 */ mflo $t3 -/* 091C70 80091070 A60B0D98 */ sh $t3, 0xd98($s0) -/* 091C74 80091074 00000000 */ nop -/* 091C78 80091078 860D0D98 */ lh $t5, 0xd98($s0) -.L8009107C: -/* 091C7C 8009107C 2402FFFF */ li $v0, -1 -/* 091C80 80091080 544D0014 */ bnel $v0, $t5, .L800910D4 -/* 091C84 80091084 8FBF001C */ lw $ra, 0x1c($sp) -/* 091C88 80091088 C6100D9C */ lwc1 $f16, 0xd9c($s0) -/* 091C8C 8009108C C60A0DA0 */ lwc1 $f10, 0xda0($s0) -/* 091C90 80091090 3C01800F */ lui $at, %hi(D_800EF65C) # $at, 0x800f -/* 091C94 80091094 460A8481 */ sub.s $f18, $f16, $f10 -/* 091C98 80091098 E6120D9C */ swc1 $f18, 0xd9c($s0) -/* 091C9C 8009109C C6040D9C */ lwc1 $f4, 0xd9c($s0) -/* 091CA0 800910A0 C426F65C */ lwc1 $f6, %lo(D_800EF65C)($at) -/* 091CA4 800910A4 4606203E */ c.le.s $f4, $f6 -/* 091CA8 800910A8 00000000 */ nop -/* 091CAC 800910AC 45020009 */ bc1fl .L800910D4 -/* 091CB0 800910B0 8FBF001C */ lw $ra, 0x1c($sp) -/* 091CB4 800910B4 860E0D98 */ lh $t6, 0xd98($s0) -/* 091CB8 800910B8 44804000 */ mtc1 $zero, $f8 -/* 091CBC 800910BC 01C20019 */ multu $t6, $v0 -/* 091CC0 800910C0 E6080DA0 */ swc1 $f8, 0xda0($s0) -/* 091CC4 800910C4 00007812 */ mflo $t7 -/* 091CC8 800910C8 A60F0D98 */ sh $t7, 0xd98($s0) -/* 091CCC 800910CC 00000000 */ nop -/* 091CD0 800910D0 8FBF001C */ lw $ra, 0x1c($sp) -.L800910D4: -/* 091CD4 800910D4 8FB00018 */ lw $s0, 0x18($sp) -/* 091CD8 800910D8 27BD0058 */ addiu $sp, $sp, 0x58 -/* 091CDC 800910DC 03E00008 */ jr $ra -/* 091CE0 800910E0 00000000 */ nop +glabel func_80090970 +/* 091570 80090970 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 091574 80090974 AFBF001C */ sw $ra, 0x1c($sp) +/* 091578 80090978 AFB00018 */ sw $s0, 0x18($sp) +/* 09157C 8009097C AFA5005C */ sw $a1, 0x5c($sp) +/* 091580 80090980 AFA60060 */ sw $a2, 0x60($sp) +/* 091584 80090984 44802000 */ mtc1 $zero, $f4 +/* 091588 80090988 240E000C */ li $t6, 12 +/* 09158C 8009098C A48E00C2 */ sh $t6, 0xc2($a0) +/* 091590 80090990 A4800078 */ sh $zero, 0x78($a0) +/* 091594 80090994 AC80007C */ sw $zero, 0x7c($a0) +/* 091598 80090998 A48000C0 */ sh $zero, 0xc0($a0) +/* 09159C 8009099C E484008C */ swc1 $f4, 0x8c($a0) +/* 0915A0 800909A0 00808025 */ move $s0, $a0 +/* 0915A4 800909A4 0C0230D5 */ jal func_8008C354 +/* 0915A8 800909A8 83A5005F */ lb $a1, 0x5f($sp) +/* 0915AC 800909AC 960F0222 */ lhu $t7, 0x222($s0) +/* 0915B0 800909B0 2DE10005 */ sltiu $at, $t7, 5 +/* 0915B4 800909B4 1020018C */ beqz $at, .L80090FE8 +/* 0915B8 800909B8 000F7880 */ sll $t7, $t7, 2 +/* 0915BC 800909BC 3C01800F */ lui $at, %hi(jpt_800EF638) # 0x800f +/* 0915C0 800909C0 002F0821 */ addu $at, $at, $t7 +/* 0915C4 800909C4 8C2FF638 */ lw $t7, %lo(jpt_800EF638)($at) # -0x9c8($at) +/* 0915C8 800909C8 01E00008 */ jr $t7 +/* 0915CC 800909CC 00000000 */ nop +glabel L800909D0 +/* 0915D0 800909D0 860300CA */ lh $v1, 0xca($s0) +/* 0915D4 800909D4 24010001 */ li $at, 1 +/* 0915D8 800909D8 30780001 */ andi $t8, $v1, 1 +/* 0915DC 800909DC 1701003A */ bne $t8, $at, .L80090AC8 +/* 0915E0 800909E0 306B0002 */ andi $t3, $v1, 2 +/* 0915E4 800909E4 860200C8 */ lh $v0, 0xc8($s0) +/* 0915E8 800909E8 30790002 */ andi $t9, $v1, 2 +/* 0915EC 800909EC 2841003C */ slti $at, $v0, 0x3c +/* 0915F0 800909F0 14200004 */ bnez $at, .L80090A04 +/* 0915F4 800909F4 24480001 */ addiu $t0, $v0, 1 +/* 0915F8 800909F8 24010002 */ li $at, 2 +/* 0915FC 800909FC 13210009 */ beq $t9, $at, .L80090A24 +/* 091600 80090A00 83AB005F */ lb $t3, 0x5f($sp) +.L80090A04: +/* 091604 80090A04 A60800C8 */ sh $t0, 0xc8($s0) +/* 091608 80090A08 860900C8 */ lh $t1, 0xc8($s0) +/* 09160C 80090A0C 240A003C */ li $t2, 60 +/* 091610 80090A10 2921003C */ slti $at, $t1, 0x3c +/* 091614 80090A14 54200051 */ bnel $at, $zero, .L80090B5C +/* 091618 80090A18 8E0800BC */ lw $t0, 0xbc($s0) +/* 09161C 80090A1C 1000004E */ b .L80090B58 +/* 091620 80090A20 A60A00C8 */ sh $t2, 0xc8($s0) +.L80090A24: +/* 091624 80090A24 3C0D8016 */ lui $t5, %hi(D_801652A0) # $t5, 0x8016 +/* 091628 80090A28 25AD52A0 */ addiu $t5, %lo(D_801652A0) # addiu $t5, $t5, 0x52a0 +/* 09162C 80090A2C 000B6080 */ sll $t4, $t3, 2 +/* 091630 80090A30 018D1021 */ addu $v0, $t4, $t5 +/* 091634 80090A34 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 091638 80090A38 44814000 */ mtc1 $at, $f8 +/* 09163C 80090A3C C4460000 */ lwc1 $f6, ($v0) +/* 091640 80090A40 3C063C44 */ lui $a2, (0x3C449BA6 >> 16) # lui $a2, 0x3c44 +/* 091644 80090A44 34C69BA6 */ ori $a2, (0x3C449BA6 & 0xFFFF) # ori $a2, $a2, 0x9ba6 +/* 091648 80090A48 46083280 */ add.s $f10, $f6, $f8 +/* 09164C 80090A4C AFA20028 */ sw $v0, 0x28($sp) +/* 091650 80090A50 26040018 */ addiu $a0, $s0, 0x18 +/* 091654 80090A54 44055000 */ mfc1 $a1, $f10 +/* 091658 80090A58 0C008973 */ jal move_f32_towards +/* 09165C 80090A5C 00000000 */ nop +/* 091660 80090A60 83AE0063 */ lb $t6, 0x63($sp) +/* 091664 80090A64 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c +/* 091668 80090A68 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd +/* 09166C 80090A6C 000E7840 */ sll $t7, $t6, 1 +/* 091670 80090A70 020F2021 */ addu $a0, $s0, $t7 +/* 091674 80090A74 248400CC */ addiu $a0, $a0, 0xcc +/* 091678 80090A78 0C00898D */ jal move_s16_towards +/* 09167C 80090A7C 00002825 */ move $a1, $zero +/* 091680 80090A80 8FB80028 */ lw $t8, 0x28($sp) +/* 091684 80090A84 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 091688 80090A88 44812000 */ mtc1 $at, $f4 +/* 09168C 80090A8C C7120000 */ lwc1 $f18, ($t8) +/* 091690 80090A90 C6100018 */ lwc1 $f16, 0x18($s0) +/* 091694 80090A94 24190001 */ li $t9, 1 +/* 091698 80090A98 46049180 */ add.s $f6, $f18, $f4 +/* 09169C 80090A9C 240A00FF */ li $t2, 255 +/* 0916A0 80090AA0 4610303E */ c.le.s $f6, $f16 +/* 0916A4 80090AA4 00000000 */ nop +/* 0916A8 80090AA8 4502002C */ bc1fl .L80090B5C +/* 0916AC 80090AAC 8E0800BC */ lw $t0, 0xbc($s0) +/* 0916B0 80090AB0 860800CA */ lh $t0, 0xca($s0) +/* 0916B4 80090AB4 A6190222 */ sh $t9, 0x222($s0) +/* 0916B8 80090AB8 A60A00C6 */ sh $t2, 0xc6($s0) +/* 0916BC 80090ABC 35090004 */ ori $t1, $t0, 4 +/* 0916C0 80090AC0 10000025 */ b .L80090B58 +/* 0916C4 80090AC4 A60900CA */ sh $t1, 0xca($s0) +.L80090AC8: +/* 0916C8 80090AC8 24010002 */ li $at, 2 +/* 0916CC 80090ACC 15610022 */ bne $t3, $at, .L80090B58 +/* 0916D0 80090AD0 3C0142C8 */ li $at, 0x42C80000 # 100.000000 +/* 0916D4 80090AD4 44815000 */ mtc1 $at, $f10 +/* 0916D8 80090AD8 C6080074 */ lwc1 $f8, 0x74($s0) +/* 0916DC 80090ADC 3C063CCC */ lui $a2, (0x3CCCCCCD >> 16) # lui $a2, 0x3ccc +/* 0916E0 80090AE0 34C6CCCD */ ori $a2, (0x3CCCCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd +/* 0916E4 80090AE4 460A4480 */ add.s $f18, $f8, $f10 +/* 0916E8 80090AE8 26040018 */ addiu $a0, $s0, 0x18 +/* 0916EC 80090AEC 44059000 */ mfc1 $a1, $f18 +/* 0916F0 80090AF0 0C008973 */ jal move_f32_towards +/* 0916F4 80090AF4 00000000 */ nop +/* 0916F8 80090AF8 83AC0063 */ lb $t4, 0x63($sp) +/* 0916FC 80090AFC 3C063E4C */ lui $a2, (0x3E4CCCCD >> 16) # lui $a2, 0x3e4c +/* 091700 80090B00 34C6CCCD */ ori $a2, (0x3E4CCCCD & 0xFFFF) # ori $a2, $a2, 0xcccd +/* 091704 80090B04 000C6840 */ sll $t5, $t4, 1 +/* 091708 80090B08 020D2021 */ addu $a0, $s0, $t5 +/* 09170C 80090B0C 248400CC */ addiu $a0, $a0, 0xcc +/* 091710 80090B10 0C00898D */ jal move_s16_towards +/* 091714 80090B14 00002825 */ move $a1, $zero +/* 091718 80090B18 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 09171C 80090B1C 44813000 */ mtc1 $at, $f6 +/* 091720 80090B20 C6100074 */ lwc1 $f16, 0x74($s0) +/* 091724 80090B24 C6040018 */ lwc1 $f4, 0x18($s0) +/* 091728 80090B28 240E0001 */ li $t6, 1 +/* 09172C 80090B2C 46068200 */ add.s $f8, $f16, $f6 +/* 091730 80090B30 241900FF */ li $t9, 255 +/* 091734 80090B34 4604403E */ c.le.s $f8, $f4 +/* 091738 80090B38 00000000 */ nop +/* 09173C 80090B3C 45020007 */ bc1fl .L80090B5C +/* 091740 80090B40 8E0800BC */ lw $t0, 0xbc($s0) +/* 091744 80090B44 860F00CA */ lh $t7, 0xca($s0) +/* 091748 80090B48 A60E0222 */ sh $t6, 0x222($s0) +/* 09174C 80090B4C A61900C6 */ sh $t9, 0xc6($s0) +/* 091750 80090B50 35F80004 */ ori $t8, $t7, 4 +/* 091754 80090B54 A61800CA */ sh $t8, 0xca($s0) +.L80090B58: +/* 091758 80090B58 8E0800BC */ lw $t0, 0xbc($s0) +.L80090B5C: +/* 09175C 80090B5C 3C028000 */ lui $v0, 0x8000 +/* 091760 80090B60 02002025 */ move $a0, $s0 +/* 091764 80090B64 01024824 */ and $t1, $t0, $v0 +/* 091768 80090B68 54490120 */ bnel $v0, $t1, .L80090FEC +/* 09176C 80090B6C 3C014334 */ lui $at, 0x4334 +/* 091770 80090B70 0C023ECC */ jal func_8008FB30 +/* 091774 80090B74 83A5005F */ lb $a1, 0x5f($sp) +/* 091778 80090B78 1000011C */ b .L80090FEC +/* 09177C 80090B7C 3C014334 */ lui $at, 0x4334 +glabel L80090B80 +/* 091780 80090B80 96020000 */ lhu $v0, ($s0) +/* 091784 80090B84 24014000 */ li $at, 16384 +/* 091788 80090B88 304A4000 */ andi $t2, $v0, 0x4000 +/* 09178C 80090B8C 15410005 */ bne $t2, $at, .L80090BA4 +/* 091790 80090B90 304B1000 */ andi $t3, $v0, 0x1000 +/* 091794 80090B94 15600003 */ bnez $t3, .L80090BA4 +/* 091798 80090B98 83A4005F */ lb $a0, 0x5f($sp) +/* 09179C 80090B9C 0C027822 */ jal func_8009E088 +/* 0917A0 80090BA0 2405000A */ li $a1, 10 +.L80090BA4: +/* 0917A4 80090BA4 860C00CA */ lh $t4, 0xca($s0) +/* 0917A8 80090BA8 83AE005F */ lb $t6, 0x5f($sp) +/* 0917AC 80090BAC 24010001 */ li $at, 1 +/* 0917B0 80090BB0 318D0001 */ andi $t5, $t4, 1 +/* 0917B4 80090BB4 15A1001B */ bne $t5, $at, .L80090C24 +/* 0917B8 80090BB8 000E7880 */ sll $t7, $t6, 2 +/* 0917BC 80090BBC 3C018016 */ lui $at, %hi(D_801652A0) +/* 0917C0 80090BC0 002F0821 */ addu $at, $at, $t7 +/* 0917C4 80090BC4 C42A52A0 */ lwc1 $f10, %lo(D_801652A0)($at) +/* 0917C8 80090BC8 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 0917CC 80090BCC 44819000 */ mtc1 $at, $f18 +/* 0917D0 80090BD0 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3 +/* 0917D4 80090BD4 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a +/* 0917D8 80090BD8 46125400 */ add.s $f16, $f10, $f18 +/* 0917DC 80090BDC 26040018 */ addiu $a0, $s0, 0x18 +/* 0917E0 80090BE0 44058000 */ mfc1 $a1, $f16 +/* 0917E4 80090BE4 0C008973 */ jal move_f32_towards +/* 0917E8 80090BE8 00000000 */ nop +/* 0917EC 80090BEC 861800C6 */ lh $t8, 0xc6($s0) +/* 0917F0 80090BF0 24090002 */ li $t1, 2 +/* 0917F4 80090BF4 2719FFF8 */ addiu $t9, $t8, -8 +/* 0917F8 80090BF8 A61900C6 */ sh $t9, 0xc6($s0) +/* 0917FC 80090BFC 860800C6 */ lh $t0, 0xc6($s0) +/* 091800 80090C00 29010009 */ slti $at, $t0, 9 +/* 091804 80090C04 5020001C */ beql $at, $zero, .L80090C78 +/* 091808 80090C08 861800CA */ lh $t8, 0xca($s0) +/* 09180C 80090C0C 860A00CA */ lh $t2, 0xca($s0) +/* 091810 80090C10 A60000C6 */ sh $zero, 0xc6($s0) +/* 091814 80090C14 A6090222 */ sh $t1, 0x222($s0) +/* 091818 80090C18 314BFFFE */ andi $t3, $t2, 0xfffe +/* 09181C 80090C1C 10000015 */ b .L80090C74 +/* 091820 80090C20 A60B00CA */ sh $t3, 0xca($s0) +.L80090C24: +/* 091824 80090C24 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 091828 80090C28 44812000 */ mtc1 $at, $f4 +/* 09182C 80090C2C C6060024 */ lwc1 $f6, 0x24($s0) +/* 091830 80090C30 3C063CA3 */ lui $a2, (0x3CA3D70A >> 16) # lui $a2, 0x3ca3 +/* 091834 80090C34 34C6D70A */ ori $a2, (0x3CA3D70A & 0xFFFF) # ori $a2, $a2, 0xd70a +/* 091838 80090C38 46043200 */ add.s $f8, $f6, $f4 +/* 09183C 80090C3C 26040018 */ addiu $a0, $s0, 0x18 +/* 091840 80090C40 44054000 */ mfc1 $a1, $f8 +/* 091844 80090C44 0C008973 */ jal move_f32_towards +/* 091848 80090C48 00000000 */ nop +/* 09184C 80090C4C 860C00C6 */ lh $t4, 0xc6($s0) +/* 091850 80090C50 240F0002 */ li $t7, 2 +/* 091854 80090C54 258DFFF8 */ addiu $t5, $t4, -8 +/* 091858 80090C58 A60D00C6 */ sh $t5, 0xc6($s0) +/* 09185C 80090C5C 860E00C6 */ lh $t6, 0xc6($s0) +/* 091860 80090C60 29C10009 */ slti $at, $t6, 9 +/* 091864 80090C64 50200004 */ beql $at, $zero, .L80090C78 +/* 091868 80090C68 861800CA */ lh $t8, 0xca($s0) +/* 09186C 80090C6C A60000C6 */ sh $zero, 0xc6($s0) +/* 091870 80090C70 A60F0222 */ sh $t7, 0x222($s0) +.L80090C74: +/* 091874 80090C74 861800CA */ lh $t8, 0xca($s0) +.L80090C78: +/* 091878 80090C78 3319DFFF */ andi $t9, $t8, 0xdfff +/* 09187C 80090C7C 100000DA */ b .L80090FE8 +/* 091880 80090C80 A61900CA */ sh $t9, 0xca($s0) +glabel L80090C84 +/* 091884 80090C84 02002025 */ move $a0, $s0 +/* 091888 80090C88 83A5005F */ lb $a1, 0x5f($sp) +/* 09188C 80090C8C 27A60044 */ addiu $a2, $sp, 0x44 +/* 091890 80090C90 0C02405E */ jal func_80090178 +/* 091894 80090C94 27A70038 */ addiu $a3, $sp, 0x38 +/* 091898 80090C98 27A40044 */ addiu $a0, $sp, 0x44 +/* 09189C 80090C9C 0C0AD489 */ jal func_802B5224 +/* 0918A0 80090CA0 27A50038 */ addiu $a1, $sp, 0x38 +/* 0918A4 80090CA4 00025023 */ negu $t2, $v0 +/* 0918A8 80090CA8 A60A002E */ sh $t2, 0x2e($s0) +/* 0918AC 80090CAC C7AA0044 */ lwc1 $f10, 0x44($sp) +/* 0918B0 80090CB0 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 0918B4 80090CB4 44818000 */ mtc1 $at, $f16 +/* 0918B8 80090CB8 E60A0014 */ swc1 $f10, 0x14($s0) +/* 0918BC 80090CBC C7B20048 */ lwc1 $f18, 0x48($sp) +/* 0918C0 80090CC0 240B0003 */ li $t3, 3 +/* 0918C4 80090CC4 46109180 */ add.s $f6, $f18, $f16 +/* 0918C8 80090CC8 E6060018 */ swc1 $f6, 0x18($s0) +/* 0918CC 80090CCC C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 0918D0 80090CD0 A60B0222 */ sh $t3, 0x222($s0) +/* 0918D4 80090CD4 100000C4 */ b .L80090FE8 +/* 0918D8 80090CD8 E604001C */ swc1 $f4, 0x1c($s0) +glabel L80090CDC +/* 0918DC 80090CDC 83AC005F */ lb $t4, 0x5f($sp) +/* 0918E0 80090CE0 3C018016 */ lui $at, %hi(D_80165330) # 0x8016 +/* 0918E4 80090CE4 000C6840 */ sll $t5, $t4, 1 +/* 0918E8 80090CE8 002D0821 */ addu $at, $at, $t5 +/* 0918EC 80090CEC A4205330 */ sh $zero, %lo(D_80165330)($at) # 0x5330($at) +/* 0918F0 80090CF0 96020000 */ lhu $v0, ($s0) +/* 0918F4 80090CF4 24014000 */ li $at, 16384 +/* 0918F8 80090CF8 304E4000 */ andi $t6, $v0, 0x4000 +/* 0918FC 80090CFC 15C10005 */ bne $t6, $at, .L80090D14 +/* 091900 80090D00 304F1000 */ andi $t7, $v0, 0x1000 +/* 091904 80090D04 15E00003 */ bnez $t7, .L80090D14 +/* 091908 80090D08 01802025 */ move $a0, $t4 +/* 09190C 80090D0C 0C027808 */ jal func_8009E020 +/* 091910 80090D10 24050014 */ li $a1, 20 +.L80090D14: +/* 091914 80090D14 02002025 */ move $a0, $s0 +/* 091918 80090D18 83A5005F */ lb $a1, 0x5f($sp) +/* 09191C 80090D1C 27A60044 */ addiu $a2, $sp, 0x44 +/* 091920 80090D20 0C02405E */ jal func_80090178 +/* 091924 80090D24 27A70038 */ addiu $a3, $sp, 0x38 +/* 091928 80090D28 C7A80044 */ lwc1 $f8, 0x44($sp) +/* 09192C 80090D2C 3C014220 */ li $at, 0x42200000 # 40.000000 +/* 091930 80090D30 44819000 */ mtc1 $at, $f18 +/* 091934 80090D34 E6080014 */ swc1 $f8, 0x14($s0) +/* 091938 80090D38 C7AA0048 */ lwc1 $f10, 0x48($sp) +/* 09193C 80090D3C 8619002E */ lh $t9, 0x2e($s0) +/* 091940 80090D40 46125400 */ add.s $f16, $f10, $f18 +/* 091944 80090D44 E6100018 */ swc1 $f16, 0x18($s0) +/* 091948 80090D48 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 09194C 80090D4C E606001C */ swc1 $f6, 0x1c($s0) +/* 091950 80090D50 83A2005F */ lb $v0, 0x5f($sp) +/* 091954 80090D54 0002C0C0 */ sll $t8, $v0, 3 +/* 091958 80090D58 0302C023 */ subu $t8, $t8, $v0 +/* 09195C 80090D5C 0018C0C0 */ sll $t8, $t8, 3 +/* 091960 80090D60 0302C021 */ addu $t8, $t8, $v0 +/* 091964 80090D64 0018C0C0 */ sll $t8, $t8, 3 +/* 091968 80090D68 0302C023 */ subu $t8, $t8, $v0 +/* 09196C 80090D6C 00181100 */ sll $v0, $t8, 4 +/* 091970 80090D70 00592023 */ subu $a0, $v0, $t9 +/* 091974 80090D74 3088FFFF */ andi $t0, $a0, 0xffff +/* 091978 80090D78 01002025 */ move $a0, $t0 +/* 09197C 80090D7C 0C0AE00E */ jal coss +/* 091980 80090D80 AFA20028 */ sw $v0, 0x28($sp) +/* 091984 80090D84 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 +/* 091988 80090D88 44812000 */ mtc1 $at, $f4 +/* 09198C 80090D8C C60A001C */ lwc1 $f10, 0x1c($s0) +/* 091990 80090D90 8FA20028 */ lw $v0, 0x28($sp) +/* 091994 80090D94 46040202 */ mul.s $f8, $f0, $f4 +/* 091998 80090D98 8609002E */ lh $t1, 0x2e($s0) +/* 09199C 80090D9C 00492023 */ subu $a0, $v0, $t1 +/* 0919A0 80090DA0 308AFFFF */ andi $t2, $a0, 0xffff +/* 0919A4 80090DA4 01402025 */ move $a0, $t2 +/* 0919A8 80090DA8 460A4480 */ add.s $f18, $f8, $f10 +/* 0919AC 80090DAC 0C0AE006 */ jal sins +/* 0919B0 80090DB0 E612001C */ swc1 $f18, 0x1c($s0) +/* 0919B4 80090DB4 3C01C0A0 */ li $at, 0xC0A00000 # -5.000000 +/* 0919B8 80090DB8 44818000 */ mtc1 $at, $f16 +/* 0919BC 80090DBC 860B00C6 */ lh $t3, 0xc6($s0) +/* 0919C0 80090DC0 C6040014 */ lwc1 $f4, 0x14($s0) +/* 0919C4 80090DC4 46100182 */ mul.s $f6, $f0, $f16 +/* 0919C8 80090DC8 256D0008 */ addiu $t5, $t3, 8 +/* 0919CC 80090DCC A60D00C6 */ sh $t5, 0xc6($s0) +/* 0919D0 80090DD0 860E00C6 */ lh $t6, 0xc6($s0) +/* 0919D4 80090DD4 240F00FF */ li $t7, 255 +/* 0919D8 80090DD8 240C0004 */ li $t4, 4 +/* 0919DC 80090DDC 29C100F0 */ slti $at, $t6, 0xf0 +/* 0919E0 80090DE0 46043200 */ add.s $f8, $f6, $f4 +/* 0919E4 80090DE4 14200080 */ bnez $at, .L80090FE8 +/* 0919E8 80090DE8 E6080014 */ swc1 $f8, 0x14($s0) +/* 0919EC 80090DEC 861800CA */ lh $t8, 0xca($s0) +/* 0919F0 80090DF0 A60F00C6 */ sh $t7, 0xc6($s0) +/* 0919F4 80090DF4 A60C0222 */ sh $t4, 0x222($s0) +/* 0919F8 80090DF8 3319FFFB */ andi $t9, $t8, 0xfffb +/* 0919FC 80090DFC A61900CA */ sh $t9, 0xca($s0) +/* 091A00 80090E00 10000079 */ b .L80090FE8 +/* 091A04 80090E04 A60000C8 */ sh $zero, 0xc8($s0) +glabel L80090E08 +/* 091A08 80090E08 860200C8 */ lh $v0, 0xc8($s0) +/* 091A0C 80090E0C 24010096 */ li $at, 150 +/* 091A10 80090E10 10410005 */ beq $v0, $at, .L80090E28 +/* 091A14 80090E14 240100C8 */ li $at, 200 +/* 091A18 80090E18 10410003 */ beq $v0, $at, .L80090E28 +/* 091A1C 80090E1C 240100FA */ li $at, 250 +/* 091A20 80090E20 54410019 */ bnel $v0, $at, .L80090E88 +/* 091A24 80090E24 240100FC */ li $at, 252 +.L80090E28: +/* 091A28 80090E28 8604002E */ lh $a0, 0x2e($s0) +/* 091A2C 80090E2C 00042023 */ negu $a0, $a0 +/* 091A30 80090E30 3088FFFF */ andi $t0, $a0, 0xffff +/* 091A34 80090E34 0C0AE00E */ jal coss +/* 091A38 80090E38 01002025 */ move $a0, $t0 +/* 091A3C 80090E3C 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 091A40 80090E40 44815000 */ mtc1 $at, $f10 +/* 091A44 80090E44 C610001C */ lwc1 $f16, 0x1c($s0) +/* 091A48 80090E48 8604002E */ lh $a0, 0x2e($s0) +/* 091A4C 80090E4C 460A0482 */ mul.s $f18, $f0, $f10 +/* 091A50 80090E50 00042023 */ negu $a0, $a0 +/* 091A54 80090E54 3089FFFF */ andi $t1, $a0, 0xffff +/* 091A58 80090E58 01202025 */ move $a0, $t1 +/* 091A5C 80090E5C 46109180 */ add.s $f6, $f18, $f16 +/* 091A60 80090E60 0C0AE006 */ jal sins +/* 091A64 80090E64 E606001C */ swc1 $f6, 0x1c($s0) +/* 091A68 80090E68 3C01C120 */ li $at, 0xC1200000 # -10.000000 +/* 091A6C 80090E6C 44812000 */ mtc1 $at, $f4 +/* 091A70 80090E70 C60A0014 */ lwc1 $f10, 0x14($s0) +/* 091A74 80090E74 860200C8 */ lh $v0, 0xc8($s0) +/* 091A78 80090E78 46040202 */ mul.s $f8, $f0, $f4 +/* 091A7C 80090E7C 460A4480 */ add.s $f18, $f8, $f10 +/* 091A80 80090E80 E6120014 */ swc1 $f18, 0x14($s0) +/* 091A84 80090E84 240100FC */ li $at, 252 +.L80090E88: +/* 091A88 80090E88 14410011 */ bne $v0, $at, .L80090ED0 +/* 091A8C 80090E8C 3C028016 */ lui $v0, %hi(D_80164550) # $v0, 0x8016 +/* 091A90 80090E90 8C424550 */ lw $v0, %lo(D_80164550)($v0) +/* 091A94 80090E94 844A0000 */ lh $t2, ($v0) +/* 091A98 80090E98 448A8000 */ mtc1 $t2, $f16 +/* 091A9C 80090E9C 00000000 */ nop +/* 091AA0 80090EA0 468081A0 */ cvt.s.w $f6, $f16 +/* 091AA4 80090EA4 E6060014 */ swc1 $f6, 0x14($s0) +/* 091AA8 80090EA8 844B0002 */ lh $t3, 2($v0) +/* 091AAC 80090EAC 448B2000 */ mtc1 $t3, $f4 +/* 091AB0 80090EB0 00000000 */ nop +/* 091AB4 80090EB4 46802220 */ cvt.s.w $f8, $f4 +/* 091AB8 80090EB8 E6080018 */ swc1 $f8, 0x18($s0) +/* 091ABC 80090EBC 844D0004 */ lh $t5, 4($v0) +/* 091AC0 80090EC0 448D5000 */ mtc1 $t5, $f10 +/* 091AC4 80090EC4 00000000 */ nop +/* 091AC8 80090EC8 468054A0 */ cvt.s.w $f18, $f10 +/* 091ACC 80090ECC E612001C */ swc1 $f18, 0x1c($s0) +.L80090ED0: +/* 091AD0 80090ED0 C6100074 */ lwc1 $f16, 0x74($s0) +/* 091AD4 80090ED4 C6060070 */ lwc1 $f6, 0x70($s0) +/* 091AD8 80090ED8 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 091ADC 80090EDC 44814000 */ mtc1 $at, $f8 +/* 091AE0 80090EE0 46068100 */ add.s $f4, $f16, $f6 +/* 091AE4 80090EE4 3C063D23 */ lui $a2, (0x3D23D70A >> 16) # lui $a2, 0x3d23 +/* 091AE8 80090EE8 34C6D70A */ ori $a2, (0x3D23D70A & 0xFFFF) # ori $a2, $a2, 0xd70a +/* 091AEC 80090EEC 26040018 */ addiu $a0, $s0, 0x18 +/* 091AF0 80090EF0 46082281 */ sub.s $f10, $f4, $f8 +/* 091AF4 80090EF4 44055000 */ mfc1 $a1, $f10 +/* 091AF8 80090EF8 0C008973 */ jal move_f32_towards +/* 091AFC 80090EFC 00000000 */ nop +/* 091B00 80090F00 860E00C8 */ lh $t6, 0xc8($s0) +/* 091B04 80090F04 8E0200BC */ lw $v0, 0xbc($s0) +/* 091B08 80090F08 24010008 */ li $at, 8 +/* 091B0C 80090F0C 25CF0001 */ addiu $t7, $t6, 1 +/* 091B10 80090F10 304C0008 */ andi $t4, $v0, 8 +/* 091B14 80090F14 15810004 */ bne $t4, $at, .L80090F28 +/* 091B18 80090F18 A60F00C8 */ sh $t7, 0xc8($s0) +/* 091B1C 80090F1C 30588000 */ andi $t8, $v0, 0x8000 +/* 091B20 80090F20 53000032 */ beql $t8, $zero, .L80090FEC +/* 091B24 80090F24 3C014334 */ lui $at, 0x4334 +.L80090F28: +/* 091B28 80090F28 861900CA */ lh $t9, 0xca($s0) +/* 091B2C 80090F2C 860900C8 */ lh $t1, 0xc8($s0) +/* 091B30 80090F30 3328EFFF */ andi $t0, $t9, 0xefff +/* 091B34 80090F34 2921005B */ slti $at, $t1, 0x5b +/* 091B38 80090F38 1420002B */ bnez $at, .L80090FE8 +/* 091B3C 80090F3C A60800CA */ sh $t0, 0xca($s0) +/* 091B40 80090F40 960A0000 */ lhu $t2, ($s0) +/* 091B44 80090F44 93A4005F */ lbu $a0, 0x5f($sp) +/* 091B48 80090F48 3C050100 */ lui $a1, (0x0100FA28 >> 16) # lui $a1, 0x100 +/* 091B4C 80090F4C 314B4000 */ andi $t3, $t2, 0x4000 +/* 091B50 80090F50 11600003 */ beqz $t3, .L80090F60 +/* 091B54 80090F54 00000000 */ nop +/* 091B58 80090F58 0C032406 */ jal func_800C9018 +/* 091B5C 80090F5C 34A5FA28 */ ori $a1, (0x0100FA28 & 0xFFFF) # ori $a1, $a1, 0xfa28 +.L80090F60: +/* 091B60 80090F60 3C0D800E */ lui $t5, %hi(gModeSelection) # $t5, 0x800e +/* 091B64 80090F64 8DADC53C */ lw $t5, %lo(gModeSelection)($t5) +/* 091B68 80090F68 24010003 */ li $at, 3 +/* 091B6C 80090F6C 02002025 */ move $a0, $s0 +/* 091B70 80090F70 55A10004 */ bnel $t5, $at, .L80090F84 +/* 091B74 80090F74 860E00CA */ lh $t6, 0xca($s0) +/* 091B78 80090F78 0C01AE2D */ jal func_8006B8B4 +/* 091B7C 80090F7C 83A5005F */ lb $a1, 0x5f($sp) +/* 091B80 80090F80 860E00CA */ lh $t6, 0xca($s0) +.L80090F84: +/* 091B84 80090F84 960C00DE */ lhu $t4, 0xde($s0) +/* 091B88 80090F88 24010080 */ li $at, 128 +/* 091B8C 80090F8C 31CFFFFD */ andi $t7, $t6, 0xfffd +/* 091B90 80090F90 A60F00CA */ sh $t7, 0xca($s0) +/* 091B94 80090F94 860300CA */ lh $v1, 0xca($s0) +/* 091B98 80090F98 3198FFFB */ andi $t8, $t4, 0xfffb +/* 091B9C 80090F9C A61800DE */ sh $t8, 0xde($s0) +/* 091BA0 80090FA0 30790080 */ andi $t9, $v1, 0x80 +/* 091BA4 80090FA4 13210010 */ beq $t9, $at, .L80090FE8 +/* 091BA8 80090FA8 3068FFF7 */ andi $t0, $v1, 0xfff7 +/* 091BAC 80090FAC C6060214 */ lwc1 $f6, 0x214($s0) +/* 091BB0 80090FB0 A60800CA */ sh $t0, 0xca($s0) +/* 091BB4 80090FB4 3C01800F */ lui $at, %hi(D_800EF650) +/* 091BB8 80090FB8 D428F650 */ ldc1 $f8, %lo(D_800EF650)($at) +/* 091BBC 80090FBC 46003121 */ cvt.d.s $f4, $f6 +/* 091BC0 80090FC0 C612009C */ lwc1 $f18, 0x9c($s0) +/* 091BC4 80090FC4 46282282 */ mul.d $f10, $f4, $f8 +/* 091BC8 80090FC8 02002025 */ move $a0, $s0 +/* 091BCC 80090FCC 46009421 */ cvt.d.s $f16, $f18 +/* 091BD0 80090FD0 4630503E */ c.le.d $f10, $f16 +/* 091BD4 80090FD4 00000000 */ nop +/* 091BD8 80090FD8 45020004 */ bc1fl .L80090FEC +/* 091BDC 80090FDC 3C014334 */ lui $at, 0x4334 +/* 091BE0 80090FE0 0C023C41 */ jal func_8008F104 +/* 091BE4 80090FE4 83A5005F */ lb $a1, 0x5f($sp) +.L80090FE8: +/* 091BE8 80090FE8 3C014334 */ li $at, 0x43340000 # 180.000000 +.L80090FEC: +/* 091BEC 80090FEC 44810000 */ mtc1 $at, $f0 +/* 091BF0 80090FF0 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 091BF4 80090FF4 44813000 */ mtc1 $at, $f6 +/* 091BF8 80090FF8 C6120DA0 */ lwc1 $f18, 0xda0($s0) +/* 091BFC 80090FFC 46069100 */ add.s $f4, $f18, $f6 +/* 091C00 80091000 E6040DA0 */ swc1 $f4, 0xda0($s0) +/* 091C04 80091004 C6080DA0 */ lwc1 $f8, 0xda0($s0) +/* 091C08 80091008 4608003E */ c.le.s $f0, $f8 +/* 091C0C 8009100C 00000000 */ nop +/* 091C10 80091010 45020003 */ bc1fl .L80091020 +/* 091C14 80091014 86090D98 */ lh $t1, 0xd98($s0) +/* 091C18 80091018 E6000DA0 */ swc1 $f0, 0xda0($s0) +/* 091C1C 8009101C 86090D98 */ lh $t1, 0xd98($s0) +.L80091020: +/* 091C20 80091020 24010001 */ li $at, 1 +/* 091C24 80091024 55210015 */ bnel $t1, $at, .L8009107C +/* 091C28 80091028 860D0D98 */ lh $t5, 0xd98($s0) +/* 091C2C 8009102C C6100D9C */ lwc1 $f16, 0xd9c($s0) +/* 091C30 80091030 C60A0DA0 */ lwc1 $f10, 0xda0($s0) +/* 091C34 80091034 3C01800F */ lui $at, %hi(D_800EF658) # $at, 0x800f +/* 091C38 80091038 460A8480 */ add.s $f18, $f16, $f10 +/* 091C3C 8009103C E6120D9C */ swc1 $f18, 0xd9c($s0) +/* 091C40 80091040 C424F658 */ lwc1 $f4, %lo(D_800EF658)($at) +/* 091C44 80091044 C6060D9C */ lwc1 $f6, 0xd9c($s0) +/* 091C48 80091048 4606203E */ c.le.s $f4, $f6 +/* 091C4C 8009104C 00000000 */ nop +/* 091C50 80091050 4502000A */ bc1fl .L8009107C +/* 091C54 80091054 860D0D98 */ lh $t5, 0xd98($s0) +/* 091C58 80091058 860A0D98 */ lh $t2, 0xd98($s0) +/* 091C5C 8009105C 2402FFFF */ li $v0, -1 +/* 091C60 80091060 44804000 */ mtc1 $zero, $f8 +/* 091C64 80091064 01420019 */ multu $t2, $v0 +/* 091C68 80091068 E6080DA0 */ swc1 $f8, 0xda0($s0) +/* 091C6C 8009106C 00005812 */ mflo $t3 +/* 091C70 80091070 A60B0D98 */ sh $t3, 0xd98($s0) +/* 091C74 80091074 00000000 */ nop +/* 091C78 80091078 860D0D98 */ lh $t5, 0xd98($s0) +.L8009107C: +/* 091C7C 8009107C 2402FFFF */ li $v0, -1 +/* 091C80 80091080 544D0014 */ bnel $v0, $t5, .L800910D4 +/* 091C84 80091084 8FBF001C */ lw $ra, 0x1c($sp) +/* 091C88 80091088 C6100D9C */ lwc1 $f16, 0xd9c($s0) +/* 091C8C 8009108C C60A0DA0 */ lwc1 $f10, 0xda0($s0) +/* 091C90 80091090 3C01800F */ lui $at, %hi(D_800EF65C) # $at, 0x800f +/* 091C94 80091094 460A8481 */ sub.s $f18, $f16, $f10 +/* 091C98 80091098 E6120D9C */ swc1 $f18, 0xd9c($s0) +/* 091C9C 8009109C C6040D9C */ lwc1 $f4, 0xd9c($s0) +/* 091CA0 800910A0 C426F65C */ lwc1 $f6, %lo(D_800EF65C)($at) +/* 091CA4 800910A4 4606203E */ c.le.s $f4, $f6 +/* 091CA8 800910A8 00000000 */ nop +/* 091CAC 800910AC 45020009 */ bc1fl .L800910D4 +/* 091CB0 800910B0 8FBF001C */ lw $ra, 0x1c($sp) +/* 091CB4 800910B4 860E0D98 */ lh $t6, 0xd98($s0) +/* 091CB8 800910B8 44804000 */ mtc1 $zero, $f8 +/* 091CBC 800910BC 01C20019 */ multu $t6, $v0 +/* 091CC0 800910C0 E6080DA0 */ swc1 $f8, 0xda0($s0) +/* 091CC4 800910C4 00007812 */ mflo $t7 +/* 091CC8 800910C8 A60F0D98 */ sh $t7, 0xd98($s0) +/* 091CCC 800910CC 00000000 */ nop +/* 091CD0 800910D0 8FBF001C */ lw $ra, 0x1c($sp) +.L800910D4: +/* 091CD4 800910D4 8FB00018 */ lw $s0, 0x18($sp) +/* 091CD8 800910D8 27BD0058 */ addiu $sp, $sp, 0x58 +/* 091CDC 800910DC 03E00008 */ jr $ra +/* 091CE0 800910E0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_800910E4.s b/asm/non_matchings/code_8008C1D0/func_800910E4.s index 5211b79cb..dec75416c 100644 --- a/asm/non_matchings/code_8008C1D0/func_800910E4.s +++ b/asm/non_matchings/code_8008C1D0/func_800910E4.s @@ -1,64 +1,64 @@ -glabel func_800910E4 -/* 091CE4 800910E4 848300CA */ lh $v1, 0xca($a0) -/* 091CE8 800910E8 24010002 */ li $at, 2 -/* 091CEC 800910EC 00001025 */ move $v0, $zero -/* 091CF0 800910F0 306E0002 */ andi $t6, $v1, 2 -/* 091CF4 800910F4 11C1000C */ beq $t6, $at, .L80091128 -/* 091CF8 800910F8 306F0008 */ andi $t7, $v1, 8 -/* 091CFC 800910FC 24010008 */ li $at, 8 -/* 091D00 80091100 11E10009 */ beq $t7, $at, .L80091128 -/* 091D04 80091104 00000000 */ nop -/* 091D08 80091108 94830000 */ lhu $v1, ($a0) -/* 091D0C 8009110C 30780040 */ andi $t8, $v1, 0x40 -/* 091D10 80091110 17000005 */ bnez $t8, .L80091128 -/* 091D14 80091114 30790800 */ andi $t9, $v1, 0x800 -/* 091D18 80091118 17200003 */ bnez $t9, .L80091128 -/* 091D1C 8009111C 30688000 */ andi $t0, $v1, 0x8000 -/* 091D20 80091120 55000004 */ bnel $t0, $zero, .L80091134 -/* 091D24 80091124 84890010 */ lh $t1, 0x10($a0) -.L80091128: -/* 091D28 80091128 03E00008 */ jr $ra -/* 091D2C 8009112C 24020001 */ li $v0, 1 - -/* 091D30 80091130 84890010 */ lh $t1, 0x10($a0) -.L80091134: -/* 091D34 80091134 252AFFF6 */ addiu $t2, $t1, -0xa -/* 091D38 80091138 2D410006 */ sltiu $at, $t2, 6 -/* 091D3C 8009113C 10200015 */ beqz $at, .L80091194 -/* 091D40 80091140 000A5080 */ sll $t2, $t2, 2 -/* 091D44 80091144 3C01800F */ lui $at, %hi(jpt_800EF660) -/* 091D48 80091148 002A0821 */ addu $at, $at, $t2 -/* 091D4C 8009114C 8C2AF660 */ lw $t2, %lo(jpt_800EF660)($at) -/* 091D50 80091150 01400008 */ jr $t2 -/* 091D54 80091154 00000000 */ nop -glabel L80091158 -/* 091D58 80091158 8C8B00BC */ lw $t3, 0xbc($a0) -/* 091D5C 8009115C 3C025F93 */ lui $v0, 0x5f93 -/* 091D60 80091160 316C0008 */ andi $t4, $t3, 8 -/* 091D64 80091164 11800003 */ beqz $t4, .L80091174 -/* 091D68 80091168 00000000 */ nop -/* 091D6C 8009116C 03E00008 */ jr $ra -/* 091D70 80091170 24020001 */ li $v0, 1 - -.L80091174: -/* 091D74 80091174 10000007 */ b .L80091194 -/* 091D78 80091178 34424EC4 */ ori $v0, $v0, 0x4ec4 -glabel L8009117C -/* 091D7C 8009117C 3C02DF93 */ lui $v0, (0xDF934EC4 >> 16) # lui $v0, 0xdf93 -/* 091D80 80091180 34424EC4 */ ori $v0, (0xDF934EC4 & 0xFFFF) # ori $v0, $v0, 0x4ec4 -glabel L80091184 -/* 091D84 80091184 3C01DF93 */ lui $at, (0xDF934EC4 >> 16) # lui $at, 0xdf93 -/* 091D88 80091188 34214EC4 */ ori $at, (0xDF934EC4 & 0xFFFF) # ori $at, $at, 0x4ec4 -/* 091D8C 8009118C 00416825 */ or $t5, $v0, $at -/* 091D90 80091190 01A01025 */ move $v0, $t5 -.L80091194: -/* 091D94 80091194 8C8E00BC */ lw $t6, 0xbc($a0) -/* 091D98 80091198 01C27824 */ and $t7, $t6, $v0 -/* 091D9C 8009119C 11E00003 */ beqz $t7, .L800911AC -/* 091DA0 800911A0 00001025 */ move $v0, $zero -/* 091DA4 800911A4 03E00008 */ jr $ra -/* 091DA8 800911A8 24020001 */ li $v0, 1 - -.L800911AC: -/* 091DAC 800911AC 03E00008 */ jr $ra -/* 091DB0 800911B0 00000000 */ nop +glabel func_800910E4 +/* 091CE4 800910E4 848300CA */ lh $v1, 0xca($a0) +/* 091CE8 800910E8 24010002 */ li $at, 2 +/* 091CEC 800910EC 00001025 */ move $v0, $zero +/* 091CF0 800910F0 306E0002 */ andi $t6, $v1, 2 +/* 091CF4 800910F4 11C1000C */ beq $t6, $at, .L80091128 +/* 091CF8 800910F8 306F0008 */ andi $t7, $v1, 8 +/* 091CFC 800910FC 24010008 */ li $at, 8 +/* 091D00 80091100 11E10009 */ beq $t7, $at, .L80091128 +/* 091D04 80091104 00000000 */ nop +/* 091D08 80091108 94830000 */ lhu $v1, ($a0) +/* 091D0C 8009110C 30780040 */ andi $t8, $v1, 0x40 +/* 091D10 80091110 17000005 */ bnez $t8, .L80091128 +/* 091D14 80091114 30790800 */ andi $t9, $v1, 0x800 +/* 091D18 80091118 17200003 */ bnez $t9, .L80091128 +/* 091D1C 8009111C 30688000 */ andi $t0, $v1, 0x8000 +/* 091D20 80091120 55000004 */ bnel $t0, $zero, .L80091134 +/* 091D24 80091124 84890010 */ lh $t1, 0x10($a0) +.L80091128: +/* 091D28 80091128 03E00008 */ jr $ra +/* 091D2C 8009112C 24020001 */ li $v0, 1 + +/* 091D30 80091130 84890010 */ lh $t1, 0x10($a0) +.L80091134: +/* 091D34 80091134 252AFFF6 */ addiu $t2, $t1, -0xa +/* 091D38 80091138 2D410006 */ sltiu $at, $t2, 6 +/* 091D3C 8009113C 10200015 */ beqz $at, .L80091194 +/* 091D40 80091140 000A5080 */ sll $t2, $t2, 2 +/* 091D44 80091144 3C01800F */ lui $at, %hi(jpt_800EF660) +/* 091D48 80091148 002A0821 */ addu $at, $at, $t2 +/* 091D4C 8009114C 8C2AF660 */ lw $t2, %lo(jpt_800EF660)($at) +/* 091D50 80091150 01400008 */ jr $t2 +/* 091D54 80091154 00000000 */ nop +glabel L80091158 +/* 091D58 80091158 8C8B00BC */ lw $t3, 0xbc($a0) +/* 091D5C 8009115C 3C025F93 */ lui $v0, 0x5f93 +/* 091D60 80091160 316C0008 */ andi $t4, $t3, 8 +/* 091D64 80091164 11800003 */ beqz $t4, .L80091174 +/* 091D68 80091168 00000000 */ nop +/* 091D6C 8009116C 03E00008 */ jr $ra +/* 091D70 80091170 24020001 */ li $v0, 1 + +.L80091174: +/* 091D74 80091174 10000007 */ b .L80091194 +/* 091D78 80091178 34424EC4 */ ori $v0, $v0, 0x4ec4 +glabel L8009117C +/* 091D7C 8009117C 3C02DF93 */ lui $v0, (0xDF934EC4 >> 16) # lui $v0, 0xdf93 +/* 091D80 80091180 34424EC4 */ ori $v0, (0xDF934EC4 & 0xFFFF) # ori $v0, $v0, 0x4ec4 +glabel L80091184 +/* 091D84 80091184 3C01DF93 */ lui $at, (0xDF934EC4 >> 16) # lui $at, 0xdf93 +/* 091D88 80091188 34214EC4 */ ori $at, (0xDF934EC4 & 0xFFFF) # ori $at, $at, 0x4ec4 +/* 091D8C 8009118C 00416825 */ or $t5, $v0, $at +/* 091D90 80091190 01A01025 */ move $v0, $t5 +.L80091194: +/* 091D94 80091194 8C8E00BC */ lw $t6, 0xbc($a0) +/* 091D98 80091198 01C27824 */ and $t7, $t6, $v0 +/* 091D9C 8009119C 11E00003 */ beqz $t7, .L800911AC +/* 091DA0 800911A0 00001025 */ move $v0, $zero +/* 091DA4 800911A4 03E00008 */ jr $ra +/* 091DA8 800911A8 24020001 */ li $v0, 1 + +.L800911AC: +/* 091DAC 800911AC 03E00008 */ jr $ra +/* 091DB0 800911B0 00000000 */ nop diff --git a/asm/non_matchings/code_8008C1D0/func_80091298.s b/asm/non_matchings/code_8008C1D0/func_80091298.s index 0d1a0eee1..0d6d8c11b 100644 --- a/asm/non_matchings/code_8008C1D0/func_80091298.s +++ b/asm/non_matchings/code_8008C1D0/func_80091298.s @@ -1,114 +1,114 @@ -glabel func_80091298 -/* 091E98 80091298 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 091E9C 8009129C 3C18800E */ lui $t8, %hi(D_800E706C) # $t8, 0x800e -/* 091EA0 800912A0 AFA50024 */ sw $a1, 0x24($sp) -/* 091EA4 800912A4 2718706C */ addiu $t8, %lo(D_800E706C) # addiu $t8, $t8, 0x706c -/* 091EA8 800912A8 8F010000 */ lw $at, ($t8) -/* 091EAC 800912AC 27A7000C */ addiu $a3, $sp, 0xc -/* 091EB0 800912B0 00057600 */ sll $t6, $a1, 0x18 -/* 091EB4 800912B4 ACE10000 */ sw $at, ($a3) -/* 091EB8 800912B8 8F090004 */ lw $t1, 4($t8) -/* 091EBC 800912BC 000E2E03 */ sra $a1, $t6, 0x18 -/* 091EC0 800912C0 00057040 */ sll $t6, $a1, 1 -/* 091EC4 800912C4 ACE90004 */ sw $t1, 4($a3) -/* 091EC8 800912C8 8F010008 */ lw $at, 8($t8) -/* 091ECC 800912CC 3C0F8019 */ lui $t7, %hi(D_8018D920) # $t7, 0x8019 -/* 091ED0 800912D0 ACE10008 */ sw $at, 8($a3) -/* 091ED4 800912D4 848A0044 */ lh $t2, 0x44($a0) -/* 091ED8 800912D8 848200B2 */ lh $v0, 0xb2($a0) -/* 091EDC 800912DC 354B2000 */ ori $t3, $t2, 0x2000 -/* 091EE0 800912E0 14400003 */ bnez $v0, .L800912F0 -/* 091EE4 800912E4 A48B0044 */ sh $t3, 0x44($a0) -/* 091EE8 800912E8 10000010 */ b .L8009132C -/* 091EEC 800912EC 00001825 */ move $v1, $zero -.L800912F0: -/* 091EF0 800912F0 848C002E */ lh $t4, 0x2e($a0) -/* 091EF4 800912F4 25EFD920 */ addiu $t7, %lo(D_8018D920) # addiu $t7, $t7, -0x26e0 -/* 091EF8 800912F8 01CF3021 */ addu $a2, $t6, $t7 -/* 091EFC 800912FC 258DF1C8 */ addiu $t5, $t4, -0xe38 -/* 091F00 80091300 A48D002E */ sh $t5, 0x2e($a0) -/* 091F04 80091304 84C80000 */ lh $t0, ($a2) -/* 091F08 80091308 24010E38 */ li $at, 3640 -/* 091F0C 8009130C 2519F1C8 */ addiu $t9, $t0, -0xe38 -/* 091F10 80091310 3323FFFF */ andi $v1, $t9, 0xffff -/* 091F14 80091314 0061001A */ div $zero, $v1, $at -/* 091F18 80091318 0000C012 */ mflo $t8 -/* 091F1C 8009131C A4D90000 */ sh $t9, ($a2) -/* 091F20 80091320 00184C00 */ sll $t1, $t8, 0x10 -/* 091F24 80091324 00091C03 */ sra $v1, $t1, 0x10 -/* 091F28 80091328 848200B2 */ lh $v0, 0xb2($a0) -.L8009132C: -/* 091F2C 8009132C 24010009 */ li $at, 9 -/* 091F30 80091330 14610003 */ bne $v1, $at, .L80091340 -/* 091F34 80091334 24010001 */ li $at, 1 -/* 091F38 80091338 50410007 */ beql $v0, $at, .L80091358 -/* 091F3C 8009133C 244BFFFF */ addiu $t3, $v0, -1 -.L80091340: -/* 091F40 80091340 14600003 */ bnez $v1, .L80091350 -/* 091F44 80091344 24010002 */ li $at, 2 -/* 091F48 80091348 50410003 */ beql $v0, $at, .L80091358 -/* 091F4C 8009134C 244BFFFF */ addiu $t3, $v0, -1 -.L80091350: -/* 091F50 80091350 14400039 */ bnez $v0, .L80091438 -/* 091F54 80091354 244BFFFF */ addiu $t3, $v0, -1 -.L80091358: -/* 091F58 80091358 A48B00B2 */ sh $t3, 0xb2($a0) -/* 091F5C 8009135C 848200B2 */ lh $v0, 0xb2($a0) -/* 091F60 80091360 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 091F64 80091364 1C400003 */ bgtz $v0, .L80091374 -/* 091F68 80091368 00000000 */ nop -/* 091F6C 8009136C A48000B2 */ sh $zero, 0xb2($a0) -/* 091F70 80091370 848200B2 */ lh $v0, 0xb2($a0) -.L80091374: -/* 091F74 80091374 14400030 */ bnez $v0, .L80091438 -/* 091F78 80091378 00000000 */ nop -/* 091F7C 8009137C C4820070 */ lwc1 $f2, 0x70($a0) -/* 091F80 80091380 44813000 */ mtc1 $at, $f6 -/* 091F84 80091384 C4840018 */ lwc1 $f4, 0x18($a0) -/* 091F88 80091388 00056080 */ sll $t4, $a1, 2 -/* 091F8C 8009138C 46061200 */ add.s $f8, $f2, $f6 -/* 091F90 80091390 00EC6821 */ addu $t5, $a3, $t4 -/* 091F94 80091394 C5A00000 */ lwc1 $f0, ($t5) -/* 091F98 80091398 3C01800F */ lui $at, %hi(D_800EF680) -/* 091F9C 8009139C 46082281 */ sub.s $f10, $f4, $f8 -/* 091FA0 800913A0 4600503E */ c.le.s $f10, $f0 -/* 091FA4 800913A4 00000000 */ nop -/* 091FA8 800913A8 45000023 */ bc1f .L80091438 -/* 091FAC 800913AC 00000000 */ nop -/* 091FB0 800913B0 46020400 */ add.s $f16, $f0, $f2 -/* 091FB4 800913B4 D426F680 */ ldc1 $f6, %lo(D_800EF680)($at) -/* 091FB8 800913B8 848E0044 */ lh $t6, 0x44($a0) -/* 091FBC 800913BC 94880254 */ lhu $t0, 0x254($a0) -/* 091FC0 800913C0 460084A1 */ cvt.d.s $f18, $f16 -/* 091FC4 800913C4 3C014040 */ li $at, 0x40400000 # 3.000000 -/* 091FC8 800913C8 46269100 */ add.d $f4, $f18, $f6 -/* 091FCC 800913CC 44815000 */ mtc1 $at, $f10 -/* 091FD0 800913D0 3C01800E */ lui $at, %hi(gKartGravityTable) -/* 091FD4 800913D4 31CFF7FF */ andi $t7, $t6, 0xf7ff -/* 091FD8 800913D8 46202220 */ cvt.s.d $f8, $f4 -/* 091FDC 800913DC 0008C880 */ sll $t9, $t0, 2 -/* 091FE0 800913E0 A4800DCC */ sh $zero, 0xdcc($a0) -/* 091FE4 800913E4 A48000A8 */ sh $zero, 0xa8($a0) -/* 091FE8 800913E8 E4880018 */ swc1 $f8, 0x18($a0) -/* 091FEC 800913EC AC80007C */ sw $zero, 0x7c($a0) -/* 091FF0 800913F0 A48000C0 */ sh $zero, 0xc0($a0) -/* 091FF4 800913F4 A48F0044 */ sh $t7, 0x44($a0) -/* 091FF8 800913F8 00390821 */ addu $at, $at, $t9 -/* 091FFC 800913FC E48A0DC0 */ swc1 $f10, 0xdc0($a0) -/* 092000 80091400 C4302650 */ lwc1 $f16, %lo(gKartGravityTable)($at) -/* 092004 80091404 44806000 */ mtc1 $zero, $f12 -/* 092008 80091408 94980000 */ lhu $t8, ($a0) -/* 09200C 8009140C A48000D4 */ sh $zero, 0xd4($a0) -/* 092010 80091410 E4900100 */ swc1 $f16, 0x100($a0) -/* 092014 80091414 37092000 */ ori $t1, $t8, 0x2000 -/* 092018 80091418 A4890000 */ sh $t1, ($a0) -/* 09201C 8009141C E48C0094 */ swc1 $f12, 0x94($a0) -/* 092020 80091420 E48C008C */ swc1 $f12, 0x8c($a0) -/* 092024 80091424 14A00004 */ bnez $a1, .L80091438 -/* 092028 80091428 E48C009C */ swc1 $f12, 0x9c($a0) -/* 09202C 8009142C 240A0001 */ li $t2, 1 -/* 092030 80091430 3C018016 */ lui $at, %hi(D_801658BC) # $at, 0x8016 -/* 092034 80091434 A02A58BC */ sb $t2, %lo(D_801658BC)($at) -.L80091438: -/* 092038 80091438 03E00008 */ jr $ra -/* 09203C 8009143C 27BD0020 */ addiu $sp, $sp, 0x20 +glabel func_80091298 +/* 091E98 80091298 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 091E9C 8009129C 3C18800E */ lui $t8, %hi(D_800E706C) # $t8, 0x800e +/* 091EA0 800912A0 AFA50024 */ sw $a1, 0x24($sp) +/* 091EA4 800912A4 2718706C */ addiu $t8, %lo(D_800E706C) # addiu $t8, $t8, 0x706c +/* 091EA8 800912A8 8F010000 */ lw $at, ($t8) +/* 091EAC 800912AC 27A7000C */ addiu $a3, $sp, 0xc +/* 091EB0 800912B0 00057600 */ sll $t6, $a1, 0x18 +/* 091EB4 800912B4 ACE10000 */ sw $at, ($a3) +/* 091EB8 800912B8 8F090004 */ lw $t1, 4($t8) +/* 091EBC 800912BC 000E2E03 */ sra $a1, $t6, 0x18 +/* 091EC0 800912C0 00057040 */ sll $t6, $a1, 1 +/* 091EC4 800912C4 ACE90004 */ sw $t1, 4($a3) +/* 091EC8 800912C8 8F010008 */ lw $at, 8($t8) +/* 091ECC 800912CC 3C0F8019 */ lui $t7, %hi(D_8018D920) # $t7, 0x8019 +/* 091ED0 800912D0 ACE10008 */ sw $at, 8($a3) +/* 091ED4 800912D4 848A0044 */ lh $t2, 0x44($a0) +/* 091ED8 800912D8 848200B2 */ lh $v0, 0xb2($a0) +/* 091EDC 800912DC 354B2000 */ ori $t3, $t2, 0x2000 +/* 091EE0 800912E0 14400003 */ bnez $v0, .L800912F0 +/* 091EE4 800912E4 A48B0044 */ sh $t3, 0x44($a0) +/* 091EE8 800912E8 10000010 */ b .L8009132C +/* 091EEC 800912EC 00001825 */ move $v1, $zero +.L800912F0: +/* 091EF0 800912F0 848C002E */ lh $t4, 0x2e($a0) +/* 091EF4 800912F4 25EFD920 */ addiu $t7, %lo(D_8018D920) # addiu $t7, $t7, -0x26e0 +/* 091EF8 800912F8 01CF3021 */ addu $a2, $t6, $t7 +/* 091EFC 800912FC 258DF1C8 */ addiu $t5, $t4, -0xe38 +/* 091F00 80091300 A48D002E */ sh $t5, 0x2e($a0) +/* 091F04 80091304 84C80000 */ lh $t0, ($a2) +/* 091F08 80091308 24010E38 */ li $at, 3640 +/* 091F0C 8009130C 2519F1C8 */ addiu $t9, $t0, -0xe38 +/* 091F10 80091310 3323FFFF */ andi $v1, $t9, 0xffff +/* 091F14 80091314 0061001A */ div $zero, $v1, $at +/* 091F18 80091318 0000C012 */ mflo $t8 +/* 091F1C 8009131C A4D90000 */ sh $t9, ($a2) +/* 091F20 80091320 00184C00 */ sll $t1, $t8, 0x10 +/* 091F24 80091324 00091C03 */ sra $v1, $t1, 0x10 +/* 091F28 80091328 848200B2 */ lh $v0, 0xb2($a0) +.L8009132C: +/* 091F2C 8009132C 24010009 */ li $at, 9 +/* 091F30 80091330 14610003 */ bne $v1, $at, .L80091340 +/* 091F34 80091334 24010001 */ li $at, 1 +/* 091F38 80091338 50410007 */ beql $v0, $at, .L80091358 +/* 091F3C 8009133C 244BFFFF */ addiu $t3, $v0, -1 +.L80091340: +/* 091F40 80091340 14600003 */ bnez $v1, .L80091350 +/* 091F44 80091344 24010002 */ li $at, 2 +/* 091F48 80091348 50410003 */ beql $v0, $at, .L80091358 +/* 091F4C 8009134C 244BFFFF */ addiu $t3, $v0, -1 +.L80091350: +/* 091F50 80091350 14400039 */ bnez $v0, .L80091438 +/* 091F54 80091354 244BFFFF */ addiu $t3, $v0, -1 +.L80091358: +/* 091F58 80091358 A48B00B2 */ sh $t3, 0xb2($a0) +/* 091F5C 8009135C 848200B2 */ lh $v0, 0xb2($a0) +/* 091F60 80091360 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 091F64 80091364 1C400003 */ bgtz $v0, .L80091374 +/* 091F68 80091368 00000000 */ nop +/* 091F6C 8009136C A48000B2 */ sh $zero, 0xb2($a0) +/* 091F70 80091370 848200B2 */ lh $v0, 0xb2($a0) +.L80091374: +/* 091F74 80091374 14400030 */ bnez $v0, .L80091438 +/* 091F78 80091378 00000000 */ nop +/* 091F7C 8009137C C4820070 */ lwc1 $f2, 0x70($a0) +/* 091F80 80091380 44813000 */ mtc1 $at, $f6 +/* 091F84 80091384 C4840018 */ lwc1 $f4, 0x18($a0) +/* 091F88 80091388 00056080 */ sll $t4, $a1, 2 +/* 091F8C 8009138C 46061200 */ add.s $f8, $f2, $f6 +/* 091F90 80091390 00EC6821 */ addu $t5, $a3, $t4 +/* 091F94 80091394 C5A00000 */ lwc1 $f0, ($t5) +/* 091F98 80091398 3C01800F */ lui $at, %hi(D_800EF680) +/* 091F9C 8009139C 46082281 */ sub.s $f10, $f4, $f8 +/* 091FA0 800913A0 4600503E */ c.le.s $f10, $f0 +/* 091FA4 800913A4 00000000 */ nop +/* 091FA8 800913A8 45000023 */ bc1f .L80091438 +/* 091FAC 800913AC 00000000 */ nop +/* 091FB0 800913B0 46020400 */ add.s $f16, $f0, $f2 +/* 091FB4 800913B4 D426F680 */ ldc1 $f6, %lo(D_800EF680)($at) +/* 091FB8 800913B8 848E0044 */ lh $t6, 0x44($a0) +/* 091FBC 800913BC 94880254 */ lhu $t0, 0x254($a0) +/* 091FC0 800913C0 460084A1 */ cvt.d.s $f18, $f16 +/* 091FC4 800913C4 3C014040 */ li $at, 0x40400000 # 3.000000 +/* 091FC8 800913C8 46269100 */ add.d $f4, $f18, $f6 +/* 091FCC 800913CC 44815000 */ mtc1 $at, $f10 +/* 091FD0 800913D0 3C01800E */ lui $at, %hi(gKartGravityTable) +/* 091FD4 800913D4 31CFF7FF */ andi $t7, $t6, 0xf7ff +/* 091FD8 800913D8 46202220 */ cvt.s.d $f8, $f4 +/* 091FDC 800913DC 0008C880 */ sll $t9, $t0, 2 +/* 091FE0 800913E0 A4800DCC */ sh $zero, 0xdcc($a0) +/* 091FE4 800913E4 A48000A8 */ sh $zero, 0xa8($a0) +/* 091FE8 800913E8 E4880018 */ swc1 $f8, 0x18($a0) +/* 091FEC 800913EC AC80007C */ sw $zero, 0x7c($a0) +/* 091FF0 800913F0 A48000C0 */ sh $zero, 0xc0($a0) +/* 091FF4 800913F4 A48F0044 */ sh $t7, 0x44($a0) +/* 091FF8 800913F8 00390821 */ addu $at, $at, $t9 +/* 091FFC 800913FC E48A0DC0 */ swc1 $f10, 0xdc0($a0) +/* 092000 80091400 C4302650 */ lwc1 $f16, %lo(gKartGravityTable)($at) +/* 092004 80091404 44806000 */ mtc1 $zero, $f12 +/* 092008 80091408 94980000 */ lhu $t8, ($a0) +/* 09200C 8009140C A48000D4 */ sh $zero, 0xd4($a0) +/* 092010 80091410 E4900100 */ swc1 $f16, 0x100($a0) +/* 092014 80091414 37092000 */ ori $t1, $t8, 0x2000 +/* 092018 80091418 A4890000 */ sh $t1, ($a0) +/* 09201C 8009141C E48C0094 */ swc1 $f12, 0x94($a0) +/* 092020 80091420 E48C008C */ swc1 $f12, 0x8c($a0) +/* 092024 80091424 14A00004 */ bnez $a1, .L80091438 +/* 092028 80091428 E48C009C */ swc1 $f12, 0x9c($a0) +/* 09202C 8009142C 240A0001 */ li $t2, 1 +/* 092030 80091430 3C018016 */ lui $at, %hi(D_801658BC) # $at, 0x8016 +/* 092034 80091434 A02A58BC */ sb $t2, %lo(D_801658BC)($at) +.L80091438: +/* 092038 80091438 03E00008 */ jr $ra +/* 09203C 8009143C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/non_matchings/code_8008C1D0/func_800914E0.s b/asm/non_matchings/code_8008C1D0/func_800914E0.s index 8a444d5ba..ba452e149 100644 --- a/asm/non_matchings/code_8008C1D0/func_800914E0.s +++ b/asm/non_matchings/code_8008C1D0/func_800914E0.s @@ -1,159 +1,159 @@ -glabel func_800914E0 -/* 0920E0 800914E0 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 0920E4 800914E4 3C0F800E */ lui $t7, %hi(D_800E7080) # $t7, 0x800e -/* 0920E8 800914E8 AFBF001C */ sw $ra, 0x1c($sp) -/* 0920EC 800914EC 25EF7080 */ addiu $t7, %lo(D_800E7080) # addiu $t7, $t7, 0x7080 -/* 0920F0 800914F0 8DE10000 */ lw $at, ($t7) -/* 0920F4 800914F4 27AE0064 */ addiu $t6, $sp, 0x64 -/* 0920F8 800914F8 8DEA0004 */ lw $t2, 4($t7) -/* 0920FC 800914FC ADC10000 */ sw $at, ($t6) -/* 092100 80091500 8DE10008 */ lw $at, 8($t7) -/* 092104 80091504 3C0C800E */ lui $t4, %hi(D_800E708C) # $t4, 0x800e -/* 092108 80091508 258C708C */ addiu $t4, %lo(D_800E708C) # addiu $t4, $t4, 0x708c -/* 09210C 8009150C ADCA0004 */ sw $t2, 4($t6) -/* 092110 80091510 ADC10008 */ sw $at, 8($t6) -/* 092114 80091514 8D810000 */ lw $at, ($t4) -/* 092118 80091518 27AB0058 */ addiu $t3, $sp, 0x58 -/* 09211C 8009151C 8D980004 */ lw $t8, 4($t4) -/* 092120 80091520 AD610000 */ sw $at, ($t3) -/* 092124 80091524 8D810008 */ lw $at, 8($t4) -/* 092128 80091528 3C028016 */ lui $v0, %hi(D_8015F718) # $v0, 0x8016 -/* 09212C 8009152C AD780004 */ sw $t8, 4($t3) -/* 092130 80091530 AD610008 */ sw $at, 8($t3) -/* 092134 80091534 8C42F718 */ lw $v0, %lo(D_8015F718)($v0) -/* 092138 80091538 3C0F8015 */ lui $t7, %hi(gSegmentTable) -/* 09213C 8009153C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 092140 80091540 00021E02 */ srl $v1, $v0, 0x18 -/* 092144 80091544 00037080 */ sll $t6, $v1, 2 -/* 092148 80091548 01EE7821 */ addu $t7, $t7, $t6 -/* 09214C 8009154C 8DEF0258 */ lw $t7, %lo(gSegmentTable)($t7) -/* 092150 80091550 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 092154 80091554 3C09800E */ lui $t1, %hi(gPlayerOneCopy) # $t1, 0x800e -/* 092158 80091558 00412024 */ and $a0, $v0, $at -/* 09215C 8009155C 2529C4FC */ addiu $t1, %lo(gPlayerOneCopy) # addiu $t1, $t1, -0x3b04 -/* 092160 80091560 8D2B0000 */ lw $t3, ($t1) -/* 092164 80091564 3C018000 */ lui $at, 0x8000 -/* 092168 80091568 01E45021 */ addu $t2, $t7, $a0 -/* 09216C 8009156C 0141C821 */ addu $t9, $t2, $at -/* 092170 80091570 AFB90048 */ sw $t9, 0x48($sp) -/* 092174 80091574 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015 -/* 092178 80091578 44800000 */ mtc1 $zero, $f0 -/* 09217C 8009157C 95082308 */ lhu $t0, %lo(D_80152308)($t0) -/* 092180 80091580 85670006 */ lh $a3, 6($t3) -/* 092184 80091584 3C058016 */ lui $a1, %hi(cameras) # $a1, 0x8016 -/* 092188 80091588 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 09218C 8009158C 44812000 */ mtc1 $at, $f4 -/* 092190 80091590 24A546F0 */ addiu $a1, %lo(cameras) # addiu $a1, $a1, 0x46f0 -/* 092194 80091594 00E81023 */ subu $v0, $a3, $t0 -/* 092198 80091598 00021C00 */ sll $v1, $v0, 0x10 -/* 09219C 8009159C E4A00018 */ swc1 $f0, 0x18($a1) -/* 0921A0 800915A0 E4A00020 */ swc1 $f0, 0x20($a1) -/* 0921A4 800915A4 E4A4001C */ swc1 $f4, 0x1c($a1) -/* 0921A8 800915A8 24050007 */ li $a1, 7 -/* 0921AC 800915AC 0003C403 */ sra $t8, $v1, 0x10 -/* 0921B0 800915B0 14B80008 */ bne $a1, $t8, .L800915D4 -/* 0921B4 800915B4 03001825 */ move $v1, $t8 -/* 0921B8 800915B8 0C024528 */ jal func_800914A0 -/* 0921BC 800915BC 00000000 */ nop -/* 0921C0 800915C0 3C09800E */ lui $t1, %hi(gPlayerOneCopy) # $t1, 0x800e -/* 0921C4 800915C4 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015 -/* 0921C8 800915C8 95082308 */ lhu $t0, %lo(D_80152308)($t0) -/* 0921CC 800915CC 10000010 */ b .L80091610 -/* 0921D0 800915D0 2529C4FC */ addiu $t1, %lo(gPlayerOneCopy) # addiu $t1, $t1, -0x3b04 -.L800915D4: -/* 0921D4 800915D4 2861000E */ slti $at, $v1, 0xe -/* 0921D8 800915D8 1020000D */ beqz $at, .L80091610 -/* 0921DC 800915DC 3C0E8016 */ lui $t6, %hi(D_8015F6F8) # $t6, 0x8016 -/* 0921E0 800915E0 85CEF6F8 */ lh $t6, %lo(D_8015F6F8)($t6) -/* 0921E4 800915E4 006E2021 */ addu $a0, $v1, $t6 -/* 0921E8 800915E8 00047C00 */ sll $t7, $a0, 0x10 -/* 0921EC 800915EC 000F5403 */ sra $t2, $t7, 0x10 -/* 0921F0 800915F0 55450008 */ bnel $t2, $a1, .L80091614 -/* 0921F4 800915F4 8FAD0048 */ lw $t5, 0x48($sp) -/* 0921F8 800915F8 0C024528 */ jal func_800914A0 -/* 0921FC 800915FC 00000000 */ nop -/* 092200 80091600 3C09800E */ lui $t1, %hi(gPlayerOneCopy) # $t1, 0x800e -/* 092204 80091604 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015 -/* 092208 80091608 95082308 */ lhu $t0, %lo(D_80152308)($t0) -/* 09220C 8009160C 2529C4FC */ addiu $t1, %lo(gPlayerOneCopy) # addiu $t1, $t1, -0x3b04 -.L80091610: -/* 092210 80091610 8FAD0048 */ lw $t5, 0x48($sp) -.L80091614: -/* 092214 80091614 0008C8C0 */ sll $t9, $t0, 3 -/* 092218 80091618 3C018016 */ lui $at, %hi(cameras) # $at, 0x8016 -/* 09221C 8009161C 032D1021 */ addu $v0, $t9, $t5 -/* 092220 80091620 844B0000 */ lh $t3, ($v0) -/* 092224 80091624 3C048016 */ lui $a0, %hi(cameras+0x54) # $a0, 0x8016 -/* 092228 80091628 24844744 */ addiu $a0, %lo(cameras+0x54) # addiu $a0, $a0, 0x4744 -/* 09222C 8009162C 256C000A */ addiu $t4, $t3, 0xa -/* 092230 80091630 448C3000 */ mtc1 $t4, $f6 -/* 092234 80091634 3C0541A0 */ lui $a1, 0x41a0 -/* 092238 80091638 46803220 */ cvt.s.w $f8, $f6 -/* 09223C 8009163C E42846F0 */ swc1 $f8, %lo(cameras)($at) -/* 092240 80091640 84580002 */ lh $t8, 2($v0) -/* 092244 80091644 3C018016 */ lui $at, %hi(cameras+0x4) # $at, 0x8016 -/* 092248 80091648 44064000 */ mfc1 $a2, $f8 -/* 09224C 8009164C 270E0007 */ addiu $t6, $t8, 7 -/* 092250 80091650 448E5000 */ mtc1 $t6, $f10 -/* 092254 80091654 00000000 */ nop -/* 092258 80091658 46805420 */ cvt.s.w $f16, $f10 -/* 09225C 8009165C E43046F4 */ swc1 $f16, %lo(cameras+0x4)($at) -/* 092260 80091660 844F0004 */ lh $t7, 4($v0) -/* 092264 80091664 3C018016 */ lui $at, %hi(cameras+0x8) # $at, 0x8016 -/* 092268 80091668 44078000 */ mfc1 $a3, $f16 -/* 09226C 8009166C 25EAFFEC */ addiu $t2, $t7, -0x14 -/* 092270 80091670 448A9000 */ mtc1 $t2, $f18 -/* 092274 80091674 00000000 */ nop -/* 092278 80091678 46809120 */ cvt.s.w $f4, $f18 -/* 09227C 8009167C E42446F8 */ swc1 $f4, %lo(cameras+0x8)($at) -/* 092280 80091680 8D390000 */ lw $t9, ($t1) -/* 092284 80091684 3C018016 */ lui $at, %hi(cameras+0xC) # $at, 0x8016 -/* 092288 80091688 C7260014 */ lwc1 $f6, 0x14($t9) -/* 09228C 8009168C E42646FC */ swc1 $f6, %lo(cameras+0xC)($at) -/* 092290 80091690 8D2D0000 */ lw $t5, ($t1) -/* 092294 80091694 3C018016 */ lui $at, %hi(cameras+0x10) # $at, 0x8016 -/* 092298 80091698 C5AA0018 */ lwc1 $f10, 0x18($t5) -/* 09229C 8009169C E42A4700 */ swc1 $f10, %lo(cameras+0x10)($at) -/* 0922A0 800916A0 8D2B0000 */ lw $t3, ($t1) -/* 0922A4 800916A4 3C018016 */ lui $at, %hi(cameras+0x14) # $at, 0x8016 -/* 0922A8 800916A8 C572001C */ lwc1 $f18, 0x1c($t3) -/* 0922AC 800916AC E7A40010 */ swc1 $f4, 0x10($sp) -/* 0922B0 800916B0 0C0AB772 */ jal func_802ADDC8 -/* 0922B4 800916B4 E4324704 */ swc1 $f18, %lo(cameras+0x14)($at) -/* 0922B8 800916B8 3C018016 */ lui $at, %hi(cameras+0xC) # $at, 0x8016 -/* 0922BC 800916BC C42646FC */ lwc1 $f6, %lo(cameras+0xC)($at) -/* 0922C0 800916C0 3C018016 */ lui $at, %hi(cameras) # $at, 0x8016 -/* 0922C4 800916C4 C42A46F0 */ lwc1 $f10, %lo(cameras)($at) -/* 0922C8 800916C8 3C018016 */ lui $at, %hi(cameras+0x10) # $at, 0x8016 -/* 0922CC 800916CC C4324700 */ lwc1 $f18, %lo(cameras+0x10)($at) -/* 0922D0 800916D0 3C018016 */ lui $at, %hi(cameras+0x4) # $at, 0x8016 -/* 0922D4 800916D4 C42846F4 */ lwc1 $f8, %lo(cameras+0x4)($at) -/* 0922D8 800916D8 3C018016 */ lui $at, %hi(cameras+0x14) # $at, 0x8016 -/* 0922DC 800916DC C4244704 */ lwc1 $f4, %lo(cameras+0x14)($at) -/* 0922E0 800916E0 460A3301 */ sub.s $f12, $f6, $f10 -/* 0922E4 800916E4 3C018016 */ lui $at, %hi(cameras+0x8) # $at, 0x8016 -/* 0922E8 800916E8 C42646F8 */ lwc1 $f6, %lo(cameras+0x8)($at) -/* 0922EC 800916EC 46089401 */ sub.s $f16, $f18, $f8 -/* 0922F0 800916F0 E7AC0038 */ swc1 $f12, 0x38($sp) -/* 0922F4 800916F4 46062381 */ sub.s $f14, $f4, $f6 -/* 0922F8 800916F8 E7B00034 */ swc1 $f16, 0x34($sp) -/* 0922FC 800916FC 0C0ADE0C */ jal func_802B7830 -/* 092300 80091700 E7AE0030 */ swc1 $f14, 0x30($sp) -/* 092304 80091704 C7A00038 */ lwc1 $f0, 0x38($sp) -/* 092308 80091708 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 09230C 8009170C 3C018016 */ lui $at, %hi(cameras+0x26) # $at, 0x8016 -/* 092310 80091710 46000282 */ mul.s $f10, $f0, $f0 -/* 092314 80091714 A4224716 */ sh $v0, %lo(cameras+0x26)($at) -/* 092318 80091718 460E7482 */ mul.s $f18, $f14, $f14 -/* 09231C 8009171C 0C033850 */ jal sqrtf -/* 092320 80091720 46125300 */ add.s $f12, $f10, $f18 -/* 092324 80091724 46000306 */ mov.s $f12, $f0 -/* 092328 80091728 0C0ADE0C */ jal func_802B7830 -/* 09232C 8009172C C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 092330 80091730 8FBF001C */ lw $ra, 0x1c($sp) -/* 092334 80091734 3C018016 */ lui $at, %hi(cameras+0x24) # $at, 0x8016 -/* 092338 80091738 A4224714 */ sh $v0, %lo(cameras+0x24)($at) -/* 09233C 8009173C 3C018016 */ lui $at, %hi(cameras+0x28) # $at, 0x8016 -/* 092340 80091740 A4204718 */ sh $zero, %lo(cameras+0x28)($at) -/* 092344 80091744 03E00008 */ jr $ra -/* 092348 80091748 27BD0070 */ addiu $sp, $sp, 0x70 +glabel func_800914E0 +/* 0920E0 800914E0 27BDFF90 */ addiu $sp, $sp, -0x70 +/* 0920E4 800914E4 3C0F800E */ lui $t7, %hi(D_800E7080) # $t7, 0x800e +/* 0920E8 800914E8 AFBF001C */ sw $ra, 0x1c($sp) +/* 0920EC 800914EC 25EF7080 */ addiu $t7, %lo(D_800E7080) # addiu $t7, $t7, 0x7080 +/* 0920F0 800914F0 8DE10000 */ lw $at, ($t7) +/* 0920F4 800914F4 27AE0064 */ addiu $t6, $sp, 0x64 +/* 0920F8 800914F8 8DEA0004 */ lw $t2, 4($t7) +/* 0920FC 800914FC ADC10000 */ sw $at, ($t6) +/* 092100 80091500 8DE10008 */ lw $at, 8($t7) +/* 092104 80091504 3C0C800E */ lui $t4, %hi(D_800E708C) # $t4, 0x800e +/* 092108 80091508 258C708C */ addiu $t4, %lo(D_800E708C) # addiu $t4, $t4, 0x708c +/* 09210C 8009150C ADCA0004 */ sw $t2, 4($t6) +/* 092110 80091510 ADC10008 */ sw $at, 8($t6) +/* 092114 80091514 8D810000 */ lw $at, ($t4) +/* 092118 80091518 27AB0058 */ addiu $t3, $sp, 0x58 +/* 09211C 8009151C 8D980004 */ lw $t8, 4($t4) +/* 092120 80091520 AD610000 */ sw $at, ($t3) +/* 092124 80091524 8D810008 */ lw $at, 8($t4) +/* 092128 80091528 3C028016 */ lui $v0, %hi(D_8015F718) # $v0, 0x8016 +/* 09212C 8009152C AD780004 */ sw $t8, 4($t3) +/* 092130 80091530 AD610008 */ sw $at, 8($t3) +/* 092134 80091534 8C42F718 */ lw $v0, %lo(D_8015F718)($v0) +/* 092138 80091538 3C0F8015 */ lui $t7, %hi(gSegmentTable) +/* 09213C 8009153C 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 092140 80091540 00021E02 */ srl $v1, $v0, 0x18 +/* 092144 80091544 00037080 */ sll $t6, $v1, 2 +/* 092148 80091548 01EE7821 */ addu $t7, $t7, $t6 +/* 09214C 8009154C 8DEF0258 */ lw $t7, %lo(gSegmentTable)($t7) +/* 092150 80091550 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 092154 80091554 3C09800E */ lui $t1, %hi(gPlayerOneCopy) # $t1, 0x800e +/* 092158 80091558 00412024 */ and $a0, $v0, $at +/* 09215C 8009155C 2529C4FC */ addiu $t1, %lo(gPlayerOneCopy) # addiu $t1, $t1, -0x3b04 +/* 092160 80091560 8D2B0000 */ lw $t3, ($t1) +/* 092164 80091564 3C018000 */ lui $at, 0x8000 +/* 092168 80091568 01E45021 */ addu $t2, $t7, $a0 +/* 09216C 8009156C 0141C821 */ addu $t9, $t2, $at +/* 092170 80091570 AFB90048 */ sw $t9, 0x48($sp) +/* 092174 80091574 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015 +/* 092178 80091578 44800000 */ mtc1 $zero, $f0 +/* 09217C 8009157C 95082308 */ lhu $t0, %lo(D_80152308)($t0) +/* 092180 80091580 85670006 */ lh $a3, 6($t3) +/* 092184 80091584 3C058016 */ lui $a1, %hi(cameras) # $a1, 0x8016 +/* 092188 80091588 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 09218C 8009158C 44812000 */ mtc1 $at, $f4 +/* 092190 80091590 24A546F0 */ addiu $a1, %lo(cameras) # addiu $a1, $a1, 0x46f0 +/* 092194 80091594 00E81023 */ subu $v0, $a3, $t0 +/* 092198 80091598 00021C00 */ sll $v1, $v0, 0x10 +/* 09219C 8009159C E4A00018 */ swc1 $f0, 0x18($a1) +/* 0921A0 800915A0 E4A00020 */ swc1 $f0, 0x20($a1) +/* 0921A4 800915A4 E4A4001C */ swc1 $f4, 0x1c($a1) +/* 0921A8 800915A8 24050007 */ li $a1, 7 +/* 0921AC 800915AC 0003C403 */ sra $t8, $v1, 0x10 +/* 0921B0 800915B0 14B80008 */ bne $a1, $t8, .L800915D4 +/* 0921B4 800915B4 03001825 */ move $v1, $t8 +/* 0921B8 800915B8 0C024528 */ jal func_800914A0 +/* 0921BC 800915BC 00000000 */ nop +/* 0921C0 800915C0 3C09800E */ lui $t1, %hi(gPlayerOneCopy) # $t1, 0x800e +/* 0921C4 800915C4 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015 +/* 0921C8 800915C8 95082308 */ lhu $t0, %lo(D_80152308)($t0) +/* 0921CC 800915CC 10000010 */ b .L80091610 +/* 0921D0 800915D0 2529C4FC */ addiu $t1, %lo(gPlayerOneCopy) # addiu $t1, $t1, -0x3b04 +.L800915D4: +/* 0921D4 800915D4 2861000E */ slti $at, $v1, 0xe +/* 0921D8 800915D8 1020000D */ beqz $at, .L80091610 +/* 0921DC 800915DC 3C0E8016 */ lui $t6, %hi(D_8015F6F8) # $t6, 0x8016 +/* 0921E0 800915E0 85CEF6F8 */ lh $t6, %lo(D_8015F6F8)($t6) +/* 0921E4 800915E4 006E2021 */ addu $a0, $v1, $t6 +/* 0921E8 800915E8 00047C00 */ sll $t7, $a0, 0x10 +/* 0921EC 800915EC 000F5403 */ sra $t2, $t7, 0x10 +/* 0921F0 800915F0 55450008 */ bnel $t2, $a1, .L80091614 +/* 0921F4 800915F4 8FAD0048 */ lw $t5, 0x48($sp) +/* 0921F8 800915F8 0C024528 */ jal func_800914A0 +/* 0921FC 800915FC 00000000 */ nop +/* 092200 80091600 3C09800E */ lui $t1, %hi(gPlayerOneCopy) # $t1, 0x800e +/* 092204 80091604 3C088015 */ lui $t0, %hi(D_80152308) # $t0, 0x8015 +/* 092208 80091608 95082308 */ lhu $t0, %lo(D_80152308)($t0) +/* 09220C 8009160C 2529C4FC */ addiu $t1, %lo(gPlayerOneCopy) # addiu $t1, $t1, -0x3b04 +.L80091610: +/* 092210 80091610 8FAD0048 */ lw $t5, 0x48($sp) +.L80091614: +/* 092214 80091614 0008C8C0 */ sll $t9, $t0, 3 +/* 092218 80091618 3C018016 */ lui $at, %hi(cameras) # $at, 0x8016 +/* 09221C 8009161C 032D1021 */ addu $v0, $t9, $t5 +/* 092220 80091620 844B0000 */ lh $t3, ($v0) +/* 092224 80091624 3C048016 */ lui $a0, %hi(cameras+0x54) # $a0, 0x8016 +/* 092228 80091628 24844744 */ addiu $a0, %lo(cameras+0x54) # addiu $a0, $a0, 0x4744 +/* 09222C 8009162C 256C000A */ addiu $t4, $t3, 0xa +/* 092230 80091630 448C3000 */ mtc1 $t4, $f6 +/* 092234 80091634 3C0541A0 */ lui $a1, 0x41a0 +/* 092238 80091638 46803220 */ cvt.s.w $f8, $f6 +/* 09223C 8009163C E42846F0 */ swc1 $f8, %lo(cameras)($at) +/* 092240 80091640 84580002 */ lh $t8, 2($v0) +/* 092244 80091644 3C018016 */ lui $at, %hi(cameras+0x4) # $at, 0x8016 +/* 092248 80091648 44064000 */ mfc1 $a2, $f8 +/* 09224C 8009164C 270E0007 */ addiu $t6, $t8, 7 +/* 092250 80091650 448E5000 */ mtc1 $t6, $f10 +/* 092254 80091654 00000000 */ nop +/* 092258 80091658 46805420 */ cvt.s.w $f16, $f10 +/* 09225C 8009165C E43046F4 */ swc1 $f16, %lo(cameras+0x4)($at) +/* 092260 80091660 844F0004 */ lh $t7, 4($v0) +/* 092264 80091664 3C018016 */ lui $at, %hi(cameras+0x8) # $at, 0x8016 +/* 092268 80091668 44078000 */ mfc1 $a3, $f16 +/* 09226C 8009166C 25EAFFEC */ addiu $t2, $t7, -0x14 +/* 092270 80091670 448A9000 */ mtc1 $t2, $f18 +/* 092274 80091674 00000000 */ nop +/* 092278 80091678 46809120 */ cvt.s.w $f4, $f18 +/* 09227C 8009167C E42446F8 */ swc1 $f4, %lo(cameras+0x8)($at) +/* 092280 80091680 8D390000 */ lw $t9, ($t1) +/* 092284 80091684 3C018016 */ lui $at, %hi(cameras+0xC) # $at, 0x8016 +/* 092288 80091688 C7260014 */ lwc1 $f6, 0x14($t9) +/* 09228C 8009168C E42646FC */ swc1 $f6, %lo(cameras+0xC)($at) +/* 092290 80091690 8D2D0000 */ lw $t5, ($t1) +/* 092294 80091694 3C018016 */ lui $at, %hi(cameras+0x10) # $at, 0x8016 +/* 092298 80091698 C5AA0018 */ lwc1 $f10, 0x18($t5) +/* 09229C 8009169C E42A4700 */ swc1 $f10, %lo(cameras+0x10)($at) +/* 0922A0 800916A0 8D2B0000 */ lw $t3, ($t1) +/* 0922A4 800916A4 3C018016 */ lui $at, %hi(cameras+0x14) # $at, 0x8016 +/* 0922A8 800916A8 C572001C */ lwc1 $f18, 0x1c($t3) +/* 0922AC 800916AC E7A40010 */ swc1 $f4, 0x10($sp) +/* 0922B0 800916B0 0C0AB772 */ jal func_802ADDC8 +/* 0922B4 800916B4 E4324704 */ swc1 $f18, %lo(cameras+0x14)($at) +/* 0922B8 800916B8 3C018016 */ lui $at, %hi(cameras+0xC) # $at, 0x8016 +/* 0922BC 800916BC C42646FC */ lwc1 $f6, %lo(cameras+0xC)($at) +/* 0922C0 800916C0 3C018016 */ lui $at, %hi(cameras) # $at, 0x8016 +/* 0922C4 800916C4 C42A46F0 */ lwc1 $f10, %lo(cameras)($at) +/* 0922C8 800916C8 3C018016 */ lui $at, %hi(cameras+0x10) # $at, 0x8016 +/* 0922CC 800916CC C4324700 */ lwc1 $f18, %lo(cameras+0x10)($at) +/* 0922D0 800916D0 3C018016 */ lui $at, %hi(cameras+0x4) # $at, 0x8016 +/* 0922D4 800916D4 C42846F4 */ lwc1 $f8, %lo(cameras+0x4)($at) +/* 0922D8 800916D8 3C018016 */ lui $at, %hi(cameras+0x14) # $at, 0x8016 +/* 0922DC 800916DC C4244704 */ lwc1 $f4, %lo(cameras+0x14)($at) +/* 0922E0 800916E0 460A3301 */ sub.s $f12, $f6, $f10 +/* 0922E4 800916E4 3C018016 */ lui $at, %hi(cameras+0x8) # $at, 0x8016 +/* 0922E8 800916E8 C42646F8 */ lwc1 $f6, %lo(cameras+0x8)($at) +/* 0922EC 800916EC 46089401 */ sub.s $f16, $f18, $f8 +/* 0922F0 800916F0 E7AC0038 */ swc1 $f12, 0x38($sp) +/* 0922F4 800916F4 46062381 */ sub.s $f14, $f4, $f6 +/* 0922F8 800916F8 E7B00034 */ swc1 $f16, 0x34($sp) +/* 0922FC 800916FC 0C0ADE0C */ jal atan2s +/* 092300 80091700 E7AE0030 */ swc1 $f14, 0x30($sp) +/* 092304 80091704 C7A00038 */ lwc1 $f0, 0x38($sp) +/* 092308 80091708 C7AE0030 */ lwc1 $f14, 0x30($sp) +/* 09230C 8009170C 3C018016 */ lui $at, %hi(cameras+0x26) # $at, 0x8016 +/* 092310 80091710 46000282 */ mul.s $f10, $f0, $f0 +/* 092314 80091714 A4224716 */ sh $v0, %lo(cameras+0x26)($at) +/* 092318 80091718 460E7482 */ mul.s $f18, $f14, $f14 +/* 09231C 8009171C 0C033850 */ jal sqrtf +/* 092320 80091720 46125300 */ add.s $f12, $f10, $f18 +/* 092324 80091724 46000306 */ mov.s $f12, $f0 +/* 092328 80091728 0C0ADE0C */ jal atan2s +/* 09232C 8009172C C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 092330 80091730 8FBF001C */ lw $ra, 0x1c($sp) +/* 092334 80091734 3C018016 */ lui $at, %hi(cameras+0x24) # $at, 0x8016 +/* 092338 80091738 A4224714 */ sh $v0, %lo(cameras+0x24)($at) +/* 09233C 8009173C 3C018016 */ lui $at, %hi(cameras+0x28) # $at, 0x8016 +/* 092340 80091740 A4204718 */ sh $zero, %lo(cameras+0x28)($at) +/* 092344 80091744 03E00008 */ jr $ra +/* 092348 80091748 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/asm/non_matchings/code_80091750/func_8009A9FC.s b/asm/non_matchings/code_80091750/func_8009A9FC.s index faff5fdad..be3e80098 100644 --- a/asm/non_matchings/code_80091750/func_8009A9FC.s +++ b/asm/non_matchings/code_80091750/func_8009A9FC.s @@ -1,101 +1,101 @@ -glabel func_8009A9FC -/* 09B5FC 8009A9FC 3C0A8019 */ lui $t2, %hi(D_8018E118) # $t2, 0x8019 -/* 09B600 8009AA00 254AE118 */ addiu $t2, %lo(D_8018E118) # addiu $t2, $t2, -0x1ee8 -/* 09B604 8009AA04 000470C0 */ sll $t6, $a0, 3 -/* 09B608 8009AA08 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09B60C 8009AA0C 014E7821 */ addu $t7, $t2, $t6 -/* 09B610 8009AA10 8DF80004 */ lw $t8, 4($t7) -/* 09B614 8009AA14 3C038019 */ lui $v1, %hi(D_8018D9B0) # $v1, 0x8019 -/* 09B618 8009AA18 000570C0 */ sll $t6, $a1, 3 -/* 09B61C 8009AA1C 8C63D9B0 */ lw $v1, %lo(D_8018D9B0)($v1) -/* 09B620 8009AA20 AFB30014 */ sw $s3, 0x14($sp) -/* 09B624 8009AA24 AFB20010 */ sw $s2, 0x10($sp) -/* 09B628 8009AA28 AFB1000C */ sw $s1, 0xc($sp) -/* 09B62C 8009AA2C AFB00008 */ sw $s0, 8($sp) -/* 09B630 8009AA30 014E7821 */ addu $t7, $t2, $t6 -/* 09B634 8009AA34 0018C840 */ sll $t9, $t8, 1 -/* 09B638 8009AA38 8DF80004 */ lw $t8, 4($t7) -/* 09B63C 8009AA3C 03231021 */ addu $v0, $t9, $v1 -/* 09B640 8009AA40 00E08025 */ move $s0, $a3 -/* 09B644 8009AA44 0018C840 */ sll $t9, $t8, 1 -/* 09B648 8009AA48 00004825 */ move $t1, $zero -/* 09B64C 8009AA4C 10C00045 */ beqz $a2, .L8009AB64 -/* 09B650 8009AA50 03234021 */ addu $t0, $t9, $v1 -/* 09B654 8009AA54 24130007 */ li $s3, 7 -/* 09B658 8009AA58 24120006 */ li $s2, 6 -/* 09B65C 8009AA5C 2411001D */ li $s1, 29 -/* 09B660 8009AA60 240D0096 */ li $t5, 150 -/* 09B664 8009AA64 240C004D */ li $t4, 77 -.L8009AA68: -/* 09B668 8009AA68 94440000 */ lhu $a0, ($v0) -/* 09B66C 8009AA6C 25290001 */ addiu $t1, $t1, 1 -/* 09B670 8009AA70 24420002 */ addiu $v0, $v0, 2 -/* 09B674 8009AA74 3083F800 */ andi $v1, $a0, 0xf800 -/* 09B678 8009AA78 000372C3 */ sra $t6, $v1, 0xb -/* 09B67C 8009AA7C 01CC0019 */ multu $t6, $t4 -/* 09B680 8009AA80 308507C0 */ andi $a1, $a0, 0x7c0 -/* 09B684 8009AA84 00057983 */ sra $t7, $a1, 6 -/* 09B688 8009AA88 01C01825 */ move $v1, $t6 -/* 09B68C 8009AA8C 3087003E */ andi $a3, $a0, 0x3e -/* 09B690 8009AA90 0007C043 */ sra $t8, $a3, 1 -/* 09B694 8009AA94 03003825 */ move $a3, $t8 -/* 09B698 8009AA98 01E02825 */ move $a1, $t7 -/* 09B69C 8009AA9C 308A0001 */ andi $t2, $a0, 1 -/* 09B6A0 8009AAA0 25080002 */ addiu $t0, $t0, 2 -/* 09B6A4 8009AAA4 0000C812 */ mflo $t9 -/* 09B6A8 8009AAA8 00000000 */ nop -/* 09B6AC 8009AAAC 00000000 */ nop -/* 09B6B0 8009AAB0 01ED0019 */ multu $t7, $t5 -/* 09B6B4 8009AAB4 00007012 */ mflo $t6 -/* 09B6B8 8009AAB8 032E7821 */ addu $t7, $t9, $t6 -/* 09B6BC 8009AABC 00000000 */ nop -/* 09B6C0 8009AAC0 03110019 */ multu $t8, $s1 -/* 09B6C4 8009AAC4 0000C012 */ mflo $t8 -/* 09B6C8 8009AAC8 01F85821 */ addu $t3, $t7, $t8 -/* 09B6CC 8009AACC 000BCA03 */ sra $t9, $t3, 8 -/* 09B6D0 8009AAD0 03320019 */ multu $t9, $s2 -/* 09B6D4 8009AAD4 03205825 */ move $t3, $t9 -/* 09B6D8 8009AAD8 00007012 */ mflo $t6 -/* 09B6DC 8009AADC 05C10003 */ bgez $t6, .L8009AAEC -/* 09B6E0 8009AAE0 000E78C3 */ sra $t7, $t6, 3 -/* 09B6E4 8009AAE4 25C10007 */ addiu $at, $t6, 7 -/* 09B6E8 8009AAE8 000178C3 */ sra $t7, $at, 3 -.L8009AAEC: -/* 09B6EC 8009AAEC 01E7C023 */ subu $t8, $t7, $a3 -/* 09B6F0 8009AAF0 03100019 */ multu $t8, $s0 -/* 09B6F4 8009AAF4 0000C812 */ mflo $t9 -/* 09B6F8 8009AAF8 00197203 */ sra $t6, $t9, 8 -/* 09B6FC 8009AAFC 01C77821 */ addu $t7, $t6, $a3 -/* 09B700 8009AB00 01730019 */ multu $t3, $s3 -/* 09B704 8009AB04 000FC040 */ sll $t8, $t7, 1 -/* 09B708 8009AB08 0000C812 */ mflo $t9 -/* 09B70C 8009AB0C 07210003 */ bgez $t9, .L8009AB1C -/* 09B710 8009AB10 001970C3 */ sra $t6, $t9, 3 -/* 09B714 8009AB14 27210007 */ addiu $at, $t9, 7 -/* 09B718 8009AB18 000170C3 */ sra $t6, $at, 3 -.L8009AB1C: -/* 09B71C 8009AB1C 01C57823 */ subu $t7, $t6, $a1 -/* 09B720 8009AB20 01F00019 */ multu $t7, $s0 -/* 09B724 8009AB24 0126082B */ sltu $at, $t1, $a2 -/* 09B728 8009AB28 0000C812 */ mflo $t9 -/* 09B72C 8009AB2C 00197203 */ sra $t6, $t9, 8 -/* 09B730 8009AB30 01C57821 */ addu $t7, $t6, $a1 -/* 09B734 8009AB34 000FC980 */ sll $t9, $t7, 6 -/* 09B738 8009AB38 01637823 */ subu $t7, $t3, $v1 -/* 09B73C 8009AB3C 01F00019 */ multu $t7, $s0 -/* 09B740 8009AB40 03197021 */ addu $t6, $t8, $t9 -/* 09B744 8009AB44 0000C012 */ mflo $t8 -/* 09B748 8009AB48 0018CA03 */ sra $t9, $t8, 8 -/* 09B74C 8009AB4C 03237821 */ addu $t7, $t9, $v1 -/* 09B750 8009AB50 000FC2C0 */ sll $t8, $t7, 0xb -/* 09B754 8009AB54 01D8C821 */ addu $t9, $t6, $t8 -/* 09B758 8009AB58 032A7821 */ addu $t7, $t9, $t2 -/* 09B75C 8009AB5C 1420FFC2 */ bnez $at, .L8009AA68 -/* 09B760 8009AB60 A50FFFFE */ sh $t7, -2($t0) -.L8009AB64: -/* 09B764 8009AB64 8FB00008 */ lw $s0, 8($sp) -/* 09B768 8009AB68 8FB1000C */ lw $s1, 0xc($sp) -/* 09B76C 8009AB6C 8FB20010 */ lw $s2, 0x10($sp) -/* 09B770 8009AB70 8FB30014 */ lw $s3, 0x14($sp) -/* 09B774 8009AB74 03E00008 */ jr $ra -/* 09B778 8009AB78 27BD0018 */ addiu $sp, $sp, 0x18 +glabel func_8009A9FC +/* 09B5FC 8009A9FC 3C0A8019 */ lui $t2, %hi(D_8018E118) # $t2, 0x8019 +/* 09B600 8009AA00 254AE118 */ addiu $t2, %lo(D_8018E118) # addiu $t2, $t2, -0x1ee8 +/* 09B604 8009AA04 000470C0 */ sll $t6, $a0, 3 +/* 09B608 8009AA08 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09B60C 8009AA0C 014E7821 */ addu $t7, $t2, $t6 +/* 09B610 8009AA10 8DF80004 */ lw $t8, 4($t7) +/* 09B614 8009AA14 3C038019 */ lui $v1, %hi(D_8018D9B0) # $v1, 0x8019 +/* 09B618 8009AA18 000570C0 */ sll $t6, $a1, 3 +/* 09B61C 8009AA1C 8C63D9B0 */ lw $v1, %lo(D_8018D9B0)($v1) +/* 09B620 8009AA20 AFB30014 */ sw $s3, 0x14($sp) +/* 09B624 8009AA24 AFB20010 */ sw $s2, 0x10($sp) +/* 09B628 8009AA28 AFB1000C */ sw $s1, 0xc($sp) +/* 09B62C 8009AA2C AFB00008 */ sw $s0, 8($sp) +/* 09B630 8009AA30 014E7821 */ addu $t7, $t2, $t6 +/* 09B634 8009AA34 0018C840 */ sll $t9, $t8, 1 +/* 09B638 8009AA38 8DF80004 */ lw $t8, 4($t7) +/* 09B63C 8009AA3C 03231021 */ addu $v0, $t9, $v1 +/* 09B640 8009AA40 00E08025 */ move $s0, $a3 +/* 09B644 8009AA44 0018C840 */ sll $t9, $t8, 1 +/* 09B648 8009AA48 00004825 */ move $t1, $zero +/* 09B64C 8009AA4C 10C00045 */ beqz $a2, .L8009AB64 +/* 09B650 8009AA50 03234021 */ addu $t0, $t9, $v1 +/* 09B654 8009AA54 24130007 */ li $s3, 7 +/* 09B658 8009AA58 24120006 */ li $s2, 6 +/* 09B65C 8009AA5C 2411001D */ li $s1, 29 +/* 09B660 8009AA60 240D0096 */ li $t5, 150 +/* 09B664 8009AA64 240C004D */ li $t4, 77 +.L8009AA68: +/* 09B668 8009AA68 94440000 */ lhu $a0, ($v0) +/* 09B66C 8009AA6C 25290001 */ addiu $t1, $t1, 1 +/* 09B670 8009AA70 24420002 */ addiu $v0, $v0, 2 +/* 09B674 8009AA74 3083F800 */ andi $v1, $a0, 0xf800 +/* 09B678 8009AA78 000372C3 */ sra $t6, $v1, 0xb +/* 09B67C 8009AA7C 01CC0019 */ multu $t6, $t4 +/* 09B680 8009AA80 308507C0 */ andi $a1, $a0, 0x7c0 +/* 09B684 8009AA84 00057983 */ sra $t7, $a1, 6 +/* 09B688 8009AA88 01C01825 */ move $v1, $t6 +/* 09B68C 8009AA8C 3087003E */ andi $a3, $a0, 0x3e +/* 09B690 8009AA90 0007C043 */ sra $t8, $a3, 1 +/* 09B694 8009AA94 03003825 */ move $a3, $t8 +/* 09B698 8009AA98 01E02825 */ move $a1, $t7 +/* 09B69C 8009AA9C 308A0001 */ andi $t2, $a0, 1 +/* 09B6A0 8009AAA0 25080002 */ addiu $t0, $t0, 2 +/* 09B6A4 8009AAA4 0000C812 */ mflo $t9 +/* 09B6A8 8009AAA8 00000000 */ nop +/* 09B6AC 8009AAAC 00000000 */ nop +/* 09B6B0 8009AAB0 01ED0019 */ multu $t7, $t5 +/* 09B6B4 8009AAB4 00007012 */ mflo $t6 +/* 09B6B8 8009AAB8 032E7821 */ addu $t7, $t9, $t6 +/* 09B6BC 8009AABC 00000000 */ nop +/* 09B6C0 8009AAC0 03110019 */ multu $t8, $s1 +/* 09B6C4 8009AAC4 0000C012 */ mflo $t8 +/* 09B6C8 8009AAC8 01F85821 */ addu $t3, $t7, $t8 +/* 09B6CC 8009AACC 000BCA03 */ sra $t9, $t3, 8 +/* 09B6D0 8009AAD0 03320019 */ multu $t9, $s2 +/* 09B6D4 8009AAD4 03205825 */ move $t3, $t9 +/* 09B6D8 8009AAD8 00007012 */ mflo $t6 +/* 09B6DC 8009AADC 05C10003 */ bgez $t6, .L8009AAEC +/* 09B6E0 8009AAE0 000E78C3 */ sra $t7, $t6, 3 +/* 09B6E4 8009AAE4 25C10007 */ addiu $at, $t6, 7 +/* 09B6E8 8009AAE8 000178C3 */ sra $t7, $at, 3 +.L8009AAEC: +/* 09B6EC 8009AAEC 01E7C023 */ subu $t8, $t7, $a3 +/* 09B6F0 8009AAF0 03100019 */ multu $t8, $s0 +/* 09B6F4 8009AAF4 0000C812 */ mflo $t9 +/* 09B6F8 8009AAF8 00197203 */ sra $t6, $t9, 8 +/* 09B6FC 8009AAFC 01C77821 */ addu $t7, $t6, $a3 +/* 09B700 8009AB00 01730019 */ multu $t3, $s3 +/* 09B704 8009AB04 000FC040 */ sll $t8, $t7, 1 +/* 09B708 8009AB08 0000C812 */ mflo $t9 +/* 09B70C 8009AB0C 07210003 */ bgez $t9, .L8009AB1C +/* 09B710 8009AB10 001970C3 */ sra $t6, $t9, 3 +/* 09B714 8009AB14 27210007 */ addiu $at, $t9, 7 +/* 09B718 8009AB18 000170C3 */ sra $t6, $at, 3 +.L8009AB1C: +/* 09B71C 8009AB1C 01C57823 */ subu $t7, $t6, $a1 +/* 09B720 8009AB20 01F00019 */ multu $t7, $s0 +/* 09B724 8009AB24 0126082B */ sltu $at, $t1, $a2 +/* 09B728 8009AB28 0000C812 */ mflo $t9 +/* 09B72C 8009AB2C 00197203 */ sra $t6, $t9, 8 +/* 09B730 8009AB30 01C57821 */ addu $t7, $t6, $a1 +/* 09B734 8009AB34 000FC980 */ sll $t9, $t7, 6 +/* 09B738 8009AB38 01637823 */ subu $t7, $t3, $v1 +/* 09B73C 8009AB3C 01F00019 */ multu $t7, $s0 +/* 09B740 8009AB40 03197021 */ addu $t6, $t8, $t9 +/* 09B744 8009AB44 0000C012 */ mflo $t8 +/* 09B748 8009AB48 0018CA03 */ sra $t9, $t8, 8 +/* 09B74C 8009AB4C 03237821 */ addu $t7, $t9, $v1 +/* 09B750 8009AB50 000FC2C0 */ sll $t8, $t7, 0xb +/* 09B754 8009AB54 01D8C821 */ addu $t9, $t6, $t8 +/* 09B758 8009AB58 032A7821 */ addu $t7, $t9, $t2 +/* 09B75C 8009AB5C 1420FFC2 */ bnez $at, .L8009AA68 +/* 09B760 8009AB60 A50FFFFE */ sh $t7, -2($t0) +.L8009AB64: +/* 09B764 8009AB64 8FB00008 */ lw $s0, 8($sp) +/* 09B768 8009AB68 8FB1000C */ lw $s1, 0xc($sp) +/* 09B76C 8009AB6C 8FB20010 */ lw $s2, 0x10($sp) +/* 09B770 8009AB70 8FB30014 */ lw $s3, 0x14($sp) +/* 09B774 8009AB74 03E00008 */ jr $ra +/* 09B778 8009AB78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/code_80091750/func_8009AB7C.s b/asm/non_matchings/code_80091750/func_8009AB7C.s index 67d21697e..90a923dd3 100644 --- a/asm/non_matchings/code_80091750/func_8009AB7C.s +++ b/asm/non_matchings/code_80091750/func_8009AB7C.s @@ -1,129 +1,129 @@ -glabel func_8009AB7C -/* 09B77C 8009AB7C 000470C0 */ sll $t6, $a0, 3 -/* 09B780 8009AB80 3C0F8019 */ lui $t7, %hi(D_8018E11C) # 0x8019 -/* 09B784 8009AB84 01EE7821 */ addu $t7, $t7, $t6 -/* 09B788 8009AB88 8DEFE11C */ lw $t7, %lo(D_8018E11C)($t7) # -0x1ee4($t7) -/* 09B78C 8009AB8C 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019 -/* 09B790 8009AB90 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9) -/* 09B794 8009AB94 3C0D0004 */ lui $t5, (0x0004B000 >> 16) # lui $t5, 4 -/* 09B798 8009AB98 000FC040 */ sll $t8, $t7, 1 -/* 09B79C 8009AB9C 35ADB000 */ ori $t5, (0x0004B000 & 0xFFFF) # ori $t5, $t5, 0xb000 -/* 09B7A0 8009ABA0 00001825 */ move $v1, $zero -/* 09B7A4 8009ABA4 240C001D */ li $t4, 29 -/* 09B7A8 8009ABA8 240B0096 */ li $t3, 150 -/* 09B7AC 8009ABAC 240A004D */ li $t2, 77 -/* 09B7B0 8009ABB0 03191021 */ addu $v0, $t8, $t9 -.L8009ABB4: -/* 09B7B4 8009ABB4 94450000 */ lhu $a1, ($v0) -/* 09B7B8 8009ABB8 24630004 */ addiu $v1, $v1, 4 -/* 09B7BC 8009ABBC 24420008 */ addiu $v0, $v0, 8 -/* 09B7C0 8009ABC0 30AEF800 */ andi $t6, $a1, 0xf800 -/* 09B7C4 8009ABC4 000E7AC3 */ sra $t7, $t6, 0xb -/* 09B7C8 8009ABC8 01EA0019 */ multu $t7, $t2 -/* 09B7CC 8009ABCC 30B807C0 */ andi $t8, $a1, 0x7c0 -/* 09B7D0 8009ABD0 0018C983 */ sra $t9, $t8, 6 -/* 09B7D4 8009ABD4 30AE003E */ andi $t6, $a1, 0x3e -/* 09B7D8 8009ABD8 000E7843 */ sra $t7, $t6, 1 -/* 09B7DC 8009ABDC 30A80001 */ andi $t0, $a1, 1 -/* 09B7E0 8009ABE0 9445FFFA */ lhu $a1, -6($v0) -/* 09B7E4 8009ABE4 00002012 */ mflo $a0 -/* 09B7E8 8009ABE8 00000000 */ nop -/* 09B7EC 8009ABEC 00000000 */ nop -/* 09B7F0 8009ABF0 032B0019 */ multu $t9, $t3 -/* 09B7F4 8009ABF4 00003012 */ mflo $a2 -/* 09B7F8 8009ABF8 0086C021 */ addu $t8, $a0, $a2 -/* 09B7FC 8009ABFC 00000000 */ nop -/* 09B800 8009AC00 01EC0019 */ multu $t7, $t4 -/* 09B804 8009AC04 00003812 */ mflo $a3 -/* 09B808 8009AC08 03074821 */ addu $t1, $t8, $a3 -/* 09B80C 8009AC0C 0009CA02 */ srl $t9, $t1, 8 -/* 09B810 8009AC10 00197040 */ sll $t6, $t9, 1 -/* 09B814 8009AC14 00197980 */ sll $t7, $t9, 6 -/* 09B818 8009AC18 01CFC021 */ addu $t8, $t6, $t7 -/* 09B81C 8009AC1C 0019CAC0 */ sll $t9, $t9, 0xb -/* 09B820 8009AC20 03197021 */ addu $t6, $t8, $t9 -/* 09B824 8009AC24 30B8F800 */ andi $t8, $a1, 0xf800 -/* 09B828 8009AC28 0018CAC3 */ sra $t9, $t8, 0xb -/* 09B82C 8009AC2C 032A0019 */ multu $t9, $t2 -/* 09B830 8009AC30 01C87821 */ addu $t7, $t6, $t0 -/* 09B834 8009AC34 A44FFFF8 */ sh $t7, -8($v0) -/* 09B838 8009AC38 30AE07C0 */ andi $t6, $a1, 0x7c0 -/* 09B83C 8009AC3C 000E7983 */ sra $t7, $t6, 6 -/* 09B840 8009AC40 30B8003E */ andi $t8, $a1, 0x3e -/* 09B844 8009AC44 0018C843 */ sra $t9, $t8, 1 -/* 09B848 8009AC48 30A80001 */ andi $t0, $a1, 1 -/* 09B84C 8009AC4C 9445FFFC */ lhu $a1, -4($v0) -/* 09B850 8009AC50 00002012 */ mflo $a0 -/* 09B854 8009AC54 00000000 */ nop -/* 09B858 8009AC58 00000000 */ nop -/* 09B85C 8009AC5C 01EB0019 */ multu $t7, $t3 -/* 09B860 8009AC60 00003012 */ mflo $a2 -/* 09B864 8009AC64 00867021 */ addu $t6, $a0, $a2 -/* 09B868 8009AC68 00000000 */ nop -/* 09B86C 8009AC6C 032C0019 */ multu $t9, $t4 -/* 09B870 8009AC70 00003812 */ mflo $a3 -/* 09B874 8009AC74 01C74821 */ addu $t1, $t6, $a3 -/* 09B878 8009AC78 00097A02 */ srl $t7, $t1, 8 -/* 09B87C 8009AC7C 000FC040 */ sll $t8, $t7, 1 -/* 09B880 8009AC80 000FC980 */ sll $t9, $t7, 6 -/* 09B884 8009AC84 03197021 */ addu $t6, $t8, $t9 -/* 09B888 8009AC88 000F7AC0 */ sll $t7, $t7, 0xb -/* 09B88C 8009AC8C 01CFC021 */ addu $t8, $t6, $t7 -/* 09B890 8009AC90 30AEF800 */ andi $t6, $a1, 0xf800 -/* 09B894 8009AC94 000E7AC3 */ sra $t7, $t6, 0xb -/* 09B898 8009AC98 01EA0019 */ multu $t7, $t2 -/* 09B89C 8009AC9C 0308C821 */ addu $t9, $t8, $t0 -/* 09B8A0 8009ACA0 A459FFFA */ sh $t9, -6($v0) -/* 09B8A4 8009ACA4 30B807C0 */ andi $t8, $a1, 0x7c0 -/* 09B8A8 8009ACA8 0018C983 */ sra $t9, $t8, 6 -/* 09B8AC 8009ACAC 30AE003E */ andi $t6, $a1, 0x3e -/* 09B8B0 8009ACB0 000E7843 */ sra $t7, $t6, 1 -/* 09B8B4 8009ACB4 30A80001 */ andi $t0, $a1, 1 -/* 09B8B8 8009ACB8 9445FFFE */ lhu $a1, -2($v0) -/* 09B8BC 8009ACBC 00002012 */ mflo $a0 -/* 09B8C0 8009ACC0 00000000 */ nop -/* 09B8C4 8009ACC4 00000000 */ nop -/* 09B8C8 8009ACC8 032B0019 */ multu $t9, $t3 -/* 09B8CC 8009ACCC 00003012 */ mflo $a2 -/* 09B8D0 8009ACD0 0086C021 */ addu $t8, $a0, $a2 -/* 09B8D4 8009ACD4 00000000 */ nop -/* 09B8D8 8009ACD8 01EC0019 */ multu $t7, $t4 -/* 09B8DC 8009ACDC 00003812 */ mflo $a3 -/* 09B8E0 8009ACE0 03074821 */ addu $t1, $t8, $a3 -/* 09B8E4 8009ACE4 0009CA02 */ srl $t9, $t1, 8 -/* 09B8E8 8009ACE8 00197040 */ sll $t6, $t9, 1 -/* 09B8EC 8009ACEC 00197980 */ sll $t7, $t9, 6 -/* 09B8F0 8009ACF0 01CFC021 */ addu $t8, $t6, $t7 -/* 09B8F4 8009ACF4 0019CAC0 */ sll $t9, $t9, 0xb -/* 09B8F8 8009ACF8 03197021 */ addu $t6, $t8, $t9 -/* 09B8FC 8009ACFC 30B8F800 */ andi $t8, $a1, 0xf800 -/* 09B900 8009AD00 0018CAC3 */ sra $t9, $t8, 0xb -/* 09B904 8009AD04 032A0019 */ multu $t9, $t2 -/* 09B908 8009AD08 01C87821 */ addu $t7, $t6, $t0 -/* 09B90C 8009AD0C A44FFFFC */ sh $t7, -4($v0) -/* 09B910 8009AD10 30AE07C0 */ andi $t6, $a1, 0x7c0 -/* 09B914 8009AD14 000E7983 */ sra $t7, $t6, 6 -/* 09B918 8009AD18 30B8003E */ andi $t8, $a1, 0x3e -/* 09B91C 8009AD1C 0018C843 */ sra $t9, $t8, 1 -/* 09B920 8009AD20 30A80001 */ andi $t0, $a1, 1 -/* 09B924 8009AD24 00002012 */ mflo $a0 -/* 09B928 8009AD28 00000000 */ nop -/* 09B92C 8009AD2C 00000000 */ nop -/* 09B930 8009AD30 01EB0019 */ multu $t7, $t3 -/* 09B934 8009AD34 00003012 */ mflo $a2 -/* 09B938 8009AD38 00867021 */ addu $t6, $a0, $a2 -/* 09B93C 8009AD3C 00000000 */ nop -/* 09B940 8009AD40 032C0019 */ multu $t9, $t4 -/* 09B944 8009AD44 00003812 */ mflo $a3 -/* 09B948 8009AD48 01C74821 */ addu $t1, $t6, $a3 -/* 09B94C 8009AD4C 00097A02 */ srl $t7, $t1, 8 -/* 09B950 8009AD50 000FC040 */ sll $t8, $t7, 1 -/* 09B954 8009AD54 000FC980 */ sll $t9, $t7, 6 -/* 09B958 8009AD58 03197021 */ addu $t6, $t8, $t9 -/* 09B95C 8009AD5C 000F7AC0 */ sll $t7, $t7, 0xb -/* 09B960 8009AD60 01CFC021 */ addu $t8, $t6, $t7 -/* 09B964 8009AD64 0308C821 */ addu $t9, $t8, $t0 -/* 09B968 8009AD68 146DFF92 */ bne $v1, $t5, .L8009ABB4 -/* 09B96C 8009AD6C A459FFFE */ sh $t9, -2($v0) -/* 09B970 8009AD70 03E00008 */ jr $ra -/* 09B974 8009AD74 00000000 */ nop +glabel func_8009AB7C +/* 09B77C 8009AB7C 000470C0 */ sll $t6, $a0, 3 +/* 09B780 8009AB80 3C0F8019 */ lui $t7, %hi(D_8018E11C) # 0x8019 +/* 09B784 8009AB84 01EE7821 */ addu $t7, $t7, $t6 +/* 09B788 8009AB88 8DEFE11C */ lw $t7, %lo(D_8018E11C)($t7) # -0x1ee4($t7) +/* 09B78C 8009AB8C 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019 +/* 09B790 8009AB90 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9) +/* 09B794 8009AB94 3C0D0004 */ lui $t5, (0x0004B000 >> 16) # lui $t5, 4 +/* 09B798 8009AB98 000FC040 */ sll $t8, $t7, 1 +/* 09B79C 8009AB9C 35ADB000 */ ori $t5, (0x0004B000 & 0xFFFF) # ori $t5, $t5, 0xb000 +/* 09B7A0 8009ABA0 00001825 */ move $v1, $zero +/* 09B7A4 8009ABA4 240C001D */ li $t4, 29 +/* 09B7A8 8009ABA8 240B0096 */ li $t3, 150 +/* 09B7AC 8009ABAC 240A004D */ li $t2, 77 +/* 09B7B0 8009ABB0 03191021 */ addu $v0, $t8, $t9 +.L8009ABB4: +/* 09B7B4 8009ABB4 94450000 */ lhu $a1, ($v0) +/* 09B7B8 8009ABB8 24630004 */ addiu $v1, $v1, 4 +/* 09B7BC 8009ABBC 24420008 */ addiu $v0, $v0, 8 +/* 09B7C0 8009ABC0 30AEF800 */ andi $t6, $a1, 0xf800 +/* 09B7C4 8009ABC4 000E7AC3 */ sra $t7, $t6, 0xb +/* 09B7C8 8009ABC8 01EA0019 */ multu $t7, $t2 +/* 09B7CC 8009ABCC 30B807C0 */ andi $t8, $a1, 0x7c0 +/* 09B7D0 8009ABD0 0018C983 */ sra $t9, $t8, 6 +/* 09B7D4 8009ABD4 30AE003E */ andi $t6, $a1, 0x3e +/* 09B7D8 8009ABD8 000E7843 */ sra $t7, $t6, 1 +/* 09B7DC 8009ABDC 30A80001 */ andi $t0, $a1, 1 +/* 09B7E0 8009ABE0 9445FFFA */ lhu $a1, -6($v0) +/* 09B7E4 8009ABE4 00002012 */ mflo $a0 +/* 09B7E8 8009ABE8 00000000 */ nop +/* 09B7EC 8009ABEC 00000000 */ nop +/* 09B7F0 8009ABF0 032B0019 */ multu $t9, $t3 +/* 09B7F4 8009ABF4 00003012 */ mflo $a2 +/* 09B7F8 8009ABF8 0086C021 */ addu $t8, $a0, $a2 +/* 09B7FC 8009ABFC 00000000 */ nop +/* 09B800 8009AC00 01EC0019 */ multu $t7, $t4 +/* 09B804 8009AC04 00003812 */ mflo $a3 +/* 09B808 8009AC08 03074821 */ addu $t1, $t8, $a3 +/* 09B80C 8009AC0C 0009CA02 */ srl $t9, $t1, 8 +/* 09B810 8009AC10 00197040 */ sll $t6, $t9, 1 +/* 09B814 8009AC14 00197980 */ sll $t7, $t9, 6 +/* 09B818 8009AC18 01CFC021 */ addu $t8, $t6, $t7 +/* 09B81C 8009AC1C 0019CAC0 */ sll $t9, $t9, 0xb +/* 09B820 8009AC20 03197021 */ addu $t6, $t8, $t9 +/* 09B824 8009AC24 30B8F800 */ andi $t8, $a1, 0xf800 +/* 09B828 8009AC28 0018CAC3 */ sra $t9, $t8, 0xb +/* 09B82C 8009AC2C 032A0019 */ multu $t9, $t2 +/* 09B830 8009AC30 01C87821 */ addu $t7, $t6, $t0 +/* 09B834 8009AC34 A44FFFF8 */ sh $t7, -8($v0) +/* 09B838 8009AC38 30AE07C0 */ andi $t6, $a1, 0x7c0 +/* 09B83C 8009AC3C 000E7983 */ sra $t7, $t6, 6 +/* 09B840 8009AC40 30B8003E */ andi $t8, $a1, 0x3e +/* 09B844 8009AC44 0018C843 */ sra $t9, $t8, 1 +/* 09B848 8009AC48 30A80001 */ andi $t0, $a1, 1 +/* 09B84C 8009AC4C 9445FFFC */ lhu $a1, -4($v0) +/* 09B850 8009AC50 00002012 */ mflo $a0 +/* 09B854 8009AC54 00000000 */ nop +/* 09B858 8009AC58 00000000 */ nop +/* 09B85C 8009AC5C 01EB0019 */ multu $t7, $t3 +/* 09B860 8009AC60 00003012 */ mflo $a2 +/* 09B864 8009AC64 00867021 */ addu $t6, $a0, $a2 +/* 09B868 8009AC68 00000000 */ nop +/* 09B86C 8009AC6C 032C0019 */ multu $t9, $t4 +/* 09B870 8009AC70 00003812 */ mflo $a3 +/* 09B874 8009AC74 01C74821 */ addu $t1, $t6, $a3 +/* 09B878 8009AC78 00097A02 */ srl $t7, $t1, 8 +/* 09B87C 8009AC7C 000FC040 */ sll $t8, $t7, 1 +/* 09B880 8009AC80 000FC980 */ sll $t9, $t7, 6 +/* 09B884 8009AC84 03197021 */ addu $t6, $t8, $t9 +/* 09B888 8009AC88 000F7AC0 */ sll $t7, $t7, 0xb +/* 09B88C 8009AC8C 01CFC021 */ addu $t8, $t6, $t7 +/* 09B890 8009AC90 30AEF800 */ andi $t6, $a1, 0xf800 +/* 09B894 8009AC94 000E7AC3 */ sra $t7, $t6, 0xb +/* 09B898 8009AC98 01EA0019 */ multu $t7, $t2 +/* 09B89C 8009AC9C 0308C821 */ addu $t9, $t8, $t0 +/* 09B8A0 8009ACA0 A459FFFA */ sh $t9, -6($v0) +/* 09B8A4 8009ACA4 30B807C0 */ andi $t8, $a1, 0x7c0 +/* 09B8A8 8009ACA8 0018C983 */ sra $t9, $t8, 6 +/* 09B8AC 8009ACAC 30AE003E */ andi $t6, $a1, 0x3e +/* 09B8B0 8009ACB0 000E7843 */ sra $t7, $t6, 1 +/* 09B8B4 8009ACB4 30A80001 */ andi $t0, $a1, 1 +/* 09B8B8 8009ACB8 9445FFFE */ lhu $a1, -2($v0) +/* 09B8BC 8009ACBC 00002012 */ mflo $a0 +/* 09B8C0 8009ACC0 00000000 */ nop +/* 09B8C4 8009ACC4 00000000 */ nop +/* 09B8C8 8009ACC8 032B0019 */ multu $t9, $t3 +/* 09B8CC 8009ACCC 00003012 */ mflo $a2 +/* 09B8D0 8009ACD0 0086C021 */ addu $t8, $a0, $a2 +/* 09B8D4 8009ACD4 00000000 */ nop +/* 09B8D8 8009ACD8 01EC0019 */ multu $t7, $t4 +/* 09B8DC 8009ACDC 00003812 */ mflo $a3 +/* 09B8E0 8009ACE0 03074821 */ addu $t1, $t8, $a3 +/* 09B8E4 8009ACE4 0009CA02 */ srl $t9, $t1, 8 +/* 09B8E8 8009ACE8 00197040 */ sll $t6, $t9, 1 +/* 09B8EC 8009ACEC 00197980 */ sll $t7, $t9, 6 +/* 09B8F0 8009ACF0 01CFC021 */ addu $t8, $t6, $t7 +/* 09B8F4 8009ACF4 0019CAC0 */ sll $t9, $t9, 0xb +/* 09B8F8 8009ACF8 03197021 */ addu $t6, $t8, $t9 +/* 09B8FC 8009ACFC 30B8F800 */ andi $t8, $a1, 0xf800 +/* 09B900 8009AD00 0018CAC3 */ sra $t9, $t8, 0xb +/* 09B904 8009AD04 032A0019 */ multu $t9, $t2 +/* 09B908 8009AD08 01C87821 */ addu $t7, $t6, $t0 +/* 09B90C 8009AD0C A44FFFFC */ sh $t7, -4($v0) +/* 09B910 8009AD10 30AE07C0 */ andi $t6, $a1, 0x7c0 +/* 09B914 8009AD14 000E7983 */ sra $t7, $t6, 6 +/* 09B918 8009AD18 30B8003E */ andi $t8, $a1, 0x3e +/* 09B91C 8009AD1C 0018C843 */ sra $t9, $t8, 1 +/* 09B920 8009AD20 30A80001 */ andi $t0, $a1, 1 +/* 09B924 8009AD24 00002012 */ mflo $a0 +/* 09B928 8009AD28 00000000 */ nop +/* 09B92C 8009AD2C 00000000 */ nop +/* 09B930 8009AD30 01EB0019 */ multu $t7, $t3 +/* 09B934 8009AD34 00003012 */ mflo $a2 +/* 09B938 8009AD38 00867021 */ addu $t6, $a0, $a2 +/* 09B93C 8009AD3C 00000000 */ nop +/* 09B940 8009AD40 032C0019 */ multu $t9, $t4 +/* 09B944 8009AD44 00003812 */ mflo $a3 +/* 09B948 8009AD48 01C74821 */ addu $t1, $t6, $a3 +/* 09B94C 8009AD4C 00097A02 */ srl $t7, $t1, 8 +/* 09B950 8009AD50 000FC040 */ sll $t8, $t7, 1 +/* 09B954 8009AD54 000FC980 */ sll $t9, $t7, 6 +/* 09B958 8009AD58 03197021 */ addu $t6, $t8, $t9 +/* 09B95C 8009AD5C 000F7AC0 */ sll $t7, $t7, 0xb +/* 09B960 8009AD60 01CFC021 */ addu $t8, $t6, $t7 +/* 09B964 8009AD64 0308C821 */ addu $t9, $t8, $t0 +/* 09B968 8009AD68 146DFF92 */ bne $v1, $t5, .L8009ABB4 +/* 09B96C 8009AD6C A459FFFE */ sh $t9, -2($v0) +/* 09B970 8009AD70 03E00008 */ jr $ra +/* 09B974 8009AD74 00000000 */ nop diff --git a/asm/non_matchings/code_80091750/func_8009AD78.s b/asm/non_matchings/code_80091750/func_8009AD78.s index 2466175b8..48a820400 100644 --- a/asm/non_matchings/code_80091750/func_8009AD78.s +++ b/asm/non_matchings/code_80091750/func_8009AD78.s @@ -1,208 +1,208 @@ -glabel func_8009AD78 -/* 09B978 8009AD78 3C0F8019 */ lui $t7, %hi(D_8018E118) # $t7, 0x8019 -/* 09B97C 8009AD7C 25EFE118 */ addiu $t7, %lo(D_8018E118) # addiu $t7, $t7, -0x1ee8 -/* 09B980 8009AD80 000470C0 */ sll $t6, $a0, 3 -/* 09B984 8009AD84 01CF1821 */ addu $v1, $t6, $t7 -/* 09B988 8009AD88 8C660004 */ lw $a2, 4($v1) -/* 09B98C 8009AD8C 8C6E000C */ lw $t6, 0xc($v1) -/* 09B990 8009AD90 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 09B994 8009AD94 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019 -/* 09B998 8009AD98 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9) -/* 09B99C 8009AD9C AFB00008 */ sw $s0, 8($sp) -/* 09B9A0 8009ADA0 0006C040 */ sll $t8, $a2, 1 -/* 09B9A4 8009ADA4 01C63823 */ subu $a3, $t6, $a2 -/* 09B9A8 8009ADA8 00A08025 */ move $s0, $a1 -/* 09B9AC 8009ADAC AFB30014 */ sw $s3, 0x14($sp) -/* 09B9B0 8009ADB0 AFB20010 */ sw $s2, 0x10($sp) -/* 09B9B4 8009ADB4 AFB1000C */ sw $s1, 0xc($sp) -/* 09B9B8 8009ADB8 00004025 */ move $t0, $zero -/* 09B9BC 8009ADBC 10E000B3 */ beqz $a3, .L8009B08C -/* 09B9C0 8009ADC0 03191021 */ addu $v0, $t8, $t9 -/* 09B9C4 8009ADC4 30E30003 */ andi $v1, $a3, 3 -/* 09B9C8 8009ADC8 10600029 */ beqz $v1, .L8009AE70 -/* 09B9CC 8009ADCC 00606025 */ move $t4, $v1 -/* 09B9D0 8009ADD0 24130020 */ li $s3, 32 -/* 09B9D4 8009ADD4 2412001D */ li $s2, 29 -/* 09B9D8 8009ADD8 24110096 */ li $s1, 150 -/* 09B9DC 8009ADDC 240D004D */ li $t5, 77 -.L8009ADE0: -/* 09B9E0 8009ADE0 94440000 */ lhu $a0, ($v0) -/* 09B9E4 8009ADE4 25080001 */ addiu $t0, $t0, 1 -/* 09B9E8 8009ADE8 24420002 */ addiu $v0, $v0, 2 -/* 09B9EC 8009ADEC 308FF800 */ andi $t7, $a0, 0xf800 -/* 09B9F0 8009ADF0 000FC2C3 */ sra $t8, $t7, 0xb -/* 09B9F4 8009ADF4 030D0019 */ multu $t8, $t5 -/* 09B9F8 8009ADF8 309907C0 */ andi $t9, $a0, 0x7c0 -/* 09B9FC 8009ADFC 00197183 */ sra $t6, $t9, 6 -/* 09BA00 8009AE00 308F003E */ andi $t7, $a0, 0x3e -/* 09BA04 8009AE04 000FC043 */ sra $t8, $t7, 1 -/* 09BA08 8009AE08 30890001 */ andi $t1, $a0, 1 -/* 09BA0C 8009AE0C 00001812 */ mflo $v1 -/* 09BA10 8009AE10 00000000 */ nop -/* 09BA14 8009AE14 00000000 */ nop -/* 09BA18 8009AE18 01D10019 */ multu $t6, $s1 -/* 09BA1C 8009AE1C 00002812 */ mflo $a1 -/* 09BA20 8009AE20 0065C821 */ addu $t9, $v1, $a1 -/* 09BA24 8009AE24 00000000 */ nop -/* 09BA28 8009AE28 03120019 */ multu $t8, $s2 -/* 09BA2C 8009AE2C 00003012 */ mflo $a2 -/* 09BA30 8009AE30 03265021 */ addu $t2, $t9, $a2 -/* 09BA34 8009AE34 000A7202 */ srl $t6, $t2, 8 -/* 09BA38 8009AE38 026E7823 */ subu $t7, $s3, $t6 -/* 09BA3C 8009AE3C 01F00019 */ multu $t7, $s0 -/* 09BA40 8009AE40 0000C012 */ mflo $t8 -/* 09BA44 8009AE44 0018CA02 */ srl $t9, $t8, 8 -/* 09BA48 8009AE48 01D95821 */ addu $t3, $t6, $t9 -/* 09BA4C 8009AE4C 000B7040 */ sll $t6, $t3, 1 -/* 09BA50 8009AE50 000B7980 */ sll $t7, $t3, 6 -/* 09BA54 8009AE54 01CFC021 */ addu $t8, $t6, $t7 -/* 09BA58 8009AE58 000BCAC0 */ sll $t9, $t3, 0xb -/* 09BA5C 8009AE5C 03197021 */ addu $t6, $t8, $t9 -/* 09BA60 8009AE60 01C97821 */ addu $t7, $t6, $t1 -/* 09BA64 8009AE64 1588FFDE */ bne $t4, $t0, .L8009ADE0 -/* 09BA68 8009AE68 A44FFFFE */ sh $t7, -2($v0) -/* 09BA6C 8009AE6C 11070087 */ beq $t0, $a3, .L8009B08C -.L8009AE70: -/* 09BA70 8009AE70 240D004D */ li $t5, 77 -/* 09BA74 8009AE74 24110096 */ li $s1, 150 -/* 09BA78 8009AE78 2412001D */ li $s2, 29 -/* 09BA7C 8009AE7C 24130020 */ li $s3, 32 -.L8009AE80: -/* 09BA80 8009AE80 94440000 */ lhu $a0, ($v0) -/* 09BA84 8009AE84 25080004 */ addiu $t0, $t0, 4 -/* 09BA88 8009AE88 24420008 */ addiu $v0, $v0, 8 -/* 09BA8C 8009AE8C 3098F800 */ andi $t8, $a0, 0xf800 -/* 09BA90 8009AE90 0018CAC3 */ sra $t9, $t8, 0xb -/* 09BA94 8009AE94 032D0019 */ multu $t9, $t5 -/* 09BA98 8009AE98 308E07C0 */ andi $t6, $a0, 0x7c0 -/* 09BA9C 8009AE9C 000E7983 */ sra $t7, $t6, 6 -/* 09BAA0 8009AEA0 3098003E */ andi $t8, $a0, 0x3e -/* 09BAA4 8009AEA4 0018C843 */ sra $t9, $t8, 1 -/* 09BAA8 8009AEA8 30890001 */ andi $t1, $a0, 1 -/* 09BAAC 8009AEAC 9444FFFA */ lhu $a0, -6($v0) -/* 09BAB0 8009AEB0 00001812 */ mflo $v1 -/* 09BAB4 8009AEB4 00000000 */ nop -/* 09BAB8 8009AEB8 00000000 */ nop -/* 09BABC 8009AEBC 01F10019 */ multu $t7, $s1 -/* 09BAC0 8009AEC0 00002812 */ mflo $a1 -/* 09BAC4 8009AEC4 00657021 */ addu $t6, $v1, $a1 -/* 09BAC8 8009AEC8 00000000 */ nop -/* 09BACC 8009AECC 03320019 */ multu $t9, $s2 -/* 09BAD0 8009AED0 00003012 */ mflo $a2 -/* 09BAD4 8009AED4 01C65021 */ addu $t2, $t6, $a2 -/* 09BAD8 8009AED8 000A7A02 */ srl $t7, $t2, 8 -/* 09BADC 8009AEDC 026FC023 */ subu $t8, $s3, $t7 -/* 09BAE0 8009AEE0 03100019 */ multu $t8, $s0 -/* 09BAE4 8009AEE4 0000C812 */ mflo $t9 -/* 09BAE8 8009AEE8 00197202 */ srl $t6, $t9, 8 -/* 09BAEC 8009AEEC 01EE5821 */ addu $t3, $t7, $t6 -/* 09BAF0 8009AEF0 000B7840 */ sll $t7, $t3, 1 -/* 09BAF4 8009AEF4 000BC180 */ sll $t8, $t3, 6 -/* 09BAF8 8009AEF8 01F8C821 */ addu $t9, $t7, $t8 -/* 09BAFC 8009AEFC 000B72C0 */ sll $t6, $t3, 0xb -/* 09BB00 8009AF00 032E7821 */ addu $t7, $t9, $t6 -/* 09BB04 8009AF04 3099F800 */ andi $t9, $a0, 0xf800 -/* 09BB08 8009AF08 001972C3 */ sra $t6, $t9, 0xb -/* 09BB0C 8009AF0C 01CD0019 */ multu $t6, $t5 -/* 09BB10 8009AF10 01E9C021 */ addu $t8, $t7, $t1 -/* 09BB14 8009AF14 A458FFF8 */ sh $t8, -8($v0) -/* 09BB18 8009AF18 308F07C0 */ andi $t7, $a0, 0x7c0 -/* 09BB1C 8009AF1C 000FC183 */ sra $t8, $t7, 6 -/* 09BB20 8009AF20 3099003E */ andi $t9, $a0, 0x3e -/* 09BB24 8009AF24 00197043 */ sra $t6, $t9, 1 -/* 09BB28 8009AF28 30890001 */ andi $t1, $a0, 1 -/* 09BB2C 8009AF2C 9444FFFC */ lhu $a0, -4($v0) -/* 09BB30 8009AF30 00001812 */ mflo $v1 -/* 09BB34 8009AF34 00000000 */ nop -/* 09BB38 8009AF38 00000000 */ nop -/* 09BB3C 8009AF3C 03110019 */ multu $t8, $s1 -/* 09BB40 8009AF40 00002812 */ mflo $a1 -/* 09BB44 8009AF44 00657821 */ addu $t7, $v1, $a1 -/* 09BB48 8009AF48 00000000 */ nop -/* 09BB4C 8009AF4C 01D20019 */ multu $t6, $s2 -/* 09BB50 8009AF50 00003012 */ mflo $a2 -/* 09BB54 8009AF54 01E65021 */ addu $t2, $t7, $a2 -/* 09BB58 8009AF58 000AC202 */ srl $t8, $t2, 8 -/* 09BB5C 8009AF5C 0278C823 */ subu $t9, $s3, $t8 -/* 09BB60 8009AF60 03300019 */ multu $t9, $s0 -/* 09BB64 8009AF64 00007012 */ mflo $t6 -/* 09BB68 8009AF68 000E7A02 */ srl $t7, $t6, 8 -/* 09BB6C 8009AF6C 030F5821 */ addu $t3, $t8, $t7 -/* 09BB70 8009AF70 000BC040 */ sll $t8, $t3, 1 -/* 09BB74 8009AF74 000BC980 */ sll $t9, $t3, 6 -/* 09BB78 8009AF78 03197021 */ addu $t6, $t8, $t9 -/* 09BB7C 8009AF7C 000B7AC0 */ sll $t7, $t3, 0xb -/* 09BB80 8009AF80 01CFC021 */ addu $t8, $t6, $t7 -/* 09BB84 8009AF84 308EF800 */ andi $t6, $a0, 0xf800 -/* 09BB88 8009AF88 000E7AC3 */ sra $t7, $t6, 0xb -/* 09BB8C 8009AF8C 01ED0019 */ multu $t7, $t5 -/* 09BB90 8009AF90 0309C821 */ addu $t9, $t8, $t1 -/* 09BB94 8009AF94 A459FFFA */ sh $t9, -6($v0) -/* 09BB98 8009AF98 309807C0 */ andi $t8, $a0, 0x7c0 -/* 09BB9C 8009AF9C 0018C983 */ sra $t9, $t8, 6 -/* 09BBA0 8009AFA0 308E003E */ andi $t6, $a0, 0x3e -/* 09BBA4 8009AFA4 000E7843 */ sra $t7, $t6, 1 -/* 09BBA8 8009AFA8 30890001 */ andi $t1, $a0, 1 -/* 09BBAC 8009AFAC 9444FFFE */ lhu $a0, -2($v0) -/* 09BBB0 8009AFB0 00001812 */ mflo $v1 -/* 09BBB4 8009AFB4 00000000 */ nop -/* 09BBB8 8009AFB8 00000000 */ nop -/* 09BBBC 8009AFBC 03310019 */ multu $t9, $s1 -/* 09BBC0 8009AFC0 00002812 */ mflo $a1 -/* 09BBC4 8009AFC4 0065C021 */ addu $t8, $v1, $a1 -/* 09BBC8 8009AFC8 00000000 */ nop -/* 09BBCC 8009AFCC 01F20019 */ multu $t7, $s2 -/* 09BBD0 8009AFD0 00003012 */ mflo $a2 -/* 09BBD4 8009AFD4 03065021 */ addu $t2, $t8, $a2 -/* 09BBD8 8009AFD8 000ACA02 */ srl $t9, $t2, 8 -/* 09BBDC 8009AFDC 02797023 */ subu $t6, $s3, $t9 -/* 09BBE0 8009AFE0 01D00019 */ multu $t6, $s0 -/* 09BBE4 8009AFE4 00007812 */ mflo $t7 -/* 09BBE8 8009AFE8 000FC202 */ srl $t8, $t7, 8 -/* 09BBEC 8009AFEC 03385821 */ addu $t3, $t9, $t8 -/* 09BBF0 8009AFF0 000BC840 */ sll $t9, $t3, 1 -/* 09BBF4 8009AFF4 000B7180 */ sll $t6, $t3, 6 -/* 09BBF8 8009AFF8 032E7821 */ addu $t7, $t9, $t6 -/* 09BBFC 8009AFFC 000BC2C0 */ sll $t8, $t3, 0xb -/* 09BC00 8009B000 01F8C821 */ addu $t9, $t7, $t8 -/* 09BC04 8009B004 308FF800 */ andi $t7, $a0, 0xf800 -/* 09BC08 8009B008 000FC2C3 */ sra $t8, $t7, 0xb -/* 09BC0C 8009B00C 030D0019 */ multu $t8, $t5 -/* 09BC10 8009B010 03297021 */ addu $t6, $t9, $t1 -/* 09BC14 8009B014 A44EFFFC */ sh $t6, -4($v0) -/* 09BC18 8009B018 309907C0 */ andi $t9, $a0, 0x7c0 -/* 09BC1C 8009B01C 00197183 */ sra $t6, $t9, 6 -/* 09BC20 8009B020 308F003E */ andi $t7, $a0, 0x3e -/* 09BC24 8009B024 000FC043 */ sra $t8, $t7, 1 -/* 09BC28 8009B028 30890001 */ andi $t1, $a0, 1 -/* 09BC2C 8009B02C 00001812 */ mflo $v1 -/* 09BC30 8009B030 00000000 */ nop -/* 09BC34 8009B034 00000000 */ nop -/* 09BC38 8009B038 01D10019 */ multu $t6, $s1 -/* 09BC3C 8009B03C 00002812 */ mflo $a1 -/* 09BC40 8009B040 0065C821 */ addu $t9, $v1, $a1 -/* 09BC44 8009B044 00000000 */ nop -/* 09BC48 8009B048 03120019 */ multu $t8, $s2 -/* 09BC4C 8009B04C 00003012 */ mflo $a2 -/* 09BC50 8009B050 03265021 */ addu $t2, $t9, $a2 -/* 09BC54 8009B054 000A7202 */ srl $t6, $t2, 8 -/* 09BC58 8009B058 026E7823 */ subu $t7, $s3, $t6 -/* 09BC5C 8009B05C 01F00019 */ multu $t7, $s0 -/* 09BC60 8009B060 0000C012 */ mflo $t8 -/* 09BC64 8009B064 0018CA02 */ srl $t9, $t8, 8 -/* 09BC68 8009B068 01D95821 */ addu $t3, $t6, $t9 -/* 09BC6C 8009B06C 000B7040 */ sll $t6, $t3, 1 -/* 09BC70 8009B070 000B7980 */ sll $t7, $t3, 6 -/* 09BC74 8009B074 01CFC021 */ addu $t8, $t6, $t7 -/* 09BC78 8009B078 000BCAC0 */ sll $t9, $t3, 0xb -/* 09BC7C 8009B07C 03197021 */ addu $t6, $t8, $t9 -/* 09BC80 8009B080 01C97821 */ addu $t7, $t6, $t1 -/* 09BC84 8009B084 1507FF7E */ bne $t0, $a3, .L8009AE80 -/* 09BC88 8009B088 A44FFFFE */ sh $t7, -2($v0) -.L8009B08C: -/* 09BC8C 8009B08C 8FB00008 */ lw $s0, 8($sp) -/* 09BC90 8009B090 8FB1000C */ lw $s1, 0xc($sp) -/* 09BC94 8009B094 8FB20010 */ lw $s2, 0x10($sp) -/* 09BC98 8009B098 8FB30014 */ lw $s3, 0x14($sp) -/* 09BC9C 8009B09C 03E00008 */ jr $ra +glabel func_8009AD78 +/* 09B978 8009AD78 3C0F8019 */ lui $t7, %hi(D_8018E118) # $t7, 0x8019 +/* 09B97C 8009AD7C 25EFE118 */ addiu $t7, %lo(D_8018E118) # addiu $t7, $t7, -0x1ee8 +/* 09B980 8009AD80 000470C0 */ sll $t6, $a0, 3 +/* 09B984 8009AD84 01CF1821 */ addu $v1, $t6, $t7 +/* 09B988 8009AD88 8C660004 */ lw $a2, 4($v1) +/* 09B98C 8009AD8C 8C6E000C */ lw $t6, 0xc($v1) +/* 09B990 8009AD90 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 09B994 8009AD94 3C198019 */ lui $t9, %hi(D_8018D9B0) # $t9, 0x8019 +/* 09B998 8009AD98 8F39D9B0 */ lw $t9, %lo(D_8018D9B0)($t9) +/* 09B99C 8009AD9C AFB00008 */ sw $s0, 8($sp) +/* 09B9A0 8009ADA0 0006C040 */ sll $t8, $a2, 1 +/* 09B9A4 8009ADA4 01C63823 */ subu $a3, $t6, $a2 +/* 09B9A8 8009ADA8 00A08025 */ move $s0, $a1 +/* 09B9AC 8009ADAC AFB30014 */ sw $s3, 0x14($sp) +/* 09B9B0 8009ADB0 AFB20010 */ sw $s2, 0x10($sp) +/* 09B9B4 8009ADB4 AFB1000C */ sw $s1, 0xc($sp) +/* 09B9B8 8009ADB8 00004025 */ move $t0, $zero +/* 09B9BC 8009ADBC 10E000B3 */ beqz $a3, .L8009B08C +/* 09B9C0 8009ADC0 03191021 */ addu $v0, $t8, $t9 +/* 09B9C4 8009ADC4 30E30003 */ andi $v1, $a3, 3 +/* 09B9C8 8009ADC8 10600029 */ beqz $v1, .L8009AE70 +/* 09B9CC 8009ADCC 00606025 */ move $t4, $v1 +/* 09B9D0 8009ADD0 24130020 */ li $s3, 32 +/* 09B9D4 8009ADD4 2412001D */ li $s2, 29 +/* 09B9D8 8009ADD8 24110096 */ li $s1, 150 +/* 09B9DC 8009ADDC 240D004D */ li $t5, 77 +.L8009ADE0: +/* 09B9E0 8009ADE0 94440000 */ lhu $a0, ($v0) +/* 09B9E4 8009ADE4 25080001 */ addiu $t0, $t0, 1 +/* 09B9E8 8009ADE8 24420002 */ addiu $v0, $v0, 2 +/* 09B9EC 8009ADEC 308FF800 */ andi $t7, $a0, 0xf800 +/* 09B9F0 8009ADF0 000FC2C3 */ sra $t8, $t7, 0xb +/* 09B9F4 8009ADF4 030D0019 */ multu $t8, $t5 +/* 09B9F8 8009ADF8 309907C0 */ andi $t9, $a0, 0x7c0 +/* 09B9FC 8009ADFC 00197183 */ sra $t6, $t9, 6 +/* 09BA00 8009AE00 308F003E */ andi $t7, $a0, 0x3e +/* 09BA04 8009AE04 000FC043 */ sra $t8, $t7, 1 +/* 09BA08 8009AE08 30890001 */ andi $t1, $a0, 1 +/* 09BA0C 8009AE0C 00001812 */ mflo $v1 +/* 09BA10 8009AE10 00000000 */ nop +/* 09BA14 8009AE14 00000000 */ nop +/* 09BA18 8009AE18 01D10019 */ multu $t6, $s1 +/* 09BA1C 8009AE1C 00002812 */ mflo $a1 +/* 09BA20 8009AE20 0065C821 */ addu $t9, $v1, $a1 +/* 09BA24 8009AE24 00000000 */ nop +/* 09BA28 8009AE28 03120019 */ multu $t8, $s2 +/* 09BA2C 8009AE2C 00003012 */ mflo $a2 +/* 09BA30 8009AE30 03265021 */ addu $t2, $t9, $a2 +/* 09BA34 8009AE34 000A7202 */ srl $t6, $t2, 8 +/* 09BA38 8009AE38 026E7823 */ subu $t7, $s3, $t6 +/* 09BA3C 8009AE3C 01F00019 */ multu $t7, $s0 +/* 09BA40 8009AE40 0000C012 */ mflo $t8 +/* 09BA44 8009AE44 0018CA02 */ srl $t9, $t8, 8 +/* 09BA48 8009AE48 01D95821 */ addu $t3, $t6, $t9 +/* 09BA4C 8009AE4C 000B7040 */ sll $t6, $t3, 1 +/* 09BA50 8009AE50 000B7980 */ sll $t7, $t3, 6 +/* 09BA54 8009AE54 01CFC021 */ addu $t8, $t6, $t7 +/* 09BA58 8009AE58 000BCAC0 */ sll $t9, $t3, 0xb +/* 09BA5C 8009AE5C 03197021 */ addu $t6, $t8, $t9 +/* 09BA60 8009AE60 01C97821 */ addu $t7, $t6, $t1 +/* 09BA64 8009AE64 1588FFDE */ bne $t4, $t0, .L8009ADE0 +/* 09BA68 8009AE68 A44FFFFE */ sh $t7, -2($v0) +/* 09BA6C 8009AE6C 11070087 */ beq $t0, $a3, .L8009B08C +.L8009AE70: +/* 09BA70 8009AE70 240D004D */ li $t5, 77 +/* 09BA74 8009AE74 24110096 */ li $s1, 150 +/* 09BA78 8009AE78 2412001D */ li $s2, 29 +/* 09BA7C 8009AE7C 24130020 */ li $s3, 32 +.L8009AE80: +/* 09BA80 8009AE80 94440000 */ lhu $a0, ($v0) +/* 09BA84 8009AE84 25080004 */ addiu $t0, $t0, 4 +/* 09BA88 8009AE88 24420008 */ addiu $v0, $v0, 8 +/* 09BA8C 8009AE8C 3098F800 */ andi $t8, $a0, 0xf800 +/* 09BA90 8009AE90 0018CAC3 */ sra $t9, $t8, 0xb +/* 09BA94 8009AE94 032D0019 */ multu $t9, $t5 +/* 09BA98 8009AE98 308E07C0 */ andi $t6, $a0, 0x7c0 +/* 09BA9C 8009AE9C 000E7983 */ sra $t7, $t6, 6 +/* 09BAA0 8009AEA0 3098003E */ andi $t8, $a0, 0x3e +/* 09BAA4 8009AEA4 0018C843 */ sra $t9, $t8, 1 +/* 09BAA8 8009AEA8 30890001 */ andi $t1, $a0, 1 +/* 09BAAC 8009AEAC 9444FFFA */ lhu $a0, -6($v0) +/* 09BAB0 8009AEB0 00001812 */ mflo $v1 +/* 09BAB4 8009AEB4 00000000 */ nop +/* 09BAB8 8009AEB8 00000000 */ nop +/* 09BABC 8009AEBC 01F10019 */ multu $t7, $s1 +/* 09BAC0 8009AEC0 00002812 */ mflo $a1 +/* 09BAC4 8009AEC4 00657021 */ addu $t6, $v1, $a1 +/* 09BAC8 8009AEC8 00000000 */ nop +/* 09BACC 8009AECC 03320019 */ multu $t9, $s2 +/* 09BAD0 8009AED0 00003012 */ mflo $a2 +/* 09BAD4 8009AED4 01C65021 */ addu $t2, $t6, $a2 +/* 09BAD8 8009AED8 000A7A02 */ srl $t7, $t2, 8 +/* 09BADC 8009AEDC 026FC023 */ subu $t8, $s3, $t7 +/* 09BAE0 8009AEE0 03100019 */ multu $t8, $s0 +/* 09BAE4 8009AEE4 0000C812 */ mflo $t9 +/* 09BAE8 8009AEE8 00197202 */ srl $t6, $t9, 8 +/* 09BAEC 8009AEEC 01EE5821 */ addu $t3, $t7, $t6 +/* 09BAF0 8009AEF0 000B7840 */ sll $t7, $t3, 1 +/* 09BAF4 8009AEF4 000BC180 */ sll $t8, $t3, 6 +/* 09BAF8 8009AEF8 01F8C821 */ addu $t9, $t7, $t8 +/* 09BAFC 8009AEFC 000B72C0 */ sll $t6, $t3, 0xb +/* 09BB00 8009AF00 032E7821 */ addu $t7, $t9, $t6 +/* 09BB04 8009AF04 3099F800 */ andi $t9, $a0, 0xf800 +/* 09BB08 8009AF08 001972C3 */ sra $t6, $t9, 0xb +/* 09BB0C 8009AF0C 01CD0019 */ multu $t6, $t5 +/* 09BB10 8009AF10 01E9C021 */ addu $t8, $t7, $t1 +/* 09BB14 8009AF14 A458FFF8 */ sh $t8, -8($v0) +/* 09BB18 8009AF18 308F07C0 */ andi $t7, $a0, 0x7c0 +/* 09BB1C 8009AF1C 000FC183 */ sra $t8, $t7, 6 +/* 09BB20 8009AF20 3099003E */ andi $t9, $a0, 0x3e +/* 09BB24 8009AF24 00197043 */ sra $t6, $t9, 1 +/* 09BB28 8009AF28 30890001 */ andi $t1, $a0, 1 +/* 09BB2C 8009AF2C 9444FFFC */ lhu $a0, -4($v0) +/* 09BB30 8009AF30 00001812 */ mflo $v1 +/* 09BB34 8009AF34 00000000 */ nop +/* 09BB38 8009AF38 00000000 */ nop +/* 09BB3C 8009AF3C 03110019 */ multu $t8, $s1 +/* 09BB40 8009AF40 00002812 */ mflo $a1 +/* 09BB44 8009AF44 00657821 */ addu $t7, $v1, $a1 +/* 09BB48 8009AF48 00000000 */ nop +/* 09BB4C 8009AF4C 01D20019 */ multu $t6, $s2 +/* 09BB50 8009AF50 00003012 */ mflo $a2 +/* 09BB54 8009AF54 01E65021 */ addu $t2, $t7, $a2 +/* 09BB58 8009AF58 000AC202 */ srl $t8, $t2, 8 +/* 09BB5C 8009AF5C 0278C823 */ subu $t9, $s3, $t8 +/* 09BB60 8009AF60 03300019 */ multu $t9, $s0 +/* 09BB64 8009AF64 00007012 */ mflo $t6 +/* 09BB68 8009AF68 000E7A02 */ srl $t7, $t6, 8 +/* 09BB6C 8009AF6C 030F5821 */ addu $t3, $t8, $t7 +/* 09BB70 8009AF70 000BC040 */ sll $t8, $t3, 1 +/* 09BB74 8009AF74 000BC980 */ sll $t9, $t3, 6 +/* 09BB78 8009AF78 03197021 */ addu $t6, $t8, $t9 +/* 09BB7C 8009AF7C 000B7AC0 */ sll $t7, $t3, 0xb +/* 09BB80 8009AF80 01CFC021 */ addu $t8, $t6, $t7 +/* 09BB84 8009AF84 308EF800 */ andi $t6, $a0, 0xf800 +/* 09BB88 8009AF88 000E7AC3 */ sra $t7, $t6, 0xb +/* 09BB8C 8009AF8C 01ED0019 */ multu $t7, $t5 +/* 09BB90 8009AF90 0309C821 */ addu $t9, $t8, $t1 +/* 09BB94 8009AF94 A459FFFA */ sh $t9, -6($v0) +/* 09BB98 8009AF98 309807C0 */ andi $t8, $a0, 0x7c0 +/* 09BB9C 8009AF9C 0018C983 */ sra $t9, $t8, 6 +/* 09BBA0 8009AFA0 308E003E */ andi $t6, $a0, 0x3e +/* 09BBA4 8009AFA4 000E7843 */ sra $t7, $t6, 1 +/* 09BBA8 8009AFA8 30890001 */ andi $t1, $a0, 1 +/* 09BBAC 8009AFAC 9444FFFE */ lhu $a0, -2($v0) +/* 09BBB0 8009AFB0 00001812 */ mflo $v1 +/* 09BBB4 8009AFB4 00000000 */ nop +/* 09BBB8 8009AFB8 00000000 */ nop +/* 09BBBC 8009AFBC 03310019 */ multu $t9, $s1 +/* 09BBC0 8009AFC0 00002812 */ mflo $a1 +/* 09BBC4 8009AFC4 0065C021 */ addu $t8, $v1, $a1 +/* 09BBC8 8009AFC8 00000000 */ nop +/* 09BBCC 8009AFCC 01F20019 */ multu $t7, $s2 +/* 09BBD0 8009AFD0 00003012 */ mflo $a2 +/* 09BBD4 8009AFD4 03065021 */ addu $t2, $t8, $a2 +/* 09BBD8 8009AFD8 000ACA02 */ srl $t9, $t2, 8 +/* 09BBDC 8009AFDC 02797023 */ subu $t6, $s3, $t9 +/* 09BBE0 8009AFE0 01D00019 */ multu $t6, $s0 +/* 09BBE4 8009AFE4 00007812 */ mflo $t7 +/* 09BBE8 8009AFE8 000FC202 */ srl $t8, $t7, 8 +/* 09BBEC 8009AFEC 03385821 */ addu $t3, $t9, $t8 +/* 09BBF0 8009AFF0 000BC840 */ sll $t9, $t3, 1 +/* 09BBF4 8009AFF4 000B7180 */ sll $t6, $t3, 6 +/* 09BBF8 8009AFF8 032E7821 */ addu $t7, $t9, $t6 +/* 09BBFC 8009AFFC 000BC2C0 */ sll $t8, $t3, 0xb +/* 09BC00 8009B000 01F8C821 */ addu $t9, $t7, $t8 +/* 09BC04 8009B004 308FF800 */ andi $t7, $a0, 0xf800 +/* 09BC08 8009B008 000FC2C3 */ sra $t8, $t7, 0xb +/* 09BC0C 8009B00C 030D0019 */ multu $t8, $t5 +/* 09BC10 8009B010 03297021 */ addu $t6, $t9, $t1 +/* 09BC14 8009B014 A44EFFFC */ sh $t6, -4($v0) +/* 09BC18 8009B018 309907C0 */ andi $t9, $a0, 0x7c0 +/* 09BC1C 8009B01C 00197183 */ sra $t6, $t9, 6 +/* 09BC20 8009B020 308F003E */ andi $t7, $a0, 0x3e +/* 09BC24 8009B024 000FC043 */ sra $t8, $t7, 1 +/* 09BC28 8009B028 30890001 */ andi $t1, $a0, 1 +/* 09BC2C 8009B02C 00001812 */ mflo $v1 +/* 09BC30 8009B030 00000000 */ nop +/* 09BC34 8009B034 00000000 */ nop +/* 09BC38 8009B038 01D10019 */ multu $t6, $s1 +/* 09BC3C 8009B03C 00002812 */ mflo $a1 +/* 09BC40 8009B040 0065C821 */ addu $t9, $v1, $a1 +/* 09BC44 8009B044 00000000 */ nop +/* 09BC48 8009B048 03120019 */ multu $t8, $s2 +/* 09BC4C 8009B04C 00003012 */ mflo $a2 +/* 09BC50 8009B050 03265021 */ addu $t2, $t9, $a2 +/* 09BC54 8009B054 000A7202 */ srl $t6, $t2, 8 +/* 09BC58 8009B058 026E7823 */ subu $t7, $s3, $t6 +/* 09BC5C 8009B05C 01F00019 */ multu $t7, $s0 +/* 09BC60 8009B060 0000C012 */ mflo $t8 +/* 09BC64 8009B064 0018CA02 */ srl $t9, $t8, 8 +/* 09BC68 8009B068 01D95821 */ addu $t3, $t6, $t9 +/* 09BC6C 8009B06C 000B7040 */ sll $t6, $t3, 1 +/* 09BC70 8009B070 000B7980 */ sll $t7, $t3, 6 +/* 09BC74 8009B074 01CFC021 */ addu $t8, $t6, $t7 +/* 09BC78 8009B078 000BCAC0 */ sll $t9, $t3, 0xb +/* 09BC7C 8009B07C 03197021 */ addu $t6, $t8, $t9 +/* 09BC80 8009B080 01C97821 */ addu $t7, $t6, $t1 +/* 09BC84 8009B084 1507FF7E */ bne $t0, $a3, .L8009AE80 +/* 09BC88 8009B088 A44FFFFE */ sh $t7, -2($v0) +.L8009B08C: +/* 09BC8C 8009B08C 8FB00008 */ lw $s0, 8($sp) +/* 09BC90 8009B090 8FB1000C */ lw $s1, 0xc($sp) +/* 09BC94 8009B094 8FB20010 */ lw $s2, 0x10($sp) +/* 09BC98 8009B098 8FB30014 */ lw $s3, 0x14($sp) +/* 09BC9C 8009B09C 03E00008 */ jr $ra /* 09BCA0 8009B0A0 27BD0018 */ addiu $sp, $sp, 0x18 \ No newline at end of file diff --git a/asm/non_matchings/code_800AF9B0/func_800B4560.s b/asm/non_matchings/code_800AF9B0/func_800B4560.s index 38c0c2d78..80afe253b 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B4560.s +++ b/asm/non_matchings/code_800AF9B0/func_800B4560.s @@ -1,33 +1,33 @@ -glabel func_800B4560 -/* 0B5160 800B4560 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B5164 800B4564 3C0E8019 */ lui $t6, %hi(D_8018D9C0) # $t6, 0x8019 -/* 0B5168 800B4568 8DCED9C0 */ lw $t6, %lo(D_8018D9C0)($t6) -/* 0B516C 800B456C AFA40020 */ sw $a0, 0x20($sp) -/* 0B5170 800B4570 AFA50024 */ sw $a1, 0x24($sp) -/* 0B5174 800B4574 AFBF0014 */ sw $ra, 0x14($sp) -/* 0B5178 800B4578 3C058016 */ lui $a1, %hi(D_80162DE0) # $a1, 0x8016 -/* 0B517C 800B457C 3C04800F */ lui $a0, %hi(D_800F2BE8) # $a0, 0x800f -/* 0B5180 800B4580 24842BE8 */ addiu $a0, %lo(D_800F2BE8) # addiu $a0, $a0, 0x2be8 -/* 0B5184 800B4584 8CA52DE0 */ lw $a1, %lo(D_80162DE0)($a1) -/* 0B5188 800B4588 0C033DDD */ jal rmonPrintf -/* 0B518C 800B458C AFAE0018 */ sw $t6, 0x18($sp) -/* 0B5190 800B4590 8FAF0020 */ lw $t7, 0x20($sp) -/* 0B5194 800B4594 3C058019 */ lui $a1, %hi(D_8018EE16) # 0x8019 -/* 0B5198 800B4598 3C04800F */ lui $a0, %hi(D_800F2BF8) # $a0, 0x800f -/* 0B519C 800B459C 000FC1C0 */ sll $t8, $t7, 7 -/* 0B51A0 800B45A0 00B82821 */ addu $a1, $a1, $t8 -/* 0B51A4 800B45A4 90A5EE16 */ lbu $a1, %lo(D_8018EE16)($a1) # -0x11ea($a1) -/* 0B51A8 800B45A8 0C033DDD */ jal rmonPrintf -/* 0B51AC 800B45AC 24842BF8 */ addiu $a0, %lo(D_800F2BF8) # addiu $a0, $a0, 0x2bf8 -/* 0B51B0 800B45B0 8FB90024 */ lw $t9, 0x24($sp) -/* 0B51B4 800B45B4 8FA90018 */ lw $t1, 0x18($sp) -/* 0B51B8 800B45B8 3C04800F */ lui $a0, %hi(D_800F2C0C) # $a0, 0x800f -/* 0B51BC 800B45BC 001941C0 */ sll $t0, $t9, 7 -/* 0B51C0 800B45C0 01095021 */ addu $t2, $t0, $t1 -/* 0B51C4 800B45C4 91450006 */ lbu $a1, 6($t2) -/* 0B51C8 800B45C8 0C033DDD */ jal rmonPrintf -/* 0B51CC 800B45CC 24842C0C */ addiu $a0, %lo(D_800F2C0C) # addiu $a0, $a0, 0x2c0c -/* 0B51D0 800B45D0 8FBF0014 */ lw $ra, 0x14($sp) -/* 0B51D4 800B45D4 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B51D8 800B45D8 03E00008 */ jr $ra -/* 0B51DC 800B45DC 00000000 */ nop +glabel func_800B4560 +/* 0B5160 800B4560 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B5164 800B4564 3C0E8019 */ lui $t6, %hi(D_8018D9C0) # $t6, 0x8019 +/* 0B5168 800B4568 8DCED9C0 */ lw $t6, %lo(D_8018D9C0)($t6) +/* 0B516C 800B456C AFA40020 */ sw $a0, 0x20($sp) +/* 0B5170 800B4570 AFA50024 */ sw $a1, 0x24($sp) +/* 0B5174 800B4574 AFBF0014 */ sw $ra, 0x14($sp) +/* 0B5178 800B4578 3C058016 */ lui $a1, %hi(D_80162DE0) # $a1, 0x8016 +/* 0B517C 800B457C 3C04800F */ lui $a0, %hi(D_800F2BE8) # $a0, 0x800f +/* 0B5180 800B4580 24842BE8 */ addiu $a0, %lo(D_800F2BE8) # addiu $a0, $a0, 0x2be8 +/* 0B5184 800B4584 8CA52DE0 */ lw $a1, %lo(D_80162DE0)($a1) +/* 0B5188 800B4588 0C033DDD */ jal rmonPrintf +/* 0B518C 800B458C AFAE0018 */ sw $t6, 0x18($sp) +/* 0B5190 800B4590 8FAF0020 */ lw $t7, 0x20($sp) +/* 0B5194 800B4594 3C058019 */ lui $a1, %hi(D_8018EE16) # 0x8019 +/* 0B5198 800B4598 3C04800F */ lui $a0, %hi(D_800F2BF8) # $a0, 0x800f +/* 0B519C 800B459C 000FC1C0 */ sll $t8, $t7, 7 +/* 0B51A0 800B45A0 00B82821 */ addu $a1, $a1, $t8 +/* 0B51A4 800B45A4 90A5EE16 */ lbu $a1, %lo(D_8018EE16)($a1) # -0x11ea($a1) +/* 0B51A8 800B45A8 0C033DDD */ jal rmonPrintf +/* 0B51AC 800B45AC 24842BF8 */ addiu $a0, %lo(D_800F2BF8) # addiu $a0, $a0, 0x2bf8 +/* 0B51B0 800B45B0 8FB90024 */ lw $t9, 0x24($sp) +/* 0B51B4 800B45B4 8FA90018 */ lw $t1, 0x18($sp) +/* 0B51B8 800B45B8 3C04800F */ lui $a0, %hi(D_800F2C0C) # $a0, 0x800f +/* 0B51BC 800B45BC 001941C0 */ sll $t0, $t9, 7 +/* 0B51C0 800B45C0 01095021 */ addu $t2, $t0, $t1 +/* 0B51C4 800B45C4 91450006 */ lbu $a1, 6($t2) +/* 0B51C8 800B45C8 0C033DDD */ jal rmonPrintf +/* 0B51CC 800B45CC 24842C0C */ addiu $a0, %lo(D_800F2C0C) # addiu $a0, $a0, 0x2c0c +/* 0B51D0 800B45D0 8FBF0014 */ lw $ra, 0x14($sp) +/* 0B51D4 800B45D4 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0B51D8 800B45D8 03E00008 */ jr $ra +/* 0B51DC 800B45DC 00000000 */ nop diff --git a/asm/non_matchings/code_800AF9B0/func_800B6AF8.s b/asm/non_matchings/code_800AF9B0/func_800B6AF8.s index 32be8e039..85303688b 100644 --- a/asm/non_matchings/code_800AF9B0/func_800B6AF8.s +++ b/asm/non_matchings/code_800AF9B0/func_800B6AF8.s @@ -1,63 +1,63 @@ -glabel func_8800B6AF8 -/* 0B76F8 800B6AF8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0B76FC 800B6AFC AFBF001C */ sw $ra, 0x1c($sp) -/* 0B7700 800B6B00 0C02D6CB */ jal check_for_controller_pak -/* 0B7704 800B6B04 00002025 */ move $a0, $zero -/* 0B7708 800B6B08 10400034 */ beqz $v0, .L800B6BDC -/* 0B770C 800B6B0C 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 -/* 0B7710 800B6B10 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019 -/* 0B7714 800B6B14 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798 -/* 0B7718 800B6B18 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 -/* 0B771C 800B6B1C 0C0339C8 */ jal osPfsInit -/* 0B7720 800B6B20 00003025 */ move $a2, $zero -/* 0B7724 800B6B24 1440002D */ bnez $v0, .L800B6BDC -/* 0B7728 800B6B28 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B772C 800B6B2C 3C0E800F */ lui $t6, %hi(D_800F2E74) # $t6, 0x800f -/* 0B7730 800B6B30 3C0F8019 */ lui $t7, %hi(D_8018EB84) # $t7, 0x8019 -/* 0B7734 800B6B34 25EFEB84 */ addiu $t7, %lo(D_8018EB84) # addiu $t7, $t7, -0x147c -/* 0B7738 800B6B38 25CE2E74 */ addiu $t6, %lo(D_800F2E74) # addiu $t6, $t6, 0x2e74 -/* 0B773C 800B6B3C 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f -/* 0B7740 800B6B40 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f -/* 0B7744 800B6B44 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f -/* 0B7748 800B6B48 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64 -/* 0B774C 800B6B4C 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2) -/* 0B7750 800B6B50 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1) -/* 0B7754 800B6B54 AFAE0010 */ sw $t6, 0x10($sp) -/* 0B7758 800B6B58 AFAF0014 */ sw $t7, 0x14($sp) -/* 0B775C 800B6B5C 0C033E20 */ jal osPfsFindFile -/* 0B7760 800B6B60 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B7764 800B6B64 1040001D */ beqz $v0, .L800B6BDC -/* 0B7768 800B6B68 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B776C 800B6B6C 3C058019 */ lui $a1, %hi(D_8018EB78) # $a1, 0x8019 -/* 0B7770 800B6B70 3C068019 */ lui $a2, %hi(D_8018EB7C) # $a2, 0x8019 -/* 0B7774 800B6B74 24C6EB7C */ addiu $a2, %lo(D_8018EB7C) # addiu $a2, $a2, -0x1484 -/* 0B7778 800B6B78 24A5EB78 */ addiu $a1, %lo(D_8018EB78) # addiu $a1, $a1, -0x1488 -/* 0B777C 800B6B7C 0C033A38 */ jal osPfsNumFiles -/* 0B7780 800B6B80 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B7784 800B6B84 14400015 */ bnez $v0, .L800B6BDC -/* 0B7788 800B6B88 3C188019 */ lui $t8, %hi(D_8018EB7C) # $t8, 0x8019 -/* 0B778C 800B6B8C 3C198019 */ lui $t9, %hi(D_8018EB78) # $t9, 0x8019 -/* 0B7790 800B6B90 8F39EB78 */ lw $t9, %lo(D_8018EB78)($t9) -/* 0B7794 800B6B94 8F18EB7C */ lw $t8, %lo(D_8018EB7C)($t8) -/* 0B7798 800B6B98 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 -/* 0B779C 800B6B9C 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 -/* 0B77A0 800B6BA0 0319082A */ slt $at, $t8, $t9 -/* 0B77A4 800B6BA4 1020000D */ beqz $at, .L800B6BDC -/* 0B77A8 800B6BA8 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 -/* 0B77AC 800B6BAC 0C033B48 */ jal osPfsFreeBlocks -/* 0B77B0 800B6BB0 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 -/* 0B77B4 800B6BB4 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 -/* 0B77B8 800B6BB8 14400008 */ bnez $v0, .L800B6BDC -/* 0B77BC 800B6BBC 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 -/* 0B77C0 800B6BC0 8CA80000 */ lw $t0, ($a1) -/* 0B77C4 800B6BC4 00084A03 */ sra $t1, $t0, 8 -/* 0B77C8 800B6BC8 29210079 */ slti $at, $t1, 0x79 -/* 0B77CC 800B6BCC 14200003 */ bnez $at, .L800B6BDC -/* 0B77D0 800B6BD0 ACA90000 */ sw $t1, ($a1) -/* 0B77D4 800B6BD4 0C02DA9A */ jal func_800B6A68 -/* 0B77D8 800B6BD8 00000000 */ nop -.L800B6BDC: -/* 0B77DC 800B6BDC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0B77E0 800B6BE0 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0B77E4 800B6BE4 03E00008 */ jr $ra -/* 0B77E8 800B6BE8 00000000 */ nop +glabel func_8800B6AF8 +/* 0B76F8 800B6AF8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 0B76FC 800B6AFC AFBF001C */ sw $ra, 0x1c($sp) +/* 0B7700 800B6B00 0C02D6CB */ jal check_for_controller_pak +/* 0B7704 800B6B04 00002025 */ move $a0, $zero +/* 0B7708 800B6B08 10400034 */ beqz $v0, .L800B6BDC +/* 0B770C 800B6B0C 3C048015 */ lui $a0, %hi(gSIEventMesgQueue) # $a0, 0x8015 +/* 0B7710 800B6B10 3C058019 */ lui $a1, %hi(D_8018E868) # $a1, 0x8019 +/* 0B7714 800B6B14 24A5E868 */ addiu $a1, %lo(D_8018E868) # addiu $a1, $a1, -0x1798 +/* 0B7718 800B6B18 2484F0B8 */ addiu $a0, %lo(gSIEventMesgQueue) # addiu $a0, $a0, -0xf48 +/* 0B771C 800B6B1C 0C0339C8 */ jal osPfsInit +/* 0B7720 800B6B20 00003025 */ move $a2, $zero +/* 0B7724 800B6B24 1440002D */ bnez $v0, .L800B6BDC +/* 0B7728 800B6B28 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 +/* 0B772C 800B6B2C 3C0E800F */ lui $t6, %hi(D_800F2E74) # $t6, 0x800f +/* 0B7730 800B6B30 3C0F8019 */ lui $t7, %hi(D_8018EB84) # $t7, 0x8019 +/* 0B7734 800B6B34 25EFEB84 */ addiu $t7, %lo(D_8018EB84) # addiu $t7, $t7, -0x147c +/* 0B7738 800B6B38 25CE2E74 */ addiu $t6, %lo(D_800F2E74) # addiu $t6, $t6, 0x2e74 +/* 0B773C 800B6B3C 3C05800F */ lui $a1, %hi(D_800E86F0) # $a1, 0x800f +/* 0B7740 800B6B40 3C06800F */ lui $a2, %hi(D_800E86F4) # $a2, 0x800f +/* 0B7744 800B6B44 3C07800F */ lui $a3, %hi(D_800F2E64) # $a3, 0x800f +/* 0B7748 800B6B48 24E72E64 */ addiu $a3, %lo(D_800F2E64) # addiu $a3, $a3, 0x2e64 +/* 0B774C 800B6B4C 8CC686F4 */ lw $a2, %lo(D_800E86F4)($a2) +/* 0B7750 800B6B50 94A586F0 */ lhu $a1, %lo(D_800E86F0)($a1) +/* 0B7754 800B6B54 AFAE0010 */ sw $t6, 0x10($sp) +/* 0B7758 800B6B58 AFAF0014 */ sw $t7, 0x14($sp) +/* 0B775C 800B6B5C 0C033E20 */ jal osPfsFindFile +/* 0B7760 800B6B60 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 +/* 0B7764 800B6B64 1040001D */ beqz $v0, .L800B6BDC +/* 0B7768 800B6B68 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 +/* 0B776C 800B6B6C 3C058019 */ lui $a1, %hi(D_8018EB78) # $a1, 0x8019 +/* 0B7770 800B6B70 3C068019 */ lui $a2, %hi(D_8018EB7C) # $a2, 0x8019 +/* 0B7774 800B6B74 24C6EB7C */ addiu $a2, %lo(D_8018EB7C) # addiu $a2, $a2, -0x1484 +/* 0B7778 800B6B78 24A5EB78 */ addiu $a1, %lo(D_8018EB78) # addiu $a1, $a1, -0x1488 +/* 0B777C 800B6B7C 0C033A38 */ jal osPfsNumFiles +/* 0B7780 800B6B80 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 +/* 0B7784 800B6B84 14400015 */ bnez $v0, .L800B6BDC +/* 0B7788 800B6B88 3C188019 */ lui $t8, %hi(D_8018EB7C) # $t8, 0x8019 +/* 0B778C 800B6B8C 3C198019 */ lui $t9, %hi(D_8018EB78) # $t9, 0x8019 +/* 0B7790 800B6B90 8F39EB78 */ lw $t9, %lo(D_8018EB78)($t9) +/* 0B7794 800B6B94 8F18EB7C */ lw $t8, %lo(D_8018EB7C)($t8) +/* 0B7798 800B6B98 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 +/* 0B779C 800B6B9C 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 +/* 0B77A0 800B6BA0 0319082A */ slt $at, $t8, $t9 +/* 0B77A4 800B6BA4 1020000D */ beqz $at, .L800B6BDC +/* 0B77A8 800B6BA8 3C048019 */ lui $a0, %hi(D_8018E868) # $a0, 0x8019 +/* 0B77AC 800B6BAC 0C033B48 */ jal osPfsFreeBlocks +/* 0B77B0 800B6BB0 2484E868 */ addiu $a0, %lo(D_8018E868) # addiu $a0, $a0, -0x1798 +/* 0B77B4 800B6BB4 3C058019 */ lui $a1, %hi(gControllerPakNumPagesFree) # $a1, 0x8019 +/* 0B77B8 800B6BB8 14400008 */ bnez $v0, .L800B6BDC +/* 0B77BC 800B6BBC 24A5EB80 */ addiu $a1, %lo(gControllerPakNumPagesFree) # addiu $a1, $a1, -0x1480 +/* 0B77C0 800B6BC0 8CA80000 */ lw $t0, ($a1) +/* 0B77C4 800B6BC4 00084A03 */ sra $t1, $t0, 8 +/* 0B77C8 800B6BC8 29210079 */ slti $at, $t1, 0x79 +/* 0B77CC 800B6BCC 14200003 */ bnez $at, .L800B6BDC +/* 0B77D0 800B6BD0 ACA90000 */ sw $t1, ($a1) +/* 0B77D4 800B6BD4 0C02DA9A */ jal func_800B6A68 +/* 0B77D8 800B6BD8 00000000 */ nop +.L800B6BDC: +/* 0B77DC 800B6BDC 8FBF001C */ lw $ra, 0x1c($sp) +/* 0B77E0 800B6BE0 27BD0020 */ addiu $sp, $sp, 0x20 +/* 0B77E4 800B6BE4 03E00008 */ jr $ra +/* 0B77E8 800B6BE8 00000000 */ nop diff --git a/asm/non_matchings/code_80281FA0/func_80282454.s b/asm/non_matchings/code_80281FA0/func_80282454.s index 313bd22e7..42f25a27d 100644 --- a/asm/non_matchings/code_80281FA0/func_80282454.s +++ b/asm/non_matchings/code_80281FA0/func_80282454.s @@ -30,12 +30,12 @@ glabel func_80282454 /* 125B04 802824C4 0C033850 */ jal sqrtf /* 125B08 802824C8 E5C00000 */ swc1 $f0, ($t6) /* 125B0C 802824CC C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 125B10 802824D0 0C0ADE0C */ jal func_802B7830 +/* 125B10 802824D0 0C0ADE0C */ jal atan2s /* 125B14 802824D4 46000386 */ mov.s $f14, $f0 /* 125B18 802824D8 8FAF003C */ lw $t7, 0x3c($sp) /* 125B1C 802824DC A5E20000 */ sh $v0, ($t7) /* 125B20 802824E0 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 125B24 802824E4 0C0ADE0C */ jal func_802B7830 +/* 125B24 802824E4 0C0ADE0C */ jal atan2s /* 125B28 802824E8 C7AC002C */ lwc1 $f12, 0x2c($sp) /* 125B2C 802824EC 8FB80040 */ lw $t8, 0x40($sp) /* 125B30 802824F0 A7020000 */ sh $v0, ($t8) diff --git a/asm/non_matchings/crash_screen/crash_screen_draw_info.s b/asm/non_matchings/crash_screen/crash_screen_draw_info.s index 443833306..c0284df44 100644 --- a/asm/non_matchings/crash_screen/crash_screen_draw_info.s +++ b/asm/non_matchings/crash_screen/crash_screen_draw_info.s @@ -1,146 +1,146 @@ -glabel crash_screen_draw_info -/* 004E98 80004298 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 004E9C 8000429C AFB50028 */ sw $s5, 0x28($sp) -/* 004EA0 800042A0 AFB30020 */ sw $s3, 0x20($sp) -/* 004EA4 800042A4 00A09825 */ move $s3, $a1 -/* 004EA8 800042A8 0080A825 */ move $s5, $a0 -/* 004EAC 800042AC 3C09800E */ lui $t1, %hi(D_800DC670) # $t1, 0x800e -/* 004EB0 800042B0 AFBF002C */ sw $ra, 0x2c($sp) -/* 004EB4 800042B4 AFB40024 */ sw $s4, 0x24($sp) -/* 004EB8 800042B8 AFB2001C */ sw $s2, 0x1c($sp) -/* 004EBC 800042BC AFB10018 */ sw $s1, 0x18($sp) -/* 004EC0 800042C0 AFB00014 */ sw $s0, 0x14($sp) -/* 004EC4 800042C4 2529C670 */ addiu $t1, %lo(D_800DC670) # addiu $t1, $t1, -0x3990 -/* 004EC8 800042C8 24040001 */ li $a0, 1 -/* 004ECC 800042CC 24050078 */ li $a1, 120 -/* 004ED0 800042D0 00004025 */ move $t0, $zero -/* 004ED4 800042D4 240A0018 */ li $t2, 24 -/* 004ED8 800042D8 8D2E0000 */ lw $t6, ($t1) -.L800042DC: -/* 004EDC 800042DC 00003025 */ move $a2, $zero -/* 004EE0 800042E0 01CA0019 */ multu $t6, $t2 -/* 004EE4 800042E4 00007812 */ mflo $t7 -/* 004EE8 800042E8 01E81021 */ addu $v0, $t7, $t0 -/* 004EEC 800042EC 24420030 */ addiu $v0, $v0, 0x30 -/* 004EF0 800042F0 0002C080 */ sll $t8, $v0, 2 -/* 004EF4 800042F4 0302C021 */ addu $t8, $t8, $v0 -/* 004EF8 800042F8 0018C9C0 */ sll $t9, $t8, 7 -/* 004EFC 800042FC 02B93821 */ addu $a3, $s5, $t9 -.L80004300: -/* 004F00 80004300 00001825 */ move $v1, $zero -/* 004F04 80004304 00E01025 */ move $v0, $a3 -.L80004308: -/* 004F08 80004308 24630004 */ addiu $v1, $v1, 4 -/* 004F0C 8000430C A44400CA */ sh $a0, 0xca($v0) -/* 004F10 80004310 A44400CC */ sh $a0, 0xcc($v0) -/* 004F14 80004314 A44400CE */ sh $a0, 0xce($v0) -/* 004F18 80004318 24420008 */ addiu $v0, $v0, 8 -/* 004F1C 8000431C 1465FFFA */ bne $v1, $a1, .L80004308 -/* 004F20 80004320 A44400C0 */ sh $a0, 0xc0($v0) -/* 004F24 80004324 24C60001 */ addiu $a2, $a2, 1 -/* 004F28 80004328 28C10010 */ slti $at, $a2, 0x10 -/* 004F2C 8000432C 1420FFF4 */ bnez $at, .L80004300 -/* 004F30 80004330 24E70280 */ addiu $a3, $a3, 0x280 -/* 004F34 80004334 25080014 */ addiu $t0, $t0, 0x14 -/* 004F38 80004338 2901003C */ slti $at, $t0, 0x3c -/* 004F3C 8000433C 5420FFE7 */ bnel $at, $zero, .L800042DC -/* 004F40 80004340 8D2E0000 */ lw $t6, ($t1) -/* 004F44 80004344 8D2B0000 */ lw $t3, ($t1) -/* 004F48 80004348 8E670014 */ lw $a3, 0x14($s3) -/* 004F4C 8000434C 02A02025 */ move $a0, $s5 -/* 004F50 80004350 016A0019 */ multu $t3, $t2 -/* 004F54 80004354 30EC000F */ andi $t4, $a3, 0xf -/* 004F58 80004358 01803825 */ move $a3, $t4 -/* 004F5C 8000435C 2405006C */ li $a1, 108 -/* 004F60 80004360 00001012 */ mflo $v0 -/* 004F64 80004364 24500035 */ addiu $s0, $v0, 0x35 -/* 004F68 80004368 0C001030 */ jal crash_screen_draw_glyph -/* 004F6C 8000436C 02003025 */ move $a2, $s0 -/* 004F70 80004370 02A02025 */ move $a0, $s5 -/* 004F74 80004374 24050074 */ li $a1, 116 -/* 004F78 80004378 02003025 */ move $a2, $s0 -/* 004F7C 8000437C 0C001030 */ jal crash_screen_draw_glyph -/* 004F80 80004380 24070010 */ li $a3, 16 -/* 004F84 80004384 26720020 */ addiu $s2, $s3, 0x20 -/* 004F88 80004388 8E5400FC */ lw $s4, 0xfc($s2) -/* 004F8C 8000438C 241100B4 */ li $s1, 180 -.L80004390: -/* 004F90 80004390 02A02025 */ move $a0, $s5 -/* 004F94 80004394 02202825 */ move $a1, $s1 -/* 004F98 80004398 02003025 */ move $a2, $s0 -/* 004F9C 8000439C 0C001030 */ jal crash_screen_draw_glyph -/* 004FA0 800043A0 3287000F */ andi $a3, $s4, 0xf -/* 004FA4 800043A4 2631FFF8 */ addiu $s1, $s1, -8 -/* 004FA8 800043A8 2A21007C */ slti $at, $s1, 0x7c -/* 004FAC 800043AC 00146902 */ srl $t5, $s4, 4 -/* 004FB0 800043B0 1020FFF7 */ beqz $at, .L80004390 -/* 004FB4 800043B4 01A0A025 */ move $s4, $t5 -/* 004FB8 800043B8 8E510100 */ lw $s1, 0x100($s2) -/* 004FBC 800043BC 02A02025 */ move $a0, $s5 -/* 004FC0 800043C0 240500BC */ li $a1, 188 -/* 004FC4 800043C4 00117082 */ srl $t6, $s1, 2 -/* 004FC8 800043C8 31D1001F */ andi $s1, $t6, 0x1f -/* 004FCC 800043CC 02003025 */ move $a2, $s0 -/* 004FD0 800043D0 0C001030 */ jal crash_screen_draw_glyph -/* 004FD4 800043D4 24070010 */ li $a3, 16 -/* 004FD8 800043D8 02A02025 */ move $a0, $s5 -/* 004FDC 800043DC 240500C4 */ li $a1, 196 -/* 004FE0 800043E0 02003025 */ move $a2, $s0 -/* 004FE4 800043E4 0C001030 */ jal crash_screen_draw_glyph -/* 004FE8 800043E8 00113902 */ srl $a3, $s1, 4 -/* 004FEC 800043EC 02A02025 */ move $a0, $s5 -/* 004FF0 800043F0 240500CC */ li $a1, 204 -/* 004FF4 800043F4 02003025 */ move $a2, $s0 -/* 004FF8 800043F8 0C001030 */ jal crash_screen_draw_glyph -/* 004FFC 800043FC 3227000F */ andi $a3, $s1, 0xf -/* 005000 80004400 8E5400E4 */ lw $s4, 0xe4($s2) -/* 005004 80004404 241100B4 */ li $s1, 180 -.L80004408: -/* 005008 80004408 02A02025 */ move $a0, $s5 -/* 00500C 8000440C 02202825 */ move $a1, $s1 -/* 005010 80004410 24060049 */ li $a2, 73 -/* 005014 80004414 0C001030 */ jal crash_screen_draw_glyph -/* 005018 80004418 3287000F */ andi $a3, $s4, 0xf -/* 00501C 8000441C 2631FFF8 */ addiu $s1, $s1, -8 -/* 005020 80004420 2A21007C */ slti $at, $s1, 0x7c -/* 005024 80004424 00145902 */ srl $t3, $s4, 4 -/* 005028 80004428 1020FFF7 */ beqz $at, .L80004408 -/* 00502C 8000442C 0160A025 */ move $s4, $t3 -/* 005030 80004430 8E4200FC */ lw $v0, 0xfc($s2) -/* 005034 80004434 2401FFFC */ li $at, -4 -/* 005038 80004438 241100B4 */ li $s1, 180 -/* 00503C 8000443C 00416024 */ and $t4, $v0, $at -/* 005040 80004440 3C018000 */ lui $at, (0x80000001 >> 16) # lui $at, 0x8000 -/* 005044 80004444 34210001 */ ori $at, (0x80000001 & 0xFFFF) # ori $at, $at, 1 -/* 005048 80004448 0181082B */ sltu $at, $t4, $at -/* 00504C 8000444C 14200006 */ bnez $at, .L80004468 -/* 005050 80004450 3C01803F */ lui $at, (0x803FFF7F >> 16) # lui $at, 0x803f -/* 005054 80004454 3421FF7F */ ori $at, (0x803FFF7F & 0xFFFF) # ori $at, $at, 0xff7f -/* 005058 80004458 0181082B */ sltu $at, $t4, $at -/* 00505C 8000445C 10200002 */ beqz $at, .L80004468 -/* 005060 80004460 00000000 */ nop -/* 005064 80004464 8D940000 */ lw $s4, ($t4) -.L80004468: -/* 005068 80004468 02A02025 */ move $a0, $s5 -/* 00506C 8000446C 02202825 */ move $a1, $s1 -/* 005070 80004470 2406005D */ li $a2, 93 -/* 005074 80004474 0C001030 */ jal crash_screen_draw_glyph -/* 005078 80004478 3287000F */ andi $a3, $s4, 0xf -/* 00507C 8000447C 2631FFF8 */ addiu $s1, $s1, -8 -/* 005080 80004480 2A21007C */ slti $at, $s1, 0x7c -/* 005084 80004484 00146902 */ srl $t5, $s4, 4 -/* 005088 80004488 1020FFF7 */ beqz $at, .L80004468 -/* 00508C 8000448C 01A0A025 */ move $s4, $t5 -/* 005090 80004490 0C033624 */ jal osWritebackDCacheAll -/* 005094 80004494 00000000 */ nop -/* 005098 80004498 0C033684 */ jal osViSwapBuffer -/* 00509C 8000449C 02A02025 */ move $a0, $s5 -/* 0050A0 800044A0 8FBF002C */ lw $ra, 0x2c($sp) -/* 0050A4 800044A4 8FB00014 */ lw $s0, 0x14($sp) -/* 0050A8 800044A8 8FB10018 */ lw $s1, 0x18($sp) -/* 0050AC 800044AC 8FB2001C */ lw $s2, 0x1c($sp) -/* 0050B0 800044B0 8FB30020 */ lw $s3, 0x20($sp) -/* 0050B4 800044B4 8FB40024 */ lw $s4, 0x24($sp) -/* 0050B8 800044B8 8FB50028 */ lw $s5, 0x28($sp) -/* 0050BC 800044BC 03E00008 */ jr $ra -/* 0050C0 800044C0 27BD0030 */ addiu $sp, $sp, 0x30 +glabel crash_screen_draw_info +/* 004E98 80004298 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004E9C 8000429C AFB50028 */ sw $s5, 0x28($sp) +/* 004EA0 800042A0 AFB30020 */ sw $s3, 0x20($sp) +/* 004EA4 800042A4 00A09825 */ move $s3, $a1 +/* 004EA8 800042A8 0080A825 */ move $s5, $a0 +/* 004EAC 800042AC 3C09800E */ lui $t1, %hi(D_800DC670) # $t1, 0x800e +/* 004EB0 800042B0 AFBF002C */ sw $ra, 0x2c($sp) +/* 004EB4 800042B4 AFB40024 */ sw $s4, 0x24($sp) +/* 004EB8 800042B8 AFB2001C */ sw $s2, 0x1c($sp) +/* 004EBC 800042BC AFB10018 */ sw $s1, 0x18($sp) +/* 004EC0 800042C0 AFB00014 */ sw $s0, 0x14($sp) +/* 004EC4 800042C4 2529C670 */ addiu $t1, %lo(D_800DC670) # addiu $t1, $t1, -0x3990 +/* 004EC8 800042C8 24040001 */ li $a0, 1 +/* 004ECC 800042CC 24050078 */ li $a1, 120 +/* 004ED0 800042D0 00004025 */ move $t0, $zero +/* 004ED4 800042D4 240A0018 */ li $t2, 24 +/* 004ED8 800042D8 8D2E0000 */ lw $t6, ($t1) +.L800042DC: +/* 004EDC 800042DC 00003025 */ move $a2, $zero +/* 004EE0 800042E0 01CA0019 */ multu $t6, $t2 +/* 004EE4 800042E4 00007812 */ mflo $t7 +/* 004EE8 800042E8 01E81021 */ addu $v0, $t7, $t0 +/* 004EEC 800042EC 24420030 */ addiu $v0, $v0, 0x30 +/* 004EF0 800042F0 0002C080 */ sll $t8, $v0, 2 +/* 004EF4 800042F4 0302C021 */ addu $t8, $t8, $v0 +/* 004EF8 800042F8 0018C9C0 */ sll $t9, $t8, 7 +/* 004EFC 800042FC 02B93821 */ addu $a3, $s5, $t9 +.L80004300: +/* 004F00 80004300 00001825 */ move $v1, $zero +/* 004F04 80004304 00E01025 */ move $v0, $a3 +.L80004308: +/* 004F08 80004308 24630004 */ addiu $v1, $v1, 4 +/* 004F0C 8000430C A44400CA */ sh $a0, 0xca($v0) +/* 004F10 80004310 A44400CC */ sh $a0, 0xcc($v0) +/* 004F14 80004314 A44400CE */ sh $a0, 0xce($v0) +/* 004F18 80004318 24420008 */ addiu $v0, $v0, 8 +/* 004F1C 8000431C 1465FFFA */ bne $v1, $a1, .L80004308 +/* 004F20 80004320 A44400C0 */ sh $a0, 0xc0($v0) +/* 004F24 80004324 24C60001 */ addiu $a2, $a2, 1 +/* 004F28 80004328 28C10010 */ slti $at, $a2, 0x10 +/* 004F2C 8000432C 1420FFF4 */ bnez $at, .L80004300 +/* 004F30 80004330 24E70280 */ addiu $a3, $a3, 0x280 +/* 004F34 80004334 25080014 */ addiu $t0, $t0, 0x14 +/* 004F38 80004338 2901003C */ slti $at, $t0, 0x3c +/* 004F3C 8000433C 5420FFE7 */ bnel $at, $zero, .L800042DC +/* 004F40 80004340 8D2E0000 */ lw $t6, ($t1) +/* 004F44 80004344 8D2B0000 */ lw $t3, ($t1) +/* 004F48 80004348 8E670014 */ lw $a3, 0x14($s3) +/* 004F4C 8000434C 02A02025 */ move $a0, $s5 +/* 004F50 80004350 016A0019 */ multu $t3, $t2 +/* 004F54 80004354 30EC000F */ andi $t4, $a3, 0xf +/* 004F58 80004358 01803825 */ move $a3, $t4 +/* 004F5C 8000435C 2405006C */ li $a1, 108 +/* 004F60 80004360 00001012 */ mflo $v0 +/* 004F64 80004364 24500035 */ addiu $s0, $v0, 0x35 +/* 004F68 80004368 0C001030 */ jal crash_screen_draw_glyph +/* 004F6C 8000436C 02003025 */ move $a2, $s0 +/* 004F70 80004370 02A02025 */ move $a0, $s5 +/* 004F74 80004374 24050074 */ li $a1, 116 +/* 004F78 80004378 02003025 */ move $a2, $s0 +/* 004F7C 8000437C 0C001030 */ jal crash_screen_draw_glyph +/* 004F80 80004380 24070010 */ li $a3, 16 +/* 004F84 80004384 26720020 */ addiu $s2, $s3, 0x20 +/* 004F88 80004388 8E5400FC */ lw $s4, 0xfc($s2) +/* 004F8C 8000438C 241100B4 */ li $s1, 180 +.L80004390: +/* 004F90 80004390 02A02025 */ move $a0, $s5 +/* 004F94 80004394 02202825 */ move $a1, $s1 +/* 004F98 80004398 02003025 */ move $a2, $s0 +/* 004F9C 8000439C 0C001030 */ jal crash_screen_draw_glyph +/* 004FA0 800043A0 3287000F */ andi $a3, $s4, 0xf +/* 004FA4 800043A4 2631FFF8 */ addiu $s1, $s1, -8 +/* 004FA8 800043A8 2A21007C */ slti $at, $s1, 0x7c +/* 004FAC 800043AC 00146902 */ srl $t5, $s4, 4 +/* 004FB0 800043B0 1020FFF7 */ beqz $at, .L80004390 +/* 004FB4 800043B4 01A0A025 */ move $s4, $t5 +/* 004FB8 800043B8 8E510100 */ lw $s1, 0x100($s2) +/* 004FBC 800043BC 02A02025 */ move $a0, $s5 +/* 004FC0 800043C0 240500BC */ li $a1, 188 +/* 004FC4 800043C4 00117082 */ srl $t6, $s1, 2 +/* 004FC8 800043C8 31D1001F */ andi $s1, $t6, 0x1f +/* 004FCC 800043CC 02003025 */ move $a2, $s0 +/* 004FD0 800043D0 0C001030 */ jal crash_screen_draw_glyph +/* 004FD4 800043D4 24070010 */ li $a3, 16 +/* 004FD8 800043D8 02A02025 */ move $a0, $s5 +/* 004FDC 800043DC 240500C4 */ li $a1, 196 +/* 004FE0 800043E0 02003025 */ move $a2, $s0 +/* 004FE4 800043E4 0C001030 */ jal crash_screen_draw_glyph +/* 004FE8 800043E8 00113902 */ srl $a3, $s1, 4 +/* 004FEC 800043EC 02A02025 */ move $a0, $s5 +/* 004FF0 800043F0 240500CC */ li $a1, 204 +/* 004FF4 800043F4 02003025 */ move $a2, $s0 +/* 004FF8 800043F8 0C001030 */ jal crash_screen_draw_glyph +/* 004FFC 800043FC 3227000F */ andi $a3, $s1, 0xf +/* 005000 80004400 8E5400E4 */ lw $s4, 0xe4($s2) +/* 005004 80004404 241100B4 */ li $s1, 180 +.L80004408: +/* 005008 80004408 02A02025 */ move $a0, $s5 +/* 00500C 8000440C 02202825 */ move $a1, $s1 +/* 005010 80004410 24060049 */ li $a2, 73 +/* 005014 80004414 0C001030 */ jal crash_screen_draw_glyph +/* 005018 80004418 3287000F */ andi $a3, $s4, 0xf +/* 00501C 8000441C 2631FFF8 */ addiu $s1, $s1, -8 +/* 005020 80004420 2A21007C */ slti $at, $s1, 0x7c +/* 005024 80004424 00145902 */ srl $t3, $s4, 4 +/* 005028 80004428 1020FFF7 */ beqz $at, .L80004408 +/* 00502C 8000442C 0160A025 */ move $s4, $t3 +/* 005030 80004430 8E4200FC */ lw $v0, 0xfc($s2) +/* 005034 80004434 2401FFFC */ li $at, -4 +/* 005038 80004438 241100B4 */ li $s1, 180 +/* 00503C 8000443C 00416024 */ and $t4, $v0, $at +/* 005040 80004440 3C018000 */ lui $at, (0x80000001 >> 16) # lui $at, 0x8000 +/* 005044 80004444 34210001 */ ori $at, (0x80000001 & 0xFFFF) # ori $at, $at, 1 +/* 005048 80004448 0181082B */ sltu $at, $t4, $at +/* 00504C 8000444C 14200006 */ bnez $at, .L80004468 +/* 005050 80004450 3C01803F */ lui $at, (0x803FFF7F >> 16) # lui $at, 0x803f +/* 005054 80004454 3421FF7F */ ori $at, (0x803FFF7F & 0xFFFF) # ori $at, $at, 0xff7f +/* 005058 80004458 0181082B */ sltu $at, $t4, $at +/* 00505C 8000445C 10200002 */ beqz $at, .L80004468 +/* 005060 80004460 00000000 */ nop +/* 005064 80004464 8D940000 */ lw $s4, ($t4) +.L80004468: +/* 005068 80004468 02A02025 */ move $a0, $s5 +/* 00506C 8000446C 02202825 */ move $a1, $s1 +/* 005070 80004470 2406005D */ li $a2, 93 +/* 005074 80004474 0C001030 */ jal crash_screen_draw_glyph +/* 005078 80004478 3287000F */ andi $a3, $s4, 0xf +/* 00507C 8000447C 2631FFF8 */ addiu $s1, $s1, -8 +/* 005080 80004480 2A21007C */ slti $at, $s1, 0x7c +/* 005084 80004484 00146902 */ srl $t5, $s4, 4 +/* 005088 80004488 1020FFF7 */ beqz $at, .L80004468 +/* 00508C 8000448C 01A0A025 */ move $s4, $t5 +/* 005090 80004490 0C033624 */ jal osWritebackDCacheAll +/* 005094 80004494 00000000 */ nop +/* 005098 80004498 0C033684 */ jal osViSwapBuffer +/* 00509C 8000449C 02A02025 */ move $a0, $s5 +/* 0050A0 800044A0 8FBF002C */ lw $ra, 0x2c($sp) +/* 0050A4 800044A4 8FB00014 */ lw $s0, 0x14($sp) +/* 0050A8 800044A8 8FB10018 */ lw $s1, 0x18($sp) +/* 0050AC 800044AC 8FB2001C */ lw $s2, 0x1c($sp) +/* 0050B0 800044B0 8FB30020 */ lw $s3, 0x20($sp) +/* 0050B4 800044B4 8FB40024 */ lw $s4, 0x24($sp) +/* 0050B8 800044B8 8FB50028 */ lw $s5, 0x28($sp) +/* 0050BC 800044BC 03E00008 */ jr $ra +/* 0050C0 800044C0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/crash_screen/crash_screen_draw_square.s b/asm/non_matchings/crash_screen/crash_screen_draw_square.s index 8fc7e89b5..3bb432a8f 100644 --- a/asm/non_matchings/crash_screen/crash_screen_draw_square.s +++ b/asm/non_matchings/crash_screen/crash_screen_draw_square.s @@ -1,100 +1,100 @@ -glabel crash_screen_draw_square -/* 004D44 80004144 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 004D48 80004148 AFB40028 */ sw $s4, 0x28($sp) -/* 004D4C 8000414C AFB30024 */ sw $s3, 0x24($sp) -/* 004D50 80004150 AFB20020 */ sw $s2, 0x20($sp) -/* 004D54 80004154 AFB00018 */ sw $s0, 0x18($sp) -/* 004D58 80004158 00809825 */ move $s3, $a0 -/* 004D5C 8000415C AFBF002C */ sw $ra, 0x2c($sp) -/* 004D60 80004160 AFB1001C */ sw $s1, 0x1c($sp) -/* 004D64 80004164 2410002E */ li $s0, 46 -/* 004D68 80004168 24120028 */ li $s2, 40 -/* 004D6C 8000416C 2414002C */ li $s4, 44 -/* 004D70 80004170 240D0006 */ li $t5, 6 -/* 004D74 80004174 240C0006 */ li $t4, 6 -/* 004D78 80004178 240B0006 */ li $t3, 6 -/* 004D7C 8000417C 240A0006 */ li $t2, 6 -/* 004D80 80004180 24090006 */ li $t1, 6 -/* 004D84 80004184 3407FFFF */ li $a3, 65535 -/* 004D88 80004188 3406F801 */ li $a2, 63489 -.L8000418C: -/* 004D8C 8000418C 0250082A */ slt $at, $s2, $s0 -/* 004D90 80004190 10200032 */ beqz $at, .L8000425C -/* 004D94 80004194 02408825 */ move $s1, $s2 -/* 004D98 80004198 0250082A */ slt $at, $s2, $s0 -.L8000419C: -/* 004D9C 8000419C 1020002C */ beqz $at, .L80004250 -/* 004DA0 800041A0 02401825 */ move $v1, $s2 -/* 004DA4 800041A4 00117080 */ sll $t6, $s1, 2 -/* 004DA8 800041A8 01D17021 */ addu $t6, $t6, $s1 -/* 004DAC 800041AC 02122023 */ subu $a0, $s0, $s2 -/* 004DB0 800041B0 30880003 */ andi $t0, $a0, 3 -/* 004DB4 800041B4 000E79C0 */ sll $t7, $t6, 7 -/* 004DB8 800041B8 1100000C */ beqz $t0, .L800041EC -/* 004DBC 800041BC 026FF821 */ addu $ra, $s3, $t7 -/* 004DC0 800041C0 0003C040 */ sll $t8, $v1, 1 -/* 004DC4 800041C4 03F81021 */ addu $v0, $ra, $t8 -/* 004DC8 800041C8 01122821 */ addu $a1, $t0, $s2 -.L800041CC: -/* 004DCC 800041CC 15240003 */ bne $t1, $a0, .L800041DC -/* 004DD0 800041D0 24630001 */ addiu $v1, $v1, 1 -/* 004DD4 800041D4 10000002 */ b .L800041E0 -/* 004DD8 800041D8 A4460000 */ sh $a2, ($v0) -.L800041DC: -/* 004DDC 800041DC A4470000 */ sh $a3, ($v0) -.L800041E0: -/* 004DE0 800041E0 14A3FFFA */ bne $a1, $v1, .L800041CC -/* 004DE4 800041E4 24420002 */ addiu $v0, $v0, 2 -/* 004DE8 800041E8 10700019 */ beq $v1, $s0, .L80004250 -.L800041EC: -/* 004DEC 800041EC 00032840 */ sll $a1, $v1, 1 -/* 004DF0 800041F0 03E51021 */ addu $v0, $ra, $a1 -/* 004DF4 800041F4 00104040 */ sll $t0, $s0, 1 -.L800041F8: -/* 004DF8 800041F8 15440003 */ bne $t2, $a0, .L80004208 -/* 004DFC 800041FC 24A50008 */ addiu $a1, $a1, 8 -/* 004E00 80004200 10000002 */ b .L8000420C -/* 004E04 80004204 A4460000 */ sh $a2, ($v0) -.L80004208: -/* 004E08 80004208 A4470000 */ sh $a3, ($v0) -.L8000420C: -/* 004E0C 8000420C 55640004 */ bnel $t3, $a0, .L80004220 -/* 004E10 80004210 A4470002 */ sh $a3, 2($v0) -/* 004E14 80004214 10000002 */ b .L80004220 -/* 004E18 80004218 A4460002 */ sh $a2, 2($v0) -/* 004E1C 8000421C A4470002 */ sh $a3, 2($v0) -.L80004220: -/* 004E20 80004220 55840004 */ bnel $t4, $a0, .L80004234 -/* 004E24 80004224 A4470004 */ sh $a3, 4($v0) -/* 004E28 80004228 10000002 */ b .L80004234 -/* 004E2C 8000422C A4460004 */ sh $a2, 4($v0) -/* 004E30 80004230 A4470004 */ sh $a3, 4($v0) -.L80004234: -/* 004E34 80004234 55A40004 */ bnel $t5, $a0, .L80004248 -/* 004E38 80004238 A4470006 */ sh $a3, 6($v0) -/* 004E3C 8000423C 10000002 */ b .L80004248 -/* 004E40 80004240 A4460006 */ sh $a2, 6($v0) -/* 004E44 80004244 A4470006 */ sh $a3, 6($v0) -.L80004248: -/* 004E48 80004248 14A8FFEB */ bne $a1, $t0, .L800041F8 -/* 004E4C 8000424C 24420008 */ addiu $v0, $v0, 8 -.L80004250: -/* 004E50 80004250 26310001 */ addiu $s1, $s1, 1 -/* 004E54 80004254 5630FFD1 */ bnel $s1, $s0, .L8000419C -/* 004E58 80004258 0250082A */ slt $at, $s2, $s0 -.L8000425C: -/* 004E5C 8000425C 2610FFFF */ addiu $s0, $s0, -1 -/* 004E60 80004260 1690FFCA */ bne $s4, $s0, .L8000418C -/* 004E64 80004264 26520001 */ addiu $s2, $s2, 1 -/* 004E68 80004268 0C033624 */ jal osWritebackDCacheAll -/* 004E6C 8000426C 00000000 */ nop -/* 004E70 80004270 0C033684 */ jal osViSwapBuffer -/* 004E74 80004274 02602025 */ move $a0, $s3 -/* 004E78 80004278 8FBF002C */ lw $ra, 0x2c($sp) -/* 004E7C 8000427C 8FB00018 */ lw $s0, 0x18($sp) -/* 004E80 80004280 8FB1001C */ lw $s1, 0x1c($sp) -/* 004E84 80004284 8FB20020 */ lw $s2, 0x20($sp) -/* 004E88 80004288 8FB30024 */ lw $s3, 0x24($sp) -/* 004E8C 8000428C 8FB40028 */ lw $s4, 0x28($sp) -/* 004E90 80004290 03E00008 */ jr $ra -/* 004E94 80004294 27BD0030 */ addiu $sp, $sp, 0x30 +glabel crash_screen_draw_square +/* 004D44 80004144 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 004D48 80004148 AFB40028 */ sw $s4, 0x28($sp) +/* 004D4C 8000414C AFB30024 */ sw $s3, 0x24($sp) +/* 004D50 80004150 AFB20020 */ sw $s2, 0x20($sp) +/* 004D54 80004154 AFB00018 */ sw $s0, 0x18($sp) +/* 004D58 80004158 00809825 */ move $s3, $a0 +/* 004D5C 8000415C AFBF002C */ sw $ra, 0x2c($sp) +/* 004D60 80004160 AFB1001C */ sw $s1, 0x1c($sp) +/* 004D64 80004164 2410002E */ li $s0, 46 +/* 004D68 80004168 24120028 */ li $s2, 40 +/* 004D6C 8000416C 2414002C */ li $s4, 44 +/* 004D70 80004170 240D0006 */ li $t5, 6 +/* 004D74 80004174 240C0006 */ li $t4, 6 +/* 004D78 80004178 240B0006 */ li $t3, 6 +/* 004D7C 8000417C 240A0006 */ li $t2, 6 +/* 004D80 80004180 24090006 */ li $t1, 6 +/* 004D84 80004184 3407FFFF */ li $a3, 65535 +/* 004D88 80004188 3406F801 */ li $a2, 63489 +.L8000418C: +/* 004D8C 8000418C 0250082A */ slt $at, $s2, $s0 +/* 004D90 80004190 10200032 */ beqz $at, .L8000425C +/* 004D94 80004194 02408825 */ move $s1, $s2 +/* 004D98 80004198 0250082A */ slt $at, $s2, $s0 +.L8000419C: +/* 004D9C 8000419C 1020002C */ beqz $at, .L80004250 +/* 004DA0 800041A0 02401825 */ move $v1, $s2 +/* 004DA4 800041A4 00117080 */ sll $t6, $s1, 2 +/* 004DA8 800041A8 01D17021 */ addu $t6, $t6, $s1 +/* 004DAC 800041AC 02122023 */ subu $a0, $s0, $s2 +/* 004DB0 800041B0 30880003 */ andi $t0, $a0, 3 +/* 004DB4 800041B4 000E79C0 */ sll $t7, $t6, 7 +/* 004DB8 800041B8 1100000C */ beqz $t0, .L800041EC +/* 004DBC 800041BC 026FF821 */ addu $ra, $s3, $t7 +/* 004DC0 800041C0 0003C040 */ sll $t8, $v1, 1 +/* 004DC4 800041C4 03F81021 */ addu $v0, $ra, $t8 +/* 004DC8 800041C8 01122821 */ addu $a1, $t0, $s2 +.L800041CC: +/* 004DCC 800041CC 15240003 */ bne $t1, $a0, .L800041DC +/* 004DD0 800041D0 24630001 */ addiu $v1, $v1, 1 +/* 004DD4 800041D4 10000002 */ b .L800041E0 +/* 004DD8 800041D8 A4460000 */ sh $a2, ($v0) +.L800041DC: +/* 004DDC 800041DC A4470000 */ sh $a3, ($v0) +.L800041E0: +/* 004DE0 800041E0 14A3FFFA */ bne $a1, $v1, .L800041CC +/* 004DE4 800041E4 24420002 */ addiu $v0, $v0, 2 +/* 004DE8 800041E8 10700019 */ beq $v1, $s0, .L80004250 +.L800041EC: +/* 004DEC 800041EC 00032840 */ sll $a1, $v1, 1 +/* 004DF0 800041F0 03E51021 */ addu $v0, $ra, $a1 +/* 004DF4 800041F4 00104040 */ sll $t0, $s0, 1 +.L800041F8: +/* 004DF8 800041F8 15440003 */ bne $t2, $a0, .L80004208 +/* 004DFC 800041FC 24A50008 */ addiu $a1, $a1, 8 +/* 004E00 80004200 10000002 */ b .L8000420C +/* 004E04 80004204 A4460000 */ sh $a2, ($v0) +.L80004208: +/* 004E08 80004208 A4470000 */ sh $a3, ($v0) +.L8000420C: +/* 004E0C 8000420C 55640004 */ bnel $t3, $a0, .L80004220 +/* 004E10 80004210 A4470002 */ sh $a3, 2($v0) +/* 004E14 80004214 10000002 */ b .L80004220 +/* 004E18 80004218 A4460002 */ sh $a2, 2($v0) +/* 004E1C 8000421C A4470002 */ sh $a3, 2($v0) +.L80004220: +/* 004E20 80004220 55840004 */ bnel $t4, $a0, .L80004234 +/* 004E24 80004224 A4470004 */ sh $a3, 4($v0) +/* 004E28 80004228 10000002 */ b .L80004234 +/* 004E2C 8000422C A4460004 */ sh $a2, 4($v0) +/* 004E30 80004230 A4470004 */ sh $a3, 4($v0) +.L80004234: +/* 004E34 80004234 55A40004 */ bnel $t5, $a0, .L80004248 +/* 004E38 80004238 A4470006 */ sh $a3, 6($v0) +/* 004E3C 8000423C 10000002 */ b .L80004248 +/* 004E40 80004240 A4460006 */ sh $a2, 6($v0) +/* 004E44 80004244 A4470006 */ sh $a3, 6($v0) +.L80004248: +/* 004E48 80004248 14A8FFEB */ bne $a1, $t0, .L800041F8 +/* 004E4C 8000424C 24420008 */ addiu $v0, $v0, 8 +.L80004250: +/* 004E50 80004250 26310001 */ addiu $s1, $s1, 1 +/* 004E54 80004254 5630FFD1 */ bnel $s1, $s0, .L8000419C +/* 004E58 80004258 0250082A */ slt $at, $s2, $s0 +.L8000425C: +/* 004E5C 8000425C 2610FFFF */ addiu $s0, $s0, -1 +/* 004E60 80004260 1690FFCA */ bne $s4, $s0, .L8000418C +/* 004E64 80004264 26520001 */ addiu $s2, $s2, 1 +/* 004E68 80004268 0C033624 */ jal osWritebackDCacheAll +/* 004E6C 8000426C 00000000 */ nop +/* 004E70 80004270 0C033684 */ jal osViSwapBuffer +/* 004E74 80004274 02602025 */ move $a0, $s3 +/* 004E78 80004278 8FBF002C */ lw $ra, 0x2c($sp) +/* 004E7C 8000427C 8FB00018 */ lw $s0, 0x18($sp) +/* 004E80 80004280 8FB1001C */ lw $s1, 0x1c($sp) +/* 004E84 80004284 8FB20020 */ lw $s2, 0x20($sp) +/* 004E88 80004288 8FB30024 */ lw $s3, 0x24($sp) +/* 004E8C 8000428C 8FB40028 */ lw $s4, 0x28($sp) +/* 004E90 80004290 03E00008 */ jr $ra +/* 004E94 80004294 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/non_matchings/crash_screen/thread9_crash_screen.s b/asm/non_matchings/crash_screen/thread9_crash_screen.s index 53d31514f..e1e6967c7 100644 --- a/asm/non_matchings/crash_screen/thread9_crash_screen.s +++ b/asm/non_matchings/crash_screen/thread9_crash_screen.s @@ -1,101 +1,101 @@ -glabel thread9_crash_screen -/* 005130 80004530 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 005134 80004534 AFB70030 */ sw $s7, 0x30($sp) -/* 005138 80004538 3C178016 */ lui $s7, %hi(D_80162D40) # $s7, 0x8016 -/* 00513C 8000453C 26F72D40 */ addiu $s7, %lo(D_80162D40) # addiu $s7, $s7, 0x2d40 -/* 005140 80004540 AFBF0034 */ sw $ra, 0x34($sp) -/* 005144 80004544 AFA40048 */ sw $a0, 0x48($sp) -/* 005148 80004548 AFB6002C */ sw $s6, 0x2c($sp) -/* 00514C 8000454C AFB50028 */ sw $s5, 0x28($sp) -/* 005150 80004550 AFB40024 */ sw $s4, 0x24($sp) -/* 005154 80004554 AFB30020 */ sw $s3, 0x20($sp) -/* 005158 80004558 AFB2001C */ sw $s2, 0x1c($sp) -/* 00515C 8000455C AFB10018 */ sw $s1, 0x18($sp) -/* 005160 80004560 AFB00014 */ sw $s0, 0x14($sp) -/* 005164 80004564 2404000C */ li $a0, 12 -/* 005168 80004568 02E02825 */ move $a1, $s7 -/* 00516C 8000456C 0C033380 */ jal osSetEventMesg -/* 005170 80004570 24060010 */ li $a2, 16 -/* 005174 80004574 2404000A */ li $a0, 10 -/* 005178 80004578 02E02825 */ move $a1, $s7 -/* 00517C 8000457C 0C033380 */ jal osSetEventMesg -/* 005180 80004580 24060010 */ li $a2, 16 -/* 005184 80004584 3C108016 */ lui $s0, %hi(D_80162D60) # $s0, 0x8016 -/* 005188 80004588 26102D60 */ addiu $s0, %lo(D_80162D60) # addiu $s0, $s0, 0x2d60 -/* 00518C 8000458C 3C158016 */ lui $s5, %hi(pFramebuffer) # $s5, 0x8016 -/* 005190 80004590 3C14800E */ lui $s4, %hi(D_800DC670) # $s4, 0x800e -/* 005194 80004594 3C12800E */ lui $s2, %hi(gControllerOne) # $s2, 0x800e -/* 005198 80004598 3C11800E */ lui $s1, %hi(D_800DC6FC) # $s1, 0x800e -/* 00519C 8000459C AE000000 */ sw $zero, ($s0) -/* 0051A0 800045A0 2631C6FC */ addiu $s1, %lo(D_800DC6FC) # addiu $s1, $s1, -0x3904 -/* 0051A4 800045A4 2652C4BC */ addiu $s2, %lo(gControllerOne) # addiu $s2, $s2, -0x3b44 -/* 0051A8 800045A8 2694C670 */ addiu $s4, %lo(D_800DC670) # addiu $s4, $s4, -0x3990 -/* 0051AC 800045AC 26B52D5C */ addiu $s5, %lo(pFramebuffer) # addiu $s5, $s5, 0x2d5c -/* 0051B0 800045B0 27B60044 */ addiu $s6, $sp, 0x44 -/* 0051B4 800045B4 3413FFFF */ li $s3, 65535 -.L800045B8: -/* 0051B8 800045B8 02E02025 */ move $a0, $s7 -.L800045BC: -/* 0051BC 800045BC 02C02825 */ move $a1, $s6 -/* 0051C0 800045C0 0C0335D4 */ jal osRecvMesg -/* 0051C4 800045C4 24060001 */ li $a2, 1 -/* 0051C8 800045C8 0C001131 */ jal get_faulted_thread -/* 0051CC 800045CC 00000000 */ nop -/* 0051D0 800045D0 3C018016 */ lui $at, %hi(D_80162D64) # $at, 0x8016 -/* 0051D4 800045D4 1040FFF8 */ beqz $v0, .L800045B8 -/* 0051D8 800045D8 AC222D64 */ sw $v0, %lo(D_80162D64)($at) -/* 0051DC 800045DC 8E820000 */ lw $v0, ($s4) -/* 0051E0 800045E0 5440001F */ bnel $v0, $zero, .L80004660 -/* 0051E4 800045E4 28410005 */ slti $at, $v0, 5 -/* 0051E8 800045E8 0C001051 */ jal crash_screen_draw_square -/* 0051EC 800045EC 8EA40000 */ lw $a0, ($s5) -.L800045F0: -/* 0051F0 800045F0 0C00028A */ jal read_controllers -/* 0051F4 800045F4 00000000 */ nop -/* 0051F8 800045F8 8E4E0000 */ lw $t6, ($s2) -/* 0051FC 800045FC 95C20006 */ lhu $v0, 6($t6) -/* 005200 80004600 1040FFFB */ beqz $v0, .L800045F0 -/* 005204 80004604 00000000 */ nop -/* 005208 80004608 8E030000 */ lw $v1, ($s0) -/* 00520C 8000460C 00037840 */ sll $t7, $v1, 1 -/* 005210 80004610 022FC021 */ addu $t8, $s1, $t7 -/* 005214 80004614 97190000 */ lhu $t9, ($t8) -/* 005218 80004618 24680001 */ addiu $t0, $v1, 1 -/* 00521C 8000461C 54590004 */ bnel $v0, $t9, .L80004630 -/* 005220 80004620 AE000000 */ sw $zero, ($s0) -/* 005224 80004624 10000002 */ b .L80004630 -/* 005228 80004628 AE080000 */ sw $t0, ($s0) -/* 00522C 8000462C AE000000 */ sw $zero, ($s0) -.L80004630: -/* 005230 80004630 8E090000 */ lw $t1, ($s0) -/* 005234 80004634 00095040 */ sll $t2, $t1, 1 -/* 005238 80004638 022A5821 */ addu $t3, $s1, $t2 -/* 00523C 8000463C 956C0000 */ lhu $t4, ($t3) -/* 005240 80004640 166CFFEB */ bne $s3, $t4, .L800045F0 -/* 005244 80004644 00000000 */ nop -/* 005248 80004648 3C058016 */ lui $a1, %hi(D_80162D64) # $a1, 0x8016 -/* 00524C 8000464C 8CA52D64 */ lw $a1, %lo(D_80162D64)($a1) -/* 005250 80004650 0C0010A6 */ jal crash_screen_draw_info -/* 005254 80004654 8EA40000 */ lw $a0, ($s5) -/* 005258 80004658 8E820000 */ lw $v0, ($s4) -/* 00525C 8000465C 28410005 */ slti $at, $v0, 5 -.L80004660: -/* 005260 80004660 5020FFD6 */ beql $at, $zero, .L800045BC -/* 005264 80004664 02E02025 */ move $a0, $s7 -/* 005268 80004668 244D0001 */ addiu $t5, $v0, 1 -/* 00526C 8000466C 1000FFD2 */ b .L800045B8 -/* 005270 80004670 AE8D0000 */ sw $t5, ($s4) -/* 005274 80004674 00000000 */ nop -/* 005278 80004678 00000000 */ nop -/* 00527C 8000467C 00000000 */ nop -/* 005280 80004680 8FBF0034 */ lw $ra, 0x34($sp) -/* 005284 80004684 8FB00014 */ lw $s0, 0x14($sp) -/* 005288 80004688 8FB10018 */ lw $s1, 0x18($sp) -/* 00528C 8000468C 8FB2001C */ lw $s2, 0x1c($sp) -/* 005290 80004690 8FB30020 */ lw $s3, 0x20($sp) -/* 005294 80004694 8FB40024 */ lw $s4, 0x24($sp) -/* 005298 80004698 8FB50028 */ lw $s5, 0x28($sp) -/* 00529C 8000469C 8FB6002C */ lw $s6, 0x2c($sp) -/* 0052A0 800046A0 8FB70030 */ lw $s7, 0x30($sp) -/* 0052A4 800046A4 03E00008 */ jr $ra -/* 0052A8 800046A8 27BD0048 */ addiu $sp, $sp, 0x48 +glabel thread9_crash_screen +/* 005130 80004530 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 005134 80004534 AFB70030 */ sw $s7, 0x30($sp) +/* 005138 80004538 3C178016 */ lui $s7, %hi(D_80162D40) # $s7, 0x8016 +/* 00513C 8000453C 26F72D40 */ addiu $s7, %lo(D_80162D40) # addiu $s7, $s7, 0x2d40 +/* 005140 80004540 AFBF0034 */ sw $ra, 0x34($sp) +/* 005144 80004544 AFA40048 */ sw $a0, 0x48($sp) +/* 005148 80004548 AFB6002C */ sw $s6, 0x2c($sp) +/* 00514C 8000454C AFB50028 */ sw $s5, 0x28($sp) +/* 005150 80004550 AFB40024 */ sw $s4, 0x24($sp) +/* 005154 80004554 AFB30020 */ sw $s3, 0x20($sp) +/* 005158 80004558 AFB2001C */ sw $s2, 0x1c($sp) +/* 00515C 8000455C AFB10018 */ sw $s1, 0x18($sp) +/* 005160 80004560 AFB00014 */ sw $s0, 0x14($sp) +/* 005164 80004564 2404000C */ li $a0, 12 +/* 005168 80004568 02E02825 */ move $a1, $s7 +/* 00516C 8000456C 0C033380 */ jal osSetEventMesg +/* 005170 80004570 24060010 */ li $a2, 16 +/* 005174 80004574 2404000A */ li $a0, 10 +/* 005178 80004578 02E02825 */ move $a1, $s7 +/* 00517C 8000457C 0C033380 */ jal osSetEventMesg +/* 005180 80004580 24060010 */ li $a2, 16 +/* 005184 80004584 3C108016 */ lui $s0, %hi(D_80162D60) # $s0, 0x8016 +/* 005188 80004588 26102D60 */ addiu $s0, %lo(D_80162D60) # addiu $s0, $s0, 0x2d60 +/* 00518C 8000458C 3C158016 */ lui $s5, %hi(pFramebuffer) # $s5, 0x8016 +/* 005190 80004590 3C14800E */ lui $s4, %hi(D_800DC670) # $s4, 0x800e +/* 005194 80004594 3C12800E */ lui $s2, %hi(gControllerOne) # $s2, 0x800e +/* 005198 80004598 3C11800E */ lui $s1, %hi(D_800DC6FC) # $s1, 0x800e +/* 00519C 8000459C AE000000 */ sw $zero, ($s0) +/* 0051A0 800045A0 2631C6FC */ addiu $s1, %lo(D_800DC6FC) # addiu $s1, $s1, -0x3904 +/* 0051A4 800045A4 2652C4BC */ addiu $s2, %lo(gControllerOne) # addiu $s2, $s2, -0x3b44 +/* 0051A8 800045A8 2694C670 */ addiu $s4, %lo(D_800DC670) # addiu $s4, $s4, -0x3990 +/* 0051AC 800045AC 26B52D5C */ addiu $s5, %lo(pFramebuffer) # addiu $s5, $s5, 0x2d5c +/* 0051B0 800045B0 27B60044 */ addiu $s6, $sp, 0x44 +/* 0051B4 800045B4 3413FFFF */ li $s3, 65535 +.L800045B8: +/* 0051B8 800045B8 02E02025 */ move $a0, $s7 +.L800045BC: +/* 0051BC 800045BC 02C02825 */ move $a1, $s6 +/* 0051C0 800045C0 0C0335D4 */ jal osRecvMesg +/* 0051C4 800045C4 24060001 */ li $a2, 1 +/* 0051C8 800045C8 0C001131 */ jal get_faulted_thread +/* 0051CC 800045CC 00000000 */ nop +/* 0051D0 800045D0 3C018016 */ lui $at, %hi(D_80162D64) # $at, 0x8016 +/* 0051D4 800045D4 1040FFF8 */ beqz $v0, .L800045B8 +/* 0051D8 800045D8 AC222D64 */ sw $v0, %lo(D_80162D64)($at) +/* 0051DC 800045DC 8E820000 */ lw $v0, ($s4) +/* 0051E0 800045E0 5440001F */ bnel $v0, $zero, .L80004660 +/* 0051E4 800045E4 28410005 */ slti $at, $v0, 5 +/* 0051E8 800045E8 0C001051 */ jal crash_screen_draw_square +/* 0051EC 800045EC 8EA40000 */ lw $a0, ($s5) +.L800045F0: +/* 0051F0 800045F0 0C00028A */ jal read_controllers +/* 0051F4 800045F4 00000000 */ nop +/* 0051F8 800045F8 8E4E0000 */ lw $t6, ($s2) +/* 0051FC 800045FC 95C20006 */ lhu $v0, 6($t6) +/* 005200 80004600 1040FFFB */ beqz $v0, .L800045F0 +/* 005204 80004604 00000000 */ nop +/* 005208 80004608 8E030000 */ lw $v1, ($s0) +/* 00520C 8000460C 00037840 */ sll $t7, $v1, 1 +/* 005210 80004610 022FC021 */ addu $t8, $s1, $t7 +/* 005214 80004614 97190000 */ lhu $t9, ($t8) +/* 005218 80004618 24680001 */ addiu $t0, $v1, 1 +/* 00521C 8000461C 54590004 */ bnel $v0, $t9, .L80004630 +/* 005220 80004620 AE000000 */ sw $zero, ($s0) +/* 005224 80004624 10000002 */ b .L80004630 +/* 005228 80004628 AE080000 */ sw $t0, ($s0) +/* 00522C 8000462C AE000000 */ sw $zero, ($s0) +.L80004630: +/* 005230 80004630 8E090000 */ lw $t1, ($s0) +/* 005234 80004634 00095040 */ sll $t2, $t1, 1 +/* 005238 80004638 022A5821 */ addu $t3, $s1, $t2 +/* 00523C 8000463C 956C0000 */ lhu $t4, ($t3) +/* 005240 80004640 166CFFEB */ bne $s3, $t4, .L800045F0 +/* 005244 80004644 00000000 */ nop +/* 005248 80004648 3C058016 */ lui $a1, %hi(D_80162D64) # $a1, 0x8016 +/* 00524C 8000464C 8CA52D64 */ lw $a1, %lo(D_80162D64)($a1) +/* 005250 80004650 0C0010A6 */ jal crash_screen_draw_info +/* 005254 80004654 8EA40000 */ lw $a0, ($s5) +/* 005258 80004658 8E820000 */ lw $v0, ($s4) +/* 00525C 8000465C 28410005 */ slti $at, $v0, 5 +.L80004660: +/* 005260 80004660 5020FFD6 */ beql $at, $zero, .L800045BC +/* 005264 80004664 02E02025 */ move $a0, $s7 +/* 005268 80004668 244D0001 */ addiu $t5, $v0, 1 +/* 00526C 8000466C 1000FFD2 */ b .L800045B8 +/* 005270 80004670 AE8D0000 */ sw $t5, ($s4) +/* 005274 80004674 00000000 */ nop +/* 005278 80004678 00000000 */ nop +/* 00527C 8000467C 00000000 */ nop +/* 005280 80004680 8FBF0034 */ lw $ra, 0x34($sp) +/* 005284 80004684 8FB00014 */ lw $s0, 0x14($sp) +/* 005288 80004688 8FB10018 */ lw $s1, 0x18($sp) +/* 00528C 8000468C 8FB2001C */ lw $s2, 0x1c($sp) +/* 005290 80004690 8FB30020 */ lw $s3, 0x20($sp) +/* 005294 80004694 8FB40024 */ lw $s4, 0x24($sp) +/* 005298 80004698 8FB50028 */ lw $s5, 0x28($sp) +/* 00529C 8000469C 8FB6002C */ lw $s6, 0x2c($sp) +/* 0052A0 800046A0 8FB70030 */ lw $s7, 0x30($sp) +/* 0052A4 800046A4 03E00008 */ jr $ra +/* 0052A8 800046A8 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/non_matchings/math_util/func_802B5564.s b/asm/non_matchings/math_util/func_802B5564.s index 2b1b9f338..6dcce75fe 100644 --- a/asm/non_matchings/math_util/func_802B5564.s +++ b/asm/non_matchings/math_util/func_802B5564.s @@ -1,148 +1,148 @@ -glabel func_802B5564 -/* 11EB74 802B5564 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 11EB78 802B5568 44867000 */ mtc1 $a2, $f14 -/* 11EB7C 802B556C AFBF0014 */ sw $ra, 0x14($sp) -/* 11EB80 802B5570 AFA7003C */ sw $a3, 0x3c($sp) -/* 11EB84 802B5574 AFA40030 */ sw $a0, 0x30($sp) -/* 11EB88 802B5578 AFA50034 */ sw $a1, 0x34($sp) -/* 11EB8C 802B557C 0C0AD4F2 */ jal mtxf_identity -/* 11EB90 802B5580 E7AE0038 */ swc1 $f14, 0x38($sp) -/* 11EB94 802B5584 C7AE0038 */ lwc1 $f14, 0x38($sp) -/* 11EB98 802B5588 3C01802C */ lui $at, %hi(D_802B9FB0) -/* 11EB9C 802B558C D4269FB0 */ ldc1 $f6, %lo(D_802B9FB0)($at) -/* 11EBA0 802B5590 46007121 */ cvt.d.s $f4, $f14 -/* 11EBA4 802B5594 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11EBA8 802B5598 46262202 */ mul.d $f8, $f4, $f6 -/* 11EBAC 802B559C 44815000 */ mtc1 $at, $f10 -/* 11EBB0 802B55A0 462043A0 */ cvt.s.d $f14, $f8 -/* 11EBB4 802B55A4 460A7303 */ div.s $f12, $f14, $f10 -/* 11EBB8 802B55A8 0C0358AC */ jal cosf -/* 11EBBC 802B55AC E7AC001C */ swc1 $f12, 0x1c($sp) -/* 11EBC0 802B55B0 C7AC001C */ lwc1 $f12, 0x1c($sp) -/* 11EBC4 802B55B4 0C03583C */ jal sinf -/* 11EBC8 802B55B8 E7A00020 */ swc1 $f0, 0x20($sp) -/* 11EBCC 802B55BC C7A40020 */ lwc1 $f4, 0x20($sp) -/* 11EBD0 802B55C0 C7A6003C */ lwc1 $f6, 0x3c($sp) -/* 11EBD4 802B55C4 C7AE0040 */ lwc1 $f14, 0x40($sp) -/* 11EBD8 802B55C8 46002083 */ div.s $f2, $f4, $f0 -/* 11EBDC 802B55CC C7B00044 */ lwc1 $f16, 0x44($sp) -/* 11EBE0 802B55D0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11EBE4 802B55D4 44812000 */ mtc1 $at, $f4 -/* 11EBE8 802B55D8 46107480 */ add.s $f18, $f14, $f16 -/* 11EBEC 802B55DC 8FA20030 */ lw $v0, 0x30($sp) -/* 11EBF0 802B55E0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11EBF4 802B55E4 46107301 */ sub.s $f12, $f14, $f16 -/* 11EBF8 802B55E8 8FA50034 */ lw $a1, 0x34($sp) -/* 11EBFC 802B55EC E444002C */ swc1 $f4, 0x2c($v0) -/* 11EC00 802B55F0 00001825 */ move $v1, $zero -/* 11EC04 802B55F4 24040004 */ li $a0, 4 -/* 11EC08 802B55F8 460C9283 */ div.s $f10, $f18, $f12 -/* 11EC0C 802B55FC E4420014 */ swc1 $f2, 0x14($v0) -/* 11EC10 802B5600 46061203 */ div.s $f8, $f2, $f6 -/* 11EC14 802B5604 44813000 */ mtc1 $at, $f6 -/* 11EC18 802B5608 E44A0028 */ swc1 $f10, 0x28($v0) -/* 11EC1C 802B560C E4480000 */ swc1 $f8, ($v0) -/* 11EC20 802B5610 460E3202 */ mul.s $f8, $f6, $f14 -/* 11EC24 802B5614 44803000 */ mtc1 $zero, $f6 -/* 11EC28 802B5618 00000000 */ nop -/* 11EC2C 802B561C E446003C */ swc1 $f6, 0x3c($v0) -/* 11EC30 802B5620 46104282 */ mul.s $f10, $f8, $f16 -/* 11EC34 802B5624 460C5103 */ div.s $f4, $f10, $f12 -/* 11EC38 802B5628 E4440038 */ swc1 $f4, 0x38($v0) -/* 11EC3C 802B562C C7A00048 */ lwc1 $f0, 0x48($sp) -/* 11EC40 802B5630 C4460000 */ lwc1 $f6, ($v0) -/* 11EC44 802B5634 24630001 */ addiu $v1, $v1, 1 -/* 11EC48 802B5638 C4500004 */ lwc1 $f16, 4($v0) -/* 11EC4C 802B563C 46003282 */ mul.s $f10, $f6, $f0 -/* 11EC50 802B5640 C44C0008 */ lwc1 $f12, 8($v0) -/* 11EC54 802B5644 10640010 */ beq $v1, $a0, .L802B5688 -/* 11EC58 802B5648 C44E000C */ lwc1 $f14, 0xc($v0) -.L802B564C: -/* 11EC5C 802B564C 46008202 */ mul.s $f8, $f16, $f0 -/* 11EC60 802B5650 C4460010 */ lwc1 $f6, 0x10($v0) -/* 11EC64 802B5654 C4500014 */ lwc1 $f16, 0x14($v0) -/* 11EC68 802B5658 46006102 */ mul.s $f4, $f12, $f0 -/* 11EC6C 802B565C C44C0018 */ lwc1 $f12, 0x18($v0) -/* 11EC70 802B5660 24630001 */ addiu $v1, $v1, 1 -/* 11EC74 802B5664 46007082 */ mul.s $f2, $f14, $f0 -/* 11EC78 802B5668 C44E001C */ lwc1 $f14, 0x1c($v0) -/* 11EC7C 802B566C E44A0000 */ swc1 $f10, ($v0) -/* 11EC80 802B5670 46003282 */ mul.s $f10, $f6, $f0 -/* 11EC84 802B5674 E4480004 */ swc1 $f8, 4($v0) -/* 11EC88 802B5678 E4440008 */ swc1 $f4, 8($v0) -/* 11EC8C 802B567C 24420010 */ addiu $v0, $v0, 0x10 -/* 11EC90 802B5680 1464FFF2 */ bne $v1, $a0, .L802B564C -/* 11EC94 802B5684 E442FFFC */ swc1 $f2, -4($v0) -.L802B5688: -/* 11EC98 802B5688 46008202 */ mul.s $f8, $f16, $f0 -/* 11EC9C 802B568C 24420010 */ addiu $v0, $v0, 0x10 -/* 11ECA0 802B5690 E44AFFF0 */ swc1 $f10, -0x10($v0) -/* 11ECA4 802B5694 46006102 */ mul.s $f4, $f12, $f0 -/* 11ECA8 802B5698 00000000 */ nop -/* 11ECAC 802B569C 46007082 */ mul.s $f2, $f14, $f0 -/* 11ECB0 802B56A0 E448FFF4 */ swc1 $f8, -0xc($v0) -/* 11ECB4 802B56A4 E444FFF8 */ swc1 $f4, -8($v0) -/* 11ECB8 802B56A8 E442FFFC */ swc1 $f2, -4($v0) -/* 11ECBC 802B56AC 10A00035 */ beqz $a1, .L802B5784 -/* 11ECC0 802B56B0 3C014000 */ li $at, 0x40000000 # 2.000000 -/* 11ECC4 802B56B4 44814800 */ mtc1 $at, $f9 -/* 11ECC8 802B56B8 44804000 */ mtc1 $zero, $f8 -/* 11ECCC 802B56BC 46009021 */ cvt.d.s $f0, $f18 -/* 11ECD0 802B56C0 340EFFFF */ li $t6, 65535 -/* 11ECD4 802B56C4 4628003E */ c.le.d $f0, $f8 -/* 11ECD8 802B56C8 3C014100 */ li $at, 0x41000000 # 8.000000 -/* 11ECDC 802B56CC 45020004 */ bc1fl .L802B56E0 -/* 11ECE0 802B56D0 44815800 */ mtc1 $at, $f11 -/* 11ECE4 802B56D4 1000002B */ b .L802B5784 -/* 11ECE8 802B56D8 A4AE0000 */ sh $t6, ($a1) -/* 11ECEC 802B56DC 44815800 */ mtc1 $at, $f11 -.L802B56E0: -/* 11ECF0 802B56E0 44805000 */ mtc1 $zero, $f10 -/* 11ECF4 802B56E4 24180001 */ li $t8, 1 -/* 11ECF8 802B56E8 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 11ECFC 802B56EC 46205103 */ div.d $f4, $f10, $f0 -/* 11ED00 802B56F0 24080001 */ li $t0, 1 -/* 11ED04 802B56F4 444FF800 */ cfc1 $t7, $31 -/* 11ED08 802B56F8 44D8F800 */ ctc1 $t8, $31 -/* 11ED0C 802B56FC 00000000 */ nop -/* 11ED10 802B5700 462021A4 */ cvt.w.d $f6, $f4 -/* 11ED14 802B5704 4458F800 */ cfc1 $t8, $31 -/* 11ED18 802B5708 00000000 */ nop -/* 11ED1C 802B570C 33180078 */ andi $t8, $t8, 0x78 -/* 11ED20 802B5710 53000014 */ beql $t8, $zero, .L802B5764 -/* 11ED24 802B5714 44183000 */ mfc1 $t8, $f6 -/* 11ED28 802B5718 44813800 */ mtc1 $at, $f7 -/* 11ED2C 802B571C 44803000 */ mtc1 $zero, $f6 -/* 11ED30 802B5720 24180001 */ li $t8, 1 -/* 11ED34 802B5724 46262181 */ sub.d $f6, $f4, $f6 -/* 11ED38 802B5728 44D8F800 */ ctc1 $t8, $31 -/* 11ED3C 802B572C 00000000 */ nop -/* 11ED40 802B5730 462031A4 */ cvt.w.d $f6, $f6 -/* 11ED44 802B5734 4458F800 */ cfc1 $t8, $31 -/* 11ED48 802B5738 00000000 */ nop -/* 11ED4C 802B573C 33180078 */ andi $t8, $t8, 0x78 -/* 11ED50 802B5740 17000005 */ bnez $t8, .L802B5758 -/* 11ED54 802B5744 00000000 */ nop -/* 11ED58 802B5748 44183000 */ mfc1 $t8, $f6 -/* 11ED5C 802B574C 3C018000 */ lui $at, 0x8000 -/* 11ED60 802B5750 10000007 */ b .L802B5770 -/* 11ED64 802B5754 0301C025 */ or $t8, $t8, $at -.L802B5758: -/* 11ED68 802B5758 10000005 */ b .L802B5770 -/* 11ED6C 802B575C 2418FFFF */ li $t8, -1 -/* 11ED70 802B5760 44183000 */ mfc1 $t8, $f6 -.L802B5764: -/* 11ED74 802B5764 00000000 */ nop -/* 11ED78 802B5768 0700FFFB */ bltz $t8, .L802B5758 -/* 11ED7C 802B576C 00000000 */ nop -.L802B5770: -/* 11ED80 802B5770 44CFF800 */ ctc1 $t7, $31 -/* 11ED84 802B5774 3319FFFF */ andi $t9, $t8, 0xffff -/* 11ED88 802B5778 1F200002 */ bgtz $t9, .L802B5784 -/* 11ED8C 802B577C A4B80000 */ sh $t8, ($a1) -/* 11ED90 802B5780 A4A80000 */ sh $t0, ($a1) -.L802B5784: -/* 11ED94 802B5784 8FBF0014 */ lw $ra, 0x14($sp) -/* 11ED98 802B5788 27BD0030 */ addiu $sp, $sp, 0x30 -/* 11ED9C 802B578C 03E00008 */ jr $ra -/* 11EDA0 802B5790 00000000 */ nop +glabel func_802B5564 +/* 11EB74 802B5564 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 11EB78 802B5568 44867000 */ mtc1 $a2, $f14 +/* 11EB7C 802B556C AFBF0014 */ sw $ra, 0x14($sp) +/* 11EB80 802B5570 AFA7003C */ sw $a3, 0x3c($sp) +/* 11EB84 802B5574 AFA40030 */ sw $a0, 0x30($sp) +/* 11EB88 802B5578 AFA50034 */ sw $a1, 0x34($sp) +/* 11EB8C 802B557C 0C0AD4F2 */ jal mtxf_identity +/* 11EB90 802B5580 E7AE0038 */ swc1 $f14, 0x38($sp) +/* 11EB94 802B5584 C7AE0038 */ lwc1 $f14, 0x38($sp) +/* 11EB98 802B5588 3C01802C */ lui $at, %hi(D_802B9FB0) +/* 11EB9C 802B558C D4269FB0 */ ldc1 $f6, %lo(D_802B9FB0)($at) +/* 11EBA0 802B5590 46007121 */ cvt.d.s $f4, $f14 +/* 11EBA4 802B5594 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 11EBA8 802B5598 46262202 */ mul.d $f8, $f4, $f6 +/* 11EBAC 802B559C 44815000 */ mtc1 $at, $f10 +/* 11EBB0 802B55A0 462043A0 */ cvt.s.d $f14, $f8 +/* 11EBB4 802B55A4 460A7303 */ div.s $f12, $f14, $f10 +/* 11EBB8 802B55A8 0C0358AC */ jal cosf +/* 11EBBC 802B55AC E7AC001C */ swc1 $f12, 0x1c($sp) +/* 11EBC0 802B55B0 C7AC001C */ lwc1 $f12, 0x1c($sp) +/* 11EBC4 802B55B4 0C03583C */ jal sinf +/* 11EBC8 802B55B8 E7A00020 */ swc1 $f0, 0x20($sp) +/* 11EBCC 802B55BC C7A40020 */ lwc1 $f4, 0x20($sp) +/* 11EBD0 802B55C0 C7A6003C */ lwc1 $f6, 0x3c($sp) +/* 11EBD4 802B55C4 C7AE0040 */ lwc1 $f14, 0x40($sp) +/* 11EBD8 802B55C8 46002083 */ div.s $f2, $f4, $f0 +/* 11EBDC 802B55CC C7B00044 */ lwc1 $f16, 0x44($sp) +/* 11EBE0 802B55D0 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 11EBE4 802B55D4 44812000 */ mtc1 $at, $f4 +/* 11EBE8 802B55D8 46107480 */ add.s $f18, $f14, $f16 +/* 11EBEC 802B55DC 8FA20030 */ lw $v0, 0x30($sp) +/* 11EBF0 802B55E0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 11EBF4 802B55E4 46107301 */ sub.s $f12, $f14, $f16 +/* 11EBF8 802B55E8 8FA50034 */ lw $a1, 0x34($sp) +/* 11EBFC 802B55EC E444002C */ swc1 $f4, 0x2c($v0) +/* 11EC00 802B55F0 00001825 */ move $v1, $zero +/* 11EC04 802B55F4 24040004 */ li $a0, 4 +/* 11EC08 802B55F8 460C9283 */ div.s $f10, $f18, $f12 +/* 11EC0C 802B55FC E4420014 */ swc1 $f2, 0x14($v0) +/* 11EC10 802B5600 46061203 */ div.s $f8, $f2, $f6 +/* 11EC14 802B5604 44813000 */ mtc1 $at, $f6 +/* 11EC18 802B5608 E44A0028 */ swc1 $f10, 0x28($v0) +/* 11EC1C 802B560C E4480000 */ swc1 $f8, ($v0) +/* 11EC20 802B5610 460E3202 */ mul.s $f8, $f6, $f14 +/* 11EC24 802B5614 44803000 */ mtc1 $zero, $f6 +/* 11EC28 802B5618 00000000 */ nop +/* 11EC2C 802B561C E446003C */ swc1 $f6, 0x3c($v0) +/* 11EC30 802B5620 46104282 */ mul.s $f10, $f8, $f16 +/* 11EC34 802B5624 460C5103 */ div.s $f4, $f10, $f12 +/* 11EC38 802B5628 E4440038 */ swc1 $f4, 0x38($v0) +/* 11EC3C 802B562C C7A00048 */ lwc1 $f0, 0x48($sp) +/* 11EC40 802B5630 C4460000 */ lwc1 $f6, ($v0) +/* 11EC44 802B5634 24630001 */ addiu $v1, $v1, 1 +/* 11EC48 802B5638 C4500004 */ lwc1 $f16, 4($v0) +/* 11EC4C 802B563C 46003282 */ mul.s $f10, $f6, $f0 +/* 11EC50 802B5640 C44C0008 */ lwc1 $f12, 8($v0) +/* 11EC54 802B5644 10640010 */ beq $v1, $a0, .L802B5688 +/* 11EC58 802B5648 C44E000C */ lwc1 $f14, 0xc($v0) +.L802B564C: +/* 11EC5C 802B564C 46008202 */ mul.s $f8, $f16, $f0 +/* 11EC60 802B5650 C4460010 */ lwc1 $f6, 0x10($v0) +/* 11EC64 802B5654 C4500014 */ lwc1 $f16, 0x14($v0) +/* 11EC68 802B5658 46006102 */ mul.s $f4, $f12, $f0 +/* 11EC6C 802B565C C44C0018 */ lwc1 $f12, 0x18($v0) +/* 11EC70 802B5660 24630001 */ addiu $v1, $v1, 1 +/* 11EC74 802B5664 46007082 */ mul.s $f2, $f14, $f0 +/* 11EC78 802B5668 C44E001C */ lwc1 $f14, 0x1c($v0) +/* 11EC7C 802B566C E44A0000 */ swc1 $f10, ($v0) +/* 11EC80 802B5670 46003282 */ mul.s $f10, $f6, $f0 +/* 11EC84 802B5674 E4480004 */ swc1 $f8, 4($v0) +/* 11EC88 802B5678 E4440008 */ swc1 $f4, 8($v0) +/* 11EC8C 802B567C 24420010 */ addiu $v0, $v0, 0x10 +/* 11EC90 802B5680 1464FFF2 */ bne $v1, $a0, .L802B564C +/* 11EC94 802B5684 E442FFFC */ swc1 $f2, -4($v0) +.L802B5688: +/* 11EC98 802B5688 46008202 */ mul.s $f8, $f16, $f0 +/* 11EC9C 802B568C 24420010 */ addiu $v0, $v0, 0x10 +/* 11ECA0 802B5690 E44AFFF0 */ swc1 $f10, -0x10($v0) +/* 11ECA4 802B5694 46006102 */ mul.s $f4, $f12, $f0 +/* 11ECA8 802B5698 00000000 */ nop +/* 11ECAC 802B569C 46007082 */ mul.s $f2, $f14, $f0 +/* 11ECB0 802B56A0 E448FFF4 */ swc1 $f8, -0xc($v0) +/* 11ECB4 802B56A4 E444FFF8 */ swc1 $f4, -8($v0) +/* 11ECB8 802B56A8 E442FFFC */ swc1 $f2, -4($v0) +/* 11ECBC 802B56AC 10A00035 */ beqz $a1, .L802B5784 +/* 11ECC0 802B56B0 3C014000 */ li $at, 0x40000000 # 2.000000 +/* 11ECC4 802B56B4 44814800 */ mtc1 $at, $f9 +/* 11ECC8 802B56B8 44804000 */ mtc1 $zero, $f8 +/* 11ECCC 802B56BC 46009021 */ cvt.d.s $f0, $f18 +/* 11ECD0 802B56C0 340EFFFF */ li $t6, 65535 +/* 11ECD4 802B56C4 4628003E */ c.le.d $f0, $f8 +/* 11ECD8 802B56C8 3C014100 */ li $at, 0x41000000 # 8.000000 +/* 11ECDC 802B56CC 45020004 */ bc1fl .L802B56E0 +/* 11ECE0 802B56D0 44815800 */ mtc1 $at, $f11 +/* 11ECE4 802B56D4 1000002B */ b .L802B5784 +/* 11ECE8 802B56D8 A4AE0000 */ sh $t6, ($a1) +/* 11ECEC 802B56DC 44815800 */ mtc1 $at, $f11 +.L802B56E0: +/* 11ECF0 802B56E0 44805000 */ mtc1 $zero, $f10 +/* 11ECF4 802B56E4 24180001 */ li $t8, 1 +/* 11ECF8 802B56E8 3C0141E0 */ li $at, 0x41E00000 # 28.000000 +/* 11ECFC 802B56EC 46205103 */ div.d $f4, $f10, $f0 +/* 11ED00 802B56F0 24080001 */ li $t0, 1 +/* 11ED04 802B56F4 444FF800 */ cfc1 $t7, $31 +/* 11ED08 802B56F8 44D8F800 */ ctc1 $t8, $31 +/* 11ED0C 802B56FC 00000000 */ nop +/* 11ED10 802B5700 462021A4 */ cvt.w.d $f6, $f4 +/* 11ED14 802B5704 4458F800 */ cfc1 $t8, $31 +/* 11ED18 802B5708 00000000 */ nop +/* 11ED1C 802B570C 33180078 */ andi $t8, $t8, 0x78 +/* 11ED20 802B5710 53000014 */ beql $t8, $zero, .L802B5764 +/* 11ED24 802B5714 44183000 */ mfc1 $t8, $f6 +/* 11ED28 802B5718 44813800 */ mtc1 $at, $f7 +/* 11ED2C 802B571C 44803000 */ mtc1 $zero, $f6 +/* 11ED30 802B5720 24180001 */ li $t8, 1 +/* 11ED34 802B5724 46262181 */ sub.d $f6, $f4, $f6 +/* 11ED38 802B5728 44D8F800 */ ctc1 $t8, $31 +/* 11ED3C 802B572C 00000000 */ nop +/* 11ED40 802B5730 462031A4 */ cvt.w.d $f6, $f6 +/* 11ED44 802B5734 4458F800 */ cfc1 $t8, $31 +/* 11ED48 802B5738 00000000 */ nop +/* 11ED4C 802B573C 33180078 */ andi $t8, $t8, 0x78 +/* 11ED50 802B5740 17000005 */ bnez $t8, .L802B5758 +/* 11ED54 802B5744 00000000 */ nop +/* 11ED58 802B5748 44183000 */ mfc1 $t8, $f6 +/* 11ED5C 802B574C 3C018000 */ lui $at, 0x8000 +/* 11ED60 802B5750 10000007 */ b .L802B5770 +/* 11ED64 802B5754 0301C025 */ or $t8, $t8, $at +.L802B5758: +/* 11ED68 802B5758 10000005 */ b .L802B5770 +/* 11ED6C 802B575C 2418FFFF */ li $t8, -1 +/* 11ED70 802B5760 44183000 */ mfc1 $t8, $f6 +.L802B5764: +/* 11ED74 802B5764 00000000 */ nop +/* 11ED78 802B5768 0700FFFB */ bltz $t8, .L802B5758 +/* 11ED7C 802B576C 00000000 */ nop +.L802B5770: +/* 11ED80 802B5770 44CFF800 */ ctc1 $t7, $31 +/* 11ED84 802B5774 3319FFFF */ andi $t9, $t8, 0xffff +/* 11ED88 802B5778 1F200002 */ bgtz $t9, .L802B5784 +/* 11ED8C 802B577C A4B80000 */ sh $t8, ($a1) +/* 11ED90 802B5780 A4A80000 */ sh $t0, ($a1) +.L802B5784: +/* 11ED94 802B5784 8FBF0014 */ lw $ra, 0x14($sp) +/* 11ED98 802B5788 27BD0030 */ addiu $sp, $sp, 0x30 +/* 11ED9C 802B578C 03E00008 */ jr $ra +/* 11EDA0 802B5790 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B5794.s b/asm/non_matchings/math_util/func_802B5794.s index 732a9d933..ea85e7ffa 100644 --- a/asm/non_matchings/math_util/func_802B5794.s +++ b/asm/non_matchings/math_util/func_802B5794.s @@ -1,147 +1,147 @@ -glabel func_802B5794 -/* 11EDA4 802B5794 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 11EDA8 802B5798 F7BC0028 */ sdc1 $f28, 0x28($sp) -/* 11EDAC 802B579C F7BA0020 */ sdc1 $f26, 0x20($sp) -/* 11EDB0 802B57A0 F7B80018 */ sdc1 $f24, 0x18($sp) -/* 11EDB4 802B57A4 F7B60010 */ sdc1 $f22, 0x10($sp) -/* 11EDB8 802B57A8 F7B40008 */ sdc1 $f20, 8($sp) -/* 11EDBC 802B57AC C4A60000 */ lwc1 $f6, ($a1) -/* 11EDC0 802B57B0 C4C40000 */ lwc1 $f4, ($a2) -/* 11EDC4 802B57B4 C4AA0004 */ lwc1 $f10, 4($a1) -/* 11EDC8 802B57B8 C4C80004 */ lwc1 $f8, 4($a2) -/* 11EDCC 802B57BC 46062301 */ sub.s $f12, $f4, $f6 -/* 11EDD0 802B57C0 C4A60008 */ lwc1 $f6, 8($a1) -/* 11EDD4 802B57C4 C4C40008 */ lwc1 $f4, 8($a2) -/* 11EDD8 802B57C8 460A4381 */ sub.s $f14, $f8, $f10 -/* 11EDDC 802B57CC 460C6202 */ mul.s $f8, $f12, $f12 -/* 11EDE0 802B57D0 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 -/* 11EDE4 802B57D4 46062081 */ sub.s $f2, $f4, $f6 -/* 11EDE8 802B57D8 460E7282 */ mul.s $f10, $f14, $f14 -/* 11EDEC 802B57DC 44814800 */ mtc1 $at, $f9 -/* 11EDF0 802B57E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11EDF4 802B57E4 46021182 */ mul.s $f6, $f2, $f2 -/* 11EDF8 802B57E8 4480D000 */ mtc1 $zero, $f26 -/* 11EDFC 802B57EC 00000000 */ nop -/* 11EE00 802B57F0 4600D606 */ mov.s $f24, $f26 -/* 11EE04 802B57F4 460A4100 */ add.s $f4, $f8, $f10 -/* 11EE08 802B57F8 44804000 */ mtc1 $zero, $f8 -/* 11EE0C 802B57FC 46062000 */ add.s $f0, $f4, $f6 -/* 11EE10 802B5800 44813000 */ mtc1 $at, $f6 -/* 11EE14 802B5804 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 11EE18 802B5808 46000004 */ sqrt.s $f0, $f0 -/* 11EE1C 802B580C 460002A1 */ cvt.d.s $f10, $f0 -/* 11EE20 802B5810 462A4103 */ div.d $f4, $f8, $f10 -/* 11EE24 802B5814 46202420 */ cvt.s.d $f16, $f4 -/* 11EE28 802B5818 46106302 */ mul.s $f12, $f12, $f16 -/* 11EE2C 802B581C 00000000 */ nop -/* 11EE30 802B5820 46107382 */ mul.s $f14, $f14, $f16 -/* 11EE34 802B5824 00000000 */ nop -/* 11EE38 802B5828 46101082 */ mul.s $f2, $f2, $f16 -/* 11EE3C 802B582C 00000000 */ nop -/* 11EE40 802B5830 460C3202 */ mul.s $f8, $f6, $f12 -/* 11EE44 802B5834 44814800 */ mtc1 $at, $f9 -/* 11EE48 802B5838 46021282 */ mul.s $f10, $f2, $f2 -/* 11EE4C 802B583C 4608D401 */ sub.s $f16, $f26, $f8 -/* 11EE50 802B5840 44804000 */ mtc1 $zero, $f8 -/* 11EE54 802B5844 461A5100 */ add.s $f4, $f10, $f26 -/* 11EE58 802B5848 46108182 */ mul.s $f6, $f16, $f16 -/* 11EE5C 802B584C 46062000 */ add.s $f0, $f4, $f6 -/* 11EE60 802B5850 46000004 */ sqrt.s $f0, $f0 -/* 11EE64 802B5854 460002A1 */ cvt.d.s $f10, $f0 -/* 11EE68 802B5858 462A4103 */ div.d $f4, $f8, $f10 -/* 11EE6C 802B585C 462025A0 */ cvt.s.d $f22, $f4 -/* 11EE70 802B5860 46161702 */ mul.s $f28, $f2, $f22 -/* 11EE74 802B5864 00000000 */ nop -/* 11EE78 802B5868 46168482 */ mul.s $f18, $f16, $f22 -/* 11EE7C 802B586C 00000000 */ nop -/* 11EE80 802B5870 46127182 */ mul.s $f6, $f14, $f18 -/* 11EE84 802B5874 E7B20030 */ swc1 $f18, 0x30($sp) -/* 11EE88 802B5878 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 11EE8C 802B587C 461A1202 */ mul.s $f8, $f2, $f26 -/* 11EE90 802B5880 46083501 */ sub.s $f20, $f6, $f8 -/* 11EE94 802B5884 461C1282 */ mul.s $f10, $f2, $f28 -/* 11EE98 802B5888 00000000 */ nop -/* 11EE9C 802B588C 46046182 */ mul.s $f6, $f12, $f4 -/* 11EEA0 802B5890 00000000 */ nop -/* 11EEA4 802B5894 461A6202 */ mul.s $f8, $f12, $f26 -/* 11EEA8 802B5898 00000000 */ nop -/* 11EEAC 802B589C 461C7102 */ mul.s $f4, $f14, $f28 -/* 11EEB0 802B58A0 46065401 */ sub.s $f16, $f10, $f6 -/* 11EEB4 802B58A4 4614A282 */ mul.s $f10, $f20, $f20 -/* 11EEB8 802B58A8 44815800 */ mtc1 $at, $f11 -/* 11EEBC 802B58AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11EEC0 802B58B0 46108182 */ mul.s $f6, $f16, $f16 -/* 11EEC4 802B58B4 46044481 */ sub.s $f18, $f8, $f4 -/* 11EEC8 802B58B8 46129102 */ mul.s $f4, $f18, $f18 -/* 11EECC 802B58BC 46065200 */ add.s $f8, $f10, $f6 -/* 11EED0 802B58C0 44805000 */ mtc1 $zero, $f10 -/* 11EED4 802B58C4 46044000 */ add.s $f0, $f8, $f4 -/* 11EED8 802B58C8 46000004 */ sqrt.s $f0, $f0 -/* 11EEDC 802B58CC 460001A1 */ cvt.d.s $f6, $f0 -/* 11EEE0 802B58D0 46265203 */ div.d $f8, $f10, $f6 -/* 11EEE4 802B58D4 462045A0 */ cvt.s.d $f22, $f8 -/* 11EEE8 802B58D8 4616A502 */ mul.s $f20, $f20, $f22 -/* 11EEEC 802B58DC 00000000 */ nop -/* 11EEF0 802B58E0 46168102 */ mul.s $f4, $f16, $f22 -/* 11EEF4 802B58E4 00000000 */ nop -/* 11EEF8 802B58E8 46169282 */ mul.s $f10, $f18, $f22 -/* 11EEFC 802B58EC E7A4004C */ swc1 $f4, 0x4c($sp) -/* 11EF00 802B58F0 E7AA0048 */ swc1 $f10, 0x48($sp) -/* 11EF04 802B58F4 E49C0000 */ swc1 $f28, ($a0) -/* 11EF08 802B58F8 E4980010 */ swc1 $f24, 0x10($a0) -/* 11EF0C 802B58FC C7A60030 */ lwc1 $f6, 0x30($sp) -/* 11EF10 802B5900 E4860020 */ swc1 $f6, 0x20($a0) -/* 11EF14 802B5904 C4A80008 */ lwc1 $f8, 8($a1) -/* 11EF18 802B5908 C7A40030 */ lwc1 $f4, 0x30($sp) -/* 11EF1C 802B590C C4A60000 */ lwc1 $f6, ($a1) -/* 11EF20 802B5910 46044282 */ mul.s $f10, $f8, $f4 -/* 11EF24 802B5914 C4A40004 */ lwc1 $f4, 4($a1) -/* 11EF28 802B5918 461C3202 */ mul.s $f8, $f6, $f28 -/* 11EF2C 802B591C 00000000 */ nop -/* 11EF30 802B5920 461A2182 */ mul.s $f6, $f4, $f26 -/* 11EF34 802B5924 46064100 */ add.s $f4, $f8, $f6 -/* 11EF38 802B5928 46045200 */ add.s $f8, $f10, $f4 -/* 11EF3C 802B592C 46004187 */ neg.s $f6, $f8 -/* 11EF40 802B5930 E4860030 */ swc1 $f6, 0x30($a0) -/* 11EF44 802B5934 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 11EF48 802B5938 C7A0004C */ lwc1 $f0, 0x4c($sp) -/* 11EF4C 802B593C E4940004 */ swc1 $f20, 4($a0) -/* 11EF50 802B5940 E4900024 */ swc1 $f16, 0x24($a0) -/* 11EF54 802B5944 E4800014 */ swc1 $f0, 0x14($a0) -/* 11EF58 802B5948 C4AA0000 */ lwc1 $f10, ($a1) -/* 11EF5C 802B594C C4A80004 */ lwc1 $f8, 4($a1) -/* 11EF60 802B5950 46145102 */ mul.s $f4, $f10, $f20 -/* 11EF64 802B5954 00000000 */ nop -/* 11EF68 802B5958 46004182 */ mul.s $f6, $f8, $f0 -/* 11EF6C 802B595C C4A80008 */ lwc1 $f8, 8($a1) -/* 11EF70 802B5960 E48C0008 */ swc1 $f12, 8($a0) -/* 11EF74 802B5964 E48E0018 */ swc1 $f14, 0x18($a0) -/* 11EF78 802B5968 E4820028 */ swc1 $f2, 0x28($a0) -/* 11EF7C 802B596C 46062280 */ add.s $f10, $f4, $f6 -/* 11EF80 802B5970 46104102 */ mul.s $f4, $f8, $f16 -/* 11EF84 802B5974 460A2180 */ add.s $f6, $f4, $f10 -/* 11EF88 802B5978 46003207 */ neg.s $f8, $f6 -/* 11EF8C 802B597C E4880034 */ swc1 $f8, 0x34($a0) -/* 11EF90 802B5980 C4A40000 */ lwc1 $f4, ($a1) -/* 11EF94 802B5984 C4A60004 */ lwc1 $f6, 4($a1) -/* 11EF98 802B5988 460C2282 */ mul.s $f10, $f4, $f12 -/* 11EF9C 802B598C 00000000 */ nop -/* 11EFA0 802B5990 460E3202 */ mul.s $f8, $f6, $f14 -/* 11EFA4 802B5994 C4A60008 */ lwc1 $f6, 8($a1) -/* 11EFA8 802B5998 E49A000C */ swc1 $f26, 0xc($a0) -/* 11EFAC 802B599C E49A001C */ swc1 $f26, 0x1c($a0) -/* 11EFB0 802B59A0 E49A002C */ swc1 $f26, 0x2c($a0) -/* 11EFB4 802B59A4 46085100 */ add.s $f4, $f10, $f8 -/* 11EFB8 802B59A8 46023282 */ mul.s $f10, $f6, $f2 -/* 11EFBC 802B59AC 46045200 */ add.s $f8, $f10, $f4 -/* 11EFC0 802B59B0 44815000 */ mtc1 $at, $f10 -/* 11EFC4 802B59B4 46004187 */ neg.s $f6, $f8 -/* 11EFC8 802B59B8 E48A003C */ swc1 $f10, 0x3c($a0) -/* 11EFCC 802B59BC E4860038 */ swc1 $f6, 0x38($a0) -/* 11EFD0 802B59C0 D7BC0028 */ ldc1 $f28, 0x28($sp) -/* 11EFD4 802B59C4 D7BA0020 */ ldc1 $f26, 0x20($sp) -/* 11EFD8 802B59C8 D7B80018 */ ldc1 $f24, 0x18($sp) -/* 11EFDC 802B59CC D7B60010 */ ldc1 $f22, 0x10($sp) -/* 11EFE0 802B59D0 D7B40008 */ ldc1 $f20, 8($sp) -/* 11EFE4 802B59D4 03E00008 */ jr $ra -/* 11EFE8 802B59D8 27BD0058 */ addiu $sp, $sp, 0x58 +glabel func_802B5794 +/* 11EDA4 802B5794 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 11EDA8 802B5798 F7BC0028 */ sdc1 $f28, 0x28($sp) +/* 11EDAC 802B579C F7BA0020 */ sdc1 $f26, 0x20($sp) +/* 11EDB0 802B57A0 F7B80018 */ sdc1 $f24, 0x18($sp) +/* 11EDB4 802B57A4 F7B60010 */ sdc1 $f22, 0x10($sp) +/* 11EDB8 802B57A8 F7B40008 */ sdc1 $f20, 8($sp) +/* 11EDBC 802B57AC C4A60000 */ lwc1 $f6, ($a1) +/* 11EDC0 802B57B0 C4C40000 */ lwc1 $f4, ($a2) +/* 11EDC4 802B57B4 C4AA0004 */ lwc1 $f10, 4($a1) +/* 11EDC8 802B57B8 C4C80004 */ lwc1 $f8, 4($a2) +/* 11EDCC 802B57BC 46062301 */ sub.s $f12, $f4, $f6 +/* 11EDD0 802B57C0 C4A60008 */ lwc1 $f6, 8($a1) +/* 11EDD4 802B57C4 C4C40008 */ lwc1 $f4, 8($a2) +/* 11EDD8 802B57C8 460A4381 */ sub.s $f14, $f8, $f10 +/* 11EDDC 802B57CC 460C6202 */ mul.s $f8, $f12, $f12 +/* 11EDE0 802B57D0 3C01BFF0 */ li $at, 0xBFF00000 # -1.875000 +/* 11EDE4 802B57D4 46062081 */ sub.s $f2, $f4, $f6 +/* 11EDE8 802B57D8 460E7282 */ mul.s $f10, $f14, $f14 +/* 11EDEC 802B57DC 44814800 */ mtc1 $at, $f9 +/* 11EDF0 802B57E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11EDF4 802B57E4 46021182 */ mul.s $f6, $f2, $f2 +/* 11EDF8 802B57E8 4480D000 */ mtc1 $zero, $f26 +/* 11EDFC 802B57EC 00000000 */ nop +/* 11EE00 802B57F0 4600D606 */ mov.s $f24, $f26 +/* 11EE04 802B57F4 460A4100 */ add.s $f4, $f8, $f10 +/* 11EE08 802B57F8 44804000 */ mtc1 $zero, $f8 +/* 11EE0C 802B57FC 46062000 */ add.s $f0, $f4, $f6 +/* 11EE10 802B5800 44813000 */ mtc1 $at, $f6 +/* 11EE14 802B5804 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 +/* 11EE18 802B5808 46000004 */ sqrt.s $f0, $f0 +/* 11EE1C 802B580C 460002A1 */ cvt.d.s $f10, $f0 +/* 11EE20 802B5810 462A4103 */ div.d $f4, $f8, $f10 +/* 11EE24 802B5814 46202420 */ cvt.s.d $f16, $f4 +/* 11EE28 802B5818 46106302 */ mul.s $f12, $f12, $f16 +/* 11EE2C 802B581C 00000000 */ nop +/* 11EE30 802B5820 46107382 */ mul.s $f14, $f14, $f16 +/* 11EE34 802B5824 00000000 */ nop +/* 11EE38 802B5828 46101082 */ mul.s $f2, $f2, $f16 +/* 11EE3C 802B582C 00000000 */ nop +/* 11EE40 802B5830 460C3202 */ mul.s $f8, $f6, $f12 +/* 11EE44 802B5834 44814800 */ mtc1 $at, $f9 +/* 11EE48 802B5838 46021282 */ mul.s $f10, $f2, $f2 +/* 11EE4C 802B583C 4608D401 */ sub.s $f16, $f26, $f8 +/* 11EE50 802B5840 44804000 */ mtc1 $zero, $f8 +/* 11EE54 802B5844 461A5100 */ add.s $f4, $f10, $f26 +/* 11EE58 802B5848 46108182 */ mul.s $f6, $f16, $f16 +/* 11EE5C 802B584C 46062000 */ add.s $f0, $f4, $f6 +/* 11EE60 802B5850 46000004 */ sqrt.s $f0, $f0 +/* 11EE64 802B5854 460002A1 */ cvt.d.s $f10, $f0 +/* 11EE68 802B5858 462A4103 */ div.d $f4, $f8, $f10 +/* 11EE6C 802B585C 462025A0 */ cvt.s.d $f22, $f4 +/* 11EE70 802B5860 46161702 */ mul.s $f28, $f2, $f22 +/* 11EE74 802B5864 00000000 */ nop +/* 11EE78 802B5868 46168482 */ mul.s $f18, $f16, $f22 +/* 11EE7C 802B586C 00000000 */ nop +/* 11EE80 802B5870 46127182 */ mul.s $f6, $f14, $f18 +/* 11EE84 802B5874 E7B20030 */ swc1 $f18, 0x30($sp) +/* 11EE88 802B5878 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 11EE8C 802B587C 461A1202 */ mul.s $f8, $f2, $f26 +/* 11EE90 802B5880 46083501 */ sub.s $f20, $f6, $f8 +/* 11EE94 802B5884 461C1282 */ mul.s $f10, $f2, $f28 +/* 11EE98 802B5888 00000000 */ nop +/* 11EE9C 802B588C 46046182 */ mul.s $f6, $f12, $f4 +/* 11EEA0 802B5890 00000000 */ nop +/* 11EEA4 802B5894 461A6202 */ mul.s $f8, $f12, $f26 +/* 11EEA8 802B5898 00000000 */ nop +/* 11EEAC 802B589C 461C7102 */ mul.s $f4, $f14, $f28 +/* 11EEB0 802B58A0 46065401 */ sub.s $f16, $f10, $f6 +/* 11EEB4 802B58A4 4614A282 */ mul.s $f10, $f20, $f20 +/* 11EEB8 802B58A8 44815800 */ mtc1 $at, $f11 +/* 11EEBC 802B58AC 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11EEC0 802B58B0 46108182 */ mul.s $f6, $f16, $f16 +/* 11EEC4 802B58B4 46044481 */ sub.s $f18, $f8, $f4 +/* 11EEC8 802B58B8 46129102 */ mul.s $f4, $f18, $f18 +/* 11EECC 802B58BC 46065200 */ add.s $f8, $f10, $f6 +/* 11EED0 802B58C0 44805000 */ mtc1 $zero, $f10 +/* 11EED4 802B58C4 46044000 */ add.s $f0, $f8, $f4 +/* 11EED8 802B58C8 46000004 */ sqrt.s $f0, $f0 +/* 11EEDC 802B58CC 460001A1 */ cvt.d.s $f6, $f0 +/* 11EEE0 802B58D0 46265203 */ div.d $f8, $f10, $f6 +/* 11EEE4 802B58D4 462045A0 */ cvt.s.d $f22, $f8 +/* 11EEE8 802B58D8 4616A502 */ mul.s $f20, $f20, $f22 +/* 11EEEC 802B58DC 00000000 */ nop +/* 11EEF0 802B58E0 46168102 */ mul.s $f4, $f16, $f22 +/* 11EEF4 802B58E4 00000000 */ nop +/* 11EEF8 802B58E8 46169282 */ mul.s $f10, $f18, $f22 +/* 11EEFC 802B58EC E7A4004C */ swc1 $f4, 0x4c($sp) +/* 11EF00 802B58F0 E7AA0048 */ swc1 $f10, 0x48($sp) +/* 11EF04 802B58F4 E49C0000 */ swc1 $f28, ($a0) +/* 11EF08 802B58F8 E4980010 */ swc1 $f24, 0x10($a0) +/* 11EF0C 802B58FC C7A60030 */ lwc1 $f6, 0x30($sp) +/* 11EF10 802B5900 E4860020 */ swc1 $f6, 0x20($a0) +/* 11EF14 802B5904 C4A80008 */ lwc1 $f8, 8($a1) +/* 11EF18 802B5908 C7A40030 */ lwc1 $f4, 0x30($sp) +/* 11EF1C 802B590C C4A60000 */ lwc1 $f6, ($a1) +/* 11EF20 802B5910 46044282 */ mul.s $f10, $f8, $f4 +/* 11EF24 802B5914 C4A40004 */ lwc1 $f4, 4($a1) +/* 11EF28 802B5918 461C3202 */ mul.s $f8, $f6, $f28 +/* 11EF2C 802B591C 00000000 */ nop +/* 11EF30 802B5920 461A2182 */ mul.s $f6, $f4, $f26 +/* 11EF34 802B5924 46064100 */ add.s $f4, $f8, $f6 +/* 11EF38 802B5928 46045200 */ add.s $f8, $f10, $f4 +/* 11EF3C 802B592C 46004187 */ neg.s $f6, $f8 +/* 11EF40 802B5930 E4860030 */ swc1 $f6, 0x30($a0) +/* 11EF44 802B5934 C7B00048 */ lwc1 $f16, 0x48($sp) +/* 11EF48 802B5938 C7A0004C */ lwc1 $f0, 0x4c($sp) +/* 11EF4C 802B593C E4940004 */ swc1 $f20, 4($a0) +/* 11EF50 802B5940 E4900024 */ swc1 $f16, 0x24($a0) +/* 11EF54 802B5944 E4800014 */ swc1 $f0, 0x14($a0) +/* 11EF58 802B5948 C4AA0000 */ lwc1 $f10, ($a1) +/* 11EF5C 802B594C C4A80004 */ lwc1 $f8, 4($a1) +/* 11EF60 802B5950 46145102 */ mul.s $f4, $f10, $f20 +/* 11EF64 802B5954 00000000 */ nop +/* 11EF68 802B5958 46004182 */ mul.s $f6, $f8, $f0 +/* 11EF6C 802B595C C4A80008 */ lwc1 $f8, 8($a1) +/* 11EF70 802B5960 E48C0008 */ swc1 $f12, 8($a0) +/* 11EF74 802B5964 E48E0018 */ swc1 $f14, 0x18($a0) +/* 11EF78 802B5968 E4820028 */ swc1 $f2, 0x28($a0) +/* 11EF7C 802B596C 46062280 */ add.s $f10, $f4, $f6 +/* 11EF80 802B5970 46104102 */ mul.s $f4, $f8, $f16 +/* 11EF84 802B5974 460A2180 */ add.s $f6, $f4, $f10 +/* 11EF88 802B5978 46003207 */ neg.s $f8, $f6 +/* 11EF8C 802B597C E4880034 */ swc1 $f8, 0x34($a0) +/* 11EF90 802B5980 C4A40000 */ lwc1 $f4, ($a1) +/* 11EF94 802B5984 C4A60004 */ lwc1 $f6, 4($a1) +/* 11EF98 802B5988 460C2282 */ mul.s $f10, $f4, $f12 +/* 11EF9C 802B598C 00000000 */ nop +/* 11EFA0 802B5990 460E3202 */ mul.s $f8, $f6, $f14 +/* 11EFA4 802B5994 C4A60008 */ lwc1 $f6, 8($a1) +/* 11EFA8 802B5998 E49A000C */ swc1 $f26, 0xc($a0) +/* 11EFAC 802B599C E49A001C */ swc1 $f26, 0x1c($a0) +/* 11EFB0 802B59A0 E49A002C */ swc1 $f26, 0x2c($a0) +/* 11EFB4 802B59A4 46085100 */ add.s $f4, $f10, $f8 +/* 11EFB8 802B59A8 46023282 */ mul.s $f10, $f6, $f2 +/* 11EFBC 802B59AC 46045200 */ add.s $f8, $f10, $f4 +/* 11EFC0 802B59B0 44815000 */ mtc1 $at, $f10 +/* 11EFC4 802B59B4 46004187 */ neg.s $f6, $f8 +/* 11EFC8 802B59B8 E48A003C */ swc1 $f10, 0x3c($a0) +/* 11EFCC 802B59BC E4860038 */ swc1 $f6, 0x38($a0) +/* 11EFD0 802B59C0 D7BC0028 */ ldc1 $f28, 0x28($sp) +/* 11EFD4 802B59C4 D7BA0020 */ ldc1 $f26, 0x20($sp) +/* 11EFD8 802B59C8 D7B80018 */ ldc1 $f24, 0x18($sp) +/* 11EFDC 802B59CC D7B60010 */ ldc1 $f22, 0x10($sp) +/* 11EFE0 802B59D0 D7B40008 */ ldc1 $f20, 8($sp) +/* 11EFE4 802B59D4 03E00008 */ jr $ra +/* 11EFE8 802B59D8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/math_util/func_802B59DC.s b/asm/non_matchings/math_util/func_802B59DC.s index ed1dc9d6e..7b8ff5978 100644 --- a/asm/non_matchings/math_util/func_802B59DC.s +++ b/asm/non_matchings/math_util/func_802B59DC.s @@ -1,27 +1,27 @@ -glabel func_802B59DC -/* 11EFEC 802B59DC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 11EFF0 802B59E0 AFB00018 */ sw $s0, 0x18($sp) -/* 11EFF4 802B59E4 00808025 */ move $s0, $a0 -/* 11EFF8 802B59E8 AFBF001C */ sw $ra, 0x1c($sp) -/* 11EFFC 802B59EC 30A4FFFF */ andi $a0, $a1, 0xffff -/* 11F000 802B59F0 AFA50034 */ sw $a1, 0x34($sp) -/* 11F004 802B59F4 0C0AE006 */ jal sins -/* 11F008 802B59F8 AFA40024 */ sw $a0, 0x24($sp) -/* 11F00C 802B59FC 8FA40024 */ lw $a0, 0x24($sp) -/* 11F010 802B5A00 0C0AE00E */ jal coss -/* 11F014 802B5A04 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F018 802B5A08 02002025 */ move $a0, $s0 -/* 11F01C 802B5A0C 0C0AD4F2 */ jal mtxf_identity -/* 11F020 802B5A10 E7A00028 */ swc1 $f0, 0x28($sp) -/* 11F024 802B5A14 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 11F028 802B5A18 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 11F02C 802B5A1C 46000107 */ neg.s $f4, $f0 -/* 11F030 802B5A20 E6000018 */ swc1 $f0, 0x18($s0) -/* 11F034 802B5A24 E6040024 */ swc1 $f4, 0x24($s0) -/* 11F038 802B5A28 E6020014 */ swc1 $f2, 0x14($s0) -/* 11F03C 802B5A2C E6020028 */ swc1 $f2, 0x28($s0) -/* 11F040 802B5A30 8FBF001C */ lw $ra, 0x1c($sp) -/* 11F044 802B5A34 8FB00018 */ lw $s0, 0x18($sp) -/* 11F048 802B5A38 27BD0030 */ addiu $sp, $sp, 0x30 -/* 11F04C 802B5A3C 03E00008 */ jr $ra -/* 11F050 802B5A40 00000000 */ nop +glabel func_802B59DC +/* 11EFEC 802B59DC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 11EFF0 802B59E0 AFB00018 */ sw $s0, 0x18($sp) +/* 11EFF4 802B59E4 00808025 */ move $s0, $a0 +/* 11EFF8 802B59E8 AFBF001C */ sw $ra, 0x1c($sp) +/* 11EFFC 802B59EC 30A4FFFF */ andi $a0, $a1, 0xffff +/* 11F000 802B59F0 AFA50034 */ sw $a1, 0x34($sp) +/* 11F004 802B59F4 0C0AE006 */ jal sins +/* 11F008 802B59F8 AFA40024 */ sw $a0, 0x24($sp) +/* 11F00C 802B59FC 8FA40024 */ lw $a0, 0x24($sp) +/* 11F010 802B5A00 0C0AE00E */ jal coss +/* 11F014 802B5A04 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F018 802B5A08 02002025 */ move $a0, $s0 +/* 11F01C 802B5A0C 0C0AD4F2 */ jal mtxf_identity +/* 11F020 802B5A10 E7A00028 */ swc1 $f0, 0x28($sp) +/* 11F024 802B5A14 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 11F028 802B5A18 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 11F02C 802B5A1C 46000107 */ neg.s $f4, $f0 +/* 11F030 802B5A20 E6000018 */ swc1 $f0, 0x18($s0) +/* 11F034 802B5A24 E6040024 */ swc1 $f4, 0x24($s0) +/* 11F038 802B5A28 E6020014 */ swc1 $f2, 0x14($s0) +/* 11F03C 802B5A2C E6020028 */ swc1 $f2, 0x28($s0) +/* 11F040 802B5A30 8FBF001C */ lw $ra, 0x1c($sp) +/* 11F044 802B5A34 8FB00018 */ lw $s0, 0x18($sp) +/* 11F048 802B5A38 27BD0030 */ addiu $sp, $sp, 0x30 +/* 11F04C 802B5A3C 03E00008 */ jr $ra +/* 11F050 802B5A40 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B5A44.s b/asm/non_matchings/math_util/func_802B5A44.s index ac981a169..7b8d55652 100644 --- a/asm/non_matchings/math_util/func_802B5A44.s +++ b/asm/non_matchings/math_util/func_802B5A44.s @@ -1,27 +1,27 @@ -glabel func_802B5A44 -/* 11F054 802B5A44 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 11F058 802B5A48 AFB00018 */ sw $s0, 0x18($sp) -/* 11F05C 802B5A4C 00808025 */ move $s0, $a0 -/* 11F060 802B5A50 AFBF001C */ sw $ra, 0x1c($sp) -/* 11F064 802B5A54 30A4FFFF */ andi $a0, $a1, 0xffff -/* 11F068 802B5A58 AFA50034 */ sw $a1, 0x34($sp) -/* 11F06C 802B5A5C 0C0AE006 */ jal sins -/* 11F070 802B5A60 AFA40024 */ sw $a0, 0x24($sp) -/* 11F074 802B5A64 8FA40024 */ lw $a0, 0x24($sp) -/* 11F078 802B5A68 0C0AE00E */ jal coss -/* 11F07C 802B5A6C E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F080 802B5A70 02002025 */ move $a0, $s0 -/* 11F084 802B5A74 0C0AD4F2 */ jal mtxf_identity -/* 11F088 802B5A78 E7A00028 */ swc1 $f0, 0x28($sp) -/* 11F08C 802B5A7C C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 11F090 802B5A80 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 11F094 802B5A84 46000107 */ neg.s $f4, $f0 -/* 11F098 802B5A88 E6000020 */ swc1 $f0, 0x20($s0) -/* 11F09C 802B5A8C E6040008 */ swc1 $f4, 8($s0) -/* 11F0A0 802B5A90 E6020000 */ swc1 $f2, ($s0) -/* 11F0A4 802B5A94 E6020028 */ swc1 $f2, 0x28($s0) -/* 11F0A8 802B5A98 8FBF001C */ lw $ra, 0x1c($sp) -/* 11F0AC 802B5A9C 8FB00018 */ lw $s0, 0x18($sp) -/* 11F0B0 802B5AA0 27BD0030 */ addiu $sp, $sp, 0x30 -/* 11F0B4 802B5AA4 03E00008 */ jr $ra -/* 11F0B8 802B5AA8 00000000 */ nop +glabel func_802B5A44 +/* 11F054 802B5A44 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 11F058 802B5A48 AFB00018 */ sw $s0, 0x18($sp) +/* 11F05C 802B5A4C 00808025 */ move $s0, $a0 +/* 11F060 802B5A50 AFBF001C */ sw $ra, 0x1c($sp) +/* 11F064 802B5A54 30A4FFFF */ andi $a0, $a1, 0xffff +/* 11F068 802B5A58 AFA50034 */ sw $a1, 0x34($sp) +/* 11F06C 802B5A5C 0C0AE006 */ jal sins +/* 11F070 802B5A60 AFA40024 */ sw $a0, 0x24($sp) +/* 11F074 802B5A64 8FA40024 */ lw $a0, 0x24($sp) +/* 11F078 802B5A68 0C0AE00E */ jal coss +/* 11F07C 802B5A6C E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F080 802B5A70 02002025 */ move $a0, $s0 +/* 11F084 802B5A74 0C0AD4F2 */ jal mtxf_identity +/* 11F088 802B5A78 E7A00028 */ swc1 $f0, 0x28($sp) +/* 11F08C 802B5A7C C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 11F090 802B5A80 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 11F094 802B5A84 46000107 */ neg.s $f4, $f0 +/* 11F098 802B5A88 E6000020 */ swc1 $f0, 0x20($s0) +/* 11F09C 802B5A8C E6040008 */ swc1 $f4, 8($s0) +/* 11F0A0 802B5A90 E6020000 */ swc1 $f2, ($s0) +/* 11F0A4 802B5A94 E6020028 */ swc1 $f2, 0x28($s0) +/* 11F0A8 802B5A98 8FBF001C */ lw $ra, 0x1c($sp) +/* 11F0AC 802B5A9C 8FB00018 */ lw $s0, 0x18($sp) +/* 11F0B0 802B5AA0 27BD0030 */ addiu $sp, $sp, 0x30 +/* 11F0B4 802B5AA4 03E00008 */ jr $ra +/* 11F0B8 802B5AA8 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B5AAC.s b/asm/non_matchings/math_util/func_802B5AAC.s index d1758bb17..49a98ba6d 100644 --- a/asm/non_matchings/math_util/func_802B5AAC.s +++ b/asm/non_matchings/math_util/func_802B5AAC.s @@ -1,27 +1,27 @@ -glabel func_802B5AAC -/* 11F0BC 802B5AAC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 11F0C0 802B5AB0 AFB00018 */ sw $s0, 0x18($sp) -/* 11F0C4 802B5AB4 00808025 */ move $s0, $a0 -/* 11F0C8 802B5AB8 AFBF001C */ sw $ra, 0x1c($sp) -/* 11F0CC 802B5ABC 30A4FFFF */ andi $a0, $a1, 0xffff -/* 11F0D0 802B5AC0 AFA50034 */ sw $a1, 0x34($sp) -/* 11F0D4 802B5AC4 0C0AE006 */ jal sins -/* 11F0D8 802B5AC8 AFA40024 */ sw $a0, 0x24($sp) -/* 11F0DC 802B5ACC 8FA40024 */ lw $a0, 0x24($sp) -/* 11F0E0 802B5AD0 0C0AE00E */ jal coss -/* 11F0E4 802B5AD4 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F0E8 802B5AD8 02002025 */ move $a0, $s0 -/* 11F0EC 802B5ADC 0C0AD4F2 */ jal mtxf_identity -/* 11F0F0 802B5AE0 E7A00028 */ swc1 $f0, 0x28($sp) -/* 11F0F4 802B5AE4 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 11F0F8 802B5AE8 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 11F0FC 802B5AEC 46000107 */ neg.s $f4, $f0 -/* 11F100 802B5AF0 E6000004 */ swc1 $f0, 4($s0) -/* 11F104 802B5AF4 E6040010 */ swc1 $f4, 0x10($s0) -/* 11F108 802B5AF8 E6020000 */ swc1 $f2, ($s0) -/* 11F10C 802B5AFC E6020014 */ swc1 $f2, 0x14($s0) -/* 11F110 802B5B00 8FBF001C */ lw $ra, 0x1c($sp) -/* 11F114 802B5B04 8FB00018 */ lw $s0, 0x18($sp) -/* 11F118 802B5B08 27BD0030 */ addiu $sp, $sp, 0x30 -/* 11F11C 802B5B0C 03E00008 */ jr $ra -/* 11F120 802B5B10 00000000 */ nop +glabel func_802B5AAC +/* 11F0BC 802B5AAC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 11F0C0 802B5AB0 AFB00018 */ sw $s0, 0x18($sp) +/* 11F0C4 802B5AB4 00808025 */ move $s0, $a0 +/* 11F0C8 802B5AB8 AFBF001C */ sw $ra, 0x1c($sp) +/* 11F0CC 802B5ABC 30A4FFFF */ andi $a0, $a1, 0xffff +/* 11F0D0 802B5AC0 AFA50034 */ sw $a1, 0x34($sp) +/* 11F0D4 802B5AC4 0C0AE006 */ jal sins +/* 11F0D8 802B5AC8 AFA40024 */ sw $a0, 0x24($sp) +/* 11F0DC 802B5ACC 8FA40024 */ lw $a0, 0x24($sp) +/* 11F0E0 802B5AD0 0C0AE00E */ jal coss +/* 11F0E4 802B5AD4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F0E8 802B5AD8 02002025 */ move $a0, $s0 +/* 11F0EC 802B5ADC 0C0AD4F2 */ jal mtxf_identity +/* 11F0F0 802B5AE0 E7A00028 */ swc1 $f0, 0x28($sp) +/* 11F0F4 802B5AE4 C7A0002C */ lwc1 $f0, 0x2c($sp) +/* 11F0F8 802B5AE8 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 11F0FC 802B5AEC 46000107 */ neg.s $f4, $f0 +/* 11F100 802B5AF0 E6000004 */ swc1 $f0, 4($s0) +/* 11F104 802B5AF4 E6040010 */ swc1 $f4, 0x10($s0) +/* 11F108 802B5AF8 E6020000 */ swc1 $f2, ($s0) +/* 11F10C 802B5AFC E6020014 */ swc1 $f2, 0x14($s0) +/* 11F110 802B5B00 8FBF001C */ lw $ra, 0x1c($sp) +/* 11F114 802B5B04 8FB00018 */ lw $s0, 0x18($sp) +/* 11F118 802B5B08 27BD0030 */ addiu $sp, $sp, 0x30 +/* 11F11C 802B5B0C 03E00008 */ jr $ra +/* 11F120 802B5B10 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B5B14.s b/asm/non_matchings/math_util/func_802B5B14.s index 563887f83..1346869d1 100644 --- a/asm/non_matchings/math_util/func_802B5B14.s +++ b/asm/non_matchings/math_util/func_802B5B14.s @@ -1,103 +1,103 @@ -glabel func_802B5B14 -/* 11F124 802B5B14 27BDFF78 */ addiu $sp, $sp, -0x88 -/* 11F128 802B5B18 AFB10020 */ sw $s1, 0x20($sp) -/* 11F12C 802B5B1C 00808825 */ move $s1, $a0 -/* 11F130 802B5B20 AFBF0024 */ sw $ra, 0x24($sp) -/* 11F134 802B5B24 AFB0001C */ sw $s0, 0x1c($sp) -/* 11F138 802B5B28 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 11F13C 802B5B2C 00A08025 */ move $s0, $a1 -/* 11F140 802B5B30 0C0AE006 */ jal sins -/* 11F144 802B5B34 94A40000 */ lhu $a0, ($a1) -/* 11F148 802B5B38 E7A00038 */ swc1 $f0, 0x38($sp) -/* 11F14C 802B5B3C 0C0AE00E */ jal coss -/* 11F150 802B5B40 96040000 */ lhu $a0, ($s0) -/* 11F154 802B5B44 46000506 */ mov.s $f20, $f0 -/* 11F158 802B5B48 0C0AE006 */ jal sins -/* 11F15C 802B5B4C 96040002 */ lhu $a0, 2($s0) -/* 11F160 802B5B50 96040002 */ lhu $a0, 2($s0) -/* 11F164 802B5B54 0C0AE00E */ jal coss -/* 11F168 802B5B58 E7A00030 */ swc1 $f0, 0x30($sp) -/* 11F16C 802B5B5C 96040004 */ lhu $a0, 4($s0) -/* 11F170 802B5B60 0C0AE006 */ jal sins -/* 11F174 802B5B64 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F178 802B5B68 96040004 */ lhu $a0, 4($s0) -/* 11F17C 802B5B6C 0C0AE00E */ jal coss -/* 11F180 802B5B70 E7A00028 */ swc1 $f0, 0x28($sp) -/* 11F184 802B5B74 C7AE0030 */ lwc1 $f14, 0x30($sp) -/* 11F188 802B5B78 C7A80038 */ lwc1 $f8, 0x38($sp) -/* 11F18C 802B5B7C C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 11F190 802B5B80 C6240000 */ lwc1 $f4, ($s1) -/* 11F194 802B5B84 460E4302 */ mul.s $f12, $f8, $f14 -/* 11F198 802B5B88 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 11F19C 802B5B8C E7A4003C */ swc1 $f4, 0x3c($sp) -/* 11F1A0 802B5B90 46008282 */ mul.s $f10, $f16, $f0 -/* 11F1A4 802B5B94 C6260004 */ lwc1 $f6, 4($s1) -/* 11F1A8 802B5B98 46026102 */ mul.s $f4, $f12, $f2 -/* 11F1AC 802B5B9C E7A60040 */ swc1 $f6, 0x40($sp) -/* 11F1B0 802B5BA0 46045180 */ add.s $f6, $f10, $f4 -/* 11F1B4 802B5BA4 46008287 */ neg.s $f10, $f16 -/* 11F1B8 802B5BA8 E7A60048 */ swc1 $f6, 0x48($sp) -/* 11F1BC 802B5BAC 46025102 */ mul.s $f4, $f10, $f2 -/* 11F1C0 802B5BB0 00000000 */ nop -/* 11F1C4 802B5BB4 46006282 */ mul.s $f10, $f12, $f0 -/* 11F1C8 802B5BB8 460A2100 */ add.s $f4, $f4, $f10 -/* 11F1CC 802B5BBC 460EA282 */ mul.s $f10, $f20, $f14 -/* 11F1D0 802B5BC0 E7A40058 */ swc1 $f4, 0x58($sp) -/* 11F1D4 802B5BC4 4602A102 */ mul.s $f4, $f20, $f2 -/* 11F1D8 802B5BC8 E7AA0068 */ swc1 $f10, 0x68($sp) -/* 11F1DC 802B5BCC 4600A282 */ mul.s $f10, $f20, $f0 -/* 11F1E0 802B5BD0 E7A4004C */ swc1 $f4, 0x4c($sp) -/* 11F1E4 802B5BD4 46104482 */ mul.s $f18, $f8, $f16 -/* 11F1E8 802B5BD8 46004107 */ neg.s $f4, $f8 -/* 11F1EC 802B5BDC E7AA005C */ swc1 $f10, 0x5c($sp) -/* 11F1F0 802B5BE0 46007287 */ neg.s $f10, $f14 -/* 11F1F4 802B5BE4 E7A4006C */ swc1 $f4, 0x6c($sp) -/* 11F1F8 802B5BE8 46005102 */ mul.s $f4, $f10, $f0 -/* 11F1FC 802B5BEC 00000000 */ nop -/* 11F200 802B5BF0 46029202 */ mul.s $f8, $f18, $f2 -/* 11F204 802B5BF4 46082280 */ add.s $f10, $f4, $f8 -/* 11F208 802B5BF8 46027102 */ mul.s $f4, $f14, $f2 -/* 11F20C 802B5BFC 00000000 */ nop -/* 11F210 802B5C00 46009202 */ mul.s $f8, $f18, $f0 -/* 11F214 802B5C04 E7AA0050 */ swc1 $f10, 0x50($sp) -/* 11F218 802B5C08 46082100 */ add.s $f4, $f4, $f8 -/* 11F21C 802B5C0C 4610A202 */ mul.s $f8, $f20, $f16 -/* 11F220 802B5C10 E7A40060 */ swc1 $f4, 0x60($sp) -/* 11F224 802B5C14 C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 11F228 802B5C18 E7A80070 */ swc1 $f8, 0x70($sp) -/* 11F22C 802B5C1C 46062202 */ mul.s $f8, $f4, $f6 -/* 11F230 802B5C20 C7A6004C */ lwc1 $f6, 0x4c($sp) -/* 11F234 802B5C24 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 11F238 802B5C28 46062182 */ mul.s $f6, $f4, $f6 -/* 11F23C 802B5C2C 46064200 */ add.s $f8, $f8, $f6 -/* 11F240 802B5C30 46045182 */ mul.s $f6, $f10, $f4 -/* 11F244 802B5C34 46083280 */ add.s $f10, $f6, $f8 -/* 11F248 802B5C38 E62A0000 */ swc1 $f10, ($s1) -/* 11F24C 802B5C3C C7A4003C */ lwc1 $f4, 0x3c($sp) -/* 11F250 802B5C40 C7A60058 */ lwc1 $f6, 0x58($sp) -/* 11F254 802B5C44 C7AA0040 */ lwc1 $f10, 0x40($sp) -/* 11F258 802B5C48 46062202 */ mul.s $f8, $f4, $f6 -/* 11F25C 802B5C4C C7A4005C */ lwc1 $f4, 0x5c($sp) -/* 11F260 802B5C50 46045182 */ mul.s $f6, $f10, $f4 -/* 11F264 802B5C54 46064100 */ add.s $f4, $f8, $f6 -/* 11F268 802B5C58 C7A80060 */ lwc1 $f8, 0x60($sp) -/* 11F26C 802B5C5C 460A4182 */ mul.s $f6, $f8, $f10 -/* 11F270 802B5C60 46043200 */ add.s $f8, $f6, $f4 -/* 11F274 802B5C64 E6280004 */ swc1 $f8, 4($s1) -/* 11F278 802B5C68 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 11F27C 802B5C6C C7AA003C */ lwc1 $f10, 0x3c($sp) -/* 11F280 802B5C70 C7A80040 */ lwc1 $f8, 0x40($sp) -/* 11F284 802B5C74 46065102 */ mul.s $f4, $f10, $f6 -/* 11F288 802B5C78 C7AA006C */ lwc1 $f10, 0x6c($sp) -/* 11F28C 802B5C7C 460A4182 */ mul.s $f6, $f8, $f10 -/* 11F290 802B5C80 46062280 */ add.s $f10, $f4, $f6 -/* 11F294 802B5C84 C7A40070 */ lwc1 $f4, 0x70($sp) -/* 11F298 802B5C88 46082182 */ mul.s $f6, $f4, $f8 -/* 11F29C 802B5C8C 460A3100 */ add.s $f4, $f6, $f10 -/* 11F2A0 802B5C90 E6240008 */ swc1 $f4, 8($s1) -/* 11F2A4 802B5C94 8FBF0024 */ lw $ra, 0x24($sp) -/* 11F2A8 802B5C98 8FB10020 */ lw $s1, 0x20($sp) -/* 11F2AC 802B5C9C 8FB0001C */ lw $s0, 0x1c($sp) -/* 11F2B0 802B5CA0 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 11F2B4 802B5CA4 03E00008 */ jr $ra -/* 11F2B8 802B5CA8 27BD0088 */ addiu $sp, $sp, 0x88 +glabel func_802B5B14 +/* 11F124 802B5B14 27BDFF78 */ addiu $sp, $sp, -0x88 +/* 11F128 802B5B18 AFB10020 */ sw $s1, 0x20($sp) +/* 11F12C 802B5B1C 00808825 */ move $s1, $a0 +/* 11F130 802B5B20 AFBF0024 */ sw $ra, 0x24($sp) +/* 11F134 802B5B24 AFB0001C */ sw $s0, 0x1c($sp) +/* 11F138 802B5B28 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 11F13C 802B5B2C 00A08025 */ move $s0, $a1 +/* 11F140 802B5B30 0C0AE006 */ jal sins +/* 11F144 802B5B34 94A40000 */ lhu $a0, ($a1) +/* 11F148 802B5B38 E7A00038 */ swc1 $f0, 0x38($sp) +/* 11F14C 802B5B3C 0C0AE00E */ jal coss +/* 11F150 802B5B40 96040000 */ lhu $a0, ($s0) +/* 11F154 802B5B44 46000506 */ mov.s $f20, $f0 +/* 11F158 802B5B48 0C0AE006 */ jal sins +/* 11F15C 802B5B4C 96040002 */ lhu $a0, 2($s0) +/* 11F160 802B5B50 96040002 */ lhu $a0, 2($s0) +/* 11F164 802B5B54 0C0AE00E */ jal coss +/* 11F168 802B5B58 E7A00030 */ swc1 $f0, 0x30($sp) +/* 11F16C 802B5B5C 96040004 */ lhu $a0, 4($s0) +/* 11F170 802B5B60 0C0AE006 */ jal sins +/* 11F174 802B5B64 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F178 802B5B68 96040004 */ lhu $a0, 4($s0) +/* 11F17C 802B5B6C 0C0AE00E */ jal coss +/* 11F180 802B5B70 E7A00028 */ swc1 $f0, 0x28($sp) +/* 11F184 802B5B74 C7AE0030 */ lwc1 $f14, 0x30($sp) +/* 11F188 802B5B78 C7A80038 */ lwc1 $f8, 0x38($sp) +/* 11F18C 802B5B7C C7B0002C */ lwc1 $f16, 0x2c($sp) +/* 11F190 802B5B80 C6240000 */ lwc1 $f4, ($s1) +/* 11F194 802B5B84 460E4302 */ mul.s $f12, $f8, $f14 +/* 11F198 802B5B88 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 11F19C 802B5B8C E7A4003C */ swc1 $f4, 0x3c($sp) +/* 11F1A0 802B5B90 46008282 */ mul.s $f10, $f16, $f0 +/* 11F1A4 802B5B94 C6260004 */ lwc1 $f6, 4($s1) +/* 11F1A8 802B5B98 46026102 */ mul.s $f4, $f12, $f2 +/* 11F1AC 802B5B9C E7A60040 */ swc1 $f6, 0x40($sp) +/* 11F1B0 802B5BA0 46045180 */ add.s $f6, $f10, $f4 +/* 11F1B4 802B5BA4 46008287 */ neg.s $f10, $f16 +/* 11F1B8 802B5BA8 E7A60048 */ swc1 $f6, 0x48($sp) +/* 11F1BC 802B5BAC 46025102 */ mul.s $f4, $f10, $f2 +/* 11F1C0 802B5BB0 00000000 */ nop +/* 11F1C4 802B5BB4 46006282 */ mul.s $f10, $f12, $f0 +/* 11F1C8 802B5BB8 460A2100 */ add.s $f4, $f4, $f10 +/* 11F1CC 802B5BBC 460EA282 */ mul.s $f10, $f20, $f14 +/* 11F1D0 802B5BC0 E7A40058 */ swc1 $f4, 0x58($sp) +/* 11F1D4 802B5BC4 4602A102 */ mul.s $f4, $f20, $f2 +/* 11F1D8 802B5BC8 E7AA0068 */ swc1 $f10, 0x68($sp) +/* 11F1DC 802B5BCC 4600A282 */ mul.s $f10, $f20, $f0 +/* 11F1E0 802B5BD0 E7A4004C */ swc1 $f4, 0x4c($sp) +/* 11F1E4 802B5BD4 46104482 */ mul.s $f18, $f8, $f16 +/* 11F1E8 802B5BD8 46004107 */ neg.s $f4, $f8 +/* 11F1EC 802B5BDC E7AA005C */ swc1 $f10, 0x5c($sp) +/* 11F1F0 802B5BE0 46007287 */ neg.s $f10, $f14 +/* 11F1F4 802B5BE4 E7A4006C */ swc1 $f4, 0x6c($sp) +/* 11F1F8 802B5BE8 46005102 */ mul.s $f4, $f10, $f0 +/* 11F1FC 802B5BEC 00000000 */ nop +/* 11F200 802B5BF0 46029202 */ mul.s $f8, $f18, $f2 +/* 11F204 802B5BF4 46082280 */ add.s $f10, $f4, $f8 +/* 11F208 802B5BF8 46027102 */ mul.s $f4, $f14, $f2 +/* 11F20C 802B5BFC 00000000 */ nop +/* 11F210 802B5C00 46009202 */ mul.s $f8, $f18, $f0 +/* 11F214 802B5C04 E7AA0050 */ swc1 $f10, 0x50($sp) +/* 11F218 802B5C08 46082100 */ add.s $f4, $f4, $f8 +/* 11F21C 802B5C0C 4610A202 */ mul.s $f8, $f20, $f16 +/* 11F220 802B5C10 E7A40060 */ swc1 $f4, 0x60($sp) +/* 11F224 802B5C14 C7A4003C */ lwc1 $f4, 0x3c($sp) +/* 11F228 802B5C18 E7A80070 */ swc1 $f8, 0x70($sp) +/* 11F22C 802B5C1C 46062202 */ mul.s $f8, $f4, $f6 +/* 11F230 802B5C20 C7A6004C */ lwc1 $f6, 0x4c($sp) +/* 11F234 802B5C24 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 11F238 802B5C28 46062182 */ mul.s $f6, $f4, $f6 +/* 11F23C 802B5C2C 46064200 */ add.s $f8, $f8, $f6 +/* 11F240 802B5C30 46045182 */ mul.s $f6, $f10, $f4 +/* 11F244 802B5C34 46083280 */ add.s $f10, $f6, $f8 +/* 11F248 802B5C38 E62A0000 */ swc1 $f10, ($s1) +/* 11F24C 802B5C3C C7A4003C */ lwc1 $f4, 0x3c($sp) +/* 11F250 802B5C40 C7A60058 */ lwc1 $f6, 0x58($sp) +/* 11F254 802B5C44 C7AA0040 */ lwc1 $f10, 0x40($sp) +/* 11F258 802B5C48 46062202 */ mul.s $f8, $f4, $f6 +/* 11F25C 802B5C4C C7A4005C */ lwc1 $f4, 0x5c($sp) +/* 11F260 802B5C50 46045182 */ mul.s $f6, $f10, $f4 +/* 11F264 802B5C54 46064100 */ add.s $f4, $f8, $f6 +/* 11F268 802B5C58 C7A80060 */ lwc1 $f8, 0x60($sp) +/* 11F26C 802B5C5C 460A4182 */ mul.s $f6, $f8, $f10 +/* 11F270 802B5C60 46043200 */ add.s $f8, $f6, $f4 +/* 11F274 802B5C64 E6280004 */ swc1 $f8, 4($s1) +/* 11F278 802B5C68 C7A60068 */ lwc1 $f6, 0x68($sp) +/* 11F27C 802B5C6C C7AA003C */ lwc1 $f10, 0x3c($sp) +/* 11F280 802B5C70 C7A80040 */ lwc1 $f8, 0x40($sp) +/* 11F284 802B5C74 46065102 */ mul.s $f4, $f10, $f6 +/* 11F288 802B5C78 C7AA006C */ lwc1 $f10, 0x6c($sp) +/* 11F28C 802B5C7C 460A4182 */ mul.s $f6, $f8, $f10 +/* 11F290 802B5C80 46062280 */ add.s $f10, $f4, $f6 +/* 11F294 802B5C84 C7A40070 */ lwc1 $f4, 0x70($sp) +/* 11F298 802B5C88 46082182 */ mul.s $f6, $f4, $f8 +/* 11F29C 802B5C8C 460A3100 */ add.s $f4, $f6, $f10 +/* 11F2A0 802B5C90 E6240008 */ swc1 $f4, 8($s1) +/* 11F2A4 802B5C94 8FBF0024 */ lw $ra, 0x24($sp) +/* 11F2A8 802B5C98 8FB10020 */ lw $s1, 0x20($sp) +/* 11F2AC 802B5C9C 8FB0001C */ lw $s0, 0x1c($sp) +/* 11F2B0 802B5CA0 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 11F2B4 802B5CA4 03E00008 */ jr $ra +/* 11F2B8 802B5CA8 27BD0088 */ addiu $sp, $sp, 0x88 diff --git a/asm/non_matchings/math_util/func_802B5CAC.s b/asm/non_matchings/math_util/func_802B5CAC.s index 3c2b77648..2b471fd0d 100644 --- a/asm/non_matchings/math_util/func_802B5CAC.s +++ b/asm/non_matchings/math_util/func_802B5CAC.s @@ -1,34 +1,34 @@ -glabel func_802B5CAC -/* 11F2BC 802B5CAC 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 11F2C0 802B5CB0 AFA40030 */ sw $a0, 0x30($sp) -/* 11F2C4 802B5CB4 AFBF0014 */ sw $ra, 0x14($sp) -/* 11F2C8 802B5CB8 30A4FFFF */ andi $a0, $a1, 0xffff -/* 11F2CC 802B5CBC AFA50034 */ sw $a1, 0x34($sp) -/* 11F2D0 802B5CC0 AFA60038 */ sw $a2, 0x38($sp) -/* 11F2D4 802B5CC4 0C0AE006 */ jal sins -/* 11F2D8 802B5CC8 AFA4001C */ sw $a0, 0x1c($sp) -/* 11F2DC 802B5CCC 8FA4001C */ lw $a0, 0x1c($sp) -/* 11F2E0 802B5CD0 0C0AE00E */ jal coss -/* 11F2E4 802B5CD4 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F2E8 802B5CD8 97A40032 */ lhu $a0, 0x32($sp) -/* 11F2EC 802B5CDC E7A00028 */ swc1 $f0, 0x28($sp) -/* 11F2F0 802B5CE0 0C0AE006 */ jal sins -/* 11F2F4 802B5CE4 AFA4001C */ sw $a0, 0x1c($sp) -/* 11F2F8 802B5CE8 8FA4001C */ lw $a0, 0x1c($sp) -/* 11F2FC 802B5CEC 0C0AE00E */ jal coss -/* 11F300 802B5CF0 E7A00024 */ swc1 $f0, 0x24($sp) -/* 11F304 802B5CF4 C7A20028 */ lwc1 $f2, 0x28($sp) -/* 11F308 802B5CF8 C7A40024 */ lwc1 $f4, 0x24($sp) -/* 11F30C 802B5CFC 8FA20038 */ lw $v0, 0x38($sp) -/* 11F310 802B5D00 46041182 */ mul.s $f6, $f2, $f4 -/* 11F314 802B5D04 00000000 */ nop -/* 11F318 802B5D08 46001282 */ mul.s $f10, $f2, $f0 -/* 11F31C 802B5D0C E4460000 */ swc1 $f6, ($v0) -/* 11F320 802B5D10 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 11F324 802B5D14 46005407 */ neg.s $f16, $f10 -/* 11F328 802B5D18 E4480004 */ swc1 $f8, 4($v0) -/* 11F32C 802B5D1C E4500008 */ swc1 $f16, 8($v0) -/* 11F330 802B5D20 8FBF0014 */ lw $ra, 0x14($sp) -/* 11F334 802B5D24 27BD0030 */ addiu $sp, $sp, 0x30 -/* 11F338 802B5D28 03E00008 */ jr $ra -/* 11F33C 802B5D2C 00000000 */ nop +glabel func_802B5CAC +/* 11F2BC 802B5CAC 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 11F2C0 802B5CB0 AFA40030 */ sw $a0, 0x30($sp) +/* 11F2C4 802B5CB4 AFBF0014 */ sw $ra, 0x14($sp) +/* 11F2C8 802B5CB8 30A4FFFF */ andi $a0, $a1, 0xffff +/* 11F2CC 802B5CBC AFA50034 */ sw $a1, 0x34($sp) +/* 11F2D0 802B5CC0 AFA60038 */ sw $a2, 0x38($sp) +/* 11F2D4 802B5CC4 0C0AE006 */ jal sins +/* 11F2D8 802B5CC8 AFA4001C */ sw $a0, 0x1c($sp) +/* 11F2DC 802B5CCC 8FA4001C */ lw $a0, 0x1c($sp) +/* 11F2E0 802B5CD0 0C0AE00E */ jal coss +/* 11F2E4 802B5CD4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F2E8 802B5CD8 97A40032 */ lhu $a0, 0x32($sp) +/* 11F2EC 802B5CDC E7A00028 */ swc1 $f0, 0x28($sp) +/* 11F2F0 802B5CE0 0C0AE006 */ jal sins +/* 11F2F4 802B5CE4 AFA4001C */ sw $a0, 0x1c($sp) +/* 11F2F8 802B5CE8 8FA4001C */ lw $a0, 0x1c($sp) +/* 11F2FC 802B5CEC 0C0AE00E */ jal coss +/* 11F300 802B5CF0 E7A00024 */ swc1 $f0, 0x24($sp) +/* 11F304 802B5CF4 C7A20028 */ lwc1 $f2, 0x28($sp) +/* 11F308 802B5CF8 C7A40024 */ lwc1 $f4, 0x24($sp) +/* 11F30C 802B5CFC 8FA20038 */ lw $v0, 0x38($sp) +/* 11F310 802B5D00 46041182 */ mul.s $f6, $f2, $f4 +/* 11F314 802B5D04 00000000 */ nop +/* 11F318 802B5D08 46001282 */ mul.s $f10, $f2, $f0 +/* 11F31C 802B5D0C E4460000 */ swc1 $f6, ($v0) +/* 11F320 802B5D10 C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 11F324 802B5D14 46005407 */ neg.s $f16, $f10 +/* 11F328 802B5D18 E4480004 */ swc1 $f8, 4($v0) +/* 11F32C 802B5D1C E4500008 */ swc1 $f16, 8($v0) +/* 11F330 802B5D20 8FBF0014 */ lw $ra, 0x14($sp) +/* 11F334 802B5D24 27BD0030 */ addiu $sp, $sp, 0x30 +/* 11F338 802B5D28 03E00008 */ jr $ra +/* 11F33C 802B5D2C 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B5D30.s b/asm/non_matchings/math_util/func_802B5D30.s index 47ae94dcd..bb63f4de8 100644 --- a/asm/non_matchings/math_util/func_802B5D30.s +++ b/asm/non_matchings/math_util/func_802B5D30.s @@ -1,14 +1,14 @@ -glabel func_802B5D30 -/* 11F340 802B5D30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 11F344 802B5D34 AFBF0014 */ sw $ra, 0x14($sp) -/* 11F348 802B5D38 AFA40018 */ sw $a0, 0x18($sp) -/* 11F34C 802B5D3C AFA5001C */ sw $a1, 0x1c($sp) -/* 11F350 802B5D40 00C03825 */ move $a3, $a2 -/* 11F354 802B5D44 87A6001E */ lh $a2, 0x1e($sp) -/* 11F358 802B5D48 87A5001A */ lh $a1, 0x1a($sp) -/* 11F35C 802B5D4C 0C0AD759 */ jal func_802B5D64 -/* 11F360 802B5D50 3C040900 */ lui $a0, 0x900 -/* 11F364 802B5D54 8FBF0014 */ lw $ra, 0x14($sp) -/* 11F368 802B5D58 27BD0018 */ addiu $sp, $sp, 0x18 -/* 11F36C 802B5D5C 03E00008 */ jr $ra -/* 11F370 802B5D60 00000000 */ nop +glabel func_802B5D30 +/* 11F340 802B5D30 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 11F344 802B5D34 AFBF0014 */ sw $ra, 0x14($sp) +/* 11F348 802B5D38 AFA40018 */ sw $a0, 0x18($sp) +/* 11F34C 802B5D3C AFA5001C */ sw $a1, 0x1c($sp) +/* 11F350 802B5D40 00C03825 */ move $a3, $a2 +/* 11F354 802B5D44 87A6001E */ lh $a2, 0x1e($sp) +/* 11F358 802B5D48 87A5001A */ lh $a1, 0x1a($sp) +/* 11F35C 802B5D4C 0C0AD759 */ jal func_802B5D64 +/* 11F360 802B5D50 3C040900 */ lui $a0, 0x900 +/* 11F364 802B5D54 8FBF0014 */ lw $ra, 0x14($sp) +/* 11F368 802B5D58 27BD0018 */ addiu $sp, $sp, 0x18 +/* 11F36C 802B5D5C 03E00008 */ jr $ra +/* 11F370 802B5D60 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B5D64.s b/asm/non_matchings/math_util/func_802B5D64.s index 23542aa45..b97a4044e 100644 --- a/asm/non_matchings/math_util/func_802B5D64.s +++ b/asm/non_matchings/math_util/func_802B5D64.s @@ -1,108 +1,108 @@ -glabel func_802B5D64 -/* 11F374 802B5D64 0004CE02 */ srl $t9, $a0, 0x18 -/* 11F378 802B5D68 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 11F37C 802B5D6C 00194080 */ sll $t0, $t9, 2 -/* 11F380 802B5D70 3C098015 */ lui $t1, %hi(gSegmentTable) -/* 11F384 802B5D74 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 11F388 802B5D78 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 11F38C 802B5D7C 01284821 */ addu $t1, $t1, $t0 -/* 11F390 802B5D80 8D290258 */ lw $t1, %lo(gSegmentTable)($t1) -/* 11F394 802B5D84 00815024 */ and $t2, $a0, $at -/* 11F398 802B5D88 AFB00014 */ sw $s0, 0x14($sp) -/* 11F39C 802B5D8C AFA40058 */ sw $a0, 0x58($sp) -/* 11F3A0 802B5D90 AFBF001C */ sw $ra, 0x1c($sp) -/* 11F3A4 802B5D94 AFB10018 */ sw $s1, 0x18($sp) -/* 11F3A8 802B5D98 3C018000 */ lui $at, 0x8000 -/* 11F3AC 802B5D9C 30C4FFFF */ andi $a0, $a2, 0xffff -/* 11F3B0 802B5DA0 012A8021 */ addu $s0, $t1, $t2 -/* 11F3B4 802B5DA4 00E08825 */ move $s1, $a3 -/* 11F3B8 802B5DA8 AFA5005C */ sw $a1, 0x5c($sp) -/* 11F3BC 802B5DAC AFA60060 */ sw $a2, 0x60($sp) -/* 11F3C0 802B5DB0 02018021 */ addu $s0, $s0, $at -/* 11F3C4 802B5DB4 0C0AE006 */ jal sins -/* 11F3C8 802B5DB8 AFA40020 */ sw $a0, 0x20($sp) -/* 11F3CC 802B5DBC 8FA40020 */ lw $a0, 0x20($sp) -/* 11F3D0 802B5DC0 0C0AE00E */ jal coss -/* 11F3D4 802B5DC4 E7A00048 */ swc1 $f0, 0x48($sp) -/* 11F3D8 802B5DC8 97A4005E */ lhu $a0, 0x5e($sp) -/* 11F3DC 802B5DCC E7A00044 */ swc1 $f0, 0x44($sp) -/* 11F3E0 802B5DD0 0C0AE006 */ jal sins -/* 11F3E4 802B5DD4 AFA40020 */ sw $a0, 0x20($sp) -/* 11F3E8 802B5DD8 8FA40020 */ lw $a0, 0x20($sp) -/* 11F3EC 802B5DDC 0C0AE00E */ jal coss -/* 11F3F0 802B5DE0 E7A00040 */ swc1 $f0, 0x40($sp) -/* 11F3F4 802B5DE4 C7AC0044 */ lwc1 $f12, 0x44($sp) -/* 11F3F8 802B5DE8 C7A40040 */ lwc1 $f4, 0x40($sp) -/* 11F3FC 802B5DEC 3C0142F0 */ li $at, 0x42F00000 # 120.000000 -/* 11F400 802B5DF0 44811000 */ mtc1 $at, $f2 -/* 11F404 802B5DF4 46046182 */ mul.s $f6, $f12, $f4 -/* 11F408 802B5DF8 C7B00048 */ lwc1 $f16, 0x48($sp) -/* 11F40C 802B5DFC 3C01C2F0 */ li $at, 0xC2F00000 # -120.000000 -/* 11F410 802B5E00 00001025 */ move $v0, $zero -/* 11F414 802B5E04 32240003 */ andi $a0, $s1, 3 -/* 11F418 802B5E08 46023202 */ mul.s $f8, $f6, $f2 -/* 11F41C 802B5E0C 00000000 */ nop -/* 11F420 802B5E10 46101482 */ mul.s $f18, $f2, $f16 -/* 11F424 802B5E14 00000000 */ nop -/* 11F428 802B5E18 46006182 */ mul.s $f6, $f12, $f0 -/* 11F42C 802B5E1C 4600428D */ trunc.w.s $f10, $f8 -/* 11F430 802B5E20 44814000 */ mtc1 $at, $f8 -/* 11F434 802B5E24 4600910D */ trunc.w.s $f4, $f18 -/* 11F438 802B5E28 440C5000 */ mfc1 $t4, $f10 -/* 11F43C 802B5E2C 46083282 */ mul.s $f10, $f6, $f8 -/* 11F440 802B5E30 440E2000 */ mfc1 $t6, $f4 -/* 11F444 802B5E34 A3AC002C */ sb $t4, 0x2c($sp) -/* 11F448 802B5E38 A3AE002D */ sb $t6, 0x2d($sp) -/* 11F44C 802B5E3C 4600540D */ trunc.w.s $f16, $f10 -/* 11F450 802B5E40 44198000 */ mfc1 $t9, $f16 -/* 11F454 802B5E44 1A200029 */ blez $s1, .L802B5EEC -/* 11F458 802B5E48 A3B9002E */ sb $t9, 0x2e($sp) -/* 11F45C 802B5E4C 1080000C */ beqz $a0, .L802B5E80 -/* 11F460 802B5E50 00801825 */ move $v1, $a0 -.L802B5E54: -/* 11F464 802B5E54 83A8002C */ lb $t0, 0x2c($sp) -/* 11F468 802B5E58 24420001 */ addiu $v0, $v0, 1 -/* 11F46C 802B5E5C 26100018 */ addiu $s0, $s0, 0x18 -/* 11F470 802B5E60 A208FFF8 */ sb $t0, -8($s0) -/* 11F474 802B5E64 83B8002D */ lb $t8, 0x2d($sp) -/* 11F478 802B5E68 A218FFF9 */ sb $t8, -7($s0) -/* 11F47C 802B5E6C 83A9002E */ lb $t1, 0x2e($sp) -/* 11F480 802B5E70 1462FFF8 */ bne $v1, $v0, .L802B5E54 -/* 11F484 802B5E74 A209FFFA */ sb $t1, -6($s0) -/* 11F488 802B5E78 5051001D */ beql $v0, $s1, .L802B5EF0 -/* 11F48C 802B5E7C 8FBF001C */ lw $ra, 0x1c($sp) -.L802B5E80: -/* 11F490 802B5E80 83AA002C */ lb $t2, 0x2c($sp) -/* 11F494 802B5E84 24420004 */ addiu $v0, $v0, 4 -/* 11F498 802B5E88 26100060 */ addiu $s0, $s0, 0x60 -/* 11F49C 802B5E8C A20AFFB0 */ sb $t2, -0x50($s0) -/* 11F4A0 802B5E90 83AB002D */ lb $t3, 0x2d($sp) -/* 11F4A4 802B5E94 A20BFFB1 */ sb $t3, -0x4f($s0) -/* 11F4A8 802B5E98 83AC002E */ lb $t4, 0x2e($sp) -/* 11F4AC 802B5E9C A20CFFB2 */ sb $t4, -0x4e($s0) -/* 11F4B0 802B5EA0 83AD002C */ lb $t5, 0x2c($sp) -/* 11F4B4 802B5EA4 A20DFFC8 */ sb $t5, -0x38($s0) -/* 11F4B8 802B5EA8 83AE002D */ lb $t6, 0x2d($sp) -/* 11F4BC 802B5EAC A20EFFC9 */ sb $t6, -0x37($s0) -/* 11F4C0 802B5EB0 83AF002E */ lb $t7, 0x2e($sp) -/* 11F4C4 802B5EB4 A20FFFCA */ sb $t7, -0x36($s0) -/* 11F4C8 802B5EB8 83B9002C */ lb $t9, 0x2c($sp) -/* 11F4CC 802B5EBC A219FFE0 */ sb $t9, -0x20($s0) -/* 11F4D0 802B5EC0 83A8002D */ lb $t0, 0x2d($sp) -/* 11F4D4 802B5EC4 A208FFE1 */ sb $t0, -0x1f($s0) -/* 11F4D8 802B5EC8 83B8002E */ lb $t8, 0x2e($sp) -/* 11F4DC 802B5ECC A218FFE2 */ sb $t8, -0x1e($s0) -/* 11F4E0 802B5ED0 83A9002C */ lb $t1, 0x2c($sp) -/* 11F4E4 802B5ED4 A209FFF8 */ sb $t1, -8($s0) -/* 11F4E8 802B5ED8 83AA002D */ lb $t2, 0x2d($sp) -/* 11F4EC 802B5EDC A20AFFF9 */ sb $t2, -7($s0) -/* 11F4F0 802B5EE0 83AB002E */ lb $t3, 0x2e($sp) -/* 11F4F4 802B5EE4 1451FFE6 */ bne $v0, $s1, .L802B5E80 -/* 11F4F8 802B5EE8 A20BFFFA */ sb $t3, -6($s0) -.L802B5EEC: -/* 11F4FC 802B5EEC 8FBF001C */ lw $ra, 0x1c($sp) -.L802B5EF0: -/* 11F500 802B5EF0 8FB00014 */ lw $s0, 0x14($sp) -/* 11F504 802B5EF4 8FB10018 */ lw $s1, 0x18($sp) -/* 11F508 802B5EF8 03E00008 */ jr $ra -/* 11F50C 802B5EFC 27BD0058 */ addiu $sp, $sp, 0x58 +glabel func_802B5D64 +/* 11F374 802B5D64 0004CE02 */ srl $t9, $a0, 0x18 +/* 11F378 802B5D68 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 11F37C 802B5D6C 00194080 */ sll $t0, $t9, 2 +/* 11F380 802B5D70 3C098015 */ lui $t1, %hi(gSegmentTable) +/* 11F384 802B5D74 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 11F388 802B5D78 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 11F38C 802B5D7C 01284821 */ addu $t1, $t1, $t0 +/* 11F390 802B5D80 8D290258 */ lw $t1, %lo(gSegmentTable)($t1) +/* 11F394 802B5D84 00815024 */ and $t2, $a0, $at +/* 11F398 802B5D88 AFB00014 */ sw $s0, 0x14($sp) +/* 11F39C 802B5D8C AFA40058 */ sw $a0, 0x58($sp) +/* 11F3A0 802B5D90 AFBF001C */ sw $ra, 0x1c($sp) +/* 11F3A4 802B5D94 AFB10018 */ sw $s1, 0x18($sp) +/* 11F3A8 802B5D98 3C018000 */ lui $at, 0x8000 +/* 11F3AC 802B5D9C 30C4FFFF */ andi $a0, $a2, 0xffff +/* 11F3B0 802B5DA0 012A8021 */ addu $s0, $t1, $t2 +/* 11F3B4 802B5DA4 00E08825 */ move $s1, $a3 +/* 11F3B8 802B5DA8 AFA5005C */ sw $a1, 0x5c($sp) +/* 11F3BC 802B5DAC AFA60060 */ sw $a2, 0x60($sp) +/* 11F3C0 802B5DB0 02018021 */ addu $s0, $s0, $at +/* 11F3C4 802B5DB4 0C0AE006 */ jal sins +/* 11F3C8 802B5DB8 AFA40020 */ sw $a0, 0x20($sp) +/* 11F3CC 802B5DBC 8FA40020 */ lw $a0, 0x20($sp) +/* 11F3D0 802B5DC0 0C0AE00E */ jal coss +/* 11F3D4 802B5DC4 E7A00048 */ swc1 $f0, 0x48($sp) +/* 11F3D8 802B5DC8 97A4005E */ lhu $a0, 0x5e($sp) +/* 11F3DC 802B5DCC E7A00044 */ swc1 $f0, 0x44($sp) +/* 11F3E0 802B5DD0 0C0AE006 */ jal sins +/* 11F3E4 802B5DD4 AFA40020 */ sw $a0, 0x20($sp) +/* 11F3E8 802B5DD8 8FA40020 */ lw $a0, 0x20($sp) +/* 11F3EC 802B5DDC 0C0AE00E */ jal coss +/* 11F3F0 802B5DE0 E7A00040 */ swc1 $f0, 0x40($sp) +/* 11F3F4 802B5DE4 C7AC0044 */ lwc1 $f12, 0x44($sp) +/* 11F3F8 802B5DE8 C7A40040 */ lwc1 $f4, 0x40($sp) +/* 11F3FC 802B5DEC 3C0142F0 */ li $at, 0x42F00000 # 120.000000 +/* 11F400 802B5DF0 44811000 */ mtc1 $at, $f2 +/* 11F404 802B5DF4 46046182 */ mul.s $f6, $f12, $f4 +/* 11F408 802B5DF8 C7B00048 */ lwc1 $f16, 0x48($sp) +/* 11F40C 802B5DFC 3C01C2F0 */ li $at, 0xC2F00000 # -120.000000 +/* 11F410 802B5E00 00001025 */ move $v0, $zero +/* 11F414 802B5E04 32240003 */ andi $a0, $s1, 3 +/* 11F418 802B5E08 46023202 */ mul.s $f8, $f6, $f2 +/* 11F41C 802B5E0C 00000000 */ nop +/* 11F420 802B5E10 46101482 */ mul.s $f18, $f2, $f16 +/* 11F424 802B5E14 00000000 */ nop +/* 11F428 802B5E18 46006182 */ mul.s $f6, $f12, $f0 +/* 11F42C 802B5E1C 4600428D */ trunc.w.s $f10, $f8 +/* 11F430 802B5E20 44814000 */ mtc1 $at, $f8 +/* 11F434 802B5E24 4600910D */ trunc.w.s $f4, $f18 +/* 11F438 802B5E28 440C5000 */ mfc1 $t4, $f10 +/* 11F43C 802B5E2C 46083282 */ mul.s $f10, $f6, $f8 +/* 11F440 802B5E30 440E2000 */ mfc1 $t6, $f4 +/* 11F444 802B5E34 A3AC002C */ sb $t4, 0x2c($sp) +/* 11F448 802B5E38 A3AE002D */ sb $t6, 0x2d($sp) +/* 11F44C 802B5E3C 4600540D */ trunc.w.s $f16, $f10 +/* 11F450 802B5E40 44198000 */ mfc1 $t9, $f16 +/* 11F454 802B5E44 1A200029 */ blez $s1, .L802B5EEC +/* 11F458 802B5E48 A3B9002E */ sb $t9, 0x2e($sp) +/* 11F45C 802B5E4C 1080000C */ beqz $a0, .L802B5E80 +/* 11F460 802B5E50 00801825 */ move $v1, $a0 +.L802B5E54: +/* 11F464 802B5E54 83A8002C */ lb $t0, 0x2c($sp) +/* 11F468 802B5E58 24420001 */ addiu $v0, $v0, 1 +/* 11F46C 802B5E5C 26100018 */ addiu $s0, $s0, 0x18 +/* 11F470 802B5E60 A208FFF8 */ sb $t0, -8($s0) +/* 11F474 802B5E64 83B8002D */ lb $t8, 0x2d($sp) +/* 11F478 802B5E68 A218FFF9 */ sb $t8, -7($s0) +/* 11F47C 802B5E6C 83A9002E */ lb $t1, 0x2e($sp) +/* 11F480 802B5E70 1462FFF8 */ bne $v1, $v0, .L802B5E54 +/* 11F484 802B5E74 A209FFFA */ sb $t1, -6($s0) +/* 11F488 802B5E78 5051001D */ beql $v0, $s1, .L802B5EF0 +/* 11F48C 802B5E7C 8FBF001C */ lw $ra, 0x1c($sp) +.L802B5E80: +/* 11F490 802B5E80 83AA002C */ lb $t2, 0x2c($sp) +/* 11F494 802B5E84 24420004 */ addiu $v0, $v0, 4 +/* 11F498 802B5E88 26100060 */ addiu $s0, $s0, 0x60 +/* 11F49C 802B5E8C A20AFFB0 */ sb $t2, -0x50($s0) +/* 11F4A0 802B5E90 83AB002D */ lb $t3, 0x2d($sp) +/* 11F4A4 802B5E94 A20BFFB1 */ sb $t3, -0x4f($s0) +/* 11F4A8 802B5E98 83AC002E */ lb $t4, 0x2e($sp) +/* 11F4AC 802B5E9C A20CFFB2 */ sb $t4, -0x4e($s0) +/* 11F4B0 802B5EA0 83AD002C */ lb $t5, 0x2c($sp) +/* 11F4B4 802B5EA4 A20DFFC8 */ sb $t5, -0x38($s0) +/* 11F4B8 802B5EA8 83AE002D */ lb $t6, 0x2d($sp) +/* 11F4BC 802B5EAC A20EFFC9 */ sb $t6, -0x37($s0) +/* 11F4C0 802B5EB0 83AF002E */ lb $t7, 0x2e($sp) +/* 11F4C4 802B5EB4 A20FFFCA */ sb $t7, -0x36($s0) +/* 11F4C8 802B5EB8 83B9002C */ lb $t9, 0x2c($sp) +/* 11F4CC 802B5EBC A219FFE0 */ sb $t9, -0x20($s0) +/* 11F4D0 802B5EC0 83A8002D */ lb $t0, 0x2d($sp) +/* 11F4D4 802B5EC4 A208FFE1 */ sb $t0, -0x1f($s0) +/* 11F4D8 802B5EC8 83B8002E */ lb $t8, 0x2e($sp) +/* 11F4DC 802B5ECC A218FFE2 */ sb $t8, -0x1e($s0) +/* 11F4E0 802B5ED0 83A9002C */ lb $t1, 0x2c($sp) +/* 11F4E4 802B5ED4 A209FFF8 */ sb $t1, -8($s0) +/* 11F4E8 802B5ED8 83AA002D */ lb $t2, 0x2d($sp) +/* 11F4EC 802B5EDC A20AFFF9 */ sb $t2, -7($s0) +/* 11F4F0 802B5EE0 83AB002E */ lb $t3, 0x2e($sp) +/* 11F4F4 802B5EE4 1451FFE6 */ bne $v0, $s1, .L802B5E80 +/* 11F4F8 802B5EE8 A20BFFFA */ sb $t3, -6($s0) +.L802B5EEC: +/* 11F4FC 802B5EEC 8FBF001C */ lw $ra, 0x1c($sp) +.L802B5EF0: +/* 11F500 802B5EF0 8FB00014 */ lw $s0, 0x14($sp) +/* 11F504 802B5EF4 8FB10018 */ lw $s1, 0x18($sp) +/* 11F508 802B5EF8 03E00008 */ jr $ra +/* 11F50C 802B5EFC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/math_util/func_802B5F74.s b/asm/non_matchings/math_util/func_802B5F74.s index c9a1eedf0..030abbf14 100644 --- a/asm/non_matchings/math_util/func_802B5F74.s +++ b/asm/non_matchings/math_util/func_802B5F74.s @@ -1,81 +1,81 @@ -glabel func_802B5F74 -/* 11F584 802B5F74 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 11F588 802B5F78 AFB0001C */ sw $s0, 0x1c($sp) -/* 11F58C 802B5F7C 00808025 */ move $s0, $a0 -/* 11F590 802B5F80 AFBF0024 */ sw $ra, 0x24($sp) -/* 11F594 802B5F84 AFB10020 */ sw $s1, 0x20($sp) -/* 11F598 802B5F88 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 11F59C 802B5F8C AFA50044 */ sw $a1, 0x44($sp) -/* 11F5A0 802B5F90 00C08825 */ move $s1, $a2 -/* 11F5A4 802B5F94 0C0AE006 */ jal sins -/* 11F5A8 802B5F98 94C40000 */ lhu $a0, ($a2) -/* 11F5AC 802B5F9C E7A0003C */ swc1 $f0, 0x3c($sp) -/* 11F5B0 802B5FA0 0C0AE00E */ jal coss -/* 11F5B4 802B5FA4 96240000 */ lhu $a0, ($s1) -/* 11F5B8 802B5FA8 46000506 */ mov.s $f20, $f0 -/* 11F5BC 802B5FAC 0C0AE006 */ jal sins -/* 11F5C0 802B5FB0 96240002 */ lhu $a0, 2($s1) -/* 11F5C4 802B5FB4 96240002 */ lhu $a0, 2($s1) -/* 11F5C8 802B5FB8 0C0AE00E */ jal coss -/* 11F5CC 802B5FBC E7A00034 */ swc1 $f0, 0x34($sp) -/* 11F5D0 802B5FC0 96240004 */ lhu $a0, 4($s1) -/* 11F5D4 802B5FC4 0C0AE006 */ jal sins -/* 11F5D8 802B5FC8 E7A00030 */ swc1 $f0, 0x30($sp) -/* 11F5DC 802B5FCC 96240004 */ lhu $a0, 4($s1) -/* 11F5E0 802B5FD0 0C0AE00E */ jal coss -/* 11F5E4 802B5FD4 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F5E8 802B5FD8 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 11F5EC 802B5FDC C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 11F5F0 802B5FE0 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 11F5F4 802B5FE4 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 11F5F8 802B5FE8 460E9302 */ mul.s $f12, $f18, $f14 -/* 11F5FC 802B5FEC 46008287 */ neg.s $f10, $f16 -/* 11F600 802B5FF0 8FA20044 */ lw $v0, 0x44($sp) -/* 11F604 802B5FF4 46008102 */ mul.s $f4, $f16, $f0 -/* 11F608 802B5FF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11F60C 802B5FFC 46026182 */ mul.s $f6, $f12, $f2 -/* 11F610 802B6000 46062200 */ add.s $f8, $f4, $f6 -/* 11F614 802B6004 46025102 */ mul.s $f4, $f10, $f2 -/* 11F618 802B6008 00000000 */ nop -/* 11F61C 802B600C 46006182 */ mul.s $f6, $f12, $f0 -/* 11F620 802B6010 E6080000 */ swc1 $f8, ($s0) -/* 11F624 802B6014 460EA282 */ mul.s $f10, $f20, $f14 -/* 11F628 802B6018 46062200 */ add.s $f8, $f4, $f6 -/* 11F62C 802B601C 4602A182 */ mul.s $f6, $f20, $f2 -/* 11F630 802B6020 E60A0020 */ swc1 $f10, 0x20($s0) -/* 11F634 802B6024 46009287 */ neg.s $f10, $f18 -/* 11F638 802B6028 E6080010 */ swc1 $f8, 0x10($s0) -/* 11F63C 802B602C 4600A202 */ mul.s $f8, $f20, $f0 -/* 11F640 802B6030 C4440000 */ lwc1 $f4, ($v0) -/* 11F644 802B6034 E60A0024 */ swc1 $f10, 0x24($s0) -/* 11F648 802B6038 46109302 */ mul.s $f12, $f18, $f16 -/* 11F64C 802B603C E6060004 */ swc1 $f6, 4($s0) -/* 11F650 802B6040 E6040030 */ swc1 $f4, 0x30($s0) -/* 11F654 802B6044 46007187 */ neg.s $f6, $f14 -/* 11F658 802B6048 E6080014 */ swc1 $f8, 0x14($s0) -/* 11F65C 802B604C 46003202 */ mul.s $f8, $f6, $f0 -/* 11F660 802B6050 C4440004 */ lwc1 $f4, 4($v0) -/* 11F664 802B6054 46026282 */ mul.s $f10, $f12, $f2 -/* 11F668 802B6058 E6040034 */ swc1 $f4, 0x34($s0) -/* 11F66C 802B605C 46027182 */ mul.s $f6, $f14, $f2 -/* 11F670 802B6060 460A4100 */ add.s $f4, $f8, $f10 -/* 11F674 802B6064 46006202 */ mul.s $f8, $f12, $f0 -/* 11F678 802B6068 44800000 */ mtc1 $zero, $f0 -/* 11F67C 802B606C E6040008 */ swc1 $f4, 8($s0) -/* 11F680 802B6070 4610A102 */ mul.s $f4, $f20, $f16 -/* 11F684 802B6074 46083280 */ add.s $f10, $f6, $f8 -/* 11F688 802B6078 44814000 */ mtc1 $at, $f8 -/* 11F68C 802B607C E6040028 */ swc1 $f4, 0x28($s0) -/* 11F690 802B6080 E60A0018 */ swc1 $f10, 0x18($s0) -/* 11F694 802B6084 C4460008 */ lwc1 $f6, 8($v0) -/* 11F698 802B6088 E600000C */ swc1 $f0, 0xc($s0) -/* 11F69C 802B608C E600001C */ swc1 $f0, 0x1c($s0) -/* 11F6A0 802B6090 E600002C */ swc1 $f0, 0x2c($s0) -/* 11F6A4 802B6094 E608003C */ swc1 $f8, 0x3c($s0) -/* 11F6A8 802B6098 E6060038 */ swc1 $f6, 0x38($s0) -/* 11F6AC 802B609C 8FBF0024 */ lw $ra, 0x24($sp) -/* 11F6B0 802B60A0 8FB10020 */ lw $s1, 0x20($sp) -/* 11F6B4 802B60A4 8FB0001C */ lw $s0, 0x1c($sp) -/* 11F6B8 802B60A8 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 11F6BC 802B60AC 03E00008 */ jr $ra -/* 11F6C0 802B60B0 27BD0040 */ addiu $sp, $sp, 0x40 +glabel func_802B5F74 +/* 11F584 802B5F74 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 11F588 802B5F78 AFB0001C */ sw $s0, 0x1c($sp) +/* 11F58C 802B5F7C 00808025 */ move $s0, $a0 +/* 11F590 802B5F80 AFBF0024 */ sw $ra, 0x24($sp) +/* 11F594 802B5F84 AFB10020 */ sw $s1, 0x20($sp) +/* 11F598 802B5F88 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 11F59C 802B5F8C AFA50044 */ sw $a1, 0x44($sp) +/* 11F5A0 802B5F90 00C08825 */ move $s1, $a2 +/* 11F5A4 802B5F94 0C0AE006 */ jal sins +/* 11F5A8 802B5F98 94C40000 */ lhu $a0, ($a2) +/* 11F5AC 802B5F9C E7A0003C */ swc1 $f0, 0x3c($sp) +/* 11F5B0 802B5FA0 0C0AE00E */ jal coss +/* 11F5B4 802B5FA4 96240000 */ lhu $a0, ($s1) +/* 11F5B8 802B5FA8 46000506 */ mov.s $f20, $f0 +/* 11F5BC 802B5FAC 0C0AE006 */ jal sins +/* 11F5C0 802B5FB0 96240002 */ lhu $a0, 2($s1) +/* 11F5C4 802B5FB4 96240002 */ lhu $a0, 2($s1) +/* 11F5C8 802B5FB8 0C0AE00E */ jal coss +/* 11F5CC 802B5FBC E7A00034 */ swc1 $f0, 0x34($sp) +/* 11F5D0 802B5FC0 96240004 */ lhu $a0, 4($s1) +/* 11F5D4 802B5FC4 0C0AE006 */ jal sins +/* 11F5D8 802B5FC8 E7A00030 */ swc1 $f0, 0x30($sp) +/* 11F5DC 802B5FCC 96240004 */ lhu $a0, 4($s1) +/* 11F5E0 802B5FD0 0C0AE00E */ jal coss +/* 11F5E4 802B5FD4 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F5E8 802B5FD8 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 11F5EC 802B5FDC C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 11F5F0 802B5FE0 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 11F5F4 802B5FE4 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 11F5F8 802B5FE8 460E9302 */ mul.s $f12, $f18, $f14 +/* 11F5FC 802B5FEC 46008287 */ neg.s $f10, $f16 +/* 11F600 802B5FF0 8FA20044 */ lw $v0, 0x44($sp) +/* 11F604 802B5FF4 46008102 */ mul.s $f4, $f16, $f0 +/* 11F608 802B5FF8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11F60C 802B5FFC 46026182 */ mul.s $f6, $f12, $f2 +/* 11F610 802B6000 46062200 */ add.s $f8, $f4, $f6 +/* 11F614 802B6004 46025102 */ mul.s $f4, $f10, $f2 +/* 11F618 802B6008 00000000 */ nop +/* 11F61C 802B600C 46006182 */ mul.s $f6, $f12, $f0 +/* 11F620 802B6010 E6080000 */ swc1 $f8, ($s0) +/* 11F624 802B6014 460EA282 */ mul.s $f10, $f20, $f14 +/* 11F628 802B6018 46062200 */ add.s $f8, $f4, $f6 +/* 11F62C 802B601C 4602A182 */ mul.s $f6, $f20, $f2 +/* 11F630 802B6020 E60A0020 */ swc1 $f10, 0x20($s0) +/* 11F634 802B6024 46009287 */ neg.s $f10, $f18 +/* 11F638 802B6028 E6080010 */ swc1 $f8, 0x10($s0) +/* 11F63C 802B602C 4600A202 */ mul.s $f8, $f20, $f0 +/* 11F640 802B6030 C4440000 */ lwc1 $f4, ($v0) +/* 11F644 802B6034 E60A0024 */ swc1 $f10, 0x24($s0) +/* 11F648 802B6038 46109302 */ mul.s $f12, $f18, $f16 +/* 11F64C 802B603C E6060004 */ swc1 $f6, 4($s0) +/* 11F650 802B6040 E6040030 */ swc1 $f4, 0x30($s0) +/* 11F654 802B6044 46007187 */ neg.s $f6, $f14 +/* 11F658 802B6048 E6080014 */ swc1 $f8, 0x14($s0) +/* 11F65C 802B604C 46003202 */ mul.s $f8, $f6, $f0 +/* 11F660 802B6050 C4440004 */ lwc1 $f4, 4($v0) +/* 11F664 802B6054 46026282 */ mul.s $f10, $f12, $f2 +/* 11F668 802B6058 E6040034 */ swc1 $f4, 0x34($s0) +/* 11F66C 802B605C 46027182 */ mul.s $f6, $f14, $f2 +/* 11F670 802B6060 460A4100 */ add.s $f4, $f8, $f10 +/* 11F674 802B6064 46006202 */ mul.s $f8, $f12, $f0 +/* 11F678 802B6068 44800000 */ mtc1 $zero, $f0 +/* 11F67C 802B606C E6040008 */ swc1 $f4, 8($s0) +/* 11F680 802B6070 4610A102 */ mul.s $f4, $f20, $f16 +/* 11F684 802B6074 46083280 */ add.s $f10, $f6, $f8 +/* 11F688 802B6078 44814000 */ mtc1 $at, $f8 +/* 11F68C 802B607C E6040028 */ swc1 $f4, 0x28($s0) +/* 11F690 802B6080 E60A0018 */ swc1 $f10, 0x18($s0) +/* 11F694 802B6084 C4460008 */ lwc1 $f6, 8($v0) +/* 11F698 802B6088 E600000C */ swc1 $f0, 0xc($s0) +/* 11F69C 802B608C E600001C */ swc1 $f0, 0x1c($s0) +/* 11F6A0 802B6090 E600002C */ swc1 $f0, 0x2c($s0) +/* 11F6A4 802B6094 E608003C */ swc1 $f8, 0x3c($s0) +/* 11F6A8 802B6098 E6060038 */ swc1 $f6, 0x38($s0) +/* 11F6AC 802B609C 8FBF0024 */ lw $ra, 0x24($sp) +/* 11F6B0 802B60A0 8FB10020 */ lw $s1, 0x20($sp) +/* 11F6B4 802B60A4 8FB0001C */ lw $s0, 0x1c($sp) +/* 11F6B8 802B60A8 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 11F6BC 802B60AC 03E00008 */ jr $ra +/* 11F6C0 802B60B0 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/math_util/func_802B60B4.s b/asm/non_matchings/math_util/func_802B60B4.s index e2a1a7b6a..b9f3f445b 100644 --- a/asm/non_matchings/math_util/func_802B60B4.s +++ b/asm/non_matchings/math_util/func_802B60B4.s @@ -1,89 +1,89 @@ -glabel func_802B60B4 -/* 11F6C4 802B60B4 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 11F6C8 802B60B8 AFB0001C */ sw $s0, 0x1c($sp) -/* 11F6CC 802B60BC 00808025 */ move $s0, $a0 -/* 11F6D0 802B60C0 AFBF0024 */ sw $ra, 0x24($sp) -/* 11F6D4 802B60C4 AFB10020 */ sw $s1, 0x20($sp) -/* 11F6D8 802B60C8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 11F6DC 802B60CC AFA50044 */ sw $a1, 0x44($sp) -/* 11F6E0 802B60D0 00C08825 */ move $s1, $a2 -/* 11F6E4 802B60D4 0C0AE006 */ jal sins -/* 11F6E8 802B60D8 94C40000 */ lhu $a0, ($a2) -/* 11F6EC 802B60DC E7A0003C */ swc1 $f0, 0x3c($sp) -/* 11F6F0 802B60E0 0C0AE00E */ jal coss -/* 11F6F4 802B60E4 96240000 */ lhu $a0, ($s1) -/* 11F6F8 802B60E8 46000506 */ mov.s $f20, $f0 -/* 11F6FC 802B60EC 0C0AE006 */ jal sins -/* 11F700 802B60F0 96240002 */ lhu $a0, 2($s1) -/* 11F704 802B60F4 96240002 */ lhu $a0, 2($s1) -/* 11F708 802B60F8 0C0AE00E */ jal coss -/* 11F70C 802B60FC E7A00034 */ swc1 $f0, 0x34($sp) -/* 11F710 802B6100 96240004 */ lhu $a0, 4($s1) -/* 11F714 802B6104 0C0AE006 */ jal sins -/* 11F718 802B6108 E7A00030 */ swc1 $f0, 0x30($sp) -/* 11F71C 802B610C 96240004 */ lhu $a0, 4($s1) -/* 11F720 802B6110 0C0AE00E */ jal coss -/* 11F724 802B6114 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F728 802B6118 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 11F72C 802B611C C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 11F730 802B6120 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 11F734 802B6124 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 11F738 802B6128 460E9302 */ mul.s $f12, $f18, $f14 -/* 11F73C 802B612C 46008287 */ neg.s $f10, $f16 -/* 11F740 802B6130 8FA20044 */ lw $v0, 0x44($sp) -/* 11F744 802B6134 46008102 */ mul.s $f4, $f16, $f0 -/* 11F748 802B6138 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11F74C 802B613C 46026182 */ mul.s $f6, $f12, $f2 -/* 11F750 802B6140 46062200 */ add.s $f8, $f4, $f6 -/* 11F754 802B6144 46025102 */ mul.s $f4, $f10, $f2 -/* 11F758 802B6148 00000000 */ nop -/* 11F75C 802B614C 46006182 */ mul.s $f6, $f12, $f0 -/* 11F760 802B6150 E6080000 */ swc1 $f8, ($s0) -/* 11F764 802B6154 460EA282 */ mul.s $f10, $f20, $f14 -/* 11F768 802B6158 46062200 */ add.s $f8, $f4, $f6 -/* 11F76C 802B615C E60A0008 */ swc1 $f10, 8($s0) -/* 11F770 802B6160 E6080004 */ swc1 $f8, 4($s0) -/* 11F774 802B6164 844E0000 */ lh $t6, ($v0) -/* 11F778 802B6168 4602A202 */ mul.s $f8, $f20, $f2 -/* 11F77C 802B616C 448E2000 */ mtc1 $t6, $f4 -/* 11F780 802B6170 4600A282 */ mul.s $f10, $f20, $f0 -/* 11F784 802B6174 E6080010 */ swc1 $f8, 0x10($s0) -/* 11F788 802B6178 46109302 */ mul.s $f12, $f18, $f16 -/* 11F78C 802B617C E60A0014 */ swc1 $f10, 0x14($s0) -/* 11F790 802B6180 46007287 */ neg.s $f10, $f14 -/* 11F794 802B6184 468021A0 */ cvt.s.w $f6, $f4 -/* 11F798 802B6188 46009107 */ neg.s $f4, $f18 -/* 11F79C 802B618C E606000C */ swc1 $f6, 0xc($s0) -/* 11F7A0 802B6190 E6040018 */ swc1 $f4, 0x18($s0) -/* 11F7A4 802B6194 844F0002 */ lh $t7, 2($v0) -/* 11F7A8 802B6198 46005102 */ mul.s $f4, $f10, $f0 -/* 11F7AC 802B619C 448F3000 */ mtc1 $t7, $f6 -/* 11F7B0 802B61A0 00000000 */ nop -/* 11F7B4 802B61A4 46803220 */ cvt.s.w $f8, $f6 -/* 11F7B8 802B61A8 46026182 */ mul.s $f6, $f12, $f2 -/* 11F7BC 802B61AC 00000000 */ nop -/* 11F7C0 802B61B0 46027282 */ mul.s $f10, $f14, $f2 -/* 11F7C4 802B61B4 E608001C */ swc1 $f8, 0x1c($s0) -/* 11F7C8 802B61B8 46062200 */ add.s $f8, $f4, $f6 -/* 11F7CC 802B61BC 46006102 */ mul.s $f4, $f12, $f0 -/* 11F7D0 802B61C0 44800000 */ mtc1 $zero, $f0 -/* 11F7D4 802B61C4 E6080020 */ swc1 $f8, 0x20($s0) -/* 11F7D8 802B61C8 4610A202 */ mul.s $f8, $f20, $f16 -/* 11F7DC 802B61CC 46045180 */ add.s $f6, $f10, $f4 -/* 11F7E0 802B61D0 E6080028 */ swc1 $f8, 0x28($s0) -/* 11F7E4 802B61D4 E6060024 */ swc1 $f6, 0x24($s0) -/* 11F7E8 802B61D8 84580004 */ lh $t8, 4($v0) -/* 11F7EC 802B61DC 44813000 */ mtc1 $at, $f6 -/* 11F7F0 802B61E0 E6000030 */ swc1 $f0, 0x30($s0) -/* 11F7F4 802B61E4 44985000 */ mtc1 $t8, $f10 -/* 11F7F8 802B61E8 E6000034 */ swc1 $f0, 0x34($s0) -/* 11F7FC 802B61EC E6000038 */ swc1 $f0, 0x38($s0) -/* 11F800 802B61F0 46805120 */ cvt.s.w $f4, $f10 -/* 11F804 802B61F4 E606003C */ swc1 $f6, 0x3c($s0) -/* 11F808 802B61F8 E604002C */ swc1 $f4, 0x2c($s0) -/* 11F80C 802B61FC 8FBF0024 */ lw $ra, 0x24($sp) -/* 11F810 802B6200 8FB10020 */ lw $s1, 0x20($sp) -/* 11F814 802B6204 8FB0001C */ lw $s0, 0x1c($sp) -/* 11F818 802B6208 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 11F81C 802B620C 03E00008 */ jr $ra -/* 11F820 802B6210 27BD0040 */ addiu $sp, $sp, 0x40 +glabel func_802B60B4 +/* 11F6C4 802B60B4 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 11F6C8 802B60B8 AFB0001C */ sw $s0, 0x1c($sp) +/* 11F6CC 802B60BC 00808025 */ move $s0, $a0 +/* 11F6D0 802B60C0 AFBF0024 */ sw $ra, 0x24($sp) +/* 11F6D4 802B60C4 AFB10020 */ sw $s1, 0x20($sp) +/* 11F6D8 802B60C8 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 11F6DC 802B60CC AFA50044 */ sw $a1, 0x44($sp) +/* 11F6E0 802B60D0 00C08825 */ move $s1, $a2 +/* 11F6E4 802B60D4 0C0AE006 */ jal sins +/* 11F6E8 802B60D8 94C40000 */ lhu $a0, ($a2) +/* 11F6EC 802B60DC E7A0003C */ swc1 $f0, 0x3c($sp) +/* 11F6F0 802B60E0 0C0AE00E */ jal coss +/* 11F6F4 802B60E4 96240000 */ lhu $a0, ($s1) +/* 11F6F8 802B60E8 46000506 */ mov.s $f20, $f0 +/* 11F6FC 802B60EC 0C0AE006 */ jal sins +/* 11F700 802B60F0 96240002 */ lhu $a0, 2($s1) +/* 11F704 802B60F4 96240002 */ lhu $a0, 2($s1) +/* 11F708 802B60F8 0C0AE00E */ jal coss +/* 11F70C 802B60FC E7A00034 */ swc1 $f0, 0x34($sp) +/* 11F710 802B6100 96240004 */ lhu $a0, 4($s1) +/* 11F714 802B6104 0C0AE006 */ jal sins +/* 11F718 802B6108 E7A00030 */ swc1 $f0, 0x30($sp) +/* 11F71C 802B610C 96240004 */ lhu $a0, 4($s1) +/* 11F720 802B6110 0C0AE00E */ jal coss +/* 11F724 802B6114 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F728 802B6118 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 11F72C 802B611C C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 11F730 802B6120 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 11F734 802B6124 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 11F738 802B6128 460E9302 */ mul.s $f12, $f18, $f14 +/* 11F73C 802B612C 46008287 */ neg.s $f10, $f16 +/* 11F740 802B6130 8FA20044 */ lw $v0, 0x44($sp) +/* 11F744 802B6134 46008102 */ mul.s $f4, $f16, $f0 +/* 11F748 802B6138 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11F74C 802B613C 46026182 */ mul.s $f6, $f12, $f2 +/* 11F750 802B6140 46062200 */ add.s $f8, $f4, $f6 +/* 11F754 802B6144 46025102 */ mul.s $f4, $f10, $f2 +/* 11F758 802B6148 00000000 */ nop +/* 11F75C 802B614C 46006182 */ mul.s $f6, $f12, $f0 +/* 11F760 802B6150 E6080000 */ swc1 $f8, ($s0) +/* 11F764 802B6154 460EA282 */ mul.s $f10, $f20, $f14 +/* 11F768 802B6158 46062200 */ add.s $f8, $f4, $f6 +/* 11F76C 802B615C E60A0008 */ swc1 $f10, 8($s0) +/* 11F770 802B6160 E6080004 */ swc1 $f8, 4($s0) +/* 11F774 802B6164 844E0000 */ lh $t6, ($v0) +/* 11F778 802B6168 4602A202 */ mul.s $f8, $f20, $f2 +/* 11F77C 802B616C 448E2000 */ mtc1 $t6, $f4 +/* 11F780 802B6170 4600A282 */ mul.s $f10, $f20, $f0 +/* 11F784 802B6174 E6080010 */ swc1 $f8, 0x10($s0) +/* 11F788 802B6178 46109302 */ mul.s $f12, $f18, $f16 +/* 11F78C 802B617C E60A0014 */ swc1 $f10, 0x14($s0) +/* 11F790 802B6180 46007287 */ neg.s $f10, $f14 +/* 11F794 802B6184 468021A0 */ cvt.s.w $f6, $f4 +/* 11F798 802B6188 46009107 */ neg.s $f4, $f18 +/* 11F79C 802B618C E606000C */ swc1 $f6, 0xc($s0) +/* 11F7A0 802B6190 E6040018 */ swc1 $f4, 0x18($s0) +/* 11F7A4 802B6194 844F0002 */ lh $t7, 2($v0) +/* 11F7A8 802B6198 46005102 */ mul.s $f4, $f10, $f0 +/* 11F7AC 802B619C 448F3000 */ mtc1 $t7, $f6 +/* 11F7B0 802B61A0 00000000 */ nop +/* 11F7B4 802B61A4 46803220 */ cvt.s.w $f8, $f6 +/* 11F7B8 802B61A8 46026182 */ mul.s $f6, $f12, $f2 +/* 11F7BC 802B61AC 00000000 */ nop +/* 11F7C0 802B61B0 46027282 */ mul.s $f10, $f14, $f2 +/* 11F7C4 802B61B4 E608001C */ swc1 $f8, 0x1c($s0) +/* 11F7C8 802B61B8 46062200 */ add.s $f8, $f4, $f6 +/* 11F7CC 802B61BC 46006102 */ mul.s $f4, $f12, $f0 +/* 11F7D0 802B61C0 44800000 */ mtc1 $zero, $f0 +/* 11F7D4 802B61C4 E6080020 */ swc1 $f8, 0x20($s0) +/* 11F7D8 802B61C8 4610A202 */ mul.s $f8, $f20, $f16 +/* 11F7DC 802B61CC 46045180 */ add.s $f6, $f10, $f4 +/* 11F7E0 802B61D0 E6080028 */ swc1 $f8, 0x28($s0) +/* 11F7E4 802B61D4 E6060024 */ swc1 $f6, 0x24($s0) +/* 11F7E8 802B61D8 84580004 */ lh $t8, 4($v0) +/* 11F7EC 802B61DC 44813000 */ mtc1 $at, $f6 +/* 11F7F0 802B61E0 E6000030 */ swc1 $f0, 0x30($s0) +/* 11F7F4 802B61E4 44985000 */ mtc1 $t8, $f10 +/* 11F7F8 802B61E8 E6000034 */ swc1 $f0, 0x34($s0) +/* 11F7FC 802B61EC E6000038 */ swc1 $f0, 0x38($s0) +/* 11F800 802B61F0 46805120 */ cvt.s.w $f4, $f10 +/* 11F804 802B61F4 E606003C */ swc1 $f6, 0x3c($s0) +/* 11F808 802B61F8 E604002C */ swc1 $f4, 0x2c($s0) +/* 11F80C 802B61FC 8FBF0024 */ lw $ra, 0x24($sp) +/* 11F810 802B6200 8FB10020 */ lw $s1, 0x20($sp) +/* 11F814 802B6204 8FB0001C */ lw $s0, 0x1c($sp) +/* 11F818 802B6208 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 11F81C 802B620C 03E00008 */ jr $ra +/* 11F820 802B6210 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/math_util/func_802B6214.s b/asm/non_matchings/math_util/func_802B6214.s index 05a86f735..8bb8a387a 100644 --- a/asm/non_matchings/math_util/func_802B6214.s +++ b/asm/non_matchings/math_util/func_802B6214.s @@ -1,89 +1,89 @@ -glabel func_802B6214 -/* 11F824 802B6214 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 11F828 802B6218 AFB0001C */ sw $s0, 0x1c($sp) -/* 11F82C 802B621C 00808025 */ move $s0, $a0 -/* 11F830 802B6220 AFBF0024 */ sw $ra, 0x24($sp) -/* 11F834 802B6224 AFB10020 */ sw $s1, 0x20($sp) -/* 11F838 802B6228 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 11F83C 802B622C AFA50044 */ sw $a1, 0x44($sp) -/* 11F840 802B6230 00C08825 */ move $s1, $a2 -/* 11F844 802B6234 0C0AE006 */ jal sins -/* 11F848 802B6238 94C40000 */ lhu $a0, ($a2) -/* 11F84C 802B623C E7A0003C */ swc1 $f0, 0x3c($sp) -/* 11F850 802B6240 0C0AE00E */ jal coss -/* 11F854 802B6244 96240000 */ lhu $a0, ($s1) -/* 11F858 802B6248 46000506 */ mov.s $f20, $f0 -/* 11F85C 802B624C 0C0AE006 */ jal sins -/* 11F860 802B6250 96240002 */ lhu $a0, 2($s1) -/* 11F864 802B6254 96240002 */ lhu $a0, 2($s1) -/* 11F868 802B6258 0C0AE00E */ jal coss -/* 11F86C 802B625C E7A00034 */ swc1 $f0, 0x34($sp) -/* 11F870 802B6260 96240004 */ lhu $a0, 4($s1) -/* 11F874 802B6264 0C0AE006 */ jal sins -/* 11F878 802B6268 E7A00030 */ swc1 $f0, 0x30($sp) -/* 11F87C 802B626C 96240004 */ lhu $a0, 4($s1) -/* 11F880 802B6270 0C0AE00E */ jal coss -/* 11F884 802B6274 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11F888 802B6278 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 11F88C 802B627C C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 11F890 802B6280 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 11F894 802B6284 C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 11F898 802B6288 460E9302 */ mul.s $f12, $f18, $f14 -/* 11F89C 802B628C 46008287 */ neg.s $f10, $f16 -/* 11F8A0 802B6290 8FA20044 */ lw $v0, 0x44($sp) -/* 11F8A4 802B6294 46008102 */ mul.s $f4, $f16, $f0 -/* 11F8A8 802B6298 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11F8AC 802B629C 46026182 */ mul.s $f6, $f12, $f2 -/* 11F8B0 802B62A0 46062200 */ add.s $f8, $f4, $f6 -/* 11F8B4 802B62A4 46025102 */ mul.s $f4, $f10, $f2 -/* 11F8B8 802B62A8 00000000 */ nop -/* 11F8BC 802B62AC 46006182 */ mul.s $f6, $f12, $f0 -/* 11F8C0 802B62B0 E6080000 */ swc1 $f8, ($s0) -/* 11F8C4 802B62B4 460EA282 */ mul.s $f10, $f20, $f14 -/* 11F8C8 802B62B8 46062200 */ add.s $f8, $f4, $f6 -/* 11F8CC 802B62BC E60A0020 */ swc1 $f10, 0x20($s0) -/* 11F8D0 802B62C0 E6080010 */ swc1 $f8, 0x10($s0) -/* 11F8D4 802B62C4 844E0000 */ lh $t6, ($v0) -/* 11F8D8 802B62C8 4602A202 */ mul.s $f8, $f20, $f2 -/* 11F8DC 802B62CC 448E2000 */ mtc1 $t6, $f4 -/* 11F8E0 802B62D0 4600A282 */ mul.s $f10, $f20, $f0 -/* 11F8E4 802B62D4 E6080004 */ swc1 $f8, 4($s0) -/* 11F8E8 802B62D8 46109302 */ mul.s $f12, $f18, $f16 -/* 11F8EC 802B62DC E60A0014 */ swc1 $f10, 0x14($s0) -/* 11F8F0 802B62E0 46007287 */ neg.s $f10, $f14 -/* 11F8F4 802B62E4 468021A0 */ cvt.s.w $f6, $f4 -/* 11F8F8 802B62E8 46009107 */ neg.s $f4, $f18 -/* 11F8FC 802B62EC E6060030 */ swc1 $f6, 0x30($s0) -/* 11F900 802B62F0 E6040024 */ swc1 $f4, 0x24($s0) -/* 11F904 802B62F4 844F0002 */ lh $t7, 2($v0) -/* 11F908 802B62F8 46005102 */ mul.s $f4, $f10, $f0 -/* 11F90C 802B62FC 448F3000 */ mtc1 $t7, $f6 -/* 11F910 802B6300 00000000 */ nop -/* 11F914 802B6304 46803220 */ cvt.s.w $f8, $f6 -/* 11F918 802B6308 46026182 */ mul.s $f6, $f12, $f2 -/* 11F91C 802B630C 00000000 */ nop -/* 11F920 802B6310 46027282 */ mul.s $f10, $f14, $f2 -/* 11F924 802B6314 E6080034 */ swc1 $f8, 0x34($s0) -/* 11F928 802B6318 46062200 */ add.s $f8, $f4, $f6 -/* 11F92C 802B631C 46006102 */ mul.s $f4, $f12, $f0 -/* 11F930 802B6320 44800000 */ mtc1 $zero, $f0 -/* 11F934 802B6324 E6080008 */ swc1 $f8, 8($s0) -/* 11F938 802B6328 4610A202 */ mul.s $f8, $f20, $f16 -/* 11F93C 802B632C 46045180 */ add.s $f6, $f10, $f4 -/* 11F940 802B6330 E6080028 */ swc1 $f8, 0x28($s0) -/* 11F944 802B6334 E6060018 */ swc1 $f6, 0x18($s0) -/* 11F948 802B6338 84580004 */ lh $t8, 4($v0) -/* 11F94C 802B633C 44813000 */ mtc1 $at, $f6 -/* 11F950 802B6340 E600000C */ swc1 $f0, 0xc($s0) -/* 11F954 802B6344 44985000 */ mtc1 $t8, $f10 -/* 11F958 802B6348 E600001C */ swc1 $f0, 0x1c($s0) -/* 11F95C 802B634C E600002C */ swc1 $f0, 0x2c($s0) -/* 11F960 802B6350 46805120 */ cvt.s.w $f4, $f10 -/* 11F964 802B6354 E606003C */ swc1 $f6, 0x3c($s0) -/* 11F968 802B6358 E6040038 */ swc1 $f4, 0x38($s0) -/* 11F96C 802B635C 8FBF0024 */ lw $ra, 0x24($sp) -/* 11F970 802B6360 8FB10020 */ lw $s1, 0x20($sp) -/* 11F974 802B6364 8FB0001C */ lw $s0, 0x1c($sp) -/* 11F978 802B6368 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 11F97C 802B636C 03E00008 */ jr $ra -/* 11F980 802B6370 27BD0040 */ addiu $sp, $sp, 0x40 +glabel func_802B6214 +/* 11F824 802B6214 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 11F828 802B6218 AFB0001C */ sw $s0, 0x1c($sp) +/* 11F82C 802B621C 00808025 */ move $s0, $a0 +/* 11F830 802B6220 AFBF0024 */ sw $ra, 0x24($sp) +/* 11F834 802B6224 AFB10020 */ sw $s1, 0x20($sp) +/* 11F838 802B6228 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 11F83C 802B622C AFA50044 */ sw $a1, 0x44($sp) +/* 11F840 802B6230 00C08825 */ move $s1, $a2 +/* 11F844 802B6234 0C0AE006 */ jal sins +/* 11F848 802B6238 94C40000 */ lhu $a0, ($a2) +/* 11F84C 802B623C E7A0003C */ swc1 $f0, 0x3c($sp) +/* 11F850 802B6240 0C0AE00E */ jal coss +/* 11F854 802B6244 96240000 */ lhu $a0, ($s1) +/* 11F858 802B6248 46000506 */ mov.s $f20, $f0 +/* 11F85C 802B624C 0C0AE006 */ jal sins +/* 11F860 802B6250 96240002 */ lhu $a0, 2($s1) +/* 11F864 802B6254 96240002 */ lhu $a0, 2($s1) +/* 11F868 802B6258 0C0AE00E */ jal coss +/* 11F86C 802B625C E7A00034 */ swc1 $f0, 0x34($sp) +/* 11F870 802B6260 96240004 */ lhu $a0, 4($s1) +/* 11F874 802B6264 0C0AE006 */ jal sins +/* 11F878 802B6268 E7A00030 */ swc1 $f0, 0x30($sp) +/* 11F87C 802B626C 96240004 */ lhu $a0, 4($s1) +/* 11F880 802B6270 0C0AE00E */ jal coss +/* 11F884 802B6274 E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11F888 802B6278 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 11F88C 802B627C C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 11F890 802B6280 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 11F894 802B6284 C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 11F898 802B6288 460E9302 */ mul.s $f12, $f18, $f14 +/* 11F89C 802B628C 46008287 */ neg.s $f10, $f16 +/* 11F8A0 802B6290 8FA20044 */ lw $v0, 0x44($sp) +/* 11F8A4 802B6294 46008102 */ mul.s $f4, $f16, $f0 +/* 11F8A8 802B6298 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11F8AC 802B629C 46026182 */ mul.s $f6, $f12, $f2 +/* 11F8B0 802B62A0 46062200 */ add.s $f8, $f4, $f6 +/* 11F8B4 802B62A4 46025102 */ mul.s $f4, $f10, $f2 +/* 11F8B8 802B62A8 00000000 */ nop +/* 11F8BC 802B62AC 46006182 */ mul.s $f6, $f12, $f0 +/* 11F8C0 802B62B0 E6080000 */ swc1 $f8, ($s0) +/* 11F8C4 802B62B4 460EA282 */ mul.s $f10, $f20, $f14 +/* 11F8C8 802B62B8 46062200 */ add.s $f8, $f4, $f6 +/* 11F8CC 802B62BC E60A0020 */ swc1 $f10, 0x20($s0) +/* 11F8D0 802B62C0 E6080010 */ swc1 $f8, 0x10($s0) +/* 11F8D4 802B62C4 844E0000 */ lh $t6, ($v0) +/* 11F8D8 802B62C8 4602A202 */ mul.s $f8, $f20, $f2 +/* 11F8DC 802B62CC 448E2000 */ mtc1 $t6, $f4 +/* 11F8E0 802B62D0 4600A282 */ mul.s $f10, $f20, $f0 +/* 11F8E4 802B62D4 E6080004 */ swc1 $f8, 4($s0) +/* 11F8E8 802B62D8 46109302 */ mul.s $f12, $f18, $f16 +/* 11F8EC 802B62DC E60A0014 */ swc1 $f10, 0x14($s0) +/* 11F8F0 802B62E0 46007287 */ neg.s $f10, $f14 +/* 11F8F4 802B62E4 468021A0 */ cvt.s.w $f6, $f4 +/* 11F8F8 802B62E8 46009107 */ neg.s $f4, $f18 +/* 11F8FC 802B62EC E6060030 */ swc1 $f6, 0x30($s0) +/* 11F900 802B62F0 E6040024 */ swc1 $f4, 0x24($s0) +/* 11F904 802B62F4 844F0002 */ lh $t7, 2($v0) +/* 11F908 802B62F8 46005102 */ mul.s $f4, $f10, $f0 +/* 11F90C 802B62FC 448F3000 */ mtc1 $t7, $f6 +/* 11F910 802B6300 00000000 */ nop +/* 11F914 802B6304 46803220 */ cvt.s.w $f8, $f6 +/* 11F918 802B6308 46026182 */ mul.s $f6, $f12, $f2 +/* 11F91C 802B630C 00000000 */ nop +/* 11F920 802B6310 46027282 */ mul.s $f10, $f14, $f2 +/* 11F924 802B6314 E6080034 */ swc1 $f8, 0x34($s0) +/* 11F928 802B6318 46062200 */ add.s $f8, $f4, $f6 +/* 11F92C 802B631C 46006102 */ mul.s $f4, $f12, $f0 +/* 11F930 802B6320 44800000 */ mtc1 $zero, $f0 +/* 11F934 802B6324 E6080008 */ swc1 $f8, 8($s0) +/* 11F938 802B6328 4610A202 */ mul.s $f8, $f20, $f16 +/* 11F93C 802B632C 46045180 */ add.s $f6, $f10, $f4 +/* 11F940 802B6330 E6080028 */ swc1 $f8, 0x28($s0) +/* 11F944 802B6334 E6060018 */ swc1 $f6, 0x18($s0) +/* 11F948 802B6338 84580004 */ lh $t8, 4($v0) +/* 11F94C 802B633C 44813000 */ mtc1 $at, $f6 +/* 11F950 802B6340 E600000C */ swc1 $f0, 0xc($s0) +/* 11F954 802B6344 44985000 */ mtc1 $t8, $f10 +/* 11F958 802B6348 E600001C */ swc1 $f0, 0x1c($s0) +/* 11F95C 802B634C E600002C */ swc1 $f0, 0x2c($s0) +/* 11F960 802B6350 46805120 */ cvt.s.w $f4, $f10 +/* 11F964 802B6354 E606003C */ swc1 $f6, 0x3c($s0) +/* 11F968 802B6358 E6040038 */ swc1 $f4, 0x38($s0) +/* 11F96C 802B635C 8FBF0024 */ lw $ra, 0x24($sp) +/* 11F970 802B6360 8FB10020 */ lw $s1, 0x20($sp) +/* 11F974 802B6364 8FB0001C */ lw $s0, 0x1c($sp) +/* 11F978 802B6368 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 11F97C 802B636C 03E00008 */ jr $ra +/* 11F980 802B6370 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/math_util/func_802B6374.s b/asm/non_matchings/math_util/func_802B6374.s index 2553fbcdb..b1dcb926d 100644 --- a/asm/non_matchings/math_util/func_802B6374.s +++ b/asm/non_matchings/math_util/func_802B6374.s @@ -1,18 +1,18 @@ -glabel func_802B6374 -/* 11F984 802B6374 C48C0000 */ lwc1 $f12, ($a0) -/* 11F988 802B6378 C48E0004 */ lwc1 $f14, 4($a0) -/* 11F98C 802B637C C4820008 */ lwc1 $f2, 8($a0) -/* 11F990 802B6380 460C6102 */ mul.s $f4, $f12, $f12 -/* 11F994 802B6384 00000000 */ nop -/* 11F998 802B6388 460E7182 */ mul.s $f6, $f14, $f14 -/* 11F99C 802B638C 46062200 */ add.s $f8, $f4, $f6 -/* 11F9A0 802B6390 46021282 */ mul.s $f10, $f2, $f2 -/* 11F9A4 802B6394 46085000 */ add.s $f0, $f10, $f8 -/* 11F9A8 802B6398 46000004 */ sqrt.s $f0, $f0 -/* 11F9AC 802B639C 46006403 */ div.s $f16, $f12, $f0 -/* 11F9B0 802B63A0 46007483 */ div.s $f18, $f14, $f0 -/* 11F9B4 802B63A4 E4900000 */ swc1 $f16, ($a0) -/* 11F9B8 802B63A8 46001103 */ div.s $f4, $f2, $f0 -/* 11F9BC 802B63AC E4920004 */ swc1 $f18, 4($a0) -/* 11F9C0 802B63B0 03E00008 */ jr $ra -/* 11F9C4 802B63B4 E4840008 */ swc1 $f4, 8($a0) +glabel func_802B6374 +/* 11F984 802B6374 C48C0000 */ lwc1 $f12, ($a0) +/* 11F988 802B6378 C48E0004 */ lwc1 $f14, 4($a0) +/* 11F98C 802B637C C4820008 */ lwc1 $f2, 8($a0) +/* 11F990 802B6380 460C6102 */ mul.s $f4, $f12, $f12 +/* 11F994 802B6384 00000000 */ nop +/* 11F998 802B6388 460E7182 */ mul.s $f6, $f14, $f14 +/* 11F99C 802B638C 46062200 */ add.s $f8, $f4, $f6 +/* 11F9A0 802B6390 46021282 */ mul.s $f10, $f2, $f2 +/* 11F9A4 802B6394 46085000 */ add.s $f0, $f10, $f8 +/* 11F9A8 802B6398 46000004 */ sqrt.s $f0, $f0 +/* 11F9AC 802B639C 46006403 */ div.s $f16, $f12, $f0 +/* 11F9B0 802B63A0 46007483 */ div.s $f18, $f14, $f0 +/* 11F9B4 802B63A4 E4900000 */ swc1 $f16, ($a0) +/* 11F9B8 802B63A8 46001103 */ div.s $f4, $f2, $f0 +/* 11F9BC 802B63AC E4920004 */ swc1 $f18, 4($a0) +/* 11F9C0 802B63B0 03E00008 */ jr $ra +/* 11F9C4 802B63B4 E4840008 */ swc1 $f4, 8($a0) diff --git a/asm/non_matchings/math_util/func_802B63B8.s b/asm/non_matchings/math_util/func_802B63B8.s index df865c6b1..54a0a882b 100644 --- a/asm/non_matchings/math_util/func_802B63B8.s +++ b/asm/non_matchings/math_util/func_802B63B8.s @@ -1,32 +1,32 @@ -glabel func_802B63B8 -/* 11F9C8 802B63B8 C48C0000 */ lwc1 $f12, ($a0) -/* 11F9CC 802B63BC C4A40000 */ lwc1 $f4, ($a1) -/* 11F9D0 802B63C0 C48E0004 */ lwc1 $f14, 4($a0) -/* 11F9D4 802B63C4 C4A80004 */ lwc1 $f8, 4($a1) -/* 11F9D8 802B63C8 460C2182 */ mul.s $f6, $f4, $f12 -/* 11F9DC 802B63CC C4820008 */ lwc1 $f2, 8($a0) -/* 11F9E0 802B63D0 460E4282 */ mul.s $f10, $f8, $f14 -/* 11F9E4 802B63D4 C4A80008 */ lwc1 $f8, 8($a1) -/* 11F9E8 802B63D8 460A3100 */ add.s $f4, $f6, $f10 -/* 11F9EC 802B63DC 46081182 */ mul.s $f6, $f2, $f8 -/* 11F9F0 802B63E0 C4AA000C */ lwc1 $f10, 0xc($a1) -/* 11F9F4 802B63E4 460C5202 */ mul.s $f8, $f10, $f12 -/* 11F9F8 802B63E8 46043000 */ add.s $f0, $f6, $f4 -/* 11F9FC 802B63EC C4A60010 */ lwc1 $f6, 0x10($a1) -/* 11FA00 802B63F0 460E3102 */ mul.s $f4, $f6, $f14 -/* 11FA04 802B63F4 C4A60014 */ lwc1 $f6, 0x14($a1) -/* 11FA08 802B63F8 46044280 */ add.s $f10, $f8, $f4 -/* 11FA0C 802B63FC 46061202 */ mul.s $f8, $f2, $f6 -/* 11FA10 802B6400 C4A40018 */ lwc1 $f4, 0x18($a1) -/* 11FA14 802B6404 460C2182 */ mul.s $f6, $f4, $f12 -/* 11FA18 802B6408 460A4400 */ add.s $f16, $f8, $f10 -/* 11FA1C 802B640C C4A8001C */ lwc1 $f8, 0x1c($a1) -/* 11FA20 802B6410 460E4282 */ mul.s $f10, $f8, $f14 -/* 11FA24 802B6414 C4A80020 */ lwc1 $f8, 0x20($a1) -/* 11FA28 802B6418 E4800000 */ swc1 $f0, ($a0) -/* 11FA2C 802B641C E4900004 */ swc1 $f16, 4($a0) -/* 11FA30 802B6420 460A3100 */ add.s $f4, $f6, $f10 -/* 11FA34 802B6424 46081182 */ mul.s $f6, $f2, $f8 -/* 11FA38 802B6428 46043480 */ add.s $f18, $f6, $f4 -/* 11FA3C 802B642C 03E00008 */ jr $ra -/* 11FA40 802B6430 E4920008 */ swc1 $f18, 8($a0) +glabel func_802B63B8 +/* 11F9C8 802B63B8 C48C0000 */ lwc1 $f12, ($a0) +/* 11F9CC 802B63BC C4A40000 */ lwc1 $f4, ($a1) +/* 11F9D0 802B63C0 C48E0004 */ lwc1 $f14, 4($a0) +/* 11F9D4 802B63C4 C4A80004 */ lwc1 $f8, 4($a1) +/* 11F9D8 802B63C8 460C2182 */ mul.s $f6, $f4, $f12 +/* 11F9DC 802B63CC C4820008 */ lwc1 $f2, 8($a0) +/* 11F9E0 802B63D0 460E4282 */ mul.s $f10, $f8, $f14 +/* 11F9E4 802B63D4 C4A80008 */ lwc1 $f8, 8($a1) +/* 11F9E8 802B63D8 460A3100 */ add.s $f4, $f6, $f10 +/* 11F9EC 802B63DC 46081182 */ mul.s $f6, $f2, $f8 +/* 11F9F0 802B63E0 C4AA000C */ lwc1 $f10, 0xc($a1) +/* 11F9F4 802B63E4 460C5202 */ mul.s $f8, $f10, $f12 +/* 11F9F8 802B63E8 46043000 */ add.s $f0, $f6, $f4 +/* 11F9FC 802B63EC C4A60010 */ lwc1 $f6, 0x10($a1) +/* 11FA00 802B63F0 460E3102 */ mul.s $f4, $f6, $f14 +/* 11FA04 802B63F4 C4A60014 */ lwc1 $f6, 0x14($a1) +/* 11FA08 802B63F8 46044280 */ add.s $f10, $f8, $f4 +/* 11FA0C 802B63FC 46061202 */ mul.s $f8, $f2, $f6 +/* 11FA10 802B6400 C4A40018 */ lwc1 $f4, 0x18($a1) +/* 11FA14 802B6404 460C2182 */ mul.s $f6, $f4, $f12 +/* 11FA18 802B6408 460A4400 */ add.s $f16, $f8, $f10 +/* 11FA1C 802B640C C4A8001C */ lwc1 $f8, 0x1c($a1) +/* 11FA20 802B6410 460E4282 */ mul.s $f10, $f8, $f14 +/* 11FA24 802B6414 C4A80020 */ lwc1 $f8, 0x20($a1) +/* 11FA28 802B6418 E4800000 */ swc1 $f0, ($a0) +/* 11FA2C 802B641C E4900004 */ swc1 $f16, 4($a0) +/* 11FA30 802B6420 460A3100 */ add.s $f4, $f6, $f10 +/* 11FA34 802B6424 46081182 */ mul.s $f6, $f2, $f8 +/* 11FA38 802B6428 46043480 */ add.s $f18, $f6, $f4 +/* 11FA3C 802B642C 03E00008 */ jr $ra +/* 11FA40 802B6430 E4920008 */ swc1 $f18, 8($a0) diff --git a/asm/non_matchings/math_util/func_802B6434.s b/asm/non_matchings/math_util/func_802B6434.s index 4ce5059ed..0dfe0782d 100644 --- a/asm/non_matchings/math_util/func_802B6434.s +++ b/asm/non_matchings/math_util/func_802B6434.s @@ -1,32 +1,32 @@ -glabel func_802B6434 -/* 11FA44 802B6434 C48C0000 */ lwc1 $f12, ($a0) -/* 11FA48 802B6438 C4A40000 */ lwc1 $f4, ($a1) -/* 11FA4C 802B643C C48E0004 */ lwc1 $f14, 4($a0) -/* 11FA50 802B6440 C4A80004 */ lwc1 $f8, 4($a1) -/* 11FA54 802B6444 460C2182 */ mul.s $f6, $f4, $f12 -/* 11FA58 802B6448 C4820008 */ lwc1 $f2, 8($a0) -/* 11FA5C 802B644C 460E4282 */ mul.s $f10, $f8, $f14 -/* 11FA60 802B6450 C4A80008 */ lwc1 $f8, 8($a1) -/* 11FA64 802B6454 460A3100 */ add.s $f4, $f6, $f10 -/* 11FA68 802B6458 46081182 */ mul.s $f6, $f2, $f8 -/* 11FA6C 802B645C C4AA0010 */ lwc1 $f10, 0x10($a1) -/* 11FA70 802B6460 460C5202 */ mul.s $f8, $f10, $f12 -/* 11FA74 802B6464 46043000 */ add.s $f0, $f6, $f4 -/* 11FA78 802B6468 C4A60014 */ lwc1 $f6, 0x14($a1) -/* 11FA7C 802B646C 460E3102 */ mul.s $f4, $f6, $f14 -/* 11FA80 802B6470 C4A60018 */ lwc1 $f6, 0x18($a1) -/* 11FA84 802B6474 46044280 */ add.s $f10, $f8, $f4 -/* 11FA88 802B6478 46061202 */ mul.s $f8, $f2, $f6 -/* 11FA8C 802B647C C4A40020 */ lwc1 $f4, 0x20($a1) -/* 11FA90 802B6480 460C2182 */ mul.s $f6, $f4, $f12 -/* 11FA94 802B6484 460A4400 */ add.s $f16, $f8, $f10 -/* 11FA98 802B6488 C4A80024 */ lwc1 $f8, 0x24($a1) -/* 11FA9C 802B648C 460E4282 */ mul.s $f10, $f8, $f14 -/* 11FAA0 802B6490 C4A80028 */ lwc1 $f8, 0x28($a1) -/* 11FAA4 802B6494 E4800000 */ swc1 $f0, ($a0) -/* 11FAA8 802B6498 E4900004 */ swc1 $f16, 4($a0) -/* 11FAAC 802B649C 460A3100 */ add.s $f4, $f6, $f10 -/* 11FAB0 802B64A0 46081182 */ mul.s $f6, $f2, $f8 -/* 11FAB4 802B64A4 46043480 */ add.s $f18, $f6, $f4 -/* 11FAB8 802B64A8 03E00008 */ jr $ra -/* 11FABC 802B64AC E4920008 */ swc1 $f18, 8($a0) +glabel func_802B6434 +/* 11FA44 802B6434 C48C0000 */ lwc1 $f12, ($a0) +/* 11FA48 802B6438 C4A40000 */ lwc1 $f4, ($a1) +/* 11FA4C 802B643C C48E0004 */ lwc1 $f14, 4($a0) +/* 11FA50 802B6440 C4A80004 */ lwc1 $f8, 4($a1) +/* 11FA54 802B6444 460C2182 */ mul.s $f6, $f4, $f12 +/* 11FA58 802B6448 C4820008 */ lwc1 $f2, 8($a0) +/* 11FA5C 802B644C 460E4282 */ mul.s $f10, $f8, $f14 +/* 11FA60 802B6450 C4A80008 */ lwc1 $f8, 8($a1) +/* 11FA64 802B6454 460A3100 */ add.s $f4, $f6, $f10 +/* 11FA68 802B6458 46081182 */ mul.s $f6, $f2, $f8 +/* 11FA6C 802B645C C4AA0010 */ lwc1 $f10, 0x10($a1) +/* 11FA70 802B6460 460C5202 */ mul.s $f8, $f10, $f12 +/* 11FA74 802B6464 46043000 */ add.s $f0, $f6, $f4 +/* 11FA78 802B6468 C4A60014 */ lwc1 $f6, 0x14($a1) +/* 11FA7C 802B646C 460E3102 */ mul.s $f4, $f6, $f14 +/* 11FA80 802B6470 C4A60018 */ lwc1 $f6, 0x18($a1) +/* 11FA84 802B6474 46044280 */ add.s $f10, $f8, $f4 +/* 11FA88 802B6478 46061202 */ mul.s $f8, $f2, $f6 +/* 11FA8C 802B647C C4A40020 */ lwc1 $f4, 0x20($a1) +/* 11FA90 802B6480 460C2182 */ mul.s $f6, $f4, $f12 +/* 11FA94 802B6484 460A4400 */ add.s $f16, $f8, $f10 +/* 11FA98 802B6488 C4A80024 */ lwc1 $f8, 0x24($a1) +/* 11FA9C 802B648C 460E4282 */ mul.s $f10, $f8, $f14 +/* 11FAA0 802B6490 C4A80028 */ lwc1 $f8, 0x28($a1) +/* 11FAA4 802B6494 E4800000 */ swc1 $f0, ($a0) +/* 11FAA8 802B6498 E4900004 */ swc1 $f16, 4($a0) +/* 11FAAC 802B649C 460A3100 */ add.s $f4, $f6, $f10 +/* 11FAB0 802B64A0 46081182 */ mul.s $f6, $f2, $f8 +/* 11FAB4 802B64A4 46043480 */ add.s $f18, $f6, $f4 +/* 11FAB8 802B64A8 03E00008 */ jr $ra +/* 11FABC 802B64AC E4920008 */ swc1 $f18, 8($a0) diff --git a/asm/non_matchings/math_util/func_802B64B0.s b/asm/non_matchings/math_util/func_802B64B0.s index bcf5e8493..134b96b60 100644 --- a/asm/non_matchings/math_util/func_802B64B0.s +++ b/asm/non_matchings/math_util/func_802B64B0.s @@ -1,6 +1,6 @@ -glabel func_802B64B0 -/* 11FAC0 802B64B0 AFA40000 */ sw $a0, ($sp) -/* 11FAC4 802B64B4 AFA50004 */ sw $a1, 4($sp) -/* 11FAC8 802B64B8 AFA60008 */ sw $a2, 8($sp) -/* 11FACC 802B64BC 03E00008 */ jr $ra -/* 11FAD0 802B64C0 AFA7000C */ sw $a3, 0xc($sp) +glabel func_802B64B0 +/* 11FAC0 802B64B0 AFA40000 */ sw $a0, ($sp) +/* 11FAC4 802B64B4 AFA50004 */ sw $a1, 4($sp) +/* 11FAC8 802B64B8 AFA60008 */ sw $a2, 8($sp) +/* 11FACC 802B64BC 03E00008 */ jr $ra +/* 11FAD0 802B64C0 AFA7000C */ sw $a3, 0xc($sp) diff --git a/asm/non_matchings/math_util/func_802B64C4.s b/asm/non_matchings/math_util/func_802B64C4.s index 668c8678e..21f90ddd3 100644 --- a/asm/non_matchings/math_util/func_802B64C4.s +++ b/asm/non_matchings/math_util/func_802B64C4.s @@ -1,32 +1,32 @@ -glabel func_802B64C4 -/* 11FAD4 802B64C4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 11FAD8 802B64C8 00803025 */ move $a2, $a0 -/* 11FADC 802B64CC AFBF0014 */ sw $ra, 0x14($sp) -/* 11FAE0 802B64D0 30A4FFFF */ andi $a0, $a1, 0xffff -/* 11FAE4 802B64D4 AFA50034 */ sw $a1, 0x34($sp) -/* 11FAE8 802B64D8 AFA40018 */ sw $a0, 0x18($sp) -/* 11FAEC 802B64DC 0C0AE006 */ jal sins -/* 11FAF0 802B64E0 AFA60030 */ sw $a2, 0x30($sp) -/* 11FAF4 802B64E4 8FA40018 */ lw $a0, 0x18($sp) -/* 11FAF8 802B64E8 0C0AE00E */ jal coss -/* 11FAFC 802B64EC E7A0002C */ swc1 $f0, 0x2c($sp) -/* 11FB00 802B64F0 8FA60030 */ lw $a2, 0x30($sp) -/* 11FB04 802B64F4 C7B0002C */ lwc1 $f16, 0x2c($sp) -/* 11FB08 802B64F8 C4C20000 */ lwc1 $f2, ($a2) -/* 11FB0C 802B64FC C4CC0008 */ lwc1 $f12, 8($a2) -/* 11FB10 802B6500 C4CE0004 */ lwc1 $f14, 4($a2) -/* 11FB14 802B6504 46020102 */ mul.s $f4, $f0, $f2 -/* 11FB18 802B6508 E4CE0004 */ swc1 $f14, 4($a2) -/* 11FB1C 802B650C 460C8182 */ mul.s $f6, $f16, $f12 -/* 11FB20 802B6510 00000000 */ nop -/* 11FB24 802B6514 46028282 */ mul.s $f10, $f16, $f2 -/* 11FB28 802B6518 00000000 */ nop -/* 11FB2C 802B651C 460C0482 */ mul.s $f18, $f0, $f12 -/* 11FB30 802B6520 46062201 */ sub.s $f8, $f4, $f6 -/* 11FB34 802B6524 E4C80000 */ swc1 $f8, ($a2) -/* 11FB38 802B6528 46125100 */ add.s $f4, $f10, $f18 -/* 11FB3C 802B652C E4C40008 */ swc1 $f4, 8($a2) -/* 11FB40 802B6530 8FBF0014 */ lw $ra, 0x14($sp) -/* 11FB44 802B6534 27BD0030 */ addiu $sp, $sp, 0x30 -/* 11FB48 802B6538 03E00008 */ jr $ra -/* 11FB4C 802B653C 00000000 */ nop +glabel func_802B64C4 +/* 11FAD4 802B64C4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 11FAD8 802B64C8 00803025 */ move $a2, $a0 +/* 11FADC 802B64CC AFBF0014 */ sw $ra, 0x14($sp) +/* 11FAE0 802B64D0 30A4FFFF */ andi $a0, $a1, 0xffff +/* 11FAE4 802B64D4 AFA50034 */ sw $a1, 0x34($sp) +/* 11FAE8 802B64D8 AFA40018 */ sw $a0, 0x18($sp) +/* 11FAEC 802B64DC 0C0AE006 */ jal sins +/* 11FAF0 802B64E0 AFA60030 */ sw $a2, 0x30($sp) +/* 11FAF4 802B64E4 8FA40018 */ lw $a0, 0x18($sp) +/* 11FAF8 802B64E8 0C0AE00E */ jal coss +/* 11FAFC 802B64EC E7A0002C */ swc1 $f0, 0x2c($sp) +/* 11FB00 802B64F0 8FA60030 */ lw $a2, 0x30($sp) +/* 11FB04 802B64F4 C7B0002C */ lwc1 $f16, 0x2c($sp) +/* 11FB08 802B64F8 C4C20000 */ lwc1 $f2, ($a2) +/* 11FB0C 802B64FC C4CC0008 */ lwc1 $f12, 8($a2) +/* 11FB10 802B6500 C4CE0004 */ lwc1 $f14, 4($a2) +/* 11FB14 802B6504 46020102 */ mul.s $f4, $f0, $f2 +/* 11FB18 802B6508 E4CE0004 */ swc1 $f14, 4($a2) +/* 11FB1C 802B650C 460C8182 */ mul.s $f6, $f16, $f12 +/* 11FB20 802B6510 00000000 */ nop +/* 11FB24 802B6514 46028282 */ mul.s $f10, $f16, $f2 +/* 11FB28 802B6518 00000000 */ nop +/* 11FB2C 802B651C 460C0482 */ mul.s $f18, $f0, $f12 +/* 11FB30 802B6520 46062201 */ sub.s $f8, $f4, $f6 +/* 11FB34 802B6524 E4C80000 */ swc1 $f8, ($a2) +/* 11FB38 802B6528 46125100 */ add.s $f4, $f10, $f18 +/* 11FB3C 802B652C E4C40008 */ swc1 $f4, 8($a2) +/* 11FB40 802B6530 8FBF0014 */ lw $ra, 0x14($sp) +/* 11FB44 802B6534 27BD0030 */ addiu $sp, $sp, 0x30 +/* 11FB48 802B6538 03E00008 */ jr $ra +/* 11FB4C 802B653C 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B6540.s b/asm/non_matchings/math_util/func_802B6540.s index 00ec4e95b..ac468ecbf 100644 --- a/asm/non_matchings/math_util/func_802B6540.s +++ b/asm/non_matchings/math_util/func_802B6540.s @@ -1,249 +1,249 @@ -glabel func_802B6540 -/* 11FB50 802B6540 27BDFF50 */ addiu $sp, $sp, -0xb0 -/* 11FB54 802B6544 AFB00020 */ sw $s0, 0x20($sp) -/* 11FB58 802B6548 00808025 */ move $s0, $a0 -/* 11FB5C 802B654C 97A400C2 */ lhu $a0, 0xc2($sp) -/* 11FB60 802B6550 AFBF0024 */ sw $ra, 0x24($sp) -/* 11FB64 802B6554 AFA500B4 */ sw $a1, 0xb4($sp) -/* 11FB68 802B6558 AFA600B8 */ sw $a2, 0xb8($sp) -/* 11FB6C 802B655C AFA700BC */ sw $a3, 0xbc($sp) -/* 11FB70 802B6560 0C0AE006 */ jal sins -/* 11FB74 802B6564 AFA40038 */ sw $a0, 0x38($sp) -/* 11FB78 802B6568 8FA40038 */ lw $a0, 0x38($sp) -/* 11FB7C 802B656C 0C0AE00E */ jal coss -/* 11FB80 802B6570 E7A00040 */ swc1 $f0, 0x40($sp) -/* 11FB84 802B6574 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11FB88 802B6578 44816000 */ mtc1 $at, $f12 -/* 11FB8C 802B657C C7A600B8 */ lwc1 $f6, 0xb8($sp) -/* 11FB90 802B6580 44807000 */ mtc1 $zero, $f14 -/* 11FB94 802B6584 C7A20040 */ lwc1 $f2, 0x40($sp) -/* 11FB98 802B6588 460C3032 */ c.eq.s $f6, $f12 -/* 11FB9C 802B658C E7A0008C */ swc1 $f0, 0x8c($sp) -/* 11FBA0 802B6590 46001107 */ neg.s $f4, $f2 -/* 11FBA4 802B6594 E7A000AC */ swc1 $f0, 0xac($sp) -/* 11FBA8 802B6598 E7A40094 */ swc1 $f4, 0x94($sp) -/* 11FBAC 802B659C E7AC009C */ swc1 $f12, 0x9c($sp) -/* 11FBB0 802B65A0 E7AE00A8 */ swc1 $f14, 0xa8($sp) -/* 11FBB4 802B65A4 E7AE00A0 */ swc1 $f14, 0xa0($sp) -/* 11FBB8 802B65A8 E7A200A4 */ swc1 $f2, 0xa4($sp) -/* 11FBBC 802B65AC E7AE0098 */ swc1 $f14, 0x98($sp) -/* 11FBC0 802B65B0 45000018 */ bc1f .L802B6614 -/* 11FBC4 802B65B4 E7AE0090 */ swc1 $f14, 0x90($sp) -/* 11FBC8 802B65B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11FBCC 802B65BC 44810000 */ mtc1 $at, $f0 -/* 11FBD0 802B65C0 44801000 */ mtc1 $zero, $f2 -/* 11FBD4 802B65C4 00002025 */ move $a0, $zero -/* 11FBD8 802B65C8 27A70068 */ addiu $a3, $sp, 0x68 -/* 11FBDC 802B65CC 24090003 */ li $t1, 3 -/* 11FBE0 802B65D0 2406000C */ li $a2, 12 -.L802B65D4: -/* 11FBE4 802B65D4 00042880 */ sll $a1, $a0, 2 -/* 11FBE8 802B65D8 00001025 */ move $v0, $zero -/* 11FBEC 802B65DC 00E01825 */ move $v1, $a3 -.L802B65E0: -/* 11FBF0 802B65E0 54A20004 */ bnel $a1, $v0, .L802B65F4 -/* 11FBF4 802B65E4 E4620000 */ swc1 $f2, ($v1) -/* 11FBF8 802B65E8 10000002 */ b .L802B65F4 -/* 11FBFC 802B65EC E4600000 */ swc1 $f0, ($v1) -/* 11FC00 802B65F0 E4620000 */ swc1 $f2, ($v1) -.L802B65F4: -/* 11FC04 802B65F4 24420004 */ addiu $v0, $v0, 4 -/* 11FC08 802B65F8 1446FFF9 */ bne $v0, $a2, .L802B65E0 -/* 11FC0C 802B65FC 24630004 */ addiu $v1, $v1, 4 -/* 11FC10 802B6600 24840001 */ addiu $a0, $a0, 1 -/* 11FC14 802B6604 1489FFF3 */ bne $a0, $t1, .L802B65D4 -/* 11FC18 802B6608 24E7000C */ addiu $a3, $a3, 0xc -/* 11FC1C 802B660C 10000041 */ b .L802B6714 -/* 11FC20 802B6610 C7AA008C */ lwc1 $f10, 0x8c($sp) -.L802B6614: -/* 11FC24 802B6614 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11FC28 802B6618 44816000 */ mtc1 $at, $f12 -/* 11FC2C 802B661C C7A800B8 */ lwc1 $f8, 0xb8($sp) -/* 11FC30 802B6620 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11FC34 802B6624 00002025 */ move $a0, $zero -/* 11FC38 802B6628 460C4032 */ c.eq.s $f8, $f12 -/* 11FC3C 802B662C 27A70068 */ addiu $a3, $sp, 0x68 -/* 11FC40 802B6630 24090003 */ li $t1, 3 -/* 11FC44 802B6634 45000014 */ bc1f .L802B6688 -/* 11FC48 802B6638 00000000 */ nop -/* 11FC4C 802B663C 44801000 */ mtc1 $zero, $f2 -/* 11FC50 802B6640 44810000 */ mtc1 $at, $f0 -/* 11FC54 802B6644 2406000C */ li $a2, 12 -.L802B6648: -/* 11FC58 802B6648 00001025 */ move $v0, $zero -/* 11FC5C 802B664C 00E01825 */ move $v1, $a3 -/* 11FC60 802B6650 00042880 */ sll $a1, $a0, 2 -.L802B6654: -/* 11FC64 802B6654 54A20004 */ bnel $a1, $v0, .L802B6668 -/* 11FC68 802B6658 E4620000 */ swc1 $f2, ($v1) -/* 11FC6C 802B665C 10000002 */ b .L802B6668 -/* 11FC70 802B6660 E4600000 */ swc1 $f0, ($v1) -/* 11FC74 802B6664 E4620000 */ swc1 $f2, ($v1) -.L802B6668: -/* 11FC78 802B6668 24420004 */ addiu $v0, $v0, 4 -/* 11FC7C 802B666C 1446FFF9 */ bne $v0, $a2, .L802B6654 -/* 11FC80 802B6670 24630004 */ addiu $v1, $v1, 4 -/* 11FC84 802B6674 24840001 */ addiu $a0, $a0, 1 -/* 11FC88 802B6678 1489FFF3 */ bne $a0, $t1, .L802B6648 -/* 11FC8C 802B667C 24E7000C */ addiu $a3, $a3, 0xc -/* 11FC90 802B6680 10000023 */ b .L802B6710 -/* 11FC94 802B6684 E7AC0078 */ swc1 $f12, 0x78($sp) -.L802B6688: -/* 11FC98 802B6688 0C0ADF3A */ jal func_802B7CE8 -/* 11FC9C 802B668C C7AC00B8 */ lwc1 $f12, 0xb8($sp) -/* 11FCA0 802B6690 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 11FCA4 802B6694 44815000 */ mtc1 $at, $f10 -/* 11FCA8 802B6698 3C01802C */ lui $at, %hi(D_802B9FB8) -/* 11FCAC 802B669C D4269FB8 */ ldc1 $f6, %lo(D_802B9FB8)($at) -/* 11FCB0 802B66A0 460A0482 */ mul.s $f18, $f0, $f10 -/* 11FCB4 802B66A4 C7AC00B4 */ lwc1 $f12, 0xb4($sp) -/* 11FCB8 802B66A8 3C01802C */ lui $at, %hi(D_802B9FC0) -/* 11FCBC 802B66AC D42A9FC0 */ ldc1 $f10, %lo(D_802B9FC0)($at) -/* 11FCC0 802B66B0 C7B000BC */ lwc1 $f16, 0xbc($sp) -/* 11FCC4 802B66B4 44807000 */ mtc1 $zero, $f14 -/* 11FCC8 802B66B8 27A40068 */ addiu $a0, $sp, 0x68 -/* 11FCCC 802B66BC 46009121 */ cvt.d.s $f4, $f18 -/* 11FCD0 802B66C0 44077000 */ mfc1 $a3, $f14 -/* 11FCD4 802B66C4 46262203 */ div.d $f8, $f4, $f6 -/* 11FCD8 802B66C8 460C6182 */ mul.s $f6, $f12, $f12 -/* 11FCDC 802B66CC 46285481 */ sub.d $f18, $f10, $f8 -/* 11FCE0 802B66D0 46108282 */ mul.s $f10, $f16, $f16 -/* 11FCE4 802B66D4 46209107 */ neg.d $f4, $f18 -/* 11FCE8 802B66D8 46008487 */ neg.s $f18, $f16 -/* 11FCEC 802B66DC 462020A0 */ cvt.s.d $f2, $f4 -/* 11FCF0 802B66E0 460A3000 */ add.s $f0, $f6, $f10 -/* 11FCF4 802B66E4 4600120D */ trunc.w.s $f8, $f2 -/* 11FCF8 802B66E8 46000004 */ sqrt.s $f0, $f0 -/* 11FCFC 802B66EC 44054000 */ mfc1 $a1, $f8 -/* 11FD00 802B66F0 00000000 */ nop -/* 11FD04 802B66F4 00057C00 */ sll $t7, $a1, 0x10 -/* 11FD08 802B66F8 000F2C03 */ sra $a1, $t7, 0x10 -/* 11FD0C 802B66FC 46009103 */ div.s $f4, $f18, $f0 -/* 11FD10 802B6700 46006183 */ div.s $f6, $f12, $f0 -/* 11FD14 802B6704 44062000 */ mfc1 $a2, $f4 -/* 11FD18 802B6708 0C0ADAA1 */ jal func_802B6A84 -/* 11FD1C 802B670C E7A60010 */ swc1 $f6, 0x10($sp) -.L802B6710: -/* 11FD20 802B6710 C7AA008C */ lwc1 $f10, 0x8c($sp) -.L802B6714: -/* 11FD24 802B6714 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 11FD28 802B6718 C7A40090 */ lwc1 $f4, 0x90($sp) -/* 11FD2C 802B671C C7A60074 */ lwc1 $f6, 0x74($sp) -/* 11FD30 802B6720 46085482 */ mul.s $f18, $f10, $f8 -/* 11FD34 802B6724 00000000 */ nop -/* 11FD38 802B6728 46062282 */ mul.s $f10, $f4, $f6 -/* 11FD3C 802B672C C7A60094 */ lwc1 $f6, 0x94($sp) -/* 11FD40 802B6730 C7A40080 */ lwc1 $f4, 0x80($sp) -/* 11FD44 802B6734 460A9200 */ add.s $f8, $f18, $f10 -/* 11FD48 802B6738 46062482 */ mul.s $f18, $f4, $f6 -/* 11FD4C 802B673C 46089280 */ add.s $f10, $f18, $f8 -/* 11FD50 802B6740 E60A0000 */ swc1 $f10, ($s0) -/* 11FD54 802B6744 C7A40098 */ lwc1 $f4, 0x98($sp) -/* 11FD58 802B6748 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 11FD5C 802B674C C7A8009C */ lwc1 $f8, 0x9c($sp) -/* 11FD60 802B6750 C7AA0074 */ lwc1 $f10, 0x74($sp) -/* 11FD64 802B6754 46062482 */ mul.s $f18, $f4, $f6 -/* 11FD68 802B6758 00000000 */ nop -/* 11FD6C 802B675C 460A4102 */ mul.s $f4, $f8, $f10 -/* 11FD70 802B6760 C7AA00A0 */ lwc1 $f10, 0xa0($sp) -/* 11FD74 802B6764 C7A80080 */ lwc1 $f8, 0x80($sp) -/* 11FD78 802B6768 46049180 */ add.s $f6, $f18, $f4 -/* 11FD7C 802B676C 460A4482 */ mul.s $f18, $f8, $f10 -/* 11FD80 802B6770 46069100 */ add.s $f4, $f18, $f6 -/* 11FD84 802B6774 E604000C */ swc1 $f4, 0xc($s0) -/* 11FD88 802B6778 C7A800A4 */ lwc1 $f8, 0xa4($sp) -/* 11FD8C 802B677C C7AA0068 */ lwc1 $f10, 0x68($sp) -/* 11FD90 802B6780 C7A600A8 */ lwc1 $f6, 0xa8($sp) -/* 11FD94 802B6784 C7A40074 */ lwc1 $f4, 0x74($sp) -/* 11FD98 802B6788 460A4482 */ mul.s $f18, $f8, $f10 -/* 11FD9C 802B678C 00000000 */ nop -/* 11FDA0 802B6790 46043202 */ mul.s $f8, $f6, $f4 -/* 11FDA4 802B6794 C7A400AC */ lwc1 $f4, 0xac($sp) -/* 11FDA8 802B6798 C7A60080 */ lwc1 $f6, 0x80($sp) -/* 11FDAC 802B679C 46089280 */ add.s $f10, $f18, $f8 -/* 11FDB0 802B67A0 46043482 */ mul.s $f18, $f6, $f4 -/* 11FDB4 802B67A4 460A9200 */ add.s $f8, $f18, $f10 -/* 11FDB8 802B67A8 E6080018 */ swc1 $f8, 0x18($s0) -/* 11FDBC 802B67AC C7A6008C */ lwc1 $f6, 0x8c($sp) -/* 11FDC0 802B67B0 C7A4006C */ lwc1 $f4, 0x6c($sp) -/* 11FDC4 802B67B4 C7AA0090 */ lwc1 $f10, 0x90($sp) -/* 11FDC8 802B67B8 C7A80078 */ lwc1 $f8, 0x78($sp) -/* 11FDCC 802B67BC 46043482 */ mul.s $f18, $f6, $f4 -/* 11FDD0 802B67C0 00000000 */ nop -/* 11FDD4 802B67C4 46085182 */ mul.s $f6, $f10, $f8 -/* 11FDD8 802B67C8 C7A80094 */ lwc1 $f8, 0x94($sp) -/* 11FDDC 802B67CC C7AA0084 */ lwc1 $f10, 0x84($sp) -/* 11FDE0 802B67D0 46069100 */ add.s $f4, $f18, $f6 -/* 11FDE4 802B67D4 46085482 */ mul.s $f18, $f10, $f8 -/* 11FDE8 802B67D8 46049180 */ add.s $f6, $f18, $f4 -/* 11FDEC 802B67DC E6060004 */ swc1 $f6, 4($s0) -/* 11FDF0 802B67E0 C7AA0098 */ lwc1 $f10, 0x98($sp) -/* 11FDF4 802B67E4 C7A8006C */ lwc1 $f8, 0x6c($sp) -/* 11FDF8 802B67E8 C7A4009C */ lwc1 $f4, 0x9c($sp) -/* 11FDFC 802B67EC C7A60078 */ lwc1 $f6, 0x78($sp) -/* 11FE00 802B67F0 46085482 */ mul.s $f18, $f10, $f8 -/* 11FE04 802B67F4 00000000 */ nop -/* 11FE08 802B67F8 46062282 */ mul.s $f10, $f4, $f6 -/* 11FE0C 802B67FC C7A600A0 */ lwc1 $f6, 0xa0($sp) -/* 11FE10 802B6800 C7A40084 */ lwc1 $f4, 0x84($sp) -/* 11FE14 802B6804 460A9200 */ add.s $f8, $f18, $f10 -/* 11FE18 802B6808 46062482 */ mul.s $f18, $f4, $f6 -/* 11FE1C 802B680C 46089280 */ add.s $f10, $f18, $f8 -/* 11FE20 802B6810 E60A0010 */ swc1 $f10, 0x10($s0) -/* 11FE24 802B6814 C7A400A4 */ lwc1 $f4, 0xa4($sp) -/* 11FE28 802B6818 C7A6006C */ lwc1 $f6, 0x6c($sp) -/* 11FE2C 802B681C C7A800A8 */ lwc1 $f8, 0xa8($sp) -/* 11FE30 802B6820 C7AA0078 */ lwc1 $f10, 0x78($sp) -/* 11FE34 802B6824 46062482 */ mul.s $f18, $f4, $f6 -/* 11FE38 802B6828 00000000 */ nop -/* 11FE3C 802B682C 460A4102 */ mul.s $f4, $f8, $f10 -/* 11FE40 802B6830 C7AA00AC */ lwc1 $f10, 0xac($sp) -/* 11FE44 802B6834 C7A80084 */ lwc1 $f8, 0x84($sp) -/* 11FE48 802B6838 46049180 */ add.s $f6, $f18, $f4 -/* 11FE4C 802B683C 460A4482 */ mul.s $f18, $f8, $f10 -/* 11FE50 802B6840 46069100 */ add.s $f4, $f18, $f6 -/* 11FE54 802B6844 E604001C */ swc1 $f4, 0x1c($s0) -/* 11FE58 802B6848 C7AA0070 */ lwc1 $f10, 0x70($sp) -/* 11FE5C 802B684C C7A8008C */ lwc1 $f8, 0x8c($sp) -/* 11FE60 802B6850 C7A4007C */ lwc1 $f4, 0x7c($sp) -/* 11FE64 802B6854 C7A60090 */ lwc1 $f6, 0x90($sp) -/* 11FE68 802B6858 460A4482 */ mul.s $f18, $f8, $f10 -/* 11FE6C 802B685C 00000000 */ nop -/* 11FE70 802B6860 46043202 */ mul.s $f8, $f6, $f4 -/* 11FE74 802B6864 C7A40094 */ lwc1 $f4, 0x94($sp) -/* 11FE78 802B6868 C7A60088 */ lwc1 $f6, 0x88($sp) -/* 11FE7C 802B686C 46089280 */ add.s $f10, $f18, $f8 -/* 11FE80 802B6870 46043482 */ mul.s $f18, $f6, $f4 -/* 11FE84 802B6874 460A9200 */ add.s $f8, $f18, $f10 -/* 11FE88 802B6878 E6080008 */ swc1 $f8, 8($s0) -/* 11FE8C 802B687C C7A40070 */ lwc1 $f4, 0x70($sp) -/* 11FE90 802B6880 C7A60098 */ lwc1 $f6, 0x98($sp) -/* 11FE94 802B6884 C7A8007C */ lwc1 $f8, 0x7c($sp) -/* 11FE98 802B6888 C7AA009C */ lwc1 $f10, 0x9c($sp) -/* 11FE9C 802B688C 46043482 */ mul.s $f18, $f6, $f4 -/* 11FEA0 802B6890 00000000 */ nop -/* 11FEA4 802B6894 46085182 */ mul.s $f6, $f10, $f8 -/* 11FEA8 802B6898 C7A800A0 */ lwc1 $f8, 0xa0($sp) -/* 11FEAC 802B689C C7AA0088 */ lwc1 $f10, 0x88($sp) -/* 11FEB0 802B68A0 46069100 */ add.s $f4, $f18, $f6 -/* 11FEB4 802B68A4 46085482 */ mul.s $f18, $f10, $f8 -/* 11FEB8 802B68A8 46049180 */ add.s $f6, $f18, $f4 -/* 11FEBC 802B68AC E6060014 */ swc1 $f6, 0x14($s0) -/* 11FEC0 802B68B0 C7A80070 */ lwc1 $f8, 0x70($sp) -/* 11FEC4 802B68B4 C7AA00A4 */ lwc1 $f10, 0xa4($sp) -/* 11FEC8 802B68B8 C7A6007C */ lwc1 $f6, 0x7c($sp) -/* 11FECC 802B68BC C7A400A8 */ lwc1 $f4, 0xa8($sp) -/* 11FED0 802B68C0 46085482 */ mul.s $f18, $f10, $f8 -/* 11FED4 802B68C4 00000000 */ nop -/* 11FED8 802B68C8 46062282 */ mul.s $f10, $f4, $f6 -/* 11FEDC 802B68CC C7A600AC */ lwc1 $f6, 0xac($sp) -/* 11FEE0 802B68D0 C7A40088 */ lwc1 $f4, 0x88($sp) -/* 11FEE4 802B68D4 460A9200 */ add.s $f8, $f18, $f10 -/* 11FEE8 802B68D8 46062482 */ mul.s $f18, $f4, $f6 -/* 11FEEC 802B68DC 46089280 */ add.s $f10, $f18, $f8 -/* 11FEF0 802B68E0 E60A0020 */ swc1 $f10, 0x20($s0) -/* 11FEF4 802B68E4 8FBF0024 */ lw $ra, 0x24($sp) -/* 11FEF8 802B68E8 8FB00020 */ lw $s0, 0x20($sp) -/* 11FEFC 802B68EC 27BD00B0 */ addiu $sp, $sp, 0xb0 -/* 11FF00 802B68F0 03E00008 */ jr $ra -/* 11FF04 802B68F4 00000000 */ nop +glabel func_802B6540 +/* 11FB50 802B6540 27BDFF50 */ addiu $sp, $sp, -0xb0 +/* 11FB54 802B6544 AFB00020 */ sw $s0, 0x20($sp) +/* 11FB58 802B6548 00808025 */ move $s0, $a0 +/* 11FB5C 802B654C 97A400C2 */ lhu $a0, 0xc2($sp) +/* 11FB60 802B6550 AFBF0024 */ sw $ra, 0x24($sp) +/* 11FB64 802B6554 AFA500B4 */ sw $a1, 0xb4($sp) +/* 11FB68 802B6558 AFA600B8 */ sw $a2, 0xb8($sp) +/* 11FB6C 802B655C AFA700BC */ sw $a3, 0xbc($sp) +/* 11FB70 802B6560 0C0AE006 */ jal sins +/* 11FB74 802B6564 AFA40038 */ sw $a0, 0x38($sp) +/* 11FB78 802B6568 8FA40038 */ lw $a0, 0x38($sp) +/* 11FB7C 802B656C 0C0AE00E */ jal coss +/* 11FB80 802B6570 E7A00040 */ swc1 $f0, 0x40($sp) +/* 11FB84 802B6574 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11FB88 802B6578 44816000 */ mtc1 $at, $f12 +/* 11FB8C 802B657C C7A600B8 */ lwc1 $f6, 0xb8($sp) +/* 11FB90 802B6580 44807000 */ mtc1 $zero, $f14 +/* 11FB94 802B6584 C7A20040 */ lwc1 $f2, 0x40($sp) +/* 11FB98 802B6588 460C3032 */ c.eq.s $f6, $f12 +/* 11FB9C 802B658C E7A0008C */ swc1 $f0, 0x8c($sp) +/* 11FBA0 802B6590 46001107 */ neg.s $f4, $f2 +/* 11FBA4 802B6594 E7A000AC */ swc1 $f0, 0xac($sp) +/* 11FBA8 802B6598 E7A40094 */ swc1 $f4, 0x94($sp) +/* 11FBAC 802B659C E7AC009C */ swc1 $f12, 0x9c($sp) +/* 11FBB0 802B65A0 E7AE00A8 */ swc1 $f14, 0xa8($sp) +/* 11FBB4 802B65A4 E7AE00A0 */ swc1 $f14, 0xa0($sp) +/* 11FBB8 802B65A8 E7A200A4 */ swc1 $f2, 0xa4($sp) +/* 11FBBC 802B65AC E7AE0098 */ swc1 $f14, 0x98($sp) +/* 11FBC0 802B65B0 45000018 */ bc1f .L802B6614 +/* 11FBC4 802B65B4 E7AE0090 */ swc1 $f14, 0x90($sp) +/* 11FBC8 802B65B8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11FBCC 802B65BC 44810000 */ mtc1 $at, $f0 +/* 11FBD0 802B65C0 44801000 */ mtc1 $zero, $f2 +/* 11FBD4 802B65C4 00002025 */ move $a0, $zero +/* 11FBD8 802B65C8 27A70068 */ addiu $a3, $sp, 0x68 +/* 11FBDC 802B65CC 24090003 */ li $t1, 3 +/* 11FBE0 802B65D0 2406000C */ li $a2, 12 +.L802B65D4: +/* 11FBE4 802B65D4 00042880 */ sll $a1, $a0, 2 +/* 11FBE8 802B65D8 00001025 */ move $v0, $zero +/* 11FBEC 802B65DC 00E01825 */ move $v1, $a3 +.L802B65E0: +/* 11FBF0 802B65E0 54A20004 */ bnel $a1, $v0, .L802B65F4 +/* 11FBF4 802B65E4 E4620000 */ swc1 $f2, ($v1) +/* 11FBF8 802B65E8 10000002 */ b .L802B65F4 +/* 11FBFC 802B65EC E4600000 */ swc1 $f0, ($v1) +/* 11FC00 802B65F0 E4620000 */ swc1 $f2, ($v1) +.L802B65F4: +/* 11FC04 802B65F4 24420004 */ addiu $v0, $v0, 4 +/* 11FC08 802B65F8 1446FFF9 */ bne $v0, $a2, .L802B65E0 +/* 11FC0C 802B65FC 24630004 */ addiu $v1, $v1, 4 +/* 11FC10 802B6600 24840001 */ addiu $a0, $a0, 1 +/* 11FC14 802B6604 1489FFF3 */ bne $a0, $t1, .L802B65D4 +/* 11FC18 802B6608 24E7000C */ addiu $a3, $a3, 0xc +/* 11FC1C 802B660C 10000041 */ b .L802B6714 +/* 11FC20 802B6610 C7AA008C */ lwc1 $f10, 0x8c($sp) +.L802B6614: +/* 11FC24 802B6614 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 11FC28 802B6618 44816000 */ mtc1 $at, $f12 +/* 11FC2C 802B661C C7A800B8 */ lwc1 $f8, 0xb8($sp) +/* 11FC30 802B6620 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11FC34 802B6624 00002025 */ move $a0, $zero +/* 11FC38 802B6628 460C4032 */ c.eq.s $f8, $f12 +/* 11FC3C 802B662C 27A70068 */ addiu $a3, $sp, 0x68 +/* 11FC40 802B6630 24090003 */ li $t1, 3 +/* 11FC44 802B6634 45000014 */ bc1f .L802B6688 +/* 11FC48 802B6638 00000000 */ nop +/* 11FC4C 802B663C 44801000 */ mtc1 $zero, $f2 +/* 11FC50 802B6640 44810000 */ mtc1 $at, $f0 +/* 11FC54 802B6644 2406000C */ li $a2, 12 +.L802B6648: +/* 11FC58 802B6648 00001025 */ move $v0, $zero +/* 11FC5C 802B664C 00E01825 */ move $v1, $a3 +/* 11FC60 802B6650 00042880 */ sll $a1, $a0, 2 +.L802B6654: +/* 11FC64 802B6654 54A20004 */ bnel $a1, $v0, .L802B6668 +/* 11FC68 802B6658 E4620000 */ swc1 $f2, ($v1) +/* 11FC6C 802B665C 10000002 */ b .L802B6668 +/* 11FC70 802B6660 E4600000 */ swc1 $f0, ($v1) +/* 11FC74 802B6664 E4620000 */ swc1 $f2, ($v1) +.L802B6668: +/* 11FC78 802B6668 24420004 */ addiu $v0, $v0, 4 +/* 11FC7C 802B666C 1446FFF9 */ bne $v0, $a2, .L802B6654 +/* 11FC80 802B6670 24630004 */ addiu $v1, $v1, 4 +/* 11FC84 802B6674 24840001 */ addiu $a0, $a0, 1 +/* 11FC88 802B6678 1489FFF3 */ bne $a0, $t1, .L802B6648 +/* 11FC8C 802B667C 24E7000C */ addiu $a3, $a3, 0xc +/* 11FC90 802B6680 10000023 */ b .L802B6710 +/* 11FC94 802B6684 E7AC0078 */ swc1 $f12, 0x78($sp) +.L802B6688: +/* 11FC98 802B6688 0C0ADF3A */ jal func_802B7CE8 +/* 11FC9C 802B668C C7AC00B8 */ lwc1 $f12, 0xb8($sp) +/* 11FCA0 802B6690 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 11FCA4 802B6694 44815000 */ mtc1 $at, $f10 +/* 11FCA8 802B6698 3C01802C */ lui $at, %hi(D_802B9FB8) +/* 11FCAC 802B669C D4269FB8 */ ldc1 $f6, %lo(D_802B9FB8)($at) +/* 11FCB0 802B66A0 460A0482 */ mul.s $f18, $f0, $f10 +/* 11FCB4 802B66A4 C7AC00B4 */ lwc1 $f12, 0xb4($sp) +/* 11FCB8 802B66A8 3C01802C */ lui $at, %hi(D_802B9FC0) +/* 11FCBC 802B66AC D42A9FC0 */ ldc1 $f10, %lo(D_802B9FC0)($at) +/* 11FCC0 802B66B0 C7B000BC */ lwc1 $f16, 0xbc($sp) +/* 11FCC4 802B66B4 44807000 */ mtc1 $zero, $f14 +/* 11FCC8 802B66B8 27A40068 */ addiu $a0, $sp, 0x68 +/* 11FCCC 802B66BC 46009121 */ cvt.d.s $f4, $f18 +/* 11FCD0 802B66C0 44077000 */ mfc1 $a3, $f14 +/* 11FCD4 802B66C4 46262203 */ div.d $f8, $f4, $f6 +/* 11FCD8 802B66C8 460C6182 */ mul.s $f6, $f12, $f12 +/* 11FCDC 802B66CC 46285481 */ sub.d $f18, $f10, $f8 +/* 11FCE0 802B66D0 46108282 */ mul.s $f10, $f16, $f16 +/* 11FCE4 802B66D4 46209107 */ neg.d $f4, $f18 +/* 11FCE8 802B66D8 46008487 */ neg.s $f18, $f16 +/* 11FCEC 802B66DC 462020A0 */ cvt.s.d $f2, $f4 +/* 11FCF0 802B66E0 460A3000 */ add.s $f0, $f6, $f10 +/* 11FCF4 802B66E4 4600120D */ trunc.w.s $f8, $f2 +/* 11FCF8 802B66E8 46000004 */ sqrt.s $f0, $f0 +/* 11FCFC 802B66EC 44054000 */ mfc1 $a1, $f8 +/* 11FD00 802B66F0 00000000 */ nop +/* 11FD04 802B66F4 00057C00 */ sll $t7, $a1, 0x10 +/* 11FD08 802B66F8 000F2C03 */ sra $a1, $t7, 0x10 +/* 11FD0C 802B66FC 46009103 */ div.s $f4, $f18, $f0 +/* 11FD10 802B6700 46006183 */ div.s $f6, $f12, $f0 +/* 11FD14 802B6704 44062000 */ mfc1 $a2, $f4 +/* 11FD18 802B6708 0C0ADAA1 */ jal func_802B6A84 +/* 11FD1C 802B670C E7A60010 */ swc1 $f6, 0x10($sp) +.L802B6710: +/* 11FD20 802B6710 C7AA008C */ lwc1 $f10, 0x8c($sp) +.L802B6714: +/* 11FD24 802B6714 C7A80068 */ lwc1 $f8, 0x68($sp) +/* 11FD28 802B6718 C7A40090 */ lwc1 $f4, 0x90($sp) +/* 11FD2C 802B671C C7A60074 */ lwc1 $f6, 0x74($sp) +/* 11FD30 802B6720 46085482 */ mul.s $f18, $f10, $f8 +/* 11FD34 802B6724 00000000 */ nop +/* 11FD38 802B6728 46062282 */ mul.s $f10, $f4, $f6 +/* 11FD3C 802B672C C7A60094 */ lwc1 $f6, 0x94($sp) +/* 11FD40 802B6730 C7A40080 */ lwc1 $f4, 0x80($sp) +/* 11FD44 802B6734 460A9200 */ add.s $f8, $f18, $f10 +/* 11FD48 802B6738 46062482 */ mul.s $f18, $f4, $f6 +/* 11FD4C 802B673C 46089280 */ add.s $f10, $f18, $f8 +/* 11FD50 802B6740 E60A0000 */ swc1 $f10, ($s0) +/* 11FD54 802B6744 C7A40098 */ lwc1 $f4, 0x98($sp) +/* 11FD58 802B6748 C7A60068 */ lwc1 $f6, 0x68($sp) +/* 11FD5C 802B674C C7A8009C */ lwc1 $f8, 0x9c($sp) +/* 11FD60 802B6750 C7AA0074 */ lwc1 $f10, 0x74($sp) +/* 11FD64 802B6754 46062482 */ mul.s $f18, $f4, $f6 +/* 11FD68 802B6758 00000000 */ nop +/* 11FD6C 802B675C 460A4102 */ mul.s $f4, $f8, $f10 +/* 11FD70 802B6760 C7AA00A0 */ lwc1 $f10, 0xa0($sp) +/* 11FD74 802B6764 C7A80080 */ lwc1 $f8, 0x80($sp) +/* 11FD78 802B6768 46049180 */ add.s $f6, $f18, $f4 +/* 11FD7C 802B676C 460A4482 */ mul.s $f18, $f8, $f10 +/* 11FD80 802B6770 46069100 */ add.s $f4, $f18, $f6 +/* 11FD84 802B6774 E604000C */ swc1 $f4, 0xc($s0) +/* 11FD88 802B6778 C7A800A4 */ lwc1 $f8, 0xa4($sp) +/* 11FD8C 802B677C C7AA0068 */ lwc1 $f10, 0x68($sp) +/* 11FD90 802B6780 C7A600A8 */ lwc1 $f6, 0xa8($sp) +/* 11FD94 802B6784 C7A40074 */ lwc1 $f4, 0x74($sp) +/* 11FD98 802B6788 460A4482 */ mul.s $f18, $f8, $f10 +/* 11FD9C 802B678C 00000000 */ nop +/* 11FDA0 802B6790 46043202 */ mul.s $f8, $f6, $f4 +/* 11FDA4 802B6794 C7A400AC */ lwc1 $f4, 0xac($sp) +/* 11FDA8 802B6798 C7A60080 */ lwc1 $f6, 0x80($sp) +/* 11FDAC 802B679C 46089280 */ add.s $f10, $f18, $f8 +/* 11FDB0 802B67A0 46043482 */ mul.s $f18, $f6, $f4 +/* 11FDB4 802B67A4 460A9200 */ add.s $f8, $f18, $f10 +/* 11FDB8 802B67A8 E6080018 */ swc1 $f8, 0x18($s0) +/* 11FDBC 802B67AC C7A6008C */ lwc1 $f6, 0x8c($sp) +/* 11FDC0 802B67B0 C7A4006C */ lwc1 $f4, 0x6c($sp) +/* 11FDC4 802B67B4 C7AA0090 */ lwc1 $f10, 0x90($sp) +/* 11FDC8 802B67B8 C7A80078 */ lwc1 $f8, 0x78($sp) +/* 11FDCC 802B67BC 46043482 */ mul.s $f18, $f6, $f4 +/* 11FDD0 802B67C0 00000000 */ nop +/* 11FDD4 802B67C4 46085182 */ mul.s $f6, $f10, $f8 +/* 11FDD8 802B67C8 C7A80094 */ lwc1 $f8, 0x94($sp) +/* 11FDDC 802B67CC C7AA0084 */ lwc1 $f10, 0x84($sp) +/* 11FDE0 802B67D0 46069100 */ add.s $f4, $f18, $f6 +/* 11FDE4 802B67D4 46085482 */ mul.s $f18, $f10, $f8 +/* 11FDE8 802B67D8 46049180 */ add.s $f6, $f18, $f4 +/* 11FDEC 802B67DC E6060004 */ swc1 $f6, 4($s0) +/* 11FDF0 802B67E0 C7AA0098 */ lwc1 $f10, 0x98($sp) +/* 11FDF4 802B67E4 C7A8006C */ lwc1 $f8, 0x6c($sp) +/* 11FDF8 802B67E8 C7A4009C */ lwc1 $f4, 0x9c($sp) +/* 11FDFC 802B67EC C7A60078 */ lwc1 $f6, 0x78($sp) +/* 11FE00 802B67F0 46085482 */ mul.s $f18, $f10, $f8 +/* 11FE04 802B67F4 00000000 */ nop +/* 11FE08 802B67F8 46062282 */ mul.s $f10, $f4, $f6 +/* 11FE0C 802B67FC C7A600A0 */ lwc1 $f6, 0xa0($sp) +/* 11FE10 802B6800 C7A40084 */ lwc1 $f4, 0x84($sp) +/* 11FE14 802B6804 460A9200 */ add.s $f8, $f18, $f10 +/* 11FE18 802B6808 46062482 */ mul.s $f18, $f4, $f6 +/* 11FE1C 802B680C 46089280 */ add.s $f10, $f18, $f8 +/* 11FE20 802B6810 E60A0010 */ swc1 $f10, 0x10($s0) +/* 11FE24 802B6814 C7A400A4 */ lwc1 $f4, 0xa4($sp) +/* 11FE28 802B6818 C7A6006C */ lwc1 $f6, 0x6c($sp) +/* 11FE2C 802B681C C7A800A8 */ lwc1 $f8, 0xa8($sp) +/* 11FE30 802B6820 C7AA0078 */ lwc1 $f10, 0x78($sp) +/* 11FE34 802B6824 46062482 */ mul.s $f18, $f4, $f6 +/* 11FE38 802B6828 00000000 */ nop +/* 11FE3C 802B682C 460A4102 */ mul.s $f4, $f8, $f10 +/* 11FE40 802B6830 C7AA00AC */ lwc1 $f10, 0xac($sp) +/* 11FE44 802B6834 C7A80084 */ lwc1 $f8, 0x84($sp) +/* 11FE48 802B6838 46049180 */ add.s $f6, $f18, $f4 +/* 11FE4C 802B683C 460A4482 */ mul.s $f18, $f8, $f10 +/* 11FE50 802B6840 46069100 */ add.s $f4, $f18, $f6 +/* 11FE54 802B6844 E604001C */ swc1 $f4, 0x1c($s0) +/* 11FE58 802B6848 C7AA0070 */ lwc1 $f10, 0x70($sp) +/* 11FE5C 802B684C C7A8008C */ lwc1 $f8, 0x8c($sp) +/* 11FE60 802B6850 C7A4007C */ lwc1 $f4, 0x7c($sp) +/* 11FE64 802B6854 C7A60090 */ lwc1 $f6, 0x90($sp) +/* 11FE68 802B6858 460A4482 */ mul.s $f18, $f8, $f10 +/* 11FE6C 802B685C 00000000 */ nop +/* 11FE70 802B6860 46043202 */ mul.s $f8, $f6, $f4 +/* 11FE74 802B6864 C7A40094 */ lwc1 $f4, 0x94($sp) +/* 11FE78 802B6868 C7A60088 */ lwc1 $f6, 0x88($sp) +/* 11FE7C 802B686C 46089280 */ add.s $f10, $f18, $f8 +/* 11FE80 802B6870 46043482 */ mul.s $f18, $f6, $f4 +/* 11FE84 802B6874 460A9200 */ add.s $f8, $f18, $f10 +/* 11FE88 802B6878 E6080008 */ swc1 $f8, 8($s0) +/* 11FE8C 802B687C C7A40070 */ lwc1 $f4, 0x70($sp) +/* 11FE90 802B6880 C7A60098 */ lwc1 $f6, 0x98($sp) +/* 11FE94 802B6884 C7A8007C */ lwc1 $f8, 0x7c($sp) +/* 11FE98 802B6888 C7AA009C */ lwc1 $f10, 0x9c($sp) +/* 11FE9C 802B688C 46043482 */ mul.s $f18, $f6, $f4 +/* 11FEA0 802B6890 00000000 */ nop +/* 11FEA4 802B6894 46085182 */ mul.s $f6, $f10, $f8 +/* 11FEA8 802B6898 C7A800A0 */ lwc1 $f8, 0xa0($sp) +/* 11FEAC 802B689C C7AA0088 */ lwc1 $f10, 0x88($sp) +/* 11FEB0 802B68A0 46069100 */ add.s $f4, $f18, $f6 +/* 11FEB4 802B68A4 46085482 */ mul.s $f18, $f10, $f8 +/* 11FEB8 802B68A8 46049180 */ add.s $f6, $f18, $f4 +/* 11FEBC 802B68AC E6060014 */ swc1 $f6, 0x14($s0) +/* 11FEC0 802B68B0 C7A80070 */ lwc1 $f8, 0x70($sp) +/* 11FEC4 802B68B4 C7AA00A4 */ lwc1 $f10, 0xa4($sp) +/* 11FEC8 802B68B8 C7A6007C */ lwc1 $f6, 0x7c($sp) +/* 11FECC 802B68BC C7A400A8 */ lwc1 $f4, 0xa8($sp) +/* 11FED0 802B68C0 46085482 */ mul.s $f18, $f10, $f8 +/* 11FED4 802B68C4 00000000 */ nop +/* 11FED8 802B68C8 46062282 */ mul.s $f10, $f4, $f6 +/* 11FEDC 802B68CC C7A600AC */ lwc1 $f6, 0xac($sp) +/* 11FEE0 802B68D0 C7A40088 */ lwc1 $f4, 0x88($sp) +/* 11FEE4 802B68D4 460A9200 */ add.s $f8, $f18, $f10 +/* 11FEE8 802B68D8 46062482 */ mul.s $f18, $f4, $f6 +/* 11FEEC 802B68DC 46089280 */ add.s $f10, $f18, $f8 +/* 11FEF0 802B68E0 E60A0020 */ swc1 $f10, 0x20($s0) +/* 11FEF4 802B68E4 8FBF0024 */ lw $ra, 0x24($sp) +/* 11FEF8 802B68E8 8FB00020 */ lw $s0, 0x20($sp) +/* 11FEFC 802B68EC 27BD00B0 */ addiu $sp, $sp, 0xb0 +/* 11FF00 802B68F0 03E00008 */ jr $ra +/* 11FF04 802B68F4 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B68F8.s b/asm/non_matchings/math_util/func_802B68F8.s index e4e14df19..1ca58e98b 100644 --- a/asm/non_matchings/math_util/func_802B68F8.s +++ b/asm/non_matchings/math_util/func_802B68F8.s @@ -1,110 +1,110 @@ -glabel func_802B68F8 -/* 11FF08 802B68F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11FF0C 802B68FC 44866000 */ mtc1 $a2, $f12 -/* 11FF10 802B6900 44812000 */ mtc1 $at, $f4 -/* 11FF14 802B6904 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 11FF18 802B6908 44857000 */ mtc1 $a1, $f14 -/* 11FF1C 802B690C 46046032 */ c.eq.s $f12, $f4 -/* 11FF20 802B6910 AFBF001C */ sw $ra, 0x1c($sp) -/* 11FF24 802B6914 AFA40020 */ sw $a0, 0x20($sp) -/* 11FF28 802B6918 AFA7002C */ sw $a3, 0x2c($sp) -/* 11FF2C 802B691C 45000018 */ bc1f .L802B6980 -/* 11FF30 802B6920 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 11FF34 802B6924 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11FF38 802B6928 44810000 */ mtc1 $at, $f0 -/* 11FF3C 802B692C 44801000 */ mtc1 $zero, $f2 -/* 11FF40 802B6930 00002025 */ move $a0, $zero -/* 11FF44 802B6934 8FA70020 */ lw $a3, 0x20($sp) -/* 11FF48 802B6938 24090003 */ li $t1, 3 -/* 11FF4C 802B693C 2406000C */ li $a2, 12 -.L802B6940: -/* 11FF50 802B6940 00042880 */ sll $a1, $a0, 2 -/* 11FF54 802B6944 00001025 */ move $v0, $zero -/* 11FF58 802B6948 00E01825 */ move $v1, $a3 -.L802B694C: -/* 11FF5C 802B694C 54A20004 */ bnel $a1, $v0, .L802B6960 -/* 11FF60 802B6950 E4620000 */ swc1 $f2, ($v1) -/* 11FF64 802B6954 10000002 */ b .L802B6960 -/* 11FF68 802B6958 E4600000 */ swc1 $f0, ($v1) -/* 11FF6C 802B695C E4620000 */ swc1 $f2, ($v1) -.L802B6960: -/* 11FF70 802B6960 24420004 */ addiu $v0, $v0, 4 -/* 11FF74 802B6964 1446FFF9 */ bne $v0, $a2, .L802B694C -/* 11FF78 802B6968 24630004 */ addiu $v1, $v1, 4 -/* 11FF7C 802B696C 24840001 */ addiu $a0, $a0, 1 -/* 11FF80 802B6970 1489FFF3 */ bne $a0, $t1, .L802B6940 -/* 11FF84 802B6974 24E7000C */ addiu $a3, $a3, 0xc -/* 11FF88 802B6978 1000003F */ b .L802B6A78 -/* 11FF8C 802B697C 8FBF001C */ lw $ra, 0x1c($sp) -.L802B6980: -/* 11FF90 802B6980 44818000 */ mtc1 $at, $f16 -/* 11FF94 802B6984 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 11FF98 802B6988 00002025 */ move $a0, $zero -/* 11FF9C 802B698C 46106032 */ c.eq.s $f12, $f16 -/* 11FFA0 802B6990 8FA70020 */ lw $a3, 0x20($sp) -/* 11FFA4 802B6994 24090003 */ li $t1, 3 -/* 11FFA8 802B6998 45000015 */ bc1f .L802B69F0 -/* 11FFAC 802B699C 00000000 */ nop -/* 11FFB0 802B69A0 44801000 */ mtc1 $zero, $f2 -/* 11FFB4 802B69A4 44810000 */ mtc1 $at, $f0 -/* 11FFB8 802B69A8 2406000C */ li $a2, 12 -.L802B69AC: -/* 11FFBC 802B69AC 00001025 */ move $v0, $zero -/* 11FFC0 802B69B0 00E01825 */ move $v1, $a3 -/* 11FFC4 802B69B4 00042880 */ sll $a1, $a0, 2 -.L802B69B8: -/* 11FFC8 802B69B8 54A20004 */ bnel $a1, $v0, .L802B69CC -/* 11FFCC 802B69BC E4620000 */ swc1 $f2, ($v1) -/* 11FFD0 802B69C0 10000002 */ b .L802B69CC -/* 11FFD4 802B69C4 E4600000 */ swc1 $f0, ($v1) -/* 11FFD8 802B69C8 E4620000 */ swc1 $f2, ($v1) -.L802B69CC: -/* 11FFDC 802B69CC 24420004 */ addiu $v0, $v0, 4 -/* 11FFE0 802B69D0 1446FFF9 */ bne $v0, $a2, .L802B69B8 -/* 11FFE4 802B69D4 24630004 */ addiu $v1, $v1, 4 -/* 11FFE8 802B69D8 24840001 */ addiu $a0, $a0, 1 -/* 11FFEC 802B69DC 1489FFF3 */ bne $a0, $t1, .L802B69AC -/* 11FFF0 802B69E0 24E7000C */ addiu $a3, $a3, 0xc -/* 11FFF4 802B69E4 8FAE0020 */ lw $t6, 0x20($sp) -/* 11FFF8 802B69E8 10000022 */ b .L802B6A74 -/* 11FFFC 802B69EC E5D00010 */ swc1 $f16, 0x10($t6) -.L802B69F0: -/* 120000 802B69F0 0C0ADF3A */ jal func_802B7CE8 -/* 120004 802B69F4 E7AE0024 */ swc1 $f14, 0x24($sp) -/* 120008 802B69F8 3C014334 */ li $at, 0x43340000 # 180.000000 -/* 12000C 802B69FC 44813000 */ mtc1 $at, $f6 -/* 120010 802B6A00 3C01802C */ lui $at, %hi(D_802B9FC8) -/* 120014 802B6A04 D4329FC8 */ ldc1 $f18, %lo(D_802B9FC8)($at) -/* 120018 802B6A08 46060202 */ mul.s $f8, $f0, $f6 -/* 12001C 802B6A0C C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 120020 802B6A10 3C01802C */ lui $at, %hi(D_802B9FD0) -/* 120024 802B6A14 D4269FD0 */ ldc1 $f6, %lo(D_802B9FD0)($at) -/* 120028 802B6A18 C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 12002C 802B6A1C 8FA40020 */ lw $a0, 0x20($sp) -/* 120030 802B6A20 24070000 */ li $a3, 0 -/* 120034 802B6A24 460042A1 */ cvt.d.s $f10, $f8 -/* 120038 802B6A28 46325103 */ div.d $f4, $f10, $f18 -/* 12003C 802B6A2C 460E7482 */ mul.s $f18, $f14, $f14 -/* 120040 802B6A30 46243201 */ sub.d $f8, $f6, $f4 -/* 120044 802B6A34 460C6182 */ mul.s $f6, $f12, $f12 -/* 120048 802B6A38 46204287 */ neg.d $f10, $f8 -/* 12004C 802B6A3C 46006207 */ neg.s $f8, $f12 -/* 120050 802B6A40 462050A0 */ cvt.s.d $f2, $f10 -/* 120054 802B6A44 46069000 */ add.s $f0, $f18, $f6 -/* 120058 802B6A48 4600110D */ trunc.w.s $f4, $f2 -/* 12005C 802B6A4C 46000004 */ sqrt.s $f0, $f0 -/* 120060 802B6A50 44052000 */ mfc1 $a1, $f4 -/* 120064 802B6A54 00000000 */ nop -/* 120068 802B6A58 0005C400 */ sll $t8, $a1, 0x10 -/* 12006C 802B6A5C 00182C03 */ sra $a1, $t8, 0x10 -/* 120070 802B6A60 46004283 */ div.s $f10, $f8, $f0 -/* 120074 802B6A64 46007483 */ div.s $f18, $f14, $f0 -/* 120078 802B6A68 44065000 */ mfc1 $a2, $f10 -/* 12007C 802B6A6C 0C0ADAA1 */ jal func_802B6A84 -/* 120080 802B6A70 E7B20010 */ swc1 $f18, 0x10($sp) -.L802B6A74: -/* 120084 802B6A74 8FBF001C */ lw $ra, 0x1c($sp) -.L802B6A78: -/* 120088 802B6A78 27BD0020 */ addiu $sp, $sp, 0x20 -/* 12008C 802B6A7C 03E00008 */ jr $ra -/* 120090 802B6A80 00000000 */ nop +glabel func_802B68F8 +/* 11FF08 802B68F8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11FF0C 802B68FC 44866000 */ mtc1 $a2, $f12 +/* 11FF10 802B6900 44812000 */ mtc1 $at, $f4 +/* 11FF14 802B6904 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 11FF18 802B6908 44857000 */ mtc1 $a1, $f14 +/* 11FF1C 802B690C 46046032 */ c.eq.s $f12, $f4 +/* 11FF20 802B6910 AFBF001C */ sw $ra, 0x1c($sp) +/* 11FF24 802B6914 AFA40020 */ sw $a0, 0x20($sp) +/* 11FF28 802B6918 AFA7002C */ sw $a3, 0x2c($sp) +/* 11FF2C 802B691C 45000018 */ bc1f .L802B6980 +/* 11FF30 802B6920 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 11FF34 802B6924 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11FF38 802B6928 44810000 */ mtc1 $at, $f0 +/* 11FF3C 802B692C 44801000 */ mtc1 $zero, $f2 +/* 11FF40 802B6930 00002025 */ move $a0, $zero +/* 11FF44 802B6934 8FA70020 */ lw $a3, 0x20($sp) +/* 11FF48 802B6938 24090003 */ li $t1, 3 +/* 11FF4C 802B693C 2406000C */ li $a2, 12 +.L802B6940: +/* 11FF50 802B6940 00042880 */ sll $a1, $a0, 2 +/* 11FF54 802B6944 00001025 */ move $v0, $zero +/* 11FF58 802B6948 00E01825 */ move $v1, $a3 +.L802B694C: +/* 11FF5C 802B694C 54A20004 */ bnel $a1, $v0, .L802B6960 +/* 11FF60 802B6950 E4620000 */ swc1 $f2, ($v1) +/* 11FF64 802B6954 10000002 */ b .L802B6960 +/* 11FF68 802B6958 E4600000 */ swc1 $f0, ($v1) +/* 11FF6C 802B695C E4620000 */ swc1 $f2, ($v1) +.L802B6960: +/* 11FF70 802B6960 24420004 */ addiu $v0, $v0, 4 +/* 11FF74 802B6964 1446FFF9 */ bne $v0, $a2, .L802B694C +/* 11FF78 802B6968 24630004 */ addiu $v1, $v1, 4 +/* 11FF7C 802B696C 24840001 */ addiu $a0, $a0, 1 +/* 11FF80 802B6970 1489FFF3 */ bne $a0, $t1, .L802B6940 +/* 11FF84 802B6974 24E7000C */ addiu $a3, $a3, 0xc +/* 11FF88 802B6978 1000003F */ b .L802B6A78 +/* 11FF8C 802B697C 8FBF001C */ lw $ra, 0x1c($sp) +.L802B6980: +/* 11FF90 802B6980 44818000 */ mtc1 $at, $f16 +/* 11FF94 802B6984 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 11FF98 802B6988 00002025 */ move $a0, $zero +/* 11FF9C 802B698C 46106032 */ c.eq.s $f12, $f16 +/* 11FFA0 802B6990 8FA70020 */ lw $a3, 0x20($sp) +/* 11FFA4 802B6994 24090003 */ li $t1, 3 +/* 11FFA8 802B6998 45000015 */ bc1f .L802B69F0 +/* 11FFAC 802B699C 00000000 */ nop +/* 11FFB0 802B69A0 44801000 */ mtc1 $zero, $f2 +/* 11FFB4 802B69A4 44810000 */ mtc1 $at, $f0 +/* 11FFB8 802B69A8 2406000C */ li $a2, 12 +.L802B69AC: +/* 11FFBC 802B69AC 00001025 */ move $v0, $zero +/* 11FFC0 802B69B0 00E01825 */ move $v1, $a3 +/* 11FFC4 802B69B4 00042880 */ sll $a1, $a0, 2 +.L802B69B8: +/* 11FFC8 802B69B8 54A20004 */ bnel $a1, $v0, .L802B69CC +/* 11FFCC 802B69BC E4620000 */ swc1 $f2, ($v1) +/* 11FFD0 802B69C0 10000002 */ b .L802B69CC +/* 11FFD4 802B69C4 E4600000 */ swc1 $f0, ($v1) +/* 11FFD8 802B69C8 E4620000 */ swc1 $f2, ($v1) +.L802B69CC: +/* 11FFDC 802B69CC 24420004 */ addiu $v0, $v0, 4 +/* 11FFE0 802B69D0 1446FFF9 */ bne $v0, $a2, .L802B69B8 +/* 11FFE4 802B69D4 24630004 */ addiu $v1, $v1, 4 +/* 11FFE8 802B69D8 24840001 */ addiu $a0, $a0, 1 +/* 11FFEC 802B69DC 1489FFF3 */ bne $a0, $t1, .L802B69AC +/* 11FFF0 802B69E0 24E7000C */ addiu $a3, $a3, 0xc +/* 11FFF4 802B69E4 8FAE0020 */ lw $t6, 0x20($sp) +/* 11FFF8 802B69E8 10000022 */ b .L802B6A74 +/* 11FFFC 802B69EC E5D00010 */ swc1 $f16, 0x10($t6) +.L802B69F0: +/* 120000 802B69F0 0C0ADF3A */ jal func_802B7CE8 +/* 120004 802B69F4 E7AE0024 */ swc1 $f14, 0x24($sp) +/* 120008 802B69F8 3C014334 */ li $at, 0x43340000 # 180.000000 +/* 12000C 802B69FC 44813000 */ mtc1 $at, $f6 +/* 120010 802B6A00 3C01802C */ lui $at, %hi(D_802B9FC8) +/* 120014 802B6A04 D4329FC8 */ ldc1 $f18, %lo(D_802B9FC8)($at) +/* 120018 802B6A08 46060202 */ mul.s $f8, $f0, $f6 +/* 12001C 802B6A0C C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 120020 802B6A10 3C01802C */ lui $at, %hi(D_802B9FD0) +/* 120024 802B6A14 D4269FD0 */ ldc1 $f6, %lo(D_802B9FD0)($at) +/* 120028 802B6A18 C7AC002C */ lwc1 $f12, 0x2c($sp) +/* 12002C 802B6A1C 8FA40020 */ lw $a0, 0x20($sp) +/* 120030 802B6A20 24070000 */ li $a3, 0 +/* 120034 802B6A24 460042A1 */ cvt.d.s $f10, $f8 +/* 120038 802B6A28 46325103 */ div.d $f4, $f10, $f18 +/* 12003C 802B6A2C 460E7482 */ mul.s $f18, $f14, $f14 +/* 120040 802B6A30 46243201 */ sub.d $f8, $f6, $f4 +/* 120044 802B6A34 460C6182 */ mul.s $f6, $f12, $f12 +/* 120048 802B6A38 46204287 */ neg.d $f10, $f8 +/* 12004C 802B6A3C 46006207 */ neg.s $f8, $f12 +/* 120050 802B6A40 462050A0 */ cvt.s.d $f2, $f10 +/* 120054 802B6A44 46069000 */ add.s $f0, $f18, $f6 +/* 120058 802B6A48 4600110D */ trunc.w.s $f4, $f2 +/* 12005C 802B6A4C 46000004 */ sqrt.s $f0, $f0 +/* 120060 802B6A50 44052000 */ mfc1 $a1, $f4 +/* 120064 802B6A54 00000000 */ nop +/* 120068 802B6A58 0005C400 */ sll $t8, $a1, 0x10 +/* 12006C 802B6A5C 00182C03 */ sra $a1, $t8, 0x10 +/* 120070 802B6A60 46004283 */ div.s $f10, $f8, $f0 +/* 120074 802B6A64 46007483 */ div.s $f18, $f14, $f0 +/* 120078 802B6A68 44065000 */ mfc1 $a2, $f10 +/* 12007C 802B6A6C 0C0ADAA1 */ jal func_802B6A84 +/* 120080 802B6A70 E7B20010 */ swc1 $f18, 0x10($sp) +.L802B6A74: +/* 120084 802B6A74 8FBF001C */ lw $ra, 0x1c($sp) +.L802B6A78: +/* 120088 802B6A78 27BD0020 */ addiu $sp, $sp, 0x20 +/* 12008C 802B6A7C 03E00008 */ jr $ra +/* 120090 802B6A80 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B6A84.s b/asm/non_matchings/math_util/func_802B6A84.s index 8c8f45c9c..801085e23 100644 --- a/asm/non_matchings/math_util/func_802B6A84.s +++ b/asm/non_matchings/math_util/func_802B6A84.s @@ -1,80 +1,80 @@ -glabel func_802B6A84 -/* 120094 802B6A84 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 120098 802B6A88 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 12009C 802B6A8C 4486A000 */ mtc1 $a2, $f20 -/* 1200A0 802B6A90 00803025 */ move $a2, $a0 -/* 1200A4 802B6A94 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 1200A8 802B6A98 AFA40058 */ sw $a0, 0x58($sp) -/* 1200AC 802B6A9C 4487B000 */ mtc1 $a3, $f22 -/* 1200B0 802B6AA0 AFBF0024 */ sw $ra, 0x24($sp) -/* 1200B4 802B6AA4 30A4FFFF */ andi $a0, $a1, 0xffff -/* 1200B8 802B6AA8 AFA5005C */ sw $a1, 0x5c($sp) -/* 1200BC 802B6AAC AFA40034 */ sw $a0, 0x34($sp) -/* 1200C0 802B6AB0 0C0AE006 */ jal sins -/* 1200C4 802B6AB4 AFA60058 */ sw $a2, 0x58($sp) -/* 1200C8 802B6AB8 8FA40034 */ lw $a0, 0x34($sp) -/* 1200CC 802B6ABC 0C0AE00E */ jal coss -/* 1200D0 802B6AC0 E7A00054 */ swc1 $f0, 0x54($sp) -/* 1200D4 802B6AC4 4614A302 */ mul.s $f12, $f20, $f20 -/* 1200D8 802B6AC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 1200DC 802B6ACC 44812000 */ mtc1 $at, $f4 -/* 1200E0 802B6AD0 8FA60058 */ lw $a2, 0x58($sp) -/* 1200E4 802B6AD4 C7B20054 */ lwc1 $f18, 0x54($sp) -/* 1200E8 802B6AD8 460C2181 */ sub.s $f6, $f4, $f12 -/* 1200EC 802B6ADC 44812000 */ mtc1 $at, $f4 -/* 1200F0 802B6AE0 46003202 */ mul.s $f8, $f6, $f0 -/* 1200F4 802B6AE4 46002181 */ sub.s $f6, $f4, $f0 -/* 1200F8 802B6AE8 460C4280 */ add.s $f10, $f8, $f12 -/* 1200FC 802B6AEC E4CA0000 */ swc1 $f10, ($a2) -/* 120100 802B6AF0 C7A80068 */ lwc1 $f8, 0x68($sp) -/* 120104 802B6AF4 E7A60034 */ swc1 $f6, 0x34($sp) -/* 120108 802B6AF8 4608B282 */ mul.s $f10, $f22, $f8 -/* 12010C 802B6AFC 00000000 */ nop -/* 120110 802B6B00 46065082 */ mul.s $f2, $f10, $f6 -/* 120114 802B6B04 44815000 */ mtc1 $at, $f10 -/* 120118 802B6B08 4612A382 */ mul.s $f14, $f20, $f18 -/* 12011C 802B6B0C 00000000 */ nop -/* 120120 802B6B10 4616B402 */ mul.s $f16, $f22, $f22 -/* 120124 802B6B14 460E1101 */ sub.s $f4, $f2, $f14 -/* 120128 802B6B18 46105181 */ sub.s $f6, $f10, $f16 -/* 12012C 802B6B1C E4C4001C */ swc1 $f4, 0x1c($a2) -/* 120130 802B6B20 46027200 */ add.s $f8, $f14, $f2 -/* 120134 802B6B24 46003102 */ mul.s $f4, $f6, $f0 -/* 120138 802B6B28 E4C80014 */ swc1 $f8, 0x14($a2) -/* 12013C 802B6B2C 4612B282 */ mul.s $f10, $f22, $f18 -/* 120140 802B6B30 46102200 */ add.s $f8, $f4, $f16 -/* 120144 802B6B34 E4C80010 */ swc1 $f8, 0x10($a2) -/* 120148 802B6B38 C7A60068 */ lwc1 $f6, 0x68($sp) -/* 12014C 802B6B3C C7A80034 */ lwc1 $f8, 0x34($sp) -/* 120150 802B6B40 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 120154 802B6B44 46143102 */ mul.s $f4, $f6, $f20 -/* 120158 802B6B48 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 12015C 802B6B4C 46082282 */ mul.s $f10, $f4, $f8 -/* 120160 802B6B50 460A3100 */ add.s $f4, $f6, $f10 -/* 120164 802B6B54 E7AA0030 */ swc1 $f10, 0x30($sp) -/* 120168 802B6B58 E4C40018 */ swc1 $f4, 0x18($a2) -/* 12016C 802B6B5C C7B00068 */ lwc1 $f16, 0x68($sp) -/* 120170 802B6B60 C7A6002C */ lwc1 $f6, 0x2c($sp) -/* 120174 802B6B64 C7A80030 */ lwc1 $f8, 0x30($sp) -/* 120178 802B6B68 46108302 */ mul.s $f12, $f16, $f16 -/* 12017C 802B6B6C 44812000 */ mtc1 $at, $f4 -/* 120180 802B6B70 46064281 */ sub.s $f10, $f8, $f6 -/* 120184 802B6B74 E4CA0008 */ swc1 $f10, 8($a2) -/* 120188 802B6B78 460C2201 */ sub.s $f8, $f4, $f12 -/* 12018C 802B6B7C 46004182 */ mul.s $f6, $f8, $f0 -/* 120190 802B6B80 460C3280 */ add.s $f10, $f6, $f12 -/* 120194 802B6B84 4616A102 */ mul.s $f4, $f20, $f22 -/* 120198 802B6B88 E4CA0020 */ swc1 $f10, 0x20($a2) -/* 12019C 802B6B8C C7A80034 */ lwc1 $f8, 0x34($sp) -/* 1201A0 802B6B90 46082082 */ mul.s $f2, $f4, $f8 -/* 1201A4 802B6B94 00000000 */ nop -/* 1201A8 802B6B98 46128382 */ mul.s $f14, $f16, $f18 -/* 1201AC 802B6B9C 460E1181 */ sub.s $f6, $f2, $f14 -/* 1201B0 802B6BA0 46027280 */ add.s $f10, $f14, $f2 -/* 1201B4 802B6BA4 E4C6000C */ swc1 $f6, 0xc($a2) -/* 1201B8 802B6BA8 E4CA0004 */ swc1 $f10, 4($a2) -/* 1201BC 802B6BAC 8FBF0024 */ lw $ra, 0x24($sp) -/* 1201C0 802B6BB0 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 1201C4 802B6BB4 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 1201C8 802B6BB8 03E00008 */ jr $ra -/* 1201CC 802B6BBC 27BD0058 */ addiu $sp, $sp, 0x58 +glabel func_802B6A84 +/* 120094 802B6A84 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 120098 802B6A88 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 12009C 802B6A8C 4486A000 */ mtc1 $a2, $f20 +/* 1200A0 802B6A90 00803025 */ move $a2, $a0 +/* 1200A4 802B6A94 F7B60018 */ sdc1 $f22, 0x18($sp) +/* 1200A8 802B6A98 AFA40058 */ sw $a0, 0x58($sp) +/* 1200AC 802B6A9C 4487B000 */ mtc1 $a3, $f22 +/* 1200B0 802B6AA0 AFBF0024 */ sw $ra, 0x24($sp) +/* 1200B4 802B6AA4 30A4FFFF */ andi $a0, $a1, 0xffff +/* 1200B8 802B6AA8 AFA5005C */ sw $a1, 0x5c($sp) +/* 1200BC 802B6AAC AFA40034 */ sw $a0, 0x34($sp) +/* 1200C0 802B6AB0 0C0AE006 */ jal sins +/* 1200C4 802B6AB4 AFA60058 */ sw $a2, 0x58($sp) +/* 1200C8 802B6AB8 8FA40034 */ lw $a0, 0x34($sp) +/* 1200CC 802B6ABC 0C0AE00E */ jal coss +/* 1200D0 802B6AC0 E7A00054 */ swc1 $f0, 0x54($sp) +/* 1200D4 802B6AC4 4614A302 */ mul.s $f12, $f20, $f20 +/* 1200D8 802B6AC8 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 1200DC 802B6ACC 44812000 */ mtc1 $at, $f4 +/* 1200E0 802B6AD0 8FA60058 */ lw $a2, 0x58($sp) +/* 1200E4 802B6AD4 C7B20054 */ lwc1 $f18, 0x54($sp) +/* 1200E8 802B6AD8 460C2181 */ sub.s $f6, $f4, $f12 +/* 1200EC 802B6ADC 44812000 */ mtc1 $at, $f4 +/* 1200F0 802B6AE0 46003202 */ mul.s $f8, $f6, $f0 +/* 1200F4 802B6AE4 46002181 */ sub.s $f6, $f4, $f0 +/* 1200F8 802B6AE8 460C4280 */ add.s $f10, $f8, $f12 +/* 1200FC 802B6AEC E4CA0000 */ swc1 $f10, ($a2) +/* 120100 802B6AF0 C7A80068 */ lwc1 $f8, 0x68($sp) +/* 120104 802B6AF4 E7A60034 */ swc1 $f6, 0x34($sp) +/* 120108 802B6AF8 4608B282 */ mul.s $f10, $f22, $f8 +/* 12010C 802B6AFC 00000000 */ nop +/* 120110 802B6B00 46065082 */ mul.s $f2, $f10, $f6 +/* 120114 802B6B04 44815000 */ mtc1 $at, $f10 +/* 120118 802B6B08 4612A382 */ mul.s $f14, $f20, $f18 +/* 12011C 802B6B0C 00000000 */ nop +/* 120120 802B6B10 4616B402 */ mul.s $f16, $f22, $f22 +/* 120124 802B6B14 460E1101 */ sub.s $f4, $f2, $f14 +/* 120128 802B6B18 46105181 */ sub.s $f6, $f10, $f16 +/* 12012C 802B6B1C E4C4001C */ swc1 $f4, 0x1c($a2) +/* 120130 802B6B20 46027200 */ add.s $f8, $f14, $f2 +/* 120134 802B6B24 46003102 */ mul.s $f4, $f6, $f0 +/* 120138 802B6B28 E4C80014 */ swc1 $f8, 0x14($a2) +/* 12013C 802B6B2C 4612B282 */ mul.s $f10, $f22, $f18 +/* 120140 802B6B30 46102200 */ add.s $f8, $f4, $f16 +/* 120144 802B6B34 E4C80010 */ swc1 $f8, 0x10($a2) +/* 120148 802B6B38 C7A60068 */ lwc1 $f6, 0x68($sp) +/* 12014C 802B6B3C C7A80034 */ lwc1 $f8, 0x34($sp) +/* 120150 802B6B40 E7AA002C */ swc1 $f10, 0x2c($sp) +/* 120154 802B6B44 46143102 */ mul.s $f4, $f6, $f20 +/* 120158 802B6B48 C7A6002C */ lwc1 $f6, 0x2c($sp) +/* 12015C 802B6B4C 46082282 */ mul.s $f10, $f4, $f8 +/* 120160 802B6B50 460A3100 */ add.s $f4, $f6, $f10 +/* 120164 802B6B54 E7AA0030 */ swc1 $f10, 0x30($sp) +/* 120168 802B6B58 E4C40018 */ swc1 $f4, 0x18($a2) +/* 12016C 802B6B5C C7B00068 */ lwc1 $f16, 0x68($sp) +/* 120170 802B6B60 C7A6002C */ lwc1 $f6, 0x2c($sp) +/* 120174 802B6B64 C7A80030 */ lwc1 $f8, 0x30($sp) +/* 120178 802B6B68 46108302 */ mul.s $f12, $f16, $f16 +/* 12017C 802B6B6C 44812000 */ mtc1 $at, $f4 +/* 120180 802B6B70 46064281 */ sub.s $f10, $f8, $f6 +/* 120184 802B6B74 E4CA0008 */ swc1 $f10, 8($a2) +/* 120188 802B6B78 460C2201 */ sub.s $f8, $f4, $f12 +/* 12018C 802B6B7C 46004182 */ mul.s $f6, $f8, $f0 +/* 120190 802B6B80 460C3280 */ add.s $f10, $f6, $f12 +/* 120194 802B6B84 4616A102 */ mul.s $f4, $f20, $f22 +/* 120198 802B6B88 E4CA0020 */ swc1 $f10, 0x20($a2) +/* 12019C 802B6B8C C7A80034 */ lwc1 $f8, 0x34($sp) +/* 1201A0 802B6B90 46082082 */ mul.s $f2, $f4, $f8 +/* 1201A4 802B6B94 00000000 */ nop +/* 1201A8 802B6B98 46128382 */ mul.s $f14, $f16, $f18 +/* 1201AC 802B6B9C 460E1181 */ sub.s $f6, $f2, $f14 +/* 1201B0 802B6BA0 46027280 */ add.s $f10, $f14, $f2 +/* 1201B4 802B6BA4 E4C6000C */ swc1 $f6, 0xc($a2) +/* 1201B8 802B6BA8 E4CA0004 */ swc1 $f10, 4($a2) +/* 1201BC 802B6BAC 8FBF0024 */ lw $ra, 0x24($sp) +/* 1201C0 802B6BB0 D7B60018 */ ldc1 $f22, 0x18($sp) +/* 1201C4 802B6BB4 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 1201C8 802B6BB8 03E00008 */ jr $ra +/* 1201CC 802B6BBC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/math_util/func_802B6BC0.s b/asm/non_matchings/math_util/func_802B6BC0.s index 7c327775d..f48881ae0 100644 --- a/asm/non_matchings/math_util/func_802B6BC0.s +++ b/asm/non_matchings/math_util/func_802B6BC0.s @@ -1,105 +1,105 @@ -glabel func_802B6BC0 -/* 1201D0 802B6BC0 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 1201D4 802B6BC4 44867000 */ mtc1 $a2, $f14 -/* 1201D8 802B6BC8 00803025 */ move $a2, $a0 -/* 1201DC 802B6BCC AFA40040 */ sw $a0, 0x40($sp) -/* 1201E0 802B6BD0 AFBF001C */ sw $ra, 0x1c($sp) -/* 1201E4 802B6BD4 30A4FFFF */ andi $a0, $a1, 0xffff -/* 1201E8 802B6BD8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 1201EC 802B6BDC AFA50044 */ sw $a1, 0x44($sp) -/* 1201F0 802B6BE0 AFA7004C */ sw $a3, 0x4c($sp) -/* 1201F4 802B6BE4 AFA4002C */ sw $a0, 0x2c($sp) -/* 1201F8 802B6BE8 AFA60040 */ sw $a2, 0x40($sp) -/* 1201FC 802B6BEC 0C0AE006 */ jal sins -/* 120200 802B6BF0 E7AE0048 */ swc1 $f14, 0x48($sp) -/* 120204 802B6BF4 8FA4002C */ lw $a0, 0x2c($sp) -/* 120208 802B6BF8 0C0AE00E */ jal coss -/* 12020C 802B6BFC E7A0003C */ swc1 $f0, 0x3c($sp) -/* 120210 802B6C00 C7AE0048 */ lwc1 $f14, 0x48($sp) -/* 120214 802B6C04 C7B40050 */ lwc1 $f20, 0x50($sp) -/* 120218 802B6C08 46000486 */ mov.s $f18, $f0 -/* 12021C 802B6C0C 460E7102 */ mul.s $f4, $f14, $f14 -/* 120220 802B6C10 44801000 */ mtc1 $zero, $f2 -/* 120224 802B6C14 8FA60040 */ lw $a2, 0x40($sp) -/* 120228 802B6C18 4614A182 */ mul.s $f6, $f20, $f20 -/* 12022C 802B6C1C C7B0003C */ lwc1 $f16, 0x3c($sp) -/* 120230 802B6C20 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 120234 802B6C24 46062000 */ add.s $f0, $f4, $f6 -/* 120238 802B6C28 46000004 */ sqrt.s $f0, $f0 -/* 12023C 802B6C2C 46020032 */ c.eq.s $f0, $f2 -/* 120240 802B6C30 00000000 */ nop -/* 120244 802B6C34 45030039 */ bc1tl .L802B6D1C -/* 120248 802B6C38 44810000 */ mtc1 $at, $f0 -/* 12024C 802B6C3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 120250 802B6C40 44814000 */ mtc1 $at, $f8 -/* 120254 802B6C44 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 120258 802B6C48 4600A287 */ neg.s $f10, $f20 -/* 12025C 802B6C4C 46004303 */ div.s $f12, $f8, $f0 -/* 120260 802B6C50 E7AA002C */ swc1 $f10, 0x2c($sp) -/* 120264 802B6C54 C7A8002C */ lwc1 $f8, 0x2c($sp) -/* 120268 802B6C58 46048182 */ mul.s $f6, $f16, $f4 -/* 12026C 802B6C5C E7A60028 */ swc1 $f6, 0x28($sp) -/* 120270 802B6C60 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 120274 802B6C64 46124282 */ mul.s $f10, $f8, $f18 -/* 120278 802B6C68 E7AC0030 */ swc1 $f12, 0x30($sp) -/* 12027C 802B6C6C 460E2182 */ mul.s $f6, $f4, $f14 -/* 120280 802B6C70 46065201 */ sub.s $f8, $f10, $f6 -/* 120284 802B6C74 460C4102 */ mul.s $f4, $f8, $f12 -/* 120288 802B6C78 E4C40000 */ swc1 $f4, ($a2) -/* 12028C 802B6C7C C7AA004C */ lwc1 $f10, 0x4c($sp) -/* 120290 802B6C80 460A9182 */ mul.s $f6, $f18, $f10 -/* 120294 802B6C84 E7A60024 */ swc1 $f6, 0x24($sp) -/* 120298 802B6C88 4610A202 */ mul.s $f8, $f20, $f16 -/* 12029C 802B6C8C C7A40024 */ lwc1 $f4, 0x24($sp) -/* 1202A0 802B6C90 460E2282 */ mul.s $f10, $f4, $f14 -/* 1202A4 802B6C94 460A4181 */ sub.s $f6, $f8, $f10 -/* 1202A8 802B6C98 46007207 */ neg.s $f8, $f14 -/* 1202AC 802B6C9C 460C3102 */ mul.s $f4, $f6, $f12 -/* 1202B0 802B6CA0 E4C80018 */ swc1 $f8, 0x18($a2) -/* 1202B4 802B6CA4 46008282 */ mul.s $f10, $f16, $f0 -/* 1202B8 802B6CA8 00000000 */ nop -/* 1202BC 802B6CAC 46009182 */ mul.s $f6, $f18, $f0 -/* 1202C0 802B6CB0 E4C4000C */ swc1 $f4, 0xc($a2) -/* 1202C4 802B6CB4 E4CA0004 */ swc1 $f10, 4($a2) -/* 1202C8 802B6CB8 460E9282 */ mul.s $f10, $f18, $f14 -/* 1202CC 802B6CBC E4C60010 */ swc1 $f6, 0x10($a2) -/* 1202D0 802B6CC0 C7A4004C */ lwc1 $f4, 0x4c($sp) -/* 1202D4 802B6CC4 C7A00030 */ lwc1 $f0, 0x30($sp) -/* 1202D8 802B6CC8 46002207 */ neg.s $f8, $f4 -/* 1202DC 802B6CCC E4C8001C */ swc1 $f8, 0x1c($a2) -/* 1202E0 802B6CD0 C7A60028 */ lwc1 $f6, 0x28($sp) -/* 1202E4 802B6CD4 46143102 */ mul.s $f4, $f6, $f20 -/* 1202E8 802B6CD8 46045201 */ sub.s $f8, $f10, $f4 -/* 1202EC 802B6CDC 46008287 */ neg.s $f10, $f16 -/* 1202F0 802B6CE0 46004182 */ mul.s $f6, $f8, $f0 -/* 1202F4 802B6CE4 E4C60008 */ swc1 $f6, 8($a2) -/* 1202F8 802B6CE8 460E5102 */ mul.s $f4, $f10, $f14 -/* 1202FC 802B6CEC C7A80024 */ lwc1 $f8, 0x24($sp) -/* 120300 802B6CF0 46144182 */ mul.s $f6, $f8, $f20 -/* 120304 802B6CF4 46062281 */ sub.s $f10, $f4, $f6 -/* 120308 802B6CF8 46005202 */ mul.s $f8, $f10, $f0 -/* 12030C 802B6CFC E4C80014 */ swc1 $f8, 0x14($a2) -/* 120310 802B6D00 C7A4002C */ lwc1 $f4, 0x2c($sp) -/* 120314 802B6D04 E4C2000C */ swc1 $f2, 0xc($a2) -/* 120318 802B6D08 E4C20018 */ swc1 $f2, 0x18($a2) -/* 12031C 802B6D0C E4C20024 */ swc1 $f2, 0x24($a2) -/* 120320 802B6D10 1000000C */ b .L802B6D44 -/* 120324 802B6D14 E4C40020 */ swc1 $f4, 0x20($a2) -/* 120328 802B6D18 44810000 */ mtc1 $at, $f0 -.L802B6D1C: -/* 12032C 802B6D1C E4C20004 */ swc1 $f2, 4($a2) -/* 120330 802B6D20 E4C2001C */ swc1 $f2, 0x1c($a2) -/* 120334 802B6D24 E4C20008 */ swc1 $f2, 8($a2) -/* 120338 802B6D28 E4C20014 */ swc1 $f2, 0x14($a2) -/* 12033C 802B6D2C E4C2000C */ swc1 $f2, 0xc($a2) -/* 120340 802B6D30 E4C20018 */ swc1 $f2, 0x18($a2) -/* 120344 802B6D34 E4C20024 */ swc1 $f2, 0x24($a2) -/* 120348 802B6D38 E4C00000 */ swc1 $f0, ($a2) -/* 12034C 802B6D3C E4C00010 */ swc1 $f0, 0x10($a2) -/* 120350 802B6D40 E4C00020 */ swc1 $f0, 0x20($a2) -.L802B6D44: -/* 120354 802B6D44 8FBF001C */ lw $ra, 0x1c($sp) -/* 120358 802B6D48 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 12035C 802B6D4C 27BD0040 */ addiu $sp, $sp, 0x40 -/* 120360 802B6D50 03E00008 */ jr $ra -/* 120364 802B6D54 00000000 */ nop +glabel func_802B6BC0 +/* 1201D0 802B6BC0 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 1201D4 802B6BC4 44867000 */ mtc1 $a2, $f14 +/* 1201D8 802B6BC8 00803025 */ move $a2, $a0 +/* 1201DC 802B6BCC AFA40040 */ sw $a0, 0x40($sp) +/* 1201E0 802B6BD0 AFBF001C */ sw $ra, 0x1c($sp) +/* 1201E4 802B6BD4 30A4FFFF */ andi $a0, $a1, 0xffff +/* 1201E8 802B6BD8 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 1201EC 802B6BDC AFA50044 */ sw $a1, 0x44($sp) +/* 1201F0 802B6BE0 AFA7004C */ sw $a3, 0x4c($sp) +/* 1201F4 802B6BE4 AFA4002C */ sw $a0, 0x2c($sp) +/* 1201F8 802B6BE8 AFA60040 */ sw $a2, 0x40($sp) +/* 1201FC 802B6BEC 0C0AE006 */ jal sins +/* 120200 802B6BF0 E7AE0048 */ swc1 $f14, 0x48($sp) +/* 120204 802B6BF4 8FA4002C */ lw $a0, 0x2c($sp) +/* 120208 802B6BF8 0C0AE00E */ jal coss +/* 12020C 802B6BFC E7A0003C */ swc1 $f0, 0x3c($sp) +/* 120210 802B6C00 C7AE0048 */ lwc1 $f14, 0x48($sp) +/* 120214 802B6C04 C7B40050 */ lwc1 $f20, 0x50($sp) +/* 120218 802B6C08 46000486 */ mov.s $f18, $f0 +/* 12021C 802B6C0C 460E7102 */ mul.s $f4, $f14, $f14 +/* 120220 802B6C10 44801000 */ mtc1 $zero, $f2 +/* 120224 802B6C14 8FA60040 */ lw $a2, 0x40($sp) +/* 120228 802B6C18 4614A182 */ mul.s $f6, $f20, $f20 +/* 12022C 802B6C1C C7B0003C */ lwc1 $f16, 0x3c($sp) +/* 120230 802B6C20 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 120234 802B6C24 46062000 */ add.s $f0, $f4, $f6 +/* 120238 802B6C28 46000004 */ sqrt.s $f0, $f0 +/* 12023C 802B6C2C 46020032 */ c.eq.s $f0, $f2 +/* 120240 802B6C30 00000000 */ nop +/* 120244 802B6C34 45030039 */ bc1tl .L802B6D1C +/* 120248 802B6C38 44810000 */ mtc1 $at, $f0 +/* 12024C 802B6C3C 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 120250 802B6C40 44814000 */ mtc1 $at, $f8 +/* 120254 802B6C44 C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 120258 802B6C48 4600A287 */ neg.s $f10, $f20 +/* 12025C 802B6C4C 46004303 */ div.s $f12, $f8, $f0 +/* 120260 802B6C50 E7AA002C */ swc1 $f10, 0x2c($sp) +/* 120264 802B6C54 C7A8002C */ lwc1 $f8, 0x2c($sp) +/* 120268 802B6C58 46048182 */ mul.s $f6, $f16, $f4 +/* 12026C 802B6C5C E7A60028 */ swc1 $f6, 0x28($sp) +/* 120270 802B6C60 C7A40028 */ lwc1 $f4, 0x28($sp) +/* 120274 802B6C64 46124282 */ mul.s $f10, $f8, $f18 +/* 120278 802B6C68 E7AC0030 */ swc1 $f12, 0x30($sp) +/* 12027C 802B6C6C 460E2182 */ mul.s $f6, $f4, $f14 +/* 120280 802B6C70 46065201 */ sub.s $f8, $f10, $f6 +/* 120284 802B6C74 460C4102 */ mul.s $f4, $f8, $f12 +/* 120288 802B6C78 E4C40000 */ swc1 $f4, ($a2) +/* 12028C 802B6C7C C7AA004C */ lwc1 $f10, 0x4c($sp) +/* 120290 802B6C80 460A9182 */ mul.s $f6, $f18, $f10 +/* 120294 802B6C84 E7A60024 */ swc1 $f6, 0x24($sp) +/* 120298 802B6C88 4610A202 */ mul.s $f8, $f20, $f16 +/* 12029C 802B6C8C C7A40024 */ lwc1 $f4, 0x24($sp) +/* 1202A0 802B6C90 460E2282 */ mul.s $f10, $f4, $f14 +/* 1202A4 802B6C94 460A4181 */ sub.s $f6, $f8, $f10 +/* 1202A8 802B6C98 46007207 */ neg.s $f8, $f14 +/* 1202AC 802B6C9C 460C3102 */ mul.s $f4, $f6, $f12 +/* 1202B0 802B6CA0 E4C80018 */ swc1 $f8, 0x18($a2) +/* 1202B4 802B6CA4 46008282 */ mul.s $f10, $f16, $f0 +/* 1202B8 802B6CA8 00000000 */ nop +/* 1202BC 802B6CAC 46009182 */ mul.s $f6, $f18, $f0 +/* 1202C0 802B6CB0 E4C4000C */ swc1 $f4, 0xc($a2) +/* 1202C4 802B6CB4 E4CA0004 */ swc1 $f10, 4($a2) +/* 1202C8 802B6CB8 460E9282 */ mul.s $f10, $f18, $f14 +/* 1202CC 802B6CBC E4C60010 */ swc1 $f6, 0x10($a2) +/* 1202D0 802B6CC0 C7A4004C */ lwc1 $f4, 0x4c($sp) +/* 1202D4 802B6CC4 C7A00030 */ lwc1 $f0, 0x30($sp) +/* 1202D8 802B6CC8 46002207 */ neg.s $f8, $f4 +/* 1202DC 802B6CCC E4C8001C */ swc1 $f8, 0x1c($a2) +/* 1202E0 802B6CD0 C7A60028 */ lwc1 $f6, 0x28($sp) +/* 1202E4 802B6CD4 46143102 */ mul.s $f4, $f6, $f20 +/* 1202E8 802B6CD8 46045201 */ sub.s $f8, $f10, $f4 +/* 1202EC 802B6CDC 46008287 */ neg.s $f10, $f16 +/* 1202F0 802B6CE0 46004182 */ mul.s $f6, $f8, $f0 +/* 1202F4 802B6CE4 E4C60008 */ swc1 $f6, 8($a2) +/* 1202F8 802B6CE8 460E5102 */ mul.s $f4, $f10, $f14 +/* 1202FC 802B6CEC C7A80024 */ lwc1 $f8, 0x24($sp) +/* 120300 802B6CF0 46144182 */ mul.s $f6, $f8, $f20 +/* 120304 802B6CF4 46062281 */ sub.s $f10, $f4, $f6 +/* 120308 802B6CF8 46005202 */ mul.s $f8, $f10, $f0 +/* 12030C 802B6CFC E4C80014 */ swc1 $f8, 0x14($a2) +/* 120310 802B6D00 C7A4002C */ lwc1 $f4, 0x2c($sp) +/* 120314 802B6D04 E4C2000C */ swc1 $f2, 0xc($a2) +/* 120318 802B6D08 E4C20018 */ swc1 $f2, 0x18($a2) +/* 12031C 802B6D0C E4C20024 */ swc1 $f2, 0x24($a2) +/* 120320 802B6D10 1000000C */ b .L802B6D44 +/* 120324 802B6D14 E4C40020 */ swc1 $f4, 0x20($a2) +/* 120328 802B6D18 44810000 */ mtc1 $at, $f0 +.L802B6D1C: +/* 12032C 802B6D1C E4C20004 */ swc1 $f2, 4($a2) +/* 120330 802B6D20 E4C2001C */ swc1 $f2, 0x1c($a2) +/* 120334 802B6D24 E4C20008 */ swc1 $f2, 8($a2) +/* 120338 802B6D28 E4C20014 */ swc1 $f2, 0x14($a2) +/* 12033C 802B6D2C E4C2000C */ swc1 $f2, 0xc($a2) +/* 120340 802B6D30 E4C20018 */ swc1 $f2, 0x18($a2) +/* 120344 802B6D34 E4C20024 */ swc1 $f2, 0x24($a2) +/* 120348 802B6D38 E4C00000 */ swc1 $f0, ($a2) +/* 12034C 802B6D3C E4C00010 */ swc1 $f0, 0x10($a2) +/* 120350 802B6D40 E4C00020 */ swc1 $f0, 0x20($a2) +.L802B6D44: +/* 120354 802B6D44 8FBF001C */ lw $ra, 0x1c($sp) +/* 120358 802B6D48 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 12035C 802B6D4C 27BD0040 */ addiu $sp, $sp, 0x40 +/* 120360 802B6D50 03E00008 */ jr $ra +/* 120364 802B6D54 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B6D58.s b/asm/non_matchings/math_util/func_802B6D58.s index 47f292ba4..9657fedb3 100644 --- a/asm/non_matchings/math_util/func_802B6D58.s +++ b/asm/non_matchings/math_util/func_802B6D58.s @@ -1,304 +1,304 @@ -glabel func_802B6D58 -/* 120368 802B6D58 27BDFFC0 */ addiu $sp, $sp, -0x40 -/* 12036C 802B6D5C AFB0001C */ sw $s0, 0x1c($sp) -/* 120370 802B6D60 00808025 */ move $s0, $a0 -/* 120374 802B6D64 AFBF0024 */ sw $ra, 0x24($sp) -/* 120378 802B6D68 AFB10020 */ sw $s1, 0x20($sp) -/* 12037C 802B6D6C F7B40010 */ sdc1 $f20, 0x10($sp) -/* 120380 802B6D70 AFA50044 */ sw $a1, 0x44($sp) -/* 120384 802B6D74 24040001 */ li $a0, 1 -/* 120388 802B6D78 444EF800 */ cfc1 $t6, $31 -/* 12038C 802B6D7C 44C4F800 */ ctc1 $a0, $31 -/* 120390 802B6D80 C4C40000 */ lwc1 $f4, ($a2) -/* 120394 802B6D84 00C08825 */ move $s1, $a2 -/* 120398 802B6D88 460021A4 */ cvt.w.s $f6, $f4 -/* 12039C 802B6D8C 4444F800 */ cfc1 $a0, $31 -/* 1203A0 802B6D90 00000000 */ nop -/* 1203A4 802B6D94 30840078 */ andi $a0, $a0, 0x78 -/* 1203A8 802B6D98 10800012 */ beqz $a0, .L802B6DE4 -/* 1203AC 802B6D9C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 1203B0 802B6DA0 44813000 */ mtc1 $at, $f6 -/* 1203B4 802B6DA4 24040001 */ li $a0, 1 -/* 1203B8 802B6DA8 46062181 */ sub.s $f6, $f4, $f6 -/* 1203BC 802B6DAC 44C4F800 */ ctc1 $a0, $31 -/* 1203C0 802B6DB0 00000000 */ nop -/* 1203C4 802B6DB4 460031A4 */ cvt.w.s $f6, $f6 -/* 1203C8 802B6DB8 4444F800 */ cfc1 $a0, $31 -/* 1203CC 802B6DBC 00000000 */ nop -/* 1203D0 802B6DC0 30840078 */ andi $a0, $a0, 0x78 -/* 1203D4 802B6DC4 14800005 */ bnez $a0, .L802B6DDC -/* 1203D8 802B6DC8 00000000 */ nop -/* 1203DC 802B6DCC 44043000 */ mfc1 $a0, $f6 -/* 1203E0 802B6DD0 3C018000 */ lui $at, 0x8000 -/* 1203E4 802B6DD4 10000007 */ b .L802B6DF4 -/* 1203E8 802B6DD8 00812025 */ or $a0, $a0, $at -.L802B6DDC: -/* 1203EC 802B6DDC 10000005 */ b .L802B6DF4 -/* 1203F0 802B6DE0 2404FFFF */ li $a0, -1 -.L802B6DE4: -/* 1203F4 802B6DE4 44043000 */ mfc1 $a0, $f6 -/* 1203F8 802B6DE8 00000000 */ nop -/* 1203FC 802B6DEC 0480FFFB */ bltz $a0, .L802B6DDC -/* 120400 802B6DF0 00000000 */ nop -.L802B6DF4: -/* 120404 802B6DF4 44CEF800 */ ctc1 $t6, $31 -/* 120408 802B6DF8 308FFFFF */ andi $t7, $a0, 0xffff -/* 12040C 802B6DFC 0C0AE006 */ jal sins -/* 120410 802B6E00 01E02025 */ move $a0, $t7 -/* 120414 802B6E04 E7A0003C */ swc1 $f0, 0x3c($sp) -/* 120418 802B6E08 4458F800 */ cfc1 $t8, $31 -/* 12041C 802B6E0C 24040001 */ li $a0, 1 -/* 120420 802B6E10 44C4F800 */ ctc1 $a0, $31 -/* 120424 802B6E14 C6280000 */ lwc1 $f8, ($s1) -/* 120428 802B6E18 460042A4 */ cvt.w.s $f10, $f8 -/* 12042C 802B6E1C 4444F800 */ cfc1 $a0, $31 -/* 120430 802B6E20 00000000 */ nop -/* 120434 802B6E24 30840078 */ andi $a0, $a0, 0x78 -/* 120438 802B6E28 10800012 */ beqz $a0, .L802B6E74 -/* 12043C 802B6E2C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 120440 802B6E30 44815000 */ mtc1 $at, $f10 -/* 120444 802B6E34 24040001 */ li $a0, 1 -/* 120448 802B6E38 460A4281 */ sub.s $f10, $f8, $f10 -/* 12044C 802B6E3C 44C4F800 */ ctc1 $a0, $31 -/* 120450 802B6E40 00000000 */ nop -/* 120454 802B6E44 460052A4 */ cvt.w.s $f10, $f10 -/* 120458 802B6E48 4444F800 */ cfc1 $a0, $31 -/* 12045C 802B6E4C 00000000 */ nop -/* 120460 802B6E50 30840078 */ andi $a0, $a0, 0x78 -/* 120464 802B6E54 14800005 */ bnez $a0, .L802B6E6C -/* 120468 802B6E58 00000000 */ nop -/* 12046C 802B6E5C 44045000 */ mfc1 $a0, $f10 -/* 120470 802B6E60 3C018000 */ lui $at, 0x8000 -/* 120474 802B6E64 10000007 */ b .L802B6E84 -/* 120478 802B6E68 00812025 */ or $a0, $a0, $at -.L802B6E6C: -/* 12047C 802B6E6C 10000005 */ b .L802B6E84 -/* 120480 802B6E70 2404FFFF */ li $a0, -1 -.L802B6E74: -/* 120484 802B6E74 44045000 */ mfc1 $a0, $f10 -/* 120488 802B6E78 00000000 */ nop -/* 12048C 802B6E7C 0480FFFB */ bltz $a0, .L802B6E6C -/* 120490 802B6E80 00000000 */ nop -.L802B6E84: -/* 120494 802B6E84 44D8F800 */ ctc1 $t8, $31 -/* 120498 802B6E88 3099FFFF */ andi $t9, $a0, 0xffff -/* 12049C 802B6E8C 0C0AE00E */ jal coss -/* 1204A0 802B6E90 03202025 */ move $a0, $t9 -/* 1204A4 802B6E94 46000506 */ mov.s $f20, $f0 -/* 1204A8 802B6E98 4448F800 */ cfc1 $t0, $31 -/* 1204AC 802B6E9C 24040001 */ li $a0, 1 -/* 1204B0 802B6EA0 44C4F800 */ ctc1 $a0, $31 -/* 1204B4 802B6EA4 C6240004 */ lwc1 $f4, 4($s1) -/* 1204B8 802B6EA8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 1204BC 802B6EAC 460021A4 */ cvt.w.s $f6, $f4 -/* 1204C0 802B6EB0 4444F800 */ cfc1 $a0, $31 -/* 1204C4 802B6EB4 00000000 */ nop -/* 1204C8 802B6EB8 30840078 */ andi $a0, $a0, 0x78 -/* 1204CC 802B6EBC 50800013 */ beql $a0, $zero, .L802B6F0C -/* 1204D0 802B6EC0 44043000 */ mfc1 $a0, $f6 -/* 1204D4 802B6EC4 44813000 */ mtc1 $at, $f6 -/* 1204D8 802B6EC8 24040001 */ li $a0, 1 -/* 1204DC 802B6ECC 46062181 */ sub.s $f6, $f4, $f6 -/* 1204E0 802B6ED0 44C4F800 */ ctc1 $a0, $31 -/* 1204E4 802B6ED4 00000000 */ nop -/* 1204E8 802B6ED8 460031A4 */ cvt.w.s $f6, $f6 -/* 1204EC 802B6EDC 4444F800 */ cfc1 $a0, $31 -/* 1204F0 802B6EE0 00000000 */ nop -/* 1204F4 802B6EE4 30840078 */ andi $a0, $a0, 0x78 -/* 1204F8 802B6EE8 14800005 */ bnez $a0, .L802B6F00 -/* 1204FC 802B6EEC 00000000 */ nop -/* 120500 802B6EF0 44043000 */ mfc1 $a0, $f6 -/* 120504 802B6EF4 3C018000 */ lui $at, 0x8000 -/* 120508 802B6EF8 10000007 */ b .L802B6F18 -/* 12050C 802B6EFC 00812025 */ or $a0, $a0, $at -.L802B6F00: -/* 120510 802B6F00 10000005 */ b .L802B6F18 -/* 120514 802B6F04 2404FFFF */ li $a0, -1 -/* 120518 802B6F08 44043000 */ mfc1 $a0, $f6 -.L802B6F0C: -/* 12051C 802B6F0C 00000000 */ nop -/* 120520 802B6F10 0480FFFB */ bltz $a0, .L802B6F00 -/* 120524 802B6F14 00000000 */ nop -.L802B6F18: -/* 120528 802B6F18 44C8F800 */ ctc1 $t0, $31 -/* 12052C 802B6F1C 3089FFFF */ andi $t1, $a0, 0xffff -/* 120530 802B6F20 0C0AE006 */ jal sins -/* 120534 802B6F24 01202025 */ move $a0, $t1 -/* 120538 802B6F28 46000386 */ mov.s $f14, $f0 -/* 12053C 802B6F2C 444AF800 */ cfc1 $t2, $31 -/* 120540 802B6F30 24040001 */ li $a0, 1 -/* 120544 802B6F34 44C4F800 */ ctc1 $a0, $31 -/* 120548 802B6F38 C6280004 */ lwc1 $f8, 4($s1) -/* 12054C 802B6F3C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 120550 802B6F40 460042A4 */ cvt.w.s $f10, $f8 -/* 120554 802B6F44 4444F800 */ cfc1 $a0, $31 -/* 120558 802B6F48 00000000 */ nop -/* 12055C 802B6F4C 30840078 */ andi $a0, $a0, 0x78 -/* 120560 802B6F50 50800013 */ beql $a0, $zero, .L802B6FA0 -/* 120564 802B6F54 44045000 */ mfc1 $a0, $f10 -/* 120568 802B6F58 44815000 */ mtc1 $at, $f10 -/* 12056C 802B6F5C 24040001 */ li $a0, 1 -/* 120570 802B6F60 460A4281 */ sub.s $f10, $f8, $f10 -/* 120574 802B6F64 44C4F800 */ ctc1 $a0, $31 -/* 120578 802B6F68 00000000 */ nop -/* 12057C 802B6F6C 460052A4 */ cvt.w.s $f10, $f10 -/* 120580 802B6F70 4444F800 */ cfc1 $a0, $31 -/* 120584 802B6F74 00000000 */ nop -/* 120588 802B6F78 30840078 */ andi $a0, $a0, 0x78 -/* 12058C 802B6F7C 14800005 */ bnez $a0, .L802B6F94 -/* 120590 802B6F80 00000000 */ nop -/* 120594 802B6F84 44045000 */ mfc1 $a0, $f10 -/* 120598 802B6F88 3C018000 */ lui $at, 0x8000 -/* 12059C 802B6F8C 10000007 */ b .L802B6FAC -/* 1205A0 802B6F90 00812025 */ or $a0, $a0, $at -.L802B6F94: -/* 1205A4 802B6F94 10000005 */ b .L802B6FAC -/* 1205A8 802B6F98 2404FFFF */ li $a0, -1 -/* 1205AC 802B6F9C 44045000 */ mfc1 $a0, $f10 -.L802B6FA0: -/* 1205B0 802B6FA0 00000000 */ nop -/* 1205B4 802B6FA4 0480FFFB */ bltz $a0, .L802B6F94 -/* 1205B8 802B6FA8 00000000 */ nop -.L802B6FAC: -/* 1205BC 802B6FAC 44CAF800 */ ctc1 $t2, $31 -/* 1205C0 802B6FB0 308BFFFF */ andi $t3, $a0, 0xffff -/* 1205C4 802B6FB4 01602025 */ move $a0, $t3 -/* 1205C8 802B6FB8 0C0AE00E */ jal coss -/* 1205CC 802B6FBC E7AE0034 */ swc1 $f14, 0x34($sp) -/* 1205D0 802B6FC0 46000406 */ mov.s $f16, $f0 -/* 1205D4 802B6FC4 444CF800 */ cfc1 $t4, $31 -/* 1205D8 802B6FC8 24040001 */ li $a0, 1 -/* 1205DC 802B6FCC 44C4F800 */ ctc1 $a0, $31 -/* 1205E0 802B6FD0 C6240008 */ lwc1 $f4, 8($s1) -/* 1205E4 802B6FD4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 1205E8 802B6FD8 460021A4 */ cvt.w.s $f6, $f4 -/* 1205EC 802B6FDC 4444F800 */ cfc1 $a0, $31 -/* 1205F0 802B6FE0 00000000 */ nop -/* 1205F4 802B6FE4 30840078 */ andi $a0, $a0, 0x78 -/* 1205F8 802B6FE8 50800013 */ beql $a0, $zero, .L802B7038 -/* 1205FC 802B6FEC 44043000 */ mfc1 $a0, $f6 -/* 120600 802B6FF0 44813000 */ mtc1 $at, $f6 -/* 120604 802B6FF4 24040001 */ li $a0, 1 -/* 120608 802B6FF8 46062181 */ sub.s $f6, $f4, $f6 -/* 12060C 802B6FFC 44C4F800 */ ctc1 $a0, $31 -/* 120610 802B7000 00000000 */ nop -/* 120614 802B7004 460031A4 */ cvt.w.s $f6, $f6 -/* 120618 802B7008 4444F800 */ cfc1 $a0, $31 -/* 12061C 802B700C 00000000 */ nop -/* 120620 802B7010 30840078 */ andi $a0, $a0, 0x78 -/* 120624 802B7014 14800005 */ bnez $a0, .L802B702C -/* 120628 802B7018 00000000 */ nop -/* 12062C 802B701C 44043000 */ mfc1 $a0, $f6 -/* 120630 802B7020 3C018000 */ lui $at, 0x8000 -/* 120634 802B7024 10000007 */ b .L802B7044 -/* 120638 802B7028 00812025 */ or $a0, $a0, $at -.L802B702C: -/* 12063C 802B702C 10000005 */ b .L802B7044 -/* 120640 802B7030 2404FFFF */ li $a0, -1 -/* 120644 802B7034 44043000 */ mfc1 $a0, $f6 -.L802B7038: -/* 120648 802B7038 00000000 */ nop -/* 12064C 802B703C 0480FFFB */ bltz $a0, .L802B702C -/* 120650 802B7040 00000000 */ nop -.L802B7044: -/* 120654 802B7044 44CCF800 */ ctc1 $t4, $31 -/* 120658 802B7048 308DFFFF */ andi $t5, $a0, 0xffff -/* 12065C 802B704C 01A02025 */ move $a0, $t5 -/* 120660 802B7050 0C0AE006 */ jal sins -/* 120664 802B7054 E7B00030 */ swc1 $f16, 0x30($sp) -/* 120668 802B7058 46000086 */ mov.s $f2, $f0 -/* 12066C 802B705C 444EF800 */ cfc1 $t6, $31 -/* 120670 802B7060 24040001 */ li $a0, 1 -/* 120674 802B7064 44C4F800 */ ctc1 $a0, $31 -/* 120678 802B7068 C6280008 */ lwc1 $f8, 8($s1) -/* 12067C 802B706C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 120680 802B7070 460042A4 */ cvt.w.s $f10, $f8 -/* 120684 802B7074 4444F800 */ cfc1 $a0, $31 -/* 120688 802B7078 00000000 */ nop -/* 12068C 802B707C 30840078 */ andi $a0, $a0, 0x78 -/* 120690 802B7080 50800013 */ beql $a0, $zero, .L802B70D0 -/* 120694 802B7084 44045000 */ mfc1 $a0, $f10 -/* 120698 802B7088 44815000 */ mtc1 $at, $f10 -/* 12069C 802B708C 24040001 */ li $a0, 1 -/* 1206A0 802B7090 460A4281 */ sub.s $f10, $f8, $f10 -/* 1206A4 802B7094 44C4F800 */ ctc1 $a0, $31 -/* 1206A8 802B7098 00000000 */ nop -/* 1206AC 802B709C 460052A4 */ cvt.w.s $f10, $f10 -/* 1206B0 802B70A0 4444F800 */ cfc1 $a0, $31 -/* 1206B4 802B70A4 00000000 */ nop -/* 1206B8 802B70A8 30840078 */ andi $a0, $a0, 0x78 -/* 1206BC 802B70AC 14800005 */ bnez $a0, .L802B70C4 -/* 1206C0 802B70B0 00000000 */ nop -/* 1206C4 802B70B4 44045000 */ mfc1 $a0, $f10 -/* 1206C8 802B70B8 3C018000 */ lui $at, 0x8000 -/* 1206CC 802B70BC 10000007 */ b .L802B70DC -/* 1206D0 802B70C0 00812025 */ or $a0, $a0, $at -.L802B70C4: -/* 1206D4 802B70C4 10000005 */ b .L802B70DC -/* 1206D8 802B70C8 2404FFFF */ li $a0, -1 -/* 1206DC 802B70CC 44045000 */ mfc1 $a0, $f10 -.L802B70D0: -/* 1206E0 802B70D0 00000000 */ nop -/* 1206E4 802B70D4 0480FFFB */ bltz $a0, .L802B70C4 -/* 1206E8 802B70D8 00000000 */ nop -.L802B70DC: -/* 1206EC 802B70DC 44CEF800 */ ctc1 $t6, $31 -/* 1206F0 802B70E0 308FFFFF */ andi $t7, $a0, 0xffff -/* 1206F4 802B70E4 01E02025 */ move $a0, $t7 -/* 1206F8 802B70E8 0C0AE00E */ jal coss -/* 1206FC 802B70EC E7A2002C */ swc1 $f2, 0x2c($sp) -/* 120700 802B70F0 C7AE0034 */ lwc1 $f14, 0x34($sp) -/* 120704 802B70F4 C7B2003C */ lwc1 $f18, 0x3c($sp) -/* 120708 802B70F8 C7B00030 */ lwc1 $f16, 0x30($sp) -/* 12070C 802B70FC C7A2002C */ lwc1 $f2, 0x2c($sp) -/* 120710 802B7100 460E9302 */ mul.s $f12, $f18, $f14 -/* 120714 802B7104 46008287 */ neg.s $f10, $f16 -/* 120718 802B7108 8FA20044 */ lw $v0, 0x44($sp) -/* 12071C 802B710C 46008102 */ mul.s $f4, $f16, $f0 -/* 120720 802B7110 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 120724 802B7114 46026182 */ mul.s $f6, $f12, $f2 -/* 120728 802B7118 46062200 */ add.s $f8, $f4, $f6 -/* 12072C 802B711C 46025102 */ mul.s $f4, $f10, $f2 -/* 120730 802B7120 00000000 */ nop -/* 120734 802B7124 46006182 */ mul.s $f6, $f12, $f0 -/* 120738 802B7128 E6080000 */ swc1 $f8, ($s0) -/* 12073C 802B712C 460EA282 */ mul.s $f10, $f20, $f14 -/* 120740 802B7130 46062200 */ add.s $f8, $f4, $f6 -/* 120744 802B7134 4602A182 */ mul.s $f6, $f20, $f2 -/* 120748 802B7138 E60A0020 */ swc1 $f10, 0x20($s0) -/* 12074C 802B713C 46009287 */ neg.s $f10, $f18 -/* 120750 802B7140 E6080010 */ swc1 $f8, 0x10($s0) -/* 120754 802B7144 4600A202 */ mul.s $f8, $f20, $f0 -/* 120758 802B7148 C4440000 */ lwc1 $f4, ($v0) -/* 12075C 802B714C E60A0024 */ swc1 $f10, 0x24($s0) -/* 120760 802B7150 46109302 */ mul.s $f12, $f18, $f16 -/* 120764 802B7154 E6060004 */ swc1 $f6, 4($s0) -/* 120768 802B7158 E6040030 */ swc1 $f4, 0x30($s0) -/* 12076C 802B715C 46007187 */ neg.s $f6, $f14 -/* 120770 802B7160 E6080014 */ swc1 $f8, 0x14($s0) -/* 120774 802B7164 46003202 */ mul.s $f8, $f6, $f0 -/* 120778 802B7168 C4440004 */ lwc1 $f4, 4($v0) -/* 12077C 802B716C 46026282 */ mul.s $f10, $f12, $f2 -/* 120780 802B7170 E6040034 */ swc1 $f4, 0x34($s0) -/* 120784 802B7174 46027182 */ mul.s $f6, $f14, $f2 -/* 120788 802B7178 460A4100 */ add.s $f4, $f8, $f10 -/* 12078C 802B717C 46006202 */ mul.s $f8, $f12, $f0 -/* 120790 802B7180 44800000 */ mtc1 $zero, $f0 -/* 120794 802B7184 E6040008 */ swc1 $f4, 8($s0) -/* 120798 802B7188 4610A102 */ mul.s $f4, $f20, $f16 -/* 12079C 802B718C 46083280 */ add.s $f10, $f6, $f8 -/* 1207A0 802B7190 44814000 */ mtc1 $at, $f8 -/* 1207A4 802B7194 E6040028 */ swc1 $f4, 0x28($s0) -/* 1207A8 802B7198 E60A0018 */ swc1 $f10, 0x18($s0) -/* 1207AC 802B719C C4460008 */ lwc1 $f6, 8($v0) -/* 1207B0 802B71A0 E600000C */ swc1 $f0, 0xc($s0) -/* 1207B4 802B71A4 E600001C */ swc1 $f0, 0x1c($s0) -/* 1207B8 802B71A8 E600002C */ swc1 $f0, 0x2c($s0) -/* 1207BC 802B71AC E608003C */ swc1 $f8, 0x3c($s0) -/* 1207C0 802B71B0 E6060038 */ swc1 $f6, 0x38($s0) -/* 1207C4 802B71B4 8FBF0024 */ lw $ra, 0x24($sp) -/* 1207C8 802B71B8 8FB10020 */ lw $s1, 0x20($sp) -/* 1207CC 802B71BC 8FB0001C */ lw $s0, 0x1c($sp) -/* 1207D0 802B71C0 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 1207D4 802B71C4 03E00008 */ jr $ra -/* 1207D8 802B71C8 27BD0040 */ addiu $sp, $sp, 0x40 +glabel func_802B6D58 +/* 120368 802B6D58 27BDFFC0 */ addiu $sp, $sp, -0x40 +/* 12036C 802B6D5C AFB0001C */ sw $s0, 0x1c($sp) +/* 120370 802B6D60 00808025 */ move $s0, $a0 +/* 120374 802B6D64 AFBF0024 */ sw $ra, 0x24($sp) +/* 120378 802B6D68 AFB10020 */ sw $s1, 0x20($sp) +/* 12037C 802B6D6C F7B40010 */ sdc1 $f20, 0x10($sp) +/* 120380 802B6D70 AFA50044 */ sw $a1, 0x44($sp) +/* 120384 802B6D74 24040001 */ li $a0, 1 +/* 120388 802B6D78 444EF800 */ cfc1 $t6, $31 +/* 12038C 802B6D7C 44C4F800 */ ctc1 $a0, $31 +/* 120390 802B6D80 C4C40000 */ lwc1 $f4, ($a2) +/* 120394 802B6D84 00C08825 */ move $s1, $a2 +/* 120398 802B6D88 460021A4 */ cvt.w.s $f6, $f4 +/* 12039C 802B6D8C 4444F800 */ cfc1 $a0, $31 +/* 1203A0 802B6D90 00000000 */ nop +/* 1203A4 802B6D94 30840078 */ andi $a0, $a0, 0x78 +/* 1203A8 802B6D98 10800012 */ beqz $a0, .L802B6DE4 +/* 1203AC 802B6D9C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 1203B0 802B6DA0 44813000 */ mtc1 $at, $f6 +/* 1203B4 802B6DA4 24040001 */ li $a0, 1 +/* 1203B8 802B6DA8 46062181 */ sub.s $f6, $f4, $f6 +/* 1203BC 802B6DAC 44C4F800 */ ctc1 $a0, $31 +/* 1203C0 802B6DB0 00000000 */ nop +/* 1203C4 802B6DB4 460031A4 */ cvt.w.s $f6, $f6 +/* 1203C8 802B6DB8 4444F800 */ cfc1 $a0, $31 +/* 1203CC 802B6DBC 00000000 */ nop +/* 1203D0 802B6DC0 30840078 */ andi $a0, $a0, 0x78 +/* 1203D4 802B6DC4 14800005 */ bnez $a0, .L802B6DDC +/* 1203D8 802B6DC8 00000000 */ nop +/* 1203DC 802B6DCC 44043000 */ mfc1 $a0, $f6 +/* 1203E0 802B6DD0 3C018000 */ lui $at, 0x8000 +/* 1203E4 802B6DD4 10000007 */ b .L802B6DF4 +/* 1203E8 802B6DD8 00812025 */ or $a0, $a0, $at +.L802B6DDC: +/* 1203EC 802B6DDC 10000005 */ b .L802B6DF4 +/* 1203F0 802B6DE0 2404FFFF */ li $a0, -1 +.L802B6DE4: +/* 1203F4 802B6DE4 44043000 */ mfc1 $a0, $f6 +/* 1203F8 802B6DE8 00000000 */ nop +/* 1203FC 802B6DEC 0480FFFB */ bltz $a0, .L802B6DDC +/* 120400 802B6DF0 00000000 */ nop +.L802B6DF4: +/* 120404 802B6DF4 44CEF800 */ ctc1 $t6, $31 +/* 120408 802B6DF8 308FFFFF */ andi $t7, $a0, 0xffff +/* 12040C 802B6DFC 0C0AE006 */ jal sins +/* 120410 802B6E00 01E02025 */ move $a0, $t7 +/* 120414 802B6E04 E7A0003C */ swc1 $f0, 0x3c($sp) +/* 120418 802B6E08 4458F800 */ cfc1 $t8, $31 +/* 12041C 802B6E0C 24040001 */ li $a0, 1 +/* 120420 802B6E10 44C4F800 */ ctc1 $a0, $31 +/* 120424 802B6E14 C6280000 */ lwc1 $f8, ($s1) +/* 120428 802B6E18 460042A4 */ cvt.w.s $f10, $f8 +/* 12042C 802B6E1C 4444F800 */ cfc1 $a0, $31 +/* 120430 802B6E20 00000000 */ nop +/* 120434 802B6E24 30840078 */ andi $a0, $a0, 0x78 +/* 120438 802B6E28 10800012 */ beqz $a0, .L802B6E74 +/* 12043C 802B6E2C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 120440 802B6E30 44815000 */ mtc1 $at, $f10 +/* 120444 802B6E34 24040001 */ li $a0, 1 +/* 120448 802B6E38 460A4281 */ sub.s $f10, $f8, $f10 +/* 12044C 802B6E3C 44C4F800 */ ctc1 $a0, $31 +/* 120450 802B6E40 00000000 */ nop +/* 120454 802B6E44 460052A4 */ cvt.w.s $f10, $f10 +/* 120458 802B6E48 4444F800 */ cfc1 $a0, $31 +/* 12045C 802B6E4C 00000000 */ nop +/* 120460 802B6E50 30840078 */ andi $a0, $a0, 0x78 +/* 120464 802B6E54 14800005 */ bnez $a0, .L802B6E6C +/* 120468 802B6E58 00000000 */ nop +/* 12046C 802B6E5C 44045000 */ mfc1 $a0, $f10 +/* 120470 802B6E60 3C018000 */ lui $at, 0x8000 +/* 120474 802B6E64 10000007 */ b .L802B6E84 +/* 120478 802B6E68 00812025 */ or $a0, $a0, $at +.L802B6E6C: +/* 12047C 802B6E6C 10000005 */ b .L802B6E84 +/* 120480 802B6E70 2404FFFF */ li $a0, -1 +.L802B6E74: +/* 120484 802B6E74 44045000 */ mfc1 $a0, $f10 +/* 120488 802B6E78 00000000 */ nop +/* 12048C 802B6E7C 0480FFFB */ bltz $a0, .L802B6E6C +/* 120490 802B6E80 00000000 */ nop +.L802B6E84: +/* 120494 802B6E84 44D8F800 */ ctc1 $t8, $31 +/* 120498 802B6E88 3099FFFF */ andi $t9, $a0, 0xffff +/* 12049C 802B6E8C 0C0AE00E */ jal coss +/* 1204A0 802B6E90 03202025 */ move $a0, $t9 +/* 1204A4 802B6E94 46000506 */ mov.s $f20, $f0 +/* 1204A8 802B6E98 4448F800 */ cfc1 $t0, $31 +/* 1204AC 802B6E9C 24040001 */ li $a0, 1 +/* 1204B0 802B6EA0 44C4F800 */ ctc1 $a0, $31 +/* 1204B4 802B6EA4 C6240004 */ lwc1 $f4, 4($s1) +/* 1204B8 802B6EA8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 1204BC 802B6EAC 460021A4 */ cvt.w.s $f6, $f4 +/* 1204C0 802B6EB0 4444F800 */ cfc1 $a0, $31 +/* 1204C4 802B6EB4 00000000 */ nop +/* 1204C8 802B6EB8 30840078 */ andi $a0, $a0, 0x78 +/* 1204CC 802B6EBC 50800013 */ beql $a0, $zero, .L802B6F0C +/* 1204D0 802B6EC0 44043000 */ mfc1 $a0, $f6 +/* 1204D4 802B6EC4 44813000 */ mtc1 $at, $f6 +/* 1204D8 802B6EC8 24040001 */ li $a0, 1 +/* 1204DC 802B6ECC 46062181 */ sub.s $f6, $f4, $f6 +/* 1204E0 802B6ED0 44C4F800 */ ctc1 $a0, $31 +/* 1204E4 802B6ED4 00000000 */ nop +/* 1204E8 802B6ED8 460031A4 */ cvt.w.s $f6, $f6 +/* 1204EC 802B6EDC 4444F800 */ cfc1 $a0, $31 +/* 1204F0 802B6EE0 00000000 */ nop +/* 1204F4 802B6EE4 30840078 */ andi $a0, $a0, 0x78 +/* 1204F8 802B6EE8 14800005 */ bnez $a0, .L802B6F00 +/* 1204FC 802B6EEC 00000000 */ nop +/* 120500 802B6EF0 44043000 */ mfc1 $a0, $f6 +/* 120504 802B6EF4 3C018000 */ lui $at, 0x8000 +/* 120508 802B6EF8 10000007 */ b .L802B6F18 +/* 12050C 802B6EFC 00812025 */ or $a0, $a0, $at +.L802B6F00: +/* 120510 802B6F00 10000005 */ b .L802B6F18 +/* 120514 802B6F04 2404FFFF */ li $a0, -1 +/* 120518 802B6F08 44043000 */ mfc1 $a0, $f6 +.L802B6F0C: +/* 12051C 802B6F0C 00000000 */ nop +/* 120520 802B6F10 0480FFFB */ bltz $a0, .L802B6F00 +/* 120524 802B6F14 00000000 */ nop +.L802B6F18: +/* 120528 802B6F18 44C8F800 */ ctc1 $t0, $31 +/* 12052C 802B6F1C 3089FFFF */ andi $t1, $a0, 0xffff +/* 120530 802B6F20 0C0AE006 */ jal sins +/* 120534 802B6F24 01202025 */ move $a0, $t1 +/* 120538 802B6F28 46000386 */ mov.s $f14, $f0 +/* 12053C 802B6F2C 444AF800 */ cfc1 $t2, $31 +/* 120540 802B6F30 24040001 */ li $a0, 1 +/* 120544 802B6F34 44C4F800 */ ctc1 $a0, $31 +/* 120548 802B6F38 C6280004 */ lwc1 $f8, 4($s1) +/* 12054C 802B6F3C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 120550 802B6F40 460042A4 */ cvt.w.s $f10, $f8 +/* 120554 802B6F44 4444F800 */ cfc1 $a0, $31 +/* 120558 802B6F48 00000000 */ nop +/* 12055C 802B6F4C 30840078 */ andi $a0, $a0, 0x78 +/* 120560 802B6F50 50800013 */ beql $a0, $zero, .L802B6FA0 +/* 120564 802B6F54 44045000 */ mfc1 $a0, $f10 +/* 120568 802B6F58 44815000 */ mtc1 $at, $f10 +/* 12056C 802B6F5C 24040001 */ li $a0, 1 +/* 120570 802B6F60 460A4281 */ sub.s $f10, $f8, $f10 +/* 120574 802B6F64 44C4F800 */ ctc1 $a0, $31 +/* 120578 802B6F68 00000000 */ nop +/* 12057C 802B6F6C 460052A4 */ cvt.w.s $f10, $f10 +/* 120580 802B6F70 4444F800 */ cfc1 $a0, $31 +/* 120584 802B6F74 00000000 */ nop +/* 120588 802B6F78 30840078 */ andi $a0, $a0, 0x78 +/* 12058C 802B6F7C 14800005 */ bnez $a0, .L802B6F94 +/* 120590 802B6F80 00000000 */ nop +/* 120594 802B6F84 44045000 */ mfc1 $a0, $f10 +/* 120598 802B6F88 3C018000 */ lui $at, 0x8000 +/* 12059C 802B6F8C 10000007 */ b .L802B6FAC +/* 1205A0 802B6F90 00812025 */ or $a0, $a0, $at +.L802B6F94: +/* 1205A4 802B6F94 10000005 */ b .L802B6FAC +/* 1205A8 802B6F98 2404FFFF */ li $a0, -1 +/* 1205AC 802B6F9C 44045000 */ mfc1 $a0, $f10 +.L802B6FA0: +/* 1205B0 802B6FA0 00000000 */ nop +/* 1205B4 802B6FA4 0480FFFB */ bltz $a0, .L802B6F94 +/* 1205B8 802B6FA8 00000000 */ nop +.L802B6FAC: +/* 1205BC 802B6FAC 44CAF800 */ ctc1 $t2, $31 +/* 1205C0 802B6FB0 308BFFFF */ andi $t3, $a0, 0xffff +/* 1205C4 802B6FB4 01602025 */ move $a0, $t3 +/* 1205C8 802B6FB8 0C0AE00E */ jal coss +/* 1205CC 802B6FBC E7AE0034 */ swc1 $f14, 0x34($sp) +/* 1205D0 802B6FC0 46000406 */ mov.s $f16, $f0 +/* 1205D4 802B6FC4 444CF800 */ cfc1 $t4, $31 +/* 1205D8 802B6FC8 24040001 */ li $a0, 1 +/* 1205DC 802B6FCC 44C4F800 */ ctc1 $a0, $31 +/* 1205E0 802B6FD0 C6240008 */ lwc1 $f4, 8($s1) +/* 1205E4 802B6FD4 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 1205E8 802B6FD8 460021A4 */ cvt.w.s $f6, $f4 +/* 1205EC 802B6FDC 4444F800 */ cfc1 $a0, $31 +/* 1205F0 802B6FE0 00000000 */ nop +/* 1205F4 802B6FE4 30840078 */ andi $a0, $a0, 0x78 +/* 1205F8 802B6FE8 50800013 */ beql $a0, $zero, .L802B7038 +/* 1205FC 802B6FEC 44043000 */ mfc1 $a0, $f6 +/* 120600 802B6FF0 44813000 */ mtc1 $at, $f6 +/* 120604 802B6FF4 24040001 */ li $a0, 1 +/* 120608 802B6FF8 46062181 */ sub.s $f6, $f4, $f6 +/* 12060C 802B6FFC 44C4F800 */ ctc1 $a0, $31 +/* 120610 802B7000 00000000 */ nop +/* 120614 802B7004 460031A4 */ cvt.w.s $f6, $f6 +/* 120618 802B7008 4444F800 */ cfc1 $a0, $31 +/* 12061C 802B700C 00000000 */ nop +/* 120620 802B7010 30840078 */ andi $a0, $a0, 0x78 +/* 120624 802B7014 14800005 */ bnez $a0, .L802B702C +/* 120628 802B7018 00000000 */ nop +/* 12062C 802B701C 44043000 */ mfc1 $a0, $f6 +/* 120630 802B7020 3C018000 */ lui $at, 0x8000 +/* 120634 802B7024 10000007 */ b .L802B7044 +/* 120638 802B7028 00812025 */ or $a0, $a0, $at +.L802B702C: +/* 12063C 802B702C 10000005 */ b .L802B7044 +/* 120640 802B7030 2404FFFF */ li $a0, -1 +/* 120644 802B7034 44043000 */ mfc1 $a0, $f6 +.L802B7038: +/* 120648 802B7038 00000000 */ nop +/* 12064C 802B703C 0480FFFB */ bltz $a0, .L802B702C +/* 120650 802B7040 00000000 */ nop +.L802B7044: +/* 120654 802B7044 44CCF800 */ ctc1 $t4, $31 +/* 120658 802B7048 308DFFFF */ andi $t5, $a0, 0xffff +/* 12065C 802B704C 01A02025 */ move $a0, $t5 +/* 120660 802B7050 0C0AE006 */ jal sins +/* 120664 802B7054 E7B00030 */ swc1 $f16, 0x30($sp) +/* 120668 802B7058 46000086 */ mov.s $f2, $f0 +/* 12066C 802B705C 444EF800 */ cfc1 $t6, $31 +/* 120670 802B7060 24040001 */ li $a0, 1 +/* 120674 802B7064 44C4F800 */ ctc1 $a0, $31 +/* 120678 802B7068 C6280008 */ lwc1 $f8, 8($s1) +/* 12067C 802B706C 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 120680 802B7070 460042A4 */ cvt.w.s $f10, $f8 +/* 120684 802B7074 4444F800 */ cfc1 $a0, $31 +/* 120688 802B7078 00000000 */ nop +/* 12068C 802B707C 30840078 */ andi $a0, $a0, 0x78 +/* 120690 802B7080 50800013 */ beql $a0, $zero, .L802B70D0 +/* 120694 802B7084 44045000 */ mfc1 $a0, $f10 +/* 120698 802B7088 44815000 */ mtc1 $at, $f10 +/* 12069C 802B708C 24040001 */ li $a0, 1 +/* 1206A0 802B7090 460A4281 */ sub.s $f10, $f8, $f10 +/* 1206A4 802B7094 44C4F800 */ ctc1 $a0, $31 +/* 1206A8 802B7098 00000000 */ nop +/* 1206AC 802B709C 460052A4 */ cvt.w.s $f10, $f10 +/* 1206B0 802B70A0 4444F800 */ cfc1 $a0, $31 +/* 1206B4 802B70A4 00000000 */ nop +/* 1206B8 802B70A8 30840078 */ andi $a0, $a0, 0x78 +/* 1206BC 802B70AC 14800005 */ bnez $a0, .L802B70C4 +/* 1206C0 802B70B0 00000000 */ nop +/* 1206C4 802B70B4 44045000 */ mfc1 $a0, $f10 +/* 1206C8 802B70B8 3C018000 */ lui $at, 0x8000 +/* 1206CC 802B70BC 10000007 */ b .L802B70DC +/* 1206D0 802B70C0 00812025 */ or $a0, $a0, $at +.L802B70C4: +/* 1206D4 802B70C4 10000005 */ b .L802B70DC +/* 1206D8 802B70C8 2404FFFF */ li $a0, -1 +/* 1206DC 802B70CC 44045000 */ mfc1 $a0, $f10 +.L802B70D0: +/* 1206E0 802B70D0 00000000 */ nop +/* 1206E4 802B70D4 0480FFFB */ bltz $a0, .L802B70C4 +/* 1206E8 802B70D8 00000000 */ nop +.L802B70DC: +/* 1206EC 802B70DC 44CEF800 */ ctc1 $t6, $31 +/* 1206F0 802B70E0 308FFFFF */ andi $t7, $a0, 0xffff +/* 1206F4 802B70E4 01E02025 */ move $a0, $t7 +/* 1206F8 802B70E8 0C0AE00E */ jal coss +/* 1206FC 802B70EC E7A2002C */ swc1 $f2, 0x2c($sp) +/* 120700 802B70F0 C7AE0034 */ lwc1 $f14, 0x34($sp) +/* 120704 802B70F4 C7B2003C */ lwc1 $f18, 0x3c($sp) +/* 120708 802B70F8 C7B00030 */ lwc1 $f16, 0x30($sp) +/* 12070C 802B70FC C7A2002C */ lwc1 $f2, 0x2c($sp) +/* 120710 802B7100 460E9302 */ mul.s $f12, $f18, $f14 +/* 120714 802B7104 46008287 */ neg.s $f10, $f16 +/* 120718 802B7108 8FA20044 */ lw $v0, 0x44($sp) +/* 12071C 802B710C 46008102 */ mul.s $f4, $f16, $f0 +/* 120720 802B7110 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 120724 802B7114 46026182 */ mul.s $f6, $f12, $f2 +/* 120728 802B7118 46062200 */ add.s $f8, $f4, $f6 +/* 12072C 802B711C 46025102 */ mul.s $f4, $f10, $f2 +/* 120730 802B7120 00000000 */ nop +/* 120734 802B7124 46006182 */ mul.s $f6, $f12, $f0 +/* 120738 802B7128 E6080000 */ swc1 $f8, ($s0) +/* 12073C 802B712C 460EA282 */ mul.s $f10, $f20, $f14 +/* 120740 802B7130 46062200 */ add.s $f8, $f4, $f6 +/* 120744 802B7134 4602A182 */ mul.s $f6, $f20, $f2 +/* 120748 802B7138 E60A0020 */ swc1 $f10, 0x20($s0) +/* 12074C 802B713C 46009287 */ neg.s $f10, $f18 +/* 120750 802B7140 E6080010 */ swc1 $f8, 0x10($s0) +/* 120754 802B7144 4600A202 */ mul.s $f8, $f20, $f0 +/* 120758 802B7148 C4440000 */ lwc1 $f4, ($v0) +/* 12075C 802B714C E60A0024 */ swc1 $f10, 0x24($s0) +/* 120760 802B7150 46109302 */ mul.s $f12, $f18, $f16 +/* 120764 802B7154 E6060004 */ swc1 $f6, 4($s0) +/* 120768 802B7158 E6040030 */ swc1 $f4, 0x30($s0) +/* 12076C 802B715C 46007187 */ neg.s $f6, $f14 +/* 120770 802B7160 E6080014 */ swc1 $f8, 0x14($s0) +/* 120774 802B7164 46003202 */ mul.s $f8, $f6, $f0 +/* 120778 802B7168 C4440004 */ lwc1 $f4, 4($v0) +/* 12077C 802B716C 46026282 */ mul.s $f10, $f12, $f2 +/* 120780 802B7170 E6040034 */ swc1 $f4, 0x34($s0) +/* 120784 802B7174 46027182 */ mul.s $f6, $f14, $f2 +/* 120788 802B7178 460A4100 */ add.s $f4, $f8, $f10 +/* 12078C 802B717C 46006202 */ mul.s $f8, $f12, $f0 +/* 120790 802B7180 44800000 */ mtc1 $zero, $f0 +/* 120794 802B7184 E6040008 */ swc1 $f4, 8($s0) +/* 120798 802B7188 4610A102 */ mul.s $f4, $f20, $f16 +/* 12079C 802B718C 46083280 */ add.s $f10, $f6, $f8 +/* 1207A0 802B7190 44814000 */ mtc1 $at, $f8 +/* 1207A4 802B7194 E6040028 */ swc1 $f4, 0x28($s0) +/* 1207A8 802B7198 E60A0018 */ swc1 $f10, 0x18($s0) +/* 1207AC 802B719C C4460008 */ lwc1 $f6, 8($v0) +/* 1207B0 802B71A0 E600000C */ swc1 $f0, 0xc($s0) +/* 1207B4 802B71A4 E600001C */ swc1 $f0, 0x1c($s0) +/* 1207B8 802B71A8 E600002C */ swc1 $f0, 0x2c($s0) +/* 1207BC 802B71AC E608003C */ swc1 $f8, 0x3c($s0) +/* 1207C0 802B71B0 E6060038 */ swc1 $f6, 0x38($s0) +/* 1207C4 802B71B4 8FBF0024 */ lw $ra, 0x24($sp) +/* 1207C8 802B71B8 8FB10020 */ lw $s1, 0x20($sp) +/* 1207CC 802B71BC 8FB0001C */ lw $s0, 0x1c($sp) +/* 1207D0 802B71C0 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 1207D4 802B71C4 03E00008 */ jr $ra +/* 1207D8 802B71C8 27BD0040 */ addiu $sp, $sp, 0x40 diff --git a/asm/non_matchings/math_util/func_802B75F8.s b/asm/non_matchings/math_util/func_802B75F8.s index 23100371b..c6c3ff39d 100644 --- a/asm/non_matchings/math_util/func_802B75F8.s +++ b/asm/non_matchings/math_util/func_802B75F8.s @@ -1,105 +1,105 @@ -glabel func_802B75F8 -/* 120C08 802B75F8 3C014780 */ li $at, 0x47800000 # 65536.000000 -/* 120C0C 802B75FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 120C10 802B7600 00801025 */ move $v0, $a0 -/* 120C14 802B7604 24830020 */ addiu $v1, $a0, 0x20 -/* 120C18 802B7608 00A03025 */ move $a2, $a1 -/* 120C1C 802B760C 44810000 */ mtc1 $at, $f0 -/* 120C20 802B7610 24050010 */ li $a1, 16 -/* 120C24 802B7614 27A40014 */ addiu $a0, $sp, 0x14 -/* 120C28 802B7618 00003825 */ move $a3, $zero -/* 120C2C 802B761C C4D00000 */ lwc1 $f16, ($a2) -/* 120C30 802B7620 24E70004 */ addiu $a3, $a3, 4 -/* 120C34 802B7624 46008482 */ mul.s $f18, $f16, $f0 -/* 120C38 802B7628 50E5002F */ beql $a3, $a1, .L802B76E8 -/* 120C3C 802B762C 4600940D */ trunc.w.s $f16, $f18 -/* 120C40 802B7630 4600940D */ trunc.w.s $f16, $f18 -.L802B7634: -/* 120C44 802B7634 24E70004 */ addiu $a3, $a3, 4 -/* 120C48 802B7638 24C60010 */ addiu $a2, $a2, 0x10 -/* 120C4C 802B763C 24420008 */ addiu $v0, $v0, 8 -/* 120C50 802B7640 440F8000 */ mfc1 $t7, $f16 -/* 120C54 802B7644 24630008 */ addiu $v1, $v1, 8 -/* 120C58 802B7648 AFAF0014 */ sw $t7, 0x14($sp) -/* 120C5C 802B764C 84980000 */ lh $t8, ($a0) -/* 120C60 802B7650 A458FFF8 */ sh $t8, -8($v0) -/* 120C64 802B7654 84990002 */ lh $t9, 2($a0) -/* 120C68 802B7658 A479FFF8 */ sh $t9, -8($v1) -/* 120C6C 802B765C C4D0FFF4 */ lwc1 $f16, -0xc($a2) -/* 120C70 802B7660 46008402 */ mul.s $f16, $f16, $f0 -/* 120C74 802B7664 4600840D */ trunc.w.s $f16, $f16 -/* 120C78 802B7668 44098000 */ mfc1 $t1, $f16 -/* 120C7C 802B766C 00000000 */ nop -/* 120C80 802B7670 AFA90014 */ sw $t1, 0x14($sp) -/* 120C84 802B7674 848A0000 */ lh $t2, ($a0) -/* 120C88 802B7678 A44AFFFA */ sh $t2, -6($v0) -/* 120C8C 802B767C 848B0002 */ lh $t3, 2($a0) -/* 120C90 802B7680 A46BFFFA */ sh $t3, -6($v1) -/* 120C94 802B7684 C4D0FFF8 */ lwc1 $f16, -8($a2) -/* 120C98 802B7688 46008402 */ mul.s $f16, $f16, $f0 -/* 120C9C 802B768C 4600840D */ trunc.w.s $f16, $f16 -/* 120CA0 802B7690 440D8000 */ mfc1 $t5, $f16 -/* 120CA4 802B7694 00000000 */ nop -/* 120CA8 802B7698 AFAD0014 */ sw $t5, 0x14($sp) -/* 120CAC 802B769C 848E0000 */ lh $t6, ($a0) -/* 120CB0 802B76A0 A44EFFFC */ sh $t6, -4($v0) -/* 120CB4 802B76A4 848F0002 */ lh $t7, 2($a0) -/* 120CB8 802B76A8 A46FFFFC */ sh $t7, -4($v1) -/* 120CBC 802B76AC C4D0FFFC */ lwc1 $f16, -4($a2) -/* 120CC0 802B76B0 46008402 */ mul.s $f16, $f16, $f0 -/* 120CC4 802B76B4 4600840D */ trunc.w.s $f16, $f16 -/* 120CC8 802B76B8 44198000 */ mfc1 $t9, $f16 -/* 120CCC 802B76BC 00000000 */ nop -/* 120CD0 802B76C0 AFB90014 */ sw $t9, 0x14($sp) -/* 120CD4 802B76C4 84880000 */ lh $t0, ($a0) -/* 120CD8 802B76C8 A448FFFE */ sh $t0, -2($v0) -/* 120CDC 802B76CC 84890002 */ lh $t1, 2($a0) -/* 120CE0 802B76D0 A469FFFE */ sh $t1, -2($v1) -/* 120CE4 802B76D4 C4D00000 */ lwc1 $f16, ($a2) -/* 120CE8 802B76D8 46008482 */ mul.s $f18, $f16, $f0 -/* 120CEC 802B76DC 54E5FFD5 */ bnel $a3, $a1, .L802B7634 -/* 120CF0 802B76E0 4600940D */ trunc.w.s $f16, $f18 -/* 120CF4 802B76E4 4600940D */ trunc.w.s $f16, $f18 -.L802B76E8: -/* 120CF8 802B76E8 24C60010 */ addiu $a2, $a2, 0x10 -/* 120CFC 802B76EC 24420008 */ addiu $v0, $v0, 8 -/* 120D00 802B76F0 24630008 */ addiu $v1, $v1, 8 -/* 120D04 802B76F4 440F8000 */ mfc1 $t7, $f16 -/* 120D08 802B76F8 00000000 */ nop -/* 120D0C 802B76FC AFAF0014 */ sw $t7, 0x14($sp) -/* 120D10 802B7700 84980000 */ lh $t8, ($a0) -/* 120D14 802B7704 A458FFF8 */ sh $t8, -8($v0) -/* 120D18 802B7708 84990002 */ lh $t9, 2($a0) -/* 120D1C 802B770C A479FFF8 */ sh $t9, -8($v1) -/* 120D20 802B7710 C4D0FFF4 */ lwc1 $f16, -0xc($a2) -/* 120D24 802B7714 46008402 */ mul.s $f16, $f16, $f0 -/* 120D28 802B7718 4600840D */ trunc.w.s $f16, $f16 -/* 120D2C 802B771C 44098000 */ mfc1 $t1, $f16 -/* 120D30 802B7720 00000000 */ nop -/* 120D34 802B7724 AFA90014 */ sw $t1, 0x14($sp) -/* 120D38 802B7728 848A0000 */ lh $t2, ($a0) -/* 120D3C 802B772C A44AFFFA */ sh $t2, -6($v0) -/* 120D40 802B7730 848B0002 */ lh $t3, 2($a0) -/* 120D44 802B7734 A46BFFFA */ sh $t3, -6($v1) -/* 120D48 802B7738 C4D0FFF8 */ lwc1 $f16, -8($a2) -/* 120D4C 802B773C 46008402 */ mul.s $f16, $f16, $f0 -/* 120D50 802B7740 4600840D */ trunc.w.s $f16, $f16 -/* 120D54 802B7744 440D8000 */ mfc1 $t5, $f16 -/* 120D58 802B7748 00000000 */ nop -/* 120D5C 802B774C AFAD0014 */ sw $t5, 0x14($sp) -/* 120D60 802B7750 848E0000 */ lh $t6, ($a0) -/* 120D64 802B7754 A44EFFFC */ sh $t6, -4($v0) -/* 120D68 802B7758 848F0002 */ lh $t7, 2($a0) -/* 120D6C 802B775C A46FFFFC */ sh $t7, -4($v1) -/* 120D70 802B7760 C4D0FFFC */ lwc1 $f16, -4($a2) -/* 120D74 802B7764 46008402 */ mul.s $f16, $f16, $f0 -/* 120D78 802B7768 4600840D */ trunc.w.s $f16, $f16 -/* 120D7C 802B776C 44198000 */ mfc1 $t9, $f16 -/* 120D80 802B7770 00000000 */ nop -/* 120D84 802B7774 AFB90014 */ sw $t9, 0x14($sp) -/* 120D88 802B7778 84880000 */ lh $t0, ($a0) -/* 120D8C 802B777C A448FFFE */ sh $t0, -2($v0) -/* 120D90 802B7780 84890002 */ lh $t1, 2($a0) -/* 120D94 802B7784 A469FFFE */ sh $t1, -2($v1) -/* 120D98 802B7788 03E00008 */ jr $ra -/* 120D9C 802B778C 27BD0018 */ addiu $sp, $sp, 0x18 +glabel func_802B75F8 +/* 120C08 802B75F8 3C014780 */ li $at, 0x47800000 # 65536.000000 +/* 120C0C 802B75FC 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 120C10 802B7600 00801025 */ move $v0, $a0 +/* 120C14 802B7604 24830020 */ addiu $v1, $a0, 0x20 +/* 120C18 802B7608 00A03025 */ move $a2, $a1 +/* 120C1C 802B760C 44810000 */ mtc1 $at, $f0 +/* 120C20 802B7610 24050010 */ li $a1, 16 +/* 120C24 802B7614 27A40014 */ addiu $a0, $sp, 0x14 +/* 120C28 802B7618 00003825 */ move $a3, $zero +/* 120C2C 802B761C C4D00000 */ lwc1 $f16, ($a2) +/* 120C30 802B7620 24E70004 */ addiu $a3, $a3, 4 +/* 120C34 802B7624 46008482 */ mul.s $f18, $f16, $f0 +/* 120C38 802B7628 50E5002F */ beql $a3, $a1, .L802B76E8 +/* 120C3C 802B762C 4600940D */ trunc.w.s $f16, $f18 +/* 120C40 802B7630 4600940D */ trunc.w.s $f16, $f18 +.L802B7634: +/* 120C44 802B7634 24E70004 */ addiu $a3, $a3, 4 +/* 120C48 802B7638 24C60010 */ addiu $a2, $a2, 0x10 +/* 120C4C 802B763C 24420008 */ addiu $v0, $v0, 8 +/* 120C50 802B7640 440F8000 */ mfc1 $t7, $f16 +/* 120C54 802B7644 24630008 */ addiu $v1, $v1, 8 +/* 120C58 802B7648 AFAF0014 */ sw $t7, 0x14($sp) +/* 120C5C 802B764C 84980000 */ lh $t8, ($a0) +/* 120C60 802B7650 A458FFF8 */ sh $t8, -8($v0) +/* 120C64 802B7654 84990002 */ lh $t9, 2($a0) +/* 120C68 802B7658 A479FFF8 */ sh $t9, -8($v1) +/* 120C6C 802B765C C4D0FFF4 */ lwc1 $f16, -0xc($a2) +/* 120C70 802B7660 46008402 */ mul.s $f16, $f16, $f0 +/* 120C74 802B7664 4600840D */ trunc.w.s $f16, $f16 +/* 120C78 802B7668 44098000 */ mfc1 $t1, $f16 +/* 120C7C 802B766C 00000000 */ nop +/* 120C80 802B7670 AFA90014 */ sw $t1, 0x14($sp) +/* 120C84 802B7674 848A0000 */ lh $t2, ($a0) +/* 120C88 802B7678 A44AFFFA */ sh $t2, -6($v0) +/* 120C8C 802B767C 848B0002 */ lh $t3, 2($a0) +/* 120C90 802B7680 A46BFFFA */ sh $t3, -6($v1) +/* 120C94 802B7684 C4D0FFF8 */ lwc1 $f16, -8($a2) +/* 120C98 802B7688 46008402 */ mul.s $f16, $f16, $f0 +/* 120C9C 802B768C 4600840D */ trunc.w.s $f16, $f16 +/* 120CA0 802B7690 440D8000 */ mfc1 $t5, $f16 +/* 120CA4 802B7694 00000000 */ nop +/* 120CA8 802B7698 AFAD0014 */ sw $t5, 0x14($sp) +/* 120CAC 802B769C 848E0000 */ lh $t6, ($a0) +/* 120CB0 802B76A0 A44EFFFC */ sh $t6, -4($v0) +/* 120CB4 802B76A4 848F0002 */ lh $t7, 2($a0) +/* 120CB8 802B76A8 A46FFFFC */ sh $t7, -4($v1) +/* 120CBC 802B76AC C4D0FFFC */ lwc1 $f16, -4($a2) +/* 120CC0 802B76B0 46008402 */ mul.s $f16, $f16, $f0 +/* 120CC4 802B76B4 4600840D */ trunc.w.s $f16, $f16 +/* 120CC8 802B76B8 44198000 */ mfc1 $t9, $f16 +/* 120CCC 802B76BC 00000000 */ nop +/* 120CD0 802B76C0 AFB90014 */ sw $t9, 0x14($sp) +/* 120CD4 802B76C4 84880000 */ lh $t0, ($a0) +/* 120CD8 802B76C8 A448FFFE */ sh $t0, -2($v0) +/* 120CDC 802B76CC 84890002 */ lh $t1, 2($a0) +/* 120CE0 802B76D0 A469FFFE */ sh $t1, -2($v1) +/* 120CE4 802B76D4 C4D00000 */ lwc1 $f16, ($a2) +/* 120CE8 802B76D8 46008482 */ mul.s $f18, $f16, $f0 +/* 120CEC 802B76DC 54E5FFD5 */ bnel $a3, $a1, .L802B7634 +/* 120CF0 802B76E0 4600940D */ trunc.w.s $f16, $f18 +/* 120CF4 802B76E4 4600940D */ trunc.w.s $f16, $f18 +.L802B76E8: +/* 120CF8 802B76E8 24C60010 */ addiu $a2, $a2, 0x10 +/* 120CFC 802B76EC 24420008 */ addiu $v0, $v0, 8 +/* 120D00 802B76F0 24630008 */ addiu $v1, $v1, 8 +/* 120D04 802B76F4 440F8000 */ mfc1 $t7, $f16 +/* 120D08 802B76F8 00000000 */ nop +/* 120D0C 802B76FC AFAF0014 */ sw $t7, 0x14($sp) +/* 120D10 802B7700 84980000 */ lh $t8, ($a0) +/* 120D14 802B7704 A458FFF8 */ sh $t8, -8($v0) +/* 120D18 802B7708 84990002 */ lh $t9, 2($a0) +/* 120D1C 802B770C A479FFF8 */ sh $t9, -8($v1) +/* 120D20 802B7710 C4D0FFF4 */ lwc1 $f16, -0xc($a2) +/* 120D24 802B7714 46008402 */ mul.s $f16, $f16, $f0 +/* 120D28 802B7718 4600840D */ trunc.w.s $f16, $f16 +/* 120D2C 802B771C 44098000 */ mfc1 $t1, $f16 +/* 120D30 802B7720 00000000 */ nop +/* 120D34 802B7724 AFA90014 */ sw $t1, 0x14($sp) +/* 120D38 802B7728 848A0000 */ lh $t2, ($a0) +/* 120D3C 802B772C A44AFFFA */ sh $t2, -6($v0) +/* 120D40 802B7730 848B0002 */ lh $t3, 2($a0) +/* 120D44 802B7734 A46BFFFA */ sh $t3, -6($v1) +/* 120D48 802B7738 C4D0FFF8 */ lwc1 $f16, -8($a2) +/* 120D4C 802B773C 46008402 */ mul.s $f16, $f16, $f0 +/* 120D50 802B7740 4600840D */ trunc.w.s $f16, $f16 +/* 120D54 802B7744 440D8000 */ mfc1 $t5, $f16 +/* 120D58 802B7748 00000000 */ nop +/* 120D5C 802B774C AFAD0014 */ sw $t5, 0x14($sp) +/* 120D60 802B7750 848E0000 */ lh $t6, ($a0) +/* 120D64 802B7754 A44EFFFC */ sh $t6, -4($v0) +/* 120D68 802B7758 848F0002 */ lh $t7, 2($a0) +/* 120D6C 802B775C A46FFFFC */ sh $t7, -4($v1) +/* 120D70 802B7760 C4D0FFFC */ lwc1 $f16, -4($a2) +/* 120D74 802B7764 46008402 */ mul.s $f16, $f16, $f0 +/* 120D78 802B7768 4600840D */ trunc.w.s $f16, $f16 +/* 120D7C 802B776C 44198000 */ mfc1 $t9, $f16 +/* 120D80 802B7770 00000000 */ nop +/* 120D84 802B7774 AFB90014 */ sw $t9, 0x14($sp) +/* 120D88 802B7778 84880000 */ lh $t0, ($a0) +/* 120D8C 802B777C A448FFFE */ sh $t0, -2($v0) +/* 120D90 802B7780 84890002 */ lh $t1, 2($a0) +/* 120D94 802B7784 A469FFFE */ sh $t1, -2($v1) +/* 120D98 802B7788 03E00008 */ jr $ra +/* 120D9C 802B778C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/math_util/func_802B7790.s b/asm/non_matchings/math_util/func_802B7790.s deleted file mode 100644 index 3236f0314..000000000 --- a/asm/non_matchings/math_util/func_802B7790.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel func_802B7790 -/* 120DA0 802B7790 44802000 */ mtc1 $zero, $f4 -/* 120DA4 802B7794 3C03802C */ lui $v1, %hi(gArctanTable) # 0x802c -/* 120DA8 802B7798 46047032 */ c.eq.s $f14, $f4 -/* 120DAC 802B779C 00000000 */ nop -/* 120DB0 802B77A0 45020004 */ bc1fl .L802B77B4 -/* 120DB4 802B77A4 460E6003 */ div.s $f0, $f12, $f14 -/* 120DB8 802B77A8 03E00008 */ jr $ra -/* 120DBC 802B77AC 9462F370 */ lhu $v0, %lo(gArctanTable)($v1) # -0xc90 - -/* 120DC0 802B77B0 460E6003 */ div.s $f0, $f12, $f14 -.L802B77B4: -/* 120DC4 802B77B4 3C01802C */ lui $at, %hi(D_802B9FD8) # $at, 0x802c -/* 120DC8 802B77B8 C4269FD8 */ lwc1 $f6, %lo(D_802B9FD8)($at) -/* 120DCC 802B77BC 3C014480 */ li $at, 0x44800000 # 1024.000000 -/* 120DD0 802B77C0 4600303C */ c.lt.s $f6, $f0 -/* 120DD4 802B77C4 00000000 */ nop -/* 120DD8 802B77C8 4502000C */ bc1fl .L802B77FC -/* 120DDC 802B77CC 44815000 */ mtc1 $at, $f10 -/* 120DE0 802B77D0 44804000 */ mtc1 $zero, $f8 -/* 120DE4 802B77D4 00000000 */ nop -/* 120DE8 802B77D8 460C403C */ c.lt.s $f8, $f12 -/* 120DEC 802B77DC 00000000 */ nop -/* 120DF0 802B77E0 45000003 */ bc1f .L802B77F0 -/* 120DF4 802B77E4 00000000 */ nop -/* 120DF8 802B77E8 03E00008 */ jr $ra -/* 120DFC 802B77EC 24024000 */ li $v0, 16384 - -.L802B77F0: -/* 120E00 802B77F0 03E00008 */ jr $ra -/* 120E04 802B77F4 3402C000 */ li $v0, 49152 - -/* 120E08 802B77F8 44815000 */ mtc1 $at, $f10 -.L802B77FC: -/* 120E0C 802B77FC 3C013F00 */ li $at, 0x3F000000 # 0.500000 -/* 120E10 802B7800 44819000 */ mtc1 $at, $f18 -/* 120E14 802B7804 460A0402 */ mul.s $f16, $f0, $f10 -/* 120E18 802B7808 3C03802C */ lui $v1, %hi(gArctanTable) # 0x802c -/* 120E1C 802B780C 46128100 */ add.s $f4, $f16, $f18 -/* 120E20 802B7810 4600218D */ trunc.w.s $f6, $f4 -/* 120E24 802B7814 440F3000 */ mfc1 $t7, $f6 -/* 120E28 802B7818 00000000 */ nop -/* 120E2C 802B781C 000FC040 */ sll $t8, $t7, 1 -/* 120E30 802B7820 00781821 */ addu $v1, $v1, $t8 -/* 120E34 802B7824 9463F370 */ lhu $v1, %lo(gArctanTable)($v1) # -0xc90 -/* 120E38 802B7828 03E00008 */ jr $ra -/* 120E3C 802B782C 00601025 */ move $v0, $v1 diff --git a/asm/non_matchings/math_util/func_802B7830.s b/asm/non_matchings/math_util/func_802B7830.s deleted file mode 100644 index 2eac79eb2..000000000 --- a/asm/non_matchings/math_util/func_802B7830.s +++ /dev/null @@ -1,107 +0,0 @@ -glabel func_802B7830 -/* 120E40 802B7830 44800000 */ mtc1 $zero, $f0 -/* 120E44 802B7834 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 120E48 802B7838 F7B60018 */ sdc1 $f22, 0x18($sp) -/* 120E4C 802B783C 460C003E */ c.le.s $f0, $f12 -/* 120E50 802B7840 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 120E54 802B7844 46007506 */ mov.s $f20, $f14 -/* 120E58 802B7848 46006586 */ mov.s $f22, $f12 -/* 120E5C 802B784C 45000029 */ bc1f .L802B78F4 -/* 120E60 802B7850 AFBF0024 */ sw $ra, 0x24($sp) -/* 120E64 802B7854 460E003E */ c.le.s $f0, $f14 -/* 120E68 802B7858 00000000 */ nop -/* 120E6C 802B785C 45020012 */ bc1fl .L802B78A8 -/* 120E70 802B7860 4600A507 */ neg.s $f20, $f20 -/* 120E74 802B7864 460E603E */ c.le.s $f12, $f14 -/* 120E78 802B7868 00000000 */ nop -/* 120E7C 802B786C 45020006 */ bc1fl .L802B7888 -/* 120E80 802B7870 4600A306 */ mov.s $f12, $f20 -/* 120E84 802B7874 0C0ADDE4 */ jal func_802B7790 -/* 120E88 802B7878 00000000 */ nop -/* 120E8C 802B787C 10000048 */ b .L802B79A0 -/* 120E90 802B7880 3043FFFF */ andi $v1, $v0, 0xffff -/* 120E94 802B7884 4600A306 */ mov.s $f12, $f20 -.L802B7888: -/* 120E98 802B7888 0C0ADDE4 */ jal func_802B7790 -/* 120E9C 802B788C 4600B386 */ mov.s $f14, $f22 -/* 120EA0 802B7890 240E4000 */ li $t6, 16384 -/* 120EA4 802B7894 01C21823 */ subu $v1, $t6, $v0 -/* 120EA8 802B7898 306FFFFF */ andi $t7, $v1, 0xffff -/* 120EAC 802B789C 10000040 */ b .L802B79A0 -/* 120EB0 802B78A0 01E01825 */ move $v1, $t7 -/* 120EB4 802B78A4 4600A507 */ neg.s $f20, $f20 -.L802B78A8: -/* 120EB8 802B78A8 4616A03C */ c.lt.s $f20, $f22 -/* 120EBC 802B78AC 00000000 */ nop -/* 120EC0 802B78B0 45020009 */ bc1fl .L802B78D8 -/* 120EC4 802B78B4 4600B306 */ mov.s $f12, $f22 -/* 120EC8 802B78B8 4600A306 */ mov.s $f12, $f20 -/* 120ECC 802B78BC 0C0ADDE4 */ jal func_802B7790 -/* 120ED0 802B78C0 4600B386 */ mov.s $f14, $f22 -/* 120ED4 802B78C4 24434000 */ addiu $v1, $v0, 0x4000 -/* 120ED8 802B78C8 3078FFFF */ andi $t8, $v1, 0xffff -/* 120EDC 802B78CC 10000034 */ b .L802B79A0 -/* 120EE0 802B78D0 03001825 */ move $v1, $t8 -/* 120EE4 802B78D4 4600B306 */ mov.s $f12, $f22 -.L802B78D8: -/* 120EE8 802B78D8 0C0ADDE4 */ jal func_802B7790 -/* 120EEC 802B78DC 4600A386 */ mov.s $f14, $f20 -/* 120EF0 802B78E0 34198000 */ li $t9, 32768 -/* 120EF4 802B78E4 03221823 */ subu $v1, $t9, $v0 -/* 120EF8 802B78E8 3068FFFF */ andi $t0, $v1, 0xffff -/* 120EFC 802B78EC 1000002C */ b .L802B79A0 -/* 120F00 802B78F0 01001825 */ move $v1, $t0 -.L802B78F4: -/* 120F04 802B78F4 4600A03C */ c.lt.s $f20, $f0 -/* 120F08 802B78F8 4600B587 */ neg.s $f22, $f22 -/* 120F0C 802B78FC 45020017 */ bc1fl .L802B795C -/* 120F10 802B7900 4616A03C */ c.lt.s $f20, $f22 -/* 120F14 802B7904 4600A507 */ neg.s $f20, $f20 -/* 120F18 802B7908 4614B03E */ c.le.s $f22, $f20 -/* 120F1C 802B790C 00000000 */ nop -/* 120F20 802B7910 4502000A */ bc1fl .L802B793C -/* 120F24 802B7914 4600A306 */ mov.s $f12, $f20 -/* 120F28 802B7918 4600B306 */ mov.s $f12, $f22 -/* 120F2C 802B791C 0C0ADDE4 */ jal func_802B7790 -/* 120F30 802B7920 4600A386 */ mov.s $f14, $f20 -/* 120F34 802B7924 34018000 */ li $at, 32768 -/* 120F38 802B7928 00411821 */ addu $v1, $v0, $at -/* 120F3C 802B792C 3069FFFF */ andi $t1, $v1, 0xffff -/* 120F40 802B7930 1000001B */ b .L802B79A0 -/* 120F44 802B7934 01201825 */ move $v1, $t1 -/* 120F48 802B7938 4600A306 */ mov.s $f12, $f20 -.L802B793C: -/* 120F4C 802B793C 0C0ADDE4 */ jal func_802B7790 -/* 120F50 802B7940 4600B386 */ mov.s $f14, $f22 -/* 120F54 802B7944 340AC000 */ li $t2, 49152 -/* 120F58 802B7948 01421823 */ subu $v1, $t2, $v0 -/* 120F5C 802B794C 306BFFFF */ andi $t3, $v1, 0xffff -/* 120F60 802B7950 10000013 */ b .L802B79A0 -/* 120F64 802B7954 01601825 */ move $v1, $t3 -/* 120F68 802B7958 4616A03C */ c.lt.s $f20, $f22 -.L802B795C: -/* 120F6C 802B795C 00000000 */ nop -/* 120F70 802B7960 4502000A */ bc1fl .L802B798C -/* 120F74 802B7964 4600B306 */ mov.s $f12, $f22 -/* 120F78 802B7968 4600A306 */ mov.s $f12, $f20 -/* 120F7C 802B796C 0C0ADDE4 */ jal func_802B7790 -/* 120F80 802B7970 4600B386 */ mov.s $f14, $f22 -/* 120F84 802B7974 3401C000 */ li $at, 49152 -/* 120F88 802B7978 00411821 */ addu $v1, $v0, $at -/* 120F8C 802B797C 306CFFFF */ andi $t4, $v1, 0xffff -/* 120F90 802B7980 10000007 */ b .L802B79A0 -/* 120F94 802B7984 01801825 */ move $v1, $t4 -/* 120F98 802B7988 4600B306 */ mov.s $f12, $f22 -.L802B798C: -/* 120F9C 802B798C 0C0ADDE4 */ jal func_802B7790 -/* 120FA0 802B7990 4600A386 */ mov.s $f14, $f20 -/* 120FA4 802B7994 00021823 */ negu $v1, $v0 -/* 120FA8 802B7998 306DFFFF */ andi $t5, $v1, 0xffff -/* 120FAC 802B799C 01A01825 */ move $v1, $t5 -.L802B79A0: -/* 120FB0 802B79A0 8FBF0024 */ lw $ra, 0x24($sp) -/* 120FB4 802B79A4 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 120FB8 802B79A8 D7B60018 */ ldc1 $f22, 0x18($sp) -/* 120FBC 802B79AC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 120FC0 802B79B0 03E00008 */ jr $ra -/* 120FC4 802B79B4 00601025 */ move $v0, $v1 diff --git a/asm/non_matchings/math_util/func_802B79B8.s b/asm/non_matchings/math_util/func_802B79B8.s deleted file mode 100644 index 32229f546..000000000 --- a/asm/non_matchings/math_util/func_802B79B8.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_802B79B8 -/* 120FC8 802B79B8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 120FCC 802B79BC AFBF0014 */ sw $ra, 0x14($sp) -/* 120FD0 802B79C0 0C0ADE0C */ jal func_802B7830 -/* 120FD4 802B79C4 00000000 */ nop -/* 120FD8 802B79C8 44822000 */ mtc1 $v0, $f4 -/* 120FDC 802B79CC 8FBF0014 */ lw $ra, 0x14($sp) -/* 120FE0 802B79D0 04410005 */ bgez $v0, .L802B79E8 -/* 120FE4 802B79D4 46802020 */ cvt.s.w $f0, $f4 -/* 120FE8 802B79D8 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 120FEC 802B79DC 44813000 */ mtc1 $at, $f6 -/* 120FF0 802B79E0 00000000 */ nop -/* 120FF4 802B79E4 46060000 */ add.s $f0, $f0, $f6 -.L802B79E8: -/* 120FF8 802B79E8 03E00008 */ jr $ra -/* 120FFC 802B79EC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/math_util/func_802B79F0.s b/asm/non_matchings/math_util/func_802B79F0.s index 7678f9c11..2e7442ca8 100644 --- a/asm/non_matchings/math_util/func_802B79F0.s +++ b/asm/non_matchings/math_util/func_802B79F0.s @@ -1,98 +1,98 @@ -glabel func_802B79F0 -/* 121000 802B79F0 46007021 */ cvt.d.s $f0, $f14 -/* 121004 802B79F4 460E6403 */ div.s $f16, $f12, $f14 -/* 121008 802B79F8 00001025 */ move $v0, $zero -/* 12100C 802B79FC 46200085 */ abs.d $f2, $f0 -/* 121010 802B7A00 46006021 */ cvt.d.s $f0, $f12 -/* 121014 802B7A04 46200005 */ abs.d $f0, $f0 -/* 121018 802B7A08 4620103C */ c.lt.d $f2, $f0 -/* 12101C 802B7A0C 00000000 */ nop -/* 121020 802B7A10 45000002 */ bc1f .L802B7A1C -/* 121024 802B7A14 00000000 */ nop -/* 121028 802B7A18 24020001 */ li $v0, 1 -.L802B7A1C: -/* 12102C 802B7A1C 10400002 */ beqz $v0, .L802B7A28 -/* 121030 802B7A20 00000000 */ nop -/* 121034 802B7A24 460C7403 */ div.s $f16, $f14, $f12 -.L802B7A28: -/* 121038 802B7A28 46108002 */ mul.s $f0, $f16, $f16 -/* 12103C 802B7A2C 3C01802C */ lui $at, %hi(D_802B9FDC) # $at, 0x802c -/* 121040 802B7A30 C4249FDC */ lwc1 $f4, %lo(D_802B9FDC)($at) -/* 121044 802B7A34 3C01802C */ lui $at, %hi(D_802B9FE0) # $at, 0x802c -/* 121048 802B7A38 C4269FE0 */ lwc1 $f6, %lo(D_802B9FE0)($at) -/* 12104C 802B7A3C 3C01802C */ lui $at, %hi(D_802B9FE4) # $at, 0x802c -/* 121050 802B7A40 46000082 */ mul.s $f2, $f0, $f0 -/* 121054 802B7A44 00000000 */ nop -/* 121058 802B7A48 46060202 */ mul.s $f8, $f0, $f6 -/* 12105C 802B7A4C C4269FE4 */ lwc1 $f6, %lo(D_802B9FE4)($at) -/* 121060 802B7A50 3C01802C */ lui $at, %hi(D_802B9FE8) # $at, 0x802c -/* 121064 802B7A54 46082280 */ add.s $f10, $f4, $f8 -/* 121068 802B7A58 C4289FE8 */ lwc1 $f8, %lo(D_802B9FE8)($at) -/* 12106C 802B7A5C 3C01802C */ lui $at, %hi(D_802B9FEC) # $at, 0x802c -/* 121070 802B7A60 460A1482 */ mul.s $f18, $f2, $f10 -/* 121074 802B7A64 46069100 */ add.s $f4, $f18, $f6 -/* 121078 802B7A68 46080282 */ mul.s $f10, $f0, $f8 -/* 12107C 802B7A6C 460A2480 */ add.s $f18, $f4, $f10 -/* 121080 802B7A70 46021182 */ mul.s $f6, $f2, $f2 -/* 121084 802B7A74 C4249FEC */ lwc1 $f4, %lo(D_802B9FEC)($at) -/* 121088 802B7A78 3C01802C */ lui $at, %hi(D_802B9FF0) # $at, 0x802c -/* 12108C 802B7A7C C42A9FF0 */ lwc1 $f10, %lo(D_802B9FF0)($at) -/* 121090 802B7A80 3C01802C */ lui $at, %hi(D_802B9FF4) # $at, 0x802c -/* 121094 802B7A84 46069202 */ mul.s $f8, $f18, $f6 -/* 121098 802B7A88 00000000 */ nop -/* 12109C 802B7A8C 460A0482 */ mul.s $f18, $f0, $f10 -/* 1210A0 802B7A90 46122180 */ add.s $f6, $f4, $f18 -/* 1210A4 802B7A94 C4329FF4 */ lwc1 $f18, %lo(D_802B9FF4)($at) -/* 1210A8 802B7A98 3C01802C */ lui $at, %hi(D_802B9FF8) # $at, 0x802c -/* 1210AC 802B7A9C 46023282 */ mul.s $f10, $f6, $f2 -/* 1210B0 802B7AA0 460A4100 */ add.s $f4, $f8, $f10 -/* 1210B4 802B7AA4 C4289FF8 */ lwc1 $f8, %lo(D_802B9FF8)($at) -/* 1210B8 802B7AA8 46080282 */ mul.s $f10, $f0, $f8 -/* 1210BC 802B7AAC 46122180 */ add.s $f6, $f4, $f18 -/* 1210C0 802B7AB0 46008482 */ mul.s $f18, $f16, $f0 -/* 1210C4 802B7AB4 460A3100 */ add.s $f4, $f6, $f10 -/* 1210C8 802B7AB8 46122202 */ mul.s $f8, $f4, $f18 -/* 1210CC 802B7ABC 10400013 */ beqz $v0, .L802B7B0C -/* 1210D0 802B7AC0 46088400 */ add.s $f16, $f16, $f8 -/* 1210D4 802B7AC4 44800000 */ mtc1 $zero, $f0 -/* 1210D8 802B7AC8 3C01802C */ lui $at, %hi(D_802BA008) -/* 1210DC 802B7ACC 4600603C */ c.lt.s $f12, $f0 -/* 1210E0 802B7AD0 00000000 */ nop -/* 1210E4 802B7AD4 45000008 */ bc1f .L802B7AF8 -/* 1210E8 802B7AD8 00000000 */ nop -/* 1210EC 802B7ADC 3C01802C */ lui $at, %hi(D_802BA000) -/* 1210F0 802B7AE0 D422A000 */ ldc1 $f2, %lo(D_802BA000)($at) -/* 1210F4 802B7AE4 460081A1 */ cvt.d.s $f6, $f16 -/* 1210F8 802B7AE8 46201087 */ neg.d $f2, $f2 -/* 1210FC 802B7AEC 46261281 */ sub.d $f10, $f2, $f6 -/* 121100 802B7AF0 03E00008 */ jr $ra -/* 121104 802B7AF4 46205020 */ cvt.s.d $f0, $f10 - -.L802B7AF8: -/* 121108 802B7AF8 D422A008 */ ldc1 $f2, %lo(D_802BA008)($at) -/* 12110C 802B7AFC 460081A1 */ cvt.d.s $f6, $f16 -/* 121110 802B7B00 46261281 */ sub.d $f10, $f2, $f6 -/* 121114 802B7B04 03E00008 */ jr $ra -/* 121118 802B7B08 46205020 */ cvt.s.d $f0, $f10 - -.L802B7B0C: -/* 12111C 802B7B0C 44800000 */ mtc1 $zero, $f0 -/* 121120 802B7B10 00000000 */ nop -/* 121124 802B7B14 460E003E */ c.le.s $f0, $f14 -/* 121128 802B7B18 00000000 */ nop -/* 12112C 802B7B1C 45020004 */ bc1fl .L802B7B30 -/* 121130 802B7B20 4600603C */ c.lt.s $f12, $f0 -/* 121134 802B7B24 03E00008 */ jr $ra -/* 121138 802B7B28 46008006 */ mov.s $f0, $f16 - -/* 12113C 802B7B2C 4600603C */ c.lt.s $f12, $f0 -.L802B7B30: -/* 121140 802B7B30 3C01802C */ lui $at, %hi(D_802BA010) # $at, 0x802c -/* 121144 802B7B34 C42EA010 */ lwc1 $f14, %lo(D_802BA010)($at) -/* 121148 802B7B38 45000002 */ bc1f .L802B7B44 -/* 12114C 802B7B3C 460E8080 */ add.s $f2, $f16, $f14 -/* 121150 802B7B40 460E8081 */ sub.s $f2, $f16, $f14 -.L802B7B44: -/* 121154 802B7B44 46001006 */ mov.s $f0, $f2 -/* 121158 802B7B48 03E00008 */ jr $ra -/* 12115C 802B7B4C 00000000 */ nop +glabel func_802B79F0 +/* 121000 802B79F0 46007021 */ cvt.d.s $f0, $f14 +/* 121004 802B79F4 460E6403 */ div.s $f16, $f12, $f14 +/* 121008 802B79F8 00001025 */ move $v0, $zero +/* 12100C 802B79FC 46200085 */ abs.d $f2, $f0 +/* 121010 802B7A00 46006021 */ cvt.d.s $f0, $f12 +/* 121014 802B7A04 46200005 */ abs.d $f0, $f0 +/* 121018 802B7A08 4620103C */ c.lt.d $f2, $f0 +/* 12101C 802B7A0C 00000000 */ nop +/* 121020 802B7A10 45000002 */ bc1f .L802B7A1C +/* 121024 802B7A14 00000000 */ nop +/* 121028 802B7A18 24020001 */ li $v0, 1 +.L802B7A1C: +/* 12102C 802B7A1C 10400002 */ beqz $v0, .L802B7A28 +/* 121030 802B7A20 00000000 */ nop +/* 121034 802B7A24 460C7403 */ div.s $f16, $f14, $f12 +.L802B7A28: +/* 121038 802B7A28 46108002 */ mul.s $f0, $f16, $f16 +/* 12103C 802B7A2C 3C01802C */ lui $at, %hi(D_802B9FDC) # $at, 0x802c +/* 121040 802B7A30 C4249FDC */ lwc1 $f4, %lo(D_802B9FDC)($at) +/* 121044 802B7A34 3C01802C */ lui $at, %hi(D_802B9FE0) # $at, 0x802c +/* 121048 802B7A38 C4269FE0 */ lwc1 $f6, %lo(D_802B9FE0)($at) +/* 12104C 802B7A3C 3C01802C */ lui $at, %hi(D_802B9FE4) # $at, 0x802c +/* 121050 802B7A40 46000082 */ mul.s $f2, $f0, $f0 +/* 121054 802B7A44 00000000 */ nop +/* 121058 802B7A48 46060202 */ mul.s $f8, $f0, $f6 +/* 12105C 802B7A4C C4269FE4 */ lwc1 $f6, %lo(D_802B9FE4)($at) +/* 121060 802B7A50 3C01802C */ lui $at, %hi(D_802B9FE8) # $at, 0x802c +/* 121064 802B7A54 46082280 */ add.s $f10, $f4, $f8 +/* 121068 802B7A58 C4289FE8 */ lwc1 $f8, %lo(D_802B9FE8)($at) +/* 12106C 802B7A5C 3C01802C */ lui $at, %hi(D_802B9FEC) # $at, 0x802c +/* 121070 802B7A60 460A1482 */ mul.s $f18, $f2, $f10 +/* 121074 802B7A64 46069100 */ add.s $f4, $f18, $f6 +/* 121078 802B7A68 46080282 */ mul.s $f10, $f0, $f8 +/* 12107C 802B7A6C 460A2480 */ add.s $f18, $f4, $f10 +/* 121080 802B7A70 46021182 */ mul.s $f6, $f2, $f2 +/* 121084 802B7A74 C4249FEC */ lwc1 $f4, %lo(D_802B9FEC)($at) +/* 121088 802B7A78 3C01802C */ lui $at, %hi(D_802B9FF0) # $at, 0x802c +/* 12108C 802B7A7C C42A9FF0 */ lwc1 $f10, %lo(D_802B9FF0)($at) +/* 121090 802B7A80 3C01802C */ lui $at, %hi(D_802B9FF4) # $at, 0x802c +/* 121094 802B7A84 46069202 */ mul.s $f8, $f18, $f6 +/* 121098 802B7A88 00000000 */ nop +/* 12109C 802B7A8C 460A0482 */ mul.s $f18, $f0, $f10 +/* 1210A0 802B7A90 46122180 */ add.s $f6, $f4, $f18 +/* 1210A4 802B7A94 C4329FF4 */ lwc1 $f18, %lo(D_802B9FF4)($at) +/* 1210A8 802B7A98 3C01802C */ lui $at, %hi(D_802B9FF8) # $at, 0x802c +/* 1210AC 802B7A9C 46023282 */ mul.s $f10, $f6, $f2 +/* 1210B0 802B7AA0 460A4100 */ add.s $f4, $f8, $f10 +/* 1210B4 802B7AA4 C4289FF8 */ lwc1 $f8, %lo(D_802B9FF8)($at) +/* 1210B8 802B7AA8 46080282 */ mul.s $f10, $f0, $f8 +/* 1210BC 802B7AAC 46122180 */ add.s $f6, $f4, $f18 +/* 1210C0 802B7AB0 46008482 */ mul.s $f18, $f16, $f0 +/* 1210C4 802B7AB4 460A3100 */ add.s $f4, $f6, $f10 +/* 1210C8 802B7AB8 46122202 */ mul.s $f8, $f4, $f18 +/* 1210CC 802B7ABC 10400013 */ beqz $v0, .L802B7B0C +/* 1210D0 802B7AC0 46088400 */ add.s $f16, $f16, $f8 +/* 1210D4 802B7AC4 44800000 */ mtc1 $zero, $f0 +/* 1210D8 802B7AC8 3C01802C */ lui $at, %hi(D_802BA008) +/* 1210DC 802B7ACC 4600603C */ c.lt.s $f12, $f0 +/* 1210E0 802B7AD0 00000000 */ nop +/* 1210E4 802B7AD4 45000008 */ bc1f .L802B7AF8 +/* 1210E8 802B7AD8 00000000 */ nop +/* 1210EC 802B7ADC 3C01802C */ lui $at, %hi(D_802BA000) +/* 1210F0 802B7AE0 D422A000 */ ldc1 $f2, %lo(D_802BA000)($at) +/* 1210F4 802B7AE4 460081A1 */ cvt.d.s $f6, $f16 +/* 1210F8 802B7AE8 46201087 */ neg.d $f2, $f2 +/* 1210FC 802B7AEC 46261281 */ sub.d $f10, $f2, $f6 +/* 121100 802B7AF0 03E00008 */ jr $ra +/* 121104 802B7AF4 46205020 */ cvt.s.d $f0, $f10 + +.L802B7AF8: +/* 121108 802B7AF8 D422A008 */ ldc1 $f2, %lo(D_802BA008)($at) +/* 12110C 802B7AFC 460081A1 */ cvt.d.s $f6, $f16 +/* 121110 802B7B00 46261281 */ sub.d $f10, $f2, $f6 +/* 121114 802B7B04 03E00008 */ jr $ra +/* 121118 802B7B08 46205020 */ cvt.s.d $f0, $f10 + +.L802B7B0C: +/* 12111C 802B7B0C 44800000 */ mtc1 $zero, $f0 +/* 121120 802B7B10 00000000 */ nop +/* 121124 802B7B14 460E003E */ c.le.s $f0, $f14 +/* 121128 802B7B18 00000000 */ nop +/* 12112C 802B7B1C 45020004 */ bc1fl .L802B7B30 +/* 121130 802B7B20 4600603C */ c.lt.s $f12, $f0 +/* 121134 802B7B24 03E00008 */ jr $ra +/* 121138 802B7B28 46008006 */ mov.s $f0, $f16 + +/* 12113C 802B7B2C 4600603C */ c.lt.s $f12, $f0 +.L802B7B30: +/* 121140 802B7B30 3C01802C */ lui $at, %hi(D_802BA010) # $at, 0x802c +/* 121144 802B7B34 C42EA010 */ lwc1 $f14, %lo(D_802BA010)($at) +/* 121148 802B7B38 45000002 */ bc1f .L802B7B44 +/* 12114C 802B7B3C 460E8080 */ add.s $f2, $f16, $f14 +/* 121150 802B7B40 460E8081 */ sub.s $f2, $f16, $f14 +.L802B7B44: +/* 121154 802B7B44 46001006 */ mov.s $f0, $f2 +/* 121158 802B7B48 03E00008 */ jr $ra +/* 12115C 802B7B4C 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B7B50.s b/asm/non_matchings/math_util/func_802B7B50.s deleted file mode 100644 index ebc07a81a..000000000 --- a/asm/non_matchings/math_util/func_802B7B50.s +++ /dev/null @@ -1,54 +0,0 @@ -glabel func_802B7B50 -/* 121160 802B7B50 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 121164 802B7B54 AFBF0014 */ sw $ra, 0x14($sp) -/* 121168 802B7B58 0C0ADE6E */ jal func_802B79B8 -/* 12116C 802B7B5C 00000000 */ nop -/* 121170 802B7B60 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 121174 802B7B64 44812000 */ mtc1 $at, $f4 -/* 121178 802B7B68 3C01802C */ lui $at, %hi(D_802BA018) -/* 12117C 802B7B6C D42AA018 */ ldc1 $f10, %lo(D_802BA018)($at) -/* 121180 802B7B70 46040182 */ mul.s $f6, $f0, $f4 -/* 121184 802B7B74 24020001 */ li $v0, 1 -/* 121188 802B7B78 8FBF0014 */ lw $ra, 0x14($sp) -/* 12118C 802B7B7C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 121190 802B7B80 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 121194 802B7B84 46003221 */ cvt.d.s $f8, $f6 -/* 121198 802B7B88 462A4403 */ div.d $f16, $f8, $f10 -/* 12119C 802B7B8C 444EF800 */ cfc1 $t6, $31 -/* 1211A0 802B7B90 44C2F800 */ ctc1 $v0, $31 -/* 1211A4 802B7B94 00000000 */ nop -/* 1211A8 802B7B98 462084A4 */ cvt.w.d $f18, $f16 -/* 1211AC 802B7B9C 4442F800 */ cfc1 $v0, $31 -/* 1211B0 802B7BA0 00000000 */ nop -/* 1211B4 802B7BA4 30420078 */ andi $v0, $v0, 0x78 -/* 1211B8 802B7BA8 50400014 */ beql $v0, $zero, .L802B7BFC -/* 1211BC 802B7BAC 44029000 */ mfc1 $v0, $f18 -/* 1211C0 802B7BB0 44819800 */ mtc1 $at, $f19 -/* 1211C4 802B7BB4 44809000 */ mtc1 $zero, $f18 -/* 1211C8 802B7BB8 24020001 */ li $v0, 1 -/* 1211CC 802B7BBC 46328481 */ sub.d $f18, $f16, $f18 -/* 1211D0 802B7BC0 44C2F800 */ ctc1 $v0, $31 -/* 1211D4 802B7BC4 00000000 */ nop -/* 1211D8 802B7BC8 462094A4 */ cvt.w.d $f18, $f18 -/* 1211DC 802B7BCC 4442F800 */ cfc1 $v0, $31 -/* 1211E0 802B7BD0 00000000 */ nop -/* 1211E4 802B7BD4 30420078 */ andi $v0, $v0, 0x78 -/* 1211E8 802B7BD8 14400005 */ bnez $v0, .L802B7BF0 -/* 1211EC 802B7BDC 00000000 */ nop -/* 1211F0 802B7BE0 44029000 */ mfc1 $v0, $f18 -/* 1211F4 802B7BE4 3C018000 */ lui $at, 0x8000 -/* 1211F8 802B7BE8 10000007 */ b .L802B7C08 -/* 1211FC 802B7BEC 00411025 */ or $v0, $v0, $at -.L802B7BF0: -/* 121200 802B7BF0 10000005 */ b .L802B7C08 -/* 121204 802B7BF4 2402FFFF */ li $v0, -1 -/* 121208 802B7BF8 44029000 */ mfc1 $v0, $f18 -.L802B7BFC: -/* 12120C 802B7BFC 00000000 */ nop -/* 121210 802B7C00 0440FFFB */ bltz $v0, .L802B7BF0 -/* 121214 802B7C04 00000000 */ nop -.L802B7C08: -/* 121218 802B7C08 44CEF800 */ ctc1 $t6, $31 -/* 12121C 802B7C0C 304FFFFF */ andi $t7, $v0, 0xffff -/* 121220 802B7C10 03E00008 */ jr $ra -/* 121224 802B7C14 01E01025 */ move $v0, $t7 diff --git a/asm/non_matchings/math_util/func_802B7C18.s b/asm/non_matchings/math_util/func_802B7C18.s deleted file mode 100644 index ab3749280..000000000 --- a/asm/non_matchings/math_util/func_802B7C18.s +++ /dev/null @@ -1,11 +0,0 @@ -glabel func_802B7C18 -/* 121228 802B7C18 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 12122C 802B7C1C 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 121230 802B7C20 AFBF0014 */ sw $ra, 0x14($sp) -/* 121234 802B7C24 44817000 */ mtc1 $at, $f14 -/* 121238 802B7C28 0C0ADE6E */ jal func_802B79B8 -/* 12123C 802B7C2C 00000000 */ nop -/* 121240 802B7C30 8FBF0014 */ lw $ra, 0x14($sp) -/* 121244 802B7C34 27BD0018 */ addiu $sp, $sp, 0x18 -/* 121248 802B7C38 03E00008 */ jr $ra -/* 12124C 802B7C3C 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B7C40.s b/asm/non_matchings/math_util/func_802B7C40.s deleted file mode 100644 index 4a52c6e4a..000000000 --- a/asm/non_matchings/math_util/func_802B7C40.s +++ /dev/null @@ -1,12 +0,0 @@ -glabel func_802B7C40 -/* 121250 802B7C40 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 121254 802B7C44 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 121258 802B7C48 AFBF0014 */ sw $ra, 0x14($sp) -/* 12125C 802B7C4C 44817000 */ mtc1 $at, $f14 -/* 121260 802B7C50 0C0ADE0C */ jal func_802B7830 -/* 121264 802B7C54 00000000 */ nop -/* 121268 802B7C58 8FBF0014 */ lw $ra, 0x14($sp) -/* 12126C 802B7C5C 00027400 */ sll $t6, $v0, 0x10 -/* 121270 802B7C60 000E1403 */ sra $v0, $t6, 0x10 -/* 121274 802B7C64 03E00008 */ jr $ra -/* 121278 802B7C68 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/math_util/func_802B7C6C.s b/asm/non_matchings/math_util/func_802B7C6C.s deleted file mode 100644 index be56a55b8..000000000 --- a/asm/non_matchings/math_util/func_802B7C6C.s +++ /dev/null @@ -1,16 +0,0 @@ -glabel func_802B7C6C -/* 12127C 802B7C6C 460C6182 */ mul.s $f6, $f12, $f12 -/* 121280 802B7C70 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 121284 802B7C74 44812800 */ mtc1 $at, $f5 -/* 121288 802B7C78 44802000 */ mtc1 $zero, $f4 -/* 12128C 802B7C7C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 121290 802B7C80 AFBF0014 */ sw $ra, 0x14($sp) -/* 121294 802B7C84 46003221 */ cvt.d.s $f8, $f6 -/* 121298 802B7C88 46282281 */ sub.d $f10, $f4, $f8 -/* 12129C 802B7C8C 46205020 */ cvt.s.d $f0, $f10 -/* 1212A0 802B7C90 0C0ADE6E */ jal func_802B79B8 -/* 1212A4 802B7C94 46000384 */ sqrt.s $f14, $f0 -/* 1212A8 802B7C98 8FBF0014 */ lw $ra, 0x14($sp) -/* 1212AC 802B7C9C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 1212B0 802B7CA0 03E00008 */ jr $ra -/* 1212B4 802B7CA4 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B7CA8.s b/asm/non_matchings/math_util/func_802B7CA8.s deleted file mode 100644 index 13377eec2..000000000 --- a/asm/non_matchings/math_util/func_802B7CA8.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel func_802B7CA8 -/* 1212B8 802B7CA8 460C6182 */ mul.s $f6, $f12, $f12 -/* 1212BC 802B7CAC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 1212C0 802B7CB0 44812800 */ mtc1 $at, $f5 -/* 1212C4 802B7CB4 44802000 */ mtc1 $zero, $f4 -/* 1212C8 802B7CB8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1212CC 802B7CBC AFBF0014 */ sw $ra, 0x14($sp) -/* 1212D0 802B7CC0 46003221 */ cvt.d.s $f8, $f6 -/* 1212D4 802B7CC4 46282281 */ sub.d $f10, $f4, $f8 -/* 1212D8 802B7CC8 46205020 */ cvt.s.d $f0, $f10 -/* 1212DC 802B7CCC 0C0ADE0C */ jal func_802B7830 -/* 1212E0 802B7CD0 46000384 */ sqrt.s $f14, $f0 -/* 1212E4 802B7CD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 1212E8 802B7CD8 00027400 */ sll $t6, $v0, 0x10 -/* 1212EC 802B7CDC 000E1403 */ sra $v0, $t6, 0x10 -/* 1212F0 802B7CE0 03E00008 */ jr $ra -/* 1212F4 802B7CE4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/math_util/func_802B7CE8.s b/asm/non_matchings/math_util/func_802B7CE8.s deleted file mode 100644 index 31221db0d..000000000 --- a/asm/non_matchings/math_util/func_802B7CE8.s +++ /dev/null @@ -1,17 +0,0 @@ -glabel func_802B7CE8 -/* 1212F8 802B7CE8 460C6182 */ mul.s $f6, $f12, $f12 -/* 1212FC 802B7CEC 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 121300 802B7CF0 44812800 */ mtc1 $at, $f5 -/* 121304 802B7CF4 44802000 */ mtc1 $zero, $f4 -/* 121308 802B7CF8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 12130C 802B7CFC AFBF0014 */ sw $ra, 0x14($sp) -/* 121310 802B7D00 46006386 */ mov.s $f14, $f12 -/* 121314 802B7D04 46003221 */ cvt.d.s $f8, $f6 -/* 121318 802B7D08 46282281 */ sub.d $f10, $f4, $f8 -/* 12131C 802B7D0C 46205020 */ cvt.s.d $f0, $f10 -/* 121320 802B7D10 0C0ADE6E */ jal func_802B79B8 -/* 121324 802B7D14 46000304 */ sqrt.s $f12, $f0 -/* 121328 802B7D18 8FBF0014 */ lw $ra, 0x14($sp) -/* 12132C 802B7D1C 27BD0018 */ addiu $sp, $sp, 0x18 -/* 121330 802B7D20 03E00008 */ jr $ra -/* 121334 802B7D24 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B7D28.s b/asm/non_matchings/math_util/func_802B7D28.s deleted file mode 100644 index 4ca43ada9..000000000 --- a/asm/non_matchings/math_util/func_802B7D28.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_802B7D28 -/* 121338 802B7D28 460C6182 */ mul.s $f6, $f12, $f12 -/* 12133C 802B7D2C 3C013FF0 */ li $at, 0x3FF00000 # 1.875000 -/* 121340 802B7D30 44812800 */ mtc1 $at, $f5 -/* 121344 802B7D34 44802000 */ mtc1 $zero, $f4 -/* 121348 802B7D38 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 12134C 802B7D3C AFBF0014 */ sw $ra, 0x14($sp) -/* 121350 802B7D40 46006386 */ mov.s $f14, $f12 -/* 121354 802B7D44 46003221 */ cvt.d.s $f8, $f6 -/* 121358 802B7D48 46282281 */ sub.d $f10, $f4, $f8 -/* 12135C 802B7D4C 46205020 */ cvt.s.d $f0, $f10 -/* 121360 802B7D50 0C0ADE6E */ jal func_802B79B8 -/* 121364 802B7D54 46000304 */ sqrt.s $f12, $f0 -/* 121368 802B7D58 3C014700 */ li $at, 0x47000000 # 32768.000000 -/* 12136C 802B7D5C 44818000 */ mtc1 $at, $f16 -/* 121370 802B7D60 3C01802C */ lui $at, %hi(D_802BA020) -/* 121374 802B7D64 D424A020 */ ldc1 $f4, %lo(D_802BA020)($at) -/* 121378 802B7D68 46100482 */ mul.s $f18, $f0, $f16 -/* 12137C 802B7D6C 8FBF0014 */ lw $ra, 0x14($sp) -/* 121380 802B7D70 27BD0018 */ addiu $sp, $sp, 0x18 -/* 121384 802B7D74 460091A1 */ cvt.d.s $f6, $f18 -/* 121388 802B7D78 46243203 */ div.d $f8, $f6, $f4 -/* 12138C 802B7D7C 4620428D */ trunc.w.d $f10, $f8 -/* 121390 802B7D80 44025000 */ mfc1 $v0, $f10 -/* 121394 802B7D84 00000000 */ nop -/* 121398 802B7D88 00027C00 */ sll $t7, $v0, 0x10 -/* 12139C 802B7D8C 03E00008 */ jr $ra -/* 1213A0 802B7D90 000F1403 */ sra $v0, $t7, 0x10 diff --git a/asm/non_matchings/math_util/func_802B7F34.s b/asm/non_matchings/math_util/func_802B7F34.s deleted file mode 100644 index 0b66a88d0..000000000 --- a/asm/non_matchings/math_util/func_802B7F34.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_802B7F34 -/* 121544 802B7F34 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 121548 802B7F38 E7AC0018 */ swc1 $f12, 0x18($sp) -/* 12154C 802B7F3C C7B20018 */ lwc1 $f18, 0x18($sp) -/* 121550 802B7F40 E7AE001C */ swc1 $f14, 0x1c($sp) -/* 121554 802B7F44 C7B0001C */ lwc1 $f16, 0x1c($sp) -/* 121558 802B7F48 AFA60020 */ sw $a2, 0x20($sp) -/* 12155C 802B7F4C C7AA0020 */ lwc1 $f10, 0x20($sp) -/* 121560 802B7F50 AFA70024 */ sw $a3, 0x24($sp) -/* 121564 802B7F54 C7A80024 */ lwc1 $f8, 0x24($sp) -/* 121568 802B7F58 46125301 */ sub.s $f12, $f10, $f18 -/* 12156C 802B7F5C AFBF0014 */ sw $ra, 0x14($sp) -/* 121570 802B7F60 0C0ADE0C */ jal func_802B7830 -/* 121574 802B7F64 46104381 */ sub.s $f14, $f8, $f16 -/* 121578 802B7F68 8FBF0014 */ lw $ra, 0x14($sp) -/* 12157C 802B7F6C 00027400 */ sll $t6, $v0, 0x10 -/* 121580 802B7F70 000E1403 */ sra $v0, $t6, 0x10 -/* 121584 802B7F74 03E00008 */ jr $ra -/* 121588 802B7F78 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/non_matchings/math_util/func_802B7F7C.s b/asm/non_matchings/math_util/func_802B7F7C.s index 5bb53610c..64d13a981 100644 --- a/asm/non_matchings/math_util/func_802B7F7C.s +++ b/asm/non_matchings/math_util/func_802B7F7C.s @@ -1,40 +1,40 @@ -glabel func_802B7F7C -/* 12158C 802B7F7C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 121590 802B7F80 AFBF0014 */ sw $ra, 0x14($sp) -/* 121594 802B7F84 AFA60038 */ sw $a2, 0x38($sp) -/* 121598 802B7F88 C4840004 */ lwc1 $f4, 4($a0) -/* 12159C 802B7F8C C48E0000 */ lwc1 $f14, ($a0) -/* 1215A0 802B7F90 E7A40028 */ swc1 $f4, 0x28($sp) -/* 1215A4 802B7F94 C4A60004 */ lwc1 $f6, 4($a1) -/* 1215A8 802B7F98 C48C0008 */ lwc1 $f12, 8($a0) -/* 1215AC 802B7F9C C4A20000 */ lwc1 $f2, ($a1) -/* 1215B0 802B7FA0 E7A6001C */ swc1 $f6, 0x1c($sp) -/* 1215B4 802B7FA4 C4A00008 */ lwc1 $f0, 8($a1) -/* 1215B8 802B7FA8 44071000 */ mfc1 $a3, $f2 -/* 1215BC 802B7FAC E7AE002C */ swc1 $f14, 0x2c($sp) -/* 1215C0 802B7FB0 44060000 */ mfc1 $a2, $f0 -/* 1215C4 802B7FB4 E7AC0024 */ swc1 $f12, 0x24($sp) -/* 1215C8 802B7FB8 E7A20020 */ swc1 $f2, 0x20($sp) -/* 1215CC 802B7FBC 0C0ADFCD */ jal func_802B7F34 -/* 1215D0 802B7FC0 E7A00018 */ swc1 $f0, 0x18($sp) -/* 1215D4 802B7FC4 8FAE0038 */ lw $t6, 0x38($sp) -/* 1215D8 802B7FC8 C7A00018 */ lwc1 $f0, 0x18($sp) -/* 1215DC 802B7FCC A5C20002 */ sh $v0, 2($t6) -/* 1215E0 802B7FD0 44070000 */ mfc1 $a3, $f0 -/* 1215E4 802B7FD4 8FA6001C */ lw $a2, 0x1c($sp) -/* 1215E8 802B7FD8 C7AE0024 */ lwc1 $f14, 0x24($sp) -/* 1215EC 802B7FDC 0C0ADFCD */ jal func_802B7F34 -/* 1215F0 802B7FE0 C7AC0028 */ lwc1 $f12, 0x28($sp) -/* 1215F4 802B7FE4 8FAF0038 */ lw $t7, 0x38($sp) -/* 1215F8 802B7FE8 A5E20000 */ sh $v0, ($t7) -/* 1215FC 802B7FEC 8FA7001C */ lw $a3, 0x1c($sp) -/* 121600 802B7FF0 8FA60020 */ lw $a2, 0x20($sp) -/* 121604 802B7FF4 C7AE0028 */ lwc1 $f14, 0x28($sp) -/* 121608 802B7FF8 0C0ADFCD */ jal func_802B7F34 -/* 12160C 802B7FFC C7AC002C */ lwc1 $f12, 0x2c($sp) -/* 121610 802B8000 8FB80038 */ lw $t8, 0x38($sp) -/* 121614 802B8004 A7020004 */ sh $v0, 4($t8) -/* 121618 802B8008 8FBF0014 */ lw $ra, 0x14($sp) -/* 12161C 802B800C 27BD0030 */ addiu $sp, $sp, 0x30 -/* 121620 802B8010 03E00008 */ jr $ra -/* 121624 802B8014 00000000 */ nop +glabel func_802B7F7C +/* 12158C 802B7F7C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 121590 802B7F80 AFBF0014 */ sw $ra, 0x14($sp) +/* 121594 802B7F84 AFA60038 */ sw $a2, 0x38($sp) +/* 121598 802B7F88 C4840004 */ lwc1 $f4, 4($a0) +/* 12159C 802B7F8C C48E0000 */ lwc1 $f14, ($a0) +/* 1215A0 802B7F90 E7A40028 */ swc1 $f4, 0x28($sp) +/* 1215A4 802B7F94 C4A60004 */ lwc1 $f6, 4($a1) +/* 1215A8 802B7F98 C48C0008 */ lwc1 $f12, 8($a0) +/* 1215AC 802B7F9C C4A20000 */ lwc1 $f2, ($a1) +/* 1215B0 802B7FA0 E7A6001C */ swc1 $f6, 0x1c($sp) +/* 1215B4 802B7FA4 C4A00008 */ lwc1 $f0, 8($a1) +/* 1215B8 802B7FA8 44071000 */ mfc1 $a3, $f2 +/* 1215BC 802B7FAC E7AE002C */ swc1 $f14, 0x2c($sp) +/* 1215C0 802B7FB0 44060000 */ mfc1 $a2, $f0 +/* 1215C4 802B7FB4 E7AC0024 */ swc1 $f12, 0x24($sp) +/* 1215C8 802B7FB8 E7A20020 */ swc1 $f2, 0x20($sp) +/* 1215CC 802B7FBC 0C0ADFCD */ jal func_802B7F34 +/* 1215D0 802B7FC0 E7A00018 */ swc1 $f0, 0x18($sp) +/* 1215D4 802B7FC4 8FAE0038 */ lw $t6, 0x38($sp) +/* 1215D8 802B7FC8 C7A00018 */ lwc1 $f0, 0x18($sp) +/* 1215DC 802B7FCC A5C20002 */ sh $v0, 2($t6) +/* 1215E0 802B7FD0 44070000 */ mfc1 $a3, $f0 +/* 1215E4 802B7FD4 8FA6001C */ lw $a2, 0x1c($sp) +/* 1215E8 802B7FD8 C7AE0024 */ lwc1 $f14, 0x24($sp) +/* 1215EC 802B7FDC 0C0ADFCD */ jal func_802B7F34 +/* 1215F0 802B7FE0 C7AC0028 */ lwc1 $f12, 0x28($sp) +/* 1215F4 802B7FE4 8FAF0038 */ lw $t7, 0x38($sp) +/* 1215F8 802B7FE8 A5E20000 */ sh $v0, ($t7) +/* 1215FC 802B7FEC 8FA7001C */ lw $a3, 0x1c($sp) +/* 121600 802B7FF0 8FA60020 */ lw $a2, 0x20($sp) +/* 121604 802B7FF4 C7AE0028 */ lwc1 $f14, 0x28($sp) +/* 121608 802B7FF8 0C0ADFCD */ jal func_802B7F34 +/* 12160C 802B7FFC C7AC002C */ lwc1 $f12, 0x2c($sp) +/* 121610 802B8000 8FB80038 */ lw $t8, 0x38($sp) +/* 121614 802B8004 A7020004 */ sh $v0, 4($t8) +/* 121618 802B8008 8FBF0014 */ lw $ra, 0x14($sp) +/* 12161C 802B800C 27BD0030 */ addiu $sp, $sp, 0x30 +/* 121620 802B8010 03E00008 */ jr $ra +/* 121624 802B8014 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B8058.s b/asm/non_matchings/math_util/func_802B8058.s index 715ea6855..5f4898eb8 100644 --- a/asm/non_matchings/math_util/func_802B8058.s +++ b/asm/non_matchings/math_util/func_802B8058.s @@ -1,38 +1,38 @@ -glabel func_802B8058 -/* 121668 802B8058 3083FFFF */ andi $v1, $a0, 0xffff -/* 12166C 802B805C 30AFFFFF */ andi $t7, $a1, 0xffff -/* 121670 802B8060 AFA60008 */ sw $a2, 8($sp) -/* 121674 802B8064 30D8FFFF */ andi $t8, $a2, 0xffff -/* 121678 802B8068 01E3082A */ slt $at, $t7, $v1 -/* 12167C 802B806C 03003025 */ move $a2, $t8 -/* 121680 802B8070 AFA40000 */ sw $a0, ($sp) -/* 121684 802B8074 AFA50004 */ sw $a1, 4($sp) -/* 121688 802B8078 1020000B */ beqz $at, .L802B80A8 -/* 12168C 802B807C 01E01025 */ move $v0, $t7 -/* 121690 802B8080 01F8082A */ slt $at, $t7, $t8 -/* 121694 802B8084 14200003 */ bnez $at, .L802B8094 -/* 121698 802B8088 03002025 */ move $a0, $t8 -/* 12169C 802B808C 03E00008 */ jr $ra -/* 1216A0 802B8090 00001025 */ move $v0, $zero - -.L802B8094: -/* 1216A4 802B8094 0083082A */ slt $at, $a0, $v1 -/* 1216A8 802B8098 5420000B */ bnel $at, $zero, .L802B80C8 -/* 1216AC 802B809C 24020001 */ li $v0, 1 -/* 1216B0 802B80A0 03E00008 */ jr $ra -/* 1216B4 802B80A4 00001025 */ move $v0, $zero - -.L802B80A8: -/* 1216B8 802B80A8 0046082A */ slt $at, $v0, $a2 -/* 1216BC 802B80AC 14200005 */ bnez $at, .L802B80C4 -/* 1216C0 802B80B0 00C3082A */ slt $at, $a2, $v1 -/* 1216C4 802B80B4 54200004 */ bnel $at, $zero, .L802B80C8 -/* 1216C8 802B80B8 24020001 */ li $v0, 1 -/* 1216CC 802B80BC 03E00008 */ jr $ra -/* 1216D0 802B80C0 00001025 */ move $v0, $zero - -.L802B80C4: -/* 1216D4 802B80C4 24020001 */ li $v0, 1 -.L802B80C8: -/* 1216D8 802B80C8 03E00008 */ jr $ra -/* 1216DC 802B80CC 00000000 */ nop +glabel func_802B8058 +/* 121668 802B8058 3083FFFF */ andi $v1, $a0, 0xffff +/* 12166C 802B805C 30AFFFFF */ andi $t7, $a1, 0xffff +/* 121670 802B8060 AFA60008 */ sw $a2, 8($sp) +/* 121674 802B8064 30D8FFFF */ andi $t8, $a2, 0xffff +/* 121678 802B8068 01E3082A */ slt $at, $t7, $v1 +/* 12167C 802B806C 03003025 */ move $a2, $t8 +/* 121680 802B8070 AFA40000 */ sw $a0, ($sp) +/* 121684 802B8074 AFA50004 */ sw $a1, 4($sp) +/* 121688 802B8078 1020000B */ beqz $at, .L802B80A8 +/* 12168C 802B807C 01E01025 */ move $v0, $t7 +/* 121690 802B8080 01F8082A */ slt $at, $t7, $t8 +/* 121694 802B8084 14200003 */ bnez $at, .L802B8094 +/* 121698 802B8088 03002025 */ move $a0, $t8 +/* 12169C 802B808C 03E00008 */ jr $ra +/* 1216A0 802B8090 00001025 */ move $v0, $zero + +.L802B8094: +/* 1216A4 802B8094 0083082A */ slt $at, $a0, $v1 +/* 1216A8 802B8098 5420000B */ bnel $at, $zero, .L802B80C8 +/* 1216AC 802B809C 24020001 */ li $v0, 1 +/* 1216B0 802B80A0 03E00008 */ jr $ra +/* 1216B4 802B80A4 00001025 */ move $v0, $zero + +.L802B80A8: +/* 1216B8 802B80A8 0046082A */ slt $at, $v0, $a2 +/* 1216BC 802B80AC 14200005 */ bnez $at, .L802B80C4 +/* 1216C0 802B80B0 00C3082A */ slt $at, $a2, $v1 +/* 1216C4 802B80B4 54200004 */ bnel $at, $zero, .L802B80C8 +/* 1216C8 802B80B8 24020001 */ li $v0, 1 +/* 1216CC 802B80BC 03E00008 */ jr $ra +/* 1216D0 802B80C0 00001025 */ move $v0, $zero + +.L802B80C4: +/* 1216D4 802B80C4 24020001 */ li $v0, 1 +.L802B80C8: +/* 1216D8 802B80C8 03E00008 */ jr $ra +/* 1216DC 802B80CC 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B80D0.s b/asm/non_matchings/math_util/func_802B80D0.s index 355176ec4..97bcfcc7b 100644 --- a/asm/non_matchings/math_util/func_802B80D0.s +++ b/asm/non_matchings/math_util/func_802B80D0.s @@ -1,227 +1,227 @@ -glabel func_802B80D0 -/* 1216E0 802B80D0 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 1216E4 802B80D4 AFBF001C */ sw $ra, 0x1c($sp) -/* 1216E8 802B80D8 F7B40010 */ sdc1 $f20, 0x10($sp) -/* 1216EC 802B80DC AFA60068 */ sw $a2, 0x68($sp) -/* 1216F0 802B80E0 C4860000 */ lwc1 $f6, ($a0) -/* 1216F4 802B80E4 C4A40000 */ lwc1 $f4, ($a1) -/* 1216F8 802B80E8 C7AC0074 */ lwc1 $f12, 0x74($sp) -/* 1216FC 802B80EC 44877000 */ mtc1 $a3, $f14 -/* 121700 802B80F0 46062001 */ sub.s $f0, $f4, $f6 -/* 121704 802B80F4 97A7006A */ lhu $a3, 0x6a($sp) -/* 121708 802B80F8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 12170C 802B80FC 46000002 */ mul.s $f0, $f0, $f0 -/* 121710 802B8100 4600603C */ c.lt.s $f12, $f0 -/* 121714 802B8104 00000000 */ nop -/* 121718 802B8108 45020005 */ bc1fl .L802B8120 -/* 12171C 802B810C C4A80008 */ lwc1 $f8, 8($a1) -/* 121720 802B8110 44810000 */ mtc1 $at, $f0 -/* 121724 802B8114 100000BB */ b .L802B8404 -/* 121728 802B8118 8FBF001C */ lw $ra, 0x1c($sp) -/* 12172C 802B811C C4A80008 */ lwc1 $f8, 8($a1) -.L802B8120: -/* 121730 802B8120 C48A0008 */ lwc1 $f10, 8($a0) -/* 121734 802B8124 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 121738 802B8128 460A4081 */ sub.s $f2, $f8, $f10 -/* 12173C 802B812C 46021082 */ mul.s $f2, $f2, $f2 -/* 121740 802B8130 4602603C */ c.lt.s $f12, $f2 -/* 121744 802B8134 00000000 */ nop -/* 121748 802B8138 45020005 */ bc1fl .L802B8150 -/* 12174C 802B813C 46020500 */ add.s $f20, $f0, $f2 -/* 121750 802B8140 44810000 */ mtc1 $at, $f0 -/* 121754 802B8144 100000AF */ b .L802B8404 -/* 121758 802B8148 8FBF001C */ lw $ra, 0x1c($sp) -/* 12175C 802B814C 46020500 */ add.s $f20, $f0, $f2 -.L802B8150: -/* 121760 802B8150 460EA03C */ c.lt.s $f20, $f14 -/* 121764 802B8154 00000000 */ nop -/* 121768 802B8158 45020004 */ bc1fl .L802B816C -/* 12176C 802B815C 4614603C */ c.lt.s $f12, $f20 -/* 121770 802B8160 100000A7 */ b .L802B8400 -/* 121774 802B8164 4600A006 */ mov.s $f0, $f20 -/* 121778 802B8168 4614603C */ c.lt.s $f12, $f20 -.L802B816C: -/* 12177C 802B816C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -/* 121780 802B8170 45020005 */ bc1fl .L802B8188 -/* 121784 802B8174 A7A7006A */ sh $a3, 0x6a($sp) -/* 121788 802B8178 44810000 */ mtc1 $at, $f0 -/* 12178C 802B817C 100000A1 */ b .L802B8404 -/* 121790 802B8180 8FBF001C */ lw $ra, 0x1c($sp) -/* 121794 802B8184 A7A7006A */ sh $a3, 0x6a($sp) -.L802B8188: -/* 121798 802B8188 0C0AD489 */ jal func_802B5224 -/* 12179C 802B818C E7AE006C */ swc1 $f14, 0x6c($sp) -/* 1217A0 802B8190 C7AE006C */ lwc1 $f14, 0x6c($sp) -/* 1217A4 802B8194 44808000 */ mtc1 $zero, $f16 -/* 1217A8 802B8198 97A7006A */ lhu $a3, 0x6a($sp) -/* 1217AC 802B819C 3046FFFF */ andi $a2, $v0, 0xffff -/* 1217B0 802B81A0 46107032 */ c.eq.s $f14, $f16 -/* 1217B4 802B81A4 C7B20070 */ lwc1 $f18, 0x70($sp) -/* 1217B8 802B81A8 C7A60070 */ lwc1 $f6, 0x70($sp) -/* 1217BC 802B81AC 24030001 */ li $v1, 1 -/* 1217C0 802B81B0 4502003C */ bc1fl .L802B82A4 -/* 1217C4 802B81B4 444AF800 */ cfc1 $t2, $31 -/* 1217C8 802B81B8 444EF800 */ cfc1 $t6, $31 -/* 1217CC 802B81BC 24030001 */ li $v1, 1 -/* 1217D0 802B81C0 44C3F800 */ ctc1 $v1, $31 -/* 1217D4 802B81C4 00E01025 */ move $v0, $a3 -/* 1217D8 802B81C8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 1217DC 802B81CC 46009124 */ cvt.w.s $f4, $f18 -/* 1217E0 802B81D0 4443F800 */ cfc1 $v1, $31 -/* 1217E4 802B81D4 00000000 */ nop -/* 1217E8 802B81D8 30630078 */ andi $v1, $v1, 0x78 -/* 1217EC 802B81DC 50600013 */ beql $v1, $zero, .L802B822C -/* 1217F0 802B81E0 44032000 */ mfc1 $v1, $f4 -/* 1217F4 802B81E4 44812000 */ mtc1 $at, $f4 -/* 1217F8 802B81E8 24030001 */ li $v1, 1 -/* 1217FC 802B81EC 46049101 */ sub.s $f4, $f18, $f4 -/* 121800 802B81F0 44C3F800 */ ctc1 $v1, $31 -/* 121804 802B81F4 00000000 */ nop -/* 121808 802B81F8 46002124 */ cvt.w.s $f4, $f4 -/* 12180C 802B81FC 4443F800 */ cfc1 $v1, $31 -/* 121810 802B8200 00000000 */ nop -/* 121814 802B8204 30630078 */ andi $v1, $v1, 0x78 -/* 121818 802B8208 14600005 */ bnez $v1, .L802B8220 -/* 12181C 802B820C 00000000 */ nop -/* 121820 802B8210 44032000 */ mfc1 $v1, $f4 -/* 121824 802B8214 3C018000 */ lui $at, 0x8000 -/* 121828 802B8218 10000007 */ b .L802B8238 -/* 12182C 802B821C 00611825 */ or $v1, $v1, $at -.L802B8220: -/* 121830 802B8220 10000005 */ b .L802B8238 -/* 121834 802B8224 2403FFFF */ li $v1, -1 -/* 121838 802B8228 44032000 */ mfc1 $v1, $f4 -.L802B822C: -/* 12183C 802B822C 00000000 */ nop -/* 121840 802B8230 0460FFFB */ bltz $v1, .L802B8220 -/* 121844 802B8234 00000000 */ nop -.L802B8238: -/* 121848 802B8238 00607825 */ move $t7, $v1 -/* 12184C 802B823C 000FC080 */ sll $t8, $t7, 2 -/* 121850 802B8240 030FC023 */ subu $t8, $t8, $t7 -/* 121854 802B8244 0018C0C0 */ sll $t8, $t8, 3 -/* 121858 802B8248 030FC023 */ subu $t8, $t8, $t7 -/* 12185C 802B824C 0018C080 */ sll $t8, $t8, 2 -/* 121860 802B8250 030FC023 */ subu $t8, $t8, $t7 -/* 121864 802B8254 0018C040 */ sll $t8, $t8, 1 -/* 121868 802B8258 3303FFFF */ andi $v1, $t8, 0xffff -/* 12186C 802B825C 00432021 */ addu $a0, $v0, $v1 -/* 121870 802B8260 00432823 */ subu $a1, $v0, $v1 -/* 121874 802B8264 30A9FFFF */ andi $t1, $a1, 0xffff -/* 121878 802B8268 3088FFFF */ andi $t0, $a0, 0xffff -/* 12187C 802B826C 44CEF800 */ ctc1 $t6, $31 -/* 121880 802B8270 01002025 */ move $a0, $t0 -/* 121884 802B8274 0C0AE016 */ jal func_802B8058 -/* 121888 802B8278 01202825 */ move $a1, $t1 -/* 12188C 802B827C 24010001 */ li $at, 1 -/* 121890 802B8280 54410004 */ bnel $v0, $at, .L802B8294 -/* 121894 802B8284 3C01BF80 */ lui $at, 0xbf80 -/* 121898 802B8288 1000005D */ b .L802B8400 -/* 12189C 802B828C 4600A006 */ mov.s $f0, $f20 -/* 1218A0 802B8290 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L802B8294: -/* 1218A4 802B8294 44810000 */ mtc1 $at, $f0 -/* 1218A8 802B8298 1000005A */ b .L802B8404 -/* 1218AC 802B829C 8FBF001C */ lw $ra, 0x1c($sp) -/* 1218B0 802B82A0 444AF800 */ cfc1 $t2, $31 -.L802B82A4: -/* 1218B4 802B82A4 44C3F800 */ ctc1 $v1, $31 -/* 1218B8 802B82A8 00E01025 */ move $v0, $a3 -/* 1218BC 802B82AC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 -/* 1218C0 802B82B0 46003224 */ cvt.w.s $f8, $f6 -/* 1218C4 802B82B4 4443F800 */ cfc1 $v1, $31 -/* 1218C8 802B82B8 00000000 */ nop -/* 1218CC 802B82BC 30630078 */ andi $v1, $v1, 0x78 -/* 1218D0 802B82C0 50600013 */ beql $v1, $zero, .L802B8310 -/* 1218D4 802B82C4 44034000 */ mfc1 $v1, $f8 -/* 1218D8 802B82C8 44814000 */ mtc1 $at, $f8 -/* 1218DC 802B82CC 24030001 */ li $v1, 1 -/* 1218E0 802B82D0 46083201 */ sub.s $f8, $f6, $f8 -/* 1218E4 802B82D4 44C3F800 */ ctc1 $v1, $31 -/* 1218E8 802B82D8 00000000 */ nop -/* 1218EC 802B82DC 46004224 */ cvt.w.s $f8, $f8 -/* 1218F0 802B82E0 4443F800 */ cfc1 $v1, $31 -/* 1218F4 802B82E4 00000000 */ nop -/* 1218F8 802B82E8 30630078 */ andi $v1, $v1, 0x78 -/* 1218FC 802B82EC 14600005 */ bnez $v1, .L802B8304 -/* 121900 802B82F0 00000000 */ nop -/* 121904 802B82F4 44034000 */ mfc1 $v1, $f8 -/* 121908 802B82F8 3C018000 */ lui $at, 0x8000 -/* 12190C 802B82FC 10000007 */ b .L802B831C -/* 121910 802B8300 00611825 */ or $v1, $v1, $at -.L802B8304: -/* 121914 802B8304 10000005 */ b .L802B831C -/* 121918 802B8308 2403FFFF */ li $v1, -1 -/* 12191C 802B830C 44034000 */ mfc1 $v1, $f8 -.L802B8310: -/* 121920 802B8310 00000000 */ nop -/* 121924 802B8314 0460FFFB */ bltz $v1, .L802B8304 -/* 121928 802B8318 00000000 */ nop -.L802B831C: -/* 12192C 802B831C 00605825 */ move $t3, $v1 -/* 121930 802B8320 000B6080 */ sll $t4, $t3, 2 -/* 121934 802B8324 018B6023 */ subu $t4, $t4, $t3 -/* 121938 802B8328 000C60C0 */ sll $t4, $t4, 3 -/* 12193C 802B832C 018B6023 */ subu $t4, $t4, $t3 -/* 121940 802B8330 000C6080 */ sll $t4, $t4, 2 -/* 121944 802B8334 018B6023 */ subu $t4, $t4, $t3 -/* 121948 802B8338 000C6040 */ sll $t4, $t4, 1 -/* 12194C 802B833C 3183FFFF */ andi $v1, $t4, 0xffff -/* 121950 802B8340 00432021 */ addu $a0, $v0, $v1 -/* 121954 802B8344 00432823 */ subu $a1, $v0, $v1 -/* 121958 802B8348 30AFFFFF */ andi $t7, $a1, 0xffff -/* 12195C 802B834C 308EFFFF */ andi $t6, $a0, 0xffff -/* 121960 802B8350 44CAF800 */ ctc1 $t2, $31 -/* 121964 802B8354 01C02025 */ move $a0, $t6 -/* 121968 802B8358 AFAE0024 */ sw $t6, 0x24($sp) -/* 12196C 802B835C 01E02825 */ move $a1, $t7 -/* 121970 802B8360 AFAF0020 */ sw $t7, 0x20($sp) -/* 121974 802B8364 A7A6005E */ sh $a2, 0x5e($sp) -/* 121978 802B8368 0C0AE016 */ jal func_802B8058 -/* 12197C 802B836C E7AE006C */ swc1 $f14, 0x6c($sp) -/* 121980 802B8370 24010001 */ li $at, 1 -/* 121984 802B8374 14410003 */ bne $v0, $at, .L802B8384 -/* 121988 802B8378 C7AE006C */ lwc1 $f14, 0x6c($sp) -/* 12198C 802B837C 10000020 */ b .L802B8400 -/* 121990 802B8380 4600A006 */ mov.s $f0, $f20 -.L802B8384: -/* 121994 802B8384 0C0ADF2A */ jal func_802B7CA8 -/* 121998 802B8388 46147303 */ div.s $f12, $f14, $f20 -/* 12199C 802B838C 97A7005E */ lhu $a3, 0x5e($sp) -/* 1219A0 802B8390 A7A2005A */ sh $v0, 0x5a($sp) -/* 1219A4 802B8394 97A40026 */ lhu $a0, 0x26($sp) -/* 1219A8 802B8398 00E23021 */ addu $a2, $a3, $v0 -/* 1219AC 802B839C 30D9FFFF */ andi $t9, $a2, 0xffff -/* 1219B0 802B83A0 03203025 */ move $a2, $t9 -/* 1219B4 802B83A4 97A50022 */ lhu $a1, 0x22($sp) -/* 1219B8 802B83A8 0C0AE016 */ jal func_802B8058 -/* 1219BC 802B83AC AFA70028 */ sw $a3, 0x28($sp) -/* 1219C0 802B83B0 24010001 */ li $at, 1 -/* 1219C4 802B83B4 14410003 */ bne $v0, $at, .L802B83C4 -/* 1219C8 802B83B8 8FA70028 */ lw $a3, 0x28($sp) -/* 1219CC 802B83BC 10000010 */ b .L802B8400 -/* 1219D0 802B83C0 4600A006 */ mov.s $f0, $f20 -.L802B83C4: -/* 1219D4 802B83C4 97A8005A */ lhu $t0, 0x5a($sp) -/* 1219D8 802B83C8 97A40026 */ lhu $a0, 0x26($sp) -/* 1219DC 802B83CC 97A50022 */ lhu $a1, 0x22($sp) -/* 1219E0 802B83D0 00E83023 */ subu $a2, $a3, $t0 -/* 1219E4 802B83D4 30C9FFFF */ andi $t1, $a2, 0xffff -/* 1219E8 802B83D8 0C0AE016 */ jal func_802B8058 -/* 1219EC 802B83DC 01203025 */ move $a2, $t1 -/* 1219F0 802B83E0 24010001 */ li $at, 1 -/* 1219F4 802B83E4 54410004 */ bnel $v0, $at, .L802B83F8 -/* 1219F8 802B83E8 3C01BF80 */ lui $at, 0xbf80 -/* 1219FC 802B83EC 10000004 */ b .L802B8400 -/* 121A00 802B83F0 4600A006 */ mov.s $f0, $f20 -/* 121A04 802B83F4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 -.L802B83F8: -/* 121A08 802B83F8 44810000 */ mtc1 $at, $f0 -/* 121A0C 802B83FC 00000000 */ nop -.L802B8400: -/* 121A10 802B8400 8FBF001C */ lw $ra, 0x1c($sp) -.L802B8404: -/* 121A14 802B8404 D7B40010 */ ldc1 $f20, 0x10($sp) -/* 121A18 802B8408 27BD0060 */ addiu $sp, $sp, 0x60 -/* 121A1C 802B840C 03E00008 */ jr $ra -/* 121A20 802B8410 00000000 */ nop +glabel func_802B80D0 +/* 1216E0 802B80D0 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 1216E4 802B80D4 AFBF001C */ sw $ra, 0x1c($sp) +/* 1216E8 802B80D8 F7B40010 */ sdc1 $f20, 0x10($sp) +/* 1216EC 802B80DC AFA60068 */ sw $a2, 0x68($sp) +/* 1216F0 802B80E0 C4860000 */ lwc1 $f6, ($a0) +/* 1216F4 802B80E4 C4A40000 */ lwc1 $f4, ($a1) +/* 1216F8 802B80E8 C7AC0074 */ lwc1 $f12, 0x74($sp) +/* 1216FC 802B80EC 44877000 */ mtc1 $a3, $f14 +/* 121700 802B80F0 46062001 */ sub.s $f0, $f4, $f6 +/* 121704 802B80F4 97A7006A */ lhu $a3, 0x6a($sp) +/* 121708 802B80F8 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 12170C 802B80FC 46000002 */ mul.s $f0, $f0, $f0 +/* 121710 802B8100 4600603C */ c.lt.s $f12, $f0 +/* 121714 802B8104 00000000 */ nop +/* 121718 802B8108 45020005 */ bc1fl .L802B8120 +/* 12171C 802B810C C4A80008 */ lwc1 $f8, 8($a1) +/* 121720 802B8110 44810000 */ mtc1 $at, $f0 +/* 121724 802B8114 100000BB */ b .L802B8404 +/* 121728 802B8118 8FBF001C */ lw $ra, 0x1c($sp) +/* 12172C 802B811C C4A80008 */ lwc1 $f8, 8($a1) +.L802B8120: +/* 121730 802B8120 C48A0008 */ lwc1 $f10, 8($a0) +/* 121734 802B8124 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 121738 802B8128 460A4081 */ sub.s $f2, $f8, $f10 +/* 12173C 802B812C 46021082 */ mul.s $f2, $f2, $f2 +/* 121740 802B8130 4602603C */ c.lt.s $f12, $f2 +/* 121744 802B8134 00000000 */ nop +/* 121748 802B8138 45020005 */ bc1fl .L802B8150 +/* 12174C 802B813C 46020500 */ add.s $f20, $f0, $f2 +/* 121750 802B8140 44810000 */ mtc1 $at, $f0 +/* 121754 802B8144 100000AF */ b .L802B8404 +/* 121758 802B8148 8FBF001C */ lw $ra, 0x1c($sp) +/* 12175C 802B814C 46020500 */ add.s $f20, $f0, $f2 +.L802B8150: +/* 121760 802B8150 460EA03C */ c.lt.s $f20, $f14 +/* 121764 802B8154 00000000 */ nop +/* 121768 802B8158 45020004 */ bc1fl .L802B816C +/* 12176C 802B815C 4614603C */ c.lt.s $f12, $f20 +/* 121770 802B8160 100000A7 */ b .L802B8400 +/* 121774 802B8164 4600A006 */ mov.s $f0, $f20 +/* 121778 802B8168 4614603C */ c.lt.s $f12, $f20 +.L802B816C: +/* 12177C 802B816C 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +/* 121780 802B8170 45020005 */ bc1fl .L802B8188 +/* 121784 802B8174 A7A7006A */ sh $a3, 0x6a($sp) +/* 121788 802B8178 44810000 */ mtc1 $at, $f0 +/* 12178C 802B817C 100000A1 */ b .L802B8404 +/* 121790 802B8180 8FBF001C */ lw $ra, 0x1c($sp) +/* 121794 802B8184 A7A7006A */ sh $a3, 0x6a($sp) +.L802B8188: +/* 121798 802B8188 0C0AD489 */ jal func_802B5224 +/* 12179C 802B818C E7AE006C */ swc1 $f14, 0x6c($sp) +/* 1217A0 802B8190 C7AE006C */ lwc1 $f14, 0x6c($sp) +/* 1217A4 802B8194 44808000 */ mtc1 $zero, $f16 +/* 1217A8 802B8198 97A7006A */ lhu $a3, 0x6a($sp) +/* 1217AC 802B819C 3046FFFF */ andi $a2, $v0, 0xffff +/* 1217B0 802B81A0 46107032 */ c.eq.s $f14, $f16 +/* 1217B4 802B81A4 C7B20070 */ lwc1 $f18, 0x70($sp) +/* 1217B8 802B81A8 C7A60070 */ lwc1 $f6, 0x70($sp) +/* 1217BC 802B81AC 24030001 */ li $v1, 1 +/* 1217C0 802B81B0 4502003C */ bc1fl .L802B82A4 +/* 1217C4 802B81B4 444AF800 */ cfc1 $t2, $31 +/* 1217C8 802B81B8 444EF800 */ cfc1 $t6, $31 +/* 1217CC 802B81BC 24030001 */ li $v1, 1 +/* 1217D0 802B81C0 44C3F800 */ ctc1 $v1, $31 +/* 1217D4 802B81C4 00E01025 */ move $v0, $a3 +/* 1217D8 802B81C8 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 1217DC 802B81CC 46009124 */ cvt.w.s $f4, $f18 +/* 1217E0 802B81D0 4443F800 */ cfc1 $v1, $31 +/* 1217E4 802B81D4 00000000 */ nop +/* 1217E8 802B81D8 30630078 */ andi $v1, $v1, 0x78 +/* 1217EC 802B81DC 50600013 */ beql $v1, $zero, .L802B822C +/* 1217F0 802B81E0 44032000 */ mfc1 $v1, $f4 +/* 1217F4 802B81E4 44812000 */ mtc1 $at, $f4 +/* 1217F8 802B81E8 24030001 */ li $v1, 1 +/* 1217FC 802B81EC 46049101 */ sub.s $f4, $f18, $f4 +/* 121800 802B81F0 44C3F800 */ ctc1 $v1, $31 +/* 121804 802B81F4 00000000 */ nop +/* 121808 802B81F8 46002124 */ cvt.w.s $f4, $f4 +/* 12180C 802B81FC 4443F800 */ cfc1 $v1, $31 +/* 121810 802B8200 00000000 */ nop +/* 121814 802B8204 30630078 */ andi $v1, $v1, 0x78 +/* 121818 802B8208 14600005 */ bnez $v1, .L802B8220 +/* 12181C 802B820C 00000000 */ nop +/* 121820 802B8210 44032000 */ mfc1 $v1, $f4 +/* 121824 802B8214 3C018000 */ lui $at, 0x8000 +/* 121828 802B8218 10000007 */ b .L802B8238 +/* 12182C 802B821C 00611825 */ or $v1, $v1, $at +.L802B8220: +/* 121830 802B8220 10000005 */ b .L802B8238 +/* 121834 802B8224 2403FFFF */ li $v1, -1 +/* 121838 802B8228 44032000 */ mfc1 $v1, $f4 +.L802B822C: +/* 12183C 802B822C 00000000 */ nop +/* 121840 802B8230 0460FFFB */ bltz $v1, .L802B8220 +/* 121844 802B8234 00000000 */ nop +.L802B8238: +/* 121848 802B8238 00607825 */ move $t7, $v1 +/* 12184C 802B823C 000FC080 */ sll $t8, $t7, 2 +/* 121850 802B8240 030FC023 */ subu $t8, $t8, $t7 +/* 121854 802B8244 0018C0C0 */ sll $t8, $t8, 3 +/* 121858 802B8248 030FC023 */ subu $t8, $t8, $t7 +/* 12185C 802B824C 0018C080 */ sll $t8, $t8, 2 +/* 121860 802B8250 030FC023 */ subu $t8, $t8, $t7 +/* 121864 802B8254 0018C040 */ sll $t8, $t8, 1 +/* 121868 802B8258 3303FFFF */ andi $v1, $t8, 0xffff +/* 12186C 802B825C 00432021 */ addu $a0, $v0, $v1 +/* 121870 802B8260 00432823 */ subu $a1, $v0, $v1 +/* 121874 802B8264 30A9FFFF */ andi $t1, $a1, 0xffff +/* 121878 802B8268 3088FFFF */ andi $t0, $a0, 0xffff +/* 12187C 802B826C 44CEF800 */ ctc1 $t6, $31 +/* 121880 802B8270 01002025 */ move $a0, $t0 +/* 121884 802B8274 0C0AE016 */ jal func_802B8058 +/* 121888 802B8278 01202825 */ move $a1, $t1 +/* 12188C 802B827C 24010001 */ li $at, 1 +/* 121890 802B8280 54410004 */ bnel $v0, $at, .L802B8294 +/* 121894 802B8284 3C01BF80 */ lui $at, 0xbf80 +/* 121898 802B8288 1000005D */ b .L802B8400 +/* 12189C 802B828C 4600A006 */ mov.s $f0, $f20 +/* 1218A0 802B8290 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +.L802B8294: +/* 1218A4 802B8294 44810000 */ mtc1 $at, $f0 +/* 1218A8 802B8298 1000005A */ b .L802B8404 +/* 1218AC 802B829C 8FBF001C */ lw $ra, 0x1c($sp) +/* 1218B0 802B82A0 444AF800 */ cfc1 $t2, $31 +.L802B82A4: +/* 1218B4 802B82A4 44C3F800 */ ctc1 $v1, $31 +/* 1218B8 802B82A8 00E01025 */ move $v0, $a3 +/* 1218BC 802B82AC 3C014F00 */ li $at, 0x4F000000 # 2147483648.000000 +/* 1218C0 802B82B0 46003224 */ cvt.w.s $f8, $f6 +/* 1218C4 802B82B4 4443F800 */ cfc1 $v1, $31 +/* 1218C8 802B82B8 00000000 */ nop +/* 1218CC 802B82BC 30630078 */ andi $v1, $v1, 0x78 +/* 1218D0 802B82C0 50600013 */ beql $v1, $zero, .L802B8310 +/* 1218D4 802B82C4 44034000 */ mfc1 $v1, $f8 +/* 1218D8 802B82C8 44814000 */ mtc1 $at, $f8 +/* 1218DC 802B82CC 24030001 */ li $v1, 1 +/* 1218E0 802B82D0 46083201 */ sub.s $f8, $f6, $f8 +/* 1218E4 802B82D4 44C3F800 */ ctc1 $v1, $31 +/* 1218E8 802B82D8 00000000 */ nop +/* 1218EC 802B82DC 46004224 */ cvt.w.s $f8, $f8 +/* 1218F0 802B82E0 4443F800 */ cfc1 $v1, $31 +/* 1218F4 802B82E4 00000000 */ nop +/* 1218F8 802B82E8 30630078 */ andi $v1, $v1, 0x78 +/* 1218FC 802B82EC 14600005 */ bnez $v1, .L802B8304 +/* 121900 802B82F0 00000000 */ nop +/* 121904 802B82F4 44034000 */ mfc1 $v1, $f8 +/* 121908 802B82F8 3C018000 */ lui $at, 0x8000 +/* 12190C 802B82FC 10000007 */ b .L802B831C +/* 121910 802B8300 00611825 */ or $v1, $v1, $at +.L802B8304: +/* 121914 802B8304 10000005 */ b .L802B831C +/* 121918 802B8308 2403FFFF */ li $v1, -1 +/* 12191C 802B830C 44034000 */ mfc1 $v1, $f8 +.L802B8310: +/* 121920 802B8310 00000000 */ nop +/* 121924 802B8314 0460FFFB */ bltz $v1, .L802B8304 +/* 121928 802B8318 00000000 */ nop +.L802B831C: +/* 12192C 802B831C 00605825 */ move $t3, $v1 +/* 121930 802B8320 000B6080 */ sll $t4, $t3, 2 +/* 121934 802B8324 018B6023 */ subu $t4, $t4, $t3 +/* 121938 802B8328 000C60C0 */ sll $t4, $t4, 3 +/* 12193C 802B832C 018B6023 */ subu $t4, $t4, $t3 +/* 121940 802B8330 000C6080 */ sll $t4, $t4, 2 +/* 121944 802B8334 018B6023 */ subu $t4, $t4, $t3 +/* 121948 802B8338 000C6040 */ sll $t4, $t4, 1 +/* 12194C 802B833C 3183FFFF */ andi $v1, $t4, 0xffff +/* 121950 802B8340 00432021 */ addu $a0, $v0, $v1 +/* 121954 802B8344 00432823 */ subu $a1, $v0, $v1 +/* 121958 802B8348 30AFFFFF */ andi $t7, $a1, 0xffff +/* 12195C 802B834C 308EFFFF */ andi $t6, $a0, 0xffff +/* 121960 802B8350 44CAF800 */ ctc1 $t2, $31 +/* 121964 802B8354 01C02025 */ move $a0, $t6 +/* 121968 802B8358 AFAE0024 */ sw $t6, 0x24($sp) +/* 12196C 802B835C 01E02825 */ move $a1, $t7 +/* 121970 802B8360 AFAF0020 */ sw $t7, 0x20($sp) +/* 121974 802B8364 A7A6005E */ sh $a2, 0x5e($sp) +/* 121978 802B8368 0C0AE016 */ jal func_802B8058 +/* 12197C 802B836C E7AE006C */ swc1 $f14, 0x6c($sp) +/* 121980 802B8370 24010001 */ li $at, 1 +/* 121984 802B8374 14410003 */ bne $v0, $at, .L802B8384 +/* 121988 802B8378 C7AE006C */ lwc1 $f14, 0x6c($sp) +/* 12198C 802B837C 10000020 */ b .L802B8400 +/* 121990 802B8380 4600A006 */ mov.s $f0, $f20 +.L802B8384: +/* 121994 802B8384 0C0ADF2A */ jal func_802B7CA8 +/* 121998 802B8388 46147303 */ div.s $f12, $f14, $f20 +/* 12199C 802B838C 97A7005E */ lhu $a3, 0x5e($sp) +/* 1219A0 802B8390 A7A2005A */ sh $v0, 0x5a($sp) +/* 1219A4 802B8394 97A40026 */ lhu $a0, 0x26($sp) +/* 1219A8 802B8398 00E23021 */ addu $a2, $a3, $v0 +/* 1219AC 802B839C 30D9FFFF */ andi $t9, $a2, 0xffff +/* 1219B0 802B83A0 03203025 */ move $a2, $t9 +/* 1219B4 802B83A4 97A50022 */ lhu $a1, 0x22($sp) +/* 1219B8 802B83A8 0C0AE016 */ jal func_802B8058 +/* 1219BC 802B83AC AFA70028 */ sw $a3, 0x28($sp) +/* 1219C0 802B83B0 24010001 */ li $at, 1 +/* 1219C4 802B83B4 14410003 */ bne $v0, $at, .L802B83C4 +/* 1219C8 802B83B8 8FA70028 */ lw $a3, 0x28($sp) +/* 1219CC 802B83BC 10000010 */ b .L802B8400 +/* 1219D0 802B83C0 4600A006 */ mov.s $f0, $f20 +.L802B83C4: +/* 1219D4 802B83C4 97A8005A */ lhu $t0, 0x5a($sp) +/* 1219D8 802B83C8 97A40026 */ lhu $a0, 0x26($sp) +/* 1219DC 802B83CC 97A50022 */ lhu $a1, 0x22($sp) +/* 1219E0 802B83D0 00E83023 */ subu $a2, $a3, $t0 +/* 1219E4 802B83D4 30C9FFFF */ andi $t1, $a2, 0xffff +/* 1219E8 802B83D8 0C0AE016 */ jal func_802B8058 +/* 1219EC 802B83DC 01203025 */ move $a2, $t1 +/* 1219F0 802B83E0 24010001 */ li $at, 1 +/* 1219F4 802B83E4 54410004 */ bnel $v0, $at, .L802B83F8 +/* 1219F8 802B83E8 3C01BF80 */ lui $at, 0xbf80 +/* 1219FC 802B83EC 10000004 */ b .L802B8400 +/* 121A00 802B83F0 4600A006 */ mov.s $f0, $f20 +/* 121A04 802B83F4 3C01BF80 */ li $at, 0xBF800000 # -1.000000 +.L802B83F8: +/* 121A08 802B83F8 44810000 */ mtc1 $at, $f0 +/* 121A0C 802B83FC 00000000 */ nop +.L802B8400: +/* 121A10 802B8400 8FBF001C */ lw $ra, 0x1c($sp) +.L802B8404: +/* 121A14 802B8404 D7B40010 */ ldc1 $f20, 0x10($sp) +/* 121A18 802B8408 27BD0060 */ addiu $sp, $sp, 0x60 +/* 121A1C 802B840C 03E00008 */ jr $ra +/* 121A20 802B8410 00000000 */ nop diff --git a/asm/non_matchings/math_util/func_802B8414.s b/asm/non_matchings/math_util/func_802B8414.s index a06924070..a8ff26c5c 100644 --- a/asm/non_matchings/math_util/func_802B8414.s +++ b/asm/non_matchings/math_util/func_802B8414.s @@ -1,133 +1,133 @@ -glabel func_802B8414 -/* 121A24 802B8414 0004CE02 */ srl $t9, $a0, 0x18 -/* 121A28 802B8418 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 121A2C 802B841C 00194080 */ sll $t0, $t9, 2 -/* 121A30 802B8420 3C098015 */ lui $t1, %hi(gSegmentTable) -/* 121A34 802B8424 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* 121A38 802B8428 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* 121A3C 802B842C 01284821 */ addu $t1, $t1, $t0 -/* 121A40 802B8430 8D290258 */ lw $t1, %lo(gSegmentTable)($t1) -/* 121A44 802B8434 00815024 */ and $t2, $a0, $at -/* 121A48 802B8438 AFB00014 */ sw $s0, 0x14($sp) -/* 121A4C 802B843C AFA40058 */ sw $a0, 0x58($sp) -/* 121A50 802B8440 AFBF001C */ sw $ra, 0x1c($sp) -/* 121A54 802B8444 AFB10018 */ sw $s1, 0x18($sp) -/* 121A58 802B8448 3C018000 */ lui $at, 0x8000 -/* 121A5C 802B844C 30E4FFFF */ andi $a0, $a3, 0xffff -/* 121A60 802B8450 012A8021 */ addu $s0, $t1, $t2 -/* 121A64 802B8454 00A08825 */ move $s1, $a1 -/* 121A68 802B8458 AFA60060 */ sw $a2, 0x60($sp) -/* 121A6C 802B845C AFA70064 */ sw $a3, 0x64($sp) -/* 121A70 802B8460 02018021 */ addu $s0, $s0, $at -/* 121A74 802B8464 0C0AE006 */ jal sins -/* 121A78 802B8468 AFA40020 */ sw $a0, 0x20($sp) -/* 121A7C 802B846C 0C0AE00E */ jal coss -/* 121A80 802B8470 8FA40020 */ lw $a0, 0x20($sp) -/* 121A84 802B8474 97A40062 */ lhu $a0, 0x62($sp) -/* 121A88 802B8478 0C0AE006 */ jal sins -/* 121A8C 802B847C AFA40020 */ sw $a0, 0x20($sp) -/* 121A90 802B8480 0C0AE00E */ jal coss -/* 121A94 802B8484 8FA40020 */ lw $a0, 0x20($sp) -/* 121A98 802B8488 3C0142FE */ li $at, 0x42FE0000 # 127.000000 -/* 121A9C 802B848C 44810000 */ mtc1 $at, $f0 -/* 121AA0 802B8490 44801000 */ mtc1 $zero, $f2 -/* 121AA4 802B8494 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 121AA8 802B8498 44812000 */ mtc1 $at, $f4 -/* 121AAC 802B849C E7A20040 */ swc1 $f2, 0x40($sp) -/* 121AB0 802B84A0 E7A20044 */ swc1 $f2, 0x44($sp) -/* 121AB4 802B84A4 E7A40048 */ swc1 $f4, 0x48($sp) -/* 121AB8 802B84A8 C6280000 */ lwc1 $f8, ($s1) -/* 121ABC 802B84AC C7A60040 */ lwc1 $f6, 0x40($sp) -/* 121AC0 802B84B0 C6320010 */ lwc1 $f18, 0x10($s1) -/* 121AC4 802B84B4 C7B00044 */ lwc1 $f16, 0x44($sp) -/* 121AC8 802B84B8 46083282 */ mul.s $f10, $f6, $f8 -/* 121ACC 802B84BC 8FA40068 */ lw $a0, 0x68($sp) -/* 121AD0 802B84C0 00001025 */ move $v0, $zero -/* 121AD4 802B84C4 46128202 */ mul.s $f8, $f16, $f18 -/* 121AD8 802B84C8 30850003 */ andi $a1, $a0, 3 -/* 121ADC 802B84CC 46085480 */ add.s $f18, $f10, $f8 -/* 121AE0 802B84D0 C62A0020 */ lwc1 $f10, 0x20($s1) -/* 121AE4 802B84D4 46045202 */ mul.s $f8, $f10, $f4 -/* 121AE8 802B84D8 46124280 */ add.s $f10, $f8, $f18 -/* 121AEC 802B84DC 46005202 */ mul.s $f8, $f10, $f0 -/* 121AF0 802B84E0 4600448D */ trunc.w.s $f18, $f8 -/* 121AF4 802B84E4 440C9000 */ mfc1 $t4, $f18 -/* 121AF8 802B84E8 00000000 */ nop -/* 121AFC 802B84EC A3AC003C */ sb $t4, 0x3c($sp) -/* 121B00 802B84F0 C62A0004 */ lwc1 $f10, 4($s1) -/* 121B04 802B84F4 C6320014 */ lwc1 $f18, 0x14($s1) -/* 121B08 802B84F8 460A3202 */ mul.s $f8, $f6, $f10 -/* 121B0C 802B84FC 00000000 */ nop -/* 121B10 802B8500 46128282 */ mul.s $f10, $f16, $f18 -/* 121B14 802B8504 460A4480 */ add.s $f18, $f8, $f10 -/* 121B18 802B8508 C6280024 */ lwc1 $f8, 0x24($s1) -/* 121B1C 802B850C 46044282 */ mul.s $f10, $f8, $f4 -/* 121B20 802B8510 46125200 */ add.s $f8, $f10, $f18 -/* 121B24 802B8514 46004282 */ mul.s $f10, $f8, $f0 -/* 121B28 802B8518 4600548D */ trunc.w.s $f18, $f10 -/* 121B2C 802B851C 440E9000 */ mfc1 $t6, $f18 -/* 121B30 802B8520 00000000 */ nop -/* 121B34 802B8524 A3AE003D */ sb $t6, 0x3d($sp) -/* 121B38 802B8528 C6280008 */ lwc1 $f8, 8($s1) -/* 121B3C 802B852C C6320018 */ lwc1 $f18, 0x18($s1) -/* 121B40 802B8530 46083282 */ mul.s $f10, $f6, $f8 -/* 121B44 802B8534 00000000 */ nop -/* 121B48 802B8538 46128182 */ mul.s $f6, $f16, $f18 -/* 121B4C 802B853C C6300028 */ lwc1 $f16, 0x28($s1) -/* 121B50 802B8540 46048482 */ mul.s $f18, $f16, $f4 -/* 121B54 802B8544 46065200 */ add.s $f8, $f10, $f6 -/* 121B58 802B8548 46089280 */ add.s $f10, $f18, $f8 -/* 121B5C 802B854C 46005182 */ mul.s $f6, $f10, $f0 -/* 121B60 802B8550 4600340D */ trunc.w.s $f16, $f6 -/* 121B64 802B8554 44198000 */ mfc1 $t9, $f16 -/* 121B68 802B8558 18800029 */ blez $a0, .L802B8600 -/* 121B6C 802B855C A3B9003E */ sb $t9, 0x3e($sp) -/* 121B70 802B8560 10A0000C */ beqz $a1, .L802B8594 -/* 121B74 802B8564 00A01825 */ move $v1, $a1 -.L802B8568: -/* 121B78 802B8568 83A8003C */ lb $t0, 0x3c($sp) -/* 121B7C 802B856C 24420001 */ addiu $v0, $v0, 1 -/* 121B80 802B8570 26100018 */ addiu $s0, $s0, 0x18 -/* 121B84 802B8574 A208FFF8 */ sb $t0, -8($s0) -/* 121B88 802B8578 83B8003D */ lb $t8, 0x3d($sp) -/* 121B8C 802B857C A218FFF9 */ sb $t8, -7($s0) -/* 121B90 802B8580 83A9003E */ lb $t1, 0x3e($sp) -/* 121B94 802B8584 1462FFF8 */ bne $v1, $v0, .L802B8568 -/* 121B98 802B8588 A209FFFA */ sb $t1, -6($s0) -/* 121B9C 802B858C 5044001D */ beql $v0, $a0, .L802B8604 -/* 121BA0 802B8590 8FBF001C */ lw $ra, 0x1c($sp) -.L802B8594: -/* 121BA4 802B8594 83AA003C */ lb $t2, 0x3c($sp) -/* 121BA8 802B8598 24420004 */ addiu $v0, $v0, 4 -/* 121BAC 802B859C 26100060 */ addiu $s0, $s0, 0x60 -/* 121BB0 802B85A0 A20AFFB0 */ sb $t2, -0x50($s0) -/* 121BB4 802B85A4 83AB003D */ lb $t3, 0x3d($sp) -/* 121BB8 802B85A8 A20BFFB1 */ sb $t3, -0x4f($s0) -/* 121BBC 802B85AC 83AC003E */ lb $t4, 0x3e($sp) -/* 121BC0 802B85B0 A20CFFB2 */ sb $t4, -0x4e($s0) -/* 121BC4 802B85B4 83AD003C */ lb $t5, 0x3c($sp) -/* 121BC8 802B85B8 A20DFFC8 */ sb $t5, -0x38($s0) -/* 121BCC 802B85BC 83AE003D */ lb $t6, 0x3d($sp) -/* 121BD0 802B85C0 A20EFFC9 */ sb $t6, -0x37($s0) -/* 121BD4 802B85C4 83AF003E */ lb $t7, 0x3e($sp) -/* 121BD8 802B85C8 A20FFFCA */ sb $t7, -0x36($s0) -/* 121BDC 802B85CC 83B9003C */ lb $t9, 0x3c($sp) -/* 121BE0 802B85D0 A219FFE0 */ sb $t9, -0x20($s0) -/* 121BE4 802B85D4 83A8003D */ lb $t0, 0x3d($sp) -/* 121BE8 802B85D8 A208FFE1 */ sb $t0, -0x1f($s0) -/* 121BEC 802B85DC 83B8003E */ lb $t8, 0x3e($sp) -/* 121BF0 802B85E0 A218FFE2 */ sb $t8, -0x1e($s0) -/* 121BF4 802B85E4 83A9003C */ lb $t1, 0x3c($sp) -/* 121BF8 802B85E8 A209FFF8 */ sb $t1, -8($s0) -/* 121BFC 802B85EC 83AA003D */ lb $t2, 0x3d($sp) -/* 121C00 802B85F0 A20AFFF9 */ sb $t2, -7($s0) -/* 121C04 802B85F4 83AB003E */ lb $t3, 0x3e($sp) -/* 121C08 802B85F8 1444FFE6 */ bne $v0, $a0, .L802B8594 -/* 121C0C 802B85FC A20BFFFA */ sb $t3, -6($s0) -.L802B8600: -/* 121C10 802B8600 8FBF001C */ lw $ra, 0x1c($sp) -.L802B8604: -/* 121C14 802B8604 8FB00014 */ lw $s0, 0x14($sp) -/* 121C18 802B8608 8FB10018 */ lw $s1, 0x18($sp) -/* 121C1C 802B860C 03E00008 */ jr $ra -/* 121C20 802B8610 27BD0058 */ addiu $sp, $sp, 0x58 +glabel func_802B8414 +/* 121A24 802B8414 0004CE02 */ srl $t9, $a0, 0x18 +/* 121A28 802B8418 27BDFFA8 */ addiu $sp, $sp, -0x58 +/* 121A2C 802B841C 00194080 */ sll $t0, $t9, 2 +/* 121A30 802B8420 3C098015 */ lui $t1, %hi(gSegmentTable) +/* 121A34 802B8424 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff +/* 121A38 802B8428 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff +/* 121A3C 802B842C 01284821 */ addu $t1, $t1, $t0 +/* 121A40 802B8430 8D290258 */ lw $t1, %lo(gSegmentTable)($t1) +/* 121A44 802B8434 00815024 */ and $t2, $a0, $at +/* 121A48 802B8438 AFB00014 */ sw $s0, 0x14($sp) +/* 121A4C 802B843C AFA40058 */ sw $a0, 0x58($sp) +/* 121A50 802B8440 AFBF001C */ sw $ra, 0x1c($sp) +/* 121A54 802B8444 AFB10018 */ sw $s1, 0x18($sp) +/* 121A58 802B8448 3C018000 */ lui $at, 0x8000 +/* 121A5C 802B844C 30E4FFFF */ andi $a0, $a3, 0xffff +/* 121A60 802B8450 012A8021 */ addu $s0, $t1, $t2 +/* 121A64 802B8454 00A08825 */ move $s1, $a1 +/* 121A68 802B8458 AFA60060 */ sw $a2, 0x60($sp) +/* 121A6C 802B845C AFA70064 */ sw $a3, 0x64($sp) +/* 121A70 802B8460 02018021 */ addu $s0, $s0, $at +/* 121A74 802B8464 0C0AE006 */ jal sins +/* 121A78 802B8468 AFA40020 */ sw $a0, 0x20($sp) +/* 121A7C 802B846C 0C0AE00E */ jal coss +/* 121A80 802B8470 8FA40020 */ lw $a0, 0x20($sp) +/* 121A84 802B8474 97A40062 */ lhu $a0, 0x62($sp) +/* 121A88 802B8478 0C0AE006 */ jal sins +/* 121A8C 802B847C AFA40020 */ sw $a0, 0x20($sp) +/* 121A90 802B8480 0C0AE00E */ jal coss +/* 121A94 802B8484 8FA40020 */ lw $a0, 0x20($sp) +/* 121A98 802B8488 3C0142FE */ li $at, 0x42FE0000 # 127.000000 +/* 121A9C 802B848C 44810000 */ mtc1 $at, $f0 +/* 121AA0 802B8490 44801000 */ mtc1 $zero, $f2 +/* 121AA4 802B8494 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 121AA8 802B8498 44812000 */ mtc1 $at, $f4 +/* 121AAC 802B849C E7A20040 */ swc1 $f2, 0x40($sp) +/* 121AB0 802B84A0 E7A20044 */ swc1 $f2, 0x44($sp) +/* 121AB4 802B84A4 E7A40048 */ swc1 $f4, 0x48($sp) +/* 121AB8 802B84A8 C6280000 */ lwc1 $f8, ($s1) +/* 121ABC 802B84AC C7A60040 */ lwc1 $f6, 0x40($sp) +/* 121AC0 802B84B0 C6320010 */ lwc1 $f18, 0x10($s1) +/* 121AC4 802B84B4 C7B00044 */ lwc1 $f16, 0x44($sp) +/* 121AC8 802B84B8 46083282 */ mul.s $f10, $f6, $f8 +/* 121ACC 802B84BC 8FA40068 */ lw $a0, 0x68($sp) +/* 121AD0 802B84C0 00001025 */ move $v0, $zero +/* 121AD4 802B84C4 46128202 */ mul.s $f8, $f16, $f18 +/* 121AD8 802B84C8 30850003 */ andi $a1, $a0, 3 +/* 121ADC 802B84CC 46085480 */ add.s $f18, $f10, $f8 +/* 121AE0 802B84D0 C62A0020 */ lwc1 $f10, 0x20($s1) +/* 121AE4 802B84D4 46045202 */ mul.s $f8, $f10, $f4 +/* 121AE8 802B84D8 46124280 */ add.s $f10, $f8, $f18 +/* 121AEC 802B84DC 46005202 */ mul.s $f8, $f10, $f0 +/* 121AF0 802B84E0 4600448D */ trunc.w.s $f18, $f8 +/* 121AF4 802B84E4 440C9000 */ mfc1 $t4, $f18 +/* 121AF8 802B84E8 00000000 */ nop +/* 121AFC 802B84EC A3AC003C */ sb $t4, 0x3c($sp) +/* 121B00 802B84F0 C62A0004 */ lwc1 $f10, 4($s1) +/* 121B04 802B84F4 C6320014 */ lwc1 $f18, 0x14($s1) +/* 121B08 802B84F8 460A3202 */ mul.s $f8, $f6, $f10 +/* 121B0C 802B84FC 00000000 */ nop +/* 121B10 802B8500 46128282 */ mul.s $f10, $f16, $f18 +/* 121B14 802B8504 460A4480 */ add.s $f18, $f8, $f10 +/* 121B18 802B8508 C6280024 */ lwc1 $f8, 0x24($s1) +/* 121B1C 802B850C 46044282 */ mul.s $f10, $f8, $f4 +/* 121B20 802B8510 46125200 */ add.s $f8, $f10, $f18 +/* 121B24 802B8514 46004282 */ mul.s $f10, $f8, $f0 +/* 121B28 802B8518 4600548D */ trunc.w.s $f18, $f10 +/* 121B2C 802B851C 440E9000 */ mfc1 $t6, $f18 +/* 121B30 802B8520 00000000 */ nop +/* 121B34 802B8524 A3AE003D */ sb $t6, 0x3d($sp) +/* 121B38 802B8528 C6280008 */ lwc1 $f8, 8($s1) +/* 121B3C 802B852C C6320018 */ lwc1 $f18, 0x18($s1) +/* 121B40 802B8530 46083282 */ mul.s $f10, $f6, $f8 +/* 121B44 802B8534 00000000 */ nop +/* 121B48 802B8538 46128182 */ mul.s $f6, $f16, $f18 +/* 121B4C 802B853C C6300028 */ lwc1 $f16, 0x28($s1) +/* 121B50 802B8540 46048482 */ mul.s $f18, $f16, $f4 +/* 121B54 802B8544 46065200 */ add.s $f8, $f10, $f6 +/* 121B58 802B8548 46089280 */ add.s $f10, $f18, $f8 +/* 121B5C 802B854C 46005182 */ mul.s $f6, $f10, $f0 +/* 121B60 802B8550 4600340D */ trunc.w.s $f16, $f6 +/* 121B64 802B8554 44198000 */ mfc1 $t9, $f16 +/* 121B68 802B8558 18800029 */ blez $a0, .L802B8600 +/* 121B6C 802B855C A3B9003E */ sb $t9, 0x3e($sp) +/* 121B70 802B8560 10A0000C */ beqz $a1, .L802B8594 +/* 121B74 802B8564 00A01825 */ move $v1, $a1 +.L802B8568: +/* 121B78 802B8568 83A8003C */ lb $t0, 0x3c($sp) +/* 121B7C 802B856C 24420001 */ addiu $v0, $v0, 1 +/* 121B80 802B8570 26100018 */ addiu $s0, $s0, 0x18 +/* 121B84 802B8574 A208FFF8 */ sb $t0, -8($s0) +/* 121B88 802B8578 83B8003D */ lb $t8, 0x3d($sp) +/* 121B8C 802B857C A218FFF9 */ sb $t8, -7($s0) +/* 121B90 802B8580 83A9003E */ lb $t1, 0x3e($sp) +/* 121B94 802B8584 1462FFF8 */ bne $v1, $v0, .L802B8568 +/* 121B98 802B8588 A209FFFA */ sb $t1, -6($s0) +/* 121B9C 802B858C 5044001D */ beql $v0, $a0, .L802B8604 +/* 121BA0 802B8590 8FBF001C */ lw $ra, 0x1c($sp) +.L802B8594: +/* 121BA4 802B8594 83AA003C */ lb $t2, 0x3c($sp) +/* 121BA8 802B8598 24420004 */ addiu $v0, $v0, 4 +/* 121BAC 802B859C 26100060 */ addiu $s0, $s0, 0x60 +/* 121BB0 802B85A0 A20AFFB0 */ sb $t2, -0x50($s0) +/* 121BB4 802B85A4 83AB003D */ lb $t3, 0x3d($sp) +/* 121BB8 802B85A8 A20BFFB1 */ sb $t3, -0x4f($s0) +/* 121BBC 802B85AC 83AC003E */ lb $t4, 0x3e($sp) +/* 121BC0 802B85B0 A20CFFB2 */ sb $t4, -0x4e($s0) +/* 121BC4 802B85B4 83AD003C */ lb $t5, 0x3c($sp) +/* 121BC8 802B85B8 A20DFFC8 */ sb $t5, -0x38($s0) +/* 121BCC 802B85BC 83AE003D */ lb $t6, 0x3d($sp) +/* 121BD0 802B85C0 A20EFFC9 */ sb $t6, -0x37($s0) +/* 121BD4 802B85C4 83AF003E */ lb $t7, 0x3e($sp) +/* 121BD8 802B85C8 A20FFFCA */ sb $t7, -0x36($s0) +/* 121BDC 802B85CC 83B9003C */ lb $t9, 0x3c($sp) +/* 121BE0 802B85D0 A219FFE0 */ sb $t9, -0x20($s0) +/* 121BE4 802B85D4 83A8003D */ lb $t0, 0x3d($sp) +/* 121BE8 802B85D8 A208FFE1 */ sb $t0, -0x1f($s0) +/* 121BEC 802B85DC 83B8003E */ lb $t8, 0x3e($sp) +/* 121BF0 802B85E0 A218FFE2 */ sb $t8, -0x1e($s0) +/* 121BF4 802B85E4 83A9003C */ lb $t1, 0x3c($sp) +/* 121BF8 802B85E8 A209FFF8 */ sb $t1, -8($s0) +/* 121BFC 802B85EC 83AA003D */ lb $t2, 0x3d($sp) +/* 121C00 802B85F0 A20AFFF9 */ sb $t2, -7($s0) +/* 121C04 802B85F4 83AB003E */ lb $t3, 0x3e($sp) +/* 121C08 802B85F8 1444FFE6 */ bne $v0, $a0, .L802B8594 +/* 121C0C 802B85FC A20BFFFA */ sb $t3, -6($s0) +.L802B8600: +/* 121C10 802B8600 8FBF001C */ lw $ra, 0x1c($sp) +.L802B8604: +/* 121C14 802B8604 8FB00014 */ lw $s0, 0x14($sp) +/* 121C18 802B8608 8FB10018 */ lw $s1, 0x18($sp) +/* 121C1C 802B860C 03E00008 */ jr $ra +/* 121C20 802B8610 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/asm/non_matchings/math_util/func_802B8614.s b/asm/non_matchings/math_util/func_802B8614.s index 7a0b9a876..6879f1ed1 100644 --- a/asm/non_matchings/math_util/func_802B8614.s +++ b/asm/non_matchings/math_util/func_802B8614.s @@ -1,96 +1,96 @@ -glabel func_802B8614 -/* 121C24 802B8614 27BDFF60 */ addiu $sp, $sp, -0xa0 -/* 121C28 802B8618 F7BE0030 */ sdc1 $f30, 0x30($sp) -/* 121C2C 802B861C F7BC0028 */ sdc1 $f28, 0x28($sp) -/* 121C30 802B8620 F7BA0020 */ sdc1 $f26, 0x20($sp) -/* 121C34 802B8624 F7B80018 */ sdc1 $f24, 0x18($sp) -/* 121C38 802B8628 F7B60010 */ sdc1 $f22, 0x10($sp) -/* 121C3C 802B862C F7B40008 */ sdc1 $f20, 8($sp) -/* 121C40 802B8630 C48401B0 */ lwc1 $f4, 0x1b0($a0) -/* 121C44 802B8634 4480E000 */ mtc1 $zero, $f28 -/* 121C48 802B8638 4480E800 */ mtc1 $zero, $f29 -/* 121C4C 802B863C 460021A1 */ cvt.d.s $f6, $f4 -/* 121C50 802B8640 F7A60078 */ sdc1 $f6, 0x78($sp) -/* 121C54 802B8644 C48801C0 */ lwc1 $f8, 0x1c0($a0) -/* 121C58 802B8648 463CE032 */ c.eq.d $f28, $f28 -/* 121C5C 802B864C 460042A1 */ cvt.d.s $f10, $f8 -/* 121C60 802B8650 F7AA0070 */ sdc1 $f10, 0x70($sp) -/* 121C64 802B8654 C48401B8 */ lwc1 $f4, 0x1b8($a0) -/* 121C68 802B8658 460021A1 */ cvt.d.s $f6, $f4 -/* 121C6C 802B865C F7A60068 */ sdc1 $f6, 0x68($sp) -/* 121C70 802B8660 C48A01A8 */ lwc1 $f10, 0x1a8($a0) -/* 121C74 802B8664 C4880198 */ lwc1 $f8, 0x198($a0) -/* 121C78 802B8668 46005121 */ cvt.d.s $f4, $f10 -/* 121C7C 802B866C 460047A1 */ cvt.d.s $f30, $f8 -/* 121C80 802B8670 F7A40058 */ sdc1 $f4, 0x58($sp) -/* 121C84 802B8674 C48601A0 */ lwc1 $f6, 0x1a0($a0) -/* 121C88 802B8678 46003221 */ cvt.d.s $f8, $f6 -/* 121C8C 802B867C F7A80050 */ sdc1 $f8, 0x50($sp) -/* 121C90 802B8680 C48A01E0 */ lwc1 $f10, 0x1e0($a0) -/* 121C94 802B8684 46005121 */ cvt.d.s $f4, $f10 -/* 121C98 802B8688 F7A40048 */ sdc1 $f4, 0x48($sp) -/* 121C9C 802B868C C48601F0 */ lwc1 $f6, 0x1f0($a0) -/* 121CA0 802B8690 46003221 */ cvt.d.s $f8, $f6 -/* 121CA4 802B8694 D7A60058 */ ldc1 $f6, 0x58($sp) -/* 121CA8 802B8698 F7A80040 */ sdc1 $f8, 0x40($sp) -/* 121CAC 802B869C C48A01E8 */ lwc1 $f10, 0x1e8($a0) -/* 121CB0 802B86A0 D7A80070 */ ldc1 $f8, 0x70($sp) -/* 121CB4 802B86A4 46005121 */ cvt.d.s $f4, $f10 -/* 121CB8 802B86A8 46283081 */ sub.d $f2, $f6, $f8 -/* 121CBC 802B86AC F7A40038 */ sdc1 $f4, 0x38($sp) -/* 121CC0 802B86B0 46202286 */ mov.d $f10, $f4 -/* 121CC4 802B86B4 D7A40050 */ ldc1 $f4, 0x50($sp) -/* 121CC8 802B86B8 D7A80068 */ ldc1 $f8, 0x68($sp) -/* 121CCC 802B86BC 46245301 */ sub.d $f12, $f10, $f4 -/* 121CD0 802B86C0 D7AA0040 */ ldc1 $f10, 0x40($sp) -/* 121CD4 802B86C4 46282381 */ sub.d $f14, $f4, $f8 -/* 121CD8 802B86C8 462C1102 */ mul.d $f4, $f2, $f12 -/* 121CDC 802B86CC 46265401 */ sub.d $f16, $f10, $f6 -/* 121CE0 802B86D0 D7AA0048 */ ldc1 $f10, 0x48($sp) -/* 121CE4 802B86D4 D7A60078 */ ldc1 $f6, 0x78($sp) -/* 121CE8 802B86D8 46307202 */ mul.d $f8, $f14, $f16 -/* 121CEC 802B86DC 463E5481 */ sub.d $f18, $f10, $f30 -/* 121CF0 802B86E0 4626F501 */ sub.d $f20, $f30, $f6 -/* 121CF4 802B86E4 46282581 */ sub.d $f22, $f4, $f8 -/* 121CF8 802B86E8 46327102 */ mul.d $f4, $f14, $f18 -/* 121CFC 802B86EC 00000000 */ nop -/* 121D00 802B86F0 462CA202 */ mul.d $f8, $f20, $f12 -/* 121D04 802B86F4 00000000 */ nop -/* 121D08 802B86F8 4630A282 */ mul.d $f10, $f20, $f16 -/* 121D0C 802B86FC 00000000 */ nop -/* 121D10 802B8700 46321182 */ mul.d $f6, $f2, $f18 -/* 121D14 802B8704 46282601 */ sub.d $f24, $f4, $f8 -/* 121D18 802B8708 45000008 */ bc1f .L802B872C -/* 121D1C 802B870C 46265681 */ sub.d $f26, $f10, $f6 -/* 121D20 802B8710 44800000 */ mtc1 $zero, $f0 -/* 121D24 802B8714 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 121D28 802B8718 44814000 */ mtc1 $at, $f8 -/* 121D2C 802B871C E4800058 */ swc1 $f0, 0x58($a0) -/* 121D30 802B8720 E4800060 */ swc1 $f0, 0x60($a0) -/* 121D34 802B8724 10000010 */ b .L802B8768 -/* 121D38 802B8728 E488005C */ swc1 $f8, 0x5c($a0) -.L802B872C: -/* 121D3C 802B872C 4620B2A0 */ cvt.s.d $f10, $f22 -/* 121D40 802B8730 460051A1 */ cvt.d.s $f6, $f10 -/* 121D44 802B8734 4620C2A0 */ cvt.s.d $f10, $f24 -/* 121D48 802B8738 463C3103 */ div.d $f4, $f6, $f28 -/* 121D4C 802B873C 460051A1 */ cvt.d.s $f6, $f10 -/* 121D50 802B8740 4620D2A0 */ cvt.s.d $f10, $f26 -/* 121D54 802B8744 46202220 */ cvt.s.d $f8, $f4 -/* 121D58 802B8748 463C3103 */ div.d $f4, $f6, $f28 -/* 121D5C 802B874C E4880058 */ swc1 $f8, 0x58($a0) -/* 121D60 802B8750 460051A1 */ cvt.d.s $f6, $f10 -/* 121D64 802B8754 46202220 */ cvt.s.d $f8, $f4 -/* 121D68 802B8758 463C3103 */ div.d $f4, $f6, $f28 -/* 121D6C 802B875C E488005C */ swc1 $f8, 0x5c($a0) -/* 121D70 802B8760 46202220 */ cvt.s.d $f8, $f4 -/* 121D74 802B8764 E4880060 */ swc1 $f8, 0x60($a0) -.L802B8768: -/* 121D78 802B8768 D7B40008 */ ldc1 $f20, 8($sp) -/* 121D7C 802B876C D7B60010 */ ldc1 $f22, 0x10($sp) -/* 121D80 802B8770 D7B80018 */ ldc1 $f24, 0x18($sp) -/* 121D84 802B8774 D7BA0020 */ ldc1 $f26, 0x20($sp) -/* 121D88 802B8778 D7BC0028 */ ldc1 $f28, 0x28($sp) -/* 121D8C 802B877C D7BE0030 */ ldc1 $f30, 0x30($sp) -/* 121D90 802B8780 03E00008 */ jr $ra -/* 121D94 802B8784 27BD00A0 */ addiu $sp, $sp, 0xa0 +glabel func_802B8614 +/* 121C24 802B8614 27BDFF60 */ addiu $sp, $sp, -0xa0 +/* 121C28 802B8618 F7BE0030 */ sdc1 $f30, 0x30($sp) +/* 121C2C 802B861C F7BC0028 */ sdc1 $f28, 0x28($sp) +/* 121C30 802B8620 F7BA0020 */ sdc1 $f26, 0x20($sp) +/* 121C34 802B8624 F7B80018 */ sdc1 $f24, 0x18($sp) +/* 121C38 802B8628 F7B60010 */ sdc1 $f22, 0x10($sp) +/* 121C3C 802B862C F7B40008 */ sdc1 $f20, 8($sp) +/* 121C40 802B8630 C48401B0 */ lwc1 $f4, 0x1b0($a0) +/* 121C44 802B8634 4480E000 */ mtc1 $zero, $f28 +/* 121C48 802B8638 4480E800 */ mtc1 $zero, $f29 +/* 121C4C 802B863C 460021A1 */ cvt.d.s $f6, $f4 +/* 121C50 802B8640 F7A60078 */ sdc1 $f6, 0x78($sp) +/* 121C54 802B8644 C48801C0 */ lwc1 $f8, 0x1c0($a0) +/* 121C58 802B8648 463CE032 */ c.eq.d $f28, $f28 +/* 121C5C 802B864C 460042A1 */ cvt.d.s $f10, $f8 +/* 121C60 802B8650 F7AA0070 */ sdc1 $f10, 0x70($sp) +/* 121C64 802B8654 C48401B8 */ lwc1 $f4, 0x1b8($a0) +/* 121C68 802B8658 460021A1 */ cvt.d.s $f6, $f4 +/* 121C6C 802B865C F7A60068 */ sdc1 $f6, 0x68($sp) +/* 121C70 802B8660 C48A01A8 */ lwc1 $f10, 0x1a8($a0) +/* 121C74 802B8664 C4880198 */ lwc1 $f8, 0x198($a0) +/* 121C78 802B8668 46005121 */ cvt.d.s $f4, $f10 +/* 121C7C 802B866C 460047A1 */ cvt.d.s $f30, $f8 +/* 121C80 802B8670 F7A40058 */ sdc1 $f4, 0x58($sp) +/* 121C84 802B8674 C48601A0 */ lwc1 $f6, 0x1a0($a0) +/* 121C88 802B8678 46003221 */ cvt.d.s $f8, $f6 +/* 121C8C 802B867C F7A80050 */ sdc1 $f8, 0x50($sp) +/* 121C90 802B8680 C48A01E0 */ lwc1 $f10, 0x1e0($a0) +/* 121C94 802B8684 46005121 */ cvt.d.s $f4, $f10 +/* 121C98 802B8688 F7A40048 */ sdc1 $f4, 0x48($sp) +/* 121C9C 802B868C C48601F0 */ lwc1 $f6, 0x1f0($a0) +/* 121CA0 802B8690 46003221 */ cvt.d.s $f8, $f6 +/* 121CA4 802B8694 D7A60058 */ ldc1 $f6, 0x58($sp) +/* 121CA8 802B8698 F7A80040 */ sdc1 $f8, 0x40($sp) +/* 121CAC 802B869C C48A01E8 */ lwc1 $f10, 0x1e8($a0) +/* 121CB0 802B86A0 D7A80070 */ ldc1 $f8, 0x70($sp) +/* 121CB4 802B86A4 46005121 */ cvt.d.s $f4, $f10 +/* 121CB8 802B86A8 46283081 */ sub.d $f2, $f6, $f8 +/* 121CBC 802B86AC F7A40038 */ sdc1 $f4, 0x38($sp) +/* 121CC0 802B86B0 46202286 */ mov.d $f10, $f4 +/* 121CC4 802B86B4 D7A40050 */ ldc1 $f4, 0x50($sp) +/* 121CC8 802B86B8 D7A80068 */ ldc1 $f8, 0x68($sp) +/* 121CCC 802B86BC 46245301 */ sub.d $f12, $f10, $f4 +/* 121CD0 802B86C0 D7AA0040 */ ldc1 $f10, 0x40($sp) +/* 121CD4 802B86C4 46282381 */ sub.d $f14, $f4, $f8 +/* 121CD8 802B86C8 462C1102 */ mul.d $f4, $f2, $f12 +/* 121CDC 802B86CC 46265401 */ sub.d $f16, $f10, $f6 +/* 121CE0 802B86D0 D7AA0048 */ ldc1 $f10, 0x48($sp) +/* 121CE4 802B86D4 D7A60078 */ ldc1 $f6, 0x78($sp) +/* 121CE8 802B86D8 46307202 */ mul.d $f8, $f14, $f16 +/* 121CEC 802B86DC 463E5481 */ sub.d $f18, $f10, $f30 +/* 121CF0 802B86E0 4626F501 */ sub.d $f20, $f30, $f6 +/* 121CF4 802B86E4 46282581 */ sub.d $f22, $f4, $f8 +/* 121CF8 802B86E8 46327102 */ mul.d $f4, $f14, $f18 +/* 121CFC 802B86EC 00000000 */ nop +/* 121D00 802B86F0 462CA202 */ mul.d $f8, $f20, $f12 +/* 121D04 802B86F4 00000000 */ nop +/* 121D08 802B86F8 4630A282 */ mul.d $f10, $f20, $f16 +/* 121D0C 802B86FC 00000000 */ nop +/* 121D10 802B8700 46321182 */ mul.d $f6, $f2, $f18 +/* 121D14 802B8704 46282601 */ sub.d $f24, $f4, $f8 +/* 121D18 802B8708 45000008 */ bc1f .L802B872C +/* 121D1C 802B870C 46265681 */ sub.d $f26, $f10, $f6 +/* 121D20 802B8710 44800000 */ mtc1 $zero, $f0 +/* 121D24 802B8714 3C013F80 */ li $at, 0x3F800000 # 1.000000 +/* 121D28 802B8718 44814000 */ mtc1 $at, $f8 +/* 121D2C 802B871C E4800058 */ swc1 $f0, 0x58($a0) +/* 121D30 802B8720 E4800060 */ swc1 $f0, 0x60($a0) +/* 121D34 802B8724 10000010 */ b .L802B8768 +/* 121D38 802B8728 E488005C */ swc1 $f8, 0x5c($a0) +.L802B872C: +/* 121D3C 802B872C 4620B2A0 */ cvt.s.d $f10, $f22 +/* 121D40 802B8730 460051A1 */ cvt.d.s $f6, $f10 +/* 121D44 802B8734 4620C2A0 */ cvt.s.d $f10, $f24 +/* 121D48 802B8738 463C3103 */ div.d $f4, $f6, $f28 +/* 121D4C 802B873C 460051A1 */ cvt.d.s $f6, $f10 +/* 121D50 802B8740 4620D2A0 */ cvt.s.d $f10, $f26 +/* 121D54 802B8744 46202220 */ cvt.s.d $f8, $f4 +/* 121D58 802B8748 463C3103 */ div.d $f4, $f6, $f28 +/* 121D5C 802B874C E4880058 */ swc1 $f8, 0x58($a0) +/* 121D60 802B8750 460051A1 */ cvt.d.s $f6, $f10 +/* 121D64 802B8754 46202220 */ cvt.s.d $f8, $f4 +/* 121D68 802B8758 463C3103 */ div.d $f4, $f6, $f28 +/* 121D6C 802B875C E488005C */ swc1 $f8, 0x5c($a0) +/* 121D70 802B8760 46202220 */ cvt.s.d $f8, $f4 +/* 121D74 802B8764 E4880060 */ swc1 $f8, 0x60($a0) +.L802B8768: +/* 121D78 802B8768 D7B40008 */ ldc1 $f20, 8($sp) +/* 121D7C 802B876C D7B60010 */ ldc1 $f22, 0x10($sp) +/* 121D80 802B8770 D7B80018 */ ldc1 $f24, 0x18($sp) +/* 121D84 802B8774 D7BA0020 */ ldc1 $f26, 0x20($sp) +/* 121D88 802B8778 D7BC0028 */ ldc1 $f28, 0x28($sp) +/* 121D8C 802B877C D7BE0030 */ ldc1 $f30, 0x30($sp) +/* 121D90 802B8780 03E00008 */ jr $ra +/* 121D94 802B8784 27BD00A0 */ addiu $sp, $sp, 0xa0 diff --git a/asm/non_matchings/math_util/random_int.s b/asm/non_matchings/math_util/random_int.s deleted file mode 100644 index b3d04297d..000000000 --- a/asm/non_matchings/math_util/random_int.s +++ /dev/null @@ -1,70 +0,0 @@ -glabel random_int -/* 121444 802B7E34 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 121448 802B7E38 AFBF0014 */ sw $ra, 0x14($sp) -/* 12144C 802B7E3C 0C0ADF65 */ jal random_u16 -/* 121450 802B7E40 AFA40018 */ sw $a0, 0x18($sp) -/* 121454 802B7E44 44822000 */ mtc1 $v0, $f4 -/* 121458 802B7E48 97AE001A */ lhu $t6, 0x1a($sp) -/* 12145C 802B7E4C 04410005 */ bgez $v0, .L802B7E64 -/* 121460 802B7E50 468021A0 */ cvt.s.w $f6, $f4 -/* 121464 802B7E54 3C014F80 */ li $at, 0x4F800000 # 4294967296.000000 -/* 121468 802B7E58 44814000 */ mtc1 $at, $f8 -/* 12146C 802B7E5C 00000000 */ nop -/* 121470 802B7E60 46083180 */ add.s $f6, $f6, $f8 -.L802B7E64: -/* 121474 802B7E64 3C01802C */ lui $at, %hi(D_802BA028) -/* 121478 802B7E68 D430A028 */ ldc1 $f16, %lo(D_802BA028)($at) -/* 12147C 802B7E6C 448E2000 */ mtc1 $t6, $f4 -/* 121480 802B7E70 460032A1 */ cvt.d.s $f10, $f6 -/* 121484 802B7E74 8FBF0014 */ lw $ra, 0x14($sp) -/* 121488 802B7E78 46305483 */ div.d $f18, $f10, $f16 -/* 12148C 802B7E7C 05C10006 */ bgez $t6, .L802B7E98 -/* 121490 802B7E80 46802221 */ cvt.d.w $f8, $f4 -/* 121494 802B7E84 3C0141F0 */ li $at, 0x41F00000 # 30.000000 -/* 121498 802B7E88 44813800 */ mtc1 $at, $f7 -/* 12149C 802B7E8C 44803000 */ mtc1 $zero, $f6 -/* 1214A0 802B7E90 00000000 */ nop -/* 1214A4 802B7E94 46264200 */ add.d $f8, $f8, $f6 -.L802B7E98: -/* 1214A8 802B7E98 46289282 */ mul.d $f10, $f18, $f8 -/* 1214AC 802B7E9C 24020001 */ li $v0, 1 -/* 1214B0 802B7EA0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 1214B4 802B7EA4 3C0141E0 */ li $at, 0x41E00000 # 28.000000 -/* 1214B8 802B7EA8 444FF800 */ cfc1 $t7, $31 -/* 1214BC 802B7EAC 44C2F800 */ ctc1 $v0, $31 -/* 1214C0 802B7EB0 00000000 */ nop -/* 1214C4 802B7EB4 46205424 */ cvt.w.d $f16, $f10 -/* 1214C8 802B7EB8 4442F800 */ cfc1 $v0, $31 -/* 1214CC 802B7EBC 00000000 */ nop -/* 1214D0 802B7EC0 30420078 */ andi $v0, $v0, 0x78 -/* 1214D4 802B7EC4 50400014 */ beql $v0, $zero, .L802B7F18 -/* 1214D8 802B7EC8 44028000 */ mfc1 $v0, $f16 -/* 1214DC 802B7ECC 44818800 */ mtc1 $at, $f17 -/* 1214E0 802B7ED0 44808000 */ mtc1 $zero, $f16 -/* 1214E4 802B7ED4 24020001 */ li $v0, 1 -/* 1214E8 802B7ED8 46305401 */ sub.d $f16, $f10, $f16 -/* 1214EC 802B7EDC 44C2F800 */ ctc1 $v0, $31 -/* 1214F0 802B7EE0 00000000 */ nop -/* 1214F4 802B7EE4 46208424 */ cvt.w.d $f16, $f16 -/* 1214F8 802B7EE8 4442F800 */ cfc1 $v0, $31 -/* 1214FC 802B7EEC 00000000 */ nop -/* 121500 802B7EF0 30420078 */ andi $v0, $v0, 0x78 -/* 121504 802B7EF4 14400005 */ bnez $v0, .L802B7F0C -/* 121508 802B7EF8 00000000 */ nop -/* 12150C 802B7EFC 44028000 */ mfc1 $v0, $f16 -/* 121510 802B7F00 3C018000 */ lui $at, 0x8000 -/* 121514 802B7F04 10000007 */ b .L802B7F24 -/* 121518 802B7F08 00411025 */ or $v0, $v0, $at -.L802B7F0C: -/* 12151C 802B7F0C 10000005 */ b .L802B7F24 -/* 121520 802B7F10 2402FFFF */ li $v0, -1 -/* 121524 802B7F14 44028000 */ mfc1 $v0, $f16 -.L802B7F18: -/* 121528 802B7F18 00000000 */ nop -/* 12152C 802B7F1C 0440FFFB */ bltz $v0, .L802B7F0C -/* 121530 802B7F20 00000000 */ nop -.L802B7F24: -/* 121534 802B7F24 44CFF800 */ ctc1 $t7, $31 -/* 121538 802B7F28 3058FFFF */ andi $t8, $v0, 0xffff -/* 12153C 802B7F2C 03E00008 */ jr $ra -/* 121540 802B7F30 03001025 */ move $v0, $t8 diff --git a/asm/non_matchings/math_util/random_u16.s b/asm/non_matchings/math_util/random_u16.s deleted file mode 100644 index e3a5b4479..000000000 --- a/asm/non_matchings/math_util/random_u16.s +++ /dev/null @@ -1,45 +0,0 @@ -glabel random_u16 -/* 1213A4 802B7D94 3C06802C */ lui $a2, %hi(D_802BA290) # $a2, 0x802c -/* 1213A8 802B7D98 24C6A290 */ addiu $a2, %lo(D_802BA290) # addiu $a2, $a2, -0x5d70 -/* 1213AC 802B7D9C 94C20000 */ lhu $v0, ($a2) -/* 1213B0 802B7DA0 2401560A */ li $at, 22026 -/* 1213B4 802B7DA4 54410004 */ bnel $v0, $at, .L802B7DB8 -/* 1213B8 802B7DA8 00027A00 */ sll $t7, $v0, 8 -/* 1213BC 802B7DAC A4C00000 */ sh $zero, ($a2) -/* 1213C0 802B7DB0 3002FFFF */ andi $v0, $zero, 0xffff -/* 1213C4 802B7DB4 00027A00 */ sll $t7, $v0, 8 -.L802B7DB8: -/* 1213C8 802B7DB8 01E2C026 */ xor $t8, $t7, $v0 -/* 1213CC 802B7DBC 330500FF */ andi $a1, $t8, 0xff -/* 1213D0 802B7DC0 3308FF00 */ andi $t0, $t8, 0xff00 -/* 1213D4 802B7DC4 00084A03 */ sra $t1, $t0, 8 -/* 1213D8 802B7DC8 0005CA00 */ sll $t9, $a1, 8 -/* 1213DC 802B7DCC 03296021 */ addu $t4, $t9, $t1 -/* 1213E0 802B7DD0 00055840 */ sll $t3, $a1, 1 -/* 1213E4 802B7DD4 016C1826 */ xor $v1, $t3, $t4 -/* 1213E8 802B7DD8 306DFFFF */ andi $t5, $v1, 0xffff -/* 1213EC 802B7DDC 31AE0001 */ andi $t6, $t5, 1 -/* 1213F0 802B7DE0 A4CC0000 */ sh $t4, ($a2) -/* 1213F4 802B7DE4 15C0000C */ bnez $t6, .L802B7E18 -/* 1213F8 802B7DE8 01A02025 */ move $a0, $t5 -/* 1213FC 802B7DEC 000D1043 */ sra $v0, $t5, 1 -/* 121400 802B7DF0 384FFF80 */ xori $t7, $v0, 0xff80 -/* 121404 802B7DF4 31E2FFFF */ andi $v0, $t7, 0xffff -/* 121408 802B7DF8 3401AA55 */ li $at, 43605 -/* 12140C 802B7DFC 14410003 */ bne $v0, $at, .L802B7E0C -/* 121410 802B7E00 38481FF4 */ xori $t0, $v0, 0x1ff4 -/* 121414 802B7E04 10000009 */ b .L802B7E2C -/* 121418 802B7E08 A4C00000 */ sh $zero, ($a2) -.L802B7E0C: -/* 12141C 802B7E0C 3C01802C */ lui $at, %hi(D_802BA290) # $at, 0x802c -/* 121420 802B7E10 10000006 */ b .L802B7E2C -/* 121424 802B7E14 A428A290 */ sh $t0, %lo(D_802BA290)($at) -.L802B7E18: -/* 121428 802B7E18 0004C843 */ sra $t9, $a0, 1 -/* 12142C 802B7E1C 3B2AFF80 */ xori $t2, $t9, 0xff80 -/* 121430 802B7E20 394B8180 */ xori $t3, $t2, 0x8180 -/* 121434 802B7E24 3C01802C */ lui $at, %hi(D_802BA290) # $at, 0x802c -/* 121438 802B7E28 A42BA290 */ sh $t3, %lo(D_802BA290)($at) -.L802B7E2C: -/* 12143C 802B7E2C 03E00008 */ jr $ra -/* 121440 802B7E30 94C20000 */ lhu $v0, ($a2) diff --git a/data/data_121DA0_2_2.s b/data/data_121DA0_2_2.s index 3da71b9a3..4bbc1861e 100644 --- a/data/data_121DA0_2_2.s +++ b/data/data_121DA0_2_2.s @@ -315,8 +315,8 @@ glabel D_802BA010 glabel D_802BA018 .double 3.141592653589793 -glabel D_802BA020 -.double 3.141592653589793 +#glabel D_802BA020 +#.double 3.141592653589793 -glabel D_802BA028 -.double 65535.0 +#glabel D_802BA028 +#.double 65535.0 diff --git a/data/data_credits_128480_1.s b/data/data_credits_128480_1.s index e8c9f6eed..22f83d869 100644 --- a/data/data_credits_128480_1.s +++ b/data/data_credits_128480_1.s @@ -1,849 +1,849 @@ -.include "macros.inc" - -.data - -glabel D_802856B0 -.word 0x42C40000 - - -glabel D_802856B4 -.word 0x41400000 - -glabel D_802856B8 -.word 0x42500000 - - -glabel D_802856BC -.word 0x42500000 -glabel D_802856C0 -.word 0x00000000 - -glabel D_802856C4 -.word 0x00000000, 0x00000000 -.word 0x00000000 -.word 0x00000000 - -glabel D_802856D4 - -.word 0x02030405, 0x05050505 - -glabel D_802856DC -.word 0x00000000 -.word 0x0000F576, 0x014EFE70, 0x00000000, 0x0000F576 -.word 0x014EFE70, 0x00000000, 0x0000F422, 0x0103FE3C - -.word 0x00000000, 0x0000F3E8, 0x0016FE34, 0xFF000000 - -.word 0x0000F3E8, 0x0016FE34 - -glabel D_80285718 -.word 0x0000003D, 0x0000F493 -.word 0x0309FE4E, 0x00000095, 0x0000F494, 0x030AFE4E -.word 0x0000005E, 0x0000F243, 0x0179FDF0 - - -.word 0x0000003C -.word 0x0000F213, 0x00B1FDE9, 0xFF00003C - - -.word 0x0000F213 -.word 0x008DFDE9 - -glabel D_80285754 -.word 0x00000000, 0x0000F4F4, 0xFFE2FF67 -.word 0x00000000, 0x0000F51A, 0x0002FF5D - - -.word 0x00000000 -.word 0x0000F57B, 0x004AFFB8, 0xFF000000 - - -.word 0x0000F608 -.word 0x0065FFE4 - -glabel D_80285784 -.word 0x000000BA, 0x0000F33E, 0x00090053 -.word 0x00000059, 0x0000F329, 0xFFA4FF8F - - -.word 0x0000003C -.word 0x0000F39C, 0x004FFF2A, 0xFF00002D - - -.word 0x0000F44A -.word 0x00BEFF16 - -glabel D_802857B4 -.word 0x00000000, 0x0000F22C - - -.word 0xFFF40067 -.word 0xFF000000 - - -.word 0x0000F22C, 0xFFF40067 -glabel D_802857CC -.word 0x0000005A - - -.word 0x0000F3F8, 0xFFDBFC39, 0x0000005A, 0x0000F419 - - -.word 0xFFF8FC3B, 0xFF000065 - -.word 0x0000F454, 0x000EFBFF - -glabel D_802857F0 -.word 0x00000000, 0x0000F208, 0x004FFDC9, 0x00000000 -.word 0x0000F20F, 0x004EFDCB, 0x00000000, 0x0000F23D -.word 0x0049FDDC, 0x00000000, 0x0000F284, 0x0044FDEF -.word 0x00000000, 0x0000F2BE, 0x0041FDFA, 0x00000000 - -.word 0x0000F2E5, 0x003EFE04, 0x00000000, 0x0000F303 - - -.word 0x0039FE0A, 0xFF000000, 0x0000F325 - - -.word 0x0033FE11 - -glabel D_80285850 -.word 0x0000001E, 0x0000F3D7, 0x0004FE77, 0x0000001E -.word 0x0000F3E3, 0x000CFE6F, 0x00000032, 0x0000F421 -.word 0x001EFE53, 0x00000032, 0x0000F468, 0x001CFE69 -.word 0x0000001E, 0x0000F4A4, 0x0016FE68, 0x0000001E - - -.word 0x0000F4C9, 0xFFFEFE70, 0x0000001E, 0x0000F4E3 - -.word 0xFFE1FE76, 0xFF00001E - - -.word 0x0000F505, 0xFFD1FE72 -glabel D_802858B0 -.word 0x00000000, 0x0000F42B - - -.word 0x002DFE46, 0xFF000000 - -.word 0x0000F42B, 0x002DFE46 - -glabel D_802858C8 -.word 0x0000001E, 0x0000F246 - - -.word 0x0073FDE7, 0xFF00001E - -.word 0x0000F246, 0x0073FDE7 -glabel D_802858E0 -.word 0x00000000, 0x0000F39F -.word 0x003CFE2F, 0xFF000000 -.word 0x0000F39F, 0x003CFE2F - -glabel D_802858F8 -.word 0x00000001, 0x0000F245 -.word 0x0187FDA1, 0xFF000001 - -.word 0x0000F245, 0x0187FDA1 -glabel D_80285910 -.word 0x00000000, 0x0000F4A0 -.word 0x00B7FF6C, 0xFF000000 - -.word 0x0000F4A0, 0x00B7FF6C - -glabel D_80285928 -.word 0x00000006, 0x0000F340 - - -.word 0x0025FE28, 0xFF000006, 0x0000F340, 0x0025FE28 -glabel D_80285940 -.word 0x00000000, 0x0000F3C3, 0x006BFE1A, 0x00000000 -.word 0x0000F3C3, 0x006BFE1A, 0x00000000, 0x0000F3C3 -.word 0x006BFE1A, 0x00000000, 0x0000F3C3, 0x006BFE1A -.word 0x00000000, 0x0000F3C3, 0x006BFE1A, 0x00000000 -.word 0x0000F3C3, 0x006BFE1A, 0x00000000, 0x0000F3C3 -.word 0x006BFE1A, 0xFF000000, 0x0000F3C3, 0x006BFE1A -.word 0x0000001E, 0x0000F203, 0xFF99FE62, 0x00000004 -.word 0x0000F200, 0xFFA4FE6D, 0x00000004, 0x0000F1DA -.word 0x01AFFE7F, 0x0000001E, 0x0000F1DA, 0x014BFE7F -.word 0x0000001E, 0x0000F1DA, 0x00E7FE7F, 0x00000039 -.word 0x0000F1E1, 0x0015FE7D, 0x0000001E, 0x0000F1E1 -.word 0x000AFE71, 0xFF00001E, 0x0000F1E0, 0x000CFE71 - -glabel D_80285A00 -.word gPlayerOne, gPlayerTwo, gPlayerThree, gPlayerFour - -glabel D_80285A10 -.word 0x00000000, 0x0000F33D, 0x002FFE5A, 0x00000000 -.word 0x0000F36B, 0x0028FE76, 0x00000000 - -.word 0x0000F3A6 -.word 0x0027FE6F, 0x00000000, 0x0000F3C8 - -.word 0x002AFE4D -.word 0xFF000000, 0x0000F3CF, 0x002FFE33 - -glabel D_80285A4C -.word 0x0000002D -.word 0x0000F4AC, 0xFFC1FD1A, 0x0000002D, 0x0000F3D1 -.word 0xFFF2FC8F, 0x0000002D, 0x0000F2BA, 0xFFF2FCBA - -.word 0x0000002D, 0x0000F219, 0xFFF7FD56, 0xFF00002D -.word 0x0000F1E8, 0xFFEDFDD9 - -glabel D_80285A88 -.word 0x00000000, 0x0000F3D8 -.word 0x0012FE0E, 0x00000000, 0x0000F3D8, 0x0012FE0E -.word 0x00000000, 0x0000F3D6, 0x001AFE0F, 0xFF000000 -.word 0x0000F3D7, 0x001DFE0F - -glabel D_80285AB8 -.word 0x0000004B, 0x0000F1FB -.word 0x006CFE85, 0x0000002D, 0x0000F1FB, 0x006CFE85 - -.word 0x0000002D, 0x0000F225, 0x00FBFE7A, 0xFF00002D -.word 0x0000F21C, 0x00EBFE7C - -glabel D_80285AE8 -.word 0x00000000, 0x0000F3A3 -.word 0x004CFE22, 0xFF000000 - -.word 0x0000F3A3, 0x004CFE22 -glabel D_80285B00 -.word 0x0000001E, 0x0000F1BA - - -.word 0x0092FE22, 0xFF00001E -.word 0x0000F1BA, 0x0092FE22 -glabel D_80285B18 - -.word 0x00000000, 0x0000F496 - -.word 0x0029FF27, 0x00000000, 0x0000F496, 0x0029FF27 -.word 0x00000000 - - -.word 0x0000F4D5, 0xFFE3FF70, 0x00000000 -.word 0x0000F54D - - -.word 0xFFE8FF9B, 0xFF000000, 0x0000F54D -.word 0xFFE8FF9B - -glabel D_80285B54 -.word 0x00000018 -.word 0x0000F307, 0x012FFE96 -.word 0x00000018, 0x0000F307, 0x012FFE96, 0x0000001F -.word 0x0000F326, 0x00CEFF12, 0x00000041, 0x0000F35A -.word 0x0000FF9E, 0xFF000041 -.word 0x0000F35A, 0x0000FF9E - -glabel D_80285B90 -.word 0x00000000, 0x0000F5BB -.word 0x0008FE7E, 0xFF000000 -.word 0x0000F5BB, 0x0008FE7E - -glabel D_80285BA8 -.word 0x00000005, 0x0000F7A6 -.word 0x0044FECC, 0xFF000005, 0x0000F7A6, 0x0044FECC -.word 0x00000000, 0x0000F690, 0x0018FE9E, 0x00000000 -.word 0x0000F690, 0x0018FE9E, 0x00000000, 0x0000F690 -.word 0x0018FE9E, 0x00000000, 0x0000F6B9, 0x0021FEA5 -.word 0xFF000000, 0x0000F6CD, 0x001BFEA9, 0x00000046 -.word 0x0000F4A5, 0xFFF0FE49, 0x000000C8, 0x0000F4A5 -.word 0xFFF0FE49, 0x00000047 -.word 0x0000F4A5, 0xFFF0FE49 -.word 0x0000001E, 0x0000F4CE -.word 0x0046FE4D, 0xFF00001E -.word 0x0000F4EB, 0x0084FE5C - -glabel D_80285C38 - -.word 0x00000000, 0x0000F4ED -.word 0xFFEBFF66, 0x00000000, 0x0000F4ED, 0xFFEBFF66 -.word 0x00000000 - - -.word 0x0000F408, 0x0028FE82, 0x00000000 -.word 0x0000F32B - -.word 0x0062FDD6, 0xFF000000, 0x0000F2A4 - -.word 0x006AFDA5 -glabel D_80285C74 -.word 0x0000003C, 0x0000F616, 0xFFD800F7 -.word 0x00000032, 0x0000F616, 0xFFD800F7, 0x00000032 - - -.word 0x0000F558, 0xFFBBFFE4, 0x00000024, 0x0000F481 -.word 0xFFF0FF30, 0xFF000028, 0x0000F414, 0xFFEDFEE1 -glabel D_80285CB0 -.word 0x00000000, 0x0000F551, 0xFFE7FFA5, 0x00000000 - - -.word 0x0000F551, 0xFFE7FFA5, 0x00000000, 0x0000F54E -.word 0xFFE7FF82, 0xFF000000, 0x0000F544, 0xFFFAFF74 -glabel D_80285CE0 -.word 0x00000019, 0x0000F362, 0xFFF3FF62, 0x00000019 - - -.word 0x0000F362 -.word 0xFFF3FF62, 0x00000019, 0x0000F392 -.word 0xFFF30068 - -.word 0xFF000019, 0x0000F3E1, 0xFF4700A2 - -glabel D_80285D10 -.word func_80283D2C - -glabel D_80285D14 -.word 0x014A0000, func_802840C8, 0x010E0000 - - -.word func_802842D8, 0x00F70000, func_80284418, 0x00C80000 -.word func_80284494, 0x00AA0000 - - -.word func_802844FC, 0x006C0000 -.word func_8028422C, 0x008C0000 -.word func_802842A8, 0x010E0000 -.word func_80284308, 0x7FFF0000 - -glabel D_80285D58 -.word func_8028454C, 0x012C0000 -.word func_80284154, 0x00AF0000, func_802846B4, 0x00C80000 -.word func_802846E4, 0x00B80000, func_80284648, 0x7FFF0000 -.word 0x00000000, 0x0000FFC6, 0x0000FC02, 0x00000000 -.word 0x0400FFB9, 0x0005FF53, 0x00000000, 0x0A00FEC3 -.word 0x0036009E, 0xFF000000, 0x0000FC1A, 0xFFDD0298 -.word 0x0000003C, 0x0000FEB1, 0xFF45FD76, 0x0000003C -.word 0x0400FEA7, 0xFF7300DA, 0x0000003C, 0x0A00FD94 -.word 0xFF9B020B, 0xFF00003C, 0x0000FA7B, 0x003C039C -.word 0x00000000, 0x000004A7, 0x004F060B, 0x00000000 -.word 0x000004A7, 0x004F060B, 0x00000000, 0x0000048A -.word 0x0068059A, 0x00000000, 0x00000501, 0x007004B7 -.word 0xFF000000, 0x00000569, 0x00420410, 0x00000012 -.word 0x0000051C, 0x00B907E5, 0x00000028, 0x0000051C -.word 0x00B907E5, 0x00000032, 0x000004F6, 0x0032077F -.word 0x00000032, 0x0000040D, 0x00230664, 0xFF000032 -.word 0x0000044D, 0x000C05A8, 0x00000000, 0x000000D1 -.word 0x0070F5AB, 0x00000000, 0x000000D1, 0x0070F5AB -.word 0x00000000, 0x00000145, 0x0043F624, 0xFF000000 -.word 0x000001BB, 0x001BF6A9, 0x00000014, 0x000001BE -.word 0xFF8BF723, 0x0000001E, 0x000001BE, 0xFF8BF721 -.word 0x0000003C, 0x0000023D, 0xFF7AF7A5, 0xFF00003C -.word 0x000002BB, 0x0047F854, 0x00000000, 0x0000FD1A -.word 0x001F0AAA, 0x00000000, 0x0000FD1A, 0x00160890 -.word 0x00000000, 0x0000FD1B, 0x001705EE, 0x00000000 -.word 0x0000FD24, 0x00130325, 0x00000000, 0x0000FCAB -.word 0x001001AF, 0x00000000, 0x0000FB52, 0x00130094 -.word 0x00000000, 0x0000FA51, 0x001A0055, 0xFF000000 -.word 0x0000F8F5, 0x001B0053, 0x00000032, 0x0000FD1F -.word 0xFEB7094F, 0x00000032, 0x0000FD21, 0xFFDF069F -.word 0x00000032, 0x0000FD35, 0x001203FA, 0x0000001E -.word 0x0000FD32, 0xFFE50133, 0x0000001E, 0x0000FB92 -.word 0x000E0011, 0x0000001E, 0x0000F993, 0x001CFFB7 -.word 0x00000028, 0x0000F866, 0x0009FFFB, 0xFF00001E -.word 0x0000F712, 0xFFE700C8, 0x00000000, 0x0000079C -.word 0x00DEF99E, 0x00000000, 0x0000079C, 0x00DEF99E -.word 0x00000000, 0x0000077F, 0x0099F9A6, 0x00000000 -.word 0x00000784, 0x005BF9A2, 0x00000000, 0x00000784 -.word 0x005BF9A2, 0xFF000000, 0x00000784, 0x005BF9A2 -.word 0x00000037, 0x00000886, 0xFFAAF863, 0x00000037 -.word 0x00000887, 0xFFAAF864, 0x00000037, 0x00000960 -.word 0x0010F9AD, 0x00000042, 0x0000092B, 0x009EFAA4 -.word 0x00000032, 0x00000930, 0x00A9FA98, 0x00000032 -.word 0x00000932, 0x00A9FA95, 0xFF000032, 0x0000092F -.word 0x00A1FA9C, 0x00000000, 0x0000FF37, 0x002DF9AB -.word 0x00000000, 0x0000007B, 0x0035FAEF, 0x00000000 -.word 0x000001A6, 0x002DFC8E, 0xFF000000, 0x00000228 -.word 0x0035FDAD, 0x0000003C, 0x0000FDC7, 0xFFE6FAF6 -.word 0x0000003C, 0x0000FED8, 0xFFEEFBF4, 0x0000003C -.word 0x0000FFDC, 0xFFE6FD46, 0xFF00003C, 0x0000004B -.word 0xFFE7FE2D, 0x00000000, 0x0000FC11, 0xFFCD0096 -.word 0x00000000, 0x0000FC11, 0xFFCD0096, 0x00000000 -.word 0x0000FC16, 0x0096007C, 0x00000000, 0x0000FC1E -.word 0x01E90049, 0x00000000, 0x0000FC2C, 0x0419FFF4 -.word 0x00000000, 0x0000FC4E, 0x0615FFC1, 0x00000000 -.word 0x0000FC31, 0x077FFFF1, 0xFF000000, 0x0000FC31 -.word 0x077FFFF1, 0x00000032, 0x0000FC60, 0xFF8EFEAD -.word 0x0000001A, 0x0000FC61, 0xFF85FEAE, 0x0000002D -.word 0x0000FC64, 0x0015FE9F, 0x00000028, 0x0000FC66 -.word 0x0104FE93, 0x00000028, 0x0000FCF6, 0x02C5FEC2 -.word 0x00000021, 0x0000FCD2, 0x0446FF38, 0x0000001E -.word 0x0000FC82, 0x05B0FF46, 0xFF000025, 0x0000FC7D -.word 0x05ACFF4D, 0x00000000, 0xEB00FFFB, 0x0047FE2B -.word 0x00000000, 0xE100FFF5, 0x0015FB8A, 0x00000000 -.word 0xF5000143, 0x001FFAB2, 0x00000000, 0x27000230 -.word 0x001DFAEE, 0x00000000, 0x19000294, 0x0012FB89 -.word 0x00000000, 0xE40004B4, 0x001CFB7B, 0x00000000 -.word 0xE2000545, 0x0011FC7C, 0x00000000, 0xF40004AA -.word 0x001BFD89, 0x00000000, 0x000002F5, 0x000CFDE2 -.word 0x00000000, 0x000000CD, 0xFFD6FDE5, 0x00000000 -.word 0x0D00FEFA, 0xFFDDFDCF, 0x00000000, 0x1000FDD8 -.word 0xFFF9FE2B, 0xFF000000, 0x0000FD15, 0x0006FF68 -.word 0x0000001E, 0xEB000002, 0xFFCDFC47, 0x0000001E -.word 0xE10000F6, 0xFFC1F9E6, 0x0000001E, 0xF500032D -.word 0xFFBEFAAD, 0x00000014, 0x270002C7, 0xFFFFFCCA -.word 0x0000001E, 0x1900047B, 0xFFB4FB52, 0x00000014 -.word 0xE40005EB, 0xFFEDFCFF, 0x0000001E, 0xE200053D -.word 0xFFBCFE69, 0x0000001E, 0xF40002C8, 0xFFB7FDE1 -.word 0x0000001E, 0x00000104, 0xFFD6FE02, 0x0000001E -.word 0x0000FEDF, 0xFF8CFDEF, 0x0000001E, 0x0D00FD19 -.word 0xFF9EFE46, 0x0000001E, 0x1000FCC0, 0xFFCDFFC7 -.word 0xFF00001E, 0x0000FC30, 0x0060011A, 0x00000000 -.word 0x0000F4CF, 0x021707F0, 0x00000000, 0x0000F575 -.word 0x018B0622, 0x00000000, 0x0000F5E3, 0x012304EE -.word 0x00000000, 0x0000F6A2, 0x01A802DC, 0x00000000 -.word 0x0000F68B, 0x02620050, 0x00000000, 0x0000F7B5 -.word 0x0189FCDB, 0xFF000000, 0x0000F8A8, 0x012DF7E1 -.word 0x0000001E, 0x0000F558, 0x00F20673, 0x0000001E -.word 0x0000F5FE, 0x006504A5, 0x0000001E, 0x0000F665 -.word 0xFFE30385, 0x0000001E, 0x0000F771, 0x011D012A -.word 0x0000001E, 0x0000F7F7, 0x0186FF48, 0x0000001E -.word 0x0000F873, 0x0116FE9C, 0xFF00002A, 0x0000F86D -.word 0x00E0F9CC, 0x00000000, 0x000006D4, 0x00A6FAE3 -.word 0x00000000, 0x000006D4, 0x00A6FAE3, 0x00000000 -.word 0x000006FE, 0x0066F9CF, 0x00000000, 0x000004F6 -.word 0x0046F966, 0x00000000, 0x0000017C, 0x0053FA6C -.word 0x00000000, 0x0000FEC9, 0x003AFC36, 0x00000000 -.word 0x0000FC6F, 0xFFDEFDC0, 0x00000000, 0x0000FB17 -.word 0xFFBEFEC7, 0xFF000000, 0x0000F96A, 0x00AB011B -.word 0x00000009, 0x000006DB, 0xFFD3FCA8, 0x0000001E -.word 0x000006DC, 0xFFDCFCAC, 0x00000019, 0x0000077F -.word 0xFFBEFB94, 0x00000019, 0x000006B5, 0xFFBDFA16 -.word 0x00000019, 0x00000359, 0xFFD6FA1E, 0x00000019 -.word 0x0000005B, 0xFFB1FB2F, 0x00000019, 0x0000FDEE -.word 0xFF57FC9C, 0x00000019, 0x0000FC95, 0xFF34FDA4 -.word 0xFF000019, 0x0000FA96, 0xFFF6FFB7, 0x00000000 -.word 0x0000FAEF, 0xFF6EFDAA, 0x00000000, 0x0000FAEF -.word 0xFF6EFDAA, 0x00000000, 0x0000FB54, 0xFF68FDBF -.word 0x00000000, 0x0000FBB5, 0xFF64FDE0, 0x00000000 -.word 0x0000FC0D, 0xFF64FDFA, 0x00000000, 0x0000FC9F -.word 0xFF64FE2B, 0x00000000, 0x0000FD80, 0xFF61FE99 -.word 0x00000000, 0x0000FDCA, 0xFF66FEAB, 0xFF000000 -.word 0x0000FE06, 0xFF6DFEBF, 0x0000001E, 0x0000F911 -.word 0xFF0FFE1A, 0x0000001E, 0x0000F911, 0xFF0FFE1A -.word 0x00000023, 0x0000F9DD, 0xFE99FEC0, 0x00000023 -.word 0x0000FB37, 0xFE86FF8E, 0x00000023, 0x0000FCC7 -.word 0xFE7AFF8B, 0x00000023, 0x0000FE21, 0xFF1DFF62 -.word 0x00000026, 0x0000FF5C, 0xFF8EFF2E, 0x0000001E -.word 0x0000FFA1, 0xFF56FF54, 0xFF00001E, 0x0000FFDF -.word 0xFF4EFF5D, 0x00000000, 0x00000326, 0x0016FBE5 -.word 0x00000000, 0x00000326, 0x0016FBE5, 0x00000000 -.word 0x00000279, 0x001CFBDC, 0x00000000, 0x000000E2 -.word 0x0014FC78, 0x00000000, 0x00000010, 0x0015FDCF -.word 0x00000000, 0x0000FFA5, 0x006FFEAD, 0xFF000000 -.word 0x0000FFB3, 0x008EFF63, 0x0000001E, 0x00000381 -.word 0xFFA1FDC3, 0x0000001E, 0x00000381, 0xFFA1FDC3 -.word 0x00000023, 0x00000237, 0xFF21FD88, 0x00000023 -.word 0x0000005D, 0xFF63FE39, 0x00000023, 0x0000FEF8 -.word 0x007DFF60, 0x0000001E, 0x0000FE07, 0x00C8FFB7 -.word 0xFF00001E, 0x0000FDC3, 0x00D1FF6A, 0x00000000 -.word 0x0000FFF9, 0x004DFD4B, 0x00000000, 0x0000FF2A -.word 0x009EFCF8, 0x00000000, 0x0000FE1B, 0x0174FD03 -.word 0x00000000, 0x0000FC2C, 0x0163FBEA, 0x00000000 -.word 0x0000FBC2, 0x003CFAA3, 0x00000000, 0x0000FBF4 -.word 0x0012F87D, 0xFF000000, 0x0000FBF4, 0x0012F87D -.word 0x00000025, 0x0000FEDB, 0xFF54FC06, 0x00000025 -.word 0x0000FEB0, 0xFF91FB66, 0x00000025, 0x0000FE79 -.word 0x0070FB62, 0x00000025, 0x0000FDE5, 0x00ACFB55 -.word 0x00000025, 0x0000FD9B, 0x0079FB3C, 0x00000030 -.word 0x0000FD0D, 0x0037FA1A, 0xFF00001E, 0x0000FD20 -.word 0x001DFA0D, 0x00000000, 0x00000032, 0x0017FB25 -.word 0x00000000, 0x00000032, 0x0011F7F3, 0x00000000 -.word 0x0000FFEF, 0x000AF6B4, 0x00000000, 0x0000FF34 -.word 0x0008F54E, 0x00000000, 0x0000FE63, 0x0009F494 -.word 0x00000000, 0x0000FDD3, 0x0005F436, 0x00000000 -.word 0x0000FCC0, 0x0005F3EC, 0x00000000, 0x0000FBA1 -.word 0x0004F3E5, 0x00000000, 0x0000FA43, 0x0002F3D4 -.word 0xFF000000, 0x0000F96D, 0x0003F3F1, 0x0000001E -.word 0x00000032, 0xFF86F947, 0x0000001E, 0x00000042 -.word 0xFF4FF627, 0x0000001E, 0x00000181, 0xFF13F612 -.word 0x0000001E, 0x000000EB, 0xFF7EF60E, 0x0000001E -.word 0x0000002B, 0xFFC5F554, 0x0000001E, 0x0000FF90 -.word 0xFFB2F508, 0x0000001E, 0x0000FEB4, 0x0011F3E0 -.word 0x0000001E, 0x0000FD8C, 0x001AF386, 0x0000001E -.word 0x0000FC2B, 0x0067F3AE, 0xFF00001E, 0x0000FB56 -.word 0x0051F3AC, 0x00000000, 0x0000F49D, 0x001E003A -.word 0x00000000, 0x0000F4C9, 0x003C0039, 0x00000000 -.word 0x0000F4F7, 0x005A0038, 0x00000000, 0x0000F4F7 -.word 0x005A0038, 0x00000000, 0x0000F535, 0x00570036 -.word 0x00000000, 0x0000F6AE, 0x0036001D, 0x00000000 -.word 0x0000F6CE, 0x0031001C, 0xFF000000, 0x0000F6CE -.word 0x0031001C, 0x00000050, 0x0000F669, 0xFF5A004D -.word 0x00000050, 0x0000F69D, 0xFF8D004B, 0x00000050 -.word 0x0000F6D6, 0xFFC8003B, 0x00000005, 0x0000F6D9 -.word 0xFFD30040, 0x00000003, 0x0000F717, 0xFFD00045 -.word 0x00000004, 0x0000F894, 0xFFC5000F, 0x00000004 -.word 0x0000F8B8, 0xFFCC001A, 0xFF000004, 0x0000F8B8 -.word 0xFFCC0014, 0x00000000, 0x0000FF61, 0x03CEF2BF -.word 0x00000000, 0x0000FD33, 0x038DF40F, 0x00000000 -.word 0x0000FC59, 0x0366F4DF, 0x00000000, 0x0000FBE7 -.word 0x0321F5D5, 0x00000000, 0x0000FB9A, 0x02A9F704 -.word 0x00000000, 0x0000FB58, 0x0220F8B1, 0x00000000 -.word 0x0000FABF, 0x01F3FA36, 0x00000000, 0x0000F9F2 -.word 0x01EFFB8D, 0x00000000, 0x0000F943, 0x01FEFD31 -.word 0x00000000, 0x0000F950, 0x0200FEA3, 0x00000000 -.word 0x0000F9CD, 0x0214FF83, 0x00000000, 0x0000FACE -.word 0x022D000D, 0xFF000000, 0x0000FBD8, 0x0231000D -.word 0x00000014, 0x0000FEA7, 0x033CF478, 0x00000014 -.word 0x0000FCB7, 0x0306F5E1, 0x00000014, 0x0000FBF7 -.word 0x02D4F6B4, 0x00000014, 0x0000FB96, 0x0278F7A5 -.word 0x00000014, 0x0000FB66, 0x0217F8E0, 0x00000014 -.word 0x0000FB26, 0x01C5FA9B, 0x00000014, 0x0000FADD -.word 0x01EBFC29, 0x0000001C, 0x0000FA89, 0x0208FD69 -.word 0x0000001D, 0x0000FAF3, 0x020AFE2D, 0x0000001C -.word 0x0000FB2B, 0x0226FE09, 0x0000001C, 0x0000FB39 -.word 0x0216FE2C, 0x0000001C, 0x0000FB08, 0x0202FE1F -.word 0xFF00001C, 0x0000FB31, 0x023FFE38, 0x00000000 -.word 0x0000FE5D, 0x01F9F67A, 0x00000000, 0x0000FD7A -.word 0x0136F7AB, 0x00000000, 0x0000FB8B, 0x0066FA4F -.word 0x00000000, 0x0000F9C4, 0x0032FC9F, 0x00000000 -.word 0x0000F7B6, 0x0022FDDA, 0x00000000, 0x0000F771 -.word 0x0054FDEC, 0xFF000000, 0x0000F7DF, 0x00A6FED5 -.word 0x0000001E, 0x0000FD5A, 0x0107F7DB, 0x0000001E -.word 0x0000FC6F, 0x0063F918, 0x0000001E, 0x0000FA65 -.word 0x002EFBE0, 0x0000001E, 0x0000F843, 0x0010FDDC -.word 0x0000001E, 0x0000F5D2, 0x000CFE55, 0x0000001E -.word 0x0000F57E, 0x006CFDE9, 0xFF00001E, 0x0000F5F2 -.word 0x00A8FE82, 0x00000000, 0x0000F8E5, 0x0181054B -.word 0x00000000, 0x0000FAE4, 0x00B90556, 0x00000000 -.word 0x0000FCCC, 0x00100556, 0xFF000000, 0x0000FD42 -.word 0x0047056D, 0x00000046, 0x0000F88A, 0x00E80378 -.word 0x00000046, 0x0000FC3E, 0x001D0410, 0x00000046 -.word 0x0000FEA3, 0x004105F7, 0xFF000046, 0x0000FEDA -.word 0x01090642 - -glabel D_80286A04 -.word 0x01000000, 0x80286518, 0x80286518 - -glabel D_80286A10 -.word 0x00960000, 0x00080000, 0x80285D80, 0x80285DB0 -.word 0x00F10000, 0x00090000, 0x80285DE0, 0x80285E1C -.word 0x00F10000, 0x000B0000, 0x80285EB8, 0x80285F18 -.word 0x00F10000, 0x00050000, 0x80285E58, 0x80285E88 -.word 0x00F10000, 0x00020000, 0x80285F78, 0x80285FC0 -.word 0x00F10000, 0x000E0000, 0x802869A4, 0x802869D4 -.word 0x00F10000, 0x000C0000, 0x80286014, 0x80286044 -.word 0x00F10000, 0x00070000, 0x80286074, 0x802860D4 -.word 0x00F10000, 0x00010000, 0x80286134, 0x802861D0 -.word 0x00F10000, 0x00040000, 0x8028626C, 0x802862C0 -.word 0x00F10000, 0x00120000, 0x80286314, 0x80286380 -.word 0x00F00000, 0x00000000 -.word 0x802864C4, 0x80286518 -.word 0x00F00000, 0x00060000, 0x8028656C -.word 0x802865C0 -.word 0x00F00000 -.word 0x000A0000 -.word 0x80286614 -.word 0x8028668C -.word 0x00F00000, 0x00030000, 0x80286704 -.word 0x80286764 -.word 0x00F00000 -.word 0x000D0000 -.word 0x802867C4 -.word 0x80286860 -.word 0x00F00000 -.word 0x01000000, 0x80286518, 0x80286518 -.word 0x00F20000, 0x02070000, 0x802868FC -.word 0x80286950 -.word 0x00F00000 - -glabel D_80286B34 -.word 0x009600F3, 0x00F300F3 -.word 0x00F300F3 -.word 0x00F300F3 -.word 0x00F300F3 -.word 0x00F300F3 -.word 0x00F300F3 -.word 0x00F200F2 -.word 0x00F200F9 -.word 0x00F00000 - -glabel D_80286B5C -.word func_802847CC -.word 0x7FFF0000 -.word 0x00000000 -.word 0x00000000 -.word 0x00000000 - -glabel D_80286B70 -.word 0x3F4CCCCD - -glabel D_80286B74 -.word 0x3E4CCCCD - -glabel D_80286B78 -.word 0x3E4CCCCD - -glabel D_80286B7C -.word 0x3FEF5C2A - -glabel D_80286B80 -.word 0x453B8000 - -glabel D_80286B84 -.word 0x3F8CCCCD, 0x00000000, 0x00000000 - -glabel D_80286B90 -.word 0xC543D000 - -glabel D_80286B94 -.word 0xC3E98000 - -glabel D_80286B98 -.word 0xC5596000 - -glabel D_80286B9C -.word 0x3FAAAAAB - -glabel D_80286BA0 -.word 0x45D48000 - -.word 0x00000000, 0x00000000, 0x00000000 - -# English credits -.asciiz "executive producer" -.balign 4 -.asciiz "hiroshi yamauchi" -.balign 4 -.asciiz "producer" -.balign 4 -.asciiz "shigeru miyamoto" -.balign 4 -.asciiz "director" -.balign 4 -.asciiz "hideki konno" -.balign 4 -.asciiz "assistant director" -.balign 4 -.asciiz "yasuyuki oyagi" -.balign 4 -.asciiz "programmer" -.balign 4 -.asciiz "masato kimura" -.balign 4 -.asciiz "kenji yamamoto" -.balign 4 -.asciiz "yasuhiro kawaguchi" -.balign 4 -.asciiz "yuzuru ogawa" -.balign 4 -.asciiz "masahiro kawano" -.balign 4 -.asciiz "hirohito yoshimoto" -.balign 4 -.asciiz "demo sequence programmer" -.balign 4 -.asciiz "" -.balign 4 -.asciiz "hajime yajima" -.balign 4 -.asciiz "takumi kawagoe" -.balign 4 -.asciiz "visual director" -.balign 4 -.asciiz "tadashi sugiyama" -.balign 4 -.asciiz "c.g.character designer" -.balign 4 -.asciiz "" -.balign 4 -.asciiz "tomoaki kuroume" -.balign 4 -.asciiz "hiroaki takenaka" -.balign 4 -.asciiz "tokihiko toyoda" -.balign 4 -.asciiz "shigefumi hino" -.balign 4 -.asciiz "masanao arimoto" -.balign 4 -.asciiz "hisashi nogami" -.balign 4 -.asciiz "c.g.map designer" -.balign 4 -.asciiz "makoto miyanaga" -.balign 4 -.asciiz "naoki mori" -.balign 4 -.asciiz "hiroyasu kuwabara" -.balign 4 -.asciiz "music composer" -.balign 4 -.asciiz "kenta nagata" -.balign 4 -.asciiz "sound programmer" -.balign 4 -.asciiz "taro bando" -.balign 4 -.asciiz "yoji inagaki" -.balign 4 -.asciiz "sampling voice" -.balign 4 -.asciiz "charles martinet" -.balign 4 -.asciiz "leslie swan" -.balign 4 -.asciiz "isaac marshall" -.balign 4 -.asciiz "" -.balign 4 -.asciiz "" -.balign 4 -.asciiz "" -.balign 4 -.asciiz "technical support" -.balign 4 -.asciiz "takao sawano" -.balign 4 -.asciiz "tsuyoshi takahashi" -.balign 4 -.asciiz "hirohito yada" -.balign 4 -.asciiz "progress management" -.balign 4 -.asciiz "kimiyoshi fukui" -.balign 4 -.asciiz "keizo kato" -.balign 4 -.asciiz "special thanks" -.balign 4 -.asciiz "yasuhiro sakai" -.balign 4 -.asciiz "yoshitaka nishikawa" -.balign 4 -.asciiz "hideki fujii" -.balign 4 -.asciiz "yusuke nakano" -.balign 4 -.asciiz "wataru yamaguchi" -.balign 4 -.asciiz "phil sandhop" -.balign 4 -.asciiz "super mario club" -.balign 4 -.asciiz "Donkey Kong 3-D Model Provided Courtesy of Rare U.K." -.balign 4 -.asciiz "the end" -.balign 4 -.asciiz "mariokart64 staff" - -/* -The encoding on these strings is very odd. -As best as I can tell they are encoded as specified by either: -the euc-jis-2004 standard -or -the JIS X 0213 standard -I can't tell which, they may be the same thing, or one may have -superceded the other. I can't quite tell - -See http://x0213.org/codetable/euc-jis-2004-std.txt for a table -that maps euc-jis-2004 codes to equivalent Unicode - -If the MSB of a character is 0 its treated like plain Unicode. -So 0x20 is still a space, 0x4D is still "m", like in Unicode/ASCII - -If the MSB of a character is 1 its a control character, which -indicates that the next byte has a special interpretation. -For our purposes its always(?) a katakana glyph. - -See char_to_glyph_index for reference, it looks for those -control characters if the byte isn't in the usual ASCII range -*/ -# Japanse credits -.word 0xA5A8A5B0, 0xA5BCA5AF, 0xA5C6A5A3, 0xA5D620A5 -.word 0xD7A5EDA5, 0xC7A5E5A1, 0xBCA5B5A1, 0xBC000000 -.word 0xA4E4A4DE, 0xA4A6A4C1, 0x20A4D2A4, 0xEDA4B700 -.word 0xA5D7A5ED, 0xA5C7A5E5, 0xA1BCA5B5, 0xA1BC0000 -.word 0xA4DFA4E4, 0xA4E2A4C8, 0x20A4B7A4, 0xB2A4EB00 -.word 0xA5C7A5A3, 0xA5ECA5AF, 0xA5BFA1BC, 0x00000000 -.word 0xA4B3A4F3, 0xA4CE20A4, 0xD2A4C7A4, 0xAD000000 -.word 0xA5A2A5B7, 0xA5B9A5BF, 0xA5F3A5C8, 0x20A5C7A5 -.word 0xA3A5ECA5, 0xAFA5BFA1, 0xBC000000, 0xA4AAA4AA -.word 0xA4E4A4AE, 0x20A4E4A4, 0xB9A4E6A4, 0xAD000000 -.word 0xA5D7A5ED, 0xA5B0A5E9, 0xA5DEA1BC, 0x00000000 -.word 0xA4ADA4E0, 0xA4E920A4, 0xDEA4B5A4, 0xC8000000 -.word 0xA4E4A4DE, 0xA4E2A4C8, 0x20A4B1A4, 0xF3A4B800 -.word 0xA4ABA4EF, 0xA4B0A4C1, 0x20A4E4A4, 0xB9A4D2A4 -.word 0xED000000, 0xA4AAA4AC, 0xA4EF20A4, 0xE6A4BAA4 -.word 0xEB000000, 0xA4ABA4EF, 0xA4CE20A4, 0xDEA4B5A4 -.word 0xD2A4ED00, 0xA4E8A4B7, 0xA4E2A4C8, 0x20A4D2A4 -.word 0xEDA4D2A4, 0xC8000000, 0xA5C7A5E2, 0x20A5B7A1 -.word 0xBCA5B1A5, 0xF3A5B920, 0xA5D7A5ED, 0xA5B0A5E9 -.word 0xA5DEA1BC, 0x00000000, 0x00000000, 0xA4E4A4B8 -.word 0xA4DE20A4, 0xCFA4B8A4, 0xE1000000, 0xA4ABA4EF -.word 0xA4B4A4A8, 0x20A4BFA4, 0xAFA4DF00, 0xA5D3A5B8 -.word 0xA5E5A5A2, 0xA5EB20A5, 0xC7A5A3A5, 0xECA5AFA5 -.word 0xBFA1BC00, 0xA4B9A4AE, 0xA4E4A4DE, 0x20A4BFA4 -.word 0xC0A4B700, 0x636720A5, 0xADA5E3A5, 0xE9A5AFA5 -.word 0xBFA1BC20, 0xA5C7A5B6, 0xA5A4A5CA, 0xA1BC0000 -.word 0x00000000, 0xA4AFA4ED, 0xA4A6A4E1, 0x20A4C8A4 -.word 0xE2A4A2A4, 0xAD000000, 0xA4BFA4B1, 0xA4CAA4AB -.word 0x20A4D2A4, 0xEDA4A2A4, 0xAD000000, 0xA4C8A4E8 -.word 0xA4C020A4, 0xC8A4ADA4, 0xD2A4B300, 0xA4D2A4CE -.word 0x20A4B7A4, 0xB2A4D5A4, 0xDF000000, 0xA4A2A4EA -.word 0xA4E2A4C8, 0x20A4DEA4, 0xB5A4CAA4, 0xAA000000 -.word 0xA4CEA4AC, 0xA4DF20A4, 0xD2A4B5A4, 0xB7000000 -.word 0x636720A5, 0xDEA5C3A5, 0xD720A5C7, 0xA5B6A5A4 -.word 0xA5CAA1BC, 0x00000000, 0xA4DFA4E4, 0xA4CAA4AC -.word 0x20A4DEA4, 0xB3A4C800, 0xA4E2A4EA, 0x20A4CAA4 -.word 0xAAA4AD00, 0xA4AFA4EF, 0xA4D0A4E9, 0x20A4D2A4 -.word 0xEDA4E4A4, 0xB9000000, 0xA5DFA5E5, 0xA1BCA5B8 -.word 0xA5C3A5AF, 0x20A5B3A5, 0xF3A5DDA1, 0xBCA5B6A1 -.word 0xBC000000, 0xA4CAA4AC, 0xA4BF20A4, 0xB1A4F3A4 -.word 0xBF000000, 0xA5B5A5A6, 0xA5F3A5C9, 0x20A5D7A5 -.word 0xEDA5B0A5, 0xE9A5DEA1, 0xBC000000, 0xA4D0A4F3 -.word 0xA4C9A4A6, 0x20A4BFA4, 0xEDA4A600, 0xA4A4A4CA -.word 0xA4ACA4AD, 0x20A4E8A4, 0xA6A4B800, 0xA5B5A5F3 -.word 0xA5D7A5EA, 0xA5F3A5F3, 0xA5B020A5, 0xDCA5A4A5 -.word 0xB9000000, 0xA4B3A4A6, 0xA4C5A4AD, 0x20A4A2A4 -.word 0xB5A4B300, 0xA4DEA4EB, 0xA4CE20A4, 0xC8A4E2A4 -.word 0xB3000000, 0xA4C1A4E3, 0xA1BCA4EB, 0xA4BA20A4 -.word 0xDEA4EBA4, 0xC6A4A3A4, 0xCD000000, 0xA4B8A4E5 -.word 0xA4EAA4A2, 0xA4F320A4, 0xD0A4EBA4, 0xC0A4B3A4 -.word 0xD5000000, 0xA4C8A4DE, 0xA4B920A4, 0xB9A4D4A4 -.word 0xF3A4C9A4, 0xE9A1BC00, 0xA4B8A4E7, 0xA4F320A4 -.word 0xD2A4E5A1, 0xBCA4E9A4, 0xC8A4F300, 0xA5C6A5AF -.word 0xA5CBA5AB, 0xA5EB20A5, 0xB5A5DDA1, 0xBCA5C800 -.word 0xA4B5A4EF, 0xA4CE20A4, 0xBFA4ABA4, 0xAA000000 -.word 0xA4BFA4AB, 0xA4CFA4B7, 0x20A4C4A4, 0xE8A4B700 -.word 0xA4E4A4C0, 0x20A4D2A4, 0xEDA4D2A4, 0xC8000000 -.word 0xA5D7A5ED, 0xA5B0A5EC, 0xA5B920A5, 0xDEA5CDA1 -.word 0xBCA5B8A5, 0xE1A5F3A5, 0xC8000000, 0xA4D5A4AF -.word 0xA4A420A4, 0xADA4DFA4, 0xE8A4B700, 0xA4ABA4C8 -.word 0xA4A620A4, 0xB1A4A4A4, 0xBEA4A600, 0xA5B9A5DA -.word 0xA5B7A5E3, 0xA5EB20A5, 0xB5A5F3A5, 0xAFA5B900 -.word 0xA4B5A4AB, 0xA4A420A4, 0xE4A4B9A4, 0xD2A4ED00 -.word 0xA4CBA4B7, 0xA4ABA4EF, 0x20A4E8A4, 0xB7A4BFA4 -.word 0xAB000000, 0xA4D5A4B8, 0xA4A420A4, 0xD2A4C7A4 -.word 0xAD000000, 0xA4CAA4AB, 0xA4CE20A4, 0xE6A4A6A4 -.word 0xB9A4B100, 0xA4E4A4DE, 0xA4B0A4C1, 0x20A4EFA4 -.word 0xBFA4EB00, 0xA4CBA4F3, 0xA4C6A4F3, 0xA4C9A4A6 -.word 0x20A4B8A4, 0xE7A1BCA4, 0xABA4A400, 0xA4B9A1BC -.word 0xA4D1A1BC, 0x20A4DEA4, 0xEAA4AA20, 0xA4AFA4E9 -.word 0xA4D60000, 0xA4ECA4A2, 0x20A4EAA4, 0xDFA4C6A4 -.word 0xC3A4C900, 0x2020A4AA, 0xA4B7A4DE, 0xA4A40000 -.word 0x20A4DEA4, 0xEAA4AAA4, 0xABA1BCA4, 0xC8363420 -.word 0xA4B9A4BF, 0xA4C3A4D5 - -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_80287470 -.word 0x3F2AAAAB - -glabel D_80287474 -.word 0x3E2AAAAB - -glabel D_80287478 -.word 0x3F666666 - -glabel D_8028747C -.word 0xC52EC000 -glabel D_80287480 -.word 0x80284B1C, 0x80284B4C, 0x80284B7C -.word 0x80284BAC -.word 0x80284BE8 -.word 0x00000000 -.word 0x00000000, 0x00000000 +.include "macros.inc" + +.data + +glabel D_802856B0 +.word 0x42C40000 + + +glabel D_802856B4 +.word 0x41400000 + +glabel D_802856B8 +.word 0x42500000 + + +glabel D_802856BC +.word 0x42500000 +glabel D_802856C0 +.word 0x00000000 + +glabel D_802856C4 +.word 0x00000000, 0x00000000 +.word 0x00000000 +.word 0x00000000 + +glabel D_802856D4 + +.word 0x02030405, 0x05050505 + +glabel D_802856DC +.word 0x00000000 +.word 0x0000F576, 0x014EFE70, 0x00000000, 0x0000F576 +.word 0x014EFE70, 0x00000000, 0x0000F422, 0x0103FE3C + +.word 0x00000000, 0x0000F3E8, 0x0016FE34, 0xFF000000 + +.word 0x0000F3E8, 0x0016FE34 + +glabel D_80285718 +.word 0x0000003D, 0x0000F493 +.word 0x0309FE4E, 0x00000095, 0x0000F494, 0x030AFE4E +.word 0x0000005E, 0x0000F243, 0x0179FDF0 + + +.word 0x0000003C +.word 0x0000F213, 0x00B1FDE9, 0xFF00003C + + +.word 0x0000F213 +.word 0x008DFDE9 + +glabel D_80285754 +.word 0x00000000, 0x0000F4F4, 0xFFE2FF67 +.word 0x00000000, 0x0000F51A, 0x0002FF5D + + +.word 0x00000000 +.word 0x0000F57B, 0x004AFFB8, 0xFF000000 + + +.word 0x0000F608 +.word 0x0065FFE4 + +glabel D_80285784 +.word 0x000000BA, 0x0000F33E, 0x00090053 +.word 0x00000059, 0x0000F329, 0xFFA4FF8F + + +.word 0x0000003C +.word 0x0000F39C, 0x004FFF2A, 0xFF00002D + + +.word 0x0000F44A +.word 0x00BEFF16 + +glabel D_802857B4 +.word 0x00000000, 0x0000F22C + + +.word 0xFFF40067 +.word 0xFF000000 + + +.word 0x0000F22C, 0xFFF40067 +glabel D_802857CC +.word 0x0000005A + + +.word 0x0000F3F8, 0xFFDBFC39, 0x0000005A, 0x0000F419 + + +.word 0xFFF8FC3B, 0xFF000065 + +.word 0x0000F454, 0x000EFBFF + +glabel D_802857F0 +.word 0x00000000, 0x0000F208, 0x004FFDC9, 0x00000000 +.word 0x0000F20F, 0x004EFDCB, 0x00000000, 0x0000F23D +.word 0x0049FDDC, 0x00000000, 0x0000F284, 0x0044FDEF +.word 0x00000000, 0x0000F2BE, 0x0041FDFA, 0x00000000 + +.word 0x0000F2E5, 0x003EFE04, 0x00000000, 0x0000F303 + + +.word 0x0039FE0A, 0xFF000000, 0x0000F325 + + +.word 0x0033FE11 + +glabel D_80285850 +.word 0x0000001E, 0x0000F3D7, 0x0004FE77, 0x0000001E +.word 0x0000F3E3, 0x000CFE6F, 0x00000032, 0x0000F421 +.word 0x001EFE53, 0x00000032, 0x0000F468, 0x001CFE69 +.word 0x0000001E, 0x0000F4A4, 0x0016FE68, 0x0000001E + + +.word 0x0000F4C9, 0xFFFEFE70, 0x0000001E, 0x0000F4E3 + +.word 0xFFE1FE76, 0xFF00001E + + +.word 0x0000F505, 0xFFD1FE72 +glabel D_802858B0 +.word 0x00000000, 0x0000F42B + + +.word 0x002DFE46, 0xFF000000 + +.word 0x0000F42B, 0x002DFE46 + +glabel D_802858C8 +.word 0x0000001E, 0x0000F246 + + +.word 0x0073FDE7, 0xFF00001E + +.word 0x0000F246, 0x0073FDE7 +glabel D_802858E0 +.word 0x00000000, 0x0000F39F +.word 0x003CFE2F, 0xFF000000 +.word 0x0000F39F, 0x003CFE2F + +glabel D_802858F8 +.word 0x00000001, 0x0000F245 +.word 0x0187FDA1, 0xFF000001 + +.word 0x0000F245, 0x0187FDA1 +glabel D_80285910 +.word 0x00000000, 0x0000F4A0 +.word 0x00B7FF6C, 0xFF000000 + +.word 0x0000F4A0, 0x00B7FF6C + +glabel D_80285928 +.word 0x00000006, 0x0000F340 + + +.word 0x0025FE28, 0xFF000006, 0x0000F340, 0x0025FE28 +glabel D_80285940 +.word 0x00000000, 0x0000F3C3, 0x006BFE1A, 0x00000000 +.word 0x0000F3C3, 0x006BFE1A, 0x00000000, 0x0000F3C3 +.word 0x006BFE1A, 0x00000000, 0x0000F3C3, 0x006BFE1A +.word 0x00000000, 0x0000F3C3, 0x006BFE1A, 0x00000000 +.word 0x0000F3C3, 0x006BFE1A, 0x00000000, 0x0000F3C3 +.word 0x006BFE1A, 0xFF000000, 0x0000F3C3, 0x006BFE1A +.word 0x0000001E, 0x0000F203, 0xFF99FE62, 0x00000004 +.word 0x0000F200, 0xFFA4FE6D, 0x00000004, 0x0000F1DA +.word 0x01AFFE7F, 0x0000001E, 0x0000F1DA, 0x014BFE7F +.word 0x0000001E, 0x0000F1DA, 0x00E7FE7F, 0x00000039 +.word 0x0000F1E1, 0x0015FE7D, 0x0000001E, 0x0000F1E1 +.word 0x000AFE71, 0xFF00001E, 0x0000F1E0, 0x000CFE71 + +glabel D_80285A00 +.word gPlayerOne, gPlayerTwo, gPlayerThree, gPlayerFour + +glabel D_80285A10 +.word 0x00000000, 0x0000F33D, 0x002FFE5A, 0x00000000 +.word 0x0000F36B, 0x0028FE76, 0x00000000 + +.word 0x0000F3A6 +.word 0x0027FE6F, 0x00000000, 0x0000F3C8 + +.word 0x002AFE4D +.word 0xFF000000, 0x0000F3CF, 0x002FFE33 + +glabel D_80285A4C +.word 0x0000002D +.word 0x0000F4AC, 0xFFC1FD1A, 0x0000002D, 0x0000F3D1 +.word 0xFFF2FC8F, 0x0000002D, 0x0000F2BA, 0xFFF2FCBA + +.word 0x0000002D, 0x0000F219, 0xFFF7FD56, 0xFF00002D +.word 0x0000F1E8, 0xFFEDFDD9 + +glabel D_80285A88 +.word 0x00000000, 0x0000F3D8 +.word 0x0012FE0E, 0x00000000, 0x0000F3D8, 0x0012FE0E +.word 0x00000000, 0x0000F3D6, 0x001AFE0F, 0xFF000000 +.word 0x0000F3D7, 0x001DFE0F + +glabel D_80285AB8 +.word 0x0000004B, 0x0000F1FB +.word 0x006CFE85, 0x0000002D, 0x0000F1FB, 0x006CFE85 + +.word 0x0000002D, 0x0000F225, 0x00FBFE7A, 0xFF00002D +.word 0x0000F21C, 0x00EBFE7C + +glabel D_80285AE8 +.word 0x00000000, 0x0000F3A3 +.word 0x004CFE22, 0xFF000000 + +.word 0x0000F3A3, 0x004CFE22 +glabel D_80285B00 +.word 0x0000001E, 0x0000F1BA + + +.word 0x0092FE22, 0xFF00001E +.word 0x0000F1BA, 0x0092FE22 +glabel D_80285B18 + +.word 0x00000000, 0x0000F496 + +.word 0x0029FF27, 0x00000000, 0x0000F496, 0x0029FF27 +.word 0x00000000 + + +.word 0x0000F4D5, 0xFFE3FF70, 0x00000000 +.word 0x0000F54D + + +.word 0xFFE8FF9B, 0xFF000000, 0x0000F54D +.word 0xFFE8FF9B + +glabel D_80285B54 +.word 0x00000018 +.word 0x0000F307, 0x012FFE96 +.word 0x00000018, 0x0000F307, 0x012FFE96, 0x0000001F +.word 0x0000F326, 0x00CEFF12, 0x00000041, 0x0000F35A +.word 0x0000FF9E, 0xFF000041 +.word 0x0000F35A, 0x0000FF9E + +glabel D_80285B90 +.word 0x00000000, 0x0000F5BB +.word 0x0008FE7E, 0xFF000000 +.word 0x0000F5BB, 0x0008FE7E + +glabel D_80285BA8 +.word 0x00000005, 0x0000F7A6 +.word 0x0044FECC, 0xFF000005, 0x0000F7A6, 0x0044FECC +.word 0x00000000, 0x0000F690, 0x0018FE9E, 0x00000000 +.word 0x0000F690, 0x0018FE9E, 0x00000000, 0x0000F690 +.word 0x0018FE9E, 0x00000000, 0x0000F6B9, 0x0021FEA5 +.word 0xFF000000, 0x0000F6CD, 0x001BFEA9, 0x00000046 +.word 0x0000F4A5, 0xFFF0FE49, 0x000000C8, 0x0000F4A5 +.word 0xFFF0FE49, 0x00000047 +.word 0x0000F4A5, 0xFFF0FE49 +.word 0x0000001E, 0x0000F4CE +.word 0x0046FE4D, 0xFF00001E +.word 0x0000F4EB, 0x0084FE5C + +glabel D_80285C38 + +.word 0x00000000, 0x0000F4ED +.word 0xFFEBFF66, 0x00000000, 0x0000F4ED, 0xFFEBFF66 +.word 0x00000000 + + +.word 0x0000F408, 0x0028FE82, 0x00000000 +.word 0x0000F32B + +.word 0x0062FDD6, 0xFF000000, 0x0000F2A4 + +.word 0x006AFDA5 +glabel D_80285C74 +.word 0x0000003C, 0x0000F616, 0xFFD800F7 +.word 0x00000032, 0x0000F616, 0xFFD800F7, 0x00000032 + + +.word 0x0000F558, 0xFFBBFFE4, 0x00000024, 0x0000F481 +.word 0xFFF0FF30, 0xFF000028, 0x0000F414, 0xFFEDFEE1 +glabel D_80285CB0 +.word 0x00000000, 0x0000F551, 0xFFE7FFA5, 0x00000000 + + +.word 0x0000F551, 0xFFE7FFA5, 0x00000000, 0x0000F54E +.word 0xFFE7FF82, 0xFF000000, 0x0000F544, 0xFFFAFF74 +glabel D_80285CE0 +.word 0x00000019, 0x0000F362, 0xFFF3FF62, 0x00000019 + + +.word 0x0000F362 +.word 0xFFF3FF62, 0x00000019, 0x0000F392 +.word 0xFFF30068 + +.word 0xFF000019, 0x0000F3E1, 0xFF4700A2 + +glabel D_80285D10 +.word func_80283D2C + +glabel D_80285D14 +.word 0x014A0000, func_802840C8, 0x010E0000 + + +.word func_802842D8, 0x00F70000, func_80284418, 0x00C80000 +.word func_80284494, 0x00AA0000 + + +.word func_802844FC, 0x006C0000 +.word func_8028422C, 0x008C0000 +.word func_802842A8, 0x010E0000 +.word func_80284308, 0x7FFF0000 + +glabel D_80285D58 +.word func_8028454C, 0x012C0000 +.word func_80284154, 0x00AF0000, func_802846B4, 0x00C80000 +.word func_802846E4, 0x00B80000, func_80284648, 0x7FFF0000 +.word 0x00000000, 0x0000FFC6, 0x0000FC02, 0x00000000 +.word 0x0400FFB9, 0x0005FF53, 0x00000000, 0x0A00FEC3 +.word 0x0036009E, 0xFF000000, 0x0000FC1A, 0xFFDD0298 +.word 0x0000003C, 0x0000FEB1, 0xFF45FD76, 0x0000003C +.word 0x0400FEA7, 0xFF7300DA, 0x0000003C, 0x0A00FD94 +.word 0xFF9B020B, 0xFF00003C, 0x0000FA7B, 0x003C039C +.word 0x00000000, 0x000004A7, 0x004F060B, 0x00000000 +.word 0x000004A7, 0x004F060B, 0x00000000, 0x0000048A +.word 0x0068059A, 0x00000000, 0x00000501, 0x007004B7 +.word 0xFF000000, 0x00000569, 0x00420410, 0x00000012 +.word 0x0000051C, 0x00B907E5, 0x00000028, 0x0000051C +.word 0x00B907E5, 0x00000032, 0x000004F6, 0x0032077F +.word 0x00000032, 0x0000040D, 0x00230664, 0xFF000032 +.word 0x0000044D, 0x000C05A8, 0x00000000, 0x000000D1 +.word 0x0070F5AB, 0x00000000, 0x000000D1, 0x0070F5AB +.word 0x00000000, 0x00000145, 0x0043F624, 0xFF000000 +.word 0x000001BB, 0x001BF6A9, 0x00000014, 0x000001BE +.word 0xFF8BF723, 0x0000001E, 0x000001BE, 0xFF8BF721 +.word 0x0000003C, 0x0000023D, 0xFF7AF7A5, 0xFF00003C +.word 0x000002BB, 0x0047F854, 0x00000000, 0x0000FD1A +.word 0x001F0AAA, 0x00000000, 0x0000FD1A, 0x00160890 +.word 0x00000000, 0x0000FD1B, 0x001705EE, 0x00000000 +.word 0x0000FD24, 0x00130325, 0x00000000, 0x0000FCAB +.word 0x001001AF, 0x00000000, 0x0000FB52, 0x00130094 +.word 0x00000000, 0x0000FA51, 0x001A0055, 0xFF000000 +.word 0x0000F8F5, 0x001B0053, 0x00000032, 0x0000FD1F +.word 0xFEB7094F, 0x00000032, 0x0000FD21, 0xFFDF069F +.word 0x00000032, 0x0000FD35, 0x001203FA, 0x0000001E +.word 0x0000FD32, 0xFFE50133, 0x0000001E, 0x0000FB92 +.word 0x000E0011, 0x0000001E, 0x0000F993, 0x001CFFB7 +.word 0x00000028, 0x0000F866, 0x0009FFFB, 0xFF00001E +.word 0x0000F712, 0xFFE700C8, 0x00000000, 0x0000079C +.word 0x00DEF99E, 0x00000000, 0x0000079C, 0x00DEF99E +.word 0x00000000, 0x0000077F, 0x0099F9A6, 0x00000000 +.word 0x00000784, 0x005BF9A2, 0x00000000, 0x00000784 +.word 0x005BF9A2, 0xFF000000, 0x00000784, 0x005BF9A2 +.word 0x00000037, 0x00000886, 0xFFAAF863, 0x00000037 +.word 0x00000887, 0xFFAAF864, 0x00000037, 0x00000960 +.word 0x0010F9AD, 0x00000042, 0x0000092B, 0x009EFAA4 +.word 0x00000032, 0x00000930, 0x00A9FA98, 0x00000032 +.word 0x00000932, 0x00A9FA95, 0xFF000032, 0x0000092F +.word 0x00A1FA9C, 0x00000000, 0x0000FF37, 0x002DF9AB +.word 0x00000000, 0x0000007B, 0x0035FAEF, 0x00000000 +.word 0x000001A6, 0x002DFC8E, 0xFF000000, 0x00000228 +.word 0x0035FDAD, 0x0000003C, 0x0000FDC7, 0xFFE6FAF6 +.word 0x0000003C, 0x0000FED8, 0xFFEEFBF4, 0x0000003C +.word 0x0000FFDC, 0xFFE6FD46, 0xFF00003C, 0x0000004B +.word 0xFFE7FE2D, 0x00000000, 0x0000FC11, 0xFFCD0096 +.word 0x00000000, 0x0000FC11, 0xFFCD0096, 0x00000000 +.word 0x0000FC16, 0x0096007C, 0x00000000, 0x0000FC1E +.word 0x01E90049, 0x00000000, 0x0000FC2C, 0x0419FFF4 +.word 0x00000000, 0x0000FC4E, 0x0615FFC1, 0x00000000 +.word 0x0000FC31, 0x077FFFF1, 0xFF000000, 0x0000FC31 +.word 0x077FFFF1, 0x00000032, 0x0000FC60, 0xFF8EFEAD +.word 0x0000001A, 0x0000FC61, 0xFF85FEAE, 0x0000002D +.word 0x0000FC64, 0x0015FE9F, 0x00000028, 0x0000FC66 +.word 0x0104FE93, 0x00000028, 0x0000FCF6, 0x02C5FEC2 +.word 0x00000021, 0x0000FCD2, 0x0446FF38, 0x0000001E +.word 0x0000FC82, 0x05B0FF46, 0xFF000025, 0x0000FC7D +.word 0x05ACFF4D, 0x00000000, 0xEB00FFFB, 0x0047FE2B +.word 0x00000000, 0xE100FFF5, 0x0015FB8A, 0x00000000 +.word 0xF5000143, 0x001FFAB2, 0x00000000, 0x27000230 +.word 0x001DFAEE, 0x00000000, 0x19000294, 0x0012FB89 +.word 0x00000000, 0xE40004B4, 0x001CFB7B, 0x00000000 +.word 0xE2000545, 0x0011FC7C, 0x00000000, 0xF40004AA +.word 0x001BFD89, 0x00000000, 0x000002F5, 0x000CFDE2 +.word 0x00000000, 0x000000CD, 0xFFD6FDE5, 0x00000000 +.word 0x0D00FEFA, 0xFFDDFDCF, 0x00000000, 0x1000FDD8 +.word 0xFFF9FE2B, 0xFF000000, 0x0000FD15, 0x0006FF68 +.word 0x0000001E, 0xEB000002, 0xFFCDFC47, 0x0000001E +.word 0xE10000F6, 0xFFC1F9E6, 0x0000001E, 0xF500032D +.word 0xFFBEFAAD, 0x00000014, 0x270002C7, 0xFFFFFCCA +.word 0x0000001E, 0x1900047B, 0xFFB4FB52, 0x00000014 +.word 0xE40005EB, 0xFFEDFCFF, 0x0000001E, 0xE200053D +.word 0xFFBCFE69, 0x0000001E, 0xF40002C8, 0xFFB7FDE1 +.word 0x0000001E, 0x00000104, 0xFFD6FE02, 0x0000001E +.word 0x0000FEDF, 0xFF8CFDEF, 0x0000001E, 0x0D00FD19 +.word 0xFF9EFE46, 0x0000001E, 0x1000FCC0, 0xFFCDFFC7 +.word 0xFF00001E, 0x0000FC30, 0x0060011A, 0x00000000 +.word 0x0000F4CF, 0x021707F0, 0x00000000, 0x0000F575 +.word 0x018B0622, 0x00000000, 0x0000F5E3, 0x012304EE +.word 0x00000000, 0x0000F6A2, 0x01A802DC, 0x00000000 +.word 0x0000F68B, 0x02620050, 0x00000000, 0x0000F7B5 +.word 0x0189FCDB, 0xFF000000, 0x0000F8A8, 0x012DF7E1 +.word 0x0000001E, 0x0000F558, 0x00F20673, 0x0000001E +.word 0x0000F5FE, 0x006504A5, 0x0000001E, 0x0000F665 +.word 0xFFE30385, 0x0000001E, 0x0000F771, 0x011D012A +.word 0x0000001E, 0x0000F7F7, 0x0186FF48, 0x0000001E +.word 0x0000F873, 0x0116FE9C, 0xFF00002A, 0x0000F86D +.word 0x00E0F9CC, 0x00000000, 0x000006D4, 0x00A6FAE3 +.word 0x00000000, 0x000006D4, 0x00A6FAE3, 0x00000000 +.word 0x000006FE, 0x0066F9CF, 0x00000000, 0x000004F6 +.word 0x0046F966, 0x00000000, 0x0000017C, 0x0053FA6C +.word 0x00000000, 0x0000FEC9, 0x003AFC36, 0x00000000 +.word 0x0000FC6F, 0xFFDEFDC0, 0x00000000, 0x0000FB17 +.word 0xFFBEFEC7, 0xFF000000, 0x0000F96A, 0x00AB011B +.word 0x00000009, 0x000006DB, 0xFFD3FCA8, 0x0000001E +.word 0x000006DC, 0xFFDCFCAC, 0x00000019, 0x0000077F +.word 0xFFBEFB94, 0x00000019, 0x000006B5, 0xFFBDFA16 +.word 0x00000019, 0x00000359, 0xFFD6FA1E, 0x00000019 +.word 0x0000005B, 0xFFB1FB2F, 0x00000019, 0x0000FDEE +.word 0xFF57FC9C, 0x00000019, 0x0000FC95, 0xFF34FDA4 +.word 0xFF000019, 0x0000FA96, 0xFFF6FFB7, 0x00000000 +.word 0x0000FAEF, 0xFF6EFDAA, 0x00000000, 0x0000FAEF +.word 0xFF6EFDAA, 0x00000000, 0x0000FB54, 0xFF68FDBF +.word 0x00000000, 0x0000FBB5, 0xFF64FDE0, 0x00000000 +.word 0x0000FC0D, 0xFF64FDFA, 0x00000000, 0x0000FC9F +.word 0xFF64FE2B, 0x00000000, 0x0000FD80, 0xFF61FE99 +.word 0x00000000, 0x0000FDCA, 0xFF66FEAB, 0xFF000000 +.word 0x0000FE06, 0xFF6DFEBF, 0x0000001E, 0x0000F911 +.word 0xFF0FFE1A, 0x0000001E, 0x0000F911, 0xFF0FFE1A +.word 0x00000023, 0x0000F9DD, 0xFE99FEC0, 0x00000023 +.word 0x0000FB37, 0xFE86FF8E, 0x00000023, 0x0000FCC7 +.word 0xFE7AFF8B, 0x00000023, 0x0000FE21, 0xFF1DFF62 +.word 0x00000026, 0x0000FF5C, 0xFF8EFF2E, 0x0000001E +.word 0x0000FFA1, 0xFF56FF54, 0xFF00001E, 0x0000FFDF +.word 0xFF4EFF5D, 0x00000000, 0x00000326, 0x0016FBE5 +.word 0x00000000, 0x00000326, 0x0016FBE5, 0x00000000 +.word 0x00000279, 0x001CFBDC, 0x00000000, 0x000000E2 +.word 0x0014FC78, 0x00000000, 0x00000010, 0x0015FDCF +.word 0x00000000, 0x0000FFA5, 0x006FFEAD, 0xFF000000 +.word 0x0000FFB3, 0x008EFF63, 0x0000001E, 0x00000381 +.word 0xFFA1FDC3, 0x0000001E, 0x00000381, 0xFFA1FDC3 +.word 0x00000023, 0x00000237, 0xFF21FD88, 0x00000023 +.word 0x0000005D, 0xFF63FE39, 0x00000023, 0x0000FEF8 +.word 0x007DFF60, 0x0000001E, 0x0000FE07, 0x00C8FFB7 +.word 0xFF00001E, 0x0000FDC3, 0x00D1FF6A, 0x00000000 +.word 0x0000FFF9, 0x004DFD4B, 0x00000000, 0x0000FF2A +.word 0x009EFCF8, 0x00000000, 0x0000FE1B, 0x0174FD03 +.word 0x00000000, 0x0000FC2C, 0x0163FBEA, 0x00000000 +.word 0x0000FBC2, 0x003CFAA3, 0x00000000, 0x0000FBF4 +.word 0x0012F87D, 0xFF000000, 0x0000FBF4, 0x0012F87D +.word 0x00000025, 0x0000FEDB, 0xFF54FC06, 0x00000025 +.word 0x0000FEB0, 0xFF91FB66, 0x00000025, 0x0000FE79 +.word 0x0070FB62, 0x00000025, 0x0000FDE5, 0x00ACFB55 +.word 0x00000025, 0x0000FD9B, 0x0079FB3C, 0x00000030 +.word 0x0000FD0D, 0x0037FA1A, 0xFF00001E, 0x0000FD20 +.word 0x001DFA0D, 0x00000000, 0x00000032, 0x0017FB25 +.word 0x00000000, 0x00000032, 0x0011F7F3, 0x00000000 +.word 0x0000FFEF, 0x000AF6B4, 0x00000000, 0x0000FF34 +.word 0x0008F54E, 0x00000000, 0x0000FE63, 0x0009F494 +.word 0x00000000, 0x0000FDD3, 0x0005F436, 0x00000000 +.word 0x0000FCC0, 0x0005F3EC, 0x00000000, 0x0000FBA1 +.word 0x0004F3E5, 0x00000000, 0x0000FA43, 0x0002F3D4 +.word 0xFF000000, 0x0000F96D, 0x0003F3F1, 0x0000001E +.word 0x00000032, 0xFF86F947, 0x0000001E, 0x00000042 +.word 0xFF4FF627, 0x0000001E, 0x00000181, 0xFF13F612 +.word 0x0000001E, 0x000000EB, 0xFF7EF60E, 0x0000001E +.word 0x0000002B, 0xFFC5F554, 0x0000001E, 0x0000FF90 +.word 0xFFB2F508, 0x0000001E, 0x0000FEB4, 0x0011F3E0 +.word 0x0000001E, 0x0000FD8C, 0x001AF386, 0x0000001E +.word 0x0000FC2B, 0x0067F3AE, 0xFF00001E, 0x0000FB56 +.word 0x0051F3AC, 0x00000000, 0x0000F49D, 0x001E003A +.word 0x00000000, 0x0000F4C9, 0x003C0039, 0x00000000 +.word 0x0000F4F7, 0x005A0038, 0x00000000, 0x0000F4F7 +.word 0x005A0038, 0x00000000, 0x0000F535, 0x00570036 +.word 0x00000000, 0x0000F6AE, 0x0036001D, 0x00000000 +.word 0x0000F6CE, 0x0031001C, 0xFF000000, 0x0000F6CE +.word 0x0031001C, 0x00000050, 0x0000F669, 0xFF5A004D +.word 0x00000050, 0x0000F69D, 0xFF8D004B, 0x00000050 +.word 0x0000F6D6, 0xFFC8003B, 0x00000005, 0x0000F6D9 +.word 0xFFD30040, 0x00000003, 0x0000F717, 0xFFD00045 +.word 0x00000004, 0x0000F894, 0xFFC5000F, 0x00000004 +.word 0x0000F8B8, 0xFFCC001A, 0xFF000004, 0x0000F8B8 +.word 0xFFCC0014, 0x00000000, 0x0000FF61, 0x03CEF2BF +.word 0x00000000, 0x0000FD33, 0x038DF40F, 0x00000000 +.word 0x0000FC59, 0x0366F4DF, 0x00000000, 0x0000FBE7 +.word 0x0321F5D5, 0x00000000, 0x0000FB9A, 0x02A9F704 +.word 0x00000000, 0x0000FB58, 0x0220F8B1, 0x00000000 +.word 0x0000FABF, 0x01F3FA36, 0x00000000, 0x0000F9F2 +.word 0x01EFFB8D, 0x00000000, 0x0000F943, 0x01FEFD31 +.word 0x00000000, 0x0000F950, 0x0200FEA3, 0x00000000 +.word 0x0000F9CD, 0x0214FF83, 0x00000000, 0x0000FACE +.word 0x022D000D, 0xFF000000, 0x0000FBD8, 0x0231000D +.word 0x00000014, 0x0000FEA7, 0x033CF478, 0x00000014 +.word 0x0000FCB7, 0x0306F5E1, 0x00000014, 0x0000FBF7 +.word 0x02D4F6B4, 0x00000014, 0x0000FB96, 0x0278F7A5 +.word 0x00000014, 0x0000FB66, 0x0217F8E0, 0x00000014 +.word 0x0000FB26, 0x01C5FA9B, 0x00000014, 0x0000FADD +.word 0x01EBFC29, 0x0000001C, 0x0000FA89, 0x0208FD69 +.word 0x0000001D, 0x0000FAF3, 0x020AFE2D, 0x0000001C +.word 0x0000FB2B, 0x0226FE09, 0x0000001C, 0x0000FB39 +.word 0x0216FE2C, 0x0000001C, 0x0000FB08, 0x0202FE1F +.word 0xFF00001C, 0x0000FB31, 0x023FFE38, 0x00000000 +.word 0x0000FE5D, 0x01F9F67A, 0x00000000, 0x0000FD7A +.word 0x0136F7AB, 0x00000000, 0x0000FB8B, 0x0066FA4F +.word 0x00000000, 0x0000F9C4, 0x0032FC9F, 0x00000000 +.word 0x0000F7B6, 0x0022FDDA, 0x00000000, 0x0000F771 +.word 0x0054FDEC, 0xFF000000, 0x0000F7DF, 0x00A6FED5 +.word 0x0000001E, 0x0000FD5A, 0x0107F7DB, 0x0000001E +.word 0x0000FC6F, 0x0063F918, 0x0000001E, 0x0000FA65 +.word 0x002EFBE0, 0x0000001E, 0x0000F843, 0x0010FDDC +.word 0x0000001E, 0x0000F5D2, 0x000CFE55, 0x0000001E +.word 0x0000F57E, 0x006CFDE9, 0xFF00001E, 0x0000F5F2 +.word 0x00A8FE82, 0x00000000, 0x0000F8E5, 0x0181054B +.word 0x00000000, 0x0000FAE4, 0x00B90556, 0x00000000 +.word 0x0000FCCC, 0x00100556, 0xFF000000, 0x0000FD42 +.word 0x0047056D, 0x00000046, 0x0000F88A, 0x00E80378 +.word 0x00000046, 0x0000FC3E, 0x001D0410, 0x00000046 +.word 0x0000FEA3, 0x004105F7, 0xFF000046, 0x0000FEDA +.word 0x01090642 + +glabel D_80286A04 +.word 0x01000000, 0x80286518, 0x80286518 + +glabel D_80286A10 +.word 0x00960000, 0x00080000, 0x80285D80, 0x80285DB0 +.word 0x00F10000, 0x00090000, 0x80285DE0, 0x80285E1C +.word 0x00F10000, 0x000B0000, 0x80285EB8, 0x80285F18 +.word 0x00F10000, 0x00050000, 0x80285E58, 0x80285E88 +.word 0x00F10000, 0x00020000, 0x80285F78, 0x80285FC0 +.word 0x00F10000, 0x000E0000, 0x802869A4, 0x802869D4 +.word 0x00F10000, 0x000C0000, 0x80286014, 0x80286044 +.word 0x00F10000, 0x00070000, 0x80286074, 0x802860D4 +.word 0x00F10000, 0x00010000, 0x80286134, 0x802861D0 +.word 0x00F10000, 0x00040000, 0x8028626C, 0x802862C0 +.word 0x00F10000, 0x00120000, 0x80286314, 0x80286380 +.word 0x00F00000, 0x00000000 +.word 0x802864C4, 0x80286518 +.word 0x00F00000, 0x00060000, 0x8028656C +.word 0x802865C0 +.word 0x00F00000 +.word 0x000A0000 +.word 0x80286614 +.word 0x8028668C +.word 0x00F00000, 0x00030000, 0x80286704 +.word 0x80286764 +.word 0x00F00000 +.word 0x000D0000 +.word 0x802867C4 +.word 0x80286860 +.word 0x00F00000 +.word 0x01000000, 0x80286518, 0x80286518 +.word 0x00F20000, 0x02070000, 0x802868FC +.word 0x80286950 +.word 0x00F00000 + +glabel D_80286B34 +.word 0x009600F3, 0x00F300F3 +.word 0x00F300F3 +.word 0x00F300F3 +.word 0x00F300F3 +.word 0x00F300F3 +.word 0x00F300F3 +.word 0x00F200F2 +.word 0x00F200F9 +.word 0x00F00000 + +glabel D_80286B5C +.word func_802847CC +.word 0x7FFF0000 +.word 0x00000000 +.word 0x00000000 +.word 0x00000000 + +glabel D_80286B70 +.word 0x3F4CCCCD + +glabel D_80286B74 +.word 0x3E4CCCCD + +glabel D_80286B78 +.word 0x3E4CCCCD + +glabel D_80286B7C +.word 0x3FEF5C2A + +glabel D_80286B80 +.word 0x453B8000 + +glabel D_80286B84 +.word 0x3F8CCCCD, 0x00000000, 0x00000000 + +glabel D_80286B90 +.word 0xC543D000 + +glabel D_80286B94 +.word 0xC3E98000 + +glabel D_80286B98 +.word 0xC5596000 + +glabel D_80286B9C +.word 0x3FAAAAAB + +glabel D_80286BA0 +.word 0x45D48000 + +.word 0x00000000, 0x00000000, 0x00000000 + +# English credits +.asciiz "executive producer" +.balign 4 +.asciiz "hiroshi yamauchi" +.balign 4 +.asciiz "producer" +.balign 4 +.asciiz "shigeru miyamoto" +.balign 4 +.asciiz "director" +.balign 4 +.asciiz "hideki konno" +.balign 4 +.asciiz "assistant director" +.balign 4 +.asciiz "yasuyuki oyagi" +.balign 4 +.asciiz "programmer" +.balign 4 +.asciiz "masato kimura" +.balign 4 +.asciiz "kenji yamamoto" +.balign 4 +.asciiz "yasuhiro kawaguchi" +.balign 4 +.asciiz "yuzuru ogawa" +.balign 4 +.asciiz "masahiro kawano" +.balign 4 +.asciiz "hirohito yoshimoto" +.balign 4 +.asciiz "demo sequence programmer" +.balign 4 +.asciiz "" +.balign 4 +.asciiz "hajime yajima" +.balign 4 +.asciiz "takumi kawagoe" +.balign 4 +.asciiz "visual director" +.balign 4 +.asciiz "tadashi sugiyama" +.balign 4 +.asciiz "c.g.character designer" +.balign 4 +.asciiz "" +.balign 4 +.asciiz "tomoaki kuroume" +.balign 4 +.asciiz "hiroaki takenaka" +.balign 4 +.asciiz "tokihiko toyoda" +.balign 4 +.asciiz "shigefumi hino" +.balign 4 +.asciiz "masanao arimoto" +.balign 4 +.asciiz "hisashi nogami" +.balign 4 +.asciiz "c.g.map designer" +.balign 4 +.asciiz "makoto miyanaga" +.balign 4 +.asciiz "naoki mori" +.balign 4 +.asciiz "hiroyasu kuwabara" +.balign 4 +.asciiz "music composer" +.balign 4 +.asciiz "kenta nagata" +.balign 4 +.asciiz "sound programmer" +.balign 4 +.asciiz "taro bando" +.balign 4 +.asciiz "yoji inagaki" +.balign 4 +.asciiz "sampling voice" +.balign 4 +.asciiz "charles martinet" +.balign 4 +.asciiz "leslie swan" +.balign 4 +.asciiz "isaac marshall" +.balign 4 +.asciiz "" +.balign 4 +.asciiz "" +.balign 4 +.asciiz "" +.balign 4 +.asciiz "technical support" +.balign 4 +.asciiz "takao sawano" +.balign 4 +.asciiz "tsuyoshi takahashi" +.balign 4 +.asciiz "hirohito yada" +.balign 4 +.asciiz "progress management" +.balign 4 +.asciiz "kimiyoshi fukui" +.balign 4 +.asciiz "keizo kato" +.balign 4 +.asciiz "special thanks" +.balign 4 +.asciiz "yasuhiro sakai" +.balign 4 +.asciiz "yoshitaka nishikawa" +.balign 4 +.asciiz "hideki fujii" +.balign 4 +.asciiz "yusuke nakano" +.balign 4 +.asciiz "wataru yamaguchi" +.balign 4 +.asciiz "phil sandhop" +.balign 4 +.asciiz "super mario club" +.balign 4 +.asciiz "Donkey Kong 3-D Model Provided Courtesy of Rare U.K." +.balign 4 +.asciiz "the end" +.balign 4 +.asciiz "mariokart64 staff" + +/* +The encoding on these strings is very odd. +As best as I can tell they are encoded as specified by either: +the euc-jis-2004 standard +or +the JIS X 0213 standard +I can't tell which, they may be the same thing, or one may have +superceded the other. I can't quite tell + +See http://x0213.org/codetable/euc-jis-2004-std.txt for a table +that maps euc-jis-2004 codes to equivalent Unicode + +If the MSB of a character is 0 its treated like plain Unicode. +So 0x20 is still a space, 0x4D is still "m", like in Unicode/ASCII + +If the MSB of a character is 1 its a control character, which +indicates that the next byte has a special interpretation. +For our purposes its always(?) a katakana glyph. + +See char_to_glyph_index for reference, it looks for those +control characters if the byte isn't in the usual ASCII range +*/ +# Japanse credits +.word 0xA5A8A5B0, 0xA5BCA5AF, 0xA5C6A5A3, 0xA5D620A5 +.word 0xD7A5EDA5, 0xC7A5E5A1, 0xBCA5B5A1, 0xBC000000 +.word 0xA4E4A4DE, 0xA4A6A4C1, 0x20A4D2A4, 0xEDA4B700 +.word 0xA5D7A5ED, 0xA5C7A5E5, 0xA1BCA5B5, 0xA1BC0000 +.word 0xA4DFA4E4, 0xA4E2A4C8, 0x20A4B7A4, 0xB2A4EB00 +.word 0xA5C7A5A3, 0xA5ECA5AF, 0xA5BFA1BC, 0x00000000 +.word 0xA4B3A4F3, 0xA4CE20A4, 0xD2A4C7A4, 0xAD000000 +.word 0xA5A2A5B7, 0xA5B9A5BF, 0xA5F3A5C8, 0x20A5C7A5 +.word 0xA3A5ECA5, 0xAFA5BFA1, 0xBC000000, 0xA4AAA4AA +.word 0xA4E4A4AE, 0x20A4E4A4, 0xB9A4E6A4, 0xAD000000 +.word 0xA5D7A5ED, 0xA5B0A5E9, 0xA5DEA1BC, 0x00000000 +.word 0xA4ADA4E0, 0xA4E920A4, 0xDEA4B5A4, 0xC8000000 +.word 0xA4E4A4DE, 0xA4E2A4C8, 0x20A4B1A4, 0xF3A4B800 +.word 0xA4ABA4EF, 0xA4B0A4C1, 0x20A4E4A4, 0xB9A4D2A4 +.word 0xED000000, 0xA4AAA4AC, 0xA4EF20A4, 0xE6A4BAA4 +.word 0xEB000000, 0xA4ABA4EF, 0xA4CE20A4, 0xDEA4B5A4 +.word 0xD2A4ED00, 0xA4E8A4B7, 0xA4E2A4C8, 0x20A4D2A4 +.word 0xEDA4D2A4, 0xC8000000, 0xA5C7A5E2, 0x20A5B7A1 +.word 0xBCA5B1A5, 0xF3A5B920, 0xA5D7A5ED, 0xA5B0A5E9 +.word 0xA5DEA1BC, 0x00000000, 0x00000000, 0xA4E4A4B8 +.word 0xA4DE20A4, 0xCFA4B8A4, 0xE1000000, 0xA4ABA4EF +.word 0xA4B4A4A8, 0x20A4BFA4, 0xAFA4DF00, 0xA5D3A5B8 +.word 0xA5E5A5A2, 0xA5EB20A5, 0xC7A5A3A5, 0xECA5AFA5 +.word 0xBFA1BC00, 0xA4B9A4AE, 0xA4E4A4DE, 0x20A4BFA4 +.word 0xC0A4B700, 0x636720A5, 0xADA5E3A5, 0xE9A5AFA5 +.word 0xBFA1BC20, 0xA5C7A5B6, 0xA5A4A5CA, 0xA1BC0000 +.word 0x00000000, 0xA4AFA4ED, 0xA4A6A4E1, 0x20A4C8A4 +.word 0xE2A4A2A4, 0xAD000000, 0xA4BFA4B1, 0xA4CAA4AB +.word 0x20A4D2A4, 0xEDA4A2A4, 0xAD000000, 0xA4C8A4E8 +.word 0xA4C020A4, 0xC8A4ADA4, 0xD2A4B300, 0xA4D2A4CE +.word 0x20A4B7A4, 0xB2A4D5A4, 0xDF000000, 0xA4A2A4EA +.word 0xA4E2A4C8, 0x20A4DEA4, 0xB5A4CAA4, 0xAA000000 +.word 0xA4CEA4AC, 0xA4DF20A4, 0xD2A4B5A4, 0xB7000000 +.word 0x636720A5, 0xDEA5C3A5, 0xD720A5C7, 0xA5B6A5A4 +.word 0xA5CAA1BC, 0x00000000, 0xA4DFA4E4, 0xA4CAA4AC +.word 0x20A4DEA4, 0xB3A4C800, 0xA4E2A4EA, 0x20A4CAA4 +.word 0xAAA4AD00, 0xA4AFA4EF, 0xA4D0A4E9, 0x20A4D2A4 +.word 0xEDA4E4A4, 0xB9000000, 0xA5DFA5E5, 0xA1BCA5B8 +.word 0xA5C3A5AF, 0x20A5B3A5, 0xF3A5DDA1, 0xBCA5B6A1 +.word 0xBC000000, 0xA4CAA4AC, 0xA4BF20A4, 0xB1A4F3A4 +.word 0xBF000000, 0xA5B5A5A6, 0xA5F3A5C9, 0x20A5D7A5 +.word 0xEDA5B0A5, 0xE9A5DEA1, 0xBC000000, 0xA4D0A4F3 +.word 0xA4C9A4A6, 0x20A4BFA4, 0xEDA4A600, 0xA4A4A4CA +.word 0xA4ACA4AD, 0x20A4E8A4, 0xA6A4B800, 0xA5B5A5F3 +.word 0xA5D7A5EA, 0xA5F3A5F3, 0xA5B020A5, 0xDCA5A4A5 +.word 0xB9000000, 0xA4B3A4A6, 0xA4C5A4AD, 0x20A4A2A4 +.word 0xB5A4B300, 0xA4DEA4EB, 0xA4CE20A4, 0xC8A4E2A4 +.word 0xB3000000, 0xA4C1A4E3, 0xA1BCA4EB, 0xA4BA20A4 +.word 0xDEA4EBA4, 0xC6A4A3A4, 0xCD000000, 0xA4B8A4E5 +.word 0xA4EAA4A2, 0xA4F320A4, 0xD0A4EBA4, 0xC0A4B3A4 +.word 0xD5000000, 0xA4C8A4DE, 0xA4B920A4, 0xB9A4D4A4 +.word 0xF3A4C9A4, 0xE9A1BC00, 0xA4B8A4E7, 0xA4F320A4 +.word 0xD2A4E5A1, 0xBCA4E9A4, 0xC8A4F300, 0xA5C6A5AF +.word 0xA5CBA5AB, 0xA5EB20A5, 0xB5A5DDA1, 0xBCA5C800 +.word 0xA4B5A4EF, 0xA4CE20A4, 0xBFA4ABA4, 0xAA000000 +.word 0xA4BFA4AB, 0xA4CFA4B7, 0x20A4C4A4, 0xE8A4B700 +.word 0xA4E4A4C0, 0x20A4D2A4, 0xEDA4D2A4, 0xC8000000 +.word 0xA5D7A5ED, 0xA5B0A5EC, 0xA5B920A5, 0xDEA5CDA1 +.word 0xBCA5B8A5, 0xE1A5F3A5, 0xC8000000, 0xA4D5A4AF +.word 0xA4A420A4, 0xADA4DFA4, 0xE8A4B700, 0xA4ABA4C8 +.word 0xA4A620A4, 0xB1A4A4A4, 0xBEA4A600, 0xA5B9A5DA +.word 0xA5B7A5E3, 0xA5EB20A5, 0xB5A5F3A5, 0xAFA5B900 +.word 0xA4B5A4AB, 0xA4A420A4, 0xE4A4B9A4, 0xD2A4ED00 +.word 0xA4CBA4B7, 0xA4ABA4EF, 0x20A4E8A4, 0xB7A4BFA4 +.word 0xAB000000, 0xA4D5A4B8, 0xA4A420A4, 0xD2A4C7A4 +.word 0xAD000000, 0xA4CAA4AB, 0xA4CE20A4, 0xE6A4A6A4 +.word 0xB9A4B100, 0xA4E4A4DE, 0xA4B0A4C1, 0x20A4EFA4 +.word 0xBFA4EB00, 0xA4CBA4F3, 0xA4C6A4F3, 0xA4C9A4A6 +.word 0x20A4B8A4, 0xE7A1BCA4, 0xABA4A400, 0xA4B9A1BC +.word 0xA4D1A1BC, 0x20A4DEA4, 0xEAA4AA20, 0xA4AFA4E9 +.word 0xA4D60000, 0xA4ECA4A2, 0x20A4EAA4, 0xDFA4C6A4 +.word 0xC3A4C900, 0x2020A4AA, 0xA4B7A4DE, 0xA4A40000 +.word 0x20A4DEA4, 0xEAA4AAA4, 0xABA1BCA4, 0xC8363420 +.word 0xA4B9A4BF, 0xA4C3A4D5 + +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80287470 +.word 0x3F2AAAAB + +glabel D_80287474 +.word 0x3E2AAAAB + +glabel D_80287478 +.word 0x3F666666 + +glabel D_8028747C +.word 0xC52EC000 +glabel D_80287480 +.word 0x80284B1C, 0x80284B4C, 0x80284B7C +.word 0x80284BAC +.word 0x80284BE8 +.word 0x00000000 +.word 0x00000000, 0x00000000 diff --git a/include/actor_types.h b/include/actor_types.h index c059a7b7c..4af3c913d 100644 --- a/include/actor_types.h +++ b/include/actor_types.h @@ -123,6 +123,14 @@ struct ActorSpawnData { /* 0x06 */ u16 someId; // Usually populated, but not necessarily used by all actors types }; +// Required for func_80298AC0 due to diff size. +// members unverified. data located at D_06013F78 +struct UnkActorSpawnData { + /* 0x00 */ Vec3s pos; + /* 0x06 */ u16 someId; // Usually populated, but not necessarily used by all actors types + /* 0x08 */ u16 unk8; +}; + struct YoshiValleyEgg { /* 0x00 */ s16 type; /* 0x02 */ s16 flags; diff --git a/include/functions.h b/include/functions.h index 52f164cac..f4558e4e2 100644 --- a/include/functions.h +++ b/include/functions.h @@ -3,7 +3,7 @@ #include "common_structs.h" -s32 random_int(s32); +s32 random_int(u16); void mio0decode(u8* arg0, u8* arg1); void func_8000F2DC(void); diff --git a/mk64.ld b/mk64.ld index edb115a3e..f1269a9b8 100644 --- a/mk64.ld +++ b/mk64.ld @@ -315,6 +315,7 @@ SECTIONS BUILD_DIR/data/data_121DA0_2_1.o(.data); BUILD_DIR/src/code_80296A50.o(.rodata); BUILD_DIR/data/data_121DA0_2_2.o(.data); + BUILD_DIR/src/math_util.o(.rodata); } END_SEG(code_8028DF00) diff --git a/src/code_80005FD0.c b/src/code_80005FD0.c index 2cbfc6d71..a5b121dad 100644 --- a/src/code_80005FD0.c +++ b/src/code_80005FD0.c @@ -10183,7 +10183,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_80015314.s") ? func_8001D794(Player *, void *, f32 *, f32 *, f32 *, f32 *, s32); // extern ? func_800224F0(void *, s16, s16); // extern ? func_802ADDC8(void *, ?, f32, f32, f32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern void func_80015390(void *arg0, ? arg1, ? arg2) { f32 sp94; @@ -10226,8 +10226,8 @@ void func_80015390(void *arg0, ? arg1, ? arg2) { sp94 = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp8C = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp94 * sp94) + (temp_f14 * temp_f14)), sp90); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp94 * sp94) + (temp_f14 * temp_f14)), sp90); arg0->unk28 = 0; } #else @@ -10313,7 +10313,7 @@ s32 func_80007BF8(s32, s32, ?, ?, s32); // extern s16 func_8000D33C(f32, f32, u16, f32, s16, s32); // extern ? func_80014D30(s32, s32); // extern ? func_8001A348(s32, s32, s16); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern f64 D_800ED220; extern f64 D_800ED228; extern ? D_80163068; @@ -10408,8 +10408,8 @@ block_10: sp84 = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp7C = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp84 * sp84) + (temp_f14 * temp_f14)), sp80); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp84 * sp84) + (temp_f14 * temp_f14)), sp80); arg0->unk28 = 0; } #else @@ -10486,7 +10486,7 @@ s32 func_80007BF8(s32, s32, ?, ?, s32); // extern s16 func_8000D33C(f32, f32, s16 *, f32, s16, s32); // extern ? func_80014D30(s32, s32); // extern ? func_8001A348(s32, s32, s16, s32 *, s32 *); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern f64 D_800ED230; extern ? D_80162FA0; extern ? D_80163068; @@ -10669,8 +10669,8 @@ block_8: spA8 = arg0->unk10 - arg0->unk4; temp_f14_2 = arg0->unk14 - arg0->unk8; spA4 = temp_f14_2; - arg0->unk26 = func_802B7830(temp_f20_2, temp_f14_2); - arg0->unk24 = func_802B7830(sqrtf((temp_f20_2 * temp_f20_2) + (temp_f14_2 * temp_f14_2)), spA8); + arg0->unk26 = atan2s(temp_f20_2, temp_f14_2); + arg0->unk24 = atan2s(sqrtf((temp_f20_2 * temp_f20_2) + (temp_f14_2 * temp_f14_2)), spA8); arg0->unk28 = 0; } #else @@ -10745,7 +10745,7 @@ s16 func_8000D33C(f32, f32, s32, f32, s16, s32); /* extern */ ? func_80014D30(s32, s32); /* extern */ ? func_8001A348(s32, f32, s16, ?, ?); /* extern */ f32 func_802AE1C0(f32, f32, f32, f32 *); /* extern */ -s16 func_802B7830(f32, f32); /* extern */ +s16 atan2s(f32, f32); /* extern */ f32 sqrtf(f32, f32, s32); /* extern */ extern ? D_80162FA0; extern ? D_80163068; @@ -10976,8 +10976,8 @@ void func_80016494(void *arg0, u16 *arg1, s8 arg2, s32 arg3) { spAC = temp_f12_2; temp_f14_2 = arg0->unk14 - arg0->unk8; spA4 = temp_f14_2; - arg0->unk26 = func_802B7830(temp_f12_2, temp_f14_2); - arg0->unk24 = func_802B7830(sqrtf((spAC * spAC) + (temp_f14_2 * temp_f14_2), temp_f14_2), spA8); + arg0->unk26 = atan2s(temp_f12_2, temp_f14_2); + arg0->unk24 = atan2s(sqrtf((spAC * spAC) + (temp_f14_2 * temp_f14_2), temp_f14_2), spA8); arg0->unk28 = 0; } #else @@ -11095,7 +11095,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_80016C3C.s") ? func_8000BBD8(u16, s32, s16, s16); // extern s16 func_8000D33C(f32, f32, s32 *, s32 *, s16, s32); // extern ? func_80014D30(s32, s32, f32 *); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern f64 D_800ED270; extern f64 D_800ED278; extern ? D_80162FA0; @@ -11263,8 +11263,8 @@ void func_80017054(void *arg0, ? arg1, ? arg2, s32 arg3) { spAC = temp_f12; temp_f14_2 = arg0->unk14 - (bitwise f32) arg0->unk8; spA4 = temp_f14_2; - arg0->unk26 = func_802B7830(temp_f12, temp_f14_2); - arg0->unk24 = func_802B7830(sqrtf((spAC * spAC) + (temp_f14_2 * temp_f14_2)), spA8); + arg0->unk26 = atan2s(temp_f12, temp_f14_2); + arg0->unk24 = atan2s(sqrtf((spAC * spAC) + (temp_f14_2 * temp_f14_2)), spA8); arg0->unk28 = 0; } #else @@ -11341,7 +11341,7 @@ s32 func_80007BF8(s32, s32, ?, ?, s32); /* extern */ s16 func_8000D33C(f32, f32, f32 *, f32, s16, s32); /* extern */ ? func_80014D30(s32, s32, f32 *, f32 *); /* extern */ ? func_8001A348(s32, f32, s16); /* extern */ -s16 func_802B7830(f32, f32); /* extern */ +s16 atan2s(f32, f32); /* extern */ f32 sqrtf(f32, f32, f32 *, f32 *); /* extern */ extern ? D_80162FA0; extern ? D_80163068; @@ -11517,8 +11517,8 @@ void func_800178F4(void *arg0, u16 *arg1, s8 arg2, s32 arg3) { sp94 = temp_f12; temp_f14_3 = arg0->unk14 - arg0->unk8; sp8C = temp_f14_3; - arg0->unk26 = func_802B7830(temp_f12, temp_f14_3); - arg0->unk24 = func_802B7830(sqrtf((sp94 * sp94) + (temp_f14_3 * temp_f14_3), temp_f14_3), sp90); + arg0->unk26 = atan2s(temp_f12, temp_f14_3); + arg0->unk24 = atan2s(sqrtf((sp94 * sp94) + (temp_f14_3 * temp_f14_3), temp_f14_3), sp90); arg0->unk28 = 0; } #else @@ -11597,7 +11597,7 @@ s32 func_80007BF8(s32, s32, ?, ?, s32); /* extern */ s16 func_8000D33C(f32, f32, f32 *, f32, s16, s32); /* extern */ ? func_80014D30(s32, s32, f32 *, f32 *); /* extern */ ? func_8001A348(s32, f32, s16); /* extern */ -s16 func_802B7830(f32, f32); /* extern */ +s16 atan2s(f32, f32); /* extern */ f32 sqrtf(f32, f32, f32 *, f32 *); /* extern */ extern ? D_80162FA0; extern ? D_80163068; @@ -11778,8 +11778,8 @@ void func_800180F0(void *arg0, u16 *arg1, s8 arg2, s32 arg3) { sp94 = temp_f12; temp_f14_3 = arg0->unk14 - arg0->unk8; sp8C = temp_f14_3; - arg0->unk26 = func_802B7830(temp_f12, temp_f14_3); - arg0->unk24 = func_802B7830(sqrtf((sp94 * sp94) + (temp_f14_3 * temp_f14_3), temp_f14_3), sp90); + arg0->unk26 = atan2s(temp_f12, temp_f14_3); + arg0->unk24 = atan2s(sqrtf((sp94 * sp94) + (temp_f14_3 * temp_f14_3), temp_f14_3), sp90); arg0->unk28 = 0; } #else @@ -11857,7 +11857,7 @@ s32 func_80007BF8(s32, s32, ?, ?, s32); // extern s16 func_8000D33C(f32, f32, s16, f32, s32, s32); // extern ? func_80014D30(s32, s32); // extern ? func_8001A348(s32, f32, s16); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern f64 D_800ED2A8; extern f64 D_800ED2B0; extern f64 D_800ED2B8; @@ -12111,8 +12111,8 @@ void func_800188F4(void *arg0, ? arg1, ? arg2, s32 arg3) { spAC = temp_f12_2; temp_f14_2 = arg0->unk14 - arg0->unk8; spA4 = temp_f14_2; - arg0->unk26 = func_802B7830(temp_f12_2, temp_f14_2); - arg0->unk24 = func_802B7830(sqrtf((spAC * spAC) + (temp_f14_2 * temp_f14_2)), spA8); + arg0->unk26 = atan2s(temp_f12_2, temp_f14_2); + arg0->unk24 = atan2s(sqrtf((spAC * spAC) + (temp_f14_2 * temp_f14_2)), spA8); arg0->unk28 = 0; } #else @@ -12199,7 +12199,7 @@ s32 func_80007BF8(s32, s32, ?, ?, s32); // extern s16 func_8000D33C(f32, f32, u16, f32, s16, s32); // extern ? func_80014D30(s32, s32); // extern ? func_8001A348(s32, s32, s16); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern f64 D_800ED318; extern f64 D_800ED320; extern ? D_80163068; @@ -12293,8 +12293,8 @@ block_8: sp8C = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp84 = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp8C * sp8C) + (temp_f14 * temp_f14)), sp88); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp8C * sp8C) + (temp_f14 * temp_f14)), sp88); arg0->unk28 = 0; } #else @@ -12346,7 +12346,7 @@ GLOBAL_ASM("asm/non_matchings/code_80005FD0/func_8001969C.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80014D30(s32, ?); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern ? D_801645F8; extern ? D_80164618; extern ? D_80164638; @@ -12375,8 +12375,8 @@ void func_80019760(void *arg0, ? arg1, ? arg2, s32 arg3) { sp2C = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp24 = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp2C * sp2C) + (temp_f14 * temp_f14)), sp28); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp2C * sp2C) + (temp_f14 * temp_f14)), sp28); arg0->unk28 = 0; } #else diff --git a/src/code_80005FD0.h b/src/code_80005FD0.h index d71f0f3aa..a0787d98f 100644 --- a/src/code_80005FD0.h +++ b/src/code_80005FD0.h @@ -1,15 +1,15 @@ -#ifndef CODE_80005FD0_H -#define CODE_80005FD0_H - -#include "common_structs.h" - -/* Function Prototypes */ - -s16 func_80005FD0(); - -// math_util.c -u32 func_802B5224(); - -/* This is where I'd put my static data, if I had any */ - -#endif +#ifndef CODE_80005FD0_H +#define CODE_80005FD0_H + +#include "common_structs.h" + +/* Function Prototypes */ + +s16 func_80005FD0(); + +// math_util.c +u32 func_802B5224(); + +/* This is where I'd put my static data, if I had any */ + +#endif diff --git a/src/code_8001C4D0.c b/src/code_8001C4D0.c index eaf9f8661..3d76290b0 100644 --- a/src/code_8001C4D0.c +++ b/src/code_8001C4D0.c @@ -892,7 +892,7 @@ GLOBAL_ASM("asm/non_matchings/code_8001C4D0/func_8001D944.s") ? func_8001CA78(void *, void *, f32 *, f32 *, f32 *, f32 *, s32, s32); // extern ? func_800224F0(s32, s16, s16, void *); // extern s16 func_802ADDC8(void *, f32, f32, f32, f32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern void func_8001E0C4(void *arg0, void *arg1, s8 arg2) { f32 sp84; @@ -960,8 +960,8 @@ void func_8001E0C4(void *arg0, void *arg1, s8 arg2) { sp84 = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp7C = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp84 * sp84) + (temp_f14 * temp_f14)), sp80); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp84 * sp84) + (temp_f14 * temp_f14)), sp80); arg0->unk28 = 0; } #else @@ -974,7 +974,7 @@ GLOBAL_ASM("asm/non_matchings/code_8001C4D0/func_8001E0C4.s") ? func_800224F0(void *, s16, s16, s16); // extern ? move_s16_towards(void *, ?, ?, s16); // extern ? func_802ADDC8(void *, f32, f32, f32, f32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern void func_8001E45C(void *arg0, void *arg1, s8 arg2) { f32 sp94; @@ -1068,8 +1068,8 @@ block_26: sp94 = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp8C = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp94 * sp94) + (temp_f14 * temp_f14)), sp90); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp94 * sp94) + (temp_f14 * temp_f14)), sp90); arg0->unk28 = 0; } #else @@ -1080,7 +1080,7 @@ GLOBAL_ASM("asm/non_matchings/code_8001C4D0/func_8001E45C.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8001D53C(void *, void *, f32 *, f32 *, f32 *, f32 *, s32, s32); // extern ? func_802ADDC8(void *, ?, f32, f32, f32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern void func_8001E8E8(void *arg0, void *arg1, s8 arg2) { f32 sp8C; @@ -1108,8 +1108,8 @@ void func_8001E8E8(void *arg0, void *arg1, s8 arg2) { sp8C = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp84 = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp8C * sp8C) + (temp_f14 * temp_f14)), sp88); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp8C * sp8C) + (temp_f14 * temp_f14)), sp88); arg0->unk28 = 0; } #else @@ -1122,7 +1122,7 @@ GLOBAL_ASM("asm/non_matchings/code_8001C4D0/func_8001E8E8.s") ? func_800224F0(void *, s16, s16, s16); // extern ? move_s16_towards(void *, ?, ?, s16); // extern ? func_802ADDC8(void *, f32, f32, f32, f32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern void func_8001EA0C(void *arg0, void *arg1, s8 arg2) { f32 sp94; @@ -1216,8 +1216,8 @@ block_26: sp94 = temp_f12; temp_f14 = arg0->unk14 - arg0->unk8; sp8C = temp_f14; - arg0->unk26 = func_802B7830(temp_f12, temp_f14); - arg0->unk24 = func_802B7830(sqrtf((sp94 * sp94) + (temp_f14 * temp_f14)), sp90); + arg0->unk26 = atan2s(temp_f12, temp_f14); + arg0->unk24 = atan2s(sqrtf((sp94 * sp94) + (temp_f14 * temp_f14)), sp90); arg0->unk28 = 0; } #else diff --git a/src/code_80027D00.c b/src/code_80027D00.c index 3056cf19f..4ae641236 100644 --- a/src/code_80027D00.c +++ b/src/code_80027D00.c @@ -837,7 +837,7 @@ void func_80029200(Player *player, s8 arg1) { //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? move_s16_towards(void *, s16, ?, void *); // extern ? func_80029200(Player *, s8); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern s32 func_802B7C40(f32, s32); // extern f32 sins(s32); // extern f32 coss(s32); // extern @@ -899,7 +899,7 @@ void func_8002934C(Player *player, s32 arg1, s8 arg2, s8 arg3) { temp_t7 = arg2 * 2; temp_a3 = player + temp_t7; - temp_a3->unk48 = func_802B7830(player->posX - arg1->unk0, player->posZ - arg1->unk8); + temp_a3->unk48 = atan2s(player->posX - arg1->unk0, player->posZ - arg1->unk8); player->unk_244[arg2] = ((player->unk_02E + temp_a3->unk48 + player->unk_0C0) & 0xFFFF) / 0x80; temp_f6 = player->unk_224; temp_v1 = player->unk_0BC; @@ -1671,7 +1671,7 @@ UNUSED void func_8002AE30(void) { #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -u16 func_802B7830(f32, f32, s16, void *); // extern +u16 atan2s(f32, f32, s16, void *); // extern f32 sins(s32, void *); // extern f32 coss(s32); // extern @@ -1729,14 +1729,14 @@ void func_8002AE38(void *arg0, s8 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) sp2E = temp_v0_3; arg0 = temp_a2_2; sp24 = temp_f16; - sp1A = func_802B7830(arg2 - arg4, arg3 - arg5, temp_v0_3, temp_a2_2); - arg0->unkC0 = sp1A - func_802B7830(arg2 - sp28, arg3 - temp_f16); + sp1A = atan2s(arg2 - arg4, arg3 - arg5, temp_v0_3, temp_a2_2); + arg0->unkC0 = sp1A - atan2s(arg2 - sp28, arg3 - temp_f16); } else { sp2E = temp_v0_3; arg0 = temp_a2_2; sp24 = temp_f16; - sp1A = func_802B7830(arg2 - arg4, arg3 - arg5, temp_v0_3, temp_a2_2); - arg0->unkC0 = (sp1A - func_802B7830(arg2 - sp28, arg3 - temp_f16)) * 2; + sp1A = atan2s(arg2 - arg4, arg3 - arg5, temp_v0_3, temp_a2_2); + arg0->unkC0 = (sp1A - atan2s(arg2 - sp28, arg3 - temp_f16)) * 2; } phi_a2 = arg0; if (((arg0->unkBC & 0x10) != 0x10) && (((temp_t9 = arg0->unk7C >> 0x10, (temp_t9 > 0)) && (arg0->unkC0 < 0)) || ((temp_t9 < 0) && (arg0->unkC0 > 0)))) { diff --git a/src/code_80040E50.c b/src/code_80040E50.c index 45ed71625..1e60127bf 100644 --- a/src/code_80040E50.c +++ b/src/code_80040E50.c @@ -377,15 +377,15 @@ GLOBAL_ASM("asm/non_matchings/code_80040E50/func_80041608.s") #endif s32 func_80041658(f32 arg0, f32 arg1) { - return -func_802B7830(arg0, arg1) & 0xFFFF; + return -atan2s(arg0, arg1) & 0xFFFF; } UNUSED s32 func_80041680(f32 arg0, f32 arg1) { - return func_802B7830(arg1, arg0); + return atan2s(arg1, arg0); } UNUSED s32 func_800416AC(f32 arg0, f32 arg1) { - return func_802B7830(arg1, arg0); + return atan2s(arg1, arg0); } f32 func_800416D8(f32 arg0, f32 arg1, u16 arg2) { @@ -403,7 +403,7 @@ f32 func_80041724(f32 arg0, f32 arg1, u16 arg2) { } s32 func_80041770(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - return func_802B7830(arg1 - arg0, arg3 - arg2); + return atan2s(arg1 - arg0, arg3 - arg2); } #ifdef MIPS_TO_C @@ -442,11 +442,11 @@ GLOBAL_ASM("asm/non_matchings/code_80040E50/func_800417B4.s") #endif s32 func_800418AC(f32 arg0, f32 arg1, Vec3f arg2) { - return func_802B7830(arg0 - arg2[0], arg1 - arg2[2]); + return atan2s(arg0 - arg2[0], arg1 - arg2[2]); } s32 func_800418E8(f32 arg0, f32 arg1, Vec3f arg2) { - return func_802B7830(arg0 - arg2[1], arg1 - arg2[2]); + return atan2s(arg0 - arg2[1], arg1 - arg2[2]); } #ifdef MIPS_TO_C diff --git a/src/code_80071F00.c b/src/code_80071F00.c index 050fcc578..cc785a27f 100644 --- a/src/code_80071F00.c +++ b/src/code_80071F00.c @@ -6517,7 +6517,7 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C360.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 u16 func_800417B4(u16, s32); // extern ? func_8007C360(s32, s32); // extern -s32 func_802B7830(f32, f32); // extern +s32 atan2s(f32, f32); // extern extern ? D_80165C18; void func_8007C420(s32 arg0, void *arg1, s32 arg2) { @@ -6526,7 +6526,7 @@ void func_8007C420(s32 arg0, void *arg1, s32 arg2) { temp_v1 = (arg0 * 0xE0) + &D_80165C18; sp18 = temp_v1; - temp_v1->unkC0 = func_800417B4(temp_v1->unkC0, func_802B7830(arg1->unk14 - temp_v1->unk4, arg1->unk1C - temp_v1->unkC) & 0xFFFF); + temp_v1->unkC0 = func_800417B4(temp_v1->unkC0, atan2s(arg1->unk14 - temp_v1->unk4, arg1->unk1C - temp_v1->unkC) & 0xFFFF); func_8007C360(arg0, arg2); } #else @@ -6574,7 +6574,7 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007C4A4.s") //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 u16 func_800417B4(u16, s32); // extern ? func_8007C4A4(s32); // extern -s32 func_802B7830(f32, f32); // extern +s32 atan2s(f32, f32); // extern extern ? D_80165C18; void func_8007C550(s32 arg0) { @@ -6583,7 +6583,7 @@ void func_8007C550(s32 arg0) { temp_v1 = (arg0 * 0xE0) + &D_80165C18; sp18 = temp_v1; - temp_v1->unkC0 = func_800417B4(temp_v1->unkC0, func_802B7830(temp_v1->unk38, temp_v1->unk40) & 0xFFFF); + temp_v1->unkC0 = func_800417B4(temp_v1->unkC0, atan2s(temp_v1->unk38, temp_v1->unk40) & 0xFFFF); func_8007C4A4(arg0); } #else @@ -6940,7 +6940,7 @@ GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007CC00.s") ? func_80073444(? *, ? *, ?, s32); // extern ? func_80073844(s32); // extern ? func_80086EF0(s32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern ? D_06005C80; extern ? D_0F0D0E50; extern f32 D_800EEEB8; @@ -6964,7 +6964,7 @@ void func_8007CE0C(s32 arg0) { func_80086EF0(arg0); temp_s0->unkC2 = 0x8000; temp_v0 = D_8018CF1C; - temp_s0->unkC0 = func_802B7830(temp_v0->unk14 - temp_s0->unk10, temp_v0->unk1C - temp_s0->unk18); + temp_s0->unkC0 = atan2s(temp_v0->unk14 - temp_s0->unk10, temp_v0->unk1C - temp_s0->unk18); } #else GLOBAL_ASM("asm/non_matchings/code_80071F00/func_8007CE0C.s") diff --git a/src/code_80086E70.c b/src/code_80086E70.c index 7f5bea8dc..000061563 100644 --- a/src/code_80086E70.c +++ b/src/code_80086E70.c @@ -222,14 +222,14 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800871AC.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802B7830(f32, f32); // extern +? atan2s(f32, f32); // extern extern ? D_80165C18; void func_800872D8(s32 arg0, void *arg1) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; - func_802B7830(temp_v0->unk4 - arg1->unk0, temp_v0->unkC - arg1->unk8); + atan2s(temp_v0->unk4 - arg1->unk0, temp_v0->unkC - arg1->unk8); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800872D8.s") @@ -237,14 +237,14 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800872D8.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B7830(f32, f32); // extern +s32 atan2s(f32, f32); // extern extern ? D_80165C18; s32 func_80087324(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; - return -func_802B7830(temp_v0->unk3C, temp_v0->unk40) & 0xFFFF; + return -atan2s(temp_v0->unk3C, temp_v0->unk40) & 0xFFFF; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087324.s") @@ -252,14 +252,14 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087324.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -? func_802B7830(f32, f32); // extern +? atan2s(f32, f32); // extern extern ? D_80165C18; void func_80087368(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; - func_802B7830(temp_v0->unk38, temp_v0->unk40); + atan2s(temp_v0->unk38, temp_v0->unk40); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087368.s") @@ -509,7 +509,7 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087954.s") s32 func_80072270(?); // extern ? func_8008751C(s32); // extern ? func_8008775C(s32); // extern -s16 func_802B7830(f32, f32, s16); // extern +s16 atan2s(f32, f32, s16); // extern extern ? D_80165C18; s32 func_80087A0C(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4) { @@ -534,7 +534,7 @@ s32 func_80087A0C(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4) { sp36 = sqrtf((temp_v0 * temp_v0) + (temp_a0 * temp_a0)); temp_v1->unk14 = 0.0f; sp20 = temp_v1; - temp_v1->unkC0 = func_802B7830(temp_v0, temp_a0, temp_a0); + temp_v1->unkC0 = atan2s(temp_v0, temp_a0, temp_a0); func_8008751C(arg0); temp_v1->unkB0 = sp36 / temp_v1->unk34; } @@ -792,7 +792,7 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088150.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B7830(f32, f32); // extern +s32 atan2s(f32, f32); // extern extern ? D_80165760; extern ? D_80165780; extern ? D_80165C18; @@ -804,7 +804,7 @@ void func_80088178(s32 arg0, s32 arg1) { temp_v1 = (arg0 * 0xE0) + &D_80165C18; temp_a0 = temp_v1->unkC0; - temp_a1 = func_802B7830(D_80165760.unk2 - D_80165760.unk0, D_80165780.unk2 - D_80165780.unk0) - temp_a0; + temp_a1 = atan2s(D_80165760.unk2 - D_80165760.unk0, D_80165780.unk2 - D_80165780.unk0) - temp_a0; if (temp_a1 > 0) { temp_v1->unkC0 = temp_a0 + (arg1 << 8); return; @@ -907,7 +907,7 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088364.s") s32 func_8007223C(s32, ?); // extern f32 func_802ABE30(?32, ?, ?32, u16); // extern ? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern ? D_80165C18; extern ? D_8018C3B0; @@ -925,8 +925,8 @@ s32 func_80088538(s32 arg0) { func_800721C0(arg0, 0x800000); } temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA); - temp_s0->unkB8 = func_802B7830(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000; - temp_s0->unkBC = func_802B7830(D_8018C3B0.unk30, D_8018C3B0.unk34); + temp_s0->unkB8 = atan2s(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000; + temp_s0->unkBC = atan2s(D_8018C3B0.unk30, D_8018C3B0.unk34); } return sp2C; } @@ -974,7 +974,7 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008861C.s") ? func_800721E8(s32, ?); // extern f32 func_802ABE30(?32, ?, ?32, u16); // extern ? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern extern ? D_80165C18; extern ? D_8018C3B0; @@ -986,8 +986,8 @@ void func_800886F4(s32 arg0) { if (D_8018C3B0.unk4 == 1) { func_800721C0(arg0, 0x800000); temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA); - temp_s0->unkB8 = func_802B7830(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000; - temp_s0->unkBC = func_802B7830(D_8018C3B0.unk30, D_8018C3B0.unk34); + temp_s0->unkB8 = atan2s(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000; + temp_s0->unkBC = atan2s(D_8018C3B0.unk30, D_8018C3B0.unk34); return; } func_800721E8(arg0, 0x800000); @@ -1663,7 +1663,7 @@ GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A060.s") #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s32 func_802B7830(f32, f32); // extern +s32 atan2s(f32, f32); // extern extern ? D_80165C18; s32 func_8008A0B4(s32 arg0, void *arg1, void *arg2, u16 arg3) { @@ -1674,7 +1674,7 @@ s32 func_8008A0B4(s32 arg0, void *arg1, void *arg2, u16 arg3) { temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp18 = 0; - temp_t3 = ((arg2->unk26 - func_802B7830(temp_v0->unk4 - arg1->unk14, temp_v0->unkC - arg1->unk1C)) + (arg3 >> 1)) & 0xFFFF; + temp_t3 = ((arg2->unk26 - atan2s(temp_v0->unk4 - arg1->unk14, temp_v0->unkC - arg1->unk1C)) + (arg3 >> 1)) & 0xFFFF; phi_t0 = sp18; if ((temp_t3 >= 0) && (arg3 >= temp_t3)) { phi_t0 = 1; diff --git a/src/code_8008C1D0.c b/src/code_8008C1D0.c index fce1e8fe7..bcca20592 100644 --- a/src/code_8008C1D0.c +++ b/src/code_8008C1D0.c @@ -2473,7 +2473,7 @@ void func_800914A0(void) { //be unused/unnamed ? func_800914A0(s16, s32, s16); /* extern */ ? func_802ADDC8(void *, ?, f32, f32, f32); /* extern */ -s16 func_802B7830(f32, f32); /* extern */ +s16 atan2s(f32, f32); /* extern */ f32 sqrtf(f32, f32); /* extern */ extern void *gPlayerOneCopy; extern u16 D_80152308; @@ -2553,8 +2553,8 @@ block_5: temp_f14 = *(&cameras + 0x14) - *(&cameras + 8); sp34 = *(&cameras + 0x10) - *(&cameras + 4); sp30 = temp_f14; - *(&cameras + 0x26) = func_802B7830(temp_f12, temp_f14); - *(&cameras + 0x24) = func_802B7830(sqrtf((sp38 * sp38) + (temp_f14 * temp_f14), temp_f14), sp34); + *(&cameras + 0x26) = atan2s(temp_f12, temp_f14); + *(&cameras + 0x24) = atan2s(sqrtf((sp38 * sp38) + (temp_f14 * temp_f14), temp_f14), sp34); *(&cameras + 0x28) = 0; } #else diff --git a/src/code_80280000.c b/src/code_80280000.c index 6636bece6..0177e8b85 100644 --- a/src/code_80280000.c +++ b/src/code_80280000.c @@ -24,7 +24,7 @@ extern u16 D_8015F588; // Number of entires in D_8015F580 extern u16 gIsInQuitToMenuTransition, gQuitToMenuTransitionCounter; extern s32 D_802874A0; -extern u16 func_802B7830(f32, f32); +extern u16 atan2s(f32, f32); extern u16 D_80164714, D_80164716, D_80164718; extern u16 D_800DC5E4; extern u32 D_800DC524; @@ -103,8 +103,8 @@ void func_802802AC(void) { temp_f12 = camera->unk - camera->pos[0]; temp = camera->unk1 - camera->pos[1]; temp_f14 = camera->unk2 - camera->pos[2]; - camera->rotX[1] = func_802B7830(temp_f12, temp_f14); - camera->rotX[0] = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); + camera->rotX[1] = atan2s(temp_f12, temp_f14); + camera->rotX[0] = atan2s(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); camera->rotX[2] = 0; if (D_802874A0 != 0) { D_800DC5E4++; diff --git a/src/code_80281610.c b/src/code_80281610.c index 7ccd7d6aa..ef3e57ebc 100644 --- a/src/code_80281610.c +++ b/src/code_80281610.c @@ -4,7 +4,7 @@ extern Camera cameras[]; -extern u16 func_802B7830(f32, f32); +extern u16 atan2s(f32, f32); void func_80281610(void) { Camera *camera = &cameras[0]; @@ -18,8 +18,8 @@ void func_80281610(void) { temp_f12 = camera->unk - camera->pos[0]; temp = camera->unk1 - camera->pos[1]; temp_f14 = camera->unk2 - camera->pos[2]; - camera->rotX[1] = func_802B7830(temp_f12, temp_f14); - camera->rotX[0] = func_802B7830(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); + camera->rotX[1] = atan2s(temp_f12, temp_f14); + camera->rotX[0] = atan2s(sqrtf((temp_f12 * temp_f12) + (temp_f14 * temp_f14)), temp); camera->rotX[2] = 0; } diff --git a/src/code_80281FA0.c b/src/code_80281FA0.c index e3b83b7e8..c6d11f742 100644 --- a/src/code_80281FA0.c +++ b/src/code_80281FA0.c @@ -193,7 +193,7 @@ void func_80282434(s32 arg0) { #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern void func_80282454(void *arg0, void *arg1, f32 *arg2, s16 *arg3, s16 *arg4) { f32 sp2C; @@ -218,8 +218,8 @@ void func_80282454(void *arg0, void *arg1, f32 *arg2, s16 *arg3, s16 *arg4) { sp1C = temp_f16; sp18 = temp_f18; *arg2 = sqrtf(temp_f16 + (temp_f2 * temp_f2) + temp_f18); - *arg3 = func_802B7830(sp28, sqrtf(temp_f16 + temp_f18)); - *arg4 = func_802B7830(sp2C, temp_f14); + *arg3 = atan2s(sp28, sqrtf(temp_f16 + temp_f18)); + *arg4 = atan2s(sp2C, temp_f14); } #else GLOBAL_ASM("asm/non_matchings/code_80281FA0/func_80282454.s") diff --git a/src/code_80296A50.c b/src/code_80296A50.c index 1ab4c176f..cb1c7a6df 100644 --- a/src/code_80296A50.c +++ b/src/code_80296A50.c @@ -516,7 +516,7 @@ void func_802976D8(Vec3s arg0) { arg0[2] = 0; } -s16 func_802B7830(f32, f32); // extern +s16 atan2s(f32, f32); // extern void func_802976EC(UnkActorInner *arg0, Vec3s arg1) { f32 x, y, z; @@ -531,9 +531,9 @@ void func_802976EC(UnkActorInner *arg0, Vec3s arg1) { y = arg0->unk60[1]; z = arg0->unk60[2]; - arg1[0] = func_802B7830(z, y) + 0x4000; + arg1[0] = atan2s(z, y) + 0x4000; arg1[1] = 0; - arg1[2] = func_802B7830(x, y); + arg1[2] = atan2s(x, y); } f32 func_802ABE30(f32, f32, f32, u16); // extern @@ -1256,56 +1256,35 @@ block_17: GLOBAL_ASM("asm/non_matchings/code_actors/func_802986B4.s") #endif -#ifdef MIPS_TO_C -//generated by m2c commit 685418adfeb3794409e47b45ac5cab60b17d23fd -? func_800C9060(s32, ?); /* extern */ -? func_800C90F4(s32, s32); /* extern */ -? func_800C98B8(f32 *, f32 *, ?); /* extern */ -s32 func_8029EEB8(Player *, f32 *, ?, ?, f32); /* extern */ -extern ? D_06013F78; -extern f32 gCourseDirection; -static f32 D_802B964C = 0.8f; - +void func_800C9060(Player*, s32); /* extern */ +void func_800C90F4(Player*, s32); /* extern */ +s32 func_8029EEB8(Player*, Vec3f, f32, f32, f32); /* extern */ +extern s8 D_06013F78[]; +extern f32 D_802B964C; // 0.8f +//static f32 D_802B964C = 0.8f; +#ifdef RO_DATA // Needs D_802B964C imported to match void func_80298AC0(Player *player) { - f32 sp6C; - f32 sp68; - f32 sp64; - f32 *temp_a1; - s16 *temp_s0; - s16 temp_v0; - s16 temp_v0_2; - s16 phi_v0; - s16 *phi_s0; + Vec3f sp64; + s32 segment = (((unsigned int)(D_06013F78)) >> 24); + s32 offset = ((unsigned int)(D_06013F78) & 0x00ffffff); + struct UnkActorSpawnData *data = (gSegmentTable[segment] + offset) - 0x80000000U; - temp_s0 = gSegmentTable[(u32) &D_06013F78 >> 0x18] + ((s32) &D_06013F78 & 0xFFFFFF) + 0x80000000; - temp_v0 = *temp_s0; - phi_v0 = temp_v0; - phi_s0 = temp_s0; - if (temp_v0 != -0x8000) { -loop_2: - temp_a1 = &sp64; - sp64 = (f32) phi_v0 * gCourseDirection; - sp68 = (f32) phi_s0->unk2; - sp6C = (f32) phi_s0->unk_04; - if (func_8029EEB8(player, temp_a1, 0x40A00000, 0x42200000, D_802B964C) == 1) { + while (data->pos[0] != -0x8000) { + sp64[0] = data->pos[0] * gCourseDirection; + sp64[1] = data->pos[1]; + sp64[2] = data->pos[2]; + if (func_8029EEB8(player, sp64, 5.0f, 40.0f, 0.8f) == 1) { if ((player->unk_0BC & 0x200) != 0) { - func_800C98B8(player->pos, &player->unk_034, 0x19018010); - func_800C90F4(((s32) (player - gPlayerOne) / 3544) & 0xFF, (player->characterId * 0x10) + 0x2900800D); - phi_s0->unk6 = (s16) (phi_s0->unk6 | 0x400); + func_800C98B8(player->pos, player->unk_034, 0x19018010); + func_800C90F4((u8) (player - gPlayerOne), (player->characterId * 0x10) + 0x2900800D); + data->someId |= 0x400; } if ((player->unk_000 & 0x100) == 0) { - func_800C9060(((s32) (player - gPlayerOne) / 3544) & 0xFF, 0x19007018); - } - } else { - temp_v0_2 = phi_s0->unkA; - phi_v0 = temp_v0_2; - phi_s0 += 0xA; - if (temp_v0_2 == -0x8000) { - - } else { - goto loop_2; + func_800C9060((u8) (player - gPlayerOne), 0x19007018); } + return; } + data++; } } #else diff --git a/src/framebuffers.c b/src/framebuffers.c index 709ad76bb..16a8ebdf6 100644 --- a/src/framebuffers.c +++ b/src/framebuffers.c @@ -2,7 +2,9 @@ #include "config.h" -u8 D_802BA290[224]; +u16 gRandomSeed16; + +u8 randomSeedPadding[216]; u8 frameBufferPadding[22544]; diff --git a/src/framebuffers.h b/src/framebuffers.h index 04e3531a7..be06506cf 100644 --- a/src/framebuffers.h +++ b/src/framebuffers.h @@ -4,7 +4,7 @@ #include #include "config.h" -extern u8 D_802BA290[22768]; +extern u8 gRandomSeed16[22768]; extern u8 D_802BFB80[77824]; extern u8 D_802D2B80[32768]; extern u8 D_802DAB80[20480]; diff --git a/src/math_util.c b/src/math_util.c index 658a39513..a921c7f30 100644 --- a/src/math_util.c +++ b/src/math_util.c @@ -3,11 +3,11 @@ #include #include #include - // Location based from sm64. // This may need to be moved before framebuffers.c // If math_util has data that does not line-up with trig_tables. #include "trig_tables.inc.c" +#pragma intrinsic (sqrtf) #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 @@ -68,14 +68,14 @@ f32 func_802B51E8(Vec3f arg0, Vec3f arg1) { temp_f14 = arg1[2] - arg0[2]; return (temp_f2 * temp_f2) + (temp_f12 * temp_f12) + temp_f14 + temp_f14; } - +//u32 atan2s(f32, f32); // might be s32 u32 func_802B5224(Vec3f arg0, Vec3f arg1) { f32 temp_v1; f32 temp_v2; temp_v1 = arg1[0] - arg0[0]; temp_v2 = arg1[2] - arg0[2]; - return func_802B7830(temp_v1, temp_v2); + return atan2s(temp_v1, temp_v2); } u32 func_802B5258(Vec3f arg0, Vec3s arg1) { @@ -84,7 +84,7 @@ u32 func_802B5258(Vec3f arg0, Vec3s arg1) { temp_v1 = arg1[0] - arg0[0]; temp_v2 = arg1[2] - arg0[2]; - return func_802B7830(temp_v1, temp_v2); + return atan2s(temp_v1, temp_v2); } void vec3f_set(Vec3f arg0, f32 arg1, f32 arg2, f32 arg3) { @@ -1438,86 +1438,79 @@ void func_802B75F8(void *arg0, f32 *arg1) { GLOBAL_ASM("asm/non_matchings/math_util/func_802B75F8.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -extern u16 gArctanTable; -static f32 D_802B9FD8 = 1000000.0f; +/** + * Comment from sm64 unverified. mk64 verison is modified + * + * Helper function for atan2s. Does a look up of the arctangent of y/x assuming + * the resulting angle is in range [0, 0x2000] (1/8 of a circle). + */ +extern f32 D_802B9FD8; // = 1000000.0f; -u16 func_802B7790(f32 arg0, f32 arg1) { - f32 temp_f0; +u16 atan2_lookup(f32 y, f32 x) { + u16 ret; - if (arg1 == 0.0f) { - return gArctanTable; - } - temp_f0 = arg0 / arg1; - if (D_802B9FD8 < temp_f0) { - if (arg0 > 0.0f) { - return 0x4000; - } - return 0xC000; - } - return (&gArctanTable)[(temp_f0 * 1024.0f) + 0.5f]; -} -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7790.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -s32 func_802B7790(f32, f32); /* extern */ - -s32 func_802B7830(f32 arg0, f32 arg1) { - f32 temp_f20; - f32 temp_f20_2; - f32 temp_f22; - s32 phi_v1; - - if (arg0 >= 0.0f) { - if (arg1 >= 0.0f) { - if (arg0 <= arg1) { - phi_v1 = func_802B7790() & 0xFFFF; + if (x == 0) { + ret = gArctanTable[0]; + } else { + if (D_802B9FD8 < y / x) { + if (y > 0.0f) { + ret = 0x4000; } else { - phi_v1 = (0x4000 - func_802B7790(arg1, arg0)) & 0xFFFF; + ret = 0xC000; } } else { - temp_f20 = -arg1; - if (temp_f20 < arg0) { - phi_v1 = (func_802B7790(temp_f20, arg0) + 0x4000) & 0xFFFF; + ret = gArctanTable[(s32)(y / x * 1024 + 0.5f)]; + } + } + return ret; +} + +u16 atan2_lookup(f32 y, f32 x); +/** + * Compute the angle from (0, 0) to (x, y) as a u16. Given that terrain is in + * the xz-plane, this is commonly called with (z, x) to get a yaw angle. + * sm64 but x, y swapped and returns u16. + */ +u16 atan2s(f32 x, f32 y) { + u16 ret; + if (x >= 0) { + if (y >= 0) { + if (y >= x) { + ret = atan2_lookup(x, y); } else { - phi_v1 = (0x8000 - func_802B7790(arg0, temp_f20)) & 0xFFFF; + ret = 0x4000 - atan2_lookup(y, x); + } + } else { + y = -y; + if (y < x) { + ret = 0x4000 + atan2_lookup(y, x); + } else { + ret = 0x8000 - atan2_lookup(x, y); } } } else { - temp_f22 = -arg0; - if (arg1 < 0.0f) { - temp_f20_2 = -arg1; - if (temp_f22 <= temp_f20_2) { - phi_v1 = (func_802B7790(temp_f22, temp_f20_2) + 0x8000) & 0xFFFF; + x = -x; + if (y < 0) { + y = -y; + if (y >= x) { + ret = 0x8000 + atan2_lookup(x, y); } else { - phi_v1 = (0xC000 - func_802B7790(temp_f20_2, temp_f22)) & 0xFFFF; + ret = 0xC000 - atan2_lookup(y, x); } - } else if (arg1 < temp_f22) { - phi_v1 = (func_802B7790(arg1, temp_f22) + 0xC000) & 0xFFFF; } else { - phi_v1 = -func_802B7790(temp_f22, arg1) & 0xFFFF; + if (y < x) { + ret = 0xC000 + atan2_lookup(y, x); + } else { + ret = -atan2_lookup(x, y); + } } } - return phi_v1; + return ret; } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7830.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//s16 func_802B7830(); /* extern */ - -f32 func_802B79B8(f32 arg0) { - return func_802B7830(arg0, 0.0f); +f32 func_802B79B8(f32 arg0, f32 arg1) { + return atan2s(arg0, arg1); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B79B8.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 @@ -1575,163 +1568,72 @@ f32 func_802B79F0(f32 arg0, f32 arg1) { GLOBAL_ASM("asm/non_matchings/math_util/func_802B79F0.s") #endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//This function did not have a glabel in the original assembly, as such it may -//be unused/unnamed -f32 func_802B79B8(); /* extern */ -static f64 D_802BA018 = 3.141592653589793; +extern f64 D_802BA018; // = 3.141592653589793; -s32 func_802B7B50(void) { - return ((func_802B79B8() * 32768.0f) / D_802BA018) & 0xFFFF; +UNUSED u16 func_802B7B50(f32 arg0, f32 arg1) { + return ((func_802B79B8(arg0, arg1) * 32768.0f) / D_802BA018); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7B50.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//This function did not have a glabel in the original assembly, as such it may -//be unused/unnamed -//? func_802B79B8(?); /* extern */ - -void func_802B7C18(void) { - func_802B79B8(0x3F800000); +UNUSED void func_802B7C18(f32 arg0) { + func_802B79B8(arg0, 1.0f); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7C18.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -s16 func_802B7830(?); /* extern */ - -s16 func_802B7C40(void) { - return func_802B7830(0x3F800000); +s16 func_802B7C40(f32 arg0) { + return atan2s(arg0, 1.0f); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7C40.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//This function did not have a glabel in the original assembly, as such it may -//be unused/unnamed -? func_802B79B8(f32); /* extern */ - -void func_802B7C6C(f32 arg0) { - func_802B79B8(sqrtf(1.0 - (arg0 * arg0))); +UNUSED void func_802B7C6C(f32 arg0) { + func_802B79B8(arg0, sqrtf(1.0 - (arg0 * arg0))); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7C6C.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -s16 func_802B7830(f32); /* extern */ s16 func_802B7CA8(f32 arg0) { - return func_802B7830(sqrtf(1.0 - (arg0 * arg0))); + return atan2s(arg0, sqrtf(1.0 - (arg0 * arg0))); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7CA8.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -? func_802B79B8(f32, f32); /* extern */ void func_802B7CE8(f32 arg0) { func_802B79B8(sqrtf(1.0 - (arg0 * arg0)), arg0); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7CE8.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -//This function did not have a glabel in the original assembly, as such it may -//be unused/unnamed -f32 func_802B79B8(f32, f32); /* extern */ -static f64 D_802BA020 = 3.141592653589793; - -s16 func_802B7D28(f32 arg0) { - return (func_802B79B8(sqrtf(1.0 - (arg0 * arg0)), arg0) * 32768.0f) / D_802BA020; +UNUSED s16 func_802B7D28(f32 arg0) { + return func_802B79B8(sqrtf(1.0 - (f64)(arg0 * arg0)), arg0) * 32768.0f / 3.141592653589793; } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7D28.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -extern u16 D_802BA290; +extern u16 gRandomSeed16; u16 random_u16(void) { - s32 temp_a1; - s32 temp_t5; - s32 temp_t8; - s32 temp_v0_2; - u16 temp_t4; - u16 temp_v0; - u16 phi_v0; + u16 temp1, temp2; - temp_v0 = D_802BA290; - phi_v0 = temp_v0; - if (temp_v0 == 0x560A) { - D_802BA290 = 0; - phi_v0 = 0 & 0xFFFF; + if (gRandomSeed16 == 22026) { + gRandomSeed16 = 0; } - temp_t8 = (phi_v0 << 8) ^ phi_v0; - temp_a1 = temp_t8 & 0xFF; - temp_t4 = (temp_a1 << 8) + ((temp_t8 & 0xFF00) >> 8); - temp_t5 = ((temp_a1 * 2) ^ temp_t4) & 0xFFFF; - D_802BA290 = temp_t4; - if ((temp_t5 & 1) == 0) { - temp_v0_2 = ((temp_t5 >> 1) ^ 0xFF80) & 0xFFFF; - if (temp_v0_2 == 0xAA55) { - D_802BA290 = 0; + + temp1 = (gRandomSeed16 & 0x00FF) << 8; + temp1 = temp1 ^ gRandomSeed16; + + gRandomSeed16 = ((temp1 & 0x00FF) << 8) + ((temp1 & 0xFF00) >> 8); + + temp1 = ((temp1 & 0x00FF) << 1) ^ gRandomSeed16; + temp2 = (temp1 >> 1) ^ 0xFF80; + + if ((temp1 & 1) == 0) { + if (temp2 == 43605) { + gRandomSeed16 = 0; } else { - D_802BA290 = temp_v0_2 ^ 0x1FF4; + gRandomSeed16 = temp2 ^ 0x1FF4; } } else { - D_802BA290 = (temp_t5 >> 1) ^ 0xFF80 ^ 0x8180; + gRandomSeed16 = temp2 ^ 0x8180; } - return D_802BA290; -} -#else -GLOBAL_ASM("asm/non_matchings/math_util/random_u16.s") -#endif -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -u32 random_u16(); /* extern */ -static f64 D_802BA028 = 65535.0; + return gRandomSeed16; +} s32 random_int(u16 arg0) { - f64 temp_f8; - f64 phi_f8; - - temp_f8 = arg0; - phi_f8 = temp_f8; - if (arg0 < 0) { - phi_f8 = temp_f8 + 4294967296.0; - } - return ((random_u16() / D_802BA028) * phi_f8) & 0xFFFF; + return (u16) (arg0 * (( (f32) random_u16() ) / 65535.0)); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/random_int.s") -#endif - -#ifdef MIPS_TO_C -//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 -s16 func_802B7830(f32, f32); /* extern */ - s16 func_802B7F34(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { - return func_802B7830(arg2 - arg0, arg3 - arg1); + return atan2s(arg2 - arg0, arg3 - arg1); } -#else -GLOBAL_ASM("asm/non_matchings/math_util/func_802B7F34.s") -#endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 diff --git a/src/math_util.h b/src/math_util.h index a3f3ae7f4..702d32e6e 100644 --- a/src/math_util.h +++ b/src/math_util.h @@ -23,7 +23,8 @@ void mtxf_translate(Mat4, Vec3f); void func_802B5F00(Mat4, f32); void func_802B71CC(Mat4, Mat4, Mat4); void func_802B75F8(Mtx*, Mat4); -u32 func_802B7830(f32, f32); + +u16 atan2s(f32, f32); f32 sins(u16); f32 coss(u16);