Core/Extractors: Fixed a possible issue with M2 model scaling

This commit is contained in:
Shauren
2013-06-27 19:38:03 +02:00
parent d967162f39
commit 53e5fc2fbc
2 changed files with 5 additions and 7 deletions

View File

@@ -128,7 +128,6 @@ Vec3D fixCoordSystem2(Vec3D v)
}
ModelInstance::ModelInstance(MPQFile& f, char const* ModelInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE *pDirfile)
: model(NULL), d1(0), w(0.0f)
{
float ff[3];
f.read(&id, 4);
@@ -136,7 +135,8 @@ ModelInstance::ModelInstance(MPQFile& f, char const* ModelInstName, uint32 mapID
pos = fixCoords(Vec3D(ff[0], ff[1], ff[2]));
f.read(ff, 12);
rot = Vec3D(ff[0], ff[1], ff[2]);
f.read(&scale, 4);
f.read(&scale, 2);
f.read(&flags, 2);
// scale factor - divide by 1024. blizzard devs must be on crack, why not just use a float?
sc = scale / 1024.0f;

View File

@@ -54,14 +54,12 @@ public:
class ModelInstance
{
public:
Model* model;
uint32 id;
Vec3D pos, rot;
unsigned int d1, scale;
float w, sc;
uint16 scale, flags;
float sc;
ModelInstance() : model(NULL), id(0), d1(0), scale(0), w(0.0f), sc(0.0f) {}
ModelInstance() : id(0), scale(0), flags(0), sc(0.0f) {}
ModelInstance(MPQFile& f, char const* ModelInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE* pDirfile);
};