mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
48 lines
841 B
C++
48 lines
841 B
C++
#ifndef __OPENEQ_ZON__
|
|
#define __OPENEQ_ZON__
|
|
|
|
#include "ter.hpp"
|
|
|
|
/* Big thanks to jbb on the ZON stuff! */
|
|
|
|
#pragma pack(1)
|
|
|
|
struct zon_header {
|
|
char magic[4]; // Constant at EQGZ
|
|
long version; // Constant at 2
|
|
long list_len; // Length of the list to follow.
|
|
long NumberOfModels;
|
|
long obj_count; // Placeable object count.
|
|
long unk[2]; // Unknown.
|
|
} typedef zon_header;
|
|
|
|
struct zon_placeable {
|
|
long id;
|
|
long loc;
|
|
float x, y, z;
|
|
float rx, ry, rz;
|
|
float scale;
|
|
} typedef zon_placeable;
|
|
|
|
struct zon_object {
|
|
long offset;
|
|
long id;
|
|
} typedef zon_object;
|
|
|
|
#pragma pack()
|
|
|
|
class ZonLoader : public FileLoader {
|
|
public:
|
|
ZonLoader();
|
|
~ZonLoader();
|
|
|
|
virtual int Open(char *base_path, char *zone_name, Archive *archive);
|
|
virtual int Close();
|
|
|
|
private:
|
|
TERLoader terloader;
|
|
TERLoader *model_loaders;
|
|
};
|
|
|
|
#endif
|