World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
Polygon.h
См. документацию.
1 #pragma once
2 #include <array>
3 
4 #include "Engine/VectorTypes.h"
5 
6 class Texture;
7 struct ODMFace;
8 struct Span;
9 struct Edge;
10 
11 /* 141 */
12 // stru148
13 #pragma pack(push, 1)
14 struct Polygon {
15  inline Polygon() { uNumVertices = 0; }
16 
17  // int _479295();
18  // void _48276F_sr();
19  void _normalize_v_18();
20  // void Create_48607B(struct SkyBillboardStruct *a2);
21 
22  inline bool IsWater() const { return this->flags & 2; }
23  inline bool IsWaterAnimDisabled() const { return this->flags & 0x3C00; }
24 
25  float field_0;
26  float field_4;
27  float field_8;
28  float field_C;
29  float field_10;
30  unsigned int uNumVertices;
31  Vec3_int_ v_18;
32  int field_24;
35  __int16 flags; // &2 -> Water &3C00 still water (no anim)
36  __int16 field_32;
37  int field_34;
39  Texture *texture; // struct Texture_MM7 *pTexture;
42  int **ptr_48;
43  unsigned __int16 uTileBitmapID;
44  __int16 field_4E;
45  __int16 pid;
46  __int16 field_52;
49  char field_59;
50  char field_5A;
51  char field_5B;
54  unsigned __int8 uBModelID;
55  unsigned __int8 uBModelFaceID;
56  Edge *pEdgeList1[20];
57  unsigned int uEdgeList1Size;
58  Edge *pEdgeList2[20];
59  unsigned int uEdgeList2Size;
60  char field_108;
61  char field_109;
62  char field_10A;
63  char field_10B;
64 };
65 #pragma pack(pop)
66 
67 extern std::array<struct Polygon, 2000 + 18000> array_77EC08;
Polygon::field_0
float field_0
Definition: Polygon.h:25
Polygon::field_32
__int16 field_32
Definition: Polygon.h:36
Polygon::field_52
__int16 field_52
Definition: Polygon.h:46
Polygon::IsWaterAnimDisabled
bool IsWaterAnimDisabled() const
Definition: Polygon.h:23
Polygon::terrain_grid_x
char terrain_grid_x
Definition: Polygon.h:53
Polygon::sTextureDeltaU
int sTextureDeltaU
Definition: Polygon.h:33
VectorTypes.h
Polygon::_unused_prolly_tail
Span * _unused_prolly_tail
Definition: Polygon.h:41
Polygon::field_C
float field_C
Definition: Polygon.h:28
Polygon::field_10B
char field_10B
Definition: Polygon.h:63
Polygon
Definition: Polygon.h:14
SkyBillboardStruct
Definition: IRender.h:465
Polygon::pEdgeList1
Edge * pEdgeList1[20]
Definition: Polygon.h:56
Texture
Definition: Texture.h:4
Polygon::field_59
char field_59
Definition: Polygon.h:49
Polygon::field_109
char field_109
Definition: Polygon.h:61
array_77EC08
std::array< struct Polygon, 2000+18000 > array_77EC08
Definition: Outdoor.cpp:52
Polygon::field_24
int field_24
Definition: Polygon.h:32
Polygon::field_10
float field_10
Definition: Polygon.h:29
Polygon::ptr_48
int ** ptr_48
Definition: Polygon.h:42
Polygon::field_4E
__int16 field_4E
Definition: Polygon.h:44
Polygon::dimming_level
char dimming_level
Definition: Polygon.h:48
Polygon::texture
Texture * texture
Definition: Polygon.h:39
Polygon::Polygon
Polygon()
Definition: Polygon.h:15
Polygon::uNumVertices
unsigned int uNumVertices
Definition: Polygon.h:30
Polygon::field_5A
char field_5A
Definition: Polygon.h:50
Polygon::field_34
int field_34
Definition: Polygon.h:37
Polygon::IsWater
bool IsWater() const
Definition: Polygon.h:22
Polygon::v_18
Vec3_int_ v_18
Definition: Polygon.h:31
Polygon::_normalize_v_18
void _normalize_v_18()
Definition: Render.cpp:5598
Polygon::uBModelID
unsigned __int8 uBModelID
Definition: Polygon.h:54
Polygon::_unused_prolly_head
Span * _unused_prolly_head
Definition: Polygon.h:40
Polygon::field_8
float field_8
Definition: Polygon.h:27
Polygon::field_108
char field_108
Definition: Polygon.h:60
Polygon::field_4
float field_4
Definition: Polygon.h:26
Polygon::pEdgeList2
Edge * pEdgeList2[20]
Definition: Polygon.h:58
Polygon::terrain_grid_z
char terrain_grid_z
Definition: Polygon.h:52
Polygon::uTileBitmapID
unsigned __int16 uTileBitmapID
Definition: Polygon.h:43
Polygon::flags
__int16 flags
Definition: Polygon.h:35
Polygon::uEdgeList2Size
unsigned int uEdgeList2Size
Definition: Polygon.h:59
Polygon::sTextureDeltaV
int sTextureDeltaV
Definition: Polygon.h:34
Polygon::pODMFace
ODMFace * pODMFace
Definition: Polygon.h:47
Polygon::field_10A
char field_10A
Definition: Polygon.h:62
ODMFace
Definition: BSPModel.h:93
flags
EGLSyncKHR EGLint flags
Definition: SDL_egl.h:898
Polygon::pid
__int16 pid
Definition: Polygon.h:45
Polygon::ptr_38
struct SkyBillboardStruct * ptr_38
Definition: Polygon.h:38
Polygon::uEdgeList1Size
unsigned int uEdgeList1Size
Definition: Polygon.h:57
Polygon::field_5B
char field_5B
Definition: Polygon.h:51
Polygon::uBModelFaceID
unsigned __int8 uBModelFaceID
Definition: Polygon.h:55