summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorRoman971 <32455037+Roman971@users.noreply.github.com>2021-04-06 02:40:04 +0200
committerGitHub <noreply@github.com>2021-04-05 20:40:04 -0400
commit7d3692a266d437271df5a46c26d1ef26ee999d75 (patch)
tree38533a0bac3364d00aa1049b55c0f4e386ce92d7 /src/code
parentd47528ee591c0093dd704fa82f5bfe15d9435158 (diff)
Match the last function in z_skin_awb.c (#760)
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_skin_awb.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/src/code/z_skin_awb.c b/src/code/z_skin_awb.c
index e9bab3fd6..4b0b34eec 100644
--- a/src/code/z_skin_awb.c
+++ b/src/code/z_skin_awb.c
@@ -123,12 +123,9 @@ s32 func_800A698C(PSkinAwb* skin, SkinLimb** skeleton, MtxF* mf, u8 parentIndex,
return false;
}
-#ifdef NON_MATCHING
-// Matches except for an `addiu s0, s0, 0`, which obviously does nothing.
-// Likely some indexing optimization I can't figure out.
s32 func_800A6AC4(PSkinAwb* skin, MtxF* arg1, Actor* actor, s32 arg3) {
s32 i;
- u32 zero = 0;
+ s32 pad;
f32 yRot;
f32 xRot;
f32 zRot;
@@ -146,11 +143,11 @@ s32 func_800A6AC4(PSkinAwb* skin, MtxF* arg1, Actor* actor, s32 arg3) {
if (arg3 != 0) {
- xTransl = jointRot[-1].x;
- yTransl = jointRot[-1].y;
- zTransl = jointRot[-1].z;
-
- jointRot += zero;
+ jointRot--;
+ xTransl = jointRot[0].x;
+ yTransl = jointRot[0].y;
+ zTransl = jointRot[0].z;
+ jointRot++;
if (arg3 == 0x23) {
EnfHG* horse = (EnfHG*)actor;
@@ -186,6 +183,3 @@ s32 func_800A6AC4(PSkinAwb* skin, MtxF* arg1, Actor* actor, s32 arg3) {
}
return 0;
}
-#else
-#pragma GLOBAL_ASM("asm/non_matchings/code/z_skin_awb/func_800A6AC4.s")
-#endif