mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-08 13:46:21 -04:00
Rename fields in d_menu_cloth
This commit is contained in:
+37
-37
@@ -12,11 +12,11 @@ public:
|
||||
dMCloth_c();
|
||||
virtual ~dMCloth_c();
|
||||
|
||||
cXyz* getPos() { return field_0x48[mCurArr]; }
|
||||
cXyz* getNrm() { return field_0x29a0[mCurArr]; }
|
||||
cXyz* getBackNrm() { return field_0x52f8; }
|
||||
cXyz* getOffsetVec() { return field_0x67a4; }
|
||||
cXyz* getShadowPos() { return field_0x7c50; }
|
||||
cXyz* getPos() { return mPosArr[mCurArr]; }
|
||||
cXyz* getNrm() { return mNrmArr[mCurArr]; }
|
||||
cXyz* getBackNrm() { return mBackNrmArr; }
|
||||
cXyz* getOffsetVec() { return mOffsetVecArr; }
|
||||
cXyz* getShadowPos() { return mShadowPosArr; }
|
||||
GXTexObj* getTexObj() { return &mTexObj; }
|
||||
void setArchive(JKRArchive* arc) { mpArc = arc; }
|
||||
void setClothType(u8 type) { mClothType = type; } // ?
|
||||
@@ -47,29 +47,29 @@ public:
|
||||
static const int ARR_SIZE = 441;
|
||||
static const int INNER_SIZE = 11;
|
||||
|
||||
/* 0x0004 */ u16 field_0x4;
|
||||
/* 0x0004 */ u16 unused_0x4;
|
||||
/* 0x0006 */ u8 field_0x6[0x08 - 0x06];
|
||||
/* 0x0008 */ u16 field_0x8;
|
||||
/* 0x000A */ s16 field_0xa;
|
||||
/* 0x000C */ u8 field_0xc;
|
||||
/* 0x000D */ u8 field_0xd;
|
||||
/* 0x0008 */ u16 mWaveProgress;
|
||||
/* 0x000A */ s16 mFadeInCounter;
|
||||
/* 0x000C */ u8 mAlphaOut;
|
||||
/* 0x000D */ u8 mCurrentAlpha;
|
||||
/* 0x000E */ u8 field_0xe[0x44 - 0x0E];
|
||||
/* 0x0044 */ JKRArchive* mpArc;
|
||||
/* 0x0048 */ cXyz field_0x48[2][ARR_SIZE];
|
||||
/* 0x29A0 */ cXyz field_0x29a0[2][ARR_SIZE];
|
||||
/* 0x52F8 */ cXyz field_0x52f8[ARR_SIZE];
|
||||
/* 0x67A4 */ cXyz field_0x67a4[ARR_SIZE];
|
||||
/* 0x7C50 */ cXyz field_0x7c50[ARR_SIZE];
|
||||
/* 0x0048 */ cXyz mPosArr[2][ARR_SIZE];
|
||||
/* 0x29A0 */ cXyz mNrmArr[2][ARR_SIZE];
|
||||
/* 0x52F8 */ cXyz mBackNrmArr[ARR_SIZE];
|
||||
/* 0x67A4 */ cXyz mOffsetVecArr[ARR_SIZE];
|
||||
/* 0x7C50 */ cXyz mShadowPosArr[ARR_SIZE];
|
||||
/* 0x90FC */ GXTexObj mTexObj;
|
||||
/* 0x911C */ u8 field_0x911c[0x913C - 0x911C];
|
||||
/* 0x913C */ u8 mCurArr;
|
||||
/* 0x913D */ u8 mClothType;
|
||||
/* 0x913E */ u8 field_0x913e[0x9140 - 0x913E];
|
||||
/* 0x9140 */ cXyz field_0x9140;
|
||||
/* 0x9140 */ cXyz mScale;
|
||||
/* 0x914C */ u8 field_0x914C[0x9158 - 0x914C];
|
||||
/* 0x9158 */ csXyz field_0x9158;
|
||||
/* 0x915E */ GXColor field_0x915e;
|
||||
/* 0x9162 */ GXColor field_0x9162;
|
||||
/* 0x9158 */ csXyz mRot;
|
||||
/* 0x915E */ GXColor mColor1;
|
||||
/* 0x9162 */ GXColor mColor2;
|
||||
};
|
||||
|
||||
class daCLOTH_ChildHIO_c {
|
||||
@@ -78,24 +78,24 @@ public:
|
||||
virtual ~daCLOTH_ChildHIO_c();
|
||||
|
||||
public:
|
||||
/* 0x0004 */ cXyz field_0x4;
|
||||
/* 0x0010 */ cXyz field_0x10;
|
||||
/* 0x001c */ csXyz field_0x1c;
|
||||
/* 0x0022 */ GXColorS10 field_0x22;
|
||||
/* 0x002a */ GXColorS10 field_0x2a;
|
||||
/* 0x0032 */ s16 field_0x32;
|
||||
/* 0x0034 */ s16 field_0x34;
|
||||
/* 0x0036 */ s16 field_0x36;
|
||||
/* 0x0038 */ u16 field_0x38;
|
||||
/* 0x003a */ u16 field_0x3a;
|
||||
/* 0x003c */ f32 field_0x3c;
|
||||
/* 0x0040 */ f32 field_0x40;
|
||||
/* 0x0044 */ f32 field_0x44;
|
||||
/* 0x0048 */ s16 field_0x48;
|
||||
/* 0x004a */ s16 field_0x4a;
|
||||
/* 0x004c */ f32 field_0x4c;
|
||||
/* 0x0050 */ u16 field_0x50;
|
||||
/* 0x0054 */ f32 field_0x54;
|
||||
/* 0x0004 */ cXyz scale;
|
||||
/* 0x0010 */ cXyz pos;
|
||||
/* 0x001c */ csXyz rot;
|
||||
/* 0x0022 */ GXColorS10 color1;
|
||||
/* 0x002a */ GXColorS10 color2;
|
||||
/* 0x0032 */ s16 startAlpha;
|
||||
/* 0x0034 */ s16 fadeInLength;
|
||||
/* 0x0036 */ s16 waveProgressStep;
|
||||
/* 0x0038 */ u16 waveFreqX;
|
||||
/* 0x003a */ u16 waveFreqY;
|
||||
/* 0x003c */ f32 waveAmpX;
|
||||
/* 0x0040 */ f32 waveAmpY;
|
||||
/* 0x0044 */ f32 waveAmpZ;
|
||||
/* 0x0048 */ s16 lightPitch;
|
||||
/* 0x004a */ s16 lightYaw;
|
||||
/* 0x004c */ f32 lightDistance;
|
||||
/* 0x0050 */ u16 wavePreSteps;
|
||||
/* 0x0054 */ f32 maxStep;
|
||||
};
|
||||
|
||||
class daCLOTH_HIO_c : public JORReflexible {
|
||||
|
||||
+147
-145
@@ -21,84 +21,84 @@ daCLOTH_HIO_c::daCLOTH_HIO_c() {
|
||||
mNo = -1;
|
||||
|
||||
{
|
||||
mChildren[0].field_0x4.set(1.78f, 1.78f, 1.0f);
|
||||
mChildren[0].field_0x1c.setall(0);
|
||||
mChildren[0].field_0x10.set(360.0f, 40.0f, -2400.0f);
|
||||
mChildren[0].field_0x22.r = 0x78;
|
||||
mChildren[0].field_0x22.g = 0xA5;
|
||||
mChildren[0].field_0x22.b = 0x37;
|
||||
mChildren[0].field_0x22.a = 0xDC;
|
||||
mChildren[0].field_0x2a.r = 0x23;
|
||||
mChildren[0].field_0x2a.g = 0x5f;
|
||||
mChildren[0].field_0x2a.b = 0x19;
|
||||
mChildren[0].field_0x2a.a = 0x20;
|
||||
mChildren[0].field_0x32 = 0;
|
||||
mChildren[0].field_0x34 = 7;
|
||||
mChildren[0].field_0x36 = -1000;
|
||||
mChildren[0].field_0x38 = 9000;
|
||||
mChildren[0].field_0x3a = 0x800;
|
||||
mChildren[0].field_0x3c = 5.0;
|
||||
mChildren[0].field_0x40 = 5.0;
|
||||
mChildren[0].field_0x44 = 250.0;
|
||||
mChildren[0].field_0x4c = 1000.0;
|
||||
mChildren[0].field_0x48 = 0;
|
||||
mChildren[0].field_0x4a = 0;
|
||||
mChildren[0].field_0x50 = 2;
|
||||
mChildren[0].field_0x54 = 290.0f;
|
||||
mChildren[0].scale.set(1.78f, 1.78f, 1.0f);
|
||||
mChildren[0].rot.setall(0);
|
||||
mChildren[0].pos.set(360.0f, 40.0f, -2400.0f);
|
||||
mChildren[0].color1.r = 0x78;
|
||||
mChildren[0].color1.g = 0xA5;
|
||||
mChildren[0].color1.b = 0x37;
|
||||
mChildren[0].color1.a = 0xDC;
|
||||
mChildren[0].color2.r = 0x23;
|
||||
mChildren[0].color2.g = 0x5f;
|
||||
mChildren[0].color2.b = 0x19;
|
||||
mChildren[0].color2.a = 0x20;
|
||||
mChildren[0].startAlpha = 0;
|
||||
mChildren[0].fadeInLength = 7;
|
||||
mChildren[0].waveProgressStep = -1000;
|
||||
mChildren[0].waveFreqX = 9000;
|
||||
mChildren[0].waveFreqY = 0x800;
|
||||
mChildren[0].waveAmpX = 5.0;
|
||||
mChildren[0].waveAmpY = 5.0;
|
||||
mChildren[0].waveAmpZ = 250.0;
|
||||
mChildren[0].lightDistance = 1000.0;
|
||||
mChildren[0].lightPitch = 0;
|
||||
mChildren[0].lightYaw = 0;
|
||||
mChildren[0].wavePreSteps = 2;
|
||||
mChildren[0].maxStep = 290.0f;
|
||||
}
|
||||
|
||||
{
|
||||
mChildren[1].field_0x4.set(1.27f, 0.93f, 1.0f);
|
||||
mChildren[1].field_0x1c.setall(0);
|
||||
mChildren[1].field_0x10.set(350.0f, -15.0f, -2400.0f);
|
||||
mChildren[1].field_0x22.r = 0xbe;
|
||||
mChildren[1].field_0x22.g = 0xb4;
|
||||
mChildren[1].field_0x22.b = 0x64;
|
||||
mChildren[1].field_0x22.a = 0xaa;
|
||||
mChildren[1].field_0x2a.r = 0x8c;
|
||||
mChildren[1].field_0x2a.g = 0x50;
|
||||
mChildren[1].field_0x2a.b = 0x14;
|
||||
mChildren[1].field_0x2a.a = 0x20;
|
||||
mChildren[1].field_0x32 = 0;
|
||||
mChildren[1].field_0x34 = 7;
|
||||
mChildren[1].field_0x36 = -1000;
|
||||
mChildren[1].field_0x38 = 9000;
|
||||
mChildren[1].field_0x3a = 0x800;
|
||||
mChildren[1].field_0x3c = 5.0;
|
||||
mChildren[1].field_0x40 = 5.0;
|
||||
mChildren[1].field_0x44 = 250.0;
|
||||
mChildren[1].field_0x4c = 1000.0;
|
||||
mChildren[1].field_0x48 = 0;
|
||||
mChildren[1].field_0x4a = 0;
|
||||
mChildren[1].field_0x50 = 2;
|
||||
mChildren[1].field_0x54 = 290.0;
|
||||
mChildren[1].scale.set(1.27f, 0.93f, 1.0f);
|
||||
mChildren[1].rot.setall(0);
|
||||
mChildren[1].pos.set(350.0f, -15.0f, -2400.0f);
|
||||
mChildren[1].color1.r = 0xbe;
|
||||
mChildren[1].color1.g = 0xb4;
|
||||
mChildren[1].color1.b = 0x64;
|
||||
mChildren[1].color1.a = 0xaa;
|
||||
mChildren[1].color2.r = 0x8c;
|
||||
mChildren[1].color2.g = 0x50;
|
||||
mChildren[1].color2.b = 0x14;
|
||||
mChildren[1].color2.a = 0x20;
|
||||
mChildren[1].startAlpha = 0;
|
||||
mChildren[1].fadeInLength = 7;
|
||||
mChildren[1].waveProgressStep = -1000;
|
||||
mChildren[1].waveFreqX = 9000;
|
||||
mChildren[1].waveFreqY = 0x800;
|
||||
mChildren[1].waveAmpX = 5.0;
|
||||
mChildren[1].waveAmpY = 5.0;
|
||||
mChildren[1].waveAmpZ = 250.0;
|
||||
mChildren[1].lightDistance = 1000.0;
|
||||
mChildren[1].lightPitch = 0;
|
||||
mChildren[1].lightYaw = 0;
|
||||
mChildren[1].wavePreSteps = 2;
|
||||
mChildren[1].maxStep = 290.0;
|
||||
}
|
||||
|
||||
{
|
||||
mChildren[2].field_0x4.set(1.7f, 1.7f, 1.0f);
|
||||
mChildren[2].field_0x1c.set(0, 0, 0x4000);
|
||||
mChildren[2].field_0x10.set(360.0f, 40.0f, -2400.0f);
|
||||
mChildren[2].field_0x22.r = 0xbe;
|
||||
mChildren[2].field_0x22.g = 0xb4;
|
||||
mChildren[2].field_0x22.b = 0x64;
|
||||
mChildren[2].field_0x22.a = 0xdc;
|
||||
mChildren[2].field_0x2a.r = 0x8c;
|
||||
mChildren[2].field_0x2a.g = 0x50;
|
||||
mChildren[2].field_0x2a.b = 0x14;
|
||||
mChildren[2].field_0x2a.a = 0x20;
|
||||
mChildren[2].field_0x32 = 0;
|
||||
mChildren[2].field_0x34 = 7;
|
||||
mChildren[2].field_0x36 = -1000;
|
||||
mChildren[2].field_0x38 = 9000;
|
||||
mChildren[2].field_0x3a = 0x800;
|
||||
mChildren[2].field_0x3c = 5.0;
|
||||
mChildren[2].field_0x40 = 5.0;
|
||||
mChildren[2].field_0x44 = 250.0;
|
||||
mChildren[2].field_0x4c = 1000.0;
|
||||
mChildren[2].field_0x48 = 0;
|
||||
mChildren[2].field_0x4a = 0;
|
||||
mChildren[2].field_0x50 = 2;
|
||||
mChildren[2].field_0x54 = 290.0;
|
||||
mChildren[2].scale.set(1.7f, 1.7f, 1.0f);
|
||||
mChildren[2].rot.set(0, 0, 0x4000);
|
||||
mChildren[2].pos.set(360.0f, 40.0f, -2400.0f);
|
||||
mChildren[2].color1.r = 0xbe;
|
||||
mChildren[2].color1.g = 0xb4;
|
||||
mChildren[2].color1.b = 0x64;
|
||||
mChildren[2].color1.a = 0xdc;
|
||||
mChildren[2].color2.r = 0x8c;
|
||||
mChildren[2].color2.g = 0x50;
|
||||
mChildren[2].color2.b = 0x14;
|
||||
mChildren[2].color2.a = 0x20;
|
||||
mChildren[2].startAlpha = 0;
|
||||
mChildren[2].fadeInLength = 7;
|
||||
mChildren[2].waveProgressStep = -1000;
|
||||
mChildren[2].waveFreqX = 9000;
|
||||
mChildren[2].waveFreqY = 0x800;
|
||||
mChildren[2].waveAmpX = 5.0;
|
||||
mChildren[2].waveAmpY = 5.0;
|
||||
mChildren[2].waveAmpZ = 250.0;
|
||||
mChildren[2].lightDistance = 1000.0;
|
||||
mChildren[2].lightPitch = 0;
|
||||
mChildren[2].lightYaw = 0;
|
||||
mChildren[2].wavePreSteps = 2;
|
||||
mChildren[2].maxStep = 290.0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,12 +113,12 @@ daCLOTH_ChildHIO_c::daCLOTH_ChildHIO_c() {
|
||||
/* 801996C4-8019977C .text lightSet1__9dMCloth_cF4cXyz */
|
||||
void dMCloth_c::lightSet1(cXyz) {
|
||||
GXLightObj light;
|
||||
const f32 f0 = HIO_CHILD.field_0x4c;
|
||||
const f32 f0 = HIO_CHILD.lightDistance;
|
||||
GXInitLightPos(
|
||||
&light,
|
||||
-f0 * cM_ssin(HIO_CHILD.field_0x4a) * cM_scos(HIO_CHILD.field_0x48),
|
||||
-f0 * cM_ssin(HIO_CHILD.field_0x48),
|
||||
-f0 * cM_scos(HIO_CHILD.field_0x4a) * cM_scos(HIO_CHILD.field_0x48)
|
||||
-f0 * cM_ssin(HIO_CHILD.lightYaw) * cM_scos(HIO_CHILD.lightPitch),
|
||||
-f0 * cM_ssin(HIO_CHILD.lightPitch),
|
||||
-f0 * cM_scos(HIO_CHILD.lightYaw) * cM_scos(HIO_CHILD.lightPitch)
|
||||
);
|
||||
GXInitLightColor(&light, (GXColor){0xFF, 0xFF, 0xFF, 0x00});
|
||||
GXLoadLightObjImm(&light, GX_LIGHT0);
|
||||
@@ -153,49 +153,49 @@ void dMCloth_c::cloth_init() {
|
||||
|
||||
setBackNrm();
|
||||
|
||||
field_0x8 = 0;
|
||||
field_0xa = 0;
|
||||
mWaveProgress = 0;
|
||||
mFadeInCounter = 0;
|
||||
|
||||
cloth_move();
|
||||
|
||||
field_0xc = 0;
|
||||
field_0xd = HIO_CHILD.field_0x22.a;
|
||||
field_0x8 += HIO_CHILD.field_0x36;
|
||||
mAlphaOut = 0;
|
||||
mCurrentAlpha = HIO_CHILD.color1.a;
|
||||
mWaveProgress += HIO_CHILD.waveProgressStep;
|
||||
|
||||
DCStoreRangeNoSync(field_0x48[mCurArr], INNER_SIZE * INNER_SIZE * sizeof(cXyz));
|
||||
DCStoreRangeNoSync(field_0x29a0[mCurArr], 0x5AC);
|
||||
DCStoreRangeNoSync(field_0x52f8, 0x5AC);
|
||||
DCStoreRangeNoSync(mPosArr[mCurArr], INNER_SIZE * INNER_SIZE * sizeof(cXyz));
|
||||
DCStoreRangeNoSync(mNrmArr[mCurArr], 0x5AC);
|
||||
DCStoreRangeNoSync(mBackNrmArr, 0x5AC);
|
||||
|
||||
field_0x915e.r = (u8)HIO_CHILD.field_0x22.r;
|
||||
field_0x915e.g = (u8)HIO_CHILD.field_0x22.g;
|
||||
field_0x915e.b = (u8)HIO_CHILD.field_0x22.b;
|
||||
field_0x915e.a = (u8)HIO_CHILD.field_0x22.a;
|
||||
field_0x9162.r = (u8)HIO_CHILD.field_0x2a.r;
|
||||
field_0x9162.g = (u8)HIO_CHILD.field_0x2a.g;
|
||||
field_0x9162.b = (u8)HIO_CHILD.field_0x2a.b;
|
||||
field_0x9162.a = (u8)HIO_CHILD.field_0x2a.a;
|
||||
mColor1.r = (u8)HIO_CHILD.color1.r;
|
||||
mColor1.g = (u8)HIO_CHILD.color1.g;
|
||||
mColor1.b = (u8)HIO_CHILD.color1.b;
|
||||
mColor1.a = (u8)HIO_CHILD.color1.a;
|
||||
mColor2.r = (u8)HIO_CHILD.color2.r;
|
||||
mColor2.g = (u8)HIO_CHILD.color2.g;
|
||||
mColor2.b = (u8)HIO_CHILD.color2.b;
|
||||
mColor2.a = (u8)HIO_CHILD.color2.a;
|
||||
|
||||
switch (mClothType) {
|
||||
case 0: {
|
||||
const f32 r = cM_rndFX(45.0f);
|
||||
init_angle_z += (s16)((r + 90.0f) * 182.04445f);
|
||||
field_0x9140 = HIO_CHILD.field_0x4;
|
||||
field_0x9158.set(0, 0, init_angle_z);
|
||||
s32 n = HIO_CHILD.field_0x50;
|
||||
mScale = HIO_CHILD.scale;
|
||||
mRot.set(0, 0, init_angle_z);
|
||||
s32 n = HIO_CHILD.wavePreSteps;
|
||||
while (n--) {
|
||||
cloth_move_sin();
|
||||
}
|
||||
} break;
|
||||
case 1: {
|
||||
field_0x9140.set(1.27f, 0.93f, 1.0f);
|
||||
field_0x9158.setall(0);
|
||||
mScale.set(1.27f, 0.93f, 1.0f);
|
||||
mRot.setall(0);
|
||||
} break;
|
||||
case 2: {
|
||||
field_0x9140 = HIO_CHILD.field_0x4;
|
||||
mScale = HIO_CHILD.scale;
|
||||
const f32 r = cM_rndFX(20.0f);
|
||||
field_0x9158 = HIO_CHILD.field_0x1c;
|
||||
field_0x9158.z += (s16)(r * 182.04445f);
|
||||
s32 n = HIO_CHILD.field_0x50;
|
||||
mRot = HIO_CHILD.rot;
|
||||
mRot.z += (s16)(r * 182.04445f);
|
||||
s32 n = HIO_CHILD.wavePreSteps;
|
||||
while (n--) {
|
||||
cloth_move_sin();
|
||||
}
|
||||
@@ -237,7 +237,7 @@ void dMCloth_c::init() {
|
||||
/* 80199E1C-80199F48 .text __ct__9dMCloth_cFv */
|
||||
dMCloth_c::dMCloth_c() {
|
||||
mCurArr = 0;
|
||||
field_0x4 = 0;
|
||||
unused_0x4 = 0;
|
||||
mClothType = 0;
|
||||
if (l_HIO.mNo < 0) {
|
||||
l_HIO.mNo = mDoHIO_createChild("メニューの布", &l_HIO); // Menu cloth
|
||||
@@ -353,12 +353,12 @@ void dMCloth_c::plot(float xMin, float yMin, float xMax, float yMax) {
|
||||
iv5 = iv3 > 0xFF ? 0xFF : iv3;
|
||||
GXPosition1x16(x + y * INNER_SIZE);
|
||||
GXPosition1x16(x + y * INNER_SIZE);
|
||||
GXPosition3s8(field_0x915e.r, field_0x915e.g, field_0x915e.b);
|
||||
GXPosition3s8(mColor1.r, mColor1.g, mColor1.b);
|
||||
GXPosition1x8(iv2);
|
||||
GXPosition2f32(xPos, yPos);
|
||||
GXPosition1x16(xNext + y * INNER_SIZE);
|
||||
GXPosition1x16(xNext + y * INNER_SIZE);
|
||||
GXPosition3s8(field_0x915e.r, field_0x915e.g, field_0x915e.b);
|
||||
GXPosition3s8(mColor1.r, mColor1.g, mColor1.b);
|
||||
GXPosition1x8(iv5);
|
||||
GXPosition2f32(xPos2, yPos);
|
||||
} break;
|
||||
@@ -404,12 +404,12 @@ void dMCloth_c::plot_shadow(float xMin, float yMin, float xMax, float yMax) {
|
||||
iv5 = iv3 > 0xFF ? 0xFF : iv3;
|
||||
GXPosition1x16(x + y * INNER_SIZE);
|
||||
GXPosition1x16(x + y * INNER_SIZE);
|
||||
GXPosition3s8(field_0x9162.r, field_0x9162.g, field_0x9162.b);
|
||||
GXPosition3s8(mColor2.r, mColor2.g, mColor2.b);
|
||||
GXPosition1x8(iv2);
|
||||
GXPosition2f32(xPos, yPos);
|
||||
GXPosition1x16(xNext + y * INNER_SIZE);
|
||||
GXPosition1x16(xNext + y * INNER_SIZE);
|
||||
GXPosition3s8(field_0x9162.r, field_0x9162.g, field_0x9162.b);
|
||||
GXPosition3s8(mColor2.r, mColor2.g, mColor2.b);
|
||||
GXPosition1x8(iv5);
|
||||
GXPosition2f32(xPos2, yPos);
|
||||
} break;
|
||||
@@ -424,7 +424,7 @@ void dMCloth_c::plot_shadow(float xMin, float yMin, float xMax, float yMax) {
|
||||
|
||||
/* 8019A838-8019A844 .text alpha_out__9dMCloth_cFv */
|
||||
void dMCloth_c::alpha_out() {
|
||||
field_0xc = 1;
|
||||
mAlphaOut = 1;
|
||||
}
|
||||
|
||||
/* 8019A844-8019A9C4 .text TevSettingMenu__9dMCloth_cFv */
|
||||
@@ -524,7 +524,7 @@ void dMCloth_c::ShadowTevSetting() {
|
||||
/* 8019ADD4-8019B670 .text draw__9dMCloth_cFf8_GXColor8_GXColorUc */
|
||||
void dMCloth_c::draw(float, GXColor color1, GXColor color2, unsigned char) {
|
||||
cXyz* pPos = getPos();
|
||||
cXyz* pPos2 = field_0x7c50;
|
||||
cXyz* pPos2 = mShadowPosArr;
|
||||
for (int y = 0; y < INNER_SIZE; y++) {
|
||||
for (int x = 0; x < INNER_SIZE; x++) {
|
||||
*pPos2 = *pPos;
|
||||
@@ -534,31 +534,33 @@ void dMCloth_c::draw(float, GXColor color1, GXColor color2, unsigned char) {
|
||||
}
|
||||
}
|
||||
|
||||
DCStoreRangeNoSync(field_0x7c50, 0x5ac);
|
||||
DCStoreRangeNoSync(mShadowPosArr, 0x5ac);
|
||||
|
||||
color1 = field_0x915e;
|
||||
color2 = field_0x9162;
|
||||
color1 = mColor1;
|
||||
color2 = mColor2;
|
||||
|
||||
if (field_0xc == 1) {
|
||||
color1.a = field_0xd;
|
||||
if (field_0xd > 25) {
|
||||
field_0xd -= 25;
|
||||
if (mAlphaOut == 1) {
|
||||
// Fade out alpha.
|
||||
color1.a = mCurrentAlpha;
|
||||
if (mCurrentAlpha > 25) {
|
||||
mCurrentAlpha -= 25;
|
||||
} else {
|
||||
field_0xd = 0;
|
||||
mCurrentAlpha = 0;
|
||||
}
|
||||
} else {
|
||||
f32 f = (f32)field_0xa / HIO_CHILD.field_0x34;
|
||||
// Interpolate from startAlpha to final alpha.
|
||||
f32 f = (f32)mFadeInCounter / HIO_CHILD.fadeInLength;
|
||||
{
|
||||
s16 uv2 = HIO_CHILD.field_0x22.a;
|
||||
s16 uv2 = HIO_CHILD.color1.a;
|
||||
s16 uv6 = cLib_minMaxLimit<s16>(uv2, 0, 0xFF);
|
||||
color1.a = uv6;
|
||||
color1.a = color1.a * f + (1.0f - f) * HIO_CHILD.field_0x32;
|
||||
color1.a = color1.a * f + (1.0f - f) * HIO_CHILD.startAlpha;
|
||||
}
|
||||
{
|
||||
s16 uv2 = HIO_CHILD.field_0x2a.a;
|
||||
s16 uv2 = HIO_CHILD.color2.a;
|
||||
s16 uv6 = cLib_minMaxLimit<s16>(uv2, 0, 0xFF);
|
||||
color2.a = uv6;
|
||||
color2.a = color2.a * f + (1.0f - f) * HIO_CHILD.field_0x32;
|
||||
color2.a = color2.a * f + (1.0f - f) * HIO_CHILD.startAlpha;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -643,11 +645,11 @@ void dMCloth_c::draw(float, GXColor color1, GXColor color2, unsigned char) {
|
||||
switch (mClothType) {
|
||||
case 1:
|
||||
case 2: {
|
||||
mDoMtx_stack_c::transS(HIO_CHILD.field_0x10.x + -275.0f, HIO_CHILD.field_0x10.y - 75.0f, HIO_CHILD.field_0x10.z + -3800.0f);
|
||||
mDoMtx_stack_c::XrotM(field_0x9158.x);
|
||||
mDoMtx_stack_c::YrotM(field_0x9158.y);
|
||||
mDoMtx_stack_c::ZrotM(field_0x9158.z);
|
||||
mDoMtx_stack_c::scaleM(field_0x9140);
|
||||
mDoMtx_stack_c::transS(HIO_CHILD.pos.x + -275.0f, HIO_CHILD.pos.y - 75.0f, HIO_CHILD.pos.z + -3800.0f);
|
||||
mDoMtx_stack_c::XrotM(mRot.x);
|
||||
mDoMtx_stack_c::YrotM(mRot.y);
|
||||
mDoMtx_stack_c::ZrotM(mRot.z);
|
||||
mDoMtx_stack_c::scaleM(mScale);
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, 3400.0f);
|
||||
GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
|
||||
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
|
||||
@@ -660,11 +662,11 @@ void dMCloth_c::draw(float, GXColor color1, GXColor color2, unsigned char) {
|
||||
} break;
|
||||
}
|
||||
|
||||
mDoMtx_stack_c::transS(HIO_CHILD.field_0x10.x + -350.0f, HIO_CHILD.field_0x10.y, HIO_CHILD.field_0x10.z + -3800.0f);
|
||||
mDoMtx_stack_c::XrotM(field_0x9158.x);
|
||||
mDoMtx_stack_c::YrotM(field_0x9158.y);
|
||||
mDoMtx_stack_c::ZrotM(field_0x9158.z);
|
||||
mDoMtx_stack_c::scaleM(field_0x9140);
|
||||
mDoMtx_stack_c::transS(HIO_CHILD.pos.x + -350.0f, HIO_CHILD.pos.y, HIO_CHILD.pos.z + -3800.0f);
|
||||
mDoMtx_stack_c::XrotM(mRot.x);
|
||||
mDoMtx_stack_c::YrotM(mRot.y);
|
||||
mDoMtx_stack_c::ZrotM(mRot.z);
|
||||
mDoMtx_stack_c::scaleM(mScale);
|
||||
mDoMtx_stack_c::transM(0.0f, 0.0f, 3400.0f);
|
||||
GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
|
||||
GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0);
|
||||
@@ -677,7 +679,7 @@ void dMCloth_c::draw(float, GXColor color1, GXColor color2, unsigned char) {
|
||||
|
||||
GXSetCullMode(GX_CULL_BACK);
|
||||
ShadowTevSetting();
|
||||
GXSetArray(GX_VA_POS, field_0x7c50, sizeof(cXyz));
|
||||
GXSetArray(GX_VA_POS, mShadowPosArr, sizeof(cXyz));
|
||||
plot_shadow(0.0f, 0.0f, 10.0f, 10.0f);
|
||||
|
||||
TevSetting();
|
||||
@@ -691,7 +693,7 @@ void dMCloth_c::draw(float, GXColor color1, GXColor color2, unsigned char) {
|
||||
/* 8019B670-8019B9C0 .text cloth_move_sin__9dMCloth_cFv */
|
||||
void dMCloth_c::cloth_move_sin() {
|
||||
/* Nonmatching */
|
||||
field_0x8 += HIO_CHILD.field_0x36;
|
||||
mWaveProgress += HIO_CHILD.waveProgressStep;
|
||||
|
||||
for (int y = 0; y < INNER_SIZE; y++) {
|
||||
for (int x = 0; x < INNER_SIZE; x++) {
|
||||
@@ -711,11 +713,11 @@ void dMCloth_c::cloth_move_sin() {
|
||||
}
|
||||
|
||||
cXyz pos;
|
||||
pos.x = -1500.0f + 305.0f * x + HIO_CHILD.field_0x3c * fx * cM_ssin(field_0x8 + x * HIO_CHILD.field_0x38 + y * HIO_CHILD.field_0x3a);
|
||||
pos.y = -1500.0f + 300.0f * y + HIO_CHILD.field_0x40 * fx * cM_scos(field_0x8 + x * HIO_CHILD.field_0x38 + y * HIO_CHILD.field_0x3a);
|
||||
pos.x = -3400.0f + x + HIO_CHILD.field_0x3c * fx * cM_ssin(field_0x8 + x * HIO_CHILD.field_0x38);
|
||||
pos.x = -1500.0f + 305.0f * x + HIO_CHILD.waveAmpX * fx * cM_ssin(mWaveProgress + x * HIO_CHILD.waveFreqX + y * HIO_CHILD.waveFreqY);
|
||||
pos.y = -1500.0f + 300.0f * y + HIO_CHILD.waveAmpY * fx * cM_scos(mWaveProgress + x * HIO_CHILD.waveFreqX + y * HIO_CHILD.waveFreqY);
|
||||
pos.z = -3400.0f + x + HIO_CHILD.waveAmpZ * fx * cM_ssin(mWaveProgress + x * HIO_CHILD.waveFreqX);
|
||||
|
||||
cLib_addCalcPos2(&field_0x48[mCurArr][x + y * INNER_SIZE], pos, 0.5f, HIO_CHILD.field_0x54);
|
||||
cLib_addCalcPos2(&mPosArr[mCurArr][x + y * INNER_SIZE], pos, 0.5f, HIO_CHILD.maxStep);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -756,11 +758,11 @@ void dMCloth_c::cloth_move_simple() {
|
||||
}
|
||||
|
||||
cXyz pos;
|
||||
pos.x = -1500.0f + 305.0f * x + HIO_CHILD.field_0x3c * fx * cM_ssin(field_0x8 + x * HIO_CHILD.field_0x38 + y * HIO_CHILD.field_0x3a);
|
||||
pos.y = -1500.0f + 300.0f * y + HIO_CHILD.field_0x40 * fx * cM_scos(field_0x8 + x * HIO_CHILD.field_0x38 + y * HIO_CHILD.field_0x3a);
|
||||
pos.x = -3400.0f + x + HIO_CHILD.field_0x3c * fx * cM_ssin(field_0x8 + y * HIO_CHILD.field_0x3a);
|
||||
pos.x = -1500.0f + 305.0f * x + HIO_CHILD.waveAmpX * fx * cM_ssin(mWaveProgress + x * HIO_CHILD.waveFreqX + y * HIO_CHILD.waveFreqY);
|
||||
pos.y = -1500.0f + 300.0f * y + HIO_CHILD.waveAmpY * fx * cM_scos(mWaveProgress + x * HIO_CHILD.waveFreqX + y * HIO_CHILD.waveFreqY);
|
||||
pos.x = -3400.0f + x + HIO_CHILD.waveAmpX * fx * cM_ssin(mWaveProgress + y * HIO_CHILD.waveFreqY);
|
||||
|
||||
cLib_addCalcPos2(&getPos()[x + y * INNER_SIZE], pos, 0.5f, HIO_CHILD.field_0x54);
|
||||
cLib_addCalcPos2(&getPos()[x + y * INNER_SIZE], pos, 0.5f, HIO_CHILD.maxStep);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -785,16 +787,16 @@ void dMCloth_c::cloth_move() {
|
||||
switch (mClothType) {
|
||||
case 0:
|
||||
case 2: {
|
||||
if (field_0xa < HIO_CHILD.field_0x34) {
|
||||
if (mFadeInCounter < HIO_CHILD.fadeInLength) {
|
||||
cloth_move_sin();
|
||||
field_0xa++;
|
||||
mFadeInCounter++;
|
||||
} else {
|
||||
cloth_move_simple();
|
||||
}
|
||||
} break;
|
||||
case 1: {
|
||||
if (field_0xa < HIO_CHILD.field_0x34) {
|
||||
field_0xa++;
|
||||
if (mFadeInCounter < HIO_CHILD.fadeInLength) {
|
||||
mFadeInCounter++;
|
||||
}
|
||||
cloth_move_sin();
|
||||
} break;
|
||||
|
||||
Reference in New Issue
Block a user