From 67c8c4f68bf58b03bbe3c1139e29fdadef64988b Mon Sep 17 00:00:00 2001 From: robojumper Date: Sun, 27 Apr 2025 17:15:42 +0200 Subject: [PATCH] Small improvements --- include/JSystem/JParticle/JPABaseShape.h | 2 +- src/JSystem/JParticle/JPABaseShape.cpp | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/include/JSystem/JParticle/JPABaseShape.h b/include/JSystem/JParticle/JPABaseShape.h index de68f2b7..66ec3fa9 100644 --- a/include/JSystem/JParticle/JPABaseShape.h +++ b/include/JSystem/JParticle/JPABaseShape.h @@ -56,7 +56,7 @@ public: JPABaseShape(u8 const*, EGG::Heap*); void setGX(JPAEmitterWorkData*) const; - static GXBlendMode st_bm[3]; + static GXBlendMode st_bm[4]; static GXBlendFactor st_bf[10]; static GXLogicOp st_lo[16]; static GXCompare st_c[8]; diff --git a/src/JSystem/JParticle/JPABaseShape.cpp b/src/JSystem/JParticle/JPABaseShape.cpp index ba13d593..012538f4 100644 --- a/src/JSystem/JParticle/JPABaseShape.cpp +++ b/src/JSystem/JParticle/JPABaseShape.cpp @@ -1298,11 +1298,15 @@ static void makeColorTable(GXColor** o_color_table, JPAClrAnmKeyData const* i_da a = i_data[j].color.a; j++; if (j < param_2) { + f32 r_r = i_data[j].color.r; + f32 r_g = i_data[j].color.g; + f32 r_b = i_data[j].color.b; + f32 r_a = i_data[j].color.a; f32 base_step = 1.0f / (i_data[j].index - i_data[j - 1].index); - r_step = base_step * (i_data[j].color.r - r); - g_step = base_step * (i_data[j].color.g - g); - b_step = base_step * (i_data[j].color.b - b); - a_step = base_step * (i_data[j].color.a - a); + r_step = base_step * (r_r - r); + g_step = base_step * (r_g - g); + b_step = base_step * (r_b - b); + a_step = base_step * (r_a - a); } else { r_step = g_step = b_step = a_step = 0.0f; } @@ -1356,10 +1360,11 @@ JPABaseShape::JPABaseShape(u8 const* pData, EGG::Heap* pHeap) { } /* 803C4360-803C436C 021480 000C+00 0/1 0/0 0/0 .data st_bm__12JPABaseShape */ -GXBlendMode JPABaseShape::st_bm[3] = { +GXBlendMode JPABaseShape::st_bm[4] = { GX_BM_NONE, GX_BM_BLEND, GX_BM_LOGIC, + GX_BM_SUBTRACT, }; /* 803C436C-803C4394 02148C 0028+00 0/1 0/0 0/0 .data st_bf__12JPABaseShape */ @@ -1451,7 +1456,7 @@ JPABaseShapeAlphaArg JPABaseShape::st_aa[5] = { GX_CA_A0, GX_CA_ZERO, GX_CA_ZERO, - GX_CA_A0, + GX_CA_TEXA, GX_TEV_SUB, GX_CS_SCALE_1, }, @@ -1459,7 +1464,7 @@ JPABaseShapeAlphaArg JPABaseShape::st_aa[5] = { GX_CA_A0, GX_CA_ZERO, GX_CA_ZERO, - GX_CA_A0, + GX_CA_TEXA, GX_TEV_SUB, GX_CS_SCALE_2, },