comparison GUI/UI/UICharacter.cpp @ 2574:dd36326a9994

More texture refactoring GetLeather -> DrawTextureCustomHeight
author a.parshin
date Mon, 07 Mar 2016 03:48:40 +0200
parents 0c67be4ec900
children a76d408c5132
comparison
equal deleted inserted replaced
2573:0c67be4ec900 2574:dd36326a9994
5 #include <algorithm> 5 #include <algorithm>
6 6
7 #include "Engine/Engine.h" 7 #include "Engine/Engine.h"
8 #include "Engine/AssetsManager.h" 8 #include "Engine/AssetsManager.h"
9 9
10 #include "UICharacter.h" 10 #include "GUI/GUIWindow.h"
11 #include "GUI/UI/UICharacter.h"
12
11 #include "..\../Engine/MapInfo.h" 13 #include "..\../Engine/MapInfo.h"
12 #include "..\../GUI/GUIWindow.h" 14 #include "..\../GUI/GUIWindow.h"
13 #include "..\../GUI/GUIFont.h" 15 #include "..\../GUI/GUIFont.h"
14 #include "..\../GUI/GUIProgressBar.h" 16 #include "..\../GUI/GUIProgressBar.h"
15 #include "..\../Engine/Party.h" 17 #include "..\../Engine/Party.h"
190 ui_game_dialogue_option_normal_color = Color16(255, 255, 255); 192 ui_game_dialogue_option_normal_color = Color16(255, 255, 255);
191 193
192 ui_house_player_cant_interact_color = Color16(255, 255, 155); 194 ui_house_player_cant_interact_color = Color16(255, 255, 155);
193 } 195 }
194 196
195 std::array<unsigned int, 16> papredoll_dbrds; 197 Image *papredoll_drhs[4];
196 unsigned int papredoll_drhs[4]; 198 Image *papredoll_dlhus[4];
197 unsigned int papredoll_dlhus[4]; 199 Image *papredoll_dlhs[4];
198 unsigned int papredoll_dlhs[4]; 200 Image *papredoll_dbods[5];
199 unsigned int papredoll_dbods[5]; 201 Image *paperdoll_armor_texture[4][17][3];//0x511294
200 int paperdoll_armor_texture[4][17][3];//0x511294
201 //int paperdoll_array_51132C[165]; 202 //int paperdoll_array_51132C[165];
202 unsigned int papredoll_dlaus[5]; 203 Image *papredoll_dlaus[5];
203 unsigned int papredoll_dlads[4]; 204 Image *papredoll_dlads[4];
204 int papredoll_flying_feet[22]; // 005115E0 205 Image *papredoll_flying_feet[22]; // 005115E0
205 int paperdoll_boots_texture[4][6];//511638 206 Image *paperdoll_boots_texture[4][6];//511638
206 int paperdoll_cloak_collar_texture[4][10]; // weak 207 Image *paperdoll_cloak_collar_texture[4][10]; // weak
207 int paperdoll_cloak_texture[4][10]; 208 Image *paperdoll_cloak_texture[4][10];
208 int paperdoll_helm_texture[2][16]; //511698 209 Image *paperdoll_helm_texture[2][16]; //511698
209 int paperdoll_belt_texture[4][7]; //511718 210 Image *paperdoll_belt_texture[4][7]; //511718
210 211
211 const int paperdoll_Weapon[4][16][2] = {//4E4C30 212 const int paperdoll_Weapon[4][16][2] = {//4E4C30
212 {{128, 205}, {30, 144}, {88, 85}, {0, 0}, {0, 0}, {0, 0}, {17, 104}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 213 {{128, 205}, {30, 144}, {88, 85}, {0, 0}, {0, 0}, {0, 0}, {17, 104}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}},
213 {{131, 201}, {38, 158}, {98, 87}, {0, 0}, {0, 0}, {0, 0}, {21, 100}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 214 {{131, 201}, {38, 158}, {98, 87}, {0, 0}, {0, 0}, {0, 0}, {21, 100}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}},
214 {{131, 216}, {29, 186}, {88, 119}, {0, 0}, {0, 0}, {0, 0}, { 0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}}, 215 {{131, 216}, {29, 186}, {88, 119}, {0, 0}, {0, 0}, {0, 0}, { 0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}},
398 PLAYER_SKILL_STAFF, 399 PLAYER_SKILL_STAFF,
399 PLAYER_SKILL_SWORD, 400 PLAYER_SKILL_SWORD,
400 PLAYER_SKILL_UNARMED, 401 PLAYER_SKILL_UNARMED,
401 PLAYER_SKILL_BLASTER 402 PLAYER_SKILL_BLASTER
402 }; 403 };
403 const int pMiscSkills[12] = {PLAYER_SKILL_ALCHEMY, PLAYER_SKILL_ARMSMASTER, PLAYER_SKILL_BODYBUILDING, PLAYER_SKILL_ITEM_ID, PLAYER_SKILL_MONSTER_ID, 404 const int pMiscSkills[12] =
404 PLAYER_SKILL_LEARNING, PLAYER_SKILL_TRAP_DISARM, PLAYER_SKILL_MEDITATION, PLAYER_SKILL_MERCHANT, PLAYER_SKILL_PERCEPTION, 405 {
405 PLAYER_SKILL_REPAIR, PLAYER_SKILL_STEALING}; 406 PLAYER_SKILL_ALCHEMY,
406 const int pMagicSkills[9] = {PLAYER_SKILL_FIRE, PLAYER_SKILL_AIR, PLAYER_SKILL_WATER, PLAYER_SKILL_EARTH, PLAYER_SKILL_SPIRIT, 407 PLAYER_SKILL_ARMSMASTER,
407 PLAYER_SKILL_MIND, PLAYER_SKILL_BODY, PLAYER_SKILL_LIGHT, PLAYER_SKILL_DARK}; 408 PLAYER_SKILL_BODYBUILDING,
409 PLAYER_SKILL_ITEM_ID,
410 PLAYER_SKILL_MONSTER_ID,
411 PLAYER_SKILL_LEARNING,
412 PLAYER_SKILL_TRAP_DISARM,
413 PLAYER_SKILL_MEDITATION,
414 PLAYER_SKILL_MERCHANT,
415 PLAYER_SKILL_PERCEPTION,
416 PLAYER_SKILL_REPAIR,
417 PLAYER_SKILL_STEALING
418 };
419 const int pMagicSkills[9] =
420 {
421 PLAYER_SKILL_FIRE,
422 PLAYER_SKILL_AIR,
423 PLAYER_SKILL_WATER,
424 PLAYER_SKILL_EARTH,
425 PLAYER_SKILL_SPIRIT,
426 PLAYER_SKILL_MIND,
427 PLAYER_SKILL_BODY,
428 PLAYER_SKILL_LIGHT,
429 PLAYER_SKILL_DARK
430 };
408 431
409 432
410 433
411 Image *ui_character_skills_background = nullptr; 434 Image *ui_character_skills_background = nullptr;
412 Image *ui_character_awards_background = nullptr; 435 Image *ui_character_awards_background = nullptr;
417 Image *ui_character_inventory_paperdoll_background = nullptr; 440 Image *ui_character_inventory_paperdoll_background = nullptr;
418 Image *ui_character_inventory_paperdoll_rings_background = nullptr; 441 Image *ui_character_inventory_paperdoll_rings_background = nullptr;
419 Image *ui_character_inventory_paperdoll_rings_close = nullptr; 442 Image *ui_character_inventory_paperdoll_rings_close = nullptr;
420 443
421 444
445 std::array<Image *, 16> paperdoll_dbrds;
446
447
448
422 GUIWindow_CharacterRecord::GUIWindow_CharacterRecord(unsigned int uActiveCharacter, enum CURRENT_SCREEN screen) : 449 GUIWindow_CharacterRecord::GUIWindow_CharacterRecord(unsigned int uActiveCharacter, enum CURRENT_SCREEN screen) :
423 GUIWindow(0, 0, window->GetWidth(), window->GetHeight(), uActiveCharacter, nullptr) 450 GUIWindow(0, 0, window->GetWidth(), window->GetHeight(), uActiveCharacter, nullptr)
424 { 451 {
425 //----- (00421626) -------------------------------------------------------- 452 //----- (00421626) --------------------------------------------------------
426 // 00421626 CharacterUI_Initialize --- part 453 // 00421626 CharacterUI_Initialize --- part
436 CharacterUI_LoadPaperdollTextures(); 463 CharacterUI_LoadPaperdollTextures();
437 current_screen_type = screen; 464 current_screen_type = screen;
438 465
439 //auto wnd = new GUIWindow_CharacterRecord(0, 0, window->GetWidth(), window->GetHeight(), uActiveCharacter, 0); 466 //auto wnd = new GUIWindow_CharacterRecord(0, 0, window->GetWidth(), window->GetHeight(), uActiveCharacter, 0);
440 pCharacterScreen_StatsBtn = CreateButton(pViewport->uViewportTL_X + 12, pViewport->uViewportTL_Y + 308, 467 pCharacterScreen_StatsBtn = CreateButton(pViewport->uViewportTL_X + 12, pViewport->uViewportTL_Y + 308,
441 pIcons_LOD->GetTexture(papredoll_dbrds[9])->uTextureWidth, 468 paperdoll_dbrds[9]->GetWidth(),
442 pIcons_LOD->GetTexture(papredoll_dbrds[9])->uTextureHeight, 469 paperdoll_dbrds[9]->GetHeight(),
443 1, 0, UIMSG_ClickStatsBtn, 0, 'S', pGlobalTXT_LocalizationStrings[216],// Stats 470 1, 0, UIMSG_ClickStatsBtn, 0, 'S', pGlobalTXT_LocalizationStrings[216],// Stats
444 pIcons_LOD->GetTexture(papredoll_dbrds[10]), 471 paperdoll_dbrds[10],
445 pIcons_LOD->GetTexture(papredoll_dbrds[9]), 0); 472 paperdoll_dbrds[9], 0);
446 pCharacterScreen_SkillsBtn = CreateButton(pViewport->uViewportTL_X + 102, pViewport->uViewportTL_Y + 308, 473 pCharacterScreen_SkillsBtn = CreateButton(pViewport->uViewportTL_X + 102, pViewport->uViewportTL_Y + 308,
447 pIcons_LOD->GetTexture(papredoll_dbrds[7])->uTextureWidth, 474 paperdoll_dbrds[7]->GetWidth(),
448 pIcons_LOD->GetTexture(papredoll_dbrds[7])->uTextureHeight, 475 paperdoll_dbrds[7]->GetHeight(),
449 1, 0, UIMSG_ClickSkillsBtn, 0, 'K', pGlobalTXT_LocalizationStrings[205],//Skills 476 1, 0, UIMSG_ClickSkillsBtn, 0, 'K', pGlobalTXT_LocalizationStrings[205],//Skills
450 pIcons_LOD->GetTexture(papredoll_dbrds[8]), 477 paperdoll_dbrds[8],
451 pIcons_LOD->GetTexture(papredoll_dbrds[7]), 0); 478 paperdoll_dbrds[7], 0);
452 pCharacterScreen_InventoryBtn = CreateButton(pViewport->uViewportTL_X + 192, pViewport->uViewportTL_Y + 308, 479 pCharacterScreen_InventoryBtn = CreateButton(pViewport->uViewportTL_X + 192, pViewport->uViewportTL_Y + 308,
453 pIcons_LOD->GetTexture(papredoll_dbrds[5])->uTextureWidth, 480 paperdoll_dbrds[5]->GetWidth(),
454 pIcons_LOD->GetTexture(papredoll_dbrds[5])->uTextureHeight, 481 paperdoll_dbrds[5]->GetHeight(),
455 1, 0, UIMSG_ClickInventoryBtn, 0, 'I', pGlobalTXT_LocalizationStrings[120], //Inventory 482 1, 0, UIMSG_ClickInventoryBtn, 0, 'I', pGlobalTXT_LocalizationStrings[120], //Inventory
456 pIcons_LOD->GetTexture(papredoll_dbrds[6]), 483 paperdoll_dbrds[6],
457 pIcons_LOD->GetTexture(papredoll_dbrds[5]), 0); 484 paperdoll_dbrds[5], 0);
458 pCharacterScreen_AwardsBtn = CreateButton(pViewport->uViewportTL_X + 282, pViewport->uViewportTL_Y + 308, 485 pCharacterScreen_AwardsBtn = CreateButton(pViewport->uViewportTL_X + 282, pViewport->uViewportTL_Y + 308,
459 pIcons_LOD->GetTexture(papredoll_dbrds[3])->uTextureWidth, 486 paperdoll_dbrds[3]->GetWidth(),
460 pIcons_LOD->GetTexture(papredoll_dbrds[3])->uTextureHeight, 487 paperdoll_dbrds[3]->GetHeight(),
461 1, 0, UIMSG_ClickAwardsBtn, 0, 'A', pGlobalTXT_LocalizationStrings[22], //Awards 488 1, 0, UIMSG_ClickAwardsBtn, 0, 'A', pGlobalTXT_LocalizationStrings[22], //Awards
462 pIcons_LOD->GetTexture(papredoll_dbrds[4]), 489 paperdoll_dbrds[4],
463 pIcons_LOD->GetTexture(papredoll_dbrds[3]), 0); 490 paperdoll_dbrds[3], 0);
464 pCharacterScreen_ExitBtn = CreateButton(pViewport->uViewportTL_X + 371, pViewport->uViewportTL_Y + 308, 491 pCharacterScreen_ExitBtn = CreateButton(pViewport->uViewportTL_X + 371, pViewport->uViewportTL_Y + 308,
465 pIcons_LOD->GetTexture(papredoll_dbrds[1])->uTextureWidth, 492 paperdoll_dbrds[1]->GetWidth(),
466 pIcons_LOD->GetTexture(papredoll_dbrds[1])->uTextureHeight, 493 paperdoll_dbrds[1]->GetHeight(),
467 1, 0, UIMSG_ClickExitCharacterWindowBtn, 0, 0, pGlobalTXT_LocalizationStrings[79],//Exit 494 1, 0, UIMSG_ClickExitCharacterWindowBtn, 0, 0, pGlobalTXT_LocalizationStrings[79],//Exit
468 pIcons_LOD->GetTexture(papredoll_dbrds[2]), 495 paperdoll_dbrds[2],
469 pIcons_LOD->GetTexture(papredoll_dbrds[1]), 0); 496 paperdoll_dbrds[1], 0);
470 CreateButton(0, 0, 476, 345, 1, 122, UIMSG_InventoryLeftClick, 0, 0, "", 0); 497 CreateButton(0, 0, 476, 345, 1, 122, UIMSG_InventoryLeftClick, 0, 0, "", 0);
471 pCharacterScreen_DetalizBtn = CreateButton(600, 300, 30, 30, 1, 0, UIMSG_ChangeDetaliz, 0, 0, pGlobalTXT_LocalizationStrings[64], 0); 498 pCharacterScreen_DetalizBtn = CreateButton(600, 300, 30, 30, 1, 0, UIMSG_ChangeDetaliz, 0, 0, pGlobalTXT_LocalizationStrings[64], 0);
472 pCharacterScreen_DollBtn = CreateButton(476, 0, 164, 345, 1, 0, UIMSG_ClickPaperdoll, 0, 0, "", 0); 499 pCharacterScreen_DollBtn = CreateButton(476, 0, 164, 345, 1, 0, UIMSG_ClickPaperdoll, 0, 0, "", 0);
473 500
474 CreateButton(61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0); 501 CreateButton(61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0);
651 CharacterUI_LoadPaperdollTextures(); 678 CharacterUI_LoadPaperdollTextures();
652 current_screen_type = SCREEN_CASTING; 679 current_screen_type = SCREEN_CASTING;
653 CS_inventory_window = new GUIWindow_Inventory_CastSpell(0, 0, window->GetWidth(), window->GetHeight(), (int)this, 0); 680 CS_inventory_window = new GUIWindow_Inventory_CastSpell(0, 0, window->GetWidth(), window->GetHeight(), (int)this, 0);
654 pCharacterScreen_ExitBtn = CS_inventory_window->CreateButton(394, 318, 75, 33, 1, 0, UIMSG_ClickExitCharacterWindowBtn, 0, 0, 681 pCharacterScreen_ExitBtn = CS_inventory_window->CreateButton(394, 318, 75, 33, 1, 0, UIMSG_ClickExitCharacterWindowBtn, 0, 0,
655 pGlobalTXT_LocalizationStrings[79], // Close 682 pGlobalTXT_LocalizationStrings[79], // Close
656 pIcons_LOD->GetTexture(papredoll_dbrds[2]), 683 paperdoll_dbrds[2],
657 pIcons_LOD->GetTexture(papredoll_dbrds[1]), 0); 684 paperdoll_dbrds[1], 0);
658 CS_inventory_window->CreateButton(0, 0, 0x1DCu, 0x159u, 1, 122, UIMSG_InventoryLeftClick, 0, 0, "", 0); 685 CS_inventory_window->CreateButton(0, 0, 0x1DCu, 0x159u, 1, 122, UIMSG_InventoryLeftClick, 0, 0, "", 0);
659 pCharacterScreen_DollBtn = CS_inventory_window->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, UIMSG_ClickPaperdoll, 0, 0, "", 0); 686 pCharacterScreen_DollBtn = CS_inventory_window->CreateButton(0x1DCu, 0, 0xA4u, 0x159u, 1, 0, UIMSG_ClickPaperdoll, 0, 0, "", 0);
660 687
661 CS_inventory_window->CreateButton( 61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0); 688 CS_inventory_window->CreateButton( 61, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 1, '1', "", 0);
662 CS_inventory_window->CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0); 689 CS_inventory_window->CreateButton(177, 424, 31, 0, 2, 94, UIMSG_SelectCharacter, 2, '2', "", 0);
865 } 892 }
866 893
867 //----- (0041A556) -------------------------------------------------------- 894 //----- (0041A556) --------------------------------------------------------
868 void draw_leather() 895 void draw_leather()
869 { 896 {
870 pRenderer->DrawTextureTransparentColorKey(8, 8, pIcons_LOD->GetTexture(uTextureID_Leather)); 897 pRenderer->DrawTextureNew(8/640.0f, 8/480.0f, ui_leather_mm7);
871 } 898 }
872 899
873 900
874 //----- (0043CC7C) -------------------------------------------------------- 901 //----- (0043CC7C) --------------------------------------------------------
875 void CharacterUI_DrawPaperdoll(Player *player) 902 void CharacterUI_DrawPaperdoll(Player *player)
876 { 903 {
877 ItemGen *item; // edi@38 904 ItemGen *item; // edi@38
878 int item_X; // ebx@38 905 int item_X; // ebx@38
879 int index; // eax@65 906 int index; // eax@65
880 int v59; // ebx@129 907 Image *v59; // ebx@129
881 unsigned int v75; // ebx@170 908 Image *v75; // ebx@170
882 int v94; // ebx@214 909 Image *v94; // ebx@214
883 unsigned int v127; // ebx@314 910 Image *v127; // ebx@314
884 unsigned int v153; // eax@370 911 Image *v153; // eax@370
885 char *v166; // [sp-8h] [bp-54h]@16 912 char *v166; // [sp-8h] [bp-54h]@16
886 const char *container; // [sp-8h] [bp-54h]@79 913 const char *container; // [sp-8h] [bp-54h]@79
887 char *v181; // [sp-8h] [bp-54h]@337 914 char *v181; // [sp-8h] [bp-54h]@337
888 int item_Y; // [sp+10h] [bp-3Ch]@38 915 int item_Y; // [sp+10h] [bp-3Ch]@38
889 int pBodyComplection; // [sp+24h] [bp-28h]@6 916 int pBodyComplection; // [sp+24h] [bp-28h]@6
912 939
913 pRenderer->ResetUIClipRect(); 940 pRenderer->ResetUIClipRect();
914 pRenderer->DrawTextureAlphaNew(467/640.0f, 0, ui_character_inventory_paperdoll_background); 941 pRenderer->DrawTextureAlphaNew(467/640.0f, 0, ui_character_inventory_paperdoll_background);
915 if ( IsPlayerWearingWatersuit[uPlayerID] )//акваланг 942 if ( IsPlayerWearingWatersuit[uPlayerID] )//акваланг
916 { 943 {
917 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX, pPaperdoll_BodyY, pIcons_LOD->GetTexture(papredoll_dbods[uPlayerID - 1])); 944 pRenderer->DrawTextureAlphaNew(pPaperdoll_BodyX/640.0f, pPaperdoll_BodyY/480.0f, papredoll_dbods[uPlayerID - 1]);
918 if ( !bRingsShownInCharScreen ) 945 if ( !bRingsShownInCharScreen )
919 pRenderer->DrawMaskToZBuffer(pPaperdoll_BodyX, pPaperdoll_BodyY, pIcons_LOD->GetTexture(papredoll_dbods[uPlayerID - 1]), player->pEquipment.uArmor); 946 pRenderer->ZDrawTextureAlpha(pPaperdoll_BodyX/640.0f, pPaperdoll_BodyY/480.0f, papredoll_dbods[uPlayerID - 1], player->pEquipment.uArmor);
947
920 //Рука не занята или ... 948 //Рука не занята или ...
921 if ( !player->GetItem(&PlayerEquipment::uMainHand) 949 if ( !player->GetItem(&PlayerEquipment::uMainHand)
922 || ( player->GetMainHandItem()->GetItemEquipType() != EQUIP_TWO_HANDED) 950 || ( player->GetMainHandItem()->GetItemEquipType() != EQUIP_TWO_HANDED)
923 && (player->GetMainHandItem()->GetItemEquipType() != PLAYER_SKILL_SPEAR 951 && (player->GetMainHandItem()->GetItemEquipType() != PLAYER_SKILL_SPEAR
924 || player->GetItem(&PlayerEquipment::uShield)) ) 952 || player->GetItem(&PlayerEquipment::uShield)) )
925 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1], 953 pRenderer->DrawTextureAlphaNew(
926 pIcons_LOD->GetTexture(papredoll_dlads[uPlayerID - 1])); 954 (pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0])/640.0f,
955 (pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1])/480.0f,
956 papredoll_dlads[uPlayerID - 1]);
927 //-----------------------------------------------------(Hand/Рука)--------------------------------------------------------------- 957 //-----------------------------------------------------(Hand/Рука)---------------------------------------------------------------
928 if ( player->GetItem(&PlayerEquipment::uMainHand) ) 958 if ( player->GetItem(&PlayerEquipment::uMainHand) )
929 { 959 {
930 item = player->GetMainHandItem(); 960 item = player->GetMainHandItem();
931 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[item->uItemID].uEquipX; 961 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][1][0] - pItemsTable->pItems[item->uItemID].uEquipX;
932 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item->uItemID].uEquipY; 962 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item->uItemID].uEquipY;
933 if (item->uItemID == ITEM_BLASTER) 963 if (item->uItemID == ITEM_BLASTER)
934 v166 = "item64v1"; 964 v166 = "item64v1";
935 else 965 else
936 v166 = item->GetIconName(); 966 v166 = item->GetIconName();
967
968 auto texture = assets->GetImage_16BitAlpha(v166);
937 969
938 if ( item->ItemEnchanted() ) 970 if ( item->ItemEnchanted() )
939 { 971 {
940 if ( item->AuraEffectRed() ) 972 if ( item->AuraEffectRed() )
941 container = "sptext01"; 973 container = "sptext01";
950 { 982 {
951 _50C9A8_item_enchantment_timer = 0; 983 _50C9A8_item_enchantment_timer = 0;
952 item->ResetEnchantAnimation(); 984 item->ResetEnchantAnimation();
953 ptr_50C9A4_ItemToEnchant = nullptr; 985 ptr_50C9A4_ItemToEnchant = nullptr;
954 } 986 }
955 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE)), 987 pRenderer->BlendTextures(item_X, item_Y, texture, pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255);
956 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255);
957 } 988 }
958 else if ( item->uAttributes & ITEM_BROKEN ) 989 else if ( item->uAttributes & ITEM_BROKEN )
959 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE))); 990 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, texture);
960 else if ( item->uAttributes & ITEM_IDENTIFIED ) 991 else if ( item->uAttributes & ITEM_IDENTIFIED )
961 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE))); 992 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, texture);
962 else 993 else
963 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE))); 994 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, texture);
964 995
965 if ( !bRingsShownInCharScreen ) 996 if ( !bRingsShownInCharScreen )
966 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v166, TEXTURE_16BIT_PALETTE)), player->pEquipment.uMainHand); 997 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, texture, player->pEquipment.uMainHand);
967 } 998 }
968 } 999 }
969 else// без акваланга 1000 else// без акваланга
970 { 1001 {
971 //----------------(Bow/ Лук)------------------------------------------------- 1002 //----------------(Bow/ Лук)-------------------------------------------------
973 { 1004 {
974 item = player->GetBowItem(); 1005 item = player->GetBowItem();
975 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][2][0] - pItemsTable->pItems[item->uItemID].uEquipX; 1006 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][2][0] - pItemsTable->pItems[item->uItemID].uEquipX;
976 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][2][1] - pItemsTable->pItems[item->uItemID].uEquipY; 1007 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][2][1] - pItemsTable->pItems[item->uItemID].uEquipY;
977 1008
1009 auto texture = assets->GetImage_16BitAlpha(item->GetIconName());
978 if ( item->ItemEnchanted() )// применён закл 1010 if ( item->ItemEnchanted() )// применён закл
979 { 1011 {
980 if ( item->AuraEffectRed() ) 1012 if ( item->AuraEffectRed() )
981 container = "sptext01"; 1013 container = "sptext01";
982 else if ( item->AuraEffectBlue() ) 1014 else if ( item->AuraEffectBlue() )
990 { 1022 {
991 _50C9A8_item_enchantment_timer = 0; 1023 _50C9A8_item_enchantment_timer = 0;
992 item->ResetEnchantAnimation(); 1024 item->ResetEnchantAnimation();
993 ptr_50C9A4_ItemToEnchant = nullptr; 1025 ptr_50C9A4_ItemToEnchant = nullptr;
994 } 1026 }
995 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE)), 1027 pRenderer->BlendTextures(item_X, item_Y, texture, pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE),GetTickCount() * 0.1, 0, 255);
996 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE),GetTickCount() * 0.1, 0, 255);
997 } 1028 }
998 else if ( item->uAttributes & ITEM_BROKEN ) 1029 else if ( item->uAttributes & ITEM_BROKEN )
999 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE))); 1030 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, texture);
1000 else if ( !(item->uAttributes & ITEM_IDENTIFIED) )//не опознанный лук зелёный 1031 else if ( !(item->uAttributes & ITEM_IDENTIFIED) )
1001 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE))); 1032 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, texture);
1002 else // опознанный лук 1033 else // опознанный лук
1003 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE))); 1034 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, texture);
1004 1035
1005 if ( !bRingsShownInCharScreen ) 1036 if ( !bRingsShownInCharScreen )
1006 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE)), 1037 pRenderer->ZDrawTextureAlpha(
1007 player->pEquipment.uBow); 1038 item_X/640.0f, item_Y/480.0f,
1039 texture,
1040 player->pEquipment.uBow);
1008 } 1041 }
1009 //-----------------------------(Cloak/Плащ)--------------------------------------------------------- 1042 //-----------------------------(Cloak/Плащ)---------------------------------------------------------
1010 if ( player->GetItem(&PlayerEquipment::uCloak) ) 1043 if ( player->GetItem(&PlayerEquipment::uCloak) )
1011 { 1044 {
1012 item = player->GetCloakItem(); 1045 item = player->GetCloakItem();
1051 { 1084 {
1052 _50C9A8_item_enchantment_timer = 0; 1085 _50C9A8_item_enchantment_timer = 0;
1053 item->ResetEnchantAnimation();//~0x000000F0 1086 item->ResetEnchantAnimation();//~0x000000F0
1054 ptr_50C9A4_ItemToEnchant = nullptr; 1087 ptr_50C9A4_ItemToEnchant = nullptr;
1055 } 1088 }
1056 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index]), 1089 pRenderer->BlendTextures(item_X, item_Y, paperdoll_cloak_texture[pBodyComplection][index],
1057 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); 1090 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255);
1058 } 1091 }
1059 else if ( item->uAttributes & ITEM_BROKEN ) 1092 else if ( item->uAttributes & ITEM_BROKEN )
1060 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index])); 1093 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, paperdoll_cloak_texture[pBodyComplection][index]);
1061 else 1094 else
1062 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index])); 1095 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, paperdoll_cloak_texture[pBodyComplection][index]);
1063 1096
1064 if ( !bRingsShownInCharScreen ) 1097 if ( !bRingsShownInCharScreen )
1065 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_texture[pBodyComplection][index]), 1098 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, paperdoll_cloak_texture[pBodyComplection][index], player->pEquipment.uCloak);
1066 player->pEquipment.uCloak);
1067 } 1099 }
1068 } 1100 }
1069 //-------------------------------(Paperdoll/Кукла)------------------------------------------- 1101 //-------------------------------(Paperdoll/Кукла)-------------------------------------------
1070 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX, pPaperdoll_BodyY, pIcons_LOD->GetTexture(papredoll_dbods[uPlayerID - 1])); 1102 pRenderer->DrawTextureAlphaNew(pPaperdoll_BodyX/640.0f, pPaperdoll_BodyY/480.0f, papredoll_dbods[uPlayerID - 1]);
1071 //-------------------------------(Armor/Броня)----------------------------------------------- 1103 //-------------------------------(Armor/Броня)-----------------------------------------------
1072 if ( player->GetItem(&PlayerEquipment::uArmor) ) 1104 if ( player->GetItem(&PlayerEquipment::uArmor) )
1073 { 1105 {
1074 item = player->GetArmorItem(); 1106 item = player->GetArmorItem();
1075 switch ( item->uItemID ) 1107 switch ( item->uItemID )
1110 { 1142 {
1111 _50C9A8_item_enchantment_timer = 0; 1143 _50C9A8_item_enchantment_timer = 0;
1112 item->ResetEnchantAnimation();//~0x000000F0 1144 item->ResetEnchantAnimation();//~0x000000F0
1113 ptr_50C9A4_ItemToEnchant = nullptr; 1145 ptr_50C9A4_ItemToEnchant = nullptr;
1114 } 1146 }
1115 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][0]), 1147 pRenderer->BlendTextures(item_X, item_Y, paperdoll_armor_texture[pBodyComplection][index][0],
1116 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); 1148 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255);
1117 } 1149 }
1118 else if ( item->uAttributes & ITEM_BROKEN ) 1150 else if ( item->uAttributes & ITEM_BROKEN )
1119 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][0])); 1151 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, paperdoll_armor_texture[pBodyComplection][index][0]);
1120 else if ( !(item->uAttributes & ITEM_IDENTIFIED) ) 1152 else if ( !(item->uAttributes & ITEM_IDENTIFIED) )
1121 pRenderer->DrawTransparentGreenShade(item_X, item_Y, &pIcons_LOD->pTextures[paperdoll_armor_texture[pBodyComplection][index][0]]); 1153 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, paperdoll_armor_texture[pBodyComplection][index][0]);
1122 else 1154 else
1123 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, &pIcons_LOD->pTextures[paperdoll_armor_texture[pBodyComplection][index][0]]); 1155 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, paperdoll_armor_texture[pBodyComplection][index][0]);
1124 1156
1125 if ( !bRingsShownInCharScreen ) 1157 if ( !bRingsShownInCharScreen )
1126 pRenderer->DrawMaskToZBuffer(item_X, item_Y, &pIcons_LOD->pTextures[paperdoll_armor_texture[pBodyComplection][index][0]], 1158 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, paperdoll_armor_texture[pBodyComplection][index][0], player->pEquipment.uArmor);
1127 player->pEquipment.uArmor);
1128 } 1159 }
1129 } 1160 }
1130 //----------------------------------(Boot/Обувь)-------------------------------------------------------- 1161 //----------------------------------(Boot/Обувь)--------------------------------------------------------
1131 if ( player->GetItem(&PlayerEquipment::uBoot) ) 1162 if ( player->GetItem(&PlayerEquipment::uBoot) )
1132 { 1163 {
1166 { 1197 {
1167 _50C9A8_item_enchantment_timer = 0; 1198 _50C9A8_item_enchantment_timer = 0;
1168 item->ResetEnchantAnimation();//~0x000000F0 1199 item->ResetEnchantAnimation();//~0x000000F0
1169 ptr_50C9A4_ItemToEnchant = nullptr; 1200 ptr_50C9A4_ItemToEnchant = nullptr;
1170 } 1201 }
1171 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v59), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), 1202 pRenderer->BlendTextures(item_X, item_Y, v59, pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE),
1172 GetTickCount() * 0.1, 0, 255); 1203 GetTickCount() * 0.1, 0, 255);
1173 } 1204 }
1174 else if ( item->uAttributes & ITEM_BROKEN ) 1205 else if ( item->uAttributes & ITEM_BROKEN )
1175 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v59)); 1206 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, v59);
1176 else if ( item->uAttributes & ITEM_IDENTIFIED ) 1207 else if ( item->uAttributes & ITEM_IDENTIFIED )
1177 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(v59)); 1208 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, v59);
1178 else 1209 else
1179 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v59)); 1210 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, v59);
1180 1211
1181 if ( !bRingsShownInCharScreen ) 1212 if ( !bRingsShownInCharScreen )
1182 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v59), player->pEquipment.uBoot); 1213 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, v59, player->pEquipment.uBoot);
1183 } 1214 }
1184 } 1215 }
1185 //--------------------------------------------(Hand/Рука)------------------------------------------------------ 1216 //--------------------------------------------(Hand/Рука)------------------------------------------------------
1186 if ( !player->GetItem(&PlayerEquipment::uMainHand) 1217 if ( !player->GetItem(&PlayerEquipment::uMainHand)
1187 || ( player->GetMainHandItem()->GetItemEquipType() != EQUIP_TWO_HANDED) 1218 || ( player->GetMainHandItem()->GetItemEquipType() != EQUIP_TWO_HANDED)
1188 && (player->GetMainHandItem()->GetPlayerSkillType() != PLAYER_SKILL_SPEAR 1219 && (player->GetMainHandItem()->GetPlayerSkillType() != PLAYER_SKILL_SPEAR
1189 || player->GetItem(&PlayerEquipment::uShield)) ) 1220 || player->GetItem(&PlayerEquipment::uShield)) )
1190 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0], 1221 pRenderer->DrawTextureAlphaNew(
1191 pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_dlads[uPlayerID - 1])); 1222 (pPaperdoll_BodyX + pPaperdoll_LeftHand[pBodyComplection][0])/640.0f,
1223 (pPaperdoll_BodyY + pPaperdoll_LeftHand[pBodyComplection][1])/480.0f,
1224 papredoll_dlads[uPlayerID - 1]);
1192 //--------------------------------------------(Belt/Пояс)------------------------------------------------------- 1225 //--------------------------------------------(Belt/Пояс)-------------------------------------------------------
1193 if ( player->GetItem(&PlayerEquipment::uBelt)) 1226 if ( player->GetItem(&PlayerEquipment::uBelt))
1194 { 1227 {
1195 item = player->GetBeltItem(); 1228 item = player->GetBeltItem();
1196 switch ( item->uItemID ) 1229 switch ( item->uItemID )
1229 { 1262 {
1230 _50C9A8_item_enchantment_timer = 0; 1263 _50C9A8_item_enchantment_timer = 0;
1231 item->ResetEnchantAnimation();//~0x000000F0 1264 item->ResetEnchantAnimation();//~0x000000F0
1232 ptr_50C9A4_ItemToEnchant = nullptr; 1265 ptr_50C9A4_ItemToEnchant = nullptr;
1233 } 1266 }
1234 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v75), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), 1267 pRenderer->BlendTextures(item_X, item_Y, v75, pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE),
1235 GetTickCount() * 0.1, 0, 255); 1268 GetTickCount() * 0.1, 0, 255);
1236 } 1269 }
1237 else if ( item->uAttributes & ITEM_BROKEN ) 1270 else if ( item->uAttributes & ITEM_BROKEN )
1238 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v75)); 1271 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, v75);
1239 else if ( item->uAttributes & ITEM_IDENTIFIED ) 1272 else if ( item->uAttributes & ITEM_IDENTIFIED )
1240 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(v75)); 1273 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, v75);
1241 else 1274 else
1242 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v75)); 1275 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, v75);
1243 1276
1244 if ( !bRingsShownInCharScreen ) 1277 if ( !bRingsShownInCharScreen )
1245 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v75), player->pEquipment.uBelt); 1278 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, v75, player->pEquipment.uBelt);
1246 } 1279 }
1247 } 1280 }
1248 //--------------------------------(Shoulder/Плечи)--------------------------------------------- 1281 //--------------------------------(Shoulder/Плечи)---------------------------------------------
1249 if (player->GetItem(&PlayerEquipment::uArmor)) 1282 if (player->GetItem(&PlayerEquipment::uArmor))
1250 { 1283 {
1272 if ( player->GetItem(&PlayerEquipment::uMainHand) && (player->GetMainHandItem()->GetItemEquipType() == EQUIP_TWO_HANDED 1305 if ( player->GetItem(&PlayerEquipment::uMainHand) && (player->GetMainHandItem()->GetItemEquipType() == EQUIP_TWO_HANDED
1273 || player->GetMainHandItem()->GetPlayerSkillType() == PLAYER_SKILL_SPEAR 1306 || player->GetMainHandItem()->GetPlayerSkillType() == PLAYER_SKILL_SPEAR
1274 && !player->GetItem(&PlayerEquipment::uShield) ))//без щита 1307 && !player->GetItem(&PlayerEquipment::uShield) ))//без щита
1275 { 1308 {
1276 v94 = paperdoll_armor_texture[pBodyComplection][index][2]; 1309 v94 = paperdoll_armor_texture[pBodyComplection][index][2];
1277 if ( paperdoll_armor_texture[pBodyComplection][index][2] == pIcons_LOD->FindTextureByName("pending") ) 1310 if ( paperdoll_armor_texture[pBodyComplection][index][2] )
1278 { 1311 {
1279 v94 = paperdoll_armor_texture[pBodyComplection][index][1]; 1312 v94 = paperdoll_armor_texture[pBodyComplection][index][1];
1280 item_X = pPaperdoll_BodyX + paperdoll_shoulder_coord[pBodyComplection][index][0]; 1313 item_X = pPaperdoll_BodyX + paperdoll_shoulder_coord[pBodyComplection][index][0];
1281 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_coord[pBodyComplection][index][1]; 1314 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_coord[pBodyComplection][index][1];
1282 } 1315 }
1283 else 1316 else
1284 { 1317 {
1285 item_X = pPaperdoll_BodyX + paperdoll_shoulder_second_coord[pBodyComplection][index][0]; 1318 item_X = pPaperdoll_BodyX + paperdoll_shoulder_second_coord[pBodyComplection][index][0];
1286 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_second_coord[pBodyComplection][index][1]; 1319 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_second_coord[pBodyComplection][index][1];
1287 } 1320 }
1288 if ( v94 != pIcons_LOD->FindTextureByName("pending") ) 1321 if ( v94 )
1289 { 1322 {
1290 if ( item->ItemEnchanted() ) 1323 if ( item->ItemEnchanted() )
1291 { 1324 {
1292 if ( paperdoll_armor_texture[pBodyComplection][index][2] != pIcons_LOD->FindTextureByName("pending") ) 1325 if ( paperdoll_armor_texture[pBodyComplection][index][2] )
1293 { 1326 {
1294 if ( item->AuraEffectRed() ) 1327 if ( item->AuraEffectRed() )
1295 container = "sptext01"; 1328 container = "sptext01";
1296 else if ( item->AuraEffectBlue() ) 1329 else if ( item->AuraEffectBlue() )
1297 container = "sp28a"; 1330 container = "sp28a";
1304 { 1337 {
1305 _50C9A8_item_enchantment_timer = 0; 1338 _50C9A8_item_enchantment_timer = 0;
1306 item->ResetEnchantAnimation();//~0x000000F0 1339 item->ResetEnchantAnimation();//~0x000000F0
1307 ptr_50C9A4_ItemToEnchant = nullptr; 1340 ptr_50C9A4_ItemToEnchant = nullptr;
1308 } 1341 }
1309 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v94), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), 1342 pRenderer->BlendTextures(item_X, item_Y, v94, pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE),
1310 GetTickCount() * 0.1, 0, 255); 1343 GetTickCount() * 0.1, 0, 255);
1311 } 1344 }
1312 } 1345 }
1313 else if ( item->uAttributes & ITEM_BROKEN ) 1346 else if ( item->uAttributes & ITEM_BROKEN )
1314 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v94)); 1347 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, v94);
1315 else if ( item->uAttributes & ITEM_IDENTIFIED ) 1348 else if ( item->uAttributes & ITEM_IDENTIFIED )
1316 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(v94)); 1349 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, v94);
1317 else 1350 else
1318 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v94)); 1351 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, v94);
1319 1352
1320 } 1353 }
1321 } 1354 }
1322 else//без ничего или с щитом 1355 else//без ничего или с щитом
1323 { 1356 {
1324 //v94 = paperdoll_armor_texture[pBodyComplection][index][1]; 1357 //v94 = paperdoll_armor_texture[pBodyComplection][index][1];
1325 if ( paperdoll_armor_texture[pBodyComplection][index][1] != pIcons_LOD->FindTextureByName("pending") ) 1358 if ( paperdoll_armor_texture[pBodyComplection][index][1] )
1326 { 1359 {
1327 item_X = pPaperdoll_BodyX + paperdoll_shoulder_coord[pBodyComplection][index][0]; 1360 item_X = pPaperdoll_BodyX + paperdoll_shoulder_coord[pBodyComplection][index][0];
1328 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_coord[pBodyComplection][index][1]; 1361 item_Y = pPaperdoll_BodyY + paperdoll_shoulder_coord[pBodyComplection][index][1];
1329 1362
1330 if ( item->ItemEnchanted() ) 1363 if ( item->ItemEnchanted() )
1342 { 1375 {
1343 _50C9A8_item_enchantment_timer = 0; 1376 _50C9A8_item_enchantment_timer = 0;
1344 item->ResetEnchantAnimation();//~0x000000F0 1377 item->ResetEnchantAnimation();//~0x000000F0
1345 ptr_50C9A4_ItemToEnchant = nullptr; 1378 ptr_50C9A4_ItemToEnchant = nullptr;
1346 } 1379 }
1347 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1]), 1380 pRenderer->BlendTextures(item_X, item_Y, paperdoll_armor_texture[pBodyComplection][index][1],
1348 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); 1381 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255);
1349 } 1382 }
1350 else if ( item->uAttributes & ITEM_BROKEN ) 1383 else if ( item->uAttributes & ITEM_BROKEN )
1351 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1])); 1384 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, paperdoll_armor_texture[pBodyComplection][index][1]);
1352 else if ( item->uAttributes & ITEM_IDENTIFIED ) 1385 else if ( item->uAttributes & ITEM_IDENTIFIED )
1353 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1])); 1386 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, paperdoll_armor_texture[pBodyComplection][index][1]);
1354 else 1387 else
1355 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_armor_texture[pBodyComplection][index][1])); 1388 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, paperdoll_armor_texture[pBodyComplection][index][1]);
1356
1357 } 1389 }
1358 } 1390 }
1359 } 1391 }
1360 } 1392 }
1361 //----------------------------------------------(Cloak collar/воротник плаща)------------------------------------- 1393 //----------------------------------------------(Cloak collar/воротник плаща)-------------------------------------
1386 { 1418 {
1387 item_X = pPaperdoll_BodyX + paperdoll_CloakCollar[pBodyComplection][index][0]; 1419 item_X = pPaperdoll_BodyX + paperdoll_CloakCollar[pBodyComplection][index][0];
1388 item_Y = pPaperdoll_BodyY + paperdoll_CloakCollar[pBodyComplection][index][1]; 1420 item_Y = pPaperdoll_BodyY + paperdoll_CloakCollar[pBodyComplection][index][1];
1389 signed int r = pIcons_LOD->FindTextureByName("item325v2a1"); 1421 signed int r = pIcons_LOD->FindTextureByName("item325v2a1");
1390 1422
1391 if ( paperdoll_cloak_collar_texture[pBodyComplection][index] != pIcons_LOD->FindTextureByName("pending") ) 1423 if ( paperdoll_cloak_collar_texture[pBodyComplection][index] )
1392 { 1424 {
1393 if ( item->ItemEnchanted() ) 1425 if ( item->ItemEnchanted() )
1394 { 1426 {
1395 if ( item->AuraEffectRed() ) 1427 if ( item->AuraEffectRed() )
1396 container = "sptext01"; 1428 container = "sptext01";
1405 { 1437 {
1406 _50C9A8_item_enchantment_timer = 0; 1438 _50C9A8_item_enchantment_timer = 0;
1407 item->ResetEnchantAnimation();//~0x000000F0 1439 item->ResetEnchantAnimation();//~0x000000F0
1408 ptr_50C9A4_ItemToEnchant = nullptr; 1440 ptr_50C9A4_ItemToEnchant = nullptr;
1409 } 1441 }
1410 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index]), 1442 pRenderer->BlendTextures(item_X, item_Y, paperdoll_cloak_collar_texture[pBodyComplection][index],
1411 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); 1443 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255);
1412 } 1444 }
1413 else if ( item->uAttributes & ITEM_BROKEN ) 1445 else if ( item->uAttributes & ITEM_BROKEN )
1414 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index])); 1446 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, paperdoll_cloak_collar_texture[pBodyComplection][index]);
1415 else 1447 else
1416 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index])); 1448 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, paperdoll_cloak_collar_texture[pBodyComplection][index]);
1417 1449
1418 if ( !bRingsShownInCharScreen ) 1450 if ( !bRingsShownInCharScreen )
1419 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(paperdoll_cloak_collar_texture[pBodyComplection][index]), 1451 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, paperdoll_cloak_collar_texture[pBodyComplection][index],
1420 player->pEquipment.uCloak); 1452 player->pEquipment.uCloak);
1421 } 1453 }
1422 } 1454 }
1423 } 1455 }
1424 //--------------------------------------------(Beards/Борода)------------------------------------------------------- 1456 //--------------------------------------------(Beards/Борода)-------------------------------------------------------
1425 if ( player->uCurrentFace == 12 || player->uCurrentFace == 13 ) 1457 if ( player->uCurrentFace == 12 || player->uCurrentFace == 13 )
1426 { 1458 {
1427 if ( papredoll_dbrds[player->uCurrentFace] != pIcons_LOD->FindTextureByName("Pending") ) 1459 if ( paperdoll_dbrds[player->uCurrentFace])
1428 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX + pPaperdoll_Beards[2 * player->uCurrentFace - 24], 1460 pRenderer->DrawTextureAlphaNew(
1429 pPaperdoll_BodyY + pPaperdoll_Beards[2 * player->uCurrentFace - 23], 1461 (pPaperdoll_BodyX + pPaperdoll_Beards[2 * player->uCurrentFace - 24])/640.0f,
1430 pIcons_LOD->GetTexture(papredoll_dbrds[player->uCurrentFace])); 1462 (pPaperdoll_BodyY + pPaperdoll_Beards[2 * player->uCurrentFace - 23])/480.0f,
1463 paperdoll_dbrds[player->uCurrentFace]);
1431 } 1464 }
1432 //--------------------------------------------(Helm/Шлем)------------------------------------------------------------ 1465 //--------------------------------------------(Helm/Шлем)------------------------------------------------------------
1433 if ( player->GetItem(&PlayerEquipment::uHelm) ) 1466 if ( player->GetItem(&PlayerEquipment::uHelm) )
1434 { 1467 {
1435 item = player->GetHelmItem(); 1468 item = player->GetHelmItem();
1455 } 1488 }
1456 if ( index >= 0 && index < 16 ) 1489 if ( index >= 0 && index < 16 )
1457 { 1490 {
1458 item_X = pPaperdoll_BodyX + paperdoll_Helm[pBodyComplection][index][0]; 1491 item_X = pPaperdoll_BodyX + paperdoll_Helm[pBodyComplection][index][0];
1459 item_Y = pPaperdoll_BodyY + paperdoll_Helm[pBodyComplection][index][1]; 1492 item_Y = pPaperdoll_BodyY + paperdoll_Helm[pBodyComplection][index][1];
1460 if ( IsDwarf != 1 || item->uItemID != 92 ) 1493 if ( IsDwarf != 1 || item->uItemID != ITEM_92)
1461 v127 = paperdoll_helm_texture[player->GetSexByVoice()][index]; 1494 v127 = paperdoll_helm_texture[player->GetSexByVoice()][index];
1462 else 1495 else
1463 v127 = papredoll_dbrds[11]; 1496 v127 = paperdoll_dbrds[11];
1464 1497
1465 if ( item->ItemEnchanted() ) 1498 if ( item->ItemEnchanted() )
1466 { 1499 {
1467 if ( item->AuraEffectRed() ) 1500 if ( item->AuraEffectRed() )
1468 container = "sptext01"; 1501 container = "sptext01";
1477 { 1510 {
1478 _50C9A8_item_enchantment_timer = 0; 1511 _50C9A8_item_enchantment_timer = 0;
1479 item->ResetEnchantAnimation(); 1512 item->ResetEnchantAnimation();
1480 ptr_50C9A4_ItemToEnchant = nullptr; 1513 ptr_50C9A4_ItemToEnchant = nullptr;
1481 } 1514 }
1482 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v127), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), 1515 pRenderer->BlendTextures(item_X, item_Y, v127, pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE),
1483 GetTickCount() * 0.1, 0, 255); 1516 GetTickCount() * 0.1, 0, 255);
1484 } 1517 }
1485 else if ( item->uAttributes & ITEM_BROKEN ) 1518 else if ( item->uAttributes & ITEM_BROKEN )
1486 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v127)); 1519 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, v127);
1487 else if ( item->uAttributes & ITEM_IDENTIFIED ) 1520 else if ( item->uAttributes & ITEM_IDENTIFIED )
1488 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(v127)); 1521 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, v127);
1489 else 1522 else
1490 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v127)); 1523 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, v127);
1491 1524
1492 if ( !bRingsShownInCharScreen ) 1525 if ( !bRingsShownInCharScreen )
1493 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v127), player->pEquipment.uHelm); 1526 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, v127, player->pEquipment.uHelm);
1494 } 1527 }
1495 } 1528 }
1496 //------------------------------------------------(Hand3/Рука3)------------------------------------------- 1529 //------------------------------------------------(Hand3/Рука3)-------------------------------------------
1497 if ( player->GetItem(&PlayerEquipment::uMainHand) ) 1530 if ( player->GetItem(&PlayerEquipment::uMainHand) )
1498 { 1531 {
1501 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item->uItemID].uEquipY; 1534 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][1][1] - pItemsTable->pItems[item->uItemID].uEquipY;
1502 if (item->uItemID == ITEM_BLASTER) 1535 if (item->uItemID == ITEM_BLASTER)
1503 v181 = "item64v1"; 1536 v181 = "item64v1";
1504 else 1537 else
1505 v181 = item->GetIconName(); 1538 v181 = item->GetIconName();
1539
1540 auto texture = assets->GetImage_16BitAlpha(v181);
1506 1541
1507 if ( item->ItemEnchanted() ) 1542 if ( item->ItemEnchanted() )
1508 { 1543 {
1509 if ( item->AuraEffectRed() ) 1544 if ( item->AuraEffectRed() )
1510 container = "sptext01"; 1545 container = "sptext01";
1519 { 1554 {
1520 _50C9A8_item_enchantment_timer = 0; 1555 _50C9A8_item_enchantment_timer = 0;
1521 item->ResetEnchantAnimation(); 1556 item->ResetEnchantAnimation();
1522 ptr_50C9A4_ItemToEnchant = nullptr; 1557 ptr_50C9A4_ItemToEnchant = nullptr;
1523 } 1558 }
1524 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE)), 1559 pRenderer->BlendTextures(item_X, item_Y, texture,
1525 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255); 1560 pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), GetTickCount() * 0.1, 0, 255);
1526 } 1561 }
1527 else if ( item->uAttributes & ITEM_BROKEN ) 1562 else if ( item->uAttributes & ITEM_BROKEN )
1528 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE))); 1563 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, texture);
1529 else if ( item->uAttributes & ITEM_IDENTIFIED ) 1564 else if ( item->uAttributes & ITEM_IDENTIFIED )
1530 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE))); 1565 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, texture);
1531 else 1566 else
1532 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE))); 1567 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, texture);
1533 1568
1534 if ( !bRingsShownInCharScreen ) 1569 if ( !bRingsShownInCharScreen )
1535 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(pIcons_LOD->LoadTexture(v181, TEXTURE_16BIT_PALETTE)), 1570 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, texture, player->pEquipment.uMainHand);
1536 player->pEquipment.uMainHand);
1537 } 1571 }
1538 //--------------------------------------------------(Shield/Щит)--------------------------------------------- 1572 //--------------------------------------------------(Shield/Щит)---------------------------------------------
1539 if ( player->GetItem(&PlayerEquipment::uShield) ) 1573 if ( player->GetItem(&PlayerEquipment::uShield) )
1540 { 1574 {
1541 item = player->GetOffHandItem(); 1575 item = player->GetOffHandItem();
1567 { 1601 {
1568 two_handed_left_fist = false; 1602 two_handed_left_fist = false;
1569 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item->uItemID].uEquipX; 1603 item_X = pPaperdoll_BodyX + paperdoll_Weapon[pBodyComplection][0][0] - pItemsTable->pItems[item->uItemID].uEquipX;
1570 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item->uItemID].uEquipY; 1604 item_Y = pPaperdoll_BodyY + paperdoll_Weapon[pBodyComplection][0][1] - pItemsTable->pItems[item->uItemID].uEquipY;
1571 } 1605 }
1572 v153 = pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE); 1606 //v153 = pIcons_LOD->LoadTexture(item->GetIconName(), TEXTURE_16BIT_PALETTE);
1607 v153 = assets->GetImage_16BitAlpha(item->GetIconName());
1573 1608
1574 if ( item->ItemEnchanted() ) 1609 if ( item->ItemEnchanted() )
1575 { 1610 {
1576 if ( item->AuraEffectRed() ) 1611 if ( item->AuraEffectRed() )
1577 container = "sptext01"; 1612 container = "sptext01";
1586 { 1621 {
1587 _50C9A8_item_enchantment_timer = 0; 1622 _50C9A8_item_enchantment_timer = 0;
1588 item->ResetEnchantAnimation(); 1623 item->ResetEnchantAnimation();
1589 ptr_50C9A4_ItemToEnchant = nullptr; 1624 ptr_50C9A4_ItemToEnchant = nullptr;
1590 } 1625 }
1591 pRenderer->DrawAura(item_X, item_Y, pIcons_LOD->GetTexture(v153), pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE), 1626 pRenderer->BlendTextures(item_X, item_Y, v153, pIcons_LOD->LoadTexturePtr(container, TEXTURE_16BIT_PALETTE),
1592 GetTickCount() * 0.1, 0, 255); 1627 GetTickCount() * 0.1, 0, 255);
1593 } 1628 }
1594 else if ( item->uAttributes & ITEM_BROKEN ) 1629 else if ( item->uAttributes & ITEM_BROKEN )
1595 pRenderer->DrawTransparentRedShade(item_X, item_Y, pIcons_LOD->GetTexture(v153)); 1630 pRenderer->DrawTransparentRedShade(item_X/640.0f, item_Y/480.0f, v153);
1596 else if ( !(item->uAttributes & ITEM_IDENTIFIED) ) 1631 else if ( !(item->uAttributes & ITEM_IDENTIFIED) )
1597 pRenderer->DrawTransparentGreenShade(item_X, item_Y, pIcons_LOD->GetTexture(v153)); 1632 pRenderer->DrawTransparentGreenShade(item_X/640.0f, item_Y/480.0f, v153);
1598 else 1633 else
1599 pRenderer->DrawTextureIndexedAlpha(item_X, item_Y, pIcons_LOD->GetTexture(v153)); 1634 pRenderer->DrawTextureAlphaNew(item_X/640.0f, item_Y/480.0f, v153);
1600 1635
1601 if ( two_handed_left_fist )//two-handed - left fist/двуручие - левая кисть 1636 if ( two_handed_left_fist )//two-handed - left fist/двуручие - левая кисть
1602 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX + pPaperdollLeftEmptyHand[pBodyComplection][0], 1637 pRenderer->DrawTextureAlphaNew(
1603 pPaperdoll_BodyY + pPaperdollLeftEmptyHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_dlhs[uPlayerID - 1])); 1638 (pPaperdoll_BodyX + pPaperdollLeftEmptyHand[pBodyComplection][0])/640.0f,
1639 (pPaperdoll_BodyY + pPaperdollLeftEmptyHand[pBodyComplection][1])/480.0f,
1640 papredoll_dlhs[uPlayerID - 1]);
1604 if ( !bRingsShownInCharScreen ) 1641 if ( !bRingsShownInCharScreen )
1605 pRenderer->DrawMaskToZBuffer(item_X, item_Y, pIcons_LOD->GetTexture(v153), player->pEquipment.uShield); 1642 pRenderer->ZDrawTextureAlpha(item_X/640.0f, item_Y/480.0f, v153, player->pEquipment.uShield);
1606 } 1643 }
1607 } 1644 }
1608 //--------------------------------------------------------(RightHand/Правая кисть)-------------------------------------------------- 1645 //--------------------------------------------------------(RightHand/Правая кисть)--------------------------------------------------
1609 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX + pPaperdoll_RightHand[pBodyComplection][0], pPaperdoll_BodyY + pPaperdoll_RightHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_drhs[uPlayerID - 1])); 1646 pRenderer->DrawTextureAlphaNew(
1647 (pPaperdoll_BodyX + pPaperdoll_RightHand[pBodyComplection][0])/640.0f,
1648 (pPaperdoll_BodyY + pPaperdoll_RightHand[pBodyComplection][1])/480.0f,
1649 papredoll_drhs[uPlayerID - 1]);
1610 //---------------------------------------------(two-handed - hand/Двуручие - рука)-------------------------------------------------- 1650 //---------------------------------------------(two-handed - hand/Двуручие - рука)--------------------------------------------------
1611 if ( player->GetItem(&PlayerEquipment::uMainHand) ) 1651 if ( player->GetItem(&PlayerEquipment::uMainHand) )
1612 { 1652 {
1613 if ( player->GetMainHandItem()->GetItemEquipType() == EQUIP_TWO_HANDED 1653 if ( player->GetMainHandItem()->GetItemEquipType() == EQUIP_TWO_HANDED
1614 || player->GetMainHandItem()->GetPlayerSkillType() == PLAYER_SKILL_SPEAR 1654 || player->GetMainHandItem()->GetPlayerSkillType() == PLAYER_SKILL_SPEAR
1615 && !player->GetItem(&PlayerEquipment::uShield) ) 1655 && !player->GetItem(&PlayerEquipment::uShield) )
1616 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0], 1656 pRenderer->DrawTextureAlphaNew(
1617 pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1], pIcons_LOD->GetTexture(papredoll_dlaus[uPlayerID - 1])); 1657 (pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0])/640.0f,
1658 (pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1])/480.0f,
1659 papredoll_dlaus[uPlayerID - 1]);
1618 } 1660 }
1619 //--------------------------------------------------------(two-handed - fist/двуручие - кисть)---------------------------------------------------- 1661 //--------------------------------------------------------(two-handed - fist/двуручие - кисть)----------------------------------------------------
1620 if ( player->GetItem(&PlayerEquipment::uMainHand)) 1662 if ( player->GetItem(&PlayerEquipment::uMainHand))
1621 { 1663 {
1622 item = player->GetMainHandItem(); 1664 item = player->GetMainHandItem();
1623 if ( item->GetItemEquipType() == EQUIP_TWO_HANDED 1665 if ( item->GetItemEquipType() == EQUIP_TWO_HANDED
1624 || item->GetPlayerSkillType() == PLAYER_SKILL_SPEAR 1666 || item->GetPlayerSkillType() == PLAYER_SKILL_SPEAR
1625 && !player->GetItem(&PlayerEquipment::uShield) ) 1667 && !player->GetItem(&PlayerEquipment::uShield) )
1626 pRenderer->DrawTextureIndexedAlpha(pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0], 1668 pRenderer->DrawTextureAlphaNew(
1627 pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1], 1669 (pPaperdoll_BodyX + pPaperdoll_SecondLeftHand[pBodyComplection][0])/640.0f,
1628 pIcons_LOD->GetTexture(papredoll_dlhus[uPlayerID - 1])); 1670 (pPaperdoll_BodyY + pPaperdoll_SecondLeftHand[pBodyComplection][1])/480.0f,
1671 papredoll_dlhus[uPlayerID - 1]);
1629 } 1672 }
1630 1673
1631 if ( !bRingsShownInCharScreen )//рисование лупы 1674 if ( !bRingsShownInCharScreen )//рисование лупы
1632 pRenderer->DrawTextureAlphaNew(603/640.0f, 299/480.0f, ui_character_inventory_magnification_glass); 1675 pRenderer->DrawTextureAlphaNew(603/640.0f, 299/480.0f, ui_character_inventory_magnification_glass);
1633 1676
1634 pRenderer->DrawTextureAlphaNew(468 / 640.0f, 0, game_ui_right_panel_frame); 1677 pRenderer->DrawTextureAlphaNew(468/640.0f, 0, game_ui_right_panel_frame);
1635 } 1678 }
1636 1679
1637 //----- (0041A2D1) -------------------------------------------------------- 1680 //----- (0041A2D1) --------------------------------------------------------
1638 void CharacterUI_InventoryTab_Draw(Player *player, bool a2) 1681 void CharacterUI_InventoryTab_Draw(Player *player, bool a2)
1639 { 1682 {
1640 Texture *pTexture; // esi@6 1683 Image *pTexture; // esi@6
1641 unsigned int v17; // edi@15 1684 unsigned int v17; // edi@15
1642 unsigned int uCellX; // [sp+30h] [bp-8h]@5 1685 unsigned int uCellX; // [sp+30h] [bp-8h]@5
1643 unsigned int uCellY; // [sp+34h] [bp-4h]@5 1686 unsigned int uCellY; // [sp+34h] [bp-4h]@5
1644 1687
1645 pRenderer->DrawTextureAlphaNew(8/640.0f, 8/480.0f, ui_character_inventory_background); 1688 pRenderer->DrawTextureAlphaNew(8/640.0f, 8/480.0f, ui_character_inventory_background);
1652 continue; 1695 continue;
1653 if ( !player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uItemID ) 1696 if ( !player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uItemID )
1654 continue; 1697 continue;
1655 uCellY = 32 * (i / 14) + 17; 1698 uCellY = 32 * (i / 14) + 17;
1656 uCellX = 32 * (i % 14) + 14; 1699 uCellX = 32 * (i % 14) + 14;
1657 uint item_texture_id = pIcons_LOD->LoadTexture(player->pInventoryItemList[player->pInventoryMatrix[i] - 1].GetIconName(), TEXTURE_16BIT_PALETTE); 1700
1658 pTexture = pIcons_LOD->GetTexture(item_texture_id); 1701 //uint item_texture_id = pIcons_LOD->LoadTexture(player->pInventoryItemList[player->pInventoryMatrix[i] - 1].GetIconName(), TEXTURE_16BIT_PALETTE);
1659 if (pTexture->uTextureWidth < 14) 1702 //pTexture = pIcons_LOD->GetTexture(item_texture_id);
1660 pTexture->uTextureWidth = 14; 1703 pTexture = assets->GetImage_16BitAlpha(player->pInventoryItemList[player->pInventoryMatrix[i] - 1].GetIconName());
1661 if ( (pTexture->uTextureWidth - 14) / 32 == 0 && pTexture->uTextureWidth < 32) 1704
1662 uCellX += (32 - pTexture->uTextureWidth) / 2; 1705 //if (pTexture->uTextureWidth < 14)
1663 //v13 = pTexture->uTextureWidth - 14; 1706 // pTexture->uTextureWidth = 14;
1664 //LOBYTE(v13) = v13 & 0xE0; 1707 int width = pTexture->GetWidth();
1665 //v15 = v13 + 32; 1708 if (width < 14)
1666 if (pTexture->uTextureHeight < 14 ) 1709 width = 14;
1667 pTexture->uTextureHeight = 14; 1710
1668 v17 = uCellX + (( (int)((pTexture->uTextureWidth - 14) & 0xE0) + 32 - pTexture->uTextureWidth) / 2) 1711 if ( (width - 14) / 32 == 0 && width < 32)
1669 + pSRZBufferLineOffsets[uCellY + (( (int)((pTexture->uTextureHeight - 14) & 0xFFFFFFE0) - pTexture->uTextureHeight + 32) / 2)]; //added typecast. without it the value in the brackets got cat to unsigned which messed stuff up 1712 uCellX += (32 - width) / 2;
1713
1714 int height = pTexture->GetHeight();
1715 if (height < 14 )
1716 height = 14;
1717 v17 = uCellX + (( (int)((width - 14) & 0xE0) + 32 - width) / 2)
1718 + pSRZBufferLineOffsets[uCellY + (( (int)((height - 14) & 0xFFFFFFE0) - height + 32) / 2)]; //added typecast. without it the value in the brackets got cat to unsigned which messed stuff up
1670 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes & ITEM_ENCHANT_ANIMATION) 1719 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes & ITEM_ENCHANT_ANIMATION)
1671 { 1720 {
1672 Texture *loadedTextureptr = nullptr; 1721 Texture_MM7 *loadedTextureptr = nullptr;
1673 switch (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes & ITEM_ENCHANT_ANIMATION) 1722 switch (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes & ITEM_ENCHANT_ANIMATION)
1674 { 1723 {
1675 case ITEM_AURA_EFFECT_RED: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sptext01", TEXTURE_16BIT_PALETTE); break; 1724 case ITEM_AURA_EFFECT_RED: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sptext01", TEXTURE_16BIT_PALETTE); break;
1676 case ITEM_AURA_EFFECT_BLUE: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sp28a", TEXTURE_16BIT_PALETTE); break; 1725 case ITEM_AURA_EFFECT_BLUE: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sp28a", TEXTURE_16BIT_PALETTE); break;
1677 case ITEM_AURA_EFFECT_GREEN: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sp30a", TEXTURE_16BIT_PALETTE); break; 1726 case ITEM_AURA_EFFECT_GREEN: loadedTextureptr = pIcons_LOD->LoadTexturePtr("sp30a", TEXTURE_16BIT_PALETTE); break;
1683 _50C9A8_item_enchantment_timer = 0; 1732 _50C9A8_item_enchantment_timer = 0;
1684 LOBYTE(player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes) &= 0xF; 1733 LOBYTE(player->pInventoryItemList[player->pInventoryMatrix[i] - 1].uAttributes) &= 0xF;
1685 ptr_50C9A4_ItemToEnchant = nullptr; 1734 ptr_50C9A4_ItemToEnchant = nullptr;
1686 } 1735 }
1687 1736
1688 pRenderer->DrawAura(uCellX, uCellY, pTexture, loadedTextureptr, GetTickCount() * 0.1, 0, 255); 1737 pRenderer->BlendTextures(uCellX, uCellY, pTexture, loadedTextureptr, GetTickCount() * 0.1, 0, 255);
1689 ZBuffer_Fill(&pRenderer->pActiveZBuffer[v17], item_texture_id, player->pInventoryMatrix[i]); 1738 //ZBuffer_Fill(&pRenderer->pActiveZBuffer[v17], item_texture_id, player->pInventoryMatrix[i]);
1690 } 1739 }
1691 else 1740 else
1692 { 1741 {
1693 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].IsIdentified() || current_screen_type != SCREEN_HOUSE) 1742 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].IsIdentified() || current_screen_type != SCREEN_HOUSE)
1694 { 1743 {
1695 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].IsBroken()) 1744 if (player->pInventoryItemList[player->pInventoryMatrix[i] - 1].IsBroken())
1696 pRenderer->DrawTransparentRedShade(uCellX, uCellY, pTexture); 1745 pRenderer->DrawTransparentRedShade(uCellX/640.0f, uCellY/480.0f, pTexture);
1697 else 1746 else
1698 pRenderer->DrawTextureIndexedAlpha(uCellX, uCellY, pTexture); 1747 pRenderer->DrawTextureAlphaNew(uCellX/640.0f, uCellY/480.0f, pTexture);
1699 } 1748 }
1700 else 1749 else
1701 pRenderer->DrawTransparentGreenShade(uCellX, uCellY, pTexture); 1750 pRenderer->DrawTransparentGreenShade(uCellX/640.0f, uCellY/480.0f, pTexture);
1702 ZBuffer_Fill(&pRenderer->pActiveZBuffer[v17], item_texture_id, player->pInventoryMatrix[i]); 1751 //ZBuffer_Fill(&pRenderer->pActiveZBuffer[v17], item_texture_id, player->pInventoryMatrix[i]);
1703 continue; 1752 continue;
1704 } 1753 }
1705 } 1754 }
1706 } 1755 }
1707 1756
1708 static void CharacterUI_DrawItem(int x, int y, ItemGen *item, int id) 1757 static void CharacterUI_DrawItem(int x, int y, ItemGen *item, int id)
1709 { 1758 {
1710 Texture* item_texture = pIcons_LOD->LoadTexturePtr(item->GetIconName(), TEXTURE_16BIT_PALETTE); 1759 //Texture_MM7* item_texture = pIcons_LOD->LoadTexturePtr(item->GetIconName(), TEXTURE_16BIT_PALETTE);
1760 auto item_texture = assets->GetImage_16BitAlpha(item->GetIconName());
1711 1761
1712 if (item->uAttributes & ITEM_ENCHANT_ANIMATION) // enchant animation 1762 if (item->uAttributes & ITEM_ENCHANT_ANIMATION) // enchant animation
1713 { 1763 {
1714 Texture *enchantment_texture = nullptr; 1764 Texture_MM7 *enchantment_texture = nullptr;
1715 switch (item->uAttributes & ITEM_ENCHANT_ANIMATION) 1765 switch (item->uAttributes & ITEM_ENCHANT_ANIMATION)
1716 { 1766 {
1717 case ITEM_AURA_EFFECT_RED: enchantment_texture = pIcons_LOD->LoadTexturePtr("sptext01", TEXTURE_16BIT_PALETTE); break; 1767 case ITEM_AURA_EFFECT_RED: enchantment_texture = pIcons_LOD->LoadTexturePtr("sptext01", TEXTURE_16BIT_PALETTE); break;
1718 case ITEM_AURA_EFFECT_BLUE: enchantment_texture = pIcons_LOD->LoadTexturePtr("sp28a", TEXTURE_16BIT_PALETTE); break; 1768 case ITEM_AURA_EFFECT_BLUE: enchantment_texture = pIcons_LOD->LoadTexturePtr("sp28a", TEXTURE_16BIT_PALETTE); break;
1719 case ITEM_AURA_EFFECT_GREEN: enchantment_texture = pIcons_LOD->LoadTexturePtr("sp30a", TEXTURE_16BIT_PALETTE); break; 1769 case ITEM_AURA_EFFECT_GREEN: enchantment_texture = pIcons_LOD->LoadTexturePtr("sp30a", TEXTURE_16BIT_PALETTE); break;
1725 { 1775 {
1726 _50C9A8_item_enchantment_timer = 0; 1776 _50C9A8_item_enchantment_timer = 0;
1727 item->uAttributes &= 0xFFFFFF0F; 1777 item->uAttributes &= 0xFFFFFF0F;
1728 ptr_50C9A4_ItemToEnchant = nullptr; 1778 ptr_50C9A4_ItemToEnchant = nullptr;
1729 } 1779 }
1730 pRenderer->DrawAura(x, y, item_texture, enchantment_texture, GetTickCount() * 0.1, 0, 255); 1780 pRenderer->BlendTextures(x, y, item_texture, enchantment_texture, GetTickCount() * 0.1, 0, 255);
1731 } 1781 }
1732 else 1782 else
1733 { 1783 {
1734 if (item->IsBroken()) 1784 if (item->IsBroken())
1735 pRenderer->DrawTransparentRedShade(x, y, item_texture); 1785 pRenderer->DrawTransparentRedShade(x/640.0f, y/480.0f, item_texture);
1736 else if (!item->IsIdentified()) 1786 else if (!item->IsIdentified())
1737 pRenderer->DrawTransparentGreenShade(x, y, item_texture); 1787 pRenderer->DrawTransparentGreenShade(x/640.0f, y/480.0f, item_texture);
1738 else 1788 else
1739 pRenderer->DrawTextureIndexedAlpha(x, y, item_texture); 1789 pRenderer->DrawTextureAlphaNew(x/640.0f, y/480.0f, item_texture);
1740 1790
1741 pRenderer->ZBuffer_Fill_2(x, y, item_texture, id); 1791 pRenderer->ZBuffer_Fill_2(x, y, item_texture, id);
1742 } 1792 }
1743 } 1793 }
1744 1794
1794 if ( pPlayers[i + 1]->GetRace() == CHARACTER_RACE_DWARF ) 1844 if ( pPlayers[i + 1]->GetRace() == CHARACTER_RACE_DWARF )
1795 v3 = (pPlayers[i + 1]->GetSexByVoice() != 0) + 3; 1845 v3 = (pPlayers[i + 1]->GetSexByVoice() != 0) + 3;
1796 else 1846 else
1797 v3 = (pPlayers[i + 1]->GetSexByVoice() != 0) + 1; 1847 v3 = (pPlayers[i + 1]->GetSexByVoice() != 0) + 1;
1798 wsprintfA(pContainer, "pc23v%dBod", v3); 1848 wsprintfA(pContainer, "pc23v%dBod", v3);
1799 papredoll_dbods[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);//Body texture 1849 papredoll_dbods[i] = assets->GetImage_16BitAlpha(pContainer);//Body texture
1800 wsprintfA(pContainer, "pc23v%dlad", v3); 1850 wsprintfA(pContainer, "pc23v%dlad", v3);
1801 papredoll_dlads[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Left Hand 1851 papredoll_dlads[i] = assets->GetImage_16BitAlpha(pContainer);// Left Hand
1802 wsprintfA(pContainer, "pc23v%dlau", v3); 1852 wsprintfA(pContainer, "pc23v%dlau", v3);
1803 papredoll_dlaus[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Left Hand2 1853 papredoll_dlaus[i] = assets->GetImage_16BitAlpha(pContainer);// Left Hand2
1804 wsprintfA(pContainer, "pc23v%drh", v3); 1854 wsprintfA(pContainer, "pc23v%drh", v3);
1805 papredoll_drhs[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Right Hand 1855 papredoll_drhs[i] = assets->GetImage_16BitAlpha(pContainer);// Right Hand
1806 wsprintfA(pContainer, "pc23v%dlh", v3); 1856 wsprintfA(pContainer, "pc23v%dlh", v3);
1807 papredoll_dlhs[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// Left Fist 1857 papredoll_dlhs[i] = assets->GetImage_16BitAlpha(pContainer);// Left Palm
1808 wsprintfA(pContainer, "pc23v%dlhu", v3); 1858 wsprintfA(pContainer, "pc23v%dlhu", v3);
1809 papredoll_dlhus[i] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); // Left Fist 2 1859 papredoll_dlhus[i] = assets->GetImage_16BitAlpha(pContainer); // Left Fist
1810 pPlayer = pPlayers[i + 1]; 1860 pPlayer = pPlayers[i + 1];
1861
1811 if ( pPlayer->uCurrentFace == 12 || pPlayer->uCurrentFace == 13 ) 1862 if ( pPlayer->uCurrentFace == 12 || pPlayer->uCurrentFace == 13 )
1812 papredoll_dbrds[(char)pPlayer->uCurrentFace] = 0; 1863 paperdoll_dbrds[(char)pPlayer->uCurrentFace] = nullptr;
1813 papredoll_flying_feet[pPlayer->uCurrentFace] = 0; 1864 papredoll_flying_feet[pPlayer->uCurrentFace] = nullptr;
1814 IsPlayerWearingWatersuit[i + 1] = 1; 1865
1866 IsPlayerWearingWatersuit[i + 1] = true;
1815 } 1867 }
1816 else 1868 else
1817 { 1869 {
1818 papredoll_dbods[i] = pIcons_LOD->LoadTexture(dbod_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); 1870 papredoll_dbods[i] = assets->GetImage_16BitAlpha(dbod_texnames_by_face[pPlayers[i + 1]->uCurrentFace]);
1819 papredoll_dlads[i] = pIcons_LOD->LoadTexture(dlad_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); 1871 papredoll_dlads[i] = assets->GetImage_16BitAlpha(dlad_texnames_by_face[pPlayers[i + 1]->uCurrentFace]);
1820 papredoll_dlaus[i] = pIcons_LOD->LoadTexture(dlau_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); 1872 papredoll_dlaus[i] = assets->GetImage_16BitAlpha(dlau_texnames_by_face[pPlayers[i + 1]->uCurrentFace]);
1821 papredoll_drhs[i] = pIcons_LOD->LoadTexture(drh_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); 1873 papredoll_drhs[i] = assets->GetImage_16BitAlpha(drh_texnames_by_face[pPlayers[i + 1]->uCurrentFace]);
1822 papredoll_dlhs[i] = pIcons_LOD->LoadTexture(dlh_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); 1874 papredoll_dlhs[i] = assets->GetImage_16BitAlpha(dlh_texnames_by_face[pPlayers[i + 1]->uCurrentFace]);
1823 papredoll_dlhus[i] = pIcons_LOD->LoadTexture(dlhu_texnames_by_face[pPlayers[i + 1]->uCurrentFace], TEXTURE_16BIT_PALETTE); 1875 papredoll_dlhus[i] = assets->GetImage_16BitAlpha(dlhu_texnames_by_face[pPlayers[i + 1]->uCurrentFace]);
1876
1877 wchar_t name[1024];
1824 if ( pPlayers[i + 1]->uCurrentFace == 12 || pPlayers[i + 1]->uCurrentFace == 13 ) 1878 if ( pPlayers[i + 1]->uCurrentFace == 12 || pPlayers[i + 1]->uCurrentFace == 13 )
1825 { 1879 {
1826 wsprintfA(pContainer, "pc%02dbrd", pPlayers[i + 1]->uCurrentFace + 1); 1880 wsprintfW(name, L"pc%02dbrd", pPlayers[i + 1]->uCurrentFace + 1);
1827 papredoll_dbrds[pPlayers[i + 1]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1881 paperdoll_dbrds[pPlayers[i + 1]->uCurrentFace] = assets->GetImage_16BitAlpha(name);
1828 } 1882 }
1829 wsprintfA(pContainer, "item281pc%02d", pPlayers[i + 1]->uCurrentFace + 1); 1883 wsprintfW(name, L"item281pc%02d", pPlayers[i + 1]->uCurrentFace + 1);
1830 papredoll_flying_feet[pPlayers[i + 1]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1884 papredoll_flying_feet[pPlayers[i + 1]->uCurrentFace] = assets->GetImage_16BitAlpha(name);
1831 IsPlayerWearingWatersuit[i + 1] = 0; 1885 IsPlayerWearingWatersuit[i + 1] = 0;
1832 } 1886 }
1833 } 1887 }
1834 1888
1835 uTextureID_ar_up_up = pIcons_LOD->LoadTexture("ar_up_up", TEXTURE_16BIT_PALETTE); 1889 ui_ar_up_up = assets->GetImage_16BitAlpha(L"ar_up_up");
1836 uTextureID_ar_up_dn = pIcons_LOD->LoadTexture("ar_up_dn", TEXTURE_16BIT_PALETTE); 1890 ui_ar_up_dn = assets->GetImage_16BitAlpha(L"ar_up_dn");
1837 uTextureID_ar_dn_up = pIcons_LOD->LoadTexture("ar_dn_up", TEXTURE_16BIT_PALETTE); 1891 ui_ar_dn_up = assets->GetImage_16BitAlpha(L"ar_dn_up");
1838 uTextureID_ar_dn_dn = pIcons_LOD->LoadTexture("ar_dn_dn", TEXTURE_16BIT_PALETTE); 1892 ui_ar_dn_dn = assets->GetImage_16BitAlpha(L"ar_dn_dn");
1839 papredoll_dbrds[9] = pIcons_LOD->LoadTexture("ib-cd1-d", TEXTURE_16BIT_PALETTE); 1893
1840 papredoll_dbrds[7] = pIcons_LOD->LoadTexture("ib-cd2-d", TEXTURE_16BIT_PALETTE); 1894 paperdoll_dbrds[9] = assets->GetImage_16BitAlpha(L"ib-cd1-d");
1841 papredoll_dbrds[5] = pIcons_LOD->LoadTexture("ib-cd3-d", TEXTURE_16BIT_PALETTE); 1895 paperdoll_dbrds[7] = assets->GetImage_16BitAlpha(L"ib-cd2-d");
1842 papredoll_dbrds[3] = pIcons_LOD->LoadTexture("ib-cd4-d", TEXTURE_16BIT_PALETTE); 1896 paperdoll_dbrds[5] = assets->GetImage_16BitAlpha(L"ib-cd3-d");
1843 papredoll_dbrds[1] = pIcons_LOD->LoadTexture("ib-cd5-d", TEXTURE_16BIT_PALETTE); 1897 paperdoll_dbrds[3] = assets->GetImage_16BitAlpha(L"ib-cd4-d");
1898 paperdoll_dbrds[1] = assets->GetImage_16BitAlpha(L"ib-cd5-d");
1899
1844 for ( uint i = 0; i < 54; ++i )// test equipment 1900 for ( uint i = 0; i < 54; ++i )// test equipment
1845 { 1901 {
1846 party_has_equipment[i] = 0; 1902 party_has_equipment[i] = 0;
1847 if ( pParty->pPickedItem.uItemID != i + 66 ) 1903 if ( pParty->pPickedItem.uItemID != i + 66 )
1848 { 1904 {
1880 for (uint i = 0; i < 2; ++i) 1936 for (uint i = 0; i < 2; ++i)
1881 { 1937 {
1882 for ( uint j = 0; j < 5; ++j )//Belt 1938 for ( uint j = 0; j < 5; ++j )//Belt
1883 { 1939 {
1884 GetItemTextureFilename(pContainer, j + 100, i + 1, 0); 1940 GetItemTextureFilename(pContainer, j + 100, i + 1, 0);
1885 paperdoll_belt_texture[i][j] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1941 paperdoll_belt_texture[i][j] = assets->GetImage_16BitAlpha(pContainer);
1886 } 1942 }
1887 GetItemTextureFilename(pContainer, 535, i + 1, 0); 1943 GetItemTextureFilename(pContainer, 535, i + 1, 0);
1888 paperdoll_belt_texture[i][6] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1944 paperdoll_belt_texture[i][6] = assets->GetImage_16BitAlpha(pContainer);
1889 for ( uint j = 0; j < 11; ++j )//Helm 1945 for ( uint j = 0; j < 11; ++j )//Helm
1890 { 1946 {
1891 GetItemTextureFilename(pContainer, j + 89, i + 1, 0); 1947 GetItemTextureFilename(pContainer, j + 89, i + 1, 0);
1892 paperdoll_helm_texture[i][j] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1948 paperdoll_helm_texture[i][j] = assets->GetImage_16BitAlpha(pContainer);
1893 } 1949 }
1894 GetItemTextureFilename(pContainer, 521, i + 1, 0); 1950 GetItemTextureFilename(pContainer, 521, i + 1, 0);
1895 paperdoll_helm_texture[i][11] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1951 paperdoll_helm_texture[i][11] = assets->GetImage_16BitAlpha(pContainer);
1896 GetItemTextureFilename(pContainer, 522, i + 1, 0); 1952 GetItemTextureFilename(pContainer, 522, i + 1, 0);
1897 paperdoll_helm_texture[i][12] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1953 paperdoll_helm_texture[i][12] = assets->GetImage_16BitAlpha(pContainer);
1898 GetItemTextureFilename(pContainer, 523, i + 1, 0); 1954 GetItemTextureFilename(pContainer, 523, i + 1, 0);
1899 paperdoll_helm_texture[i][13] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1955 paperdoll_helm_texture[i][13] = assets->GetImage_16BitAlpha(pContainer);
1900 GetItemTextureFilename(pContainer, 532, i + 1, 0); 1956 GetItemTextureFilename(pContainer, 532, i + 1, 0);
1901 paperdoll_helm_texture[i][14] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1957 paperdoll_helm_texture[i][14] = assets->GetImage_16BitAlpha(pContainer);
1902 GetItemTextureFilename(pContainer, 544, i + 1, 0); 1958 GetItemTextureFilename(pContainer, 544, i + 1, 0);
1903 paperdoll_helm_texture[i][15] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1959 paperdoll_helm_texture[i][15] = assets->GetImage_16BitAlpha(pContainer);
1960
1904 if ( IsDwarfPresentInParty(true) ) //the phynaxian helm uses a slightly different graphic for dwarves 1961 if ( IsDwarfPresentInParty(true) ) //the phynaxian helm uses a slightly different graphic for dwarves
1905 papredoll_dbrds[11] = pIcons_LOD->LoadTexture("item092v3", TEXTURE_16BIT_PALETTE); 1962 paperdoll_dbrds[11] = assets->GetImage_16BitAlpha(L"item092v3");
1906 } 1963 }
1907 //v43 = 0; 1964 //v43 = 0;
1908 for (uint i = 0; i < 4; ++i) 1965 for (uint i = 0; i < 4; ++i)
1909 { 1966 {
1910 if ( ShouldLoadTexturesForRaceAndGender(i) ) 1967 if ( ShouldLoadTexturesForRaceAndGender(i) )
1911 { 1968 {
1912 GetItemTextureFilename(pContainer, 524, i + 1, 0); 1969 GetItemTextureFilename(pContainer, 524, i + 1, 0);
1913 paperdoll_belt_texture[i][5] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);//Titans belt 1970 paperdoll_belt_texture[i][5] = assets->GetImage_16BitAlpha(pContainer);//Titans belt
1914 pItemTXTNum = 66; 1971 pItemTXTNum = 66;
1915 for ( v32 = 0; v32 < 13; ++v32 )//simple armor 1972 for ( v32 = 0; v32 < 13; ++v32 )//simple armor
1916 { 1973 {
1917 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 0); 1974 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 0);
1918 paperdoll_armor_texture[i][v32][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// armor 1975 paperdoll_armor_texture[i][v32][0] = assets->GetImage_16BitAlpha(pContainer);// armor
1919 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 1); 1976 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 1);
1920 paperdoll_armor_texture[i][v32][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// shoulder 1 1977 paperdoll_armor_texture[i][v32][1] = assets->GetImage_16BitAlpha(pContainer);// shoulder 1
1921 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 2); 1978 GetItemTextureFilename(pContainer, pItemTXTNum, i + 1, 2);
1922 paperdoll_armor_texture[i][v32][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE);// shoulder 2 1979 paperdoll_armor_texture[i][v32][2] = assets->GetImage_16BitAlpha(pContainer);// shoulder 2
1923 pItemTXTNum++; 1980 pItemTXTNum++;
1924 } 1981 }
1925 GetItemTextureFilename(pContainer, 516, i + 1, 0);//artefacts 1982 GetItemTextureFilename(pContainer, 516, i + 1, 0);//artefacts
1926 paperdoll_armor_texture[i][v32][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1983 paperdoll_armor_texture[i][v32][0] = assets->GetImage_16BitAlpha(pContainer);
1927 GetItemTextureFilename(pContainer, 516, i + 1, 1); 1984 GetItemTextureFilename(pContainer, 516, i + 1, 1);
1928 paperdoll_armor_texture[i][v32][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1985 paperdoll_armor_texture[i][v32][1] = assets->GetImage_16BitAlpha(pContainer);
1929 GetItemTextureFilename(pContainer, 516, i + 1, 2); 1986 GetItemTextureFilename(pContainer, 516, i + 1, 2);
1930 paperdoll_armor_texture[i][v32][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1987 paperdoll_armor_texture[i][v32][2] = assets->GetImage_16BitAlpha(pContainer);
1931 GetItemTextureFilename(pContainer, 505, i + 1, 0); 1988 GetItemTextureFilename(pContainer, 505, i + 1, 0);
1932 paperdoll_armor_texture[i][v32 + 1][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1989 paperdoll_armor_texture[i][v32 + 1][0] = assets->GetImage_16BitAlpha(pContainer);
1933 GetItemTextureFilename(pContainer, 505, i + 1, 1); 1990 GetItemTextureFilename(pContainer, 505, i + 1, 1);
1934 paperdoll_armor_texture[i][v32 + 1][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1991 paperdoll_armor_texture[i][v32 + 1][1] = assets->GetImage_16BitAlpha(pContainer);
1935 GetItemTextureFilename(pContainer, 505, i + 1, 2); 1992 GetItemTextureFilename(pContainer, 505, i + 1, 2);
1936 paperdoll_armor_texture[i][v32 + 1][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1993 paperdoll_armor_texture[i][v32 + 1][2] = assets->GetImage_16BitAlpha(pContainer);
1937 GetItemTextureFilename(pContainer, 504, i + 1, 0); 1994 GetItemTextureFilename(pContainer, 504, i + 1, 0);
1938 paperdoll_armor_texture[i][v32 + 2][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1995 paperdoll_armor_texture[i][v32 + 2][0] = assets->GetImage_16BitAlpha(pContainer);
1939 GetItemTextureFilename(pContainer, 504, i + 1, 1); 1996 GetItemTextureFilename(pContainer, 504, i + 1, 1);
1940 paperdoll_armor_texture[i][v32 + 2][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1997 paperdoll_armor_texture[i][v32 + 2][1] = assets->GetImage_16BitAlpha(pContainer);
1941 GetItemTextureFilename(pContainer, 504, i + 1, 2); 1998 GetItemTextureFilename(pContainer, 504, i + 1, 2);
1942 paperdoll_armor_texture[i][v32 + 2][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 1999 paperdoll_armor_texture[i][v32 + 2][2] = assets->GetImage_16BitAlpha(pContainer);
1943 GetItemTextureFilename(pContainer, 533, i + 1, 0); 2000 GetItemTextureFilename(pContainer, 533, i + 1, 0);
1944 paperdoll_armor_texture[i][v32 + 3][0] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2001 paperdoll_armor_texture[i][v32 + 3][0] = assets->GetImage_16BitAlpha(pContainer);
1945 GetItemTextureFilename(pContainer, 533, i + 1, 1); 2002 GetItemTextureFilename(pContainer, 533, i + 1, 1);
1946 paperdoll_armor_texture[i][v32 + 3][1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2003 paperdoll_armor_texture[i][v32 + 3][1] = assets->GetImage_16BitAlpha(pContainer);
1947 GetItemTextureFilename(pContainer, 533, i + 1, 2); 2004 GetItemTextureFilename(pContainer, 533, i + 1, 2);
1948 paperdoll_armor_texture[i][v32 + 3][2] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2005 paperdoll_armor_texture[i][v32 + 3][2] = assets->GetImage_16BitAlpha(pContainer);
1949 for ( v33 = 0; v33 < 5; ++v33 )//boots 2006 for ( v33 = 0; v33 < 5; ++v33 )//boots
1950 { 2007 {
1951 GetItemTextureFilename(pContainer, v33 + 115, i + 1, 0); 2008 GetItemTextureFilename(pContainer, v33 + 115, i + 1, 0);
1952 paperdoll_boots_texture[i][v33] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2009 paperdoll_boots_texture[i][v33] = assets->GetImage_16BitAlpha(pContainer);
1953 } 2010 }
1954 GetItemTextureFilename(pContainer, 512, i + 1, 0); 2011 GetItemTextureFilename(pContainer, 512, i + 1, 0);
1955 paperdoll_boots_texture[i][v33] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2012 paperdoll_boots_texture[i][v33] = assets->GetImage_16BitAlpha(pContainer);
1956 for ( v38 = 0; v38 < 5; ++v38 )//Cloak 2013 for ( v38 = 0; v38 < 5; ++v38 )//Cloak
1957 { 2014 {
1958 GetItemTextureFilename(pContainer, v38 + 105, i + 1, 0); 2015 GetItemTextureFilename(pContainer, v38 + 105, i + 1, 0);
1959 paperdoll_cloak_texture[i][v38] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2016 paperdoll_cloak_texture[i][v38] = assets->GetImage_16BitAlpha(pContainer);
1960 GetItemTextureFilename(pContainer, v38 + 105, i + 1, 1); 2017 GetItemTextureFilename(pContainer, v38 + 105, i + 1, 1);
1961 paperdoll_cloak_collar_texture[i][v38] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2018 paperdoll_cloak_collar_texture[i][v38] = assets->GetImage_16BitAlpha(pContainer);
1962 } 2019 }
2020
1963 GetItemTextureFilename(pContainer, 525, i + 1, 0); 2021 GetItemTextureFilename(pContainer, 525, i + 1, 0);
1964 paperdoll_cloak_texture[i][5] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2022 paperdoll_cloak_texture[i][5] = assets->GetImage_16BitAlpha(pContainer);
1965 GetItemTextureFilename(pContainer, 530, i + 1, 0); 2023 GetItemTextureFilename(pContainer, 530, i + 1, 0);
1966 paperdoll_cloak_texture[i][6] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2024 paperdoll_cloak_texture[i][6] = assets->GetImage_16BitAlpha(pContainer);
1967 GetItemTextureFilename(pContainer, 547, i + 1, 0); 2025 GetItemTextureFilename(pContainer, 547, i + 1, 0);
1968 paperdoll_cloak_texture[i][7] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2026 paperdoll_cloak_texture[i][7] = assets->GetImage_16BitAlpha(pContainer);
1969 GetItemTextureFilename(pContainer, 548, i + 1, 0); 2027 GetItemTextureFilename(pContainer, 548, i + 1, 0);
1970 paperdoll_cloak_texture[i][8] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2028 paperdoll_cloak_texture[i][8] = assets->GetImage_16BitAlpha(pContainer);
1971 GetItemTextureFilename(pContainer, 550, i + 1, 0); 2029 GetItemTextureFilename(pContainer, 550, i + 1, 0);
1972 paperdoll_cloak_texture[i][9] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2030 paperdoll_cloak_texture[i][9] = assets->GetImage_16BitAlpha(pContainer);
1973 GetItemTextureFilename(pContainer, 525, i + 1, 1); 2031 GetItemTextureFilename(pContainer, 525, i + 1, 1);
1974 paperdoll_cloak_collar_texture[i][5] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2032 paperdoll_cloak_collar_texture[i][5] = assets->GetImage_16BitAlpha(pContainer);
1975 GetItemTextureFilename(pContainer, 530, i + 1, 1); 2033 GetItemTextureFilename(pContainer, 530, i + 1, 1);
1976 paperdoll_cloak_collar_texture[i][6] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2034 paperdoll_cloak_collar_texture[i][6] = assets->GetImage_16BitAlpha(pContainer);
1977 GetItemTextureFilename(pContainer, 547, i + 1, 1); 2035 GetItemTextureFilename(pContainer, 547, i + 1, 1);
1978 paperdoll_cloak_collar_texture[i][7] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2036 paperdoll_cloak_collar_texture[i][7] = assets->GetImage_16BitAlpha(pContainer);
1979 GetItemTextureFilename(pContainer, 548, i + 1, 1); 2037 GetItemTextureFilename(pContainer, 548, i + 1, 1);
1980 paperdoll_cloak_collar_texture[i][8] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2038 paperdoll_cloak_collar_texture[i][8] = assets->GetImage_16BitAlpha(pContainer);
1981 GetItemTextureFilename(pContainer, 550, i + 1, 1); 2039 GetItemTextureFilename(pContainer, 550, i + 1, 1);
1982 paperdoll_cloak_collar_texture[i][9] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2040 paperdoll_cloak_collar_texture[i][9] = assets->GetImage_16BitAlpha(pContainer);
1983 } 2041 }
1984 //else 2042 //else
1985 //{ 2043 //{
1986 //v26 = v43; 2044 //v26 = v43;
1987 //} 2045 //}
2362 player_sex = pPlayers[uPlayerID]->GetSexByVoice(); 2420 player_sex = pPlayers[uPlayerID]->GetSexByVoice();
2363 if ( player_race == CHARACTER_RACE_DWARF ) 2421 if ( player_race == CHARACTER_RACE_DWARF )
2364 texture_num = (player_sex != 0) + 3; 2422 texture_num = (player_sex != 0) + 3;
2365 else 2423 else
2366 texture_num = (player_sex != 0) + 1; 2424 texture_num = (player_sex != 0) + 1;
2425
2367 wsprintfA(pContainer, "pc23v%dBod", texture_num); 2426 wsprintfA(pContainer, "pc23v%dBod", texture_num);
2368 papredoll_dbods[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2427 papredoll_dbods[uPlayerID - 1] = assets->GetImage_16BitAlpha(pContainer);
2369 wsprintfA(pContainer, "pc23v%dlad", texture_num); 2428 wsprintfA(pContainer, "pc23v%dlad", texture_num);
2370 papredoll_dlads[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2429 papredoll_dlads[uPlayerID - 1] = assets->GetImage_16BitAlpha(pContainer);
2371 wsprintfA(pContainer, "pc23v%dlau", texture_num); 2430 wsprintfA(pContainer, "pc23v%dlau", texture_num);
2372 papredoll_dlaus[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2431 papredoll_dlaus[uPlayerID - 1] = assets->GetImage_16BitAlpha(pContainer);
2373 wsprintfA(pContainer, "pc23v%drh", texture_num); 2432 wsprintfA(pContainer, "pc23v%drh", texture_num);
2374 papredoll_drhs[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2433 papredoll_drhs[uPlayerID - 1] = assets->GetImage_16BitAlpha(pContainer);
2375 wsprintfA(pContainer, "pc23v%dlh", texture_num); 2434 wsprintfA(pContainer, "pc23v%dlh", texture_num);
2376 papredoll_dlhs[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2435 papredoll_dlhs[uPlayerID - 1] = assets->GetImage_16BitAlpha(pContainer);
2377 wsprintfA(pContainer, "pc23v%dlhu", texture_num); 2436 wsprintfA(pContainer, "pc23v%dlhu", texture_num);
2378 papredoll_dlhus[uPlayerID - 1] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2437 papredoll_dlhus[uPlayerID - 1] = assets->GetImage_16BitAlpha(pContainer);
2379 2438
2380 if ( pPlayers[uPlayerID]->uCurrentFace == 12 || pPlayers[uPlayerID]->uCurrentFace == 13 ) 2439 if ( pPlayers[uPlayerID]->uCurrentFace == 12 || pPlayers[uPlayerID]->uCurrentFace == 13 )
2381 papredoll_dbrds[pPlayers[uPlayerID]->uCurrentFace] = 0; 2440 paperdoll_dbrds[pPlayers[uPlayerID]->uCurrentFace] = nullptr;
2382 papredoll_flying_feet[pPlayers[uPlayerID]->uCurrentFace] = 0; 2441 papredoll_flying_feet[pPlayers[uPlayerID]->uCurrentFace] = nullptr;
2383 IsPlayerWearingWatersuit[uPlayerID] = 1; 2442
2443 IsPlayerWearingWatersuit[uPlayerID] = true;
2384 } 2444 }
2385 } 2445 }
2386 2446
2387 //----- (0043F0BD) -------------------------------------------------------- 2447 //----- (0043F0BD) --------------------------------------------------------
2388 void WetsuitOff( unsigned int uPlayerID ) 2448 void WetsuitOff( unsigned int uPlayerID )
2389 { 2449 {
2390 char pContainer[20]; // [sp+0h] [bp-18h]@4 2450 char pContainer[20]; // [sp+0h] [bp-18h]@4
2391 2451
2392 if (uPlayerID > 0 ) 2452 if (uPlayerID > 0 )
2393 { 2453 {
2394 papredoll_dbods[uPlayerID - 1] = pIcons_LOD->LoadTexture(dbod_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); 2454 papredoll_dbods[uPlayerID - 1] = assets->GetImage_16BitAlpha(dbod_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace]);
2395 papredoll_dlads[uPlayerID - 1] = pIcons_LOD->LoadTexture(dlad_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); 2455 papredoll_dlads[uPlayerID - 1] = assets->GetImage_16BitAlpha(dlad_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace]);
2396 papredoll_dlaus[uPlayerID - 1] = pIcons_LOD->LoadTexture(dlau_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); 2456 papredoll_dlaus[uPlayerID - 1] = assets->GetImage_16BitAlpha(dlau_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace]);
2397 papredoll_drhs [uPlayerID - 1] = pIcons_LOD->LoadTexture(drh_texnames_by_face [pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); 2457 papredoll_drhs [uPlayerID - 1] = assets->GetImage_16BitAlpha(drh_texnames_by_face [pPlayers[uPlayerID]->uCurrentFace]);
2398 papredoll_dlhs [uPlayerID - 1] = pIcons_LOD->LoadTexture(dlh_texnames_by_face [pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); 2458 papredoll_dlhs [uPlayerID - 1] = assets->GetImage_16BitAlpha(dlh_texnames_by_face [pPlayers[uPlayerID]->uCurrentFace]);
2399 papredoll_dlhus[uPlayerID - 1] = pIcons_LOD->LoadTexture(dlhu_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace], TEXTURE_16BIT_PALETTE); 2459 papredoll_dlhus[uPlayerID - 1] = assets->GetImage_16BitAlpha(dlhu_texnames_by_face[pPlayers[uPlayerID]->uCurrentFace]);
2400 2460
2461 wchar_t name[1024];
2401 if ( pPlayers[uPlayerID]->uCurrentFace == 12 || pPlayers[uPlayerID]->uCurrentFace == 13 ) 2462 if ( pPlayers[uPlayerID]->uCurrentFace == 12 || pPlayers[uPlayerID]->uCurrentFace == 13 )
2402 { 2463 {
2403 wsprintfA(pContainer, "pc%02dbrd", pPlayers[uPlayerID]->uCurrentFace + 1); 2464 wsprintfW(name, L"pc%02dbrd", pPlayers[uPlayerID]->uCurrentFace + 1);
2404 papredoll_dbrds[pPlayers[uPlayerID]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2465 paperdoll_dbrds[pPlayers[uPlayerID]->uCurrentFace] = assets->GetImage_16BitAlpha(name);
2405 } 2466 }
2406 wsprintfA(pContainer, "item281pc%02d", pPlayers[uPlayerID]->uCurrentFace + 1); 2467
2407 papredoll_flying_feet[pPlayers[uPlayerID]->uCurrentFace] = pIcons_LOD->LoadTexture(pContainer, TEXTURE_16BIT_PALETTE); 2468 wsprintfW(name, L"item281pc%02d", pPlayers[uPlayerID]->uCurrentFace + 1);
2408 IsPlayerWearingWatersuit[uPlayerID] = 0; 2469 papredoll_flying_feet[pPlayers[uPlayerID]->uCurrentFace] = assets->GetImage_16BitAlpha(name);
2470
2471 IsPlayerWearingWatersuit[uPlayerID] = false;
2409 } 2472 }
2410 } 2473 }
2411 2474
2412 //----- (00468F8A) -------------------------------------------------------- 2475 //----- (00468F8A) --------------------------------------------------------
2413 void OnPaperdollLeftClick() 2476 void OnPaperdollLeftClick()