summaryrefslogtreecommitdiff
path: root/src/JSystem/JParticle/JPAChildShape.cpp
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-04-27 07:13:47 +0200
committerrobojumper <robojumper@gmail.com>2025-04-27 07:13:47 +0200
commitc1a0264e6ac151f3a884bc32126de192eede19c7 (patch)
tree1649757ae5c7b47b87f17ef69760b4a359a8d46d /src/JSystem/JParticle/JPAChildShape.cpp
parent5df26c52fcc06e017f2cf525264d4f7563715e05 (diff)
Initial import of JParticle + JSUList from TP
Diffstat (limited to 'src/JSystem/JParticle/JPAChildShape.cpp')
-rw-r--r--src/JSystem/JParticle/JPAChildShape.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/JSystem/JParticle/JPAChildShape.cpp b/src/JSystem/JParticle/JPAChildShape.cpp
new file mode 100644
index 00000000..cbc24cbb
--- /dev/null
+++ b/src/JSystem/JParticle/JPAChildShape.cpp
@@ -0,0 +1,48 @@
+//
+// Generated By: dol2asm
+// Translation Unit: JPAChildShape
+//
+
+#include "JSystem/JParticle/JPAChildShape.h"
+#include "JSystem/JParticle/JPAParticle.h"
+#include "JSystem/JParticle/JPAEmitter.h"
+#include "dolphin/gx.h"
+#include "dolphin/os.h"
+
+/* 8027AEBC-8027AFDC 2757FC 0120+00 0/0 1/1 0/0 .text JPARegistChildPrmEnv__FP18JPAEmitterWorkData
+ */
+void JPARegistChildPrmEnv(JPAEmitterWorkData* work) {
+ JPAChildShape* csp = work->mpRes->getCsp();
+ JPABaseEmitter* emtr = work->mpEmtr;
+ GXColor prm, env;
+ csp->getPrmClr(&prm);
+ csp->getEnvClr(&env);
+ prm.r = COLOR_MULTI(prm.r, emtr->mGlobalPrmClr.r);
+ prm.g = COLOR_MULTI(prm.g, emtr->mGlobalPrmClr.g);
+ prm.b = COLOR_MULTI(prm.b, emtr->mGlobalPrmClr.b);
+ prm.a = COLOR_MULTI(prm.a, emtr->mGlobalPrmClr.a);
+ env.r = COLOR_MULTI(env.r, emtr->mGlobalEnvClr.r);
+ env.g = COLOR_MULTI(env.g, emtr->mGlobalEnvClr.g);
+ env.b = COLOR_MULTI(env.b, emtr->mGlobalEnvClr.b);
+ GXSetTevColor(GX_TEVREG0, prm);
+ GXSetTevColor(GX_TEVREG1, env);
+}
+
+/* 8027AFDC-8027B008 27591C 002C+00 0/0 1/1 0/0 .text
+ * JPACalcChildAlphaOut__FP18JPAEmitterWorkDataP15JPABaseParticle */
+void JPACalcChildAlphaOut(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
+ f32 anm = (1.0f - ptcl->mTime) * 255.0f;
+ OSf32tou8(&anm, &ptcl->mPrmColorAlphaAnm);
+}
+
+/* 8027B008-8027B038 275948 0030+00 0/0 1/1 0/0 .text
+ * JPACalcChildScaleOut__FP18JPAEmitterWorkDataP15JPABaseParticle */
+void JPACalcChildScaleOut(JPAEmitterWorkData* work, JPABaseParticle* ptcl) {
+ ptcl->mParticleScaleX = ptcl->mScaleOut * (1.0f - ptcl->mTime);
+ ptcl->mParticleScaleY = ptcl->mAlphaWaveRandom * (1.0f - ptcl->mTime);
+}
+
+/* 8027B038-8027B040 -00001 0008+00 0/0 0/0 0/0 .text __ct__13JPAChildShapeFPCUc */
+JPAChildShape::JPAChildShape(u8 const* pData) {
+ mpData = (JPAChildShapeData*)pData;
+}