diff UI/UiGame.cpp @ 2017:a5a3ad2713b2

WritePointedObjectStatusString(continue)2
author Ritor1
date Mon, 11 Nov 2013 17:37:38 +0600
parents f39f27b08908
children 4c3e8ec07d12
line wrap: on
line diff
--- a/UI/UiGame.cpp	Mon Nov 11 09:36:52 2013 +0600
+++ b/UI/UiGame.cpp	Mon Nov 11 17:37:38 2013 +0600
@@ -1166,163 +1166,22 @@
 
   pMouse->uPointingObjectID = 0;
   pMouse->GetClickPos(&pX, &pY);
-  if ( pX < 0 || pX > 639 || pY < 0 || pY > 479 )
+  if ( pX < 0 || pX > 639 || pY < 0 || pY > 479 )//границы окна игры
     return;
-  if (pCurrentScreen == SCREEN_GAME)
+  if ( pX <= 467 && pY <= 351 )//пределы основной области
   {
-    if ( pX > 467 || pY > 351 )
-      goto _click_on_game_ui;
-    if ( pRenderer->pRenderD3D )  // inlined mm8::4C1E01
-    {
-      v18 = pGame->pVisInstance->get_picked_object_zbuf_val();
-      if ( pX < (unsigned int)pViewport->uScreen_TL_X || pX > (unsigned int)pViewport->uScreen_BR_X
-        || pY < (unsigned int)pViewport->uScreen_TL_Y || pY > (unsigned int)pViewport->uScreen_BR_Y )
-        v18 = -1;
-      if ( v18 == -1 )
-      {
-        pMouse->uPointingObjectID = 0;
-        if ( pMouse->uPointingObjectID == 0 )
-        {
-          if ( uLastPointedObjectID != 0 )
-          {
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-          }
-        }
-        uLastPointedObjectID = pMouse->uPointingObjectID;
-        return;
-      }
-    }
-    else
-      v18 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]];
-    pMouse->uPointingObjectID = (unsigned __int16)v18;
-    v19 = (signed)PID_ID(v18);
-  //For Items------------------------------------
-    if (PID_TYPE(v18) == OBJECT_Item)
+    //окно(область) игры----------------------------------
+    if ( pCurrentScreen == SCREEN_GAME )
     {
-      if ( pObjectList->pObjects[pSpriteObjects[v19].uObjectDescID].uFlags & 0x10 )
-      {
-        pMouse->uPointingObjectID = 0;
-        pFooterString[0] = 0;
-        bForceDrawFooter = 1;
-        uLastPointedObjectID = 0;
-        return;
-      }
-      if ( v18 >= (signed int)0x2000000u || pParty->pPickedItem.uItemID )
-      {
-        GameUI_SetFooterString(pSpriteObjects[v19].stru_24.GetDisplayName());
-        if ( pMouse->uPointingObjectID == 0 )
-        {
-          if ( uLastPointedObjectID != 0 )
-          {
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-          }
-        }
-        uLastPointedObjectID = pMouse->uPointingObjectID;
-        return;
-      }
-      sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[470], pSpriteObjects[v19].stru_24.GetDisplayName());// "Get %s"
-      GameUI_SetFooterString(pTmpBuf.data());
-      if ( pMouse->uPointingObjectID == 0 )
-      {
-        if ( uLastPointedObjectID != 0 )
-        {
-          pFooterString[0] = 0;
-          bForceDrawFooter = 1;
-        }
-      }
-      uLastPointedObjectID = pMouse->uPointingObjectID;
-      return;
-    }
-//For Decorations----------------------------------
-    if (PID_TYPE(v18) == OBJECT_Decoration)
-    {
-      if ( !pLevelDecorations[v19].uEventID )
+      if ( pRenderer->pRenderD3D )  // inlined mm8::4C1E01
       {
-        if ( pLevelDecorations[v19].IsInteractive() )
-          pText = pNPCTopics[stru_5E4C90_MapPersistVars._decor_events[pLevelDecorations[v19]._idx_in_stru123 - 75] + 379].pTopic;//неверно для костра
-        else
-          pText = pDecorationList->pDecorations[pLevelDecorations[v19].uDecorationDescID].field_20;
-        GameUI_SetFooterString(pText);
-        if ( pMouse->uPointingObjectID == 0 )
-        {
-          if ( uLastPointedObjectID != 0 )
-          {
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-          }
-        }
-        uLastPointedObjectID = pMouse->uPointingObjectID;
-        return;
-      }
-      if ( !GetEventHintString(pLevelDecorations[v19].uEventID) )
-      {
-        if ( pMouse->uPointingObjectID == 0 )
-        {
-          if ( uLastPointedObjectID != 0 )
-          {
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-          }
-        }
-        uLastPointedObjectID = pMouse->uPointingObjectID;
-        return;
-      }
-      GameUI_SetFooterString(GetEventHintString(pLevelDecorations[v19].uEventID));
-      if ( pMouse->uPointingObjectID == 0 )
-      {
-        if ( uLastPointedObjectID != 0 )
+        v18 = pGame->pVisInstance->get_picked_object_zbuf_val();
+        if ( pX < (unsigned int)pViewport->uScreen_TL_X || pX > (unsigned int)pViewport->uScreen_BR_X
+          || pY < (unsigned int)pViewport->uScreen_TL_Y || pY > (unsigned int)pViewport->uScreen_BR_Y )
+          v18 = -1;
+        if ( v18 == -1 )
         {
-          pFooterString[0] = 0;
-          bForceDrawFooter = 1;
-        }
-      }
-      uLastPointedObjectID = pMouse->uPointingObjectID;
-      return;
-    }
-  //For 3D Model-------------------------------------
-    if (PID_TYPE(v18) == OBJECT_BModel)
-    {
-      if ( HIWORD(v18) < interaction_distance_limit )
-      {
-        if ( uCurrentlyLoadedLevelType != LEVEL_Indoor)
-        {
-          v18b = (signed int)(unsigned __int16)v18 >> 9;
-          if ( !pOutdoor->pBModels[v18b].pFaces[v19 & 0x3F].sCogTriggeredID
-            || !GetEventHintString(pOutdoor->pBModels[v18b].pFaces[v19 & 0x3F].sCogTriggeredID) )
-          {
-            pMouse->uPointingObjectID = 0;
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-            uLastPointedObjectID = 0;
-            return;
-          }
-          GameUI_SetFooterString(GetEventHintString(pOutdoor->pBModels[v18b].pFaces[v19 & 0x3F].sCogTriggeredID));
-          if ( pMouse->uPointingObjectID == 0 )
-          {
-            if ( uLastPointedObjectID != 0 )
-            {
-              pFooterString[0] = 0;
-              bForceDrawFooter = 1;
-            }
-          }
-          uLastPointedObjectID = pMouse->uPointingObjectID;
-          return;
-        }
-        pFace = &pIndoor->pFaces[v19];
-        if ( BYTE3(pFace->uAttributes) & 6 )
-        {
-          if ( !pIndoor->pFaceExtras[pFace->uFaceExtraID].uEventID
-            || !GetEventHintString(pIndoor->pFaceExtras[pFace->uFaceExtraID].uEventID) )
-          {
-            pMouse->uPointingObjectID = 0;
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-            uLastPointedObjectID = 0;
-            return;
-          }
-          GameUI_SetFooterString(GetEventHintString(pIndoor->pFaceExtras[pFace->uFaceExtraID].uEventID));
+          pMouse->uPointingObjectID = 0;
           if ( pMouse->uPointingObjectID == 0 )
           {
             if ( uLastPointedObjectID != 0 )
@@ -1335,28 +1194,83 @@
           return;
         }
       }
-      pMouse->uPointingObjectID = 0;
-      pFooterString[0] = 0;
-      bForceDrawFooter = 1;
-      uLastPointedObjectID = 0;
-      return;
-    }
-    else
-    {
-      if (PID_TYPE(v18) != OBJECT_Actor)
+      else
+        v18 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]];
+      pMouse->uPointingObjectID = (unsigned __int16)v18;
+      v19 = (signed)PID_ID(v18);
+      //For Items------------------------------------
+      if (PID_TYPE(v18) == OBJECT_Item)
       {
-        pMouse->uPointingObjectID = 0;
-        if ( uLastPointedObjectID != 0 )
+        if ( pObjectList->pObjects[pSpriteObjects[v19].uObjectDescID].uFlags & 0x10 )
         {
+          pMouse->uPointingObjectID = 0;
           pFooterString[0] = 0;
           bForceDrawFooter = 1;
+          uLastPointedObjectID = 0;
+          return;
+        }
+        if ( v18 >= (signed int)0x2000000u || pParty->pPickedItem.uItemID )
+        {
+          GameUI_SetFooterString(pSpriteObjects[v19].stru_24.GetDisplayName());
+          if ( pMouse->uPointingObjectID == 0 )
+          {
+            if ( uLastPointedObjectID != 0 )
+            {
+              pFooterString[0] = 0;
+              bForceDrawFooter = 1;
+            }
+          }
+          uLastPointedObjectID = pMouse->uPointingObjectID;
+          return;
+        }
+        sprintfex(pTmpBuf.data(), pGlobalTXT_LocalizationStrings[470], pSpriteObjects[v19].stru_24.GetDisplayName());// "Get %s"
+        GameUI_SetFooterString(pTmpBuf.data());
+        if ( pMouse->uPointingObjectID == 0 )
+        {
+          if ( uLastPointedObjectID != 0 )
+          {
+            pFooterString[0] = 0;
+            bForceDrawFooter = 1;
+          }
         }
         uLastPointedObjectID = pMouse->uPointingObjectID;
         return;
       }
-      if ( v18 >= 335544320 )
+      //For Decorations----------------------------------
+      if (PID_TYPE(v18) == OBJECT_Decoration)
       {
-        pMouse->uPointingObjectID = 0;
+        if ( !pLevelDecorations[v19].uEventID )
+        {
+          if ( pLevelDecorations[v19].IsInteractive() )
+            pText = pNPCTopics[stru_5E4C90_MapPersistVars._decor_events[pLevelDecorations[v19]._idx_in_stru123 - 75] + 379].pTopic;//неверно для костра
+          else
+            pText = pDecorationList->pDecorations[pLevelDecorations[v19].uDecorationDescID].field_20;
+          GameUI_SetFooterString(pText);
+          if ( pMouse->uPointingObjectID == 0 )
+          {
+            if ( uLastPointedObjectID != 0 )
+            {
+              pFooterString[0] = 0;
+              bForceDrawFooter = 1;
+            }
+          }
+          uLastPointedObjectID = pMouse->uPointingObjectID;
+          return;
+        }
+        if ( !GetEventHintString(pLevelDecorations[v19].uEventID) )
+        {
+          if ( pMouse->uPointingObjectID == 0 )
+          {
+            if ( uLastPointedObjectID != 0 )
+            {
+              pFooterString[0] = 0;
+              bForceDrawFooter = 1;
+            }
+          }
+          uLastPointedObjectID = pMouse->uPointingObjectID;
+          return;
+        }
+        GameUI_SetFooterString(GetEventHintString(pLevelDecorations[v19].uEventID));
         if ( pMouse->uPointingObjectID == 0 )
         {
           if ( uLastPointedObjectID != 0 )
@@ -1368,29 +1282,223 @@
         uLastPointedObjectID = pMouse->uPointingObjectID;
         return;
       }
-      v28 = pTmpBuf.data();
-      if ( pActors[v19].dword_000334_unique_name )
-        pText = pMonsterStats->pPlaceStrings[pActors[v19].dword_000334_unique_name];
-      else
-        pText = pMonsterStats->pInfos[pActors[v19].pMonsterInfo.uID].pName;
-      strncpy(pTmpBuf.data(), pText, 0x7D0u);
-    }
-    GameUI_SetFooterString(v28);
-    if ( pMouse->uPointingObjectID == 0 )
-    {
-      if ( uLastPointedObjectID != 0 )
+      //For 3D Model-------------------------------------
+      if (PID_TYPE(v18) == OBJECT_BModel)
       {
+        if ( HIWORD(v18) < interaction_distance_limit )
+        {
+          if ( uCurrentlyLoadedLevelType != LEVEL_Indoor)
+          {
+            v18b = (signed int)(unsigned __int16)v18 >> 9;
+            if ( !pOutdoor->pBModels[v18b].pFaces[v19 & 0x3F].sCogTriggeredID
+              || !GetEventHintString(pOutdoor->pBModels[v18b].pFaces[v19 & 0x3F].sCogTriggeredID) )
+            {
+              pMouse->uPointingObjectID = 0;
+              pFooterString[0] = 0;
+              bForceDrawFooter = 1;
+              uLastPointedObjectID = 0;
+              return;
+            }
+            GameUI_SetFooterString(GetEventHintString(pOutdoor->pBModels[v18b].pFaces[v19 & 0x3F].sCogTriggeredID));
+            if ( pMouse->uPointingObjectID == 0 )
+            {
+              if ( uLastPointedObjectID != 0 )
+              {
+                pFooterString[0] = 0;
+                bForceDrawFooter = 1;
+              }
+            }
+            uLastPointedObjectID = pMouse->uPointingObjectID;
+            return;
+          }
+          pFace = &pIndoor->pFaces[v19];
+          if ( BYTE3(pFace->uAttributes) & 6 )
+          {
+            if ( !pIndoor->pFaceExtras[pFace->uFaceExtraID].uEventID
+              || !GetEventHintString(pIndoor->pFaceExtras[pFace->uFaceExtraID].uEventID) )
+            {
+              pMouse->uPointingObjectID = 0;
+              pFooterString[0] = 0;
+              bForceDrawFooter = 1;
+              uLastPointedObjectID = 0;
+              return;
+            }
+            GameUI_SetFooterString(GetEventHintString(pIndoor->pFaceExtras[pFace->uFaceExtraID].uEventID));
+            if ( pMouse->uPointingObjectID == 0 )
+            {
+              if ( uLastPointedObjectID != 0 )
+              {
+                pFooterString[0] = 0;
+                bForceDrawFooter = 1;
+              }
+            }
+            uLastPointedObjectID = pMouse->uPointingObjectID;
+            return;
+          }
+        }
+        pMouse->uPointingObjectID = 0;
         pFooterString[0] = 0;
         bForceDrawFooter = 1;
+        uLastPointedObjectID = 0;
+        return;
+      }
+      else
+      {
+        if (PID_TYPE(v18) != OBJECT_Actor)
+        {
+          pMouse->uPointingObjectID = 0;
+          if ( uLastPointedObjectID != 0 )
+          {
+            pFooterString[0] = 0;
+            bForceDrawFooter = 1;
+          }
+          uLastPointedObjectID = pMouse->uPointingObjectID;
+          return;
+        }
+        if ( v18 >= 335544320 )
+        {
+          pMouse->uPointingObjectID = 0;
+          if ( pMouse->uPointingObjectID == 0 )
+          {
+            if ( uLastPointedObjectID != 0 )
+            {
+              pFooterString[0] = 0;
+              bForceDrawFooter = 1;
+            }
+          }
+          uLastPointedObjectID = pMouse->uPointingObjectID;
+          return;
+        }
+        v28 = pTmpBuf.data();
+        if ( pActors[v19].dword_000334_unique_name )
+          pText = pMonsterStats->pPlaceStrings[pActors[v19].dword_000334_unique_name];
+        else
+          pText = pMonsterStats->pInfos[pActors[v19].pMonsterInfo.uID].pName;
+        strncpy(pTmpBuf.data(), pText, 0x7D0u);
+      }
+      GameUI_SetFooterString(v28);
+      if ( pMouse->uPointingObjectID == 0 )
+      {
+        if ( uLastPointedObjectID != 0 )
+        {
+          pFooterString[0] = 0;
+          bForceDrawFooter = 1;
+        }
+      }
+      uLastPointedObjectID = pMouse->uPointingObjectID;
+      return;
+    }
+    //окно(область) ящика-------------------------------------------
+    if ( pCurrentScreen == SCREEN_CHEST )
+    {
+      //ChestUI_WritePointedObjectStatusString(); нужно исправить
+      if ( pMouse->uPointingObjectID == 0 )
+      {
+        if ( uLastPointedObjectID != 0 )
+        {
+          pFooterString[0] = 0;
+          bForceDrawFooter = 1;
+        }
+      }
+      uLastPointedObjectID = pMouse->uPointingObjectID;
+      return;
+    }
+    //окно(область) магазина-----------------------------------------
+    if ( pCurrentScreen == SCREEN_HOUSE )
+    {
+      v16 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]];
+      if ( v16 != 0 && v16 != -65536 )
+      {
+        if ( dialog_menu_id == HOUSE_DIALOGUE_SHOP_BUY_STANDARD )
+        {
+          pItemGen = &pParty->StandartItemsInShops[(unsigned int)window_SpeakInHouse->ptr_1C][v16-1];
+          GameUI_SetFooterString(pItemGen->GetDisplayName());
+          uLastPointedObjectID = 1;
+        }
+        if ( dialog_menu_id == HOUSE_DIALOGUE_SHOP_BUY_SPECIAL )
+        {
+          pItemGen = &pParty->SpecialItemsInShops[(unsigned int)window_SpeakInHouse->ptr_1C][v16-1];
+          GameUI_SetFooterString(pItemGen->GetDisplayName());
+          uLastPointedObjectID = 1;
+        }
+        if ( dialog_menu_id == HOUSE_DIALOGUE_SHOP_SELL )
+        {
+          pItemGen = &pPlayers[uActiveCharacter]->pInventoryItemList[v16-1];
+          GameUI_SetFooterString(pItemGen->GetDisplayName());
+          uLastPointedObjectID = 1;
+        }
+      }
+      if ( pMouse->uPointingObjectID == 0 )
+      {
+        if ( uLastPointedObjectID != 0 )
+        {
+          pFooterString[0] = 0;
+          bForceDrawFooter = 1;
+        }
+      }
+      uLastPointedObjectID = pMouse->uPointingObjectID;
+      return;
+    }
+    //-----------------------------------------
+    for ( v1 = uNumVisibleWindows; v1 >= 0; --v1 ) // some other fullscreen ui
+    {
+      pWindow = &pWindowList[pVisibleWindowsIdxs[v1] - 1];
+      if ( (signed int)pX >= (signed int)pWindow->uFrameX && (signed int)pX <= (signed int)pWindow->uFrameZ
+        && (signed int)pY >= (signed int)pWindow->uFrameY && (signed int)pY <= (signed int)pWindow->uFrameW )
+      {
+        for ( pButton = pWindow->pControlsHead; ; pButton = pButton->pNext )
+        {
+          if ( !pButton )
+            break;
+          switch ( pButton->uButtonType )
+          {
+            case 1://for dialogue window
+              if ( (signed int)pX >= (signed int)pButton->uX && (signed int)pX <= (signed int)pButton->uZ
+                && (signed int)pY >= (signed int)pButton->uY && (signed int)pY <= (signed int)pButton->uW )
+              {
+                pMessageType1 = (UIMessageType)pButton->field_1C;
+                if ( pMessageType1 )
+                  pMessageQueue_50CBD0->AddMessage(pMessageType1, pButton->msg_param, 0);
+                GameUI_SetFooterString(pButton->pButtonName);
+                uLastPointedObjectID = 1;
+                return;
+              }
+              break;
+            case 2:
+              if ( pX >= pButton->uX && pX <= pButton->uZ
+                && pY >= pButton->uY && pY <= pButton->uW )
+              {
+                pMessageType1 = (UIMessageType)pButton->field_1C;
+                if ( pMessageType1 )
+                  pMessageQueue_50CBD0->AddMessage(pMessageType1, pButton->msg_param, 0);
+                GameUI_SetFooterString(pButton->pButtonName);
+                uLastPointedObjectID = 1;
+                return;
+              }
+              break;
+            case 3:// click on skill
+              if ( pX >= pButton->uX && pX <= pButton->uZ
+                && pY >= pButton->uY && pY <= pButton->uW )
+              {
+                v7 = (LOBYTE(pPlayers[uActiveCharacter]->pActiveSkills[pButton->msg_param]) & 0x3F) + 1;
+                if ( pPlayers[uActiveCharacter]->uSkillPoints < v7 )
+                  sprintf(Str1, pGlobalTXT_LocalizationStrings[469], v7 - pPlayers[uActiveCharacter]->uSkillPoints);// "You need %d more Skill Points to advance here"
+                else
+                  sprintf(Str1, pGlobalTXT_LocalizationStrings[468], v7);// "Clicking here will spend %d Skill Points"
+                GameUI_SetFooterString(Str1);
+                uLastPointedObjectID = 1;
+                return;
+              }
+              break;
+          }
+        }
       }
     }
-    uLastPointedObjectID = pMouse->uPointingObjectID;
-    return;
+    //конец пределов основного экрана------------------------
   }
-
-  for ( v1 = uNumVisibleWindows; v1 > 0; --v1 ) // some other fullscreen ui
+  for ( v1 = uNumVisibleWindows; v1 >= 0; --v1 ) // some other fullscreen ui
   {
-    pWindow = &pWindowList[pVisibleWindowsIdxs[v1] - 1];
+      pWindow = &pWindowList[pVisibleWindowsIdxs[v1] - 1];
     if ( (signed int)pX >= (signed int)pWindow->uFrameX && (signed int)pX <= (signed int)pWindow->uFrameZ
       && (signed int)pY >= (signed int)pWindow->uFrameY && (signed int)pY <= (signed int)pWindow->uFrameW )
     {
@@ -1442,151 +1550,17 @@
       }
     }
   }
-
-  if ( uNumVisibleWindows <= 0 || (uNumVisibleWindows > 0 && pWindow->uFrameHeight != 480 && v1 <= 0))
+  pMouse->uPointingObjectID = sub_46A99B();
+  if ( pMouse->uPointingObjectID == 0 )
   {
-    if ( pCurrentScreen == SCREEN_CHEST )
-    {
-      ChestUI_WritePointedObjectStatusString();
-      if ( pMouse->uPointingObjectID == 0 )
-      {
-        if ( uLastPointedObjectID != 0 )
-        {
-          pFooterString[0] = 0;
-          bForceDrawFooter = 1;
-        }
-      }
-      uLastPointedObjectID = pMouse->uPointingObjectID;
-      return;
-    }
-    if ( pCurrentScreen == SCREEN_HOUSE )
-    {
-      if ( dialog_menu_id != HOUSE_DIALOGUE_SHOP_BUY_STANDARD
-        || (v16 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]], v16 == 0)
-        || v16 == -65536 )
-      {
-        if ( pMouse->uPointingObjectID == 0 )
-        {
-          if ( uLastPointedObjectID != 0 )
-          {
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-          }
-        }
-        uLastPointedObjectID = pMouse->uPointingObjectID;
-        return;
-       }
-      pItemGen = (ItemGen *)((char *)&pParty->pPickedItem + 36 * (v16 + 12 * (unsigned int)window_SpeakInHouse->ptr_1C) + 4);
-      GameUI_SetFooterString(pItemGen->GetDisplayName());
-      uLastPointedObjectID = 1;
-      if ( pMouse->uPointingObjectID == 0 )
-      {
-        if ( uLastPointedObjectID != 0 )
-        {
-          pFooterString[0] = 0;
-          bForceDrawFooter = 1;
-        }
-      }
-      uLastPointedObjectID = pMouse->uPointingObjectID;
-      return;
-    }
-    if ( (signed int)pY < 350 )
+    if ( uLastPointedObjectID != 0 )
     {
-      v14 = pRenderer->pActiveZBuffer[pX + pSRZBufferLineOffsets[pY]];
-      if ( v14 == 0 || v14 == -65536 || (unsigned int)v14 >= 0x1388 )
-      {
-        if ( pMouse->uPointingObjectID == 0 )
-        {
-          if ( uLastPointedObjectID != 0 )
-          {
-            pFooterString[0] = 0;
-            bForceDrawFooter = 1;
-          }
-        }
-        uLastPointedObjectID = pMouse->uPointingObjectID;
-        return;
-      }
-      pItemGen = (ItemGen *)&pPlayers[uActiveCharacter]->pInventoryItemList[v14-1];
-      GameUI_SetFooterString(pItemGen->GetDisplayName());
-      uLastPointedObjectID = 1;
-      if ( pMouse->uPointingObjectID == 0 )
-      {
-        if ( uLastPointedObjectID != 0 )
-        {
-          pFooterString[0] = 0;
-          bForceDrawFooter = 1;
-        }
-      }
-      uLastPointedObjectID = pMouse->uPointingObjectID;
-      return;
+      pFooterString[0] = 0;
+      bForceDrawFooter = 1;
     }
-_click_on_game_ui:
-    if ( (signed int)pX >= (signed int)pWindowList[0].uFrameX && (signed int)pX <= (signed int)pWindowList[0].uFrameZ
-      && (signed int)pY >= (signed int)pWindowList[0].uFrameY && (signed int)pY <= (signed int)pWindowList[0].uFrameW )
-    {
-      for ( pButton = pWindowList[0].pControlsHead; ; pButton = pButton->pNext )
-      {
-        if ( !pButton )
-          break;
-        switch ( pButton->uButtonType )
-        {
-          case 1:
-            if ( (signed int)pX >= (signed int)pButton->uX && (signed int)pX <= (signed int)pButton->uZ
-              && (signed int)pY >= (signed int)pButton->uY && (signed int)pY <= (signed int)pButton->uW )
-            {
-              pMessageType3 = (UIMessageType)pButton->field_1C;
-              if ( pMessageType3 == 0 ) // For books
-              {
-                GameUI_SetFooterString(pButton->pButtonName);
-                uLastPointedObjectID = 1;
-                return;
-              }
-              pMessageQueue_50CBD0->AddMessage(pMessageType3, pButton->msg_param, 0);
-              uLastPointedObjectID = 1;
-              return;
-            }
-            break;
-          case 2:
-            if (pX >= pButton->uX && pX <= pButton->uZ &&
-                pY >= pButton->uY && pY <= pButton->uW)
-            {
-              pMessageType2 = (UIMessageType)pButton->field_1C;
-              if ( pMessageType2 != 0 )
-                pMessageQueue_50CBD0->AddMessage(pMessageType2, pButton->msg_param, 0);
-              GameUI_SetFooterString(pButton->pButtonName); // for character name
-              uLastPointedObjectID = 1;
-              return;
-            }
-            break;
-          case 3:
-            if ( pX >= pButton->uX && pX <= pButton->uZ
-              && pY >= pButton->uY && pY <= pButton->uW )
-            {
-              v7 = (LOBYTE(pPlayers[uActiveCharacter]->pActiveSkills[pButton->msg_param]) & 0x3F) + 1;
-              if ( pPlayers[uActiveCharacter]->uSkillPoints < v7 )
-                sprintf(Str1, pGlobalTXT_LocalizationStrings[469], v7 - pPlayers[uActiveCharacter]->uSkillPoints);// "You need %d more Skill Points to advance here"
-              else
-                sprintf(Str1, pGlobalTXT_LocalizationStrings[468], v7);// "Clicking here will spend %d Skill Points"
-              GameUI_SetFooterString(Str1);
-              uLastPointedObjectID = 1;
-              return;
-            }
-            break;
-        }
-      }
-    }
-    pMouse->uPointingObjectID = sub_46A99B();
-    if ( pMouse->uPointingObjectID == 0 )
-    {
-      if ( uLastPointedObjectID != 0 )
-      {
-        pFooterString[0] = 0;
-        bForceDrawFooter = 1;
-      }
-    }
-    uLastPointedObjectID = pMouse->uPointingObjectID;
-    return;
   }
+  uLastPointedObjectID = pMouse->uPointingObjectID;
+  return;
 }
 
 //----- (0044158F) --------------------------------------------------------