View Single Post
teh ORiON
Member
Join Date: Sep 2011
Location: Denmark
Old 08-17-2012 , 22:34   Re: Ham_Killed & TFC
Reply With Quote #4

Quote:
Originally Posted by Arkshine View Post
It's weird virtual functions doesn't work with Ham, but with Orpheu. -_-
I'm a little curious to know why it happens, will try to investigate.
Ok so I also got hooked on finding out why it happens. My initial assumption was that HAM was hooking with bad arguments, and I was right. It turns out that TFC actually take an extra parameter in CBasePlayer::Killed(entvars_s*,entvars_s*,int ). As opposed to CS and possibly other mods that only take two, eg. CBasePlayer::Killed(entvars_s*,int).

I didn't stop here though. I went through HAM's source and changed it so that it could handle the extra parameter, compiled the module and thus ::Killed started working in TFC as expected.

Of course it would seem that HAM would need an update to handle different arguments for the same functions. Anyway there you have it! Bad arguments.

Last edited by teh ORiON; 08-17-2012 at 22:48.
teh ORiON is offline