dol2asm OK

This commit is contained in:
Julgodis
2021-03-28 22:49:05 +02:00
parent 3d66902e1a
commit 1e95d29b60
60106 changed files with 4755966 additions and 1107376 deletions
+152 -116
View File
@@ -1,136 +1,172 @@
#include "Z2AudioLib/Z2Calc/Z2Calc.h"
#include "msl_c/math.h"
//
// Generated By: dol2asm
// Translation Unit: Z2Calc
//
extern f32 lbl_80455828;
extern f32 lbl_8045582C;
extern f32 lbl_80455830;
extern f32 lbl_80455834;
#include "dol2asm.h"
#include "dolphin/types.h"
#include "Z2AudioLib/Z2Calc.h"
// s_is_oRandom_initialized
extern s8 lbl_80451330;
// Z2AudioLib::oRandom$401
extern JMath::TRandom_fast_ lbl_80451334;
//
// Types:
//
float Z2Calc::linearTransform(float param1, float param2, float param3, float param4, float param5,
bool param6) {
float temp;
struct Z2Calc {
struct CurveSign {
};
temp = param4 + (param1 - param2) * ((param5 - param4) / (param3 - param2));
struct FNoise1f {
/* 802A9944 */ void setParam(f32, f32, f32);
/* 802A9958 */ void tau(f32);
/* 802A99A0 */ void calcNoise1f();
};
if (param6) {
return temp;
} else if (param4 < param5) {
if (temp > param5) {
return param5;
} else if (temp < param4) {
return param4;
} else {
return temp;
}
} else if (temp > param4) {
return param4;
} else if (temp < param5) {
return param5;
} else {
return temp;
}
/* 802A968C */ void linearTransform(f32, f32, f32, f32, f32, bool);
/* 802A96F4 */ void getParamByExp(f32, f32, f32, f32, f32, f32, Z2Calc::CurveSign);
/* 802A9814 */ void getRandom(f32, f32, f32);
/* 802A98D4 */ void getRandom_0_1();
};
struct JMath {
struct TRandom_fast_ {
/* 80339AE4 */ TRandom_fast_(u32);
};
};
//
// Forward References:
//
extern "C" extern u32 cEqualCSlope__6Z2Calc;
extern "C" extern u32 cEqualPSlope__6Z2Calc;
extern "C" void linearTransform__6Z2CalcFfffffb();
extern "C" void getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign();
extern "C" void getRandom__6Z2CalcFfff();
extern "C" void getRandom_0_1__6Z2CalcFv();
extern "C" void setParam__Q26Z2Calc8FNoise1fFfff();
extern "C" void tau__Q26Z2Calc8FNoise1fFf();
extern "C" void calcNoise1f__Q26Z2Calc8FNoise1fFv();
extern "C" extern u32 cEqualCSlope__6Z2Calc;
extern "C" extern u32 cEqualPSlope__6Z2Calc;
//
// External References:
//
extern "C" void __ct__Q25JMath13TRandom_fast_FUl();
extern "C" void exp();
extern "C" void pow();
//
// Declarations:
//
/* 802A968C-802A96F4 0068+00 s=1 e=16 z=0 None .text linearTransform__6Z2CalcFfffffb */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2Calc::linearTransform(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, bool param_5) {
nofralloc
#include "asm/Z2AudioLib/Z2Calc/linearTransform__6Z2CalcFfffffb.s"
}
#pragma pop
float Z2Calc::getParamByExp(float f1, float f2, float f3, float f4, float f5, float f6,
Z2Calc::CurveSign sign) {
float out;
if (sign == Z2Calc::CURVE_SIGN_1) {
float tmp = exp(Z2Calc::linearTransform(f1, f2, f3, /* 0.0 */ lbl_80455828, f4, true));
out = Z2Calc::linearTransform(tmp, /* 1.0 */ lbl_8045582C, exp(f4), f5, f6, true);
} else if (sign == Z2Calc::CURVE_SIGN_0) {
float tmp = exp(Z2Calc::linearTransform(f1, f2, f3, f4, /* 0.0 */ lbl_80455828, true));
out = Z2Calc::linearTransform(tmp, exp(f4), /* 1.0 */ lbl_8045582C, f5, f6, true);
} else {
out = Z2Calc::linearTransform(f1, f2, f3, f5, f6, false);
}
if (out > f6) {
return f6;
}
if (out < f5) {
return f5;
}
return out;
/* ############################################################################################## */
/* 80455820-80455824 0004+00 s=0 e=1 z=0 None .sdata2 cEqualCSlope__6Z2Calc */
SECTION_SDATA2 u32 cEqualCSlope__6Z2Calc = 0x3F800000;
/* 80455824-80455828 0004+00 s=0 e=1 z=0 None .sdata2 cEqualPSlope__6Z2Calc */
SECTION_SDATA2 u32 cEqualPSlope__6Z2Calc = 0x3F000000;
/* 80455828-8045582C 0004+00 s=1 e=0 z=0 None .sdata2 @380 */
SECTION_SDATA2 static u8 lit_380[4] = {
0x00, 0x00, 0x00, 0x00,
};
/* 8045582C-80455830 0004+00 s=4 e=0 z=0 None .sdata2 @381 */
SECTION_SDATA2 static u32 lit_381 = 0x3F800000;
/* 802A96F4-802A9814 0120+00 s=0 e=29 z=0 None .text getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2Calc::getParamByExp(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, Z2Calc::CurveSign param_6) {
nofralloc
#include "asm/Z2AudioLib/Z2Calc/getParamByExp__6Z2CalcFffffffQ26Z2Calc9CurveSign.s"
}
#pragma pop
float Z2Calc::getRandom(float f1, float f2, float f3) {
float tmp = /* 2.0 */ lbl_80455830 * f3;
float tmp2 = (/* 1.0 */ lbl_8045582C - f3) * /* -2.0 */ lbl_80455834;
f1 *= Z2Calc::getRandom_0_1() < f3 ? tmp : tmp2;
float tmp3 = pow(Z2Calc::getRandom_0_1(), f2);
return tmp3 * f1;
/* ############################################################################################## */
/* 80455830-80455834 0004+00 s=1 e=0 z=0 None .sdata2 @396 */
SECTION_SDATA2 static u32 lit_396 = 0x40000000;
/* 80455834-80455838 0004+00 s=1 e=0 z=0 None .sdata2 @397 */
SECTION_SDATA2 static u32 lit_397 = 0xC0000000;
/* 802A9814-802A98D4 00C0+00 s=0 e=2 z=0 None .text getRandom__6Z2CalcFfff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2Calc::getRandom(f32 param_0, f32 param_1, f32 param_2) {
nofralloc
#include "asm/Z2AudioLib/Z2Calc/getRandom__6Z2CalcFfff.s"
}
#pragma pop
float Z2Calc::getRandom_0_1(void) {
// this is really just
// static JMath::TRandom_fast_ lbl_80451334(0);
if (!lbl_80451330) {
__ct__Q25JMath13TRandom_fast_FUl(&lbl_80451334, 0);
lbl_80451330 = true;
}
// this is really just lbl_80451334.get_ufloat_1()
union {
f32 f;
u32 s;
} out;
out.s = (lbl_80451334.get() >> 9) | 0x3f800000;
return out.f - lbl_8045582C;
/* ############################################################################################## */
/* 80451330-80451334 0004+00 s=1 e=0 z=0 None .sbss None */
static u8 data_80451330[4];
/* 80451334-80451338 0004+00 s=1 e=0 z=0 None .sbss oRandom$401 */
static u8 oRandom[4];
/* 802A98D4-802A9944 0070+00 s=1 e=1 z=0 None .text getRandom_0_1__6Z2CalcFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2Calc::getRandom_0_1() {
nofralloc
#include "asm/Z2AudioLib/Z2Calc/getRandom_0_1__6Z2CalcFv.s"
}
#pragma pop
void Z2Calc::FNoise1f::setParam(float param1, float param2, float param3) {
this->unk0 = param1;
this->unk4 = param1;
this->unk12 = param2;
this->unk8 = param3;
/* 802A9944-802A9958 0014+00 s=0 e=1 z=0 None .text setParam__Q26Z2Calc8FNoise1fFfff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2Calc::FNoise1f::setParam(f32 param_0, f32 param_1, f32 param_2) {
nofralloc
#include "asm/Z2AudioLib/Z2Calc/setParam__Q26Z2Calc8FNoise1fFfff.s"
}
#pragma pop
float Z2Calc::FNoise1f::tau(float param1) {
float temp1;
float temp2;
temp1 = param1;
temp2 = temp1 + (temp1 * temp1);
if (temp2 > lbl_8045582C) {
temp2 = temp2 - lbl_8045582C;
if (temp1 < this->unk12) {
temp2 = temp2 + this->unk12;
}
return temp2;
} else if (temp1 < this->unk12) {
temp2 = temp2 + this->unk12;
}
return temp2;
/* 802A9958-802A99A0 0048+00 s=1 e=0 z=0 None .text tau__Q26Z2Calc8FNoise1fFf */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2Calc::FNoise1f::tau(f32 param_0) {
nofralloc
#include "asm/Z2AudioLib/Z2Calc/tau__Q26Z2Calc8FNoise1fFf.s"
}
#pragma pop
float Z2Calc::FNoise1f::calcNoise1f(void) {
float temp1;
float temp2;
temp1 = this->unk0;
if (this->unk0 < this->unk4) {
this->unk0 = temp1 + this->unk8;
if (this->unk0 < this->unk4) {
return this->unk0;
}
} else {
this->unk0 = temp1 - this->unk8;
if (this->unk0 > this->unk4) {
return this->unk0;
}
}
this->unk0 = this->unk4;
temp2 = tau(this->unk0);
this->unk4 = temp2;
return this->unk0;
/* 802A99A0-802A9A34 0094+00 s=0 e=5 z=0 None .text calcNoise1f__Q26Z2Calc8FNoise1fFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void Z2Calc::FNoise1f::calcNoise1f() {
nofralloc
#include "asm/Z2AudioLib/Z2Calc/calcNoise1f__Q26Z2Calc8FNoise1fFv.s"
}
#pragma pop