Jump to content

OBD:ENVP: Difference between revisions

various corrections and clarifications to fields
m (ref. BFW_EnvParticle.h, lines 55-90...)
(various corrections and clarifications to fields)
Line 2: Line 2:




[[image:envp_a.gif]]
[[Image:envp_a.gif]]




Line 12: Line 12:
{{OBDtr| 0x1E | uint16    |00FFFF| 42 00      | 66        | array size }}
{{OBDtr| 0x1E | uint16    |00FFFF| 42 00      | 66        | array size }}
{{OBDtrBK}}
{{OBDtrBK}}
{{OBDtr2|0x00 | char[64] |FFC8C8| locklight                | particle type name (reference to 06079-3RAPlocklight.[[OBD:BINA/PAR3|BINA]] of level 0); global lookup name }}
{{OBDtr2|0x00 | char[64] |FFC8C8| locklight                | particle class name (reference to 06079-3RAPlocklight.[[OBD:BINA/PAR3|BINA]] in level 0) }}
{{OBDtr2|0x40 | char[48] |FFFFC8| lock1_locklight01        | particle name; local lookup name (visible from scripts etc) }}
{{OBDtr2|0x40 | char[48] |FFFFC8| lock1_locklight01        | particle tag name; lookup name for use in scripts via the <code>particle</code> command }}


|- ALIGN=CENTER VALIGN=TOP
|- ALIGN=CENTER VALIGN=TOP
Line 41: Line 41:
{{OBDtr| 0xA0 | float    |C800C8| 00 00 80 3F | 1.000000  | decal x scale }}
{{OBDtr| 0xA0 | float    |C800C8| 00 00 80 3F | 1.000000  | decal x scale }}
{{OBDtr| 0xA4 | float    |C87C64| 00 00 80 3F | 1.000000  | decal y scale }}
{{OBDtr| 0xA4 | float    |C87C64| 00 00 80 3F | 1.000000  | decal y scale }}
{{OBDtr| 0xA8 | uint16  |FFFFFF| -- -- -- -- | -         | flags }}
{{OBDtr| 0xA8 | uint16  |B0C4D5| 00 00      | 0         | runtime: flags }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | owner type; reset at level load; runtime only }}
{{OBDtr| 0xAA | uint16   |B0C4D5| 00 00      | 0         | runtime: owner type }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for owner particle; reset at level load; runtime only }}
{{OBDtr| 0xAC | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to owner particle }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for dynamic matrix; reset at level load; runtime only }}
{{OBDtr| 0xB0 | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to dynamic matrix }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for particle class; zeroed at level load; runtime only }}
{{OBDtr| 0xB4 | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to particle class }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for particle; zeroed at level load; runtime only }}
{{OBDtr| 0xB8 | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to spawned particle }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for particle self ref(?); zeroed at level load; runtime only }}
{{OBDtr| 0xBC | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to spawned particle header }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for previous particle(?); zeroed at level load; runtime only }}
{{OBDtr| 0xC0 | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to previous particle in global spawned particle list }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for next particle(?); zeroed at level load; runtime only }}
{{OBDtr| 0xC4 | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to next particle in global spawned particle list }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for hash list(?); zeroed at level load; runtime only }}
{{OBDtr| 0xC8 | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to position in hash list (hash table of all spawned particles with tag names) }}
{{OBDtr| ---- | offset   |FFFFFF| -- -- -- -- | -         | raw offset for tag list(?); zeroed at level load; runtime only }}
{{OBDtr| 0xCC | uint32   |B0C4D5| 00 00 00 00 | 0         | runtime: pointer to position in tag list (linked list of all spawned particles with the same tag name) }}
|}
|}




;Enviroment particles
;Environment particles
:Locklights, lights, fire, smoke, steam, "electricity" etc. Loose particles are normally added to the [[OBD:BINA/OBJC/PART|level particle collection]]. ENVP is used by the level importer tool to store particles attached to [[OBD:OBOA|objects]] or [[OBD:BINA/OBJC/FURN|furniture]].
:Door lock lights, lights, fire, smoke, steam, "electricity", etc. Loose particles are normally added to the [[OBD:BINA/OBJC/PART|level particle collection]]. ENVP is used by the level importer tool to store particles attached to [[OBD:OBOA|objects]] or [[OBD:BINA/OBJC/FURN|furniture]].


;Transformation matrix
;Transformation matrix
:Used to orient and stretch the particles (decals, locklights, etc).
:Used to orient and stretch the particles (decals, lock lights, etc).
:See, e.g., [[OBD:CRSA|CRSA]] for a detailed explanation.
:See e.g. [[OBD:CRSA|CRSA]] for a detailed explanation.