mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 09:31:30 +00:00
63 lines
1.1 KiB
C++
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
|