Skip to content

Commit

Permalink
Fix chunk parser not to exit on encountering animated speed
Browse files Browse the repository at this point in the history
  • Loading branch information
Retera committed Dec 6, 2022
1 parent 76fdc41 commit a1c3bd1
Showing 1 changed file with 29 additions and 19 deletions.
48 changes: 29 additions & 19 deletions craft3data/src/com/hiveworkshop/wc3/mdx/ParticleEmitterChunk.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,24 +83,28 @@ public void load(final BlizzardDataInputStream in) throws IOException {
if (MdxUtils.checkOptionalId(in, ParticleEmitterEmissionRate.key)) {
particleEmitterEmissionRate = new ParticleEmitterEmissionRate();
particleEmitterEmissionRate.load(in);
} else if (MdxUtils.checkOptionalId(in, ParticleEmitterGravity.key)) {
}
else if (MdxUtils.checkOptionalId(in, ParticleEmitterGravity.key)) {
particleEmitterGravity = new ParticleEmitterGravity();
particleEmitterGravity.load(in);
} else if (MdxUtils.checkOptionalId(in, ParticleEmitterLongitude.key)) {
}
else if (MdxUtils.checkOptionalId(in, ParticleEmitterLongitude.key)) {
particleEmitterLongitude = new ParticleEmitterLongitude();
particleEmitterLongitude.load(in);
} else if (MdxUtils.checkOptionalId(in, ParticleEmitterLatitude.key)) {
}
else if (MdxUtils.checkOptionalId(in, ParticleEmitterLatitude.key)) {
particleEmitterLatitude = new ParticleEmitterLatitude();
particleEmitterLatitude.load(in);
} else if (MdxUtils.checkOptionalId(in, ParticleEmitterLifeSpan.key)) {
}
else if (MdxUtils.checkOptionalId(in, ParticleEmitterLifeSpan.key)) {
particleEmitterLifeSpan = new ParticleEmitterLifeSpan();
particleEmitterLifeSpan.load(in);
} else if (MdxUtils.checkOptionalId(in, ParticleEmitterSpeed.key)) {
System.err.println("LOADED SPEED");
System.exit(0);
}
else if (MdxUtils.checkOptionalId(in, ParticleEmitterSpeed.key)) {
particleEmitterSpeed = new ParticleEmitterSpeed();
particleEmitterSpeed.load(in);
} else if (MdxUtils.checkOptionalId(in, ParticleEmitterVisibility.key)) {
}
else if (MdxUtils.checkOptionalId(in, ParticleEmitterVisibility.key)) {
particleEmitterVisibility = new ParticleEmitterVisibility();
particleEmitterVisibility.load(in);
}
Expand Down Expand Up @@ -196,7 +200,8 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
initialVelocity = (float) mdlEmitter.getInitVelocity();
if (mdlEmitter.isMDLEmitter()) {
node.flags |= Node.NodeFlag.EMITTER_USES_MDL.getValue();
} else {
}
else {
node.flags |= Node.NodeFlag.EMITTER_USES_TGA.getValue();
}
for (final AnimFlag af : mdlEmitter.getAnimFlags()) {
Expand All @@ -217,7 +222,8 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
mdxEntry.outTan = ((Number) mdlEntry.outTan).floatValue();
}
}
} else if (af.getName().equals("EmissionRate")) {
}
else if (af.getName().equals("EmissionRate")) {
particleEmitterEmissionRate = new ParticleEmitterEmissionRate();
particleEmitterEmissionRate.globalSequenceId = af.getGlobalSeqId();
particleEmitterEmissionRate.interpolationType = af.getInterpType();
Expand All @@ -234,7 +240,8 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
mdxEntry.outTan = ((Number) mdlEntry.outTan).floatValue();
}
}
} else if (af.getName().equals("Gravity")) {
}
else if (af.getName().equals("Gravity")) {
particleEmitterGravity = new ParticleEmitterGravity();
particleEmitterGravity.globalSequenceId = af.getGlobalSeqId();
particleEmitterGravity.interpolationType = af.getInterpType();
Expand All @@ -251,7 +258,8 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
mdxEntry.outTan = ((Number) mdlEntry.outTan).floatValue();
}
}
} else if (af.getName().equals("Longitude")) {
}
else if (af.getName().equals("Longitude")) {
particleEmitterLongitude = new ParticleEmitterLongitude();
particleEmitterLongitude.globalSequenceId = af.getGlobalSeqId();
particleEmitterLongitude.interpolationType = af.getInterpType();
Expand All @@ -268,7 +276,8 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
mdxEntry.outTan = ((Number) mdlEntry.outTan).floatValue();
}
}
} else if (af.getName().equals("Latitude")) {
}
else if (af.getName().equals("Latitude")) {
particleEmitterLatitude = new ParticleEmitterLatitude();
particleEmitterLatitude.globalSequenceId = af.getGlobalSeqId();
particleEmitterLatitude.interpolationType = af.getInterpType();
Expand All @@ -285,7 +294,8 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
mdxEntry.outTan = ((Number) mdlEntry.outTan).floatValue();
}
}
} else if (af.getName().equals("LifeSpan")) {
}
else if (af.getName().equals("LifeSpan")) {
particleEmitterLifeSpan = new ParticleEmitterLifeSpan();
particleEmitterLifeSpan.globalSequenceId = af.getGlobalSeqId();
particleEmitterLifeSpan.interpolationType = af.getInterpType();
Expand All @@ -302,7 +312,8 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
mdxEntry.outTan = ((Number) mdlEntry.outTan).floatValue();
}
}
} else if (af.getName().equals("Speed")
}
else if (af.getName().equals("Speed")
/* ghostwolf named it speed in his code, I think it's a bug */ || af.getName()
.equals("InitVelocity")) {
particleEmitterSpeed = new ParticleEmitterSpeed();
Expand All @@ -321,10 +332,9 @@ public ParticleEmitter(final com.hiveworkshop.wc3.mdl.ParticleEmitter mdlEmitter
mdxEntry.outTan = ((Number) mdlEntry.outTan).floatValue();
}
}
} else {
if (Node.LOG_DISCARDED_FLAGS) {
System.err.println("discarded flag " + af.getName());
}
}
else if (Node.LOG_DISCARDED_FLAGS) {
System.err.println("discarded flag " + af.getName());
}
}
}
Expand Down

0 comments on commit a1c3bd1

Please sign in to comment.