mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_a_tag_shop_camera OK, d_a_tag_watchge OK, JUTFader OK, JUtility work from Pikmin 2 (#292)
This commit is contained in:
@@ -121,7 +121,7 @@ void JUTCacheFont::deleteMemBlocks_CacheFont() {
|
||||
|
||||
delete field_0xac;
|
||||
delete mInf1Ptr;
|
||||
delete field_0x50;
|
||||
delete mMemBlocks;
|
||||
delete field_0x7c;
|
||||
delete field_0x80;
|
||||
delete field_0x84;
|
||||
@@ -138,7 +138,7 @@ void JUTCacheFont::initialize_state() {
|
||||
field_0x7c = NULL;
|
||||
field_0x80 = NULL;
|
||||
field_0x84 = NULL;
|
||||
field_0x50 = NULL;
|
||||
mMemBlocks = NULL;
|
||||
|
||||
mPagingType = PAGE_TYPE_0;
|
||||
mMaxSheetSize = 0;
|
||||
|
||||
@@ -1,40 +1,10 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: JUTFader
|
||||
//
|
||||
/**
|
||||
* JUTFader.cpp
|
||||
* JUtility - Color Fader
|
||||
*/
|
||||
|
||||
#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)
|
||||
@@ -47,101 +17,103 @@ JUTFader::JUTFader(int x, int y, int width, int height, JUtility::TColor pColor)
|
||||
}
|
||||
|
||||
/* 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) {
|
||||
if (0 <= mEStatus && mEStatus-- == 0) {
|
||||
mStatus = field_0x24;
|
||||
}
|
||||
|
||||
if (mStatus == 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (mStatus) {
|
||||
case 0:
|
||||
mColor.a = -1;
|
||||
case 1:
|
||||
mColor.a = 0xFF;
|
||||
break;
|
||||
case 2:
|
||||
field_0xa++;
|
||||
mColor.a = (255 - (255 / field_0x8));
|
||||
mColor.a = 0xFF - ((++field_0xa * 0xFF) / field_0x8);
|
||||
|
||||
if (field_0xa >= field_0x8) {
|
||||
mStatus = 1;
|
||||
}
|
||||
|
||||
break;
|
||||
case 3:
|
||||
field_0xa++;
|
||||
mColor.a = (255 / field_0x8);
|
||||
mColor.a = ((++field_0xa * 0xFF) / field_0x8);
|
||||
|
||||
if (field_0xa >= field_0x8) {
|
||||
mStatus = 0;
|
||||
}
|
||||
default:
|
||||
draw();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
draw();
|
||||
}
|
||||
#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);
|
||||
}
|
||||
if (mColor.a == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
J2DOrthoGraph orthograph;
|
||||
orthograph.setColor(mColor);
|
||||
orthograph.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"
|
||||
void JUTFader::setStatus(JUTFader::EStatus i_status, int param_1) {
|
||||
switch (i_status) {
|
||||
case 0:
|
||||
if (param_1 != 0) {
|
||||
field_0x24 = 0;
|
||||
mEStatus = param_1;
|
||||
break;
|
||||
}
|
||||
|
||||
mStatus = 0;
|
||||
field_0x24 = 0;
|
||||
mEStatus = 0;
|
||||
break;
|
||||
case 1:
|
||||
if (param_1 != 0) {
|
||||
field_0x24 = 1;
|
||||
mEStatus = param_1;
|
||||
break;
|
||||
}
|
||||
|
||||
mStatus = 1;
|
||||
field_0x24 = 1;
|
||||
mEStatus = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 802E5840-802E5888 2E0180 0048+00 1/0 0/0 0/0 .text __dt__8JUTFaderFv */
|
||||
JUTFader::~JUTFader() {}
|
||||
|
||||
@@ -1,22 +1,9 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: JUTFont
|
||||
//
|
||||
/**
|
||||
* JUTFont.cpp
|
||||
* JUtility - Font Management
|
||||
*/
|
||||
|
||||
#include "JSystem/JUtility/JUTFont.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 802DECF8-802DED24 2D9638 002C+00 0/0 2/2 0/0 .text __ct__7JUTFontFv */
|
||||
JUTFont::JUTFont() : mColor1(), mColor2(), mColor3(), mColor4() {
|
||||
|
||||
@@ -221,36 +221,33 @@ SECTION_SDATA2 static f32 lit_2313 = 60.0f;
|
||||
SECTION_SDATA2 static f64 lit_2315 = 4503599627370496.0 /* cast u32 to float */;
|
||||
|
||||
/* 802E5CC4-802E5E08 2E0604 0144+00 1/1 0/0 0/0 .text adjustMeterLength__10JUTProcBarFUlPfffPi */
|
||||
#ifdef NONMATCHING // extra cror
|
||||
#ifdef NONMATCHING // float literals
|
||||
void JUTProcBar::adjustMeterLength(u32 param_0, f32* param_1, f32 param_2, f32 param_3,
|
||||
int* param_4) {
|
||||
BOOL var2 = false;
|
||||
float var1 = *param_1;
|
||||
while (var1 > param_2) {
|
||||
if (param_0 * var1 * 20.0f / 16666.0f <= field_0x114.mWidth - 30.0f) {
|
||||
break;
|
||||
}
|
||||
var1 -= 0.1f;
|
||||
var2 = true;
|
||||
}
|
||||
if (var1 >= param_3) {
|
||||
*param_4 = 0;
|
||||
}
|
||||
if (var1 > param_3 - 0.2f) {
|
||||
var1 = param_3;
|
||||
}
|
||||
while (!var2 && var1 < param_3) {
|
||||
(*param_4)++;
|
||||
if (*param_4 < 0x1e) {
|
||||
break;
|
||||
}
|
||||
if (param_0 * var1 * 20.0f / 16666.0f >= field_0x114.mWidth - 60.0f) {
|
||||
break;
|
||||
}
|
||||
var1 += 0.2f;
|
||||
break;
|
||||
}
|
||||
*param_1 = var1;
|
||||
BOOL var2 = false;
|
||||
float var1 = *param_1;
|
||||
while (var1 > param_2) {
|
||||
if (param_0 * var1 * FLOAT_LABEL(lit_2308) / FLOAT_LABEL(lit_2309) <= field_0x114.mWidth - FLOAT_LABEL(lit_2310))
|
||||
break;
|
||||
|
||||
var1 -= FLOAT_LABEL(lit_2311);
|
||||
var2 = true;
|
||||
}
|
||||
|
||||
if (var1 >= param_3)
|
||||
*param_4 = 0;
|
||||
if (var1 > param_3 - FLOAT_LABEL(lit_2312))
|
||||
var1 = param_3;
|
||||
|
||||
while (!var2 && var1 < param_3) {
|
||||
(*param_4)++;
|
||||
if (*param_4 < 0x1e)
|
||||
break;
|
||||
if ((param_0 * var1 * FLOAT_LABEL(lit_2308) / FLOAT_LABEL(lit_2309)) < (field_0x114.mWidth - FLOAT_LABEL(lit_2313)))
|
||||
var1 += FLOAT_LABEL(lit_2312);
|
||||
break;
|
||||
}
|
||||
*param_1 = var1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user