diff GUI/GUIWindow.cpp @ 2575:a76d408c5132 tip

DrawTranslucent -> DrawTextureGrayShade Removed old texture drawing stuff
author a.parshin
date Wed, 09 Mar 2016 01:39:52 +0200
parents dd36326a9994
children
line wrap: on
line diff
--- a/GUI/GUIWindow.cpp	Mon Mar 07 03:48:40 2016 +0200
+++ b/GUI/GUIWindow.cpp	Wed Mar 09 01:39:52 2016 +0200
@@ -419,7 +419,13 @@
 // -----------------------------------------
 // 0041C26A void GUIWindow::Release --- part
     if (!dword_591084)
-        pDialogueNPCPortraits[0]->Release();
+    {
+        if (pDialogueNPCPortraits[0])
+        {
+            pDialogueNPCPortraits[0]->Release();
+            pDialogueNPCPortraits[0] = nullptr;
+        }
+    }
     uNumDialogueNPCPortraits = 0;
 
     if (game_ui_dialogue_background)
@@ -449,7 +455,13 @@
 // -----------------------------------------
 // 0041C26A void GUIWindow::Release --- part
     for (int i = 0; i < uNumDialogueNPCPortraits; ++i)
-        pDialogueNPCPortraits[i]->Release();
+    {
+        if (pDialogueNPCPortraits[i])
+        {
+            pDialogueNPCPortraits[i]->Release();
+            pDialogueNPCPortraits[i] = nullptr;
+        }
+    }
     uNumDialogueNPCPortraits = 0;
 
     if (game_ui_dialogue_background)
@@ -685,8 +697,8 @@
     {
       pRenderer->DrawTextureAlphaNew((pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v8] - 4)/640.0f,
                                     (pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8] - 4)/480.0f, game_ui_evtnpc);
-      pRenderer->DrawTextureTransparentColorKey(pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v8],
-                                    pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8], pDialogueNPCPortraits[v8]);
+      pRenderer->DrawTextureAlphaNew(pNPCPortraits_x[uNumDialogueNPCPortraits - 1][v8]/640.0f,
+                                    pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8]/480.0f, pDialogueNPCPortraits[v8]);
       if ( uNumDialogueNPCPortraits < 4 )
       {
         if ( v8 + 1 == uNumDialogueNPCPortraits && uHouse_ExitPic )
@@ -703,7 +715,7 @@
             continue;
           }
           pTitleText = HouseNPCData[v8 +1 - (dword_591080 != 0)]->pName;
-          v9 = pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8] + pDialogueNPCPortraits[v8]->uTextureHeight + 2;
+          v9 = pNPCPortraits_y[uNumDialogueNPCPortraits - 1][v8] + pDialogueNPCPortraits[v8]->GetHeight() + 2;
         }
         v10 = v9;
         pWindow.DrawTitleText(pFontCreate, 483, v10, pColor2, pTitleText, 3);
@@ -720,7 +732,7 @@
   }
   v4 = (char *)pDialogueNPCCount - 1;
   pRenderer->DrawTextureAlphaNew((pNPCPortraits_x[0][0] - 4)/640.0f, (pNPCPortraits_y[0][0] - 4)/480.0f, game_ui_evtnpc);
-  pRenderer->DrawTextureTransparentColorKey(pNPCPortraits_x[0][0], pNPCPortraits_y[0][0], pDialogueNPCPortraits[(signed int)v4]);
+  pRenderer->DrawTextureAlphaNew(pNPCPortraits_x[0][0]/640.0f, pNPCPortraits_y[0][0]/480.0f, pDialogueNPCPortraits[(signed int)v4]);
   if ( current_screen_type == SCREEN_E )
   {
     CharacterUI_InventoryTab_Draw(pPlayers[uActiveCharacter], true);
@@ -1738,21 +1750,22 @@
         ui_btn_npc_right = assets->GetImage_16BitAlpha(L"IB-NPCRD-C");
         game_ui_btn_zoomin = assets->GetImage_16BitAlpha("ib-autout-C");
         game_ui_btn_zoomout = assets->GetImage_16BitAlpha("ib-autin-C");
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_GameUI_CharSelectionFrame], "IB-selec-C", 2);
+        game_ui_player_selection_frame = assets->GetImage_16BitColorKey("IB-selec-C", 0x7FF);
       game_ui_btn_cast = assets->GetImage_16BitAlpha("ib-m1d-c");
       game_ui_btn_rest = assets->GetImage_16BitAlpha("ib-m2d-c");
       game_ui_btn_quickref = assets->GetImage_16BitAlpha("ib-m3d-c");
       game_ui_btn_settings = assets->GetImage_16BitAlpha("ib-m4d-c");
 
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Bless], "isg-01-c", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Preservation], "isg-02-c", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Hammerhands], "isg-03-c", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_PainReflection], "isg-04-c", 2);
+      game_ui_playerbuff_bless = assets->GetImage_16BitColorKey("isg-01-c", 0x7FF);
+      game_ui_playerbuff_preservation = assets->GetImage_16BitColorKey("isg-02-c", 0x7FF);
+      game_ui_playerbuff_hammerhands = assets->GetImage_16BitColorKey("isg-03-c", 0x7FF);
+      game_ui_playerbuff_pain_reflection = assets->GetImage_16BitColorKey("isg-04-c", 0x7FF);
 
-      pUIAnim_WizardEye->uIconID = pIconsFrameTable->FindIcon("wizeyeC");
-      pIconsFrameTable->InitializeAnimation(pUIAnim_WizardEye->uIconID);
-      pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchC");
-      pIconsFrameTable->InitializeAnimation(pUIAnum_Torchlight->uIconID);
+      pUIAnim_WizardEye->icon = pIconsFrameTable->GetIcon("wizeyeC");
+      pIconsFrameTable->InitializeAnimation(pUIAnim_WizardEye->icon->id);
+
+      pUIAnum_Torchlight->icon = pIconsFrameTable->GetIcon("torchC");
+      pIconsFrameTable->InitializeAnimation(pUIAnum_Torchlight->icon->id);
 
       ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-c", 0x7FF);
 
@@ -1787,23 +1800,26 @@
       ui_btn_npc_right = assets->GetImage_16BitAlpha(L"IB-NPCRD-C");
       game_ui_btn_zoomin = assets->GetImage_16BitAlpha(L"ib-autout-C");
       game_ui_btn_zoomout = assets->GetImage_16BitAlpha(L"ib-autin-C");
-      uTextureID_GameUI_CharSelectionFrame = pIcons_LOD->LoadTexture("IB-selec-C", TEXTURE_16BIT_PALETTE);
+      game_ui_player_selection_frame = assets->GetImage_16BitColorKey("IB-selec-C", 0x7FF);
       game_ui_btn_cast = assets->GetImage_16BitAlpha(L"ib-m1d-c");
       game_ui_btn_rest = assets->GetImage_16BitAlpha("ib-m2d-c");
       game_ui_btn_quickref = assets->GetImage_16BitAlpha("ib-m3d-c");
       game_ui_btn_settings = assets->GetImage_16BitAlpha("ib-m4d-c");
       ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-c", 0x7FF);
 
-      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);
+      game_ui_playerbuff_bless = assets->GetImage_16BitColorKey("isg-01-c", 0x7FF);
+      game_ui_playerbuff_preservation = assets->GetImage_16BitColorKey("isg-02-c", 0x7FF);
+      game_ui_playerbuff_hammerhands = assets->GetImage_16BitColorKey("isg-03-c", 0x7FF);
+      game_ui_playerbuff_pain_reflection = assets->GetImage_16BitColorKey("isg-04-c", 0x7FF);
+
       game_ui_evtnpc = assets->GetImage_16BitColorKey(L"evtnpc-c", 0x7FF);
       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");
-      pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnum_Torchlight->uIconID);
+
+      pUIAnim_WizardEye->icon = pIconsFrameTable->GetIcon("wizeyeC");
+      pIconsFrameTable->InitializeAnimation(pUIAnim_WizardEye->icon->id);
+
+      pUIAnum_Torchlight->icon = pIconsFrameTable->GetIcon("torchC");
+      pIconsFrameTable->InitializeAnimation(pUIAnum_Torchlight->icon->id);
     }
     uGameUIFontMain = Color16(0xC8u, 0, 0);
     uGameUIFontShadow = Color16(10, 0, 0);
@@ -1829,19 +1845,21 @@
       ui_btn_npc_right = assets->GetImage_16BitAlpha(L"IB-NPCRD-a");
       game_ui_btn_zoomin = assets->GetImage_16BitAlpha("ib-autout-a");
       game_ui_btn_zoomout = assets->GetImage_16BitAlpha("ib-autin-a");
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_GameUI_CharSelectionFrame], "IB-selec-a", 2);
+      game_ui_player_selection_frame = assets->GetImage_16BitColorKey("IB-selec-a", 0x7FF);
       game_ui_btn_cast = assets->GetImage_16BitAlpha("ib-m1d-a");
       game_ui_btn_rest = assets->GetImage_16BitAlpha("ib-m2d-a");
       game_ui_btn_quickref = assets->GetImage_16BitAlpha("ib-m3d-a");
       game_ui_btn_settings = assets->GetImage_16BitAlpha("ib-m4d-a");
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Bless], "isg-01-a", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Preservation], "isg-02-a", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Hammerhands], "isg-03-a", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_PainReflection], "isg-04-a", 2);
-      pUIAnim_WizardEye->uIconID = pIconsFrameTable->FindIcon("wizeyeA");
-      pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnim_WizardEye->uIconID);
-      pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchA");
-      pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnum_Torchlight->uIconID);
+
+      game_ui_playerbuff_bless = assets->GetImage_16BitColorKey("isg-01-a", 0x7FF);
+      game_ui_playerbuff_preservation = assets->GetImage_16BitColorKey("isg-02-a", 0x7FF);
+      game_ui_playerbuff_hammerhands = assets->GetImage_16BitColorKey("isg-03-a", 0x7FF);
+      game_ui_playerbuff_pain_reflection = assets->GetImage_16BitColorKey("isg-04-a", 0x7FF);
+
+      pUIAnim_WizardEye->icon = pIconsFrameTable->GetIcon("wizeyeA");
+      pIconsFrameTable->InitializeAnimation(pUIAnim_WizardEye->icon->id);
+      pUIAnum_Torchlight->icon = pIconsFrameTable->GetIcon("torchA");
+      pIconsFrameTable->InitializeAnimation(pUIAnum_Torchlight->icon->id);
 
       ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-a", 0x7FF);
 
@@ -1874,7 +1892,7 @@
 
       ui_btn_npc_left = assets->GetImage_16BitAlpha(L"IB-NPCLD-A");
       ui_btn_npc_right = assets->GetImage_16BitAlpha(L"IB-NPCRD-A");
-      uTextureID_GameUI_CharSelectionFrame = pIcons_LOD->LoadTexture("IB-selec-A", TEXTURE_16BIT_PALETTE);
+      game_ui_player_selection_frame = assets->GetImage_16BitColorKey("IB-selec-A", 0x7FF);
       game_ui_btn_cast = assets->GetImage_16BitAlpha("ib-m1d-a");
       game_ui_btn_rest = assets->GetImage_16BitAlpha("ib-m2d-a");
       game_ui_btn_quickref = assets->GetImage_16BitAlpha("ib-m3d-a");
@@ -1883,16 +1901,19 @@
       game_ui_btn_zoomout = assets->GetImage_16BitAlpha("ib-autin-a");
       ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-a", 0x7FF);
 
-      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);
+      game_ui_playerbuff_bless = assets->GetImage_16BitColorKey("isg-01-a", 0x7FF);
+      game_ui_playerbuff_preservation = assets->GetImage_16BitColorKey("isg-02-a", 0x7FF);
+      game_ui_playerbuff_hammerhands = assets->GetImage_16BitColorKey("isg-03-a", 0x7FF);
+      game_ui_playerbuff_pain_reflection = assets->GetImage_16BitColorKey("isg-04-a", 0x7FF);
+
       game_ui_evtnpc = assets->GetImage_16BitColorKey(L"evtnpc", 0x7FF);
       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");
-      pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnum_Torchlight->uIconID);
+
+      pUIAnim_WizardEye->icon = pIconsFrameTable->GetIcon("wizeyeA");
+      pIconsFrameTable->InitializeAnimation(pUIAnim_WizardEye->icon->id);
+      pUIAnum_Torchlight->icon = pIconsFrameTable->GetIcon("torchA");
+      pIconsFrameTable->InitializeAnimation(pUIAnum_Torchlight->icon->id);
+
       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");
@@ -1927,21 +1948,23 @@
       ui_btn_npc_right = assets->GetImage_16BitAlpha(L"IB-NPCRD-B");
       game_ui_btn_zoomin = assets->GetImage_16BitAlpha("ib-autout-B");
       game_ui_btn_zoomout = assets->GetImage_16BitAlpha("ib-autin-B");
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_GameUI_CharSelectionFrame], "IB-selec-B", 2);
+      game_ui_player_selection_frame = assets->GetImage_16BitColorKey("IB-selec-B", 0x7FF);
       game_ui_btn_cast = assets->GetImage_16BitAlpha("ib-m1d-b");
       game_ui_btn_rest = assets->GetImage_16BitAlpha("ib-m2d-b");
       game_ui_btn_quickref = assets->GetImage_16BitAlpha("ib-m3d-b");
       game_ui_btn_settings = assets->GetImage_16BitAlpha("ib-m4d-b");
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Bless], "isg-01-b", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Preservation], "isg-02-b", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_Hammerhands], "isg-03-b", 2);
-      pIcons_LOD->ReloadTexture(&pIcons_LOD->pTextures[uTextureID_PlayerBuff_PainReflection], "isg-04-b", 2);
-      pUIAnim_WizardEye->uIconID = pIconsFrameTable->FindIcon("wizeyeB");
-      pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnim_WizardEye->uIconID);
-      pUIAnum_Torchlight->uIconID = pIconsFrameTable->FindIcon("torchB");
-      pIconsFrameTable->InitializeAnimation((signed __int16)pUIAnum_Torchlight->uIconID);
+
+      game_ui_playerbuff_bless = assets->GetImage_16BitColorKey("isg-01-b", 0x7FF);
+      game_ui_playerbuff_preservation = assets->GetImage_16BitColorKey("isg-02-b", 0x7FF);
+      game_ui_playerbuff_hammerhands = assets->GetImage_16BitColorKey("isg-03-b", 0x7FF);
+      game_ui_playerbuff_pain_reflection = assets->GetImage_16BitColorKey("isg-04-b", 0x7FF);
+
+      pUIAnim_WizardEye->icon = pIconsFrameTable->GetIcon("wizeyeB");
+      pIconsFrameTable->InitializeAnimation(pUIAnim_WizardEye->icon->id);
+      pUIAnum_Torchlight->icon = pIconsFrameTable->GetIcon("torchB");
+      pIconsFrameTable->InitializeAnimation(pUIAnum_Torchlight->icon->id);
+
       ui_exit_cancel_button_background = assets->GetImage_16BitColorKey(L"ib-bcu-b", 0x7FF);
-
       game_ui_evtnpc = assets->GetImage_16BitColorKey(L"evtnpc-b", 0x7FF);
       ui_character_inventory_background = assets->GetImage_16BitColorKey(L"fr_inven-b", 0x7FF);
       messagebox_corner_y = assets->GetImage_16BitAlpha(L"cornr_ll-b");