evaluate most of MODL chunk,
missing GEOM chunk,
This commit is contained in:
@@ -2,7 +2,16 @@
|
||||
#include <vector>
|
||||
#include <list>
|
||||
#include <fstream>
|
||||
//#include <windows.h>
|
||||
#include <string>
|
||||
|
||||
enum mtyp {
|
||||
null,
|
||||
dynamicMesh,
|
||||
cloth,
|
||||
bone,
|
||||
staticMesh,
|
||||
shadowMesh = 6
|
||||
};
|
||||
|
||||
struct chunkHeader {
|
||||
char name[5];
|
||||
@@ -10,6 +19,28 @@ struct chunkHeader {
|
||||
std::streampos position;
|
||||
};
|
||||
|
||||
struct modl {
|
||||
std::string name;
|
||||
std::uint32_t size;
|
||||
std::streampos position;
|
||||
std::string parent;
|
||||
mtyp type;
|
||||
std::uint32_t zeroBaseIndex;
|
||||
std::uint32_t renderFlags;
|
||||
struct {
|
||||
float scale[3];
|
||||
float rotation[4];
|
||||
float translation[3];
|
||||
} tran;
|
||||
struct {
|
||||
std::uint32_t type;
|
||||
float data1;
|
||||
float data2;
|
||||
float data3;
|
||||
} swci;
|
||||
};
|
||||
|
||||
|
||||
class Object
|
||||
{
|
||||
public:
|
||||
@@ -19,7 +50,7 @@ public:
|
||||
private:
|
||||
|
||||
std::list<chunkHeader*> lChunkMsh2;
|
||||
std::list<std::list<chunkHeader*>*> lChunkModls;
|
||||
std::list<modl*> lModls;
|
||||
std::fstream fsMesh;
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user