2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-10 17:47:42 +00:00

Move CParticleGlobals from the executable and onto the heap, minor fixes, update wiki link

This commit is contained in:
2019-12-03 00:47:05 -08:00
parent 697a100bca
commit 34e78a2dd0
29 changed files with 162 additions and 161 deletions

View File

@@ -5,7 +5,7 @@
#include "zeus/Math.hpp"
#include "CGenDescription.hpp"
/* Documentation at: http://www.metroid2002.com/retromodding/wiki/Particle_Script#Vector_Elements */
/* Documentation at: https://wiki.axiodl.com/w/Particle_Script#Vector_Elements */
namespace urde {
@@ -25,7 +25,7 @@ CVEKeyframeEmitter::CVEKeyframeEmitter(CInputStream& in) {
bool CVEKeyframeEmitter::GetValue(int frame, zeus::CVector3f& valOut) const {
if (!x4_percent) {
int emitterTime = CParticleGlobals::g_EmitterTime;
int emitterTime = CParticleGlobals::instance()->m_EmitterTime;
int calcKey = emitterTime;
if (xc_loop) {
if (emitterTime >= x10_loopEnd) {
@@ -41,8 +41,8 @@ bool CVEKeyframeEmitter::GetValue(int frame, zeus::CVector3f& valOut) const {
}
valOut = x18_keys[calcKey];
} else {
int ltPerc = CParticleGlobals::g_ParticleLifetimePercentage;
float ltPercRem = CParticleGlobals::g_ParticleLifetimePercentageRemainder;
int ltPerc = CParticleGlobals::instance()->m_ParticleLifetimePercentage;
float ltPercRem = CParticleGlobals::instance()->m_ParticleLifetimePercentageRemainder;
if (ltPerc == 100)
valOut = x18_keys[100];
else
@@ -255,27 +255,27 @@ bool CVEParticleLocation::GetValue(int /*frame*/, zeus::CVector3f& valOut) const
bool CVEParticleSystemOrientationFront::GetValue(int /*frame*/, zeus::CVector3f& valOut) const {
zeus::CMatrix4f trans =
CParticleGlobals::g_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
CParticleGlobals::instance()->m_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
valOut.assign(trans.m[0].y(), trans.m[1].y(), trans.m[2].y());
return false;
}
bool CVEParticleSystemOrientationUp::GetValue(int /*frame*/, zeus::CVector3f& valOut) const {
zeus::CMatrix4f trans =
CParticleGlobals::g_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
CParticleGlobals::instance()->m_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
valOut.assign(trans.m[0].z(), trans.m[1].z(), trans.m[2].z());
return false;
}
bool CVEParticleSystemOrientationRight::GetValue(int /*frame*/, zeus::CVector3f& valOut) const {
zeus::CMatrix4f trans =
CParticleGlobals::g_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
CParticleGlobals::instance()->m_currentParticleSystem->x4_system->GetOrientation().toMatrix4f().transposed();
valOut.assign(trans.m[0].x(), trans.m[1].x(), trans.m[2].x());
return false;
}
bool CVEParticleSystemTranslation::GetValue(int /*frame*/, zeus::CVector3f& valOut) const {
valOut = CParticleGlobals::g_currentParticleSystem->x4_system->GetTranslation();
valOut = CParticleGlobals::instance()->m_currentParticleSystem->x4_system->GetTranslation();
return false;
}