From 3d412a4b30a9f7c7f51ea6562e694315948bd3da Mon Sep 17 00:00:00 2001 From: boris Date: Wed, 28 Nov 2018 16:00:02 +1300 Subject: cleaned up in short, the cheat and loader are now separate solutions. unused stuff was moved into the legacy solution in case anyone wants to compile it or whatever. i can change this back if you want to. also, i configured the loader to compile in x64, and have separate build types for linux and win64 --- gmod/IVModelInfoClient.hpp | 134 --------------------------------------------- 1 file changed, 134 deletions(-) delete mode 100644 gmod/IVModelInfoClient.hpp (limited to 'gmod/IVModelInfoClient.hpp') diff --git a/gmod/IVModelInfoClient.hpp b/gmod/IVModelInfoClient.hpp deleted file mode 100644 index 957c6d9..0000000 --- a/gmod/IVModelInfoClient.hpp +++ /dev/null @@ -1,134 +0,0 @@ -#pragma once -#include "IVEngineClient.hpp" -#include "IClientEntityList.hpp" - -struct DrawModelState_t; - -struct mstudiobbox_t -{ - int bone; - int group; - vec3_t min; - vec3_t max; - int szhitboxnameindex; - - const char* get_name( ) { - if( szhitboxnameindex == 0 ) - return ""; - - return ( ( const char* )this ) + szhitboxnameindex; - } - - int unused[ 8 ]; -}; - -struct mstudiobone_t -{ - int sznameindex; - inline char * const get_name( void ) const { return ( ( char * )this ) + sznameindex; } - int parent; - char pad01[ 152 ]; - int flags; - char pad02[ 52 ]; -}; - -struct mstudiohitboxset_t -{ - int sznameindex; - inline char * const get_name( void ) const { return ( ( char * )this ) + sznameindex; } - int numhitboxes; - int hitboxindex; - inline mstudiobbox_t *get_hitbox( int i ) const { return ( mstudiobbox_t * )( ( ( unsigned char * )this ) + hitboxindex ) + i; }; -}; - -struct studiohdr_t -{ - char pad00[ 12 ]; - char name[ 64 ]; - char pad01[ 80 ]; - int numbones; - int boneIndex; - inline mstudiobone_t *get_bone( int i ) { return ( mstudiobone_t * )( ( ( unsigned char* )this ) + boneIndex ) + i; } - char pad02[ 8 ]; - int numhitboxsets; - int hitboxsetindex; - - mstudiohitboxset_t* get_hitbox_set( int i ) { - return ( mstudiohitboxset_t * )( ( ( char * )this ) + hitboxsetindex ) + i; - } - - char pad03[ 24 ]; - int numtextures; - inline mstudiobbox_t* get_hit_box( int index ) { return ( ( mstudiohitboxset_t* )( ( unsigned char* )this + hitboxsetindex ) )->get_hitbox( index ); } -}; - -struct ModelRenderInfo_t { - vec3_t m_origin; - vec3_t m_angles; - char pad[ 0x4 ]; - void* m_renderable; - const model_t* m_model; - const matrix3x4* m_model2world; - const matrix3x4* m_light_offset; - const vec3_t* m_light_origin; - int m_flags; - int m_entity_index; - int m_skin; - int m_body; - int m_hitboxset; - uint16_t* m_instance; - - ModelRenderInfo_t( ) { - m_model2world = nullptr; - m_light_offset = nullptr; - m_light_origin = nullptr; - } -}; - -class IVModelInfoClient { -public: - model_t* GetModel( int index ) { - using fn = model_t*( __thiscall* )( void*, int ); - return util::get_vfunc< fn >( this, 1 )( this, index ); - } - - int GetModelIndex( const char* name ) { - using fn = int( __thiscall* )( void*, const char* ); - return util::get_vfunc< fn >( this, 2 )( this, name ); - } - - const char* GetModelName( const model_t* model ) { - using fn = const char* ( __thiscall* )( void*, const model_t* ); - return util::get_vfunc< fn >( this, 3 )( this, model ); - } - - studiohdr_t* GetStudiomodel( const model_t* mod ) { - using fn = studiohdr_t* ( __thiscall* )( void*, const model_t* ); - return util::get_vfunc< fn >( this, 28 )( this, mod ); - } - - void GetModelMaterials( const model_t *model, int count, class IMaterial** ppMaterial ) { - using fn = const void( __thiscall* )( void*, const model_t*, int, IMaterial** ); - util::get_vfunc< fn >( this, 16 )( this, model, count, ppMaterial ); - } -}; - -enum OverrideType_t { - OVERRIDE_NORMAL = 0, - OVERRIDE_BUILD_SHADOWS, - OVERRIDE_DEPTH_WRITE, - OVERRIDE_SSAO_DEPTH_WRITE, -}; - -class IVModelRender { -public: - void ForcedMaterialOverride( IMaterial* newMaterial, OverrideType_t nOverrideType = OVERRIDE_NORMAL, int unk = 0 ) { - using fn = void( __thiscall* )( void*, IMaterial*, OverrideType_t, int ); - return util::get_vfunc< fn >( this, 1 )( this, newMaterial, nOverrideType, unk ); - } - - void DrawModelExecute( void* matctx, const DrawModelState_t& state, const ModelRenderInfo_t& pInfo, matrix3x4* pCustomBoneToWorld ) { - using fn = void( __thiscall* )( void*, void*, const DrawModelState_t&, const ModelRenderInfo_t&, matrix3x4* ); - util::get_vfunc< fn >( this, 21 )( this, matctx, state, pInfo, pCustomBoneToWorld ); - } -}; \ No newline at end of file -- cgit v1.2.3