Here is some RFG Structs i reversed
Weapon Class:
-
//*(DWORD *)0×012192C0
-
-
typedef enum {
-
PIERCE_ARMOR = 1,
-
CAN_FINE_AIM = 2,
-
CAN_SCOPE = 4,
-
SHATTER = 8,
-
LEFT_HANDED = 16,
-
PROJ_OPPOSITE_HAND = 32,
-
SILENT_BULLETS = 64,
-
PENETRATING_BULETS = 128
-
} weapon_flags_001_t;
-
-
typedef enum {
-
NON_INVENTORY = 1,
-
USE_EVEN_SPREAD = 2,
-
DISABLE_PLAYER_COVER = 4,
-
MP_SELECTABLE = 8,
-
IS_OBVIOUS = 16,
-
AUTO_AIM_CURVED_TRAIL = 32,
-
LOOPING_EFFECTS = 64,
-
NEVER_IN_CABINET = 128
-
} weapon_flags_002_t;
-
-
typedef enum {
-
USE_SECONDARY_WEAPON_HEAT = 1,
-
DONT_DROP_ON_DEATH = 2
-
} weapon_flags_003_t;
-
-
struct projectile_info_t
-
{
-
char* szProjectileName001; //0000
-
char* szProjectileName002; //0004
-
char Unknown001[16]; //0008
-
void* Unknown002; //0018
-
void* Unknown003; //001C
-
char unknown004[4]; //0020
-
float Unknown005; //0024
-
char unknown006[4]; //0028
-
__int32 Unknown007; //002C
-
char unknown008[108]; //0030
-
float Mass; //009C
-
float LinearDamp; //00A0
-
float AngularDamp; //00A4
-
float Restitution; //00A8
-
float Friction; //00AC
-
CVector AngularVelocity; //00B0
-
__int32 Unknown009; //00BC
-
};
-
-
struct weapon_info_t
-
{
-
char* szWeaponName001; //0000
-
void* Unknown001; //0004
-
char* szElement001; //0008
-
__int8 Flags001; //000C
-
__int8 Flags002; //000D
-
__int8 Flags003; //000E
-
__int8 Flags004; //000F
-
__int32 WeaponClass; //0010
-
void* Unknown003; //0014
-
void* Unknown004; //0018
-
__int32 Default_team; //001C
-
char* szIconName; //0020
-
char* szSmallIconName; //0024
-
char* szReticuleName; //0028
-
char* szFireAimReticule; //002C
-
char* szMPKillPhrase; //0030
-
__int32 AnimationGroup; //0034
-
__int32 MuzzleFlash; //0038
-
__int32 MuzzleSmoke; //003C
-
__int32 SpecialHitEffect; //0040
-
__int32 SpecialEffect; //0044
-
__int32 SecondarySpecialEffect; //0048
-
__int32 OverheatedEffect; //004C
-
__int32 TracerEffect; //0050
-
__int32 FireCameraShake; //0054
-
__int32 SecondaryCameraShake; //0058
-
__int32 PlayerHitCameraShake; //005C
-
__int32 AttachmentProp; //0060
-
char Unknown005[28]; //0064
-
__int32 FireSound; //0080
-
__int32 SecondarySound; //0084
-
__int32 UpgradeSound; //0088
-
__int32 ReloadSound; //008C
-
__int32 ReloadSoundDelay; //0090
-
__int32 NoAmmoSound; //0094
-
__int32 SpecialSound; //0098
-
__int32 FlybySound; //009C
-
char Unknown006[68]; //00A0
-
float RangeMax; //00E4
-
float RangeRed; //00E8
-
float MaxEngagementDistance; //00EC
-
float MinEngagementDistance; //00F0
-
float MaxAIPenetratingDistance; //00F4
-
__int32 Other; //00F8
-
char* Default; //00FC
-
__int32 TriggerType; //0100
-
__int32 AmmoType; //0104
-
__int16 MagazineSize; //0108
-
__int16 NumMagazines; //010A
-
__int16 Unknown007; //010C
-
__int16 Unknown008; //010E
-
__int16 AmmoRestock; //0110
-
__int16 ToSpreadMin; //0112
-
__int16 ToSpreadMax; //0114
-
__int8 MeleeGroup; //0116
-
__int8 BulletGroup; //0117
-
unsigned char TracerFrequency; //0118
-
unsigned char ShotsPerRound; //0119
-
unsigned char Unknown010[2]; //011A
-
__int32 Unknown011; //011C
-
float NPCRefireDelay; //0120
-
float DefaultRefireDelay; //0124
-
float PrefireDelay; //0128
-
__int32 DefaultReloadDelay; //012C
-
float Threshold_Min; //0130
-
float NPC_Damage_Min; //0134
-
float Player_Damage_Min; //0138
-
float Vehicle_Damage_Min; //013C
-
float Player_Vehicle_Damage_Min; //0140
-
float Threshold_Max; //0144
-
float NPC_Damage_Max; //0148
-
float Player_Damage_Max; //014C
-
float Vehicle_Damage_Max; //0150
-
float Player_Vehicle_Damage_Max; //0154
-
char* ExplosionName; //0158
-
char* AIExplosionName; //015C
-
float FireConeAngle; //0160
-
float EvenSpreadAccuracyAngle; //0164
-
float SpreadMax; //0168
-
float SpreadMin; //016C
-
float SpreadFineAimMax; //0170
-
float SpreadFineAimMin; //0174
-
float NPCSpreadMax; //0178
-
float NPCSpreadMin; //017C
-
float SpreadMultiplierRun; //0180
-
float SpreadMultiplierShoot; //0184
-
float RagdollChance; //0188
-
float RecoilKick; //018C
-
float RecoilImpulse; //0190
-
float ReloadDelay; //0194
-
float OverheatCooldownTime; //0198
-
float OverheatPercentPerShot; //019C
-
float DroppedAmmoScale; //01A0
-
float BulletHoleScale; //01A4
-
float HeadshotMultiplier; //01A8
-
float ZoomMagnification; //01AC
-
float AutoaimOverride; //01B0
-
float NPC_AutoAim; //01B4
-
float AimAssist; //01B8
-
float PlayerMoveSpeed; //01BC
-
float NPCMoveSpeed; //01C0
-
float AlertLevelMultiplier; //01C4
-
projectile_info_t* ProjectileClass; //01C8
-
float StartSpeed; //01CC
-
float MaxSpeed; //01D0
-
float Acceleration; //01D4
-
float FuseTime001; //01D8
-
float FuseTime002; //01DC
-
float Gravity; //01E0
-
__int32 Sound; //01E4
-
__int32 AttachedEffect001; //01E8
-
__int32 AttachedEffect002; //01EC
-
__int32 AttachedEffect003; //01F0
-
__int32 AttachedEffect004; //01F4
-
__int32 ProjectileFlags; //01F8
-
float Inaccurate_Flight; //01FC
-
float TimeUntilPropelled; //0200
-
float TimeUntilPropExpire; //0204
-
float TimeUntilDrop; //0208
-
__int32 DamageEffect; //020C
-
__int32 HitCameraShake; //0210
-
__int32 MeleeAttacks_StandingPrimary; //0214
-
__int32 MeleeAttacks_StandingSecondary; //0218
-
__int32 MeleeAttacks_StandingTertiary; //021C
-
__int32 MeleeAttacks_CrouchingPrimary; //0220
-
__int32 MeleeAttacks_CrouchingSecondary;//0224
-
__int32 MeleeAttacks_CrouchingTertiary; //0228
-
};
-
-
/*
-
.data:012192BC g_MaxWeapons
-
.data:012192C0 g_pWeaponPool_001
-
*/
Here is a code example using the weapons class:
-
DWORD *dwWeaponMax = (DWORD *)0×012192BC;
-
DWORD *dwWeaponPool = (DWORD *)0×012192C0;
-
-
if( *dwWeaponPool && ( *dwWeaponMax > 0 ) )
-
{
-
weapon_info_t *pWeaponPool = (weapon_info_t *)*dwWeaponPool;
-
-
for( int i = 0; i < (int)*dwWeaponMax; i++ )
-
{
-
weapon_info_t *pWeapon = &pWeaponPool[i];
-
-
if( pWeapon == NULL )
-
continue;
-
-
if( g_Cvar.GetBoolean( "tr_aimassist" ) )
-
{
-
pWeapon->AimAssist = 9999.f;
-
pWeapon->AutoaimOverride = 9999.f;
-
}
-
-
if( g_Cvar.GetBoolean( "tr_hitme" ) )
-
{
-
//how much it hurts the player..
-
pWeapon->Player_Damage_Min = 9999.f;
-
pWeapon->Player_Damage_Max = 9999.f;
-
pWeapon->Player_Vehicle_Damage_Max = 9999.f;
-
pWeapon->Player_Vehicle_Damage_Min = 9999.f;
-
}
-
-
if( g_Cvar.GetBoolean( "tr_1hitko" ) )
-
{
-
//how much it hurts the NPCs..
-
pWeapon->NPC_Damage_Max = 9999.f;
-
pWeapon->NPC_Damage_Min = 9999.f;
-
-
//how much it hurts the vehicles..
-
pWeapon->Vehicle_Damage_Max = 9999.f;
-
pWeapon->Vehicle_Damage_Min = 9999.f;
-
}
-
-
if( g_Cvar.GetBoolean( "tr_magsize" ) )
-
{
-
pWeapon->MagazineSize = g_Cvar.GetInt( "tr_magsize" );
-
}
-
-
if( g_Cvar.GetBoolean( "tr_nummag" ) )
-
{
-
pWeapon->NumMagazines = g_Cvar.GetInt( "tr_nummag" );
-
}
-
-
if( g_Cvar.GetBoolean( "tr_overheat" ) )
-
{
-
pWeapon->OverheatCooldownTime = 0.f;
-
pWeapon->OverheatPercentPerShot = 0.f;
-
}
-
-
if( g_Cvar.GetBoolean( "tr_maxrange" ) )
-
{
-
pWeapon->RangeMax = 99999.f;
-
}
-
-
if( g_Cvar.GetBoolean( "tr_speed" ) )
-
{
-
pWeapon->PlayerMoveSpeed = g_Cvar.GetFloat( "tr_speed" );
-
}
-
-
if( g_Cvar.GetBoolean( "tr_nospread" ) )
-
{
-
if( !strstr( pWeapon->szWeaponName001, "turret" ) )
-
{
-
pWeapon->SpreadMax = 0.f;
-
pWeapon->SpreadMin = 0.f;
-
pWeapon->SpreadMultiplierRun = 0.f;
-
pWeapon->SpreadMultiplierShoot = 0.f;
-
}
-
}
-
-
if( g_Cvar.GetBoolean( "tr_norecoil" ) )
-
{
-
if( !strstr( pWeapon->szWeaponName001, "turret" ) )
-
{
-
pWeapon->FireCameraShake = 0;
-
pWeapon->HitCameraShake = 0;
-
pWeapon->PlayerHitCameraShake = 0;
-
pWeapon->RecoilImpulse = 0.f;
-
pWeapon->RecoilKick = 0.f;
-
}
-
}
-
-
if( g_Cvar.GetBoolean( "tr_bulletboom" ) )
-
{
-
if( pWeapon->ProjectileClass )
-
{
-
pWeapon->ProjectileClass->Mass = 9999.f;
-
}
-
}
-
}
-
}
Local Player Entity (other entities?):
-
class RFG_Entity
-
{
-
public:
-
class2* Unknown0; //0000
-
float Unknown1; //0004
-
float Unknown2; //0008
-
float Unknown3; //000C
-
float Unknown4; //0010
-
float Unknown5; //0014
-
float Unknown6; //0018
-
float Unknown7; //001C
-
float Unknown8; //0020
-
float Unknown9; //0024
-
float Unknown10; //0028
-
float Unknown11; //002C
-
float Unknown12; //0030
-
class4* Unknown13; //0034
-
char unknown14[20];
-
__int32 Unknown15; //004C
-
char unknown16[4];
-
__int32 Unknown17; //0054
-
__int32 Unknown18; //0058
-
char unknown19[8];
-
__int32 Unknown20; //0064
-
__int32 Unknown21; //0068
-
char unknown22[12];
-
CVector vecPosition001; //0078
-
CVector vecPosition002; //0084
-
char unknown29[16];
-
__int32 Unknown30; //00A0
-
char unknown31[4];
-
__int32 Unknown32; //00A8
-
char unknown33[28];
-
float Unknown34; //00C8
-
float Unknown35; //00CC
-
char unknown36[8];
-
float Unknown37; //00D8
-
float Unknown38; //00DC
-
float Unknown39; //00E0
-
float Unknown40; //00E4
-
float Unknown41; //00E8
-
float Unknown42; //00EC
-
float Unknown43; //00F0
-
float Unknown44; //00F4
-
float Unknown45; //00F8
-
char unknown46[52];
-
CVector vecPosition003;
-
char unknown50[228];
-
CVector vecPosition004; //0220
-
__int32 Unknown54; //022C
-
CVector vecPosition005; //0230
-
CVector vecPosition006; //023C
-
CVector vecPosition007; //0248
-
__int32 Unknown64; //0254
-
__int32 Unknown65; //0258
-
float Unknown66; //025C
-
float Unknown67; //0260
-
float Unknown68; //0264
-
float Unknown69; //0268
-
float Unknown70; //026C
-
float Unknown71; //0270
-
char unknown72[4];
-
float Unknown73; //0278
-
char unknown74[4];
-
float Unknown75; //0280
-
char unknown76[8];
-
__int32 Unknown77; //028C
-
float Unknown78; //0290
-
float Unknown79; //0294
-
float Unknown80; //0298
-
float Unknown81; //029C
-
char unknown82[12];
-
__int32 LandValue001; //02AC
-
CVector vecLandPosition001; //02B0
-
__int32 Unknown87; //02BC
-
__int32 Unknown88; //02C0
-
float Unknown89; //02C4
-
__int32 Unknown90; //02C8
-
__int32 Unknown91; //02CC
-
float Unknown92; //02D0
-
char unknown93[4];
-
float Unknown94; //02D8
-
__int32 Unknown95; //02DC
-
char unknown96[4];
-
__int32 Unknown97; //02E4
-
__int32 Unknown98; //02E8
-
__int32 Unknown99; //02EC
-
__int32 RunningState001; //02F0 (0 = none, 2 = regular, 3 = sprint)
-
__int32 IsCrouching001; //02F4
-
__int32 IsCrouching002; //02F8
-
__int32 Unknown103; //02FC
-
char unknown104[8];
-
__int32 Unknown105; //0308
-
CVector vecVelocity001; //030C
-
char unknown109[4];
-
float Unknown110; //031C
-
__int32 Unknown111; //0320
-
class5* Unknown112; //0324
-
char unknown113[8];
-
__int32 Unknown114; //0330
-
char unknown115[4];
-
__int32 Unknown116; //0338
-
__int32 Unknown117; //033C
-
float Unknown118; //0340
-
char unknown119[12];
-
float Unknown120; //0350
-
char unknown121[12];
-
__int32 Unknown122; //0360
-
__int32 Unknown123; //0364
-
__int32 Unknown124; //0368
-
__int32 Unknown125; //036C
-
__int32 Unknown126; //0370
-
__int32 Unknown127; //0374
-
__int32 Unknown128; //0378
-
__int32 Unknown129; //037C
-
__int32 Unknown130; //0380
-
__int32 Unknown131; //0384
-
__int32 Unknown132; //0388
-
__int32 Unknown133; //038C
-
__int32 Unknown134; //0390
-
__int32 Unknown135; //0394
-
__int32 Unknown136; //0398
-
__int32 Unknown137; //039C
-
__int32 Unknown138; //03A0
-
__int32 Unknown139; //03A4
-
float Unknown140; //03A8
-
float Unknown141; //03AC
-
float Unknown142; //03B0
-
float Unknown143; //03B4
-
float Unknown144; //03B8
-
float Unknown145; //03BC
-
float Unknown146; //03C0
-
float Unknown147; //03C4
-
float Unknown148; //03C8
-
char unknown149[4];
-
__int32 Unknown150; //03D0
-
__int32 Unknown151; //03D4
-
__int32 Unknown152; //03D8
-
float Unknown153; //03DC
-
float Unknown154; //03E0
-
char unknown155[4];
-
float Unknown156; //03E8
-
float Unknown157; //03EC
-
float Unknown158; //03F0
-
float Unknown159; //03F4
-
__int32 Unknown160; //03F8
-
__int32 Unknown161; //03FC
-
__int32 Unknown162; //0400
-
float Unknown163; //0404
-
float Unknown164; //0408
-
__int32 Unknown165; //040C
-
float Unknown166; //0410
-
float Unknown167; //0414
-
float Unknown168; //0418
-
char unknown169[300];
-
float Unknown170; //0548
-
float Unknown171; //054C
-
float Unknown172; //0550
-
float Unknown173; //0554
-
float Unknown174; //0558
-
float Unknown175; //055C
-
float Unknown176; //0560
-
float Unknown177; //0564
-
float Unknown178; //0568
-
float Unknown179; //056C
-
char unknown180[4];
-
__int32 Unknown181; //0574
-
__int32 Unknown182; //0578
-
char unknown183[4];
-
float Unknown184; //0580
-
float Unknown185; //0584
-
float Unknown186; //0588
-
float Unknown187; //058C
-
float Unknown188; //0590
-
float Unknown189; //0594
-
float Unknown190; //0598
-
float Unknown191; //059C
-
char unknown192[8];
-
float Unknown193; //05A8
-
float Unknown194; //05AC
-
float Unknown195; //05B0
-
float Unknown196; //05B4
-
float Unknown197; //05B8
-
float Unknown198; //05BC
-
float Unknown199; //05C0
-
float Unknown200; //05C4
-
float Unknown201; //05C8
-
float Unknown202; //05CC
-
char unknown203[4];
-
__int32 Unknown204; //05D4
-
__int32 Unknown205; //05D8
-
char unknown206[4];
-
float Unknown207; //05E0
-
char unknown208[4];
-
float Unknown209; //05E8
-
char unknown210[4];
-
float Unknown211; //05F0
-
char unknown212[4];
-
float Unknown213; //05F8
-
float Unknown214; //05FC
-
char unknown215[8];
-
float Unknown216; //0608
-
float Unknown217; //060C
-
float Unknown218; //0610
-
float Unknown219; //0614
-
float Unknown220; //0618
-
float Unknown221; //061C
-
float Unknown222; //0620
-
float Unknown223; //0624
-
float Unknown224; //0628
-
float Unknown225; //062C
-
char unknown226[4];
-
__int32 Unknown227; //0634
-
__int32 Unknown228; //0638
-
char unknown229[4];
-
float Unknown230; //0640
-
float Unknown231; //0644
-
float Unknown232; //0648
-
float Unknown233; //064C
-
float Unknown234; //0650
-
float Unknown235; //0654
-
float Unknown236; //0658
-
float Unknown237; //065C
-
char unknown238[8];
-
float Unknown239; //0668
-
float Unknown240; //066C
-
float Unknown241; //0670
-
float Unknown242; //0674
-
float Unknown243; //0678
-
float Unknown244; //067C
-
float Unknown245; //0680
-
float Unknown246; //0684
-
float Unknown247; //0688
-
float Unknown248; //068C
-
char unknown249[16];
-
float Unknown250; //06A0
-
float Unknown251; //06A4
-
float Unknown252; //06A8
-
float Unknown253; //06AC
-
float Unknown254; //06B0
-
float Unknown255; //06B4
-
float Unknown256; //06B8
-
float Unknown257; //06BC
-
float Unknown258; //06C0
-
float Unknown259; //06C4
-
char unknown260[20];
-
float Unknown261; //06DC
-
float Unknown262; //06E0
-
float Unknown263; //06E4
-
float Unknown264; //06E8
-
float Unknown265; //06EC
-
char unknown266[4];
-
__int32 Unknown267; //06F4
-
__int32 Unknown268; //06F8
-
__int32 Unknown269; //06FC
-
char unknown270[24];
-
float Unknown271; //0718
-
float Unknown272; //071C
-
float Unknown273; //0720
-
float Unknown274; //0724
-
char unknown275[20];
-
float Unknown276; //073C
-
float Unknown277; //0740
-
float Unknown278; //0744
-
float Unknown279; //0748
-
char unknown280[8];
-
__int32 Unknown281; //0754
-
char unknown282[32];
-
float Unknown283; //0778
-
float Unknown284; //077C
-
float Unknown285; //0780
-
float Unknown286; //0784
-
char unknown287[20];
-
float Unknown288; //079C
-
float Unknown289; //07A0
-
float Unknown290; //07A4
-
float Unknown291; //07A8
-
char unknown292[8];
-
__int32 Unknown293; //07B4
-
__int32 Unknown294; //07B8
-
char unknown295[4];
-
float Unknown296; //07C0
-
float Unknown297; //07C4
-
float Unknown298; //07C8
-
float Unknown299; //07CC
-
float Unknown300; //07D0
-
float Unknown301; //07D4
-
float Unknown302; //07D8
-
float Unknown303; //07DC
-
float Unknown304; //07E0
-
float Unknown305; //07E4
-
char unknown306[20];
-
float Unknown307; //07FC
-
float Unknown308; //0800
-
float Unknown309; //0804
-
float Unknown310; //0808
-
float Unknown311; //080C
-
char unknown312[4];
-
__int32 Unknown313; //0814
-
__int32 Unknown314; //0818
-
char unknown315[4];
-
float Unknown316; //0820
-
float Unknown317; //0824
-
float Unknown318; //0828
-
float Unknown319; //082C
-
float Unknown320; //0830
-
float Unknown321; //0834
-
float Unknown322; //0838
-
float Unknown323; //083C
-
float Unknown324; //0840
-
float Unknown325; //0844
-
char unknown326[20];
-
float Unknown327; //085C
-
float Unknown328; //0860
-
float Unknown329; //0864
-
float Unknown330; //0868
-
float Unknown331; //086C
-
char unknown332[20];
-
float Unknown333; //0884
-
float Unknown334; //0888
-
char unknown335[4];
-
__int32 Unknown336; //0890
-
float Unknown337; //0894
-
float Unknown338; //0898
-
char unknown339[4];
-
__int32 Unknown340; //08A0
-
char unknown341[12];
-
__int32 Unknown342; //08B0
-
char unknown343[12];
-
__int32 Unknown344; //08C0
-
char unknown345[56];
-
__int32 MaxHealth; //08FC
-
float Armor; //0900
-
float Health; //0904
-
char unknown349[24];
-
__int32 Unknown350; //0920
-
__int32 Unknown351; //0924
-
__int32 Unknown352; //0928
-
__int32 Unknown353; //092C
-
//
-
};
Some other core structs:
-
class CVector
-
{
-
public:
-
float x, y, z;
-
-
//functions..etc
-
};
-
-
class CRenderer
-
{
-
public:
-
char unknown0[4];
-
__int32 Unknown1; //0004
-
__int32 ScreenWidth; //0008
-
__int32 ScreenHeight; //000C
-
__int32 Unknown4; //0010
-
__int32 Unknown5; //0014
-
float Unknown6; //0018
-
char unknown7[16];
-
__int32 Unknown8; //002C
-
float Unknown9; //0030
-
__int32 Unknown10; //0034
-
float Unknown11; //0038
-
__int32 Unknown12; //003C
-
float Unknown13; //0040
-
__int32 Unknown14; //0044
-
float Unknown15; //0048
-
__int32 Unknown16; //004C
-
float Unknown17; //0050
-
__int32 Unknown18; //0054
-
float Unknown19; //0058
-
__int32 Unknown20; //005C
-
char unknown21[4];
-
__int32 Unknown22; //0064
-
__int32 Unknown23; //0068
-
__int32 Unknown24; //006C
-
__int32 Unknown25; //0070
-
float Unknown26; //0074
-
char unknown27[8];
-
__int32 Unknown28; //0080
-
char unknown29[12];
-
__int32 Unknown30; //0090
-
char unknown31[9960];
-
__int32 Unknown32; //277C
-
__int32 Unknown33; //2780
-
char unknown34[8];
-
__int32 Unknown35; //278C
-
__int32 Unknown36; //2790
-
char unknown37[4];
-
float Unknown38; //2798
-
char unknown39[8800];
-
__int32 Unknown40; //49FC
-
char unknown41[8];
-
float Unknown42; //4A08
-
char unknown43[4];
-
__int32 Unknown44; //4A10
-
IDirect3D9* DirectX; //4A14
-
IDirect3DDevice9* DirectXDevice; //4A18
-
char unknown47[8];
-
__int32 Unknown48; //4A24
-
__int32 Unknown49; //4A28
-
__int32 Unknown50; //4A2C
-
__int32 Unknown51; //4A30
-
char unknown52[8];
-
__int32 Unknown53; //4A3C
-
char unknown54[4];
-
__int32 Unknown55; //4A44
-
__int32 Unknown56; //4A48
-
__int32 Unknown57; //4A4C
-
char unknown58[20];
-
__int32 Unknown59; //4A64
-
__int32 Unknown60; //4A68
-
__int32 Unknown61; //4A6C
-
__int32 Unknown62; //4A70
-
};
-
-
class CMainRender
-
{
-
public:
-
char unknown0[12];
-
__int32 Unknown1; //000C
-
char unknown2[16];
-
__int32 Unknown3; //0020
-
__int32 Unknown4; //0024
-
char unknown5[32];
-
CRenderer* pRenderer; //0048
-
};
Examples of above code:
-
DWORD *dwPlayerPointer = (DWORD *)0×0128E398;
-
-
if( *dwPlayerPointer )
-
{
-
RFG_Entity *pLocalEntity = (RFG_Entity *)*dwPlayerPointer;
-
-
if( g_Cvar.GetBoolean( "tr_god" ) )
-
{
-
pLocalEntity->Health = 99999.f;
-
pLocalEntity->MaxHealth = 99999;
-
}
-
-
if( g_Cvar.GetBoolean( "tr_money" ) )
-
{
-
SetSalvage( 999999 );
-
}
-
}
-
DWORD WINAPI lpDirectX( LPVOID lpParam )
-
{
-
while( true )
-
{
-
DWORD *dwRendererPointer = (DWORD *)0×0227A944;
-
-
if( *dwRendererPointer )
-
{
-
CMainRender *pRenderer = (CMainRender *)*dwRendererPointer;
-
-
if( pRenderer->pRenderer )
-
{
-
if( pRenderer->pRenderer->DirectXDevice )
-
{
-
//got the d3d9 device
-
}
-
}
-
}
-
}
-
}