Decompile fn_07436 (CShadowExceedNew::OnProcess)

Batch #15655 by Yommy: 0 byte-identical, 1 confirmed by peer review.

- fn_07436 CShadowExceedNew::OnProcess: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, eAthena
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-11-10 09:50:32 +00:00
commit f8a8f00a75

View file

@ -109,30 +109,28 @@ void CShadowExceedNew::OnProcess() {
this->drawBackEmitters = static_cast<unsigned int>(direction - 2) < 4;
for (auto it = this->frontEmitters.begin(); it != this->frontEmitters.end();) {
CEZ2STRParticle* emitter = *it;
emitter->position.x = x + emitter->offsetX;
emitter->position.y = y + emitter->offsetY;
emitter->position.z = z + emitter->offsetZ;
emitter->m_flipX = direction == 0 || direction == 1;
if (!emitter->Process(0.0f, 0.0f, 0.0f)) {
(*it)->position.x = x + (*it)->offsetX;
(*it)->position.y = y + (*it)->offsetY;
(*it)->position.z = z + (*it)->offsetZ;
(*it)->m_flipX = direction == 0 || direction == 1;
if ((*it)->Process(0.0f, 0.0f, 0.0f)) {
++it;
} else {
FreeParticle(*it);
it = this->frontEmitters.erase(it);
} else {
++it;
}
}
for (auto it = this->backEmitters.begin(); it != this->backEmitters.end();) {
CEZ2STRParticle* emitter = *it;
emitter->position.x = x + emitter->offsetX;
emitter->position.y = y + emitter->offsetY;
emitter->position.z = z + emitter->offsetZ;
emitter->m_flipX = direction == 4 || direction == 5;
if (!emitter->Process(0.0f, 0.0f, 0.0f)) {
(*it)->position.x = x + (*it)->offsetX;
(*it)->position.y = y + (*it)->offsetY;
(*it)->position.z = z + (*it)->offsetZ;
(*it)->m_flipX = direction == 4 || direction == 5;
if ((*it)->Process(0.0f, 0.0f, 0.0f)) {
++it;
} else {
FreeParticle(*it);
it = this->backEmitters.erase(it);
} else {
++it;
}
}
}