2014-08-21 22:43:33 -07:00

63 lines
1.1 KiB
C++

#ifndef __OPENEQ_TER__
#define __OPENEQ_TER__
#include "global.hpp"
#include "file_loader.hpp"
#pragma pack(1)
struct ter_header {
char magic[4];
unsigned long version, list_len, mat_count, vert_count, tri_count;
} typedef ter_header;
struct ter_vertex {
float x, y, z;
float i, j, k;
float u, v;
} typedef ter_vertex;
struct ter_vertexV3 {
float x, y, z;
float i, j, k;
long unk1;
float unk2, unk3;
float u, v;
} typedef ter_vertexV3;
struct ter_triangle {
long v1, v2, v3;
long group;
long unk;
} typedef ter_triangle;
struct ter_object {
long index;
long name_offset, another_name_offset;
long property_count;
} typedef ter_object;
struct ter_property {
long name_offset, type, value;
} typedef ter_property;
struct material {
char *name;
char *basetex;
char var_count;
char **var_names;
char **var_vals;
} typedef material;
#pragma pack()
class TERLoader : public FileLoader {
public:
TERLoader();
~TERLoader();
virtual int Open(char *base_path, char *zone_name, Archive *archive);
virtual int Close();
};
#endif