Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
model.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 MODEL_H
7#define MODEL_H
8
9#include "vec3d.h"
10#include "modelheaders.h"
11#include <vector>
12
13class MPQFile;
14
16
17class Model
18{
19private:
20 void _unload()
21 {
22 delete[] vertices;
23 delete[] indices;
24 vertices = NULL;
25 indices = NULL;
26 }
27 std::string filename;
28public:
32
33 bool open();
34 bool ConvertToVMAPModel(char const* outfilename);
35
36 Model(std::string& filename);
37 ~Model() { _unload(); }
38};
39
41{
42public:
46 float sc;
47
48 ModelInstance() : id(0), scale(0), flags(0), sc(0.0f) {}
49 ModelInstance(MPQFile& f, char const* ModelInstName, uint32 mapID, uint32 tileX, uint32 tileY, FILE* pDirfile);
50
51};
52
53#endif
std::uint32_t uint32
Definition Define.h:77
std::uint16_t uint16
Definition Define.h:78
Vec3D * vertices
Definition model.h:30
ModelHeader header
Definition model.h:29
uint16 * indices
Definition model.h:31
std::string filename
Definition model.h:27
bool open()
Definition model.cpp:21
void _unload()
Definition model.h:20
~Model()
Definition model.h:37
Model(std::string &filename)
Definition model.cpp:16
bool ConvertToVMAPModel(char const *outfilename)
Definition model.cpp:59
uint16 flags
Definition model.h:45
uint16 scale
Definition model.h:45
Vec3D rot
Definition model.h:44
Vec3D pos
Definition model.h:44
float sc
Definition model.h:46
uint32 id
Definition model.h:43
ModelInstance()
Definition model.h:48
Definition vec3d.h:13
Vec3D fixCoordSystem(Vec3D v)
Definition model.cpp:124