diff mm7_data.cpp @ 0:9c0607679772

init
author Ritor1
date Sat, 12 Jan 2013 09:45:18 +0600
parents
children 89240115d392
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mm7_data.cpp	Sat Jan 12 09:45:18 2013 +0600
@@ -0,0 +1,1817 @@
+#include "mm7_data.h"
+
+#include "NPC.h"
+
+
+
+
+void ErrHR(HRESULT hr, const char *pAPI, const char *pFunction, const char *pFile, int line)
+{
+  if (SUCCEEDED(hr))
+    return;
+
+  char msg[4096];
+  sprintf(msg, "%s error (%08X) in\n\t%s\nin\n\t%s:%u",
+          pAPI, hr, pFunction, pFile, line);
+
+  char caption[1024];
+  sprintf(caption, "%s error", pAPI);
+
+  MessageBoxA(nullptr, msg, caption, MB_ICONEXCLAMATION);
+}
+
+
+
+
+#include "Math.h"
+struct stru193_math *stru_5C6E00 = new stru193_math;
+
+#include "MapInfo.h"
+struct MapStats *pMapStats;
+
+#include "TurnEngine.h"
+struct stru262_TurnBased *pTurnEngine = new stru262_TurnBased;
+
+#include "stru277.h"
+stru277 pStru277[10];
+stru277 stru_50CDB4; // idb
+
+#include "Viewport.h"
+struct Viewport *pViewport = new Viewport;
+struct ViewingParams *viewparams = new ViewingParams;
+
+#include "stru272.h"
+stru272 array_4FAC10[10];
+
+
+#include "stru279.h"
+stru279 stru_51076C;
+
+#include "stru157.h"
+stru157 stru_F93E1C; // weak
+stru157 stru_F93E30; // weak
+stru157 a5; // idb
+stru157 a4; // idb
+stru157 a3; // idb
+
+#include "stru179.h"
+stru179 *pStru179;
+
+#include "stru123.h"
+stru123 stru_5E4C90;
+
+#include "stru298.h"
+stru298 stru_50FE08; // weak
+
+#include "stru287.h"
+stru287 stru_5E4C50;
+
+#include "Autonotes.h"
+Autonote stru_723720[195]; // weak
+
+#include "Awards.h"
+Award pAwards[104];
+
+#include "stru159.h"
+stru159 pAnimatedRooms[196];
+
+#include "stru160.h"
+stru160 array_4EB8B8[66] =
+{
+  stru160( 0.0000000f,  0.0000000f,  1.0000000f),
+  stru160( 0.0000000f,  0.3826830f,  0.9238799f),
+  stru160( 0.3826830f,  0.0000000f,  0.9238799f),
+  stru160( 0.4082480f,  0.4082480f,  0.8164970f),
+  stru160( 0.0000000f,  0.7071070f,  0.7071070f),
+  stru160( 0.7071070f,  0.0000000f,  0.7071070f),
+  stru160( 0.4082480f,  0.8164970f,  0.4082480f),
+  stru160( 0.8164970f,  0.4082480f,  0.4082480f),
+  stru160( 0.7071070f,  0.7071070f,  0.0000000f),
+  stru160( 0.0000000f,  0.9238799f,  0.3826830f),
+  stru160( 0.3826830f,  0.9238799f,  0.0000000f),
+  stru160( 0.0000000f,  1.0000000f,  0.0000000f),
+  stru160( 0.9238799f,  0.3826830f,  0.0000000f),
+  stru160( 0.9238799f,  0.0000000f,  0.3826830f),
+  stru160( 1.0000000f,  0.0000000f,  0.0000000f),
+  stru160( 0.0000000f, -0.3826830f,  0.9238799f),
+  stru160( 0.4082480f, -0.4082480f,  0.8164970f),
+  stru160( 0.0000000f, -0.7071070f,  0.7071070f),
+  stru160( 0.8164970f, -0.4082480f,  0.4082480f),
+  stru160( 0.4082480f, -0.8164970f,  0.4082480f),
+  stru160( 0.7071070f, -0.7071070f,  0.0000000f),
+  stru160( 0.9238799f, -0.3826830f,  0.0000000f),
+  stru160( 0.3826830f, -0.9238799f,  0.0000000f),
+  stru160( 0.0000000f, -0.9238799f,  0.3826830f),
+  stru160( 0.0000000f, -1.0000000f,  0.0000000f),
+  stru160(-0.3826830f,  0.0000000f,  0.9238799f),
+  stru160(-0.4082480f, -0.4082480f,  0.8164970f),
+  stru160(-0.7071070f,  0.0000000f,  0.7071070f),
+  stru160(-0.4082480f, -0.8164970f,  0.4082480f),
+  stru160(-0.8164970f, -0.4082480f,  0.4082480f),
+  stru160(-0.7071070f, -0.7071070f,  0.0000000f),
+  stru160(-0.3826830f, -0.9238799f,  0.0000000f),
+  stru160(-0.9238799f, -0.3826830f,  0.0000000f),
+  stru160(-0.9238799f,  0.0000000f,  0.3826830f),
+  stru160(-1.0000000f,  0.0000000f,  0.0000000f),
+  stru160(-0.4082480f,  0.4082480f,  0.8164970f),
+  stru160(-0.8164970f,  0.4082480f,  0.4082480f),
+  stru160(-0.4082480f,  0.8164970f,  0.4082480f),
+  stru160(-0.7071070f,  0.7071070f,  0.0000000f),
+  stru160(-0.9238799f,  0.3826830f,  0.0000000f),
+  stru160(-0.3826830f,  0.9238799f,  0.0000000f),
+  stru160( 0.0000000f,  0.0000000f, -1.0000000f),
+  stru160( 0.0000000f,  0.3826830f, -0.9238799f),
+  stru160( 0.3826830f,  0.0000000f, -0.9238799f),
+  stru160( 0.4082480f,  0.4082480f, -0.8164970f),
+  stru160( 0.0000000f,  0.7071070f, -0.7071070f),
+  stru160( 0.7071070f,  0.0000000f, -0.7071070f),
+  stru160( 0.4082480f,  0.8164970f, -0.4082480f),
+  stru160( 0.8164970f,  0.4082480f, -0.4082480f),
+  stru160( 0.0000000f,  0.9238799f, -0.3826830f),
+  stru160( 0.9238799f,  0.0000000f, -0.3826830f),
+  stru160( 0.0000000f, -0.3826830f, -0.9238799f),
+  stru160( 0.4082480f, -0.4082480f, -0.8164970f),
+  stru160( 0.0000000f, -0.7071070f, -0.7071070f),
+  stru160( 0.8164970f, -0.4082480f, -0.4082480f),
+  stru160( 0.4082480f, -0.8164970f, -0.4082480f),
+  stru160( 0.0000000f, -0.9238799f, -0.3826830f),
+  stru160(-0.3826830f,  0.0000000f, -0.9238799f),
+  stru160(-0.4082480f, -0.4082480f, -0.8164970f),
+  stru160(-0.7071070f,  0.0000000f, -0.7071070f),
+  stru160(-0.4082480f, -0.8164970f, -0.4082480f),
+  stru160(-0.8164970f, -0.4082480f, -0.4082480f),
+  stru160(-0.9238799f,  0.0000000f, -0.3826830f),
+  stru160(-0.4082480f,  0.4082480f, -0.8164970f),
+  stru160(-0.8164970f,  0.4082480f, -0.4082480f),
+  stru160(-0.4082480f,  0.8164970f, -0.4082480f)
+};
+stru160 array_4EBBD0[128];
+__int32 array_4EBBD0_x[128*3] =
+{
+  0x00000000, 0x00000001, 0x00000002, 0x00000001,
+  0x00000003, 0x00000002, 0x00000001, 0x00000004,
+  0x00000003, 0x00000003, 0x00000005, 0x00000002,
+  0x00000004, 0x00000006, 0x00000003, 0x00000006,
+  0x00000007, 0x00000003, 0x00000006, 0x00000008,
+  0x00000007, 0x00000007, 0x00000005, 0x00000003,
+  0x00000004, 0x00000009, 0x00000006, 0x00000009,
+  0x0000000A, 0x00000006, 0x00000009, 0x0000000B,
+  0x0000000A, 0x0000000A, 0x00000008, 0x00000006,
+  0x00000008, 0x0000000C, 0x00000007, 0x0000000C,
+  0x0000000D, 0x00000007, 0x0000000C, 0x0000000E,
+  0x0000000D, 0x0000000D, 0x00000005, 0x00000007,
+  0x00000000, 0x00000002, 0x0000000F, 0x00000002,
+  0x00000010, 0x0000000F, 0x00000002, 0x00000005,
+  0x00000010, 0x00000010, 0x00000011, 0x0000000F,
+  0x00000005, 0x00000012, 0x00000010, 0x00000012,
+  0x00000013, 0x00000010, 0x00000012, 0x00000014,
+  0x00000013, 0x00000013, 0x00000011, 0x00000010,
+  0x00000005, 0x0000000D, 0x00000012, 0x0000000D,
+  0x00000015, 0x00000012, 0x0000000D, 0x0000000E,
+  0x00000015, 0x00000015, 0x00000014, 0x00000012,
+  0x00000014, 0x00000016, 0x00000013, 0x00000016,
+  0x00000017, 0x00000013, 0x00000016, 0x00000018,
+  0x00000017, 0x00000017, 0x00000011, 0x00000013,
+  0x00000000, 0x0000000F, 0x00000019, 0x0000000F,
+  0x0000001A, 0x00000019, 0x0000000F, 0x00000011,
+  0x0000001A, 0x0000001A, 0x0000001B, 0x00000019,
+  0x00000011, 0x0000001C, 0x0000001A, 0x0000001C,
+  0x0000001D, 0x0000001A, 0x0000001C, 0x0000001E,
+  0x0000001D, 0x0000001D, 0x0000001B, 0x0000001A,
+  0x00000011, 0x00000017, 0x0000001C, 0x00000017,
+  0x0000001F, 0x0000001C, 0x00000017, 0x00000018,
+  0x0000001F, 0x0000001F, 0x0000001E, 0x0000001C,
+  0x0000001E, 0x00000020, 0x0000001D, 0x00000020,
+  0x00000021, 0x0000001D, 0x00000020, 0x00000022,
+  0x00000021, 0x00000021, 0x0000001B, 0x0000001D,
+  0x00000000, 0x00000019, 0x00000001, 0x00000019,
+  0x00000023, 0x00000001, 0x00000019, 0x0000001B,
+  0x00000023, 0x00000023, 0x00000004, 0x00000001,
+  0x0000001B, 0x00000024, 0x00000023, 0x00000024,
+  0x00000025, 0x00000023, 0x00000024, 0x00000026,
+  0x00000025, 0x00000025, 0x00000004, 0x00000023,
+  0x0000001B, 0x00000021, 0x00000024, 0x00000021,
+  0x00000027, 0x00000024, 0x00000021, 0x00000022,
+  0x00000027, 0x00000027, 0x00000026, 0x00000024,
+  0x00000026, 0x00000028, 0x00000025, 0x00000028,
+  0x00000009, 0x00000025, 0x00000028, 0x0000000B,
+  0x00000009, 0x00000009, 0x00000004, 0x00000025,
+  0x00000029, 0x0000002A, 0x0000002B, 0x0000002A,
+  0x0000002C, 0x0000002B, 0x0000002A, 0x0000002D,
+  0x0000002C, 0x0000002C, 0x0000002E, 0x0000002B,
+  0x0000002D, 0x0000002F, 0x0000002C, 0x0000002F,
+  0x00000030, 0x0000002C, 0x0000002F, 0x00000008,
+  0x00000030, 0x00000030, 0x0000002E, 0x0000002C,
+  0x0000002D, 0x00000031, 0x0000002F, 0x00000031,
+  0x0000000A, 0x0000002F, 0x00000031, 0x0000000B,
+  0x0000000A, 0x0000000A, 0x00000008, 0x0000002F,
+  0x00000008, 0x0000000C, 0x00000030, 0x0000000C,
+  0x00000032, 0x00000030, 0x0000000C, 0x0000000E,
+  0x00000032, 0x00000032, 0x0000002E, 0x00000030,
+  0x00000029, 0x0000002B, 0x00000033, 0x0000002B,
+  0x00000034, 0x00000033, 0x0000002B, 0x0000002E,
+  0x00000034, 0x00000034, 0x00000035, 0x00000033,
+  0x0000002E, 0x00000036, 0x00000034, 0x00000036,
+  0x00000037, 0x00000034, 0x00000036, 0x00000014,
+  0x00000037, 0x00000037, 0x00000035, 0x00000034,
+  0x0000002E, 0x00000032, 0x00000036, 0x00000032,
+  0x00000015, 0x00000036, 0x00000032, 0x0000000E,
+  0x00000015, 0x00000015, 0x00000014, 0x00000036,
+  0x00000014, 0x00000016, 0x00000037, 0x00000016,
+  0x00000038, 0x00000037, 0x00000016, 0x00000018,
+  0x00000038, 0x00000038, 0x00000035, 0x00000037,
+  0x00000029, 0x00000033, 0x00000039, 0x00000033,
+  0x0000003A, 0x00000039, 0x00000033, 0x00000035,
+  0x0000003A, 0x0000003A, 0x0000003B, 0x00000039,
+  0x00000035, 0x0000003C, 0x0000003A, 0x0000003C,
+  0x0000003D, 0x0000003A, 0x0000003C, 0x0000001E,
+  0x0000003D, 0x0000003D, 0x0000003B, 0x0000003A,
+  0x00000035, 0x00000038, 0x0000003C, 0x00000038,
+  0x0000001F, 0x0000003C, 0x00000038, 0x00000018,
+  0x0000001F, 0x0000001F, 0x0000001E, 0x0000003C,
+  0x0000001E, 0x00000020, 0x0000003D, 0x00000020,
+  0x0000003E, 0x0000003D, 0x00000020, 0x00000022,
+  0x0000003E, 0x0000003E, 0x0000003B, 0x0000003D,
+  0x00000029, 0x00000039, 0x0000002A, 0x00000039,
+  0x0000003F, 0x0000002A, 0x00000039, 0x0000003B,
+  0x0000003F, 0x0000003F, 0x0000002D, 0x0000002A,
+  0x0000003B, 0x00000040, 0x0000003F, 0x00000040,
+  0x00000041, 0x0000003F, 0x00000040, 0x00000026,
+  0x00000041, 0x00000041, 0x0000002D, 0x0000003F,
+  0x0000003B, 0x0000003E, 0x00000040, 0x0000003E,
+  0x00000027, 0x00000040, 0x0000003E, 0x00000022,
+  0x00000027, 0x00000027, 0x00000026, 0x00000040,
+  0x00000026, 0x00000028, 0x00000041, 0x00000028,
+  0x00000031, 0x00000041, 0x00000028, 0x0000000B,
+  0x00000031, 0x00000031, 0x0000002D, 0x00000041
+};
+
+#include "stru220.h"
+stru220 stru_76E5C8[16384];
+
+#include "stru176.h"
+stru176 array_5B5928[100];
+
+#include "ObjectList.h"
+struct ObjectList *pObjectList;
+
+#include "IconFrameTable.h"
+struct IconFrameTable *pIconsFrameTable;
+
+struct
+{
+  struct UIAnimation _pUIAnim_Food;
+  struct UIAnimation _pUIAnim_Gold;
+  struct UIAnimation _pUIAnum_Torchlight;
+  struct UIAnimation _pUIAnim_WizardEye;
+} _uianim;
+
+struct UIAnimation *pUIAnim_Food = &_uianim._pUIAnim_Food;
+struct UIAnimation *pUIAnim_Gold = &_uianim._pUIAnim_Gold;
+struct UIAnimation *pUIAnum_Torchlight = &_uianim._pUIAnum_Torchlight;
+struct UIAnimation *pUIAnim_WizardEye = &_uianim._pUIAnim_WizardEye;
+
+struct UIAnimation *pUIAnims[4] =
+{
+  &_uianim._pUIAnim_Food,
+  &_uianim._pUIAnim_Gold,
+  &_uianim._pUIAnum_Torchlight,
+  &_uianim._pUIAnim_WizardEye
+};
+
+
+
+#include "PlayerFrameTable.h"
+struct PlayerFrameTable *pPlayerFrameTable; // idb
+
+#include "MM7.h"
+stru161 stru_4ECBB8[6];
+stru289 stru_6BE158;
+stru329 array_4E4C30[4];
+stru332 stru_511698;
+stru333 stru_511718;
+stru334 array_4E2940[26];
+stru348 stru_4E1890[13];
+
+
+
+
+namespace zlib
+{
+  #include "lib\zlib\zlib.h"
+  int MemUnzip(void *dest, unsigned int *destLen, const void *source, unsigned int sourceLen)
+  {
+    //return uncompress((zlib::Bytef *)dest, (zlib::uLongf *)destLen, (zlib::Bytef *)source, sourceLen);
+    return uncompress((Bytef *)dest, (uLongf *)destLen, (Bytef *)source, sourceLen);
+    return 0;
+  }
+
+  int MemZip(void *dest, unsigned int *destLen, void *source, unsigned int sourceLen)
+  {
+    //return compress((zlib::Bytef *)dest, (zlib::uLongf *)destLen, (zlib::Bytef *)source, sourceLen);
+    return compress((Bytef *)dest, (uLongf *)destLen, (Bytef *)source, sourceLen);
+    return 0;
+  }
+};
+
+
+
+#include "stru314.h"
+
+
+
+
+//-------------------------------------------------------------------------
+// Data declarations
+
+int (__cdecl *sprintfex)(char *a1, const char *a2, ...) = nullptr;
+
+int pWindowList_at_506F50_minus1_indexing[1];
+int dword_4C9890[10]; // weak
+int dword_4C9920[16]; // weak
+_UNKNOWN unk_4D8548; // weak
+char byte_4D864C; // weak
+float flt_4D86CC = 1.0f; // weak
+int dword_4D86D8; // weak
+int dword_4DAFCC; // weak
+int (__stdcall *off_4DAFDC)(char); // weak
+char asc_4DB724[777]; // idb
+int dword_4DBD94; // weak
+int dword_4DF380[777]; // weak
+int dword_4DF390; // weak
+char Str2[777]; // idb
+int dword_4DF3A4; // weak
+char byte_4E185C; // weak
+char am_byte_4E185D; // weak
+char byte_4E185E; // weak
+int amuint_4E1860; // weak
+int amuint_4E1864; // weak
+int amuint_4E1868; // weak
+int amuint_4E186C; // weak
+int amuint_4E1870; // weak
+int dword_4E1874; // weak
+int dword_4E1878; // weak
+float flt_4D84E8 = 0.0f;
+int dword_4E187C; // weak
+int dword_4E1880; // weak
+int dword_4E1884; // weak
+int dword_4E1888; // weak
+char pArcomagePlayer2Name[8];
+char pArcomagePlayer1Name[8];
+char pDeckMaster[12];
+char aIxf[4]; // idb
+_UNKNOWN unk_4E19FC; // weak
+char pAreYouSureWishToLeave[32];
+char asc_4E1A28[4]; // idb
+char aUsxfs[13];
+char aLayout_pcx[11]; // weak
+char aSprites_pcx[12]; // weak
+char aProblemInBlit_[777]; // idb
+char aEWorkMsdevMm7M[777]; // idb
+char aProblemInBli_0[777]; // idb
+char aD[777]; // idb
+char asc_4E1AB0[777]; // idb
+char aWb_0[777]; // idb
+char a24bitPcxOnly[777]; // idb
+char Mode[777]; // idb
+char a16bitPcx[777]; // idb
+char aUnableToLoadS[777]; // idb
+char aBitmaps[777]; // idb
+char aIcons[777]; // idb
+char aPending[777]; // idb
+char aCanTFindS[777]; // idb
+char pDayMoonPhase[28];
+char *spellbook_texture_filename_suffices[8]; // weak
+__int16 word_4E1D3A[777]; // weak
+__int16 pTownPortalBook_xs[6];
+__int16 pTownPortalBook_ys[6];
+__int16 pTownPortalBook_ws[6];
+__int16 pTownPortalBook_hs[6];
+int dword_4E20D0[777]; // idb
+char byte_4E2430[777]; // weak
+char byte_4E2431[777]; // weak
+unsigned int pLloydsBeaconsPreviewXs[5] = {61, 281,  61, 281, 171};
+unsigned int pLloydsBeaconsPreviewYs[5] = {84,  84, 228, 228, 155};
+unsigned int pLloydsBeacons_SomeXs[5] = {59, 279, 59, 279, 169};
+unsigned int pLloydsBeacons_SomeYs[5] = {82, 82, 226, 226, 153};
+char aSbwb00[7]; // weak
+char aW[2]; // idb
+char aA[2]; // idb
+char aSD[777]; // idb
+char aSS03d03dS000S0[777]; // idb
+char aLuS[777]; // idb
+char aS_1[777]; // idb
+char aSbSc02d[777]; // idb
+char aSbSs02d[777]; // idb
+char aTabDb[777]; // idb
+char aTabDa[777]; // idb
+char aIbM6D[777]; // idb
+char aIbM6U[777]; // idb
+char aIbM5D[777]; // idb
+char aIbM5U[777]; // idb
+char aPagemask[777]; // idb
+char aBook[777]; // idb
+char aSpell_fnt[777]; // idb
+char aAutonote_fnt[777]; // idb
+char aBook2_fnt[777]; // idb
+char pFontFile[777]; // idb
+char aFontpal[777]; // idb
+char aMapbordr[777]; // idb
+char aLloydDD_pcx[777]; // idb
+char aDataLloydDD_pc[777]; // idb
+char aLb_bordr[777]; // idb
+char aTphell[777]; // idb
+char aTpheaven[777]; // idb
+char aTpisland[777]; // idb
+char aTpwarlock[777]; // idb
+char aTpelf[777]; // idb
+char aTpharmndy[777]; // idb
+char aTownport[777]; // idb
+char aSbquiknot[777]; // idb
+char aTabAn8a[777]; // idb
+char aTabAn8b[777]; // idb
+char aTabAn4a[777]; // idb
+char aTabAn4b[777]; // idb
+char aTabAn5a[777]; // idb
+char aTabAn5b[777]; // idb
+char aTabAn3a[777]; // idb
+char aTabAn3b[777]; // idb
+char aTabAn2a[777]; // idb
+char aTabAn2b[777]; // idb
+char aTabAn1a[777]; // idb
+char aTabAn1b[777]; // idb
+char aDivbar[777]; // idb
+char aSbautnot[777]; // idb
+char aTabwoff[777]; // idb
+char aTabwon[777]; // idb
+char aTabeoff[777]; // idb
+char aTabeon[777]; // idb
+char aTabsoff[777]; // idb
+char aTabson[777]; // idb
+char aTabnoff[777]; // idb
+char aTabnon[777]; // idb
+char aZootOff[777]; // idb
+char aZoomOff[777]; // idb
+char aZootOn[777]; // idb
+char aZoomOn[777]; // idb
+char aSbmap[777]; // idb
+char aMoon_ful[777]; // idb
+char aMoon_2[777]; // idb
+char aMoon_4[777]; // idb
+char aMoon_new[777]; // idb
+char aSbdateTime[777]; // idb
+char aTabAn7a[777]; // idb
+char aTabAn6a[777]; // idb
+char aTabAn7b[777]; // idb
+char aTabAn6b[777]; // idb
+char aSbplayrnot[777]; // idb
+char aPending_0[777]; // idb
+char aUnknown[8]; // weak
+char aS100110S[777]; // idb
+char aS100110D[777]; // idb
+char aS100110DS[777]; // idb
+char aS100110D02dSS[777]; // idb
+int pCurrentScreen; // weak
+char byte_4E28FC; // weak
+unsigned int uGammaPos;
+int dword_4E2910[777]; // weak
+__int16 RightClickPortraitXmin[4];
+__int16 RightClickPortraitXmax[4];
+void *off_4E2A12; // weak
+int dword_4E2A18[5];
+int dword_4E2A2C[9];
+int dword_4E2A50[12];
+int _4E2A80_skills[9];
+unsigned __int8 pAwardsTextColors[20];
+unsigned int pHealthBarPos[4] = {22, 137, 251, 366};
+unsigned int pManaBarPos[4] = {102, 217, 331, 447};
+char _4E2AD8_ui_colors[72];
+char _4E2B21_buff_spell_tooltip_colors[80];
+char byte_4E2B70[777]; // weak
+char byte_4E2BC8; // weak
+int pChestSmthn1ByType[8];
+int pChestSmthn2ByType[8];
+int pChestWidthsByType[8];
+int pChestHeightsByType[8];
+char aSS[777]; // idb
+char ascii_4E2C54[6];
+char ascii_4E2C5C[7];
+char ascii_4E2C68[8];
+char ascii_4E2C70[9];
+char ascii_4E2C7C[8];
+char ascii_4E2C84[11];
+char ascii_4E2C90[12];
+char ascii_4E2C9C[8];
+char ascii_4E2CA4[7];
+char ascii_4E2CB0[12];
+char ascii_4E2CBC[12];
+char ascii_4E2CC8[12];
+char ascii_4E2CD4[6];
+char ascii_4E2CDC[11];
+char ascii_4E2CE8[8];
+char ascii_4E2CF0[12];
+char ascii_4E2CFC[6];
+char ascii_4E2D04[8];
+char ascii_4E2D0C[8];
+char ascii_4E2D14[6];
+char ascii_4E2D1C[12];
+char ascii_4E2D28[8];
+char ascii_4E2D30[7];
+char ascii_4E2D38[5];
+char ascii_4E2D40[8];
+char ascii_4E2D48[6];
+char ascii_4E2D50[12];
+char ascii_4E2D5C[7];
+char aMakingItemNumb[777]; // idb
+char aNpc03d[777]; // idb
+char format_4E2D80[16];
+char format_4E2D90[8];
+char aS03d03dS000_0[777]; // idb
+char aS03d03dS000[777]; // idb
+char format_4E2DC8[8];
+char aS[777]; // idb
+char aLuSLuS[777]; // idb
+char byte_4E2DE8; // idb
+char asc_4E2DFC[3]; // idb
+char format_4E2E00[2]; // idb
+char format_4E2E10[28]; // weak
+char aS100S_0[777]; // idb
+char aS100S[777]; // idb
+char aS100D[777]; // idb
+char aS180[6]; // idb
+char format_4E2E68[28]; // weak
+char aS_6[2]; // idb
+char aSS_0[777]; // idb
+char aS_5[4]; // idb
+_UNKNOWN unk_4E2EB8; // weak
+char string_4E3294[8];
+char Format[777]; // idb
+char aMem03i_txt[777]; // idb
+char aMemory[777]; // idb
+char aIdSSizeI[16]; // idb
+__int16 word_4E3C66[777]; // idb
+int dword_4E455C; // weak
+int dword_4E4560[6];
+int dword_4E4578[6];
+int dword_4E4590[6];
+int dword_4E45A8[6];
+char aDDSDDS[777]; // idb
+char asc_4E45DC[777]; // idb
+char aD02dSSDSD[777]; // idb
+char aButtexi1[777]; // idb
+char aCanTJumpToThat[777]; // idb
+char aNoMapFoundForS[777]; // idb
+char global_a2[777]; // idb
+char aSSS[777]; // idb
+char aNotInMapStats[17]; // weak
+char aD47_blv[777]; // idb
+char aOut15_odm[777]; // idb
+char Delim[777]; // idb
+char aGamma_pcx[777];
+char aQuit1[777]; // idb
+char aControls1[777]; // idb
+char aSave1[777]; // idb
+char aLoad1[777]; // idb
+char aNew1[777]; // idb
+char aOptions[777]; // idb
+char aGammapos[9]; // weak
+char aBloodsplats[777]; // idb
+char aTinting[777]; // idb
+char aColoredLights[777]; // idb
+char aTurndelta[777]; // idb
+char aFliponexit[777]; // idb
+char pKey[777]; // idb
+char aGraphicsmode[777]; // idb
+char aShowdamage[777]; // idb
+char aWalksound[777]; // idb
+char aCharvoices[777]; // idb
+char aMusicflag[777]; // idb
+char aSoundflag[777]; // idb
+char aOpvdgTn[777]; // idb
+char aOpvdgCl[777]; // idb
+char aOpvdgBs[777]; // idb
+char aOpvdhTn[777]; // idb
+char aOpvdhCl[777]; // idb
+char aOpvdhBs[777]; // idb
+char aOptvid[777]; // idb
+char aOptkb_2[777]; // idb
+char aOptkb_1[777]; // idb
+char aResume1[777]; // idb
+char aOptkb_h[777]; // idb
+char aOptkb[777]; // idb
+char aOption01[777]; // idb
+char aOption02[777]; // idb
+char aOption03[777]; // idb
+char aOption04[777]; // idb
+char aConvol90[777]; // idb
+char aConvol80[777]; // idb
+char aConvol70[777]; // idb
+char aConvol60[777]; // idb
+char aConvol50[777]; // idb
+char aConvol40[777]; // idb
+char aConvol30[777]; // idb
+char aConvol20[777]; // idb
+char aConvol10[777]; // idb
+char aConvol00[777]; // idb
+char aCon_smoo[777]; // idb
+char aCon_arrr[777]; // idb
+char aCon_arrl[777]; // idb
+char aCon_32x[777]; // idb
+char aCon_16x[777]; // idb
+char aControlbg[777]; // idb
+char aTitle_pcx[10]; // weak
+char aEWorkMsdevMm_0[777]; // idb
+char aDraw_debug_lin[777]; // idb
+char aGenuineintel[13]; // weak
+char asc_4E4938[13]; // weak
+int dword_4E4948[777]; // weak
+int dword_4E494C[777]; // weak
+int dword_4E49D0[777]; // weak
+_UNKNOWN dword_4E49D4; // idb
+int dword_4E4A18[777]; // weak
+int dword_4E4A1C[777]; // weak
+int dword_4E4A40[777]; // weak
+int dword_4E4A44[777]; // weak
+char aCentaurhauls[13]; // weak
+char aCyrixinstead[13]; // weak
+char aAuthenticamd[13]; // weak
+float flt_4E4A80[10];
+char aInvalidPlayerI[777]; // idb
+char aEWorkMsdevMm_1[777]; // idb
+char aEWorkMsdevMm_2[777]; // idb
+char aErrorNoKeyboar[25]; // weak
+char aInvalidDeviceP[777]; // idb
+char aInvalidDevic_0[777]; // idb
+char aEWorkMsdevMm_3[777]; // idb
+char aErrorNoMouseFo[22]; // weak
+int papredoll_4E4C28; // weak
+int paperdoll_4E4C2C; // weak
+int paperdoll_array_4E4E30[4][17][2];
+int dword_4E5050[8];
+int dword_4E5270[8];
+int dword_4E5490[4][7][2];
+int paredoll_array_4E54B8[3][14];
+int paperdoll_array_4E5570[4][10][2];
+int dword_4E56B0; // weak
+int dword_4E56B4; // weak
+int dword_4E57F0[4][7][2];
+int dword_4E58D0[777]; // weak
+int dword_4E58D4[777]; // weak
+int dword_4E5AD0[777]; // weak
+int dword_4E5AD4[777]; // weak
+int dword_4E5AE0[8];
+int pPaperdollLeftHand[8];
+int pPaperdollRightHand[8];
+int pPaperdollLeftEmptyHand[8];
+int dword_4E5C1C[6];
+int dword_4E5C34[6];
+char aItem092v3[777]; // idb
+char aIbCd5D[777]; // idb
+char aAr_dn_dn[777]; // idb
+char aAr_dn_up[777]; // idb
+char aAr_up_dn[777]; // idb
+char aAr_up_up[777]; // idb
+char aItem281pc02d[777]; // idb
+char aPc02dbrd[777]; // idb
+char aPc23vDlhu[777]; // idb
+char aPc23vDlh[777]; // idb
+char aPc23vDrh[777]; // idb
+char aPc23vDlau[777]; // idb
+char aPc23vDlad[777]; // idb
+char aPc23vDbod[777]; // idb
+char aBackhand[777]; // idb
+char aBackdoll[777]; // idb
+char aMagnifB[777]; // idb
+char aItem3_3dvDa2[777]; // idb
+char aItem3_3dvDa1[15]; // weak
+char aItem3_3dvD[13]; // weak
+char aItem64v1[9]; // weak
+char aEffpar01[777]; // idb
+int pPartySpellbuffsUI_XYs[14][2];
+char byte_4E5DD8[777]; // weak
+unsigned __int8 pPartySpellbuffsUI_smthns[14];
+char aSpell27[777]; // idb
+char aSpell21[777]; // idb
+char aIsn02d[777]; // idb
+char aBardataB[777]; // idb
+char aBardata[8]; // weak
+char aBardataC[10]; // weak
+char aLoadprog[777]; // idb
+char aLoadingD_pcx[777]; // idb
+int _4E5E50_transui_x; // idb
+int dword_4E5EC8[777]; // weak
+int _4E5EE0_transui_y; // idb
+const char *pHouse_ExitPictures[11];
+char *_4E6BDC_loc_names[11];
+char aOutside[777]; // idb
+char aMer[777]; // idb
+char aMir[777]; // idb
+char aSel[777]; // idb
+char aEle[777]; // idb
+char aDar[777]; // idb
+char aLig[777]; // idb
+char aBod[777]; // idb
+char aMin[777]; // idb
+char aSpi[777]; // idb
+char aEar[777]; // idb
+char aWat[777]; // idb
+char aAir[777]; // idb
+char aFir[777]; // idb
+char aBan[777]; // idb
+char aTav[777]; // idb
+char aTow[777]; // idb
+char aTra[777]; // idb
+char aTem[777]; // idb
+char aBoa[777]; // idb
+char aSta[777]; // idb
+char aAlc[777]; // idb
+char aMag[777]; // idb
+char aArm[777]; // idb
+char aWea[777]; // idb
+char asc_4E7BD4[2]; // idb
+char a2devents_txt[777]; // idb
+char aFileSSizeLuBuf[777]; // idb
+char aGlobal_evt[777]; // idb
+char aMax_event_text[777]; // idb
+char aS_str[777]; // idb
+char aS_evt[777]; // idb
+char aNoMazeInfoForT[36]; // weak
+char aC[777]; // idb
+char aB[3]; // weak
+char aEvt02d[777]; // idb
+char aNoTransitionTe[777]; // idb
+char aEWorkMsdevMm_4[777]; // idb
+char asc_4E7CD4[777]; // idb
+char aSS_1[777]; // idb
+char aNpcIdExceedsMa[777]; // idb
+char aNpc03u[777]; // idb
+char aPcout01[777]; // idb
+char aArbiterEvil[777]; // idb
+char aArbiterGood[777]; // idb
+char a0[777]; // idb
+char aPartyStart[777]; // idb
+char aNorthStart[12]; // weak
+char aSouthStart[12]; // weak
+char aEastStart[11]; // weak
+char aWestStart[11]; // weak
+char aUnableToFindDo[777]; // idb
+char aNwc_blv[777]; // idb
+char aUnableToOpenS[777]; // idb
+char aInvalidStringP[777]; // idb
+char aEWorkMsdevMm_5[777]; // idb
+char aNull[777]; // idb
+char aInvalidStrin_0[777]; // idb
+char aSI[777]; // idb
+char aS7[4]; // weak
+char aS6[777]; // idb
+char aS5[4]; // weak
+char aS1[777]; // idb
+char aS3[4]; // weak
+char aS0[777]; // idb
+char aS2[4]; // weak
+char aS4[4]; // weak
+char aUnableToSaveDs[777]; // idb
+char aDataDsft_bin[777]; // idb
+char aPFrames[777]; // idb
+char aEFrames[777]; // idb
+char aSFrames[777]; // idb
+char aMirror7[777]; // idb
+char aMirror6[777]; // idb
+char aMirror5[777]; // idb
+char aMirror4[777]; // idb
+char aMirror3[777]; // idb
+char aMirror2[777]; // idb
+char aMirror1[777]; // idb
+char aMirror0[777]; // idb
+char aLuminous[777]; // idb
+char a1[777]; // idb
+char aNew[777]; // idb
+char pMessag[777]; // idb
+char aCspriteframeta[777]; // idb
+char aR[777]; // idb
+char aNew_0[777]; // idb
+char aUnableToSaveDt[777]; // idb
+char aDataDtft_bin[777]; // idb
+char aTxtFrames[777]; // idb
+char aCtexturefram_1[777]; // idb
+char aCtexturefram_0[777]; // idb
+char aCtextureframet[777]; // idb
+int bWinNT4_0; // weak
+char aEWorkMsdevMm_6[777]; // idb
+char aTheVisObjectPo[777]; // idb
+char aSpriteOutlineC[777]; // idb
+char aUndefinedCobje[777]; // idb
+char aEWorkMsdevMm_7[777]; // idb
+char aGammaControlNo[777]; // idb
+__int16 word_4E8152[11] = {0, 0, 0, 90, 8, 2, 70, 20, 10, 50, 30};
+char byte_4E8168[116];
+char aD3dTextureName[777]; // idb
+char aLogd3d_txt[777]; // idb
+char byte_4E8394[204] =
+{
+  0, 0, 0, 0, 1, 1, 2, 3, 0, 4, 5, 6, 7, 8, 10, 9, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,  0, 0, 0, 0, 1, 0, 1, 1, 1,
+  0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0,  0, 0, 0, 0, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,  1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,  0, 0, 0, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 3, 3, 3, 3, 3, 3, 1,
+  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,  0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2,  2, 0, 0, 0, 0, 0
+};
+stru355 stru_4E82A4 = {0x20, 0x41, 0, 0x20, 0xFF0000, 0xFF00, 0xFF, 0xFF000000};
+stru355 stru_4EFCBC = {0x20, 0x41, 0, 0x10, 0x7C00, 0x3E0, 0x1F, 0x8000};
+char byte_4E94D0 = 5; // weak
+char byte_4E94D1 = 9; // weak
+char _4E94D2_light_type = 6; // weak
+char byte_4E94D3 = 10; // weak
+unsigned int saveload_dlg_xs[2] = {82, 0};
+unsigned int saveload_dlg_ys[2] = {60, 0};
+unsigned int saveload_dlg_zs[2] = {460, 640};
+unsigned int saveload_dlg_ws[2] = {344, 480};
+int dword_4E98BC_bApplicationActive; // weak
+char *off_4EB080; // idb
+char *pTransitionStrings[464];
+char aAwards_txt[777]; // idb
+char aScroll_txt[777]; // idb
+char aMerchant_txt[777]; // idb
+char aTrans_txt[777]; // idb
+char aTeacher[777]; // idb
+char aObelisk[777]; // idb
+char aSeer[777]; // idb
+char aStat[777]; // idb
+char aPotion[777]; // idb
+char aAutonote_txt[777]; // idb
+char aQuests_txt[777]; // idb
+char aNpcdist_txt[777]; // idb
+char aNpctopic_txt[777]; // idb
+char aNpctext_txt[777]; // idb
+char aNpcnews_txt[777]; // idb
+char aNpcgroup_txt[777]; // idb
+char aNpcgreet_txt[777]; // idb
+char aNpcdata_txt[777]; // idb
+char aNpcprof_txt[777]; // idb
+char aNpcnames_txt[777]; // idb
+char aD3dVersionOfRe[777]; // idb
+char aEWorkMsdevM_16[777]; // idb
+char aLevels_0[777]; // idb
+char aDmap[777]; // idb
+char aAmap[777]; // idb
+char aTmap[777]; // idb
+char aHmap[777]; // idb
+int dword_4EC268[777]; // weak
+int dword_4EC28C[777]; // weak
+int dword_4EC2A8; // weak
+int dword_4EC2AC; // weak
+char aInvalidGroundT[777]; // idb
+char aInvalidSkyTexH[777]; // idb
+char aIdlist[777]; // idb
+char aOmap[777]; // idb
+char aCmap[777]; // idb
+char aMm6OutdoorV1_0[777]; // idb
+char aI6_odm[777]; // idb
+char aBlank[777]; // idb
+char aHm005[777]; // idb
+char aSky043[777]; // idb
+char aDefault_odm[777]; // idb
+char aPlansky3[777]; // idb
+char aPlanskyD[777]; // idb
+char a_ddm[5]; // weak
+char aCanTLoadFile[777]; // idb
+char aEWorkMsdevM_17[777]; // idb
+char a_odm[777]; // idb
+char aUnableToFindSI[777]; // idb
+char aSpawn[777]; // idb
+char aBddata[777]; // idb
+char aTernorm[777]; // idb
+char aGrastyl[777]; // idb
+char aOut09_odm[777]; // idb
+char aNewedges[777]; // idb
+char aSurfs[777]; // idb
+char aEdges[777]; // idb
+char aSpans[777]; // idb
+char aTheTextureFram[777]; // idb
+char aEWorkMsdevM_18[777]; // idb
+char aWtrtyla[777]; // idb
+char aWtrtyl[777]; // idb
+char aUnableToSave_1[777]; // idb
+char aDataDtile_bin[777]; // idb
+char aTileDescrip[777]; // idb
+char aTtattr_transit[777]; // idb
+char aTtattr_nodraw[777]; // idb
+char aTtattr_wave[777]; // idb
+char aTtattr_flat[777]; // idb
+char aTtattr_repulse[777]; // idb
+char aTtattr_block[777]; // idb
+char aTtattr_water2[777]; // idb
+char aTtattr_water[777]; // idb
+char aTtattr_burn[777]; // idb
+char aTtsect_dnw[777]; // idb
+char aTtsect_dse[777]; // idb
+char aTtsect_dne[777]; // idb
+char aTtsect_dsw[777]; // idb
+char aTtsect_de[777]; // idb
+char aTtsect_dw[777]; // idb
+char aTtsect_ds[777]; // idb
+char aTtsect_dn[777]; // idb
+char aTtsect_wcap[777]; // idb
+char aTtsect_scap[777]; // idb
+char aTtsect_ecap[777]; // idb
+char aTtsect_ncap[777]; // idb
+char aTtsect_ew_s[777]; // idb
+char aTtsect_ew_n[777]; // idb
+char aTtsect_ns_w[777]; // idb
+char aTtsect_ns_e[777]; // idb
+char aTtsect_s_w[777]; // idb
+char aTtsect_s_e[777]; // idb
+char aTtsect_n_w[777]; // idb
+char aTtsect_n_e[777]; // idb
+char aTtsect_ew[777]; // idb
+char aTtsect_ns[777]; // idb
+char aTtsect_cros[777]; // idb
+char aTtsect_xsw1[777]; // idb
+char aTtsect_xse1[777]; // idb
+char aTtsect_xnw1[777]; // idb
+char aTtsect_xne1[777]; // idb
+char aTtsect_s1[777]; // idb
+char aTtsect_n1[777]; // idb
+char aTtsect_w1[777]; // idb
+char aTtsect_e1[777]; // idb
+char aTtsect_sw1[777]; // idb
+char aTtsect_se1[777]; // idb
+char aTtsect_nw1[777]; // idb
+char aTtsect_ne1[777]; // idb
+char aTtsect_speci_6[777]; // idb
+char aTtsect_speci_5[777]; // idb
+char aTtsect_speci_4[777]; // idb
+char aTtsect_speci_3[777]; // idb
+char aTtsect_speci_2[777]; // idb
+char aTtsect_speci_1[777]; // idb
+char aTtsect_speci_0[777]; // idb
+char aTtsect_special[777]; // idb
+char aTtsect_base4[777]; // idb
+char aTtsect_base3[777]; // idb
+char aTtsect_base2[777]; // idb
+char aTtsect_base1[777]; // idb
+char aTtsect_start[777]; // idb
+char aTtsect_null[777]; // idb
+char aTttype_roadcit[777]; // idb
+char aTttype_roads_2[777]; // idb
+char aTttype_roadsno[777]; // idb
+char aTttype_roadt_0[777]; // idb
+char aTttype_roadtro[777]; // idb
+char aTttype_roads_1[777]; // idb
+char aTttype_roadswa[777]; // idb
+char aTttype_roadv_0[777]; // idb
+char aTttype_roadvol[777]; // idb
+char aTttype_roads_0[777]; // idb
+char aTttype_roadsan[777]; // idb
+char aTttype_roadc_0[777]; // idb
+char aTttype_roadcra[777]; // idb
+char aTttype_roadg_0[777]; // idb
+char aTttype_roadgra[777]; // idb
+char aTttype_city[777]; // idb
+char aTttype_swamp[777]; // idb
+char aTttype_tropica[777]; // idb
+char aTttype_water[777]; // idb
+char aTttype_dirt[777]; // idb
+char aTttype_volcano[777]; // idb
+char aTttype_sand[777]; // idb
+char aTttype_snow[777]; // idb
+char aTttype_cracked[777]; // idb
+char aTttype_grass[777]; // idb
+char aTttype_start[777]; // idb
+char aTttype_null[777]; // idb
+char aTiletableLoadO[777]; // idb
+char aTiletableLoadU[777]; // idb
+char byte_4ECA93[777]; // weak
+char byte_4ECACF[777]; // weak
+char byte_4ECB0C[64]; // idb
+char aError_0[777]; // idb
+char aCouldnTLoadMap[777]; // idb
+char aOut02d_odm[777]; // idb
+char aOut14_odm[777]; // idb
+char aOut[777]; // idb
+char aLunSun[777]; // idb
+char aLunfull[777]; // idb
+char aLun34[777]; // idb
+char aLun12[777]; // idb
+char aLun14[777]; // idb
+char aPal03i[777]; // idb
+const char *pPlayerPortraitsNames[25] =
+{
+  "pc01-", "pc02",  "pc03", "pc04",  "pc05-",
+  "pc06",  "pc07",  "pc08", "pc09-", "pc10",
+  "pc11-", "pc12",  "pc13", "pc14",  "pc15",
+  "pc16",  "pc17-", "pc18", "pc19",  "pc20",
+  "pc21-", "pc22-", "pc23", "pc24-", "pc25-"
+};
+
+const char *dlad_texnames_by_face[25] =
+{
+  "pc01lad", "pc02lad", "pc03lad", "pc04lad", "pc05lad", "pc06lad",
+  "pc07lad", "pc08lad", "pc09lad", "pc10lad", "pc11lad", "pc12lad",
+  "pc13lad", "pc14lad", "pc15lad", "pc16lad", "pc17lad", "pc18lad",
+  "pc19lad", "pc20lad", "pc21lad", "pc22lad", "pc23lad", "pc24lad",
+  "pc25lad"
+};
+const char *dlau_texnames_by_face[25] =
+{
+  "pc01lau", "pc02lau", "pc03lau", "pc04lau", "pc05lau", "pc06lau",
+  "pc07lau", "pc08lau", "pc09lau", "pc10lau", "pc11lau", "pc12lau",
+  "pc13lau", "pc14lau", "pc15lau", "pc16lau", "pc17lau", "pc18lau",
+  "pc19lau", "pc20lau", "pc21lau", "pc22lau", "pc23lau", "pc24lau",
+  "pc25lau"
+};
+const char *dbod_texnames_by_face[25] =
+{
+  "pc01bod", "pc02bod", "pc03bod", "pc04bod", "pc05bod", "pc06bod",
+  "pc07bod", "pc08bod", "pc09bod", "pc10bod", "pc11bod", "pc12bod",
+  "pc13bod", "pc14bod", "pc15bod", "pc16bod", "pc17bod", "pc18bod",
+  "pc19bod", "pc20bod", "pc21bod", "pc22bod", "pc23bod", "pc24bod",
+  "pc25bod"
+};
+const char *drh_texnames_by_face[25] =
+{
+
+  "pc01rh", "pc02rh", "pc03rh", "pc04rh", "pc05rh", "pc06rh",
+  "pc07rh", "pc08rh", "pc09rh", "pc10rh", "pc11rh", "pc12rh",
+  "pc13rh", "pc14rh", "pc15rh", "pc16rh", "pc17rh", "pc18rh",
+  "pc19rh", "pc20rh", "pc21rh", "pc22rh", "pc23rh", "pc24rh",
+  "pc25rh"
+};
+const char *dlh_texnames_by_face[25] =
+{
+  "pc01lh", "pc02lh", "pc03lh", "pc04lh", "pc05lh", "pc06lh",
+  "pc07lh", "pc08lh", "pc09lh", "pc10lh", "pc11lh", "pc12lh",
+  "pc13lh", "pc14lh", "pc15lh", "pc16lh", "pc17lh", "pc18lh",
+  "pc19lh", "pc20lh", "pc21lh", "pc22lh", "pc23lh", "pc24lh",
+  "pc25lh"
+};
+const char *dlhu_texnames_by_face[25] =
+{
+  "pc01lhu", "pc02lhu", "pc03lhu", "pc04lhu", "pc05lhu", "pc06lhu",
+  "pc07lhu", "pc08lhu", "pc09lhu", "pc10lhu", "pc11lhu", "pc12lhu",
+  "pc13lhu", "pc14lhu", "pc15lhu", "pc16lhu", "pc17lhu", "pc18lhu",
+  "pc19lhu", "pc20lhu", "pc21lhu", "pc22lhu", "pc23lhu", "pc24lhu",
+  "pc25lhu"
+};
+short SoundSetAction[192]=
+{
+	0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 37, 38, 45, 0, 0, 37, 0, 0, 47, 53, 0, 0, 0, 2, 0, 0, 25, 0, 0, 0, 0, 1, 0, 0, 47, 0,
+	0, 0, 0, 3, 0, 0, 41, 42, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 5, 0, 0, 21, 22, 23, 24, 45, 6, 0, 0, 47, 0, 0, 0, 0, 7, 0,
+	0, 43, 48, 0, 0, 0, 8, 0, 0, 38, 0, 0, 0, 0, 9, 0, 0, 39, 0, 0, 0, 0, 13, 0, 0, 37, 38, 0, 0, 0, 23, 0, 0, 25, 0, 0, 0,
+	0, 0, 0, 0, 37, 38, 45, 0, 0, 25, 0, 0, 25, 0, 0, 0, 0, 26, 0, 0, 38, 47, 0, 0, 0, 27, 0, 0, 41, 42, 0, 0, 0, 28, 0, 0,
+	25, 0, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 30, 0, 0, 25, 0, 0, 0, 0, 29, 0, 0, 27, 0, 0, 0, 0, 32, 33, 0, 37, 38, 0, 0, 0,
+	34, 0, 0, 53, 0, 0, 0, 0
+}; // weak
+unsigned char byte_4ED498 = 15; // weak
+__int16 pPlayerPortraitsXCoords_For_PlayerBuffAnimsDrawing[4] = {34, 149, 264, 379};
+char byte_4ED970_skill_learn_ability_by_class_table[32][37];
+int dword_4EDEA0[777]; // weak
+int dword_4EDEB4[777]; // weak
+int dword_4EDEC4[777]; // weak
+__int16 word_4EDED8[16] = {100, 90, 60, 100, 80, 100, 80, 30, 10, 10, 20, 30, 100, 0, 0, 0};
+_UNKNOWN unk_4EDF40; // weak
+unsigned int pHiredNPCsIconsOffsetsX[2] = {489, 559};
+unsigned int pHiredNPCsIconsOffsetsY[2] = {152, 152};
+int dword_4EE07C[2]; // weak
+_UNKNOWN unk_4EE084; // weak
+__int16 word_4EE088_sound_ids[100] =
+{
+      0, 10000, 10010, 10020, 10030, 10040, 10050, 10060, 10070, 10080,
+  10090, 10100, 11000, 11010, 11020, 11030, 11040, 11050, 11060, 11070,
+  11080, 11090, 11100, 12000, 12010, 12020, 12030, 12040, 12050, 12060,
+  12070, 12080, 12090, 12100, 13000, 13010, 13020, 13030, 13040, 13050,
+  13060, 13070, 13080, 13090, 13100, 14000, 14010, 14020, 14030, 14040,
+  14050, 14060, 14070, 14080, 14090, 14100, 15000, 15010, 15020, 15030,
+  15040, 15050, 15060, 15070, 15080, 15090, 15100, 16000, 16010, 16020,
+  16030, 16040, 16050, 16060, 16070, 16080, 16090, 16100, 17000, 17010,
+  17020, 17030, 17040, 17050, 17060, 17070, 17080, 17090, 17100, 18000,
+  18010, 18020, 18030, 18040, 18050, 18060, 18070, 18080, 18090, 18100
+};
+short word_4EE150[28] =
+{
+   1,  2,  3,  4,  5,  7, 32, 33, 36, 37, 38, 40, 41, 42, 43, 45, 46,
+  47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 60
+};
+
+int dword_4EED78; // weak
+_UNKNOWN unk_4EED80; // weak
+int dword_4EFA80; // weak
+int dword_4EFA84; // weak
+void *off_4EFDB0; // weak
+int dword_4F031C[777]; // weak
+const char *off_4F03B8[] =
+{
+  "",         "WEPNTABL", "ARMORY",   "MAGSHELF",
+  "MAGSHELF", "MAGSHELF", "MAGSHELF", "MAGSHELF",
+  "MAGSHELF", "MAGSHELF", "MAGSHELF", "MAGSHELF",
+  "MAGSHELF", "MAGSHELF", "MAGSHELF", "MAGSHELF",
+  "MAGSHELF"
+};
+__int16 word_4F03FE[777]; // weak
+__int16 word_4F0400[777]; // weak
+__int16 word_4F0498[777]; // weak
+__int16 word_4F0576[777]; // weak
+__int16 word_4F0578[777]; // weak
+__int16 word_4F05AE[777]; // weak
+char _4F063C_smthn_by_2da_uType[777]; // weak
+__int16 word_4F063E[290];
+__int16 word_4F06D8[22];
+__int16 word_4F0704[40];
+__int16 word_4F0754[49];
+__int16 word_4F07B6[88];
+__int16 word_4F0866[14];
+__int16 _4F0882_evt_VAR_PlayerItemInHands_vals[53];
+int dword_4F08EC[777]; // weak
+char byte_4F09B0[777]; // weak
+char byte_4F09B1[777]; // weak
+char byte_4F09B8[777]; // weak
+int dword_4F09CC[192];
+char byte_4F0CCF[777]; // weak
+char _4F0D38_TravelInfo[777]; // weak
+int dword_4F0E10[32];
+Vec2_int_ pMonsterArenaPlacements[20];
+__int16 word_4F0F30[777]; // weak
+char aS03d[777]; // idb
+char byte_4F0F98; // idb
+char sz[777]; // idb
+char aSSSSSS[777]; // idb
+char aSDS[777]; // idb
+char aSS_3[777]; // idb
+char aSSSS[777]; // idb
+char aS_2[777]; // idb
+char aErrorlog_txt[777]; // idb
+char aUnsupportedPix[777]; // idb
+char aSmackerError[777]; // idb
+char aCS[777]; // idb
+char aAnimsMagic7_vi[777]; // idb
+char aVideoFileError[777]; // idb
+char aCanTOpenFileAn[777]; // idb
+char aAnimsMight7_vi[777]; // idb
+char aCanTLoadS[777]; // idb
+char aS_smk[777]; // idb
+char aUnsupportedBin[27]; // weak
+char aEWorkMsdevM_29[777]; // idb
+char aFailedToOpenBl[777]; // idb
+char aCanTAllocateMe[33]; // weak
+char aCanTLoadFileAn[777]; // idb
+char aS_bik[777]; // idb
+char aMm7_win_pcx[777]; // idb
+char aLuSLuSLuS[777]; // idb
+char aEndgame_fnt[777]; // idb
+char aWinbg_pcx[10]; // weak
+char aDefaultCaseRea[777]; // idb
+char aUnsupportedExc[71]; // weak
+char aEWorkMsdevM_30[777]; // idb
+char aUndefinedTypeR[777]; // idb
+char aUnknownPointer[777]; // idb
+char a1_1_3[6]; // weak
+double dbl_4F2870; // weak
+int dword_4F288C; // weak
+double dbl_4F5372; // weak
+int dword_4F5428[777]; // weak
+int dword_4F542C[777]; // weak
+_UNKNOWN crtunk_4F54B8; // weak
+int dword_4F5B24_ys[777]; // idb
+int dword_4F5BF4_xs[777]; // idb
+int dword_4F5CC4_ys[777]; // idb
+int dword_4F5D98_xs[777]; // idb
+int ai_array_4F5E68[500];
+int ai_array_4F6638_actor_ids[500];
+int dword_4F6E08[500];
+int ai_arrays_size; // weak
+int ai_array_4F75E0[500];
+unsigned int ai_array_4F7DB0_actor_ids[500];
+int dword_4F8580[182]; // weak
+int dword_4FA9B0[777]; // weak
+int dword_4FA9B4[777]; // weak
+char byte_4FAA00; // weak
+__int16 am_sounds[12];
+_UNKNOWN unk_4FAA20; // weak
+char byte_4FAA24; // weak
+HWND dword_4FAA28; // idb
+char byte_4FAA2C; // weak
+char byte_4FAA2D; // weak
+char byte_4FAA2E; // weak
+int amuint_4FAA34; // weak
+int amuint_4FAA38; // weak
+int amuint_4FAA3C_blt_xy[2];
+int am_uint_4FAA44_blt_xy[2];
+int amuint_4FAA4C; // weak
+unsigned int uCardID; // idb
+int amuint_4FAA54_blt_xy[2];
+int amuint_4FAA5C_blt_xy[2];
+int dword_4FAA64; // weak
+int dword_4FAA68; // weak
+int amuint_4FAA6C; // idb
+int dword_4FAA70; // weak
+char byte_4FAA74; // weak
+char am_byte_4FAA75; // weak
+char am_byte_4FAA76; // weak
+char am_byte_4FAA77; // weak
+int amuint_4FAA78[777]; // weak
+char am_byte_4FAA7C[777]; // weak
+int amuint_4FAA80[777]; // weak
+int amuint_4FAA84[777]; // weak
+int amuint_4FAA88[777]; // weak
+int amuint_4FAA8C[777]; // weak
+int amuint_4FAA90[777][2];
+int dword_4FABB8; // weak
+signed int dword_4FABBC; // idb
+unsigned int amuint_4FABC0; // idb
+int amuint_4FABC4; // weak
+int dword_4FABC8; // weak
+char byte_4FABD0[777]; // weak
+char byte_4FABD1[777]; // weak
+_UNKNOWN unk_4FABD4; // weak
+int dword_4FABD8[777]; // weak
+int dword_4FABDC[777]; // weak
+int dword_4FABE0[777]; // weak
+int dword_4FABE4[777]; // weak
+int dword_4FABE8[777]; // weak
+int dword_4FABEC[777]; // weak
+int dword_4FABF0[777]; // weak
+int dword_4FABF4[777]; // weak
+int dword_4FABF8[777]; // weak
+int dword_4FABFC[777]; // weak
+int dword_4FAC00[777]; // weak
+int dword_4FAC04[777]; // weak
+int dword_4FAC08[777]; // weak
+int dword_4FAC0C[777]; // weak
+_UNKNOWN unk_5052C8; // weak
+int dword_505314[777]; // weak
+char byte_5054C8[32]; // idb
+char byte_5054E8[108];
+int dword_505554[777]; // weak
+_UNKNOWN unk_505704; // weak
+char byte_505880; // weak
+char byte_505881; // weak
+int amuint_505884; // weak
+int amuint_505888; // weak
+int amuint_50588C; // weak
+int dword_505890; // weak
+unsigned int pSRZBufferLineOffsets[480];
+int areWeLoadingTexture; // weak
+char byte_506130[777]; // weak
+int dword_506338; // weak
+int dword_50633C; // idb
+signed int sRecoveryTime; // idb
+unsigned int uRequiredMana; // idb
+int _506348_current_lloyd_playerid; // weak
+__int64 qword_506350; // weak
+char byte_506360; // weak
+int dword_506364; // weak
+int dword_506408[777]; // weak
+int dword_50640C[777]; // weak
+unsigned int uTextureID_506438;
+int dword_50651C; // weak
+int dword_506520; // weak
+int dword_506524; // weak
+int dword_506528; // weak
+int dword_50652C; // weak
+int dword_506530; // weak
+int dword_506534; // weak
+int dword_506538; // weak
+int dword_50653C; // weak
+int dword_506540; // weak
+int dword_506544; // weak
+int dword_506548; // weak
+int dword_50654C; // weak
+char byte_506550; // weak
+char *aMoonPhaseNames[5];
+int dword_506568; // weak
+char bRecallingBeacon; // weak
+int uLastPointedObjectID; // weak
+//unsigned __int8 bMonsterInfoUI_bDollInitialized;
+char *aSpellNames[44];
+int dword_506978; // weak
+char byte_50697C; // weak
+int dword_506980; // weak
+int dword_506984; // weak
+int dword_506988; // weak
+int dword_50698C; // weak
+int dword_506E68; // weak
+__int16 word_506E6C[18]; // weak
+unsigned int pPrevVirtualCidesMapping[27];
+int dword_506F08; // weak
+int dword_506F0C[777]; // idb
+int uRestUI_FoodRequiredToRest;
+int dword_506F14; // weak
+int _506F18_num_hours_to_sleep; // weak
+int dword_506F1C; // weak
+int pVisibleWindowsIdxs[20]; // weak
+int uNumVisibleWindows;
+char bFlashHistoryBook; // weak
+char bFlashAutonotesBook; // weak
+char bFlashQuestBook; // weak
+int dword_507960; // weak
+int dword_507964; // weak
+int dword_507968; // weak
+int dword_50796C; // weak
+int dword_507974; // weak
+int dword_5079B4; // weak
+int dword_5079C8; // weak
+int dword_5079CC; // weak
+int dword_5079D0; // weak
+int dword_5079D8; // weak
+struct GUIButton *dword_507A14; // idb
+struct GUIButton *dword_507A18; // idb
+unsigned int uGameUIFontShadow;
+unsigned int uGameUIFontMain;
+int dword_507B00_spell_info_to_draw_in_popup; // weak
+char *aMonthNames[12];
+char *aDayNames[7];
+char *aSpellSchoolNames[9];
+char *aAttributeNames[7];
+int dword_507B94; // weak
+int dword_507B98_ctrl_pressed; // weak
+unsigned int uActiveCharacter;
+int dword_507BF0_is_there_popup_onscreen; // weak
+int dword_507C08; // weak
+int dword_507C0C; // weak
+int dword_507CBC; // weak
+int dword_507CC0; // weak
+__int64 qword_507CC8; // weak
+int _507CD4_RestUI_hourglass_anim_controller; // weak
+int dword_507CD8; // weak
+int dword_50B570[777]; // weak
+int dword_50B638[777]; // weak
+int dword_50B700; // weak
+int dword_50B738[777]; // idb
+int _50B744_view_transformed_ys[43];
+int dword_50B828[777];
+int _50B834_view_transformed_zs[43];
+int dword_50B918[777];
+int _50B924_view_transformed_xs[43];
+int unk_50B9D4[777]; // idb
+int dword_50B9D8_ys[777];
+int dword_50B9E0_ys[777]; // idb
+int dword_50B9EC[777]; // idb
+int dword_50B9F0[2]; // idb
+int dword_50BAE8_xs[777];
+int dword_50BAF4_xs[777];
+int dword_50B9F8[777]; // idb
+int dword_50BA08[777]; // idb
+int dword_50BAC4[777]; // weak
+int dword_50BAC8[777]; // idb
+int dword_50BAD0[777]; // weak
+int dword_50BAD4[777]; // weak
+int dword_50BADC_xs[777]; // weak
+int dword_50BAE0[777]; // weak
+int dword_50BAE8[777]; // weak
+int dword_50BAEC_xs[777]; // weak
+int dword_50BAF4[777]; // weak
+int dword_50BAF8_xs[777]; // weak
+int dword_50BC10[777]; // weak
+int dword_50BDA0[777]; // weak
+int dword_50BF30[777]; // weak
+char byte_50C0C0; // weak
+int some_active_character; // weak
+_UNKNOWN unk_50C190; // weak
+int dword_50C968; // weak
+unsigned int pIconIDs_Turn[5];
+unsigned int uIconID_TurnStop;
+unsigned int uIconID_TurnHour;
+int uIconID_CharacterFrame; // idb
+int dword_50C98C; // weak
+unsigned int uIconID_TurnStart;
+int dword_50C994; // weak
+int dword_50C998_turnbased_icon_1A; // weak
+int uSpriteID_Spell11; // idb
+_UNKNOWN unk_50C9A0; // weak
+int dword_50C9A8; // weak
+int dword_50C9AC; // weak
+int dword_50C9D0; // weak
+int dword_50C9D4; // weak
+int dword_50C9D8; // weak
+int dword_50C9DC; // weak
+struct NPCData *ptr_50C9E0;
+int dword_50C9E8; // idb
+int dword_50C9EC[777]; // weak
+int dword_50C9F0[120]; // idb
+int dword_50CDC8; // weak
+int dword_50CDCC; // weak
+int bProcessorIsNotIntel; // weak
+Vec3_int_ layingitem_vel_50FDFC;
+char pStartingMapName[777]; // idb
+unsigned __int8 IsPlayerWearingWatersuit[5];
+char byte_5111C0[54];
+char byte_5111F6[18];
+unsigned int papredoll_dbrds[16];
+unsigned int papredoll_drhs[4];
+unsigned int papredoll_dlhus[4];
+unsigned int papredoll_dlhs[4];
+unsigned int papredoll_dbods[5];
+int paperdoll_array_511290[4][17][3];
+unsigned int papredoll_dlaus[5];
+unsigned int papredoll_dlads[4];
+int papredoll_flying_feet[777]; // idb
+int dword_511638[4][6];
+int dword_511788[777]; // weak
+int dword_51179C; // weak
+int dword_5117A0; // weak
+int dword_5117A4; // weak
+int dword_5117A8; // weak
+int dword_5117AC; // weak
+int paperdoll_array_511828[4][10];
+int bRingsShownInCharScreen; // weak
+int _unused000; // weak
+
+unsigned __int16 _56EFD8_minimap[117][137];
+unsigned int uNumBlueFacesInBLVMinimap;
+unsigned __int16 pBlueFacesInBLVMinimapIDs[50];
+int pTextureIDs_isns[14];
+unsigned int uIconIdx_Spell21;
+unsigned int uIconIdx_Spell27;
+int dword_576E28; // weak
+int dword_576E2C; // weak
+__int64 _5773B8_event_timer; // weak
+int dword_5773C0; // weak
+
+int dword_591080; // weak
+int dword_591084; // weak
+struct Actor *pDialogue_SpeakingActor;
+unsigned int uDialogueType;
+unsigned int uDialogue_SpeakingActorNPC_ID;
+struct LevelDecoration *_591094_decoration;
+char byte_591098[200]; // idb
+int uCurrentHouse_Animation; // weak
+char *dword_591164_teleport_map_name; // idb
+int dword_591168_teleport_speedz; // weak
+int dword_59116C_teleport_directionx; // weak
+int dword_591170_teleport_directiony; // weak
+int dword_591174_teleportz; // weak
+int dword_591178_teleporty; // weak
+int dword_59117C_teleportx; // weak
+char byte_591180[600]; // idb
+struct NPCData *array_5913D8[12];
+struct Texture *pDialogueNPCPortraits[6];
+int uNumDialogueNPCPortraits; // weak
+struct Texture *pTexture_591428;
+struct Texture *pTexture_outside; // idb
+struct Texture *pTexture_Dialogue_Background;
+_UNKNOWN unk_597F10; // weak
+int dword_597F18; // weak
+char byte_5B0938[2000];
+int dword_5B5920; // weak
+int dword_5B5924; // weak
+int _5B65A8_npcdata_uflags_or_other; // weak
+int _5B65AC_npcdata_fame_or_other; // weak
+int _5B65B0_npcdata_rep_or_other; // weak
+int _5B65B4_npcdata_loword_house_or_other; // weak
+int _5B65B8_npcdata_hiword_house_or_other; // weak
+int dword_5B65BC; // weak
+int dword_5B65C0; // weak
+int dword_5B65C4; // weak
+int dword_5B65C8; // weak
+int dword_5B65CC; // weak
+int dword_5B65D0_dialogue_actor_npc_id; // weak
+int dword_5C3418; // weak
+int dword_5C341C; // weak
+char byte_5C3427[777]; // weak
+char GameUI_StatusBar_TimedString[200];
+char pStatusBarString[200];
+unsigned int GameUI_StatusBar_TimedStringTimeLeft;
+int bForceDrawStatusBar; // weak
+int dword_5C35C0; // weak
+int bDialogueUI_InitializeActor_NPC_ID; // weak
+int dword_5C35C8; // weak
+char *p2DEventsTXT_Raw;
+int uHouse_ExitPic; // weak
+int dword_5C35D4; // weak
+char *aAMPMNames[2];
+char byte_5C45AF[777]; // weak
+char pTmpBuf3[2048];
+char pFinalMessage[4096]; // idb
+char pTmpBuf[2000];
+char pTmpBuf2[2000];
+char byte_5C6D50[777]; // weak
+int ui_current_text_color; // weak
+__int64 qword_5C6DF0; // weak
+int dword_5C6DF8; // weak
+char item__getname_buffer[104]; // idb
+char *pClassDescriptions[36];
+char *pAttributeDescriptions[7];
+char *pGrandSkillDesc[38];
+char *pMasterSkillDesc[38];
+char *pExpertSkillDesc[38];
+char *pNormalSkillDesc[38];
+char *pSkillDesc[38];
+char *pHealthPointsAttributeDescription;
+char *pSpellPointsAttributeDescription;
+char *pArmourClassAttributeDescription;
+char *pPlayerConditionAttributeDescription; // idb
+char *pFastSpellAttributeDescription;
+char *pPlayerAgeAttributeDescription;
+char *pPlayerLevelAttributeDescription;
+char *pPlayerExperienceAttributeDescription;
+char *pAttackBonusAttributeDescription;
+char *pAttackDamageAttributeDescription;
+char *pMissleBonusAttributeDescription;
+char *pMissleDamageAttributeDescription;
+char *pFireResistanceAttributeDescription;
+char *pAirResistanceAttributeDescription;
+char *pWaterResistanceAttributeDescription;
+char *pEarthResistanceAttributeDescription;
+char *pMindResistanceAttributeDescription;
+char *pBodyResistanceAttributeDescription;
+char *pSkillPointsAttributeDescription;
+char *pClassTXT_Raw;
+char *pStatsTXT_Raw;
+char *pSkillDescTXT_Raw;
+struct StorylineText *pStorylineText;
+struct FactionTable *pFactionTable;
+char byte_5C8D1A[777]; // weak
+char *pGlobalTXT_LocalizationStrings[677];
+char byte_5E4C15[777]; // weak
+char *pSomeItemsNames[14];
+char *pGlobalTXT_Raw;
+char *pMonstersTXT_Raw;
+char *pMonsterPlacementTXT_Raw;
+char *pSpellsTXT_Raw;
+char *pMapStatsTXT_Raw;
+char *pHostileTXT_Raw;
+char *pPotionsTXT_Raw;
+char *pPotionNotesTXT_Raw;
+char *pHistoryTXT_Raw;
+int _6807B8_level_decorations_ids[777]; // idb
+int _6807E0_num_decorations_with_sounds_6807B8; // weak
+int _6807E8_level_decorations_ids[777]; // idb
+int _6836C8_num_decorations_6807E8; // weak
+int dword_69B010[64];
+float flt_69B138_dist; // weak
+char byte_69BD41_unused; // weak
+unsigned int uTextureID_x_u;
+unsigned int uTextureID_LS_saveU;
+unsigned int uTextureID_LS_loadU;
+unsigned int uTextureID_AR_DN_DN;
+unsigned int uTextureID_AR_UP_DN;
+unsigned int uTextureID_LS_;
+unsigned int uTextureID_x_d;
+unsigned int uTextureID_save_up;
+unsigned int uTextureID_load_up;
+unsigned int uTextureID_loadsave;
+_UNKNOWN _69FBB4_ptr_iterator_end; // weak
+_UNKNOWN unk_6A0758; // weak
+int dword_6A0C9C; // weak
+unsigned int uLoadGameUI_SelectedSlot;
+HWND hInsertCDWindow; // idb
+int uCPUSpeed; // weak
+char cMM7GameCDDriveLetter; // idb
+void *ptr_6A0D08;
+int _6A0D0C_txt_lod_loading; // weak
+int _6A0D10_txt_lod_loading__unused; // weak
+MENU_STATE uCurrentMenuID;
+unsigned int uGameState;
+int uDefaultTravelTime_ByFoot; // weak
+int day_attrib; // weak
+int day_fogrange_1; // weak
+int day_fogrange_2; // weak
+struct TileTable *pTileTable; // idb
+int texmapping_terrain_subdivsize; // weak
+int texmapping_terrain_subdivpow2; // weak
+int texmapping_building_subdivsize; // weak
+int texmapping_building_subdivpow2; // weak
+int unnamed_6BE060[2] = {0, 1};
+int mipmapping_building_mm1; // weak
+int mipmapping_building_mm2; // weak
+int mipmapping_building_mm3; // weak
+int mipmapping_terrain_mm1; // weak
+int mipmapping_terrain_mm2; // weak
+int mipmapping_terrain_mm3; // weak
+int outdoor_grid_band_1; // idb
+int outdoor_grid_band_2; // idb
+int outdoor_grid_band_3; // idb
+char outdoor_day_top_r; // weak
+char outdoor_day_top_g; // weak
+char outdoor_day_top_b; // weak
+char outdoor_day_bottom_r; // weak
+char outdoor_day_bottom_g; // weak
+char outdoor_day_bottom_b; // weak
+char outdoor_night_top_r; // weak
+char outdoor_night_top_g; // weak
+char outdoor_night_top_b; // weak
+char outdoor_night_bottom_r; // weak
+char outdoor_night_bottom_g; // weak
+char outdoor_night_bottom_b; // weak
+char pDefaultSkyTexture[777]; // idb
+char byte_6BE124_cfg_textures_DefaultGroundTexture[16]; // idb
+int _6BE134_odm_main_tile_group; // weak
+int dword_6BE138; // weak
+int dword_6BE13C_uCurrentlyLoadedLocationID; // weak
+float fWalkSpeedMultiplier = 1.0f; // weak
+float fBackwardWalkSpeedMultiplier = 1.0f; // weak
+float fTurnSpeedMultiplier = 1.0f; // weak
+float flt_6BE150_look_up_down_dangle = 1.0f; // weak
+HWND hWnd; // idb
+int uWindowWidth; // idb
+int uWindowHeight; // idb
+int uWindowX; // idb
+int uWindowY; // idb
+LONG uWindowStyle; // idb
+HMENU hOSMenu; // idb
+int dword_6BE340; // weak
+char pCurrentMapName[20]; // idb
+unsigned int uLevelMapStatsID;
+int uLevel_StartingPointType; // weak
+int dword_6BE364_game_settings_1 = 0; // weak
+int dword_6BE368_debug_settings_2 = 0; // weak
+unsigned __int8 bUseLoResSprites = false;
+unsigned __int8 bUseRegistry = true;
+unsigned __int8 bCanLoadFromCD = false;
+int bShowDamage; // idb
+unsigned int bAlwaysRun;
+unsigned int bFlipOnExit;
+int dword_6BE384_2dacceloff; // weak
+char byte_6BE388_graphicsmode; // weak
+unsigned int uTurnSpeed;
+float flt_6BE3A0; // weak
+float flt_6BE3A4_debug_recmod1;
+float flt_6BE3A8_debug_recmod2;
+float flt_6BE3AC_debug_recmod1_x_1_6;
+char byte_6BE3B0[20]; // idb
+char bUnderwater = false; // weak
+char bNoNPCHiring = false; // weak
+int _702AC0_unused = 0; // weak
+int _702AC4_unused = 0; // weak
+char _702ACC_unused = 0; // weak
+int bDebugResouces; // weak
+unsigned int bNoVideo = false;
+bool bNoIntro = false;
+bool bNoLogo = false;
+bool bNoCD = false;
+bool bNoSound = false;
+int aborting_app; // weak
+int dword_720020_zvalues[100];
+int dword_7201B0_zvalues[299];
+int dword_72065C[777]; // weak
+int dword_720660[777]; // idb
+int dword_7207EC[777]; // weak
+int dword_7207F0[777]; // idb
+int uTextureID_720980; // weak
+int _720984_unused; // weak
+char _72098C_unused; // weak
+__int16 word_7209A0_intercepts_ys_plus_ys[104];
+__int16 word_720A70_intercepts_xs_plus_xs[104];
+__int16 word_720B40_intercepts_zs[104];
+__int16 word_720C10_intercepts_xs[102];
+int dword_720CDC;
+__int16 word_720CE0_ys[777]; // idb
+__int16 word_720DB0_xs[777]; // idb
+int dword_720E80[20];
+int dword_720ED0[20];
+int dword_720F20[20];
+__int16 word_720F70[777]; // idb
+__int16 word_721040[777]; // idb
+int dword_721110[777]; // idb
+int dword_721160[777]; // idb
+int dword_7211B0[777]; // idb
+int dword_721200[777]; // idb
+int dword_7212C8[777]; // idb
+__int16 word_721390[104]; // idb
+__int16 word_721460[104]; // idb
+int blv_prev_party_x; // weak
+int blv_prev_party_z; // weak
+int blv_prev_party_y; // weak
+char *dword_721660; // idb
+char *dword_721664; // idb
+NPCTopic pNPCTopics[789];
+char *dword_722F10; // idb
+const char *pQuestTable[512];
+_UNKNOWN unk_723714; // weak
+char *dword_723718_autonote_related; // idb
+int dword_72371C[777]; // weak
+const char *pScrolls[82];
+int dword_723E80_award_related[777]; // weak
+int dword_723E84[777]; // weak
+int dword_7241C8; // weak
+struct NPCStats *pNPCStats = nullptr;
+char *aNPCProfessionNames[59];
+char *pAwardsTXT_Raw;
+char *pScrollsTXT_Raw;
+char *pMerchantsTXT_Raw;
+const char *pMerchantsBuyPhrases[7];
+const char *pMerchantsSellPhrases[7];
+const char *pMerchantsRepairPhrases[7];
+const char *pMerchantsIdentifyPhrases[7];
+char *pTransitionsTXT_Raw;
+char *pAutonoteTXT_Raw;
+char *pQuestsTXT_Raw;
+unsigned int uNumTerrainNormals;
+int pTerrainSomeOtherData[32768];
+unsigned __int16 pTerrainNormalIndices[32768];
+struct Vec3_float_ *pTerrainNormals;
+int dword_76D518_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D51C_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D520_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D524_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D528_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D52C_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D530_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D534_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D538_terrain_cell_world_pos_around_party_x; // weak
+int dword_76D53C_terrain_cell_world_pos_around_party_x; // weak
+int dword_76D540_terrain_cell_world_pos_around_party_x; // weak
+int dword_76D544_terrain_cell_world_pos_around_party_x; // weak
+int dword_76D548_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D54C_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D550_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D554_terrain_cell_world_pos_around_party_y; // weak
+int dword_76D558_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D55C_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D560_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D564_terrain_cell_world_pos_around_party_z; // weak
+int dword_76D568_terrain_cell_world_pos_around_party_x; // weak
+int dword_76D56C_terrain_cell_world_pos_around_party_x; // weak
+int dword_76D570_terrain_cell_world_pos_around_party_x; // weak
+int dword_76D574_terrain_cell_world_pos_around_party_x; // weak
+int terrain_76D5C8[128];
+int terrain_76D7C8[128];
+int terrain_76D9C8[128];
+int terrain_76DBC8[128];
+int terrain_76DDC8[128];
+int terrain_76DFC8[128];
+int terrain_76E1C8[128];
+int terrain_76E3C8[128];
+_UNKNOWN unk_801A00; // weak
+_UNKNOWN unk_801A0C; // weak
+char byte_80AA10; // weak
+int dword_80AA14; // weak
+int dword_80AA18; // weak
+int dword_80AA1C; // weak
+int dword_80AA20; // weak
+unsigned int uNumElementsIn80AA28;
+struct stru148 *ptr_80AA28[2000];
+struct Edge *pNewEdges;
+struct Surf *pSurfs;
+struct Edge *pEdges;
+struct Span *pSpans;
+struct Edge *ptr_80C978_Edges;
+struct Surf *ptr_80C97C_Surfs;
+struct Edge *ptr_80CA10[480];
+_UNKNOWN unk_80D190; // weak
+int dword_A74C88; // weak
+unsigned int uPlayerCreationUI_SkySliderPos;
+int uPlayerCreationUI_ArrowAnim;
+unsigned int uPlayerCreationUI_SelectedCharacter;
+int dword_A74CDC; // weak
+struct Texture *pTexture_PlayerFaceMask;
+struct Texture *pTexture_PlayerFaceEradicated;
+struct Texture *pTexture_PlayerFaceDead;
+struct Texture *pTextures_PlayerFaces[4][56];
+int dword_A75070; // weak
+struct Player *pPlayers[5];
+__int64 qword_A750D8; // weak
+__int16 word_A750E0; // weak
+__int16 word_A750E2; // weak
+char *pClassNames[36];
+char *aCharacterConditionNames[19];
+char *pSkillNames[38];
+char byte_AE3368[777]; // weak
+char byte_AE3369; // weak
+char byte_AE336A; // weak
+char byte_AE336B; // weak
+int dword_AE336C; // weak
+int dword_AE3370; // weak
+char byte_AE5B91; // weak
+int dword_F1B430[32]; // weak
+int dword_F8B144; // idb
+char byte_F8B148[16];
+__int16 word_F8B158[777]; // weak
+struct Texture *dword_F8B164; // idb
+struct Texture *dword_F8B168[12];
+int dword_F8B198; // weak
+int dword_F8B19C; // weak
+__int16 word_F8B1A0; // weak
+const char *dword_F8B1A4; // idb
+int dword_F8B1A8; // weak
+int dword_F8B1AC_something_todo_with_awards; // idb
+int dword_F8B1B0; // weak
+int dword_F8B1B4; // weak
+char *pShopOptions[4];
+_UNKNOWN unk_F8B1C8; // weak
+int dword_F8B1D8; // weak
+int dword_F8B1DC; // weak
+int dword_F8B1E0; // weak
+int dword_F8B1E4; // weak
+const char *ptr_F8B1E8; // idb
+char byte_F8B1EC; // weak
+char byte_F8B1EF[777]; // weak
+char byte_F8B1F0[4];
+int dword_F8B1F4; // weak
+_UNKNOWN unk_F8B1F8; // weak
+_UNKNOWN unk_F8B5E0; // weak
+_UNKNOWN unk_F8B668; // weak
+_UNKNOWN unk_F8BA50; // weak
+char byte_F8BC0C; // weak
+int bGameoverLoop = 0; // weak
+__int16 word_F8BC48_displaced_face_intersect_plane_coords_a; // idb
+__int16 word_F8BD18_displaced_face_intersect_plane_coords_b; // idb
+int dword_F93F20; // weak
+int dword_F93F70; // weak
+
+//int crt_F94004; // weak
+//int crtdword_F9400C; // weak
+FARPROC lpfn; // idb
\ No newline at end of file