EvilEngine/CAM: Difference between revisions
No edit summary |
m (Seil moved page CAM to EvilEngine/CAM) |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<onlyinclude> |
|||
{{AssetInfobox |
|||
{{#vardefine:typeid|CAM}}<nowiki/> |
|||
|subtitle=Camera |
|||
{{#vardefine:name|Camera}}<nowiki/> |
|||
|type=[[Base]] |
|||
{{#vardefine:type|[[Base]]}}<nowiki/> |
|||
|objectid=0x07 |
|||
{{#vardefine:basetype|0x07}}<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/Core/x/xCamera.h xCamera.h]}}<nowiki/> |
|||
{{#vardefine:image|}}<nowiki/> |
|||
</onlyinclude> |
|||
{{AutoAssetInfobox}} |
|||
This asset defines cameras. Usually, the game takes control from you to display a certain camera for a moment, such as when talking to NPCs or showing you something elsewhere in the level. |
This asset defines cameras. Usually, the game takes control from you to display a certain camera for a moment, such as when talking to NPCs or showing you something elsewhere in the level. |
||
Line 128: | Line 132: | ||
{{Assets}} |
{{Assets}} |
||
{{AutoGameNavs}} |
|||
[[Category:Asset]] |
[[Category:Asset]] |
Latest revision as of 22:33, 15 September 2022
This asset defines cameras. Usually, the game takes control from you to display a certain camera for a moment, such as when talking to NPCs or showing you something elsewhere in the level.
CAM | |
---|---|
Camera | |
Type | Base |
Base Type | 0x07 |
Games used | Night of 100 Frights Battle for Bikini Bottom |
Source code | xCamera.h |
Format
Cameras are base assets, so they start with their 0x8 byte header, then are followed by:
Offset | Type | Description |
---|---|---|
0x8 | Vector3 | Position |
0x14 | Vector3 | Normalized forward vector |
0x20 | Vector3 | Normalized up vector |
0x2C | Vector3 | Normalized left vector |
0x38 | Vector3 | View Offset |
0x44 | short | Offset Start Frames - usually 30 |
0x46 | short | Offset End Frames - usually 45 |
0x48 | float | FOV - (degrees) |
0x4C | float | Transition Time - (seconds) Time it takes to move the camera to this position. |
0x50 | int | Transition Type - usually 0, 1, 2, 5, or 6
|
0x54 | unsigned int | Flags - usually 0 |
0x58 | float | Fade Up - usually 0 |
0x5C | float | Fade Down - usually 0 |
Follow only | ||
0x60 | float | Rotation |
0x64 | float | Distance |
0x68 | float | Height |
0x6C | float | Rubber Band |
0x70 | float | Start Speed |
0x74 | float | End Speed |
Shoulder only | ||
0x60 | float | Distance |
0x64 | float | Height |
0x68 | float | Realign Speed |
0x6C | float | Realign Delay |
0x70 | byte[0x8] | null |
Static only | ||
0x60 | unsigned int | Unused - yes this is actually called "unused" |
0x64 | byte[0x14] | null |
Path only | ||
0x60 | unsigned int | Asset ID |
0x64 | float | Time End |
0x64 | float | Time Delay |
0x68 | byte[0x10] | null |
Static Follow only | ||
0x60 | float | Rubber Band |
0x64 | byte[0x14] | null |
0x78 | unsigned int | Valid Flags
|
0x7C | AssetID[2] | Marker IDs - usually both null |
0x84 | byte | Cam Type - usually 0, 2, or 3
|
0x85 | byte[3] | Padding (always 0) |
Events | ||
0x88 | Event[numberOfEvents] | Events |