-
Notifications
You must be signed in to change notification settings - Fork 7
OBJ8 CSL
The new "OBJ8" CSL format is built on top of the LegacyCSL format, but using the standard X-Plane OBJ8 format.
Please note that your OBJ8 CSLs should ship both PNG and DDS textures when appropriate. You should not ship only PNG textures. Please see https://developer.x-plane.com/2012/01/dds-revisited-in-x-plane-10/ for the rationale behind this as well as some visual examples as to the consequence of getting this wrong.
In order to declare models to use this format, new commands in the xsb_aircraft.txt
files are necessary:
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. |
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 <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 <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 whole aircraft, lights and all |
GLASS |
|
LIGHTS |
For the lights-only model of the aircraft. |
LOW_LOD |
Note: GLASS
and LOW_LOD
have been deprecated recently and may not be supported in future releases of libxplanemp
<animated>
can be one of YES
or NO
. This indicates if the specified object file has animations that will need to be processed. Currently this does nothing, so you probably want to use YES
to avoid surprises should this feature be fixed.
<obj8 path>
is a package and path as per the OBJECT command.