comparison Outdoor.h @ 0:8b8875f5b359

Initial commit
author Nomad
date Fri, 05 Oct 2012 16:07:14 +0200
parents
children 5159d2e6f559
comparison
equal deleted inserted replaced
-1:000000000000 0:8b8875f5b359
1 #pragma
2 #include "BSPModel.h"
3 #include "OutdoorCamera.h"
4 #include "Indoor.h"
5
6
7
8 /* 256 */
9 #pragma pack(push, 1)
10 struct ODMHeader
11 {
12 int uVersion;
13 char pMagic[4];
14 unsigned int uCompressedSize;
15 unsigned int uDecompressedSize;
16 };
17 #pragma pack(pop)
18
19
20
21 /* 78 */
22 #pragma pack(push, 1)
23 struct OutdoorLocationTileType
24 {
25 unsigned __int16 uTileGroup;
26 unsigned __int16 uTileID;
27 };
28 #pragma pack(pop)
29
30
31
32
33 /* 79 */
34 #pragma pack(push, 1)
35 struct OutdoorLocationTerrain
36 {
37 //----- (0047C794) --------------------------------------------------------
38 inline OutdoorLocationTerrain()
39 {
40 this->pHeightmap = 0;
41 this->pTilemap = 0;
42 this->ptr_C = 0;
43 this->field_10 = 0;
44 this->field_12 = 0;
45 }
46
47 void _47C7A9();
48 void Release();
49 int _47C80A(int a2, int a3, int a4, int a5);
50 int _47CB57(int a1, int a2, int a3);
51 bool ZeroLandscape();
52 bool Initialize();
53
54
55 unsigned __int8 *pHeightmap;
56 unsigned __int8 *pTilemap;
57 unsigned __int8 *pAttributemap;
58 void *ptr_C;
59 __int16 field_10;
60 __int16 field_12;
61 __int16 field_14;
62 __int16 field_16;
63 int field_18;
64 int field_1C;
65 };
66 #pragma pack(pop)
67
68
69 /* 81 */
70 #pragma pack(push, 1)
71 struct ODMFace
72 {
73 bool HasEventHint();
74
75
76 static bool IsBackfaceCulled(struct ODMFace *a1, struct RenderVertexSoft *a2, struct stru148 *a3);
77
78
79 struct Plane_int_ pFacePlane;
80 int zCalc1;
81 int zCalc2;
82 int zCalc3;
83 unsigned int uFaceAttributes;
84 unsigned __int16 pVertexIDs[20];
85 unsigned __int16 pTextureUIDs[20];
86 unsigned __int16 pTextureVIDs[20];
87 unsigned __int16 pXInterceptDisplacements[20];
88 unsigned __int16 pYInterceptDisplacements[20];
89 unsigned __int16 pZInterceptDisplacements[20];
90 unsigned __int16 uTextureID;
91 __int16 sTextureDeltaU;
92 __int16 sTextureDeltaV;
93 struct BBox_short_ pBoundingBox;
94 __int16 sCogNumber;
95 __int16 sCogTriggeredID;
96 __int16 sCogTriggerType;
97 char field_128;
98 char field_129;
99 unsigned __int8 uGradientVertex1;
100 unsigned __int8 uGradientVertex2;
101 unsigned __int8 uGradientVertex3;
102 unsigned __int8 uGradientVertex4;
103 unsigned __int8 uNumVertices;
104 unsigned __int8 uPolygonType;
105 unsigned __int8 uShadeType;
106 unsigned __int8 bVisible;
107 char field_132;
108 char field_133;
109 };
110 #pragma pack(pop)
111
112
113
114 #pragma pack(push, 1)
115 struct OutdoorLocation
116 {
117 //----- (004626BA) --------------------------------------------------------
118 OutdoorLocation()
119 {
120 subconstuctor();
121 uLastSunlightUpdateMinute = 0;
122 }
123 //----- (004626CD) --------------------------------------------------------
124 void subconstuctor()
125 {
126 //OutdoorLocationTerrain::OutdoorLocationTerrain(&this->pTerrain);
127 field_F0 = 0;
128 field_F4 = 0x40000000u;
129 //DLVHeader::DLVHeader(&v1->ddm);
130 pSpawnPoints = 0;
131 pBModels = 0;
132 ptr_D4 = 0;
133 pFaceIDLIST = 0;
134 pOMAP = 0;
135 }
136
137 void ExecDraw(unsigned int bRedraw);
138 unsigned int DrawActors();
139 void CreateDebugLocation();
140 void Release();
141 bool Load(char *pFilename, ODMFace *File, size_t a4, int thisa);
142 int _47ECC1(signed int a2);
143 unsigned int DoGetTileTexture(unsigned int uX, unsigned int uZ);
144 int _47ED83(signed int a2, signed int a3);
145 int ActuallyGetSomeOtherTileInfo(unsigned int uX, unsigned int uY);
146 int DoGetHeightOnTerrain(unsigned int uX, unsigned int uZ);
147 int _47EE49(signed int a2, signed int a3, int a4);
148 int _47EF60(int a2, int a3, int a4);
149 bool _47F04C(signed int a2, signed int a3);
150 bool _47F097(signed int a2, signed int a3);
151 bool _47F0E2();
152 int PrepareDecorations();
153 int _47F223_LooksLikeGenerateMonsterLoot();
154 bool InitalizeActors(int a1);
155 bool _47F3EA();
156 bool _47F420();
157 double GetFogDensityByTime();
158 int GetSomeOtherTileInfo(int sX, int sY);
159 unsigned int GetTileTexture(int sX, int sZ);
160 int GetHeightOnTerrain(int sX, int sZ);
161 bool Initialize(const char *pFilename, int File, size_t uRespawnInterval, int thisa);
162 bool Release2();
163 bool GetTravelDestination(signed int sPartyX, signed int sPartyZ, char *pOut, signed int a5);
164 void MessWithLUN();
165 unsigned int UpdateSunlightVectors();
166 void UpdateFog();
167 int GetNumFoodRequiredToRestInCurrentPos(int x, signed int y, int z);
168 int SetFog();
169 void Draw();
170
171
172 char pLevelFilename[32];
173 char pLocationFileName[32];
174 char pLocationFileDescription[32];
175 char pSkyTextureName[32];
176 char pGroundTileset[32];
177 OutdoorLocationTileType pTileTypes[4];
178 unsigned int uNumBModels;
179 struct OutdoorLocationTerrain pTerrain;
180 void *ptr_D4;
181 struct BSPModel *pBModels;
182 int field_DC;
183 unsigned __int16 *pFaceIDLIST;
184 unsigned int *pOMAP;
185 unsigned int uSky_TextureID;
186 unsigned int uMainTile_BitmapID;
187 __int16 field_F0;
188 __int16 field_F2;
189 int field_F4;
190 char field_F8[968];
191 unsigned int uNumSpawnPoints;
192 struct SpawnPointMM7 *pSpawnPoints;
193 struct DDM_DLV_Header ddm;
194 unsigned __int64 uLastVisitDay;
195 char field_4F8[12];
196 int day_attrib;
197 int day_fogrange_1;
198 int day_fogrange_2;
199 char field_510[24];
200 char array_528[968];
201 char array_8F0[968];
202 int field_CB8;
203 int field_CBC_terrain_triangles_shade_type;
204 int field_CC0;
205 unsigned int pSpriteIDs_LUN[8];
206 unsigned int uSpriteID_LUNFULL;
207 int field_CE8;
208 unsigned int uSpriteID_LUN3_4_cp;
209 int field_CF0;
210 unsigned int uSpriteID_LUN1_2_cp;
211 int field_CF8;
212 unsigned int uSpriteID_LUN1_4_cp;
213 int field_D00;
214 unsigned __int16 uSpriteID_LUN_SUN;
215 __int16 field_D06;
216 int field_D08;
217 int field_D0C;
218 int field_D10;
219 int field_D14;
220 int field_D18;
221 int field_D1C;
222 int field_D20;
223 int field_D24;
224 int field_D28;
225 int field_D2C;
226 Vec3_int_ vSunlight;
227 int field_D3C;
228 int field_D40;
229 int field_D44;
230 int field_D48;
231 int field_D4C;
232 float field_D50;
233 int field_D54;
234 int field_D58;
235 int field_D5C;
236 int field_D60;
237 int field_D64;
238 char field_D68[111900];
239 float fFogDensity;
240 int uLastSunlightUpdateMinute;
241 };
242 #pragma pack(pop)
243
244
245 extern struct OutdoorLocation *pOutdoor;
246
247
248
249
250
251
252
253
254
255
256
257
258
259 #include "Outdoor_stuff.h"