Mercurial > mm7
annotate Outdoor.h @ 764:90bcfb56c8f9
sound cleaning
author | Gloval |
---|---|
date | Sat, 23 Mar 2013 21:39:21 +0400 |
parents | 7f1487b74571 |
children | 777c42590ffc |
rev | line source |
---|---|
0 | 1 #pragma |
2 #include "BSPModel.h" | |
3 #include "OutdoorCamera.h" | |
4 #include "Indoor.h" | |
630 | 5 #include "TileFrameTable.h" |
0 | 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 { | |
630 | 25 Tileset tileset; |
0 | 26 unsigned __int16 uTileID; |
27 }; | |
28 #pragma pack(pop) | |
29 | |
760 | 30 #pragma pack(push, 1) |
31 struct DMap | |
32 { | |
33 unsigned __int8 field0; | |
34 unsigned __int8 field1; | |
35 }; | |
36 #pragma pack(pop) | |
0 | 37 |
38 /* 79 */ | |
39 #pragma pack(push, 1) | |
40 struct OutdoorLocationTerrain | |
41 { | |
42 //----- (0047C794) -------------------------------------------------------- | |
43 inline OutdoorLocationTerrain() | |
44 { | |
760 | 45 pHeightmap = NULL; |
46 pTilemap = NULL; | |
47 pAttributemap = NULL; | |
48 pDmap = NULL;; | |
0 | 49 this->field_10 = 0; |
50 this->field_12 = 0; | |
51 | |
760 | 52 |
0 | 53 } |
54 | |
55 void _47C7A9(); | |
56 void Release(); | |
760 | 57 void FillDMap(int X, int Y, int W, int Z); |
0 | 58 int _47CB57(int a1, int a2, int a3); |
59 bool ZeroLandscape(); | |
60 bool Initialize(); | |
61 | |
62 | |
63 unsigned __int8 *pHeightmap; | |
64 unsigned __int8 *pTilemap; | |
65 unsigned __int8 *pAttributemap; | |
760 | 66 struct DMap *pDmap; |
0 | 67 __int16 field_10; |
68 __int16 field_12; | |
69 __int16 field_14; | |
70 __int16 field_16; | |
71 int field_18; | |
72 int field_1C; | |
73 }; | |
74 #pragma pack(pop) | |
75 | |
76 | |
77 /* 81 */ | |
78 #pragma pack(push, 1) | |
79 struct ODMFace | |
80 { | |
81 bool HasEventHint(); | |
82 | |
83 | |
84 static bool IsBackfaceCulled(struct ODMFace *a1, struct RenderVertexSoft *a2, struct stru148 *a3); | |
85 | |
86 inline bool Invisible() const {return uAttributes & FACE_INVISIBLE;} | |
87 inline bool Visible() const {return !Invisible();} | |
676
ecfb1b3c9a39
BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents:
638
diff
changeset
|
88 inline bool TwoSided() const {return uAttributes & FACE_PORTAL;} |
0 | 89 |
90 struct Plane_int_ pFacePlane; | |
91 int zCalc1; | |
92 int zCalc2; | |
93 int zCalc3; | |
94 unsigned int uAttributes; | |
95 unsigned __int16 pVertexIDs[20]; | |
96 unsigned __int16 pTextureUIDs[20]; | |
97 unsigned __int16 pTextureVIDs[20]; | |
676
ecfb1b3c9a39
BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents:
638
diff
changeset
|
98 signed __int16 pXInterceptDisplacements[20]; |
ecfb1b3c9a39
BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents:
638
diff
changeset
|
99 signed __int16 pYInterceptDisplacements[20]; |
ecfb1b3c9a39
BLV: when standing right on the portal (orange wall) everything looks fine
Nomad
parents:
638
diff
changeset
|
100 signed __int16 pZInterceptDisplacements[20]; |
0 | 101 unsigned __int16 uTextureID; |
102 __int16 sTextureDeltaU; | |
103 __int16 sTextureDeltaV; | |
104 struct BBox_short_ pBoundingBox; | |
105 __int16 sCogNumber; | |
106 __int16 sCogTriggeredID; | |
107 __int16 sCogTriggerType; | |
108 char field_128; | |
109 char field_129; | |
110 unsigned __int8 uGradientVertex1; | |
111 unsigned __int8 uGradientVertex2; | |
112 unsigned __int8 uGradientVertex3; | |
113 unsigned __int8 uGradientVertex4; | |
114 unsigned __int8 uNumVertices; | |
115 unsigned __int8 uPolygonType; | |
116 unsigned __int8 uShadeType; | |
117 unsigned __int8 bVisible; | |
118 char field_132; | |
119 char field_133; | |
120 }; | |
121 #pragma pack(pop) | |
122 | |
123 | |
124 | |
125 #pragma pack(push, 1) | |
126 struct OutdoorLocation | |
127 { | |
128 //----- (004626BA) -------------------------------------------------------- | |
129 OutdoorLocation() | |
130 { | |
131 subconstuctor(); | |
132 uLastSunlightUpdateMinute = 0; | |
227 | 133 |
134 uNumBModels = 0; | |
135 pBModels = nullptr; | |
0 | 136 } |
137 //----- (004626CD) -------------------------------------------------------- | |
138 void subconstuctor() | |
139 { | |
140 //OutdoorLocationTerrain::OutdoorLocationTerrain(&this->pTerrain); | |
141 field_F0 = 0; | |
142 field_F4 = 0x40000000u; | |
143 //DLVHeader::DLVHeader(&v1->ddm); | |
144 pSpawnPoints = 0; | |
145 pBModels = 0; | |
760 | 146 pCmap = 0; |
0 | 147 pFaceIDLIST = 0; |
148 pOMAP = 0; | |
149 } | |
150 | |
151 void ExecDraw(unsigned int bRedraw); | |
142 | 152 void PrepareActorsDrawList(); |
0 | 153 void CreateDebugLocation(); |
154 void Release(); | |
119 | 155 bool Load(const char *pFilename, ODMFace *File, size_t a4, int thisa); |
764 | 156 int GetTileIdByTileMapId(signed int a2); |
0 | 157 unsigned int DoGetTileTexture(unsigned int uX, unsigned int uZ); |
158 int _47ED83(signed int a2, signed int a3); | |
159 int ActuallyGetSomeOtherTileInfo(unsigned int uX, unsigned int uY); | |
160 int DoGetHeightOnTerrain(unsigned int uX, unsigned int uZ); | |
764 | 161 int GetSoundIdByPosition(signed int X_pos, signed int Y_pos, int a4); |
752 | 162 int UpdateDiscoveredArea(int a2, int a3, int a4); |
0 | 163 bool _47F04C(signed int a2, signed int a3); |
164 bool _47F097(signed int a2, signed int a3); | |
165 bool _47F0E2(); | |
166 bool PrepareDecorations(); | |
167 int _47F223_LooksLikeGenerateMonsterLoot(); | |
168 bool InitalizeActors(int a1); | |
630 | 169 bool LoadRoadTileset(); |
0 | 170 bool LoadTileGroupIds(); |
171 double GetFogDensityByTime(); | |
172 int GetSomeOtherTileInfo(int sX, int sY); | |
173 unsigned int GetTileTexture(int sX, int sZ); | |
174 int GetHeightOnTerrain(int sX, int sZ); | |
175 bool Initialize(const char *pFilename, int File, size_t uRespawnInterval, int thisa); | |
176 bool Release2(); | |
177 bool GetTravelDestination(signed int sPartyX, signed int sPartyZ, char *pOut, signed int a5); | |
178 void MessWithLUN(); | |
179 unsigned int UpdateSunlightVectors(); | |
180 void UpdateFog(); | |
181 int GetNumFoodRequiredToRestInCurrentPos(int x, signed int y, int z); | |
182 int SetFog(); | |
183 void Draw(); | |
184 | |
185 | |
186 char pLevelFilename[32]; | |
187 char pLocationFileName[32]; | |
188 char pLocationFileDescription[32]; | |
189 char pSkyTextureName[32]; | |
190 char pGroundTileset[32]; | |
630 | 191 OutdoorLocationTileType pTileTypes[4]; // [3] road tileset |
0 | 192 unsigned int uNumBModels; |
193 struct OutdoorLocationTerrain pTerrain; | |
760 | 194 void *pCmap; |
0 | 195 struct BSPModel *pBModels; |
196 unsigned int numFaceIDListElems; | |
197 unsigned __int16 *pFaceIDLIST; | |
198 unsigned int *pOMAP; | |
199 unsigned int uSky_TextureID; | |
200 unsigned int uMainTile_BitmapID; | |
201 __int16 field_F0; | |
202 __int16 field_F2; | |
203 int field_F4; | |
204 char field_F8[968]; | |
205 unsigned int uNumSpawnPoints; | |
206 struct SpawnPointMM7 *pSpawnPoints; | |
207 struct DDM_DLV_Header ddm; | |
208 unsigned __int64 uLastVisitDay; | |
760 | 209 char sky_texture_name[12]; |
0 | 210 int day_attrib; |
211 int day_fogrange_1; | |
212 int day_fogrange_2; | |
213 char field_510[24]; | |
752 | 214 unsigned char uUndiscoveredArea[88][11];//968 |
215 unsigned char uDicovered_area[88][11];//[968] | |
0 | 216 int field_CB8; |
638 | 217 int max_terrain_dimming_level; |
0 | 218 int field_CC0; |
219 unsigned int pSpriteIDs_LUN[8]; | |
220 unsigned int uSpriteID_LUNFULL; | |
221 int field_CE8; | |
222 unsigned int uSpriteID_LUN3_4_cp; | |
223 int field_CF0; | |
224 unsigned int uSpriteID_LUN1_2_cp; | |
225 int field_CF8; | |
226 unsigned int uSpriteID_LUN1_4_cp; | |
227 int field_D00; | |
228 unsigned __int16 uSpriteID_LUN_SUN; | |
229 __int16 field_D06; | |
230 int field_D08; | |
231 int field_D0C; | |
232 int field_D10; | |
233 int field_D14; | |
638 | 234 int inv_sunlight_x; |
235 int inv_sunlight_y; | |
236 int inv_sunlight_z; | |
0 | 237 int field_D24; |
238 int field_D28; | |
239 int field_D2C; | |
240 Vec3_int_ vSunlight; | |
241 int field_D3C; | |
242 int field_D40; | |
243 int field_D44; | |
244 int field_D48; | |
245 int field_D4C; | |
246 float field_D50; | |
247 int field_D54; | |
248 int field_D58; | |
249 int field_D5C; | |
250 int field_D60; | |
251 int field_D64; | |
252 char field_D68[111900]; | |
253 float fFogDensity; | |
254 int uLastSunlightUpdateMinute; | |
255 }; | |
256 #pragma pack(pop) | |
257 | |
258 | |
259 extern struct OutdoorLocation *pOutdoor; | |
260 | |
261 | |
262 | |
263 | |
264 | |
265 | |
266 | |
267 | |
268 | |
269 | |
270 | |
271 | |
272 | |
273 #include "Outdoor_stuff.h" |