diff --git a/src/client/game/structs.hpp b/src/client/game/structs.hpp index f5537950..35c0ed8a 100644 --- a/src/client/game/structs.hpp +++ b/src/client/game/structs.hpp @@ -4,6 +4,11 @@ namespace game { #endif + enum XAssetType + { + ASSET_TYPE_LEADERBOARD = 0x32, + ASSET_TYPE_DDL = 0x33, + }; enum ControllerIndex_t { @@ -912,6 +917,116 @@ namespace game static_assert(sizeof(gentity_s) == 0x4F8); + union XAssetHeader + { + /*PhysPreset* physPreset; + PhysConstraints* physConstraints; + DestructibleDef* destructibleDef; + XAnimParts* parts; + XModel* model; + XModelMesh* modelMesh; + Material* material; + MaterialComputeShaderSet* computeShaderSet; + MaterialTechniqueSet* techniqueSet; + GfxImage* image; + SndBank* sound; + SndPatch* soundPatch; + clipMap_t* clipMap; + ComWorld* comWorld; + GameWorld* gameWorld; + MapEnts* mapEnts; + GfxWorld* gfxWorld; + GfxLightDef* lightDef; + GfxLensFlareDef* lensFlareDef; + Font* font; + FontIcon* fontIcon; + LocalizeEntry* localize; + WeaponVariantDef* weapon; + WeaponAttachment* attachment; + WeaponAttachmentUnique* attachmentUnique; + WeaponCamo* weaponCamo; + CustomizationTable* customizationTable; + CustomizationColorInfo* customizationColorInfo; + SndDriverGlobals* sndDriverGlobals; + FxEffectDefHandleRaw fx; + TagFxSet* tagFX; + FxLensFlareDefPtr newLensFlareDef; + FxImpactTable* impactFx; + SoundsImpactTable* impactSounds; + CgMediaTable* cgMedia; + PlayerSoundsTable* playerSounds; + PlayerFXTable* playerFX; + SharedWeaponSounds* sharedWeaponSounds; + RawFile* rawfile; + StringTable* stringTable; + StructuredTable* structuredTable; + LeaderboardDef* leaderboardDef; + DDLRoot* ddlRoot; + Glasses* glasses; + TextureList* textureList; + ScriptParseTree* scriptParseTree; + KeyValuePairs* keyValuePairs; + VehicleDef* vehicleDef; + AddonMapEnts* addonMapEnts; + TracerDef* tracerDef; + Qdb* qdb; + Slug* slug; + SurfaceFXTableDef* surfaceFXTableDef; + SurfaceSoundDef* surfaceSoundDef; + FootstepTableDef* footstepTableDef; + EntitySoundImpacts* entitySoundImpacts; + EntityFxImpacts* entityFxImpacts; + ZBarrierDef* zbarrierDef; + VehicleFxDef* vehicleFxDef; + VehicleSoundDef* vehicleSoundDef; + ArchiveTypeInfoArray* typeInfo; + ScriptBundle* scriptBundle; + ScriptBundleList* scriptBundleList; + RumbleInfo* rumble; + BulletPenetrationTable* bulletPenetration; + LocDmgTable* locDmgTable; + AimTable* aimTable; + XModelAlias* xModelAlias; + Character* character; + AIType* aiType; + PlayerCharacter* player_character; + AnimSelectorTableSet* animSelectorTableSet; + AnimMappingTable* animMappingTable; + AnimStateMachine* animStateMachine; + BehaviorTree* behaviorTree; + BehaviorStateMachine* behaviorStateMachine; + TTFDef* ttfDef; + GfxSiegeAnim* sanim; + GfxLightDescription* lightDescription; + ShellshockParams* shellshock; + XCam* xcam; + BGCacheInfo* bgCache; + TextureCombo* textureCombo; + FlameTable* flameTable; + Bitfield* bitfield; + AttachmentCosmeticVariant* attachmentCosmeticVariant; + MapTable* mapTable; + Medal* medal; + MedalTable* medalTable; + Objective* objective; + ObjectiveList* objectiveList; + NavMeshData* navMesh; + NavVolumeData* navVolume; + BinaryHTML* binaryHTML; + LaserDef* laserDef; + BeamDef* beamDef; + StreamerHint* streamerHint;*/ + void* data; + }; + + struct XAsset + { + XAssetType type; + XAssetHeader header; + }; + + typedef void XAssetEnum(XAssetHeader, void*); + #ifdef __cplusplus } #endif diff --git a/src/client/game/symbols.hpp b/src/client/game/symbols.hpp index 2c4110fa..5c949be1 100644 --- a/src/client/game/symbols.hpp +++ b/src/client/game/symbols.hpp @@ -26,12 +26,15 @@ namespace game }; WEAK symbol Cbuf_AddText{0x1420EC8B0, 0x1404F75B0}; - WEAK symbol Cbuf_ExecuteBuffer{0x0, 0x1404F78D0}; + WEAK symbol Cbuf_ExecuteBuffer{ + 0x0, 0x1404F78D0 + }; WEAK symbol Cmd_AddCommandInternal{ 0x1420ED530, 0x1404F8210 }; WEAK symbol Cbuf_AddServerText_f{0x0, 0x1407DB4C0}; - WEAK symbol Cmd_AddServerCommandInternal{ + WEAK symbol Cmd_AddServerCommandInternal + { 0x0, 0x1404F8280 }; WEAK symbol DB_LoadXAssets{ 0x1414236A0 }; + WEAK symbol DB_EnumXAssets{ + 0x141420970, 0x1401D5A50 + }; + WEAK symbol DB_FindXAssetHeader{ + 0x141420ED0, 0x1401D5FB0 + }; + WEAK symbol DB_GetXAssetName{0x1413E9DA0, 0x14019F080}; // Live WEAK symbol Live_GetConnectivityInformation{0x141E0C410}; @@ -76,8 +86,10 @@ namespace game // Scr WEAK symbol Scr_AddInt{0x0, 0x14016F160}; WEAK symbol Scr_AddString{0x0, 0x14016F320}; - WEAK symbol Scr_GetString{0x0, 0x140171490}; - WEAK symbol Scr_Notify_Canon{0x0, 0x1402F5FF0}; + WEAK symbol Scr_GetString{0x0, 0x140171490}; + WEAK symbol Scr_Notify_Canon{ + 0x0, 0x1402F5FF0 + }; WEAK symbol Scr_GetNumParam{0x0, 0x140171320}; WEAK symbol Cinematic_StopPlayback{0x1412BEA70};