Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (Settings::V::Weapon) {
- CPlayer_WeaponServices* WeaponServices = Player.Player->m_pWeaponServices();
- if (!WeaponServices) continue;
- auto WeaponBaseEntity = Interface::GameResourceServiceClient->Instance->Get<C_BaseEntity>(WeaponServices->m_hActiveWeapon().index());
- if (!WeaponBaseEntity) continue;
- const char* WeaponClassName = X("");
- SchemaClassInfoData_t* WeaponClassInfo = nullptr;
- WeaponBaseEntity->GetSchemaClassInfo(&WeaponClassInfo);
- if (WeaponClassInfo) {
- WeaponClassName = WeaponClassInfo->m_szName;
- }
- else {
- WeaponClassName = X("");
- }
- char SzName[64] = {};
- strncpy_s(SzName, WeaponClassName, sizeof(SzName) - 1);
- for (char* p = SzName; *p; ++p) *p = (char)tolower(*p);
- if (strncmp(SzName, X("c_"), 2) == 0) memmove(SzName, SzName + 2, strlen(SzName) - 1);
- if (strncmp(SzName, X("weapon"), 6) == 0) memmove(SzName, SzName + 6, strlen(SzName) - 5);
- const char* IconPath = GetWeaponIcon(SzName);
- if (IconPath == X("")) continue;
- printf(X("%s - %s\n"), SzName, IconPath);
- static CImageProxySource* PImageProxy = nullptr;
- if (!PImageProxy) {
- CUIEngineSource2* PUIEngine = Interface::PanoramaUIEngine->AccessUIEngine();
- if (!PUIEngine) continue;
- CImageResourceManager* PResourceManager = PUIEngine->GetResourceManager();
- if (!PResourceManager) continue;
- PImageProxy = PResourceManager->LoadImageInternal(IconPath, EImageFormat::BGRA8888);
- }
- if (PImageProxy) {
- ImVec2 RawImageSize = PImageProxy->GetImageSize();
- float Scale = ScaledFontSize / RawImageSize.y;
- ImVec2 ImageSize = RawImageSize * Scale;
- float ImageX = BoxX + BoxWidth * 0.5f - ImageSize.x * 0.5f;
- float ImageY = BoxY + BoxHeight + BottomTextOffset;
- ImVec2 Pos = ImVec2(ImageX, ImageY);
- ImVec2 Size = ImVec2(ImageX + ImageSize.x, ImageY + ImageSize.y);
- ImTextureID Tex = (ImTextureID)PImageProxy->GetNativeTexture();
- float OutlineThickness = 1.0f;
- ImGui::GetForegroundDrawList()->AddImage(Tex, Pos + ImVec2(-OutlineThickness, 0), Size + ImVec2(-OutlineThickness, 0), ImVec2(0, 0), ImVec2(1, 1), ImColor(0, 0, 0, 255));
- ImGui::GetForegroundDrawList()->AddImage(Tex, Pos + ImVec2(OutlineThickness, 0), Size + ImVec2(OutlineThickness, 0), ImVec2(0, 0), ImVec2(1, 1), ImColor(0, 0, 0, 255));
- ImGui::GetForegroundDrawList()->AddImage(Tex, Pos + ImVec2(0, -OutlineThickness), Size + ImVec2(0, -OutlineThickness), ImVec2(0, 0), ImVec2(1, 1), ImColor(0, 0, 0, 255));
- ImGui::GetForegroundDrawList()->AddImage(Tex, Pos + ImVec2(0, OutlineThickness), Size + ImVec2(0, OutlineThickness), ImVec2(0, 0), ImVec2(1, 1), ImColor(0, 0, 0, 255));
- ImGui::GetForegroundDrawList()->AddImage(Tex, Pos, Size);
- BottomTextOffset += ImageSize.y;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment