Reverse-engineering Pathologic game resources and share my results in the public domain
Pathologic is a property of Ice-Pick Lodge. All right belong to their respective owners.
- Extract .VFS files
- Create GUI utility to extract and pack .VFS files
- Reverse-enginere
.mesh
files structure - Create a model viewer
Contains 3D models data.
struct {
unsigned int unknown1;
if (unknown1 == 0) {
unsigned int unknown2;
}
unsigned int unknown3;
unsigned int unknown4;
unsigned char unknown5;
unsigned char texture_name_length;
char texture_name[texture_name_length];
unsigned char unknown6;
unsigned int vertices_count;
unsigned int indices_count;
float unknown_floats[19]; // there are always 19 float values here, but their purpose is unknown
char unknown_chunk[13] // for inv_lemon.mesh
// char unknown_chunk[13] // for inv_samopal.mesh
// char unknown_chunk[13] // for grenade.mesh
// char unknown_chunk[17] // for victoria.mesh
// char unknown_chunk[17] // for avrox_grave01.mesh
// char unknown_chunk[85] // for pond.mesh
// char unknown_chunk[729] // for trash01.mesh
// char unknown_chunk[3766] // for Bench41.mesh
// char unknown_chunk[4643] // for ithouse_podushka06.mesh
// char unknown_chunk[159528] // for b6q01_bull.mesh
struct {
short x;
short y;
short z;
char unknown[12];
} vertices[vertices_count];
struct {
short v1;
short v2;
short v3;
} indices[indices_count];
} mesh;