C++ Reversed CPaintKit & CStickerKit classes

sapphire dev
Пользователь
Статус
Оффлайн
Регистрация
15 Мар 2018
Сообщения
188
Реакции[?]
124
Поинты[?]
36K
Хз, мож кому надо...
Если кому-то нужные другие структуры и классы - пишите, договоримся. Отреверсил практически все.
_________________________________________
W/Love f33nRy 🖤

PaintKit:
struct __declspec(align(1)) CPaintKit
{
int id; //0x4
const char* name; //sName 0x8
const char* description; // sDescriptionString 0x10
const char* itemName; // sDescriptionTag 0x18
const char* sameNameFamilyAggregate; // 0x20
const char* pattern;
const char* normal;
const char* logoMaterial;
bool baseDiffuseOverride;
char pad4[2];  // wtf ida?
int rarity; // nRarity 0x44 // rarities set in the paint_kits_rarity block
int i_nStyle;
char gap4C[2];
char Color_Element;
char gap4F[29];
float fl_unk;
float wearRemapMin;
float wearRemapMax;
unsigned char nFixedSeed;
unsigned char uchPhongExponent;
unsigned char uchPhongAlbedoBoost;
unsigned char uchPhongIntensity;
float flPatternScale;
float flPatternOffsetXStart;
float flPatternOffsetXEnd;
float flPatternOffsetYStart;
float flPatternOffsetYEnd;
float flPatternRotateStart;
float flPatternRotateEnd;
float flLogoScale;
float flLogoOffsetX;
float flLogoOffsetY;
float flLogoRotation;
bool bIgnoreWeaponSizeScale;
bool b_UNK;
int nViewModelExponentOverrideSize;
bool bOnlyFirstMaterial; // 0xB0
bool m_bIsUseNormal; // 0xB2 but ida guess is 0xB1
float mflPearlescent;
const char* sVmtPath; // 0xB8
void* kvVmtOverrides; // = 8 bytes pointer
const char* CompositeMaterialPath; //0xC8
};
StickerKit:
struct __declspec(align(1)) CStickerKit
{
 
 int id;
 int nRarity;
 const char* name;
 const char* description;
 const char* itemName;
 const char* sMaterialPath;
 const char* sMaterialPathNoDrips;
 const char* inventoryImage;
 int tournamentID;
 int tournamentTeamID;
 int tournamentPlayerID;
 bool bMaterialPathIsAbsolute;
 bool m_nCannotTrade;
 char huesosi[2];
 float flRotateStart;
 float flRotateEnd;
 float flScaleMin;
 float flScaleMax;
 float flWearMin;
 float flWearMax;
 const char* m_sIconURLSmall;
 const char* m_sIconURLLarge;
 void* m_pKVItem;
};
бонус:
union AttributeDataUnion
{
    float asFloat;
    std::uint32_t asUint32;
    char* asBlobPointer;
};

struct StaticAttrib
{
    std::uint16_t defIndex;
    AttributeDataUnion value;
    bool forceGCToGenerate;
};
struct EconTool
{
    char vtable[sizeof(std::uintptr_t)];
    const char* m_pszTypeName;
    const char* m_pszUseString;
    const char* m_pszUsageRestriction;
    item_capabilities_t m_unCapabilities;
    CUtlVector<int>    m_vecBonusItemDef;
};
 
Последнее редактирование:
Сверху Снизу