STUD/Animation List

From owdev
(Redirected from File type 021)
Jump to: navigation, search

Outlines format for the instance ids found in the 021 file blobs. To see the generic STUD structure that wraps the blob and array definition, see STUD.

Common Types

struct array_definition_t {
  uint64 count;
  uint64 offset;
} // seek to offset, read given structure * count.

struct record_t {
  uint64 padding;
  uint64 key;
}

Animation List

Instance ID 0x3ADB50778D44DF19, Local ID 0x7AE04211

struct Header0x3ADB50778D44DF19 {
  uint id;
  uint next_instance;
  ulong offset_floats;		// array_definition_t -> 6x float32 each
  byte* unk1[40];		// zeroes?
  ulong offset_unk2;		// array_definition_t, so far only has zeroes
  ulong unk2; 			// zero
  ulong offset_records; 	// array_definition_t -> anim_record
  // more data after this
}

anim_record

struct AnimRecord0x3ADB50778D44DF19 {
  ulong unk1;
  ulong unk2;
  record_t animation;
}

STUAnimNode_Animation

Instance ID 0xDA47E175439DCA09, Local ID 0xF2B831A7

struct Header0xDA47E175439DCA09 {
  uint id;
  uint next;
  ulong unk1;
  ulong unk2;
  ulong unk3;
  ulong unk4;
  float unk5;
  float unk6;
  ulong unk7;
  ulong unk8;
  ulong unk9;
  ulong unkA;
  ulong unkB;
  ulong unkC;
  record_t animation1;
  ulong unkD;
  ulong unkE;
  record_t animation2;
  ulong unkF;
  ulong unk10;
  record_t animation3;
  ulong unk11;
  ulong unk12;
  record_t animation4;
  ulong unk13;
  ulong unk14;
  record_t animation5;
  // more data
}

STUAnimBlendTreeSet

Instance ID 0xAAF0D8040993D5DB, Local ID 0x73A19293

struct Header0xAAF0D8040993D5DB {
  uint id;
  uint next;
  record_t f015_1; 
  record_t f015_2; 
  record_t f015_3; 
  record_t f015_4; 
  record_t f015_5; 
  record_t f015_6; 
  record_t f015_7; 
  record_t f015_8; 
  record_t f015_9;
  record_t f015_A;  
  record_t f015_B; 
  record_t f015_C;
  ulong unk1;
  ulong unk2;
  ulong unk3;
  ulong unk4;
  ulong unk5;
  ulong unk6;
  ulong offset1;
  ulong unk7;
  ulong secondary; // -> array_definition -> secondary_reference
  // more data
}

secondary_reference

struct SecondaryReference0xAAF0D8040993D5DB {
  record_t unk1;
  float unk2;
  float unk3;
  ulong unk4;
  ulong unk5;
  ulong unk6;
  record_t secondary;
  record_t unk7;
  ulong unk8;
  ulong unk9;
  ulong unkA;
  ulong unkB;
  ulong unkC;
  ulong unkD;
}