view mm7_data.cpp @ 194:650d96af8855

Vis overhaul; sprites can be picked by mouse
author Nomad
date Sat, 16 Feb 2013 18:32:37 +0200
parents 9b77686e2239
children e6e348d66a75
line wrap: on
line source

#include "mm7_data.h"

#include "NPC.h"
#include "Actor.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 "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 pAutonoteTxt[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] ={
	{0x80, 0xCD, 0x1E, 0x90, 0x58, 0x55, 0, 0, 0, 0, 0, 0, 0x11, 0x68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
	{0x83, 0xC9, 0x26, 0x9E, 0x62, 0x57, 0, 0, 0, 0, 0, 0, 0x15, 0x64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
	{0x83, 0xD8, 0x1D, 0xBA, 0x58, 0x77, 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},
	{0x7B, 0xD8, 0x23, 0xB8, 0x62, 0x77, 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}
};
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 pArmorSkills[5]={ 9, 10, 11, 8, 30};
int pWeaponSkills[9]={3, 5, 2, 6, 4, 0, 1, 31, 7};
int pMiscSkills[12]={35, 33, 24, 21, 32, 36, 29, 25, 22, 26, 23, 34};
int pMagicSkills[9]={12, 13, 14, 15, 16, 17, 18, 19, 20};
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
const char *format_4E2D80 = "\f%05d%s\f00000\n";
char format_4E2D90[8];
char aS03d03dS000_0[777]; // idb
char aS03d03dS000[777]; // idb
const char *format_4E2DC8 = "\f%05d";
char aS[777]; // idb
char aLuSLuS[777]; // idb
char byte_4E2DE8; // idb
char asc_4E2DFC[3]; // idb
const char *format_4E2E00 = "%s\f%05u\xD\r180%s\n"; // idb
const char *format_4E2E10 = "%s\f%05u\t110%d\f00000 / %d\n";
char aS100S_0[777]; // idb
char aS100S[777]; // idb
char aS100D[777]; // idb
char aS180[6]; // idb
const char *format_4E2E68 = "%s\f%05u\t180%d\f00000 / %d\n";
char aS_6[2]; // idb
char aSS_0[777]; // idb
char aS_5[4]; // idb
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 pPaperdoll_BodyX = 481;
int pPaperdoll_BodyY = 0;
int paperdoll_array_4E4E30[4][17][2] =
{
0x2C, 0x67, 0x30, 0x69, 0x2D, 0x67, 0x2C, 0x64, 0x14, 0x66, 0x22,
0x67, 0x20, 0x66, 0x25, 0x66, 0x12, 0x66, 0x0A, 0x66, 0x13, 0x64,
0x0E, 0x64, 0x0A, 0x63, 0x14, 0x66, 0x0A, 0x63, 0x0A, 0x66, 0x25,
0x66, 0x32, 0x68, 0x32, 0x69, 0x35, 0x69, 0x33, 0x68, 0x24, 0x67,
0x30, 0x69, 0x33, 0x68, 0x31, 0x69, 0x19, 0x69, 0x19, 0x6A, 0x16,
0x66, 0x16, 0x65, 0x0F, 0x6B, 0x24, 0x67, 0x0F, 0x6B, 0x19, 0x6A,
0x31, 0x69, 0x2A, 0x8C, 0x29, 0x8C, 0x2A, 0x89, 0x29, 0x86, 0x12,
0x87, 0x2D, 0x89, 0x2A, 0x88, 0x25, 0x87, 0x12, 0x8B, 0x12, 0x8B,
0x11, 0x8A, 0x15, 0x87, 0x09, 0x89, 0x12, 0x87, 0x09, 0x89, 0x12, 0x8B,
0x25, 0x87, 0x33, 0x90, 0x32, 0x90, 0x34, 0x91, 0x32, 0x8E, 0x21,
0x8B, 0x31, 0x8B, 0x33, 0x8E, 0x2F, 0x8F, 0x16, 0x8D, 0x18, 0x8C,
0x19, 0x8C, 0x1B, 0x8E, 0x0C, 0x8C, 0x21, 0x8B, 0x0C, 0x8C, 0x18,
0x8C, 0x2F, 0x8F
};
int dword_4E5050[8] = 
{
0x64, 0x67, 0x61, 0x67, 0x65, 0x68, 0x6E, 0x74
};
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 pPaperdoll_LeftHand[8] =
{
  0x67, 0x6A,
  0x65, 0x6C,
  0x74, 0x8D,
  0x74, 0x93,
};
int pPaperdoll_SecondLeftHand[8] =
{
  0x1A, 0x6B,
  0x28, 0x6D,
  0x19, 0x8D,
  0x20, 0x92,
};
int pPaperdoll_RightHand[8] = //fist
{
  0x1E, 0x90,
  0x22, 0x9E,
  0x19, 0xBA,
  0x1F, 0xB8,
};
int pPaperdollLeftEmptyHand[8];
int pPaperdollRingsX[6] = {0x1EA, 0x21A, 0x248, 0x1EA, 0x21A, 0x248};
int pPaperdollRingsY[6] = {0x0CA, 0x0CA, 0x0CA, 0x0FA, 0x0FA, 0x0FA};
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 pNPCPortraits_x = 521; // idb
int dword_4E5EC8[777]; // weak
int pNPCPortraits_y = 38; // 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]= // 4ED3D8
{
	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[54]=
{
	0x0D4, 0x270, 0x0D5, 0x21C, 0x0D6, 0x2BE, 0x0D7, 0x2BD, 0x0D8, 0x289, 
	0x0D9, 0x258, 0x0DA, 0x2AB, 0x0DB, 0x281, 0x0DC, 0x280, 0x0DD,
	0x284, 0x0DE, 0x285, 0x0DF, 0x283, 0x0E0, 0x282, 0x0E1, 0x27F,
	0x0E2, 0x1E7, 0x0E3, 0x287, 0x0E4, 0x272, 0x0E5, 0x267, 0x0E6,
	0x275, 0x0E7, 0x25A, 0x0E8, 0x2A4, 0x0E9, 0x2A5, 0x0EA, 0x2A3,
	0x0EB, 0x25C, 0x0EC, 0x25D, 0x0ED, 0x259, 0x0F1, 0x21E
}
;
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
Texture *dword_506404[12]; // weak
Texture *dword_50640C[12]; // 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 pMainScreenNum; // 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 pOdmMinimap[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 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 byte_5E4C15[777]; // weak
char *pSomeItemsNames[14];

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 pSaveListPosition; // 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 unk_F7B60C stru_73C834; // struct @ MM7.exe::0073C834
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;
 struct Vec3_float_ *pTerrainNormals;
 unsigned short  pTerrainNormalIndices[128 * 128 * 2];
 unsigned int    pTerrainSomeOtherData[128 * 128 * 2];
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
struct unk_F7B60C stru_76D578; // struct @ MM7.exe::0076D578
struct unk_F7B60C stru_76D590; // struct @ MM7.exe::0076D590
struct unk_F7B60C stru_76D5A8; // struct @ MM7.exe::0076D5A8
char byte_76D5C0; // 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
char array_F8B668[1000]; // 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