Author Topic: [VC] Particle.cfg Documentation  (Read 2600 times)

0 Members and 1 Guest are viewing this topic.

Offline Blaze

  • USS Crew
  • *
  • Posts: 7697
    • View Profile
    • Bike Gallery
[VC] Particle.cfg Documentation
« on: August 20, 2016, 02:40:41 PM »
This is a documentation for the III/VC particle.cfg made by myself by using the particle.cfg information, www.gtamodding.com's documentation and my own modding experience. You can use this to create custom sparks, exhaust fumes, bullet sparks, etc. I am in no way an expert and as such I haven't got a proper explanation for some of the values, and some may be wrong so maybe somebody like Reynolds can contribute a little more.

The particle.cfg is a plain text file, and each line is an entry in the particle. Each value entered on the line corresponds to a letter which is how the game reads the file. The particle.cfg is a mess so this should help people understand it easier. If you want custom sparks, it's easier  to use Reynolds Spark Generator (Here!) but if you want custom fumes or black sparks this guide should help.

It's not too long but I've stuck it in code tags anyway so just click the [Select] option, copy it and paste it into Notepad (I recommend Notepad++ over standard Notepad).

Code: [Select]
A - Particle name - The name of the particle.

// COLOURS //

B/C/D - Rendering colour - The first colour of the particle; this is in RGB format. You can get RGB colours in Paint, Photoshop or from the internet.

CV - Initial colour variation - Judging from the name it's to do with colour variation, but I've never used it so it's probably best to leave it default. I've kept the default documentation for it below:

Value between 0 and 100, defining the initial colour variation of the particle. Using this value a random value gets calculated to manipulate each colour level of the particle. This makes every particle look different.

Example:
Rendering colour = (100, 100, 100), Initial colour variation = 20
Real variation = random(-20, 20)
Real colour = (100 + Real variation, 100 + Real variation, 100 + Real variation)

B2/C2/D2 - Fade destination colour - If you're making a particle where it fades from one colour to another, this is where you put the second colours RGB values.
FT - Fading time - The time fading from the first colour to the second. Between 0-100.

E - Initial radius - The beginning size of the particle.
F - Expansion rate - How much the particle grows.

// FADING //

Fade to black is used when it's one colour. Fade Alpha is used when using fading colours.

Colour "Fade-to-Black" options:
G- Fade to black initial intensity - How quick the particle fades out. The value can be between 0 and 255 where 255 means 100%.
H -Fade to black time - How long it takes to fade out.
I - Fade to black amount - The amount the initial intensity gets decreased with each step.

Fade Alpha" options (same as above):
GA: Initial Intensity (0-255)
HA: Fade Time (time between fade steps in frames)
IA: Fade Amount

// ROTATION //

GZA - Initial rotation - The angle at which the particle rotates. Between 0 and 1023.
HZA - Rotation change time - How quick it rotates
IZA - Rotation change amount - The amount it rotates

// SIZES //

I'm not 100% sure on these either, I think they affect size but so does the E/F flags above so you're better off using those.

GZR - Initial radius - The initial radius of the particle around the z-axis.
HZR - Radius change time - The number of frames between each radius change step.
IZR - Radius change amount - The amount the radius changes with each step.

// ANIMATION //

Pretty sure the only one you should mess with is J to affect the speed. K/L could fuck it up.

J - Animation speed - How quick the animation of the particle is.
K - Animation start frame - Where the animation starts.
L - Animation final frame - Where the animation stops.

// ROTATION //

M - Rotation Speed - How quickly the particle rotates.
N - Gravitational acceleration - How quickly the particle falls to the floor.
O - Frictional deceleration - How quickly the sparks slow down. This value can be between 0 and 1 where 1 represents 100%.

// LIFETIME //

P- Default lifetime - How long the particle lasts in milliseconds.

// PARTICLE ERRORS //

Being honest I've never really fucked with this, I'm pretty sure it's used to correct particles if you put the wrong numbers in but again I've never used this.

Q - Position error - The final position gets corrected using a random value between 0 and this one.
R - Velocity error - The final velocity gets corrected using a random value between 0 and this one.
S - Expansion error - The expansion rate gets corrected using a random value between 0 and this one.
T - Rotation error - The rotation rate gets corrected using a random value between 0 and this one.
U - Lifetime error - Value between 0 and 255 defining the shape for the distribution of the particles lifetime.
V - Trail length error - If the particle trail flag is set the length of it's trail gets multiplied by this value.

// OTHER STUFF //

WX - Strech X - The amount the particles texture gets streched horizontally.
WY - Strech Y - The amount the particles texture gets streched vertically.
WI - Wind Influence - How much the wind affects the particle.
CR - Creation range - The maximum distance in which you can see the particle. For example if you want sparks to be see far away make this a higher value.

// FLAGS //

Z - FLAGS: There's a bunch of flags which affect the behaviour of the particle:

1=ZCHECK_FIRST, 2=ZCHECK_STEP, 4=DRAW_OPAQUE, 8=SCREEN_TRAIL, 16=SPEED_TRAIL, 32=RAND_VERT_V, 64=CYCLE_ANIM, 128=DRAW_DARK,
256=VERT_TRAIL, 1024=DRAWTOP2D, 2048=CLIPOUT2D, 4096=ZCHECK_BUMP, 8192=ZCHECK_BUMP_FIRST

I've messed around with a majority of them to little or no effect. If you want black sparks don't use the 4=DRAW_OPAQUE flag. The default Z value is set to 40 which corresponds to the 4=DRAW_OPAQUE flag. Changing it from 4 to 15 creates yellow sparks that fade to black and setting the first RGB value to 0,0,0 makes solid black ones. I noticed 15 tend to make the sparks more jumpy/hectic and setting that value to 14 makes them like the normal sparks but black. 13 seems even jumpier, 12 is smooth, 11 and lower disables it (or re-enables "DRAW_OPAQUE" I guess) as does higher than 15. Essentially 12/14 = smooth and 13/15 = jumpy.

Thanks to Reynolds for his Particle Generator, www.gtamodding.com for their documentation and my friend Alexander over at GTAForums for helping me figure out black sparks/Z flags.

Offline FrankInsanity

  • The Green One
  • Veteran Member
  • Posts: 963
  • Inactive
    • View Profile
Re: [VC] Particle.cfg Documentation
« Reply #1 on: August 20, 2016, 05:20:29 PM »
Again Thanks a lot for the Black Sparks Blaze!!!  :wub:

Offline J.Mario

  • No TV No Radio
  • Veteran Member
  • Posts: 865
    • View Profile
Re: [VC] Particle.cfg Documentation
« Reply #2 on: August 20, 2016, 05:49:31 PM »
Nice ass babe! ;D

Offline ARS

  • Veteran Member
  • Posts: 1207
  • Natural's the best way.
    • View Profile
    • YouTube
Re: [VC] Particle.cfg Documentation
« Reply #3 on: August 21, 2016, 01:52:59 AM »
Great job Blaze!

Offline Bendis

  • Veteran Member
  • Posts: 191
  • Potterhead
    • View Profile
Re: [VC] Particle.cfg Documentation
« Reply #4 on: August 21, 2016, 05:23:40 AM »
I didn't understand anything how can i use this

Offline Blaze

  • USS Crew
  • *
  • Posts: 7697
    • View Profile
    • Bike Gallery
Re: [VC] Particle.cfg Documentation
« Reply #5 on: August 21, 2016, 10:39:22 AM »
Literally the second line of the first paragraph.

Offline Reynard The Fox

  • Reynolds
  • Senior Member
  • Posts: 3290
    • View Profile
Re: [VC] Particle.cfg Documentation
« Reply #6 on: December 07, 2016, 02:54:27 AM »
Ah nice documentation. I might throw the source for the spark generator up sometime; so you people could fiddle with the rest of the parameters.

Offline Blaze

  • USS Crew
  • *
  • Posts: 7697
    • View Profile
    • Bike Gallery
Re: [VC] Particle.cfg Documentation
« Reply #7 on: December 07, 2016, 10:23:43 AM »
No problem, not sure how useful most of it is but you could easily throw a toggle for DRAW_OPAQUE on the SparkGenerator or any other variables.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal