Fan Particle Generator

From SRB2 Wiki
Jump to: navigation, search

Thing type 757, Fan Particle Generator, is a type of scenery Thing that is used to generate smoke particles in short intervals that rise up in the air. This Thing is normally used in conjunction with a fan sector to make the player rise along with the particles.

Setup

The fan particle generator is particularly complex to set up, so this section will detail how to configure it.

Rising and shrinking speeds

The fan particle generator's Angle value is used to determine both the speed at which particles rise upwards and the speed at which particles shrink to nothing. The shrinking speed of particles, measured in %/tic, is multiplied by 256 and then added to the Angle value. Any number up to 255 above each multiple of 256 will be treated as the same value; e.g., 0–255 all give a shrinking speed of 0%/tic, while 256–511 all give a shrinking speed of 1%/tic. Note that there are only 64 possible shrinking speeds. These 64 speeds will repeat every 64th multiple of 256; e.g., 16384–16389 give the same shrinking speed as 0–255.

Similarly, the rising speed of particles, measured in fracunits/tic, is multiplied by 4096 and then added to the Angle value. Any number up to 4095 above each multiple of 4096 will be treated as the same value; e.g., 0–4095 all give a rising speed of 0 FU/tic, while 4096–8191 all give a rising speed of 1 FU/tic. Negative values can be supplied as well, in which case the particles will rise downwards instead of upwards.

Combining the values of these two properties together, the total Angle value is given by: shrinking speed×256 + rising speed×4096.

Note: Due to the way these two properties are determined in the source code, the shrinking speeds and rising speeds may overlap with each other where they shouldn't in practice. It is best to experiment with these values to see what works best.

List of rising speeds

Angle Speed (FU/tic)
-32768 -8
-28672 -7
-24576 -6
-20480 -5
-16384 -4
-12288 -3
-8192 -2
-4096 -1
Angle Speed (FU/tic)
0 0
4096 1
8192 2
12288 3
16384 4
20480 5
24576 6
28672 7

List of shrinking speeds

Angle(s) Speed (%/tic)
0 16384 -16384 -32768 0
256 16640 -16128 -32512 1
512 16896 -15872 -32256 2
768 17152 -15616 -32000 3
1024 17408 -15360 -31744 4
1280 17664 -15104 -31488 5
1536 17920 -14848 -31232 6
1792 18176 -14592 -30976 7
2048 18432 -14336 -30720 8
2304 18688 -14080 -30464 9
2560 18944 -13824 -30208 10
2816 19200 -13568 -29952 11
3072 19456 -13312 -29696 12
3328 19712 -13056 -29440 13
3584 19968 -12800 -29184 14
3840 20224 -12544 -28928 15
Angle(s) Speed (%/tic)
4096 20480 -12288 -28672 16
4352 20736 -12032 -28416 17
4608 20992 -11776 -28160 18
4864 21248 -11520 -27904 19
5120 21504 -11264 -27648 20
5376 21760 -11008 -27392 21
5632 22016 -10752 -27136 22
5888 22272 -10496 -26880 23
6144 22528 -10240 -26624 24
6400 22784 -9984 -26368 25
6656 23040 -9728 -26112 26
6912 23296 -9472 -25856 27
7168 23552 -9216 -25600 28
7424 23808 -8960 -25344 29
7680 24064 -8704 -25088 30
7936 24320 -8448 -24832 31
Angle(s) Speed (%/tic)
8192 24576 -8192 -24576 32
8448 24832 -7936 -24320 33
8704 25088 -7680 -24064 34
8960 25344 -7424 -23808 35
9216 25600 -7168 -23552 36
9472 25856 -6912 -23296 37
9728 26112 -6656 -23040 38
9984 26368 -6400 -22784 39
10240 26624 -6144 -22528 40
10496 26880 -5888 -22272 41
10752 27136 -5632 -22016 42
11008 27392 -5376 -21760 43
11264 27648 -5120 -21504 44
11520 27904 -4864 -21248 45
11776 28160 -4608 -20992 46
12032 28416 -4352 -20736 47
Angle(s) Speed (%/tic)
12288 28672 -4096 -20480 48
12544 28928 -3840 -20224 49
12800 29184 -3584 -19968 50
13056 29440 -3328 -19712 51
13312 29696 -3072 -19456 52
13568 29552 -2816 -19200 53
13824 30208 -2560 -18944 54
14080 30464 -2304 -18688 55
14336 30720 -2048 -18432 56
14592 30976 -1792 -18176 57
14848 31232 -1536 -17920 58
15104 31488 -1280 -17664 59
15360 31743 -1024 -17408 60
15616 32000 -768 -17152 61
15872 32256 -512 -16896 62
16128 32512 -256 -16640 63

Time interval

The Thing's Parameter value sets the time between the spawning of each particle in tics. Since a Thing's Parameter value is multiplied by 4096 and added to the Thing type number, the resulting Thing type number is 757 + (tics - 1)×4096. For example, Thing type 757 will set the time interval to 1 tic, Thing type 4853 will set it to 2 tics, etc.

Parameter Thing type # Time interval (tics)
0 757 1
1 4853 2
2 8949 3
3 13045 4
4 17141 5
5 21237 6
6 25333 7
7 29429 8
Parameter Thing type # Time interval (tics)
8 33525 9
9 37621 10
10 41717 11
11 45813 12
12 49909 13
13 54005 14
14 58101 15
15 62197 16

Object/state data

Sample

Example WAD: ex_t757_fan_particle_gen.wad

  Thing types – Scenery [view]
Fan Particle GeneratorGFZ FlowerSunflowerBudding FlowerBerry BushBushTHZ FlowerAlarmSeaweedDripping WaterCoralsBlue CrystalChainCEZ FlowerCactiChristmas PoleCandy CaneDisco BallStalagmites