2000
|
1 #include "mm7_data.h"
|
|
2 #include "Render.h"
|
|
3 #include "texts.h"
|
|
4 #include "Party.h"
|
2002
|
5 #include "Viewport.h"
|
2000
|
6
|
|
7 int __cdecl sub_401022()
|
|
8 {
|
|
9 int result; // eax@1
|
|
10 signed int v1; // ecx@1
|
|
11 int *v2; // edx@1
|
|
12 /*
|
|
13 result = (int)dword_4F8580;
|
|
14 v1 = 60;
|
|
15 v2 = &dword_4F8580[1];
|
|
16 do
|
|
17 {
|
|
18 v2[2] = 0;
|
|
19 v2[1] = 0;
|
|
20 *v2 = 0;
|
|
21 v2 += 3;
|
|
22 --v1;
|
|
23 }
|
|
24 while ( v1 );
|
|
25 dword_4F8580[0] = 1;
|
|
26 return result;
|
|
27 */
|
2114
|
28 __debugbreak();//Ritor1
|
2000
|
29 for( int i = 0; i < 62; i++ )
|
|
30 {
|
|
31 dword_4F8580[i] = 0;
|
|
32 }
|
|
33 dword_4F8580[0] = 1;
|
|
34 return 0;
|
|
35 }
|
|
36
|
|
37 //----- (00423B4A) --------------------------------------------------------
|
|
38 void sub_423B4A()
|
|
39 {
|
2114
|
40 __debugbreak();//Ritor1
|
|
41 for ( uint i = 0; i < 50; i++ )
|
|
42 array_507D30[i].flt_2C = 0.0;
|
2000
|
43 }
|
|
44
|
|
45 /*
|
|
46 GUIProgressBar *__cdecl crt_construct_576E30()
|
|
47 {
|
|
48 RGBTexture::RGBTexture(&pGameLoadingUI_ProgressBar.pLoadingBg);
|
|
49 RGBTexture::RGBTexture(&pGameLoadingUI_ProgressBar.field_40);
|
|
50 RGBTexture::RGBTexture(&pGameLoadingUI_ProgressBar.field_68);
|
|
51 RGBTexture::RGBTexture(&pGameLoadingUI_ProgressBar.field_90);
|
|
52 RGBTexture::RGBTexture(&pGameLoadingUI_ProgressBar.field_B8);
|
|
53 Texture::Texture(&pGameLoadingUI_ProgressBar.field_E0);
|
|
54 Texture::Texture(&pGameLoadingUI_ProgressBar.pBardata);
|
|
55 Texture::Texture(&pGameLoadingUI_ProgressBar.pLoadingProgress);
|
|
56 pGameLoadingUI_ProgressBar.uProgressCurrent = 0;
|
|
57 pGameLoadingUI_ProgressBar.uProgressMax = 0;
|
|
58 pGameLoadingUI_ProgressBar.field_9 = 0;
|
|
59 pGameLoadingUI_ProgressBar.field_8 = 0;
|
|
60 pGameLoadingUI_ProgressBar.uHeight = 0;
|
|
61 pGameLoadingUI_ProgressBar.uWidth = 0;
|
|
62 pGameLoadingUI_ProgressBar.uY = 0;
|
|
63 pGameLoadingUI_ProgressBar.uX = 0;
|
|
64 pGameLoadingUI_ProgressBar.field_17 = 0;
|
|
65 pGameLoadingUI_ProgressBar.field_16 = 0;
|
|
66 pGameLoadingUI_ProgressBar.field_15 = 0;
|
|
67 pGameLoadingUI_ProgressBar.field_14 = 0;
|
|
68 pGameLoadingUI_ProgressBar.field_13 = 0;
|
|
69 pGameLoadingUI_ProgressBar.field_12 = 0;
|
|
70 pGameLoadingUI_ProgressBar.field_11 = 0;
|
|
71 pGameLoadingUI_ProgressBar.field_10 = 0;
|
|
72 return &pGameLoadingUI_ProgressBar;
|
|
73 }
|
|
74 */
|
|
75
|
|
76 void constructors()
|
|
77 {
|
|
78 sub_401022();
|
|
79 sub_423B4A();
|
|
80
|
|
81 //no call to these anywhere
|
|
82 uGameUIFontMain_initialize();
|
|
83 uGameUIFontShadow_initialize();
|
|
84 SetSomeItemsNames();
|
|
85 }
|
|
86
|
|
87 /*
|
|
88
|
|
89 X = called already in our code
|
|
90 byte = constructor byte setter
|
|
91
|
|
92 .data:004DF004 dd offset sub_4C9A95
|
|
93 IOStream
|
|
94
|
|
95 .data:004DF008 dd offset sub_4C9B06
|
|
96 IOStream
|
|
97
|
|
98 .data:004DF00C dd offset sub_401022
|
|
99 added
|
|
100
|
|
101 .data:004DF010 dd offset sub_408B98
|
|
102 .data:004DF014 dd offset sub_409BCC
|
|
103 .data:004DF018 dd offset crt_sub_40D6EB
|
|
104 byte
|
|
105
|
|
106 .data:004DF01C dd offset crt_construct_40D707_ptr_pArcomageGame
|
|
107 X
|
|
108
|
|
109 .data:004DF020 dd offset crt_sub_40E4A6
|
|
110 .data:004DF024 dd offset crt_deconstruct_40E503
|
|
111 .data:004DF028 dd offset crt_sub_40F760
|
|
112 .data:004DF02C dd offset crt_sub_40F7EA
|
|
113 .data:004DF030 dd offset crt_sub_40F9A9
|
|
114 .data:004DF034 dd offset crt_sub_410AD9
|
|
115 byte
|
|
116
|
|
117 .data:004DF038 dd offset SetMoonPhaseNames
|
|
118 X
|
|
119
|
|
120 .data:004DF03C dd offset crt_sub_413FD0
|
|
121 byte
|
|
122
|
|
123 .data:004DF040 dd offset j_SetMonthNames
|
|
124 .data:004DF044 dd offset j_SetDayNames
|
|
125 .data:004DF048 dd offset j_SetSpellSchoolNames
|
|
126 .data:004DF04C dd offset j_SetAttributeNames
|
|
127 X InitializeGameText
|
|
128
|
|
129 .data:004DF050 dd offset uGameUIFontMain_initialize
|
|
130 .data:004DF054 dd offset uGameUIFontShadow_initialize
|
|
131 added
|
|
132
|
|
133 .data:004DF058 dd offset crt_construct_507ABC
|
|
134 .data:004DF05C dd offset crt_construct_507A94
|
|
135 .data:004DF060 dd offset crt_construct_507A6C
|
|
136 .data:004DF064 dd offset crt_construct_507A44
|
|
137 .data:004DF068 dd offset crt_construct_507A1C
|
|
138 .data:004DF06C dd offset crt_construct_506F20
|
|
139 .data:004DF070 dd offset crt_construct_414D90_ptr_506E40
|
|
140 X (RGBTexture constructor)
|
|
141
|
|
142 .data:004DF074 dd offset crt_sub_423903
|
|
143 byte
|
|
144
|
|
145 .data:004DF078 dd offset IndoorCamera__IndoorCamera
|
|
146 X
|
|
147
|
|
148 .data:004DF07C dd offset crt_sub_423ACD
|
|
149 byte
|
|
150
|
|
151 .data:004DF080 dd offset j_reset_some_strus_flt_2Cs
|
|
152 deleted
|
|
153
|
|
154 .data:004DF084 dd offset j_sub_423B4A
|
|
155 added
|
|
156
|
|
157 .data:004DF088 dd offset crt_sub_4262DD
|
|
158 byte
|
|
159
|
|
160 .data:004DF08C dd offset crt_construct_pEventTimer
|
|
161 .data:004DF090 dd offset crt_construct_pMiscTimer
|
|
162 X
|
|
163
|
|
164 .data:004DF094 dd offset crt_sub_42640D
|
|
165 .data:004DF098 dd offset crt_sub_4268C7
|
|
166 .data:004DF09C dd offset crt_sub_42692B
|
|
167 byte
|
|
168
|
|
169 .data:004DF0A0 dd offset sub_426947
|
|
170 X initialized
|
|
171
|
|
172 .data:004DF0A4 dd offset crt_construct_50C0C8
|
|
173 X CastSpellInfo
|
|
174
|
|
175 .data:004DF0A8 dd offset crt_sub_42FBB7
|
|
176 byte
|
|
177
|
|
178 .data:004DF0AC dd offset crt_construct_50CDB4
|
|
179 seems unused CastSpellInfo variable
|
|
180
|
|
181 .data:004DF0B0 dd offset sub_4361D3
|
|
182 .data:004DF0B4 dd offset sub_4382A0
|
|
183 .data:004DF0B8 dd offset sub_43850A
|
|
184 .data:004DF0BC dd offset crt_438AEF
|
|
185 .data:004DF0C0 dd offset crt_438B7F
|
|
186 .data:004DF0C4 dd offset ctr_deconstruct_43B4E0
|
|
187 byte
|
|
188
|
|
189 .data:004DF0C8 dd offset crt_43B4FC
|
|
190 deleted, constructor for stru_51076C
|
|
191
|
|
192 .data:004DF0CC dd offset crt_deconstruct_43B51C
|
|
193 .data:004DF0D0 dd offset crt_deconstruct_43B5F0
|
|
194 .data:004DF0D4 dd offset crt_deconstruct_43B64C
|
|
195 byte
|
|
196
|
|
197 .data:004DF0D8 dd offset _crt_construct_stru165
|
|
198 X BloodsplatContainer
|
|
199
|
|
200 .data:004DF0DC dd offset crt_deconstruct_43B751
|
|
201 .data:004DF0E0 dd offset crt_deconstruct_43B9E3
|
|
202 .data:004DF0E4 dd offset crt_deconstruct_43BC8B
|
|
203 .data:004DF0E8 dd offset crt_deconstruct_43F22A
|
|
204 byte
|
|
205
|
|
206 .data:004DF0EC dd offset crt_construct_51B778
|
|
207 X BspRenderer
|
|
208
|
|
209 .data:004DF0F0 dd offset crt_construct_519AB8
|
|
210 X LightsStack_MobileLight
|
|
211
|
|
212 .data:004DF0F4 dd offset crt_construct_5187F0
|
|
213 X LightsStack_StationaryLight
|
|
214
|
|
215
|
|
216 .data:004DF0F8 dd offset crt_deconstruct_440B28
|
|
217 .data:004DF0FC dd offset crt_deconstruct_440F5C
|
|
218 byte
|
|
219
|
|
220 .data:004DF100 dd offset crt_construct_576E30
|
|
221 added but have to RECHECK
|
|
222
|
|
223 .data:004DF104 dd offset crt_deconstruct_4437E5
|
|
224 byte
|
|
225
|
|
226 .data:004DF108 dd offset sub_446219
|
|
227 X InitializeGameText
|
|
228
|
|
229 .data:004DF10C dd offset crt_construct_5773C4
|
|
230 unused RGBTexture
|
|
231
|
|
232 .data:004DF110 dd offset sub_44C346
|
|
233 .data:004DF114 dd offset crt_deconstruct_44C42C
|
|
234 .data:004DF118 dd offset crt_deconstruct_44D49E
|
|
235 byte
|
|
236
|
|
237 .data:004DF11C dd offset _inline_SpriteFrameTable__SpriteFrameTable_global
|
|
238 .data:004DF120 dd offset _inline_TextureFrameTable__TextureFrameTable_global
|
|
239 X
|
|
240
|
|
241 .data:004DF124 dd offset sub_44E49B
|
|
242 .data:004DF128 dd offset sub_44F1F9
|
|
243 .data:004DF12C dd offset sub_44F560
|
|
244 .data:004DF130 dd offset sub_450DC2
|
|
245 .data:004DF134 dd offset crt_deconstruct_45232B
|
|
246 byte
|
|
247
|
|
248 .data:004DF138 dd offset crt_construct_stru193_math@5C6E00
|
|
249 X
|
|
250
|
|
251 .data:004DF13C dd offset crt_452B74
|
|
252 byte
|
|
253
|
|
254 .data:004DF140 dd offset j_SetSomeItemsNames
|
|
255 added
|
|
256
|
|
257 .data:004DF144 dd offset crt_deconstruct_458364
|
|
258 byte
|
|
259
|
|
260 .data:004DF148 dd offset _intline_DecorationList__DecorationList_global
|
|
261 X
|
|
262
|
|
263 .data:004DF14C dd offset j_crt_construct_6836D0
|
|
264 X LevelDecorations
|
|
265
|
|
266 .data:004DF150 dd offset _inline_ObjectList__ObjectList_global
|
|
267 X
|
|
268
|
|
269 .data:004DF154 dd offset j_crt_construct_665230
|
|
270 X SpriteObjects
|
|
271
|
|
272 .data:004DF158 dd offset j_crt_construct_5FF158
|
|
273 X Actors
|
|
274
|
|
275 .data:004DF15C dd offset _inline_MonsterList__MonsterList_global
|
|
276 X
|
|
277
|
|
278 .data:004DF160 dd offset _inline_ChestList__ChestList_global
|
|
279 X
|
|
280
|
|
281 .data:004DF164 dd offset j_crt_construct_5E5150
|
|
282 X Chests
|
|
283
|
|
284 .data:004DF168 dd offset _inline_OverlayList__OverlayList_global
|
|
285 X
|
|
286
|
|
287 .data:004DF16C dd offset crt_construct_5E4D58
|
|
288 X OverlayList
|
|
289
|
|
290 .data:004DF170 dd offset sub_459C05
|
|
291 byte
|
|
292
|
|
293 .data:004DF174 dd offset sub_459C21
|
|
294 X KeyboardActionMapping
|
|
295
|
|
296 .data:004DF178 dd offset crt_deconstruct_45AFBD
|
|
297 .data:004DF17C dd offset crt_deconstruct_45B0EE
|
|
298 .data:004DF180 dd offset sub_45BA89
|
|
299 byte
|
|
300
|
|
301 .data:004DF184 dd offset crt_call_global_ctor_45BAA5
|
2002
|
302 stru_69BD44 = "effpar03" , need RECHECK
|
2000
|
303
|
|
304 .data:004DF188 dd offset crt_deconstruct_45DEF7
|
|
305 .data:004DF18C dd offset crt_deconstruct_45DF53
|
|
306 .data:004DF190 dd offset crt_deconstruct_45DF6F
|
|
307 .data:004DF194 dd offset crt_deconstruct_45DF8B
|
|
308 byte
|
|
309
|
|
310 .data:004DF198 dd offset crt_construct_ptr_6A0A60
|
|
311 X LODFile
|
|
312
|
|
313 .data:004DF19C dd offset crt_construct_ptr_6A0820
|
|
314 X LODFile
|
|
315
|
|
316 .data:004DF1A0 dd offset j_crt_construct_ptr_6A0118
|
|
317 X RGBTexture
|
|
318
|
|
319 .data:004DF1A4 dd offset sub_461415
|
|
320 .data:004DF1A8 dd offset crt_deconstruct_4621BE
|
|
321 .data:004DF1AC dd offset crt_deconstruct_46220E
|
|
322 byte
|
|
323
|
|
324 .data:004DF1B0 dd offset crt_construct_ptr_702B28
|
|
325 X Allocator
|
|
326
|
|
327 .data:004DF1B4 dd offset sub_46224A
|
|
328 X unused
|
|
329
|
|
330 .data:004DF1B8 dd offset crt_construct_ptr_06F0E80
|
|
331 X LODFile_IconsBitmaps
|
|
332
|
|
333 .data:004DF1BC dd offset sub_4623CF
|
|
334 X LODFile_Sprites
|
|
335
|
|
336 .data:004DF1C0 dd offset crt_call_ctors__pIcons_LOD
|
|
337 .data:004DF1C4 dd offset crt_call_ctors__pEvents_LOD
|
|
338 .data:004DF1C8 dd offset _inline_IndoorLocation__IndoorLocation_global
|
|
339 X
|
|
340
|
|
341 .data:004DF1CC dd offset crt_init_globals_462620
|
|
342 X initialized
|
|
343
|
|
344 .data:004DF1D0 dd offset crt_construct_ptr_6BE158
|
|
345 unused stru289
|
|
346
|
|
347 .data:004DF1D4 dd offset j_crt_init_globals_462659
|
|
348 X initialized
|
|
349
|
|
350 .data:004DF1D8 dd offset crt_construct_ptr_06BE070
|
|
351 X ODMRenderParams
|
|
352
|
|
353 .data:004DF1DC dd offset crt_init_globals_46269B
|
|
354 unused SW variable
|
|
355
|
|
356 .data:004DF1E0 dd offset crt_construct_ptr_6BE048
|
|
357 X TileTable
|
|
358
|
|
359 .data:004DF1E4 dd offset crt_construct_ptr_6A0DF0
|
|
360 X OutdoorLocation
|
|
361
|
|
362 .data:004DF1E8 dd offset sub_466CA6
|
|
363 .data:004DF1EC dd offset crt_deconstruct_467D29
|
|
364 .data:004DF1F0 dd offset sub_467E32
|
|
365 .data:004DF1F4 dd offset crt_deconstruct_46AC2C
|
|
366 byte
|
|
367
|
|
368 .data:004DF1F8 dd offset crt_construct_46AC48_ptr_720990
|
|
369 X std__string_720990 = "micon1" , need RECHECK
|
|
370
|
|
371 .data:004DF1FC dd offset crt_deconstruct_46BD83
|
|
372 byte
|
|
373
|
|
374 .data:004DF200 dd offset crt_init_globals_46BD9F
|
|
375 added
|
|
376
|
|
377 .data:004DF204 dd offset nullsub_26
|
|
378 X
|
|
379
|
|
380 .data:004DF208 dd offset sub_476102
|
|
381 byte
|
|
382
|
|
383 .data:004DF20C dd offset sub_47611E
|
|
384 X Texture
|
|
385
|
|
386 .data:004DF210 dd offset sub_476128
|
|
387 dword_7241C8 = 1 RECHECK
|
|
388
|
|
389 .data:004DF214 dd offset sub_476133
|
|
390 X InitializeGameText
|
|
391
|
|
392 .data:004DF218 dd offset sub_477595
|
|
393 .data:004DF21C dd offset sub_47836D
|
|
394 .data:004DF220 dd offset crt_sub_4783D9
|
|
395 byte
|
|
396
|
|
397 .data:004DF224 dd offset j__sub_4783FA_construct_global_73D150
|
|
398
|
|
399
|
|
400 .data:004DF228 dd offset sub_47A368
|
|
401 .data:004DF22C dd offset sub_47C778
|
|
402 .data:004DF230 dd offset sub_47CDBE
|
2002
|
403 byte
|
2000
|
404
|
|
405 .data:004DF234 dd offset sub_47CDDA
|
|
406
|
|
407
|
|
408 .data:004DF238 dd offset sub_47F483
|
2002
|
409 byte
|
2000
|
410
|
|
411 .data:004DF23C dd offset sub_47F49F
|
|
412
|
|
413
|
|
414 .data:004DF240 dd offset sub_47F4B9
|
|
415
|
|
416
|
|
417 .data:004DF244 dd offset sub_482A74
|
|
418 .data:004DF248 dd offset sub_485F37
|
|
419 .data:004DF24C dd offset sub_486A0C
|
|
420 .data:004DF250 dd offset crt_deconstruct_487DF7
|
|
421 .data:004DF254 dd offset sub_488E07
|
|
422 .data:004DF258 dd offset sub_489572
|
|
423 .data:004DF25C dd offset crt_deconstruct_489B44
|
|
424 .data:004DF260 dd offset crt_deconstruct_489BBA
|
2002
|
425 byte
|
2000
|
426
|
|
427 .data:004DF264 dd offset crt_construct_489BD6_ptr_080D198
|
2002
|
428 X PaletteManager
|
2000
|
429
|
|
430 .data:004DF268 dd offset sub_48AAA9
|
|
431 .data:004DF26C dd offset sub_48C20E
|
2002
|
432 byte
|
2000
|
433
|
|
434 .data:004DF270 dd offset sub_48C22A
|
|
435 .data:004DF274 dd offset loc_48C234
|
|
436 .data:004DF278 dd offset loc_48C243
|
|
437 .data:004DF27C dd offset loc_48C252
|
|
438 .data:004DF280 dd offset loc_48C3C0
|
|
439 .data:004DF284 dd offset loc_48C474
|
2002
|
440 Party constructor
|
2000
|
441
|
|
442 .data:004DF288 dd offset sub_49801C
|
|
443 .data:004DF28C dd offset sub_498077
|
|
444 .data:004DF290 dd offset sub_498A25
|
|
445 .data:004DF294 dd offset sub_49AFE5
|
|
446 .data:004DF298 dd offset crt_deconstruct_49B36B
|
2002
|
447 byte
|
2000
|
448
|
|
449 .data:004DF29C dd offset crt_construct_stru187@AE5BA8
|
2002
|
450 X DecalBuilder
|
2000
|
451
|
|
452 .data:004DF2A0 dd offset crt_construct_ptr_AE5B94
|
2002
|
453 std__string_AE5B94 = "hwsplat04", need RECHECK
|
2000
|
454
|
|
455 .data:004DF2A4 dd offset sub_49C594
|
|
456 .data:004DF2A8 dd offset sub_49D6C8
|
|
457 .data:004DF2AC dd offset sub_49D6E4
|
|
458 .data:004DF2B0 dd offset sub_49E71A
|
2002
|
459 byte
|
2000
|
460
|
|
461 .data:004DF2B4 dd offset sub_49E736
|
2002
|
462 X Render
|
2000
|
463
|
|
464 .data:004DF2B8 dd offset sub_4A198F
|
2002
|
465 byte
|
2000
|
466
|
|
467 .data:004DF2BC dd offset sub_4A19AB
|
2002
|
468 added
|
2000
|
469
|
|
470 .data:004DF2C0 dd offset sub_4A51AF
|
|
471 .data:004DF2C4 dd offset sub_4A7047
|
|
472 .data:004DF2C8 dd offset sub_4A94EB
|
|
473 .data:004DF2CC dd offset sub_4A963E
|
2002
|
474 byte
|
2000
|
475
|
|
476 .data:004DF2D0 dd offset sub_4A965A
|
2002
|
477 X pSoundList
|
2000
|
478
|
|
479 .data:004DF2D4 dd offset AudioPlayer__AudioPlayer
|
2002
|
480 X
|
2000
|
481
|
|
482 .data:004DF2D8 dd offset sub_4AC1AD
|
|
483 .data:004DF2DC dd offset sub_4AC662
|
|
484 .data:004DF2E0 dd offset sub_4ACC1C
|
|
485 .data:004DF2E4 dd offset sub_4AD369
|
|
486 .data:004DF2E8 dd offset crt_deconstruct_4AD44B
|
2002
|
487 byte
|
2000
|
488
|
|
489 .data:004DF2EC dd offset crt_construct_4AD467_ptr_F79D68
|
2002
|
490 X OSVersion
|
2000
|
491
|
|
492 .data:004DF2F0 dd offset crt_deconstruct_4AD4DE
|
2002
|
493 byte
|
2000
|
494
|
|
495 .data:004DF2F4 dd offset crt_construct_ptr_F7CE30
|
2002
|
496 X Texture
|
2000
|
497
|
|
498 .data:004DF2F8 dd offset sub_4B142B
|
|
499 .data:004DF2FC dd offset crt_sub_4BE344
|
2002
|
500 byte
|
2000
|
501
|
|
502 .data:004DF300 dd offset j_Random__ctor
|
2002
|
503 X
|
2000
|
504
|
|
505 .data:004DF304 dd offset crt_sub_4BE6B5
|
|
506 .data:004DF308 dd offset crt_sub_4BE6D4
|
2002
|
507 byte
|
2000
|
508
|
|
509 .data:004DF30C dd offset crt_j_VideoPlayer__ctor
|
2002
|
510 RECHECK
|
2000
|
511
|
|
512 .data:004DF310 dd offset sub_4C021E
|
2002
|
513 byte
|
2000
|
514
|
|
515 .data:004DF314 dd offset sub_4C023A
|
2002
|
516 added
|
2000
|
517
|
|
518 .data:004DF318 dd offset sub_4C035A
|
|
519 .data:004DF31C dd offset sub_4C03A3
|
2002
|
520 byte
|
2000
|
521
|
|
522 .data:004DF320 dd offset sub_4C03BF
|
|
523 .data:004DF324 dd offset sub_4C03F1
|
|
524 .data:004DF328 dd offset sub_4C0423
|
|
525 .data:004DF32C dd offset sub_4C044B
|
|
526 .data:004DF330 dd offset sub_4C047D
|
2002
|
527 X vis filters
|
2000
|
528
|
|
529 .data:004DF334 dd offset sub_4C2A6E
|
|
530 .data:004DF338 dd offset sub_4C2A8A
|
|
531 .data:004DF33C dd offset sub_4C2F7C
|
2002
|
532 byte
|
2000
|
533
|
|
534 */ |