Skip to content

OBJ8 CSL

Chris Collins edited this page Apr 3, 2017 · 5 revisions

The new "OBJ8" CSL format is built on top of the LegacyCSL format, but using the standard X-Plane OBJ8 format.

In order to declare models to use this format, new commands in the xsb_aircraft.txt files are necessary:

Animations

Animations for OBJ8 CSLs are controlled via dataref. It is up to the pilot client as to how these should be computed, but the expected ranges and behaviours are documented below.

The datarefs are as follows:

Dataref Description
libxplanemp/controls/gear_ratio Landing Gear position. 0.0 is fully retracted, 1.0 is fully extended
libxplanemp/controls/flap_ratio Flaps Position. 0.0 is fully retracted. 1.0 is full extension
libxplanemp/controls/slat_ratio Slats Position. 0.0 is fully retracted. 1.0 is full extension
libxplanemp/controls/spoiler_ratio Spoiler Position. 0.0 is fully retracted. 1.0 is full extension
libxplanemp/controls/speed_brake_ratio Speedbrake Position. 0.0 is fully retracted. 1.0 is full extension
libxplanemp/controls/wing_sweep_ratio Wing Sweep Position. Notionally 0.0 through 1.0. Not strictly defined.
libxplanemp/controls/thrust_ratio Engine RPM/N1 as ratio of maximum speed. 0.1 is idle. 1.0 is max N1/RPM. 0.0 is off.
libxplanemp/controls/yoke_pitch_ratio Pitch Control Position. -1.0 to 1.0.
libxplanemp/controls/yoke_roll_ratio Roll control position. -1.0 to 1.0.
libxplanemp/controls/yoke_heading_ratio Rudder Control Position. -1.0 to 1.0
libxplanemp/controls/landing_lites_on Landing Lights.
libxplanemp/controls/beacon_lites_on Anti-Collision Beacon.
libxplanemp/controls/strobe_lites_on Wingtip Strobes.
libxplanemp/controls/nav_lites_on Navigation Lights.

xsb_aircraft.txt Commands

All commands as in the LegacyCSL document still work, however 2 new commands are required to declare OBJ8 models.

When defining a OBJ8 model, you must not use the TEXTURE or HASGEAR commands.

OBJ8_AIRCRAFT

OBJ8_AIRCRAFT <name>

OBJ8_AIRCRAFT starts defining a new aircraft using the OBJ8 format.

<name> is a identifier that must unique within the current package. It can be anything, as long as it is unique. It should be related to the aircraft in some way. Currently, no spaces are allowed in the name.

OBJ8

OBJ8 <part> <animated> <obj8 path>

OBJ8 defines the components (attachments) that make up the aircraft.

<part> can be one of: GLASS, LIGHTS, LOW_LOD or SOLID.

<part> value Purpose
SOLID For objects that contain the opaque parts of the aircraft.
GLASS For objects taht contain the transparent parts of the aircraft.
LIGHTS For objects taht contain the lights of the aircraft.
LOW_LOD For low-poly objects to use when rendering at large distances.

<animated> can be one of YES or NO. This indicates if the specified object file has animations that will need to be processed.

<obj8 path> is a package and path as per the OBJECT command.

Clone this wiki locally