PARTSYS*.TAB Breakdown

Discussion in 'Lighting and Particle Effects' started by Agetian, Jan 23, 2008.

Remove all ads!
  1. Agetian

    Agetian Attorney General Administrator

    Joined:
    Aug 14, 2004
    Messages:
    2,526
    Likes Received:
    0
    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 ===

    SUBTRACT 1 TO GET PROTOEDITOR COLUMN

    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
     
    Last edited by a moderator: Dec 14, 2014
  2. Agetian

    Agetian Attorney General Administrator

    Joined:
    Aug 14, 2004
    Messages:
    2,526
    Likes Received:
    0
    I separated this info from the "New Visual Effects" thread so that it doesn't get lost, and updated it with some information on how multiple numbers in one column work (check the "UPDATE" part in the bottom of the first post). Hope this helps.

    - Agetian
     
  3. Shiningted

    Shiningted I want my goat back Administrator

    Joined:
    Oct 23, 2004
    Messages:
    12,651
    Likes Received:
    350
    Thanks Ag :clap: I think this should go in the public (documentation) forum.
     
  4. Agetian

    Agetian Attorney General Administrator

    Joined:
    Aug 14, 2004
    Messages:
    2,526
    Likes Received:
    0
    Yeah, if I don't dig up anything new or controversial in the nearest day or so, I'll move it to the public forum.

    EDIT: Moved to the toolset project docs forum.

    - Agetian
     
    Last edited: Jan 25, 2008
Our Host!