EvilEngine/SIMP: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
No edit summary
No edit summary
Line 1: Line 1:
{{AssetInfobox
{{AssetInfobox
|subtitle=Simple Object
|subtitle=Simple Object
|type=[[Placeable]]
|type=[[Entity]]
|objectid=0x0B
|objectid=0x0B
|games=Night of 100 Frights<br>Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of the Underminer}}
|games=Night of 100 Frights<br>Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of the Underminer
|sourcecode=[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zEntSimpleObj.h zEntSimpleObj.h]}}


This asset usually defines an entry for a simple, stationary object which may or may not be visible and collidable.
This asset usually defines an entry for a simple, stationary object which may or may not be visible and collidable.


==Format==
==Format==
SIMPs are [[Placeable Asset|placeable assets]], so they start with their 0x54 byte header, then are followed by:
SIMPs are [[Entity|entity assets]], so they start with their 0x54 byte header, then are followed by:


{| class="wikitable"
{| class="wikitable"

Revision as of 20:07, 30 March 2021

SIMP
Simple Object
TypeEntity
Games usedThe Incredibles
Source codezEntSimpleObj.h

This asset usually defines an entry for a simple, stationary object which may or may not be visible and collidable.

Format

SIMPs are entity assets, so they start with their 0x54 byte header, then are followed by:

Offset Type Variable Description
0x54 float animSpeed
0x58 int initAnimState
0x5C byte collType Collision type. Set to None to disable collision and Static to enable collision.

The other types listed here do not affect SIMPs in any way, and are only used internally by a variety of entity types. Interestingly, this value is used as a bitmask during initialization, so it is possible to set multiple types at once, with Static (0x2) being the only functional type.

0x5D byte flags Always 0
0x5E - - padding
Events
0x60 Event[numberOfEvents] Events

Events