This commit is contained in:
lepelog 2021-11-06 17:12:26 +01:00
parent 74ed2da8bc
commit 891b4f14b1
4 changed files with 49 additions and 113 deletions

View File

@ -1,17 +0,0 @@
lbl_8026FA80:
/* 8026FA80 C0 03 00 00 */ lfs f0, 0(r3)
/* 8026FA84 EC 20 00 72 */ fmuls f1, f0, f1
/* 8026FA88 FC 01 10 40 */ fcmpo cr0, f1, f2
/* 8026FA8C 40 81 00 0C */ ble lbl_8026FA98
/* 8026FA90 FC 20 10 90 */ fmr f1, f2
/* 8026FA94 48 00 00 14 */ b lbl_8026FAA8
lbl_8026FA98:
/* 8026FA98 FC 00 10 50 */ fneg f0, f2
/* 8026FA9C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026FAA0 40 80 00 08 */ bge lbl_8026FAA8
/* 8026FAA4 FC 20 00 90 */ fmr f1, f0
lbl_8026FAA8:
/* 8026FAA8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8026FAAC EC 00 08 28 */ fsubs f0, f0, f1
/* 8026FAB0 D0 03 00 00 */ stfs f0, 0(r3)
/* 8026FAB4 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_8026FA3C:
/* 8026FA3C C0 03 00 00 */ lfs f0, 0(r3)
/* 8026FA40 FC 00 08 00 */ fcmpu cr0, f0, f1
/* 8026FA44 4D 82 00 20 */ beqlr
/* 8026FA48 EC 01 00 28 */ fsubs f0, f1, f0
/* 8026FA4C EC 22 00 32 */ fmuls f1, f2, f0
/* 8026FA50 FC 01 18 40 */ fcmpo cr0, f1, f3
/* 8026FA54 40 81 00 0C */ ble lbl_8026FA60
/* 8026FA58 FC 20 18 90 */ fmr f1, f3
/* 8026FA5C 48 00 00 14 */ b lbl_8026FA70
lbl_8026FA60:
/* 8026FA60 FC 00 18 50 */ fneg f0, f3
/* 8026FA64 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8026FA68 40 80 00 08 */ bge lbl_8026FA70
/* 8026FA6C FC 20 00 90 */ fmr f1, f0
lbl_8026FA70:
/* 8026FA70 C0 03 00 00 */ lfs f0, 0(r3)
/* 8026FA74 EC 00 08 2A */ fadds f0, f0, f1
/* 8026FA78 D0 03 00 00 */ stfs f0, 0(r3)
/* 8026FA7C 4E 80 00 20 */ blr

View File

@ -1,55 +0,0 @@
lbl_8026F97C:
/* 8026F97C C0 A3 00 00 */ lfs f5, 0(r3)
/* 8026F980 FC 05 08 00 */ fcmpu cr0, f5, f1
/* 8026F984 41 82 00 A4 */ beq lbl_8026FA28
/* 8026F988 EC 01 28 28 */ fsubs f0, f1, f5
/* 8026F98C EC C2 00 32 */ fmuls f6, f2, f0
/* 8026F990 FC 06 20 40 */ fcmpo cr0, f6, f4
/* 8026F994 4C 41 13 82 */ cror 2, 1, 2
/* 8026F998 41 82 00 14 */ beq lbl_8026F9AC
/* 8026F99C FC 40 20 50 */ fneg f2, f4
/* 8026F9A0 FC 06 10 40 */ fcmpo cr0, f6, f2
/* 8026F9A4 4C 40 13 82 */ cror 2, 0, 2
/* 8026F9A8 40 82 00 30 */ bne lbl_8026F9D8
lbl_8026F9AC:
/* 8026F9AC FC 06 18 40 */ fcmpo cr0, f6, f3
/* 8026F9B0 40 81 00 08 */ ble lbl_8026F9B8
/* 8026F9B4 FC C0 18 90 */ fmr f6, f3
lbl_8026F9B8:
/* 8026F9B8 FC 00 18 50 */ fneg f0, f3
/* 8026F9BC FC 06 00 40 */ fcmpo cr0, f6, f0
/* 8026F9C0 40 80 00 08 */ bge lbl_8026F9C8
/* 8026F9C4 FC C0 00 90 */ fmr f6, f0
lbl_8026F9C8:
/* 8026F9C8 C0 03 00 00 */ lfs f0, 0(r3)
/* 8026F9CC EC 00 30 2A */ fadds f0, f0, f6
/* 8026F9D0 D0 03 00 00 */ stfs f0, 0(r3)
/* 8026F9D4 48 00 00 54 */ b lbl_8026FA28
lbl_8026F9D8:
/* 8026F9D8 C0 02 B7 E0 */ lfs f0, lit_2262(r2)
/* 8026F9DC FC 06 00 40 */ fcmpo cr0, f6, f0
/* 8026F9E0 40 81 00 28 */ ble lbl_8026FA08
/* 8026F9E4 FC 06 20 40 */ fcmpo cr0, f6, f4
/* 8026F9E8 40 80 00 40 */ bge lbl_8026FA28
/* 8026F9EC EC 05 20 2A */ fadds f0, f5, f4
/* 8026F9F0 D0 03 00 00 */ stfs f0, 0(r3)
/* 8026F9F4 C0 03 00 00 */ lfs f0, 0(r3)
/* 8026F9F8 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8026F9FC 40 81 00 2C */ ble lbl_8026FA28
/* 8026FA00 D0 23 00 00 */ stfs f1, 0(r3)
/* 8026FA04 48 00 00 24 */ b lbl_8026FA28
lbl_8026FA08:
/* 8026FA08 FC 06 10 40 */ fcmpo cr0, f6, f2
/* 8026FA0C 40 81 00 1C */ ble lbl_8026FA28
/* 8026FA10 EC 05 10 2A */ fadds f0, f5, f2
/* 8026FA14 D0 03 00 00 */ stfs f0, 0(r3)
/* 8026FA18 C0 03 00 00 */ lfs f0, 0(r3)
/* 8026FA1C FC 00 08 40 */ fcmpo cr0, f0, f1
/* 8026FA20 40 80 00 08 */ bge lbl_8026FA28
/* 8026FA24 D0 23 00 00 */ stfs f1, 0(r3)
lbl_8026FA28:
/* 8026FA28 C0 03 00 00 */ lfs f0, 0(r3)
/* 8026FA2C EC 01 00 28 */ fsubs f0, f1, f0
/* 8026FA30 FC 00 02 10 */ fabs f0, f0
/* 8026FA34 FC 20 00 18 */ frsp f1, f0
/* 8026FA38 4E 80 00 20 */ blr

View File

@ -81,34 +81,62 @@ SECTION_SDATA2 static f32 lit_2262[1 + 1 /* padding */] = {
};
/* 8026F97C-8026FA3C 26A2BC 00C0+00 0/0 50/50 178/178 .text cLib_addCalc__FPfffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm f32 cLib_addCalc(f32* param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalc__FPfffff.s"
f32 cLib_addCalc(f32* pValue, f32 target, f32 scale, f32 minStep, f32 maxStep) {
if (*pValue != target) {
f32 step = scale * (target - *pValue);
if (step >= maxStep || step <= -maxStep) {
if (step > minStep) {
step = minStep;
}
if (step < -minStep) {
step = -minStep;
}
*pValue += step;
} else {
if (step > FLOAT_LABEL(/* 0.0f */ lit_2262)) {
if (step < maxStep) {
*pValue += maxStep;
if (*pValue > target) {
*pValue = target;
}
}
} else {
maxStep = -maxStep;
if (step > maxStep) {
*pValue += maxStep;
if (*pValue < target) {
*pValue = target;
}
}
}
}
}
return fabsf(target - *pValue);
}
#pragma pop
/* 8026FA3C-8026FA80 26A37C 0044+00 0/0 20/20 701/701 .text cLib_addCalc2__FPffff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalc2(f32* param_0, f32 param_1, f32 param_2, f32 param_3) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalc2__FPffff.s"
void cLib_addCalc2(f32* pValue, f32 target, f32 scale, f32 maxStep) {
if (*pValue != target) {
f32 step = scale * (target - *pValue);
if (step > maxStep) {
step = maxStep;
} else if (step < -maxStep) {
step = -maxStep;
}
*pValue += step;
}
}
#pragma pop
/* 8026FA80-8026FAB8 26A3C0 0038+00 0/0 2/2 322/322 .text cLib_addCalc0__FPfff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cLib_addCalc0(f32* param_0, f32 param_1, f32 param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_lib/cLib_addCalc0__FPfff.s"
void cLib_addCalc0(f32* pValue, f32 scale, f32 maxStep) {
f32 step = *pValue * scale;
if (step > maxStep) {
step = maxStep;
} else if (step < -maxStep) {
step = -maxStep;
}
*pValue -= step;
}
#pragma pop
/* ############################################################################################## */
/* 804551E8-804551F0 0037E8 0008+00 7/7 0/0 0/0 .sdata2 @2379 */