EvilEngine/PORT: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
Battlepedia>Seil
No edit summary
m (Seil moved page PORT to EvilEngine/PORT)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<onlyinclude>
{{AssetInfobox
{{#vardefine:typeid|PORT}}<nowiki/>
|subtitle=Portal
{{#vardefine:name|Portal}}<nowiki/>
|type=[[Object]]
{{#vardefine:type|[[Base]]}}<nowiki/>
|objectid=0x10
{{#vardefine:basetype|0x10}}<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:games|Scooby BFBB TSSM Incredibles ROTU RatProto}}<nowiki/>
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zPortal.h zPortal.h]}}<nowiki/>
{{#vardefine:image|}}<nowiki/>
</onlyinclude>
{{AutoAssetInfobox}}


==Format==
==Format==
Portals are [[Object Asset|object assets]], so they start with their 0x8 byte header, then are followed by:
Portals are [[Base|base assets]], so they start with their 0x8 byte header, then are followed by:


{| class="wikitable"
{| class="wikitable"
! Offset !! Type !! Description
! Offset !! Type !! Variable !! Description
|-
|-
| 0x08 || int || '''[[CAM|Camera]]'''. Unknown
| 0x08 || [[AssetID]] ([[CAM|Camera]]) || '''assetCameraID''' || Unknown
|-
|-
| 0x0C || int || '''[[MRKR|Marker]]''' to teleport to. If it can't be found, the position of the [[PLYR|Player]] asset is used.
| 0x0C || [[AssetID]] ([[MRKR|Marker]]) || '''assetMarkerID''' || Marker to teleport to. If it can't be found, the position of the [[PLYR|Player]] asset is used.
|-
|-
| 0x10 || float || '''Rotation''' in degrees, that the player and camera will face in.
| 0x10 || float || '''ang''' || Rotation in degrees, that the player and camera will face in.
|-
|-
| 0x14 || char[4] || ID of the '''Level''' to warp to. This is backwards on the GameCube version (i.e. instead of "HB01", use "10BH"). If it's the same as the current level's ID, the teleportation will happen instantly. Otherwise, a loading screen will appear for the new level.
| 0x14 || uint || '''sceneID''' || ID of the level to warp to. This is backwards on the GameCube version (i.e. instead of "HB01", use "10BH"). If it's the same as the current level's ID, the teleportation will happen instantly. Otherwise, a loading screen will appear for the new level. Using a lowercase ID will force a loading screen regardless if the IDs match. (ex. PORT using hb01 as the ID will reload while in HB01)
|-
|-
! colspan="3" | Events
! colspan="4" | Events
|-
|-
| 0x18 || Event[numberOfEvents] || '''[[Events]]'''
| 0x18 || Event[numberOfEvents] || '''[[Events]]''' ||
|}
|}

{{Assets}}
{{AutoGameNavs}}


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

Latest revision as of 22:49, 15 September 2022

PORT
Portal
TypeBase
Base Type0x10
Games usedNight of 100 Frights

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

Ratatouille Prototype
Source codezPortal.h

Format

Portals are base assets, so they start with their 0x8 byte header, then are followed by:

Offset Type Variable Description
0x08 AssetID (Camera) assetCameraID Unknown
0x0C AssetID (Marker) assetMarkerID Marker to teleport to. If it can't be found, the position of the Player asset is used.
0x10 float ang Rotation in degrees, that the player and camera will face in.
0x14 uint sceneID ID of the level to warp to. This is backwards on the GameCube version (i.e. instead of "HB01", use "10BH"). If it's the same as the current level's ID, the teleportation will happen instantly. Otherwise, a loading screen will appear for the new level. Using a lowercase ID will force a loading screen regardless if the IDs match. (ex. PORT using hb01 as the ID will reload while in HB01)
Events
0x18 Event[numberOfEvents] Events