Guidelines for Working with Text-Based .acf File Formats

The .acf format in X-Plane up to and including version 9 is a binary format; X-Plane 10 switches to a text-based .acf format.  This was done for two reasons:

  1. To reduce the maintenance cost to LR, particularly when adding new features to aircraft.  (It helps that the text file can be inspected by hand when debugging.)
  2. To allow authors to do some very basic editing using tools other than Plane-Maker.

This note describes what kinds of operations on the text file are safe and what are not.

Things you can safely do:

  • Cut and paste blocks of ACF file between aircraft.  You can do this to move a section of information (e.g. all of the /engine/ fields) from one file to another.
  • Apply some simple processing (e.g. search and replace) to parameters, e.g. change all OBJ names within an ACF.
  • Apply some simple changes to the .ACF from a 3-d export script (e.g. add attached objects directly to the .acf from the OBJ exporter).
  • Manage the .acf file with source control.

Things you should not do:

  • Write utilities that edit the .acf as part of an X-Plane add-on.  The format will change over time, so it is important not to leave code in the field that assumes that the .acf format is unchanged.  Pre-process your .acf files “in the studio” but then ship the final .acf files.
  • Merge .acf files in source control.  There are some cases where merging will work, but there are also cases where merging can fail.  Be very careful with merging and check the results of the merge!  Some merges will complete successfully (to the source control application) but cause Plane-Maker to not open the file.
  • Facebook
  • Reddit
  • StumbleUpon
  • Twitter
  • Google Buzz
  • LinkedIn