mirror of
https://github.com/neverlosecc/source2sdk.git
synced 2025-05-16 23:38:15 +00:00
448 lines
14 KiB
C++
448 lines
14 KiB
C++
#pragma once
|
|
#include <cstdint>
|
|
#include "!GlobalTypes.hpp"
|
|
|
|
// /////////////////////////////////////////////////////////////
|
|
// Binary: assetsystem.dll
|
|
// Classes count: 0 (Allocated) | 19 (Unallocated)
|
|
// Enums count: 0 (Allocated) | 3 (Unallocated)
|
|
// Created using source2gen - github.com/neverlosecc/source2gen
|
|
// /////////////////////////////////////////////////////////////
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Enumerator count: 11
|
|
// Alignment: 4
|
|
// Size: 0x4
|
|
enum class ResourceDataEncodingType_t : uint32_t
|
|
{
|
|
RESOURCE_ENCODING_INVALID = 0xffffffffffffffff,
|
|
RESOURCE_ENCODING_INTROSPECTED = 0x0,
|
|
RESOURCE_ENCODING_KV3 = 0x1,
|
|
RESOURCE_ENCODING_VTEX = 0x2,
|
|
RESOURCE_ENCODING_RAW_BYTES = 0x3,
|
|
RESOURCE_ENCODING_VSNAP = 0x4,
|
|
RESOURCE_ENCODING_VRMAN = 0x5,
|
|
RESOURCE_ENCODING_COMPILEIMAGEUTILS_TEXT = 0x6,
|
|
RESOURCE_ENCODING_TEXT = 0x7,
|
|
RESOURCE_ENCODING_MBUF = 0x8,
|
|
RESOURCE_ENCODING_COUNT = 0x9,
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Enumerator count: 23
|
|
// Alignment: 4
|
|
// Size: 0x4
|
|
enum class AssetEditInfoFilterFunc_t : uint32_t
|
|
{
|
|
// MPropertyFriendlyName "=="
|
|
ASSET_FILTER_EQUAL = 0x0,
|
|
// MPropertyFriendlyName "!="
|
|
ASSET_FILTER_NOT_EQUAL = 0x1,
|
|
// MPropertyFriendlyName "== (or missing)"
|
|
ASSET_FILTER_EQUAL_OR_MISSING = 0x2,
|
|
// MPropertyFriendlyName "!= (or missing)"
|
|
ASSET_FILTER_NOT_EQUAL_OR_MISSING = 0x3,
|
|
// MPropertyFriendlyName "<"
|
|
ASSET_FILTER_LESS = 0x4,
|
|
// MPropertyFriendlyName "<="
|
|
ASSET_FILTER_LESS_EQUAL = 0x5,
|
|
// MPropertyFriendlyName ">"
|
|
ASSET_FILTER_GREATER = 0x6,
|
|
// MPropertyFriendlyName ">="
|
|
ASSET_FILTER_GREATER_EQUAL = 0x7,
|
|
// MPropertyFriendlyName "contains"
|
|
ASSET_FILTER_CONTAINS = 0x8,
|
|
// MPropertyFriendlyName "doesn't contain"
|
|
ASSET_FILTER_DOES_NOT_CONTAIN = 0x9,
|
|
// MPropertyFriendlyName "references or depends on asset"
|
|
ASSET_FILTER_DEPREF_ASSET = 0xa,
|
|
// MPropertyFriendlyName "referenced or depended-on by asset"
|
|
ASSET_FILTER_DEPREF_BY_ASSET = 0xb,
|
|
// MPropertyFriendlyName "parents asset"
|
|
ASSET_FILTER_PARENTS_ASSET = 0xc,
|
|
// MPropertyFriendlyName "parented by asset"
|
|
ASSET_FILTER_PARENTED_BY_ASSET = 0xd,
|
|
// MPropertyFriendlyName "references subasset"
|
|
ASSET_FILTER_REF_SUBASSET = 0xe,
|
|
// MPropertyFriendlyName "defines subasset"
|
|
ASSET_FILTER_DEF_SUBASSET = 0xf,
|
|
// MPropertyFriendlyName "references or depends on asset (exact)"
|
|
ASSET_FILTER_EXACT_DEPREF_ASSET = 0x10,
|
|
// MPropertyFriendlyName "referenced or depended-on by asset (exact)"
|
|
ASSET_FILTER_EXACT_DEPREF_BY_ASSET = 0x11,
|
|
// MPropertyFriendlyName "parents asset (exact)"
|
|
ASSET_FILTER_EXACT_PARENTS_ASSET = 0x12,
|
|
// MPropertyFriendlyName "parented by asset (exact)"
|
|
ASSET_FILTER_EXACT_PARENTED_BY_ASSET = 0x13,
|
|
// MPropertyFriendlyName "references subasset (exact)"
|
|
ASSET_FILTER_EXACT_REF_SUBASSET = 0x14,
|
|
// MPropertyFriendlyName "defines subasset (exact)"
|
|
ASSET_FILTER_EXACT_DEF_SUBASSET = 0x15,
|
|
ASSET_FILTER_FUNC_COUNT = 0x16,
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Enumerator count: 3
|
|
// Alignment: 4
|
|
// Size: 0x4
|
|
enum class AssetWarningFixType_t : uint32_t
|
|
{
|
|
NONE = 0x0,
|
|
VMDL_CONVERT_TO_MODELDOC = 0x1,
|
|
VMAP_MANUAL_RECOMPILE = 0x2,
|
|
};
|
|
|
|
struct AutoTagVDataCondition_t;
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x40
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CAssetWarning
|
|
{
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad0000[0x8]; // 0x0
|
|
public:
|
|
CBufferString m_Title; // 0x8
|
|
CBufferString m_Message; // 0x18
|
|
CUtlVector< CAssetWarningCheck > m_Checks; // 0x28
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x18
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CAssetInfoFilterParams
|
|
{
|
|
public:
|
|
CUtlVector< InfoDataFilter_t > m_Filters; // 0x0
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x20
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CBaseToolInfo
|
|
{
|
|
public:
|
|
CUtlString m_Name; // 0x0
|
|
CUtlString m_OverrideToolShortcutName; // 0x8
|
|
CUtlString m_FriendlyName; // 0x10
|
|
CUtlString m_ToolIcon; // 0x18
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0xd0
|
|
// Has VTable
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CSimpleAssetTypeInfo
|
|
{
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad0000[0x10]; // 0x0
|
|
public:
|
|
CUtlString m_FriendlyName; // 0x10
|
|
CUtlString m_Ext; // 0x18
|
|
CUtlString m_IconLg; // 0x20
|
|
CUtlString m_IconSm; // 0x28
|
|
CUtlVector< CUtlString > m_SuppressSubstrings; // 0x30
|
|
CUtlVector< CUtlString > m_AdditionalExtensions; // 0x48
|
|
CUtlVector< AssetEngineCommand_t > m_EngineCommands; // 0x60
|
|
CUtlVector< CUtlString > m_LimitToMods; // 0x78
|
|
CUtlVector< CUtlString > m_ExcludeFromMods; // 0x90
|
|
CUtlVector< CUtlString > m_HideForRetailMods; // 0xa8
|
|
bool m_bHideTypeByDefault; // 0xc0
|
|
bool m_bCannotBeShown; // 0xc1
|
|
bool m_bIsNontrivialChildAssetType; // 0xc2
|
|
bool m_bSuppressFullFingerprintCalculation; // 0xc3
|
|
bool m_bIgnoreCompiledState; // 0xc4
|
|
bool m_bContentFileIsText; // 0xc5
|
|
bool m_bPrefersLivePreview; // 0xc6
|
|
bool m_bPresentInGameTree; // 0xc7
|
|
bool m_bShouldCompileErrorFallbackToDisk; // 0xc8
|
|
bool m_bUnrecognizedReferencesAreErrors; // 0xc9
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x88
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CEngineToolInfo : public CBaseToolInfo
|
|
{
|
|
public:
|
|
CUtlString m_Library; // 0x20
|
|
CUtlString m_InterfaceName; // 0x28
|
|
bool m_bShowInRevisionSubMenu; // 0x30
|
|
bool m_bIsSecondaryTool; // 0x31
|
|
bool m_bDoNotWarnAboutLargeAssetBatches; // 0x32
|
|
bool m_bIsWorkshopManagerTool; // 0x33
|
|
bool m_bIsWorkshopItemTool; // 0x34
|
|
bool m_bCanHighlightSubassets; // 0x35
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad0036[0x2]; // 0x36
|
|
public:
|
|
CUtlVector< CUtlString > m_AssetTypes; // 0x38
|
|
CUtlVector< CUtlString > m_LimitToMods; // 0x50
|
|
CUtlVector< CUtlString > m_ExcludeFromMods; // 0x68
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x110
|
|
// Has VTable
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CResourceAssetTypeInfo : public CSimpleAssetTypeInfo
|
|
{
|
|
public:
|
|
CUtlString m_CompilerIdentifier; // 0xd0
|
|
CUtlVector< CUtlString > m_CompileDependsOnResourceTypes; // 0xd8
|
|
CUtlVector< ResourceBlockTypeInfo_t > m_Blocks; // 0xf0
|
|
bool m_bPreventDirectCompile; // 0x108
|
|
bool m_bCannotBeAMultiParentChildCompile; // 0x109
|
|
bool m_bPrefersIconForThumbnail; // 0x10a
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0xd0
|
|
// Has VTable
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CBitmapAssetTypeInfo : public CSimpleAssetTypeInfo
|
|
{
|
|
public:
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x18
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CModuleManifests
|
|
{
|
|
public:
|
|
CUtlVector< CManifestInfo > m_Manifests; // 0x0
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x80
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CExternalToolInfo : public CBaseToolInfo
|
|
{
|
|
public:
|
|
CUtlString m_Executable; // 0x20
|
|
CUtlString m_Args; // 0x28
|
|
CUtlString m_ArgsWithLineColumn; // 0x30
|
|
CUtlString m_WorkingDir; // 0x38
|
|
CUtlString m_MatchSystemExecutable; // 0x40
|
|
CUtlVector< CUtlString > m_SupportedExts; // 0x48
|
|
CUtlVector< CUtlString > m_PriorityExts; // 0x60
|
|
bool m_bDebugCommandline; // 0x78
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x30
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CAssetTypeConfig
|
|
{
|
|
public:
|
|
CUtlVector< CSimpleAssetTypeInfo* > m_AssetTypes; // 0x0
|
|
CUtlVector< CAssetWarning* > m_AssetWarnings; // 0x18
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x158
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
struct AutoTagVDataCondition_t
|
|
{
|
|
public:
|
|
// MPropertyDescription "The VData file to read"
|
|
CResourceNameTyped< CWeakHandle< InfoForResourceTypeCVDataResource > > m_SourceFile; // 0x0
|
|
// MPropertyDescription "The key whose value must match the asset name (ie. something like 'm_Model' if you want to apply this tag to .vmdl assets that are referenced by the vdata file)"
|
|
CKV3MemberNameWithStorage m_AssetKey; // 0xe0
|
|
// MPropertyDescription "Optional second key to check"
|
|
CKV3MemberNameWithStorage m_AlternateAssetKey; // 0x118
|
|
// MPropertyDescription "This expression determines whether the tag should actually be applied to an asset
|
|
It will be evaluated against vdata entries where the key matches the asset - if any of them evaluate to true the tag will be applied.
|
|
Most simple expressions involving the VData keys are supported. Use 'true' to tag unconditionally."
|
|
CUtlString m_Expression; // 0x150
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x20
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
struct ResourceBlockTypeInfo_t
|
|
{
|
|
public:
|
|
ResourceDataEncodingType_t m_Encoding; // 0x0
|
|
CUtlString m_BlockID; // 0x8
|
|
CUtlString m_IntrospectedRootStruct; // 0x10
|
|
int32_t m_ResourceVersion; // 0x18
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x48
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CToolsConfig
|
|
{
|
|
public:
|
|
CUtlVector< CEngineToolInfo > m_EngineTools; // 0x0
|
|
CUtlVector< CExternalToolInfo > m_ExternalTools; // 0x18
|
|
CUtlVector< CUtlString > m_EngineModulesThatReferenceAssets; // 0x30
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x38
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
struct AssetEngineCommand_t
|
|
{
|
|
public:
|
|
CBufferString m_Command; // 0x0
|
|
CBufferString m_Icon; // 0x10
|
|
CBufferString m_Description; // 0x20
|
|
bool m_bBringEngineToFront; // 0x30
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x18
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
struct InfoDataFilter_t
|
|
{
|
|
public:
|
|
CUtlString m_Name; // 0x0
|
|
AssetEditInfoFilterFunc_t m_FilterFunc; // 0x8
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc
|
|
public:
|
|
CUtlString m_Value; // 0x10
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x110
|
|
// Has VTable
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CMapAssetTypeInfo : public CResourceAssetTypeInfo
|
|
{
|
|
public:
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x40
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CManifestInfo
|
|
{
|
|
public:
|
|
CUtlString m_Name; // 0x0
|
|
CUtlString m_Group; // 0x8
|
|
CUtlString m_Mod; // 0x10
|
|
CUtlString m_SourceFile; // 0x18
|
|
int32_t m_nSourceLine; // 0x20
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad0024[0x4]; // 0x24
|
|
public:
|
|
CUtlVector< CUtlString > m_Resources; // 0x28
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x1e0
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
// MVDataRoot
|
|
// MVDataOutlinerDetailExpr
|
|
// MVDataOutlinerIconExpr
|
|
class CAssetTagInfo
|
|
{
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad0000[0x30]; // 0x0
|
|
public:
|
|
// MPropertyDescription "User-facing tag name"
|
|
CUtlString m_TagName; // 0x30
|
|
// MPropertyDescription "User-facing description of the tag"
|
|
// MPropertyAttributeEditor "TextBlock()"
|
|
CUtlString m_TagDescription; // 0x38
|
|
// MPropertyDescription "Icon associated with the tag"
|
|
// MPropertyAttributeEditor "ToolImage( 16 )"
|
|
CUtlString m_TagIcon; // 0x40
|
|
// MPropertyDescription "Color for the tag badge"
|
|
Color m_TagColor; // 0x48
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c
|
|
public:
|
|
// MPropertyDescription "Alternate strings this tag will match when searching for assets by name."
|
|
// MPropertyAutoExpandSelf
|
|
CUtlVector< CUtlString > m_TagAliases; // 0x50
|
|
// MPropertyDescription "If set, draw this as an overlay image on the asset preview"
|
|
// MPropertyAttributeEditor "ToolImage( 64 )"
|
|
CUtlString m_ThumbnailOverlayImage; // 0x68
|
|
// MPropertyDescription "If set, the presence of this tag will cause the tools to suppress or dissuade use in several ways (and draw a red X over the asset preview)"
|
|
bool m_bTagIndicatesRejectedAsset; // 0x70
|
|
// MPropertyDescription "If set, the presence of this tag will cause the tools to hide the asset from users by default. NOTE: This means if an asset gets tagged with this it might 'dissapear' from the UI!"
|
|
bool m_bTagHidesAssetByDefault; // 0x71
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad0072[0x6]; // 0x72
|
|
public:
|
|
// MPropertyStartGroup "+Auto Tags"
|
|
// MPropertyDescription "Required for any auto-tag. Restricts the auto-application of this tag to a specific asset type (string from assettypes_common.txt like 'material_asset' or 'model_asset')"
|
|
CUtlString m_RestrictAutoTagToAssetType; // 0x78
|
|
// MPropertyDescription "Set this to automatically apply this tag based on an asset filter string. (NOTE: Auto tag names MUST start with an '@' character!)"
|
|
// MPropertyAutoExpandSelf
|
|
// MPropertySuppressExpr "m_RestrictAutoTagToAssetType == """
|
|
CUtlString m_AutoFilterTag; // 0x80
|
|
// MPropertyDescription "Set this to automatically apply this tag to assets based on references from a VData file. (NOTE: Auto tag names MUST start with an '@' character!)"
|
|
// MPropertyAutoExpandSelf
|
|
// MPropertySuppressExpr "m_RestrictAutoTagToAssetType == """
|
|
// -> m_SourceFile - 0x88
|
|
// -> m_AssetKey - 0x168
|
|
// -> m_AlternateAssetKey - 0x1a0
|
|
// -> m_Expression - 0x1d8
|
|
AutoTagVDataCondition_t m_AutoDataTag; // 0x88
|
|
};
|
|
|
|
// Registered binary: assetsystem.dll (project 'toolutils2')
|
|
// Alignment: 8
|
|
// Size: 0x68
|
|
//
|
|
// MGetKV3ClassDefaults
|
|
class CAssetWarningCheck
|
|
{
|
|
public:
|
|
CUtlString m_AssetType; // 0x0
|
|
CBufferString m_RequireSearchableIntKey; // 0x8
|
|
int32_t m_RequireSearchableIntValue; // 0x18
|
|
bool m_bOnlyWarnIfGameFilePresent; // 0x1c
|
|
bool m_bOnlyWarnIfContentFilePresent; // 0x1d
|
|
bool m_bOnlyWarnAddons; // 0x1e
|
|
private:
|
|
[[maybe_unused]] uint8_t __pad001f[0x1]; // 0x1f
|
|
public:
|
|
CUtlVector< CUtlString > m_ExcludeAddonNames; // 0x20
|
|
CUtlString m_FixDescription; // 0x38
|
|
AssetWarningFixType_t m_FixType; // 0x40
|
|
};
|
|
|