Aw object data mover

From ActiveWiki
Revision as of 07:01, 21 February 2010 by Legion (talk | contribs) (+cat O)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
aw_object_data_mover

Description

Defines the data structure in AW_OBJECT_DATA of a mover object.

Notes

(This is preliminary documentation and is subject to change)

// AW_OBJECT_TYPE_MOVER
typedef struct aw_object_data_mover {
  unsigned char         version;          // structure version (set by SDK)
  unsigned char         type;
  unsigned int          flags;
  short                 locked_pos_x;
  short                 locked_pos_y;
  short                 locked_pos_z;
  short                 locked_yaw;
  short                 locked_pitch;
  char                  glide_factor;     // -100 to +100
  unsigned char         speed_factor;     // 0.0 to 25.5 max (* 10)
  unsigned char         friction_factor;  // 0.0 to 25.5 max (* 10)
  char                  accel_tilt_x;     // -127 to +127
  char                  accel_tilt_z;     // -127 to +127
  unsigned char         turn_factor;      // 0.0 to 25.5 max (* 10)
  unsigned char         avatar_tag;       // 0 to 255
  char                  reserved1[9];     // Bytes reserverd for future use
  unsigned char         name_len;         // length of 1st string in str_data
  unsigned char         seq_len;          // length of 2nd string in str_data
  unsigned char         script_len;       // length of 3rd string in str_data
  unsigned char         sound_len;        // length of 4rd string in str_data
  unsigned short        waypoints_len;    // length of 5th string in str_data
  unsigned char         bump_name_len;    // length of 6th string in str_data
  char                  reserved2[2];     // Bytes reserverd for future use
  // note: increase the strucure's total size
  // by the length of the strings
  // when allocating memory for this structure!
  // (str_data is the reference to the first byte)
  char                  str_data[1];
} aw_object_data_mover;

The total length of the data is calculated as:

len = sizeof (aw_object_data_mover)
    + mover->name_len + mover->seq_len + mover->script_len
    + mover->sound_len + mover->waypoints_len + mover->bump_name_len;


See also

aw_data, AW_OBJECT_DATA, AW_OBJECT_TYPE, AW_EVENT_OBJECT_ADD