Match and link CEmitterElement.cpp

This commit is contained in:
2025-05-22 19:52:38 -07:00
parent 8a3340e253
commit f02f92fcff
2 changed files with 7 additions and 6 deletions

View File

@@ -1057,7 +1057,7 @@ config.libs = [
Object(NonMatching, "Kyoto/Animation/DolphinCVirtualBone.cpp"),
Object(NonMatching, "Kyoto/Graphics/DolphinCModel.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Text/CStringTable.cpp"),
Object(NonMatching, "Kyoto/Particles/CEmitterElement.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Particles/CEmitterElement.cpp"),
Object(MatchingFor("GM8E01_00", "GM8E01_01", "GM8E01_48"), "Kyoto/Particles/CEffectComponent.cpp"),
Object(NonMatching, "Kyoto/Particles/CParticleData.cpp"),
Object(NonMatching, "Kyoto/Animation/CVertexMorphEffect.cpp"),

View File

@@ -42,12 +42,13 @@ bool CVESphere::GetValue(int frame, CVector3f& pPos, CVector3f& pVel) const {
CVector3f normVec1 = CVector3f(CRandom16::GetRandomNumber()->Range(-100, 100),
CRandom16::GetRandomNumber()->Range(-100, 100),
CRandom16::GetRandomNumber()->Range(-100, 100));
normVec1 = (normVec1.CanBeNormalized() ? (0.1f * normVec1).AsNormalized() : (0.1f * normVec1));
pPos = radius * normVec1 + origin;
CVector3f diff = (pPos - origin);
CVector3f normVec2 = diff.CanBeNormalized() ? diff.AsNormalized() : diff;
normVec1 = (normVec1.CanBeNormalized() ? (0.01f * normVec1).AsNormalized() : (0.01f * normVec1));
pPos = origin + (normVec1 * radius);
CVector3f offset = (pPos - origin);
CVector3f direction = offset.CanBeNormalized() ? offset.AsNormalized() : offset;
xc_velocityMag->GetValue(frame, mag);
pVel = mag * normVec2;
pVel = mag * direction;
return false;
}