EvilEngine/COLL: Difference between revisions
Content added Content deleted
Battlepedia>Seil No edit summary |
EnergyDrink (talk | contribs) No edit summary |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude> |
|||
{{AssetInfobox |
|||
{{#vardefine:typeid|COLL}}<nowiki/> |
|||
|subtitle=Collision Table |
|||
{{#vardefine:name|Collision Table}}<nowiki/> |
|||
|type=[[Binary]] |
|||
{{#vardefine:type|[[Binary]]}}<nowiki/> |
|||
|games=Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of the Underminer}} |
|||
{{#vardefine:basetype|}}<nowiki/> |
|||
{{#vardefine:games|BFBB TSSM Incredibles ROTU RatProto}}<nowiki/> |
|||
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zCollGeom.h zCollGeom.h]}}<nowiki/> |
|||
{{#vardefine:image|}}<nowiki/> |
|||
</onlyinclude> |
|||
{{AutoAssetInfobox}} |
|||
A '''collision table''' is used to give some [[MODL|models]] a specific mesh for collision detection by other objects and the in-game camera. This is commonly used to give high-poly models much less lower detailed versions of themselves, in order to reduce the amount of processing required during collision detection. |
A '''collision table''' is used to give some [[MODL|models]] a specific mesh for collision detection by other objects and the in-game camera. This is commonly used to give high-poly models much less lower detailed versions of themselves, in order to reduce the amount of processing required during collision detection. |
||
Line 9: | Line 15: | ||
==Format== |
==Format== |
||
The asset data starts with an int which defines the amount of entries in the collision table, then the entries themselves. |
The asset data starts with an int which defines the amount of entries in the collision table, then the entries themselves. |
||
===zCollisionGeomTableEntry=== |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! Type !! Description |
! Offset !! Type !! Variable !! Description |
||
|- |
|- |
||
| 0x00 || |
| 0x00 || uint || '''sTableCount''' || Amount of COLL table entries. |
||
|} |
|||
====zCollGeomTable==== |
|||
{| class="wikitable" |
|||
! Offset !! Type !! Variable !! Description |
|||
|- |
|- |
||
| |
| 0x00 || [[AssetID]] || '''baseModel''' || Model |
||
|- |
|- |
||
| |
| 0x04 || [[AssetID]] || '''colModel''' || Collision model. If null, defaults to the same model. |
||
|- |
|||
| 0x08 || [[AssetID]] || '''camcolModel''' ||Camera collision model. If null, defaults to no model (camera can pass through it). |
|||
|} |
|} |
||
{{Assets}} |
|||
{{AutoGameNavs}} |
|||
[[Category:Asset]] |
[[Category:Asset]] |
Latest revision as of 02:36, 29 October 2022
COLL | |
---|---|
Collision Table | |
Type | Binary |
Games used | Battle for Bikini Bottom The SpongeBob SquarePants Movie |
Source code | zCollGeom.h |
A collision table is used to give some models a specific mesh for collision detection by other objects and the in-game camera. This is commonly used to give high-poly models much less lower detailed versions of themselves, in order to reduce the amount of processing required during collision detection.
By default, any model not included in this table uses itself as its collision mesh against other objects, and no collision mesh against the camera (meaning the camera can pass through it).
Format
The asset data starts with an int which defines the amount of entries in the collision table, then the entries themselves.
zCollisionGeomTableEntry
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | uint | sTableCount | Amount of COLL table entries. |
zCollGeomTable
Offset | Type | Variable | Description |
---|---|---|---|
0x00 | AssetID | baseModel | Model |
0x04 | AssetID | colModel | Collision model. If null, defaults to the same model. |
0x08 | AssetID | camcolModel | Camera collision model. If null, defaults to no model (camera can pass through it). |