.rof: Difference between revisions
(new) |
(Undo revision 8587 by 75.84.116.145 (talk)) Tag: Undo |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
'''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. | '''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 == | == ROFF header == |
Latest revision as of 09:53, 22 June 2024
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
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
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