changeset 944:7cbe4f80e322

Слияние
author Ritor1
date Wed, 01 May 2013 17:06:31 +0600
parents ffc32cabc5f5 (current diff) 4dd4184d4248 (diff)
children eb3bb0f2e1b9 5e87b0c3f939
files mm7_2.cpp stru287.h stru351.h
diffstat 22 files changed, 123 insertions(+), 259 deletions(-) [+]
line wrap: on
line diff
--- a/Arcomage.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/Arcomage.cpp	Wed May 01 17:06:31 2013 +0600
@@ -17,6 +17,46 @@
 
 
 
+void sub_409BE8();
+
+
+
+
+/*  388 */
+#pragma pack(push, 1)
+struct stru348
+{
+  __int16 field_0;
+  __int16 field_2;
+  __int16 field_4;
+  __int16 field_6;
+  __int16 field_8;
+  __int16 field_A;
+  __int16 field_C;
+  __int16 field_E;
+  __int16 field_10;
+  __int16 field_12;
+  int field_14;
+};
+#pragma pack(pop)
+stru348 stru_4E1890[13] =
+{
+  { 30, 100, 15,  5,  2,  2,  2, 10, 10, 10,  0},
+  { 50, 150, 20,  5,  2,  2,  2,  5,  5,  5,  1},
+  { 50, 150, 20,  5,  2,  2,  2,  5,  5,  5,  2},
+  { 75, 200, 25, 10,  3,  3,  3,  5,  5,  5,  2},
+  { 75, 200, 20, 10,  3,  3,  3,  5,  5,  5,  1},
+  {100, 300, 30, 15,  4,  4,  4, 10, 10, 10,  1},
+  {100, 300, 30, 15,  4,  4,  4, 10, 10, 10,  2},
+  {150, 400, 20, 10,  5,  5,  5, 25, 25, 25,  0},
+  {200, 500, 20, 10,  1,  1,  1, 15, 15, 15,  2},
+  {100, 300, 20, 50,  1,  1,  5,  5,  5, 25,  0},
+  {125, 350, 10, 20,  3,  1,  2, 15,  5, 10,  2},
+  {125, 350, 10, 20,  3,  1,  2, 15,  5, 10,  1},
+  {100, 300, 50, 50,  5,  3,  5, 20, 10, 20,  0}
+};
+
+
 
 
 ArcomageGame *pArcomageGame = new ArcomageGame;
@@ -1401,12 +1441,9 @@
   }
   while ( (signed int)v4 <= (signed int)&unk_4FAA20 );
 }
-// 40DFA7: using guessed type uint __stdcall retzero_sub_40DFA7(uint);
-// 4E1874: using guessed type int dword_4E1874;
-// 4FAA24: using guessed type char byte_4FAA24;
-// 4FAA2C: using guessed type char byte_4FAA2C;
-// 4FAA70: using guessed type int dword_4FAA70;
-// 4FAA77: using guessed type char am_byte_4FAA77;
+
+
+
 
 //----- (00409FE9) --------------------------------------------------------
 char __cdecl am_409FE9()
@@ -5798,3 +5835,37 @@
   v1->bGameInProgress = 0;
   v1->field_F9 = 0;
 }
+
+
+
+
+
+
+//----- (00409BE8) --------------------------------------------------------
+void __cdecl sub_409BE8()
+{
+  void *v0; // eax@1
+  stru348 *v1; // eax@1
+  int v2; // ecx@1
+  int v3; // eax@1
+
+  v0 = window_SpeakInHouse->ptr_1C;
+  dword_4E1874 = 5;
+  v1 = &stru_4E1890[(int)((char *)v0 - 108)];
+  amuint_4E1860 = v1->field_4;
+  amuint_4E1864 = v1->field_6;
+  amuint_4E1868 = v1->field_8 - 1;
+  amuint_4E186C = v1->field_A - 1;
+  amuint_4E1870 = v1->field_C - 1;
+  amuint_505884 = v1->field_E;
+  amuint_505888 = v1->field_10;
+  amuint_50588C = v1->field_12;
+  dword_4E1878 = 1;
+  dword_4E187C = 1;
+  dword_4E1880 = 1;
+  dword_4E1884 = v1->field_0;
+  v2 = v1->field_2;
+  v3 = v1->field_14;
+  dword_4E1888 = v2;
+  dword_4DF3A4 = v3;
+}
\ No newline at end of file
--- a/Items.h	Wed May 01 17:06:18 2013 +0600
+++ b/Items.h	Wed May 01 17:06:31 2013 +0600
@@ -387,4 +387,19 @@
 	+10 Water Resistance and +2 Alchemy skill.	70
 	Prevents damage from drowning.	71
 	Prevents damage from falling.	72
-*/
\ No newline at end of file
+*/
+
+
+/*  391 */
+#pragma pack(push, 1)
+struct stru351_summoned_item
+{
+  int field_0_expire_second;
+  int field_4_expire_minute;
+  int field_8_expire_hour;
+  int field_C_expire_day;
+  int field_10_expire_week;
+  int field_14_exprie_month;
+  int field_18_expire_year;
+};
+#pragma pack(pop)
\ No newline at end of file
--- a/MM7.h	Wed May 01 17:06:18 2013 +0600
+++ b/MM7.h	Wed May 01 17:06:31 2013 +0600
@@ -32,33 +32,6 @@
 
 #include "VectorTypes.h"
 #include "IndoorCameraD3D.h"
-/*#include "LOD.h"
-#include "Texture.h"
-#include "Mouse.h"
-#include "Overlays.h"
-#include "Game.h"
-#include "Items.h"
-#include "Actor.h"
-#include "Arcomage.h"
-#include "Render.h"
-#include "Time.h"
-#include "GUIWindow.h"
-#include "GUIButton.h"
-#include "GUIProgressBar.h"
-#include "GUIFont.h"
-#include "NPC.h"
-#include "PaletteManager.h"
-#include "Party.h"
-#include "AudioPlayer.h"
-#include "VideoPlayer.h"
-#include "Chest.h"
-#include "Allocator.h"
-#include "IndoorCamera.h"
-#include "Party.h"
-#include "Outdoor.h"
-
-#include "mm7_data.h"
-*/
 
 
 
@@ -66,35 +39,8 @@
 
 
 
-/*  285 */
-#pragma pack(push, 1)
-struct stru289
-{
-  //----- (0046263C) --------------------------------------------------------
-  inline stru289()
-  {
-    this->field_64 = 2;
-    this->field_74 = 0;
-    this->field_70 = 0;
-    this->field_6C = 0;
-    this->field_68 = 0;
-  }
-
-
-  char field_0[100];
-  int field_64;
-  int field_68;
-  int field_6C;
-  int field_70;
-  int field_74;
-};
-#pragma pack(pop)
-extern stru289 stru_6BE158;
-
-
-
 /*  288 */
-#pragma pack(push, 1)
+/*#pragma pack(push, 1)
 struct CheckHRESULT_stru0
 {
   void CheckHRESULT(HRESULT a2, const char *Str, int a4, unsigned int uType);
@@ -105,7 +51,7 @@
 
   void (__thiscall ***vdestructor_ptr)(CheckHRESULT_stru0 *, bool);
 };
-#pragma pack(pop)
+#pragma pack(pop)*/
 
 
 
@@ -141,40 +87,10 @@
 
 
 
-/*  369 */
-#pragma pack(push, 1)
-
-#pragma pack(pop)
-extern int paperdoll_Weapon[4][16][2];
-
-/*  371 */ // stru331 - deleted
 
 
-/*  372 */
-#pragma pack(push, 1)
-/*struct stru332
-{
-  unsigned int texids[11];
-  int texid1;
-  int texid2;
-  int texid3;
-  int texid4;
-  int texid5;
-};*/
-#pragma pack(pop)
-extern int paperdoll_helm_texture[2][16];
 
 
-/*  373 */
-#pragma pack(push, 1)
-/*struct stru333
-{
-  unsigned int texids[5];
-  int texid1;
-  int texid2;
-};*/
-#pragma pack(pop)
-extern int paperdoll_belt_texture[2][7];
 
 
 /*  374 */
@@ -204,38 +120,3 @@
 };
 #pragma pack(pop)
 
-
-
-
-
-
-
-
-
-
-
-
-
-/*  388 */
-#pragma pack(push, 1)
-struct stru348
-{
-  __int16 field_0;
-  __int16 field_2;
-  __int16 field_4;
-  __int16 field_6;
-  __int16 field_8;
-  __int16 field_A;
-  __int16 field_C;
-  __int16 field_E;
-  __int16 field_10;
-  __int16 field_12;
-  int field_14;
-};
-#pragma pack(pop)
-
-extern stru348 stru_4E1890[13];
-
-
-
-
--- a/UIBooks.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UIBooks.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
--- a/UICharacter.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UICharacter.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
@@ -1251,7 +1250,7 @@
   int pY_ArmorShoulder; // ecx@237
   int v106; // edx@238
   int v107; // edx@239
-  int v108; // edx@240
+  int v108; // edx@240papredoll_flying_feet
   int v109; // edi@250
   char *v110; // edx@250
   unsigned int pCloakCollarNum; // eax@259
@@ -2422,6 +2421,8 @@
     if (Player_has_item(ITEM_RARE_VAMPIRES_CAPE, player, 1))          byte_5111F6[15] = 1;
     if (Player_has_item(ITEM_ELVEN_CHAINMAIL, player, 1))             byte_5111F6[16] = 1;
   }
+
+
   for (uint i = 0; i < 2; ++i)
   {
     for ( uint j = 0; j < 5; ++j )//Belt
@@ -2455,7 +2456,7 @@
     if ( sub_43EDB9_get_some_race_sex_relation_2(i) )
     {
       GetItemTextureFilename(pContainer, 524, i + 1, 0);
-      paperdoll_belt_texture[i][6] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);//Titans belt
+      paperdoll_belt_texture[i][5] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);//Titans belt
       pItemTXTNum = 66;
       for ( v32 = 0; v32 < 13; ++v32 )//simple armor
       {
--- a/UIMainMenu.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UIMainMenu.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
--- a/UIOptions.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UIOptions.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
--- a/UIPartyCreation.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UIPartyCreation.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
--- a/UIPopup.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UIPopup.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
--- a/UIRest.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UIRest.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
@@ -48,7 +47,7 @@
 
 //----- (0041F6C1) --------------------------------------------------------
 void __cdecl RestUI_Initialize()
-    {
+{
     Player *v0; // eax@10
 
     if ( !dword_506F14 )
--- a/UISaveLoad.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UISaveLoad.cpp	Wed May 01 17:06:31 2013 +0600
@@ -40,7 +40,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 
 #include "mm7_data.h"
 
--- a/UiGame.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/UiGame.cpp	Wed May 01 17:06:31 2013 +0600
@@ -41,7 +41,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 #include "UIHouses.h"
 
 #include "mm7_data.h"
--- a/mm7_1.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/mm7_1.cpp	Wed May 01 17:06:31 2013 +0600
@@ -46,7 +46,6 @@
 #include "StorylineTextTable.h"
 #include "Events2D.h"
 #include "texts.h"
-#include "stru351.h"
 #include "UIHouses.h"
 #include "mm7_data.h"
 
--- a/mm7_2.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/mm7_2.cpp	Wed May 01 17:06:31 2013 +0600
@@ -27,7 +27,6 @@
 #include "DecorationList.h"
 #include "SaveLoad.h"
 #include "stru123.h"
-#include "stru287.h"
 #include "stru176.h"
 #include "Time.h"
 #include "IconFrameTable.h"
@@ -45,7 +44,6 @@
 #include "CastSpellInfo.h"
 #include "stru298.h"
 #include "stru12.h"
-#include "stru351.h"
 #include "Events2D.h"
 #include "stru159.h"
 #include "Log.h"
--- a/mm7_3.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/mm7_3.cpp	Wed May 01 17:06:31 2013 +0600
@@ -26,7 +26,6 @@
 #include "DecorationList.h"
 #include "SaveLoad.h"
 #include "stru123.h"
-#include "stru287.h"
 #include "Time.h"
 #include "IconFrameTable.h"
 #include "TurnEngine.h"
--- a/mm7_4.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/mm7_4.cpp	Wed May 01 17:06:31 2013 +0600
@@ -28,7 +28,6 @@
 #include "DecorationList.h"
 #include "SaveLoad.h"
 #include "stru123.h"
-#include "stru287.h"
 #include "Time.h"
 #include "IconFrameTable.h"
 #include "GUIProgressBar.h"
@@ -45,7 +44,6 @@
 #include "CastSpellInfo.h"
 #include "stru298.h"
 #include "stru12.h"
-#include "stru351.h"
 #include "Events2D.h"
 #include "stru159.h"
 #include "texts.h"
--- a/mm7_5.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/mm7_5.cpp	Wed May 01 17:06:31 2013 +0600
@@ -9317,49 +9317,6 @@
   return v5;
 }
 
-//----- (00409BE8) --------------------------------------------------------
-void __cdecl sub_409BE8()
-{
-  void *v0; // eax@1
-  stru348 *v1; // eax@1
-  int v2; // ecx@1
-  int v3; // eax@1
-
-  v0 = window_SpeakInHouse->ptr_1C;
-  dword_4E1874 = 5;
-  v1 = &stru_4E1890[(int)((char *)v0 - 108)];
-  amuint_4E1860 = v1->field_4;
-  amuint_4E1864 = v1->field_6;
-  amuint_4E1868 = v1->field_8 - 1;
-  amuint_4E186C = v1->field_A - 1;
-  amuint_4E1870 = v1->field_C - 1;
-  amuint_505884 = v1->field_E;
-  amuint_505888 = v1->field_10;
-  amuint_50588C = v1->field_12;
-  dword_4E1878 = 1;
-  dword_4E187C = 1;
-  dword_4E1880 = 1;
-  dword_4E1884 = v1->field_0;
-  v2 = v1->field_2;
-  v3 = v1->field_14;
-  dword_4E1888 = v2;
-  dword_4DF3A4 = v3;
-}
-// 4DF3A4: using guessed type int dword_4DF3A4;
-// 4E1860: using guessed type int amuint_4E1860;
-// 4E1864: using guessed type int amuint_4E1864;
-// 4E1868: using guessed type int amuint_4E1868;
-// 4E186C: using guessed type int amuint_4E186C;
-// 4E1870: using guessed type int amuint_4E1870;
-// 4E1874: using guessed type int dword_4E1874;
-// 4E1878: using guessed type int dword_4E1878;
-// 4E187C: using guessed type int dword_4E187C;
-// 4E1880: using guessed type int dword_4E1880;
-// 4E1884: using guessed type int dword_4E1884;
-// 4E1888: using guessed type int dword_4E1888;
-// 505884: using guessed type int amuint_505884;
-// 505888: using guessed type int amuint_505888;
-// 50588C: using guessed type int amuint_50588C;
 
 //----- (0040D75D) --------------------------------------------------------
 char __fastcall pPrimaryWindow_draws_text(int a1, const char *pText, int *pXY)
--- a/mm7_data.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/mm7_data.cpp	Wed May 01 17:06:31 2013 +0600
@@ -51,9 +51,6 @@
 #include "stru298.h"
 stru298 stru_50FE08; // weak
 
-#include "stru287.h"
-stru287 stru_5E4C50;
-
 #include "Autonotes.h"
 Autonote pAutonoteTxt[195]; // weak
 
@@ -273,16 +270,15 @@
 
 #include "MM7.h"
 
-stru289 stru_6BE158;
 int paperdoll_Weapon[4][16][2] = {//4E4C30
-  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,
+  {{128, 205},  {30, 144},  {88,  85},  {0, 0},  {0, 0},  {0, 0},  {17, 104},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0}},
+  {{131, 201},  {38, 158},  {98,  87},  {0, 0},  {0, 0},  {0, 0},  {21, 100},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0},  {0, 0}},
+  {{131, 216},  {29, 186},  {88, 119},  {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}},
+  {{123, 216},  {35, 184},  {98, 119},  {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}},
 };
-int paperdoll_helm_texture[2][16];
-int paperdoll_belt_texture[2][7];
-stat_coord stat_string_coord[26] = //0x4E2940
+int paperdoll_helm_texture[2][16]; //511698
+int paperdoll_belt_texture[2][7];  //511718
+stat_coord stat_string_coord[26] = //4E2940
 {
   {0x1A, 0x39, 0xDC, 0x12},
   {0x1A, 0x4A, 0xDC, 0x12},
@@ -311,7 +307,6 @@
   {0x111, 0x129, 0xBA, 0x12},
   {0x13E, 0x12, 0x89, 0x12},
 };
-stru348 stru_4E1890[13];
 
 
 
@@ -682,9 +677,9 @@
 char aInvalidDevic_0[777]; // idb
 char aEWorkMsdevMm_3[777]; // idb
 char aErrorNoMouseFo[22]; // weak
-int pPaperdoll_BodyX = 481;
-int pPaperdoll_BodyY = 0;
-int paperdoll_Armor[4][17][2] = //0x4E4E30
+int pPaperdoll_BodyX = 481; // 004E4C28
+int pPaperdoll_BodyY = 0;   // 004E4C2C
+int paperdoll_Armor[4][17][2] = //4E4E30
 {
 // X     Y
   0x2C, 0x67,  0x30, 0x69,  0x2D, 0x67,  0x2C, 0x64,  0x14, 0x66,  0x22, 0x67,  0x20, 0x66,  0x25, 0x66,  0x12, 0x66,//Human
@@ -699,7 +694,7 @@
   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 paperdoll_shoulder[4][17][2] = 
+int paperdoll_shoulder[4][17][2] = //4E5050
 {
   0x64, 0x67,  0x61, 0x67,  0x65, 0x68,  0x6E, 0x74,  0x6C, 0x68,  0x61, 0x67,  0x66, 0x68,  0x6C, 0x6A,  0x6E, 0x6D,
   0x67, 0x69,  0x70, 0x67,  0x6E, 0x6D,  0x6C, 0x6F,  0x6C, 0x68,  0x6C, 0x6F,  0x67, 0x69,  0x6C, 0x6A,
@@ -727,14 +722,14 @@
   0x1D, 0x121,   0x1C, 0x11F,   0x1B, 0x11B,   0x1C, 0x117,  0x16, 0x116,  0x1B, 0x137,  0x1B, 0x11B,
   0x1F, 0x127,   0x1F, 0x122,   0x1B, 0x11B,   0x1D, 0x117,  0x1D, 0x116,  0x1D, 0x137,  0x1B, 0x11F,
 };
-int paperdoll_Cloak[4][10][2] = //0x4E5570
+int paperdoll_Cloak[4][10][2] = //4E5570
 {
   0x11, 0x68,  0xF, 0x68,  0x14, 0x71,  0x19, 0x6B,  0x21, 0x6F,  0x5, 0x68,  0x5, 0x68,  0x14, 0x71,  0x3, 0x6B,  0xF, 0x6F,
   0x15, 0x64,  0xB, 0x6B,  0xE, 0x67,   0x15, 0x6B,  0x1B, 0x6F,  0x3, 0x6B,  0, 0x6B,    0xE, 0x67,   0, 0x6B,    0x3, 0x6F,
   0x10, 0x8A,  0x9, 0x8B,  0x18, 0x98,  0x25, 0x91,  0x29, 0x90,  0x8, 0x8A,  0x9, 0x8B,  0x18, 0x98,  0x3, 0x91,  0x3, 0x90,
   0x14, 0x92,  0x10, 0x92, 0x15, 0x98,  0x1F, 0x91,  0x22, 0x90,  0x8, 0x92,  0xC, 0x92,  0x15, 0x98,  0x3, 0x91,  0x3, 0x90,
 };
-int paperdoll_CloakCollar[4][10][2] = //0x4E56B0
+int paperdoll_CloakCollar[4][10][2] = //4E56B0
 {
   0x11, 0x68,  0x34, 0x64,  0x21, 0x69,  0x1D, 0x67,  0x20, 0x67,  0x21, 0x68,  0x34, 0x64,  0x21, 0x69,  0x1D, 0x67,  0x1F, 0x67,
   0x13, 0x64,  0x35, 0x66,  0x29, 0x68,  0x1F, 0x68,  0x1F, 0x6A,  0x21, 0x6A,  0x2B, 0x66,  0x26, 0x68,  0x1F, 0x68,  0x1F, 0x6A,
@@ -742,48 +737,46 @@
   0, 0,        0x38, 0x8A,  0x24, 0x8B,  0x1D, 0x8B,  0x21, 0x8C,  0x27, 0x8A,  0x34, 0x8A,  0x24, 0x8B,  0x25, 0x8B,  0x21, 0x8C,
 };
 //int dword_4E56B4; // weak
-int paperdoll_Belt[4][7][2] = //0x4E57F0
+int paperdoll_Belt[4][7][2] = //4E57F0
 {
   0x3A, 0xB6,  0x37, 0xB2,  0x34, 0xB9,  0x3A, 0xB9,  0x37, 0xB7,  0x38, 0xAC,  0x37, 0xB7,
   0x3E, 0xAD,  0x3A, 0xAC,  0x37, 0xB0,  0x3A, 0xB1,  0x39, 0xB0,  0x3C, 0xA5,  0x39, 0xB0,
   0x3B, 0xD5,  0x37, 0xD2,  0x31, 0xD5,  0x39, 0xD6,  0x37, 0xD8,  0x37, 0xD1,  0x37, 0xD8,
   0x42, 0xD2,  0x3F, 0xD0,  0x3B, 0xD7,  0x3C, 0xD5,  0x3B, 0xD6,  0x3E, 0xCF,  0x36, 0xD6,
 };
-int paperdoll_Helm[4][16][2] = //0x4E58D0
+int paperdoll_Helm[4][16][2] = //4E58D0
 {
   0x3E, 0x1F,  0x41, 0x2C,  0x37, 0x2F,  0x31, 0x32,  0x37, 0x2A,  0x39, 0x28,  0x36, 0x34,  0x41, 0x38,  0x40, 0x31,  0x40, 0x21,  0x40, 0x31,  0x3C, 0x33,  0x3D, 0x24,  0x3A, 0x1A,  0x37, 0x2A,  0x41, 0x48,
   0x41, 0x1E,  0x42, 0x2B,  0x37, 0x2F,  0x34, 0x30,  0x39, 0x29,  0x3A, 0x26,  0x36, 0x34,  0x41, 0x37,  0x42, 0x32,  0x40, 0x21,  0x40, 0x31,  0x40, 0x2F,  0x3E, 0x22,  0x3B, 0x1A,  0x39, 0x29,  0x42, 0x47,
   0x3F, 0x47,  0x41, 0x56,  0x37, 0x59,  0x32, 0x5E,  0x37, 0x58,  0x39, 0x54,  0x34, 0x61,  0x40, 0x61,  0x41, 0x5D,  0x3E, 0x4F,  0x3E, 0x5B,  0x3D, 0x5B,  0x3F, 0x4C,  0x3B, 0x45,  0x37, 0x58,  0x41, 0x74,
   0x45, 0x45,  0x46, 0x54,  0x3A, 0x55,  0x38, 0x58,  0x3C, 0x54,  0x3F, 0x52,  0x39, 0x5B,  0x45, 0x5C,  0x47, 0x5C,  0x44, 0x4B,  0x44, 0x57,  0x43, 0x55,  0x44, 0x4A,  0x3E, 0x45,  0x3C, 0x54,  0x47, 0x70,
 };
-//int dword_4E58D4[777]; // HelmY 31
-int pPaperdoll_Beards[4] = //0x4E5AD0
+int pPaperdoll_Beards[4] = //4E5AD0
 {
  52, 130, 56, 136,
 };
-int dword_4E5AD4[777]; // weak
-int pPaperdoll_LeftHand[4][2] =
+int pPaperdoll_LeftHand[4][2] = //4E5AE0
 {
   0x67, 0x6A,
   0x65, 0x6C,
   0x74, 0x8D,
   0x74, 0x93,
 };
-int pPaperdoll_SecondLeftHand[4][2] =
+int pPaperdoll_SecondLeftHand[4][2] = //4E5B00
 {
   0x1A, 0x6B,
   0x28, 0x6D,
   0x19, 0x8D,
   0x20, 0x92,
 };
-int pPaperdoll_RightHand[4][2] = //fist
+int pPaperdoll_RightHand[4][2] = //4E5B20
 {
   0x1E, 0x90,
   0x22, 0x9E,
   0x19, 0xBA,
   0x1F, 0xB8,
 };
-int pPaperdollLeftEmptyHand[4][2] = //0x4E5B40
+int pPaperdollLeftEmptyHand[4][2] = //4E5B40
 {
   0x80, 0xCD,
   0x83, 0xC9,
@@ -794,10 +787,6 @@
 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
--- a/mm7_data.h	Wed May 01 17:06:18 2013 +0600
+++ b/mm7_data.h	Wed May 01 17:06:31 2013 +0600
@@ -342,6 +342,7 @@
 extern char aPending[]; // idb
 extern char aCanTFindS[]; // idb
 extern char pDayMoonPhase[28];
+extern int paperdoll_Weapon[4][16][2];
 extern char *spellbook_texture_filename_suffices[]; // weak
 extern __int16 word_4E1D3A[]; // weak
 extern __int16 pTownPortalBook_xs[6];
@@ -603,16 +604,15 @@
 extern int pPaperdoll_BodyY; // weak
 extern int paperdoll_Armor[4][17][2];
 extern int paperdoll_shoulder[4][17][2];
+extern int paperdoll_helm_texture[2][16];
+extern int paperdoll_belt_texture[2][7];
 extern int dword_4E5270[4][2];
 extern int paperdoll_Boot[4][7][2];
 extern int paperdoll_Cloak[4][10][2];
 extern int paperdoll_CloakCollar[4][10][2];
-//extern int dword_4E56B4; // weak
 extern int paperdoll_Belt[4][7][2];
 extern int paperdoll_Helm[4][16][2];
-//extern int dword_4E58D4[]; // weak
 extern int pPaperdoll_Beards[4]; // weak
-extern int dword_4E5AD4[]; // weak
 extern int pPaperdoll_LeftHand[4][2];
 extern int pPaperdoll_SecondLeftHand[4][2];
 extern int pPaperdoll_RightHand[4][2];
@@ -621,10 +621,6 @@
 extern int pPaperdollRingsY[6];
 extern char aItem092v3[]; // idb
 extern char aIbCd5D[]; // idb
-extern char aAr_dn_dn[]; // idb
-extern char aAr_dn_up[]; // idb
-extern char aAr_up_dn[]; // idb
-extern char aAr_up_up[]; // idb
 extern char aItem281pc02d[]; // idb
 extern char aPc02dbrd[]; // idb
 extern char aPc23vDlhu[]; // idb
@@ -1538,8 +1534,6 @@
 unsigned int __fastcall SearchActorByMonsterID(unsigned int *pTotalActors, int uMonsterID);
 unsigned int __fastcall SearchActorByGroup(unsigned int *pTotalActors, unsigned int uGroup);
 unsigned int __fastcall SearchActorByID(unsigned int *pTotalActors, unsigned int a2);
-// char __usercall am_408BB4<al>(int a1<ecx>, int a2<ebp>);
-void __cdecl sub_409BE8();
 void __cdecl PrepareArcomage();
 char __cdecl am_409FE9();
 char __cdecl am_40A198();
--- a/stru287.h	Wed May 01 17:06:18 2013 +0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#pragma once
-
-
-
-/*  281 */
-#pragma pack(push, 1)
-struct stru287
-{
-  char field_0[24];
-};
-#pragma pack(pop)
-extern stru287 stru_5E4C50;
\ No newline at end of file
--- a/stru351.h	Wed May 01 17:06:18 2013 +0600
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-#pragma once
-
-
-/*  391 */
-#pragma pack(push, 1)
-struct stru351_summoned_item
-{
-  int field_0_expire_second;
-  int field_4_expire_minute;
-  int field_8_expire_hour;
-  int field_C_expire_day;
-  int field_10_expire_week;
-  int field_14_exprie_month;
-  int field_18_expire_year;
-};
-#pragma pack(pop)
\ No newline at end of file
--- a/texts.cpp	Wed May 01 17:06:18 2013 +0600
+++ b/texts.cpp	Wed May 01 17:06:31 2013 +0600
@@ -1,7 +1,6 @@
 
 #include <string.h>
 #include "Allocator.h"
-#include "stru287.h"
 #include "LOD.h"
 #include "mm7_data.h"
 #include "texts.h"
@@ -46,7 +45,6 @@
 	pSomeItemsNames[11] = pGlobalTXT_LocalizationStrings[281];
 	pSomeItemsNames[12] = pGlobalTXT_LocalizationStrings[282];
 	pSomeItemsNames[13] = pGlobalTXT_LocalizationStrings[143];
-	memset(&stru_5E4C50, 0, sizeof(stru_5E4C50));
 }
 
 //----- (00452C30) --------------------------------------------------------