diff GUI/GUIWindow.cpp @ 2573:0c67be4ec900

DrawTextureIndexed renamed to DrawTextureTransparentColorKey Changing more class Texture to class Image.
author a.parshin
date Sat, 05 Mar 2016 16:25:53 +0200
parents d87bfbd3bb3b
children dd36326a9994
line wrap: on
line diff
--- a/GUI/GUIWindow.cpp	Sat Mar 05 01:51:54 2016 +0200
+++ b/GUI/GUIWindow.cpp	Sat Mar 05 16:25:53 2016 +0200
@@ -26,12 +26,13 @@
 #include "Engine/Tables/IconFrameTable.h"
 #include "Engine/Objects/Actor.h"
 #include "Engine/AssetsManager.h"
+#include "Engine/Events.h"
+#include "Engine/Graphics/Level\Decoration.h"
 
-#include "GUI\UI\UIArena.h"
+#include "GUI/UI/UIArena.h"
 #include "GUI/UI/UIPopup.h"
 #include "GUI/UI/UIGame.h"
-#include "Engine/Events.h"
-#include "Engine/Graphics/Level\Decoration.h"
+#include "GUI/UI/UICharacter.h"
 
 typedef struct _RGBColor
     {
@@ -73,6 +74,9 @@
 struct GUIMessageQueue *pMessageQueue_50C9E8 = new GUIMessageQueue;
 
 
+Image *ui_exit_cancel_button_background = nullptr;
+Image *game_ui_right_panel_frame = nullptr;
+unsigned int uExitCancelTextureId;
 
 
 
@@ -638,8 +642,8 @@
   pWindow.uFrameZ -= 18;
   pWhiteColor = Color16(0xFFu, 0xFFu, 0xFFu);
   pColor2 = Color16(0x15u, 0x99u, 0xE9u);
-  pRenderer->DrawTextureIndexed(0x1DDu, 0, pTexture_Dialogue_Background);
-  pRenderer->DrawTextureIndexedAlpha(0x1D4u, 0, right_panel_loop);
+  pRenderer->DrawTextureTransparentColorKey(0x1DDu, 0, pTexture_Dialogue_Background);
+  pRenderer->DrawTextureAlphaNew(468, 0, game_ui_right_panel_frame);
   if ( pDialogueNPCCount != uNumDialogueNPCPortraits || !uHouse_ExitPic )
   {
     pDialogWindow.uFrameWidth = 130;
@@ -664,11 +668,11 @@
       JailDialog();
       if ( pDialogueNPCCount == uNumDialogueNPCPortraits && uHouse_ExitPic )
       {
-        pRenderer->DrawTextureIndexed(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
-        pRenderer->DrawTextureIndexed(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
+        pRenderer->DrawTextureTransparentColorKey(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
+        pRenderer->DrawTextureTransparentColorKey(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
       }
       else
-        pRenderer->DrawTextureIndexed(471, 445, &pIcons_LOD->pTextures[uExitCancelTextureId]);
+        pRenderer->DrawTextureAlphaNew(471/640.0f, 445/480.0f, ui_exit_cancel_button_background);
       return;
     }
     if ( current_npc_text )
@@ -679,7 +683,7 @@
       v6 = pTextHeight + 7;
       pRenderer->GetLeather(8, 352 - (pTextHeight + 7), &pIcons_LOD->pTextures[uTextureID_Leather], 
           pIcons_LOD->pTextures[uTextureID_Leather].uTextureHeight - (pTextHeight + 7));
-      pRenderer->DrawTextureIndexed(8, 347 - v6, pTexture_591428);
+      pRenderer->DrawTextureAlphaNew(8/640.0f, (347 - v6)/480.0f, _591428_endcap);
       v7 = FitTextInAWindow(current_npc_text, pFontArrus, &pDialogWindow, 0xDu, 0);
       window_SpeakInHouse->DrawText(pFontArrus, 13, 354 - v6, 0, v7, 0, 0, 0);
     }
@@ -687,18 +691,18 @@
     {
       if ( pDialogueNPCCount == uNumDialogueNPCPortraits && uHouse_ExitPic )
       {
-        pRenderer->DrawTextureIndexed(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
-        pRenderer->DrawTextureIndexed(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
+        pRenderer->DrawTextureTransparentColorKey(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
+        pRenderer->DrawTextureTransparentColorKey(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
       }
       else
-        pRenderer->DrawTextureIndexed(471, 445, &pIcons_LOD->pTextures[uExitCancelTextureId]);
+          pRenderer->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f, ui_exit_cancel_button_background);
       return;
     }
     for ( v8 = 0; v8 < uNumDialogueNPCPortraits; ++v8 )
     {
-      pRenderer->DrawTextureIndexed(pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v8] - 4,
+      pRenderer->DrawTextureTransparentColorKey(pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v8] - 4,
                                     pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8] - 4, &pIcons_LOD->pTextures[uTextureID_50795C]);
-      pRenderer->DrawTextureIndexed(pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v8],
+      pRenderer->DrawTextureTransparentColorKey(pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v8],
                                     pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8], pDialogueNPCPortraits[v8]);
       if ( uNumDialogueNPCPortraits < 4 )
       {
@@ -724,26 +728,26 @@
     }
       if ( pDialogueNPCCount == uNumDialogueNPCPortraits && uHouse_ExitPic )
       {
-        pRenderer->DrawTextureIndexed(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
-        pRenderer->DrawTextureIndexed(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
+        pRenderer->DrawTextureTransparentColorKey(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
+        pRenderer->DrawTextureTransparentColorKey(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
       }
       else
-        pRenderer->DrawTextureIndexed(471, 445, &pIcons_LOD->pTextures[uExitCancelTextureId]);
+          pRenderer->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f, ui_exit_cancel_button_background);
       return;
   }
   v4 = (char *)pDialogueNPCCount - 1;
-  pRenderer->DrawTextureIndexed(pNPCPortraits_x[0][0] - 4, pNPCPortraits_y[0][0] - 4, &pIcons_LOD->pTextures[uTextureID_50795C]);
-  pRenderer->DrawTextureIndexed(pNPCPortraits_x[0][0], pNPCPortraits_y[0][0], pDialogueNPCPortraits[(signed int)v4]);
+  pRenderer->DrawTextureTransparentColorKey(pNPCPortraits_x[0][0] - 4, pNPCPortraits_y[0][0] - 4, &pIcons_LOD->pTextures[uTextureID_50795C]);
+  pRenderer->DrawTextureTransparentColorKey(pNPCPortraits_x[0][0], pNPCPortraits_y[0][0], pDialogueNPCPortraits[(signed int)v4]);
   if ( current_screen_type == SCREEN_E )
   {
     CharacterUI_InventoryTab_Draw(pPlayers[uActiveCharacter], true);
     if ( pDialogueNPCCount == uNumDialogueNPCPortraits && uHouse_ExitPic )
     {
-      pRenderer->DrawTextureIndexed(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
-      pRenderer->DrawTextureIndexed(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
+      pRenderer->DrawTextureTransparentColorKey(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
+      pRenderer->DrawTextureTransparentColorKey(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
     }
     else
-      pRenderer->DrawTextureIndexed(471, 445, &pIcons_LOD->pTextures[uExitCancelTextureId]);
+        pRenderer->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f, ui_exit_cancel_button_background);
     return;
   }
   if ( v4 || !dword_591080 )//на изумрудном острове заходит на корабле пока не выполнены квесты
@@ -812,11 +816,11 @@
   }
   if ( pDialogueNPCCount == uNumDialogueNPCPortraits && uHouse_ExitPic )
   {
-    pRenderer->DrawTextureIndexed(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
-    pRenderer->DrawTextureIndexed(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
+    pRenderer->DrawTextureTransparentColorKey(556, 451, &pIcons_LOD->pTextures[uTextureID_x_x_u]);
+    pRenderer->DrawTextureTransparentColorKey(476, 451, &pIcons_LOD->pTextures[uTextureID_x_ok_u]);
   }
   else
-    pRenderer->DrawTextureIndexed(471, 445, &pIcons_LOD->pTextures[uExitCancelTextureId]);
+      pRenderer->DrawTextureAlphaNew(471 / 640.0f, 445 / 480.0f, ui_exit_cancel_button_background);
 }
 
 //----- (004B1854) --------------------------------------------------------
@@ -1324,7 +1328,7 @@
 // -----------------------------------
 // 004156F0 GUI_UpdateWindows --- part
     auto pButton = (GUIButton *)ptr_1C;
-    pRenderer->DrawTextureIndexed(uFrameY, uFrameX, pButton->pTextures[0]);
+    pRenderer->DrawTextureTransparentColorKey(uFrameY, uFrameX, pButton->pTextures[0]);
     viewparams->bRedrawGameUI = true;
 }
 
@@ -1424,7 +1428,7 @@
     {
         if (pButton->uY >= 0 && pButton->uY <= window->GetHeight())
         {
-            pRenderer->DrawTextureIndexed(uFrameX, uFrameY, pButton->pTextures[0]);
+            pRenderer->DrawTextureTransparentColorKey(uFrameX, uFrameY, pButton->pTextures[0]);
             viewparams->bRedrawGameUI = true;
             if (Hint && Hint != (char *)1)
                 pButton->DrawLabel(Hint, pFontCreate, 0, 0);
@@ -1445,7 +1449,7 @@
     if (Hint != (char *)1)
         pAudioPlayer->PlaySound(SOUND_StartMainChoice02, 0, 0, -1, 0, 0, 0, 0);
     auto pButton = (GUIButton *)ptr_1C;
-    pRenderer->DrawTextureIndexed(uFrameX, uFrameY, pButton->pTextures[1]);
+    pRenderer->DrawTextureTransparentColorKey(uFrameX, uFrameY, pButton->pTextures[1]);
     viewparams->bRedrawGameUI = 1;
     if (Hint && Hint != (char *)1)
         pButton->DrawLabel(Hint, pFontCreate, 0, 0);
@@ -1472,7 +1476,7 @@
     if (Hint != (char *)1)
         pAudioPlayer->PlaySound(SOUND_StartMainChoice02, 0, 0, -1, 0, 0, 0, 0);
     auto pButton = (GUIButton *)ptr_1C;
-    pRenderer->DrawTextureIndexed(uFrameX, uFrameY, pButton->pTextures[0]);
+    pRenderer->DrawTextureTransparentColorKey(uFrameX, uFrameY, pButton->pTextures[0]);
     viewparams->bRedrawGameUI = true;
     if (Hint && Hint != (char *)1)
         pButton->DrawLabel(Hint, pFontCreate, 0, 0);
@@ -1491,7 +1495,7 @@
     if (Hint != (char *)1)
         pAudioPlayer->PlaySound(SOUND_StartMainChoice02, 0, 0, -1, 0, 0, 0, 0);
     auto pGUIButton = (GUIButton *)ptr_1C;
-    pRenderer->DrawTextureIndexed(uFrameX, uFrameY, pGUIButton->pTextures[0]);
+    pRenderer->DrawTextureTransparentColorKey(uFrameX, uFrameY, pGUIButton->pTextures[0]);
     viewparams->bRedrawGameUI = true;
     if (Hint && Hint != (char *)1)
         pGUIButton->DrawLabel(Hint, pFontCreate, 0, 0);
@@ -1507,7 +1511,7 @@
     if (Hint != (char *)1)
         pAudioPlayer->PlaySound(SOUND_StartMainChoice02, 0, 0, -1, 0, 0, 0, 0);
     auto pButton = (GUIButton *)ptr_1C;
-    pRenderer->DrawTextureIndexed(uFrameX, uFrameY, pButton->pTextures[1]);
+    pRenderer->DrawTextureTransparentColorKey(uFrameX, uFrameY, pButton->pTextures[1]);
     viewparams->bRedrawGameUI = true;
     if (Hint && Hint != (char *)1)
         pButton->DrawLabel(Hint, pFontCreate, 0, 0);
@@ -1727,7 +1731,7 @@
         game_ui_leftframe = assets->GetImage_PCXFromIconsLOD(L"ib-l-C.pcx");
         game_ui_statusbar = assets->GetImage_PCXFromIconsLOD(L"IB-Foot-c.pcx");
 
-      right_panel = assets->GetTexture("ib-mb-C");
+        game_ui_right_panel_frame = assets->GetImage_16BitAlpha(L"ib-mb-C");
       minimap_loop = assets->GetTexture("ib-autmask-c");
       _5079B4_compass = assets->GetTexture("IB-COMP-C");
       _5079D0_init_g = assets->GetTexture("IB-InitG-c");
@@ -1754,9 +1758,10 @@
       pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchC");
       pIconsFrameTable->InitializeAnimation(pUIAnum_Torchlight->uIconID);
 
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uExitCancelTextureId], "ib-bcu-c", 2);
+      ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-c", 0x7FF);
+      uExitCancelTextureId = pIcons_LOD->LoadTexture("ib-bcu-c", TEXTURE_16BIT_PALETTE);
       pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_50795C], "evtnpc-c", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_CharacterUI_InventoryBackground], "fr_inven-c", 2);
+      ui_character_inventory_background = assets->GetImage_16BitColorKey(L"fr_inven-c", 0x7FF);
       messagebox_corner_y = assets->GetImage_16BitAlpha(L"cornr_ll-c");
       messagebox_corner_w = assets->GetImage_16BitAlpha(L"cornr_lr-c");
       messagebox_corner_x = assets->GetImage_16BitAlpha(L"cornr_ul-c");
@@ -1765,7 +1770,7 @@
       messagebox_border_left = assets->GetImage_16BitAlpha(L"edge_lf-c");
       messagebox_border_right = assets->GetImage_16BitAlpha(L"edge_rt-c");
       messagebox_border_top = assets->GetImage_16BitAlpha(L"edge_top-c");
-      pIcons_LOD->ReloadTexture(pTexture_591428, "endcap-c", 2);
+      _591428_endcap = assets->GetImage_16BitColorKey(L"endcap-c", 0x7FF);
     }
     else
     {
@@ -1773,9 +1778,9 @@
         game_ui_bottomframe = assets->GetImage_PCXFromIconsLOD(L"ib-b-c.pcx");
         game_ui_topframe = assets->GetImage_PCXFromIconsLOD(L"ib-t-C.pcx");
         game_ui_leftframe = assets->GetImage_PCXFromIconsLOD(L"ib-l-C.pcx");
-      game_ui_statusbar = assets->GetImage_PCXFromIconsLOD(L"IB-Foot-c.pcx");
+        game_ui_statusbar = assets->GetImage_PCXFromIconsLOD(L"IB-Foot-c.pcx");
 
-      right_panel = assets->GetTexture("ib-mb-C");
+        game_ui_right_panel_frame = assets->GetImage_16BitAlpha(L"ib-mb-C");
       minimap_loop = assets->GetTexture("ib-autmask-c");
       _5079B4_compass = assets->GetTexture("IB-COMP-C");
       _5079D0_init_g = assets->GetTexture("IB-InitG-c");
@@ -1791,13 +1796,14 @@
       uTextureID_Btn_Rest = pIcons_LOD->LoadTexture("ib-m2d-c", TEXTURE_16BIT_PALETTE);
       uTextureID_Btn_QuickReference = pIcons_LOD->LoadTexture("ib-m3d-c", TEXTURE_16BIT_PALETTE);
       uTextureID_Btn_GameSettings = pIcons_LOD->LoadTexture("ib-m4d-c", TEXTURE_16BIT_PALETTE);
+      ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-c", 0x7FF);
       uExitCancelTextureId = pIcons_LOD->LoadTexture("ib-bcu-c", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_Bless = pIcons_LOD->LoadTexture("isg-01-c", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_Preservation = pIcons_LOD->LoadTexture("isg-02-c", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_Hammerhands = pIcons_LOD->LoadTexture("isg-03-c", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_PainReflection = pIcons_LOD->LoadTexture("isg-04-c", TEXTURE_16BIT_PALETTE);
       uTextureID_50795C = pIcons_LOD->LoadTexture("evtnpc-c", TEXTURE_16BIT_PALETTE);
-      uTextureID_CharacterUI_InventoryBackground = pIcons_LOD->LoadTexture("fr_inven", TEXTURE_16BIT_PALETTE);
+      ui_character_inventory_background = assets->GetImage_16BitColorKey(L"fr_inven", 0x7FF);
       pUIAnim_WizardEye->uIconID = pIconsFrameTable->FindIcon("wizeyeC");
       pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnim_WizardEye->uIconID);
       pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchC");
@@ -1816,7 +1822,7 @@
         game_ui_leftframe = assets->GetImage_PCXFromIconsLOD(L"ib-l-a.pcx");
       game_ui_statusbar = assets->GetImage_PCXFromIconsLOD(L"IB-Foot-a.pcx");
 
-      right_panel = assets->GetTexture("ib-mb-a");
+      game_ui_right_panel_frame = assets->GetImage_16BitAlpha(L"ib-mb-a");
       minimap_loop = assets->GetTexture("ib-autmask-a");
       _5079B4_compass = assets->GetTexture("IB-COMP-a");
       _5079D0_init_g = assets->GetTexture("IB-InitG-a");
@@ -1840,9 +1846,10 @@
       pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnim_WizardEye->uIconID);
       pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchA");
       pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnum_Torchlight->uIconID);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uExitCancelTextureId], "ib-bcu-a", 2);
+      ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-a", 0x7FF);
+      uExitCancelTextureId = pIcons_LOD->LoadTexture("ib-bcu-a", TEXTURE_16BIT_PALETTE);
       pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_50795C], "evtnpc", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_CharacterUI_InventoryBackground], "fr_inven", 2);
+      ui_character_inventory_background = assets->GetImage_16BitColorKey(L"fr_inven", 0x7FF);
       messagebox_corner_y = assets->GetImage_16BitAlpha(L"cornr_ll");
       messagebox_corner_w = assets->GetImage_16BitAlpha(L"cornr_lr");
       messagebox_corner_x = assets->GetImage_16BitAlpha(L"cornr_ul");
@@ -1851,7 +1858,7 @@
       messagebox_border_left = assets->GetImage_16BitAlpha(L"edge_lf");
       messagebox_border_right = assets->GetImage_16BitAlpha(L"edge_rt");
       messagebox_border_top = assets->GetImage_16BitAlpha(L"edge_top");
-      pIcons_LOD->ReloadTexture(pTexture_591428, "endcap", 2);
+      _591428_endcap = assets->GetImage_16BitColorKey(L"endcap", 0x7FF);
     }
     else
     {
@@ -1861,7 +1868,7 @@
         game_ui_leftframe = assets->GetImage_PCXFromIconsLOD(L"ib-l-A.pcx");
       game_ui_statusbar = assets->GetImage_PCXFromIconsLOD(L"IB-Foot-a.pcx");
 
-      right_panel = assets->GetTexture("ib-mb-A");
+      game_ui_right_panel_frame = assets->GetImage_16BitAlpha(L"ib-mb-A");
       minimap_loop = assets->GetTexture("ib-autmask-a");
       _5079B4_compass = assets->GetTexture("IB-COMP-A");
       _5079D0_init_g = assets->GetTexture("IB-InitG-a");
@@ -1877,13 +1884,14 @@
       uTextureID_Btn_GameSettings = pIcons_LOD->LoadTexture("ib-m4d-a", TEXTURE_16BIT_PALETTE);
       uTextureID_Btn_ZoomIn = pIcons_LOD->LoadTexture("ib-autout-a", TEXTURE_16BIT_PALETTE);
       uTextureID_Btn_ZoomOut = pIcons_LOD->LoadTexture("ib-autin-a", TEXTURE_16BIT_PALETTE);
+      ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-a", 0x7FF);
       uExitCancelTextureId = pIcons_LOD->LoadTexture("ib-bcu-a", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_Bless = pIcons_LOD->LoadTexture("isg-01-a", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_Preservation = pIcons_LOD->LoadTexture("isg-02-a", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_Hammerhands = pIcons_LOD->LoadTexture("isg-03-a", TEXTURE_16BIT_PALETTE);
       uTextureID_PlayerBuff_PainReflection = pIcons_LOD->LoadTexture("isg-04-a", TEXTURE_16BIT_PALETTE);
       uTextureID_50795C = pIcons_LOD->LoadTexture("evtnpc", TEXTURE_16BIT_PALETTE);
-      uTextureID_CharacterUI_InventoryBackground = pIcons_LOD->LoadTexture("fr_inven", TEXTURE_16BIT_PALETTE);
+      ui_character_inventory_background = assets->GetImage_16BitColorKey(L"fr_inven", 0x7FF);
       pUIAnim_WizardEye->uIconID = pIconsFrameTable->FindIcon("wizeyeA");
       pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnim_WizardEye->uIconID);
       pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchA");
@@ -1896,7 +1904,7 @@
       messagebox_border_left = assets->GetImage_16BitAlpha(L"edge_lf");
       messagebox_border_right = assets->GetImage_16BitAlpha(L"edge_rt");
       messagebox_border_top = assets->GetImage_16BitAlpha(L"edge_top");
-      pTexture_591428 = pIcons_LOD->LoadTexturePtr("endcap", TEXTURE_16BIT_PALETTE);
+      _591428_endcap = assets->GetImage_16BitColorKey(L"endcap", 0x7FF);
     }
     uGameUIFontMain = Color16(0xAu, 0, 0);
     uGameUIFontShadow = Color16(230, 214, 193);
@@ -1911,7 +1919,7 @@
         game_ui_leftframe = assets->GetImage_PCXFromIconsLOD(L"ib-l-B.pcx");
       game_ui_statusbar = assets->GetImage_PCXFromIconsLOD(L"IB-Foot-b.pcx");
 
-      right_panel = assets->GetTexture("ib-mb-B");
+      game_ui_right_panel_frame = assets->GetImage_16BitAlpha(L"ib-mb-B");
       minimap_loop = assets->GetTexture("ib-autmask-b");
       _5079B4_compass = assets->GetTexture("IB-COMP-B");
       _5079D0_init_g = assets->GetTexture("IB-InitG-b");
@@ -1935,9 +1943,10 @@
       pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnim_WizardEye->uIconID);
       pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchB");
       pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnum_Torchlight->uIconID);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uExitCancelTextureId], "ib-bcu-b", 2);
+      ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-b", 0x7FF);
+      uExitCancelTextureId = pIcons_LOD->LoadTexture("ib-bcu-b", TEXTURE_16BIT_PALETTE);
       pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_50795C], "evtnpc-b", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_CharacterUI_InventoryBackground], "fr_inven-b", 2);
+      ui_character_inventory_background = assets->GetImage_16BitColorKey(L"fr_inven-b", 0x7FF);
       messagebox_corner_y = assets->GetImage_16BitAlpha(L"cornr_ll-b");
       messagebox_corner_w = assets->GetImage_16BitAlpha(L"cornr_lr-b");
       messagebox_corner_x = assets->GetImage_16BitAlpha(L"cornr_ul-b");
@@ -1946,7 +1955,7 @@
       messagebox_border_left = assets->GetImage_16BitAlpha(L"edge_lf-b");
       messagebox_border_right = assets->GetImage_16BitAlpha(L"edge_rt-b");
       messagebox_border_top = assets->GetImage_16BitAlpha(L"edge_top-b");
-      pIcons_LOD->ReloadTexture(pTexture_591428, "endcap-b", 2);
+      _591428_endcap = assets->GetImage_16BitColorKey(L"endcap-b", 0x7FF);
     }
     uGameUIFontMain = Color16(0, 0, 0xC8u);
     uGameUIFontShadow = Color16(255, 255, 255);