EvilEngine/MAPR: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
(Created page with "{{AssetInfobox |subtitle=Material Map |type=Binary |games=Night of 100 Frights<br>Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of...")
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<onlyinclude>
{{AssetInfobox
{{#vardefine:typeid|MAPR}}<nowiki/>
|subtitle=Material Map
{{#vardefine:name|Surface Mapper}}<nowiki/>
|type=[[Binary]]
{{#vardefine:type|[[Binary]]}}<nowiki/>
|games=Night of 100 Frights<br>Battle for Bikini Bottom<br>The SpongeBob SquarePants Movie<br>The Incredibles<br>Rise of the Underminer}}
{{#vardefine:basetype|}}<nowiki/>
{{#vardefine:games|Scooby BFBB TSSM Incredibles ROTU RatProto}}<nowiki/>
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zSurface.h zSurface.h]}}<nowiki/>
{{#vardefine:image|}}<nowiki/>
</onlyinclude>
{{AutoAssetInfobox}}


A '''MAPR''' asset assigns [[SURF|surfaces]] to certain parts of the [[JSP]] mesh, allowing material effects and surface effects (such as out of bounds) on the level model.
A '''MAPR''' asset assigns [[SURF|surfaces]] to certain parts of the [[JSP]] mesh, allowing material effects and surface effects (such as out of bounds) on the level model.


==Format==
==Format==
The asset data starts with the asset ID, then an int which defines the amount of entries in the MAPR table, then the entries themselves. Each entry has the following format:
The asset data starts with the asset ID, then an int which defines the amount of entries in the MAPR table, then the entries themselves.


===zMaterialMapAsset===
{| class="wikitable"
{| class="wikitable"
! Offset !! Type !! Description
! Offset !! Type !! Variable !! Description
|-
|-
| 0x00 || [[AssetID]] ([[SURF|Surface]]) || '''Surface to be applied'''
| 0x00 || [[AssetID]] || '''id''' || Asset ID of MAPR.
|-
|-
| 0x04 || uint || '''count''' || Amount of entries.
| 0x04 || int || '''Unknown''' - this is likely an index into the JSP to choose which mesh the effect will be applied to.
|}
|}

====zMaterialMapEntry====
{| class="wikitable"
! Offset !! Type !! Variable !! Description
|-
| 0x00 || [[AssetID]] || '''surfaceAssetID''' || Asset ID of Surface to be applied
|-
| 0x04 || uint || '''materialIndex'''|| This is likely an index into the JSP to choose which mesh the effect will be applied to.
|}

{{Assets}}
{{AutoGameNavs}}


[[Category:Asset]]
[[Category:Asset]]

Latest revision as of 01:41, 29 October 2022

MAPR
Surface Mapper
TypeBinary
Games usedNight of 100 Frights

Battle for Bikini Bottom
The SpongeBob SquarePants Movie
The Incredibles
Rise of the Underminer

Ratatouille Prototype
Source codezSurface.h

A MAPR asset assigns surfaces to certain parts of the JSP mesh, allowing material effects and surface effects (such as out of bounds) on the level model.

Format

The asset data starts with the asset ID, then an int which defines the amount of entries in the MAPR table, then the entries themselves.

zMaterialMapAsset

Offset Type Variable Description
0x00 AssetID id Asset ID of MAPR.
0x04 uint count Amount of entries.

zMaterialMapEntry

Offset Type Variable Description
0x00 AssetID surfaceAssetID Asset ID of Surface to be applied
0x04 uint materialIndex This is likely an index into the JSP to choose which mesh the effect will be applied to.