summaryrefslogtreecommitdiff
path: root/src/JSystem/J2DGraph/J2DWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/JSystem/J2DGraph/J2DWindow.cpp')
-rw-r--r--src/JSystem/J2DGraph/J2DWindow.cpp131
1 files changed, 44 insertions, 87 deletions
diff --git a/src/JSystem/J2DGraph/J2DWindow.cpp b/src/JSystem/J2DGraph/J2DWindow.cpp
index c33fd3c095..78c89ff2b8 100644
--- a/src/JSystem/J2DGraph/J2DWindow.cpp
+++ b/src/JSystem/J2DGraph/J2DWindow.cpp
@@ -95,23 +95,16 @@ J2DWindow::J2DWindow(J2DPane* param_0, JSURandomInputStream* param_1, J2DMateria
mWhite = JUtility::TColor(0xffffffff);
if (local_98[0] != NULL && local_98[0]->getTevBlock() != NULL) {
- if (local_98[0]->getTevBlock()->getTevStageNum() != 1) {
- J2DGXColorS10* local_c8 = local_98[0]->getTevBlock()->getTevColor(0);
- s16 blackr = local_c8->r;
- s16 blackg = local_c8->g;
- s16 blackb = local_c8->b;
- s16 blacka = local_c8->a;
- J2DGXColorS10* local_d0 = local_98[0]->getTevBlock()->getTevColor(1);
- s16 whiter = local_d0->r;
- s16 whiteg = local_d0->g;
- s16 whiteb = local_d0->b;
- s16 whitea = local_d0->a;
+ u8 tevStageNum = u8(local_98[0]->getTevBlock()->getTevStageNum());
+ if (tevStageNum != 1) {
+ J2DGXColorS10 local_c8 = *local_98[0]->getTevBlock()->getTevColor(0);
+ J2DGXColorS10 local_d0 = *local_98[0]->getTevBlock()->getTevColor(1);
mBlack = JUtility::TColor(
- (((u8)blackr) << 24) | (((u8)blackg) << 16) | (((u8)blackb) << 8) |
- ((u8)blacka));
+ (((u8)local_c8.r) << 24) | (((u8)local_c8.g) << 16) | (((u8)local_c8.b) << 8) |
+ ((u8)local_c8.a));
mWhite = JUtility::TColor(
- (((u8)whiter) << 24) | (((u8)whiteg) << 16) | (((u8)whiteb) << 8) |
- ((u8)whitea));
+ (((u8)local_d0.r) << 24) | (((u8)local_d0.g) << 16) | (((u8)local_d0.b) << 8) |
+ ((u8)local_d0.a));
}
}
@@ -122,14 +115,12 @@ J2DWindow::J2DWindow(J2DPane* param_0, JSURandomInputStream* param_1, J2DMateria
&field_0x10c,
};
- J2DMaterial * mat;
for (u32 uVar6 = 0; uVar6 < 4; uVar6++) {
- mat = local_98[uVar6];
- if (mat != NULL && mat->getTevBlock() != NULL) {
- JUTTexture* local_e0 = mat->getTevBlock()->getTexture(0);
+ if (local_98[uVar6] != NULL && local_98[uVar6]->getTevBlock() != NULL) {
+ JUTTexture* local_e0 = local_98[uVar6]->getTevBlock()->getTexture(0);
if (local_e0 != NULL) {
*textures[uVar6] = local_e0;
- mat->getTevBlock()->setUndeleteFlag(0xfe);
+ local_98[uVar6]->getTevBlock()->setUndeleteFlag(0xfe);
}
}
}
@@ -224,6 +215,7 @@ void J2DWindow::private_readStream(J2DPane* param_0, JSURandomInputStream* param
r27 -= u8(14);
field_0x110 = NULL;
if (r27) {
+ int unused;
timg = (ResTIMG*)getPointer(param_1, 'TIMG', param_2);
if (timg) {
field_0x110 = new JUTTexture(timg, 0);
@@ -334,74 +326,39 @@ void J2DWindow::draw_private(JGeometry::TBox2<f32> const& param_0,
f32 f27 = f29 + field_0x100->getWidth();
f32 f26 = f28 + field_0x100->getHeight();
drawFrameTexture(field_0x100, f29, f28, field_0x144 & 0x80, field_0x144 & 0x40, true);
- bool r24 = isField0x145Set(1);
+ bool r24 = field_0x145 & 1;
drawFrameTexture(field_0x104, f31, f28, field_0x144 & 0x20, field_0x144 & 0x10, r24);
- u16 local_a6;
- if (field_0x144 & 0x20) {
- local_a6 = 0x8000;
- } else {
- local_a6 = 0;
- }
- u16 local_a8;
- if (field_0x144 & 0x10) {
- local_a8 = 0;
- } else {
- local_a8 = 0x8000;
- }
- u16 local_a82 = local_a8 ^ 0x8000;
-
- drawFrameTexture(field_0x104, f27, f28, f31 - f27, field_0x104->getHeight(), local_a6,
- local_a8, local_a6, local_a82, false);
- bool isset2 = isField0x145Set(2);
- drawFrameTexture(field_0x10c, f31, f30, field_0x144 & 2, field_0x144 & 1, isset2);
- u16 local_aa;
- if (field_0x144 & 2) {
- local_aa = 0x8000;
- } else {
- local_aa = 0;
- }
- u16 local_ac;
- if (field_0x144 & 1) {
- local_ac = 0;
- } else {
- local_ac = 0x8000;
- }
- local_a82 = local_ac ^ 0x8000;
- drawFrameTexture(field_0x10c, f27, f30, f31 - f27, field_0x10c->getHeight(), local_aa,
- local_ac, local_aa, local_a82, false);
- u16 local_ae;
- if (field_0x144 & 2) {
- local_ae = 0;
- } else {
- local_ae = 0x8000;
- }
- u16 local_ae2 = local_ae ^ 0x8000;
- u16 local_b0;
- if (field_0x144 & 1) {
- local_b0 = 0x8000;
- } else {
- local_b0 = 0;
- }
- drawFrameTexture(field_0x10c, f31, f26, field_0x10c->getWidth(), f30 - f26, local_ae,
- local_b0, local_ae2, local_b0, false);
- bool isset4 = isField0x145Set(4);
- drawFrameTexture(field_0x108, f29, f30, field_0x144 & 8, field_0x144 & 4, isset4);
-
- u16 local_b2;
- if (field_0x144 & 8) {
- local_b2 = 0;
- } else {
- local_b2 = 0x8000;
- }
- u16 local_b22 = local_b2 ^ 0x8000;
- u16 local_b4;
- if (field_0x144 & 4) {
- local_b4 = 0x8000;
- } else {
- local_b4 = 0;
- }
- drawFrameTexture(field_0x108, f29, f26, field_0x108->getWidth(), f30 - f26, local_b2,
- local_b4, local_b22, local_b4, false);
+ u16 r29, r28, r27, r26;
+ r27 = field_0x144 & 0x20 ? u16(0x8000) : u16(0);
+ r29 = r27;
+ r28 = field_0x144 & 0x10 ? u16(0) : u16(0x8000);
+ r26 = r28 ^ 0x8000;
+
+ drawFrameTexture(field_0x104, f27, f28, f31 - f27, field_0x104->getHeight(), r29,
+ r28, r27, r26, false);
+ r24 = field_0x145 & 2;
+ drawFrameTexture(field_0x10c, f31, f30, field_0x144 & 2, field_0x144 & 1, r24);
+ r27 = field_0x144 & 2 ? u16(0x8000) : u16(0);
+ r29 = r27;
+ r28 = field_0x144 & 1 ? u16(0) : u16(0x8000);
+ r26 = r28 ^ 0x8000;
+ drawFrameTexture(field_0x10c, f27, f30, f31 - f27, field_0x10c->getHeight(), r29,
+ r28, r27, r26, false);
+ r29 = field_0x144 & 2 ? u16(0) : u16(0x8000);
+ r27 = r29 ^ 0x8000;
+ r26 = field_0x144 & 1 ? u16(0x8000) : u16(0);
+ r28 = r26;
+ drawFrameTexture(field_0x10c, f31, f26, field_0x10c->getWidth(), f30 - f26, r29,
+ r28, r27, r26, false);
+ r24 = field_0x145 & 4;
+ drawFrameTexture(field_0x108, f29, f30, field_0x144 & 8, field_0x144 & 4, r24);
+
+ r29 = field_0x144 & 8 ? u16(0) : u16(0x8000);
+ r27 = r29 ^ 0x8000;
+ r26 = field_0x144 & 4 ? u16(0x8000) : u16(0);
+ r28 = r26;
+ drawFrameTexture(field_0x108, f29, f26, field_0x108->getWidth(), f30 - f26, r29,
+ r28, r27, r26, false);
}
GXSetTevOp(GX_TEVSTAGE0, GX_PASSCLR);
GXSetTevOrder(GX_TEVSTAGE0, GX_TEXCOORD_NULL, GX_TEXMAP_NULL, GX_COLOR0A0);