From JKHub Wiki
Jump to navigation Jump to search

ROFF files (.rof) contain scripted (pre-defined) 3D transformations for entities. They are binary files. A ROFF changes the position and angles of an entity in a series of frames.

A ROFF can be used on models, brush entities, and even the camera (as at the beginning of the Nar Shaddaa Streets level in Jedi Outcast).

ROFF header[edit]

The header of a ROFF file is as follows.

char[4]  Header       // "ROFF"
int      Version      // always 2
int      Count        // number of frames in ROFF
int      FrameRate    // Frame rate (usually 0x32)
int      NumNotes

ROFF frames[edit]

The header is followed by the frames of the ROFF. Each frame defines a vector by which to transform the origin (position) of the entity, and a vector by which to transform the angles (rotation) of the entity.

float   x_delta
float   y_delta
float   z_delta
float   pitch_delta
float   yaw_delta
float   roll_delta   
int     StartNote      // always -1
int     NumNotes       // always 0