I'm wondering if is there any difference between the first function and the second one.
And if there is any difference, why then?
May someone give any better explanations for
__fastcall than Microsoft gives?
PHP Code:
#if defined __linux__
void OnTakeDamage( void * Victim, entvars_t * Inflictor, entvars_t * Attacker, float Damage, int DamageBits ) {
#else
void __fastcall OnTakeDamage( void * Victim, int, entvars_t * Inflictor, entvars_t * Attacker, float Damage, int DamageBits ) {
#endif
/*
printf( "Calling OnTakeDamage!\n" );
*/
#if !defined __linux__
reinterpret_cast < int ( __fastcall * ) ( void *, int, entvars_t *, entvars_t *, float, int ) > ( /* void * */ CMiscs.TakeDamage ) ( Victim, 0, Inflictor, Attacker, Damage, DamageBits );
#else
reinterpret_cast < int ( * ) ( void *, entvars_t *, entvars_t *, float, int ) > ( /* void * */ CMiscs.TakeDamage ) ( Victim, Inflictor, Attacker, Damage, DamageBits );
#endif
}
PHP Code:
#if defined __linux__
int OnTakeDamage( void * Victim, entvars_t * Inflictor, entvars_t * Attacker, float Damage, int DamageBits ) {
#else
int __fastcall OnTakeDamage( void * Victim, int, entvars_t * Inflictor, entvars_t * Attacker, float Damage, int DamageBits ) {
#endif
/*
printf( "Calling OnTakeDamage!\n" );
*/
#if !defined __linux__
int Result = reinterpret_cast < int ( __fastcall * ) ( void *, int, entvars_t *, entvars_t *, float, int ) > ( /* void * */ CMiscs.TakeDamage ) ( Victim, 0, Inflictor, Attacker, Damage, DamageBits );
#else
int Result = reinterpret_cast < int ( * ) ( void *, entvars_t *, entvars_t *, float, int ) > ( /* void * */ CMiscs.TakeDamage ) ( Victim, Inflictor, Attacker, Damage, DamageBits );
#endif
return Result;
}
__________________