Skip to content

CLO File Structure

seedhartha edited this page Apr 30, 2021 · 80 revisions
  1. File Layout
  2. File Header
  3. Data Header
  4. Bone Data 1
  5. Bone Data 2
  6. Bone Data 3
  7. Bone Data 4

CLO files contain two sets of bones: "cloth" bones and "reference" bones. Each bone has a match within a sibling GR2 file. Apparently, only cloth bones are used for cloth simulation.

File Layout

  1. File Header
  2. Data Header
  3. 128-byte aligned array of 32-char bone names, length equals total number of bones
  4. Array of Bone Data 1 structs, length equals number of "cloth" bones
  5. Array of Bone Data 2 structs, length equals number of "cloth" bones
  6. Array of Bone Data 3 structs
  7. Array of Bone Data 4 structs

File Header

Total size: 16 bytes

Offset (h) Type Count Description Values
00 char 4 Signature OLCB
04 uint32 1 Unknown 1,2
08 uint32 1 Offset to data 10h
0c uint32 1 Size of data Filesize - 16

Data Header

Total size: 112 bytes

Offset (h) Type Count Description Values
00 uint32 1 Unknown 0
04 float 1 Unknown -0.98, -2.5
08 float 3 Unknown 0.0
14 float 1 Unknown N/A
18 float 4 Unknown -1.0
28 uint32 1 Total number of bones N/A
2c uint32 1 Offset to bone names - 10h 70h
30 uint32 1 Number of "cloth" bones N/A
34 uint32 1 Offset to Bone Data 1 - 10h N/A
38 uint32 1 Number of "cloth" bones N/A
3c uint32 1 Offset to Bone Data 2 - 10h N/A
40 uint32 3 Unknown 0
4c uint32 1 Number of elements in Bone Data 3 N/A
50 uint32 1 Offset to Bone Data 3 - 10h N/A
54 uint32 4 Unknown 0
64 uint32 1 Number of elements in Bone Data 4 N/A
68 uint32 1 Offset to Bone Data 4 - 10h N/A
6c uint32 1 Unknown 0

Bone Data 1

Total size: 96 bytes

Offset (h) Type Count Description Values
00 float 4 Constraints (max/min) N/A
10 float 6 Constraints (max/min) N/A
28 float 6 Constraints (max/min) N/A
40 float 4 Unknown N/A
50 int32 2 Unknown indices N/A
54 uint32 1 Bone Index (Cloth) 0 to total number of bones - 1
58 uint32 1 Parent Bone Index (Reference) 0 to total number of bones - 1

Bone Data 2

Struct size is variable, but it always ends with FFFFFFFFh.

Offset (h) Type Count Description Values
00 float 2 Unknown N/A
08 uint32 1 Unknown N/A
0c float 1 Unknown N/A
10 uint32 2 Unknown N/A
18 uint32 2 Unknown 0

Bone Data 3

Total size: 24 bytes

Offset (h) Type Count Description Values
00 uint32 1 Unknown index N/A
04 uint32 1 Unknown index N/A
08 float 3 Unknown N/A
14 uint32 1 Unknown N/A

Bone Data 4

Total size: 16 bytes

Offset (h) Type Count Description Values
00 uint32 4 Unknown indices N/A

Table of Contents


INTRODUCTION

IMPORTING SWTOR MODELS INTO BLENDER: A BRIEF OVERVIEW.
Check this intro first. Afterwards, you can jump directly to the guides on extracting PCs, NPCs and others.


TOOLS

No need to read this section right now: each extracting/assembling guide explains its required tools anyway.

Applications and Blender Add-on tools:

Online Tools:

Deprecated Tools:

  • EasyMYP (Windows app).
  • Noesis (Windows app).

THE COMPLETE GUIDE TO AUTO-EXTRACTING AND ASSEMBLING PLAYER CHARACTERS AND NPCs:

READ THE BROAD STROKES FIRST: YOU'LL SEE IT'S EASIER THAN YOU THINK!


ASSEMBLING GAME LOCATIONS AUTOMATICALLY:


LOCATING AND ASSEMBLING ASSETS MANUALLY:


OTHER GUIDES (WIP):


MODDING (to do)

Modding isn't working at the moment due to SWTOR's change to a 64bit codebase. It's going to take a while 🙁.


DATAMINING (to do)

  • Overview.
  • Tools.

SWTOR TECHNICAL INFORMATION:


OTHER RESOURCES:

Clone this wiki locally