Figured I'd post this as I really don't see many things like these around here.
First, we'll make our structures:
Code:
typedef struct
{
int blurBlendFadeTime; //0000
int blurBlendTime; //0004
int whiteFadeTime; //0008
int shotFadeTime; //000C
int screenType; //0010
int unknown_int3000; //0014
float viewKickPeriod; //0018
float viewKickRadius; //001C
bool shockSound; //0020
char sfString[31]; //0021
} grenadeData;
typedef struct
{
grenadeData data[4]; //0000
char unknown0[36];
int soundFadeInTime; //0124
int soundFadeOutTime; //0128
float soundDryLevel; //012C
float soundWetLevel; //0130
char soundRoomType[16]; //0134
char unknown1[256];
int soundModEndDelay; //0244
int soundLoopFadeTime; //0248
int soundLoopEndDelay; //024C
BOOL lookControl; //0250
int lookControlFadeTime; //0254
float lcMouseSensitivityScale; //0258
float lcMaxPitchSpeed; //025C
float lcMaxYawSpeed; //0260
BOOL shockMovement; //0264
} GrenadeData_T;
Next, let's make some functions:
Code:
void RemoveEffects(StunFlash_T* grenade)
{
grenade->lookControl = FALSE;
grenade->lookControlFadeTime = 0;
grenade->lcMaxPitchSpeed = 0.0f;
grenade->lcMaxYawSpeed = 0.0f;
grenade->lcMouseSensitivityScale = 0.0f;
grenade->data[0].screenType = 0;
grenade->data[0].blurBlendFadeTime = 0;
grenade->data[0].blurBlendTime = 0;
grenade->data[0].viewKickPeriod = 0.0f;
grenade->data[0].viewKickRadius = 0.0f;
}
void EnableEffects(StunFlash_T* grenade)
{
grenade->lookControl = TRUE;
grenade->lookControlFadeTime = 2000;
grenade->lcMaxPitchSpeed = 75.0f;
grenade->lcMaxYawSpeed = 75.0f;
grenade->lcMouseSensitivityScale = 0.1f;
grenade->data[0].screenType = 1;
grenade->data[0].blurBlendFadeTime = 12000;
grenade->data[0].blurBlendTime = 400;
grenade->data[0].viewKickPeriod = (float)0x3FC3AE3A;
grenade->data[0].viewKickRadius = (float)0xCDCCCC3D;
}
Now your assignments:
Code:
GrenadeData_T* flashGrenade = (GrenadeData_T*)0x008DB808;
GrenadeData_T* concussionGrenade = (GrenadeData_T*)0x008DB5A0;
Voila, now call it in your function like so:
Code:
void Remove()
{
DisableEffects(flashGrenade);
DisableEffects(concGrenade);
}
void ReEnable()
{
EnableEffects(flashGrenade);
EnableEffects(concGrenade);
}
Yea, Credits: Props to CoMPMStR, Thx bro :PP