Difference between revisions of "Variables"
(More formatting) |
(Add more info/particle properties.) |
||
Line 7: | Line 7: | ||
! Variable || What it returns | ! Variable || What it returns | ||
|- | |- | ||
− | | pmap[y][x] || Particle-map. | + | | pmap[y][x] || Particle-map. (pmap[y][x]&0xFF) returns the particle at (x,y), (pmap[y][x]>>8) returns the index of the particle at (x,y) |
|- | |- | ||
| bmap[y][x] || Block-map. Returns wall at [y][x]. | | bmap[y][x] || Block-map. Returns wall at [y][x]. | ||
Line 14: | Line 14: | ||
|- | |- | ||
| r || usually preset to pmap[y][x] | | r || usually preset to pmap[y][x] | ||
+ | |- | ||
+ | | parts[i] || the particle that has index i | ||
|- | |- | ||
| pv[y/CELL][x/CELL] || The pressure at x,y. Pressure is on a 4x4 grid like walls. Is a float(0.0f for 0). | | pv[y/CELL][x/CELL] || The pressure at x,y. Pressure is on a 4x4 grid like walls. Is a float(0.0f for 0). | ||
Line 27: | Line 29: | ||
=== Particle === | === Particle === | ||
+ | To get information from a particle, use parts[i].<sup>1</sup>, where i is the particle index. The index may also be stored as r>>8 instead of i. This is normally used in the update functions for particles. i is the index of the particle that is being updated, and r>>8 is the index of a particle surrounding it that it might react with or modify. To get the type of the particle from the variable r, use (r&0xFF). | ||
+ | |||
+ | === Particle Information === | ||
{| class="wikitable" | {| class="wikitable" | ||
! Variable || What it returns | ! Variable || What it returns | ||
|- | |- | ||
− | | parts[ | + | | parts[<sup>2</sup>].type || Contains the particle's current type. |
+ | |- | ||
+ | | parts[<sup>2</sup>].ctype || Contains the particle's previous type (for example LAVA/SPRK) or the type of particle it is cloning (CLNE/...) usually. | ||
|- | |- | ||
− | | parts[ | + | | parts[<sup>2</sup>].life || Contains the particle's life. |
+ | |- | ||
+ | | parts[<sup>2</sup>].temp || Contains the particle's temperature. It's a float(0.0f for 0K, which is -273.15C). All temps are stored in Kelvins. | ||
|- | |- | ||
− | | | + | | parts[<sup>2</sup>].tmp || Contains a value which can be used for anything. Most particles don't use it. |
|- | |- | ||
− | + | | parts[<sup>2</sup>].tmp2 || Contains another value. Even less particles use this. | |
− | + | |- | |
− | + | | parts[<sup>2</sup>].dcolour || Contains the particle's decoration color, in hex. | |
− | |||
|- | |- | ||
− | | parts[<sup>2</sup>]. | + | | parts[<sup>2</sup>].x || Contains the particle's x coordinate. It is not an integer, it's a float. To get the exact coordinate, add .5 to it before changing it to an int. |
|- | |- | ||
− | | parts[<sup>2</sup>]. | + | | parts[<sup>2</sup>].y || Contains the particle's y coordinate. It is not an integer, it's a float. To get the exact coordinate, add .5 to it before changing it to an int. |
|- | |- | ||
− | | parts[<sup>2</sup>]. | + | | parts[<sup>2</sup>].vx || Contains the particle's x velocity. It is a float. |
− | |||
− | |||
|- | |- | ||
− | | parts[<sup>2</sup>]. | + | | parts[<sup>2</sup>].vy || Contains the particle's y velocity. It is a float |
|- | |- | ||
|} | |} | ||
Line 55: | Line 61: | ||
<sup>1</sup> - use either type, ctype, life, temp or tmp | <sup>1</sup> - use either type, ctype, life, temp or tmp | ||
− | <sup>2</sup> - use either r>>8 or i | + | <sup>2</sup> - use either r>>8 or i. See above (Particle) for more info. |
[[Category:Development]] | [[Category:Development]] |
Revision as of 02:39, 5 December 2011
This is a list of useful variables and usages of them inside the source.
General
Variable | What it returns |
---|---|
pmap[y][x] | Particle-map. (pmap[y][x]&0xFF) returns the particle at (x,y), (pmap[y][x]>>8) returns the index of the particle at (x,y) |
bmap[y][x] | Block-map. Returns wall at [y][x]. |
emap[y][x] | Electronics-map. Used for conductive walls. |
r | usually preset to pmap[y][x] |
parts[i] | the particle that has index i |
pv[y/CELL][x/CELL] | The pressure at x,y. Pressure is on a 4x4 grid like walls. Is a float(0.0f for 0). |
hv[y/CELL][x/CELL] | The ambient heat at x,y. It is on a 4x4 grid like walls and pressure. Is a float(0.0f for 0). |
sl | Selected left. Means particle selected in menu by left mouse button. |
sr | Selected right. Means particle selected in menu by right mouse button. |
t | Current particle type. ex. PT_DUST |
Particle
To get information from a particle, use parts[i].1, where i is the particle index. The index may also be stored as r>>8 instead of i. This is normally used in the update functions for particles. i is the index of the particle that is being updated, and r>>8 is the index of a particle surrounding it that it might react with or modify. To get the type of the particle from the variable r, use (r&0xFF).
Particle Information
Variable | What it returns |
---|---|
parts[2].type | Contains the particle's current type. |
parts[2].ctype | Contains the particle's previous type (for example LAVA/SPRK) or the type of particle it is cloning (CLNE/...) usually. |
parts[2].life | Contains the particle's life. |
parts[2].temp | Contains the particle's temperature. It's a float(0.0f for 0K, which is -273.15C). All temps are stored in Kelvins. |
parts[2].tmp | Contains a value which can be used for anything. Most particles don't use it. |
parts[2].tmp2 | Contains another value. Even less particles use this. |
parts[2].dcolour | Contains the particle's decoration color, in hex. |
parts[2].x | Contains the particle's x coordinate. It is not an integer, it's a float. To get the exact coordinate, add .5 to it before changing it to an int. |
parts[2].y | Contains the particle's y coordinate. It is not an integer, it's a float. To get the exact coordinate, add .5 to it before changing it to an int. |
parts[2].vx | Contains the particle's x velocity. It is a float. |
parts[2].vy | Contains the particle's y velocity. It is a float |
1 - use either type, ctype, life, temp or tmp
2 - use either r>>8 or i. See above (Particle) for more info.