comparison mm7_data.h @ 1231:182b910c528d

Слияние
author Ritor1
date Sun, 09 Jun 2013 10:18:51 +0600
parents ac1b79c498a8 8c02e6f74b29
children be76a797780e
comparison
equal deleted inserted replaced
1230:513a7893aa29 1231:182b910c528d
1 #pragma once 1 #pragma once
2 #include <string> 2 #include <string>
3 #include "VectorTypes.h" 3 #include "VectorTypes.h"
4 #include "OSAPI.h" 4 #include "OSAPI.h"
5 5 #include <array>
6 typedef char _UNKNOWN; 6 typedef char _UNKNOWN;
7 7
8 8
9 typedef unsigned int uint; 9 typedef unsigned int uint;
10 10
307 extern int dword_4D86D8; // weak 307 extern int dword_4D86D8; // weak
308 extern int dword_4DAFCC; // weak 308 extern int dword_4DAFCC; // weak
309 extern int (__stdcall *off_4DAFDC)(char); // weak 309 extern int (__stdcall *off_4DAFDC)(char); // weak
310 extern char asc_4DB724[]; // idb 310 extern char asc_4DB724[]; // idb
311 extern int dword_4DBD94; // weak 311 extern int dword_4DBD94; // weak
312 extern int dword_4DF380[]; // weak 312 extern std::array<int, 5> dword_4DF380; // weak
313 extern int dword_4DF390; // weak 313 extern int dword_4DF390; // weak
314 extern char Str2[]; // idb 314 extern char Str2[]; // idb
315 315
316 extern char byte_4E185C; // weak 316 extern char byte_4E185C; // weak
317 317
332 extern char aUnableToLoadS[]; // idb 332 extern char aUnableToLoadS[]; // idb
333 extern char aBitmaps[]; // idb 333 extern char aBitmaps[]; // idb
334 extern char aIcons[]; // idb 334 extern char aIcons[]; // idb
335 extern char aPending[]; // idb 335 extern char aPending[]; // idb
336 extern char aCanTFindS[]; // idb 336 extern char aCanTFindS[]; // idb
337 extern char *spellbook_texture_filename_suffices[]; // weak 337 extern std::array<char *, 9> spellbook_texture_filename_suffices; // weak
338 extern __int16 word_4E1D3A[]; // weak 338 extern __int16 word_4E1D3A[]; // weak
339 extern __int16 pTownPortalBook_xs[6]; 339 extern std::array<__int16, 6> pTownPortalBook_xs;
340 extern __int16 pTownPortalBook_ys[6]; 340 extern std::array<__int16, 6> pTownPortalBook_ys;
341 extern __int16 pTownPortalBook_ws[6]; 341 extern std::array<__int16, 6> pTownPortalBook_ws;
342 extern __int16 pTownPortalBook_hs[6]; 342 extern std::array<__int16, 6> pTownPortalBook_hs;
343 extern unsigned char pSpellbookSpellIndices[9][12]; // 4E2430 343 extern std::array<std::array<unsigned char, 12>, 9> pSpellbookSpellIndices; // 4E2430 from pSpellbookSpellIndices[9][12]
344 extern unsigned int pLloydsBeaconsPreviewXs[5]; // 004E249C 344 extern std::array<unsigned int, 5> pLloydsBeaconsPreviewXs; // 004E249C
345 extern unsigned int pLloydsBeaconsPreviewYs[5]; 345 extern std::array<unsigned int, 5> pLloydsBeaconsPreviewYs;
346 extern unsigned int pLloydsBeacons_SomeXs[5]; 346 extern std::array<unsigned int, 5> pLloydsBeacons_SomeXs;
347 extern unsigned int pLloydsBeacons_SomeYs[5]; // idb 347 extern std::array<unsigned int, 5> pLloydsBeacons_SomeYs; // idb
348 extern char aSbwb00[7]; // weak 348 extern std::array<char, 7> aSbwb00; // weak
349 extern char aW[2]; // idb 349 extern char aW[2]; // idb
350 extern char aA[2]; // idb 350 extern char aA[2]; // idb
351 extern char aSD[]; // idb 351 extern char aSD[]; // idb
352 extern char aSS03d03dS000S0[]; // idb 352 extern char aSS03d03dS000S0[]; // idb
353 extern char aLuS[]; // idb 353 extern char aLuS[]; // idb
422 extern char aS100110D[]; // idb 422 extern char aS100110D[]; // idb
423 extern char aS100110DS[]; // idb 423 extern char aS100110DS[]; // idb
424 extern char aS100110D02dSS[]; // idb 424 extern char aS100110D02dSS[]; // idb
425 extern int pCurrentScreen; // 004E28F8 425 extern int pCurrentScreen; // 004E28F8
426 extern unsigned int uGammaPos; 426 extern unsigned int uGammaPos;
427 extern int BtnTurnCoord[8]; 427 extern std::array<int, 8> BtnTurnCoord;
428 extern __int16 RightClickPortraitXmin[4]; 428 extern std::array<__int16, 4> RightClickPortraitXmin;
429 extern __int16 RightClickPortraitXmax[4]; 429 extern std::array<__int16, 4> RightClickPortraitXmax;
430 extern void *off_4E2A12; // weak 430 extern void *off_4E2A12; // weak
431 //extern int pArmorSkills[5]; 431 //extern int pArmorSkills[5];
432 //extern int pWeaponSkills[9]; 432 //extern int pWeaponSkills[9];
433 //extern int pMiscSkills[12]; 433 //extern int pMiscSkills[12];
434 //extern int pMagicSkills[9]; 434 //extern int pMagicSkills[9];
435 extern unsigned int pHealthBarPos[4]; 435 extern std::array<unsigned int, 4> pHealthBarPos;
436 extern unsigned int pManaBarPos[4]; 436 extern std::array<unsigned int, 4> pManaBarPos;
437 extern char _4E2B21_buff_spell_tooltip_colors[80]; 437 extern std::array<char, 80> _4E2B21_buff_spell_tooltip_colors;
438 extern unsigned char monster_popup_y_offsets[]; // weak 438 extern std::array<unsigned char, 88> monster_popup_y_offsets; // weak
439 extern unsigned char hourglass_icon_idx; // weak 439 extern unsigned char hourglass_icon_idx; // weak
440 440
441 441
442 extern const char *format_4E2D80; 442 extern const char *format_4E2D80;
443 extern char format_4E2D90[8]; 443 extern char format_4E2D90[8];
444 extern const char *format_4E2DE8; // idb 444 extern const char *format_4E2DE8; // idb
445 extern const char *format_4E2E00; // idb 445 extern const char *format_4E2E00; // idb
446 extern const char *format_4E2E10; // format text of resistance in Stats screen 446 extern const char *format_4E2E10; // format text of resistance in Stats screen
447 extern __int16 word_4E3C66[]; // idb 447 extern __int16 word_4E3C66[]; // idb
448 extern int dword_4E455C; // weak 448 extern int dword_4E455C; // weak
449 extern int dword_4E4560[6]; 449 extern std::array<int, 6> dword_4E4560;
450 extern int dword_4E4578[6]; 450 extern std::array<int, 6> dword_4E4578;
451 extern int dword_4E4590[6]; 451 extern std::array<int, 6> dword_4E4590;
452 extern int dword_4E45A8[6]; 452 extern std::array<int, 6> dword_4E45A8;
453 extern _UNKNOWN dword_4E49D4; // idb 453 extern _UNKNOWN dword_4E49D4; // idb
454 extern int dword_4E4A18[]; // weak 454 extern int dword_4E4A18[]; // weak
455 extern int dword_4E4A1C[]; // weak 455 extern int dword_4E4A1C[]; // weak
456 extern int dword_4E4A40[]; // weak 456 extern int dword_4E4A40[]; // weak
457 extern int dword_4E4A44[]; // weak 457 extern int dword_4E4A44[]; // weak
458 extern float flt_4E4A80[10]; 458 extern std::array<float, 10> flt_4E4A80;
459 459
460 extern int pPartySpellbuffsUI_XYs[14][2]; 460 extern std::array< std::array<int, 2>, 14> pPartySpellbuffsUI_XYs;
461 extern unsigned char byte_4E5DD8[]; // weak 461 extern std::array<unsigned char, 14> byte_4E5DD8; // weak
462 extern unsigned __int8 pPartySpellbuffsUI_smthns[14]; 462 extern std::array<unsigned __int8, 14> pPartySpellbuffsUI_smthns;
463 extern int pNPCPortraits_x[6][6]; // 004E5E50 463 extern std::array< std::array<int, 6>, 6> pNPCPortraits_x; // 004E5E50
464 extern int pNPCPortraits_y[6][6]; // 004E5EE0 464 extern std::array< std::array<int, 6>, 6> pNPCPortraits_y; // 004E5EE0
465 extern const char *pHouse_ExitPictures[11]; 465 extern std::array<const char *, 11> pHouse_ExitPictures;
466 extern const char *_4E6BDC_loc_names[11]; 466 extern std::array<const char *, 11> _4E6BDC_loc_names;
467 extern int bWinNT4_0; // weak 467 extern int bWinNT4_0; // weak
468 extern __int16 word_4E8152[11]; 468 extern std::array<__int16, 11> word_4E8152;
469 extern char byte_4E8168[7][14]; 469 extern std::array< std::array<char, 14>, 7> byte_4E8168;
470 #include "Texture.h" 470 #include "Texture.h"
471 extern stru355 stru_4E82A4;// = {0x20, 0x41, 0, 0x20, 0xFF0000, 0xFF00, 0xFF, 0xFF000000}; 471 extern stru355 stru_4E82A4;// = {0x20, 0x41, 0, 0x20, 0xFF0000, 0xFF00, 0xFF, 0xFF000000};
472 extern stru355 stru_4EFCBC;// = {0x20, 0x41, 0, 0x10, 0x7C00, 0x3E0, 0x1F, 0x8000}; 472 extern stru355 stru_4EFCBC;// = {0x20, 0x41, 0, 0x10, 0x7C00, 0x3E0, 0x1F, 0x8000};
473 extern char byte_4E94D0; // weak 473 extern char byte_4E94D0; // weak
474 extern char _4E94D2_light_type; // weak 474 extern char _4E94D2_light_type; // weak
475 extern char byte_4E94D3; // weak 475 extern char byte_4E94D3; // weak
476 extern unsigned int saveload_dlg_xs[2]; 476 extern std::array<unsigned int, 2> saveload_dlg_xs;
477 extern unsigned int saveload_dlg_ys[2]; 477 extern std::array<unsigned int, 2> saveload_dlg_ys;
478 extern unsigned int saveload_dlg_zs[2]; 478 extern std::array<unsigned int, 2> saveload_dlg_zs;
479 extern unsigned int saveload_dlg_ws[2]; 479 extern std::array<unsigned int, 2> saveload_dlg_ws;
480 extern int dword_4E98BC_bApplicationActive; // weak 480 extern int dword_4E98BC_bApplicationActive; // weak
481 extern char *pTransitionStrings[]; // 4EB080 481 extern std::array<char*, 465> pTransitionStrings; // 4EB080
482 extern int dword_4EC268[]; // weak 482 extern std::array<int, 9> dword_4EC268; // weak
483 extern int dword_4EC28C[]; // weak 483 extern std::array<int, 7> dword_4EC28C; // weak
484 extern int dword_4EC2A8; // weak 484 extern int dword_4EC2A8; // weak
485 extern int dword_4EC2AC; // weak 485 extern int dword_4EC2AC; // weak
486 extern const char *pPlayerPortraitsNames[25]; 486 extern std::array<const char*, 25> pPlayerPortraitsNames;
487 487
488 extern unsigned char byte_4ECF08[48][25]; 488 extern std::array< std::array<unsigned char, 25>, 48> byte_4ECF08;
489 extern unsigned char SoundSetAction[110][8]; // weak 489 extern unsigned char SoundSetAction[110][8]; // weak
490 extern __int16 pPlayerPortraitsXCoords_For_PlayerBuffAnimsDrawing[4]; 490 extern std::array<__int16, 4> pPlayerPortraitsXCoords_For_PlayerBuffAnimsDrawing;
491 extern char byte_4ED970_skill_learn_ability_by_class_table[36][37]; 491 extern std::array< std::array<char, 37>, 36> byte_4ED970_skill_learn_ability_by_class_table;
492 extern int dword_4EDEA0[]; // weak 492 extern std::array<int, 777> dword_4EDEA0; // weak
493 extern int dword_4EDEB4[]; // weak 493 extern std::array<int, 777> dword_4EDEB4; // weak
494 extern int dword_4EDEC4[]; // weak 494 extern std::array<int, 777> dword_4EDEC4; // weak
495 extern _UNKNOWN unk_4EDF40; // weak 495 extern _UNKNOWN unk_4EDF40; // weak
496 extern unsigned int pHiredNPCsIconsOffsetsX[2]; 496 extern std::array<unsigned int, 2> pHiredNPCsIconsOffsetsX;
497 extern unsigned int pHiredNPCsIconsOffsetsY[2]; 497 extern std::array<unsigned int, 2> pHiredNPCsIconsOffsetsY;
498 extern int dword_4EE07C[2]; // weak 498 extern std::array<int, 2> dword_4EE07C; // weak
499 extern _UNKNOWN unk_4EE084; // weak 499 extern _UNKNOWN unk_4EE084; // weak
500 extern __int16 word_4EE088_sound_ids[]; // weak 500 extern std::array<__int16, 100> word_4EE088_sound_ids; // weak
501 extern short word_4EE150[]; 501 extern std::array<short, 28> word_4EE150;
502 extern int dword_4EED78; // weak 502 extern int dword_4EED78; // weak
503 extern _UNKNOWN unk_4EED80; // weak 503 extern _UNKNOWN unk_4EED80; // weak
504 extern int dword_4EFA80; // weak 504 extern int dword_4EFA80; // weak
505 extern int dword_4EFA84; // weak 505 extern int dword_4EFA84; // weak
506 extern void *off_4EFDB0; // weak 506 extern void *off_4EFDB0; // weak
507 extern int dword_4F031C[]; // weak 507 extern int dword_4F031C[]; // weak
508 extern const char *off_4F03B8[]; // idb 508 extern std::array<const char *, 19> off_4F03B8; // idb
509 extern __int16 word_4F0576[]; // weak 509 extern __int16 word_4F0576[]; // weak
510 510
511 extern int guild_mambership_flags[32]; 511 extern std::array<int, 32> guild_mambership_flags;
512 extern __int16 word_4F0754[49]; 512 extern std::array<__int16, 49> word_4F0754;
513 extern __int16 _4F0882_evt_VAR_PlayerItemInHands_vals[54]; 513 extern std::array<__int16, 54> _4F0882_evt_VAR_PlayerItemInHands_vals;
514 extern unsigned short pMaxLevelPerTrainingHallType[]; 514 extern std::array<unsigned short, 6> pMaxLevelPerTrainingHallType;
515 extern int price_for_membership[]; // weak 515 extern std::array<int, 11> price_for_membership; // weak
516 extern Vec2_int_ pMonsterArenaPlacements[20]; 516 extern std::array<Vec2_int_, 20> pMonsterArenaPlacements;
517 extern __int16 word_4F0F30[32]; // weak 517 extern std::array<__int16, 32> word_4F0F30; // weak
518 extern double dbl_4F2870; // weak 518 extern double dbl_4F2870; // weak
519 extern int dword_4F288C; // weak 519 extern int dword_4F288C; // weak
520 extern double dbl_4F5372; // weak 520 extern double dbl_4F5372; // weak
521 extern int dword_4F5428[]; // weak 521 extern int dword_4F5428[]; // weak
522 extern int dword_4F542C[]; // weak 522 extern int dword_4F542C[]; // weak
523 extern _UNKNOWN crtunk_4F54B8; // weak 523 extern _UNKNOWN crtunk_4F54B8; // weak
524 extern int dword_4F5B24_ys[]; // idb 524 extern std::array<int, 777> dword_4F5B24_ys; // idb
525 extern int dword_4F5BF4_xs[]; // idb 525 extern std::array<int, 777> dword_4F5BF4_xs; // idb
526 extern int dword_4F5CC4_ys[]; // idb 526 extern std::array<int, 777> dword_4F5CC4_ys; // idb
527 extern int dword_4F5D98_xs[]; // idb 527 extern std::array<int, 777> dword_4F5D98_xs; // idb
528 extern int ai_array_4F5E68[500]; 528 extern std::array<int, 500> ai_array_4F5E68;
529 extern int ai_array_4F6638_actor_ids[500]; 529 extern std::array<int, 500> ai_array_4F6638_actor_ids;
530 extern int ai_near_actors_targets_pid[500]; 530 extern std::array<int, 500> ai_near_actors_targets_pid;
531 extern int ai_arrays_size; // weak 531 extern int ai_arrays_size; // weak
532 extern int ai_near_actors_distances[500]; 532 extern std::array<int, 500> ai_near_actors_distances;
533 extern unsigned int ai_near_actors_ids[500]; 533 extern std::array<unsigned int, 500> ai_near_actors_ids;
534 extern int dword_4F8580[]; // weak 534 extern std::array<int, 121> dword_4F8580; // weak
535 extern int dword_4FA9B0[]; // weak 535 extern int dword_4FA9B0[]; // weak
536 extern int dword_4FA9B4[]; // weak 536 extern int dword_4FA9B4[]; // weak
537 extern char byte_4FAA00; // weak 537 extern char byte_4FAA00; // weak
538 extern __int16 am_sounds[12]; 538 extern std::array<__int16, 12> am_sounds;
539 extern _UNKNOWN unk_4FAA20; // weak 539 extern _UNKNOWN unk_4FAA20; // weak
540 extern char byte_4FAA24; // weak 540 extern char byte_4FAA24; // weak
541 extern HWND dword_4FAA28; // idb 541 extern HWND dword_4FAA28; // idb
542 542
543 extern char byte_4FAA2E; // weak 543 extern char byte_4FAA2E; // weak
545 extern int amuint_4FAA38; // weak 545 extern int amuint_4FAA38; // weak
546 extern int amuint_4FAA3C_blt_xy[2]; 546 extern int amuint_4FAA3C_blt_xy[2];
547 extern int am_uint_4FAA44_blt_xy[2]; 547 extern int am_uint_4FAA44_blt_xy[2];
548 extern int amuint_4FAA4C; // weak 548 extern int amuint_4FAA4C; // weak
549 extern unsigned int uCardID; // idb 549 extern unsigned int uCardID; // idb
550 extern int amuint_4FAA54_blt_xy[2]; 550 extern std::array<int, 2> amuint_4FAA54_blt_xy;
551 extern int amuint_4FAA5C_blt_xy[2]; 551 extern std::array<int, 2> amuint_4FAA5C_blt_xy;
552 extern int dword_4FAA64; // weak 552 extern int dword_4FAA64; // weak
553 extern int dword_4FAA68; // weak 553 extern int dword_4FAA68; // weak
554 554
555 extern int dword_4FAA70; // weak 555 extern int dword_4FAA70; // weak
556 extern char byte_4FAA74; // weak 556 extern char byte_4FAA74; // weak
557 extern char am_byte_4FAA75; // weak 557 extern char am_byte_4FAA75; // weak
558 extern char am_byte_4FAA76; // weak 558 extern char am_byte_4FAA76; // weak
559 559
560 extern int amuint_4FAA78[777]; // weak 560 extern std::array<int, 777> amuint_4FAA78; // weak
561 extern char am_byte_4FAA7C[777]; // weak 561 extern char am_byte_4FAA7C[777]; // weak
562 extern int amuint_4FAA80[777]; // weak 562 extern std::array<int, 777> amuint_4FAA80; // weak
563 extern int amuint_4FAA84[777]; // weak 563 extern std::array<int, 777> amuint_4FAA84; // weak
564 extern int amuint_4FAA88[777]; // weak 564 extern int amuint_4FAA88[777]; // weak
565 extern int amuint_4FAA8C[777]; // weak 565 extern int amuint_4FAA8C[777]; // weak
566 extern int amuint_4FAA90[777][2]; 566 extern int amuint_4FAA90[777][2];
567 extern int dword_4FABB8; // weak 567 extern int dword_4FABB8; // weak
568 568
590 590
591 extern char byte_5054C8[32]; // idb 591 extern char byte_5054C8[32]; // idb
592 592
593 extern char byte_505880; // weak 593 extern char byte_505880; // weak
594 extern char byte_505881; // weak 594 extern char byte_505881; // weak
595 extern int amuint_505884; // weak 595
596 extern int amuint_505888; // weak
597 extern int amuint_50588C; // weak
598 extern int dword_505890; // weak 596 extern int dword_505890; // weak
599 extern unsigned int pSRZBufferLineOffsets[480]; 597 extern std::array<unsigned int, 480> pSRZBufferLineOffsets;
600 extern int areWeLoadingTexture; // weak 598 extern int areWeLoadingTexture; // weak
601 extern char byte_506130[]; // weak 599 extern std::array<char, 777> byte_506130; // weak
602 extern int dword_506338; // weak 600 extern int dword_506338; // weak
603 extern int dword_50633C; // idb 601 extern int dword_50633C; // idb
604 extern signed int sRecoveryTime; // idb 602 extern signed int sRecoveryTime; // idb
605 extern unsigned int uRequiredMana; // idb 603 extern unsigned int uRequiredMana; // idb
606 extern int _506348_current_lloyd_playerid; // weak 604 extern int _506348_current_lloyd_playerid; // weak
619 extern int Book_PageBtn3_flag; //dword_506540 617 extern int Book_PageBtn3_flag; //dword_506540
620 extern int BtnDown_flag; //BtnDown_flag 618 extern int BtnDown_flag; //BtnDown_flag
621 extern int BtnUp_flag; //BtnUp_flag 619 extern int BtnUp_flag; //BtnUp_flag
622 extern int quick_spell_at_page; // weak 620 extern int quick_spell_at_page; // weak
623 extern char byte_506550; // weak 621 extern char byte_506550; // weak
624 extern char *aMoonPhaseNames[5]; 622 extern std::array<char *, 5> aMoonPhaseNames;
625 extern int _506568_autonote_type; // 506568 623 extern int _506568_autonote_type; // 506568
626 extern char bRecallingBeacon; // weak 624 extern char bRecallingBeacon; // weak
627 extern int uLastPointedObjectID; // weak 625 extern int uLastPointedObjectID; // weak
628 //extern unsigned __int8 bMonsterInfoUI_bDollInitialized; 626 //extern unsigned __int8 bMonsterInfoUI_bDollInitialized;
629 extern char *aSpellNames[44]; 627 extern std::array<char *, 44> aSpellNames;
630 extern int pMainScreenNum; // weak 628 extern int pMainScreenNum; // weak
631 extern int dword_506980_uW; // weak 629 extern int dword_506980_uW; // weak
632 extern int dword_506984_uZ; // weak 630 extern int dword_506984_uZ; // weak
633 extern int dword_506988_uY; // weak 631 extern int dword_506988_uY; // weak
634 extern int dword_50698C_uX; // weak 632 extern int dword_50698C_uX; // weak
635 extern int uGameMenuUI_CurentlySelectedKeyIdx; // 506E68 633 extern int uGameMenuUI_CurentlySelectedKeyIdx; // 506E68
636 extern bool GameMenuUI_InvaligKeyBindingsFlags[28]; // 506E6C 634 extern std::array<bool, 28> GameMenuUI_InvaligKeyBindingsFlags; // 506E6C
637 extern unsigned int pPrevVirtualCidesMapping[27]; 635 extern std::array<unsigned int, 27> pPrevVirtualCidesMapping;
638 extern int KeyboardPageNum; // weak 636 extern int KeyboardPageNum; // weak
639 extern int dword_506F0C[]; // idb 637 extern std::array<int, 777> dword_506F0C; // idb
640 extern int uRestUI_FoodRequiredToRest; 638 extern int uRestUI_FoodRequiredToRest;
641 extern int dword_506F14; // weak 639 extern int dword_506F14; // weak
642 extern int _506F18_num_hours_to_sleep; // weak 640 extern int _506F18_num_hours_to_sleep; // weak
643 extern int dword_506F1C; // weak 641 extern int dword_506F1C; // weak
644 extern int pVisibleWindowsIdxs[20]; // weak 642 extern std::array<int, 20> pVisibleWindowsIdxs; // weak
645 extern int uNumVisibleWindows; 643 extern int uNumVisibleWindows;
646 extern char bFlashHistoryBook; // weak 644 extern char bFlashHistoryBook; // weak
647 extern char bFlashAutonotesBook; // weak 645 extern char bFlashAutonotesBook; // weak
648 extern char bFlashQuestBook; // weak 646 extern char bFlashQuestBook; // weak
649 extern int uTextureID_PlayerBuff_PainReflection; // weak 647 extern int uTextureID_PlayerBuff_PainReflection; // weak
659 extern struct GUIButton *pBtn_ZoomOut; // idb 657 extern struct GUIButton *pBtn_ZoomOut; // idb
660 extern struct GUIButton *pBtn_ZoomIn; // idb 658 extern struct GUIButton *pBtn_ZoomIn; // idb
661 extern unsigned int uGameUIFontShadow; 659 extern unsigned int uGameUIFontShadow;
662 extern unsigned int uGameUIFontMain; 660 extern unsigned int uGameUIFontMain;
663 extern int dword_507B00_spell_info_to_draw_in_popup; // weak 661 extern int dword_507B00_spell_info_to_draw_in_popup; // weak
664 extern char *aMonthNames[12]; 662 extern std::array<char *, 12> aMonthNames;
665 extern char *aDayNames[7]; 663 extern std::array<char *, 7> aDayNames;
666 extern char *aSpellSchoolNames[9]; 664 extern std::array<char *, 9> aSpellSchoolNames;
667 extern char *aAttributeNames[7]; 665 extern std::array<char *, 7> aAttributeNames;
668 extern int dword_507B94; // weak 666 extern int dword_507B94; // weak
669 extern int dword_507B98_ctrl_pressed; // weak 667 extern int dword_507B98_ctrl_pressed; // weak
670 extern unsigned int uActiveCharacter; 668 extern unsigned int uActiveCharacter;
671 extern int dword_507BF0_is_there_popup_onscreen; // weak 669 extern int dword_507BF0_is_there_popup_onscreen; // weak
672 extern int dword_507CBC; // weak 670 extern int dword_507CBC; // weak
673 extern int dword_507CC0_activ_ch; // weak 671 extern int dword_507CC0_activ_ch; // weak
674 extern __int64 GameUI_RightPanel_BookFlashTimer; // weak 672 extern __int64 GameUI_RightPanel_BookFlashTimer; // weak
675 extern int _507CD4_RestUI_hourglass_anim_controller; // weak 673 extern int _507CD4_RestUI_hourglass_anim_controller; // weak
676 extern int dword_507CD8; // weak 674 extern int dword_507CD8; // weak
677 extern int dword_50B570[]; // weak 675 extern std::array<int, 50> dword_50B570; // weak
678 extern int dword_50B638[]; // weak 676 extern std::array<int, 50> dword_50B638; // weak
679 extern struct stru367 stru_50B700; 677 extern struct stru367 stru_50B700;
680 /*extern int stru_50B700.field_0; // weak 678 /*extern int stru_50B700.field_0; // weak
681 extern int stru_50B700.field_38[]; // idb 679 extern int stru_50B700.field_38[]; // idb
682 extern int stru_50B700._view_transformed_ys[]; 680 extern int stru_50B700._view_transformed_ys[];
683 extern int stru_50B700.field_128[]; 681 extern int stru_50B700.field_128[];
693 extern int stru_50B700.field_3D4[]; // weak 691 extern int stru_50B700.field_3D4[]; // weak
694 extern int stru_50B700._xs[]; // weak 692 extern int stru_50B700._xs[]; // weak
695 extern int dword_50BAE8[]; // weak 693 extern int dword_50BAE8[]; // weak
696 extern int stru_50B700._xs2[]; // weak 694 extern int stru_50B700._xs2[]; // weak
697 extern int stru_50B700._xs3[]; // weak*/ 695 extern int stru_50B700._xs3[]; // weak*/
698 extern int dword_50BC10[]; // weak 696 extern std::array<int, 100> dword_50BC10; // weak
699 extern int dword_50BDA0[]; // weak 697 extern std::array<int, 100> dword_50BDA0; // weak
700 extern int dword_50BF30[]; // weak 698 extern std::array<int, 100> dword_50BF30; // weak
701 extern char town_portal_caster_id; // weak 699 extern char town_portal_caster_id; // weak
702 extern int some_active_character; // weak 700 extern int some_active_character; // weak
703 extern _UNKNOWN unk_50C190; // weak 701 extern _UNKNOWN unk_50C190; // weak
704 extern int dword_50C968; // weak 702 extern int dword_50C968; // weak
705 extern unsigned int pIconIDs_Turn[5]; 703 extern std::array<unsigned int, 5> pIconIDs_Turn;
706 extern unsigned int uIconID_TurnStop; 704 extern unsigned int uIconID_TurnStop;
707 extern unsigned int uIconID_TurnHour; 705 extern unsigned int uIconID_TurnHour;
708 extern int uIconID_CharacterFrame; // idb 706 extern int uIconID_CharacterFrame; // idb
709 extern unsigned int uIconID_TurnStart; 707 extern unsigned int uIconID_TurnStart;
710 extern int dword_50C994; // weak 708 extern int dword_50C994; // weak
722 //extern int dword_50C9EC[]; // 50C9EC 720 //extern int dword_50C9EC[]; // 50C9EC
723 extern int dword_50CDC8; 721 extern int dword_50CDC8;
724 extern int dword_50CDCC; // weak 722 extern int dword_50CDCC; // weak
725 extern int bProcessorIsNotIntel; // weak 723 extern int bProcessorIsNotIntel; // weak
726 extern Vec3_int_ layingitem_vel_50FDFC; 724 extern Vec3_int_ layingitem_vel_50FDFC;
727 extern char pStartingMapName[]; // idb 725 extern std::array<char, 777> pStartingMapName; // idb
728 extern unsigned __int8 IsPlayerWearingWatersuit[5]; 726 extern std::array<unsigned __int8, 5> IsPlayerWearingWatersuit;
729 extern char party_has_equipment[54]; 727 extern std::array<char, 54> party_has_equipment;
730 extern char byte_5111F6[]; 728 extern std::array<char, 16> byte_5111F6;
731 extern unsigned int papredoll_dbrds[16]; 729 extern std::array<unsigned int, 16> papredoll_dbrds;
732 730
733 extern int bRingsShownInCharScreen; // weak 731 extern int bRingsShownInCharScreen; // weak
734 extern int _unused000; // weak 732 extern int _unused000; // weak
735 733
736 extern unsigned __int16 pOdmMinimap[117][137]; 734 extern std::array<std::array<unsigned __int16, 137>, 117> pOdmMinimap;
737 extern unsigned int uNumBlueFacesInBLVMinimap; 735 extern unsigned int uNumBlueFacesInBLVMinimap;
738 extern unsigned __int16 pBlueFacesInBLVMinimapIDs[50]; 736 extern std::array<unsigned __int16, 50> pBlueFacesInBLVMinimapIDs;
739 extern int pTextureIDs_PartyBuffIcons[14]; 737 extern std::array<int, 14> pTextureIDs_PartyBuffIcons;
740 extern unsigned int uIconIdx_FlySpell; 738 extern unsigned int uIconIdx_FlySpell;
741 extern unsigned int uIconIdx_WaterWalk; 739 extern unsigned int uIconIdx_WaterWalk;
742 extern int dword_576E28; // weak 740 extern int dword_576E28; // weak
743 extern int _576E2C_current_minimap_zoom; // weak 741 extern int _576E2C_current_minimap_zoom; // weak
744 extern __int64 _5773B8_event_timer; // weak 742 extern __int64 _5773B8_event_timer; // weak
748 extern int dword_591084; // weak 746 extern int dword_591084; // weak
749 extern struct Actor *pDialogue_SpeakingActor; 747 extern struct Actor *pDialogue_SpeakingActor;
750 extern unsigned int uDialogueType; 748 extern unsigned int uDialogueType;
751 extern signed int sDialogue_SpeakingActorNPC_ID; 749 extern signed int sDialogue_SpeakingActorNPC_ID;
752 extern struct LevelDecoration *_591094_decoration; 750 extern struct LevelDecoration *_591094_decoration;
753 extern char sHouseName[200]; // idb 751 extern std::array<char, 200> sHouseName; // idb
754 extern int uCurrentHouse_Animation; // weak 752 extern int uCurrentHouse_Animation; // weak
755 extern char *dword_591164_teleport_map_name; // idb 753 extern char *dword_591164_teleport_map_name; // idb
756 extern int dword_591168_teleport_speedz; // weak 754 extern int dword_591168_teleport_speedz; // weak
757 extern int dword_59116C_teleport_directionx; // weak 755 extern int dword_59116C_teleport_directionx; // weak
758 extern int dword_591170_teleport_directiony; // weak 756 extern int dword_591170_teleport_directiony; // weak
759 extern int dword_591174_teleportz; // weak 757 extern int dword_591174_teleportz; // weak
760 extern int dword_591178_teleporty; // weak 758 extern int dword_591178_teleporty; // weak
761 extern int dword_59117C_teleportx; // weak 759 extern int dword_59117C_teleportx; // weak
762 extern char byte_591180[6][100]; // idb 760 extern std::array<std::array<char, 100>, 6> byte_591180; // idb
763 extern struct NPCData *HouseNPCData[60]; 761 extern std::array<struct NPCData *, 60> HouseNPCData; //this array size temporarily increased to 60 from 6 to work aroud house overflow
764 762
765 extern struct Texture *pTexture_591428; 763 extern struct Texture *pTexture_591428;
766 extern struct Texture *pTexture_outside; // idb 764 extern struct Texture *pTexture_outside; // idb
767 extern struct Texture *pTexture_Dialogue_Background; 765 extern struct Texture *pTexture_Dialogue_Background;
768 extern _UNKNOWN unk_597F10; // weak 766 extern _UNKNOWN unk_597F10; // weak
769 extern char byte_5B0938[2000]; 767 extern std::array<char, 2000> byte_5B0938;
770 extern int EvtTargetObj; // weak 768 extern int EvtTargetObj; // weak
771 extern int _unused_5B5924_is_travel_ui_drawn; // 005B5924 769 extern int _unused_5B5924_is_travel_ui_drawn; // 005B5924
772 extern int _5B65A8_npcdata_uflags_or_other; // weak 770 extern int _5B65A8_npcdata_uflags_or_other; // weak
773 extern int _5B65AC_npcdata_fame_or_other; // weak 771 extern int _5B65AC_npcdata_fame_or_other; // weak
774 extern int _5B65B0_npcdata_rep_or_other; // weak 772 extern int _5B65B0_npcdata_rep_or_other; // weak
781 extern int dword_5B65CC; // weak 779 extern int dword_5B65CC; // weak
782 extern int dword_5B65D0_dialogue_actor_npc_id; // weak 780 extern int dword_5B65D0_dialogue_actor_npc_id; // weak
783 extern int dword_5C3418; // weak 781 extern int dword_5C3418; // weak
784 extern int dword_5C341C; // weak 782 extern int dword_5C341C; // weak
785 extern int _5C3420_pDecoration; 783 extern int _5C3420_pDecoration;
786 extern char byte_5C3427[]; // weak 784 extern std::array<char, 777> byte_5C3427; // weak
787 extern char GameUI_Footer_TimedString[200]; 785 extern std::array<char, 200> GameUI_Footer_TimedString;
788 extern char pFooterString[200]; 786 extern std::array<char, 200> pFooterString;
789 extern unsigned int GameUI_Footer_TimeLeft; 787 extern unsigned int GameUI_Footer_TimeLeft;
790 extern int bForceDrawFooter; // weak 788 extern int bForceDrawFooter; // weak
791 extern int dword_5C35C0; // weak 789 extern int dword_5C35C0; // weak
792 extern int bDialogueUI_InitializeActor_NPC_ID; // weak 790 extern int bDialogueUI_InitializeActor_NPC_ID; // weak
793 extern int dword_5C35C8; // weak 791 extern int dword_5C35C8; // weak
794 extern char *p2DEventsTXT_Raw; 792 extern char *p2DEventsTXT_Raw;
795 793
796 extern int dword_5C35D4; // weak 794 extern int dword_5C35D4; // weak
797 extern char *aAMPMNames[2]; 795 extern std::array<char *, 2> aAMPMNames;
798 extern char byte_5C45AF[]; // weak 796 extern char byte_5C45AF[]; // weak
799 extern char pTmpBuf3[]; 797 extern std::array<char, 10000> pTmpBuf3;
800 extern char pFinalMessage[4096]; // idb 798 extern std::array<char, 4096> pFinalMessage; // idb
801 extern char pTmpBuf[2000]; 799 extern std::array<char, 2000> pTmpBuf;
802 extern char pTmpBuf2[2000]; 800 extern std::array<char, 2000> pTmpBuf2;
803 extern char byte_5C6D50[]; // weak 801 extern std::array<char, 100> byte_5C6D50; // weak
804 extern int ui_current_text_color; // weak 802 extern int ui_current_text_color; // weak
805 extern __int64 qword_5C6DF0; // weak 803 extern __int64 qword_5C6DF0; // weak
806 extern int dword_5C6DF8; // weak 804 extern int dword_5C6DF8; // weak
807 extern char item__getname_buffer[104]; // idb 805 extern std::array<char, 104> item__getname_buffer; // idb
808 extern char *pClassDescriptions[36]; 806 extern std::array<char *, 36> pClassDescriptions;
809 extern char *pAttributeDescriptions[7]; 807 extern std::array<char *, 7> pAttributeDescriptions;
810 extern char *pGrandSkillDesc[38]; 808 extern std::array<char *, 38> pGrandSkillDesc;
811 extern char *pMasterSkillDesc[38]; 809 extern std::array<char *, 38> pMasterSkillDesc;
812 extern char *pExpertSkillDesc[38]; 810 extern std::array<char *, 38> pExpertSkillDesc;
813 extern char *pNormalSkillDesc[38]; 811 extern std::array<char *, 38> pNormalSkillDesc;
814 extern char *pSkillDesc[38]; 812 extern std::array<char *, 38> pSkillDesc;
815 extern char *pHealthPointsAttributeDescription; 813 extern char *pHealthPointsAttributeDescription;
816 extern char *pSpellPointsAttributeDescription; 814 extern char *pSpellPointsAttributeDescription;
817 extern char *pArmourClassAttributeDescription; 815 extern char *pArmourClassAttributeDescription;
818 extern char *pPlayerConditionAttributeDescription; // idb 816 extern char *pPlayerConditionAttributeDescription; // idb
819 extern char *pFastSpellAttributeDescription; 817 extern char *pFastSpellAttributeDescription;
833 extern char *pSkillPointsAttributeDescription; 831 extern char *pSkillPointsAttributeDescription;
834 extern char *pClassTXT_Raw; 832 extern char *pClassTXT_Raw;
835 extern char *pStatsTXT_Raw; 833 extern char *pStatsTXT_Raw;
836 extern char *pSkillDescTXT_Raw; 834 extern char *pSkillDescTXT_Raw;
837 extern struct FactionTable *pFactionTable; 835 extern struct FactionTable *pFactionTable;
838 extern char byte_5C8D1A[]; // weak 836 extern std::array<char, 777> byte_5C8D1A; // weak
839 837
840 extern char byte_5E4C15[]; // weak 838 extern std::array<char, 777> byte_5E4C15; // weak
841 extern char *pSomeItemsNames[14]; 839 extern std::array<char *, 14> pSomeItemsNames;
842 840
843 extern char *pMonstersTXT_Raw; 841 extern char *pMonstersTXT_Raw;
844 extern char *pMonsterPlacementTXT_Raw; 842 extern char *pMonsterPlacementTXT_Raw;
845 extern char *pSpellsTXT_Raw; 843 extern char *pSpellsTXT_Raw;
846 extern char *pMapStatsTXT_Raw; 844 extern char *pMapStatsTXT_Raw;
847 extern char *pHostileTXT_Raw; 845 extern char *pHostileTXT_Raw;
848 extern char *pPotionsTXT_Raw; 846 extern char *pPotionsTXT_Raw;
849 extern char *pPotionNotesTXT_Raw; 847 extern char *pPotionNotesTXT_Raw;
850 848
851 extern int _6807B8_level_decorations_ids[]; // idb 849 extern std::array<int, 777> _6807B8_level_decorations_ids; // idb
852 extern int _6807E0_num_decorations_with_sounds_6807B8; // weak 850 extern int _6807E0_num_decorations_with_sounds_6807B8; // weak
853 extern int _6807E8_level_decorations_ids[]; // idb 851 extern std::array<int, 777> _6807E8_level_decorations_ids; // idb
854 extern int _6836C8_num_decorations_6807E8; // weak 852 extern int _6836C8_num_decorations_6807E8; // weak
855 extern int dword_69B010[64]; 853 extern std::array<int, 64> dword_69B010;
856 extern float flt_69B138_dist; // weak 854 extern float flt_69B138_dist; // weak
857 extern char byte_69BD41_unused; // weak 855 extern char byte_69BD41_unused; // weak
858 extern unsigned int uTextureID_x_u; 856 extern unsigned int uTextureID_x_u;
859 extern unsigned int uTextureID_LS_saveU; 857 extern unsigned int uTextureID_LS_saveU;
860 extern unsigned int uTextureID_LS_loadU; 858 extern unsigned int uTextureID_LS_loadU;
884 extern struct TileTable *pTileTable; // idb 882 extern struct TileTable *pTileTable; // idb
885 extern int texmapping_terrain_subdivsize; // weak 883 extern int texmapping_terrain_subdivsize; // weak
886 extern int texmapping_terrain_subdivpow2; // weak 884 extern int texmapping_terrain_subdivpow2; // weak
887 extern int texmapping_building_subdivsize; // weak 885 extern int texmapping_building_subdivsize; // weak
888 extern int texmapping_building_subdivpow2; // weak 886 extern int texmapping_building_subdivpow2; // weak
889 extern int unnamed_6BE060[2]; 887 extern std::array<int, 2> unnamed_6BE060;
890 extern int mipmapping_building_mm1; // weak 888 extern int mipmapping_building_mm1; // weak
891 extern int mipmapping_building_mm2; // weak 889 extern int mipmapping_building_mm2; // weak
892 extern int mipmapping_building_mm3; // weak 890 extern int mipmapping_building_mm3; // weak
893 extern int mipmapping_terrain_mm1; // weak 891 extern int mipmapping_terrain_mm1; // weak
894 extern int mipmapping_terrain_mm2; // weak 892 extern int mipmapping_terrain_mm2; // weak
906 extern char outdoor_night_top_g; // weak 904 extern char outdoor_night_top_g; // weak
907 extern char outdoor_night_top_b; // weak 905 extern char outdoor_night_top_b; // weak
908 extern char outdoor_night_bottom_r; // weak 906 extern char outdoor_night_bottom_r; // weak
909 extern char outdoor_night_bottom_g; // weak 907 extern char outdoor_night_bottom_g; // weak
910 extern char outdoor_night_bottom_b; // weak 908 extern char outdoor_night_bottom_b; // weak
911 extern char pDefaultSkyTexture[]; // idb 909 extern std::array<char, 777> pDefaultSkyTexture; // idb
912 extern char byte_6BE124_cfg_textures_DefaultGroundTexture[16]; // idb 910 extern std::array<char, 16> byte_6BE124_cfg_textures_DefaultGroundTexture; // idb
913 extern int _6BE134_odm_main_tile_group; // weak 911 extern int _6BE134_odm_main_tile_group; // weak
914 extern int dword_6BE138; // weak 912 extern int dword_6BE138; // weak
915 extern int dword_6BE13C_uCurrentlyLoadedLocationID; // weak 913 extern int dword_6BE13C_uCurrentlyLoadedLocationID; // weak
916 extern float fWalkSpeedMultiplier; // weak 914 extern float fWalkSpeedMultiplier; // weak
917 extern float fBackwardWalkSpeedMultiplier; // weak 915 extern float fBackwardWalkSpeedMultiplier; // weak
926 extern int uWindowX; // idb 924 extern int uWindowX; // idb
927 extern int uWindowY; // idb 925 extern int uWindowY; // idb
928 extern LONG uWindowStyle; // idb 926 extern LONG uWindowStyle; // idb
929 extern HMENU hOSMenu; // idb 927 extern HMENU hOSMenu; // idb
930 extern int dword_6BE340; // weak 928 extern int dword_6BE340; // weak
931 extern char pCurrentMapName[20]; // idb 929 extern std::array<char, 20> pCurrentMapName; // idb
932 extern unsigned int uLevelMapStatsID; 930 extern unsigned int uLevelMapStatsID;
933 extern int dword_6BE364_game_settings_1; // weak 931 extern int dword_6BE364_game_settings_1; // weak
934 extern int dword_6BE368_debug_settings_2; // weak 932 extern int dword_6BE368_debug_settings_2; // weak
935 extern unsigned __int8 bUseLoResSprites; 933 extern unsigned __int8 bUseLoResSprites;
936 extern unsigned __int8 bUseRegistry; 934 extern unsigned __int8 bUseRegistry;
943 extern unsigned int uTurnSpeed; 941 extern unsigned int uTurnSpeed;
944 extern float flt_6BE3A0; // weak 942 extern float flt_6BE3A0; // weak
945 extern float flt_6BE3A4_debug_recmod1; 943 extern float flt_6BE3A4_debug_recmod1;
946 extern float flt_6BE3A8_debug_recmod2; 944 extern float flt_6BE3A8_debug_recmod2;
947 extern float flt_6BE3AC_debug_recmod1_x_1_6; 945 extern float flt_6BE3AC_debug_recmod1_x_1_6;
948 extern char byte_6BE3B0[20]; // idb 946 extern std::array<char, 20> byte_6BE3B0; // idb
949 extern char bUnderwater; // weak 947 extern char bUnderwater; // weak
950 extern char bNoNPCHiring; // weak 948 extern char bNoNPCHiring; // weak
951 extern int _702AC0_unused; // weak 949 extern int _702AC0_unused; // weak
952 extern int _702AC4_unused; // weak 950 extern int _702AC4_unused; // weak
953 extern char _702ACC_unused; // weak 951 extern char _702ACC_unused; // weak
956 extern bool bNoIntro; 954 extern bool bNoIntro;
957 extern bool bNoLogo; 955 extern bool bNoLogo;
958 extern bool bNoCD; 956 extern bool bNoCD;
959 extern bool bNoSound; 957 extern bool bNoSound;
960 extern int aborting_app; // weak 958 extern int aborting_app; // weak
961 extern int dword_720020_zvalues[100]; 959 extern std::array<int, 100> dword_720020_zvalues;
962 extern int dword_7201B0_zvalues[299]; 960 extern std::array<int, 299> dword_7201B0_zvalues;
963 extern int dword_7207F0[]; // idb 961 extern int dword_7207F0[]; // idb
964 extern int uTextureID_720980; // weak 962 extern int uTextureID_720980; // weak
965 extern int _720984_unused; // weak 963 extern int _720984_unused; // weak
966 extern char _72098C_unused; // weak 964 extern char _72098C_unused; // weak
967 extern __int16 word_7209A0_intercepts_ys_plus_ys[104]; 965 extern std::array<__int16, 104> word_7209A0_intercepts_ys_plus_ys;
968 extern __int16 word_720A70_intercepts_xs_plus_xs[104]; 966 extern std::array<__int16, 104> word_720A70_intercepts_xs_plus_xs;
969 extern __int16 word_720B40_intercepts_zs[104]; 967 extern std::array<__int16, 104> word_720B40_intercepts_zs;
970 extern __int16 word_720C10_intercepts_xs[102]; 968 extern std::array<__int16, 102> word_720C10_intercepts_xs;
971 extern int dword_720CDC; 969 extern int dword_720CDC;
972 extern __int16 word_720CE0_ys[]; // idb 970 extern std::array<__int16, 777> word_720CE0_ys; // idb
973 extern __int16 word_720DB0_xs[]; // idb 971 extern std::array<__int16, 777> word_720DB0_xs; // idb
974 extern int dword_720E80[20]; 972 extern std::array<int, 20> dword_720E80;
975 extern int dword_720ED0[20]; 973 extern std::array<int, 20> dword_720ED0;
976 extern int dword_720F20[20]; 974 extern std::array<int, 20> dword_720F20;
977 extern __int16 word_720F70[]; // idb 975 extern std::array<__int16, 777> word_720F70; // idb
978 extern __int16 word_721040[]; // idb 976 extern std::array<__int16, 777> word_721040; // idb
979 extern int dword_721110[]; // idb 977 extern std::array<int, 777> dword_721110; // idb
980 extern int dword_721160[]; // idb 978 extern std::array<int, 777> dword_721160; // idb
981 extern int odm_floor_level[20]; // idb dword_7211B0 979 extern std::array<int, 20> odm_floor_level; // idb dword_7211B0
982 extern int blv_prev_party_x; // weak 980 extern int blv_prev_party_x; // weak
983 extern int blv_prev_party_z; // weak 981 extern int blv_prev_party_z; // weak
984 extern int blv_prev_party_y; // weak 982 extern int blv_prev_party_y; // weak
985 extern char *dword_721660; // idb 983 extern char *dword_721660; // idb
986 extern char *dword_721664; // idb 984 extern char *dword_721664; // idb
987 extern char *dword_722F10; // idb 985 extern char *dword_722F10; // idb
988 extern const char *pQuestTable[512]; 986 extern std::array<const char *, 512> pQuestTable;
989 extern _UNKNOWN unk_723714; // weak 987 extern _UNKNOWN unk_723714; // weak
990 extern char *dword_723718_autonote_related; // idb 988 extern char *dword_723718_autonote_related; // idb
991 extern int dword_72371C[]; // weak 989 extern int dword_72371C[]; // weak
992 extern const char *pScrolls[82]; 990 extern std::array<const char *, 82> pScrolls;
993 extern int dword_723E80_award_related[]; // weak 991 extern int dword_723E80_award_related[]; // weak
994 extern int dword_723E84[]; // weak 992 extern int dword_723E84[]; // weak
995 extern int dword_7241C8; // weak 993 extern int dword_7241C8; // weak
996 994
997 extern char *aNPCProfessionNames[59]; 995 extern std::array<char *, 59> aNPCProfessionNames;
998 extern char *pAwardsTXT_Raw; 996 extern char *pAwardsTXT_Raw;
999 extern char *pScrollsTXT_Raw; 997 extern char *pScrollsTXT_Raw;
1000 extern char *pMerchantsTXT_Raw; 998 extern char *pMerchantsTXT_Raw;
1001 extern const char *pMerchantsBuyPhrases[7]; 999 extern std::array<char *, 7> pMerchantsBuyPhrases;
1002 extern const char *pMerchantsSellPhrases[7]; 1000 extern std::array<char *, 7> pMerchantsSellPhrases;
1003 extern const char *pMerchantsRepairPhrases[7]; 1001 extern std::array<char *, 7> pMerchantsRepairPhrases;
1004 extern const char *pMerchantsIdentifyPhrases[7]; 1002 extern std::array<char *, 7> pMerchantsIdentifyPhrases;
1005 extern char *pTransitionsTXT_Raw; 1003 extern char *pTransitionsTXT_Raw;
1006 extern char *pAutonoteTXT_Raw; 1004 extern char *pAutonoteTXT_Raw;
1007 extern char *pQuestsTXT_Raw; 1005 extern char *pQuestsTXT_Raw;
1008 extern unsigned int uNumTerrainNormals; 1006 extern unsigned int uNumTerrainNormals;
1009 extern struct Vec3_float_ *pTerrainNormals; 1007 extern struct Vec3_float_ *pTerrainNormals;
1010 extern unsigned short pTerrainNormalIndices[128 * 128 * 2]; 1008 extern std::array<unsigned short, 128 * 128 * 2> pTerrainNormalIndices;
1011 extern unsigned int pTerrainSomeOtherData[128 * 128 * 2]; 1009 extern std::array<unsigned int, 128 * 128 * 2> pTerrainSomeOtherData;
1012 extern char byte_76D5C0; 1010 extern char byte_76D5C0;
1013 extern struct unk_F7B60C stru_76D578; 1011 extern struct unk_F7B60C stru_76D578;
1014 extern struct unk_F7B60C stru_76D590; 1012 extern struct unk_F7B60C stru_76D590;
1015 extern struct unk_F7B60C stru_76D5A8; 1013 extern struct unk_F7B60C stru_76D5A8;
1016 extern int terrain_76D5C8[128]; 1014 extern std::array<int, 128> terrain_76D5C8;
1017 extern int terrain_76D7C8[128]; 1015 extern std::array<int, 128> terrain_76D7C8;
1018 extern int terrain_76D9C8[128]; 1016 extern std::array<int, 128> terrain_76D9C8;
1019 extern int terrain_76DBC8[128]; 1017 extern std::array<int, 128> terrain_76DBC8;
1020 extern int terrain_76DDC8[128]; 1018 extern std::array<int, 128> terrain_76DDC8;
1021 extern int terrain_76DFC8[128]; 1019 extern std::array<int, 128> terrain_76DFC8;
1022 extern int terrain_76E1C8[128]; 1020 extern std::array<int, 128> terrain_76E1C8;
1023 extern int terrain_76E3C8[128]; 1021 extern std::array<int, 128> terrain_76E3C8;
1024 struct unk_F7B60C 1022 struct unk_F7B60C
1025 { 1023 {
1026 int some_data_ptr; // dword @ 000000 1024 int some_data_ptr; // dword @ 000000
1027 float flt_000004; 1025 float flt_000004;
1028 float flt_000008; 1026 float flt_000008;
1037 extern int dword_80AA14; // weak 1035 extern int dword_80AA14; // weak
1038 extern int dword_80AA18; // weak 1036 extern int dword_80AA18; // weak
1039 extern int dword_80AA1C; // weak 1037 extern int dword_80AA1C; // weak
1040 extern int dword_80AA20; // weak 1038 extern int dword_80AA20; // weak
1041 extern unsigned int uNumElementsIn80AA28; 1039 extern unsigned int uNumElementsIn80AA28;
1042 extern struct stru148 *ptr_80AA28[]; 1040 extern std::array<struct stru148 *, 2000> ptr_80AA28;
1043 extern struct Edge *pNewEdges; 1041 extern struct Edge *pNewEdges;
1044 extern struct Surf *pSurfs; 1042 extern struct Surf *pSurfs;
1045 extern struct Edge *pEdges; 1043 extern struct Edge *pEdges;
1046 extern struct Span *pSpans; 1044 extern struct Span *pSpans;
1047 extern struct Edge *ptr_80C978_Edges; 1045 extern struct Edge *ptr_80C978_Edges;
1048 extern struct Surf *ptr_80C97C_Surfs; 1046 extern struct Surf *ptr_80C97C_Surfs;
1049 extern struct Edge *ptr_80CA10[480]; 1047 extern std::array<struct Edge *, 480> ptr_80CA10;
1050 extern _UNKNOWN unk_80D190; // weak 1048 extern _UNKNOWN unk_80D190; // weak
1051 extern int dword_A74C88; // weak 1049 extern int dword_A74C88; // weak
1052 extern unsigned int uPlayerCreationUI_SkySliderPos; 1050 extern unsigned int uPlayerCreationUI_SkySliderPos;
1053 extern int uPlayerCreationUI_ArrowAnim; 1051 extern int uPlayerCreationUI_ArrowAnim;
1054 extern unsigned int uPlayerCreationUI_SelectedCharacter; 1052 extern unsigned int uPlayerCreationUI_SelectedCharacter;
1055 extern int dword_A74CDC; // weak 1053 extern int dword_A74CDC; // weak
1056 extern struct Texture *pTexture_PlayerFaceMask; 1054 extern struct Texture *pTexture_PlayerFaceMask;
1057 extern struct Texture *pTexture_PlayerFaceEradicated; 1055 extern struct Texture *pTexture_PlayerFaceEradicated;
1058 extern struct Texture *pTexture_PlayerFaceDead; 1056 extern struct Texture *pTexture_PlayerFaceDead;
1059 extern struct Texture *pTextures_PlayerFaces[4][56]; 1057 extern std::array< std::array<struct Texture *, 56>, 4> pTextures_PlayerFaces;
1060 extern int dword_A75070; // weak 1058 extern int dword_A75070; // weak
1061 extern struct Player *pPlayers[5]; 1059 extern std::array<struct Player *, 5> pPlayers;
1062 extern __int64 qword_A750D8; // weak 1060 extern __int64 qword_A750D8; // weak
1063 extern __int16 word_A750E0; // weak 1061 extern __int16 word_A750E0; // weak
1064 extern __int16 word_A750E2; // weak 1062 extern __int16 word_A750E2; // weak
1065 extern char *pClassNames[36]; 1063 extern std::array<char *, 36> pClassNames;
1066 extern char *aCharacterConditionNames[19]; 1064 extern std::array<char *, 19> aCharacterConditionNames;
1067 extern char *pSkillNames[38]; 1065 extern std::array<char *, 38> pSkillNames;
1068 extern char byte_AE3368[]; // weak 1066 extern std::array<char, 777> byte_AE3368; // weak
1069 extern char byte_AE3369; // weak 1067 extern char byte_AE3369; // weak
1070 extern char byte_AE336A; // weak 1068 extern char byte_AE336A; // weak
1071 extern char byte_AE336B; // weak 1069 extern char byte_AE336B; // weak
1072 extern int dword_AE336C; // weak 1070 extern int dword_AE336C; // weak
1073 extern int dword_AE3370; // weak 1071 extern int dword_AE3370; // weak
1074 extern char byte_AE5B91; // weak 1072 extern char byte_AE5B91; // weak
1075 extern int dword_F1B430[32]; // weak 1073 extern std::array<int, 32> dword_F1B430; // weak
1076 extern int player_levels[4]; 1074 extern std::array<int, 4> player_levels;
1077 extern __int16 word_F8B158[]; // weak 1075 extern std::array<__int16, 777> word_F8B158; // weak
1078 extern struct Texture *ShopTexture; // idb 1076 extern struct Texture *ShopTexture; // idb
1079 extern struct Texture *ItemsInShopTexture[12]; 1077 extern std::array<struct Texture *, 12> ItemsInShopTexture;
1080 extern __int16 word_F8B1A0; // weak 1078 extern __int16 word_F8B1A0; // weak
1081 extern const char *dword_F8B1A4; // idb 1079 extern const char *dword_F8B1A4; // idb
1082 extern int contract_approved; // weak 1080 extern int contract_approved; // weak
1083 extern int dword_F8B1AC_award_bit_number; // idb 1081 extern int dword_F8B1AC_award_bit_number; // idb
1084 extern int dword_F8B1B0; // weak 1082 extern int dword_F8B1B0; // weak
1085 extern int gold_transaction_amount; // F8B1B4 1083 extern int gold_transaction_amount; // F8B1B4
1086 extern char *pShopOptions[4]; 1084 extern std::array<char *, 4> pShopOptions;
1087 extern _UNKNOWN unk_F8B1C8; // weak 1085 extern _UNKNOWN unk_F8B1C8; // weak
1088 extern int dword_F8B1D8; // weak 1086 extern int dword_F8B1D8; // weak
1089 extern int dword_F8B1DC; // weak 1087 extern int dword_F8B1DC; // weak
1090 extern int dword_F8B1E0; // weak 1088 extern int dword_F8B1E0; // weak
1091 extern int dword_F8B1E4; // weak 1089 extern int dword_F8B1E4; // weak
1092 extern const char *current_npc_text; // 0xF8B1E8 1090 extern const char *current_npc_text; // 0xF8B1E8
1093 extern char dialogue_show_profession_details; // weak 1091 extern char dialogue_show_profession_details; // weak
1094 extern char byte_F8B1EF[]; // weak 1092 extern std::array<char, 777> byte_F8B1EF; // weak
1095 extern char byte_F8B1F0[4]; 1093 extern std::array<char, 4> byte_F8B1F0;
1096 extern int dword_F8B1F4; // weak 1094 extern int dword_F8B1F4; // weak
1097 1095
1098 1096
1099 1097
1100 1098
1101 //extern _UNKNOWN unk_F8BA50; // weak 1099 //extern _UNKNOWN unk_F8BA50; // weak
1102 extern char byte_F8BC0C; // weak 1100 extern char byte_F8BC0C; // weak
1103 extern int bGameoverLoop; // weak 1101 extern int bGameoverLoop; // weak
1104 extern __int16 intersect_face_vertex_coords_list_a[]; // word_F8BC48 1102 extern std::array<__int16, 104> intersect_face_vertex_coords_list_a; // word_F8BC48
1105 extern __int16 intersect_face_vertex_coords_list_b[]; // word_F8BD18 1103 extern std::array<__int16, 104> intersect_face_vertex_coords_list_b; // word_F8BD18
1106 //extern _UNKNOWN unk_F8EA04; // weak 1104 //extern _UNKNOWN unk_F8EA04; // weak
1107 //extern _UNKNOWN unk_F8F8F8; // weak 1105 //extern _UNKNOWN unk_F8F8F8; // weak
1108 extern int dword_F93F20; // weak 1106 extern int dword_F93F20; // weak
1109 extern int dword_F93F70; // weak 1107 extern int dword_F93F70; // weak
1110 1108
1153 int __fastcall sub_4088E9(int a1, int a2, int a3, int a4, int a5, int a6); 1151 int __fastcall sub_4088E9(int a1, int a2, int a3, int a4, int a5, int a6);
1154 unsigned int __thiscall SearchAliveActors(unsigned int *pTotalActors); 1152 unsigned int __thiscall SearchAliveActors(unsigned int *pTotalActors);
1155 unsigned int __fastcall SearchActorByMonsterID(unsigned int *pTotalActors, int uMonsterID); 1153 unsigned int __fastcall SearchActorByMonsterID(unsigned int *pTotalActors, int uMonsterID);
1156 unsigned int __fastcall SearchActorByGroup(unsigned int *pTotalActors, unsigned int uGroup); 1154 unsigned int __fastcall SearchActorByGroup(unsigned int *pTotalActors, unsigned int uGroup);
1157 unsigned int __fastcall SearchActorByID(unsigned int *pTotalActors, unsigned int a2); 1155 unsigned int __fastcall SearchActorByID(unsigned int *pTotalActors, unsigned int a2);
1158 void __cdecl PrepareArcomage(); 1156 void PrepareArcomage();
1159 1157
1160 // int __cdecl crt_retnull_sub(); 1158 // int __cdecl crt_retnull_sub();
1161 unsigned int __stdcall R8G8B8_to_TargetFormat(int uColor); // idb 1159 unsigned int __stdcall R8G8B8_to_TargetFormat(int uColor); // idb
1162 unsigned short TargetColor(unsigned __int16 r, unsigned __int16 g, unsigned __int16 b); // idb 1160 unsigned short TargetColor(unsigned __int16 r, unsigned __int16 g, unsigned __int16 b); // idb
1163 void __cdecl CallRenderPresent(); 1161 void __cdecl CallRenderPresent();