changeset 175:9b5df6cc45a4

Слияние
author Ritor1
date Wed, 12 Dec 2012 20:11:41 +0600
parents 6ce54633e7ba (current diff) bf2956650e92 (diff)
children 15ba5f459761
files mm7_5.cpp
diffstat 12 files changed, 389 insertions(+), 371 deletions(-) [+]
line wrap: on
line diff
--- a/Arcomage.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/Arcomage.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -1735,7 +1735,7 @@
       v0 = 0;
       v11[1] = 200;
       v11[0] = 320 - 12 * v0 / 2;
-      pGUIWindow0_draws_text(-1, Dest, v11);
+      pPrimaryWindow_draws_text(-1, Dest, v11);
       am_byte_4FAA75 = 1;
       v1 = amuint_4FAA6C + 1;
       v3 = __OFSUB__(amuint_4FAA6C + 1, 2);
@@ -1749,7 +1749,7 @@
       v4 = 0;
       v11[1] = 260;
       v11[0] = 320 - 12 * v4 / 2;
-      pGUIWindow0_draws_text(-1, Dest, v11);
+      pPrimaryWindow_draws_text(-1, Dest, v11);
       v6 = 0;
       v8 = 640;
       v7 = 0;
@@ -2243,36 +2243,36 @@
     inv_strcpy(pGlobalTXT_LocalizationStrings[266], Dest);// DISCARD A CARD
     v12[0] = 320 - pArcomageGame->pFont2->GetLineWidth(Dest) / 2;
     v12[1] = 306;
-    pGUIWindow0_draws_text(-1, Dest, v12);
+    pPrimaryWindow_draws_text(-1, Dest, v12);
   }
   inv_strcpy((const char *)stru_505708, Dest);
   if ( !amuint_4FAA6C )
     inv_strcat("***", Dest);
   v12[0] = 47 - pArcomageGame->pFont1->GetLineWidth(Dest) / 2;
   v12[1] = 21;
-  pGUIWindow0_draws_text(-1, Dest, v12);
+  pPrimaryWindow_draws_text(-1, Dest, v12);
   inv_strcpy(stru_505708[1].pPlayerName, Dest);
   if ( amuint_4FAA6C == 1 )
     inv_strcat("***", Dest);
   v12[0] = 595 - pArcomageGame->pFont1->GetLineWidth(Dest) / 2;
   v12[1] = 21;
-  pGUIWindow0_draws_text(-1, Dest, v12);
+  pPrimaryWindow_draws_text(-1, Dest, v12);
   intToString(stru_505708[0].field_24, Dest);
   v12[0] = 123 - pArcomageGame->pFont1->GetLineWidth(Dest) / 2;
   v12[1] = 305;
-  pGUIWindow0_draws_text(-1, Dest, v12);
+  pPrimaryWindow_draws_text(-1, Dest, v12);
   intToString(stru_505708[1].field_24, Dest);
   v12[0] = 515 - pArcomageGame->pFont1->GetLineWidth(Dest) / 2;
   v12[1] = 305;
-  pGUIWindow0_draws_text(-1, Dest, v12);
+  pPrimaryWindow_draws_text(-1, Dest, v12);
   intToString(stru_505708[0].field_28, Dest);
   v12[0] = 188 - pArcomageGame->pFont1->GetLineWidth(Dest) / 2;
   v12[1] = 305;
-  pGUIWindow0_draws_text(-1, Dest, v12);
+  pPrimaryWindow_draws_text(-1, Dest, v12);
   intToString(stru_505708[1].field_28, Dest);
   v12[0] = 451 - pArcomageGame->pFont1->GetLineWidth(Dest) / 2;
   v12[1] = 305;
-  pGUIWindow0_draws_text(-1, Dest, v12);
+  pPrimaryWindow_draws_text(-1, Dest, v12);
   v0 = stru_505708[0].field_2C;
   if ( byte_4E185E )
     v0 = dword_4E1878 + stru_505708[0].field_2C;
@@ -5503,7 +5503,7 @@
   v2 = 0;
   xy[1] = 160;
   xy[0] = 320 - 12 * v2 / 2;
-  pGUIWindow0_draws_text(-1, pText, xy);
+  pPrimaryWindow_draws_text(-1, pText, xy);
   if ( stru_505708[0].field_24 < dword_4E1884 )
   {
     if ( stru_505708[1].field_24 < dword_4E1884 )
--- a/GUIButton.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/GUIButton.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -10,8 +10,8 @@
 
 
 
-struct GUIButton *ptr_5064F4;
-struct GUIButton *ptr_5064F8;
+struct GUIButton *pBtn_CloseBook;
+struct GUIButton *pBtn_InstallRemoveSpell;
 struct GUIButton *pBtn_Autonotes_Instructors;
 struct GUIButton *pBtn_Autonotes_Misc;
 struct GUIButton *pBtn_Book_6;
@@ -24,39 +24,39 @@
 
 struct GUIButton *pPlayerCreationUI_BtnReset;
 struct GUIButton *pPlayerCreationUI_BtnOK;
-struct GUIButton *ptr_5076F4;
-struct GUIButton *ptr_5076FC;
+struct GUIButton *pBtn_ExitCancel;
+struct GUIButton *pBtn_YES;
 struct GUIButton *pPlayerCreationUI_BtnPlus;
 struct GUIButton *pPlayerCreationUI_BtnMinus;
 
 
-struct GUIButton *pButton_RestUI_507634;
+struct GUIButton *pButton_RestUI_Main;
 struct GUIButton *pButton_RestUI_Exit;
 struct GUIButton *pButton_RestUI_Wait5Minutes;
 struct GUIButton *pButton_RestUI_WaitUntilDawn;
 struct GUIButton *pButton_RestUI_Wait1Hour;
 
 
-struct GUIButton *ptr_50767C;
+struct GUIButton *pCharacterScreen_ExitBtn;
 struct GUIButton *pCharacterScreen_AwardsBtn;
 struct GUIButton *pCharacterScreen_InventoryBtn;
 struct GUIButton *pCharacterScreen_SkillsBtn;
 struct GUIButton *pCharacterScreen_StatsBtn;
-struct GUIButton *ptr_507690;
-struct GUIButton *ptr_507694;
+struct GUIButton *pCharacterScreen_DollBtn;
+struct GUIButton *pCharacterScreen_DetalizBtn;
 
 
-struct GUIButton *ptr_5079E8;
-struct GUIButton *ptr_5079EC;
-struct GUIButton *ptr_5079F0;
-struct GUIButton *ptr_5079F4;
-struct GUIButton *ptr_5079F8;
-struct GUIButton *ptr_5079FC;
-struct GUIButton *ptr_507A00;
-struct GUIButton *dword_507A04;
-struct GUIButton *ptr_507A08;
-struct GUIButton *ptr_507A0C;
-struct GUIButton *ptr_507A10;
+struct GUIButton *pBtn_NPCRight;
+struct GUIButton *pBtn_NPCLeft;
+struct GUIButton *pBtn_GameSettings;
+struct GUIButton *pBtn_QuickReference;
+struct GUIButton *pBtn_CastSpell;
+struct GUIButton *pBtn_Rest;
+struct GUIButton *pBtn_History;
+struct GUIButton *pBtn_Calendar;
+struct GUIButton *pBtn_Maps;
+struct GUIButton *pBtn_Autonotes;
+struct GUIButton *pBtn_Quests;
 
 
 struct GUIButton *pMainMenu_BtnExit;
@@ -65,33 +65,35 @@
 struct GUIButton *pMainMenu_BtnNew;
 
 
-struct GUIButton *ptr_507B9C;
-struct GUIButton *ptr_507BA0;
+struct GUIButton *pBtn_Up;
+struct GUIButton *pBtn_Down;
 struct GUIButton *ptr_507BA4;
 
 
-struct GUIWindow *pGUIWindow0;
-struct GUIWindow *ptr_507BB8;
+struct GUIWindow *pPrimaryWindow;
+struct GUIWindow *pChestWindow;
 struct GUIWindow *pDialogueWindow;
 struct GUIWindow *ptr_507BC0;
-struct GUIWindow *ptr_507BC4;
+struct GUIWindow *pGUIWindow_ScrollWindow;
 struct GUIWindow *ptr_507BC8;
 struct GUIWindow *pGUIWindow_CurrentMenu;
 struct GUIWindow *ptr_507BD0;
 struct GUIWindow *pGUIWindow_Settings;
 struct GUIWindow *ptr_507BDC;
-struct GUIWindow *ptr_507BE0;
+struct GUIWindow *pGUIWindow_EscMessageWindow;
+struct GUIWindow *pBooksWindow;
 struct GUIWindow *pGUIWindow2;
 
 
-struct GUIButton *ptr_50C9B0;
-struct GUIButton *ptr_50C9B4;
-struct GUIButton *pyt_50C9B8;
-struct GUIButton *ptr_50C9BC;
-struct GUIButton *ptr_50C9C0;
-struct GUIButton *ptr_50C9C4;
-struct GUIButton *ptr_50C9C8;
-struct GUIButton *ptr_50C9CC;
+struct GUIButton *pBtn_Resume;
+struct GUIButton *pBtn_QuitGame;
+struct GUIButton *pBtn_GameControls;
+struct GUIButton *pBtn_LoadGame;
+struct GUIButton *pBtn_SaveGame;
+struct GUIButton *pBtn_NewGame;
+
+struct GUIButton *pBtn_SliderRight;
+struct GUIButton *pBtn_SliderLeft;
 
 
 struct GUIButton *ptr_69BD58;
--- a/GUIButton.h	Wed Dec 12 20:11:16 2012 +0600
+++ b/GUIButton.h	Wed Dec 12 20:11:41 2012 +0600
@@ -36,8 +36,8 @@
 
 
 
-extern struct GUIButton *ptr_5064F4;
-extern struct GUIButton *ptr_5064F8;
+extern struct GUIButton *pBtn_CloseBook;
+extern struct GUIButton *pBtn_InstallRemoveSpell;
 extern struct GUIButton *pBtn_Autonotes_Instructors;
 extern struct GUIButton *pBtn_Autonotes_Misc;
 extern struct GUIButton *pBtn_Book_6;
@@ -50,39 +50,39 @@
 
 extern struct GUIButton *pPlayerCreationUI_BtnReset;
 extern struct GUIButton *pPlayerCreationUI_BtnOK;
-extern struct GUIButton *ptr_5076F4;
-extern struct GUIButton *ptr_5076FC;
+extern struct GUIButton *pBtn_ExitCancel;
+extern struct GUIButton *pBtn_YES;
 extern struct GUIButton *pPlayerCreationUI_BtnPlus;
 extern struct GUIButton *pPlayerCreationUI_BtnMinus;
 
 
-extern struct GUIButton *pButton_RestUI_507634;
+extern struct GUIButton *pButton_RestUI_Main;
 extern struct GUIButton *pButton_RestUI_Exit;
 extern struct GUIButton *pButton_RestUI_Wait5Minutes;
 extern struct GUIButton *pButton_RestUI_WaitUntilDawn;
 extern struct GUIButton *pButton_RestUI_Wait1Hour;
 
 
-extern struct GUIButton *ptr_50767C;
+extern struct GUIButton *pCharacterScreen_ExitBtn;
 extern struct GUIButton *pCharacterScreen_AwardsBtn;
 extern struct GUIButton *pCharacterScreen_InventoryBtn;
 extern struct GUIButton *pCharacterScreen_SkillsBtn;
 extern struct GUIButton *pCharacterScreen_StatsBtn;
-extern struct GUIButton *ptr_507690;
-extern struct GUIButton *ptr_507694;
+extern struct GUIButton *pCharacterScreen_DollBtn;
+extern struct GUIButton *pCharacterScreen_DetalizBtn;
 
 
-extern struct GUIButton *ptr_5079E8;
-extern struct GUIButton *ptr_5079EC;
-extern struct GUIButton *ptr_5079F0;
-extern struct GUIButton *ptr_5079F4;
-extern struct GUIButton *ptr_5079F8;
-extern struct GUIButton *ptr_5079FC;
-extern struct GUIButton *ptr_507A00;
-extern struct GUIButton *dword_507A04;
-extern struct GUIButton *ptr_507A08;
-extern struct GUIButton *ptr_507A0C;
-extern struct GUIButton *ptr_507A10;
+extern struct GUIButton *pBtn_NPCRight;
+extern struct GUIButton *pBtn_NPCLeft;
+extern struct GUIButton *pBtn_GameSettings;
+extern struct GUIButton *pBtn_QuickReference;
+extern struct GUIButton *pBtn_CastSpell;
+extern struct GUIButton *pBtn_Rest;
+extern struct GUIButton *pBtn_History;
+extern struct GUIButton *pBtn_Calendar;
+extern struct GUIButton *pBtn_Maps;
+extern struct GUIButton *pBtn_Autonotes;
+extern struct GUIButton *pBtn_Quests;
 
 
 extern struct GUIButton *pMainMenu_BtnExit;
@@ -91,33 +91,35 @@
 extern struct GUIButton *pMainMenu_BtnNew;
 
 
-extern struct GUIButton *ptr_507B9C;
-extern struct GUIButton *ptr_507BA0;
+extern struct GUIButton *pBtn_Up;
+extern struct GUIButton *pBtn_Down;
 extern struct GUIButton *ptr_507BA4;
 
 
-extern struct GUIWindow *pGUIWindow0;
-extern struct GUIWindow *ptr_507BB8;
+extern struct GUIWindow *pPrimaryWindow;
+extern struct GUIWindow *pChestWindow;
 extern struct GUIWindow *pDialogueWindow;
 extern struct GUIWindow *ptr_507BC0;
-extern struct GUIWindow *ptr_507BC4;
+extern struct GUIWindow *pGUIWindow_ScrollWindow;
 extern struct GUIWindow *ptr_507BC8;
 extern struct GUIWindow *pGUIWindow_CurrentMenu;
 extern struct GUIWindow *ptr_507BD0;
 extern struct GUIWindow *pGUIWindow_Settings;
 extern struct GUIWindow *ptr_507BDC;
-extern struct GUIWindow *ptr_507BE0;
+extern struct GUIWindow *pGUIWindow_EscMessageWindow;
+extern struct GUIWindow *pBooksWindow;
 extern struct GUIWindow *pGUIWindow2;
 
 
-extern struct GUIButton *ptr_50C9B0;
-extern struct GUIButton *ptr_50C9B4;
-extern struct GUIButton *pyt_50C9B8;
-extern struct GUIButton *ptr_50C9BC;
-extern struct GUIButton *ptr_50C9C0;
-extern struct GUIButton *ptr_50C9C4;
-extern struct GUIButton *ptr_50C9C8;
-extern struct GUIButton *ptr_50C9CC;
+extern struct GUIButton *pBtn_Resume;
+extern struct GUIButton *pBtn_QuitGame;
+extern struct GUIButton *pBtn_GameControls;
+extern struct GUIButton *pBtn_LoadGame;
+extern struct GUIButton *pBtn_SaveGame;
+extern struct GUIButton *pBtn_NewGame;
+
+extern struct GUIButton *pBtn_SliderRight;
+extern struct GUIButton *pBtn_SliderLeft;
 
 
 extern struct GUIButton *ptr_69BD58;
--- a/GUIWindow.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/GUIWindow.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -109,9 +109,9 @@
   v2->uFrameZ = v6 + v2->uFrameX - 1;
   v2->uFrameW = v2->uFrameY + v7 - 1;
   v2->DrawMessageBox(0);
-  v2->DrawText2(pFontArrus, 0, 0xCu, 0, pGlobalTXT_LocalizationStrings[451], 3u);
+  v2->DrawTitleText(pFontArrus, 0, 0xCu, 0, pGlobalTXT_LocalizationStrings[451], 3u);
   if ( !v19 )
-    v2->DrawText2(v1, 0, 0x28u, 0, pGlobalTXT_LocalizationStrings[153], 3u);
+    v2->DrawTitleText(v1, 0, 0x28u, 0, pGlobalTXT_LocalizationStrings[153], 3u);
   v20 = 0;
   GetTickCount();
   v8 = &_4E2B21_buff_spell_tooltip_colors[1];
@@ -1088,7 +1088,7 @@
   if ( v17 )
   {
     v18 = pFontLucida->CalcTextHeight(v17, &v19, 0, 0);
-    v19.DrawText2(pFontLucida, 0, (signed int)(v16 - v18) / 2 - 14, 0, v17, 3u);
+    v19.DrawTitleText(pFontLucida, 0, (signed int)(v16 - v18) / 2 - 14, 0, v17, 3u);
   }
 }
 
@@ -1250,7 +1250,7 @@
     0,
     "",
     0);
-  ptr_5064F8 = v2->CreateButton(
+  pBtn_InstallRemoveSpell = v2->CreateButton(
                  0x1DCu,
                  0x1C2u,
                  0x30u,
@@ -1288,7 +1288,7 @@
              pGlobalTXT_LocalizationStrings[79],
              ptr_506440,
              0);
-  ptr_5064F4 = result;
+  pBtn_CloseBook = result;
   return result;
 }
 // 50640C: using guessed type int dword_50640C[];
@@ -1342,7 +1342,7 @@
       v3 = 2 * LOBYTE(pFontCreate->uFontHeight) - 6 - pFontCreate->CalcTextHeight(v2, &w, 0, 0);
       if ( v3 < 0 )
         v3 = 0;
-      v18.DrawText2(
+      v18.DrawTitleText(
         pFontCreate,
         0x1EAu,
         v3 / 2 + 4,
@@ -1413,7 +1413,7 @@
         v11 = v19;
         v10 = 113;
 LABEL_56:
-        v18.DrawText2(pFontCreate, 0x1E3u, v10, v11, v13, v15);
+        v18.DrawTitleText(pFontCreate, 0x1E3u, v10, v11, v13, v15);
         goto LABEL_57;
       }
       v15 = 3;
@@ -1448,7 +1448,7 @@
       p2DEvents[(unsigned int)ptr_507BC0->ptr_1C - 1].pProprieterName,
       //p2DEvents_minus1__10[13 * (unsigned int)ptr_507BC0->ptr_1C]);
       p2DEvents[(unsigned int)ptr_507BC0->ptr_1C - 1].pProprieterTitle);
-    v18.DrawText2(pFontCreate, 0x1E3u, 0x71u, v19, pTmpBuf, 3u);
+    v18.DrawTitleText(pFontCreate, 0x1E3u, 0x71u, v19, pTmpBuf, 3u);
     if ( dword_F8B198 <= 18 )
     {
       switch ( dword_F8B198 )
@@ -1605,13 +1605,13 @@
   }
   v12 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
   v13 = pFontArrus->CalcTextHeight(pTmpBuf, v15, 0, 0);
-  return v15->DrawText2(pFontArrus, 0, (212 - v13) / 2 + 101, v12, pTmpBuf, 3u);
+  return v15->DrawTitleText(pFontArrus, 0, (212 - v13) / 2 + 101, v12, pTmpBuf, 3u);
 }
 
 
 
 //----- (0044D406) --------------------------------------------------------
-char *GUIWindow::DrawText2(GUIFont *a2, unsigned int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing)
+char *GUIWindow::DrawTitleText(GUIFont *a2, unsigned int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing)
 {
   GUIWindow *pWindow; // esi@1
   unsigned int v8; // ebx@1
@@ -2140,7 +2140,7 @@
         case WINDOW_A:
           dword_506978 = pCurrentScreen;
           pCurrentScreen = 4;
-          ptr_5076F4 = pWindow->CreateButton(
+          pBtn_ExitCancel = pWindow->CreateButton(
                          0x1D7u,
                          0x1BDu,
                          0xA9u,
@@ -2337,7 +2337,7 @@
         case WINDOW_11:
           dword_506978 = pCurrentScreen;
           pCurrentScreen = 17;
-          ptr_5076F4 = pWindow->CreateButton(
+          pBtn_ExitCancel = pWindow->CreateButton(
                          0x236u,
                          0x1BDu,
                          0x4Bu,
@@ -2350,7 +2350,7 @@
                          pGlobalTXT_LocalizationStrings[156],
                          (Texture *)(uTextureID_BUTTDESC2 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTDESC2] : 0),
                          0);
-          ptr_5076FC = pWindow->CreateButton(
+          pBtn_YES = pWindow->CreateButton(
                          0x1E6u,
                          0x1BDu,
                          0x4Bu,
@@ -2402,7 +2402,7 @@
   if (eWindowType == WINDOW_HouseInterior)
   {
     pCurrentScreen = 13;
-    ptr_5076F4 = pWindow->CreateButton(
+    pBtn_ExitCancel = pWindow->CreateButton(
                    0x1D7u,
                    0x1BDu,
                    0xA9u,
@@ -2469,7 +2469,7 @@
     {
       dword_506978 = pCurrentScreen;
       pCurrentScreen = 18;
-      ptr_5076F4 = pWindow->CreateButton(
+      pBtn_ExitCancel = pWindow->CreateButton(
                      0x236u,
                      0x1BDu,
                      0x4Bu,
@@ -2482,7 +2482,7 @@
                      pGlobalTXT_LocalizationStrings[34],
                      (Texture *)(uTextureID_BUTTDESC2 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTDESC2] : 0),
                      0);
-      ptr_5076FC = pWindow->CreateButton(
+      pBtn_YES = pWindow->CreateButton(
                      0x1E6u,
                      0x1BDu,
                      0x4Bu,
@@ -2523,7 +2523,7 @@
     if (eWindowType == WINDOW_1F)
     {
       pMouse->SetCursorBitmap("MICON2");
-      ptr_5076F4 = pWindow->CreateButton(
+      pBtn_ExitCancel = pWindow->CreateButton(
                      0x188u,
                      0x13Eu,
                      0x4Bu,
--- a/GUIWindow.h	Wed Dec 12 20:11:16 2012 +0600
+++ b/GUIWindow.h	Wed Dec 12 20:11:41 2012 +0600
@@ -63,7 +63,7 @@
   void DrawFlashingInputCursor(signed int a3, int a4, struct GUIFont *a2);
   int DrawTextInRect(GUIFont *a2, unsigned int uX, unsigned int uY, unsigned int uColor, const char *Str1, int Source, int a8);
   char DrawText(GUIFont *a2, signed int uX, int uY, unsigned int uFontColor, const char *Str, int a7, int a8, unsigned int uFontShadowColor);
-  char *DrawText2(GUIFont *a2, unsigned int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing);
+  char *DrawTitleText(GUIFont *a2, unsigned int uHorizontalMargin, unsigned int uVerticalMargin, unsigned __int16 uDefaultColor, const char *pInString, unsigned int uLineSpacing);
   char *_4B1854(__int64 a2);
   void _4B3157();
   GUIButton *_411621();
--- a/mm7_1.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/mm7_1.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -1353,9 +1353,9 @@
     v1 = uGameUIFontShadow;
     v2 = sub_44100D() != 0 ? 381 : 322;
     sprintf(pTmpBuf, "\r087%lu", pParty->uNumFoodRations);
-    pGUIWindow0->DrawText(pFontSmallnum, 0, v2, v0, pTmpBuf, 0, 0, v1);
+    pPrimaryWindow->DrawText(pFontSmallnum, 0, v2, v0, pTmpBuf, 0, 0, v1);
     sprintf(pTmpBuf, "\r028%lu", pParty->uNumGold);
-    pGUIWindow0->DrawText(pFontSmallnum, 0, v2, v0, pTmpBuf, 0, 0, v1);
+    pPrimaryWindow->DrawText(pFontSmallnum, 0, v2, v0, pTmpBuf, 0, 0, v1);
   }
 }
 
@@ -1757,25 +1757,25 @@
   uTextureID_BUTTMAKE = pIcons_LOD->LoadTexture("BUTTMAKE", TEXTURE_16BIT_PALETTE);
   uTextureID_BUTTMAKE2 = pIcons_LOD->LoadTexture("BUTTMAKE2", TEXTURE_16BIT_PALETTE);
 
-  pGUIWindow0 = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0);
-  pGUIWindow0->CreateButton(7u, 8u, 0x1CCu, 0x157u, 1, 0, 0xAu, 0, 0, "", 0);
-  pGUIWindow0->CreateButton(0x3Du, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 1u, 0x31u, "", 0);
-  pGUIWindow0->CreateButton(0xB1u, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 2u, 0x32u, "", 0);
-  pGUIWindow0->CreateButton(0x124u, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 3u, 0x33u, "", 0);
-  pGUIWindow0->CreateButton(0x197u, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 4u, 0x34u, "", 0);
-  pGUIWindow0->CreateButton(0x18u, 0x194u, 5u, 0x31u, 1, 93, 0, 1u, 0, "", 0);
-  pGUIWindow0->CreateButton(0x8Bu, 0x194u, 5u, 0x31u, 1, 93, 0, 2u, 0, "", 0);
-  pGUIWindow0->CreateButton(0xFFu, 0x194u, 5u, 0x31u, 1, 93, 0, 3u, 0, "", 0);
-  pGUIWindow0->CreateButton(0x172u, 0x194u, 5u, 0x31u, 1, 93, 0, 4u, 0, "", 0);
-  pGUIWindow0->CreateButton(0x61u, 0x194u, 5u, 0x31u, 1, 93, 0, 1u, 0, "", 0);
-  pGUIWindow0->CreateButton(0xD4u, 0x194u, 5u, 0x31u, 1, 93, 0, 2u, 0, "", 0);
-  pGUIWindow0->CreateButton(0x148u, 0x194u, 5u, 0x31u, 1, 93, 0, 3u, 0, "", 0);
-  pGUIWindow0->CreateButton(0x1BBu, 0x194u, 5u, 0x31u, 1, 93, 0, 4u, 0, "", 0);
+  pPrimaryWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0);
+  pPrimaryWindow->CreateButton(7u, 8u, 0x1CCu, 0x157u, 1, 0, 0xAu, 0, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x3Du, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 1u, 0x31u, "", 0);
+  pPrimaryWindow->CreateButton(0xB1u, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 2u, 0x32u, "", 0);
+  pPrimaryWindow->CreateButton(0x124u, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 3u, 0x33u, "", 0);
+  pPrimaryWindow->CreateButton(0x197u, 0x1A8u, 0x1Fu, 0x28u, 2, 94, 0x6Eu, 4u, 0x34u, "", 0);
+  pPrimaryWindow->CreateButton(0x18u, 0x194u, 5u, 0x31u, 1, 93, 0, 1u, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x8Bu, 0x194u, 5u, 0x31u, 1, 93, 0, 2u, 0, "", 0);
+  pPrimaryWindow->CreateButton(0xFFu, 0x194u, 5u, 0x31u, 1, 93, 0, 3u, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x172u, 0x194u, 5u, 0x31u, 1, 93, 0, 4u, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x61u, 0x194u, 5u, 0x31u, 1, 93, 0, 1u, 0, "", 0);
+  pPrimaryWindow->CreateButton(0xD4u, 0x194u, 5u, 0x31u, 1, 93, 0, 2u, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x148u, 0x194u, 5u, 0x31u, 1, 93, 0, 3u, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x1BBu, 0x194u, 5u, 0x31u, 1, 93, 0, 4u, 0, "", 0);
   uTextureID_ib_td1_A = pIcons_LOD->LoadTexture("ib-td1-A", TEXTURE_16BIT_PALETTE);
   v6 = (Texture *)(uTextureID_ib_td1_A != -1 ? &pIcons_LOD->pTextures[uTextureID_ib_td1_A] : 0);
   v7 = pGlobalTXT_LocalizationStrings[174];
   v8 = pKeyActionMap->GetActionVKey(INPUT_Quest);
-  ptr_507A10 = pGUIWindow0->CreateButton(
+  pBtn_Quests = pPrimaryWindow->CreateButton(
                  0x1EBu,
                  0x161u,
                  v6->uTextureWidth,
@@ -1791,7 +1791,7 @@
   v10 = (Texture *)(uTextureID_ib_td2_A != -1 ? &pIcons_LOD->pTextures[uTextureID_ib_td2_A] : 0);
   v11 = pGlobalTXT_LocalizationStrings[154];
   v12 = pKeyActionMap->GetActionVKey(INPUT_Autonotes);
-  ptr_507A0C = pGUIWindow0->CreateButton(
+  pBtn_Autonotes = pPrimaryWindow->CreateButton(
                  0x20Fu,
                  0x161u,
                  v10->uTextureWidth,
@@ -1807,7 +1807,7 @@
   v15 = (Texture *)(v14 != -1 ? (int)&pIcons_LOD->pTextures[v14] : 0);
   v16 = pGlobalTXT_LocalizationStrings[139];
   v17 = pKeyActionMap->GetActionVKey(INPUT_Mapbook);
-  ptr_507A08 = pGUIWindow0->CreateButton(
+  pBtn_Maps = pPrimaryWindow->CreateButton(
                  0x222u,
                  0x161u,
                  v15->uTextureWidth,
@@ -1823,7 +1823,7 @@
   v20 = (Texture *)(uTextureID_ib_td4_A != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ib_td4_A] : 0);
   v21 = pGlobalTXT_LocalizationStrings[78];
   v22 = pKeyActionMap->GetActionVKey(INPUT_TimeCal);
-  dword_507A04 = pGUIWindow0->CreateButton(
+  pBtn_Calendar = pPrimaryWindow->CreateButton(
                    0x23Au,
                    0x161u,
                    v20->uTextureWidth,
@@ -1836,7 +1836,7 @@
                    v21,
                    v20);
   uTextureID_ib_td5_A = pIcons_LOD->LoadTexture("ib-td5-A", TEXTURE_16BIT_PALETTE);
-  ptr_507A00 = pGUIWindow0->CreateButton(
+  pBtn_History = pPrimaryWindow->CreateButton(
                  0x258u,
                  0x169u,
                  (uTextureID_ib_td5_A != -1 ? pIcons_LOD->pTextures[uTextureID_ib_td5_A].uTextureWidth : 24),
@@ -1857,7 +1857,7 @@
   v27 = pGlobalTXT_LocalizationStrings[252];
   bFlashQuestBook = 0;
   v28 = pKeyActionMap->GetActionVKey(INPUT_ZoomIn);
-  dword_507A18 = pGUIWindow0->CreateButton(
+  dword_507A18 = pPrimaryWindow->CreateButton(
                    0x23Eu,
                    0x88u,
                    v25->uTextureWidth,
@@ -1875,7 +1875,7 @@
   v31 = (Texture *)(uTextureID_507984 != -1 ? (int)v29 : 0);
   v32 = pGlobalTXT_LocalizationStrings[251];
   v33 = pKeyActionMap->GetActionVKey(INPUT_ZoomOut);
-  dword_507A14 = pGUIWindow0->CreateButton(
+  dword_507A14 = pPrimaryWindow->CreateButton(
                    0x207u,
                    0x88u,
                    v30->uTextureWidth,
@@ -1888,12 +1888,12 @@
                    v32,
                    v31,
                    0);
-  pGUIWindow0->CreateButton(0x1E1u, 0, 0x99u, 0x43u, 1, 92, 0, 0, 0, "", 0);
-  pGUIWindow0->CreateButton(0x1EBu, 0x95u, 0x40u, 0x4Au, 1, 0, 0x86u, 0, 0x35u, "", 0);
-  pGUIWindow0->CreateButton(0x231u, 0x95u, 0x40u, 0x4Au, 1, 0, 0x87u, 0, 0x36u, "", 0);
-  pGUIWindow0->CreateButton(0x1DCu, 0x142u, 0x4Du, 0x11u, 1, 100, 0, 0, 0, "", 0);
-  pGUIWindow0->CreateButton(0x22Bu, 0x142u, 0x4Du, 0x11u, 1, 101, 0, 0, 0, "", 0);
-  ptr_5079F8 = pGUIWindow0->CreateButton(
+  pPrimaryWindow->CreateButton(0x1E1u, 0, 0x99u, 0x43u, 1, 92, 0, 0, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x1EBu, 0x95u, 0x40u, 0x4Au, 1, 0, 0x86u, 0, 0x35u, "", 0);
+  pPrimaryWindow->CreateButton(0x231u, 0x95u, 0x40u, 0x4Au, 1, 0, 0x87u, 0, 0x36u, "", 0);
+  pPrimaryWindow->CreateButton(0x1DCu, 0x142u, 0x4Du, 0x11u, 1, 100, 0, 0, 0, "", 0);
+  pPrimaryWindow->CreateButton(0x22Bu, 0x142u, 0x4Du, 0x11u, 1, 101, 0, 0, 0, "", 0);
+  pBtn_CastSpell = pPrimaryWindow->CreateButton(
                  0x1DCu,
                  0x1C2u,
                  (uTextureID_50797C != -1 ? pIcons_LOD->pTextures[uTextureID_50797C].uTextureWidth : 24),
@@ -1906,7 +1906,7 @@
                  pGlobalTXT_LocalizationStrings[38],
                  (Texture *)(uTextureID_50797C != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_50797C] : 0),
                  0);
-  ptr_5079FC = pGUIWindow0->CreateButton(
+  pBtn_Rest = pPrimaryWindow->CreateButton(
                  0x206u,
                  0x1C2u,
                  (uTextureID_507978 != -1 ? pIcons_LOD->pTextures[uTextureID_507978].uTextureWidth : 24),
@@ -1919,7 +1919,7 @@
                  pGlobalTXT_LocalizationStrings[182],
                  (Texture *)(uTextureID_507978 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507978] : 0),
                  0);
-  ptr_5079F4 = pGUIWindow0->CreateButton(
+  pBtn_QuickReference = pPrimaryWindow->CreateButton(
                  0x230u,
                  0x1C2u,
                  (dword_507974 != -1 ? pIcons_LOD->pTextures[dword_507974].uTextureWidth : 24),
@@ -1932,7 +1932,7 @@
                  pGlobalTXT_LocalizationStrings[173],
                  (Texture *)(dword_507974 != -1 ? &pIcons_LOD->pTextures[dword_507974] : 0),
                  0);
-  ptr_5079F0 = pGUIWindow0->CreateButton(
+  pBtn_GameSettings = pPrimaryWindow->CreateButton(
                  0x25Au,
                  0x1C2u,
                  (uTextureID_507970 != -1 ? pIcons_LOD->pTextures[uTextureID_507970].uTextureWidth : 24),
@@ -1945,7 +1945,7 @@
                  pGlobalTXT_LocalizationStrings[93],
                  (Texture *)(uTextureID_507970 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507970] : 0),
                  0);
-  ptr_5079EC = pGUIWindow0->CreateButton(
+  pBtn_NPCLeft = pPrimaryWindow->CreateButton(
                  0x1D5u,
                  0xB2u,
                  (uTextureID_507990 != -1 ? pIcons_LOD->pTextures[uTextureID_507990].uTextureWidth : 24),
@@ -1958,7 +1958,7 @@
                  "",
                  (Texture *)(uTextureID_507990 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507990] : 0),
                  0);
-  ptr_5079E8 = pGUIWindow0->CreateButton(
+  pBtn_NPCRight = pPrimaryWindow->CreateButton(
                  0x272u,
                  0xB2u,
                  (uTextureID_50798C != -1 ? pIcons_LOD->pTextures[uTextureID_50798C].uTextureWidth : 24),
@@ -2003,7 +2003,7 @@
   v3 = v1;
   v4 = v0;
   v5 = pFontLucida->AlignText_Center(0x1C2u, v1);
-  pGUIWindow0->DrawText(pFontLucida, v5 + 11, 357, v4, v3, 0, 0, v2);
+  pPrimaryWindow->DrawText(pFontLucida, v5 + 11, 357, v4, v3, 0, 0, v2);
 }
 
 //----- (0041C0B8) --------------------------------------------------------
@@ -2086,7 +2086,7 @@
     {
       v10 = uGameUIFontMain;
       v11 = pFontLucida->AlignText_Center(v3, v1);
-      pGUIWindow0->DrawText(pFontLucida, v11 + 11, 357, v10, v1, 0, 0, v0);
+      pPrimaryWindow->DrawText(pFontLucida, v11 + 11, 357, v10, v1, 0, 0, v0);
     }
   }
 }
@@ -2613,7 +2613,7 @@
         v16 = _this->GetIdentifiedName();
       else
         v16 = (const char *)*((int *)v76 + 2);
-      v79.DrawText2(pFontArrus, 0, 0xCu, var88, v16, 3u);
+      v79.DrawTitleText(pFontArrus, 0, 0xCu, var88, v16, 3u);
       v17 = pFontArrus->CalcTextHeight(pGlobalTXT_LocalizationStrings[32], &v79, 0, 0);
       v57 = 3;
       v52 = pGlobalTXT_LocalizationStrings[32];
@@ -2636,14 +2636,14 @@
         v79.uFrameX + v78,
         v81 + v79.uFrameY + 30,
         (Texture *)(v5 != -1 ? (int)((char *)pIcons_LOD->pTextures + v75) : 0));
-      v79.DrawText2(pFontArrus, 0, 0xCu, var88, *((const char **)v76 + 2), 3u);
+      v79.DrawTitleText(pFontArrus, 0, 0xCu, var88, *((const char **)v76 + 2), 3u);
       v17 = pFontArrus->CalcTextHeight(pGlobalTXT_LocalizationStrings[232], &v79, 0, 0);
       v57 = 3;
       v52 = pGlobalTXT_LocalizationStrings[232];
 LABEL_37:
       v18 = v17 >> 1;
       v19 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0x19u, 0x19u);
-      v79.DrawText2(pFontArrus, 0x64u, ((signed int)v79.uFrameHeight >> 1) - v18, v19, v52, v57);
+      v79.DrawTitleText(pFontArrus, 0x64u, ((signed int)v79.uFrameHeight >> 1) - v18, v19, v52, v57);
       goto LABEL_116;
     }
     sprintf(a1, pGlobalTXT_LocalizationStrings[463], *((int *)v3 + 2));
@@ -2779,7 +2779,7 @@
       v79.uFrameX += 12;
       v79.uFrameWidth -= 24;
       v36 = _this->GetIdentifiedName();
-      v79.DrawText2(pFontArrus, 0, 0xCu, var88, v36, 3u);
+      v79.DrawTitleText(pFontArrus, 0, 0xCu, var88, v36, 3u);
       v79.uFrameWidth += 24;
       v79.uFrameX -= 12;
       if ( v77 )
@@ -3301,7 +3301,7 @@
   strncpy(pTmpBuf, v72, v77);
 LABEL_59:
   v39 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  a1->DrawText2(pFontComic, 0, 0xCu, v39, pTmpBuf, 3u);
+  a1->DrawTitleText(pFontComic, 0, 0xCu, v39, pTmpBuf, 3u);
   Actor::DrawHealthBar(v121, a1);
   v119 = 0;
   pMonsterInfoUI_Doll.uCurrentActionTime += pMiscTimer->uTimeElapsed;
@@ -3718,7 +3718,7 @@
   {
     sprintf(pTmpBuf, "%s: %d", pGlobalTXT_LocalizationStrings[650], v121->sCurrentHP);
     pFontSmallnum->GetLineWidth(pTmpBuf);
-    result = a1->DrawText2(
+    result = a1->DrawTitleText(
                pFontSmallnum,
                0,
                a1->uFrameHeight - LOBYTE(pFontSmallnum->uFontHeight) - 12,
@@ -3804,7 +3804,7 @@
   }
   pEventTimer->Pause();
   if ( dword_506F14 != 2 )
-    GUIWindow::Create(518u, 450u, 0, 0, (enum WindowType)90, (int)ptr_5079FC, 0);
+    GUIWindow::Create(518u, 450u, 0, 0, (enum WindowType)90, (int)pBtn_Rest, 0);
   _506F18_num_hours_to_sleep = 0;
   dword_506F14 = 0;
   uRestUI_FoodRequiredToRest = 2;
@@ -3861,7 +3861,7 @@
                           "",
                           (Texture *)(uTextureID_RestUI_restexit != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_RestUI_restexit] : 0),
                           0);
-  pButton_RestUI_507634 = pGUIWindow_CurrentMenu->CreateButton(
+  pButton_RestUI_Main = pGUIWindow_CurrentMenu->CreateButton(
                             24u,
                             154u,
                             225u,
@@ -4186,7 +4186,7 @@
     v22 = 0;
     if ( v5 > 0 )
     {
-      while ( !Chest::CanPlaceItemAt(v22, v4->uItemID, (unsigned int)ptr_507BB8->ptr_1C) )
+      while ( !Chest::CanPlaceItemAt(v22, v4->uItemID, (unsigned int)pChestWindow->ptr_1C) )
       {
         ++v22;
         if ( v22 >= v5 )
@@ -4423,13 +4423,9 @@
     v1 = pRenderer->pActiveZBuffer[v0->x + pSRZBufferLineOffsets[pMouse->GetCursorPos(&v3)->y]];
     if ( v1 )
     {
-      auto _w = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4
-                                             + 2662 * (unsigned int)ptr_507BB8->ptr_1C
-                                             + 18
-                                             * *((short *)&pChests[0].mm7__vector_pItems[139].uExpireTime
-                                               + v1
-                                               + 2662 * (unsigned int)ptr_507BB8->ptr_1C
-                                               + 3));
+      auto _w = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)pChestWindow->ptr_1C
+                                             + 18 * *((short *)&pChests[0].mm7__vector_pItems[139].uExpireTime
+                                               + v1 + 2662 * (unsigned int)pChestWindow->ptr_1C + 3));
       v2 = _w->GetDisplayName();
       sub_41C0B8_set_status_string(v2);
     }
@@ -4635,8 +4631,8 @@
   dword_507CD8 = 0;
   v3 = GUIWindow::Create(0, 0, 640u, 480u, WINDOW_Chest, a4, 0);
   pGUIWindow_CurrentMenu = v3;
-  ptr_507BB8 = v3;
-  ptr_5076F4 = v3->CreateButton(
+  pChestWindow = v3;
+  pBtn_ExitCancel = v3->CreateButton(
                  0x1D7u,
                  0x1BDu,
                  0xA9u,
@@ -4649,7 +4645,7 @@
                  pGlobalTXT_LocalizationStrings[79],// Exit
                  (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0),
                  0);
-  ptr_507BB8->CreateButton(7u, 8u, 460u, 343u, 1, 0, 0xCu, 0, 0, "", 0);
+  pChestWindow->CreateButton(7u, 8u, 460u, 343u, 1, 0, 0xCu, 0, 0, "", 0);
   pCurrentScreen = 10;
   pEventTimer->Pause();
   return 1;
@@ -4734,8 +4730,8 @@
     while ( v23 < v21 * v19 );
   }
   pRenderer->DrawTextureIndexed(
-    ptr_5076F4->uX,
-    ptr_5076F4->uY,
+    pBtn_ExitCancel->uX,
+    pBtn_ExitCancel->uY,
     (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0));
 }
 
@@ -4765,7 +4761,7 @@
   int v22; // [sp+1Ch] [bp-4h]@8
 
   v19 = a2;
-  v2 = ptr_507BB8->ptr_1C;
+  v2 = pChestWindow->ptr_1C;
   v20 = v2;
   v2 = (void *)(5324 * (int)v2);
   v3 = (ItemGen *)((char *)v2 + 36 * a1 + (int)((char *)pChests + 4));
@@ -5423,7 +5419,7 @@
                                  (Texture *)(papredoll_dbrds[4] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbrds[4]] : 0),
                                  papredoll_dbrds[3] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbrds[3]] : 0,
                                  0);
-  ptr_50767C = v2->CreateButton(
+  pCharacterScreen_ExitBtn = v2->CreateButton(
                  pViewport->uViewportX + 371,
                  pViewport->uViewportY + 308,
                  (papredoll_dbrds[1] != -1 ? pIcons_LOD->pTextures[papredoll_dbrds[1]].uTextureWidth : 24),
@@ -5438,7 +5434,7 @@
                  papredoll_dbrds[1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbrds[1]] : 0,
                  0);
   v2->CreateButton(0, 0, 0x1DCu, 0x159u, 1, 122, 0x78u, 0, 0, "", 0);
-  ptr_507694 = v2->CreateButton(
+  pCharacterScreen_DetalizBtn = v2->CreateButton(
                  0x258u,
                  0x12Cu,
                  0x1Eu,
@@ -5450,7 +5446,7 @@
                  0,
                  pGlobalTXT_LocalizationStrings[64],
                  0);
-  ptr_507690 = v2->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, 0x85u, 0, 0, "", 0);
+  pCharacterScreen_DollBtn = v2->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, 0x85u, 0, 0, "", 0);
   v2->CreateButton(0x3Du, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 1u, 0x31u, "", 0);
   v2->CreateButton(0xB1u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 2u, 0x32u, "", 0);
   v2->CreateButton(0x124u, 0x1A8u, 0x1Fu, 0, 2, 94, 0x6Eu, 3u, 0x33u, "", 0);
@@ -5476,7 +5472,7 @@
   CharacterUI_LoadPaperdollTextures();
   pCurrentScreen = 23;
   v2 = GUIWindow::Create(0, 0, 640, 480, (WindowType)(WINDOW_HouseInterior|WINDOW_Options), v1, 0);
-  ptr_50767C = v2->CreateButton(
+  pCharacterScreen_ExitBtn = v2->CreateButton(
                  394u,
                  318u,
                  75u,
@@ -5491,7 +5487,7 @@
                  papredoll_dbrds[1] != -1 ? (int)&pIcons_LOD->pTextures[papredoll_dbrds[1]] : 0,
                  0);
   v2->CreateButton(0, 0, 0x1DCu, 0x159u, 1, 122, 0x78u, 0, 0, "", 0);
-  ptr_507690 = v2->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, 0x85u, 0, 0, "", 0);
+  pCharacterScreen_DollBtn = v2->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, 0x85u, 0, 0, "", 0);
   v2->CreateButton(61u, 424u, 0x1Fu, 0, 2, 94, 0x6Eu, 1u, 0x31u, "", 0);
   v2->CreateButton(177u, 424u, 0x1Fu, 0, 2, 94, 0x6Eu, 2u, 0x32u, "", 0);
   v2->CreateButton(292u, 424u, 0x1Fu, 0, 2, 94, 0x6Eu, 3u, 0x33u, "", 0);
--- a/mm7_2.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/mm7_2.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -72,7 +72,7 @@
   v5.uFrameZ = 334;
   v2 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
   v3 = pFontArrus->CalcTextHeight(v0, &v5, 0, 0);
-  return v5.DrawText2(pFontArrus, 0, (310 - v3) / 2 + 18, v2, v1, 3u);
+  return v5.DrawTitleText(pFontArrus, 0, (310 - v3) / 2 + 18, v2, v1, 3u);
 }
 
 
@@ -147,7 +147,7 @@
   v28 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu);
   v30 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
   sprintf(pTmpBuf, "%s: %d", pGlobalTXT_LocalizationStrings[605], pParty->uFine);
-  _this.DrawText2(pFontArrus, 0, 0x104u, v30, pTmpBuf, 3u);
+  _this.DrawTitleText(pFontArrus, 0, 0x104u, v30, pTmpBuf, 3u);
   if ( dword_F8B19C == 1 )
   {
     v11 = 1;
@@ -189,7 +189,7 @@
         v24 = v30;
         if ( pDialogueWindow->pCurrentPosActiveItem != v31 )
           v24 = v28;
-        _this.DrawText2(pFontArrus, 0, v23, v24, *v19, 3u);
+        _this.DrawTitleText(pFontArrus, 0, v23, v24, *v19, 3u);
         v14 = pDialogueWindow;
         ++v31;
         ++v19;
@@ -208,8 +208,8 @@
       if ( ptr_507BC0->field_40 == 1 )
       {
         sprintf(pTmpBuf, "%s\n%s", pGlobalTXT_LocalizationStrings[606], pGlobalTXT_LocalizationStrings[112]);
-        _this.DrawText2(pFontArrus, 0, 0x92u, v30, pTmpBuf, 3u);
-        _this.DrawText2(pFontArrus, 0, 0xBAu, v28, (const char *)pKeyActionMap->pPressedKeysBuffer, 3u);
+        _this.DrawTitleText(pFontArrus, 0, 0x92u, v30, pTmpBuf, 3u);
+        _this.DrawTitleText(pFontArrus, 0, 0xBAu, v28, (const char *)pKeyActionMap->pPressedKeysBuffer, 3u);
         v3 = pFontArrus;
         v4 = pFontArrus->GetLineWidth((const char *)pKeyActionMap->pPressedKeysBuffer);
         _this.DrawFlashingInputCursor(v4 / 2 + 80, 185, v3);
@@ -312,7 +312,7 @@
   *(int *)v13 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0xFFu);
   *(int *)v14 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
   sprintf(pTmpBuf, "%s: %d", pGlobalTXT_LocalizationStrings[25], pParty->uNumGoldInBank);
-  _this.DrawText2(pFontArrus, 0, 0xDCu, v14[0], pTmpBuf, 3u);
+  _this.DrawTitleText(pFontArrus, 0, 0xDCu, v14[0], pTmpBuf, 3u);
   if ( dword_F8B19C != 1 )
   {
     if ( dword_F8B19C == 7 )
@@ -396,8 +396,8 @@
       v10 = pGlobalTXT_LocalizationStrings[244];
     }
     sprintf(pTmpBuf, "%s\n%s", v10, v11);
-    _this.DrawText2(pFontArrus, 0, 0x92u, v14[0], pTmpBuf, 3u);
-    _this.DrawText2(pFontArrus, 0, 0xBAu, v13[0], (const char *)pKeyActionMap->pPressedKeysBuffer, 3u);
+    _this.DrawTitleText(pFontArrus, 0, 0x92u, v14[0], pTmpBuf, 3u);
+    _this.DrawTitleText(pFontArrus, 0, 0xBAu, v13[0], (const char *)pKeyActionMap->pPressedKeysBuffer, 3u);
     v4 = pFontArrus;
     v5 = pFontArrus->GetLineWidth((const char *)pKeyActionMap->pPressedKeysBuffer);
     _this.DrawFlashingInputCursor(v5 / 2 + 80, 185, v4);
@@ -406,11 +406,11 @@
   v8 = v14[0];
   if ( pDialogueWindow->pCurrentPosActiveItem != 2 )
     v8 = v13[0];
-  _this.DrawText2(pFontArrus, 0, 0x92u, v8, pGlobalTXT_LocalizationStrings[60], 3u);
+  _this.DrawTitleText(pFontArrus, 0, 0x92u, v8, pGlobalTXT_LocalizationStrings[60], 3u);
   v9 = v14[0];
   if ( pDialogueWindow->pCurrentPosActiveItem != 3 )
     v9 = v13[0];
-  _this.DrawText2(pFontArrus, 0, 0xB0u, v9, pGlobalTXT_LocalizationStrings[244], 3u);
+  _this.DrawTitleText(pFontArrus, 0, 0xB0u, v9, pGlobalTXT_LocalizationStrings[244], 3u);
 }
 // F8B19C: using guessed type int dword_F8B19C;
 
@@ -683,7 +683,7 @@
             if ( v86 )
             {
               sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], pOutString);
-              v79.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+              v79.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
               pOutString = (GUIFont *)((149 - v89) / v86);
               if ( (149 - v89) / v86 > 32 )
                 pOutString = (GUIFont *)32;
@@ -719,7 +719,7 @@
                     v23 = v84[0];
                     if ( pDialogueWindow->pCurrentPosActiveItem != v21 )
                       v23 = v81;
-                    v79.DrawText2(pFontArrus, 0, v20, v23, Str[1], 3u);
+                    v79.DrawTitleText(pFontArrus, 0, v20, v23, Str[1], 3u);
                   }
                   v24 = v8->pNumPresenceButton;
                   ++v89;
@@ -823,7 +823,7 @@
       v67 = 0;
       v66 = 146;
 LABEL_98:
-      v79.DrawText2(pFontArrus, 0, v66, v67, v69, v71);
+      v79.DrawTitleText(pFontArrus, 0, v66, v67, v69, v71);
       return;
     }
     while ( 1 )
@@ -914,7 +914,7 @@
         v60 = v84[0];
         if ( (Player *)pDialogueWindow->pCurrentPosActiveItem != v59 )
           v60 = v81;
-        v79.DrawText2(pFontArrus, 0, v58, v60, *(const char **)&pOutString->cFirstChar, 3u);
+        v79.DrawTitleText(pFontArrus, 0, v58, v60, *(const char **)&pOutString->cFirstChar, 3u);
         v51 = pDialogueWindow;
         v85 = (Player *)((char *)v85 + 1);
         pOutString = (GUIFont *)((char *)pOutString + 4);
@@ -1170,7 +1170,7 @@
           v76 = v104;
           if ( (Player *)pDialogueWindow->pCurrentPosActiveItem != v75 )
             v76 = v105;
-          v101.DrawText2(pFontArrus, 0, v74, v76, *(const char **)v108, 3u);
+          v101.DrawTitleText(pFontArrus, 0, v74, v76, *(const char **)v108, 3u);
           v68 = pDialogueWindow;
           _this = (Player *)((char *)_this + 1);
           v108 += 4;
@@ -1231,7 +1231,7 @@
             goto LABEL_15;
           }
           sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v108);
-          v101.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+          v101.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
           v108 = (149 - v106.y) / (signed int)v109;
           if ( (149 - v106.y) / (signed int)v109 > 32 )
             v108 = 32;
@@ -1268,7 +1268,7 @@
                 v46 = v104;
                 if ( (const char **)pDialogueWindow->pCurrentPosActiveItem != v44 )
                   v46 = v105;
-                v101.DrawText2(pFontArrus, 0, v43, v46, Str, 3u);
+                v101.DrawTitleText(pFontArrus, 0, v43, v46, Str, 3u);
               }
               v47 = v30->pStartingPosActiveItem;
               ++v106.y;
@@ -1371,7 +1371,7 @@
             v26 = v104;
             if ( pDialogueWindow->pCurrentPosActiveItem != v25 )
               v26 = v105;
-            v101.DrawText2(pFontArrus, 0, v24, v26, *v109, 3u);
+            v101.DrawTitleText(pFontArrus, 0, v24, v26, *v109, 3u);
             v17 = pDialogueWindow;
             ++v108;
             ++v109;
@@ -1472,7 +1472,7 @@
                   v77 = &v101;
 LABEL_15:
                   v8 = pFontArrus->CalcTextHeight(v7, v77, v78, v80);
-                  return v101.DrawText2(pFontArrus, v3, (174 - v8) / 2 + 138, v82, v84, v86);
+                  return v101.DrawTitleText(pFontArrus, v3, (174 - v8) / 2 + 138, v82, v84, v86);
                 }
               }
             }
@@ -1788,7 +1788,7 @@
           v83 = v106;
           if ( (Player *)pDialogueWindow->pCurrentPosActiveItem != v82 )
             v83 = v108;
-          v104.DrawText2(pFontArrus, 0, v81, v83, *v111, 3u);
+          v104.DrawTitleText(pFontArrus, 0, v81, v83, *v111, 3u);
           v75 = pDialogueWindow;
           _this = (Player *)((char *)_this + 1);
           ++v111;
@@ -1912,7 +1912,7 @@
             v35 = v106;
             if ( (Player *)pDialogueWindow->pCurrentPosActiveItem != v33 )
               v35 = v108;
-            v104.DrawText2(pFontArrus, 0, v32, v35, *v111, 3u);
+            v104.DrawTitleText(pFontArrus, 0, v32, v35, *v111, 3u);
             v25 = pDialogueWindow;
             _this = (Player *)((char *)_this + 1);
             ++v111;
@@ -1958,7 +1958,7 @@
           if ( v114 )
           {
             sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v111);
-            v104.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+            v104.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
             v111 = (const char **)((signed int)(149 - v112) / v114);
             if ( (signed int)(149 - v112) / v114 > 32 )
               v111 = (const char **)32;
@@ -1995,7 +1995,7 @@
                   v19 = v106;
                   if ( pDialogueWindow->pCurrentPosActiveItem != v17 )
                     v19 = v108;
-                  v104.DrawText2(pFontArrus, 0, v16, v19, Str, 3u);
+                  v104.DrawTitleText(pFontArrus, 0, v16, v19, Str, 3u);
                 }
                 v20 = v2->pStartingPosActiveItem;
                 ++v112;
@@ -2019,7 +2019,7 @@
         v84 = &v104;
 LABEL_46:
         v40 = pFontArrus->CalcTextHeight(v21, v84, v85, v86);
-        return (POINT *)v104.DrawText2(pFontArrus, v3, (174 - v40) / 2 + 138, v88, v90, v92);
+        return (POINT *)v104.DrawTitleText(pFontArrus, v3, (174 - v40) / 2 + 138, v88, v90, v92);
       }
     }
     pRenderer->DrawTextureIndexed(8u, 8u, dword_F8B164);
@@ -2433,7 +2433,7 @@
           v101 = v100;
           v102 = v148;
           v103 = pFontArrus->CalcTextHeight(v100, &v144, 0, 0);
-          v144.DrawText2(pFontArrus, 0, (174 - v103) / 2 + 138, v102, v101, 3u);
+          v144.DrawTitleText(pFontArrus, 0, (174 - v103) / 2 + 138, v102, v101, 3u);
         }
         v104 = 0;
         v153 = 0;
@@ -2511,7 +2511,7 @@
           v92 = v147;
           if ( pDialogueWindow->pCurrentPosActiveItem != v91 )
             v92 = v148;
-          v144.DrawText2(pFontArrus, 0, v90, v92, *v79, 3u);
+          v144.DrawTitleText(pFontArrus, 0, v90, v92, *v79, 3u);
           v83 = pDialogueWindow;
           ++v153;
           ++v79;
@@ -2552,7 +2552,7 @@
         if ( v153 )
         {
           sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], _this);
-          v144.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+          v144.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
           _this = (Player *)((149 - v152) / v153);
           if ( (149 - v152) / v153 > 32 )
             _this = (Player *)32;
@@ -2588,7 +2588,7 @@
                 v52 = v147;
                 if ( pDialogueWindow->pCurrentPosActiveItem != v50 )
                   v52 = v148;
-                v144.DrawText2(pFontArrus, 0, v49, v52, Str, 3u);
+                v144.DrawTitleText(pFontArrus, 0, v49, v52, Str, 3u);
               }
               v53 = v37->pStartingPosActiveItem;
               ++v152;
@@ -2615,7 +2615,7 @@
       v115 = (174 - pFontArrus->CalcTextHeight(v36, v111, v113, v117)) / 2 + 138;
       v112 = (unsigned int)v11;
 LABEL_14:
-      v144.DrawText2(pFontArrus, v112, v115, v119, v121, v123);
+      v144.DrawTitleText(pFontArrus, v112, v115, v119, v121, v123);
       return;
     }
 LABEL_64:
@@ -2841,7 +2841,7 @@
           v30 = v147;
           if ( (Player *)pDialogueWindow->pCurrentPosActiveItem != v29 )
             v30 = v148;
-          v144.DrawText2(pFontArrus, 0, v28, v30, *v16, 3u);
+          v144.DrawTitleText(pFontArrus, 0, v28, v30, *v16, 3u);
           v20 = pDialogueWindow;
           _this = (Player *)((char *)_this + 1);
           ++v16;
@@ -3150,7 +3150,7 @@
   uDialogueType = 83;
   pDialogueWindow->Release();
   pDialogueWindow = GUIWindow::Create(0, 0, 640, 350, WINDOW_MainMenu, 0, 0);
-  ptr_5076F4 = pDialogueWindow->CreateButton(
+  pBtn_ExitCancel = pDialogueWindow->CreateButton(
                  471u,
                  445u,
                  169u,
@@ -3303,7 +3303,7 @@
     pDialogueWindow->pControlsHead = 0;
     pDialogueWindow->pControlsTail = 0;
     pDialogueWindow->uNumControls = 0;
-    ptr_5076F4 = pDialogueWindow->CreateButton(
+    pBtn_ExitCancel = pDialogueWindow->CreateButton(
                    0x1D7u,
                    0x1BDu,
                    0xA9u,
@@ -3696,7 +3696,7 @@
 {
   pDialogueWindow->Release();
   pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x159u, WINDOW_MainMenu, 0, 0);
-  ptr_5076F4 = pDialogueWindow->CreateButton(
+  pBtn_ExitCancel = pDialogueWindow->CreateButton(
                  0x1D7u,
                  0x1BDu,
                  0xA9u,
@@ -3812,7 +3812,7 @@
 LABEL_9:
     pDialogueWindow->Release();
     pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x159u, WINDOW_MainMenu, v1, v1);
-    ptr_5076F4 = pDialogueWindow->CreateButton(
+    pBtn_ExitCancel = pDialogueWindow->CreateButton(
                    526,
                    445,
                    75,
@@ -4406,7 +4406,7 @@
     if ( uNumDialogueNPCPortraits != 1 )
     {
       v2 = 0;
-      ptr_5076F4 = ptr_507BC0->pControlsHead;
+      pBtn_ExitCancel = ptr_507BC0->pControlsHead;
       if ( uNumDialogueNPCPortraits > 0 )
       {
         v3 = byte_591180;
@@ -5149,7 +5149,7 @@
   if ( !v19 )
     v19 = 1;
   pRenderer->BeginScene();
-  pWindow.DrawText2(pFont, 1u, 0x23u, 1u, pGlobalTXT_LocalizationStrings[9], 3u);
+  pWindow.DrawTitleText(pFont, 1u, 0x23u, 1u, pGlobalTXT_LocalizationStrings[9], 3u);
   v3 = pParty->pPlayers[0].pName;
   v23 = 0i64;
   v20 = 0;
@@ -5158,7 +5158,7 @@
     v4 = pClassNames[(unsigned __int8)v3[17]];
     v5 = ((Player *)(v3 - 168))->GetBaseLevel();
     sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[129], i, v5, v4);
-    pWindow.DrawText2(
+    pWindow.DrawTitleText(
       pFont,
       1u,
       v20 * (LOBYTE(pFont->uFontHeight) - 2) + LOBYTE(pFont->uFontHeight) + 46,
@@ -5173,7 +5173,7 @@
   }
   v23 = (signed __int64)v23 / v19;
   v6 = FitTextInAWindow(pInString, pFont, &pWindow, 0xCu, 0);
-  pWindow.DrawText2(pFont, 1u, 5 * (LOBYTE(pFont->uFontHeight) + 11), 1u, v6, 0);
+  pWindow.DrawTitleText(pFont, 1u, 5 * (LOBYTE(pFont->uFontHeight) + 11), 1u, v6, 0);
   strcpy(pTmpBuf, pGlobalTXT_LocalizationStrings[37]);
   v7 = pGlobalTXT_LocalizationStrings[56];
   if ( v17 != 1 )
@@ -5186,9 +5186,9 @@
     v9 = pGlobalTXT_LocalizationStrings[132];
   sprintf(pTmpBuf2, " %lu %s, %lu %s, %lu %s ", v14, v9, v18, v8, v17, v7);
   strcat(pTmpBuf, pTmpBuf2);
-  pWindow.DrawText2(pFont, 1u, pWindow.uFrameHeight - 2 * LOBYTE(pFont->uFontHeight) - 5, 1u, pTmpBuf, 3u);
+  pWindow.DrawTitleText(pFont, 1u, pWindow.uFrameHeight - 2 * LOBYTE(pFont->uFontHeight) - 5, 1u, pTmpBuf, 3u);
   sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[94], v23);
-  pWindow.DrawText2(pFont, 1u, pWindow.uFrameHeight, 1u, pTmpBuf, 3u);
+  pWindow.DrawTitleText(pFont, 1u, pWindow.uFrameHeight, 1u, pTmpBuf, 3u);
   BYTE1(dword_6BE364_game_settings_1) |= 0x40u;
   pRenderer->EndScene();
   pRenderer->Present();
@@ -11486,7 +11486,7 @@
       v6 = uLoadGameUI_SelectedSlot;
     }
     pMapID = pMapStats->GetMapInfo(pSavegameHeader[v6].pLocationName);
-    pWindow.DrawText2(pFontSmallnum, 0, 0, 0, pMapStats->pInfos[pMapID].pName, 3);
+    pWindow.DrawTitleText(pFontSmallnum, 0, 0, 0, pMapStats->pInfos[pMapID].pName, 3);
     v8 = (signed __int64)(pSavegameHeader[uLoadGameUI_SelectedSlot].uWordTime * 0.234375) / 60;
     HIDWORD(v32) = (unsigned __int64)((signed __int64)(pSavegameHeader[uLoadGameUI_SelectedSlot].uWordTime * 0.234375) / 60) >> 32;
     v9 = v8;
@@ -11532,7 +11532,7 @@
     auto _m = aMonthNames[v33];
     sprintf(pTmpBuf, "%s %d:%02d%s\n%d %s %d", _d, v17, (int)32, _a, 3, _m, pFilesID);
     sprintf(pTmpBuf, "%s %d:%02d%s\n%d %s %d", _d, v17, (int)v32, _a, 7 * v16 + HIDWORD(v15) % 7 + 1, _m, pFilesID);
-    pWindow.DrawText2(pFontSmallnum, 0, 0, 0, pTmpBuf, 3u);
+    pWindow.DrawTitleText(pFontSmallnum, 0, 0, 0, pTmpBuf, 3u);
     v1 = 255;
   }
   if ( pGUIWindow_CurrentMenu->field_40 == 2 )
@@ -15017,12 +15017,12 @@
   signed int v1; // esi@1
 
   v1 = a1;
-  if ( !ptr_507BC4 && a1 >= 700 )
+  if ( !pGUIWindow_ScrollWindow && a1 >= 700 )
   {
     if ( a1 <= 782 )
     {
       uTextureID_720980 = pIcons_LOD->LoadTexture("leather", TEXTURE_16BIT_PALETTE);
-      ptr_507BC4 = GUIWindow::Create(0, 0, 640, 480, (enum WindowType)30, v1 - 700, 0);
+      pGUIWindow_ScrollWindow = GUIWindow::Create(0, 0, 640, 480, (enum WindowType)30, v1 - 700, 0);
     }
   }
 }
@@ -15031,10 +15031,10 @@
 //----- (00467F9F) --------------------------------------------------------
 void __cdecl free_book_subwindow()
 {
-  if ( ptr_507BC4 )
-  {
-    ptr_507BC4->Release();
-    ptr_507BC4 = 0;
+  if ( pGUIWindow_ScrollWindow )
+  {
+    pGUIWindow_ScrollWindow->Release();
+    pGUIWindow_ScrollWindow = 0;
   }
 }
 
@@ -15046,12 +15046,12 @@
   unsigned int v2; // eax@3
   GUIWindow a1; // [sp+Ch] [bp-54h]@1
 
-  memcpy(&a1, ptr_507BC4, sizeof(a1));
+  memcpy(&a1, pGUIWindow_ScrollWindow, sizeof(a1));
   a1.Hint = 0;
   a1.uFrameX = 1;
   a1.uFrameY = 1;
   a1.uFrameWidth = 468;
-  v0 = pFontSmallnum->CalcTextHeight(pScrolls[(unsigned int)ptr_507BC4->ptr_1C], &a1, 0, 0)
+  v0 = pFontSmallnum->CalcTextHeight(pScrolls[(unsigned int)pGUIWindow_ScrollWindow->ptr_1C], &a1, 0, 0)
      + 2 * LOBYTE(pFontCreate->uFontHeight)
      + 24;
   a1.uFrameHeight = v0;
@@ -15069,16 +15069,16 @@
   a1.uFrameHeight -= 12;
   a1.uFrameZ = a1.uFrameWidth + a1.uFrameX - 1;
   a1.uFrameW = a1.uFrameHeight + a1.uFrameY - 1;
-  v1 = pItemsTable->pItems[(unsigned int)ptr_507BC4->ptr_1C + 700].pName;
+  v1 = pItemsTable->pItems[(unsigned int)pGUIWindow_ScrollWindow->ptr_1C + 700].pName;
   v2 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
   sprintf(pTmpBuf, format_4E2D80, v2, v1);
-  a1.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
+  a1.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
   return a1.DrawText(
            pFontSmallnum,
            1,
            LOBYTE(pFontCreate->uFontHeight) - 3,
            0,
-           pScrolls[(unsigned int)ptr_507BC4->ptr_1C],
+           pScrolls[(unsigned int)pGUIWindow_ScrollWindow->ptr_1C],
            0,
            0,
            0);
--- a/mm7_3.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/mm7_3.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -15785,7 +15785,7 @@
   unsigned int v10; // [sp+64h] [bp-8h]@1
   int a3; // [sp+6Bh] [bp-1h]@11
 
-  memcpy(&v8, pGUIWindow0, sizeof(v8));
+  memcpy(&v8, pPrimaryWindow, sizeof(v8));
   v10 = pMapStats->GetMapInfo(pCurrentMapName);
   v9 = IndoorLocation::GetLocationIndex(dword_591164_teleport_map_name);
   pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background);
@@ -15813,7 +15813,7 @@
   v8.uFrameX = 493;
   v8.uFrameWidth = 126;
   v8.uFrameZ = 366;
-  v8.DrawText2(pFontCreate, 0, 5u, 0, v0->pName, 3u);
+  v8.DrawTitleText(pFontCreate, 0, 5u, 0, v0->pName, 3u);
   v8.uFrameX = 483;
   v8.uFrameWidth = 148;
   v8.uFrameZ = 334;
@@ -15841,7 +15841,7 @@
   v6 = v1;
   v5 = 0;
   v4 = (212 - pFontCreate->CalcTextHeight(v1, &v8, 0, 0)) / 2 + 101;
-  result = v8.DrawText2(pFontCreate, 0, v4, v5, v6, v7);
+  result = v8.DrawTitleText(pFontCreate, 0, v4, v5, v6, v7);
   dword_5B5924 = 1;
   return result;
 }
@@ -15917,7 +15917,7 @@
   char pDestinationMapName[32]; // [sp+60h] [bp-24h]@1
   unsigned int v9; // [sp+80h] [bp-4h]@1
 
-  memcpy(&v7, pGUIWindow0, sizeof(v7));
+  memcpy(&v7, pPrimaryWindow, sizeof(v7));
   v9 = pMapStats->GetMapInfo(pCurrentMapName);
   pOutdoor->GetTravelDestination(pParty->vPosition.x, pParty->vPosition.y, pDestinationMapName, 20);
   v0 = pMapStats->GetMapInfo(pDestinationMapName);
@@ -15936,7 +15936,7 @@
     v7.uFrameWidth = 126;
     v2 = v1->pName;
     v7.uFrameZ = 366;
-    v7.DrawText2(pFontCreate, 0, 4u, 0, v2, 3u);
+    v7.DrawTitleText(pFontCreate, 0, 4u, 0, v2, 3u);
     v7.uFrameX = 483;
     v7.uFrameWidth = 148;
     v7.uFrameZ = 334;
@@ -15956,7 +15956,7 @@
     sprintf(pTmpBuf2, pGlobalTXT_LocalizationStrings[126], pMapStats->pInfos[v9].pName);
     strcat(pTmpBuf, pTmpBuf2);
     v4 = pFontCreate->CalcTextHeight(pTmpBuf, &v7, 0, 0);
-    v7.DrawText2(pFontCreate, 0, (212 - v4) / 2 + 101, 0, pTmpBuf, 3u);
+    v7.DrawTitleText(pFontCreate, 0, (212 - v4) / 2 + 101, 0, pTmpBuf, 3u);
     dword_5B5924 = 1;
   }
 }
@@ -16181,7 +16181,7 @@
     strcpy(pTmpBuf, v0->pName);
     v4 = pTmpBuf;
   }
-  v51.DrawText2(pFontArrus, 0x1E3u, 0x70u, v2, v4, 3u);
+  v51.DrawTitleText(pFontArrus, 0x1E3u, 0x70u, v2, v4, 3u);
   pParty->GetPartyFame();
   if ( (signed int)uDialogueType > 89 )
   {
@@ -16494,7 +16494,7 @@
         v47 = v54[0];
         if ( (unsigned __int16 *)pDialogueWindow->pCurrentPosActiveItem != v46 )
           v47 = (unsigned __int16)pInString;
-        v52.DrawText2(pFontArrus, 0, v45, v47, Str, 3u);
+        v52.DrawTitleText(pFontArrus, 0, v45, v47, Str, 3u);
         v34 = pDialogueWindow;
         v55 = (unsigned __int16 *)((char *)v55 + 1);
         ++v41;
--- a/mm7_4.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/mm7_4.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -9136,13 +9136,13 @@
   a1.uFrameZ = a1.uFrameX + a1.uFrameWidth - 1;
   a1.uFrameW = a1.uFrameHeight + a1.uFrameY - 1;
   v8 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  a1.DrawText2(pFontArrus, 0x78u, 0xCu, v8, v7, 3u);
+  a1.DrawTitleText(pFontArrus, 0x78u, 0xCu, v8, v7, 3u);
   a1.DrawText(pFontSmallnum, 120, 44, 0, pTmpBuf2, 0, 0, 0);
   a1.uFrameZ = a1.uFrameX + 107;
   a1.uFrameWidth = 108;
-  a1.DrawText2(pFontComic, 0xCu, 0x4Bu, 0, pSkillNames[v11 / 4 + 12], 3u);
+  a1.DrawTitleText(pFontComic, 0xCu, 0x4Bu, 0, pSkillNames[v11 / 4 + 12], 3u);
   sprintf(pTmpBuf, "%s\n%d", pGlobalTXT_LocalizationStrings[522], *(&pSpellDatas[0].uNormalLevelMana + 10 * v1));
-  return a1.DrawText2(
+  return a1.DrawTitleText(
            pFontComic,
            0xCu,
            a1.uFrameHeight - LOBYTE(pFontComic->uFontHeight) - 16,
@@ -9170,7 +9170,7 @@
   else
   {
     pDialogueWindow->pNumPresenceButton = 0;
-    memcpy(&v4, pGUIWindow0, sizeof(v4));
+    memcpy(&v4, pPrimaryWindow, sizeof(v4));
     v4.uFrameX = 483;
     v4.uFrameWidth = 148;
     v4.uFrameZ = 334;
@@ -9179,7 +9179,7 @@
                                                 // "do anything"
     v2 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
     v3 = pFontArrus->CalcTextHeight(pTmpBuf, &v4, 0, 0);
-    v4.DrawText2(pFontArrus, 0, (212 - v3) / 2 + 101, v2, pTmpBuf, 3u);
+    v4.DrawTitleText(pFontArrus, 0, (212 - v3) / 2 + 101, v2, pTmpBuf, 3u);
     result = 0;
   }
   return result;
@@ -10236,7 +10236,7 @@
     a1.uFrameX = 493;
     a1.uFrameWidth = 126;
     a1.uFrameZ = 366;
-    a1.DrawText2(pFontCreate, 0, 2u, 0, v1, 3u);
+    a1.DrawTitleText(pFontCreate, 0, 2u, 0, v1, 3u);
     a1.uFrameX = 483;
     a1.uFrameWidth = 148;
     a1.uFrameZ = 334;
@@ -10248,7 +10248,7 @@
     }
     v3 = v2;
     v4 = pFontCreate->CalcTextHeight(v2, &a1, 0, 0);
-    LOBYTE(i) = (unsigned int)a1.DrawText2(pFontCreate, 0, (212 - v4) / 2 + 101, 0, v3, 3u);
+    LOBYTE(i) = (unsigned int)a1.DrawTitleText(pFontCreate, 0, (212 - v4) / 2 + 101, 0, v3, 3u);
     return i;
   }
   a1.uFrameWidth -= 10;
@@ -10262,7 +10262,7 @@
     sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[429], v6->pName, aNPCProfessionNames[v8]);
   else
     strcpy(pTmpBuf, v6->pName);
-  a1.DrawText2(pFontCreate, 0x1E3u, 0x71u, v7, pTmpBuf, 3u);
+  a1.DrawTitleText(pFontCreate, 0x1E3u, 0x71u, v7, pTmpBuf, 3u);
   if ( !dword_591080 )
   {
     if ( !uDialogueType )
@@ -10459,7 +10459,7 @@
         v46 = v55;
         if ( (char *)pDialogueWindow->pCurrentPosActiveItem != pInString )
           v46 = v54;
-        v52.DrawText2(pFontArrus, 0, v45, v46, v43, 3u);
+        v52.DrawTitleText(pFontArrus, 0, v45, v46, v43, 3u);
         v14 = pDialogueWindow;
         ++pInString;
         ++v56;
@@ -11217,7 +11217,7 @@
   sub_4B29F2(a4);
   pDialogueWindow->Release();
   pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x15E, WINDOW_MainMenu, v1, 0);
-  ptr_5076F4 = pDialogueWindow->CreateButton(
+  pBtn_ExitCancel = pDialogueWindow->CreateButton(
                  0x1D7,
                  0x1BD,
                  0xA9,
@@ -11261,7 +11261,7 @@
   pDialogueWindow->Release();
   pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x15Eu, WINDOW_MainMenu, v1, 0);
   v2 = "";
-  ptr_5076F4 = pDialogueWindow->CreateButton(
+  pBtn_ExitCancel = pDialogueWindow->CreateButton(
                  0x1D7u,
                  0x1BDu,
                  0xA9u,
@@ -11294,7 +11294,7 @@
   v1 = array_5913D8[(unsigned int)((char *)array_5913D8[6] + -(dword_591080 != 0) - 1)];
   pDialogueWindow->Release();
   pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x15Eu, WINDOW_MainMenu, 0, 0);
-  ptr_5076F4 = pDialogueWindow->CreateButton(
+  pBtn_ExitCancel = pDialogueWindow->CreateButton(
                  0x1D7u,
                  0x1BDu,
                  0xA9u,
@@ -11369,7 +11369,7 @@
     pDialogueWindow->Release();
     pDialogueWindow = GUIWindow::Create(0, 0, 640, 480, WINDOW_MainMenu, 0, 0);
     sprintf(byte_591098, pGlobalTXT_LocalizationStrings[411], pMapStats->pInfos[uHouse_ExitPic].pName);
-    ptr_5076F4 = pDialogueWindow->CreateButton(
+    pBtn_ExitCancel = pDialogueWindow->CreateButton(
                    0x236u,
                    0x1BDu,
                    0x4Bu,
@@ -11382,7 +11382,7 @@
                    pGlobalTXT_LocalizationStrings[34],// "Cancel"
                    (Texture *)(uTextureID_BUTTDESC2 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_BUTTDESC2] : 0),
                    0);
-    ptr_5076FC = pDialogueWindow->CreateButton(
+    pBtn_YES = pDialogueWindow->CreateButton(
                    486u,
                    445u,
                    75u,
@@ -11423,7 +11423,7 @@
     }
     v4 = 1;
     pDialogueWindow = GUIWindow::Create(0, 0, 640, 0x159u, WINDOW_MainMenu, 0, 0);
-    ptr_5076F4 = pDialogueWindow->CreateButton(
+    pBtn_ExitCancel = pDialogueWindow->CreateButton(
                    471u,
                    445u,
                    169u,
@@ -11597,7 +11597,7 @@
   v3 = a5;
   pRenderer->DrawTextureRGB(0, 0x160u, pTexture_StatusBar);
   v4 = pFontLucida->AlignText_Center(0x1C2u, v2);
-  return pGUIWindow0->DrawText(pFontLucida, v4 + 11, 357, v3, v2, 0, 0, 0);
+  return pPrimaryWindow->DrawText(pFontLucida, v4 + 11, 357, v3, v2, 0, 0, 0);
 }
 
 //----- (004B46F8) --------------------------------------------------------
@@ -11763,7 +11763,7 @@
             if ( v72 )
             {
               sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v73);// "Skill Cost: %lu"
-              v65.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+              v65.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
               v73 = (signed int)(149 - i) / v72;
               if ( v73 > 32 )
                 v73 = 32;
@@ -11799,7 +11799,7 @@
                     v27 = v71;
                     if ( pDialogueWindow->pCurrentPosActiveItem != v72 )
                       v27 = white;
-                    v65.DrawText2(pFontArrus, 0, v25, v27, (char *)HIDWORD(v66), 3u);
+                    v65.DrawTitleText(pFontArrus, 0, v25, v27, (char *)HIDWORD(v66), 3u);
                   }
                   v28 = v13->pStartingPosActiveItem;
                   ++i;
@@ -11818,7 +11818,7 @@
               strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);// "I can offer you nothing further."
               v29 = v71;
               v30 = pFontArrus->CalcTextHeight(pTmpBuf, &v65, 0, 0);
-              result = (int)v65.DrawText2(pFontArrus, 0, (174 - v30) / 2 + 138, v29, pTmpBuf, 3u);
+              result = (int)v65.DrawTitleText(pFontArrus, 0, (174 - v30) / 2 + 138, v29, pTmpBuf, 3u);
             }
           }
         }
@@ -11829,7 +11829,7 @@
         v31 = pNPCTopics[122].pText;
         v32 = v71;
         v33 = pFontArrus->CalcTextHeight(pNPCTopics[122].pText, &v65, 0, 0);
-        v65.DrawText2(pFontArrus, 0, (212 - v33) / 2 + 101, v32, v31, 3u);
+        v65.DrawTitleText(pFontArrus, 0, (212 - v33) / 2 + 101, v32, v31, 3u);
         result = (int)pDialogueWindow;
         pDialogueWindow->pNumPresenceButton = 0;
         return result;
@@ -11910,7 +11910,7 @@
         v58 = v71;
         v36 = (212 - pFontArrus->CalcTextHeight(pTmpBuf, &v65, 0, 0)) / 2 + 101;
       }
-      v65.DrawText2(pFontArrus, v35, v36, v58, v60, v62);
+      v65.DrawTitleText(pFontArrus, v35, v36, v58, v60, v62);
       v63 = 3;
       goto LABEL_55;
     }
@@ -11986,7 +11986,7 @@
           v57 = v71;
           if ( pDialogueWindow->pCurrentPosActiveItem != i )
             v57 = white;
-          v65.DrawText2(pFontArrus, 0, v55, v57, *v51, 3u);
+          v65.DrawTitleText(pFontArrus, 0, v55, v57, *v51, 3u);
           v43 = pDialogueWindow;
           ++i;
           ++v51;
@@ -12186,7 +12186,7 @@
           v87 = color2;
           if ( pDialogueWindow->pCurrentPosActiveItem != v86 )
             v87 = white;
-          v112.DrawText2(pFontArrus, 0, v85, v87, *v119, 3u);
+          v112.DrawTitleText(pFontArrus, 0, v85, v87, *v119, 3u);
           v79 = pDialogueWindow;
           ++v122;
           ++v119;
@@ -12248,7 +12248,7 @@
             goto LABEL_61;
           }
           sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v119);// "Skill Cost: %lu"
-          v112.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+          v112.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
           v119 = (const char **)((149 - v118) / v122);
           if ( (149 - v118) / v122 > 32 )
             v119 = (const char **)32;
@@ -12285,7 +12285,7 @@
                 v47 = color2;
                 if ( pDialogueWindow->pCurrentPosActiveItem != v45 )
                   v47 = white;
-                v112.DrawText2(pFontArrus, 0, v44, v47, Str, 3u);
+                v112.DrawTitleText(pFontArrus, 0, v44, v47, Str, 3u);
               }
               v48 = v31->pStartingPosActiveItem;
               ++v118;
@@ -12370,7 +12370,7 @@
             v26 = color2;
             if ( (const char **)pDialogueWindow->pCurrentPosActiveItem != v25 )
               v26 = white;
-            v112.DrawText2(pFontArrus, 0, v24, v26, (const char *)LODWORD(_this->pConditions[0]), 3u);
+            v112.DrawTitleText(pFontArrus, 0, v24, v26, (const char *)LODWORD(_this->pConditions[0]), 3u);
             v17 = pDialogueWindow;
             v119 = (const char **)((char *)v119 + 1);
             _this = (Player *)((char *)_this + 4);
@@ -12417,7 +12417,7 @@
                     v95 = v5;
                     v92 = white;
                     v6 = (212 - pFontArrus->CalcTextHeight(v5, &v112, 0, 0)) / 2 + 101;
-                    return (int)v112.DrawText2(pFontArrus, v3, v6, v92, v95, v97);
+                    return (int)v112.DrawTitleText(pFontArrus, v3, v6, v92, v95, v97);
                   }
                   v93 = ptr_507BC0->ptr_1C;
                   v90 = (ItemGen *)v4;
@@ -12465,7 +12465,7 @@
       v88 = &v112;
 LABEL_61:
       v6 = (174 - pFontArrus->CalcTextHeight(v30, v88, v89, v91)) / 2 + 138;
-      return (int)v112.DrawText2(pFontArrus, v3, v6, v92, v95, v97);
+      return (int)v112.DrawTitleText(pFontArrus, v3, v6, v92, v95, v97);
     }
   }
   pRenderer->DrawTextureIndexed(8u, 8u, dword_F8B164);
@@ -13214,7 +13214,7 @@
         v39 = &v52;
 LABEL_32:
         v19 = pFontArrus->CalcTextHeight(v18, v39, v40, v41);
-        return (int)v52.DrawText2(pFontArrus, v5, (174 - v19) / 2 + 138, v42, v43, v44);
+        return (int)v52.DrawTitleText(pFontArrus, v5, (174 - v19) / 2 + 138, v42, v43, v44);
       }
     }
     return result;
@@ -13226,7 +13226,7 @@
     v36 = pNPCTopics[121].pText;
     v37 = v57;
     v38 = pFontArrus->CalcTextHeight(pNPCTopics[121].pText, &v52, 0, 0);
-    v52.DrawText2(pFontArrus, 0, (212 - v38) / 2 + 101, v37, v36, 3u);
+    v52.DrawTitleText(pFontArrus, 0, (212 - v38) / 2 + 101, v37, v36, 3u);
     result = (int)pDialogueWindow;
     pDialogueWindow->pNumPresenceButton = 0;
     return result;
@@ -13290,7 +13290,7 @@
   if ( Str )
   {
     sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v63);
-    v52.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+    v52.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
   }
   v63 = (signed int)(149 - v62) / v61;
   if ( v63 > 32 )
@@ -13332,7 +13332,7 @@
         v34 = v57;
         if ( pDialogueWindow->pCurrentPosActiveItem != v61 )
           v34 = v56;
-        v52.DrawText2(pFontArrus, 0, v32, v34, Str, 3u);
+        v52.DrawTitleText(pFontArrus, 0, v32, v34, Str, 3u);
         goto LABEL_58;
       }
       v28->uW = 0;
@@ -13480,7 +13480,7 @@
             if ( v65 )
             {
               sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v64);
-              v57.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+              v57.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
               v64 = (149 - (signed int)v66) / (signed int)v65;
               if ( v64 > 32 )
                 v64 = 32;
@@ -13517,7 +13517,7 @@
                     v21 = WORD2(v59);
                     if ( (DDM_DLV_Header *)pDialogueWindow->pCurrentPosActiveItem != v66 )
                       v21 = WORD2(v58);
-                    v57.DrawText2(pFontArrus, 0, v19, v21, (const char *)HIDWORD(v60), 3u);
+                    v57.DrawTitleText(pFontArrus, 0, v19, v21, (const char *)HIDWORD(v60), 3u);
                   }
                   result = (int)v61;
                   ++v62;
@@ -13536,7 +13536,7 @@
               strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
               v22 = WORD2(v59);
               v23 = pFontArrus->CalcTextHeight(pTmpBuf, &v57, 0, 0);
-              result = (int)v57.DrawText2(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u);
+              result = (int)v57.DrawTitleText(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u);
             }
           }
         }
@@ -13732,7 +13732,7 @@
       v53 = WORD2(v59);
       if ( (GUIWindow *)pDialogueWindow->pCurrentPosActiveItem != v61 )
         v53 = WORD2(v58);
-      v57.DrawText2(pFontArrus, 0, v52, v53, (const char *)v66, 3u);
+      v57.DrawTitleText(pFontArrus, 0, v52, v53, (const char *)v66, 3u);
       v43 = pDialogueWindow;
       v66 = (DDM_DLV_Header *)((char *)v66 + 100);
       v61 = (GUIWindow *)((char *)v61 + 1);
@@ -13947,7 +13947,7 @@
     v24 = pNPCTopics[171].pText;
     v25 = v31;
     v26 = pFontArrus->CalcTextHeight(pNPCTopics[171].pText, &v28, 0, 0);
-    v28.DrawText2(pFontArrus, 0, (212 - v26) / 2 + 101, v25, v24, 3u);
+    v28.DrawTitleText(pFontArrus, 0, (212 - v26) / 2 + 101, v25, v24, 3u);
     result = (int)pDialogueWindow;
     pDialogueWindow->pNumPresenceButton = 0;
     return result;
@@ -13985,10 +13985,10 @@
     strcat(pTmpBuf, pGlobalTXT_LocalizationStrings[528]);
     v22 = v31;
     v23 = pFontArrus->CalcTextHeight(pTmpBuf, &v28, 0, 0);
-    return (int)v28.DrawText2(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u);
+    return (int)v28.DrawTitleText(pFontArrus, 0, (174 - v23) / 2 + 138, v22, pTmpBuf, 3u);
   }
   sprintf(pTmpBuf, pGlobalTXT_LocalizationStrings[401], v32);
-  v28.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+  v28.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
   v32 = (149 - v33) / v34;
   if ( (149 - v33) / v34 > 32 )
     v32 = 32;
@@ -14018,7 +14018,7 @@
           v21 = v31;
           if ( pDialogueWindow->pCurrentPosActiveItem != v33 )
             v21 = v30;
-          v28.DrawText2(pFontArrus, 0, v19, v21, v17, 3u);
+          v28.DrawTitleText(pFontArrus, 0, v19, v21, v17, 3u);
           goto LABEL_34;
         }
       }
@@ -14259,7 +14259,7 @@
         v44 = &v48;
         v43 = pTmpBuf2;
         sprintf(pTmpBuf, "%s\n \n%s%s%s%s%s", pTmpBuf2, &v48, &v49, &v50, &v51, &Dest);
-        v53.DrawText2(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
+        v53.DrawTitleText(pFontArrus, 0, 0x92u, 0, pTmpBuf, 3u);
       }
       else
       {
@@ -14268,7 +14268,7 @@
         v47[0] = pGlobalTXT_LocalizationStrings[561];
         v46 = *(char **)v57;
         v45 = (174 - pFontArrus->CalcTextHeight(pGlobalTXT_LocalizationStrings[561], &v53, 0, 0)) / 2 + 138;
-        v53.DrawText2(pFontArrus, 0, v45, (unsigned __int16)v46, v47[0], (unsigned int)v47[1]);
+        v53.DrawTitleText(pFontArrus, 0, v45, (unsigned __int16)v46, v47[0], (unsigned int)v47[1]);
         pAudioPlayer->StopChannels(-1, -1);
       }
     }
--- a/mm7_5.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/mm7_5.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -671,7 +671,7 @@
             0,
             v1,
             0);
-          ptr_50C9CC = pGUIWindow_CurrentMenu->CreateButton(
+          pBtn_SliderLeft = pGUIWindow_CurrentMenu->CreateButton(
                          243u,
                          162u,
                          16u,
@@ -684,7 +684,7 @@
                          v1,
                          &pIcons_LOD->pTextures[uTextureID_507C70],
                          0);
-          ptr_50C9C8 = pGUIWindow_CurrentMenu->CreateButton(
+          pBtn_SliderRight = pGUIWindow_CurrentMenu->CreateButton(
                          0x1B3u,
                          0xA2u,
                          0x10u,
@@ -698,7 +698,7 @@
                          &pIcons_LOD->pTextures[uTextureID_507C74],
                          0);
           pGUIWindow_CurrentMenu->CreateButton(0x107u, 0xA2u, 0xACu, 0x11u, v0, 0, 0x6Fu, 0, 0, v1, 0);
-          ptr_50C9CC = pGUIWindow_CurrentMenu->CreateButton(
+          pBtn_SliderLeft = pGUIWindow_CurrentMenu->CreateButton(
                          0xF3u,
                          0xD8u,
                          0x10u,
@@ -711,7 +711,7 @@
                          v1,
                          &pIcons_LOD->pTextures[uTextureID_507C70],
                          0);
-          ptr_50C9C8 = pGUIWindow_CurrentMenu->CreateButton(
+          pBtn_SliderRight = pGUIWindow_CurrentMenu->CreateButton(
                          0x1B3u,
                          0xD8u,
                          0x10u,
@@ -725,7 +725,7 @@
                          &pIcons_LOD->pTextures[uTextureID_507C74],
                          0);
           pGUIWindow_CurrentMenu->CreateButton(0x107u, 0xD8u, 0xACu, 0x11u, v0, 0, 0x70u, 0, 0, v1, 0);
-          ptr_50C9CC = pGUIWindow_CurrentMenu->CreateButton(
+          pBtn_SliderLeft = pGUIWindow_CurrentMenu->CreateButton(
                          0xF3u,
                          0x10Eu,
                          0x10u,
@@ -738,7 +738,7 @@
                          v1,
                          &pIcons_LOD->pTextures[uTextureID_507C70],
                          0);
-          ptr_50C9C8 = pGUIWindow_CurrentMenu->CreateButton(
+          pBtn_SliderRight = pGUIWindow_CurrentMenu->CreateButton(
                          0x1B3u,
                          0x10Eu,
                          0x10u,
@@ -907,7 +907,7 @@
             v0 = 1;
             if ( GammaController::IsGammaSupported() )
             {
-              ptr_50C9CC = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_SliderLeft = pGUIWindow_CurrentMenu->CreateButton(
                              0x15u,
                              0xA1u,
                              0x10u,
@@ -920,7 +920,7 @@
                              v1,
                              &pIcons_LOD->pTextures[uTextureID_507C20],
                              0);
-              ptr_50C9C8 = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_SliderRight = pGUIWindow_CurrentMenu->CreateButton(
                              0xD5u,
                              0xA1u,
                              0x10u,
@@ -972,7 +972,7 @@
             v19 = (double)(signed int)uGammaPos * 0.1 + 0.6;
             pGame->pGammaController->Initialize(v19);
             v166 = v0;
-            v152 = (int)ptr_50C9CC;
+            v152 = (int)pBtn_SliderLeft;
             v145 = (WindowType)90;
             v140 = 0;
             v136 = 0;
@@ -988,7 +988,7 @@
               pGame->pGammaController->Initialize(v21);
               v20 = 213;
               v166 = v0;
-              v152 = (int)ptr_50C9C8;
+              v152 = (int)pBtn_SliderRight;
               v145 = (WindowType)90;
               v140 = 0;
               v136 = 0;
@@ -1031,7 +1031,7 @@
               uMusicVolimeMultiplier = 0;
             v167 = v0;
             v23 = 243;
-            v153 = (int)ptr_50C9CC;
+            v153 = (int)pBtn_SliderLeft;
 LABEL_136:
             GUIWindow::Create(v23, 0xD8u, 0, 0, (enum WindowType)90, v153, v167);
             goto LABEL_143;
@@ -1043,7 +1043,7 @@
               uMusicVolimeMultiplier = 9;
             v167 = v0;
             v23 = 435;
-            v153 = (int)ptr_50C9C8;
+            v153 = (int)pBtn_SliderRight;
             goto LABEL_136;
           }
           uMusicVolimeMultiplier = (pMouse->GetCursorPos(&v202)->x - 263) / 17;
@@ -1071,7 +1071,7 @@
               uSoundVolumeMultiplier = 0;
             v168 = v0;
             v24 = 243;
-            v154 = (int)ptr_50C9CC;
+            v154 = (int)pBtn_SliderLeft;
 LABEL_150:
             GUIWindow::Create(v24, 0xA2u, 0, 0, (enum WindowType)90, v154, v168);
             goto LABEL_157;
@@ -1083,7 +1083,7 @@
               uSoundVolumeMultiplier = 9;
             v168 = v0;
             v24 = 435;
-            v154 = (int)ptr_50C9C8;
+            v154 = (int)pBtn_SliderRight;
             goto LABEL_150;
           }
           uSoundVolumeMultiplier = (pMouse->GetCursorPos(&v207)->x - 263) / 17;
@@ -1121,7 +1121,7 @@
               uVoicesVolumeMultiplier = 0;
             v169 = v0;
             v25 = 243;
-            v155 = (int)ptr_50C9CC;
+            v155 = (int)pBtn_SliderLeft;
 LABEL_166:
             GUIWindow::Create(v25, 0x10Eu, 0, 0, (enum WindowType)90, v155, v169);
             goto LABEL_173;
@@ -1133,7 +1133,7 @@
               uVoicesVolumeMultiplier = 9;
             v169 = v0;
             v25 = 435;
-            v155 = (int)ptr_50C9C8;
+            v155 = (int)pBtn_SliderRight;
             goto LABEL_166;
           }
           uVoicesVolumeMultiplier = (pMouse->GetCursorPos(&v205)->x - 263) / 17;
@@ -1192,7 +1192,7 @@
           pEventTimer->Pause();
           pAudioPlayer->StopChannels(-1, -1);
           pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640u, 480u, WINDOW_Book, uMessage, 0);
-          ptr_507BE0 = GUIWindow::Create(493u, 355u, 0, 0, (enum WindowType)99, (int)ptr_507A10, 0);
+          pBooksWindow = GUIWindow::Create(493u, 355u, 0, 0, (enum WindowType)99, (int)pBtn_Quests, 0);
           bFlashQuestBook = 0;
           goto _continue;
         case UIMSG_OpenAutonotes:
@@ -1203,7 +1203,7 @@
           pEventTimer->Pause();
           pAudioPlayer->StopChannels(-1, -1);
           pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640u, 480u, WINDOW_Book, uMessage, 0);
-          ptr_507BE0 = GUIWindow::Create(527u, 353u, 0, 0, (enum WindowType)99, (int)ptr_507A0C, 0);
+          pBooksWindow = GUIWindow::Create(527u, 353u, 0, 0, (enum WindowType)99, (int)pBtn_Autonotes, 0);
           bFlashAutonotesBook = 0;
           goto _continue;
         case UIMSG_OpenMapBook:
@@ -1219,7 +1219,7 @@
           v27 = 353;
           v28 = 546;
           v170 = 0;
-          v156 = (int)ptr_507A08;
+          v156 = (int)pBtn_Maps;
           goto LABEL_210;
         case UIMSG_OpenCalendar:
           if ( pMessageQueue_50CBD0->uNumMessages )
@@ -1232,10 +1232,10 @@
           v27 = 354;
           v28 = 570;
           v170 = 0;
-          v156 = (int)dword_507A04;
+          v156 = (int)pBtn_Calendar;
 LABEL_210:
           pGUIWindow_CurrentMenu = v26;
-          ptr_507BE0 = GUIWindow::Create(v28, v27, 0, 0, (enum WindowType)99, v156, v170);
+          pBooksWindow = GUIWindow::Create(v28, v27, 0, 0, (enum WindowType)99, v156, v170);
           goto _continue;
         case UIMSG_OpenHistoryBook:
           if ( pMessageQueue_50CBD0->uNumMessages )
@@ -1245,7 +1245,7 @@
           pEventTimer->Pause();
           pAudioPlayer->StopChannels(-1, -1);
           pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, WINDOW_Book, uMessage, 0);
-          ptr_507BE0 = GUIWindow::Create(0x258u, 0x169u, 0, 0, (enum WindowType)99, (int)ptr_507A00, 0);
+          pBooksWindow = GUIWindow::Create(0x258u, 0x169u, 0, 0, (enum WindowType)99, (int)pBtn_History, 0);
           bFlashHistoryBook = 0;
           goto _continue;
         case UIMSG_CloseBook:
@@ -1322,9 +1322,9 @@
                       }
                       goto LABEL_322;
                     case 3:
-                      ptr_507BE0->Release();
+                      pBooksWindow->Release();
                       //crt_deconstruct_ptr_6A0118();
-                      ptr_507BE0 = 0;
+                      pBooksWindow = 0;
                       pEventTimer->Resume();
                       goto LABEL_322;
                     case 11:
@@ -1336,7 +1336,7 @@
                       pCurrentScreen = 10;
                       goto _continue;
                     case 10:
-                      v29 = ptr_507BB8;
+                      v29 = pChestWindow;
                       goto LABEL_249;
                     case 25:
                       v29 = ptr_507BC8;
@@ -1584,7 +1584,7 @@
             if ( !pGUIWindow_Settings )
             {
               dword_6BE138 = -1;
-              GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, (enum WindowType)90, (int)ptr_5079F0, v0);
+              GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, (enum WindowType)90, (int)pBtn_GameSettings, v0);
               pEventTimer->Pause();
               pAudioPlayer->StopChannels(-1, -1);
               ++pIcons_LOD->uTexturePacksCount;
@@ -1599,7 +1599,7 @@
               uTextureID_507934 = pIcons_LOD->LoadTexture("controls1", TEXTURE_16BIT_PALETTE);
               uTextureID_507930 = pIcons_LOD->LoadTexture("resume1", TEXTURE_16BIT_PALETTE);
               uTextureID_50792C = pIcons_LOD->LoadTexture("quit1", TEXTURE_16BIT_PALETTE);
-              ptr_50C9C4 = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_NewGame = pGUIWindow_CurrentMenu->CreateButton(
                              0x13u,
                              0x9Bu,
                              0xD6u,
@@ -1612,7 +1612,7 @@
                              pGlobalTXT_LocalizationStrings[614],// "New Game"
                              (Texture *)(uTextureID_507940 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507940] : 0),
                              0);
-              ptr_50C9C0 = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_SaveGame = pGUIWindow_CurrentMenu->CreateButton(
                              0x13u,
                              0xD1u,
                              0xD6u,
@@ -1625,7 +1625,7 @@
                              pGlobalTXT_LocalizationStrings[615],// "Save Game"
                              (Texture *)(uTextureID_507938 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507938] : 0),
                              0);
-              ptr_50C9BC = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_LoadGame = pGUIWindow_CurrentMenu->CreateButton(
                              0x13u,
                              0x107u,
                              0xD6u,
@@ -1638,7 +1638,7 @@
                              pGlobalTXT_LocalizationStrings[616],// "Load Game"
                              (Texture *)(uTextureID_50793C != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_50793C] : 0),
                              0);
-              pyt_50C9B8 = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_GameControls = pGUIWindow_CurrentMenu->CreateButton(
                              0xF1u,
                              0x9Bu,
                              0xD6u,
@@ -1651,7 +1651,7 @@
                              pGlobalTXT_LocalizationStrings[617],// ""Sound, Keyboard, Game Options:""
                              (Texture *)(uTextureID_507934 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507934] : 0),
                              0);
-              ptr_50C9B4 = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_QuitGame = pGUIWindow_CurrentMenu->CreateButton(
                              0xF1u,
                              0xD1u,
                              0xD6u,
@@ -1664,7 +1664,7 @@
                              pGlobalTXT_LocalizationStrings[618],// "Quit"
                              (Texture *)(uTextureID_50792C != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_50792C] : 0),
                              0);
-              ptr_50C9B0 = pGUIWindow_CurrentMenu->CreateButton(
+              pBtn_Resume = pGUIWindow_CurrentMenu->CreateButton(
                              0xF1u,
                              0x107u,
                              0xD6u,
@@ -1694,7 +1694,7 @@
         case UIMSG_BC:
           if ( uMessageParam )
           {
-            GUIWindow::Create(0x272u, 0xB3u, 0, 0, (enum WindowType)90, (int)ptr_5079E8, 0);
+            GUIWindow::Create(0x272u, 0xB3u, 0, 0, (enum WindowType)90, (int)pBtn_NPCRight, 0);
             v37 = (pParty->pHirelings[0].pName != 0)
                 + (pParty->pHirelings[1].pName != 0)
                 + (unsigned __int8)pParty->field_70A
@@ -1711,7 +1711,7 @@
           }
           else
           {
-            GUIWindow::Create(0x1D5u, 0xB3u, 0, 0, (enum WindowType)90, (int)ptr_5079EC, 0);
+            GUIWindow::Create(0x1D5u, 0xB3u, 0, 0, (enum WindowType)90, (int)pBtn_NPCLeft, 0);
             if ( pParty->field_709 )
             {
               --pParty->field_709;
@@ -2148,9 +2148,9 @@
               ++pMessageQueue_50CBD0->uNumMessages;
             }
             //crt_deconstruct_ptr_6A0118();
-            ptr_507BE0->Release();
+            pBooksWindow->Release();
             pGUIWindow_CurrentMenu->Release();
-            ptr_507BE0 = 0;
+            pBooksWindow = 0;
             pGUIWindow_CurrentMenu = 0;
           }
           else
@@ -2709,7 +2709,7 @@
           sub_41C0B8_set_status_string(pTmpBuf);
           goto LABEL_91;
         case 0x58:
-          GUIWindow::Create(ptr_5064F8->uX, ptr_5064F8->uY, 0, 0, (enum WindowType)90, (int)ptr_5064F8, 0);
+          GUIWindow::Create(pBtn_InstallRemoveSpell->uX, pBtn_InstallRemoveSpell->uY, 0, 0, (enum WindowType)90, (int)pBtn_InstallRemoveSpell, 0);
           if ( !uActiveCharacter )
             goto _continue;
           thisk = pPlayers[uActiveCharacter];
@@ -2879,7 +2879,7 @@
               {
                 pGUIWindow_CurrentMenu->Release();
 LABEL_693:
-                GUIWindow::Create(0x1DCu, 0x1C2u, 0, 0, (enum WindowType)90, (int)ptr_5079F8, 0);
+                GUIWindow::Create(0x1DCu, 0x1C2u, 0, 0, (enum WindowType)90, (int)pBtn_CastSpell, 0);
                 pCurrentScreen = 8;
                 pEventTimer->Pause();
                 pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, (enum WindowType)18, 0, 0);
@@ -2898,14 +2898,14 @@
           ++pIcons_LOD->uTexturePacksCount;
           if ( !pIcons_LOD->uNumPrevLoadedFiles )
             pIcons_LOD->uNumPrevLoadedFiles = pIcons_LOD->uNumLoadedFiles;
-          GUIWindow::Create(0x230u, 0x1C2u, 0, 0, (enum WindowType)90, (int)ptr_5079F4, 0);
+          GUIWindow::Create(0x230u, 0x1C2u, 0, 0, (enum WindowType)90, (int)pBtn_QuickReference, 0);
           viewparams->bRedrawGameUI = v0;
           pEventTimer->Pause();
           pAudioPlayer->StopChannels(-1, -1);
           pCurrentScreen = 104;
           pGUIWindow_CurrentMenu = GUIWindow::Create(0, 0, 640, 480, (enum WindowType)12, 5, 0);
           papredoll_dbrds[2] = pIcons_LOD->LoadTexture("BUTTEXI1", TEXTURE_16BIT_PALETTE);
-          ptr_5076F4 = pGUIWindow_CurrentMenu->CreateButton(
+          pBtn_ExitCancel = pGUIWindow_CurrentMenu->CreateButton(
                          0x187u,
                          0x13Cu,
                          0x4Bu,
@@ -2933,7 +2933,7 @@
           pRenderer->SavePCXImage("gamma.pcx", (char *)uNumSeconds, 155, 117);
           free((void *)uNumSeconds);
           stru_506E40._40E55E("gamma.pcx", 0);
-          GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, (enum WindowType)92, (int)ptr_5079F0, 0);
+          GUIWindow::Create(0x25Au, 0x1C2u, 0, 0, (enum WindowType)92, (int)pBtn_GameSettings, 0);
 LABEL_453:
           if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 )
             goto _continue;
@@ -2945,19 +2945,19 @@
             dword_50651C = -1;
           goto _continue;
         case UIMSG_A9:
-          GUIWindow::Create(ptr_507B9C->uX, ptr_507B9C->uY, 0, 0, (WindowType)(WINDOW_HouseInterior|0x42), (int)ptr_507B9C, 0);
+          GUIWindow::Create(pBtn_Up->uX, pBtn_Up->uY, 0, 0, (WindowType)(WINDOW_HouseInterior|0x42), (int)pBtn_Up, 0);
 LABEL_707:
           dword_506548 = v0;
           goto _continue;
         case UIMSG_AA:
-          GUIWindow::Create(ptr_507BA0->uX, ptr_507BA0->uY, 0, 0, (WindowType)(WINDOW_HouseInterior|0x42), (int)ptr_507BA0, 0);
+          GUIWindow::Create(pBtn_Down->uX, pBtn_Down->uY, 0, 0, (WindowType)(WINDOW_HouseInterior|0x42), (int)pBtn_Down, 0);
 LABEL_709:
           dword_506544 = v0;
           goto _continue;
         case 0x55:
           bRingsShownInCharScreen ^= v0;
-          GUIButton::_41D0D8(ptr_507694);
-          GUIButton::_41D0D8(ptr_507690);
+          GUIButton::_41D0D8(pCharacterScreen_DetalizBtn);
+          GUIButton::_41D0D8(pCharacterScreen_DollBtn);
           if ( bRingsShownInCharScreen )
           {
             v128 = (uTextureID_5118C8 != -1 ? pIcons_LOD->pTextures[uTextureID_5118C8].uTextureHeight : 26);
@@ -2972,7 +2972,7 @@
             v123 = 300;
             v121 = 600;
           }
-          ptr_507694 = pGUIWindow_CurrentMenu->CreateButton(
+          pCharacterScreen_DetalizBtn = pGUIWindow_CurrentMenu->CreateButton(
                          v121,
                          v123,
                          v125,
@@ -2984,7 +2984,7 @@
                          0,
                          pGlobalTXT_LocalizationStrings[64],// "Detail Toggle"
                          0);
-          ptr_507690 = pGUIWindow_CurrentMenu->CreateButton(
+          pCharacterScreen_DollBtn = pGUIWindow_CurrentMenu->CreateButton(
                          0x1DCu,
                          0,
                          0xA4u,
@@ -3055,9 +3055,9 @@
           v142 = (WindowType)91;
           goto LABEL_731;
         case UIMSG_A8:
-          v85 = ptr_50767C;
+          v85 = pCharacterScreen_ExitBtn;
           v163 = 0;
-          v149 = ptr_50767C;
+          v149 = pCharacterScreen_ExitBtn;
           v142 = (WindowType)97;
           goto LABEL_731;
         case UIMSG_CloseBook|0x4:
@@ -3362,10 +3362,9 @@
   dword_507BF0_is_there_popup_onscreen = 0;
   dword_4E455C = 1;
   dword_50CDCC = 0;
-  if ( ptr_507BC4 )
+  if ( pGUIWindow_ScrollWindow )
     free_book_subwindow();
-  if ( !pCurrentScreen
-    && !pGUIWindow_Settings )
+  if ( !pCurrentScreen && !pGUIWindow_Settings )
     pEventTimer->Resume();
   viewparams->bRedrawGameUI = 1;
 }
@@ -3596,7 +3595,7 @@
             pCurrentScreen = 0;
             viewparams->bRedrawGameUI = 1;
           }
-          GUIWindow::Create(602, 450, 0, 0, (enum WindowType)92, (int)ptr_5079F0, 0);
+          GUIWindow::Create(602, 450, 0, 0, (enum WindowType)92, (int)pBtn_GameSettings, 0);
           if ( (signed int)pMessageQueue_50CBD0->uNumMessages >= 40 )
             continue;
           pMessageQueue_50CBD0->pMessages[pMessageQueue_50CBD0->uNumMessages].eType = UIMSG_CloseBook;
@@ -8373,8 +8372,8 @@
     0,
     (Texture *)(uTextureID_507B04 != -1 ? &pIcons_LOD->pTextures[uTextureID_507B04] : 0));
   pRenderer->DrawTextureIndexed(
-    ptr_507694->uX,
-    ptr_507694->uY,
+    pCharacterScreen_DetalizBtn->uX,
+    pCharacterScreen_DetalizBtn->uY,
     (Texture *)(uTextureID_5118C8 != -1 ? &pIcons_LOD->pTextures[uTextureID_5118C8] : 0));
   v3 = 0;
   v46 = (int)&pPlayer->pEquipment.field_28;
@@ -11984,14 +11983,14 @@
 
 
 //----- (0040D75D) --------------------------------------------------------
-char __fastcall pGUIWindow0_draws_text(int a1, const char *pText, int *pXY)
+char __fastcall pPrimaryWindow_draws_text(int a1, const char *pText, int *pXY)
 {
   const char *v3; // ST0C_4@1
   __int64 v4; // qax@1
 
   v3 = pText;
   v4 = LOBYTE(pFontComic->uFontHeight) - 3;
-  return pGUIWindow0->DrawText(
+  return pPrimaryWindow->DrawText(
            pFontComic,
            *pXY,
            pXY[1] - (((signed int)v4 - HIDWORD(v4)) >> 1) + 3,
@@ -12529,11 +12528,11 @@
   a1.uFrameZ = a1.uFrameX + a1.uFrameWidth - 1;
   a1.uFrameW = a1.uFrameHeight + a1.uFrameY - 1;
   v8 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-  a1.DrawText2(pFontArrus, 0x78u, 0xCu, v8, v7, 3u);
+  a1.DrawTitleText(pFontArrus, 0x78u, 0xCu, v8, v7, 3u);
   a1.DrawText(pFontSmallnum, 120, 44, 0, pTmpBuf2, 0, 0, 0);
   a1.uFrameWidth = 108;
   a1.uFrameZ = a1.uFrameX + 107;
-  a1.DrawText2(pFontComic, 0xCu, 0x4Bu, 0, pSkillNames[v1->pNumSpellBookPage + 12], 3u);
+  a1.DrawTitleText(pFontComic, 0xCu, 0x4Bu, 0, pSkillNames[v1->pNumSpellBookPage + 12], 3u);
   sprintf(
     pTmpBuf,
     "%s\n%d",
@@ -12541,7 +12540,7 @@
     *(&pSpellDatas[0].field_14
     + ((unsigned int)LOBYTE(v1->pActiveSkills[v1->pNumSpellBookPage + 12]) >> 6)
     + 10 * (int)((char *)v10 + 11 * v1->pNumSpellBookPage)));
-  a1.DrawText2(pFontComic, 0xCu, a1.uFrameHeight - LOBYTE(pFontComic->uFontHeight) - 16, 0, pTmpBuf, 3u);
+  a1.DrawTitleText(pFontComic, 0xCu, a1.uFrameHeight - LOBYTE(pFontComic->uFontHeight) - 16, 0, pTmpBuf, 3u);
   dword_507B00_spell_info_to_draw_in_popup = 0;
 }
 // 507B00: using guessed type int dword_507B00_spell_info_to_draw_in_popup;
@@ -12620,7 +12619,7 @@
   if ( !bRecallingBeacon )
     v1 = pGlobalTXT_LocalizationStrings[375];   // Set Beacon
   sprintf(pTmpBuf, "%s", v1);
-  v22.DrawText2(pBook2Font, 0, 22u, 0, pTmpBuf, 3u);
+  v22.DrawTitleText(pBook2Font, 0, 22u, 0, pTmpBuf, 3u);
   if ( bRecallingBeacon )
   {
     pRenderer->DrawTextureTransparent(pBtn_Book_1->uX, pBtn_Book_1->uY, pTex_tab_an_6b__zoom_on);
@@ -12692,7 +12691,7 @@
     Str = pMapStats->pInfos[sub_410D99_get_map_index(HIWORD(v28->field_18))].pName;
     v8 = pSpellFont->CalcTextHeight(Str, &v22, 0, 0);
     v22.uFrameY += -6 - v8;
-    v22.DrawText2(pSpellFont, 0, 0, 1u, Str, 3u);
+    v22.DrawTitleText(pSpellFont, 0, 0, 1u, Str, 3u);
     v9 = v7->uBeaconTime - pParty->uTimePlayed;
     LODWORD(v24) = LODWORD(v7->uBeaconTime) - LODWORD(pParty->uTimePlayed);
     HIDWORD(v24) = HIDWORD(v9);
@@ -12715,7 +12714,7 @@
         v22.uFrameY = v25 + v22.uFrameHeight + 4;
         v15 = 0;
 LABEL_28:
-        v22.DrawText2(pSpellFont, 0, v15, v16, v18, v21);
+        v22.DrawTitleText(pSpellFont, 0, v15, v16, v18, v21);
         goto LABEL_29;
       }
     }
@@ -12825,14 +12824,14 @@
   v2 = pMouse->GetCursorPos(&a2);
   v3 = pRenderer->pActiveZBuffer[v2->x + pSRZBufferLineOffsets[pMouse->GetCursorPos(&v7)->y]] & 0xFFFF;
   if ( !v3 )                                    // Town Portal
-    return v6.DrawText2(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);
+    return v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);
   if ( v3 == 1 )
   {
     v4 = 206;
 LABEL_30:
     if ( (unsigned __int16)_449B57_test_bit(pParty->_award_bits, v4) )
       goto LABEL_31;
-    return v6.DrawText2(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);
+    return v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);
   }
   if ( v3 == 2 )
   {
@@ -12861,7 +12860,7 @@
   }
 LABEL_31:
   pRenderer->DrawTextureIndexed(word_4E1D3A[v3], pTownPortalBook_xs[v3 + 5], *(&pTex_tab_an_6b__zoom_on + v3));
-  return v6.DrawText2(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);
+  return v6.DrawTitleText(pBook2Font, 0, 22u, 0, pGlobalTXT_LocalizationStrings[10], 3u);
 }
 // 4E1D3A: using guessed type __int16 word_4E1D3A[];
 
@@ -13277,7 +13276,7 @@
     a1.uFrameZ = 467;
     a1.uFrameW = 351;
     if ( v3 )
-      a1.DrawText2(pBook2Font, 0, 0x16u, 0, v3, 3u);
+      a1.DrawTitleText(pBook2Font, 0, 0x16u, 0, v3, 3u);
   }
   a1.uFrameX = 48;
   a1.uFrameY = 70;
@@ -13377,7 +13376,7 @@
   a1.uFrameY = 8;
   a1.uFrameZ = 467;
   a1.uFrameW = 351;
-  a1.DrawText2(pBook2Font, 0, 0x16u, 0, pGlobalTXT_LocalizationStrings[174], 3u);
+  a1.DrawTitleText(pBook2Font, 0, 0x16u, 0, pGlobalTXT_LocalizationStrings[174], 3u);
   a1.uFrameX = 48;
   a1.uFrameY = 70;
   a1.uFrameWidth = 360;
@@ -13641,7 +13640,7 @@
   a1.uFrameY = 8;
   a1.uFrameZ = 467;
   a1.uFrameW = 467;
-  a1.DrawText2(pBook2Font, 0, 0x16u, 0, pGlobalTXT_LocalizationStrings[154], 3u);
+  a1.DrawTitleText(pBook2Font, 0, 0x16u, 0, pGlobalTXT_LocalizationStrings[154], 3u);
   a1.uFrameX = 48;
   a1.uFrameY = 70;
   a1.uFrameWidth = 360;
@@ -13865,10 +13864,10 @@
   v22.uFrameW = 467;
   v7 = pMapStats->GetMapInfo(pCurrentMapName);
   if ( v7 )
-    v22.DrawText2(pBook2Font, 0xFFFFFFF2u, 0xCu, 0, pMapStats->pInfos[v7].pName, 3u);
+    v22.DrawTitleText(pBook2Font, 0xFFFFFFF2u, 0xCu, 0, pMapStats->pInfos[v7].pName, 3u);
   v22.uFrameX = 0;
   sprintf(Str, pGlobalTXT_LocalizationStrings[659], pParty->vPosition.x, pParty->vPosition.y);
-  return v22.DrawText2(pFontComic, 0, 0x140u, 0, Str, 0);
+  return v22.DrawTitleText(pFontComic, 0, 0x140u, 0, Str, 0);
 }
 
 
@@ -13955,7 +13954,7 @@
   a1.uFrameHeight = 344;
   a1.uFrameZ = 467;
   a1.uFrameW = 467;
-  a1.DrawText2(pBook2Font, 0, 0x16u, 0, pGlobalTXT_LocalizationStrings[186], 3u);
+  a1.DrawTitleText(pBook2Font, 0, 0x16u, 0, pGlobalTXT_LocalizationStrings[186], 3u);
   v1 = GetDayPart();
   sprintf(
     pTmpBuf,
@@ -14428,7 +14427,7 @@
     v3.uFrameZ = 232;
     v3.uFrameW = 268;
     v1 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-    v3.DrawText2(pFontSmallnum, 0, 0, v1, v0, 3u);
+    v3.DrawTitleText(pFontSmallnum, 0, 0, v1, v0, 3u);
   }
   if ( !pRenderer->pRenderD3D )
   {
@@ -14670,7 +14669,7 @@
   Dst.uFrameHeight -= 12;
   Dst.uFrameZ = Dst.uFrameX + Dst.uFrameWidth - 1;
   Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
-  return Dst.DrawText2(pFontSmallnum, 0, 0xCu, 0, pGlobalTXT_LocalizationStrings[157], 3u);
+  return Dst.DrawTitleText(pFontSmallnum, 0, 0xCu, 0, pGlobalTXT_LocalizationStrings[157], 3u);
 }
 
 
@@ -15069,8 +15068,8 @@
                 CharacterUI_InventoryTab_Draw(uActiveCharacter, 1);
                 CharacterUI_DrawPaperdoll(uActiveCharacter);
                 pRenderer->DrawTextureTransparent(
-                  ptr_5076F4->uX,
-                  ptr_5076F4->uY,
+                  pBtn_ExitCancel->uX,
+                  pBtn_ExitCancel->uY,
                   (Texture *)(uTextureID_x_x_u != -1 ? &pIcons_LOD->pTextures[uTextureID_x_x_u] : 0));
               }
             }
@@ -15118,8 +15117,8 @@
                   draw_leather();
                   CharacterUI_InventoryTab_Draw(uActiveCharacter, 1);
                   pRenderer->DrawTextureIndexed(
-                    ptr_5076F4->uX,
-                    ptr_5076F4->uY,
+                    pBtn_ExitCancel->uX,
+                    pBtn_ExitCancel->uY,
                     (Texture *)(uTextureID_506438 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_506438] : 0));
                 }
               }
@@ -15761,7 +15760,7 @@
           strcpy(pTmpBuf, v12);
         }
         v13 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
-        a1.DrawText2(pFontArrus, 0, 0xCu, v13, v11, 3u);
+        a1.DrawTitleText(pFontArrus, 0, 0xCu, v13, v11, 3u);
         a1.uFrameWidth -= 24;
         a1.uFrameZ = a1.uFrameX + a1.uFrameWidth - 1;
         v14 = sub_495461((char *)lpsz, uActiveCharacter - 1, 0, 0, 0, 0);
@@ -15829,7 +15828,7 @@
       return;
     }
   }
-  if ( pParty->pPickedItem.uItemID )//   
+  if ( pParty->pPickedItem.uItemID )//        
   {
     //v1 = 0;
     //do
@@ -15864,13 +15863,15 @@
         else
           v10 = pX - 414;
         pWindow.uFrameX = v10;
-        goto LABEL_42;
+        //goto LABEL_42;
+		pWindow.DrawMessageBox(0);
+        goto LABEL_132;
       }
       v9 = pX + pSRZBufferLineOffsets[pY];
       if ( !(pRenderer->pActiveZBuffer[v9] & 0xFFFF) )
         goto LABEL_132;
-      v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)ptr_507BB8->ptr_1C + 18* *((short *)&pChests[0].mm7__vector_pItems[139].uExpireTime
-                       + (pRenderer->pActiveZBuffer[v9] & 0xFFFF) + 2662 * (unsigned int)ptr_507BB8->ptr_1C + 3));
+      v8 = (ItemGen *)(&pOtherOverlayList->pOverlays[49].field_4 + 2662 * (unsigned int)pChestWindow->ptr_1C + 18* *((short *)&pChests[0].mm7__vector_pItems[139].uExpireTime
+                       + (pRenderer->pActiveZBuffer[v9] & 0xFFFF) + 2662 * (unsigned int)pChestWindow->ptr_1C + 3));
     }
     else
     {
@@ -15890,27 +15891,29 @@
 LABEL_119:
           if ( (signed int)pX > 467 && pCurrentScreen != 14 )
           {
-LABEL_126:
+//LABEL_126:
             identify_item();
             goto LABEL_132;
           }
           if ( (signed int)pY >= 345 )
             goto LABEL_132;
-          if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 100 )
+          if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 100 )//2DEvent - CharacerScreenStats
           {
             CharacterUI_StatsTab_ShowHint();
             goto LABEL_132;
           }
-          if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 101 )
+          if ( pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 101 )//2DEvent - CharacerScreenSkills
           {
             CharacterUI_SkillsTab_ShowHint();
             goto LABEL_132;
           }
-          v11 = pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 103;
-LABEL_125:
+          v11 = pWindowList_at_506F50_minus1_indexing_buttons____and_an_int_[0] == 103;//2DEvent - CharacerScreenInventory
+//LABEL_125:
           if ( !v11 )
             goto LABEL_132;
-          goto LABEL_126;
+          //goto LABEL_126;
+		  identify_item();
+          goto LABEL_132;
         }
         if ( !dword_506364
           || (signed int)pX < (signed int)pViewport->uViewportX
@@ -15925,7 +15928,11 @@
         pWindow.uFrameWidth = LODWORD(v27);
         pWindow.uFrameX = pX + 5;
         pWindow.uFrameY = pY + 5;
-        goto LABEL_41;
+        //goto LABEL_41;
+		pWindow.uFrameHeight = 64;
+        pAudioPlayer->StopChannels(-1, -1);
+        pWindow.DrawMessageBox(0);
+        goto LABEL_132;
       }
       if (GetCurrentMenuID() > 0)
         goto LABEL_132;
@@ -15979,10 +15986,10 @@
         pWindow.uFrameWidth = 256;
         pWindow.uFrameX = 130;
         pWindow.uFrameY = 140;
-LABEL_41:
+//LABEL_41:
         pWindow.uFrameHeight = 64;
         pAudioPlayer->StopChannels(-1, -1);
-LABEL_42:
+//LABEL_42:
         pWindow.DrawMessageBox(0);
         goto LABEL_132;
       }
@@ -16039,14 +16046,19 @@
   if ( pCurrentScreen != 21 )
   {
     v11 = pCurrentScreen == 23;
-    goto LABEL_125;
+    //goto LABEL_125;
+    if ( !v11 )
+      goto LABEL_132;
+    identify_item();
+    goto LABEL_132;
   }
   pWindow.Hint = 0;
   pButton = pGUIWindow_CurrentMenu->pControlsHead;
   if ( !pButton )
     goto LABEL_132;
   v13 = pY;
-  pStr = v29;
+  //pStr = v29;
+  pStr = 0;
   while ( 1 )
   {
     if ( pButton->uButtonType != 1 && pButton->uButtonType != 3 || (signed int)pX < (signed int)pButton->uX || (signed int)pX > (signed int)pButton->uZ
@@ -16087,7 +16099,9 @@
             pStr = pGlobalTXT_LocalizationStrings[670];//
             pStr2 = pGlobalTXT_LocalizationStrings[671];//"    ,     "
           }
-          goto LABEL_116;
+          //goto LABEL_116;
+		  pWindow.Hint = pStr2;
+		  goto LABEL_117;
         }
         pWindow.Hint = pAttributeDescriptions[(signed int)pButton->uControlParam % 7];
         pStr = aAttributeNames[(signed int)pButton->uControlParam % 7];
@@ -16098,13 +16112,17 @@
     {
       pStr2 = pGlobalTXT_LocalizationStrings[664];//        .
       pStr = pGlobalTXT_LocalizationStrings[665];// 
-      goto LABEL_116;
+      //goto LABEL_116;
+	  pWindow.Hint = pStr2;
+      goto LABEL_117;
     }
     if ( pControlID == 67 )
     {
       pStr2 = pGlobalTXT_LocalizationStrings[666];//     .
       pStr = pGlobalTXT_LocalizationStrings[667];// 
-      goto LABEL_116;
+      //goto LABEL_116;
+	  pWindow.Hint = pStr2;
+      goto LABEL_117;
     }
     if ( pControlID > 71 )
       break;
@@ -16120,7 +16138,7 @@
       v20 = pButton->uControlParam;
       pStr = pParty->pPlayers[v20].pName;
       pStr2 = pClassDescriptions[pParty->pPlayers[v20].uClass];
-LABEL_116:
+//LABEL_116:
       pWindow.Hint = pStr2;
       goto LABEL_117;
     }
@@ -16157,7 +16175,7 @@
     pWindow.uFrameW = pWindow.uFrameY + pWindow.uFrameHeight - 1;
     v25 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFF, 0xFF, 0x9B);
     sprintf(pTmpBuf, format_4E2D80, v25, pStr);
-    pWindow.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3);
+    pWindow.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf, 3);
     pWindow.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v23, 0, 0, 0);
   }
 LABEL_132:
@@ -16448,7 +16466,7 @@
   Dst.uFrameW = Dst.uFrameY + Dst.uFrameHeight - 1;
   v4 = GenerateColorAsCloseAsPossibleToR8G8B8InTargetFormat(0xFFu, 0xFFu, 0x9Bu);
   sprintf(pTmpBuf, format_4E2D80, v4, v3);
-  Dst.DrawText2(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
+  Dst.DrawTitleText(pFontCreate, 0, 0, 0, pTmpBuf, 3u);
   return Dst.DrawText(pFontSmallnum, 1, LOBYTE(pFontLucida->uFontHeight), 0, v2, 0, 0, 0);
 }
 
@@ -17426,7 +17444,7 @@
         i->uX = 0;
       }
     }
-    ptr_507B9C = pGUIWindow_CurrentMenu->CreateButton(
+    pBtn_Up = pGUIWindow_CurrentMenu->CreateButton(
                    0x1B6u,
                    0x2Eu,
                    (uTextureID_ar_up_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_up_up].uTextureWidth : 24),
@@ -17440,7 +17458,7 @@
                    (Texture *)(uTextureID_ar_up_up != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_up_up] : 0),
                    uTextureID_ar_up_dn != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_ar_up_dn] : 0,
                    0);
-    ptr_507BA0 = pGUIWindow_CurrentMenu->CreateButton(
+    pBtn_Down = pGUIWindow_CurrentMenu->CreateButton(
                    0x1B6u,
                    0x124u,
                    (uTextureID_ar_dn_up != -1 ? pIcons_LOD->pTextures[uTextureID_ar_dn_up].uTextureWidth : 24),
@@ -17480,10 +17498,10 @@
   {
     dword_507CBC = 0;
     GUIButton::_41D0D8(ptr_507BA4);
-    GUIButton::_41D0D8(ptr_507B9C);
-    GUIButton::_41D0D8(ptr_507BA0);
-    ptr_507BA0 = 0;
-    ptr_507B9C = 0;
+    GUIButton::_41D0D8(pBtn_Up);
+    GUIButton::_41D0D8(pBtn_Down);
+    pBtn_Down = 0;
+    pBtn_Up = 0;
     for ( i = pGUIWindow_CurrentMenu->pControlsHead; i; i = i->pNext )
     {
       if ( i->uControlID == 120 )
--- a/mm7_6.cpp	Wed Dec 12 20:11:16 2012 +0600
+++ b/mm7_6.cpp	Wed Dec 12 20:11:41 2012 +0600
@@ -2422,7 +2422,7 @@
       if ( HIBYTE(v6) & 2 && !pGUIWindow_Settings )
       {
         pGUIWindow_Settings = GUIWindow::Create(0, 0, 640, 480, (WindowType)(WINDOW_HouseInterior|0x2), 20 * result + 5292232, 0);
-        ptr_5079EC = pGUIWindow_Settings->CreateButton(
+        pBtn_NPCLeft = pGUIWindow_Settings->CreateButton(
                        0x1D5u,
                        0xB2u,
                        (uTextureID_507990 != -1 ? pIcons_LOD->pTextures[uTextureID_507990].uTextureWidth : 24),
@@ -2435,7 +2435,7 @@
                        "",
                        (Texture *)(uTextureID_507990 != -1 ? (int)&pIcons_LOD->pTextures[uTextureID_507990] : 0),
                        0);
-        ptr_5079E8 = pGUIWindow_Settings->CreateButton(
+        pBtn_NPCRight = pGUIWindow_Settings->CreateButton(
                        0x272u,
                        0xB2u,
                        (uTextureID_50798C != -1 ? pIcons_LOD->pTextures[uTextureID_50798C].uTextureWidth : 24),
@@ -8847,7 +8847,7 @@
 void __cdecl sub_42FBDD()
 {
   pAudioPlayer->PlaySound((SoundID)75, 0, 0, -1, 0, 0, 0, 0);
-  pRenderer->DrawTextureTransparent(ptr_5076FC->uX, ptr_5076FC->uY, ptr_5076FC->pTextures[0]);
+  pRenderer->DrawTextureTransparent(pBtn_YES->uX, pBtn_YES->uY, pBtn_YES->pTextures[0]);
   pRenderer->Present();
 }
 
@@ -8855,7 +8855,7 @@
 void __cdecl sub_42FC15()
 {
   pAudioPlayer->PlaySound((SoundID)75, -2, 0, -1, 0, 0, 0, 0);
-  pRenderer->DrawTextureTransparent(ptr_5076F4->uX, ptr_5076F4->uY, ptr_5076F4->pTextures[0]);
+  pRenderer->DrawTextureTransparent(pBtn_ExitCancel->uX, pBtn_ExitCancel->uY, pBtn_ExitCancel->pTextures[0]);
   pRenderer->Present();
 }
 
--- a/mm7_data.h	Wed Dec 12 20:11:16 2012 +0600
+++ b/mm7_data.h	Wed Dec 12 20:11:41 2012 +0600
@@ -1788,7 +1788,7 @@
 int __fastcall am_40D402(int, int); // weak
 int __cdecl am_40D444();
 struct GUIWindow *__fastcall ModalWindow(const char *pStr, int a4);
-char __fastcall pGUIWindow0_draws_text(int a1, const char *pText, int *pXY);
+char __fastcall pPrimaryWindow_draws_text(int a1, const char *pText, int *pXY);
 void __thiscall am_BeginScene(unsigned __int16 *pPcxPixels, int a2, int a3); // idb
 void __fastcall Blt_Chroma(struct ArcomageRect *pSrcXYZW, int *pTargetXY, int a3, int a4);
 void __fastcall Blt_Copy(struct ArcomageRect *pSrcXYZW, int *pTargetXY, int a3);