Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
adtfile.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef ADT_H
7#define ADT_H
8
9#include "mpqfile.h"
10#include "wmo.h"
11#include "model.h"
12#include <vector>
13
14#define TILESIZE (533.33333f)
15#define CHUNKSIZE ((TILESIZE) / 16.0f)
16#define UNITSIZE (CHUNKSIZE / 8.0f)
17
18class Liquid;
19
20typedef struct
21{
22 float x;
23 float y;
24 float z;
25}svec;
26
27struct vec
28{
29 double x;
30 double y;
31 double z;
32};
33
35{
36 vec v[3];
37};
38
39typedef struct
40{
41 float v9[16*8+1][16*8+1];
42 float v8[16*8][16*8];
43}Cell;
44
45typedef struct
46{
47 double v9[9][9];
48 double v8[8][8];
50 //Liquid *lq;
51 float waterlevel[9][9];
53}chunk;
54
55typedef struct
56{
57 chunk ch[16][16];
58}mcell;
59
96
97
99{
100private:
101 //size_t mcnk_offsets[256], mcnk_sizes[256];
103 //mcell Mcell;
104 std::string Adtfilename;
105public:
106 ADTFile(char* filename);
107 ~ADTFile();
108 int nWMO;
109 int nMDX;
110 std::vector<std::string> WmoInstanceNames;
111 std::vector<std::string> ModelInstanceNames;
112 bool init(uint32 map_num, uint32 tileX, uint32 tileY);
113 //void LoadMapChunks();
114
115 //uint32 wmo_count;
116/*
117 const mcell& Getmcell() const
118 {
119 return Mcell;
120 }
121*/
122};
123
124char const* GetPlainName(char const* FileName);
125char* GetPlainName(char* FileName);
126char* GetExtension(char* FileName);
127void FixNameCase(char* name, size_t len);
128void FixNameSpaces(char* name, size_t len);
129//void fixMapNamen(char *name, size_t len);
130
131#endif
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
std::uint16_t uint16
Definition Define.h:78
char const * GetPlainName(char const *FileName)
Definition adtfile.cpp:16
void FixNameCase(char *name, size_t len)
Definition adtfile.cpp:34
char * GetExtension(char *FileName)
Definition adtfile.cpp:60
void FixNameSpaces(char *name, size_t len)
Definition adtfile.cpp:51
std::string Adtfilename
Definition adtfile.h:104
int nWMO
Definition adtfile.h:108
std::vector< std::string > ModelInstanceNames
Definition adtfile.h:111
ADTFile(char *filename)
Definition adtfile.cpp:69
MPQFile ADT
Definition adtfile.h:102
bool init(uint32 map_num, uint32 tileX, uint32 tileY)
Definition adtfile.cpp:74
std::vector< std::string > WmoInstanceNames
Definition adtfile.h:110
int nMDX
Definition adtfile.h:109
Definition Cell.h:37
float v8[16 *8][16 *8]
Definition adtfile.h:42
float v9[16 *8+1][16 *8+1]
Definition adtfile.h:41
uint32 textureId
Definition adtfile.h:92
uint32 predTex
Definition adtfile.h:83
uint32 props
Definition adtfile.h:93
uint32 sizeAlpha
Definition adtfile.h:72
uint32 sizeLiquid
Definition adtfile.h:88
uint32 ofsHeight
Definition adtfile.h:67
uint32 iy
Definition adtfile.h:64
uint32 ofsSndEmitters
Definition adtfile.h:85
uint32 ix
Definition adtfile.h:63
uint32 d1
Definition adtfile.h:80
uint32 nSndEmitters
Definition adtfile.h:86
uint32 d2
Definition adtfile.h:81
uint32 nLayers
Definition adtfile.h:65
uint32 ofsNormal
Definition adtfile.h:68
uint16 s1
Definition adtfile.h:78
uint32 ofsRefs
Definition adtfile.h:70
uint32 flags
Definition adtfile.h:62
uint32 ofsAlpha
Definition adtfile.h:71
uint32 areaid
Definition adtfile.h:75
uint32 ofsShadow
Definition adtfile.h:73
uint16 s2
Definition adtfile.h:79
uint32 d3
Definition adtfile.h:82
uint32 effectId
Definition adtfile.h:94
uint32 sizeShadow
Definition adtfile.h:74
uint32 ofsLayer
Definition adtfile.h:69
uint32 nMapObjRefs
Definition adtfile.h:76
uint32 nEffectDoodad
Definition adtfile.h:84
uint32 ofsLiquid
Definition adtfile.h:87
uint32 holes
Definition adtfile.h:77
uint32 nDoodadRefs
Definition adtfile.h:66
float waterlevel[9][9]
Definition adtfile.h:51
double v8[8][8]
Definition adtfile.h:48
uint8 flag
Definition adtfile.h:52
uint16 area_id
Definition adtfile.h:49
double v9[9][9]
Definition adtfile.h:47
chunk ch[16][16]
Definition adtfile.h:57
Definition adtfile.h:21
float x
Definition adtfile.h:22
float z
Definition adtfile.h:24
float y
Definition adtfile.h:23
vec v[3]
Definition adtfile.h:36
Definition adtfile.h:28
double x
Definition adtfile.h:29
double z
Definition adtfile.h:31
double y
Definition adtfile.h:30