Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
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
18
class
Liquid;
19
20
typedef
struct
21
{
22
float
x
;
23
float
y
;
24
float
z
;
25
}
svec
;
26
27
struct
vec
28
{
29
double
x
;
30
double
y
;
31
double
z
;
32
};
33
34
struct
triangle
35
{
36
vec
v
[3];
37
};
38
39
typedef
struct
40
{
41
float
v9
[16*8+1][16*8+1];
42
float
v8
[16*8][16*8];
43
}
Cell
;
44
45
typedef
struct
46
{
47
double
v9
[9][9];
48
double
v8
[8][8];
49
uint16
area_id
;
50
//Liquid *lq;
51
float
waterlevel
[9][9];
52
uint8
flag
;
53
}
chunk
;
54
55
typedef
struct
56
{
57
chunk
ch
[16][16];
58
}
mcell
;
59
60
struct
MapChunkHeader
61
{
62
uint32
flags
;
63
uint32
ix
;
64
uint32
iy
;
65
uint32
nLayers
;
66
uint32
nDoodadRefs
;
67
uint32
ofsHeight
;
68
uint32
ofsNormal
;
69
uint32
ofsLayer
;
70
uint32
ofsRefs
;
71
uint32
ofsAlpha
;
72
uint32
sizeAlpha
;
73
uint32
ofsShadow
;
74
uint32
sizeShadow
;
75
uint32
areaid
;
76
uint32
nMapObjRefs
;
77
uint32
holes
;
78
uint16
s1
;
79
uint16
s2
;
80
uint32
d1
;
81
uint32
d2
;
82
uint32
d3
;
83
uint32
predTex
;
84
uint32
nEffectDoodad
;
85
uint32
ofsSndEmitters
;
86
uint32
nSndEmitters
;
87
uint32
ofsLiquid
;
88
uint32
sizeLiquid
;
89
float
zpos
;
90
float
xpos
;
91
float
ypos
;
92
uint32
textureId
;
93
uint32
props
;
94
uint32
effectId
;
95
};
96
97
98
class
ADTFile
99
{
100
private
:
101
//size_t mcnk_offsets[256], mcnk_sizes[256];
102
MPQFile
ADT
;
103
//mcell Mcell;
104
std::string
Adtfilename
;
105
public
:
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
124
char
const
*
GetPlainName
(
char
const
* FileName);
125
char
*
GetPlainName
(
char
* FileName);
126
char
*
GetExtension
(
char
* FileName);
127
void
FixNameCase
(
char
* name,
size_t
len);
128
void
FixNameSpaces
(
char
* name,
size_t
len);
129
//void fixMapNamen(char *name, size_t len);
130
131
#endif
uint8
std::uint8_t uint8
Definition
Define.h:79
uint32
std::uint32_t uint32
Definition
Define.h:77
uint16
std::uint16_t uint16
Definition
Define.h:78
GetPlainName
char const * GetPlainName(char const *FileName)
Definition
adtfile.cpp:16
FixNameCase
void FixNameCase(char *name, size_t len)
Definition
adtfile.cpp:34
GetExtension
char * GetExtension(char *FileName)
Definition
adtfile.cpp:60
FixNameSpaces
void FixNameSpaces(char *name, size_t len)
Definition
adtfile.cpp:51
ADTFile::Adtfilename
std::string Adtfilename
Definition
adtfile.h:104
ADTFile::nWMO
int nWMO
Definition
adtfile.h:108
ADTFile::ModelInstanceNames
std::vector< std::string > ModelInstanceNames
Definition
adtfile.h:111
ADTFile::ADTFile
ADTFile(char *filename)
Definition
adtfile.cpp:69
ADTFile::ADT
MPQFile ADT
Definition
adtfile.h:102
ADTFile::init
bool init(uint32 map_num, uint32 tileX, uint32 tileY)
Definition
adtfile.cpp:74
ADTFile::WmoInstanceNames
std::vector< std::string > WmoInstanceNames
Definition
adtfile.h:110
ADTFile::~ADTFile
~ADTFile()
Definition
adtfile.cpp:204
ADTFile::nMDX
int nMDX
Definition
adtfile.h:109
MPQFile
Definition
mpqfile.h:51
model.h
mpqfile.h
Cell
Definition
Cell.h:37
Cell::v8
float v8[16 *8][16 *8]
Definition
adtfile.h:42
Cell::v9
float v9[16 *8+1][16 *8+1]
Definition
adtfile.h:41
MapChunkHeader
Definition
adtfile.h:61
MapChunkHeader::textureId
uint32 textureId
Definition
adtfile.h:92
MapChunkHeader::predTex
uint32 predTex
Definition
adtfile.h:83
MapChunkHeader::props
uint32 props
Definition
adtfile.h:93
MapChunkHeader::sizeAlpha
uint32 sizeAlpha
Definition
adtfile.h:72
MapChunkHeader::zpos
float zpos
Definition
adtfile.h:89
MapChunkHeader::sizeLiquid
uint32 sizeLiquid
Definition
adtfile.h:88
MapChunkHeader::ofsHeight
uint32 ofsHeight
Definition
adtfile.h:67
MapChunkHeader::iy
uint32 iy
Definition
adtfile.h:64
MapChunkHeader::ofsSndEmitters
uint32 ofsSndEmitters
Definition
adtfile.h:85
MapChunkHeader::ix
uint32 ix
Definition
adtfile.h:63
MapChunkHeader::d1
uint32 d1
Definition
adtfile.h:80
MapChunkHeader::nSndEmitters
uint32 nSndEmitters
Definition
adtfile.h:86
MapChunkHeader::ypos
float ypos
Definition
adtfile.h:91
MapChunkHeader::d2
uint32 d2
Definition
adtfile.h:81
MapChunkHeader::nLayers
uint32 nLayers
Definition
adtfile.h:65
MapChunkHeader::ofsNormal
uint32 ofsNormal
Definition
adtfile.h:68
MapChunkHeader::s1
uint16 s1
Definition
adtfile.h:78
MapChunkHeader::ofsRefs
uint32 ofsRefs
Definition
adtfile.h:70
MapChunkHeader::flags
uint32 flags
Definition
adtfile.h:62
MapChunkHeader::ofsAlpha
uint32 ofsAlpha
Definition
adtfile.h:71
MapChunkHeader::areaid
uint32 areaid
Definition
adtfile.h:75
MapChunkHeader::ofsShadow
uint32 ofsShadow
Definition
adtfile.h:73
MapChunkHeader::s2
uint16 s2
Definition
adtfile.h:79
MapChunkHeader::d3
uint32 d3
Definition
adtfile.h:82
MapChunkHeader::effectId
uint32 effectId
Definition
adtfile.h:94
MapChunkHeader::sizeShadow
uint32 sizeShadow
Definition
adtfile.h:74
MapChunkHeader::ofsLayer
uint32 ofsLayer
Definition
adtfile.h:69
MapChunkHeader::nMapObjRefs
uint32 nMapObjRefs
Definition
adtfile.h:76
MapChunkHeader::nEffectDoodad
uint32 nEffectDoodad
Definition
adtfile.h:84
MapChunkHeader::xpos
float xpos
Definition
adtfile.h:90
MapChunkHeader::ofsLiquid
uint32 ofsLiquid
Definition
adtfile.h:87
MapChunkHeader::holes
uint32 holes
Definition
adtfile.h:77
MapChunkHeader::nDoodadRefs
uint32 nDoodadRefs
Definition
adtfile.h:66
chunk
Definition
adtfile.h:46
chunk::waterlevel
float waterlevel[9][9]
Definition
adtfile.h:51
chunk::v8
double v8[8][8]
Definition
adtfile.h:48
chunk::flag
uint8 flag
Definition
adtfile.h:52
chunk::area_id
uint16 area_id
Definition
adtfile.h:49
chunk::v9
double v9[9][9]
Definition
adtfile.h:47
mcell
Definition
adtfile.h:56
mcell::ch
chunk ch[16][16]
Definition
adtfile.h:57
svec
Definition
adtfile.h:21
svec::x
float x
Definition
adtfile.h:22
svec::z
float z
Definition
adtfile.h:24
svec::y
float y
Definition
adtfile.h:23
triangle
Definition
adtfile.h:35
triangle::v
vec v[3]
Definition
adtfile.h:36
vec
Definition
adtfile.h:28
vec::x
double x
Definition
adtfile.h:29
vec::z
double z
Definition
adtfile.h:31
vec::y
double y
Definition
adtfile.h:30
wmo.h
src
tools
vmap4_extractor
adtfile.h
Generated on
for Project SkyFire Core by
1.17.0