Red Faction Guerrilla Structures

December 10th, 2009 s0beit Leave a comment Go to comments

Here is some RFG Structs i reversed

Weapon Class:

  1. //*(DWORD *)0×012192C0
  2.  
  3. typedef enum {
  4.  PIERCE_ARMOR    = 1,
  5.  CAN_FINE_AIM    = 2,
  6.  CAN_SCOPE    = 4,
  7.  SHATTER    = 8,
  8.  LEFT_HANDED    = 16,
  9.  PROJ_OPPOSITE_HAND   = 32,
  10.  SILENT_BULLETS    = 64,
  11.  PENETRATING_BULETS   = 128
  12. } weapon_flags_001_t;
  13.  
  14. typedef enum {
  15.  NON_INVENTORY    = 1,
  16.  USE_EVEN_SPREAD   = 2,
  17.  DISABLE_PLAYER_COVER   = 4,
  18.  MP_SELECTABLE    = 8,
  19.  IS_OBVIOUS    = 16,
  20.  AUTO_AIM_CURVED_TRAIL   = 32,
  21.  LOOPING_EFFECTS   = 64,
  22.  NEVER_IN_CABINET   = 128
  23. } weapon_flags_002_t;
  24.  
  25. typedef enum {
  26.  USE_SECONDARY_WEAPON_HEAT  = 1,
  27.  DONT_DROP_ON_DEATH   = 2
  28. } weapon_flags_003_t;
  29.  
  30. struct projectile_info_t
  31. {
  32.  char*   szProjectileName001;   //0000
  33.  char*   szProjectileName002;   //0004
  34.  char   Unknown001[16];    //0008
  35.  void*   Unknown002;     //0018
  36.  void*   Unknown003;     //001C
  37.  char   unknown004[4];     //0020
  38.  float   Unknown005;     //0024
  39.  char   unknown006[4];     //0028
  40.  __int32  Unknown007;     //002C
  41.  char   unknown008[108];   //0030
  42.  float   Mass;       //009C
  43.  float   LinearDamp;     //00A0
  44.  float   AngularDamp;     //00A4
  45.  float   Restitution;     //00A8
  46.  float   Friction;      //00AC
  47.  CVector  AngularVelocity;    //00B0
  48.  __int32  Unknown009;     //00BC
  49. };
  50.  
  51. struct weapon_info_t
  52. {
  53.  char*   szWeaponName001;    //0000
  54.  void*   Unknown001;     //0004
  55.  char*   szElement001;     //0008
  56.  __int8   Flags001;      //000C
  57.  __int8   Flags002;      //000D
  58.  __int8   Flags003;      //000E
  59.  __int8   Flags004;      //000F
  60.  __int32  WeaponClass;     //0010
  61.  void*   Unknown003;     //0014
  62.  void*   Unknown004;     //0018
  63.  __int32  Default_team;     //001C
  64.  char*   szIconName;     //0020
  65.  char*   szSmallIconName;    //0024
  66.  char*   szReticuleName;    //0028
  67.  char*   szFireAimReticule;    //002C
  68.  char*   szMPKillPhrase;    //0030
  69.  __int32  AnimationGroup;    //0034
  70.  __int32  MuzzleFlash;     //0038
  71.  __int32  MuzzleSmoke;     //003C
  72.  __int32  SpecialHitEffect;    //0040
  73.  __int32  SpecialEffect;     //0044
  74.  __int32  SecondarySpecialEffect;  //0048
  75.  __int32  OverheatedEffect;    //004C
  76.  __int32  TracerEffect;     //0050
  77.  __int32  FireCameraShake;    //0054
  78.  __int32  SecondaryCameraShake;   //0058
  79.  __int32  PlayerHitCameraShake;   //005C
  80.  __int32  AttachmentProp;    //0060
  81.  char   Unknown005[28];    //0064
  82.  __int32  FireSound;      //0080
  83.  __int32  SecondarySound;    //0084
  84.  __int32  UpgradeSound;     //0088
  85.  __int32  ReloadSound;     //008C
  86.  __int32  ReloadSoundDelay;    //0090
  87.  __int32  NoAmmoSound;     //0094
  88.  __int32  SpecialSound;     //0098
  89.  __int32  FlybySound;     //009C
  90.  char   Unknown006[68];    //00A0
  91.  float   RangeMax;      //00E4
  92.  float   RangeRed;      //00E8
  93.  float   MaxEngagementDistance;   //00EC
  94.  float   MinEngagementDistance;   //00F0
  95.  float   MaxAIPenetratingDistance;  //00F4
  96.  __int32  Other;       //00F8
  97.  char*   Default;      //00FC
  98.  __int32  TriggerType;     //0100
  99.  __int32  AmmoType;      //0104
  100.  __int16  MagazineSize;     //0108
  101.  __int16  NumMagazines;     //010A
  102.  __int16  Unknown007;     //010C
  103.  __int16  Unknown008;     //010E
  104.  __int16  AmmoRestock;     //0110
  105.  __int16  ToSpreadMin;     //0112
  106.  __int16  ToSpreadMax;     //0114
  107.  __int8   MeleeGroup;     //0116
  108.  __int8   BulletGroup;     //0117
  109.  unsigned char  TracerFrequency;   //0118
  110.  unsigned char  ShotsPerRound;    //0119
  111.  unsigned char  Unknown010[2];    //011A
  112.  __int32  Unknown011;     //011C
  113.  float   NPCRefireDelay;    //0120
  114.  float   DefaultRefireDelay;   //0124
  115.  float   PrefireDelay;     //0128
  116.  __int32  DefaultReloadDelay;   //012C
  117.  float   Threshold_Min;     //0130
  118.  float   NPC_Damage_Min;    //0134
  119.  float   Player_Damage_Min;    //0138
  120.  float   Vehicle_Damage_Min;   //013C
  121.  float   Player_Vehicle_Damage_Min;  //0140
  122.  float   Threshold_Max;     //0144
  123.  float   NPC_Damage_Max;    //0148
  124.  float   Player_Damage_Max;    //014C
  125.  float   Vehicle_Damage_Max;   //0150
  126.  float   Player_Vehicle_Damage_Max;  //0154
  127.  char*   ExplosionName;     //0158
  128.  char*   AIExplosionName;    //015C
  129.  float   FireConeAngle;     //0160
  130.  float   EvenSpreadAccuracyAngle;  //0164
  131.  float   SpreadMax;      //0168
  132.  float   SpreadMin;      //016C
  133.  float   SpreadFineAimMax;    //0170
  134.  float   SpreadFineAimMin;    //0174
  135.  float   NPCSpreadMax;     //0178
  136.  float   NPCSpreadMin;     //017C
  137.  float   SpreadMultiplierRun;   //0180
  138.  float   SpreadMultiplierShoot;   //0184
  139.  float   RagdollChance;     //0188
  140.  float   RecoilKick;     //018C
  141.  float   RecoilImpulse;     //0190
  142.  float   ReloadDelay;     //0194
  143.  float   OverheatCooldownTime;   //0198
  144.  float   OverheatPercentPerShot;  //019C
  145.  float   DroppedAmmoScale;    //01A0
  146.  float   BulletHoleScale;    //01A4
  147.  float   HeadshotMultiplier;   //01A8
  148.  float   ZoomMagnification;    //01AC
  149.  float   AutoaimOverride;    //01B0
  150.  float   NPC_AutoAim;     //01B4
  151.  float   AimAssist;      //01B8
  152.  float   PlayerMoveSpeed;    //01BC
  153.  float   NPCMoveSpeed;     //01C0
  154.  float   AlertLevelMultiplier;   //01C4
  155.  projectile_info_t* ProjectileClass;  //01C8
  156.  float   StartSpeed;     //01CC
  157.  float   MaxSpeed;      //01D0
  158.  float   Acceleration;     //01D4
  159.  float   FuseTime001;     //01D8
  160.  float   FuseTime002;     //01DC
  161.  float   Gravity;      //01E0
  162.  __int32  Sound;       //01E4
  163.  __int32  AttachedEffect001;    //01E8
  164.  __int32  AttachedEffect002;    //01EC
  165.  __int32  AttachedEffect003;    //01F0
  166.  __int32  AttachedEffect004;    //01F4
  167.  __int32  ProjectileFlags;    //01F8
  168.  float   Inaccurate_Flight;    //01FC
  169.  float   TimeUntilPropelled;   //0200
  170.  float   TimeUntilPropExpire;   //0204
  171.  float   TimeUntilDrop;     //0208
  172.  __int32  DamageEffect;     //020C
  173.  __int32  HitCameraShake;    //0210
  174.  __int32  MeleeAttacks_StandingPrimary;  //0214
  175.  __int32  MeleeAttacks_StandingSecondary; //0218
  176.  __int32  MeleeAttacks_StandingTertiary;  //021C
  177.  __int32  MeleeAttacks_CrouchingPrimary;  //0220
  178.  __int32  MeleeAttacks_CrouchingSecondary;//0224
  179.  __int32  MeleeAttacks_CrouchingTertiary; //0228
  180. };
  181.  
  182. /*
  183. .data:012192BC g_MaxWeapons
  184. .data:012192C0 g_pWeaponPool_001
  185. */

Here is a code example using the weapons class:

  1.  DWORD *dwWeaponMax = (DWORD *)0×012192BC;
  2.  DWORD *dwWeaponPool = (DWORD *)0×012192C0;
  3.  
  4.  if( *dwWeaponPool && ( *dwWeaponMax > 0 ) )
  5.  {
  6.   weapon_info_t *pWeaponPool = (weapon_info_t *)*dwWeaponPool;
  7.  
  8.   for( int i = 0; i < (int)*dwWeaponMax; i++ )
  9.   {
  10.    weapon_info_t *pWeapon = &pWeaponPool[i];
  11.  
  12.    if( pWeapon == NULL )
  13.     continue;
  14.  
  15.    if( g_Cvar.GetBoolean( "tr_aimassist" ) )
  16.    {
  17.     pWeapon->AimAssist   = 9999.f;
  18.     pWeapon->AutoaimOverride = 9999.f;
  19.    }
  20.    
  21.    if( g_Cvar.GetBoolean( "tr_hitme" ) )
  22.    {
  23.     //how much it hurts the player..
  24.     pWeapon->Player_Damage_Min   = 9999.f;
  25.     pWeapon->Player_Damage_Max   = 9999.f;
  26.     pWeapon->Player_Vehicle_Damage_Max = 9999.f;
  27.     pWeapon->Player_Vehicle_Damage_Min = 9999.f;
  28.    }
  29.  
  30.    if( g_Cvar.GetBoolean( "tr_1hitko" ) )
  31.    {
  32.     //how much it hurts the NPCs..
  33.     pWeapon->NPC_Damage_Max = 9999.f;
  34.     pWeapon->NPC_Damage_Min = 9999.f;
  35.  
  36.     //how much it hurts the vehicles..
  37.     pWeapon->Vehicle_Damage_Max   = 9999.f;
  38.     pWeapon->Vehicle_Damage_Min   = 9999.f;
  39.    }
  40.    
  41.    if( g_Cvar.GetBoolean( "tr_magsize" ) )
  42.    {
  43.     pWeapon->MagazineSize = g_Cvar.GetInt( "tr_magsize" );
  44.    }
  45.  
  46.    if( g_Cvar.GetBoolean( "tr_nummag" ) )
  47.    {
  48.     pWeapon->NumMagazines = g_Cvar.GetInt( "tr_nummag" );
  49.    }
  50.  
  51.    if( g_Cvar.GetBoolean( "tr_overheat" ) )
  52.    {
  53.     pWeapon->OverheatCooldownTime = 0.f;
  54.     pWeapon->OverheatPercentPerShot = 0.f;
  55.    }
  56.  
  57.    if( g_Cvar.GetBoolean( "tr_maxrange" ) )
  58.    {
  59.     pWeapon->RangeMax = 99999.f;
  60.    }
  61.  
  62.    if( g_Cvar.GetBoolean( "tr_speed" ) )
  63.    {
  64.     pWeapon->PlayerMoveSpeed = g_Cvar.GetFloat( "tr_speed" );
  65.    }
  66.  
  67.    if( g_Cvar.GetBoolean( "tr_nospread" ) )
  68.    {
  69.     if( !strstr( pWeapon->szWeaponName001, "turret" ) )
  70.     {
  71.      pWeapon->SpreadMax    = 0.f;
  72.      pWeapon->SpreadMin    = 0.f;
  73.      pWeapon->SpreadMultiplierRun = 0.f;
  74.      pWeapon->SpreadMultiplierShoot = 0.f;
  75.     }
  76.    }
  77.  
  78.    if( g_Cvar.GetBoolean( "tr_norecoil" ) )
  79.    {
  80.     if( !strstr( pWeapon->szWeaponName001, "turret" ) )
  81.     {
  82.      pWeapon->FireCameraShake  = 0;
  83.      pWeapon->HitCameraShake   = 0;
  84.      pWeapon->PlayerHitCameraShake = 0;
  85.      pWeapon->RecoilImpulse   = 0.f;
  86.      pWeapon->RecoilKick    = 0.f;
  87.     }
  88.    }
  89.  
  90.    if( g_Cvar.GetBoolean( "tr_bulletboom" ) )
  91.    {
  92.     if( pWeapon->ProjectileClass )
  93.     {
  94.      pWeapon->ProjectileClass->Mass = 9999.f;
  95.     }
  96.    }
  97.   }
  98.  }

Local Player Entity (other entities?):

  1. class RFG_Entity
  2. {
  3. public:
  4.  class2* Unknown0; //0000
  5.  float Unknown1; //0004
  6.  float Unknown2; //0008
  7.  float Unknown3; //000C
  8.  float Unknown4; //0010
  9.  float Unknown5; //0014
  10.  float Unknown6; //0018
  11.  float Unknown7; //001C
  12.  float Unknown8; //0020
  13.  float Unknown9; //0024
  14.  float Unknown10; //0028
  15.  float Unknown11; //002C
  16.  float Unknown12; //0030
  17.  class4* Unknown13; //0034
  18.     char unknown14[20];
  19.  __int32 Unknown15; //004C
  20.     char unknown16[4];
  21.  __int32 Unknown17; //0054
  22.  __int32 Unknown18; //0058
  23.     char unknown19[8];
  24.  __int32 Unknown20; //0064
  25.  __int32 Unknown21; //0068
  26.     char unknown22[12];
  27.  CVector vecPosition001; //0078
  28.  CVector vecPosition002; //0084
  29.     char unknown29[16];
  30.  __int32 Unknown30; //00A0
  31.     char unknown31[4];
  32.  __int32 Unknown32; //00A8
  33.     char unknown33[28];
  34.  float Unknown34; //00C8
  35.  float Unknown35; //00CC
  36.     char unknown36[8];
  37.  float Unknown37; //00D8
  38.  float Unknown38; //00DC
  39.  float Unknown39; //00E0
  40.  float Unknown40; //00E4
  41.  float Unknown41; //00E8
  42.  float Unknown42; //00EC
  43.  float Unknown43; //00F0
  44.  float Unknown44; //00F4
  45.  float Unknown45; //00F8
  46.     char unknown46[52];
  47.  CVector vecPosition003;
  48.     char unknown50[228];
  49.  CVector vecPosition004; //0220
  50.  __int32 Unknown54; //022C
  51.  CVector vecPosition005; //0230
  52.  CVector vecPosition006; //023C
  53.  CVector vecPosition007; //0248
  54.  __int32 Unknown64; //0254
  55.  __int32 Unknown65; //0258
  56.  float Unknown66; //025C
  57.  float Unknown67; //0260
  58.  float Unknown68; //0264
  59.  float Unknown69; //0268
  60.  float Unknown70; //026C
  61.  float Unknown71; //0270
  62.     char unknown72[4];
  63.  float Unknown73; //0278
  64.     char unknown74[4];
  65.  float Unknown75; //0280
  66.     char unknown76[8];
  67.  __int32 Unknown77; //028C
  68.  float Unknown78; //0290
  69.  float Unknown79; //0294
  70.  float Unknown80; //0298
  71.  float Unknown81; //029C
  72.     char unknown82[12];
  73.  __int32 LandValue001; //02AC
  74.  CVector vecLandPosition001; //02B0
  75.  __int32 Unknown87; //02BC
  76.  __int32 Unknown88; //02C0
  77.  float Unknown89; //02C4
  78.  __int32 Unknown90; //02C8
  79.  __int32 Unknown91; //02CC
  80.  float Unknown92; //02D0
  81.     char unknown93[4];
  82.  float Unknown94; //02D8
  83.  __int32 Unknown95; //02DC
  84.     char unknown96[4];
  85.  __int32 Unknown97; //02E4
  86.  __int32 Unknown98; //02E8
  87.  __int32 Unknown99; //02EC
  88.  __int32 RunningState001; //02F0 (0 = none, 2 = regular, 3 = sprint)
  89.  __int32 IsCrouching001; //02F4
  90.  __int32 IsCrouching002; //02F8
  91.  __int32 Unknown103; //02FC
  92.     char unknown104[8];
  93.  __int32 Unknown105; //0308
  94.  CVector vecVelocity001; //030C
  95.     char unknown109[4];
  96.  float Unknown110; //031C
  97.  __int32 Unknown111; //0320
  98.  class5* Unknown112; //0324
  99.     char unknown113[8];
  100.  __int32 Unknown114; //0330
  101.     char unknown115[4];
  102.  __int32 Unknown116; //0338
  103.  __int32 Unknown117; //033C
  104.  float Unknown118; //0340
  105.     char unknown119[12];
  106.  float Unknown120; //0350
  107.     char unknown121[12];
  108.  __int32 Unknown122; //0360
  109.  __int32 Unknown123; //0364
  110.  __int32 Unknown124; //0368
  111.  __int32 Unknown125; //036C
  112.  __int32 Unknown126; //0370
  113.  __int32 Unknown127; //0374
  114.  __int32 Unknown128; //0378
  115.  __int32 Unknown129; //037C
  116.  __int32 Unknown130; //0380
  117.  __int32 Unknown131; //0384
  118.  __int32 Unknown132; //0388
  119.  __int32 Unknown133; //038C
  120.  __int32 Unknown134; //0390
  121.  __int32 Unknown135; //0394
  122.  __int32 Unknown136; //0398
  123.  __int32 Unknown137; //039C
  124.  __int32 Unknown138; //03A0
  125.  __int32 Unknown139; //03A4
  126.  float Unknown140; //03A8
  127.  float Unknown141; //03AC
  128.  float Unknown142; //03B0
  129.  float Unknown143; //03B4
  130.  float Unknown144; //03B8
  131.  float Unknown145; //03BC
  132.  float Unknown146; //03C0
  133.  float Unknown147; //03C4
  134.  float Unknown148; //03C8
  135.     char unknown149[4];
  136.  __int32 Unknown150; //03D0
  137.  __int32 Unknown151; //03D4
  138.  __int32 Unknown152; //03D8
  139.  float Unknown153; //03DC
  140.  float Unknown154; //03E0
  141.     char unknown155[4];
  142.  float Unknown156; //03E8
  143.  float Unknown157; //03EC
  144.  float Unknown158; //03F0
  145.  float Unknown159; //03F4
  146.  __int32 Unknown160; //03F8
  147.  __int32 Unknown161; //03FC
  148.  __int32 Unknown162; //0400
  149.  float Unknown163; //0404
  150.  float Unknown164; //0408
  151.  __int32 Unknown165; //040C
  152.  float Unknown166; //0410
  153.  float Unknown167; //0414
  154.  float Unknown168; //0418
  155.     char unknown169[300];
  156.  float Unknown170; //0548
  157.  float Unknown171; //054C
  158.  float Unknown172; //0550
  159.  float Unknown173; //0554
  160.  float Unknown174; //0558
  161.  float Unknown175; //055C
  162.  float Unknown176; //0560
  163.  float Unknown177; //0564
  164.  float Unknown178; //0568
  165.  float Unknown179; //056C
  166.     char unknown180[4];
  167.  __int32 Unknown181; //0574
  168.  __int32 Unknown182; //0578
  169.     char unknown183[4];
  170.  float Unknown184; //0580
  171.  float Unknown185; //0584
  172.  float Unknown186; //0588
  173.  float Unknown187; //058C
  174.  float Unknown188; //0590
  175.  float Unknown189; //0594
  176.  float Unknown190; //0598
  177.  float Unknown191; //059C
  178.     char unknown192[8];
  179.  float Unknown193; //05A8
  180.  float Unknown194; //05AC
  181.  float Unknown195; //05B0
  182.  float Unknown196; //05B4
  183.  float Unknown197; //05B8
  184.  float Unknown198; //05BC
  185.  float Unknown199; //05C0
  186.  float Unknown200; //05C4
  187.  float Unknown201; //05C8
  188.  float Unknown202; //05CC
  189.     char unknown203[4];
  190.  __int32 Unknown204; //05D4
  191.  __int32 Unknown205; //05D8
  192.     char unknown206[4];
  193.  float Unknown207; //05E0
  194.     char unknown208[4];
  195.  float Unknown209; //05E8
  196.     char unknown210[4];
  197.  float Unknown211; //05F0
  198.     char unknown212[4];
  199.  float Unknown213; //05F8
  200.  float Unknown214; //05FC
  201.     char unknown215[8];
  202.  float Unknown216; //0608
  203.  float Unknown217; //060C
  204.  float Unknown218; //0610
  205.  float Unknown219; //0614
  206.  float Unknown220; //0618
  207.  float Unknown221; //061C
  208.  float Unknown222; //0620
  209.  float Unknown223; //0624
  210.  float Unknown224; //0628
  211.  float Unknown225; //062C
  212.     char unknown226[4];
  213.  __int32 Unknown227; //0634
  214.  __int32 Unknown228; //0638
  215.     char unknown229[4];
  216.  float Unknown230; //0640
  217.  float Unknown231; //0644
  218.  float Unknown232; //0648
  219.  float Unknown233; //064C
  220.  float Unknown234; //0650
  221.  float Unknown235; //0654
  222.  float Unknown236; //0658
  223.  float Unknown237; //065C
  224.     char unknown238[8];
  225.  float Unknown239; //0668
  226.  float Unknown240; //066C
  227.  float Unknown241; //0670
  228.  float Unknown242; //0674
  229.  float Unknown243; //0678
  230.  float Unknown244; //067C
  231.  float Unknown245; //0680
  232.  float Unknown246; //0684
  233.  float Unknown247; //0688
  234.  float Unknown248; //068C
  235.     char unknown249[16];
  236.  float Unknown250; //06A0
  237.  float Unknown251; //06A4
  238.  float Unknown252; //06A8
  239.  float Unknown253; //06AC
  240.  float Unknown254; //06B0
  241.  float Unknown255; //06B4
  242.  float Unknown256; //06B8
  243.  float Unknown257; //06BC
  244.  float Unknown258; //06C0
  245.  float Unknown259; //06C4
  246.     char unknown260[20];
  247.  float Unknown261; //06DC
  248.  float Unknown262; //06E0
  249.  float Unknown263; //06E4
  250.  float Unknown264; //06E8
  251.  float Unknown265; //06EC
  252.     char unknown266[4];
  253.  __int32 Unknown267; //06F4
  254.  __int32 Unknown268; //06F8
  255.  __int32 Unknown269; //06FC
  256.     char unknown270[24];
  257.  float Unknown271; //0718
  258.  float Unknown272; //071C
  259.  float Unknown273; //0720
  260.  float Unknown274; //0724
  261.     char unknown275[20];
  262.  float Unknown276; //073C
  263.  float Unknown277; //0740
  264.  float Unknown278; //0744
  265.  float Unknown279; //0748
  266.     char unknown280[8];
  267.  __int32 Unknown281; //0754
  268.     char unknown282[32];
  269.  float Unknown283; //0778
  270.  float Unknown284; //077C
  271.  float Unknown285; //0780
  272.  float Unknown286; //0784
  273.     char unknown287[20];
  274.  float Unknown288; //079C
  275.  float Unknown289; //07A0
  276.  float Unknown290; //07A4
  277.  float Unknown291; //07A8
  278.     char unknown292[8];
  279.  __int32 Unknown293; //07B4
  280.  __int32 Unknown294; //07B8
  281.     char unknown295[4];
  282.  float Unknown296; //07C0
  283.  float Unknown297; //07C4
  284.  float Unknown298; //07C8
  285.  float Unknown299; //07CC
  286.  float Unknown300; //07D0
  287.  float Unknown301; //07D4
  288.  float Unknown302; //07D8
  289.  float Unknown303; //07DC
  290.  float Unknown304; //07E0
  291.  float Unknown305; //07E4
  292.     char unknown306[20];
  293.  float Unknown307; //07FC
  294.  float Unknown308; //0800
  295.  float Unknown309; //0804
  296.  float Unknown310; //0808
  297.  float Unknown311; //080C
  298.     char unknown312[4];
  299.  __int32 Unknown313; //0814
  300.  __int32 Unknown314; //0818
  301.     char unknown315[4];
  302.  float Unknown316; //0820
  303.  float Unknown317; //0824
  304.  float Unknown318; //0828
  305.  float Unknown319; //082C
  306.  float Unknown320; //0830
  307.  float Unknown321; //0834
  308.  float Unknown322; //0838
  309.  float Unknown323; //083C
  310.  float Unknown324; //0840
  311.  float Unknown325; //0844
  312.     char unknown326[20];
  313.  float Unknown327; //085C
  314.  float Unknown328; //0860
  315.  float Unknown329; //0864
  316.  float Unknown330; //0868
  317.  float Unknown331; //086C
  318.     char unknown332[20];
  319.  float Unknown333; //0884
  320.  float Unknown334; //0888
  321.     char unknown335[4];
  322.  __int32 Unknown336; //0890
  323.  float Unknown337; //0894
  324.  float Unknown338; //0898
  325.     char unknown339[4];
  326.  __int32 Unknown340; //08A0
  327.     char unknown341[12];
  328.  __int32 Unknown342; //08B0
  329.     char unknown343[12];
  330.  __int32 Unknown344; //08C0
  331.     char unknown345[56];
  332.  __int32 MaxHealth; //08FC
  333.  float Armor; //0900
  334.  float Health; //0904
  335.     char unknown349[24];
  336.  __int32 Unknown350; //0920
  337.  __int32 Unknown351; //0924
  338.  __int32 Unknown352; //0928
  339.  __int32 Unknown353; //092C
  340.  //
  341. };

Some other core structs:

  1. class CVector
  2. {
  3. public:
  4.  float x, y, z;
  5.  
  6.  //functions..etc
  7. };
  8.  
  9. class CRenderer
  10. {
  11. public:
  12.     char unknown0[4];
  13.  __int32 Unknown1; //0004
  14.  __int32 ScreenWidth; //0008
  15.  __int32 ScreenHeight; //000C
  16.  __int32 Unknown4; //0010
  17.  __int32 Unknown5; //0014
  18.  float Unknown6; //0018
  19.     char unknown7[16];
  20.  __int32 Unknown8; //002C
  21.  float Unknown9; //0030
  22.  __int32 Unknown10; //0034
  23.  float Unknown11; //0038
  24.  __int32 Unknown12; //003C
  25.  float Unknown13; //0040
  26.  __int32 Unknown14; //0044
  27.  float Unknown15; //0048
  28.  __int32 Unknown16; //004C
  29.  float Unknown17; //0050
  30.  __int32 Unknown18; //0054
  31.  float Unknown19; //0058
  32.  __int32 Unknown20; //005C
  33.     char unknown21[4];
  34.  __int32 Unknown22; //0064
  35.  __int32 Unknown23; //0068
  36.  __int32 Unknown24; //006C
  37.  __int32 Unknown25; //0070
  38.  float Unknown26; //0074
  39.     char unknown27[8];
  40.  __int32 Unknown28; //0080
  41.     char unknown29[12];
  42.  __int32 Unknown30; //0090
  43.     char unknown31[9960];
  44.  __int32 Unknown32; //277C
  45.  __int32 Unknown33; //2780
  46.     char unknown34[8];
  47.  __int32 Unknown35; //278C
  48.  __int32 Unknown36; //2790
  49.     char unknown37[4];
  50.  float Unknown38; //2798
  51.     char unknown39[8800];
  52.  __int32 Unknown40; //49FC
  53.     char unknown41[8];
  54.  float Unknown42; //4A08
  55.     char unknown43[4];
  56.  __int32 Unknown44; //4A10
  57.  IDirect3D9* DirectX; //4A14
  58.  IDirect3DDevice9* DirectXDevice; //4A18
  59.     char unknown47[8];
  60.  __int32 Unknown48; //4A24
  61.  __int32 Unknown49; //4A28
  62.  __int32 Unknown50; //4A2C
  63.  __int32 Unknown51; //4A30
  64.     char unknown52[8];
  65.  __int32 Unknown53; //4A3C
  66.     char unknown54[4];
  67.  __int32 Unknown55; //4A44
  68.  __int32 Unknown56; //4A48
  69.  __int32 Unknown57; //4A4C
  70.     char unknown58[20];
  71.  __int32 Unknown59; //4A64
  72.  __int32 Unknown60; //4A68
  73.  __int32 Unknown61; //4A6C
  74.  __int32 Unknown62; //4A70
  75. };
  76.  
  77. class CMainRender
  78. {
  79. public:
  80.     char unknown0[12];
  81.  __int32 Unknown1; //000C
  82.     char unknown2[16];
  83.  __int32 Unknown3; //0020
  84.  __int32 Unknown4; //0024
  85.     char unknown5[32];
  86.  CRenderer* pRenderer; //0048
  87. };

Examples of above code:

  1.  DWORD *dwPlayerPointer = (DWORD *)0×0128E398;
  2.  
  3.  if( *dwPlayerPointer )
  4.  {
  5.   RFG_Entity *pLocalEntity = (RFG_Entity *)*dwPlayerPointer;
  6.  
  7.   if( g_Cvar.GetBoolean( "tr_god" ) )
  8.   {
  9.    pLocalEntity->Health  = 99999.f;
  10.    pLocalEntity->MaxHealth  = 99999;
  11.   }
  12.  
  13.   if( g_Cvar.GetBoolean( "tr_money" ) )
  14.   {
  15.    SetSalvage( 999999 );
  16.   }
  17.  }
  1. DWORD WINAPI lpDirectX( LPVOID lpParam )
  2. {
  3.  while( true )
  4.  {
  5.   DWORD *dwRendererPointer = (DWORD *)0×0227A944;
  6.  
  7.   if( *dwRendererPointer )
  8.   {
  9.    CMainRender *pRenderer = (CMainRender *)*dwRendererPointer;
  10.  
  11.    if( pRenderer->pRenderer )
  12.    {
  13.     if( pRenderer->pRenderer->DirectXDevice )
  14.     {
  15.      //got the d3d9 device
  16.     }
  17.    }
  18.   }
  19.  }
  20. }
Categories: Code Tags: , , ,
  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.