TrinityCore
Loading...
Searching...
No Matches
wdtfile.h
Go to the documentation of this file.
1
/*
2
* This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3
*
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License as published by the
6
* Free Software Foundation; either version 2 of the License, or (at your
7
* option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12
* more details.
13
*
14
* You should have received a copy of the GNU General Public License along
15
* with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef WDTFILE_H
19
#define WDTFILE_H
20
21
#include "
cascfile.h
"
22
#include <memory>
23
#include <string>
24
#include <vector>
25
26
class
ADTFile
;
27
28
#pragma pack(push, 1)
29
namespace
WDT
30
{
31
struct
MPHD
32
{
33
uint32
Flags
;
34
uint32
LgtFileDataID
;
35
uint32
OccFileDataID
;
36
uint32
FogsFileDataID
;
37
uint32
MpvFileDataID
;
38
uint32
TexFileDataID
;
39
uint32
WdlFileDataID
;
40
uint32
Pd4FileDataID
;
41
};
42
43
struct
MAIN
44
{
45
struct
SMAreaInfo
46
{
47
uint32
Flag
;
48
uint32
AsyncId
;
49
}
Data
[64][64];
50
};
51
52
struct
MAID
53
{
54
struct
SMAreaFileIDs
55
{
56
uint32
RootADT
;
// FileDataID of mapname_xx_yy.adt
57
uint32
Obj0ADT
;
// FileDataID of mapname_xx_yy_obj0.adt
58
uint32
Obj1ADT
;
// FileDataID of mapname_xx_yy_obj1.adt
59
uint32
Tex0ADT
;
// FileDataID of mapname_xx_yy_tex0.adt
60
uint32
LodADT
;
// FileDataID of mapname_xx_yy_lod.adt
61
uint32
MapTexture
;
// FileDataID of mapname_xx_yy.blp
62
uint32
MapTextureN
;
// FileDataID of mapname_xx_yy_n.blp
63
uint32
MinimapTexture
;
// FileDataID of mapxx_yy.blp
64
}
Data
[64][64];
65
};
66
}
67
#pragma pack(pop)
68
69
class
WDTFile
70
{
71
public
:
72
WDTFile
(
uint32
fileDataId, std::string
const
& description, std::string mapName,
bool
cache);
73
~WDTFile
();
74
bool
init
(
uint32
mapId);
75
76
ADTFile
*
GetMap
(
int32
x,
int32
y,
bool
createIfMissing);
77
void
FreeADT
(
ADTFile
* adt);
78
private
:
79
CASCFile
_file
;
80
WDT::MPHD
_header
;
81
WDT::MAIN
_adtInfo
;
82
std::unique_ptr<WDT::MAID>
_adtFileDataIds
;
83
std::string
_mapName
;
84
std::vector<std::string>
_wmoNames
;
85
struct
ADTCache
86
{
87
std::unique_ptr<ADTFile>
file
[64][64];
88
};
89
std::unique_ptr<ADTCache>
_adtCache
;
90
};
91
92
#endif
int32
int32_t int32
Definition
Define.h:150
uint32
uint32_t uint32
Definition
Define.h:154
cascfile.h
ADTFile
Definition
adtfile.h:60
CASCFile
Definition
cascfile.h:26
WDTFile
Definition
wdtfile.h:70
WDTFile::~WDTFile
~WDTFile()
WDTFile::FreeADT
void FreeADT(ADTFile *adt)
Definition
wdtfile.cpp:160
WDTFile::_adtInfo
WDT::MAIN _adtInfo
Definition
wdtfile.h:81
WDTFile::_header
WDT::MPHD _header
Definition
wdtfile.h:80
WDTFile::_wmoNames
std::vector< std::string > _wmoNames
Definition
wdtfile.h:84
WDTFile::init
bool init(uint32 mapId)
Definition
wdtfile.cpp:40
WDTFile::GetMap
ADTFile * GetMap(int32 x, int32 y, bool createIfMissing)
Definition
wdtfile.cpp:133
WDTFile::_file
CASCFile _file
Definition
wdtfile.h:79
WDTFile::_mapName
std::string _mapName
Definition
wdtfile.h:83
WDTFile::_adtCache
std::unique_ptr< ADTCache > _adtCache
Definition
wdtfile.h:89
WDTFile::_adtFileDataIds
std::unique_ptr< WDT::MAID > _adtFileDataIds
Definition
wdtfile.h:82
WDT
Definition
wdtfile.h:30
WDTFile::ADTCache
Definition
wdtfile.h:86
WDTFile::ADTCache::file
std::unique_ptr< ADTFile > file[64][64]
Definition
wdtfile.h:87
WDT::MAID::SMAreaFileIDs
Definition
wdtfile.h:55
WDT::MAID::SMAreaFileIDs::LodADT
uint32 LodADT
Definition
wdtfile.h:60
WDT::MAID::SMAreaFileIDs::Obj1ADT
uint32 Obj1ADT
Definition
wdtfile.h:58
WDT::MAID::SMAreaFileIDs::Obj0ADT
uint32 Obj0ADT
Definition
wdtfile.h:57
WDT::MAID::SMAreaFileIDs::MinimapTexture
uint32 MinimapTexture
Definition
wdtfile.h:63
WDT::MAID::SMAreaFileIDs::Tex0ADT
uint32 Tex0ADT
Definition
wdtfile.h:59
WDT::MAID::SMAreaFileIDs::RootADT
uint32 RootADT
Definition
wdtfile.h:56
WDT::MAID::SMAreaFileIDs::MapTextureN
uint32 MapTextureN
Definition
wdtfile.h:62
WDT::MAID::SMAreaFileIDs::MapTexture
uint32 MapTexture
Definition
wdtfile.h:61
WDT::MAID
Definition
wdtfile.h:53
WDT::MAID::Data
struct WDT::MAID::SMAreaFileIDs Data[64][64]
WDT::MAIN::SMAreaInfo
Definition
wdtfile.h:46
WDT::MAIN::SMAreaInfo::Flag
uint32 Flag
Definition
wdtfile.h:47
WDT::MAIN::SMAreaInfo::AsyncId
uint32 AsyncId
Definition
wdtfile.h:48
WDT::MAIN
Definition
wdtfile.h:44
WDT::MAIN::Data
struct WDT::MAIN::SMAreaInfo Data[64][64]
WDT::MPHD
Definition
wdtfile.h:32
WDT::MPHD::LgtFileDataID
uint32 LgtFileDataID
Definition
wdtfile.h:34
WDT::MPHD::TexFileDataID
uint32 TexFileDataID
Definition
wdtfile.h:38
WDT::MPHD::OccFileDataID
uint32 OccFileDataID
Definition
wdtfile.h:35
WDT::MPHD::WdlFileDataID
uint32 WdlFileDataID
Definition
wdtfile.h:39
WDT::MPHD::Flags
uint32 Flags
Definition
wdtfile.h:33
WDT::MPHD::MpvFileDataID
uint32 MpvFileDataID
Definition
wdtfile.h:37
WDT::MPHD::Pd4FileDataID
uint32 Pd4FileDataID
Definition
wdtfile.h:40
WDT::MPHD::FogsFileDataID
uint32 FogsFileDataID
Definition
wdtfile.h:36
tools
vmap4_extractor
wdtfile.h
Generated on Sun May 10 2026 02:09:16 for TrinityCore by
1.9.8