EvilEngine/CAM: Difference between revisions

m
Seil moved page CAM to EvilEngine/CAM
Battlepedia>Igorseabra4
(Created page with "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...")
 
m (Seil moved page CAM to EvilEngine/CAM)
 
(15 intermediate revisions by 4 users not shown)
Line 1:
<onlyinclude>
{{#vardefine:typeid|CAM}}<nowiki/>
{{#vardefine:name|Camera}}<nowiki/>
{{#vardefine:type|[[Base]]}}<nowiki/>
{{#vardefine:basetype|0x07}}<nowiki/>
{{#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.
 
===Format===
Cameras are [[Object AssetBase|objectbase assets]], so they start with their 0x8 byte header, then are followed by:
 
{| class="wikitable"
! Offset !! Type !! Description
|-
| 0x8 || [[Vector3]] || '''Position'''
|-
| 0x14 || [[Vector3]] || '''Normalized forward vector'''
|-
| 0x20 || [[Vector3]] || '''Normalized up vector'''
|-
| 0x2C || float[[Vector3]] || Unknown'''Normalized left vector'''
|-
| 0x300x38 || int[[Vector3]] || Unknown'''View Offset'''
|-
| 0x44 || short || '''Offset Start Frames''' - usually 30
| 0x34 || int || Unknown
|-
| 0x46 || short || '''Offset End Frames''' - usually 45
| 0x38 || int || Unknown
|-
| 0x3C0x48 || intfloat || Unknown'''FOV''' - (degrees)
|-
| 0x4C || float || '''Transition Time''' - (seconds) Time it takes to move the camera to this position.
| 0x40 || int || Unknown
|-
| 0x50 || int || '''Transition Type''' - usually 0, 1, 2, 5, or 6
| 0x44 || short || Unknown
* 0 - None
* 1 - Interp1
* 2 - Interp2
* 3 - Interp3
* 4 - Interp4
* 5 - Linear
* 6 - Interp1Rev
* 7 - Interp2Rev
* 8 - Interp3Rev
* 9 - Interp4Rev
|-
| 0x460x54 || shortunsigned int || Unknown'''Flags''' - usually 0
|-
| 0x480x58 || float || Camera'''Fade speedUp''' - usually 0
|-
| 0x4C0x5C || float || Unknown'''Fade Down''' - usually 0
|-
! colspan="3" | Follow only
| 0x50 || int || Unknown
|-
| 0x540x60 || float[9] || Unknown'''Rotation'''
|-
| 0x780x64 || byte[4]float || Flags'''Distance'''
|-
| 0x7C0x68 || intfloat || Unknown'''Height'''
|-
| 0x800x6C || intfloat || Unknown'''Rubber Band'''
|-
| 0x840x70 || intfloat || Unknown'''Start Speed'''
|-
| 0x74 || float || '''End Speed'''
|-
! colspan="3" | Shoulder only
|-
| 0x60 || float || '''Distance'''
|-
| 0x64 || float || '''Height'''
|-
| 0x68 || float || '''Realign Speed'''
|-
| 0x6C || float || '''Realign Delay'''
|-
| 0x70 || byte[0x8] || null
|-
! colspan="3" | Static only
|-
| 0x60 || unsigned int || '''Unused''' - yes this is actually called "unused"
|-
| 0x64 || byte[0x14] || null
|-
! colspan="3" | Path only
|-
| 0x60 || unsigned int || '''[[Asset ID]]'''
|-
| 0x64 || float || '''Time End'''
|-
| 0x64 || float || '''Time Delay'''
|-
| 0x68 || byte[0x10] || null
|-
! colspan="3" | Static Follow only
|-
| 0x60 || float || '''Rubber Band'''
|-
| 0x64 || byte[0x14] || null
|-
! colspan="3" |
|-
| 0x78 || unsigned int || '''Valid Flags'''
* byte 1 usually 0
* byte 2 usually 1
* byte 3 usually 1
* byte 4 usually 0x8F (143) or 0xC0 (192)
|-
| 0x7C || [[AssetID]][2] || '''[[MRKR|Marker]] IDs''' - usually both null
|-
| 0x84 || byte || '''Cam Type''' - usually 0, 2, or 3
* 0 - Follow
* 1 - Shoulder
* 2 - Static
* 3 - Path
* 4 - Static Follow
|-
| 0x85 || byte[3] || Padding (always 0)
|-
! colspan="3" | Events
Line 54 ⟶ 130:
* [[List of Events#End Conversation|End Conversation]]
* [[List of Events#Switch|Switch]]
 
{{Assets}}
{{AutoGameNavs}}
 
[[Category:Asset]]