Agetian
January 22nd, 2008, 11:52 PM
Need some extra info on the particle systems, guys? I think I can help a bit, it's just that I saw this thread only a couple days ago... Sorry, can't check every thread with my old rig.. :( I'll start with the basics of the format and will try to dig up the particulars if I'm able to.
So, even though I can hardly do any brand new ToEE experiments on my current rig due to the hadrware issues with my PC, I took some of my old partsys-related blueprints that I outlined back in the day when I broke down the ToEE file formats, then contacted Steve Moret, and we had a little, but insightful discussion about the fields that I was unsure of or that weren't exactly clear to me. While I can't say that the following information is 100% accurate and complete, I've done my best to compile a description of the fields that would, judging by what Steve told me (huge credit goes to him here) and what was available in my own records, show the order and the meaning of different fields used in partsysX.tab files. I hope this information will be of help to all of you, and will help you make some awesome, supercool visual effects.
So, here we come. The format is "<Field Number>. <Name> - <Comment>". What follows is how the game itself defines the fields internally. We're starting to number fields with #1 (be careful if you like to number them starting with #0).
001. Particle System Name
002. Particle Emitter Name
003. Delay
004. Emitter Type - I think it's always 0, which stands for a point emitter. It could also use a string constant (the word Point) instead of the numeric value 0.
005. Life Span - "perm" stands for permanent, otherwise numeric lifetime.
006. Particle Rate
007. Bounding Radius
008. Emitter Space - either of the string constants: Bones, Node YPR, Node Pos, Object YPR, Object Pos, World. Might also correspond to numeric values 0,1,2,3,4,5. "YPR" stands for "Yaw-Pitch-Roll", while "Pos" stands for a position in the standard XYZ coordinate system.
009. Emitter Space Node
010. Emitter Coordinate System - A type of coordinate system, either Polar or Cartesian. Might also correspond to numeric values of 0 and 1.
011. Emitter Offset Coordinate System - also either Polar or Cartesian.
012. Particle Type - one of the following: Point, Sprite, Billboard, Disc, Model.The string constant "Model" may actually not be defined. In that case, the numeric counterparts are: Point=0, Sprite=1, Disc=2, Billboard=3, Model=4.
013. Particle Coordinate System - could be "World", "Same as Emitter", or "Emitter YPR".
014. Particle Position Coordinate Type - either Polar or Cartesian.
015. Particle Velocity Coordinate Type - either Polar or Cartesian.
016. Particle Material
017. Particle Life Span - numeric lifespan or "perm" for permanent ("perm" is not used in the original game for this column).
018. Blend Mode - one of the following: Add, Blend, Subtract, Multiply.
019. Bounce
020. Animation Speed
021. Model
022. Animation
=== here begins the block of emitter/particle parameters; it may be preceded by something, or maybe not - I'm not sure here. Most likely not preceded by anything else. ===
023. Emitter Acceleration X
024. Emitter Acceleration Y
025. Emitter Acceleration Z
026. Emitter Velocity Variation X
027. Emitter Velocity Variation Y
028. Emitter Velocity Variation Z
029. Emitter Position Variation X
030. Emitter Position Variation Y
031. Emitter Position Variation Z
032. Emitter Yaw
033. Emitter Pitch
034. Emitter Roll
035. Emitter Scale X
036. Emitter Scale Y
037. Emitter Scale Z
038. Emitter Offset X
039. Emitter Offset Y
040. Emitter Offset Z
041. Emitter Initial Velocity X
042. Emitter Initial Velocity Y
043. Emitter Initial Velocity Z
044. Emitter Initial Alpha
045. Emitter Initial Red
046. Emitter Initial Green
047. Emitter Initial Blue
=== block of particle parameters; once again, may or may not be preceded by some form of padding fields. Most likely not preceded by anything. ===
048.Particle Acceleration X
049. Particle Acceleration Y
050. Particle Acceleration Z
051. Particle Velocity Variation X
052. Particle Velocity Variation Y
053. Particle Velocity Variation Z
054. Particle Position Variation X
055. Particle Position Variation Y
056. Particle Position Variation Z
057. Particle Scale X
058. Particle Scale Y
059. Particle Scale Z
060. Particle Yaw
061. Particle Pitch
062. Particle Roll
063. Particle Alpha
064. Particle Red
065. Particle Green
066. Particle Blue
067. Particle Attractor Blend - not sure what this stands for
=== the block of emitter/particle parameters ends here; more particle system general parameters follow ===
068. Particle System MinX - #068 thru #071 should define the boundaries of the particle system emission (min/max X,Y coordinates).
069. Particle System MinY
070. Particle System MaxX
071. Particle System MaxY
072. Minimal Particle Rate
=== end of data ===
UPDATE 01/24/08: It looks like sometimes you'll see two or more numbers in one column, separated by one of the following signs: a comma (,) or a question mark (?). If two or more numbers are separated with a comma, for example, like this: "202,202,205,255", it means it's keyframed - so different numbers will be in effect in different key frames of animation. If two numbers are separated with a question mark, for instance, like this: "128?255", it means it should be a random number between 128 and 255. Also, there are cases when something is preceded by a pound sign (for example, #radius). This means that the data for this column should be loaded from an external source. I'm still unsure what kind of external source is there - possibly an animation file (.SKA) or something like this.
I hope this sheds some light on how things work in the particle systems. Feel free to submit additional or correcting information.
- Agetian
So, even though I can hardly do any brand new ToEE experiments on my current rig due to the hadrware issues with my PC, I took some of my old partsys-related blueprints that I outlined back in the day when I broke down the ToEE file formats, then contacted Steve Moret, and we had a little, but insightful discussion about the fields that I was unsure of or that weren't exactly clear to me. While I can't say that the following information is 100% accurate and complete, I've done my best to compile a description of the fields that would, judging by what Steve told me (huge credit goes to him here) and what was available in my own records, show the order and the meaning of different fields used in partsysX.tab files. I hope this information will be of help to all of you, and will help you make some awesome, supercool visual effects.
So, here we come. The format is "<Field Number>. <Name> - <Comment>". What follows is how the game itself defines the fields internally. We're starting to number fields with #1 (be careful if you like to number them starting with #0).
001. Particle System Name
002. Particle Emitter Name
003. Delay
004. Emitter Type - I think it's always 0, which stands for a point emitter. It could also use a string constant (the word Point) instead of the numeric value 0.
005. Life Span - "perm" stands for permanent, otherwise numeric lifetime.
006. Particle Rate
007. Bounding Radius
008. Emitter Space - either of the string constants: Bones, Node YPR, Node Pos, Object YPR, Object Pos, World. Might also correspond to numeric values 0,1,2,3,4,5. "YPR" stands for "Yaw-Pitch-Roll", while "Pos" stands for a position in the standard XYZ coordinate system.
009. Emitter Space Node
010. Emitter Coordinate System - A type of coordinate system, either Polar or Cartesian. Might also correspond to numeric values of 0 and 1.
011. Emitter Offset Coordinate System - also either Polar or Cartesian.
012. Particle Type - one of the following: Point, Sprite, Billboard, Disc, Model.The string constant "Model" may actually not be defined. In that case, the numeric counterparts are: Point=0, Sprite=1, Disc=2, Billboard=3, Model=4.
013. Particle Coordinate System - could be "World", "Same as Emitter", or "Emitter YPR".
014. Particle Position Coordinate Type - either Polar or Cartesian.
015. Particle Velocity Coordinate Type - either Polar or Cartesian.
016. Particle Material
017. Particle Life Span - numeric lifespan or "perm" for permanent ("perm" is not used in the original game for this column).
018. Blend Mode - one of the following: Add, Blend, Subtract, Multiply.
019. Bounce
020. Animation Speed
021. Model
022. Animation
=== here begins the block of emitter/particle parameters; it may be preceded by something, or maybe not - I'm not sure here. Most likely not preceded by anything else. ===
023. Emitter Acceleration X
024. Emitter Acceleration Y
025. Emitter Acceleration Z
026. Emitter Velocity Variation X
027. Emitter Velocity Variation Y
028. Emitter Velocity Variation Z
029. Emitter Position Variation X
030. Emitter Position Variation Y
031. Emitter Position Variation Z
032. Emitter Yaw
033. Emitter Pitch
034. Emitter Roll
035. Emitter Scale X
036. Emitter Scale Y
037. Emitter Scale Z
038. Emitter Offset X
039. Emitter Offset Y
040. Emitter Offset Z
041. Emitter Initial Velocity X
042. Emitter Initial Velocity Y
043. Emitter Initial Velocity Z
044. Emitter Initial Alpha
045. Emitter Initial Red
046. Emitter Initial Green
047. Emitter Initial Blue
=== block of particle parameters; once again, may or may not be preceded by some form of padding fields. Most likely not preceded by anything. ===
048.Particle Acceleration X
049. Particle Acceleration Y
050. Particle Acceleration Z
051. Particle Velocity Variation X
052. Particle Velocity Variation Y
053. Particle Velocity Variation Z
054. Particle Position Variation X
055. Particle Position Variation Y
056. Particle Position Variation Z
057. Particle Scale X
058. Particle Scale Y
059. Particle Scale Z
060. Particle Yaw
061. Particle Pitch
062. Particle Roll
063. Particle Alpha
064. Particle Red
065. Particle Green
066. Particle Blue
067. Particle Attractor Blend - not sure what this stands for
=== the block of emitter/particle parameters ends here; more particle system general parameters follow ===
068. Particle System MinX - #068 thru #071 should define the boundaries of the particle system emission (min/max X,Y coordinates).
069. Particle System MinY
070. Particle System MaxX
071. Particle System MaxY
072. Minimal Particle Rate
=== end of data ===
UPDATE 01/24/08: It looks like sometimes you'll see two or more numbers in one column, separated by one of the following signs: a comma (,) or a question mark (?). If two or more numbers are separated with a comma, for example, like this: "202,202,205,255", it means it's keyframed - so different numbers will be in effect in different key frames of animation. If two numbers are separated with a question mark, for instance, like this: "128?255", it means it should be a random number between 128 and 255. Also, there are cases when something is preceded by a pound sign (for example, #radius). This means that the data for this column should be loaded from an external source. I'm still unsure what kind of external source is there - possibly an animation file (.SKA) or something like this.
I hope this sheds some light on how things work in the particle systems. Feel free to submit additional or correcting information.
- Agetian