EvilEngine/FLY: Difference between revisions
Content added Content deleted
EnergyDrink (talk | contribs) mNo edit summary |
EnergyDrink (talk | contribs) m (Games used: +Incredibles) |
||
Line 4: | Line 4: | ||
{{#vardefine:type|[[Binary]]}}<nowiki/> |
{{#vardefine:type|[[Binary]]}}<nowiki/> |
||
{{#vardefine:basetype|}}<nowiki/> |
{{#vardefine:basetype|}}<nowiki/> |
||
{{#vardefine:games|BFBB TSSM RatProto}}<nowiki/> |
{{#vardefine:games|BFBB TSSM Incredibles RatProto}}<nowiki/> |
||
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zCamera.h zCamera.h]}}<nowiki/> |
{{#vardefine:sourcecode|[https://github.com/bfbbdecomp/bfbb/blob/master/src/Game/zCamera.h zCamera.h]}}<nowiki/> |
||
{{#vardefine:image|}}<nowiki/> |
{{#vardefine:image|}}<nowiki/> |
Revision as of 02:19, 2 August 2022
FLY | |
---|---|
Flythrough | |
Type | Binary |
Games used | Battle for Bikini Bottom The SpongeBob SquarePants Movie |
Source code | zCamera.h |
A Flythrough defines a path for the camera to move around a level. It is made up of individual points, each point defining the transform for the camera at a specified time. The time is measured in frames. 30 frames = 1 second.
Format
Flythroughs are stored in little-endian. There is no header, it is simply made up of the following struct which repeats until the end of the file. The total length in frames is the frame number of the last struct in the file. Each entry is 64 (0x40 hex) bytes long.
struct zFlyKey
{
int32 frame;
float cameraNormalizedRight[3];
float cameraNormalizedUp[3];
float cameraNormalizedBackward[3];
float cameraPosition[3];
float aperture[2];
float focal;
};