diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2023-07-16 22:09:21 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-16 13:09:21 -0600 |
| commit | 0b12611fea47ac9aa298fec779a57d9e86eb9751 (patch) | |
| tree | 9eaaa1b44e3d18332678d012eea85c55202f8ca3 /src/c | |
| parent | fe7fbf37db6bd57efa63d8a2e4499b9163947533 (diff) | |
dMsgScrnTree_c OK, Some JGeometry work (#370)
* Minor work on c_damagereaction and JGeomtry
* dMsgScrnTree_c OK
* dMsgScrnExplain_c OK
Diffstat (limited to 'src/c')
| -rw-r--r-- | src/c/c_damagereaction.cpp | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/c/c_damagereaction.cpp b/src/c/c_damagereaction.cpp index 8116bd5d95..656c272dac 100644 --- a/src/c/c_damagereaction.cpp +++ b/src/c/c_damagereaction.cpp @@ -71,17 +71,25 @@ SECTION_SDATA2 static f64 lit_3736 = 4503599627370496.0 /* cast u32 to float */; /* 8001817C-800182A4 012ABC 0128+00 1/0 0/0 0/0 .text * execute__24JPTraceParticleCallBack4FP14JPABaseEmitterP15JPABaseParticle */ +// Matches with TVec3<f32> ctors #ifdef NONMATCHING void JPTraceParticleCallBack4::execute(JPABaseEmitter* param_0, JPABaseParticle* param_1) { - int age = param_1->getAge(); + u32 age = param_1->getAge(); if (age != 0) { - JGeometry::TVec3<f32> vec1; - JGeometry::TVec3<f32> vec2; + Vec* user_work = (Vec*)param_0->getUserWork(); + f32 fVar1 = (25.0f - age) / 25.0f; + if (fVar1 < 0.0f) { + fVar1 = 0.0f; + } + JGeometry::TVec3<f32> vec1(user_work[age]); + vec1.scale(0.3f * fVar1); + JGeometry::TVec3<f32> vec2(user_work[0]); + vec2.scale(0.5f * fVar1); JGeometry::TVec3<f32> vec3; - void* user_work = param_0->getUserWork(); - user_work[age*0x0C]; - param_1->setOffsetPosition(param_1->getOffsetPosition() + ) + param_1->getOffsetPosition(vec3); + vec3.add(vec1 + vec2); + param_1->setOffsetPosition(vec3); } } #else @@ -129,6 +137,10 @@ SECTION_DATA extern void* __vt__24JPTraceParticleCallBack4[5] = { /* 80018328-80018388 012C68 0060+00 2/1 0/0 0/0 .text __dt__24JPTraceParticleCallBack4Fv */ +// Needs JPAParticleCallBack inheritance and function order issues in the file +#ifdef NONMATCHING +JPTraceParticleCallBack4::~JPTraceParticleCallBack4() {} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -137,7 +149,7 @@ asm JPTraceParticleCallBack4::~JPTraceParticleCallBack4() { #include "asm/c/c_damagereaction/__dt__24JPTraceParticleCallBack4Fv.s" } #pragma pop - +#endif /* ############################################################################################## */ /* 803A357C-803A3590 00069C 0014+00 1/1 3/3 0/0 .data __vt__19JPAParticleCallBack */ SECTION_DATA extern void* __vt__19JPAParticleCallBack[5] = { |
