EvilEngine/Assets

Introduction
Spongebob Squarepants: Battle For Bikini Bottom works by using assets, which can be different formats such as models, textures, animations, object placement information, and many others. Assets are defined by AHDR sections in the HIP archives and uniquely identified by their Asset ID. It is not yet known what all different asset types do.

Classes of Assets
There are many different asset types, but they can be grouped into classes that have similar properties.

Renderware Streams
These are assets whose data is composed of a Renderware binary stream, with the tree structure commonly found in them. These assets can be opened in RW Analyze. They are: BSP, JSP, MODL, RWTX.

Object Assets
Object assets are a class which start with the following 8 byte header, and are able to send and recieve events.

The data that follows this header differs depending on the asset type. Some object assets are placeable assets as well (defined below).

These objects have, somewhere in their data (usually at the end, but sometimes in the middle) an array of events, with the amount of entries specified in this header.

Placeable Assets
Placeable assets are object assets which have a 3D placement in the world and the following common header (not all objects with a position follow this, though; for example, MRKR have a position but are not even object assets). They start with the 8 byte object asset header detailed above, then are followed by this:

List of asset types
The following is a list of all asset types found across all 5 games. Columns 1 through 5 represent the games ordered by their release dates, and specify which asset types are used in each game.


 * 1) Scooby-Doo! Night of 100 Frights
 * 2) SpongeBob SquarePants: Battle for Bikini Bottom
 * 3) The SpongeBob SquarePants Movie
 * 4) The Incredibles
 * 5) The Incredibles: Rise of the Underminer