706
|
1 #include <assert.h>
|
|
2
|
|
3 #include "MM7.h"
|
|
4
|
1016
|
5 #include "Keyboard.h"
|
|
6 #include "IndoorCameraD3D.h"
|
|
7 #include "CShow.h"
|
|
8 #include "GammaControl.h"
|
|
9 #include "stru6.h"
|
|
10 #include "stru9.h"
|
|
11
|
706
|
12 #include "MapInfo.h"
|
|
13 #include "Game.h"
|
|
14 #include "GUIWindow.h"
|
|
15 #include "GUIFont.h"
|
|
16 #include "GUIProgressBar.h"
|
|
17 #include "Party.h"
|
|
18 #include "AudioPlayer.h"
|
|
19 #include "Outdoor.h"
|
|
20 #include "IndoorCamera.h"
|
|
21 #include "Overlays.h"
|
|
22 #include "Monsters.h"
|
|
23 #include "Arcomage.h"
|
|
24 #include "LOD.h"
|
|
25 #include "Actor.h"
|
|
26 #include "Allocator.h"
|
|
27 #include "Events.h"
|
|
28 #include "Viewport.h"
|
|
29 #include "FrameTableInc.h"
|
|
30 #include "Math.h"
|
|
31 #include "SpriteObject.h"
|
|
32 #include "ObjectList.h"
|
|
33 #include "Chest.h"
|
|
34 #include "PaletteManager.h"
|
|
35 #include "DecorationList.h"
|
|
36 #include "SaveLoad.h"
|
|
37 #include "stru123.h"
|
|
38 #include "Time.h"
|
|
39 #include "IconFrameTable.h"
|
|
40 #include "Awards.h"
|
|
41 #include "Autonotes.h"
|
|
42 #include "stru160.h"
|
|
43 #include "TurnEngine.h"
|
924
|
44 #include "CastSpellInfo.h"
|
706
|
45 #include "Weather.h"
|
|
46 #include "stru298.h"
|
|
47 #include "StorylineTextTable.h"
|
|
48 #include "Events2D.h"
|
|
49 #include "texts.h"
|
|
50
|
|
51 #include "mm7_data.h"
|
|
52
|
|
53
|
|
54
|
948
|
55
|
|
56 OptionsMenuSkin options_menu_skin; // 507C60
|
|
57
|
|
58
|
|
59
|
|
60
|
706
|
61 //----- (004142D3) --------------------------------------------------------
|
|
62 char __cdecl GameMenuUI_DrawKeyBindings()
|
|
63 {
|
|
64 unsigned int v0; // ebp@1
|
|
65 int v1; // ecx@2
|
|
66 unsigned int v2; // eax@6
|
|
67 GUIWindow *v3; // edx@6
|
|
68 signed int v4; // ecx@7
|
|
69 signed int v5; // eax@8
|
|
70 const char *v6; // ST0C_4@16
|
|
71 unsigned int v7; // eax@16
|
|
72 const char *v8; // ST0C_4@16
|
|
73 unsigned int v9; // eax@16
|
|
74 const char *v10; // ST0C_4@16
|
|
75 unsigned int v11; // eax@16
|
|
76 const char *v12; // ST0C_4@16
|
|
77 unsigned int v13; // eax@16
|
|
78 const char *v14; // ST0C_4@16
|
|
79 unsigned int v15; // eax@16
|
|
80 const char *v16; // ST0C_4@16
|
|
81 unsigned int v17; // eax@16
|
|
82 const char *v18; // ST0C_4@16
|
|
83 unsigned int v19; // eax@16
|
|
84 const char *v20; // ST0C_4@16
|
|
85 unsigned int v21; // eax@16
|
|
86 signed int v22; // ebp@16
|
|
87 const char *v23; // ST0C_4@16
|
|
88 unsigned int v24; // eax@16
|
|
89 const char *v25; // ST0C_4@16
|
|
90 unsigned int v26; // eax@16
|
|
91 const char *v27; // ST0C_4@16
|
|
92 unsigned int v28; // eax@16
|
|
93 const char *v29; // ST0C_4@16
|
|
94 unsigned int v30; // eax@16
|
|
95 const char *v31; // ST0C_4@16
|
|
96 unsigned int v32; // eax@16
|
|
97 const char *v33; // ST0C_4@17
|
|
98 unsigned int v34; // eax@17
|
|
99 const char *v35; // ST0C_4@17
|
|
100 unsigned int v36; // eax@17
|
|
101 const char *v37; // ST0C_4@17
|
|
102 unsigned int v38; // eax@17
|
|
103 const char *v39; // ST0C_4@17
|
|
104 unsigned int v40; // eax@17
|
|
105 const char *v41; // ST0C_4@17
|
|
106 unsigned int v42; // eax@17
|
|
107 const char *v43; // ST0C_4@17
|
|
108 unsigned int v44; // eax@17
|
|
109 const char *v45; // ST0C_4@17
|
|
110 unsigned int v46; // eax@17
|
|
111 const char *v47; // ST0C_4@17
|
|
112 unsigned int v48; // eax@17
|
|
113 const char *v49; // ST0C_4@17
|
|
114 unsigned int v50; // eax@17
|
|
115 const char *v51; // ST0C_4@17
|
|
116 unsigned int v52; // eax@17
|
|
117 const char *v53; // ST0C_4@17
|
|
118 unsigned int v54; // eax@17
|
|
119 const char *v55; // ST0C_4@17
|
|
120 unsigned int v56; // eax@17
|
|
121 const char *v57; // ST0C_4@17
|
|
122 unsigned int v58; // eax@17
|
|
123 unsigned int v59; // eax@18
|
948
|
124 //int v61; // [sp-14h] [bp-28h]@16
|
706
|
125 const char *v62; // [sp-10h] [bp-24h]@16
|
|
126 unsigned int a5; // [sp+10h] [bp-4h]@1
|
|
127
|
949
|
128 v0 = TargetColor(0xFFu, 0xFFu, 0xFFu);
|
706
|
129 a5 = v0;
|
|
130 if ( byte_4E28FC )
|
|
131 {
|
|
132 v1 = dword_507C0C + 15;
|
|
133 dword_507C0C = v1;
|
|
134 if ( v1 == 255 )
|
|
135 byte_4E28FC = 0;
|
|
136 }
|
|
137 else
|
|
138 {
|
|
139 v1 = dword_507C0C - 15;
|
|
140 dword_507C0C = v1;
|
|
141 if ( v1 == 15 )
|
|
142 byte_4E28FC = 1;
|
|
143 }
|
949
|
144 v2 = TargetColor(v1, 0, 0);
|
706
|
145 v3 = pGUIWindow_CurrentMenu;
|
|
146 dword_507C08 = v2;
|
|
147 if ( pGUIWindow_CurrentMenu->field_40 == 2 )
|
|
148 {
|
|
149 pPrevVirtualCidesMapping[dword_506E68] = pKeyActionMap->pPressedKeysBuffer[0];
|
|
150 memset(&KeyButtonFlagChangesArray, 0, sizeof(KeyButtonFlagChangesArray));
|
|
151 v4 = 0;
|
|
152 do
|
|
153 {
|
|
154 v5 = 0;
|
|
155 do
|
|
156 {
|
|
157 if ( v4 != v5 && pPrevVirtualCidesMapping[v4] == pPrevVirtualCidesMapping[v5] )
|
|
158 {
|
|
159 KeyButtonFlagChangesArray[v4] = 1;
|
|
160 KeyButtonFlagChangesArray[v5] = 1;
|
|
161 }
|
|
162 ++v5;
|
|
163 }
|
|
164 while ( v5 < 28 );
|
|
165 ++v4;
|
|
166 }
|
|
167 while ( v4 < 28 );
|
|
168 dword_506E68 = -1;
|
|
169 v3->field_40 = 0;
|
|
170 }
|
948
|
171 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->GetTexture(uTextureID_Optkb[0]));
|
706
|
172 if ( KeyboardPageNum == 1 )
|
948
|
173 {
|
|
174 pRenderer->DrawTextureIndexed(0x13, 0x12E, pIcons_LOD->GetTexture(uTextureID_Optkb[3]));
|
|
175 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 142, v0, "ÂÏÅШÄ", 0, 0, 0);
|
706
|
176 v6 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[0]);
|
|
177 v7 = sub_414D24(0);
|
|
178 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 142, v7, v6, 0, 0, 0);
|
948
|
179 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 163, v0, "ÍÀÇÀÄ", 0, 0, 0);
|
706
|
180 v8 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[1]);
|
|
181 v9 = sub_414D24(1);
|
|
182 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 163, v9, v8, 0, 0, 0);
|
948
|
183 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 184, v0, "ÂËÅÂÎ", 0, 0, 0);
|
706
|
184 v10 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[2]);
|
|
185 v11 = sub_414D24(2);
|
|
186 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 184, v11, v10, 0, 0, 0);
|
948
|
187 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 205, v0, "ÂÏÐÀÂÎ", 0, 0, 0);
|
706
|
188 v12 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[3]);
|
|
189 v13 = sub_414D24(3);
|
|
190 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 205, v13, v12, 0, 0, 0);
|
948
|
191 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 226, v0, "ÊÐÈÊ", 0, 0, 0);
|
706
|
192 v14 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[4]);
|
|
193 v15 = sub_414D24(4);
|
|
194 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 226, v15, v14, 0, 0, 0);
|
948
|
195 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 247, v0, "ÏÐÛÆÎÊ", 0, 0, 0);
|
706
|
196 v16 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[5]);
|
|
197 v17 = sub_414D24(5);
|
|
198 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 247, v17, v16, 0, 0, 0);
|
948
|
199 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 268, v0, "Ï.ÐÅÆÈÌ", 0, 0, 0);
|
706
|
200 v18 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[6]);
|
|
201 v19 = sub_414D24(6);
|
|
202 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 268, v19, v18, 0, 0, 0);
|
948
|
203 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 142, v0, "ÏÐÈÌ. ÇÀÊË.", 0, 0, 0);
|
706
|
204 v20 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[7]);
|
|
205 v21 = sub_414D24(7);
|
|
206 v22 = 350;
|
|
207 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 142, v21, v20, 0, 0, 0);
|
948
|
208 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 163, a5, "ÀÒÀÊÀ", 0, 0, 0);
|
706
|
209 v23 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[8]);
|
|
210 v24 = sub_414D24(8);
|
|
211 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 163, v24, v23, 0, 0, 0);
|
948
|
212 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 184, a5, "ÄÅÉÑÒÂ.", 0, 0, 0);
|
706
|
213 v25 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[9]);
|
|
214 v26 = sub_414D24(9);
|
|
215 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 184, v26, v25, 0, 0, 0);
|
948
|
216 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 205, a5, "ÇÀÊËÈÍ.", 0, 0, 0);
|
706
|
217 v27 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[10]);
|
|
218 v28 = sub_414D24(10);
|
|
219 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 205, v28, v27, 0, 0, 0);
|
948
|
220 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 226, a5, "ÈÃÐÎÊ", 0, 0, 0);
|
706
|
221 v29 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[11]);
|
|
222 v30 = sub_414D24(11);
|
|
223 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 226, v30, v29, 0, 0, 0);
|
948
|
224 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 247, a5, "ÑËÅÄ. ÈÃÐÎÊ", 0, 0, 0);
|
706
|
225 v31 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[12]);
|
|
226 v32 = sub_414D24(12);
|
|
227 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 247, v32, v31, 0, 0, 0);
|
948
|
228 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 268, a5, "ÇÀÄÀÍÈß", 0, 0, 0);
|
|
229
|
706
|
230 v62 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[13]);
|
948
|
231 v59 = sub_414D24(13);
|
706
|
232 }
|
|
233 else
|
|
234 {
|
948
|
235 pRenderer->DrawTextureIndexed(0x7F, 0x12E, pIcons_LOD->GetTexture(uTextureID_Optkb[4]));
|
|
236 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 142, v0, "Á. ÑÏÐÀÂÊÀ", 0, 0, 0);
|
706
|
237 v33 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[14]);
|
|
238 v34 = sub_414D24(14);
|
|
239 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 142, v34, v33, 0, 0, 0);
|
948
|
240 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 163, v0, "ÎÒÄÛÕ", 0, 0, 0);
|
706
|
241 v35 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[15]);
|
|
242 v36 = sub_414D24(15);
|
|
243 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 163, v36, v35, 0, 0, 0);
|
948
|
244 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 184, v0, "ÒÅÊ. ÂÐÅÌß", 0, 0, 0);
|
706
|
245 v37 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[16]);
|
|
246 v38 = sub_414D24(16);
|
|
247 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 184, v38, v37, 0, 0, 0);
|
948
|
248 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 205, v0, "ÀÂÒÎÇÀÌÅÒÊÈ", 0, 0, 0);
|
706
|
249 v39 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[17]);
|
|
250 v40 = sub_414D24(17);
|
|
251 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 205, v40, v39, 0, 0, 0);
|
948
|
252 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 226, v0, "ÊÀÐÒÀ", 0, 0, 0);
|
706
|
253 v41 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[18]);
|
|
254 v42 = sub_414D24(18);
|
|
255 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 226, v42, v41, 0, 0, 0);
|
948
|
256 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 247, v0, "ÁÅÆÀÒÜ", 0, 0, 0);
|
706
|
257 v43 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[19]);
|
|
258 v44 = sub_414D24(19);
|
|
259 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 247, v44, v43, 0, 0, 0);
|
948
|
260 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 23, 268, v0, "ÑÌ. ÂÂÅÐÕ", 0, 0, 0);
|
706
|
261 v45 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[20]);
|
|
262 v46 = sub_414D24(20);
|
|
263 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 127, 268, v46, v45, 0, 0, 0);
|
948
|
264 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 142, v0, "ÑÌ. ÂÍÈÇ", 0, 0, 0);
|
706
|
265 v47 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[21]);
|
|
266 v48 = sub_414D24(21);
|
|
267 v22 = 350;
|
|
268 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 142, v48, v47, 0, 0, 0);
|
948
|
269 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 163, a5, "ÑÌ. ÂÏÅШÄ", 0, 0, 0);
|
706
|
270 v49 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[22]);
|
|
271 v50 = sub_414D24(22);
|
|
272 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 163, v50, v49, 0, 0, 0);
|
948
|
273 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 184, a5, "ÏÐÈÁËÈÇ", 0, 0, 0);
|
706
|
274 v51 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[23]);
|
|
275 v52 = sub_414D24(23);
|
|
276 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 184, v52, v51, 0, 0, 0);
|
948
|
277 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 205, a5, "ÎÒÄÀËÈÒÜ", 0, 0, 0);
|
706
|
278 v53 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[24]);
|
|
279 v54 = sub_414D24(24);
|
|
280 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 205, v54, v53, 0, 0, 0);
|
948
|
281 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 226, a5, "Ï. ÂÂÅÐÕ", 0, 0, 0);
|
706
|
282 v55 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[25]);
|
|
283 v56 = sub_414D24(25);
|
|
284 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 226, v56, v55, 0, 0, 0);
|
948
|
285 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 247, a5, "Ï. ÂÍÈÇ", 0, 0, 0);
|
706
|
286 v57 = pKeyActionMap->GetVKeyDisplayName(pPrevVirtualCidesMapping[26]);
|
|
287 v58 = sub_414D24(26);
|
|
288 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 350, 247, v58, v57, 0, 0, 0);
|
948
|
289 pGUIWindow_CurrentMenu->DrawText(pFontLucida, 247, 268, a5, "ÏÐÈÇÅÌË", 0, 0, 0);
|
|
290
|
706
|
291 v62 = pKeyActionMap->GetVKeyDisplayName(pWindowList_at_506F50_minus1_indexing[0]);
|
948
|
292 v59 = sub_414D24(27);
|
706
|
293 }
|
948
|
294 return pGUIWindow_CurrentMenu->DrawText(pFontLucida, v22, 268, v59, v62, 0, 0, 0);
|
706
|
295 }
|
|
296
|
|
297
|
|
298 //----- (00414D24) --------------------------------------------------------
|
|
299 unsigned int __thiscall sub_414D24(int _this)
|
|
300 {
|
|
301 int v1; // esi@1
|
|
302 unsigned int v2; // edi@1
|
|
303 unsigned int v3; // ebx@1
|
|
304 unsigned int result; // eax@1
|
|
305
|
|
306 v1 = _this;
|
949
|
307 v2 = TargetColor(0xE1u, 0xCDu, 0x23u);
|
|
308 v3 = TargetColor(0xFu, 0, 0);
|
|
309 result = TargetColor(0xFFu, 0xFFu, 0xFFu);
|
706
|
310 if ( dword_506E68 == v1 )
|
|
311 {
|
|
312 if ( GetTickCount() % 0x3E8 <= 0x1F4 )
|
|
313 result = v3;
|
|
314 else
|
|
315 result = v2;
|
|
316 }
|
|
317 else
|
|
318 {
|
|
319 if ( KeyButtonFlagChangesArray[v1] )
|
|
320 result = dword_507C08;
|
|
321 }
|
|
322 return result;
|
|
323 }
|
|
324
|
|
325 //----- (00414D9A) --------------------------------------------------------
|
948
|
326 void GameMenuUI_DrawVideoOptions()
|
|
327 {
|
706
|
328 const char *v0; // ST0C_4@3
|
|
329 unsigned __int16 v1; // ax@3
|
948
|
330 //int v2; // eax@10
|
706
|
331 GUIWindow v3; // [sp+8h] [bp-54h]@3
|
|
332
|
948
|
333 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->GetTexture(uTextureID_507C10));
|
706
|
334 if ( !pRenderer->bWindowMode && GammaController::IsGammaSupported() )
|
|
335 {
|
|
336 pRenderer->DrawTextureIndexed(
|
|
337 17 * uGammaPos + 42,
|
948
|
338 162,
|
|
339 pIcons_LOD->GetTexture(pTextureIDs_GammaPositions[uGammaPos]));
|
706
|
340 pRenderer->DrawTextureRGB(0x112u, 0xA9u, &stru_506E40);
|
|
341 v3.uFrameX = 22;
|
948
|
342 v0 = pGlobalTXT_LocalizationStrings[226]; // "Gamma controls the relative ""brightness"" of the game. May vary depending on your monitor."
|
706
|
343 v3.uFrameY = 190;
|
|
344 v3.uFrameWidth = 211;
|
|
345 v3.uFrameHeight = 79;
|
|
346 v3.uFrameZ = 232;
|
|
347 v3.uFrameW = 268;
|
949
|
348 v1 = TargetColor(0xFFu, 0xFFu, 0x9Bu);
|
706
|
349 v3.DrawTitleText(pFontSmallnum, 0, 0, v1, v0, 3u);
|
|
350 }
|
948
|
351
|
|
352 if (!pRenderer->pRenderD3D)
|
|
353 {
|
|
354 pRenderer->DrawTextureIndexed(20, 281, pIcons_LOD->GetTexture(uTextureID_507C50));
|
|
355 pRenderer->DrawTextureIndexed(20, 303, pIcons_LOD->GetTexture(uTextureID_507C54));
|
|
356 pRenderer->DrawTextureIndexed(20, 325, pIcons_LOD->GetTexture(uTextureID_507C58));
|
706
|
357 }
|
948
|
358 else
|
|
359 {
|
|
360 if (pGame->uFlags2 & GAME_FLAGS_2_DRAW_BLOODSPLATS)
|
|
361 pRenderer->DrawTextureIndexed(20, 281, pIcons_LOD->GetTexture(uTextureID_507C14));
|
|
362 if (pRenderer->bUseColoredLights)
|
|
363 pRenderer->DrawTextureIndexed(20, 303, pIcons_LOD->GetTexture(uTextureID_507C18));
|
|
364 if (pRenderer->bTinting)
|
|
365 pRenderer->DrawTextureIndexed(20, 325, pIcons_LOD->GetTexture(uTextureID_507C1C));
|
|
366 }
|
|
367 }
|
706
|
368
|
|
369
|
|
370
|
|
371 //----- (00414F82) --------------------------------------------------------
|
948
|
372 void DrawGameOptions()
|
|
373 {
|
|
374 pRenderer->DrawTextureIndexed(8, 8, pIcons_LOD->GetTexture(uTextureID_Options));
|
|
375 pRenderer->DrawTextureIndexed(8, 132, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_Background));
|
|
376
|
|
377 switch (uTurnSpeed)
|
|
378 {
|
980
|
379 case 64: pRenderer->DrawTextureIndexed(BtnTurnCoord[1], 270, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_TurnSpeed[1])); break;
|
|
380 case 128: pRenderer->DrawTextureIndexed(BtnTurnCoord[2], 270, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_TurnSpeed[2])); break;
|
|
381 default: pRenderer->DrawTextureIndexed(BtnTurnCoord[0], 270, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_TurnSpeed[0])); break;
|
948
|
382 }
|
|
383
|
|
384 if (bWalkSound) pRenderer->DrawTextureIndexed( 20, 303, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_WalkSound));
|
|
385 if (bShowDamage) pRenderer->DrawTextureIndexed(128, 303, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_ShowDamage));
|
|
386 if (bFlipOnExit) pRenderer->DrawTextureIndexed(128, 325, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_FlipOnExit));
|
|
387 if (bAlwaysRun) pRenderer->DrawTextureIndexed( 20, 325, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_AlwaysRun));
|
|
388
|
|
389 pRenderer->DrawTextureIndexed(265 + 17 * uSoundVolumeMultiplier, 162, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_SoundLevels[uSoundVolumeMultiplier]));
|
|
390 pRenderer->DrawTextureIndexed(265 + 17 * uMusicVolimeMultiplier, 216, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_SoundLevels[uMusicVolimeMultiplier]));
|
|
391 pRenderer->DrawTextureIndexed(265 + 17 * uVoicesVolumeMultiplier, 270, pIcons_LOD->GetTexture(options_menu_skin.uTextureID_SoundLevels[uVoicesVolumeMultiplier]));
|
|
392 }
|
|
393
|
|
394
|
|
395
|
|
396
|
|
397
|
|
398
|
|
399
|
|
400
|
|
401
|
706
|
402
|
948
|
403 OptionsMenuSkin::OptionsMenuSkin():
|
|
404 uTextureID_Background(0),
|
|
405 uTextureID_ArrowLeft(0),
|
|
406 uTextureID_ArrowRight(0),
|
|
407 uTextureID_unused_0(0), uTextureID_unused_1(0), uTextureID_unused_2(0),
|
|
408 uTextureID_FlipOnExit(0),
|
|
409 uTextureID_AlwaysRun(0),
|
|
410 uTextureID_WalkSound(0),
|
|
411 uTextureID_ShowDamage(0)
|
|
412 {
|
|
413 for (uint i = 0; i < 3; ++i) uTextureID_TurnSpeed[i] = 0;
|
|
414 for (uint i = 0; i < 10; ++i) uTextureID_SoundLevels[i] = 0;
|
|
415 }
|
|
416
|
|
417 void OptionsMenuSkin::Relaease()
|
|
418 {
|
|
419 #define RELEASE(id) \
|
|
420 {\
|
|
421 if (id)\
|
|
422 pIcons_LOD->GetTexture(id)->Release();\
|
|
423 id = 0;\
|
|
424 }
|
|
425
|
|
426 RELEASE(uTextureID_Background);
|
|
427 for (uint i = 0; i < 3; ++i)
|
|
428 RELEASE(uTextureID_TurnSpeed[i]);
|
|
429 RELEASE(uTextureID_ArrowLeft);
|
|
430 RELEASE(uTextureID_ArrowRight);
|
|
431 RELEASE(uTextureID_FlipOnExit);
|
|
432 for (uint i = 0; i < 10; ++i)
|
|
433 RELEASE(uTextureID_SoundLevels[i]);
|
|
434 RELEASE(uTextureID_AlwaysRun);
|
|
435 RELEASE(uTextureID_WalkSound);
|
|
436 RELEASE(uTextureID_ShowDamage);
|
|
437
|
|
438 #undef RELEASE
|
|
439 }
|