PHYS

From wowdev
Revision as of 22:31, 28 March 2012 by Schlumpf (talk | contribs) (Added .phys file description.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

.phys files are [Chunk|chunked]. The files are used by Blizzard's Domino physics engine which got added to WoW in the fourth expansion (MoP). In build 15464, there is one .phys file "item/objectcomponents/waist/buckle_panstart_a_01.phys". .phys files are an extension to M2s.

The main PHYS chunk is followed by an unordered sequence of unique chunks of the other types.

// vec*: * floats
// mat*x*: * times * floats.

PHYS

 short must_be_null;

BOXS

struct BOXSEntry
{
  mat3x3 a;
  vec3 b;
  vec3 c;
} boxShapes[];

CAPS

struct CAPSEntry
{
  int a;
  int b;
  int c;
  vec4 d;
} capsuleShapes[];

SHAP

struct SHAPEntry
{
  short a;
  short b;
  int c;
  float d;
  int e;
  float f;
} shapes[];

BODY

struct BODYEntry
{
  int a;
  int b;
  int c;
  int d;
  short e;
  short f;
  int g;
  int h;
} bodies[];

WELJ

struct WELJEntry
{
  mat3x3 matrix;
  vec3 a;
  mat3x3 matrix2;
  vec3 a2;
  vec2 b;
} weldJoins[];

JOIN

struct JOINEntry
{
  int a;
  int b;
  int c;
  short d;
  short e;
} joins[];

SPHJ

struct SPHJEntry
{
  char a[0x1C];
} entries[];

SPHS

struct SPHSEntry
{
  char a[0x10];
} sphereShapes[];

SHOJ

struct SHOJEntry
{
  char a[0x6C];
} shoulderJoints[];