Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
TileAssembler.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 _TILEASSEMBLER_H_
7
#define _TILEASSEMBLER_H_
8
9
#include <G3D/Vector3.h>
10
#include <G3D/Matrix3.h>
11
#include <map>
12
#include <set>
13
14
#include "
ModelInstance.h
"
15
#include "
WorldModel.h
"
16
17
namespace
VMAP
18
{
23
//===============================================
24
25
class
ModelPosition
26
{
27
private
:
28
G3D::Matrix3
iRotation
;
29
public
:
30
ModelPosition
():
iScale
(0.0f) { }
31
G3D::Vector3
iPos
;
32
G3D::Vector3
iDir
;
33
float
iScale
;
34
void
init
()
35
{
36
iRotation
= G3D::Matrix3::fromEulerAnglesZYX(G3D::pi()*
iDir
.y/180.f, G3D::pi()*
iDir
.x/180.f, G3D::pi()*
iDir
.z/180.f);
37
}
38
G3D::Vector3
transform
(
const
G3D::Vector3& pIn)
const
;
39
void
moveToBasePos
(
const
G3D::Vector3& pBasePos) {
iPos
-= pBasePos; }
40
};
41
42
typedef
std::map<uint32, ModelSpawn>
UniqueEntryMap
;
43
typedef
std::multimap<uint32, uint32>
TileMap
;
44
45
struct
MapSpawns
46
{
47
UniqueEntryMap
UniqueEntries
;
48
TileMap
TileEntries
;
49
};
50
51
typedef
std::map<uint32, MapSpawns*>
MapData
;
52
//===============================================
53
54
struct
GroupModel_Raw
55
{
56
uint32
mogpflags
;
57
uint32
GroupWMOID
;
58
59
G3D::AABox
bounds
;
60
uint32
liquidflags
;
61
std::vector<MeshTriangle>
triangles
;
62
std::vector<G3D::Vector3>
vertexArray
;
63
class
WmoLiquid
*
liquid
;
64
65
GroupModel_Raw
() :
mogpflags
(0),
GroupWMOID
(0),
liquidflags
(0),
66
liquid
(NULL) { }
67
~GroupModel_Raw
();
68
69
bool
Read
(FILE* f);
70
};
71
72
struct
WorldModel_Raw
73
{
74
uint32
RootWMOID
;
75
std::vector<GroupModel_Raw>
groupsArray
;
76
77
bool
Read
(
const
char
* path);
78
};
79
80
class
TileAssembler
81
{
82
private
:
83
std::string
iDestDir
;
84
std::string
iSrcDir
;
85
bool (*
iFilterMethod
)(
char
*pName);
86
G3D::Table<std::string, unsigned int >
iUniqueNameIds
;
87
unsigned
int
iCurrentUniqueNameId
;
88
MapData
mapData
;
89
std::set<std::string>
spawnedModelFiles
;
90
91
public
:
92
TileAssembler
(
const
std::string& pSrcDirName,
const
std::string& pDestDirName);
93
virtual
~TileAssembler
();
94
95
bool
convertWorld2
();
96
bool
readMapSpawns
();
97
bool
calculateTransformedBound
(
ModelSpawn
&spawn);
98
void
exportGameobjectModels
();
99
100
bool
convertRawFile
(
const
std::string& pModelFilename);
101
void
setModelNameFilterMethod
(
bool
(*pFilterMethod)(
char
*pName)) {
iFilterMethod
= pFilterMethod; }
102
std::string
getDirEntryNameFromModName
(
unsigned
int
pMapId,
const
std::string& pModPosName);
103
};
104
105
}
// VMAP
106
#endif
/*_TILEASSEMBLER_H_*/
uint32
std::uint32_t uint32
Definition
Define.h:77
ModelInstance.h
WorldModel.h
VMAP::ModelPosition::iDir
G3D::Vector3 iDir
Definition
TileAssembler.h:32
VMAP::ModelPosition::moveToBasePos
void moveToBasePos(const G3D::Vector3 &pBasePos)
Definition
TileAssembler.h:39
VMAP::ModelPosition::iPos
G3D::Vector3 iPos
Definition
TileAssembler.h:31
VMAP::ModelPosition::init
void init()
Definition
TileAssembler.h:34
VMAP::ModelPosition::iScale
float iScale
Definition
TileAssembler.h:33
VMAP::ModelPosition::ModelPosition
ModelPosition()
Definition
TileAssembler.h:30
VMAP::ModelPosition::transform
G3D::Vector3 transform(const G3D::Vector3 &pIn) const
Definition
TileAssembler.cpp:34
VMAP::ModelPosition::iRotation
G3D::Matrix3 iRotation
Definition
TileAssembler.h:28
VMAP::ModelSpawn
Definition
ModelInstance.h:30
VMAP::TileAssembler::iCurrentUniqueNameId
unsigned int iCurrentUniqueNameId
Definition
TileAssembler.h:87
VMAP::TileAssembler::iUniqueNameIds
G3D::Table< std::string, unsigned int > iUniqueNameIds
Definition
TileAssembler.h:86
VMAP::TileAssembler::exportGameobjectModels
void exportGameobjectModels()
Definition
TileAssembler.cpp:331
VMAP::TileAssembler::~TileAssembler
virtual ~TileAssembler()
Definition
TileAssembler.cpp:50
VMAP::TileAssembler::readMapSpawns
bool readMapSpawns()
Definition
TileAssembler.cpp:197
VMAP::TileAssembler::mapData
MapData mapData
Definition
TileAssembler.h:88
VMAP::TileAssembler::convertRawFile
bool convertRawFile(const std::string &pModelFilename)
Definition
TileAssembler.cpp:295
VMAP::TileAssembler::iSrcDir
std::string iSrcDir
Definition
TileAssembler.h:84
VMAP::TileAssembler::TileAssembler
TileAssembler(const std::string &pSrcDirName, const std::string &pDestDirName)
Definition
TileAssembler.cpp:43
VMAP::TileAssembler::spawnedModelFiles
std::set< std::string > spawnedModelFiles
Definition
TileAssembler.h:89
VMAP::TileAssembler::calculateTransformedBound
bool calculateTransformedBound(ModelSpawn &spawn)
Definition
TileAssembler.cpp:238
VMAP::TileAssembler::iDestDir
std::string iDestDir
Definition
TileAssembler.h:83
VMAP::TileAssembler::convertWorld2
bool convertWorld2()
Definition
TileAssembler.cpp:55
VMAP::TileAssembler::getDirEntryNameFromModName
std::string getDirEntryNameFromModName(unsigned int pMapId, const std::string &pModPosName)
VMAP::TileAssembler::iFilterMethod
bool(* iFilterMethod)(char *pName)
Definition
TileAssembler.h:85
VMAP::TileAssembler::setModelNameFilterMethod
void setModelNameFilterMethod(bool(*pFilterMethod)(char *pName))
Definition
TileAssembler.h:101
VMAP::WmoLiquid
Definition
WorldModel.h:35
VMAP
Definition
IVMapManager.h:19
VMAP::MapData
std::map< uint32, MapSpawns * > MapData
Definition
TileAssembler.h:51
VMAP::UniqueEntryMap
std::map< uint32, ModelSpawn > UniqueEntryMap
Definition
TileAssembler.h:42
VMAP::TileMap
std::multimap< uint32, uint32 > TileMap
Definition
TileAssembler.h:43
VMAP::GroupModel_Raw::~GroupModel_Raw
~GroupModel_Raw()
Definition
TileAssembler.cpp:499
VMAP::GroupModel_Raw::mogpflags
uint32 mogpflags
Definition
TileAssembler.h:56
VMAP::GroupModel_Raw::bounds
G3D::AABox bounds
Definition
TileAssembler.h:59
VMAP::GroupModel_Raw::GroupModel_Raw
GroupModel_Raw()
Definition
TileAssembler.h:65
VMAP::GroupModel_Raw::GroupWMOID
uint32 GroupWMOID
Definition
TileAssembler.h:57
VMAP::GroupModel_Raw::liquidflags
uint32 liquidflags
Definition
TileAssembler.h:60
VMAP::GroupModel_Raw::liquid
class WmoLiquid * liquid
Definition
TileAssembler.h:63
VMAP::GroupModel_Raw::Read
bool Read(FILE *f)
Definition
TileAssembler.cpp:414
VMAP::GroupModel_Raw::vertexArray
std::vector< G3D::Vector3 > vertexArray
Definition
TileAssembler.h:62
VMAP::GroupModel_Raw::triangles
std::vector< MeshTriangle > triangles
Definition
TileAssembler.h:61
VMAP::MapSpawns
Definition
TileAssembler.h:46
VMAP::MapSpawns::UniqueEntries
UniqueEntryMap UniqueEntries
Definition
TileAssembler.h:47
VMAP::MapSpawns::TileEntries
TileMap TileEntries
Definition
TileAssembler.h:48
VMAP::WorldModel_Raw
Definition
TileAssembler.h:73
VMAP::WorldModel_Raw::Read
bool Read(const char *path)
Definition
TileAssembler.cpp:504
VMAP::WorldModel_Raw::RootWMOID
uint32 RootWMOID
Definition
TileAssembler.h:74
VMAP::WorldModel_Raw::groupsArray
std::vector< GroupModel_Raw > groupsArray
Definition
TileAssembler.h:75
src
server
collision
Maps
TileAssembler.h
Generated on
for Project SkyFire Core by
1.17.0