1.1 --- a/extensions/tf2/criticals.cpp Wed Nov 24 20:46:17 2010 -0500
1.2 +++ b/extensions/tf2/criticals.cpp Sun Nov 28 22:41:48 2010 -0500
1.3 @@ -188,7 +188,7 @@
1.4 }
1.5 }
1.6
1.7 -void InitialiseCritDetours()
1.8 +bool InitialiseCritDetours()
1.9 {
1.10 calcIsAttackCriticalDetour = DETOUR_CREATE_MEMBER(CalcIsAttackCriticalHelper, "CalcCritical");
1.11 calcIsAttackCriticalMeleeDetour = DETOUR_CREATE_MEMBER(CalcIsAttackCriticalHelperMelee, "CalcCriticalMelee");
1.12 @@ -214,17 +214,33 @@
1.13 HookCreated = true;
1.14 }
1.15
1.16 - if (!HookCreated)
1.17 + if (HookCreated)
1.18 {
1.19 - g_pSM->LogError(myself, "No critical hit forwards could be initialized - Disabled critical hit hooks");
1.20 - return;
1.21 + return true;
1.22 }
1.23
1.24 + g_pSM->LogError(myself, "No critical hit forwards could be initialized - Disabled critical hit hooks");
1.25 +
1.26 + return false;
1.27 }
1.28
1.29 void RemoveCritDetours()
1.30 {
1.31 - calcIsAttackCriticalDetour->Destroy();
1.32 - calcIsAttackCriticalMeleeDetour->Destroy();
1.33 - calcIsAttackCriticalBowDetour->Destroy();
1.34 + if (calcIsAttackCriticalDetour != NULL)
1.35 + {
1.36 + calcIsAttackCriticalDetour->Destroy();
1.37 + calcIsAttackCriticalDetour = NULL;
1.38 + }
1.39 +
1.40 + if (calcIsAttackCriticalMeleeDetour != NULL)
1.41 + {
1.42 + calcIsAttackCriticalMeleeDetour->Destroy();
1.43 + calcIsAttackCriticalMeleeDetour = NULL;
1.44 + }
1.45 +
1.46 + if (calcIsAttackCriticalBowDetour != NULL)
1.47 + {
1.48 + calcIsAttackCriticalBowDetour->Destroy();
1.49 + calcIsAttackCriticalBowDetour = NULL;
1.50 + }
1.51 }