EvilEngine/FLY: Difference between revisions

From Heavy Iron Modding
Content added Content deleted
Battlepedia>Seil
No edit summary
Battlepedia>Seil
Line 9: Line 9:
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 0x40 bytes long.
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 0x40 bytes long.


<source lang=cpp>
{| class="wikitable"
struct zFlyKey
! Offset !! Type !! Description
{
|-
int frame;
| 0x00 || int || '''Frame number'''. Usually starts at either 1 or 0, and increments by 1 with each point
float matrix[12];
|-
float aperture[2];
| 0x04 || [[Vector3]] || '''Normalized Camera Left'''
float focal;
|-
};
| 0x10 || [[Vector3]] || '''Normalized Camera Up'''
</source>
|-
| 0x1C || [[Vector3]] || '''Normalized Camera Backward'''
|-
| 0x28 || [[Vector3]] || '''Camera Position'''
|-
| 0x34 || [[Vector3]] || '''Unknown'''
|}


* '''frame''' usually starts at either 1 or 0, and increments by 1 with each point.
* '''matrix'''
** index 0-2 is the right (reversed) vector
** index 3-5 is the up vector
** index 6-8 is the at (reversed) vector
** index 9-11 is the position
* '''aperture'''
* '''focal'''
[[Category:Asset]]
[[Category:Asset]]

Revision as of 22:33, 3 October 2019

FLY
Flythrough
TypeBinary

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 0x40 bytes long.

struct zFlyKey
{
	int frame;
	float matrix[12];
	float aperture[2];
	float focal;
};
  • frame usually starts at either 1 or 0, and increments by 1 with each point.
  • matrix
    • index 0-2 is the right (reversed) vector
    • index 3-5 is the up vector
    • index 6-8 is the at (reversed) vector
    • index 9-11 is the position
  • aperture
  • focal