├── SpecialForce2
├── SpecialForce2.vcxproj.filters
├── SpecialForce2.hpp
├── SF2_SDK
│ ├── SDK_HEADERS
│ │ ├── WinDrv_functions.h
│ │ ├── WinDrv_structs.h
│ │ ├── XAudio2_functions.h
│ │ ├── XAudio2_structs.h
│ │ ├── WinDrv_f_structs.h
│ │ ├── XAudio2_f_structs.h
│ │ ├── SFGameContent_structs.h
│ │ ├── OnlineSubsystemPC_structs.h
│ │ ├── XAudio2_classes.h
│ │ ├── WinDrv_classes.h
│ │ ├── GFxUI_structs.h
│ │ ├── IpDrv_structs.h
│ │ ├── SFGameContent_f_structs.h
│ │ ├── OnlineSubsystemPC_classes.h
│ │ ├── GameFramework_structs.h
│ │ └── Core_structs.h
│ └── SDK.h
├── SpecialForce2.vcxproj
├── SpecialForce2.cpp
└── MenuDefines.hpp
├── SpecialForce2.sln
├── .gitattributes
├── README.md
└── .gitignore
/SpecialForce2/SpecialForce2.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/SpecialForce2/SpecialForce2.hpp:
--------------------------------------------------------------------------------
1 | #ifndef _SPECIALFORCE2_HPP
2 | #define _SPECIALFORCE2_HPP
3 |
4 | #define _CRT_NON_CONFORMING_SWPRINTFS
5 |
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include
15 | #include
16 | #include
17 | #include
18 | #include
19 | #include
20 | #include
21 | #include
22 | #include
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 |
29 | #pragma comment(lib, "Userenv.lib")
30 |
31 | bool Enemy = false;
32 |
33 | #include "SF2_SDK/SDK.h"
34 |
35 | #include "PostRender.hpp"
36 |
37 | #endif
--------------------------------------------------------------------------------
/SpecialForce2.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2013
4 | VisualStudioVersion = 12.0.21005.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SpecialForce2", "SpecialForce2\SpecialForce2.vcxproj", "{488121E5-4616-4560-91F9-27084FE429D9}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Win32 = Debug|Win32
11 | Release|Win32 = Release|Win32
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {488121E5-4616-4560-91F9-27084FE429D9}.Debug|Win32.ActiveCfg = Debug|Win32
15 | {488121E5-4616-4560-91F9-27084FE429D9}.Debug|Win32.Build.0 = Debug|Win32
16 | {488121E5-4616-4560-91F9-27084FE429D9}.Release|Win32.ActiveCfg = Release|Win32
17 | {488121E5-4616-4560-91F9-27084FE429D9}.Release|Win32.Build.0 = Release|Win32
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | EndGlobal
23 |
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/WinDrv_functions.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: WinDrv_functions.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Functions
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | #ifdef _MSC_VER
26 | #pragma pack ( pop )
27 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/WinDrv_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: WinDrv_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | #ifdef _MSC_VER
26 | #pragma pack ( pop )
27 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/XAudio2_functions.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: XAudio2_functions.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Functions
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | #ifdef _MSC_VER
26 | #pragma pack ( pop )
27 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/XAudio2_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: XAudio2_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | #ifdef _MSC_VER
26 | #pragma pack ( pop )
27 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/WinDrv_f_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: WinDrv_f_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Function Structs
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | #ifdef _MSC_VER
26 | #pragma pack ( pop )
27 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/XAudio2_f_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: XAudio2_f_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Function Structs
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | #ifdef _MSC_VER
26 | #pragma pack ( pop )
27 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/SFGameContent_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: SFGameContent_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | #ifdef _MSC_VER
26 | #pragma pack ( pop )
27 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/OnlineSubsystemPC_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: OnlineSubsystemPC_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 | // ScriptStruct OnlineSubsystemPC.Packet.Data
25 | // 0x0804
26 | struct FData
27 | {
28 | unsigned char data_size[ 0x2 ]; // 0x0000 (0x0002) [0x0000000000002000] ( CPF_Transient )
29 | unsigned char Command[ 0x2 ]; // 0x0002 (0x0002) [0x0000000000002000] ( CPF_Transient )
30 | unsigned char Buffer[ 0x800 ]; // 0x0004 (0x0800) [0x0000000000002000] ( CPF_Transient )
31 | };
32 |
33 |
34 | #ifdef _MSC_VER
35 | #pragma pack ( pop )
36 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/XAudio2_classes.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: XAudio2_classes.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Constants
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | /*
26 | # ========================================================================================= #
27 | # Enums
28 | # ========================================================================================= #
29 | */
30 |
31 |
32 | /*
33 | # ========================================================================================= #
34 | # Classes
35 | # ========================================================================================= #
36 | */
37 |
38 | // Class XAudio2.XAudio2Device
39 | // 0x009C (0x0340 - 0x02A4)
40 | class UXAudio2Device : public UAudioDevice
41 | {
42 | public:
43 | unsigned char UnknownData00[ 0x9C ]; // 0x02A4 (0x009C) MISSED OFFSET
44 |
45 | private:
46 | static UClass* pClassPointer;
47 |
48 | public:
49 | static UClass* StaticClass()
50 | {
51 | if ( ! pClassPointer )
52 | pClassPointer = (UClass*) UObject::GObjObjects()->Data[ 2897 ];
53 |
54 | return pClassPointer;
55 | };
56 |
57 | };
58 |
59 | UClass* UXAudio2Device::pClassPointer = NULL;
60 |
61 |
62 | #ifdef _MSC_VER
63 | #pragma pack ( pop )
64 | #endif
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # S.K.I.L.L. - Special Force 2 Hacks
2 | These hack have been coded by me (dano20zombie).
3 |
4 | Released after 2 years of (Private/VIP) use.
5 | I'am releasing it now because I gave my source code to some turks that now are using it on their website.
6 |
7 | Game Informations
8 | -----------------
9 | * Publisher: Gameforge
10 | * Game Engine: Unreal Engine 3
11 | * Anti-Cheat: XIGNCODE 3
12 | * Cheat Coder: dano20zombie (me)
13 |
14 | Unique Features
15 | ---------------
16 | * Anti Teamviewer (Does your clan control you? This feature will hide your hacks until TeamViewer remains open.)
17 |
18 | # Features
19 |
20 | Aimbot
21 | ------
22 | * Enable Aim
23 | * Aim Key [RMOUSE, LMOUSE, SHIFT, L ALT, ALWAYS]
24 | * Aim By [DISTANCE, FOV, HP]
25 | * FOV Angle [1...45]
26 | * HP Limit [0...99]
27 | * Aim Position [RAND, HEAD, CHEST, HAND]
28 | * Bone Refresh Time [0...100ms]
29 | * Auto Fire
30 | * Smooth Aim [0...5]
31 | * Silent Aim
32 | * Smart Accuracy
33 | * Hard Lock
34 |
35 | ESP 3D
36 | ------
37 | * Enable ESP [ENEMY, TEAM, BOTH]
38 | * Name ESP
39 | * Distance ESP
40 | * Health ESP
41 | * Bone ESP
42 | * Head Circle ESP
43 | * Bounding Box [OFF, 3D, 2D]
44 | * Laser ESP
45 | * Alien & Zombie ESP
46 | * Snap Lines
47 | * Grenade ESP
48 | * I'm Dead ESP
49 | * Show Player Stats
50 | * Enemy Visible [RED, ORANGE, YELLOW]
51 | * Enemy Invisible [RED, ORANGE, YELLOW]
52 | * Team Visible [BLUE, GREEN, YELLOW]
53 | * Team Invisible [BLUE, GREEN, YELLOW]
54 |
55 | ESP 2D
56 | ------
57 | * Enable Radar [OFF, ON]
58 | * Enemy Color [RED, ORANGE, YELLOW]
59 | * Team Color [BLUE, GREEN, YELLOW]
60 | * Border Color [BLACK, WHITE, RED, BLUE]
61 | * Quadrant Color [BLACK, GREY, WHITE, RED, BLUE]
62 | * Background Color [GREY, WHITE, RED, BLUE, GREEN]
63 | * Background Opacity [0...255]
64 | * Radar Scale [25...200]
65 | * Radar Size [50...400]
66 | * Move Radar
67 |
68 | Player
69 | ------
70 | * CrossHair [OFF, ON]
71 | * CrossHair Size [5...100]
72 | * Unl.Ammo Mode [OFF, ON]
73 | * Always Throw Weapon on Death
74 | * Full Weapon Auto
75 | * Range Hack
76 | * Burst Fire [OFF, ON]
77 | * No Recoil
78 | * No Spread
79 | * Triggerbot [OFF, ON]
80 | * Change Name [OFF, ON]
81 | * No Flash
82 | * No Smoke
83 | * No Respawn Cost
84 | * Auto Respawn [OFF, M, < X HP]
85 | * Respawn on HP [10...99]
86 | * No Bullets Gravity
87 | * Auto Switch (QQ)
88 |
89 | Special
90 | -------
91 | * Enable OPK [OFF, ON]
92 | * OPK Target [ENEMY, TEAM, BOTH]
93 | * OPK Key [EVER, L]
94 | * OPK Damage Type [C4, GRENADE, TURRET, NULL]
95 | * OPK Bone [HEAD, CHEST, RANDOM]
96 | * Shoot Through Walls
97 | * Bullets per Shot [1...10]
98 | * Add Hero Mode HP
99 | * Add Hero Mode AP
100 | * Add Hero Mode DP
101 | * Add Hero Mode EXP
102 | * Hero Points [1...100]
103 | * Hero Points Key [K, P]
104 | * OPK Hero Monsters Only
105 | * Virtual Jump Value [100...300]
106 | * Virtual Jump [OFF, ON]
107 |
108 | Settings
109 | --------
110 | * Show FPS
111 | * Show Watermark
112 | * MAC Spoof (*Deleted*)
113 | * Custom Name #1:
114 | * Custom Name #2:
115 | * Restore Default Settings:
116 | * Save Settings
117 | * Load Settings
118 |
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/WinDrv_classes.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: WinDrv_classes.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Constants
21 | # ========================================================================================= #
22 | */
23 |
24 |
25 | /*
26 | # ========================================================================================= #
27 | # Enums
28 | # ========================================================================================= #
29 | */
30 |
31 |
32 | /*
33 | # ========================================================================================= #
34 | # Classes
35 | # ========================================================================================= #
36 | */
37 |
38 | // Class WinDrv.WindowsClient
39 | // 0x018C (0x01DC - 0x0050)
40 | class UWindowsClient : public UClient
41 | {
42 | public:
43 | unsigned char UnknownData00[ 0x14C ]; // 0x0050 (0x014C) MISSED OFFSET
44 | class UClass* AudioDeviceClass; // 0x019C (0x0004) [0x0000000000004000] ( CPF_Config )
45 | unsigned char UnknownData01[ 0x2C ]; // 0x01A0 (0x002C) MISSED OFFSET
46 | int AllowJoystickInput; // 0x01CC (0x0004) [0x0000000000004000] ( CPF_Config )
47 | unsigned char UnknownData02[ 0xC ]; // 0x01D0 (0x000C) MISSED OFFSET
48 |
49 | private:
50 | static UClass* pClassPointer;
51 |
52 | public:
53 | static UClass* StaticClass()
54 | {
55 | if ( ! pClassPointer )
56 | pClassPointer = (UClass*) UObject::GObjObjects()->Data[ 2935 ];
57 |
58 | return pClassPointer;
59 | };
60 |
61 | };
62 |
63 | UClass* UWindowsClient::pClassPointer = NULL;
64 |
65 | // Class WinDrv.XnaForceFeedbackManager
66 | // 0x0000 (0x0050 - 0x0050)
67 | class UXnaForceFeedbackManager : public UForceFeedbackManager
68 | {
69 | public:
70 |
71 | private:
72 | static UClass* pClassPointer;
73 |
74 | public:
75 | static UClass* StaticClass()
76 | {
77 | if ( ! pClassPointer )
78 | pClassPointer = (UClass*) UObject::GObjObjects()->Data[ 2939 ];
79 |
80 | return pClassPointer;
81 | };
82 |
83 | };
84 |
85 | UClass* UXnaForceFeedbackManager::pClassPointer = NULL;
86 |
87 |
88 | #ifdef _MSC_VER
89 | #pragma pack ( pop )
90 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SpecialForce2.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {488121E5-4616-4560-91F9-27084FE429D9}
15 | Win32Proj
16 | SpecialForce2
17 | 10.0.17134.0
18 |
19 |
20 |
21 | DynamicLibrary
22 | true
23 | v141
24 | MultiByte
25 |
26 |
27 | DynamicLibrary
28 | false
29 | v141
30 | true
31 | MultiByte
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | true
45 | Hack by dano20zombie
46 |
47 |
48 | false
49 | Hack by dano20zombie
50 |
51 |
52 |
53 |
54 |
55 | Level3
56 | Disabled
57 | WIN32;_DEBUG;_WINDOWS;_USRDLL;TRIBESASCEND_EXPORTS;%(PreprocessorDefinitions)
58 | true
59 | /bigobj %(AdditionalOptions)
60 |
61 |
62 | Windows
63 | true
64 |
65 |
66 |
67 |
68 | Level3
69 |
70 |
71 | MaxSpeed
72 | true
73 | true
74 | WIN32;NDEBUG;_WINDOWS;_USRDLL;CONSOLEAPPLICATION1_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
75 | true
76 | MultiThreaded
77 | ProgramDatabase
78 | true
79 |
80 |
81 |
82 |
83 | Windows
84 | false
85 | true
86 | true
87 | detours.lib;%(AdditionalDependencies)
88 | false
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.userosscache
8 | *.sln.docstates
9 |
10 | # User-specific files (MonoDevelop/Xamarin Studio)
11 | *.userprefs
12 |
13 | # Build results
14 | [Dd]ebug/
15 | [Dd]ebugPublic/
16 | [Rr]elease/
17 | [Rr]eleases/
18 | x64/
19 | x86/
20 | bld/
21 | [Bb]in/
22 | [Oo]bj/
23 | [Ll]og/
24 |
25 | # Visual Studio 2015 cache/options directory
26 | .vs/
27 | # Uncomment if you have tasks that create the project's static files in wwwroot
28 | #wwwroot/
29 |
30 | # MSTest test Results
31 | [Tt]est[Rr]esult*/
32 | [Bb]uild[Ll]og.*
33 |
34 | # NUNIT
35 | *.VisualState.xml
36 | TestResult.xml
37 |
38 | # Build Results of an ATL Project
39 | [Dd]ebugPS/
40 | [Rr]eleasePS/
41 | dlldata.c
42 |
43 | # DNX
44 | project.lock.json
45 | project.fragment.lock.json
46 | artifacts/
47 |
48 | *_i.c
49 | *_p.c
50 | *_i.h
51 | *.ilk
52 | *.meta
53 | *.obj
54 | *.pch
55 | *.pdb
56 | *.pgc
57 | *.pgd
58 | *.rsp
59 | *.sbr
60 | *.tlb
61 | *.tli
62 | *.tlh
63 | *.tmp
64 | *.tmp_proj
65 | *.log
66 | *.vspscc
67 | *.vssscc
68 | .builds
69 | *.pidb
70 | *.svclog
71 | *.scc
72 |
73 | # Chutzpah Test files
74 | _Chutzpah*
75 |
76 | # Visual C++ cache files
77 | ipch/
78 | *.aps
79 | *.ncb
80 | *.opendb
81 | *.opensdf
82 | *.sdf
83 | *.cachefile
84 | *.VC.db
85 | *.VC.VC.opendb
86 |
87 | # Visual Studio profiler
88 | *.psess
89 | *.vsp
90 | *.vspx
91 | *.sap
92 |
93 | # TFS 2012 Local Workspace
94 | $tf/
95 |
96 | # Guidance Automation Toolkit
97 | *.gpState
98 |
99 | # ReSharper is a .NET coding add-in
100 | _ReSharper*/
101 | *.[Rr]e[Ss]harper
102 | *.DotSettings.user
103 |
104 | # JustCode is a .NET coding add-in
105 | .JustCode
106 |
107 | # TeamCity is a build add-in
108 | _TeamCity*
109 |
110 | # DotCover is a Code Coverage Tool
111 | *.dotCover
112 |
113 | # NCrunch
114 | _NCrunch_*
115 | .*crunch*.local.xml
116 | nCrunchTemp_*
117 |
118 | # MightyMoose
119 | *.mm.*
120 | AutoTest.Net/
121 |
122 | # Web workbench (sass)
123 | .sass-cache/
124 |
125 | # Installshield output folder
126 | [Ee]xpress/
127 |
128 | # DocProject is a documentation generator add-in
129 | DocProject/buildhelp/
130 | DocProject/Help/*.HxT
131 | DocProject/Help/*.HxC
132 | DocProject/Help/*.hhc
133 | DocProject/Help/*.hhk
134 | DocProject/Help/*.hhp
135 | DocProject/Help/Html2
136 | DocProject/Help/html
137 |
138 | # Click-Once directory
139 | publish/
140 |
141 | # Publish Web Output
142 | *.[Pp]ublish.xml
143 | *.azurePubxml
144 | # TODO: Comment the next line if you want to checkin your web deploy settings
145 | # but database connection strings (with potential passwords) will be unencrypted
146 | #*.pubxml
147 | *.publishproj
148 |
149 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
150 | # checkin your Azure Web App publish settings, but sensitive information contained
151 | # in these scripts will be unencrypted
152 | PublishScripts/
153 |
154 | # NuGet Packages
155 | *.nupkg
156 | # The packages folder can be ignored because of Package Restore
157 | **/packages/*
158 | # except build/, which is used as an MSBuild target.
159 | !**/packages/build/
160 | # Uncomment if necessary however generally it will be regenerated when needed
161 | #!**/packages/repositories.config
162 | # NuGet v3's project.json files produces more ignoreable files
163 | *.nuget.props
164 | *.nuget.targets
165 |
166 | # Microsoft Azure Build Output
167 | csx/
168 | *.build.csdef
169 |
170 | # Microsoft Azure Emulator
171 | ecf/
172 | rcf/
173 |
174 | # Windows Store app package directories and files
175 | AppPackages/
176 | BundleArtifacts/
177 | Package.StoreAssociation.xml
178 | _pkginfo.txt
179 |
180 | # Visual Studio cache files
181 | # files ending in .cache can be ignored
182 | *.[Cc]ache
183 | # but keep track of directories ending in .cache
184 | !*.[Cc]ache/
185 |
186 | # Others
187 | ClientBin/
188 | ~$*
189 | *~
190 | *.dbmdl
191 | *.dbproj.schemaview
192 | *.jfm
193 | *.pfx
194 | *.publishsettings
195 | node_modules/
196 | orleans.codegen.cs
197 |
198 | # Since there are multiple workflows, uncomment next line to ignore bower_components
199 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
200 | #bower_components/
201 |
202 | # RIA/Silverlight projects
203 | Generated_Code/
204 |
205 | # Backup & report files from converting an old project file
206 | # to a newer Visual Studio version. Backup files are not needed,
207 | # because we have git ;-)
208 | _UpgradeReport_Files/
209 | Backup*/
210 | UpgradeLog*.XML
211 | UpgradeLog*.htm
212 |
213 | # SQL Server files
214 | *.mdf
215 | *.ldf
216 |
217 | # Business Intelligence projects
218 | *.rdl.data
219 | *.bim.layout
220 | *.bim_*.settings
221 |
222 | # Microsoft Fakes
223 | FakesAssemblies/
224 |
225 | # GhostDoc plugin setting file
226 | *.GhostDoc.xml
227 |
228 | # Node.js Tools for Visual Studio
229 | .ntvs_analysis.dat
230 |
231 | # Visual Studio 6 build log
232 | *.plg
233 |
234 | # Visual Studio 6 workspace options file
235 | *.opt
236 |
237 | # Visual Studio LightSwitch build output
238 | **/*.HTMLClient/GeneratedArtifacts
239 | **/*.DesktopClient/GeneratedArtifacts
240 | **/*.DesktopClient/ModelManifest.xml
241 | **/*.Server/GeneratedArtifacts
242 | **/*.Server/ModelManifest.xml
243 | _Pvt_Extensions
244 |
245 | # Paket dependency manager
246 | .paket/paket.exe
247 | paket-files/
248 |
249 | # FAKE - F# Make
250 | .fake/
251 |
252 | # JetBrains Rider
253 | .idea/
254 | *.sln.iml
255 |
256 | # CodeRush
257 | .cr/
258 |
259 | # Python Tools for Visual Studio (PTVS)
260 | __pycache__/
261 | *.pyc
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: SDK.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | /*
15 | # ========================================================================================= #
16 | # Fix
17 | # ========================================================================================= #
18 | */
19 |
20 | #include
21 |
22 | /*
23 | # ========================================================================================= #
24 | # Defines
25 | # ========================================================================================= #
26 | */
27 |
28 | #define GObjects 0x01797ACC
29 | #define GNames 0x017856D0
30 | #define ProcessEvent_Index 69
31 |
32 | typedef void(__thiscall *tProcessEvent)(class UObject *, class UFunction *, void *, void *);
33 | tProcessEvent oProcessEvent = NULL;
34 |
35 | /*
36 | # ========================================================================================= #
37 | # Structs
38 | # ========================================================================================= #
39 | */
40 |
41 | template< class T > struct TArray
42 | {
43 | public:
44 | T* Data;
45 | int Count;
46 | int Max;
47 |
48 | public:
49 | TArray()
50 | {
51 | Data = NULL;
52 | Count = Max = 0;
53 | };
54 |
55 | public:
56 | int Num()
57 | {
58 | return this->Count;
59 | };
60 |
61 | T& operator() ( int i )
62 | {
63 | return this->Data[ i ];
64 | };
65 |
66 | const T& operator() ( int i ) const
67 | {
68 | return this->Data[ i ];
69 | };
70 |
71 | void Add ( T InputData )
72 | {
73 | Data = (T*) realloc ( Data, sizeof ( T ) * ( Count + 1 ) );
74 | Data[ Count++ ] = InputData;
75 | Max = Count;
76 | };
77 |
78 | void Clear()
79 | {
80 | free ( Data );
81 | Count = Max = 0;
82 | };
83 | };
84 |
85 | struct FNameEntry
86 | {
87 | unsigned char UnknownData00[ 0x10 ];
88 | char Name[ 0x10 ];
89 | };
90 |
91 | struct FName
92 | {
93 | int Index;
94 | unsigned char unknownData00[ 0x4 ];
95 |
96 | FName() : Index ( 0 ) {};
97 |
98 | FName ( int i ) : Index ( i ) {};
99 |
100 | ~FName() {};
101 |
102 | FName ( char* FindName )
103 | {
104 | static TArray< int > NameCache;
105 |
106 | for ( int i = 0; i < NameCache.Count; ++i )
107 | {
108 | if ( ! strcmp ( this->Names()->Data[ NameCache ( i ) ]->Name, FindName ) )
109 | {
110 | Index = NameCache ( i );
111 | return;
112 | }
113 | }
114 |
115 | for ( int i = 0; i < this->Names()->Count; ++i )
116 | {
117 | if ( this->Names()->Data[ i ] )
118 | {
119 | if ( ! strcmp ( this->Names()->Data[ i ]->Name, FindName ) )
120 | {
121 | NameCache.Add ( i );
122 | Index = i;
123 | }
124 | }
125 | }
126 | };
127 |
128 | static TArray< FNameEntry* >* Names()
129 | {
130 | return (TArray< FNameEntry* >*) GNames;
131 | };
132 |
133 | char* GetName()
134 | {
135 | return this->Names()->Data[ Index ]->Name;
136 | };
137 |
138 | bool operator == ( const FName& A ) const
139 | {
140 | return ( Index == A.Index );
141 | };
142 | };
143 |
144 | struct FString : public TArray< wchar_t >
145 | {
146 | FString() {};
147 |
148 | FString ( wchar_t* Other )
149 | {
150 | this->Max = this->Count = *Other ? ( wcslen ( Other ) + 1 ) : 0;
151 |
152 | if ( this->Count )
153 | this->Data = Other;
154 | };
155 |
156 | ~FString() {};
157 |
158 | FString operator = ( wchar_t* Other )
159 | {
160 | if ( this->Data != Other )
161 | {
162 | this->Max = this->Count = *Other ? ( wcslen ( Other ) + 1 ) : 0;
163 |
164 | if ( this->Count )
165 | this->Data = Other;
166 | }
167 |
168 | return *this;
169 | };
170 | };
171 |
172 | struct FScriptDelegate
173 | {
174 | unsigned char UnknownData00[ 0xC ];
175 | };
176 |
177 | /*
178 | # ========================================================================================= #
179 | # Includes
180 | # ========================================================================================= #
181 | */
182 |
183 | #include "SDK_HEADERS\Core_structs.h"
184 | #include "SDK_HEADERS\Core_classes.h"
185 | #include "SDK_HEADERS\Core_f_structs.h"
186 | #include "SDK_HEADERS\Core_functions.h"
187 | #include "SDK_HEADERS\Engine_structs.h"
188 | #include "SDK_HEADERS\Engine_classes.h"
189 | #include "SDK_HEADERS\Engine_f_structs.h"
190 | #include "SDK_HEADERS\Engine_functions.h"
191 | #include "SDK_HEADERS\GameFramework_structs.h"
192 | #include "SDK_HEADERS\GameFramework_classes.h"
193 | #include "SDK_HEADERS\GameFramework_f_structs.h"
194 | #include "SDK_HEADERS\GameFramework_functions.h"
195 | #include "SDK_HEADERS\IpDrv_structs.h"
196 | #include "SDK_HEADERS\IpDrv_classes.h"
197 | #include "SDK_HEADERS\IpDrv_f_structs.h"
198 | #include "SDK_HEADERS\IpDrv_functions.h"
199 | #include "SDK_HEADERS\XAudio2_structs.h"
200 | #include "SDK_HEADERS\XAudio2_classes.h"
201 | #include "SDK_HEADERS\XAudio2_f_structs.h"
202 | #include "SDK_HEADERS\XAudio2_functions.h"
203 | #include "SDK_HEADERS\GFxUI_structs.h"
204 | #include "SDK_HEADERS\GFxUI_classes.h"
205 | #include "SDK_HEADERS\GFxUI_f_structs.h"
206 | #include "SDK_HEADERS\GFxUI_functions.h"
207 | #include "SDK_HEADERS\WinDrv_structs.h"
208 | #include "SDK_HEADERS\WinDrv_classes.h"
209 | #include "SDK_HEADERS\WinDrv_f_structs.h"
210 | #include "SDK_HEADERS\WinDrv_functions.h"
211 | #include "SDK_HEADERS\OnlineSubsystemPC_structs.h"
212 | #include "SDK_HEADERS\OnlineSubsystemPC_classes.h"
213 | #include "SDK_HEADERS\OnlineSubsystemPC_f_structs.h"
214 | #include "SDK_HEADERS\OnlineSubsystemPC_functions.h"
215 | #include "SDK_HEADERS\SFGame_structs.h"
216 | #include "SDK_HEADERS\SFGame_classes.h"
217 | #include "SDK_HEADERS\SFGame_f_structs.h"
218 | #include "SDK_HEADERS\SFGame_functions.h"
219 | #include "SDK_HEADERS\SFGameContent_structs.h"
220 | #include "SDK_HEADERS\SFGameContent_classes.h"
221 | #include "SDK_HEADERS\SFGameContent_f_structs.h"
222 | #include "SDK_HEADERS\SFGameContent_functions.h"
223 |
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/GFxUI_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: GFxUI_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 | // ScriptStruct GFxUI.GFxMoviePlayer.SoundThemeBinding
25 | // 0x0018
26 | struct FSoundThemeBinding
27 | {
28 | struct FName ThemeName; // 0x0000 (0x0008) [0x0000000000000001] ( CPF_Edit )
29 | class UUISoundTheme* Theme; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
30 | struct FString ThemeClassName; // 0x000C (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
31 | };
32 |
33 | // ScriptStruct GFxUI.GFxMoviePlayer.ASValue
34 | // 0x001C
35 | struct FASValue
36 | {
37 | unsigned char Type; // 0x0000 (0x0001) [0x0000000000000001] ( CPF_Edit )
38 | unsigned long B : 1; // 0x0004 (0x0004) [0x0000000000000001] [0x00000001] ( CPF_Edit )
39 | float N; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
40 | int I; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
41 | struct FString S; // 0x0010 (0x000C) [0x0000000000500001] ( CPF_Edit | CPF_NeedCtorLink )
42 | };
43 |
44 | // ScriptStruct GFxUI.GFxMoviePlayer.GFxWidgetBinding
45 | // 0x0010
46 | struct FGFxWidgetBinding
47 | {
48 | struct FName WidgetName; // 0x0000 (0x0008) [0x0000000000000001] ( CPF_Edit )
49 | class UClass* WidgetClass; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
50 | int WidgetIndex; // 0x000C (0x0004) [0x0000000000000000]
51 | };
52 |
53 | // ScriptStruct GFxUI.GFxMoviePlayer.ExternalTexture
54 | // 0x0010
55 | struct FExternalTexture
56 | {
57 | struct FString Resource; // 0x0000 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
58 | class UTexture* Texture; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
59 | };
60 |
61 | // ScriptStruct GFxUI.GFxObject.ASDisplayInfo
62 | // 0x002C
63 | struct FASDisplayInfo
64 | {
65 | float X; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
66 | float Y; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
67 | float Z; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
68 | float Rotation; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
69 | float XRotation; // 0x0010 (0x0004) [0x0000000000000001] ( CPF_Edit )
70 | float YRotation; // 0x0014 (0x0004) [0x0000000000000001] ( CPF_Edit )
71 | float XScale; // 0x0018 (0x0004) [0x0000000000000001] ( CPF_Edit )
72 | float YScale; // 0x001C (0x0004) [0x0000000000000001] ( CPF_Edit )
73 | float ZScale; // 0x0020 (0x0004) [0x0000000000000001] ( CPF_Edit )
74 | float Alpha; // 0x0024 (0x0004) [0x0000000000000001] ( CPF_Edit )
75 | unsigned long Visible : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000001] ( CPF_Edit )
76 | unsigned long hasX : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000002] ( CPF_Edit )
77 | unsigned long hasY : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000004] ( CPF_Edit )
78 | unsigned long hasZ : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000008] ( CPF_Edit )
79 | unsigned long hasRotation : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000010] ( CPF_Edit )
80 | unsigned long hasXRotation : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000020] ( CPF_Edit )
81 | unsigned long hasYRotation : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000040] ( CPF_Edit )
82 | unsigned long hasXScale : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000080] ( CPF_Edit )
83 | unsigned long hasYScale : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000100] ( CPF_Edit )
84 | unsigned long hasZScale : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000200] ( CPF_Edit )
85 | unsigned long hasAlpha : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000400] ( CPF_Edit )
86 | unsigned long hasVisible : 1; // 0x0028 (0x0004) [0x0000000000000001] [0x00000800] ( CPF_Edit )
87 | };
88 |
89 | // ScriptStruct GFxUI.GFxObject.ASColorTransform
90 | // 0x0020
91 | struct FASColorTransform
92 | {
93 | struct FLinearColor Multiply; // 0x0000 (0x0010) [0x0000000000000001] ( CPF_Edit )
94 | struct FLinearColor Add; // 0x0010 (0x0010) [0x0000000000000001] ( CPF_Edit )
95 | };
96 |
97 | // ScriptStruct GFxUI.GFxClikWidget.EventData
98 | // 0x0028
99 | struct FEventData
100 | {
101 | class UGFxObject* _this; // 0x0000 (0x0004) [0x0000000000000000]
102 | class UGFxObject* Target; // 0x0004 (0x0004) [0x0000000000000000]
103 | struct FString Type; // 0x0008 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
104 | class UGFxObject* Data; // 0x0014 (0x0004) [0x0000000000000000]
105 | int mouseIndex; // 0x0018 (0x0004) [0x0000000000000000]
106 | int Button; // 0x001C (0x0004) [0x0000000000000000]
107 | int Index; // 0x0020 (0x0004) [0x0000000000000000]
108 | int lastIndex; // 0x0024 (0x0004) [0x0000000000000000]
109 | };
110 |
111 | // ScriptStruct GFxUI.GFxEngine.GCReference
112 | // 0x000C
113 | struct FGCReference
114 | {
115 | class UObject* m_object; // 0x0000 (0x0004) [0x0000000000000002] ( CPF_Const )
116 | int m_count; // 0x0004 (0x0004) [0x0000000000000000]
117 | int m_statid; // 0x0008 (0x0004) [0x0000000000000000]
118 | };
119 |
120 |
121 | #ifdef _MSC_VER
122 | #pragma pack ( pop )
123 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/IpDrv_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: IpDrv_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 | // ScriptStruct IpDrv.InternetLink.IpAddr
25 | // 0x0008
26 | struct FIpAddr
27 | {
28 | int Addr; // 0x0000 (0x0004) [0x0000000000000000]
29 | int Port; // 0x0004 (0x0004) [0x0000000000000000]
30 | };
31 |
32 | // ScriptStruct IpDrv.MeshBeacon.ConnectionBandwidthStats
33 | // 0x000C
34 | struct FConnectionBandwidthStats
35 | {
36 | int UpstreamRate; // 0x0000 (0x0004) [0x0000000000000000]
37 | int DownstreamRate; // 0x0004 (0x0004) [0x0000000000000000]
38 | int RoundtripLatency; // 0x0008 (0x0004) [0x0000000000000000]
39 | };
40 |
41 | // ScriptStruct IpDrv.MeshBeacon.PlayerMember
42 | // 0x0010
43 | struct FPlayerMember
44 | {
45 | int TeamNum; // 0x0000 (0x0004) [0x0000000000000000]
46 | int Skill; // 0x0004 (0x0004) [0x0000000000000000]
47 | struct FUniqueNetId NetId; // 0x0008 (0x0008) [0x0000000000000000]
48 | };
49 |
50 | // ScriptStruct IpDrv.MeshBeaconClient.ClientBandwidthTestData
51 | // 0x0014
52 | struct FClientBandwidthTestData
53 | {
54 | unsigned char TestType; // 0x0000 (0x0001) [0x0000000000000000]
55 | unsigned char CurrentState; // 0x0001 (0x0001) [0x0000000000000000]
56 | int NumBytesToSendTotal; // 0x0004 (0x0004) [0x0000000000000000]
57 | int NumBytesSentTotal; // 0x0008 (0x0004) [0x0000000000000000]
58 | int NumBytesSentLast; // 0x000C (0x0004) [0x0000000000000000]
59 | float ElapsedTestTime; // 0x0010 (0x0004) [0x0000000000000000]
60 | };
61 |
62 | // ScriptStruct IpDrv.MeshBeaconClient.ClientConnectionRequest
63 | // 0x0024
64 | struct FClientConnectionRequest
65 | {
66 | struct FUniqueNetId PlayerNetId; // 0x0000 (0x0008) [0x0000000000000000]
67 | unsigned char NatType; // 0x0008 (0x0001) [0x0000000000000000]
68 | unsigned long bCanHostVs : 1; // 0x000C (0x0004) [0x0000000000000000] [0x00000001]
69 | float GoodHostRatio; // 0x0010 (0x0004) [0x0000000000000000]
70 | TArray< struct FConnectionBandwidthStats > BandwidthHistory; // 0x0014 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
71 | int MinutesSinceLastTest; // 0x0020 (0x0004) [0x0000000000000000]
72 | };
73 |
74 | // ScriptStruct IpDrv.MeshBeaconHost.ClientConnectionBandwidthTestData
75 | // 0x0028
76 | struct FClientConnectionBandwidthTestData
77 | {
78 | unsigned char CurrentState; // 0x0000 (0x0001) [0x0000000000000000]
79 | unsigned char TestType; // 0x0001 (0x0001) [0x0000000000000000]
80 | int BytesTotalNeeded; // 0x0004 (0x0004) [0x0000000000000000]
81 | int BytesReceived; // 0x0008 (0x0004) [0x0000000000000000]
82 | struct FDouble RequestTestStartTime; // 0x000C (0x0008) [0x0000000000000000]
83 | struct FDouble TestStartTime; // 0x0014 (0x0008) [0x0000000000000000]
84 | struct FConnectionBandwidthStats BandwidthStats; // 0x001C (0x000C) [0x0000000000000000]
85 | };
86 |
87 | // ScriptStruct IpDrv.MeshBeaconHost.ClientMeshBeaconConnection
88 | // 0x0058
89 | struct FClientMeshBeaconConnection
90 | {
91 | struct FUniqueNetId PlayerNetId; // 0x0000 (0x0008) [0x0000000000000000]
92 | float ElapsedHeartbeatTime; // 0x0008 (0x0004) [0x0000000000000000]
93 | struct FPointer Socket; // 0x000C (0x0004) [0x0000000000003000] ( CPF_Native | CPF_Transient )
94 | unsigned long bConnectionAccepted : 1; // 0x0010 (0x0004) [0x0000000000000000] [0x00000001]
95 | struct FClientConnectionBandwidthTestData BandwidthTest; // 0x0014 (0x0028) [0x0000000000000000]
96 | unsigned char NatType; // 0x003C (0x0001) [0x0000000000000000]
97 | unsigned long bCanHostVs : 1; // 0x0040 (0x0004) [0x0000000000000000] [0x00000001]
98 | float GoodHostRatio; // 0x0044 (0x0004) [0x0000000000000000]
99 | TArray< struct FConnectionBandwidthStats > BandwidthHistory; // 0x0048 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
100 | int MinutesSinceLastTest; // 0x0054 (0x0004) [0x0000000000000000]
101 | };
102 |
103 | // ScriptStruct IpDrv.OnlineEventsInterfaceMcp.EventUploadConfig
104 | // 0x0018
105 | struct FEventUploadConfig
106 | {
107 | unsigned char UploadType; // 0x0000 (0x0001) [0x0000000000000002] ( CPF_Const )
108 | struct FString UploadUrl; // 0x0004 (0x000C) [0x0000000000400002] ( CPF_Const | CPF_NeedCtorLink )
109 | float TimeOut; // 0x0010 (0x0004) [0x0000000000000002] ( CPF_Const )
110 | unsigned long bUseCompression : 1; // 0x0014 (0x0004) [0x0000000000000002] [0x00000001] ( CPF_Const )
111 | };
112 |
113 | // ScriptStruct IpDrv.OnlineNewsInterfaceMcp.NewsCacheEntry
114 | // 0x0028
115 | struct FNewsCacheEntry
116 | {
117 | struct FString NewsUrl; // 0x0000 (0x000C) [0x0000000000400002] ( CPF_Const | CPF_NeedCtorLink )
118 | unsigned char ReadState; // 0x000C (0x0001) [0x0000000000000000]
119 | unsigned char NewsType; // 0x000D (0x0001) [0x0000000000000002] ( CPF_Const )
120 | struct FString NewsItem; // 0x0010 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
121 | float TimeOut; // 0x001C (0x0004) [0x0000000000000002] ( CPF_Const )
122 | unsigned long bIsUnicode : 1; // 0x0020 (0x0004) [0x0000000000000002] [0x00000001] ( CPF_Const )
123 | struct FPointer HttpDownloader; // 0x0024 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
124 | };
125 |
126 | // ScriptStruct IpDrv.PartyBeacon.PlayerReservation
127 | // 0x0024
128 | struct FPlayerReservation
129 | {
130 | struct FUniqueNetId NetId; // 0x0000 (0x0008) [0x0000000000000000]
131 | int Skill; // 0x0008 (0x0004) [0x0000000000000000]
132 | int XpLevel; // 0x000C (0x0004) [0x0000000000000000]
133 | struct FDouble Mu; // 0x0010 (0x0008) [0x0000000000000000]
134 | struct FDouble Sigma; // 0x0018 (0x0008) [0x0000000000000000]
135 | float ElapsedSessionTime; // 0x0020 (0x0004) [0x0000000000000000]
136 | };
137 |
138 | // ScriptStruct IpDrv.PartyBeacon.PartyReservation
139 | // 0x0018
140 | struct FPartyReservation
141 | {
142 | int TeamNum; // 0x0000 (0x0004) [0x0000000000000000]
143 | struct FUniqueNetId PartyLeader; // 0x0004 (0x0008) [0x0000000000000000]
144 | TArray< struct FPlayerReservation > PartyMembers; // 0x000C (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
145 | };
146 |
147 | // ScriptStruct IpDrv.PartyBeaconHost.ClientBeaconConnection
148 | // 0x0010
149 | struct FClientBeaconConnection
150 | {
151 | struct FUniqueNetId PartyLeader; // 0x0000 (0x0008) [0x0000000000000000]
152 | float ElapsedHeartbeatTime; // 0x0008 (0x0004) [0x0000000000000000]
153 | struct FPointer Socket; // 0x000C (0x0004) [0x0000000000003000] ( CPF_Native | CPF_Transient )
154 | };
155 |
156 |
157 | #ifdef _MSC_VER
158 | #pragma pack ( pop )
159 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SpecialForce2.cpp:
--------------------------------------------------------------------------------
1 | #include "SpecialForce2.hpp"
2 |
3 | UObject *pGlobalObject;
4 | void *pGlobalParms;
5 | void *pGlobalResult;
6 |
7 | char *szName;
8 |
9 | bool bSilentAimStarted = false;
10 |
11 | #define IS_FUNCTION(c, oo, o, n) (pFunction->Class->Name.Index == c && pFunction->Outer->Outer->Name.Index == oo && pFunction->Outer->Name.Index == o && pFunction->Name.Index == n)
12 |
13 | #define EXCEPTION_CONTINUABLE 0
14 |
15 | DWORD dwNullptrExceptionHandler = NULL;
16 |
17 | LONG WINAPI MyVectorExceptionFilter(PEXCEPTION_POINTERS pException)
18 | {
19 | if (pException->ExceptionRecord->ExceptionFlags == EXCEPTION_CONTINUABLE
20 | && pException->ExceptionRecord->ExceptionCode == EXCEPTION_ACCESS_VIOLATION)
21 | {
22 | MEMORY_BASIC_INFORMATION mbi = {};
23 | if (VirtualQuery(pException->ExceptionRecord->ExceptionAddress, &mbi, sizeof(mbi))
24 | && mbi.AllocationProtect == PAGE_EXECUTE_READWRITE)
25 | {
26 | pException->ContextRecord->Eip = dwNullptrExceptionHandler;
27 | return EXCEPTION_CONTINUE_EXECUTION;
28 | }
29 | }
30 |
31 | return EXCEPTION_CONTINUE_SEARCH;
32 | }
33 |
34 | void __fastcall hkProcessEvent(UObject *pObject, void *edx, UFunction *pFunction, void *pParms, void *pResult)
35 | {
36 | if (!dwNullptrExceptionHandler)
37 | {
38 | __asm push eax
39 | __asm mov eax, catchHere
40 | __asm mov dwNullptrExceptionHandler, eax
41 | __asm pop eax
42 |
43 | AddVectoredExceptionHandler(1, MyVectorExceptionFilter);
44 | }
45 |
46 | try
47 | {
48 | szName = pFunction->GetFullName();
49 |
50 | /*
51 | std::cout
52 | << std::hex
53 | << "c = " << pFunction->Class->Name.Index << std::endl
54 | << "oo = " << pFunction->Outer->Outer->Name.Index << std::endl
55 | << "o = " << pFunction->Outer->Name.Index << std::endl
56 | << "n = " << pFunction->Name.Index << std::endl
57 | << std::dec;
58 | */
59 |
60 | //Function SFGame.SFProj_HG_Gas.ExplodeTimeOut
61 | if (IS_FUNCTION(0x0067, 0x194f, 0x1a9a, 0xa946))
62 | {
63 | if (bNoSmoke) return;
64 | }
65 |
66 | #pragma region PostRender
67 | //Function Engine.GameViewportClient.PostRender
68 | if (IS_FUNCTION(0x0067, 0x0015, 0x0FBA, 0x1F1B))
69 | {
70 | if (pParms)
71 | PostRender((((UGameViewportClient_eventPostRender_Parms*)(pParms))->Canvas));
72 | }
73 | #pragma endregion
74 |
75 | #pragma region AutoSwitch
76 | //.StopFire
77 | if (pFunction->Name.Index == 0x626E)
78 | {
79 | if (pObject
80 | && IsMyPawn
81 | && bAutoSwitch
82 | && PlayerController
83 | && PlayerController->Pawn
84 | && PlayerController->Pawn->Weapon
85 | && PlayerController->Pawn->Health > 0)
86 | {
87 | AutoQuickScope((ASFWeapon*)PlayerController->Pawn->Weapon);
88 | }
89 | bSilentAimStarted = false;
90 | }
91 | #pragma endregion
92 |
93 | #pragma region PlayerTick
94 | //.PlayerTick
95 | if (pFunction->Name.Index == 0x1F0E)
96 | {
97 | PlayerController = reinterpret_cast(pObject);
98 | }
99 | #pragma endregion
100 |
101 | #pragma region PlayerDestroyed
102 | //Function Engine.PlayerController.Destroyed
103 | //Function Engine.Controller.Destroyed
104 | //Function SFGame.SFPlayerController.Destroyed
105 |
106 | if (IS_FUNCTION(0x0067, 0x0015, 0xFAE, 0x12C)
107 | || IS_FUNCTION(0x0067, 0x0015, 0xFAC, 0x12C)
108 | || IS_FUNCTION(0x0067, 0x194F, 0x1AFA, 0x12C))
109 | {
110 | if (pObject == PlayerController) {
111 | PlayerController = nullptr;
112 | }
113 | }
114 | #pragma endregion
115 |
116 | #pragma region SilentAim
117 | //Function SFGame.SFPlayerController.StartFire
118 | if (IS_FUNCTION(0x0067, 0x194F, 0x1AFA, 0x61C2))
119 | {
120 | if (pObject
121 | && Enemy
122 | && bBullet
123 | && IsMyPawn
124 | && PlayerController
125 | && PlayerController->Pawn
126 | && pObject == PlayerController
127 | && PlayerController->Pawn->Weapon
128 | && PlayerController->Pawn->IsAliveAndWell()
129 | && ((ASFPlayerController*)pObject)
130 | && ((ASFPlayerController*)pObject)->Pawn
131 | && ((ASFPlayerController*)pObject)->Pawn->Weapon
132 | && ((ASFPlayerController*)pObject)->Pawn->Weapon->IsA(ASFWeap_Bullet::StaticClass()))
133 | {
134 | ASFWeap_Bullet* Weap = (ASFWeap_Bullet*)((ASFPlayerController*)pObject)->Pawn->Weapon;
135 | if (Weap->IsSprintPossible()) AfterShot = true;
136 | }
137 |
138 | if (pObject
139 | && Enemy
140 | && bBullet
141 | && IsMyPawn
142 | && bSilentAim
143 | && PlayerController
144 | && PlayerController->Pawn
145 | && pObject == PlayerController
146 | && PlayerController->Pawn->Weapon
147 | && PlayerController->Pawn->Health > 0
148 | && PlayerController->Pawn->IsAliveAndWell()
149 | && ((ASFPlayerController*)pObject)
150 | && ((ASFPlayerController*)pObject)->Pawn
151 | && ((ASFPlayerController*)pObject)->Pawn->Weapon
152 | && ((ASFPlayerController*)pObject)->Pawn->Weapon->IsA(ASFWeap_Bullet::StaticClass()))
153 | {
154 | ASFWeap_Bullet* Weap = (ASFWeap_Bullet*)((ASFPlayerController*)pObject)->Pawn->Weapon;
155 | if (Weap) Weap->SGPelletCount = 1;
156 |
157 | bSilentAimStarted = true;
158 | }
159 | }
160 | //Function SFGame.SFPawn.GetBaseAimRotation
161 | else if (IS_FUNCTION(0x0067, 0x194F, 0x1CD2, 0x1E11))
162 | {
163 | if (pParms
164 | && Enemy
165 | && pObject
166 | && IsMyPawn
167 | && bSilentAim
168 | && PlayerController
169 | && PlayerController->Pawn
170 | && ((ASFPawn*)pObject)->Weapon
171 | && PlayerController->Pawn->Weapon
172 | && pObject == PlayerController->Pawn
173 | && PlayerController->Pawn->Health > 0
174 | && PlayerController->Pawn->IsAliveAndWell()
175 | && ((ASFPawn*)pObject)->Weapon->IsA(ASFWeap_Bullet::StaticClass())
176 | && PlayerController->Pawn->Weapon->IsA(ASFWeap_Bullet::StaticClass()))
177 | {
178 | ASFWeap_Bullet* Weap = (ASFWeap_Bullet*)PlayerController->Pawn->Weapon;
179 | if (Weap) Weap->SGPelletCount = 1;
180 |
181 | ((ASFPawn_eventGetBaseAimRotation_Parms*)pParms)->ReturnValue.Pitch = SilentAimRot.Pitch;
182 | ((ASFPawn_eventGetBaseAimRotation_Parms*)pParms)->ReturnValue.Yaw = SilentAimRot.Yaw;
183 |
184 | if (bAutoFire
185 | && ((ASFWeap_Bullet*)PlayerController->Pawn->Weapon)->AmmoCountInMgz > 0)
186 | {
187 | AutoFire();
188 | }
189 |
190 | return;
191 | }
192 | }
193 | else if (bSilentAimStarted)
194 | {
195 | if (Enemy
196 | && bBullet
197 | && IsMyPawn
198 | && bSilentAim
199 | && PlayerController
200 | && PlayerController->Pawn
201 | && PlayerController->Pawn->Weapon
202 | && PlayerController->Pawn->Health > 0
203 | && PlayerController->Pawn->IsAliveAndWell()
204 | && PlayerController->Pawn->Weapon->IsA(ASFWeap_Bullet::StaticClass()))
205 | {
206 | ASFWeap_Bullet* Weap = (ASFWeap_Bullet*)PlayerController->Pawn->Weapon;
207 | if (Weap) Weap->SGPelletCount = 1;
208 | }
209 | }
210 | #pragma endregion
211 | }
212 | catch (...)
213 | {
214 | }
215 |
216 | catchHere:
217 | oProcessEvent(pObject, pFunction, pParms, pResult);
218 | }
219 |
220 | bool isUpper()
221 | {
222 | if ((bCapsButton && bShiftButton)
223 | || (!bCapsButton && !bShiftButton))
224 | return false;
225 |
226 | else if ((bCapsButton && !bShiftButton)
227 | || (!bCapsButton && bShiftButton))
228 | return true;
229 | }
230 |
231 | LPVOID VMTHook(TArray< UObject* >* GObjObjects, char* ObjectName, int index)
232 | {
233 | DWORD * vtable = NULL;
234 | for (DWORD i = 0x0; i < GObjObjects->Num(); i++)
235 | {
236 | if (!GObjObjects->Data[i]) { continue; }
237 | if (!strcmp(GObjObjects->Data[i]->GetFullName(), ObjectName))
238 | vtable = (DWORD*)*(DWORD*)GObjObjects->Data[i];
239 | }
240 |
241 | if (!vtable) return NULL;
242 |
243 | uintptr_t dwVTable = *((uintptr_t*)vtable);
244 | uintptr_t * dwEntry = ((uintptr_t*)vtable + index);
245 | uintptr_t dwOrig = *((uintptr_t*)dwEntry);
246 |
247 | DWORD dwOldProtection;
248 | VirtualProtect((LPVOID)dwEntry, sizeof(dwEntry), PAGE_EXECUTE_READWRITE, &dwOldProtection);
249 | *((uintptr_t*)dwEntry) = (uintptr_t)hkProcessEvent;
250 | VirtualProtect((LPVOID)dwEntry, sizeof(dwEntry), dwOldProtection, &dwOldProtection);
251 |
252 | return (LPVOID)dwOrig;
253 | }
254 |
255 | void OnAttach()
256 | {
257 | srand(time(0));
258 |
259 | Sleep(500);
260 | HANDLE hToken;
261 | OpenProcessToken(GetCurrentProcess(), TOKEN_READ, &hToken);
262 | GetUserProfileDirectoryW(hToken, userData, &userDataSize);
263 | Sleep(500);
264 |
265 | CloseHandle(hToken);
266 |
267 | ClearSettings();
268 |
269 | TArray< UObject* >* GObjObjects = (TArray< UObject* >*) GObjects;
270 |
271 | while (GObjObjects->Count < 138000)
272 | {
273 | Sleep(100);
274 | }
275 |
276 | oProcessEvent = (tProcessEvent)VMTHook(GObjObjects, "SFGameViewportClient Transient.SFGameEngine.SFGameViewportClient", ProcessEvent_Index);
277 | VMTHook(GObjObjects, "SFPlayerController SFGame.Default__SFPlayerController", ProcessEvent_Index);
278 | VMTHook(GObjObjects, "Controller Engine.Default__Controller", ProcessEvent_Index);
279 | VMTHook(GObjObjects, "PlayerController Engine.Default__PlayerController", ProcessEvent_Index);
280 | VMTHook(GObjObjects, "SFPawn SFGame.Default__SFPawn", ProcessEvent_Index);
281 | VMTHook(GObjObjects, "Pawn Engine.Default__Pawn", ProcessEvent_Index);
282 | VMTHook(GObjObjects, "SFPawn_Player SFGame.Default__SFPawn_Player", ProcessEvent_Index);
283 | VMTHook(GObjObjects, "SFWeapon SFGame.Default__SFWeapon", ProcessEvent_Index);
284 | VMTHook(GObjObjects, "SFWeap_InstantHit SFGame.Default__SFWeap_InstantHit", ProcessEvent_Index);
285 | VMTHook(GObjObjects, "SFWeap_Bullet SFGame.Default__SFWeap_Bullet", ProcessEvent_Index);
286 |
287 | int k = 0;
288 | int keycurrent = 0;
289 |
290 | while(true)
291 | {
292 | if (hwnd == GetForegroundWindow())
293 | {
294 | #pragma region KeyDetection
295 | if (bMoving && GetAsyncKeyState(VK_LBUTTON))
296 | {
297 | NewMove = true;
298 | bMoving = false;
299 | iMoveRadar = 0;
300 | }
301 |
302 | if (GetAsyncKeyState(0x4C)) bOPKKey = true;
303 | else bOPKKey = false;
304 | if (GetAsyncKeyState(0x4D)) bRespawnKey = true;
305 | else bRespawnKey = false;
306 | if (GetAsyncKeyState(0x4B)) bHeroKey1 = true;
307 | else bHeroKey1 = false;
308 | if (GetAsyncKeyState(0x50)) bHeroKey2 = true;
309 | else bHeroKey2 = false;
310 |
311 |
312 | if (GetAsyncKeyState(VK_RBUTTON)) bRButton = true;
313 | else bRButton = false;
314 | if (GetAsyncKeyState(VK_LBUTTON)) bLButton = true;
315 | else bLButton = false;
316 | if (GetAsyncKeyState(VK_SHIFT)) bShiftButton = true;
317 | else bShiftButton = false;
318 | if ((GetKeyState(VK_CAPITAL) & 0x0001) != 0) bCapsButton = true;
319 | else bCapsButton = false;
320 | if (GetAsyncKeyState(VK_LMENU)) bAltButton = true;
321 | else bAltButton = false;
322 | #pragma endregion
323 |
324 | #pragma region Custom Names
325 | if (Name1isActive || Name2isActive && (iName1 < 21 || iName2 < 21))
326 | {
327 | for (int b = 48; b <= 90; b++)
328 | {
329 | int i = b;
330 |
331 | if (b == 58)
332 | i = ' ';
333 | else if (b == 59)
334 | i = VK_BACK;
335 |
336 | if (isalnum((char)i) || ((char)i) == ' ' || i == VK_BACK)
337 | {
338 | if ((GetAsyncKeyState(i) & 0x8000) && (k == 0))
339 | {
340 | k = 1;
341 | keycurrent = i;
342 | char newLetter;
343 |
344 | if (isUpper() == true)
345 | newLetter = toupper((char)i);
346 | else
347 | newLetter = tolower((char)i);
348 |
349 | if (i == VK_BACK)
350 | {
351 | if (Name1isActive && iName1 < 22 && iName1 > 0)
352 | {
353 | cName1[iName1 - 1] = '\0';
354 | iName1--;
355 | }
356 | else if (Name2isActive && iName2 < 22 && iName2 > 0)
357 | {
358 | cName2[iName2 - 1] = '\0';
359 | iName2--;
360 | }
361 | }
362 | else
363 | {
364 | if (Name1isActive && iName1 < 21)
365 | {
366 | cName1[iName1] = newLetter;
367 | iName1++;
368 | }
369 | else if (Name2isActive && iName2 < 21)
370 | {
371 | cName2[iName2] = newLetter;
372 | iName2++;
373 | }
374 | }
375 | }
376 | else if (GetAsyncKeyState(i) == 0)
377 | {
378 | if (i == keycurrent)
379 | {
380 | k = 0;
381 | }
382 | }
383 | }
384 | }
385 | }
386 | #pragma endregion
387 | }
388 |
389 | Sleep(50);
390 | }
391 |
392 | }
393 |
394 | BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpvReserved)
395 | {
396 | switch (dwReason)
397 | {
398 | case DLL_PROCESS_ATTACH:
399 | DisableThreadLibraryCalls(hInstance);
400 | CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)OnAttach, NULL, NULL, NULL);
401 | }
402 |
403 | return TRUE;
404 | }
--------------------------------------------------------------------------------
/SpecialForce2/MenuDefines.hpp:
--------------------------------------------------------------------------------
1 | #define URotationToRadians( URotation ) ( ( URotation ) * ( CONST_Pi / 32768.0f ) )
2 | #define URotationToDegree( URotation ) ( ( URotation ) * ( 360.0f / 65536.0f ) )
3 |
4 | #define DegreeToURotation( Degree ) ( ( Degree ) * ( 65536.0f / 360.0f ) )
5 | #define DegreeToRadian( Degree ) ( ( Degree ) * ( CONST_Pi / 180.0f ) )
6 |
7 | #define RadianToURotation( URotation ) ( ( URotation ) * ( 32768.0f / CONST_Pi ) )
8 | #define RadianToDegree( Radian ) ( ( Radian ) * ( 180.0f / CONST_Pi ) )
9 |
10 | // MENU
11 | bool bHWNDtaken = false;
12 | HWND hwnd;
13 |
14 | std::string PLog = "";
15 | wchar_t *MenuDefin = L"";
16 | wchar_t *Credits = L"";
17 | int MenuX;
18 |
19 | wchar_t* wMenuIndex[] = { L"AIMBOT", L"ESP3D", L"ESP2D", L"PLAYER", L"SPECIAL", L"SETTINGS" };
20 | int iMenuIndex = 0;
21 |
22 | //MENU CAPTIONS
23 | int Flag = 0;
24 | int FlagMenu = 0;
25 | int FlagSlideBox = 0;
26 | int CurrentClickedIdx = 0;
27 |
28 | //FPS
29 | INT Fps = 0;
30 | FLOAT LastTickCount = 0.0f;
31 | FLOAT CurrentTickCount;
32 | wchar_t FrameRate[50];
33 |
34 | INT Spam = 0;
35 | FLOAT LastTickSpam = 0.0f;
36 | FLOAT CurrentTickSpam;
37 |
38 | INT Bone = 0;
39 | FLOAT LastTickBone = 0.0f;
40 | FLOAT CurrentTickBone;
41 |
42 |
43 | INT RandBone = 0;
44 | FLOAT LastTickRandBone = 0.0f;
45 | FLOAT CurrentTickRandBone;
46 |
47 | //AIMBOT
48 | bool bEnableAim = false;
49 | wchar_t* wAimKey[] = { L"RMOUSE", L"LMOUSE", L"SHIFT", L"L.ALT", L"ALWAYS" };
50 | int iAimKey = 0;
51 | wchar_t* wAimBy[] = { L"DISTANCE", L"FOV", L"HP" };
52 | int iAimBy = 0;
53 | wchar_t* wFovAngle[] = { L"1", L"2", L"3", L"5", L"10", L"25", L"30", L"45" };
54 | int iFovAngle = 0;
55 | wchar_t* wHPLimit[] = { L"0", L"25", L"50", L"75", L"99" };
56 | int iHPLimit = 0;
57 | wchar_t* wAimPosition[] = { L"RAND", L"HEAD", L"CHEST", L"HAND" };
58 | int iAimPosition = 0;
59 | wchar_t* wBoneRefreshTime[] = { L"0", L"20ms", L"40ms", L"60ms", L"80ms", L"100ms" };
60 | int iBoneRefreshTime = 0;
61 | bool bBoneRefreshed = false;
62 | bool bAutoFire = false;
63 | wchar_t* wSmoothAim[] = { L"0", L"1", L"2", L"3", L"4", L"5" };
64 | int iSmoothAim = 0;
65 | bool bSilentAim = false;
66 | bool bSmartAccuracy = false;
67 | bool bHardLock = false;
68 |
69 | //ESP 3D
70 | wchar_t* wEnableEsp[] = { L"ENEMY", L"TEAM", L"BOTH" };
71 | int iEnableEsp = 2;
72 | bool bNameEsp = false;
73 | bool bDistanceEsp = false;
74 | bool bHealthEsp = false;
75 | bool bBoneEsp = false;
76 | bool bHeadCircle = false;
77 | wchar_t* wBoundingBox[] = { L"OFF", L"3D", L"2D" };
78 | int iBoundingBox = 0;
79 | bool bLaserEsp = false;
80 | bool AlienZombie = false;
81 | bool bSnapLines = false;
82 | bool bGrenadeEsp = false;
83 | bool bDeadVisible = false;
84 | bool bShowStats = false;
85 | wchar_t* wEnemyVis[] = { L"RED", L"ORANGE", L"YELLOW" };
86 | int iEnemyVis = 1;
87 | wchar_t* wEnemyInv[] = { L"RED", L"ORANGE", L"YELLOW" };
88 | int iEnemyInv = 0;
89 | wchar_t* wTeamVis[] = { L"BLUE", L"GREEN", L"YELLOW" };
90 | int iTeamVis = 1;
91 | wchar_t* wTeamInv[] = { L"BLUE", L"GREEN", L"YELLOW" };
92 | int iTeamInv = 1;
93 |
94 | //ESP 2D
95 | wchar_t* wEnemyRadar[] = { L"OFF", L"ON" };
96 | int iEnemyRadar = 0;
97 | wchar_t* wEnemyColor[] = { L"RED", L"ORANGE", L"YELLOW" };
98 | int iEnemyColor = 0;
99 | wchar_t* wTeamColor[] = { L"BLUE", L"GREEN", L"YELLOW" };
100 | int iTeamColor = 1;
101 | wchar_t* wBorderColor[] = { L"BLACK", L"WHITE", L"RED", L"BLUE" };
102 | int iBorderColor = 0;
103 | wchar_t* wQuadrantColor[] = { L"BLACK", L"GREY", L"WHITE", L"RED", L"BLUE" };
104 | int iQuadrantColor = 0;
105 | wchar_t* wBackgroundColor[] = { L"GREY", L"WHITE", L"RED", L"BLUE", L"GREEN" };
106 | int iBackgroundColor = 0;
107 | wchar_t* wBackgroundOpacity[] = { L"0", L"1", L"2", L"3", L"4", L"5", L"6", L"7", L"8", L"9", L"10", L"11", L"12", L"13", L"14", L"15", L"16", L"17", L"18", L"19", L"20", L"21", L"22", L"23", L"24", L"25", L"26", L"27", L"28", L"29", L"30", L"31", L"32", L"33", L"34", L"35", L"36", L"37", L"38", L"39", L"40", L"41", L"42", L"43", L"44", L"45", L"46", L"47", L"48", L"49", L"50", L"51", L"52", L"53", L"54", L"55", L"56", L"57", L"58", L"59", L"60", L"61", L"62", L"63", L"64", L"65", L"66", L"67", L"68", L"69", L"70", L"71", L"72", L"73", L"74", L"75", L"76", L"77", L"78", L"79", L"80", L"81", L"82", L"83", L"84", L"85", L"86", L"87", L"88", L"89", L"90", L"91", L"92", L"93", L"94", L"95", L"96", L"97", L"98", L"99", L"100", L"101", L"102", L"103", L"104", L"105", L"106", L"107", L"108", L"109", L"110", L"111", L"112", L"113", L"114", L"115", L"116", L"117", L"118", L"119", L"120", L"121", L"122", L"123", L"124", L"125", L"126", L"127", L"128", L"129", L"130", L"131", L"132", L"133", L"134", L"135", L"136", L"137", L"138", L"139", L"140", L"141", L"142", L"143", L"144", L"145", L"146", L"147", L"148", L"149", L"150", L"151", L"152", L"153", L"154", L"155", L"156", L"157", L"158", L"159", L"160", L"161", L"162", L"163", L"164", L"165", L"166", L"167", L"168", L"169", L"170", L"171", L"172", L"173", L"174", L"175", L"176", L"177", L"178", L"179", L"180", L"181", L"182", L"183", L"184", L"185", L"186", L"187", L"188", L"189", L"190", L"191", L"192", L"193", L"194", L"195", L"196", L"197", L"198", L"199", L"200", L"201", L"202", L"203", L"204", L"205", L"206", L"207", L"208", L"209", L"210", L"211", L"212", L"213", L"214", L"215", L"216", L"217", L"218", L"219", L"220", L"221", L"222", L"223", L"224", L"225", L"226", L"227", L"228", L"229", L"230", L"231", L"232", L"233", L"234", L"235", L"236", L"237", L"238", L"239", L"240", L"241", L"242", L"243", L"244", L"245", L"246", L"247", L"248", L"249", L"250", L"251", L"252", L"253", L"254", L"255" };
108 | int iBackgroundOpacity = 255;
109 | //RADARSCALE QUESTO PLAYER RADIUS
110 | wchar_t* wPlayerRadius[] = { L"25", L"26", L"27", L"28", L"29", L"30", L"31", L"32", L"33", L"34", L"35", L"36", L"37", L"38", L"39", L"40", L"41", L"42", L"43", L"44", L"45", L"46", L"47", L"48", L"49", L"50", L"51", L"52", L"53", L"54", L"55", L"56", L"57", L"58", L"59", L"60", L"61", L"62", L"63", L"64", L"65", L"66", L"67", L"68", L"69", L"70", L"71", L"72", L"73", L"74", L"75", L"76", L"77", L"78", L"79", L"80", L"81", L"82", L"83", L"84", L"85", L"86", L"87", L"88", L"89", L"90", L"91", L"92", L"93", L"94", L"95", L"96", L"97", L"98", L"99", L"100", L"101", L"102", L"103", L"104", L"105", L"106", L"107", L"108", L"109", L"110", L"111", L"112", L"113", L"114", L"115", L"116", L"117", L"118", L"119", L"120", L"121", L"122", L"123", L"124", L"125", L"126", L"127", L"128", L"129", L"130", L"131", L"132", L"133", L"134", L"135", L"136", L"137", L"138", L"139", L"140", L"141", L"142", L"143", L"144", L"145", L"146", L"147", L"148", L"149", L"150", L"151", L"152", L"153", L"154", L"155", L"156", L"157", L"158", L"159", L"160", L"161", L"162", L"163", L"164", L"165", L"166", L"167", L"168", L"169", L"170", L"171", L"172", L"173", L"174", L"175", L"176", L"177", L"178", L"179", L"180", L"181", L"182", L"183", L"184", L"185", L"186", L"187", L"188", L"189", L"190", L"191", L"192", L"193", L"194", L"195", L"196", L"197", L"198", L"199", L"200" };
111 | int iPlayerRadius = 0;
112 | wchar_t* wRadarSize[] = { L"50", L"51", L"52", L"53", L"54", L"55", L"56", L"57", L"58", L"59", L"60", L"61", L"62", L"63", L"64", L"65", L"66", L"67", L"68", L"69", L"70", L"71", L"72", L"73", L"74", L"75", L"76", L"77", L"78", L"79", L"80", L"81", L"82", L"83", L"84", L"85", L"86", L"87", L"88", L"89", L"90", L"91", L"92", L"93", L"94", L"95", L"96", L"97", L"98", L"99", L"100", L"101", L"102", L"103", L"104", L"105", L"106", L"107", L"108", L"109", L"110", L"111", L"112", L"113", L"114", L"115", L"116", L"117", L"118", L"119", L"120", L"121", L"122", L"123", L"124", L"125", L"126", L"127", L"128", L"129", L"130", L"131", L"132", L"133", L"134", L"135", L"136", L"137", L"138", L"139", L"140", L"141", L"142", L"143", L"144", L"145", L"146", L"147", L"148", L"149", L"150", L"151", L"152", L"153", L"154", L"155", L"156", L"157", L"158", L"159", L"160", L"161", L"162", L"163", L"164", L"165", L"166", L"167", L"168", L"169", L"170", L"171", L"172", L"173", L"174", L"175", L"176", L"177", L"178", L"179", L"180", L"181", L"182", L"183", L"184", L"185", L"186", L"187", L"188", L"189", L"190", L"191", L"192", L"193", L"194", L"195", L"196", L"197", L"198", L"199", L"200", L"201", L"202", L"203", L"204", L"205", L"206", L"207", L"208", L"209", L"210", L"211", L"212", L"213", L"214", L"215", L"216", L"217", L"218", L"219", L"220", L"221", L"222", L"223", L"224", L"225", L"226", L"227", L"228", L"229", L"230", L"231", L"232", L"233", L"234", L"235", L"236", L"237", L"238", L"239", L"240", L"241", L"242", L"243", L"244", L"245", L"246", L"247", L"248", L"249", L"250", L"251", L"252", L"253", L"254", L"255", L"256", L"257", L"258", L"259", L"260", L"261", L"262", L"263", L"264", L"265", L"266", L"267", L"268", L"269", L"270", L"271", L"272", L"273", L"274", L"275", L"276", L"277", L"278", L"279", L"280", L"281", L"282", L"283", L"284", L"285", L"286", L"287", L"288", L"289", L"290", L"291", L"292", L"293", L"294", L"295", L"296", L"297", L"298", L"299", L"300", L"301", L"302", L"303", L"304", L"305", L"306", L"307", L"308", L"309", L"310", L"311", L"312", L"313", L"314", L"315", L"316", L"317", L"318", L"319", L"320", L"321", L"322", L"323", L"324", L"325", L"326", L"327", L"328", L"329", L"330", L"331", L"332", L"333", L"334", L"335", L"336", L"337", L"338", L"339", L"340", L"341", L"342", L"343", L"344", L"345", L"346", L"347", L"348", L"349", L"350", L"351", L"352", L"353", L"354", L"355", L"356", L"357", L"358", L"359", L"360", L"361", L"362", L"363", L"364", L"365", L"366", L"367", L"368", L"369", L"370", L"371", L"372", L"373", L"374", L"375", L"376", L"377", L"378", L"379", L"380", L"381", L"382", L"383", L"384", L"385", L"386", L"387", L"388", L"389", L"390", L"391", L"392", L"393", L"394", L"395", L"396", L"397", L"398", L"399", L"400" };
113 | int iRadarSize = 100;
114 | wchar_t* wMoveRadar[] = { L"OFF", L"ON" };
115 | int iMoveRadar = 0;
116 | bool NewMove = true;
117 | bool bMoving = false;
118 | FVector2D RadarLocation = { 15,10 };
119 |
120 | //PLAYER
121 | wchar_t* wCrosshair[] = { L"OFF", L"ON" };
122 | int iCrosshair = 0;
123 | wchar_t* wCrosshairSize[] = { L"5", L"6", L"7", L"8", L"9", L"10", L"11", L"12", L"13", L"14", L"15", L"16", L"17", L"18", L"19", L"20", L"21", L"22", L"23", L"24", L"25", L"26", L"27", L"28", L"29", L"30", L"31", L"32", L"33", L"34", L"35", L"36", L"37", L"38", L"39", L"40", L"41", L"42", L"43", L"44", L"45", L"46", L"47", L"48", L"49", L"50", L"51", L"52", L"53", L"54", L"55", L"56", L"57", L"58", L"59", L"60", L"61", L"62", L"63", L"64", L"65", L"66", L"67", L"68", L"69", L"70", L"71", L"72", L"73", L"74", L"75", L"76", L"77", L"78", L"79", L"80", L"81", L"82", L"83", L"84", L"85", L"86", L"87", L"88", L"89", L"90", L"91", L"92", L"93", L"94", L"95", L"96", L"97", L"98", L"99", L"100" };
124 | int iCrosshairSize = 0;
125 | wchar_t* wUnlAmmo[] = { L"OFF", L"ON" };
126 | int iUnlAmmo = 0;
127 | bool bUnlGrenade = false;
128 | bool bDropWeapon;
129 | bool bFullAutoWeapon;
130 | bool bRangeHack;
131 | wchar_t* wBurstFire[] = { L"OFF", L"ON" };
132 | int iBurstFire = 0;
133 | bool bNoRecoil;
134 | bool bNoSpread;
135 | wchar_t* wTriggerbot[] = { L"OFF", L"ON" };
136 | int iTriggerbot = 0;
137 | wchar_t* wNameStealer[] = { L"OFF", L"CUSTOM 1", L"CUSTOM 2", L"BLANK" };
138 | int iNameStealer = 0;
139 | bool bNoFlash;
140 | bool bNoSmoke;
141 | bool bNoRespawnCost = false;
142 | wchar_t* wAutoRespawn[] = { L"OFF", L"M", L"< X HP" };
143 | int iAutoRespawn = 0;
144 | wchar_t* wHpRespawn[] = { L"10", L"11", L"12", L"13", L"14", L"15", L"16", L"17", L"18", L"19", L"20", L"21", L"22", L"23", L"24", L"25", L"26", L"27", L"28", L"29", L"30", L"31", L"32", L"33", L"34", L"35", L"36", L"37", L"38", L"39", L"40", L"41", L"42", L"43", L"44", L"45", L"46", L"47", L"48", L"49", L"50", L"51", L"52", L"53", L"54", L"55", L"56", L"57", L"58", L"59", L"60", L"61", L"62", L"63", L"64", L"65", L"66", L"67", L"68", L"69", L"70", L"71", L"72", L"73", L"74", L"75", L"76", L"77", L"78", L"79", L"80", L"81", L"82", L"83", L"84", L"85", L"86", L"87", L"88", L"89", L"90", L"91", L"92", L"93", L"94", L"95", L"96", L"97", L"98", L"99" };
145 | int iHpRespawn = 0;
146 | bool bNoBulletGravity;
147 | bool bAutoSwitch;
148 |
149 | //FIX FOR AUTOSWITCH
150 | bool AfterShot = false;
151 |
152 | //SPECIAL
153 | wchar_t* wEnableOpk[] = { L"OFF", L"ON"};
154 | int iEnableOpk = 0;
155 | //OPK TARGET QUESTO CAMBIATO
156 | wchar_t* wPickBestPlayer[] = { L"ENEMY", L"TEAM", L"BOTH" };
157 | int iPickBestPlayer = 0;
158 | wchar_t* wOpkKey[] = { L"EVER", L"L" };
159 | int iOpkKey = 0;
160 | wchar_t* wOpkDamage[] = { L"C4", L"GRENADE", L"TURRET", L"NULL" };
161 | int iOpkDamage = 0;
162 | wchar_t* wOpkBone[] = { L"HEAD", L"CHEST", L"RANDOM" };
163 | int iOpkBone = 0;
164 | bool bShotThroughWall;
165 | wchar_t* wBulletPerShot[] = { L"1", L"2", L"3", L"4", L"5", L"6", L"7", L"8", L"9", L"10" };
166 | int iBulletPerShot = 0;
167 | bool bHeroMP;
168 | bool bHeroDP;
169 | bool bHeroAP;
170 | bool bHeroEXP;
171 | wchar_t* wHeroPoints[] = { L"1", L"2", L"3", L"4", L"5", L"6", L"7", L"8", L"9", L"10", L"11", L"12", L"13", L"14", L"15", L"16", L"17", L"18", L"19", L"20", L"21", L"22", L"23", L"24", L"25", L"26", L"27", L"28", L"29", L"30", L"31", L"32", L"33", L"34", L"35", L"36", L"37", L"38", L"39", L"40", L"41", L"42", L"43", L"44", L"45", L"46", L"47", L"48", L"49", L"50", L"51", L"52", L"53", L"54", L"55", L"56", L"57", L"58", L"59", L"60", L"61", L"62", L"63", L"64", L"65", L"66", L"67", L"68", L"69", L"70", L"71", L"72", L"73", L"74", L"75", L"76", L"77", L"78", L"79", L"80", L"81", L"82", L"83", L"84", L"85", L"86", L"87", L"88", L"89", L"90", L"91", L"92", L"93", L"94", L"95", L"96", L"97", L"98", L"99", L"100" };
172 | int iHeroPoints = 0;
173 | wchar_t* wHeroPointsKey[] = { L"K", L"P" };
174 | int iHeroPointsKey = 0;
175 | bool bOpkHero;
176 | wchar_t* wVirtualJumpValue[] = { L"100", L"101", L"102", L"103", L"104", L"105", L"106", L"107", L"108", L"109", L"110", L"111", L"112", L"113", L"114", L"115", L"116", L"117", L"118", L"119", L"120", L"121", L"122", L"123", L"124", L"125", L"126", L"127", L"128", L"129", L"130", L"131", L"132", L"133", L"134", L"135", L"136", L"137", L"138", L"139", L"140", L"141", L"142", L"143", L"144", L"145", L"146", L"147", L"148", L"149", L"150", L"151", L"152", L"153", L"154", L"155", L"156", L"157", L"158", L"159", L"160", L"161", L"162", L"163", L"164", L"165", L"166", L"167", L"168", L"169", L"170", L"171", L"172", L"173", L"174", L"175", L"176", L"177", L"178", L"179", L"180", L"181", L"182", L"183", L"184", L"185", L"186", L"187", L"188", L"189", L"190", L"191", L"192", L"193", L"194", L"195", L"196", L"197", L"198", L"199", L"200", L"201", L"202", L"203", L"204", L"205", L"206", L"207", L"208", L"209", L"210", L"211", L"212", L"213", L"214", L"215", L"216", L"217", L"218", L"219", L"220", L"221", L"222", L"223", L"224", L"225", L"226", L"227", L"228", L"229", L"230", L"231", L"232", L"233", L"234", L"235", L"236", L"237", L"238", L"239", L"240", L"241", L"242", L"243", L"244", L"245", L"246", L"247", L"248", L"249", L"250", L"251", L"252", L"253", L"254", L"255", L"256", L"257", L"258", L"259", L"260", L"261", L"262", L"263", L"264", L"265", L"266", L"267", L"268", L"269", L"270", L"271", L"272", L"273", L"274", L"275", L"276", L"277", L"278", L"279", L"280", L"281", L"282", L"283", L"284", L"285", L"286", L"287", L"288", L"289", L"290", L"291", L"292", L"293", L"294", L"295", L"296", L"297", L"298", L"299", L"300" };
177 | int iVirtualJumpValue = 0;
178 | wchar_t* wVirtualJump[] = { L"OFF", L"ON" };
179 | int iVirtualJump = 0;
180 |
181 | //SETTINGS
182 | wchar_t userData[160];
183 | DWORD userDataSize = 160;
184 |
185 | bool bFPS;
186 | bool bWatermark;
187 | bool bMACSpoof = false;
188 |
189 | char cName1[256];
190 | int iName1 = 0;
191 | wchar_t* Name1 = L"";
192 | bool Name1isActive = false;
193 | bool bTick1 = false;
194 |
195 | char cName2[256];
196 | int iName2 = 0;
197 | wchar_t* Name2 = L"";
198 | bool Name2isActive = false;
199 | bool bTick2 = false;
200 |
201 | bool bRestoreDefaultSettings;
202 | bool bSaveSettings;
203 | bool bLoadSettings;
204 |
205 | FLOAT LastTickRestore = 0.0f;
206 | FLOAT CurrentTickRestore;
207 | FLOAT LastTickSave = 0.0f;
208 | FLOAT CurrentTickSave;
209 | FLOAT LastTickLoad = 0.0f;
210 | FLOAT CurrentTickLoad;
211 | FLOAT LastTickName1 = 0.0f;
212 | FLOAT CurrentTickName1;
213 | FLOAT LastTickName2 = 0.0f;
214 | FLOAT CurrentTickName2;
215 |
216 | //Bones
217 | #define Bone_Root 0
218 | #define Bone_Hand_L 3
219 | #define Bone_Hand_R 4
220 | #define Bone_Foot_L 6
221 | #define Bone_Foot_R 7
222 | #define Bone_Pelvis 9
223 | #define Bone_Spine 10
224 | #define Bone_Spine1 11
225 | #define Bone_Spine2 12
226 | #define Bone_Neck 13
227 | #define Bone_Head 14
228 | #define Bone_Helmet 15
229 | #define Bone_LClavicle 16
230 | #define Bone_LArmUp 17
231 | #define Bone_LArmLow 18
232 | #define Bone_LHand 19
233 | #define Bone_RClavicle 37
234 | #define Bone_RArmUp 38
235 | #define Bone_RArmLow 39
236 | #define Bone_RHand 40
237 | #define Bone_LLegUp 58
238 | #define Bone_LLegLow 59
239 | #define Bone_LFoot 60
240 | #define Bone_RLegUp 62
241 | #define Bone_RLegLow 63
242 | #define Bone_RFoot 64
243 |
244 |
245 | struct MenuIndexTab
246 | {
247 | int X;
248 | int Y;
249 | int Lungo;
250 | int Alto;
251 | };
252 |
253 | MenuIndexTab AimbotTab = { 16,45,120,21 };
254 | MenuIndexTab Esp3D = { 16,73,120,21 };
255 | MenuIndexTab Esp2D = { 16,101,120,21 };
256 | MenuIndexTab Player = { 16,129,120,21 };
257 | MenuIndexTab Special = { 16,157,120,21 };
258 | MenuIndexTab Settings = { 16,185,120,21 };
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/SFGameContent_f_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: SFGameContent_f_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Function Structs
21 | # ========================================================================================= #
22 | */
23 |
24 | // Function SFGameContent.SFCWeaponRIS_ActionCamo_Kill.OwnerKill
25 | // [0x00020102]
26 | struct USFCWeaponRIS_ActionCamo_Kill_execOwnerKill_Parms
27 | {
28 | unsigned long ReturnValue : 1; // 0x0000 (0x0004) [0x0000000000000580] [0x00000001] ( CPF_Parm | CPF_OutParm | CPF_ReturnParm )
29 | };
30 |
31 | // Function SFGameContent.SFCItem_Common_ChickenBoots.ApplyItemToHostPawn
32 | // [0x00022002]
33 | struct USFCItem_Common_ChickenBoots_execApplyItemToHostPawn_Parms
34 | {
35 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
36 | };
37 |
38 | // Function SFGameContent.SFCWeaponRIS_ActionCamo_Equip.OwnerAttached
39 | // [0x00020102]
40 | struct USFCWeaponRIS_ActionCamo_Equip_execOwnerAttached_Parms
41 | {
42 | unsigned long ReturnValue : 1; // 0x0000 (0x0004) [0x0000000000000580] [0x00000001] ( CPF_Parm | CPF_OutParm | CPF_ReturnParm )
43 | };
44 |
45 | // Function SFGameContent.SFCItem_Func_WeaponCamo_Removal.GetSpecificIndexWithDataByID
46 | // [0x00426002]
47 | struct USFCItem_Func_WeaponCamo_Removal_execGetSpecificIndexWithDataByID_Parms
48 | {
49 | class UObject* SpecificObject; // 0x0000 (0x0004) [0x0000000000000190] ( CPF_OptionalParm | CPF_Parm | CPF_OutParm )
50 | class UObject* SpecificObjectEx; // 0x0004 (0x0004) [0x0000000000000190] ( CPF_OptionalParm | CPF_Parm | CPF_OutParm )
51 | int SpecificIndex; // 0x0008 (0x0004) [0x0000000000000190] ( CPF_OptionalParm | CPF_Parm | CPF_OutParm )
52 | int SpecificIndexEx; // 0x000C (0x0004) [0x0000000000000190] ( CPF_OptionalParm | CPF_Parm | CPF_OutParm )
53 | };
54 |
55 | // Function SFGameContent.SFCItem_CheyTac_Def_Scope.ApplyItemToWeap
56 | // [0x00022002]
57 | struct USFCItem_CheyTac_Def_Scope_execApplyItemToWeap_Parms
58 | {
59 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
60 | };
61 |
62 | // Function SFGameContent.SFCItem_Common_Scope_Kar98k.ApplyItemToWeap
63 | // [0x00022002]
64 | struct USFCItem_Common_Scope_Kar98k_execApplyItemToWeap_Parms
65 | {
66 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
67 | };
68 |
69 | // Function SFGameContent.SFCItem_Common_Scope_Dragunov.ApplyItemToWeap
70 | // [0x00022002]
71 | struct USFCItem_Common_Scope_Dragunov_execApplyItemToWeap_Parms
72 | {
73 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
74 | };
75 |
76 | // Function SFGameContent.SFCItem_Cz700_Def_Scope.ApplyItemToWeap
77 | // [0x00022002]
78 | struct USFCItem_Cz700_Def_Scope_execApplyItemToWeap_Parms
79 | {
80 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
81 | };
82 |
83 | // Function SFGameContent.SFCItem_Common_Scope_S2S.ApplyItemToWeap
84 | // [0x00022002]
85 | struct USFCItem_Common_Scope_S2S_execApplyItemToWeap_Parms
86 | {
87 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
88 | };
89 |
90 | // Function SFGameContent.SFCItem_Common_Scope_Zeiess.ApplyItemToWeap
91 | // [0x00022002]
92 | struct USFCItem_Common_Scope_Zeiess_execApplyItemToWeap_Parms
93 | {
94 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
95 | };
96 |
97 | // Function SFGameContent.SFCItem_PSG1_Def_Scope.ApplyItemToWeap
98 | // [0x00022002]
99 | struct USFCItem_PSG1_Def_Scope_execApplyItemToWeap_Parms
100 | {
101 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
102 | };
103 |
104 | // Function SFGameContent.SFCItem_Barret_Def_Scope.ApplyItemToWeap
105 | // [0x00022002]
106 | struct USFCItem_Barret_Def_Scope_execApplyItemToWeap_Parms
107 | {
108 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
109 | };
110 |
111 | // Function SFGameContent.SFCItem_FAMAS_Def_Sight.ApplyItemToWeap
112 | // [0x00022000]
113 | struct USFCItem_FAMAS_Def_Sight_execApplyItemToWeap_Parms
114 | {
115 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
116 | };
117 |
118 | // Function SFGameContent.SFCItem_MurderKnife.ApplyItemToWeapByPenalty
119 | // [0x00022002]
120 | struct USFCItem_MurderKnife_execApplyItemToWeapByPenalty_Parms
121 | {
122 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
123 | };
124 |
125 | // Function SFGameContent.SFCItem_Common_Scope_Bender.ApplyItemToWeap
126 | // [0x00022002]
127 | struct USFCItem_Common_Scope_Bender_execApplyItemToWeap_Parms
128 | {
129 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
130 | };
131 |
132 | // Function SFGameContent.SFCItem_AWP_Def_Scope.ApplyItemToWeap
133 | // [0x00022002]
134 | struct USFCItem_AWP_Def_Scope_execApplyItemToWeap_Parms
135 | {
136 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
137 | };
138 |
139 | // Function SFGameContent.SFCItem_Common_Scope_PM2.ApplyItemToWeap
140 | // [0x00022002]
141 | struct USFCItem_Common_Scope_PM2_execApplyItemToWeap_Parms
142 | {
143 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
144 | };
145 |
146 | // Function SFGameContent.SFCItem_BowieKnife.ApplyItemToWeapByPenalty
147 | // [0x00022002]
148 | struct USFCItem_BowieKnife_execApplyItemToWeapByPenalty_Parms
149 | {
150 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
151 | };
152 |
153 | // Function SFGameContent.SFCItem_SR25_Def_Scope.ApplyItemToWeap
154 | // [0x00022002]
155 | struct USFCItem_SR25_Def_Scope_execApplyItemToWeap_Parms
156 | {
157 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
158 | };
159 |
160 | // Function SFGameContent.SFCItem_P226_Def_Body.ApplyItemToWeap
161 | // [0x00022000]
162 | struct USFCItem_P226_Def_Body_execApplyItemToWeap_Parms
163 | {
164 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
165 | };
166 |
167 | // Function SFGameContent.SFCItem_P226_Def_Magazine.ApplyItemToWeap
168 | // [0x00022000]
169 | struct USFCItem_P226_Def_Magazine_execApplyItemToWeap_Parms
170 | {
171 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
172 | };
173 |
174 | // Function SFGameContent.SFCItem_P226_Def_Sight.ApplyItemToWeap
175 | // [0x00022000]
176 | struct USFCItem_P226_Def_Sight_execApplyItemToWeap_Parms
177 | {
178 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
179 | };
180 |
181 | // Function SFGameContent.SFCItem_Dagger.ApplyItemToWeapByPenalty
182 | // [0x00022002]
183 | struct USFCItem_Dagger_execApplyItemToWeapByPenalty_Parms
184 | {
185 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
186 | };
187 |
188 | // Function SFGameContent.SFCItem_Func_AddPrimaryMagazine.ApplyMagazine
189 | // [0x00022002]
190 | struct USFCItem_Func_AddPrimaryMagazine_execApplyMagazine_Parms
191 | {
192 | class ASFWeapon* SFW; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
193 | };
194 |
195 | // Function SFGameContent.SFCItem_Func_AddPrimaryMagazine.ApplyItemToHostActor
196 | // [0x00022002]
197 | struct USFCItem_Func_AddPrimaryMagazine_execApplyItemToHostActor_Parms
198 | {
199 | class AActor* AppliedActor; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
200 | // class ASFWeapon* SFW; // 0x0004 (0x0004) [0x0000000000000000]
201 | // int I; // 0x0008 (0x0004) [0x0000000000000000]
202 | // int J; // 0x000C (0x0004) [0x0000000000000000]
203 | };
204 |
205 | // Function SFGameContent.SFCItem_Beacon_RequestUAV.ApplyItemToHostActor
206 | // [0x00022002]
207 | struct USFCItem_Beacon_RequestUAV_execApplyItemToHostActor_Parms
208 | {
209 | class AActor* AppliedActor; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
210 | };
211 |
212 | // Function SFGameContent.SFCItem_Func_InstantShockWave.ApplyItemToHostActor
213 | // [0x00022002]
214 | struct USFCItem_Func_InstantShockWave_execApplyItemToHostActor_Parms
215 | {
216 | class AActor* AppliedActor; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
217 | // int I; // 0x0004 (0x0004) [0x0000000000000000]
218 | // class ASFPawn* AppliedPawn; // 0x0008 (0x0004) [0x0000000000000000]
219 | };
220 |
221 | // Function SFGameContent.SFCItem_Func_RecoveryHP.CanPurchaseInGameStore
222 | // [0x00022002]
223 | struct USFCItem_Func_RecoveryHP_execCanPurchaseInGameStore_Parms
224 | {
225 | class ASFPawn* ApplidedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
226 | unsigned long ReturnValue : 1; // 0x0004 (0x0004) [0x0000000000000580] [0x00000001] ( CPF_Parm | CPF_OutParm | CPF_ReturnParm )
227 | };
228 |
229 | // Function SFGameContent.SFCItem_Func_RecoveryHP.ApplyItemToActor
230 | // [0x00022002]
231 | struct USFCItem_Func_RecoveryHP_execApplyItemToActor_Parms
232 | {
233 | class AActor* AppliedActor; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
234 | };
235 |
236 | // Function SFGameContent.SFCItem_Func_PrimaryMagazineUp.ApplyItemToHostActor
237 | // [0x00022002]
238 | struct USFCItem_Func_PrimaryMagazineUp_execApplyItemToHostActor_Parms
239 | {
240 | class AActor* AppliedActor; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
241 | // class ASFWeapon* TempWeapon; // 0x0004 (0x0004) [0x0000000000000000]
242 | // class ASFGameReplicationInfo* SFGRI; // 0x0008 (0x0004) [0x0000000000000000]
243 | };
244 |
245 | // Function SFGameContent.SFCItem_Func_MiniMapPing.ApplyItemToActor
246 | // [0x00022002]
247 | struct USFCItem_Func_MiniMapPing_execApplyItemToActor_Parms
248 | {
249 | class AActor* AppliedActor; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
250 | // class ASFPlayerReplicationInfo* SFPRI; // 0x0004 (0x0004) [0x0000000000000000]
251 | };
252 |
253 | // Function SFGameContent.SFCItem_Func_ProvideHumanHealth.IsPossibleToUse
254 | // [0x00022002]
255 | struct USFCItem_Func_ProvideHumanHealth_execIsPossibleToUse_Parms
256 | {
257 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
258 | unsigned long ReturnValue : 1; // 0x0004 (0x0004) [0x0000000000000580] [0x00000001] ( CPF_Parm | CPF_OutParm | CPF_ReturnParm )
259 | };
260 |
261 | // Function SFGameContent.SFCItem_GAFE_SpecialSuit.ApplyItemToHostPawn
262 | // [0x00022000]
263 | struct USFCItem_GAFE_SpecialSuit_execApplyItemToHostPawn_Parms
264 | {
265 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
266 | };
267 |
268 | // Function SFGameContent.SFCItem_GIGN_SpeicalSuit.ApplyItemToHostPawn
269 | // [0x00022000]
270 | struct USFCItem_GIGN_SpeicalSuit_execApplyItemToHostPawn_Parms
271 | {
272 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
273 | };
274 |
275 | // Function SFGameContent.SFCItem_DeltaForce_ScoutSuit.ApplyItemToHostPawn
276 | // [0x00022000]
277 | struct USFCItem_DeltaForce_ScoutSuit_execApplyItemToHostPawn_Parms
278 | {
279 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
280 | };
281 |
282 | // Function SFGameContent.SFCItem_Common_SpeedUpBoots.ApplyItemToHostPawn
283 | // [0x00022002]
284 | struct USFCItem_Common_SpeedUpBoots_execApplyItemToHostPawn_Parms
285 | {
286 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
287 | };
288 |
289 | // Function SFGameContent.SFCItem_UDT_CombatSuit.ApplyItemToHostPawn
290 | // [0x00022002]
291 | struct USFCItem_UDT_CombatSuit_execApplyItemToHostPawn_Parms
292 | {
293 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
294 | };
295 |
296 | // Function SFGameContent.SFCItem_UDT_NormalSuit.ApplyItemToHostPawn
297 | // [0x00022002]
298 | struct USFCItem_UDT_NormalSuit_execApplyItemToHostPawn_Parms
299 | {
300 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
301 | };
302 |
303 | // Function SFGameContent.SFCItem_GAFE_CombatSuit.ApplyItemToHostPawn
304 | // [0x00022002]
305 | struct USFCItem_GAFE_CombatSuit_execApplyItemToHostPawn_Parms
306 | {
307 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
308 | };
309 |
310 | // Function SFGameContent.SFCItem_GAFE_NormalSuit.ApplyItemToHostPawn
311 | // [0x00022002]
312 | struct USFCItem_GAFE_NormalSuit_execApplyItemToHostPawn_Parms
313 | {
314 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
315 | };
316 |
317 | // Function SFGameContent.SFCItem_GIGN_CombatSuit.ApplyItemToHostPawn
318 | // [0x00022002]
319 | struct USFCItem_GIGN_CombatSuit_execApplyItemToHostPawn_Parms
320 | {
321 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
322 | };
323 |
324 | // Function SFGameContent.SFCItem_GIGN_NormalSuit.ApplyItemToHostPawn
325 | // [0x00022002]
326 | struct USFCItem_GIGN_NormalSuit_execApplyItemToHostPawn_Parms
327 | {
328 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
329 | };
330 |
331 | // Function SFGameContent.SFCItem_SAS_CombatSuit.ApplyItemToHostPawn
332 | // [0x00022002]
333 | struct USFCItem_SAS_CombatSuit_execApplyItemToHostPawn_Parms
334 | {
335 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
336 | };
337 |
338 | // Function SFGameContent.SFCItem_SAS_NormalSuit.ApplyItemToHostPawn
339 | // [0x00022002]
340 | struct USFCItem_SAS_NormalSuit_execApplyItemToHostPawn_Parms
341 | {
342 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
343 | };
344 |
345 | // Function SFGameContent.SFCItem_Spetsnaz_CombatSuit.ApplyItemToHostPawn
346 | // [0x00022002]
347 | struct USFCItem_Spetsnaz_CombatSuit_execApplyItemToHostPawn_Parms
348 | {
349 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
350 | };
351 |
352 | // Function SFGameContent.SFCItem_Spetsnaz_NormalSuit.ApplyItemToHostPawn
353 | // [0x00022002]
354 | struct USFCItem_Spetsnaz_NormalSuit_execApplyItemToHostPawn_Parms
355 | {
356 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
357 | };
358 |
359 | // Function SFGameContent.SFCItem_DeltaForce_CombatSuit.ApplyItemToHostPawn
360 | // [0x00022002]
361 | struct USFCItem_DeltaForce_CombatSuit_execApplyItemToHostPawn_Parms
362 | {
363 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
364 | };
365 |
366 | // Function SFGameContent.SFCItem_DeltaForce_NormalSuit.ApplyItemToHostPawn
367 | // [0x00022002]
368 | struct USFCItem_DeltaForce_NormalSuit_execApplyItemToHostPawn_Parms
369 | {
370 | class ASFPawn* AppliedPawn; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
371 | };
372 |
373 | // Function SFGameContent.SFCItem_GPM30A1.ApplyItemToWeapByPenalty
374 | // [0x00022002]
375 | struct USFCItem_GPM30A1_execApplyItemToWeapByPenalty_Parms
376 | {
377 | class ASFWeapon* AppliedWeap; // 0x0000 (0x0004) [0x0000000000000080] ( CPF_Parm )
378 | };
379 |
380 |
381 | #ifdef _MSC_VER
382 | #pragma pack ( pop )
383 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/OnlineSubsystemPC_classes.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: OnlineSubsystemPC_classes.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Constants
21 | # ========================================================================================= #
22 | */
23 |
24 | #define CONST_KEYLENGTH_MAX 17
25 |
26 | /*
27 | # ========================================================================================= #
28 | # Enums
29 | # ========================================================================================= #
30 | */
31 |
32 | // Enum OnlineSubsystemPC.SFPacketCryptHelper.ECryptReturnValue
33 | /*enum ECryptReturnValue
34 | {
35 | UNKNOWN_ERROR = 0,
36 | CRYPT_SUCCESS = 1,
37 | ENCRYPTION_ERROR_ALGORITHM_IS_NULL = 2,
38 | ENCRYPTION_ERROR_BUFFERSIZE_IS_NULL = 3,
39 | ENCRYPTION_ERROR_AESKEY_SETTING = 4,
40 | DECRYPTION_ERROR_ALGORITHM_IS_NULL = 5,
41 | DECRYPTION_ERROR_BUFFERSIZE_IS_NULL = 6,
42 | DECRYPTION_ERROR_AESKEY_SETTING = 7,
43 | DECRYPTION_ERROR_MD5_CHECK = 8,
44 | ECryptReturnValue_MAX = 9
45 | };*/
46 |
47 |
48 | /*
49 | # ========================================================================================= #
50 | # Classes
51 | # ========================================================================================= #
52 | */
53 |
54 | // Class OnlineSubsystemPC.OnlineSubsystemPC
55 | // 0x0130 (0x0214 - 0x00E4)
56 | class UOnlineSubsystemPC : public UOnlineSubsystemCommonImpl
57 | {
58 | public:
59 | struct FString ProfileDataDirectory; // 0x00E4 (0x000C) [0x0000000000404000] ( CPF_Config | CPF_NeedCtorLink )
60 | struct FString ProfileDataExtension; // 0x00F0 (0x000C) [0x0000000000404000] ( CPF_Config | CPF_NeedCtorLink )
61 | TArray< struct FScriptDelegate > ReadProfileSettingsDelegates; // 0x00FC (0x000C) [0x0000000000402000] ( CPF_Transient | CPF_NeedCtorLink )
62 | TArray< struct FScriptDelegate > WriteProfileSettingsDelegates; // 0x0108 (0x000C) [0x0000000000402000] ( CPF_Transient | CPF_NeedCtorLink )
63 | class UOnlineProfileSettings* CachedProfile; // 0x0114 (0x0004) [0x0000000000002000] ( CPF_Transient )
64 | struct FScriptDelegate __OnReadProfileSettingsComplete__Delegate; // 0x0118 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
65 | struct FScriptDelegate __OnWriteProfileSettingsComplete__Delegate; // 0x0124 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
66 | struct FScriptDelegate __OnLoginChange__Delegate; // 0x0130 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
67 | struct FScriptDelegate __OnLoginCancelled__Delegate; // 0x013C (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
68 | struct FScriptDelegate __OnMutingChange__Delegate; // 0x0148 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
69 | struct FScriptDelegate __OnFriendsChange__Delegate; // 0x0154 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
70 | struct FScriptDelegate __OnLoginFailed__Delegate; // 0x0160 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
71 | struct FScriptDelegate __OnLogoutCompleted__Delegate; // 0x016C (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
72 | struct FScriptDelegate __OnLoginStatusChange__Delegate; // 0x0178 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
73 | struct FScriptDelegate __OnReadFriendsComplete__Delegate; // 0x0184 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
74 | struct FScriptDelegate __OnKeyboardInputComplete__Delegate; // 0x0190 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
75 | struct FScriptDelegate __OnAddFriendByNameComplete__Delegate; // 0x019C (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
76 | struct FScriptDelegate __OnFriendInviteReceived__Delegate; // 0x01A8 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
77 | struct FScriptDelegate __OnReceivedGameInvite__Delegate; // 0x01B4 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
78 | struct FScriptDelegate __OnJoinFriendGameComplete__Delegate; // 0x01C0 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
79 | struct FScriptDelegate __OnFriendMessageReceived__Delegate; // 0x01CC (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
80 | struct FScriptDelegate __OnWritePlayerStorageComplete__Delegate; // 0x01D8 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
81 | struct FScriptDelegate __OnReadPlayerStorageForNetIdComplete__Delegate; // 0x01E4 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
82 | struct FScriptDelegate __OnReadPlayerStorageComplete__Delegate; // 0x01F0 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
83 | struct FScriptDelegate __OnReadAchievementsComplete__Delegate; // 0x01FC (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
84 | struct FScriptDelegate __OnUnlockAchievementComplete__Delegate; // 0x0208 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
85 |
86 | private:
87 | static UClass* pClassPointer;
88 |
89 | public:
90 | static UClass* StaticClass()
91 | {
92 | if ( ! pClassPointer )
93 | pClassPointer = (UClass*) UObject::GObjObjects()->Data[ 2942 ];
94 |
95 | return pClassPointer;
96 | };
97 |
98 | bool eventProcessTwitchTVCallbackInGame ( int CurrentStatus, unsigned long IsFail, int ErrorCode );
99 | bool eventProcessTwitchTVCallback ( int CurrentStatus, unsigned long IsFail, int ErrorCode );
100 | bool eventOpenForceExitDialog ( int ExitType, int ErrCode );
101 | void eventExit ( );
102 | void nativeExit ( );
103 | void eventHackShieldSendResponse ( TArray< unsigned char > Buffer );
104 | struct FString eventGetProfileFileName ( );
105 | struct FString eventGetPlayerLoginViewID ( );
106 | void eventServerToSendExitGameWithError ( struct FString ErrorMsg );
107 | bool UnlockAchievement ( unsigned char LocalUserNum, int AchievementId );
108 | void AddUnlockAchievementCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate UnlockAchievementCompleteDelegate );
109 | void ClearUnlockAchievementCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate UnlockAchievementCompleteDelegate );
110 | bool ReadAchievements ( unsigned char LocalUserNum, int TitleId, unsigned long bShouldReadText, unsigned long bShouldReadImages );
111 | void AddReadAchievementsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadAchievementsCompleteDelegate );
112 | void ClearReadAchievementsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadAchievementsCompleteDelegate );
113 | unsigned char GetAchievements ( unsigned char LocalUserNum, int TitleId, TArray< struct FAchievementDetails >* Achievements );
114 | bool ReadPlayerStorage ( unsigned char LocalUserNum, class UOnlinePlayerStorage* PlayerStorage );
115 | void ClearReadPlayerStorageCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadPlayerStorageCompleteDelegate );
116 | bool ReadPlayerStorageForNetId ( struct FUniqueNetId NetId, class UOnlinePlayerStorage* PlayerStorage );
117 | void AddReadPlayerStorageForNetIdCompleteDelegate ( struct FUniqueNetId NetId, struct FScriptDelegate ReadPlayerStorageForNetIdCompleteDelegate );
118 | void AddReadPlayerStorageCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadPlayerStorageCompleteDelegate );
119 | void ClearReadPlayerStorageForNetIdCompleteDelegate ( struct FUniqueNetId NetId, struct FScriptDelegate ReadPlayerStorageForNetIdCompleteDelegate );
120 | class UOnlinePlayerStorage* GetPlayerStorage ( unsigned char LocalUserNum );
121 | bool WritePlayerStorage ( unsigned char LocalUserNum, class UOnlinePlayerStorage* PlayerStorage );
122 | void AddWritePlayerStorageCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate WritePlayerStorageCompleteDelegate );
123 | void ClearWritePlayerStorageCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate WritePlayerStorageCompleteDelegate );
124 | void OnUnlockAchievementComplete ( unsigned long bWasSuccessful );
125 | void OnReadAchievementsComplete ( int TitleId );
126 | void OnReadPlayerStorageComplete ( unsigned char LocalUserNum, unsigned long bWasSuccessful );
127 | void OnReadPlayerStorageForNetIdComplete ( struct FUniqueNetId NetId, unsigned long bWasSuccessful );
128 | void OnWritePlayerStorageComplete ( unsigned char LocalUserNum, unsigned long bWasSuccessful );
129 | bool DeleteMessage ( unsigned char LocalUserNum, int MessageIndex );
130 | void ClearFriendMessageReceivedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate MessageDelegate );
131 | void AddFriendMessageReceivedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate MessageDelegate );
132 | void OnFriendMessageReceived ( unsigned char LocalUserNum, struct FUniqueNetId SendingPlayer, struct FString SendingNick, struct FString Message );
133 | void GetFriendMessages ( unsigned char LocalUserNum, TArray< struct FOnlineFriendMessage >* FriendMessages );
134 | void ClearJoinFriendGameCompleteDelegate ( struct FScriptDelegate JoinFriendGameCompleteDelegate );
135 | void AddJoinFriendGameCompleteDelegate ( struct FScriptDelegate JoinFriendGameCompleteDelegate );
136 | void OnJoinFriendGameComplete ( unsigned long bWasSuccessful );
137 | bool JoinFriendGame ( unsigned char LocalUserNum, struct FUniqueNetId Friend );
138 | void ClearReceivedGameInviteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReceivedGameInviteDelegate );
139 | void AddReceivedGameInviteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReceivedGameInviteDelegate );
140 | void OnReceivedGameInvite ( unsigned char LocalUserNum, struct FString InviterName );
141 | bool SendGameInviteToFriends ( unsigned char LocalUserNum, TArray< struct FUniqueNetId > Friends, struct FString Text );
142 | bool SendGameInviteToFriend ( unsigned char LocalUserNum, struct FUniqueNetId Friend, struct FString Text );
143 | bool SendMessageToFriend ( unsigned char LocalUserNum, struct FUniqueNetId Friend, struct FString Message );
144 | void ClearFriendInviteReceivedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate InviteDelegate );
145 | void AddFriendInviteReceivedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate InviteDelegate );
146 | void OnFriendInviteReceived ( unsigned char LocalUserNum, struct FUniqueNetId RequestingPlayer, struct FString RequestingNick, struct FString Message );
147 | bool RemoveFriend ( unsigned char LocalUserNum, struct FUniqueNetId FormerFriend );
148 | bool DenyFriendInvite ( unsigned char LocalUserNum, struct FUniqueNetId RequestingPlayer );
149 | bool AcceptFriendInvite ( unsigned char LocalUserNum, struct FUniqueNetId RequestingPlayer );
150 | void ClearAddFriendByNameCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate FriendDelegate );
151 | void AddAddFriendByNameCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate FriendDelegate );
152 | void OnAddFriendByNameComplete ( unsigned long bWasSuccessful );
153 | bool AddFriendByName ( unsigned char LocalUserNum, struct FString FriendName, struct FString Message );
154 | bool AddFriend ( unsigned char LocalUserNum, struct FUniqueNetId NewFriend, struct FString Message );
155 | struct FString GetKeyboardInputResults ( unsigned char* bWasCanceled );
156 | void ClearKeyboardInputDoneDelegate ( struct FScriptDelegate InputDelegate );
157 | void AddKeyboardInputDoneDelegate ( struct FScriptDelegate InputDelegate );
158 | void OnKeyboardInputComplete ( unsigned long bWasSuccessful );
159 | bool ShowKeyboardUI ( unsigned char LocalUserNum, struct FString TitleText, struct FString DescriptionText, unsigned long bIsPassword, unsigned long bShouldValidate, struct FString DefaultText, int MaxResultLength );
160 | void SetOnlineStatus ( unsigned char LocalUserNum, int StatusId, TArray< struct FLocalizedStringSetting >* LocalizedStringSettings, TArray< struct FSettingsProperty >* Properties );
161 | unsigned char GetFriendsList ( unsigned char LocalUserNum, int Count, int StartingAt, TArray< struct FOnlineFriend >* Friends );
162 | void ClearReadFriendsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadFriendsCompleteDelegate );
163 | void AddReadFriendsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadFriendsCompleteDelegate );
164 | void OnReadFriendsComplete ( unsigned long bWasSuccessful );
165 | bool ReadFriendsList ( unsigned char LocalUserNum, int Count, int StartingAt );
166 | void ClearFriendsChangeDelegate ( unsigned char LocalUserNum, struct FScriptDelegate FriendsDelegate );
167 | void AddFriendsChangeDelegate ( unsigned char LocalUserNum, struct FScriptDelegate FriendsDelegate );
168 | void ClearMutingChangeDelegate ( struct FScriptDelegate MutingDelegate );
169 | void AddMutingChangeDelegate ( struct FScriptDelegate MutingDelegate );
170 | void ClearLoginCancelledDelegate ( struct FScriptDelegate CancelledDelegate );
171 | void AddLoginCancelledDelegate ( struct FScriptDelegate CancelledDelegate );
172 | void ClearLoginStatusChangeDelegate ( struct FScriptDelegate LoginStatusDelegate, unsigned char LocalUserNum );
173 | void AddLoginStatusChangeDelegate ( struct FScriptDelegate LoginStatusDelegate, unsigned char LocalUserNum );
174 | void OnLoginStatusChange ( unsigned char NewStatus, struct FUniqueNetId NewId );
175 | void ClearLoginChangeDelegate ( struct FScriptDelegate LoginDelegate );
176 | void AddLoginChangeDelegate ( struct FScriptDelegate LoginDelegate );
177 | bool ShowFriendsUI ( unsigned char LocalUserNum );
178 | bool IsMuted ( unsigned char LocalUserNum, struct FUniqueNetId PlayerID );
179 | bool AreAnyFriends ( unsigned char LocalUserNum, TArray< struct FFriendsQuery >* Query );
180 | bool IsFriend ( unsigned char LocalUserNum, struct FUniqueNetId PlayerID );
181 | unsigned char CanShowPresenceInformation ( unsigned char LocalUserNum );
182 | unsigned char CanViewPlayerProfiles ( unsigned char LocalUserNum );
183 | unsigned char CanPurchaseContent ( unsigned char LocalUserNum );
184 | unsigned char CanDownloadUserContent ( unsigned char LocalUserNum );
185 | unsigned char CanCommunicate ( unsigned char LocalUserNum );
186 | unsigned char CanPlayOnline ( unsigned char LocalUserNum );
187 | bool IsLocalLogin ( unsigned char LocalUserNum );
188 | bool IsGuestLogin ( unsigned char LocalUserNum );
189 | struct FString GetPlayerNickname ( unsigned char LocalUserNum );
190 | bool GetUniquePlayerId ( unsigned char LocalUserNum, struct FUniqueNetId* PlayerID );
191 | unsigned char GetLoginStatus ( unsigned char LocalUserNum );
192 | void ClearLogoutCompletedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate LogoutDelegate );
193 | void AddLogoutCompletedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate LogoutDelegate );
194 | void OnLogoutCompleted ( unsigned long bWasSuccessful );
195 | bool Logout ( unsigned char LocalUserNum );
196 | void ClearLoginFailedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate LoginDelegate );
197 | void AddLoginFailedDelegate ( unsigned char LocalUserNum, struct FScriptDelegate LoginDelegate );
198 | void OnLoginFailed ( unsigned char LocalUserNum, unsigned char ErrorCode );
199 | bool AutoLogin ( );
200 | bool Login ( unsigned char LocalUserNum, struct FString LoginName, struct FString Password, unsigned long bWantsLocalOnly );
201 | bool ShowLoginUI ( unsigned long bShowOnlineOnly );
202 | void OnFriendsChange ( );
203 | void OnMutingChange ( );
204 | void OnLoginCancelled ( );
205 | void OnLoginChange ( unsigned char LocalUserNum );
206 | void ClearWriteProfileSettingsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate WriteProfileSettingsCompleteDelegate );
207 | void AddWriteProfileSettingsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate WriteProfileSettingsCompleteDelegate );
208 | void OnWriteProfileSettingsComplete ( unsigned char LocalUserNum, unsigned long bWasSuccessful );
209 | bool WriteProfileSettings ( unsigned char LocalUserNum, class UOnlineProfileSettings* ProfileSettings );
210 | class UOnlineProfileSettings* GetProfileSettings ( unsigned char LocalUserNum );
211 | void ClearReadProfileSettingsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadProfileSettingsCompleteDelegate );
212 | void AddReadProfileSettingsCompleteDelegate ( unsigned char LocalUserNum, struct FScriptDelegate ReadProfileSettingsCompleteDelegate );
213 | void OnReadProfileSettingsComplete ( unsigned char LocalUserNum, unsigned long bWasSuccessful );
214 | bool ReadProfileSettings ( unsigned char LocalUserNum, class UOnlineProfileSettings* ProfileSettings );
215 | };
216 |
217 | UClass* UOnlineSubsystemPC::pClassPointer = NULL;
218 |
219 | // Class OnlineSubsystemPC.Packet
220 | // 0x0818 (0x0854 - 0x003C)
221 | class UPacket : public UObject
222 | {
223 | public:
224 | struct FData _data; // 0x003C (0x0804) [0x0000000000002000] ( CPF_Transient )
225 | struct FPointer Buffer; // 0x0840 (0x0004) [0x0000000000002000] ( CPF_Transient )
226 | int total_size; // 0x0844 (0x0004) [0x0000000000002000] ( CPF_Transient )
227 | int st_point; // 0x0848 (0x0004) [0x0000000000002000] ( CPF_Transient )
228 | int Point; // 0x084C (0x0004) [0x0000000000002000] ( CPF_Transient )
229 | unsigned long mcopy : 1; // 0x0850 (0x0004) [0x0000000000002000] [0x00000001] ( CPF_Transient )
230 |
231 | private:
232 | static UClass* pClassPointer;
233 |
234 | public:
235 | static UClass* StaticClass()
236 | {
237 | if ( ! pClassPointer )
238 | pClassPointer = (UClass*) UObject::GObjObjects()->Data[ 2944 ];
239 |
240 | return pClassPointer;
241 | };
242 |
243 | void CopyData ( class UPacket* recvPacket );
244 | struct FQWord getLong ( int num );
245 | float GetFloat ( int num );
246 | struct FString GetString ( int num );
247 | int getShort ( int num );
248 | int GetInt ( int num );
249 | int getByte ( int num );
250 | int getCommand ( );
251 | void addLong ( struct FQWord Value );
252 | void AddFloat ( float Value );
253 | void AddString ( struct FString Value );
254 | void addShort ( int Value );
255 | void AddInt ( int Value );
256 | void addByte ( unsigned char Value );
257 | void setCommand ( int Command );
258 | void setPoint ( int N );
259 | void setDefaultPoint ( int Pt );
260 | void release ( );
261 | void Init ( );
262 | };
263 |
264 | UClass* UPacket::pClassPointer = NULL;
265 |
266 | // Class OnlineSubsystemPC.SFPacketCryptHelper
267 | // 0x0018 (0x0054 - 0x003C)
268 | class USFPacketCryptHelper : public UObject
269 | {
270 | public:
271 | unsigned char Key[ 0x11 ]; // 0x003C (0x0011) [0x0000000000000000]
272 | int KeyLengthMaxForCPP; // 0x0050 (0x0004) [0x0000000000000000]
273 |
274 | private:
275 | static UClass* pClassPointer;
276 |
277 | public:
278 | static UClass* StaticClass()
279 | {
280 | if ( ! pClassPointer )
281 | pClassPointer = (UClass*) UObject::GObjObjects()->Data[ 2946 ];
282 |
283 | return pClassPointer;
284 | };
285 |
286 | void SetKey ( struct FString strKey );
287 | unsigned char Decrypt ( class UPacket* Packet );
288 | unsigned char Encrypt ( class UPacket* Packet );
289 | };
290 |
291 | UClass* USFPacketCryptHelper::pClassPointer = NULL;
292 |
293 |
294 | #ifdef _MSC_VER
295 | #pragma pack ( pop )
296 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/GameFramework_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: GameFramework_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 | // ScriptStruct GameFramework.GameTypes.AgentArchetypeInfo
25 | // 0x001C
26 | struct FAgentArchetypeInfo
27 | {
28 | class UObject* AgentArchetype; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
29 | float FrequencyModifier; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
30 | int MaxAllowed; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
31 | int CurrSpawned; // 0x000C (0x0004) [0x0000000000002000] ( CPF_Transient )
32 | TArray< class UObject* > GroupMembers; // 0x0010 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
33 | };
34 |
35 | // ScriptStruct GameFramework.GameTypes.CrowdSpawnInfoItem
36 | // 0x007C
37 | struct FCrowdSpawnInfoItem
38 | {
39 | class USeqAct_GameCrowdPopulationManagerToggle* SeqSpawner; // 0x0000 (0x0004) [0x0000000000000000]
40 | unsigned long bSpawningActive : 1; // 0x0004 (0x0004) [0x0000000000000000] [0x00000001]
41 | float SpawnRate; // 0x0008 (0x0004) [0x0000000000000000]
42 | int SpawnNum; // 0x000C (0x0004) [0x0000000000000000]
43 | float Remainder; // 0x0010 (0x0004) [0x0000000000000000]
44 | TArray< class AGameCrowdAgent* > ActiveAgents; // 0x0014 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
45 | TArray< struct FAgentArchetypeInfo > AgentArchetypes; // 0x0020 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
46 | float AgentFrequencySum; // 0x002C (0x0004) [0x0000000000000000]
47 | float MaxSpawnDist; // 0x0030 (0x0004) [0x0000000000000000]
48 | float MaxSpawnDistSq; // 0x0034 (0x0004) [0x0000000000000000]
49 | float MinBehindSpawnDist; // 0x0038 (0x0004) [0x0000000000000000]
50 | float MinBehindSpawnDistSq; // 0x003C (0x0004) [0x0000000000000000]
51 | float AgentWarmupTime; // 0x0040 (0x0004) [0x0000000000000000]
52 | unsigned long bForceObstacleChecking : 1; // 0x0044 (0x0004) [0x0000000000000000] [0x00000001]
53 | unsigned long bForceNavMeshPathing : 1; // 0x0044 (0x0004) [0x0000000000000000] [0x00000002]
54 | unsigned long bEnableCrowdLightEnvironment : 1; // 0x0044 (0x0004) [0x0000000000000000] [0x00000004]
55 | unsigned long bCastShadows : 1; // 0x0044 (0x0004) [0x0000000000000000] [0x00000008]
56 | struct FLightingChannelContainer AgentLightingChannel; // 0x0048 (0x0004) [0x0000000000000000]
57 | int NumAgentsToTickPerFrame; // 0x004C (0x0004) [0x0000000000000001] ( CPF_Edit )
58 | int LastAgentTickedIndex; // 0x0050 (0x0004) [0x0000000000000000]
59 | TArray< class AGameCrowdDestination* > PotentialSpawnPoints; // 0x0054 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
60 | float SpawnPrioritizationInterval; // 0x0060 (0x0004) [0x0000000000000000]
61 | int PrioritizationIndex; // 0x0064 (0x0004) [0x0000000000000000]
62 | int PrioritizationUpdateIndex; // 0x0068 (0x0004) [0x0000000000000000]
63 | TArray< class AGameCrowdDestination* > PrioritizedSpawnPoints; // 0x006C (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
64 | float PlayerPositionPredictionTime; // 0x0078 (0x0004) [0x0000000000000000]
65 | };
66 |
67 | // ScriptStruct GameFramework.GameTypes.CrowdSpawnerPlayerInfo
68 | // 0x0028
69 | struct FCrowdSpawnerPlayerInfo
70 | {
71 | struct FVector ViewLocation; // 0x0000 (0x000C) [0x0000000000000000]
72 | struct FRotator ViewRotation; // 0x000C (0x000C) [0x0000000000000000]
73 | struct FVector PredictLocation; // 0x0018 (0x000C) [0x0000000000000000]
74 | class APlayerController* PC; // 0x0024 (0x0004) [0x0000000000000000]
75 | };
76 |
77 | // ScriptStruct GameFramework.GameTypes.NearbyDynamicItem
78 | // 0x0004
79 | struct FNearbyDynamicItem
80 | {
81 | class AActor* Dynamic; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
82 | };
83 |
84 | // ScriptStruct GameFramework.GameTypes.AICmdHistoryItem
85 | // 0x0014
86 | struct FAICmdHistoryItem
87 | {
88 | class UClass* CmdClass; // 0x0000 (0x0004) [0x0000000000000000]
89 | float TimeStamp; // 0x0004 (0x0004) [0x0000000000000000]
90 | struct FString VerboseString; // 0x0008 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
91 | };
92 |
93 | // ScriptStruct GameFramework.GameTypes.SpecialMoveStruct
94 | // 0x0014
95 | struct FSpecialMoveStruct
96 | {
97 | struct FName SpecialMoveName; // 0x0000 (0x0008) [0x0000000000000000]
98 | class AGamePawn* InteractionPawn; // 0x0008 (0x0004) [0x0000000000000000]
99 | class AActor* InteractionActor; // 0x000C (0x0004) [0x0000000000000000]
100 | int Flags; // 0x0010 (0x0004) [0x0000000000000000]
101 | };
102 |
103 | // ScriptStruct GameFramework.GameTypes.GameSpecialMoveInfo
104 | // 0x0010
105 | struct FGameSpecialMoveInfo
106 | {
107 | struct FName SpecialMoveName; // 0x0000 (0x0008) [0x0000000000000001] ( CPF_Edit )
108 | class UClass* SpecialMoveClass; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
109 | class UGameSpecialMove* SpecialMoveInstance; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
110 | };
111 |
112 | // ScriptStruct GameFramework.GameTypes.TakeHitInfo
113 | // 0x0038
114 | struct FTakeHitInfo
115 | {
116 | struct FVector HitLocation; // 0x0000 (0x000C) [0x0000000000000000]
117 | struct FVector Momentum; // 0x000C (0x000C) [0x0000000000000000]
118 | class UClass* DamageType; // 0x0018 (0x0004) [0x0000000000000000]
119 | class APawn* InstigatedBy; // 0x001C (0x0004) [0x0000000000000000]
120 | unsigned char HitBoneIndex; // 0x0020 (0x0001) [0x0000000000000000]
121 | class UPhysicalMaterial* PhysicalMaterial; // 0x0024 (0x0004) [0x0000000000000000]
122 | float Damage; // 0x0028 (0x0004) [0x0000000000000000]
123 | struct FVector RadialDamageOrigin; // 0x002C (0x000C) [0x0000000000000000]
124 | };
125 |
126 | // ScriptStruct GameFramework.GameTypes.ShakeParams
127 | // 0x0004
128 | struct FShakeParams
129 | {
130 | unsigned char X; // 0x0000 (0x0001) [0x0000000000000000]
131 | unsigned char Y; // 0x0001 (0x0001) [0x0000000000000000]
132 | unsigned char Z; // 0x0002 (0x0001) [0x0000000000000000]
133 | unsigned char Padding; // 0x0003 (0x0001) [0x0000000000002002] ( CPF_Const | CPF_Transient )
134 | };
135 |
136 | // ScriptStruct GameFramework.GameTypes.ScreenShakeStruct
137 | // 0x0078
138 | struct FScreenShakeStruct
139 | {
140 | float TimeToGo; // 0x0000 (0x0004) [0x0000000000000000]
141 | float TimeDuration; // 0x0004 (0x0004) [0x0000000000000000]
142 | struct FVector RotAmplitude; // 0x0008 (0x000C) [0x0000000000000000]
143 | struct FVector RotFrequency; // 0x0014 (0x000C) [0x0000000000000000]
144 | struct FVector RotSinOffset; // 0x0020 (0x000C) [0x0000000000000000]
145 | struct FShakeParams RotParam; // 0x002C (0x0004) [0x0000000000000000]
146 | struct FVector LocAmplitude; // 0x0030 (0x000C) [0x0000000000000000]
147 | struct FVector LocFrequency; // 0x003C (0x000C) [0x0000000000000000]
148 | struct FVector LocSinOffset; // 0x0048 (0x000C) [0x0000000000000000]
149 | struct FShakeParams LocParam; // 0x0054 (0x0004) [0x0000000000000000]
150 | float FOVAmplitude; // 0x0058 (0x0004) [0x0000000000000000]
151 | float FOVFrequency; // 0x005C (0x0004) [0x0000000000000000]
152 | float FOVSinOffset; // 0x0060 (0x0004) [0x0000000000000000]
153 | unsigned char FOVParam; // 0x0064 (0x0001) [0x0000000000000000]
154 | struct FName ShakeName; // 0x0068 (0x0008) [0x0000000000000000]
155 | unsigned long bOverrideTargetingDampening : 1; // 0x0070 (0x0004) [0x0000000000000000] [0x00000001]
156 | float TargetingDampening; // 0x0074 (0x0004) [0x0000000000000000]
157 | };
158 |
159 | // ScriptStruct GameFramework.GameTypes.ScreenShakeAnimStruct
160 | // 0x0030
161 | struct FScreenShakeAnimStruct
162 | {
163 | class UCameraAnim* Anim; // 0x0000 (0x0004) [0x0000000000000000]
164 | unsigned long bUseDirectionalAnimVariants : 1; // 0x0004 (0x0004) [0x0000000000000000] [0x00000001]
165 | class UCameraAnim* Anim_Left; // 0x0008 (0x0004) [0x0000000000000000]
166 | class UCameraAnim* Anim_Right; // 0x000C (0x0004) [0x0000000000000000]
167 | class UCameraAnim* Anim_Rear; // 0x0010 (0x0004) [0x0000000000000000]
168 | float AnimPlayRate; // 0x0014 (0x0004) [0x0000000000000000]
169 | float AnimScale; // 0x0018 (0x0004) [0x0000000000000000]
170 | float AnimBlendInTime; // 0x001C (0x0004) [0x0000000000000000]
171 | float AnimBlendOutTime; // 0x0020 (0x0004) [0x0000000000000000]
172 | unsigned long bRandomSegment : 1; // 0x0024 (0x0004) [0x0000000000000000] [0x00000001]
173 | float RandomSegmentDuration; // 0x0028 (0x0004) [0x0000000000000000]
174 | unsigned long bSingleInstance : 1; // 0x002C (0x0004) [0x0000000000000000] [0x00000001]
175 | };
176 |
177 | // ScriptStruct GameFramework.GameCrowdAgent.AvoidOtherSampleItem
178 | // 0x000C
179 | struct FAvoidOtherSampleItem
180 | {
181 | int RotOffset; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
182 | unsigned char NumMagSamples; // 0x0004 (0x0001) [0x0000000000000001] ( CPF_Edit )
183 | unsigned long bFallbackOnly : 1; // 0x0008 (0x0004) [0x0000000000000001] [0x00000001] ( CPF_Edit )
184 | };
185 |
186 | // ScriptStruct GameFramework.GameCrowdAgent.RecentInteraction
187 | // 0x000C
188 | struct FRecentInteraction
189 | {
190 | struct FName InteractionTag; // 0x0000 (0x0008) [0x0000000000000000]
191 | float InteractionDelay; // 0x0008 (0x0004) [0x0000000000000000]
192 | };
193 |
194 | // ScriptStruct GameFramework.GameCrowdAgent.BehaviorEntry
195 | // 0x0010
196 | struct FBehaviorEntry
197 | {
198 | class UGameCrowdAgentBehavior* BehaviorArchetype; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
199 | class AActor* LookAtActor; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
200 | float BehaviorFrequency; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
201 | unsigned long bNeverRepeat : 1; // 0x000C (0x0004) [0x0000000000000001] [0x00000001] ( CPF_Edit )
202 | unsigned long bHasBeenUsed : 1; // 0x000C (0x0004) [0x0000000000000000] [0x00000002]
203 | unsigned long bCanBeUsed : 1; // 0x000C (0x0004) [0x0000000000000000] [0x00000004]
204 | };
205 |
206 | // ScriptStruct GameFramework.GameCrowdAgentSkeletal.GameCrowdAttachmentInfo
207 | // 0x0014
208 | struct FGameCrowdAttachmentInfo
209 | {
210 | class UStaticMesh* StaticMesh; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
211 | float Chance; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
212 | struct FVector Scale3D; // 0x0008 (0x000C) [0x0000000000000001] ( CPF_Edit )
213 | };
214 |
215 | // ScriptStruct GameFramework.GameCrowdAgentSkeletal.GameCrowdAttachmentList
216 | // 0x0014
217 | struct FGameCrowdAttachmentList
218 | {
219 | struct FName SocketName; // 0x0000 (0x0008) [0x0000000000000001] ( CPF_Edit )
220 | TArray< struct FGameCrowdAttachmentInfo > List; // 0x0008 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
221 | };
222 |
223 | // ScriptStruct GameFramework.GameSkelCtrl_Recoil.RecoilParams
224 | // 0x0004
225 | struct FRecoilParams
226 | {
227 | unsigned char X; // 0x0000 (0x0001) [0x0000000000000001] ( CPF_Edit )
228 | unsigned char Y; // 0x0001 (0x0001) [0x0000000000000001] ( CPF_Edit )
229 | unsigned char Z; // 0x0002 (0x0001) [0x0000000000000001] ( CPF_Edit )
230 | unsigned char Padding; // 0x0003 (0x0001) [0x0000000000002002] ( CPF_Const | CPF_Transient )
231 | };
232 |
233 | // ScriptStruct GameFramework.GameSkelCtrl_Recoil.RecoilDef
234 | // 0x0070
235 | struct FRecoilDef
236 | {
237 | float TimeToGo; // 0x0000 (0x0004) [0x0000000000002000] ( CPF_Transient )
238 | float TimeDuration; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
239 | struct FVector RotAmplitude; // 0x0008 (0x000C) [0x0000000000000001] ( CPF_Edit )
240 | struct FVector RotFrequency; // 0x0014 (0x000C) [0x0000000000000001] ( CPF_Edit )
241 | struct FVector RotSinOffset; // 0x0020 (0x000C) [0x0000000000000000]
242 | struct FRecoilParams RotParams; // 0x002C (0x0004) [0x0000000000000001] ( CPF_Edit )
243 | struct FRotator RotOffset; // 0x0030 (0x000C) [0x0000000000002000] ( CPF_Transient )
244 | struct FVector LocAmplitude; // 0x003C (0x000C) [0x0000000000000001] ( CPF_Edit )
245 | struct FVector LocFrequency; // 0x0048 (0x000C) [0x0000000000000001] ( CPF_Edit )
246 | struct FVector LocSinOffset; // 0x0054 (0x000C) [0x0000000000000000]
247 | struct FRecoilParams LocParams; // 0x0060 (0x0004) [0x0000000000000001] ( CPF_Edit )
248 | struct FVector LocOffset; // 0x0064 (0x000C) [0x0000000000002000] ( CPF_Transient )
249 | };
250 |
251 | // ScriptStruct GameFramework.GameThirdPersonCamera.PenetrationAvoidanceFeeler
252 | // 0x0020
253 | struct FPenetrationAvoidanceFeeler
254 | {
255 | struct FRotator AdjustmentRot; // 0x0000 (0x000C) [0x0000000000000001] ( CPF_Edit )
256 | float WorldWeight; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
257 | float PawnWeight; // 0x0010 (0x0004) [0x0000000000000001] ( CPF_Edit )
258 | struct FVector Extent; // 0x0014 (0x000C) [0x0000000000000001] ( CPF_Edit )
259 | };
260 |
261 | // ScriptStruct GameFramework.GameThirdPersonCamera.CamFocusPointParams
262 | // 0x0034
263 | struct FCamFocusPointParams
264 | {
265 | class AActor* FocusActor; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
266 | struct FName FocusBoneName; // 0x0004 (0x0008) [0x0000000000000001] ( CPF_Edit )
267 | struct FVector FocusWorldLoc; // 0x000C (0x000C) [0x0000000000000001] ( CPF_Edit )
268 | float CameraFOV; // 0x0018 (0x0004) [0x0000000000000001] ( CPF_Edit )
269 | struct FVector2D InterpSpeedRange; // 0x001C (0x0008) [0x0000000000000001] ( CPF_Edit )
270 | struct FVector2D InFocusFOV; // 0x0024 (0x0008) [0x0000000000000001] ( CPF_Edit )
271 | unsigned long bAlwaysFocus : 1; // 0x002C (0x0004) [0x0000000000000001] [0x00000001] ( CPF_Edit )
272 | unsigned long bAdjustCamera : 1; // 0x002C (0x0004) [0x0000000000000001] [0x00000002] ( CPF_Edit )
273 | unsigned long bIgnoreTrace : 1; // 0x002C (0x0004) [0x0000000000000001] [0x00000004] ( CPF_Edit )
274 | float FocusPitchOffsetDeg; // 0x0030 (0x0004) [0x0000000000000001] ( CPF_Edit )
275 | };
276 |
277 | // ScriptStruct GameFramework.GameThirdPersonCameraMode.ViewOffsetData
278 | // 0x0024
279 | struct FViewOffsetData
280 | {
281 | struct FVector OffsetHigh; // 0x0000 (0x000C) [0x0000000000000001] ( CPF_Edit )
282 | struct FVector OffsetMid; // 0x000C (0x000C) [0x0000000000000001] ( CPF_Edit )
283 | struct FVector OffsetLow; // 0x0018 (0x000C) [0x0000000000000001] ( CPF_Edit )
284 | };
285 |
286 | // ScriptStruct GameFramework.MobileHUD.MobileInputZone
287 | // 0x005C
288 | struct FMobileInputZone
289 | {
290 | struct FName InputKey; // 0x0000 (0x0008) [0x0000000000000000]
291 | struct FName HorizontalInputKey; // 0x0008 (0x0008) [0x0000000000000000]
292 | struct FName TapInputKey; // 0x0010 (0x0008) [0x0000000000000000]
293 | struct FString Desc; // 0x0018 (0x000C) [0x0000000000500000] ( CPF_NeedCtorLink )
294 | int Config; // 0x0024 (0x0004) [0x0000000000000000]
295 | int X; // 0x0028 (0x0004) [0x0000000000000000]
296 | int Y; // 0x002C (0x0004) [0x0000000000000000]
297 | int SizeX; // 0x0030 (0x0004) [0x0000000000000000]
298 | int SizeY; // 0x0034 (0x0004) [0x0000000000000000]
299 | int Border; // 0x0038 (0x0004) [0x0000000000000000]
300 | unsigned long bIsInvisible : 1; // 0x003C (0x0004) [0x0000000000000000] [0x00000001]
301 | unsigned char Type; // 0x0040 (0x0001) [0x0000000000000000]
302 | unsigned char State; // 0x0041 (0x0001) [0x0000000000000000]
303 | float VertMultiplier; // 0x0044 (0x0004) [0x0000000000000000]
304 | float HorizMultiplier; // 0x0048 (0x0004) [0x0000000000000000]
305 | int CurX; // 0x004C (0x0004) [0x0000000000000000]
306 | int CurY; // 0x0050 (0x0004) [0x0000000000000000]
307 | int CurCenterX; // 0x0054 (0x0004) [0x0000000000000000]
308 | int CurCenterY; // 0x0058 (0x0004) [0x0000000000000000]
309 | };
310 |
311 | // ScriptStruct GameFramework.SeqAct_ModifyProperty.PropertyInfo
312 | // 0x0018
313 | struct FPropertyInfo
314 | {
315 | struct FName PropertyName; // 0x0000 (0x0008) [0x0000000000000001] ( CPF_Edit )
316 | unsigned long bModifyProperty : 1; // 0x0008 (0x0004) [0x0000000000000001] [0x00000001] ( CPF_Edit )
317 | struct FString PropertyValue; // 0x000C (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
318 | };
319 |
320 |
321 | #ifdef _MSC_VER
322 | #pragma pack ( pop )
323 | #endif
--------------------------------------------------------------------------------
/SpecialForce2/SF2_SDK/SDK_HEADERS/Core_structs.h:
--------------------------------------------------------------------------------
1 | /*
2 | #############################################################################################
3 | # Special Force 2 (1.0.46397.0) SDK
4 | # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51
5 | # ========================================================================================= #
6 | # File: Core_structs.h
7 | # ========================================================================================= #
8 | # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL, crylessdomore
9 | # Thanks: HOOAH07, lowHertz
10 | # Forums: www.uc-forum.com, www.gamedeception.net
11 | #############################################################################################
12 | */
13 |
14 | #ifdef _MSC_VER
15 | #pragma pack ( push, 0x4 )
16 | #endif
17 |
18 | /*
19 | # ========================================================================================= #
20 | # Script Structs
21 | # ========================================================================================= #
22 | */
23 |
24 | // ScriptStruct Core.Object.QWord
25 | // 0x0008
26 | struct FQWord
27 | {
28 | int A; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
29 | int B; // 0x0004 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
30 | };
31 |
32 | // ScriptStruct Core.Object.Pointer
33 | // 0x0004
34 | struct FPointer
35 | {
36 | int Dummy; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
37 | };
38 |
39 | // ScriptStruct Core.Object.Rotator
40 | // 0x000C
41 | struct FRotator
42 | {
43 | int Pitch; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
44 | int Yaw; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
45 | int Roll; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
46 | };
47 |
48 | // ScriptStruct Core.Object.Vector
49 | // 0x000C
50 | struct FVector
51 | {
52 | float X; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
53 | float Y; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
54 | float Z; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
55 | };
56 |
57 | // ScriptStruct Core.Object.Plane
58 | // 0x0004(0x0010 - 0x000C)
59 | struct FPlane : FVector
60 | {
61 | float W; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
62 | };
63 |
64 | // ScriptStruct Core.Object.Guid
65 | // 0x0010
66 | struct FGuid
67 | {
68 | int A; // 0x0000 (0x0004) [0x0000000000000000]
69 | int B; // 0x0004 (0x0004) [0x0000000000000000]
70 | int C; // 0x0008 (0x0004) [0x0000000000000000]
71 | int D; // 0x000C (0x0004) [0x0000000000000000]
72 | };
73 |
74 | // ScriptStruct Core.Object.Vector2D
75 | // 0x0008
76 | struct FVector2D
77 | {
78 | float X; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
79 | float Y; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
80 | };
81 |
82 | // ScriptStruct Core.Object.Vector4
83 | // 0x0010
84 | struct FVector4
85 | {
86 | float X; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
87 | float Y; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
88 | float Z; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
89 | float W; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
90 | };
91 |
92 | // ScriptStruct Core.Object.LinearColor
93 | // 0x0010
94 | struct FLinearColor
95 | {
96 | float R; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
97 | float G; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
98 | float B; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
99 | float A; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
100 | };
101 |
102 | // ScriptStruct Core.Object.Color
103 | // 0x0004
104 | struct FColor
105 | {
106 | unsigned char B; // 0x0000 (0x0001) [0x0000000000000001] ( CPF_Edit )
107 | unsigned char G; // 0x0001 (0x0001) [0x0000000000000001] ( CPF_Edit )
108 | unsigned char R; // 0x0002 (0x0001) [0x0000000000000001] ( CPF_Edit )
109 | unsigned char A; // 0x0003 (0x0001) [0x0000000000000001] ( CPF_Edit )
110 | };
111 |
112 | // ScriptStruct Core.Object.InterpCurvePointVector2D
113 | // 0x001D
114 | struct FInterpCurvePointVector2D
115 | {
116 | float InVal; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
117 | struct FVector2D OutVal; // 0x0004 (0x0008) [0x0000000000000001] ( CPF_Edit )
118 | struct FVector2D ArriveTangent; // 0x000C (0x0008) [0x0000000000000001] ( CPF_Edit )
119 | struct FVector2D LeaveTangent; // 0x0014 (0x0008) [0x0000000000000001] ( CPF_Edit )
120 | unsigned char InterpMode; // 0x001C (0x0001) [0x0000000000000001] ( CPF_Edit )
121 | };
122 |
123 | // ScriptStruct Core.Object.InterpCurveVector2D
124 | // 0x000D
125 | struct FInterpCurveVector2D
126 | {
127 | TArray< struct FInterpCurvePointVector2D > Points; // 0x0000 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
128 | unsigned char InterpMethod; // 0x000C (0x0001) [0x0000000000000000]
129 | };
130 |
131 | // ScriptStruct Core.Object.InterpCurvePointFloat
132 | // 0x0011
133 | struct FInterpCurvePointFloat
134 | {
135 | float InVal; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
136 | float OutVal; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
137 | float ArriveTangent; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
138 | float LeaveTangent; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
139 | unsigned char InterpMode; // 0x0010 (0x0001) [0x0000000000000001] ( CPF_Edit )
140 | };
141 |
142 | // ScriptStruct Core.Object.InterpCurveFloat
143 | // 0x000D
144 | struct FInterpCurveFloat
145 | {
146 | TArray< struct FInterpCurvePointFloat > Points; // 0x0000 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
147 | unsigned char InterpMethod; // 0x000C (0x0001) [0x0000000000000000]
148 | };
149 |
150 | // ScriptStruct Core.Object.Cylinder
151 | // 0x0008
152 | struct FCylinder
153 | {
154 | float Radius; // 0x0000 (0x0004) [0x0000000000000000]
155 | float Height; // 0x0004 (0x0004) [0x0000000000000000]
156 | };
157 |
158 | // ScriptStruct Core.Object.InterpCurvePointVector
159 | // 0x0029
160 | struct FInterpCurvePointVector
161 | {
162 | float InVal; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
163 | struct FVector OutVal; // 0x0004 (0x000C) [0x0000000000000001] ( CPF_Edit )
164 | struct FVector ArriveTangent; // 0x0010 (0x000C) [0x0000000000000001] ( CPF_Edit )
165 | struct FVector LeaveTangent; // 0x001C (0x000C) [0x0000000000000001] ( CPF_Edit )
166 | unsigned char InterpMode; // 0x0028 (0x0001) [0x0000000000000001] ( CPF_Edit )
167 | };
168 |
169 | // ScriptStruct Core.Object.InterpCurveVector
170 | // 0x000D
171 | struct FInterpCurveVector
172 | {
173 | TArray< struct FInterpCurvePointVector > Points; // 0x0000 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
174 | unsigned char InterpMethod; // 0x000C (0x0001) [0x0000000000000000]
175 | };
176 |
177 | // ScriptStruct Core.Object.Quat
178 | // 0x0010
179 | struct FQuat
180 | {
181 | float X; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
182 | float Y; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
183 | float Z; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
184 | float W; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
185 | };
186 |
187 | // ScriptStruct Core.Object.Matrix
188 | // 0x0040
189 | struct FMatrix
190 | {
191 | struct FPlane XPlane; // 0x0000 (0x0010) [0x0000000000000001] ( CPF_Edit )
192 | struct FPlane YPlane; // 0x0010 (0x0010) [0x0000000000000001] ( CPF_Edit )
193 | struct FPlane ZPlane; // 0x0020 (0x0010) [0x0000000000000001] ( CPF_Edit )
194 | struct FPlane WPlane; // 0x0030 (0x0010) [0x0000000000000001] ( CPF_Edit )
195 | };
196 |
197 | // ScriptStruct Core.Object.BoxSphereBounds
198 | // 0x001C
199 | struct FBoxSphereBounds
200 | {
201 | struct FVector Origin; // 0x0000 (0x000C) [0x0000000000000000]
202 | struct FVector BoxExtent; // 0x000C (0x000C) [0x0000000000000000]
203 | float SphereRadius; // 0x0018 (0x0004) [0x0000000000000000]
204 | };
205 |
206 | // ScriptStruct Core.Object.TwoVectors
207 | // 0x0018
208 | struct FTwoVectors
209 | {
210 | struct FVector v1; // 0x0000 (0x000C) [0x0000000000000001] ( CPF_Edit )
211 | struct FVector v2; // 0x000C (0x000C) [0x0000000000000001] ( CPF_Edit )
212 | };
213 |
214 | // ScriptStruct Core.Object.TAlphaBlend
215 | // 0x0015
216 | struct FTAlphaBlend
217 | {
218 | float AlphaIn; // 0x0000 (0x0004) [0x0000000000000002] ( CPF_Const )
219 | float AlphaOut; // 0x0004 (0x0004) [0x0000000000000002] ( CPF_Const )
220 | float AlphaTarget; // 0x0008 (0x0004) [0x0000000000000001] ( CPF_Edit )
221 | float BlendTime; // 0x000C (0x0004) [0x0000000000000001] ( CPF_Edit )
222 | float BlendTimeToGo; // 0x0010 (0x0004) [0x0000000000000002] ( CPF_Const )
223 | unsigned char BlendType; // 0x0014 (0x0001) [0x0000000000000001] ( CPF_Edit )
224 | };
225 |
226 | // ScriptStruct Core.Object.BoneAtom
227 | // 0x0020
228 | struct FBoneAtom
229 | {
230 | struct FQuat Rotation; // 0x0000 (0x0010) [0x0000000000000000]
231 | struct FVector Translation; // 0x0010 (0x000C) [0x0000000000000000]
232 | float Scale; // 0x001C (0x0004) [0x0000000000000000]
233 | };
234 |
235 | // ScriptStruct Core.Object.OctreeElementId
236 | // 0x0008
237 | struct FOctreeElementId
238 | {
239 | struct FPointer Node; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
240 | int ElementIndex; // 0x0004 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
241 | };
242 |
243 | // ScriptStruct Core.Object.RenderCommandFence
244 | // 0x0004
245 | struct FRenderCommandFence
246 | {
247 | int NumPendingFences; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
248 | };
249 |
250 | // ScriptStruct Core.Object.RawDistribution
251 | // 0x0018
252 | struct FRawDistribution
253 | {
254 | unsigned char Type; // 0x0000 (0x0001) [0x0000000000000000]
255 | unsigned char Op; // 0x0001 (0x0001) [0x0000000000000000]
256 | unsigned char LookupTableNumElements; // 0x0002 (0x0001) [0x0000000000000000]
257 | unsigned char LookupTableChunkSize; // 0x0003 (0x0001) [0x0000000000000000]
258 | TArray< float > LookupTable; // 0x0004 (0x000C) [0x0000000000400000] ( CPF_NeedCtorLink )
259 | float LookupTableTimeScale; // 0x0010 (0x0004) [0x0000000000000000]
260 | float LookupTableStartTime; // 0x0014 (0x0004) [0x0000000000000000]
261 | };
262 |
263 | // ScriptStruct Core.Object.InterpCurvePointLinearColor
264 | // 0x0035
265 | struct FInterpCurvePointLinearColor
266 | {
267 | float InVal; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
268 | struct FLinearColor OutVal; // 0x0004 (0x0010) [0x0000000000000001] ( CPF_Edit )
269 | struct FLinearColor ArriveTangent; // 0x0014 (0x0010) [0x0000000000000001] ( CPF_Edit )
270 | struct FLinearColor LeaveTangent; // 0x0024 (0x0010) [0x0000000000000001] ( CPF_Edit )
271 | unsigned char InterpMode; // 0x0034 (0x0001) [0x0000000000000001] ( CPF_Edit )
272 | };
273 |
274 | // ScriptStruct Core.Object.InterpCurveLinearColor
275 | // 0x000D
276 | struct FInterpCurveLinearColor
277 | {
278 | TArray< struct FInterpCurvePointLinearColor > Points; // 0x0000 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
279 | unsigned char InterpMethod; // 0x000C (0x0001) [0x0000000000000000]
280 | };
281 |
282 | // ScriptStruct Core.Object.InterpCurvePointQuat
283 | // 0x0041
284 | struct FInterpCurvePointQuat
285 | {
286 | float InVal; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
287 | unsigned char UnknownData00[ 0xC ]; // 0x0004 (0x000C) MISSED OFFSET
288 | struct FQuat OutVal; // 0x0010 (0x0010) [0x0000000000000001] ( CPF_Edit )
289 | struct FQuat ArriveTangent; // 0x0020 (0x0010) [0x0000000000000001] ( CPF_Edit )
290 | struct FQuat LeaveTangent; // 0x0030 (0x0010) [0x0000000000000001] ( CPF_Edit )
291 | unsigned char InterpMode; // 0x0040 (0x0001) [0x0000000000000001] ( CPF_Edit )
292 | };
293 |
294 | // ScriptStruct Core.Object.InterpCurveQuat
295 | // 0x000D
296 | struct FInterpCurveQuat
297 | {
298 | TArray< struct FInterpCurvePointQuat > Points; // 0x0000 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
299 | unsigned char InterpMethod; // 0x000C (0x0001) [0x0000000000000000]
300 | };
301 |
302 | // ScriptStruct Core.Object.InterpCurvePointTwoVectors
303 | // 0x004D
304 | struct FInterpCurvePointTwoVectors
305 | {
306 | float InVal; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
307 | struct FTwoVectors OutVal; // 0x0004 (0x0018) [0x0000000000000001] ( CPF_Edit )
308 | struct FTwoVectors ArriveTangent; // 0x001C (0x0018) [0x0000000000000001] ( CPF_Edit )
309 | struct FTwoVectors LeaveTangent; // 0x0034 (0x0018) [0x0000000000000001] ( CPF_Edit )
310 | unsigned char InterpMode; // 0x004C (0x0001) [0x0000000000000001] ( CPF_Edit )
311 | };
312 |
313 | // ScriptStruct Core.Object.InterpCurveTwoVectors
314 | // 0x000D
315 | struct FInterpCurveTwoVectors
316 | {
317 | TArray< struct FInterpCurvePointTwoVectors > Points; // 0x0000 (0x000C) [0x0000000000400001] ( CPF_Edit | CPF_NeedCtorLink )
318 | unsigned char InterpMethod; // 0x000C (0x0001) [0x0000000000000000]
319 | };
320 |
321 | // ScriptStruct Core.Object.Box
322 | // 0x0019
323 | struct FBox
324 | {
325 | struct FVector Min; // 0x0000 (0x000C) [0x0000000000000001] ( CPF_Edit )
326 | struct FVector Max; // 0x000C (0x000C) [0x0000000000000001] ( CPF_Edit )
327 | unsigned char IsValid; // 0x0018 (0x0001) [0x0000000000000000]
328 | };
329 |
330 | // ScriptStruct Core.Object.TPOV
331 | // 0x001C
332 | struct FTPOV
333 | {
334 | struct FVector Location; // 0x0000 (0x000C) [0x0000000000000001] ( CPF_Edit )
335 | struct FRotator Rotation; // 0x000C (0x000C) [0x0000000000000001] ( CPF_Edit )
336 | float FOV; // 0x0018 (0x0004) [0x0000000000000001] ( CPF_Edit )
337 | };
338 |
339 | // ScriptStruct Core.Object.SHVector
340 | // 0x0030
341 | struct FSHVector
342 | {
343 | float V[ 0x9 ]; // 0x0000 (0x0024) [0x0000000000000001] ( CPF_Edit )
344 | float Padding[ 0x3 ]; // 0x0024 (0x000C) [0x0000000000000000]
345 | };
346 |
347 | // ScriptStruct Core.Object.SHVectorRGB
348 | // 0x0090
349 | struct FSHVectorRGB
350 | {
351 | struct FSHVector R; // 0x0000 (0x0030) [0x0000000000000001] ( CPF_Edit )
352 | struct FSHVector G; // 0x0030 (0x0030) [0x0000000000000001] ( CPF_Edit )
353 | struct FSHVector B; // 0x0060 (0x0030) [0x0000000000000001] ( CPF_Edit )
354 | };
355 |
356 | // ScriptStruct Core.Object.IntPoint
357 | // 0x0008
358 | struct FIntPoint
359 | {
360 | int X; // 0x0000 (0x0004) [0x0000000000000001] ( CPF_Edit )
361 | int Y; // 0x0004 (0x0004) [0x0000000000000001] ( CPF_Edit )
362 | };
363 |
364 | // ScriptStruct Core.Object.Array_Mirror
365 | // 0x000C
366 | struct FArray_Mirror
367 | {
368 | struct FPointer Data; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
369 | int ArrayNum; // 0x0004 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
370 | int ArrayMax; // 0x0008 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
371 | };
372 |
373 | // ScriptStruct Core.Object.InlinePointerArray_Mirror
374 | // 0x0010
375 | struct FInlinePointerArray_Mirror
376 | {
377 | struct FPointer InlineData; // 0x0000 (0x0004) [0x0000000000000002] ( CPF_Const )
378 | struct FArray_Mirror SecondaryData; // 0x0004 (0x000C) [0x0000000000000002] ( CPF_Const )
379 | };
380 |
381 | // ScriptStruct Core.Object.IndirectArray_Mirror
382 | // 0x000C
383 | struct FIndirectArray_Mirror
384 | {
385 | struct FPointer Data; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
386 | int ArrayNum; // 0x0004 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
387 | int ArrayMax; // 0x0008 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
388 | };
389 |
390 | // ScriptStruct Core.Object.FColorVertexBuffer_Mirror
391 | // 0x0014
392 | struct FFColorVertexBuffer_Mirror
393 | {
394 | struct FPointer VfTable; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
395 | struct FPointer VertexData; // 0x0004 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
396 | int Data; // 0x0008 (0x0004) [0x0000000000000002] ( CPF_Const )
397 | int Stride; // 0x000C (0x0004) [0x0000000000000002] ( CPF_Const )
398 | int NumVertices; // 0x0010 (0x0004) [0x0000000000000002] ( CPF_Const )
399 | };
400 |
401 | // ScriptStruct Core.Object.RenderCommandFence_Mirror
402 | // 0x0004
403 | struct FRenderCommandFence_Mirror
404 | {
405 | int NumPendingFences; // 0x0000 (0x0004) [0x0000000000003002] ( CPF_Const | CPF_Native | CPF_Transient )
406 | };
407 |
408 | // ScriptStruct Core.Object.UntypedBulkData_Mirror
409 | // 0x0034
410 | struct FUntypedBulkData_Mirror
411 | {
412 | struct FPointer VfTable; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
413 | int BulkDataFlags; // 0x0004 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
414 | int ElementCount; // 0x0008 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
415 | int BulkDataOffsetInFile; // 0x000C (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
416 | int BulkDataSizeOnDisk; // 0x0010 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
417 | int SavedBulkDataFlags; // 0x0014 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
418 | int SavedElementCount; // 0x0018 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
419 | int SavedBulkDataOffsetInFile; // 0x001C (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
420 | int SavedBulkDataSizeOnDisk; // 0x0020 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
421 | struct FPointer BulkData; // 0x0024 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
422 | int LockStatus; // 0x0028 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
423 | struct FPointer AttachedAr; // 0x002C (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
424 | int bShouldFreeOnEmpty; // 0x0030 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
425 | };
426 |
427 | // ScriptStruct Core.Object.BitArray_Mirror
428 | // 0x001C
429 | struct FBitArray_Mirror
430 | {
431 | struct FPointer IndirectData; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
432 | int InlineData[ 0x4 ]; // 0x0004 (0x0010) [0x0000000000001002] ( CPF_Const | CPF_Native )
433 | int NumBits; // 0x0014 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
434 | int MaxBits; // 0x0018 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
435 | };
436 |
437 | // ScriptStruct Core.Object.SparseArray_Mirror
438 | // 0x0030
439 | struct FSparseArray_Mirror
440 | {
441 | TArray< int > Elements; // 0x0000 (0x000C) [0x0000000000001002] ( CPF_Const | CPF_Native )
442 | struct FBitArray_Mirror AllocationFlags; // 0x000C (0x001C) [0x0000000000001002] ( CPF_Const | CPF_Native )
443 | int FirstFreeIndex; // 0x0028 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
444 | int NumFreeIndices; // 0x002C (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
445 | };
446 |
447 | // ScriptStruct Core.Object.Set_Mirror
448 | // 0x003C
449 | struct FSet_Mirror
450 | {
451 | struct FSparseArray_Mirror Elements; // 0x0000 (0x0030) [0x0000000000001002] ( CPF_Const | CPF_Native )
452 | struct FPointer Hash; // 0x0030 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
453 | int InlineHash; // 0x0034 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
454 | int HashSize; // 0x0038 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
455 | };
456 |
457 | // ScriptStruct Core.Object.MultiMap_Mirror
458 | // 0x003C
459 | struct FMultiMap_Mirror
460 | {
461 | struct FSet_Mirror Pairs; // 0x0000 (0x003C) [0x0000000000001002] ( CPF_Const | CPF_Native )
462 | };
463 |
464 | // ScriptStruct Core.Object.Map_Mirror
465 | // 0x003C
466 | struct FMap_Mirror
467 | {
468 | struct FSet_Mirror Pairs; // 0x0000 (0x003C) [0x0000000000001002] ( CPF_Const | CPF_Native )
469 | };
470 |
471 | // ScriptStruct Core.Object.ThreadSafeCounter
472 | // 0x0004
473 | struct FThreadSafeCounter
474 | {
475 | int Value; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
476 | };
477 |
478 | // ScriptStruct Core.Object.Double
479 | // 0x0008
480 | struct FDouble
481 | {
482 | int A; // 0x0000 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
483 | int B; // 0x0004 (0x0004) [0x0000000000001002] ( CPF_Const | CPF_Native )
484 | };
485 |
486 | // ScriptStruct Core.DistributionFloat.RawDistributionFloat
487 | // 0x0004(0x001C - 0x0018)
488 | struct FRawDistributionFloat : FRawDistribution
489 | {
490 | class UDistributionFloat* Distribution; // 0x0018 (0x0004) [0x0000000006080009] ( CPF_Edit | CPF_ExportObject | CPF_Component | CPF_NoClear | CPF_EditInline )
491 | };
492 |
493 | // ScriptStruct Core.DistributionVector.RawDistributionVector
494 | // 0x0004(0x001C - 0x0018)
495 | struct FRawDistributionVector : FRawDistribution
496 | {
497 | class UDistributionVector* Distribution; // 0x0018 (0x0004) [0x0000000006080009] ( CPF_Edit | CPF_ExportObject | CPF_Component | CPF_NoClear | CPF_EditInline )
498 | };
499 |
500 |
501 | #ifdef _MSC_VER
502 | #pragma pack ( pop )
503 | #endif
--------------------------------------------------------------------------------