Mercurial > mm7
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() |