EvilEngine/FLY: Difference between revisions

Rename Flythrough to Fly, change wording, use zFlyKey struct from decomp
m (Seil moved page FLY to EvilEngine/FLY)
(Rename Flythrough to Fly, change wording, use zFlyKey struct from decomp)
 
Line 1:
<onlyinclude>
{{#vardefine:typeid|FLyFLY}}<nowiki/>
{{#vardefine:name|FlythroughFly}}<nowiki/>
{{#vardefine:type|[[Binary]]}}<nowiki/>
{{#vardefine:basetype|}}<nowiki/>
Line 10:
{{AutoAssetInfobox}}
 
A '''FlythroughFly''' asset defines a path for the camera to move around athe levelscene. It is made up of individualkeys points,containing eachthe point defining thecamera's transform, foraperture, theand camerafocal atlength afor specifiedeach timeframe. TheEach timeframe islasts measured~0.0333 in frames.ms (30 frames = 1 secondFPS).
 
Fly assets contain all of the data necessary for [[EvilEngine/DYNA/game_object:Flythrough|game_object:Flythrough]], which is the in-game [[object]] that overrides the in-game camera.
 
==Format==
FlythroughsA areFly asset is stored in little-endian on all platforms. ThereIt ishas no header, itand is simply made up of thecontiguous followingzFlyKey struct which repeats until the end of the fileentries. The total length in frames isTherefore, the frame number of theentries last struct inis the file.asset's Eachsize entry/ is<code>sizeof(zFlyKey)</code> (64 (0x40 hexbytes) bytes long.
 
<source lang=cpp>
struct zFlyKey
{
int32 frame;
float32 matrix[12];
float cameraNormalizedRight[3];
float float32 aperture[2];
float cameraNormalizedUp[3];
floatfloat32 focal;
float cameraNormalizedBackward[3];
float cameraPosition[3];
float aperture[2];
float focal;
};
</source>