-
-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move glClear to the common point before the actual render of an image
Added work in progress reverse engineering of MDL files Signed-off-by: Alexis Maiquez <almamu@almamu.com>
- Loading branch information
Showing
2 changed files
with
109 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
# MDL Files | ||
These seem to be simple model files containing the required information to render 3D objects. | ||
They're also used in some 2D backgrounds (like 2879436369) for bones. | ||
|
||
**NOTE**: This documentation page is not completed yet as there's still work left to do on the reverse engineering of this file format. For now just a structure, describing the file format is here | ||
|
||
``` | ||
// | ||
// 010 editor template | ||
// | ||
// | ||
typedef struct { | ||
float x <fgcolor=cRed>; | ||
float y <fgcolor=cGreen>; | ||
float z <fgcolor=cBlue>; | ||
} VECTOR3; | ||
typedef struct { | ||
float x <fgcolor=cRed>; | ||
float y <fgcolor=cGreen>; | ||
float z <fgcolor=cBlue>; | ||
float w <fgcolor=cPurple>; | ||
} VECTOR4; | ||
typedef struct { | ||
float x <fgcolor=cRed>; | ||
float y <fgcolor=cGreen>; | ||
} VECTOR2; | ||
typedef struct { | ||
DWORD x <fgcolor=cRed>; | ||
DWORD y <fgcolor=cGreen>; | ||
DWORD z <fgcolor=cBlue>; | ||
DWORD w <fgcolor=cPurple>; | ||
} BLENDINDICES; | ||
typedef struct { | ||
VECTOR3 vertex <bgcolor=cRed>; | ||
BLENDINDICES blendindices; | ||
VECTOR4 blendweight; | ||
VECTOR2 uv <bgcolor=cBlue>; | ||
} VERTEX; | ||
typedef struct { | ||
WORD x; | ||
WORD y; | ||
WORD z; | ||
} VERTEXINDICE; | ||
typedef struct { | ||
CHAR header[]; | ||
DWORD first; | ||
DWORD second; | ||
DWORD third; | ||
CHAR json[]; | ||
DWORD fourth; | ||
DWORD fifth; | ||
DWORD vertexByteLength; | ||
VERTEX vertices[vertexByteLength / sizeof(VERTEX)]; | ||
DWORD indicesByteLength; | ||
VERTEXINDICE indices[indicesByteLength / sizeof (VERTEXINDICE)] <bgcolor=cYellow>; | ||
} MDLVHEADER; | ||
typedef struct { | ||
BYTE tmp; | ||
DWORD type; | ||
DWORD unk1; | ||
} BONEENTRYHEADER; | ||
typedef struct { | ||
BONEENTRYHEADER header; | ||
DWORD entryByteLength; | ||
float v[entryByteLength / sizeof (float)]; | ||
CHAR info[]; | ||
} BONEENTRY; | ||
typedef struct { | ||
BONEENTRYHEADER header; | ||
} BONE2ENTRY; | ||
typedef struct { | ||
CHAR header[]; | ||
DWORD mightBeByteLength; | ||
DWORD numberOfBones; | ||
BONEENTRY bones[numberOfBones]<optimize=false>; | ||
BONE2ENTRY unk[numberOfBones]<optimize=false>; | ||
} MDLSHEADER; | ||
typedef struct { | ||
CHAR header[]; | ||
} MDLAHEADER; | ||
typedef struct { | ||
MDLVHEADER mdlv; | ||
MDLSHEADER mdls; | ||
} MDLFILE; | ||
LittleEndian (); | ||
MDLFILE file; | ||
// mdlv => vertices information | ||
// mdls => skinning information | ||
// mdla => animation information | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters