// // Generated By: dol2asm // Translation Unit: JUTFader // #include "JSystem/JUtility/JUTFader.h" #include "JSystem/J2DGraph/J2DOrthoGraph.h" #include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // extern "C" void __ct__8JUTFaderFiiiiQ28JUtility6TColor(); extern "C" void control__8JUTFaderFv(); extern "C" void draw__8JUTFaderFv(); extern "C" void startFadeIn__8JUTFaderFi(); extern "C" void startFadeOut__8JUTFaderFi(); extern "C" void setStatus__8JUTFaderFQ28JUTFader7EStatusi(); extern "C" void __dt__8JUTFaderFv(); // // External References: // extern "C" void __dl__FPv(); extern "C" void setColor__14J2DGrafContextFQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColor(); extern "C" void func_802E9260(); extern "C" void __ct__13J2DOrthoGraphFv(); extern "C" extern void* __vt__14J2DGrafContext[10]; extern "C" extern void* __vt__13J2DOrthoGraph[10]; // // Declarations: // /* 802E5530-802E55DC 2DFE70 00AC+00 0/0 1/1 0/0 .text __ct__8JUTFaderFiiiiQ28JUtility6TColor */ JUTFader::JUTFader(int x, int y, int width, int height, JUtility::TColor pColor) : mColor(pColor), mBox(x, y, x + width, y + height) { mStatus = 0; field_0x8 = 0; field_0xa = 0; field_0x24 = 0; mEStatus = UNKSTATUS_M1; } /* 802E55DC-802E56DC 2DFF1C 0100+00 0/0 1/1 0/0 .text control__8JUTFaderFv */ #ifdef NONMATCHING void JUTFader::control() { s32 tmp = mEStatus; if (mEStatus >= 0) { mEStatus--; if (tmp == 0) { mStatus = field_0x24; } } switch (mStatus) { case 0: mColor.a = -1; case 1: break; case 2: field_0xa++; mColor.a = (255 - (255 / field_0x8)); if (field_0xa >= field_0x8) { mStatus = 1; } break; case 3: field_0xa++; mColor.a = (255 / field_0x8); if (field_0xa >= field_0x8) { mStatus = 0; } default: draw(); break; } } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTFader::control() { nofralloc #include "asm/JSystem/JUtility/JUTFader/control__8JUTFaderFv.s" } #pragma pop #endif /* 802E56DC-802E576C 2E001C 0090+00 1/0 0/0 0/0 .text draw__8JUTFaderFv */ #ifdef NONMATCHING void JUTFader::draw() { if (mColor.a != 0) { J2DOrthoGraph ortho; JUtility::TColor tmp = mColor; ortho.setColor(tmp, tmp, tmp, tmp); ortho.fillBox(mBox); } } #else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTFader::draw() { nofralloc #include "asm/JSystem/JUtility/JUTFader/draw__8JUTFaderFv.s" } #pragma pop #endif /* 802E576C-802E579C 2E00AC 0030+00 1/0 0/0 0/0 .text startFadeIn__8JUTFaderFi */ bool JUTFader::startFadeIn(int param_0) { bool statusCheck = mStatus == 0; if (statusCheck) { mStatus = 2; field_0xa = 0; field_0x8 = param_0; } return statusCheck; } /* 802E579C-802E57D0 2E00DC 0034+00 1/0 0/0 0/0 .text startFadeOut__8JUTFaderFi */ bool JUTFader::startFadeOut(int param_0) { bool statusCheck = mStatus == 1; if (statusCheck) { mStatus = 3; field_0xa = 0; field_0x8 = param_0; } return statusCheck; } /* 802E57D0-802E5840 2E0110 0070+00 0/0 1/1 0/0 .text setStatus__8JUTFaderFQ28JUTFader7EStatusi */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm void JUTFader::setStatus(JUTFader::EStatus param_0, int param_1) { nofralloc #include "asm/JSystem/JUtility/JUTFader/setStatus__8JUTFaderFQ28JUTFader7EStatusi.s" } #pragma pop /* 802E5840-802E5888 2E0180 0048+00 1/0 0/0 0/0 .text __dt__8JUTFaderFv */ JUTFader::~JUTFader() {}