EvilEngine/CAM: Difference between revisions

m
Seil moved page CAM to EvilEngine/CAM
Battlepedia>Seil
No edit summary
m (Seil moved page CAM to EvilEngine/CAM)
 
(12 intermediate revisions by 4 users not shown)
Line 1:
<onlyinclude>
{{AssetInfobox
{{#vardefine:typeid|CAM}}<nowiki/>
|subtitle=Camera
{{#vardefine:name|Camera}}<nowiki/>
|type=[[Object]]
{{#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.
 
==Format==
Cameras are [[Object AssetBase|objectbase assets]], so they start with their 0x8 byte header, then are followed by:
 
{| class="wikitable"
Line 19 ⟶ 24:
| 0x20 || [[Vector3]] || '''Normalized up vector'''
|-
| 0x2C || [[Vector3]] || Unknown'''Normalized left vector'''
|-
| 0x38 || ?[3[Vector3]] || Unknown'''View (null)Offset'''
|-
| 0x44 || short || Unknown,'''Offset Start Frames''' - usually 30
|-
| 0x46 || short || Unknown,'''Offset End Frames''' - usually 45
|-
| 0x48 || float || '''Field of ViewFOV''' - (degrees)
|-
| 0x4C || float || '''SwitchTransition Time''' - (seconds). Time it takes to move the camera to this position.
|-
| 0x50 || int || Unknown,'''Transition Type''' - usually 0, 1, 2, 5, or 6
* 0 - None
* 1 - Interp1
* 2 - Interp2
* 3 - Interp3
* 4 - Interp4
* 5 - Linear
* 6 - Interp1Rev
* 7 - Interp2Rev
* 8 - Interp3Rev
* 9 - Interp4Rev
|-
| 0x54 || ?[3]unsigned int || Unknown'''Flags''' - usually (null)0
|-
| 0x600x58 || float[4] || Unknown'''Fade Up''' - usually 0
|-
| 0x700x5C || ?[2]float || Unknown'''Fade (null)Down''' - usually 0
|-
! colspan="3" | Follow only
| 0x78 || byte || Flag 1, usually 0
|-
| 0x790x60 || bytefloat || Flag 2, usually 1'''Rotation'''
|-
| 0x7A0x64 || bytefloat || Flag 3, usually 1'''Distance'''
|-
| 0x68 || float || '''Height'''
| 0x7B || byte || Flag 4, usually 0x8F (143) or 0xC0 (192)
|-
| 0x7C0x6C || ?[2]float || Unknown'''Rubber (null)Band'''
|-
| 0x840x70 || bytefloat || Flag'''Start 5, usually 0, 2, or 3Speed'''
|-
| 0x850x74 || bytefloat || Flag'''End 6, usually 0Speed'''
|-
! colspan="3" | Shoulder only
| 0x86 || byte || Flag 7, usually 0
|-
| 0x870x60 || bytefloat || Flag 8, usually 0'''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'''
| 0x78 ||* byte || Flag 1, usually 0
* byte 2 usually 1
* byte 3 usually 1
| 0x7B ||* byte || Flag 4, usually 0x8F (143) or 0xC0 (192)
|-
| 0x7C || [[AssetID]][2] || '''[[MRKR|Marker]] IDs''' - usually both null
|-
| 0x860x84 || byte || Flag'''Cam 7,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 66 ⟶ 130:
* [[List of Events#End Conversation|End Conversation]]
* [[List of Events#Switch|Switch]]
 
{{Assets}}
{{AutoGameNavs}}
 
[[Category:Asset]]