View Single Post
StrikerMan780
AlliedModders Donor
Join Date: Jul 2009
Location: Canada
Old 04-09-2016 , 00:07   Re: [IDA/DHooks]How to get vtable offsets
Reply With Quote #42

I am trying to hook CEngineSoundServer::SetPlayerDSP...

this is the vtable result
Code:
// Auto reconstructed from vtable block @ 0x0023C740
// from "engine_srv.so", by ida_vtables.idc
0	CEngineSoundServer::IsSoundPrecached(char  const*)
1	CEngineSoundServer::PrefetchSound(char  const*)
2	CEngineSoundServer::GetSoundDuration(char  const*)
3	CEngineSoundServer::EmitSound(IRecipientFilter &,int,int,char  const*,float,float,int,int,int,Vector  const*,Vector  const*,CUtlVector<Vector,CUtlMemory<Vector,int>> *,bool,float,int)
4	CEngineSoundServer::EmitSound(IRecipientFilter &,int,int,char  const*,float,soundlevel_t,int,int,int,Vector  const*,Vector  const*,CUtlVector<Vector,CUtlMemory<Vector,int>> *,bool,float,int)
5	CEngineSoundServer::EmitSentenceByIndex(IRecipientFilter &,int,int,int,float,soundlevel_t,int,int,int,Vector  const*,Vector  const*,CUtlVector<Vector,CUtlMemory<Vector,int>> *,bool,float,int)
6	CEngineSoundServer::StopSound(int,int,char  const*)
7	CEngineSoundServer::StopAllSounds(bool)
8	CEngineSoundServer::SetRoomType(IRecipientFilter &,int)
9	CEngineSoundServer::SetPlayerDSP(IRecipientFilter &,int,bool)
10	CEngineSoundServer::EmitAmbientSound(char  const*,float,int,int,float)
11	CEngineSoundServer::GetDistGainFromSoundLevel(soundlevel_t,float)
12	CEngineSoundServer::GetGuidForLastSoundEmitted(void)
13	CEngineSoundServer::IsSoundStillPlaying(int)
14	CEngineSoundServer::StopSoundByGuid(int)
15	CEngineSoundServer::SetVolumeByGuid(int,float)
16	CEngineSoundServer::GetActiveSounds(CUtlVector<SndInfo_t,CUtlMemory<SndInfo_t,int>> &)
17	CEngineSoundServer::PrecacheSentenceGroup(char  const*)
18	CEngineSoundServer::NotifyBeginMoviePlayback(void)
19	CEngineSoundServer::NotifyEndMoviePlayback(void)
20	CEngineSoundServer::~CEngineSoundServer()
21	CEngineSoundServer::~CEngineSoundServer()
The tutorial confuses me though. I have no idea what to do. I don't know how to get DHooks to use this specific VTable, or anything...

If someone can help find the Signatures and create the gamedata, and then go over the process, I'd be grateful.

Last edited by StrikerMan780; 04-09-2016 at 00:39.
StrikerMan780 is offline