├── Project IC.sln
├── Project IC
├── Project IC.vcxproj
├── Project IC.vcxproj.filters
├── Project IC.vcxproj.user
└── Project IC
│ ├── DLLMain.cpp
│ ├── Features
│ ├── Aimbot
│ │ ├── Aimbot.cpp
│ │ └── Aimbot.h
│ ├── Menu
│ │ ├── Input
│ │ │ ├── Input.cpp
│ │ │ └── Input.h
│ │ ├── Menu.cpp
│ │ └── Menu.h
│ ├── Misc
│ │ ├── Misc.cpp
│ │ └── Misc.h
│ ├── Prediction
│ │ ├── Prediction.cpp
│ │ └── Prediction.h
│ ├── Triggerbot
│ │ ├── TriggerBot.cpp
│ │ ├── TriggerBot.h
│ │ ├── TriggerShoot
│ │ │ ├── TriggerShoot.cpp
│ │ │ └── TriggerShoot.h
│ │ └── TriggerStab
│ │ │ ├── TriggerStab.cpp
│ │ │ └── TriggerStab.h
│ └── Visuals
│ │ ├── Chams
│ │ ├── Chams.cpp
│ │ └── Chams.h
│ │ ├── ESP
│ │ ├── ESP.cpp
│ │ └── ESP.h
│ │ ├── Radar
│ │ ├── Radar.cpp
│ │ └── Radar.h
│ │ ├── SpectatorList
│ │ ├── SpectatorList.cpp
│ │ └── SpectatorList.h
│ │ ├── SpyWarning
│ │ ├── SpyWarning.cpp
│ │ └── SpyWarning.h
│ │ ├── Visuals.cpp
│ │ └── Visuals.h
│ ├── Hooks
│ ├── ClientHook
│ │ ├── ClientHook.cpp
│ │ └── ClientHook.h
│ ├── ClientModeHook
│ │ ├── ClientModeHook.cpp
│ │ └── ClientModeHook.h
│ ├── EngineClientHook
│ │ ├── EngineClientHook.cpp
│ │ └── EngineClientHook.h
│ ├── EngineVGuiHook
│ │ ├── EngineVGuiHook.cpp
│ │ └── EngineVGuiHook.h
│ ├── Hooks.cpp
│ ├── Hooks.h
│ ├── ModelRenderHook
│ │ ├── ModelRenderHook.cpp
│ │ └── ModelRenderHook.h
│ ├── PanelHook
│ │ ├── PanelHook.cpp
│ │ └── PanelHook.h
│ ├── PredictionHook
│ │ ├── PredictionHook.cpp
│ │ └── PredictionHook.h
│ ├── SurfaceHook
│ │ ├── SurfaceHook.cpp
│ │ └── SurfaceHook.h
│ └── WndProcHook
│ │ ├── WndProcHook.cpp
│ │ └── WndProcHook.h
│ ├── SDK
│ ├── Includes
│ │ ├── Classes.h
│ │ ├── Const.h
│ │ ├── Enums.h
│ │ ├── Includes.h
│ │ ├── MD5.cpp
│ │ ├── MD5.h
│ │ ├── Structs.h
│ │ ├── dt_common.h
│ │ ├── dt_recv.h
│ │ └── icons.h
│ ├── Interfaces
│ │ ├── BaseClientDLL
│ │ │ └── BaseClientDLL.h
│ │ ├── ClientDLLSharedAppSystems
│ │ │ └── ClientDLLSharedAppSystems.h
│ │ ├── ClientEntityList
│ │ │ └── ClientEntityList.h
│ │ ├── ClientModeShared
│ │ │ └── ClientModeShared.h
│ │ ├── ConVar
│ │ │ ├── ConVar.cpp
│ │ │ └── ConVar.h
│ │ ├── DebugOverlay
│ │ │ └── DebugOverlay.h
│ │ ├── EngineClient
│ │ │ └── EngineClient.h
│ │ ├── EngineTrace
│ │ │ └── EngineTrace.h
│ │ ├── EngineVGui
│ │ │ └── EngineVGui.h
│ │ ├── GameEvent
│ │ │ └── GameEvent.h
│ │ ├── GameMovement
│ │ │ └── GameMovement.h
│ │ ├── GlobalVarsBase
│ │ │ └── GlobalVarsBase.h
│ │ ├── Interfaces.cpp
│ │ ├── Interfaces.h
│ │ ├── Material
│ │ │ └── Material.h
│ │ ├── ModelInfo
│ │ │ └── ModelInfo.h
│ │ ├── ModelRender
│ │ │ └── ModelRender.h
│ │ ├── MoveHelper
│ │ │ └── MoveHelper.h
│ │ ├── NetChannel
│ │ │ ├── NetChannel.cpp
│ │ │ └── NetChannel.h
│ │ ├── Panel
│ │ │ └── Panel.h
│ │ ├── Prediction
│ │ │ └── Prediction.h
│ │ ├── RenderView
│ │ │ └── RenderView.h
│ │ ├── Steam
│ │ │ ├── AppTicketCommon.h
│ │ │ ├── AppsCommon.h
│ │ │ ├── BillingCommon.h
│ │ │ ├── BridgeCommon.h
│ │ │ ├── CCallback.h
│ │ │ ├── CGameID.h
│ │ │ ├── CSteamAPIContext.h
│ │ │ ├── CSteamID.h
│ │ │ ├── ClientCommon.h
│ │ │ ├── ContentServerCommon.h
│ │ │ ├── ControllerCommon.h
│ │ │ ├── ECurrencyCode.h
│ │ │ ├── EResult.h
│ │ │ ├── ESteamAppUpdateStatsQueryType.h
│ │ │ ├── ESteamBufferMethod.h
│ │ │ ├── ESteamError.h
│ │ │ ├── ESteamFindFilter.h
│ │ │ ├── ESteamNotify.h
│ │ │ ├── ESteamPaymentCardType.h
│ │ │ ├── ESteamSeekMethod.h
│ │ │ ├── ESteamServerType.h
│ │ │ ├── ESteamSubscriptionBillingInfoType.h
│ │ │ ├── ESteamSubscriptionStatus.h
│ │ │ ├── EVoiceResult.h
│ │ │ ├── FriendGameInfo.h
│ │ │ ├── FriendsCommon.h
│ │ │ ├── GameCoordinatorCommon.h
│ │ │ ├── GameServerCommon.h
│ │ │ ├── GameServerStatsCommon.h
│ │ │ ├── GameStatsCommon.h
│ │ │ ├── HTTPCommon.h
│ │ │ ├── IClientAppManager.h
│ │ │ ├── IClientApps.h
│ │ │ ├── IClientAudio.h
│ │ │ ├── IClientBilling.h
│ │ │ ├── IClientConfigStore.h
│ │ │ ├── IClientContentServer.h
│ │ │ ├── IClientDepotBuilder.h
│ │ │ ├── IClientDeviceAuth.h
│ │ │ ├── IClientEngine.h
│ │ │ ├── IClientFriends.h
│ │ │ ├── IClientGameCoordinator.h
│ │ │ ├── IClientGameServer.h
│ │ │ ├── IClientGameServerStats.h
│ │ │ ├── IClientGameStats.h
│ │ │ ├── IClientHTTP.h
│ │ │ ├── IClientInventory.h
│ │ │ ├── IClientMasterServerUpdater.h
│ │ │ ├── IClientMatchmaking.h
│ │ │ ├── IClientMatchmakingServers.h
│ │ │ ├── IClientMusic.h
│ │ │ ├── IClientNetworkDeviceManager.h
│ │ │ ├── IClientNetworking.h
│ │ │ ├── IClientProductBuilder.h
│ │ │ ├── IClientRemoteStorage.h
│ │ │ ├── IClientScreenshots.h
│ │ │ ├── IClientShortcuts.h
│ │ │ ├── IClientStreamClient.h
│ │ │ ├── IClientStreamLauncher.h
│ │ │ ├── IClientUGC.h
│ │ │ ├── IClientUnifiedMessages.h
│ │ │ ├── IClientUser.h
│ │ │ ├── IClientUserStats.h
│ │ │ ├── IClientUtils.h
│ │ │ ├── ISteam003.h
│ │ │ ├── ISteam004.h
│ │ │ ├── ISteam005.h
│ │ │ ├── ISteam006.h
│ │ │ ├── ISteam2Bridge001.h
│ │ │ ├── ISteam2Bridge002.h
│ │ │ ├── ISteamAppList001.h
│ │ │ ├── ISteamAppTicket001.h
│ │ │ ├── ISteamApps001.h
│ │ │ ├── ISteamApps002.h
│ │ │ ├── ISteamApps003.h
│ │ │ ├── ISteamApps004.h
│ │ │ ├── ISteamApps005.h
│ │ │ ├── ISteamApps006.h
│ │ │ ├── ISteamApps007.h
│ │ │ ├── ISteamBilling001.h
│ │ │ ├── ISteamBilling002.h
│ │ │ ├── ISteamClient006.h
│ │ │ ├── ISteamClient007.h
│ │ │ ├── ISteamClient008.h
│ │ │ ├── ISteamClient009.h
│ │ │ ├── ISteamClient010.h
│ │ │ ├── ISteamClient011.h
│ │ │ ├── ISteamClient012.h
│ │ │ ├── ISteamClient013.h
│ │ │ ├── ISteamClient014.h
│ │ │ ├── ISteamClient015.h
│ │ │ ├── ISteamClient016.h
│ │ │ ├── ISteamClient017.h
│ │ │ ├── ISteamContentServer001.h
│ │ │ ├── ISteamContentServer002.h
│ │ │ ├── ISteamController001.h
│ │ │ ├── ISteamFriends001.h
│ │ │ ├── ISteamFriends002.h
│ │ │ ├── ISteamFriends003.h
│ │ │ ├── ISteamFriends004.h
│ │ │ ├── ISteamFriends005.h
│ │ │ ├── ISteamFriends006.h
│ │ │ ├── ISteamFriends007.h
│ │ │ ├── ISteamFriends008.h
│ │ │ ├── ISteamFriends009.h
│ │ │ ├── ISteamFriends010.h
│ │ │ ├── ISteamFriends011.h
│ │ │ ├── ISteamFriends012.h
│ │ │ ├── ISteamFriends013.h
│ │ │ ├── ISteamFriends014.h
│ │ │ ├── ISteamFriends015.h
│ │ │ ├── ISteamGameCoordinator001.h
│ │ │ ├── ISteamGameServer002.h
│ │ │ ├── ISteamGameServer003.h
│ │ │ ├── ISteamGameServer004.h
│ │ │ ├── ISteamGameServer005.h
│ │ │ ├── ISteamGameServer006.h
│ │ │ ├── ISteamGameServer007.h
│ │ │ ├── ISteamGameServer008.h
│ │ │ ├── ISteamGameServer009.h
│ │ │ ├── ISteamGameServer010.h
│ │ │ ├── ISteamGameServer011.h
│ │ │ ├── ISteamGameServer012.h
│ │ │ ├── ISteamGameServerStats001.h
│ │ │ ├── ISteamGameStats001.h
│ │ │ ├── ISteamHTTP001.h
│ │ │ ├── ISteamHTTP002.h
│ │ │ ├── ISteamInventory001.h
│ │ │ ├── ISteamMasterServerUpdater001.h
│ │ │ ├── ISteamMatchmaking001.h
│ │ │ ├── ISteamMatchmaking002.h
│ │ │ ├── ISteamMatchmaking003.h
│ │ │ ├── ISteamMatchmaking004.h
│ │ │ ├── ISteamMatchmaking005.h
│ │ │ ├── ISteamMatchmaking006.h
│ │ │ ├── ISteamMatchmaking007.h
│ │ │ ├── ISteamMatchmaking008.h
│ │ │ ├── ISteamMatchmaking009.h
│ │ │ ├── ISteamMatchmakingServers001.h
│ │ │ ├── ISteamMatchmakingServers002.h
│ │ │ ├── ISteamMusic001.h
│ │ │ ├── ISteamNetworking001.h
│ │ │ ├── ISteamNetworking002.h
│ │ │ ├── ISteamNetworking003.h
│ │ │ ├── ISteamNetworking004.h
│ │ │ ├── ISteamNetworking005.h
│ │ │ ├── ISteamOAuth001.h
│ │ │ ├── ISteamRemoteStorage001.h
│ │ │ ├── ISteamRemoteStorage002.h
│ │ │ ├── ISteamRemoteStorage003.h
│ │ │ ├── ISteamRemoteStorage004.h
│ │ │ ├── ISteamRemoteStorage005.h
│ │ │ ├── ISteamRemoteStorage006.h
│ │ │ ├── ISteamRemoteStorage007.h
│ │ │ ├── ISteamRemoteStorage008.h
│ │ │ ├── ISteamRemoteStorage009.h
│ │ │ ├── ISteamRemoteStorage010.h
│ │ │ ├── ISteamRemoteStorage011.h
│ │ │ ├── ISteamRemoteStorage012.h
│ │ │ ├── ISteamScreenshots001.h
│ │ │ ├── ISteamScreenshots002.h
│ │ │ ├── ISteamStreamLauncher001.h
│ │ │ ├── ISteamUGC001.h
│ │ │ ├── ISteamUGC002.h
│ │ │ ├── ISteamUGC003.h
│ │ │ ├── ISteamUnifiedMessages001.h
│ │ │ ├── ISteamUser004.h
│ │ │ ├── ISteamUser005.h
│ │ │ ├── ISteamUser006.h
│ │ │ ├── ISteamUser007.h
│ │ │ ├── ISteamUser008.h
│ │ │ ├── ISteamUser009.h
│ │ │ ├── ISteamUser010.h
│ │ │ ├── ISteamUser011.h
│ │ │ ├── ISteamUser012.h
│ │ │ ├── ISteamUser013.h
│ │ │ ├── ISteamUser014.h
│ │ │ ├── ISteamUser015.h
│ │ │ ├── ISteamUser016.h
│ │ │ ├── ISteamUser017.h
│ │ │ ├── ISteamUserStats001.h
│ │ │ ├── ISteamUserStats002.h
│ │ │ ├── ISteamUserStats003.h
│ │ │ ├── ISteamUserStats004.h
│ │ │ ├── ISteamUserStats005.h
│ │ │ ├── ISteamUserStats006.h
│ │ │ ├── ISteamUserStats007.h
│ │ │ ├── ISteamUserStats008.h
│ │ │ ├── ISteamUserStats009.h
│ │ │ ├── ISteamUserStats010.h
│ │ │ ├── ISteamUserStats011.h
│ │ │ ├── ISteamUtils001.h
│ │ │ ├── ISteamUtils002.h
│ │ │ ├── ISteamUtils003.h
│ │ │ ├── ISteamUtils004.h
│ │ │ ├── ISteamUtils005.h
│ │ │ ├── ISteamUtils006.h
│ │ │ ├── ISteamUtils007.h
│ │ │ ├── Interface_OSW.h
│ │ │ ├── InventoryCommon.h
│ │ │ ├── MasterServerUpdaterCommon.h
│ │ │ ├── MatchMakingKeyValuePair.h
│ │ │ ├── MatchmakingCommon.h
│ │ │ ├── MatchmakingServersCommon.h
│ │ │ ├── MusicCommon.h
│ │ │ ├── NetworkingCommon.h
│ │ │ ├── OAuthCommon.h
│ │ │ ├── POSIXLibrary.h
│ │ │ ├── RemoteStorageCommon.h
│ │ │ ├── ScreenshotsCommon.h
│ │ │ ├── Steam.h
│ │ │ ├── SteamAPI.h
│ │ │ ├── SteamSalt.h
│ │ │ ├── SteamTypes.h
│ │ │ ├── Steamclient.h
│ │ │ ├── SteamclientAPI.h
│ │ │ ├── Steamworks.h
│ │ │ ├── StreamLauncherCommon.h
│ │ │ ├── TSteamApp.h
│ │ │ ├── TSteamAppDependencyInfo.h
│ │ │ ├── TSteamAppLaunchOption.h
│ │ │ ├── TSteamAppStats.h
│ │ │ ├── TSteamAppVersion.h
│ │ │ ├── TSteamDiscountQualifier.h
│ │ │ ├── TSteamElemInfo.h
│ │ │ ├── TSteamError.h
│ │ │ ├── TSteamExternalBillingInfo.h
│ │ │ ├── TSteamGlobalUserID.h
│ │ │ ├── TSteamOfflineStatus.h
│ │ │ ├── TSteamPaymentCardInfo.h
│ │ │ ├── TSteamPaymentCardReceiptInfo.h
│ │ │ ├── TSteamPrepurchaseInfo.h
│ │ │ ├── TSteamPrepurchaseReceiptInfo.h
│ │ │ ├── TSteamProgress.h
│ │ │ ├── TSteamSplitLocalUserID.h
│ │ │ ├── TSteamSubscription.h
│ │ │ ├── TSteamSubscriptionBillingInfo.h
│ │ │ ├── TSteamSubscriptionDiscount.h
│ │ │ ├── TSteamSubscriptionReceipt.h
│ │ │ ├── TSteamSubscriptionStats.h
│ │ │ ├── TSteamUpdateStats.h
│ │ │ ├── UGCCommon.h
│ │ │ ├── UnifiedMessagesCommon.h
│ │ │ ├── UserCommon.h
│ │ │ ├── UserStatsCommon.h
│ │ │ ├── UtilsCommon.h
│ │ │ ├── Win32Library.h
│ │ │ ├── gameserveritem.h
│ │ │ └── servernetadr.h
│ │ ├── Surface
│ │ │ └── Surface.h
│ │ └── ViewRender
│ │ │ └── ViewRender.h
│ ├── Main
│ │ ├── BaseCombatWeapon
│ │ │ ├── BaseCombatWeapon.cpp
│ │ │ └── BaseCombatWeapon.h
│ │ ├── BaseEntity
│ │ │ ├── AnimState
│ │ │ │ ├── Activity.h
│ │ │ │ ├── BaseAnimatingOverlay.h
│ │ │ │ ├── MultiPlayerAnimState.h
│ │ │ │ └── TFPlayerAnimState.h
│ │ │ ├── BaseEntity.cpp
│ │ │ └── BaseEntity.h
│ │ ├── BaseObject
│ │ │ ├── BaseObject.cpp
│ │ │ └── BaseObject.h
│ │ ├── ConVars
│ │ │ ├── ConVars.cpp
│ │ │ └── ConVars.h
│ │ ├── DrawUtils
│ │ │ ├── DrawUtils.cpp
│ │ │ └── DrawUtils.h
│ │ ├── EntityCache
│ │ │ ├── EntityCache.cpp
│ │ │ └── EntityCache.h
│ │ ├── GlobalInfo
│ │ │ └── GlobalInfo.h
│ │ └── VisCheck
│ │ │ ├── VisCheck.cpp
│ │ │ └── VisCheck.h
│ ├── NetVars
│ │ ├── NetVars.cpp
│ │ └── NetVars.h
│ └── SDK.h
│ └── Utils
│ ├── Color
│ └── Color.h
│ ├── Hash
│ ├── Hash.cpp
│ └── Hash.h
│ ├── Interface
│ ├── Interface.cpp
│ └── Interface.h
│ ├── Math
│ └── Math.h
│ ├── Pattern
│ ├── Pattern.cpp
│ └── Pattern.h
│ ├── Utils.h
│ ├── UtlVector
│ └── UtlVector.h
│ ├── VFunc
│ └── VFunc.h
│ └── VMT
│ └── VMT.h
└── README.md
/Project IC.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio Version 16
4 | VisualStudioVersion = 16.0.29905.134
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IC", "Project IC\Project IC.vcxproj", "{B0E892F3-31FF-4AC4-9D80-C58D98FD5E3F}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|x86 = Debug|x86
11 | Release|x86 = Release|x86
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {B0E892F3-31FF-4AC4-9D80-C58D98FD5E3F}.Debug|x86.ActiveCfg = Debug|Win32
15 | {B0E892F3-31FF-4AC4-9D80-C58D98FD5E3F}.Debug|x86.Build.0 = Debug|Win32
16 | {B0E892F3-31FF-4AC4-9D80-C58D98FD5E3F}.Release|x86.ActiveCfg = Release|Win32
17 | {B0E892F3-31FF-4AC4-9D80-C58D98FD5E3F}.Release|x86.Build.0 = Release|Win32
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {E75861D4-4DA3-4D9A-A9E0-213AA9064809}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Project IC/Project IC.vcxproj.user:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Project IC/Project IC/DLLMain.cpp:
--------------------------------------------------------------------------------
1 | #include "Hooks/Hooks.h"
2 |
3 | #include "Features/Visuals/Chams/Chams.h"
4 |
5 | DWORD WINAPI MainThread(LPVOID lpParam)
6 | {
7 | gSteam.Init();
8 | gInts.Init();
9 | gNetVars.Init();
10 | gHooks.Init();
11 | gConVars.Init();
12 | gChams.InitMaterials();
13 | gDraw.InitFonts
14 | ({
15 | //FONT_ESP
16 | { 0x0, "Tahoma", 12, 0, FONTFLAG_NONE },
17 | //FONT_ESP_OUTLINED
18 | { 0x0, "Tahoma", 12, 0, FONTFLAG_OUTLINE },
19 |
20 | //FONT_ESP_NAME
21 | { 0x0, "Tahoma", 13, 0, FONTFLAG_NONE },
22 | //FONT_ESP_NAME_OUTLINED
23 | { 0x0, "Tahoma", 13, 0, FONTFLAG_OUTLINE },
24 |
25 | //FONT_ESP_COND
26 | { 0x0, "Consolas", 10, 0, FONTFLAG_NONE },
27 | //FONT_ESP_COND_OUTLINED
28 | { 0x0, "Consolas", 10, 0, FONTFLAG_OUTLINE },
29 |
30 | //FONT_ESP_PICKUPS
31 | { 0x0, "Tahoma", 11, 0, FONTFLAG_NONE },
32 | //FONT_ESP_PICKUPS_OUTLINED
33 | { 0x0, "Tahoma", 11, 0, FONTFLAG_OUTLINE },
34 |
35 | //FONT_DEBUG
36 | { 0x0, "Arial", 16, 0, FONTFLAG_OUTLINE },
37 | //FONT_MENU
38 | { 0x0, "Segoe UI", 13, 0, FONTFLAG_ANTIALIAS },
39 | //FONT_MENU_NAME
40 | { 0x0, "Segoe UI", 20, 0, FONTFLAG_ANTIALIAS }
41 | });
42 |
43 | //CSteamID csLocal = gSteam.User->GetSteamID();
44 | //csLocal.Render() = Steam ID
45 | //csLocal.SteamRender() = Steam ID3
46 |
47 | //Stuck at this, as long as "panic" key is not pressed.
48 | while (!(GetAsyncKeyState(VK_F11) & 0x8000))
49 | std::this_thread::sleep_for(std::chrono::seconds(1));
50 |
51 | //releasing them in DLL DETACH just crashed the game on a normal exit
52 | //when our dll unloads after the game and baseclass is inaccessible
53 | gHooks.Release();
54 | FreeLibraryAndExitThread(static_cast(lpParam), EXIT_SUCCESS);
55 | }
56 |
57 | BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
58 | {
59 | switch (fdwReason)
60 | {
61 | case DLL_PROCESS_ATTACH: {
62 | if (HANDLE hMain = CreateThread(0, 0, MainThread, hinstDLL, 0, 0)) CloseHandle(hMain);
63 | break;
64 | }
65 |
66 | default: break;
67 | }
68 |
69 | return TRUE;
70 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Menu/Input/Input.cpp:
--------------------------------------------------------------------------------
1 | #include "Input.h"
2 |
3 | void C_Input::Update()
4 | {
5 | for (auto &Key : gInput.m_Keyboard) {
6 | if (Key.second != EKeyState::NONE)
7 | Key.second = EKeyState::HELD;
8 | }
9 |
10 | if (gInput.m_RMouse != EKeyState::NONE)
11 | gInput.m_RMouse = EKeyState::HELD;
12 |
13 | if (gInput.m_LMouse != EKeyState::NONE)
14 | gInput.m_LMouse = EKeyState::HELD;
15 |
16 | if (gInput.m_MMouse != EKeyState::NONE)
17 | gInput.m_MMouse = EKeyState::HELD;
18 | }
19 |
20 | EKeyState C_Input::GetKey(int key)
21 | {
22 | return m_Keyboard[key];
23 | }
24 |
25 | EKeyState C_Input::GetMouse(int key)
26 | {
27 | switch (key)
28 | {
29 | case VK_RBUTTON: { return m_RMouse; }
30 | case VK_LBUTTON: { return m_LMouse; }
31 | case VK_MBUTTON: { return m_MMouse; }
32 | }
33 |
34 | return {};
35 | }
36 |
37 | C_Input gInput;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Menu/Input/Input.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../../SDK/Includes/Includes.h"
3 |
4 | enum struct EKeyState {
5 | NONE,
6 | PRESSED,
7 | HELD
8 | };
9 |
10 | enum struct EScrollWheelState {
11 | NONE,
12 | UP,
13 | DOWN
14 | };
15 |
16 | class C_Input
17 | {
18 | public:
19 | std::map m_Keyboard = {};
20 | EKeyState m_RMouse = {};
21 | EKeyState m_LMouse = {};
22 | EKeyState m_MMouse = {};
23 | EScrollWheelState m_Wheel = {};
24 |
25 | void Update();
26 |
27 | EKeyState GetKey(int key);
28 | EKeyState GetMouse(int key);
29 | };
30 |
31 | extern C_Input gInput;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Menu/Menu.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | enum struct EItemType {
5 | DEFAULT,
6 | INT,
7 | FLOAT,
8 | BOOL
9 | };
10 |
11 | class CItemBase
12 | {
13 | public:
14 | std::string m_Name = {};
15 | EItemType e_Type = EItemType::DEFAULT;
16 | CItemBase(EItemType type, const std::string &name) : e_Type(type), m_Name(name) {};
17 | };
18 |
19 | class CItemInt : public CItemBase
20 | {
21 | public:
22 | int *m_Ptr = nullptr;
23 | std::vector> m_Aliases = {};
24 | int m_Min = std::numeric_limits::min();
25 | int m_Max = std::numeric_limits::max();
26 |
27 | int m_AliasIdx = 0;
28 |
29 | CItemInt(const std::string &name,
30 | int *ptr,
31 | std::vector> aliases = {},
32 | int min = std::numeric_limits::min(),
33 | int max = std::numeric_limits::max())
34 | : CItemBase(EItemType::INT, name), m_Ptr(ptr), m_Aliases(aliases), m_Min(min), m_Max(max)
35 | {
36 | if (!m_Aliases.empty())
37 | {
38 | bool Found = false;
39 |
40 | for (const auto &Alias : this->m_Aliases)
41 | {
42 | if (*reinterpret_cast(this->m_Ptr) == Alias.first) {
43 | this->m_AliasIdx = Alias.first;
44 | Found = true;
45 | break;
46 | }
47 | }
48 |
49 | if (!Found)
50 | *reinterpret_cast(this->m_Ptr) = this->m_Aliases.at(0).first;
51 | }
52 | }
53 | };
54 |
55 | class CItemFloat : public CItemBase
56 | {
57 | public:
58 | float *m_Ptr = nullptr;
59 | float m_Step = 1.0f;
60 | float m_Min = std::numeric_limits::min();
61 | float m_Max = std::numeric_limits::max();
62 |
63 | CItemFloat(const std::string &name,
64 | float *ptr,
65 | float step = 1.0f,
66 | float min = std::numeric_limits::min(),
67 | float max = std::numeric_limits::max())
68 | : CItemBase(EItemType::FLOAT, name), m_Ptr(ptr), m_Step(step), m_Min(min), m_Max(max) {}
69 | };
70 |
71 | class CItemBool : public CItemBase
72 | {
73 | public:
74 | bool *m_Ptr = nullptr;
75 | CItemBool(const std::string &name, bool *ptr) : CItemBase(EItemType::BOOL, name), m_Ptr(ptr) {}
76 | };
77 |
78 | class CItemGroup
79 | {
80 | public:
81 | std::string m_Name = {};
82 | std::vector m_Items = {};
83 | bool m_Open = true;
84 | };
85 |
86 | class CItemList
87 | {
88 | public:
89 | std::string m_Name = {};
90 | std::vector m_ItemGroups = {};
91 | };
92 |
93 | class CMenu
94 | {
95 | private:
96 | std::vector m_ItemLists = {};
97 | void CreateLists();
98 |
99 | public:
100 | bool m_Open = false;
101 | bool m_OnAimbotFOV = false;
102 |
103 | ~CMenu();
104 | void Run();
105 | };
106 |
107 | extern CMenu gMenu;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Misc/Misc.cpp:
--------------------------------------------------------------------------------
1 | #include "Misc.h"
2 |
3 | void C_Misc::DoBunnyhop(C_UserCmd *pCmd)
4 | {
5 | if (auto pLocal{ gEntCache.pLocal })
6 | {
7 | if (!bBunnyhop ||
8 | !pLocal->IsAlive() ||
9 | pLocal->IsSwimming())
10 | return;
11 |
12 | static bool bJumpState = false;
13 |
14 | if (pCmd->buttons & IN_JUMP)
15 | {
16 | if (!bJumpState && !pLocal->IsOnGround())
17 | pCmd->buttons &= ~IN_JUMP;
18 |
19 | else if (bJumpState)
20 | bJumpState = false;
21 | }
22 |
23 | else if (!bJumpState)
24 | bJumpState = true;
25 | }
26 | }
27 |
28 | void C_Misc::DoStrafe(C_UserCmd* pCmd)
29 | {
30 | //I hope this aint too complicated
31 | if (auto pLocal{ gEntCache.pLocal })
32 | {
33 | if (!bAutoStrafe ||
34 | !pLocal->IsAlive() ||
35 | pLocal->IsSwimming() ||
36 | pLocal->IsOnGround())
37 | return;
38 |
39 | if (pCmd->mousedx > 1 || pCmd->mousedx < -1)
40 | pCmd->sidemove = pCmd->mousedx > 1 ? 450.f : -450.f;
41 | }
42 | }
43 |
44 | //Very simple, comparing if we are on ground currently and predicted.
45 | void C_Misc::DoEdgeJump(C_UserCmd* pCmd, int nOldFlags)
46 | {
47 | if (auto pLocal{ gEntCache.pLocal })
48 | {
49 | if (!bEdgeJump || !pLocal->IsAlive() || pLocal->IsSwimming())
50 | return;
51 |
52 | if (!(pLocal->GetFlags() & FL_ONGROUND) && nOldFlags & FL_ONGROUND)
53 | pCmd->buttons |= IN_JUMP;
54 | }
55 | }
56 |
57 | C_Misc gMisc;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Misc/Misc.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | class C_Misc
5 | {
6 | public:
7 | bool bBunnyhop = true;
8 | bool bEdgeJump = false;
9 | bool bAutoStrafe = false;
10 |
11 | void DoBunnyhop(C_UserCmd *pCmd);
12 | void DoEdgeJump(C_UserCmd* pCmd, int nOldFlags);
13 | void DoStrafe(C_UserCmd* pCmd);
14 | };
15 |
16 | extern C_Misc gMisc;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Prediction/Prediction.cpp:
--------------------------------------------------------------------------------
1 | #include "Prediction.h"
2 |
3 | int C_LocalPrediction::GetTickbase(C_UserCmd *pCmd, C_BaseEntity *pLocal)
4 | {
5 | static int nTick = 0;
6 | static C_UserCmd *pLastCmd = nullptr;
7 |
8 | if (pCmd)
9 | {
10 | if (!pLastCmd || pLastCmd->hasbeenpredicted)
11 | nTick = pLocal->GetTickBase();
12 |
13 | else nTick++;
14 |
15 | pLastCmd = pCmd;
16 | }
17 |
18 | return nTick;
19 | }
20 |
21 | void C_LocalPrediction::Start(C_UserCmd *pCmd)
22 | {
23 | if (!gInts.MoveHelper || !gGlobalInfo.m_bPPUCP)
24 | return;
25 |
26 | C_BaseEntity *pLocal = gEntCache.pLocal;
27 |
28 | if (pLocal && pLocal->IsAlive())
29 | {
30 | pLocal->SetCurrentCmd(pCmd);
31 |
32 | *gInts.RandomSeed = MD5_PseudoRandom(pCmd->command_number) & std::numeric_limits::max();
33 |
34 | fOldCurrentTime = gInts.GlobalVars->curtime;
35 | fOldFrameTime = gInts.GlobalVars->frametime;
36 | nOldTickCount = gInts.GlobalVars->tickcount;
37 | nOldFlags = pLocal->GetFlags();
38 |
39 | const int nOldTickBase = pLocal->GetTickBase();
40 | const bool bOldIsFirstPrediction = gInts.Prediction->m_bFirstTimePredicted;
41 | const bool bOldInPrediction = gInts.Prediction->m_bInPrediction;
42 |
43 | gInts.GlobalVars->curtime = TICKS_TO_TIME(GetTickbase(pCmd, pLocal));
44 | gInts.GlobalVars->frametime = (gInts.Prediction->m_bEnginePaused ? 0.0f : TICK_INTERVAL);
45 | gInts.GlobalVars->tickcount = GetTickbase(pCmd, pLocal);
46 |
47 | gInts.Prediction->m_bFirstTimePredicted = false;
48 | gInts.Prediction->m_bInPrediction = true;
49 |
50 | //skipped buttons
51 |
52 | //TODO: CheckMovingGround(pLocal, gInts.GlobalVars->frametime);
53 |
54 | gInts.Prediction->SetLocalViewAngles(pCmd->viewangles);
55 |
56 | gInts.MoveHelper->SetHost(pLocal);
57 |
58 | gInts.Prediction->SetupMove(pLocal, pCmd, gInts.MoveHelper, &moveData);
59 | gInts.GameMovement->ProcessMovement(pLocal, &moveData);
60 | gInts.Prediction->FinishMove(pLocal, pCmd, &moveData);
61 |
62 | pLocal->SetTickBase(nOldTickBase);
63 |
64 | gInts.Prediction->m_bInPrediction = bOldInPrediction;
65 | gInts.Prediction->m_bFirstTimePredicted = bOldIsFirstPrediction;
66 | }
67 | }
68 |
69 | void C_LocalPrediction::End(C_UserCmd *pCmd)
70 | {
71 | if (!gInts.MoveHelper || !gGlobalInfo.m_bPPUCP)
72 | return;
73 |
74 | C_BaseEntity *pLocal = gEntCache.pLocal;
75 |
76 | if (pLocal && pLocal->IsAlive())
77 | {
78 | gInts.MoveHelper->SetHost(nullptr);
79 |
80 | gInts.GlobalVars->curtime = fOldCurrentTime;
81 | gInts.GlobalVars->frametime = fOldFrameTime;
82 | gInts.GlobalVars->tickcount = nOldTickCount;
83 |
84 | pLocal->SetCurrentCmd(nullptr);
85 |
86 | *gInts.RandomSeed = -1;
87 | }
88 | }
89 |
90 | C_LocalPrediction gPrediction;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Prediction/Prediction.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | class C_LocalPrediction
5 | {
6 | private:
7 | C_MoveData moveData = { };
8 | float fOldCurrentTime = 0.0f;
9 | float fOldFrameTime = 0.0f;
10 | int nOldTickCount = 0;
11 |
12 | private:
13 | int GetTickbase(C_UserCmd *pCmd, C_BaseEntity *pLocal);
14 |
15 | public:
16 | void Start(C_UserCmd *pCmd);
17 | void End(C_UserCmd *pCmd);
18 |
19 | int nOldFlags = 0;
20 | };
21 |
22 | extern C_LocalPrediction gPrediction;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Triggerbot/TriggerBot.cpp:
--------------------------------------------------------------------------------
1 | #include "TriggerBot.h"
2 |
3 | bool C_TriggerBot::IsTriggerKeyDown()
4 | {
5 | switch (nTriggerKey)
6 | {
7 | case 0: {
8 | return true;
9 | }
10 | case 1: {
11 | return (GetAsyncKeyState(VK_SHIFT) & 0x8000);
12 | }
13 | case 2: {
14 | return (GetAsyncKeyState(VK_XBUTTON1) & 0x8000);
15 | }
16 | case 3: {
17 | return (GetAsyncKeyState(VK_XBUTTON2) & 0x8000);
18 | }
19 |
20 | //...
21 |
22 | default: {
23 | return false;
24 | }
25 | }
26 |
27 | return false;
28 | }
29 |
30 | void C_TriggerBot::Run(C_UserCmd *pCmd)
31 | {
32 | if (!bActive || !IsTriggerKeyDown())
33 | return;
34 |
35 | gTriggerShoot.Run(pCmd);
36 | gTriggerStab.Run(pCmd);
37 | }
38 |
39 | C_TriggerBot gTriggerBot;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Triggerbot/TriggerBot.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "TriggerShoot/TriggerShoot.h"
3 | #include "TriggerStab/TriggerStab.h"
4 |
5 | class C_TriggerBot
6 | {
7 | private:
8 | bool IsTriggerKeyDown();
9 |
10 | public:
11 | bool bActive = false;
12 | int nTriggerKey = 0; //0 always 1 lshift 2 xbutton1 3 xbutton2
13 |
14 | void Run(C_UserCmd *pCmd);
15 | };
16 |
17 | extern C_TriggerBot gTriggerBot;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Triggerbot/TriggerShoot/TriggerShoot.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../../SDK/SDK.h"
3 |
4 | class C_TriggerShoot
5 | {
6 | private:
7 | bool ShouldRun(C_BaseEntity *pLocal, C_BaseCombatWeapon *pLocalWeapon);
8 | bool IsTraceEntityValid(C_BaseEntity *pLocal, C_BaseEntity *pEntity);
9 |
10 | public:
11 | bool bActive = false;
12 | int nHitbox = 0; //0 all 1 head only
13 | float fHeadScale = 0.9f;
14 | bool bIgnoreCloaked = false;
15 |
16 | void Run(C_UserCmd *pCmd);
17 | };
18 |
19 | extern C_TriggerShoot gTriggerShoot;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Triggerbot/TriggerStab/TriggerStab.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../../SDK/SDK.h"
3 |
4 | class C_TriggerStab
5 | {
6 | private:
7 | bool ShouldRun(C_BaseEntity *pLocal, C_BaseCombatWeapon *pLocalWeapon);
8 | bool IsEntityValid(C_BaseEntity *pLocal, C_BaseEntity *pEntity);
9 | bool CanBackstab(const Vec3 &vecSrc, const Vec3 &vecDst, Vec3 vecWSCDelta);
10 | bool TraceMelee(C_BaseEntity *pLocal, C_BaseCombatWeapon *pLocalWeapon, const Vec3 &vecViewAngles, C_BaseEntity **pEntityOut = nullptr);
11 |
12 | public:
13 | bool bActive = false;
14 | bool bRage = false;
15 |
16 | void Run(C_UserCmd *pCmd);
17 | };
18 |
19 | extern C_TriggerStab gTriggerStab;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Visuals/Chams/Chams.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../../../SDK/SDK.h"
4 |
5 | class C_Chams
6 | {
7 | public:
8 | void Paint(const DrawModelState_t& pState, const ModelRenderInfo_t& pInfo, const char* szModel);
9 | void InitMaterials();
10 |
11 | bool bRemoveHands = false;
12 | int nNoTeammatePlayers = 2; //0 off 1 all 2 keep friends
13 | int nNoCloakedPlayers = 0; //0 off 1 all 2 enemies only
14 | int nHandMat = 0; //0 off ...
15 | int nPlayerMat = 0; //0 off ...
16 |
17 | private:
18 | IMaterial* GetMat(int nIndex);
19 |
20 | bool ShouldRun();
21 | Color_t GetDrawColor(C_BaseEntity* pLocal, C_BaseEntity* pEntity, bool bIsFriend);
22 |
23 | const Color_t TargetColor = { 153, 128, 250, 255 };
24 | const Color_t InvulnColor = { 59, 59, 152, 255 };
25 | const Color_t CloakColor = { 165, 177, 194, 255 };
26 | const Color_t FriendColor = { 152, 255, 152, 255 };
27 |
28 | private: //Some mats I was testing dont look here
29 | IMaterial* m_matGlow = nullptr;
30 | IMaterial* m_matGold = nullptr;
31 | IMaterial* m_matIce = nullptr;
32 | IMaterial* m_matHolo = nullptr;
33 | IMaterial* m_matRobo = nullptr;
34 | IMaterial* m_matGoldW = nullptr;
35 | IMaterial* m_matBlur = nullptr;
36 | IMaterial* m_matMotion = nullptr;
37 | };
38 |
39 | extern C_Chams gChams;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Visuals/ESP/ESP.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../../SDK/SDK.h"
3 |
4 | class C_ESP
5 | {
6 | public:
7 | bool bActive = true;
8 | int nOutline = 1; //0 off 1 text only 2 all
9 |
10 | bool bPlayers = true;
11 | int nNoTeammatePlayers = 2; //0 off 1 all 2 keep friends
12 | int nNoCloakedPlayers = 0; //0 off 1 all 2 enemies only
13 | bool bPlayerName = true;
14 | bool bPlayerClass = true;
15 | bool bPlayerHealth = false;
16 | bool bPlayerCond = true;
17 | bool bPlayerHealthBar = true;
18 | int nPlayerBox = 2; //0 off 1 simple 2 corners
19 |
20 | bool bBuildings = true;
21 | bool bNoTeammateBuildings = true;
22 | bool bBuildingName = true;
23 | bool bBuildingHealth = false;
24 | bool bBuildingLevel = true;
25 | bool bBuildingCond = true;
26 | bool bBuildingHealthBar = true;
27 | int nBuildingBox = 2; //0 off 1 simple 2 corners
28 |
29 | bool bPickups = true;
30 | bool bHealth = true;
31 | bool bAmmo = true;
32 |
33 | private:
34 | std::wstring ConvertUtf8ToWide(const std::string &str);
35 | std::string szGetFlag(int nHash);
36 |
37 | private:
38 | bool ShouldRun();
39 | bool GetDrawBounds(C_BaseEntity *pEntity, int &x, int &y, int &w, int &h);
40 | Color_t GetDrawColor(C_BaseEntity *pLocal, C_BaseEntity *pEntity);
41 |
42 | public:
43 | void Run();
44 |
45 | private:
46 | Color_t OutlineColor = { 0, 0, 0, 180 };
47 | Color_t CondColor = { 254, 202, 87, 255 };
48 | Color_t TargetColor = { 153, 128, 250, 255 };
49 | Color_t InvulnColor = { 59, 59, 152, 255 };
50 | Color_t CloakColor = { 165, 177, 194, 255 };
51 | Color_t FriendColor = { 152, 255, 152, 255 };
52 | Color_t OverhealColor = { 84, 160, 255, 255 };
53 |
54 | Color_t HealthColor = { 0, 230, 64, 255 };
55 | Color_t AmmoColor = { 191, 191, 191, 255 };
56 | };
57 |
58 | extern C_ESP gESP;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Visuals/Radar/Radar.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../../../SDK/SDK.h"
4 |
5 | struct RadarInfo_t
6 | {
7 | int m_nTeam;
8 | int m_nClass;
9 | int m_nHealth;
10 | int m_nMaxHealth;
11 | int m_nTexture;
12 | float m_flDistance;
13 | bool m_bIsFriend;
14 | Vec3 m_vOrigin;
15 | Color_t m_clrColor;
16 | Color_t m_clrHealth;
17 | };
18 |
19 | class C_Radar
20 | {
21 | public:
22 | void Paint();
23 |
24 | bool bActive = false;
25 | int nNoTeammatePlayers = 2; //0 off 1 all 2 keep friends
26 | int nNoCloakedPlayers = 0; //0 off 1 all 2 enemies only
27 | float flRadarSize = 90;
28 | float flRange = 2000.0f;
29 |
30 | private:
31 | void Drag(int& x, int& y, int w, int h);
32 | bool ShouldRun();
33 | bool GetPlayers(C_BaseEntity* pLocal, Vec3 vLocal);
34 |
35 | Color_t GetDrawColor(C_BaseEntity* pLocal, C_BaseEntity* pEntity, bool bIsFriend);
36 |
37 | const Color_t OutlineColor = { 0, 0, 0, 180 };
38 | const Color_t CondColor = { 254, 202, 87, 255 };
39 | const Color_t TargetColor = { 153, 128, 250, 255 };
40 | const Color_t InvulnColor = { 59, 59, 152, 255 };
41 | const Color_t CloakColor = { 165, 177, 194, 255 };
42 | const Color_t FriendColor = { 152, 255, 152, 255 };
43 | const Color_t OverhealColor = { 84, 160, 255, 255 };
44 |
45 | std::vector m_vecInfo;
46 | };
47 |
48 | extern C_Radar gRadar;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Visuals/SpectatorList/SpectatorList.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../../SDK/SDK.h"
3 |
4 | class C_SpectatorList
5 | {
6 | private:
7 | std::wstring ConvertUtf8ToWide(const std::string &str);
8 |
9 | private:
10 | struct Spectator_t
11 | {
12 | std::string sName = "";
13 | std::string sMode = "";
14 | };
15 |
16 | std::vector Spectators;
17 |
18 | bool GetSpectators(C_BaseEntity *pLocal);
19 |
20 | private:
21 | bool ShouldRun(C_BaseEntity *pLocal);
22 |
23 | public:
24 | bool bActive = true;
25 |
26 | void Run();
27 | };
28 |
29 | extern C_SpectatorList gSpectatorList;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Visuals/SpyWarning/SpyWarning.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../../SDK/SDK.h"
3 |
4 | class C_SpyWarning
5 | {
6 | private:
7 | bool ShouldRun(C_BaseEntity *pLocal);
8 | bool IsEntityValid(C_BaseEntity *pEntity);
9 | bool CanBackstab(const Vec3 &vecSrc, const Vec3 &vecDst, Vec3 vecWSCDelta);
10 | void DrawArrowTo(const Vec3 &vecFromPos, const Vec3 &vecToPos);
11 |
12 | std::vector Spies;
13 |
14 | public:
15 | bool bActive = true;
16 | void Run();
17 | };
18 |
19 | extern C_SpyWarning gSpyWarning;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Visuals/Visuals.cpp:
--------------------------------------------------------------------------------
1 | #include "Visuals.h"
2 | #include "../Menu/Menu.h"
3 |
4 | bool C_Visuals::DoRemoveScope(int iCurPanel)
5 | {
6 | if (!bNoScope) return false;
7 | return iCurPanel == Hash::HudScope;
8 | }
9 |
10 | void C_Visuals::DoFov(C_ViewSetup *pViewSetup)
11 | {
12 | C_BaseEntity *pLocal = gEntCache.pLocal;
13 |
14 | if (pLocal && pViewSetup)
15 | {
16 | if (pLocal->GetObserverMode() == OBS_MODE_FIRSTPERSON)
17 | return;
18 |
19 | if (!bNoZoom && pLocal->IsScoped())
20 | return;
21 |
22 | pViewSetup->fov = nCustomFov;
23 |
24 | if (pLocal->IsAlive())
25 | pLocal->SetFov(nCustomFov);
26 | }
27 | }
28 |
29 | C_Visuals gVisuals;
--------------------------------------------------------------------------------
/Project IC/Project IC/Features/Visuals/Visuals.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | class C_Visuals
5 | {
6 | public:
7 | bool bNoZoom = true;
8 | bool bNoScope = true;
9 | float nCustomFov = 110;
10 |
11 | bool DoRemoveScope(int iCurPanel);
12 | void DoFov(C_ViewSetup *pViewSetup);
13 | };
14 |
15 | extern C_Visuals gVisuals;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/ClientHook/ClientHook.cpp:
--------------------------------------------------------------------------------
1 | #include "ClientHook.h"
2 |
3 | void __stdcall ClientHook::PreEntity::Hook(char const *szMapName)
4 | {
5 | Table.Original(index)(gInts.Client, szMapName);
6 |
7 | //...
8 | }
9 |
10 | void __stdcall ClientHook::PostEntity::Hook()
11 | {
12 | Table.Original(index)(gInts.Client);
13 |
14 | //...
15 | }
16 |
17 | void __stdcall ClientHook::ShutDown::Hook()
18 | {
19 | Table.Original(index)(gInts.Client);
20 |
21 | gEntCache.Clear();
22 | }
23 |
24 | void __stdcall ClientHook::FrameStageNotify::Hook(ClientFrameStage_t FrameStage)
25 | {
26 | Table.Original(index)(gInts.Client, FrameStage);
27 |
28 | switch (FrameStage)
29 | {
30 | case ClientFrameStage_t::FRAME_NET_UPDATE_START:
31 | {
32 | gEntCache.Clear();
33 | break;
34 | }
35 |
36 | case ClientFrameStage_t::FRAME_NET_UPDATE_END:
37 | {
38 | gEntCache.Fill();
39 | break;
40 | }
41 |
42 | case ClientFrameStage_t::FRAME_RENDER_START:
43 | {
44 |
45 | break;
46 | }
47 |
48 | default: break;
49 | }
50 | }
51 |
52 | VMT::Table ClientHook::Table;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/ClientHook/ClientHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | namespace ClientHook
5 | {
6 | extern VMT::Table Table;
7 |
8 | namespace PreEntity
9 | {
10 | const int index = 5;
11 | using fn = void(__thiscall *)(C_BaseClientDLL *, char const *);
12 | void __stdcall Hook(char const *szMapName);
13 | }
14 |
15 | namespace PostEntity
16 | {
17 | const int index = 6;
18 | using fn = void(__thiscall *)(C_BaseClientDLL *);
19 | void __stdcall Hook();
20 | }
21 |
22 | namespace ShutDown
23 | {
24 | const int index = 7;
25 | using fn = void(__thiscall *)(C_BaseClientDLL *);
26 | void __stdcall Hook();
27 | }
28 |
29 | namespace FrameStageNotify
30 | {
31 | const int index = 35;
32 | using fn = void(__thiscall *)(C_BaseClientDLL *, ClientFrameStage_t);
33 | void __stdcall Hook(ClientFrameStage_t FrameStage);
34 | }
35 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/ClientModeHook/ClientModeHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | namespace ClientModeHook
5 | {
6 | extern VMT::Table Table;
7 |
8 | namespace OverrideView
9 | {
10 | const int index = 16;
11 | using fn = void(__thiscall *)(C_ClientModeShared *, C_ViewSetup *);
12 | void __stdcall Hook(C_ViewSetup *pView);
13 | }
14 |
15 | namespace ShouldDrawViewModel
16 | {
17 | const int index = 24;
18 | using fn = bool(__thiscall *)(C_ClientModeShared *);
19 | bool __stdcall Hook();
20 | }
21 |
22 | namespace CreateMove
23 | {
24 | const int index = 21;
25 | using fn = bool(__thiscall *)(C_ClientModeShared *, float, C_UserCmd*);
26 | bool __stdcall Hook(float input_sample_frametime, C_UserCmd *pCmd);
27 | }
28 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/EngineClientHook/EngineClientHook.cpp:
--------------------------------------------------------------------------------
1 | #include "EngineClientHook.h"
2 |
3 | bool __stdcall EngineClientHook::IsPlayingTimeDemo::Hook()
4 | {
5 | static DWORD dwInterpolateServerEntities = gPattern.Find("client.dll", "55 8B EC 83 EC 30 8B 0D ? ? ? ? 53 33 DB 89 5D DC 89 5D E0");
6 |
7 | if (gGlobalInfo.bNoInterpolation)
8 | {
9 | C_BaseEntity *pLocal = gEntCache.pLocal;
10 |
11 | if (pLocal)
12 | {
13 | if (reinterpret_cast(_ReturnAddress()) == (dwInterpolateServerEntities + 0xB8))
14 | return true;
15 | }
16 | }
17 |
18 | return Table.Original(index)(gInts.Engine);
19 | }
20 |
21 | VMT::Table EngineClientHook::Table;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/EngineClientHook/EngineClientHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | namespace EngineClientHook
5 | {
6 | extern VMT::Table Table;
7 |
8 | namespace IsPlayingTimeDemo
9 | {
10 | const int index = 78;
11 | using fn = bool(__thiscall *)(C_EngineClient *);
12 | bool __stdcall Hook();
13 | }
14 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/EngineVGuiHook/EngineVGuiHook.cpp:
--------------------------------------------------------------------------------
1 | #include "EngineVGuiHook.h"
2 |
3 | #include "../../Features/Aimbot/Aimbot.h"
4 | #include "../../Features/Menu/Menu.h"
5 | #include "../../Features/Visuals/ESP/ESP.h"
6 | #include "../../Features/Visuals/SpectatorList/SpectatorList.h"
7 | #include "../../Features/Visuals/SpyWarning/SpyWarning.h"
8 | #include "../../Features/Visuals/Visuals.h"
9 | #include "../../Features/Visuals/Radar/Radar.h"
10 |
11 | #include "../../SDK/Includes/icons.h"
12 |
13 |
14 | void __stdcall EngineVGuiHook::Paint::Hook(int mode)
15 | {
16 | if (!gScreenSize.w || !gScreenSize.h)
17 | gScreenSize.Update();
18 |
19 | static auto StartDrawing = reinterpret_cast(gPattern.Find("vguimatsurface.dll", "55 8B EC 64 A1 ? ? ? ? 6A FF 68 ? ? ? ? 50 64 89 25 ? ? ? ? 83 EC 14"));
20 | static auto FinishDrawing = reinterpret_cast(gPattern.Find("vguimatsurface.dll", "55 8B EC 6A FF 68 ? ? ? ? 64 A1 ? ? ? ? 50 64 89 25 ? ? ? ? 51 56 6A 00"));
21 |
22 | //HACK: for some reason we need to do this
23 | {
24 | static bool bInitIcons = false;
25 |
26 | if (!bInitIcons)
27 | {
28 | for (int nIcon = 0; nIcon < ICONS::TEXTURE_AMOUNT; nIcon++)
29 | gDraw.Texture(-200, 0, 18, 18, nIcon);
30 |
31 | bInitIcons = true;
32 | }
33 | }
34 |
35 | Table.Original(index)(gInts.EngineVGui, mode);
36 |
37 | if (mode & PAINT_UIPANELS)
38 | {
39 | //let's update WorldToProjection VMatrix here
40 | {
41 | C_ViewSetup ViewSetup = {};
42 |
43 | if (gInts.Client->GetPlayerView(ViewSetup))
44 | {
45 | VMatrix WorldToView = {}, ViewToProjection = {}, WorldToPixels = {};
46 | gInts.RenderView->GetMatricesForView(ViewSetup, &WorldToView, &ViewToProjection, &gGlobalInfo.WorldToProjection, &WorldToPixels);
47 | }
48 | }
49 |
50 | StartDrawing(gInts.Surface);
51 | {
52 | gESP.Run();
53 | gSpectatorList.Run();
54 | gSpyWarning.Run();
55 | gAimbot.Paint();
56 | gMenu.Run();
57 | gRadar.Paint();
58 | }
59 | FinishDrawing(gInts.Surface);
60 | }
61 | }
62 |
63 | VMT::Table EngineVGuiHook::Table;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/EngineVGuiHook/EngineVGuiHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../../SDK/SDK.h"
4 |
5 | namespace EngineVGuiHook
6 | {
7 | extern VMT::Table Table;
8 |
9 | namespace Paint
10 | {
11 | using fn = void(__thiscall *)(C_EngineVGui *, int);
12 | constexpr int index = 13;
13 | void __stdcall Hook(int mode);
14 | }
15 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/Hooks.cpp:
--------------------------------------------------------------------------------
1 | #include "Hooks.h"
2 |
3 | void C_Hooks::Init()
4 | {
5 | if (gInts.Client)
6 | {
7 | using namespace ClientHook;
8 |
9 | Table.Init(gInts.Client);
10 | Table.Hook(PreEntity::index, &PreEntity::Hook);
11 | Table.Hook(PostEntity::index, &PostEntity::Hook);
12 | Table.Hook(ShutDown::index, &ShutDown::Hook);
13 | Table.Hook(FrameStageNotify::index, &FrameStageNotify::Hook);
14 | }
15 |
16 | if (gInts.ClientMode)
17 | {
18 | using namespace ClientModeHook;
19 |
20 | Table.Init(gInts.ClientMode);
21 | Table.Hook(OverrideView::index, &OverrideView::Hook);
22 | Table.Hook(ShouldDrawViewModel::index, &ShouldDrawViewModel::Hook);
23 | Table.Hook(CreateMove::index, &CreateMove::Hook);
24 | }
25 |
26 | if (gInts.Prediction)
27 | {
28 | using namespace PredictionHook;
29 |
30 | Table.Init(gInts.Prediction);
31 | Table.Hook(RunCommand::index, &RunCommand::Hook);
32 | }
33 |
34 | if (gInts.Surface)
35 | {
36 | using namespace SurfaceHook;
37 |
38 | Table.Init(gInts.Surface);
39 | Table.Hook(OnScreenSizeChanged::index, &OnScreenSizeChanged::Hook);
40 | Table.Hook(LockCursor::index, &LockCursor::Hook);
41 | }
42 |
43 | if (gInts.Panel)
44 | {
45 | using namespace PanelHook;
46 |
47 | Table.Init(gInts.Panel);
48 | Table.Hook(PaintTraverse::index, &PaintTraverse::Hook);
49 | }
50 |
51 | if (gInts.EngineVGui)
52 | {
53 | using namespace EngineVGuiHook;
54 |
55 | Table.Init(gInts.EngineVGui);
56 | Table.Hook(Paint::index, &Paint::Hook);
57 | }
58 |
59 | if (gInts.Engine)
60 | {
61 | using namespace EngineClientHook;
62 |
63 | Table.Init(gInts.Engine);
64 | Table.Hook(IsPlayingTimeDemo::index, &IsPlayingTimeDemo::Hook);
65 | }
66 |
67 | if (gInts.ModelRender)
68 | {
69 | using namespace ModelRenderHook;
70 |
71 | Table.Init(gInts.ModelRender);
72 | Table.Hook(DrawModelExecute::index, &DrawModelExecute::Hook);
73 | }
74 |
75 | //if (gInts.WinApi)
76 | {
77 | while (!Window)
78 | Window = FindWindowA(0, "Team Fortress 2");
79 |
80 | WndProcHook::WndProc = (WNDPROC)SetWindowLongPtr(Window, GWL_WNDPROC, (LONG_PTR)WndProcHook::Hook);
81 | }
82 | }
83 |
84 | void C_Hooks::Release()
85 | {
86 | ClientHook::Table.RestoreTable();
87 | ClientModeHook::Table.RestoreTable();
88 | PredictionHook::Table.RestoreTable();
89 | SurfaceHook::Table.RestoreTable();
90 | PanelHook::Table.RestoreTable();
91 | EngineVGuiHook::Table.RestoreTable();
92 | EngineClientHook::Table.RestoreTable();
93 | ModelRenderHook::Table.RestoreTable();
94 |
95 | SetWindowLongPtr(Window, GWL_WNDPROC, (LONG_PTR)WndProcHook::WndProc);
96 | }
97 |
98 | C_Hooks gHooks;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/Hooks.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "ClientHook/ClientHook.h"
4 | #include "ClientModeHook/ClientModeHook.h"
5 | #include "PredictionHook/PredictionHook.h"
6 | #include "SurfaceHook/SurfaceHook.h"
7 | #include "PanelHook/PanelHook.h"
8 | #include "EngineVGuiHook/EngineVGuiHook.h"
9 | #include "EngineClientHook/EngineClientHook.h"
10 | #include "ModelRenderHook/ModelRenderHook.h"
11 | #include "WndProcHook/WndProcHook.h"
12 |
13 | class C_Hooks
14 | {
15 | private:
16 | HWND Window = 0;
17 |
18 | public:
19 | void Init();
20 | void Release();
21 | };
22 |
23 | extern C_Hooks gHooks;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/ModelRenderHook/ModelRenderHook.cpp:
--------------------------------------------------------------------------------
1 | #include "ModelRenderHook.h"
2 |
3 | #include "../../Features/Visuals/Chams/Chams.h"
4 |
5 | constexpr float flDefaultColor[3] = { 1, 1, 1 };
6 |
7 | void __stdcall ModelRenderHook::DrawModelExecute::Hook(const DrawModelState_t& pState, const ModelRenderInfo_t& pInfo, matrix3x4* pBoneToWorld)
8 | {
9 | const char* szModel = gInts.ModelInfo->GetModelName(pInfo.m_pModel);
10 |
11 | if (!szModel)
12 | return;
13 |
14 | if (gChams.bRemoveHands && strstr(szModel, "arms"))
15 | return;
16 |
17 | gChams.Paint(pState, pInfo, szModel);
18 |
19 | Table.Original(index)(gInts.ModelRender, pState, pInfo, pBoneToWorld);
20 |
21 | gInts.RenderView->SetBlend(1);
22 | gInts.RenderView->SetColorModulation(flDefaultColor);
23 | gInts.ModelRender->ForcedMaterialOverride(nullptr);
24 | }
25 |
26 | VMT::Table ModelRenderHook::Table;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/ModelRenderHook/ModelRenderHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../../SDK/SDK.h"
4 |
5 | namespace ModelRenderHook
6 | {
7 | extern VMT::Table Table;
8 |
9 | namespace DrawModelExecute
10 | {
11 | using fn = void(__thiscall*)(C_ModelRender*, const DrawModelState_t&, const ModelRenderInfo_t&, matrix3x4*);
12 | constexpr int index = 19;
13 | void __stdcall Hook(const DrawModelState_t& pState, const ModelRenderInfo_t& pInfo, matrix3x4* pBoneToWorld);
14 | }
15 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/PanelHook/PanelHook.cpp:
--------------------------------------------------------------------------------
1 | #include "PanelHook.h"
2 |
3 | #include "../../Features/Visuals/Visuals.h"
4 |
5 | void __stdcall PanelHook::PaintTraverse::Hook(unsigned int vgui_panel, bool force_repaint, bool allow_force)
6 | {
7 | int nCurPanel = Hash::String(gInts.Panel->GetName(vgui_panel));
8 |
9 | if (gVisuals.DoRemoveScope(nCurPanel))
10 | return;
11 |
12 | Table.Original(index)(gInts.Panel, vgui_panel, force_repaint, allow_force);
13 |
14 | if (gGlobalInfo.m_nFocusOverlay == 0) {
15 | if (nCurPanel == Hash::FocusOverlayPanel)
16 | gGlobalInfo.m_nFocusOverlay = vgui_panel;
17 | }
18 |
19 | //...
20 | }
21 |
22 | VMT::Table PanelHook::Table;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/PanelHook/PanelHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | namespace PanelHook
5 | {
6 | extern VMT::Table Table;
7 |
8 | namespace PaintTraverse
9 | {
10 | const int index = 41;
11 | using fn = void(__thiscall *)(C_Panel*, unsigned int, bool, bool);
12 | void __stdcall Hook(unsigned int vgui_panel, bool force_repaint, bool allow_force);
13 | }
14 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/PredictionHook/PredictionHook.cpp:
--------------------------------------------------------------------------------
1 | #include "PredictionHook.h"
2 |
3 | void __stdcall PredictionHook::RunCommand::Hook(C_BaseEntity *pEntity, C_UserCmd *pCmd, C_MoveHelper *pMoveHelper)
4 | {
5 | Table.Original(index)(gInts.Prediction, pEntity, pCmd, pMoveHelper);
6 |
7 | if (pMoveHelper && !gInts.MoveHelper)
8 | gInts.MoveHelper = pMoveHelper;
9 |
10 | //...
11 | }
12 |
13 | VMT::Table PredictionHook::Table;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/PredictionHook/PredictionHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | namespace PredictionHook
5 | {
6 | extern VMT::Table Table;
7 |
8 | namespace RunCommand
9 | {
10 | const int index = 17;
11 | using fn = void(__thiscall *)(C_Prediction *, C_BaseEntity *, C_UserCmd *, C_MoveHelper *);
12 | void __stdcall Hook(C_BaseEntity *pEntity, C_UserCmd *pCmd, C_MoveHelper *pMoveHelper);
13 | }
14 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/SurfaceHook/SurfaceHook.cpp:
--------------------------------------------------------------------------------
1 | #include "SurfaceHook.h"
2 |
3 | #include "../../Features/Menu/Menu.h"
4 |
5 | void __stdcall SurfaceHook::OnScreenSizeChanged::Hook(int OldWidht, int OldHeight)
6 | {
7 | Table.Original(index)(gInts.Surface, OldWidht, OldHeight);
8 |
9 | gScreenSize.Update();
10 | gDraw.ReloadFonts();
11 | }
12 |
13 | void __stdcall SurfaceHook::LockCursor::Hook()
14 | {
15 | gMenu.m_Open ? gInts.Surface->UnlockCursor() : Table.Original(index)(gInts.Surface);
16 | }
17 |
18 | VMT::Table SurfaceHook::Table;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/SurfaceHook/SurfaceHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | namespace SurfaceHook
5 | {
6 | extern VMT::Table Table;
7 |
8 | namespace OnScreenSizeChanged
9 | {
10 | const int index = 111;
11 | using fn = void(__thiscall *)(C_Surface *, int, int);
12 | void __stdcall Hook(int OldWidht, int OldHeight);
13 | }
14 |
15 | namespace LockCursor
16 | {
17 | const int index = 62;
18 | using fn = void(__thiscall *)(C_Surface *);
19 | void __stdcall Hook();
20 | }
21 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/WndProcHook/WndProcHook.cpp:
--------------------------------------------------------------------------------
1 | #include "WndProcHook.h"
2 | #include "../../Features/Menu/Input/Input.h"
3 | #include "../../Features/Menu/Menu.h"
4 |
5 | LONG __stdcall WndProcHook::Hook(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
6 | {
7 | switch (uMsg)
8 | {
9 | case WM_KEYDOWN: {
10 | gInput.m_Keyboard[wParam] = EKeyState::PRESSED;
11 | break;
12 | }
13 |
14 | case WM_KEYUP: {
15 | gInput.m_Keyboard[wParam] = EKeyState::NONE;
16 | break;
17 | }
18 |
19 | case WM_RBUTTONDOWN:
20 | {
21 | if (wParam & MK_RBUTTON)
22 | gInput.m_RMouse = EKeyState::PRESSED;
23 |
24 | break;
25 | }
26 |
27 | case WM_LBUTTONDOWN:
28 | {
29 | if (wParam & MK_LBUTTON)
30 | gInput.m_LMouse = EKeyState::PRESSED;
31 |
32 | break;
33 | }
34 |
35 | case WM_MBUTTONDOWN:
36 | {
37 | if (wParam & MK_MBUTTON)
38 | gInput.m_MMouse = EKeyState::PRESSED;
39 |
40 | break;
41 | }
42 |
43 | case WM_RBUTTONUP:
44 | {
45 | gInput.m_RMouse = EKeyState::NONE;
46 | break;
47 | }
48 |
49 | case WM_LBUTTONUP:
50 | {
51 | gInput.m_LMouse = EKeyState::NONE;
52 | break;
53 | }
54 |
55 | case WM_MBUTTONUP:
56 | {
57 | gInput.m_MMouse = EKeyState::NONE;
58 | break;
59 | }
60 |
61 | case WM_MOUSEWHEEL: {
62 | gInput.m_Wheel = ((int)wParam < 0 ? EScrollWheelState::UP : EScrollWheelState::DOWN);
63 | break;
64 | }
65 | }
66 |
67 | if (gMenu.m_Open && (gInts.Engine->Con_IsVisible() || gInts.EngineVGui->IsGameUIVisible()))
68 | return 1;
69 |
70 | return CallWindowProc(WndProc, hWnd, uMsg, wParam, lParam);
71 | }
72 |
73 | WNDPROC WndProcHook::WndProc;
--------------------------------------------------------------------------------
/Project IC/Project IC/Hooks/WndProcHook/WndProcHook.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../SDK/SDK.h"
3 |
4 | typedef LONG(WINAPI *WNDPROC)(HWND, UINT, WPARAM, LPARAM);
5 |
6 | namespace WndProcHook
7 | {
8 | extern WNDPROC WndProc;
9 | LONG WINAPI Hook(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
10 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Includes/Const.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lak3/ProjectIC_TF2/c12c588932e8482b1b38c7939d72b70992619cf0/Project IC/Project IC/SDK/Includes/Const.h
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Includes/Includes.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Classes.h"
3 | #include "Const.h"
4 | #include "Enums.h"
5 | #include "Structs.h"
6 |
7 | #include "MD5.h"
8 |
9 | #include
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Includes/MD5.h:
--------------------------------------------------------------------------------
1 | //========= Copyright Valve Corporation, All rights reserved. ============//
2 | //
3 | // Purpose: Generic MD5 hashing algo
4 | //
5 | //=============================================================================//
6 |
7 | #ifndef CHECKSUM_MD5_H
8 | #define CHECKSUM_MD5_H
9 |
10 | #ifdef _WIN32
11 | #pragma once
12 | #endif
13 |
14 | // 16 bytes == 128 bit digest
15 | #define MD5_DIGEST_LENGTH 16
16 | #define MD5_BIT_LENGTH ( MD5_DIGEST_LENGTH * sizeof(unsigned char) )
17 | struct MD5Value_t
18 | {
19 | unsigned char bits[MD5_DIGEST_LENGTH];
20 |
21 | void Zero();
22 | bool IsZero() const;
23 |
24 | bool operator==(const MD5Value_t &src) const;
25 | bool operator!=(const MD5Value_t &src) const;
26 |
27 | };
28 |
29 | // MD5 Hash
30 | typedef struct
31 | {
32 | unsigned int buf[4];
33 | unsigned int bits[2];
34 | unsigned char in[64];
35 | } MD5Context_t;
36 |
37 | void MD5Init(MD5Context_t *context);
38 | void MD5Update(MD5Context_t *context, unsigned char const *buf, unsigned int len);
39 | void MD5Final(unsigned char digest[MD5_DIGEST_LENGTH], MD5Context_t *context);
40 |
41 | char *MD5_Print(unsigned char *digest, int hashlen);
42 |
43 | /// Convenience wrapper to calculate the MD5 for a buffer, all in one step, without
44 | /// bothering with the context object.
45 | void MD5_ProcessSingleBuffer(const void *p, int len, MD5Value_t &md5Result);
46 |
47 | unsigned int MD5_PseudoRandom(unsigned int nSeed);
48 |
49 | /// Returns true if the values match.
50 | bool MD5_Compare(const MD5Value_t &data, const MD5Value_t &compare);
51 |
52 | inline bool MD5Value_t::operator==(const MD5Value_t &src) const
53 | {
54 | return MD5_Compare(*this, src);
55 | }
56 |
57 | inline bool MD5Value_t::operator!=(const MD5Value_t &src) const
58 | {
59 | return !MD5_Compare(*this, src);
60 | }
61 |
62 | #endif // CHECKSUM_MD5_H
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Includes/dt_common.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lak3/ProjectIC_TF2/c12c588932e8482b1b38c7939d72b70992619cf0/Project IC/Project IC/SDK/Includes/dt_common.h
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Includes/dt_recv.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lak3/ProjectIC_TF2/c12c588932e8482b1b38c7939d72b70992619cf0/Project IC/Project IC/SDK/Includes/dt_recv.h
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Includes/icons.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include
4 |
5 | namespace ICONS
6 | {
7 | inline constexpr int WIDHT = 64;
8 | inline constexpr int HEIGHT = 64;
9 | inline constexpr int TEXTURE_AMOUNT = 30;
10 | inline constexpr int UNDEFINED = -1;
11 |
12 | inline int ID[TEXTURE_AMOUNT] =
13 | { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
14 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
15 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1
16 | };
17 |
18 | inline std::string TEXTURE[TEXTURE_AMOUNT] =
19 | {
20 | "hud/leaderboard_class_teleporter.vtf",
21 | "hud/leaderboard_class_scout.vtf",
22 | "hud/leaderboard_class_sniper.vtf",
23 | "hud/leaderboard_class_soldier.vtf",
24 | "hud/leaderboard_class_demo.vtf",
25 | "hud/leaderboard_class_medic.vtf",
26 | "hud/leaderboard_class_heavy.vtf",
27 | "hud/leaderboard_class_pyro.vtf",
28 | "hud/leaderboard_class_spy.vtf",
29 | "hud/leaderboard_class_engineer.vtf",
30 | "hud/eng_build_sentry.vtf",
31 | "hud/class_scoutred.vtf",
32 | "hud/class_sniperred.vtf",
33 | "hud/class_soldierred.vtf",
34 | "hud/class_demored.vtf",
35 | "hud/class_medicred.vtf",
36 | "hud/class_heavyred.vtf",
37 | "hud/class_pyrored.vtf",
38 | "hud/class_spyred.vtf",
39 | "hud/class_engired.vtf",
40 | "vgui/class_portraits/spy_blue_grey.vtf",
41 | "hud/class_scoutblue.vtf",
42 | "hud/class_sniperblue.vtf",
43 | "hud/class_soldierblue.vtf",
44 | "hud/class_demoblue.vtf",
45 | "hud/class_medicblue.vtf",
46 | "hud/class_heavyblue.vtf",
47 | "hud/class_pyroblue.vtf",
48 | "hud/class_spyblue.vtf",
49 | "hud/class_engiblue.vtf",
50 | };
51 | }
52 |
53 | /*
54 | "vgui/class_portraits/scout.vtf",
55 | "vgui/class_portraits/sniper.vtf",
56 | "vgui/class_portraits/soldier.vtf",
57 | "vgui/class_portraits/demoman.vtf",
58 | "vgui/class_portraits/medic.vtf",
59 | "vgui/class_portraits/heavy.vtf",
60 | "vgui/class_portraits/pyro.vtf",
61 | "vgui/class_portraits/spy.vtf",
62 | "vgui/class_portraits/engineer.vtf",
63 | "vgui/class_portraits/spy_blue_grey.vtf", //
64 | "vgui/class_portraits/scout_blue.vtf",
65 | "vgui/class_portraits/sniper_blue.vtf",
66 | "vgui/class_portraits/soldier_blue.vtf",
67 | "vgui/class_portraits/demoman_blue.vtf",
68 | "vgui/class_portraits/medic_blue.vtf",
69 | "vgui/class_portraits/heavy_blue.vtf",
70 | "vgui/class_portraits/pyro_blue.vtf",
71 | "vgui/class_portraits/spy_blue.vtf",
72 | "vgui/class_portraits/engineer_blue.vtf"
73 | */
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/BaseClientDLL/BaseClientDLL.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_BaseClientDLL
5 | {
6 | public:
7 | C_ClientClass *GetAllClasses()
8 | {
9 | typedef C_ClientClass *(__thiscall *FN)(PVOID);
10 | return GetVFunc(this, 8)(this);
11 | }
12 |
13 | bool GetPlayerView(C_ViewSetup &playerView)
14 | {
15 | typedef bool (__thiscall *FN)(PVOID, C_ViewSetup &);
16 | return GetVFunc(this, 59)(this, playerView);
17 | }
18 | };
19 |
20 | #define CLIENT_DLL_INTERFACE_VERSION "VClient017"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/ClientDLLSharedAppSystems/ClientDLLSharedAppSystems.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_ClientDLLSharedAppSystems
5 | {
6 | public:
7 | virtual int Count() = 0;
8 | virtual char const *GetDllName(int idx) = 0;
9 | virtual char const *GetInterfaceName(int idx) = 0;
10 | };
11 |
12 | #define CLIENT_DLL_SHARED_APPSYSTEMS "VClientDllSharedAppSystems001"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/ClientEntityList/ClientEntityList.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_ClientEntityList
5 | {
6 | public:
7 | C_BaseEntity *GetClientEntity(int nEntityIndex)
8 | {
9 | typedef C_BaseEntity *(__thiscall *FN)(PVOID, int);
10 | return GetVFunc(this, 3)(this, nEntityIndex);
11 | }
12 |
13 | C_BaseEntity *GetClientEntityFromHandle(int hEntity)
14 | {
15 | typedef C_BaseEntity *(__thiscall *FN)(PVOID, int);
16 | return GetVFunc(this, 4)(this, hEntity);
17 | }
18 |
19 | int GetHighestEntityIndex()
20 | {
21 | typedef int(__thiscall *FN)(PVOID);
22 | return GetVFunc(this, 6)(this);
23 | }
24 | };
25 |
26 | #define VCLIENTENTITYLIST_INTERFACE_VERSION "VClientEntityList003"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/ClientModeShared/ClientModeShared.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_BaseHudChat
5 | {
6 | public:
7 | void ChatPrintf(int pIndex, const char *fmt, ...)
8 | {
9 | typedef void *(__thiscall *FN)(PVOID, int, const char *);
10 | GetVFunc(this, 19)(this, pIndex, fmt);
11 | }
12 | };
13 |
14 | class C_ClientModeShared
15 | {
16 | public:
17 | char szPad[28];
18 | C_BaseHudChat *m_pChatElement;
19 | };
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/EngineTrace/EngineTrace.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_EngineTrace
5 | {
6 | public:
7 | void TraceRay(const Ray_t &Ray, unsigned int Mask, C_TraceFilter *TraceFilter, C_GameTrace *GameTrace)
8 | {
9 | typedef void(__thiscall *FN)(PVOID, const Ray_t &, unsigned int, C_TraceFilter *, C_GameTrace *);
10 | return GetVFunc(this, 4)(this, Ray, Mask, TraceFilter, GameTrace);
11 | }
12 | };
13 |
14 | #define VENGINE_TRACE_CLIENT_INTERFACE_VERSION "EngineTraceClient003"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/EngineVGui/EngineVGui.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_EngineVGui
5 | {
6 | public:
7 | virtual ~C_EngineVGui(void) { }
8 | virtual unsigned int GetPanel(VGuiPanel_t type) = 0;
9 | virtual bool IsGameUIVisible() = 0;
10 | };
11 |
12 | #define VENGINE_VGUI_VERSION "VEngineVGui001"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/GameEvent/GameEvent.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | class C_GameEvent
4 | {
5 | public:
6 | virtual ~C_GameEvent() { };
7 | virtual const char* GetName() const = 0;
8 |
9 | virtual bool IsReliable() const = 0;
10 | virtual bool IsLocal() const = 0;
11 | virtual bool IsEmpty(const char* szKey = 0) = 0;
12 |
13 | virtual bool GetBool(const char* szKey = 0, bool bDefault = false) = 0;
14 | virtual int GetInt(const char* szKey = 0, int nDefault = 0) = 0;
15 | virtual float GetFloat(const char* szKey = 0, float flDefault = 0.0f) = 0;
16 | virtual const char* GetString(const char* szKey = 0, const char* szDefault = "") = 0;
17 |
18 | virtual void SetBool(const char* szKey, bool bNew) = 0;
19 | virtual void SetInt(const char* szKey, int nNew) = 0;
20 | virtual void SetFloat(const char* szKey, float flNew) = 0;
21 | virtual void SetString(const char* szKey, const char* szNew) = 0;
22 | };
23 |
24 | class C_GameEventListener
25 | {
26 | public:
27 | virtual ~C_GameEventListener(void) {};
28 |
29 | virtual void FireGameEvent(C_GameEvent* pEvent) = 0;
30 | };
31 |
32 | class C_GameEventManager
33 | {
34 | public:
35 | bool AddListener(C_GameEventListener* pListener, const char* szName, bool ServerSide) {
36 | typedef bool(__thiscall* FN)(PVOID, C_GameEventListener*, const char*, bool);
37 | return GetVFunc(this, 3)(this, pListener, szName, ServerSide);
38 | }
39 | };
40 |
41 | #define GAMEEVENTSMANAGER_ENGINE_INTERFACE "GAMEEVENTSMANAGER002"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/GameMovement/GameMovement.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_GameMovement
5 | {
6 | public:
7 | virtual ~C_GameMovement(void) {}
8 |
9 | // Process the current movement command
10 | virtual void ProcessMovement(C_BaseEntity *pPlayer, C_MoveData *pMove) = 0;
11 | virtual void StartTrackPredictionErrors(C_BaseEntity *pPlayer) = 0;
12 | virtual void FinishTrackPredictionErrors(C_BaseEntity *pPlayer) = 0;
13 | virtual void DiffPrint(char const *fmt, ...) = 0;
14 |
15 | // Allows other parts of the engine to find out the normal and ducked player bbox sizes
16 | virtual Vec3 GetPlayerMins(bool ducked) const = 0;
17 | virtual Vec3 GetPlayerMaxs(bool ducked) const = 0;
18 | virtual Vec3 GetPlayerViewOffset(bool ducked) const = 0;
19 | };
20 |
21 | #define CLIENT_GAMEMOVEMENT_INTERFACE_VERSION "GameMovement001"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/GlobalVarsBase/GlobalVarsBase.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_GlobalVarsBase
5 | {
6 | public:
7 | float realtime;
8 | int framecount;
9 | float absoluteframetime;
10 | float curtime;
11 | float frametime;
12 | int maxclients;
13 | int tickcount;
14 | float interval_per_tick;
15 | float interpolation_amount;
16 | };
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Material/Material.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../../Includes/Includes.h"
4 |
5 | typedef unsigned short MaterialHandle_t;
6 |
7 | class C_MaterialSystem
8 | {
9 | public:
10 | IMaterial* Find(char const* szMat, const char* szTextureGroup, bool bComplain = true, const char* szPrefix = NULL)
11 | {
12 | typedef IMaterial* (__thiscall* FN)(PVOID, const char*, const char*, bool, const char*);
13 | return GetVFunc(this, 73)(this, szMat, szTextureGroup, bComplain, szPrefix);
14 | }
15 |
16 | IMaterial* Create(char const* szName, KeyValues* pKV)
17 | {
18 | typedef IMaterial* (__thiscall* FN)(PVOID, const char*, KeyValues*);
19 | return GetVFunc(this, 72)(this, szName, pKV);
20 | }
21 |
22 | IMaterial* Get(MaterialHandle_t hMat)
23 | {
24 | typedef IMaterial* (__thiscall* FN)(PVOID, MaterialHandle_t);
25 | return GetVFunc(this, 78)(this, hMat);
26 | }
27 |
28 | MaterialHandle_t First()
29 | {
30 | typedef MaterialHandle_t(__thiscall* FN)(PVOID);
31 | return GetVFunc(this, 75)(this);
32 | }
33 |
34 | MaterialHandle_t Invalid()
35 | {
36 | typedef MaterialHandle_t(__thiscall* FN)(PVOID);
37 | return GetVFunc(this, 77)(this);
38 | }
39 |
40 | MaterialHandle_t Next(MaterialHandle_t hMat)
41 | {
42 | typedef MaterialHandle_t(__thiscall* FN)(PVOID, MaterialHandle_t);
43 | return GetVFunc(this, 76)(this, hMat);
44 | }
45 | };
46 |
47 | #define VMATERIALSYSTEM_INTERFACE "VMaterialSystem081"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/ModelInfo/ModelInfo.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_ModelInfoClient
5 | {
6 | public:
7 | model_t *GetModel(int index)
8 | {
9 | typedef model_t *(__thiscall *FN)(PVOID, int);
10 | return GetVFunc(this, 1)(this, index);
11 | }
12 |
13 | int GetModelIndex(const char *name)
14 | {
15 | typedef int (__thiscall *FN)(PVOID, const char *);
16 | return GetVFunc(this, 2)(this, name);
17 | }
18 |
19 | const char *GetModelName(const model_t *model)
20 | {
21 | typedef const char *(__thiscall *FN)(PVOID, const model_t *);
22 | return GetVFunc(this, 3)(this, model);
23 | }
24 |
25 | studiohdr_t *GetStudioModel(const model_t *model)
26 | {
27 | typedef studiohdr_t *(__thiscall *FN)(PVOID, const model_t *);
28 | return GetVFunc(this, 28)(this, model);
29 | }
30 | };
31 |
32 | #define VMODELINFO_CLIENT_INTERFACE_VERSION "VModelInfoClient006"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/ModelRender/ModelRender.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../../Includes/Includes.h"
4 |
5 | class C_ModelRender
6 | {
7 | public:
8 | void ForcedMaterialOverride(IMaterial* mat, OverrideType_t type = OverrideType_t::OVERRIDE_NORMAL)
9 | {
10 | typedef void(__thiscall* FN)(PVOID, IMaterial*, OverrideType_t);
11 | return GetVFunc(this, 1)(this, mat, type);
12 | }
13 |
14 | void DrawModelExecute(const DrawModelState_t* pState, const ModelRenderInfo_t& pInfo, matrix3x4* pBoneToWorld)
15 | {
16 | typedef void(__thiscall* FN)(PVOID, const DrawModelState_t*, const ModelRenderInfo_t&, matrix3x4*);
17 | return GetVFunc(this, 19)(this, pState, pInfo, pBoneToWorld);
18 | }
19 | };
20 |
21 | #define VENGINE_MODELRENDER_INTERFACE "VEngineModel016"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/MoveHelper/MoveHelper.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_MoveHelper
5 | {
6 | public:
7 | void SetHost(C_BaseEntity *host)
8 | {
9 | typedef void(__thiscall *FN)(PVOID, C_BaseEntity *);
10 | GetVFunc(this, 0)(this, host);
11 | }
12 | };
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/NetChannel/NetChannel.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Lak3/ProjectIC_TF2/c12c588932e8482b1b38c7939d72b70992619cf0/Project IC/Project IC/SDK/Interfaces/NetChannel/NetChannel.cpp
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Panel/Panel.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../../Includes/Includes.h"
3 |
4 | class C_Panel
5 | {
6 | public:
7 | const char *GetName(unsigned int vgui_panel)
8 | {
9 | typedef const char *(__thiscall *FN)(PVOID, unsigned int);
10 | return GetVFunc(this, 36)(this, vgui_panel);
11 | }
12 |
13 | void SetMouseInputEnabled(unsigned int panel, bool state)
14 | {
15 | typedef void(__thiscall *FN)(void *, int, bool);
16 | GetVFunc(this, 32)(this, panel, state);
17 | }
18 |
19 | void SetTopmostPopup(unsigned int panel, bool state)
20 | {
21 | typedef void(__thiscall *FN)(void *, int, bool);
22 | GetVFunc(this, 59)(this, panel, state);
23 | }
24 | };
25 |
26 | #define VGUI_PANEL_INTERFACE_VERSION "VGUI_Panel009"
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/AppTicketCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef APPTICKETCOMMON_H
18 | #define APPTICKETCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #define STEAMAPPTICKET_INTERFACE_VERSION_001 "STEAMAPPTICKET_INTERFACE_VERSION001"
24 |
25 | #endif // APPTICKETCOMMON_H
26 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/BridgeCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef BRIDGECOMMON_H
18 | #define BRIDGECOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #define STEAM2BRIDGE_INTERFACE_VERSION_001 "STEAM2BRIDGE_INTERFACE_VERSION001"
24 | #define STEAM2BRIDGE_INTERFACE_VERSION_002 "STEAM2BRIDGE_INTERFACE_VERSION002"
25 |
26 | #endif // BRIDGECOMMON_H
27 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ClientCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef CLIENTCOMMON_H
18 | #define CLIENTCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // interface predec
24 | class ISteamClient;
25 | class ISteamUser;
26 | class ISteamGameServer;
27 | class ISteamFriends;
28 | class ISteamUtils;
29 | class ISteamMatchmaking;
30 | class ISteamContentServer;
31 | class ISteamMasterServerUpdater;
32 | class ISteamMatchmakingServers;
33 | class ISteam2Bridge;
34 | class ISteamUserStats;
35 | class ISteamApps;
36 | class ISteamBilling;
37 | class IVAC;
38 | class ISteamNetworking;
39 | class ISteamRemoteStorage;
40 | class ISteamGameServerItems;
41 | class ISteamGameServerStats;
42 | class ISteamHTTP;
43 | class ISteamScreenshots;
44 | class ISteamUnifiedMessages;
45 | class ISteamController;
46 | class ISteamUGC;
47 | class ISteamAppList;
48 | class ISteamMusic;
49 | class ISteamMusicRemote;
50 | class ISteamHTMLSurface;
51 | class ISteamInventory;
52 | class ISteamVideo;
53 |
54 | #define CLIENTENGINE_INTERFACE_VERSION "CLIENTENGINE_INTERFACE_VERSION004"
55 |
56 | #define STEAMCLIENT_INTERFACE_VERSION_006 "SteamClient006"
57 | #define STEAMCLIENT_INTERFACE_VERSION_007 "SteamClient007"
58 | #define STEAMCLIENT_INTERFACE_VERSION_008 "SteamClient008"
59 | #define STEAMCLIENT_INTERFACE_VERSION_009 "SteamClient009"
60 | #define STEAMCLIENT_INTERFACE_VERSION_010 "SteamClient010"
61 | #define STEAMCLIENT_INTERFACE_VERSION_011 "SteamClient011"
62 | #define STEAMCLIENT_INTERFACE_VERSION_012 "SteamClient012"
63 | #define STEAMCLIENT_INTERFACE_VERSION_017 "SteamClient017"
64 |
65 | #endif
66 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ContentServerCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef CONTENTSERVERCOMMON_H
18 | #define CONTENTSERVERCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #define CLIENTCONTENTSERVER_INTERFACE_VERSION "CLIENTCONTENTSERVER_INTERFACE_VERSION001"
24 |
25 | #define STEAMCONTENTSERVER_INTERFACE_VERSION_001 "SteamContentServer001"
26 | #define STEAMCONTENTSERVER_INTERFACE_VERSION_002 "SteamContentServer002"
27 |
28 | typedef enum EConnectionPriority
29 | {
30 | k_EConnectionPriorityLow = 0,
31 | k_EConnectionPriorityMedium = 1,
32 | k_EConnectionPriorityHigh = 2,
33 | } EConnectionPriority;
34 |
35 | #pragma pack( push, 8 )
36 | struct CSClientApprove_t
37 | {
38 | enum { k_iCallback = k_iSteamContentServerCallbacks + 1 };
39 |
40 | CSteamID m_SteamID;
41 | uint32 m_uContentID;
42 | };
43 |
44 | struct CSClientDeny_t
45 | {
46 | enum { k_iCallback = k_iSteamContentServerCallbacks + 2 };
47 |
48 | CSteamID m_SteamID;
49 | uint32 m_uContentID;
50 | EDenyReason m_eDenyReason;
51 | };
52 | #pragma pack( pop )
53 |
54 | #endif // CONTENTSERVERCOMMON_H
55 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ECurrencyCode.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ECURRENCYCODE_H
18 | #define ECURRENCYCODE_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ECurrencyCode
24 | {
25 | k_ECurrencyCodeInvalid = 0,
26 | k_ECurrencyCodeUSD = 1,
27 | k_ECurrencyCodeGBP = 2,
28 | k_ECurrencyCodeEUR = 3,
29 | k_ECurrencyCodeCHF = 4,
30 | k_ECurrencyCodeRUB = 5,
31 | k_ECurrencyCodePLN = 6,
32 | k_ECurrencyCodeBRL = 7,
33 | k_ECurrencyCodeJPY = 8,
34 | k_ECurrencyCodeNOK = 9,
35 | k_ECurrencyCodeIDR = 10,
36 | k_ECurrencyCodeMYR = 11,
37 | k_ECurrencyCodePHP = 12,
38 | k_ECurrencyCodeSGD = 13,
39 | k_ECurrencyCodeTHB = 14,
40 | k_ECurrencyCodeVND = 15,
41 | k_ECurrencyCodeKRW = 16,
42 | k_ECurrencyCodeTRY = 17,
43 | k_ECurrencyCodeUAH = 18,
44 | k_ECurrencyCodeMXN = 19,
45 | k_ECurrencyCodeCAD = 20,
46 | k_ECurrencyCodeAUD = 21,
47 | k_ECurrencyCodeNZD = 22,
48 | k_ECurrencyCodeCNY = 23,
49 | k_ECurrencyCodeINR = 24,
50 | k_ECurrencyCodeCLP = 25,
51 | k_ECurrencyCodePEN = 26,
52 | k_ECurrencyCodeCOP = 27,
53 | k_ECurrencyCodeZAR = 28,
54 | k_ECurrencyCodeHKD = 29,
55 | k_ECurrencyCodeTWD = 30,
56 | k_ECurrencyCodeSAR = 31,
57 | k_ECurrencyCodeAED = 32,
58 | //k_ECurrencyCodeMax = 33,
59 | } ECurrencyCode;
60 |
61 | #endif // ECURRENCYCODE_H
62 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamAppUpdateStatsQueryType.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMAPPUPDATESTATSQUERYTYPE_H
18 | #define ESTEAMAPPUPDATESTATSQUERYTYPE_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamAppUpdateStatsQueryType
24 | {
25 | ePhysicalBytesReceivedThisSession = 1,
26 | eAppReadyToLaunchStatus = 2,
27 | eAppPreloadStatus = 3,
28 | eAppEntireDepot = 4,
29 | eCacheBytesPresent = 5,
30 | } ESteamAppUpdateStatsQueryType;
31 |
32 | #endif // ESTEAMAPPUPDATESTATSQUERYTYPE_H
33 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamBufferMethod.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMBUFFERMETHOD_H
18 | #define ESTEAMBUFFERMETHOD_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamBufferMethod
24 | {
25 | eSteamBufferMethodFBF = 0,
26 | eSteamBufferMethodNBF = 1
27 | } ESteamBufferMethod;
28 |
29 | #endif // ESTEAMBUFFERMETHOD_H
30 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamFindFilter.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMFINDFILTER_H
18 | #define ESTEAMFINDFILTER_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamFindFilter /* Filter elements returned by SteamFind{First,Next} */
24 | {
25 | eSteamFindLocalOnly, /* limit search to local filesystem */
26 | eSteamFindRemoteOnly, /* limit search to remote repository */
27 | eSteamFindAll /* do not limit search (duplicates allowed) */
28 | } ESteamFindFilter;
29 |
30 | #endif // ESTEAMFINDFILTER_H
31 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamNotify.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMNOTIFICATIONCALLBACKEVENT_H
18 | #define ESTEAMNOTIFICATIONCALLBACKEVENT_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamNotify
24 | {
25 | eSteamNotifyTicketsWillExpire = 0,
26 | eSteamNotifyAccountInfoChanged = 1,
27 | eSteamNotifyContentDescriptionChanged = 2,
28 | eSteamNotifyPleaseShutdown = 3,
29 | eSteamNotifyNewContentServer = 4,
30 | eSteamNotifySubscriptionStatusChanged = 5,
31 | eSteamNotifyContentServerConnectionLost = 6,
32 | eSteamNotifyCacheLoadingCompleted = 7,
33 | eSteamNotifyCacheNeedsDecryption = 8,
34 | eSteamNotifyCacheNeedsRepair = 9,
35 | eSteamNotifyAppDownloading = 10,
36 | eSteamNotifyAppDownloadingPaused = 11,
37 | } ESteamNotify;
38 |
39 | #endif // ESTEAMNOTIFICATIONCALLBACKEVENT_H
40 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamPaymentCardType.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMPAYMENTCARDTYPE_H
18 | #define ESTEAMPAYMENTCARDTYPE_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamPaymentCardType
24 | {
25 | eVisa = 1,
26 | eMaster = 2,
27 | eAmericanExpress = 3,
28 | eDiscover = 4,
29 | eDinnersClub = 5,
30 | eJCB = 6,
31 | } ESteamPaymentCardType;
32 |
33 | #endif // ESTEAMPAYMENTCARDTYPE_H
34 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamSeekMethod.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMSEEKMETHOD_H
18 | #define ESTEAMSEEKMETHOD_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamSeekMethod
24 | {
25 | eSteamSeekMethodSet = 0,
26 | eSteamSeekMethodCur = 1,
27 | eSteamSeekMethodEnd = 2
28 | } ESteamSeekMethod;
29 |
30 | #endif // ESTEAMSEEKMETHOD_H
31 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamServerType.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMSERVERTYPE_H
18 | #define ESTEAMSERVERTYPE_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamServerType
24 | {
25 | eSteamValveCDKeyValidationServer = 0,
26 | eSteamHalfLifeMasterServer = 1,
27 | eSteamFriendsServer = 2,
28 | eSteamCSERServer = 3,
29 | eSteamHalfLife2MasterServer = 4,
30 | eSteamRDKFMasterServer = 5,
31 | eMaxServerTypes = 6,
32 | } ESteamServerType;
33 |
34 | #endif // ESTEAMSERVERTYPE_H
35 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamSubscriptionBillingInfoType.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMSUBSCRIPTIONBILLINGINFOTYPE_H
18 | #define ESTEAMSUBSCRIPTIONBILLINGINFOTYPE_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamSubscriptionBillingInfoType
24 | {
25 | ePaymentCardInfo = 1,
26 | ePrepurchasedInfo = 2,
27 | eAccountBillingInfo = 3,
28 | eExternalBillingInfo = 4, // indirect billing via ISP etc (not supported yet)
29 | ePaymentCardReceipt = 5,
30 | ePrepurchaseReceipt = 6,
31 | eEmptyReceipt = 7,
32 | } ESteamSubscriptionBillingInfoType;
33 |
34 | #endif // ESTEAMSUBSCRIPTIONBILLINGINFOTYPE_H
35 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ESteamSubscriptionStatus.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ESTEAMSUBSCRIPTIONSTATUS_H
18 | #define ESTEAMSUBSCRIPTIONSTATUS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum ESteamSubscriptionStatus
24 | {
25 | eSteamSubscriptionOK = 0,
26 | eSteamSubscriptionPending = 1,
27 | eSteamSubscriptionPreorder = 2,
28 | eSteamSubscriptionPrepurchaseTransferred = 3,
29 | eSteamSubscriptionPrepurchaseInvalid = 4,
30 | eSteamSubscriptionPrepurchaseRejected = 5,
31 | eSteamSubscriptionPrepurchaseRevoked = 6,
32 | eSteamSubscriptionPaymentCardDeclined = 7,
33 | eSteamSubscriptionCancelledByUser = 8,
34 | eSteamSubscriptionCancelledByVendor = 9,
35 | eSteamSubscriptionPaymentCardUseLimit = 10,
36 | eSteamSubscriptionPaymentCardAlert = 11,
37 | eSteamSubscriptionFailed = 12,
38 | eSteamSubscriptionPaymentCardAVSFailure = 13,
39 | eSteamSubscriptionPaymentCardInsufficientFunds = 14,
40 | eSteamSubscriptionRestrictedCountry = 15,
41 | } ESteamSubscriptionStatus;
42 |
43 | #endif // ESTEAMSUBSCRIPTIONSTATUS_H
44 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/EVoiceResult.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef EVOICERESULT_H
18 | #define EVOICERESULT_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // Error codes for use with the voice functions
24 | typedef enum EVoiceResult
25 | {
26 | k_EVoiceResultOK = 0,
27 | k_EVoiceResultNotInitialized = 1,
28 | k_EVoiceResultNotRecording = 2,
29 | k_EVoiceResultNoData = 3,
30 | k_EVoiceResultBufferTooSmall = 4,
31 | k_EVoiceResultDataCorrupted = 5,
32 | k_EVoiceResultRestricted = 6,
33 | k_EVoiceResultUnsupportedCodec = 7,
34 | } EVoiceResult;
35 |
36 | #endif // EVOICERESULT_H
37 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/FriendGameInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef FRIENDGAMEINFO_H
18 | #define FRIENDGAMEINFO_H
19 | #ifndef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #pragma pack( push, 8 )
24 |
25 | // friend game played information
26 | struct FriendGameInfo_t
27 | {
28 | CGameID m_gameID;
29 | uint32 m_unGameIP;
30 | uint16 m_usGamePort;
31 | uint16 m_usQueryPort;
32 | CSteamID m_steamIDLobby;
33 | };
34 |
35 | #pragma pack( pop )
36 |
37 | #endif // FRIENDGAMEINFO_H
38 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/GameStatsCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef GAMESTATSCOMMON_H
18 | #define GAMESTATSCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #define STEAMGAMESTATS_INTERFACE_VERSION_001 "SteamGameStats001"
24 |
25 | #define CLIENTGAMESTATS_INTERFACE_VERSION "CLIENTGAMESTATS_INTERFACE_VERSION001"
26 |
27 | //-----------------------------------------------------------------------------
28 | // Purpose: nAccountType for GetNewSession
29 | //-----------------------------------------------------------------------------
30 | enum EGameStatsAccountType
31 | {
32 | k_EGameStatsAccountType_Steam = 1, // ullAccountID is a 64-bit SteamID for a player
33 | k_EGameStatsAccountType_Xbox = 2, // ullAccountID is a 64-bit XUID
34 | k_EGameStatsAccountType_SteamGameServer = 3, // ullAccountID is a 64-bit SteamID for a game server
35 | };
36 |
37 | #pragma pack( push, 8 )
38 | //-----------------------------------------------------------------------------
39 | // Purpose: callback for GetNewSession() method
40 | //-----------------------------------------------------------------------------
41 | struct GameStatsSessionIssued_t
42 | {
43 | enum { k_iCallback = k_iSteamGameStatsCallbacks + 1 };
44 |
45 | uint64 m_ulSessionID;
46 | EResult m_eResult;
47 | bool m_bCollectingAny;
48 | bool m_bCollectingDetails;
49 | };
50 |
51 | //-----------------------------------------------------------------------------
52 | // Purpose: callback for EndSession() method
53 | //-----------------------------------------------------------------------------
54 | struct GameStatsSessionClosed_t
55 | {
56 | enum { k_iCallback = k_iSteamGameStatsCallbacks + 2 };
57 |
58 | uint64 m_ulSessionID;
59 | EResult m_eResult;
60 | };
61 | #pragma pack( pop )
62 |
63 | #endif // GAMESTATSCOMMON_H
64 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientApps.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTAPPS_H
18 | #define ICLIENTAPPS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "AppsCommon.h"
25 |
26 | abstract_class UNSAFE_INTERFACE IClientApps
27 | {
28 | public:
29 | // returns 0 if the key does not exist
30 | // this may be true on first call, since the app data may not be cached locally yet
31 | // If you expect it to exists wait for the AppDataChanged_t after the first failure and ask again
32 | virtual int32 GetAppData(AppId_t unAppID, const char *pchKey, char *pchValue, int32 cchValueMax) = 0;
33 |
34 | virtual bool SetLocalAppConfig(AppId_t unAppID, uint8 *pchBuffer, int32 cbBuffer) = 0;
35 |
36 | virtual AppId_t GetInternalAppIDFromGameID(CGameID nGameID) = 0;
37 |
38 | virtual int32 GetAllOwnedMultiplayerApps(uint32 *punAppIDs, int32 cAppIDsMax) = 0;
39 |
40 | virtual int32 GetAppDataSection(AppId_t unAppID, EAppInfoSection eSection, uint8 *pchBuffer, int32 cbBufferMax, bool bSharedKVSymbols) = 0;
41 | virtual bool RequestAppInfoUpdate(const AppId_t *pAppIDs, int32 nNumAppIDs) = 0;
42 |
43 | virtual void NotifyAppEventTriggered(AppId_t unAppID, EAppEvent eAppEvent) = 0;
44 |
45 | virtual int32 GetDLCCount(AppId_t unAppID) = 0;
46 | virtual bool BGetDLCDataByIndex(AppId_t unAppID, int32 iDLC, AppId_t* pDlcAppID, bool *pbAvailable, char *pchName, int32 cchNameBufferSize) = 0;
47 | };
48 |
49 | #endif // ICLIENTAPPS_H
50 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientContentServer.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTCONTENTSERVER_H
18 | #define ICLIENTCONTENTSERVER_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "ContentServerCommon.h"
25 | #include "UserCommon.h"
26 |
27 | abstract_class UNSAFE_INTERFACE IClientContentServer
28 | {
29 | virtual HSteamUser GetHSteamUser() = 0;
30 |
31 | STEAMWORKS_STRUCT_RETURN_0(CSteamID, GetSteamID) /*virtual CSteamID GetSteamID() = 0;*/
32 |
33 | virtual void LogOn(uint32 uContentServerID) = 0;
34 | virtual void LogOff() = 0;
35 |
36 | virtual bool BLoggedOn() = 0;
37 | virtual ELogonState GetLogonState() = 0;
38 | virtual bool BConnected() = 0;
39 |
40 | virtual int RaiseConnectionPriority(EConnectionPriority eConnectionPriority) = 0;
41 | virtual void ResetConnectionPriority(int hRaiseConnectionPriorityPrev) = 0;
42 |
43 | virtual void SetCellID(CellID_t cellID) = 0;
44 |
45 | virtual bool SendClientContentAuthRequest(CSteamID steamID, uint32 unContentID, bool bUseToken, uint64 ulSessionToken, bool bTokenPresent) = 0;
46 | virtual bool BCheckTicket(CSteamID steamID, uint32 uContentID, const void *pvTicketData, uint32 cubTicketLength) = 0;
47 | };
48 |
49 | #endif // ICLIENTCONTENTSERVER_H
50 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientDeviceAuth.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTDEVICEAUTH_H
18 | #define ICLIENTDEVICEAUTH_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 |
25 | #define CLIENTDEVICEAUTH_INTERFACE_VERSION "CLIENTDEVICEAUTH_INTERFACE_VERSION001"
26 |
27 | abstract_class UNSAFE_INTERFACE IClientDeviceAuth
28 | {
29 | public:
30 | virtual uint64 AuthorizeLocalDevice(const char * pubUnk, uint32 cubUnk) = 0;
31 | virtual uint64 DeauthorizeLocalDevice(uint32 uUnk) = 0;
32 |
33 | virtual uint64 DeauthorizeRemoteDevice(uint64 uUnk) = 0;
34 | virtual uint64 RequestAuthorizationInfos() = 0;
35 | virtual uint32 GetDeviceAuthorizations(uint64 *, uint32, bool) = 0;
36 | virtual bool GetDeviceAuthorizationInfo(uint64, uint32 *, uint32 *, bool *, char *, int32, char *, int32, char *, int32, uint32 *) = 0;
37 |
38 | virtual uint32 GetAuthorizedBorrowsers(uint32 *, uint32) = 0;
39 | virtual uint32 GetLocalUsers(uint32 *, uint32) = 0;
40 | virtual bool GetBorrowserInfo(uint32, char *, int32, bool *) = 0;
41 | virtual uint64 UpateAuthorizedBorrowers(const uint32 *, uint32, bool) = 0;
42 |
43 | virtual uint32 GetSharedLibraryLockedBy(uint32 uUnk) = 0;
44 | virtual uint32 GetSharedLibraryOwners(uint32 *, uint32) = 0;
45 | };
46 |
47 | #endif // ICLIENTDEVICEAUTH_H
48 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientGameCoordinator.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTGAMECOORDINATOR_H
18 | #define ICLIENTGAMECOORDINATOR_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "GameCoordinatorCommon.h"
25 |
26 | abstract_class IClientGameCoordinator
27 | {
28 | public:
29 | virtual EGCResults SendMessage(AppId_t unAppID, uint32 unMsgType, const void *pubData, uint32 cubData) = 0;
30 |
31 | virtual bool IsMessageAvailable(AppId_t unAppID, uint32 *pcubMsgSize) = 0;
32 |
33 | virtual EGCResults RetrieveMessage(AppId_t unAppID, uint32 *punMsgType, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize) = 0;
34 | };
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientProductBuilder.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTPRODUCTBUILDER_H
18 | #define ICLIENTPRODUCTBUILDER_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 |
25 | // Not a typo, it seem that IClientProductBuilder's version string is really the same as IClientDepotBuilder's.
26 | // Valid as of Steamclient beta 22nd March 2014 (1395164792)
27 | #define CLIENTPRODUCTBUILDER_INTERFACE_VERSION "CLIENTDEPOTBUILDER_INTERFACE_VERSION001"
28 |
29 | abstract_class IClientProductBuilder
30 | {
31 | public:
32 | virtual uint64 SignInstallScript(uint32, const char *, const char *) = 0;
33 | virtual uint64 DRMWrap(uint32, const char *, const char *, const char *, uint32) = 0;
34 | virtual uint64 CEGWrap(uint32, const char *, const char *, const char *) = 0;
35 | };
36 |
37 | #endif // ICLIENTPRODUCTBUILDER_H
38 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientStreamClient.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTSTREAMCLIENT_H
18 | #define ICLIENTSTREAMCLIENT_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 |
25 | #define CLIENTSTREAMCLIENT_INTERFACE_VERSION "CLIENTSTREAMCLIENT_INTERFACE_VERSION001"
26 |
27 | abstract_class UNSAFE_INTERFACE IClientStreamClient
28 | {
29 | public:
30 | virtual void Launched(CGameID gameID) = 0;
31 | virtual void FocusGained(CGameID gameID, bool) = 0;
32 | virtual void FocusLost(CGameID gameID) = 0;
33 | virtual void Finished(CGameID gameID, EResult eResult) = 0;
34 | virtual const char * GetSystemInfo() = 0;
35 | virtual void StartStreamingSession(CGameID gameID) = 0;
36 | virtual void ReportStreamingSessionEvent(CGameID gameID, const char *) = 0;
37 | virtual void FinishStreamingSession(CGameID gameID, const char *, const char *) = 0;
38 | };
39 |
40 | #endif // ICLIENTSTREAMCLIENT_H
41 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientStreamLauncher.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTSTREAMLAUNCHER_H
18 | #define ICLIENTSTREAMLAUNCHER_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "StreamLauncherCommon.h"
25 |
26 | abstract_class UNSAFE_INTERFACE IClientStreamLauncher
27 | {
28 | public:
29 | virtual EStreamLauncherResult StartStreaming(const char *cszFilePath) = 0;
30 | virtual void StopStreaming() = 0;
31 | };
32 |
33 | #endif // ICLIENTSTREAMLAUNCHER_H
34 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/IClientUnifiedMessages.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ICLIENTUNIFIEDMESSAGES_H
18 | #define ICLIENTUNIFIEDMESSAGES_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "UnifiedMessagesCommon.h"
25 |
26 | abstract_class UNSAFE_INTERFACE IClientUnifiedMessages
27 | {
28 | public:
29 | virtual uint64 SendMethod(const char *, const void *, uint32, uint64) = 0;
30 | virtual bool GetMethodResponseInfo(uint64, uint32 *, EResult *) = 0;
31 | virtual bool GetMethodResponseData(uint64, void *, uint32, bool) = 0;
32 | virtual bool ReleaseMethod(uint64) = 0;
33 | virtual bool SendNotification(const char *, const void *, uint32) = 0;
34 | };
35 |
36 | #endif // ICLIENTUNIFIEDMESSAGES_H
37 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteam2Bridge001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAM2BRIDGE001_H
18 | #define ISTEAM2BRIDGE001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "BridgeCommon.h"
25 |
26 | abstract_class ISteam2Bridge001
27 | {
28 | public:
29 | virtual void SetSteam2Ticket(uint8 *pubTicket, int cubTicket) = 0;
30 |
31 | virtual bool SetAccountName(const char *pchAccountName) = 0;
32 | virtual bool SetPassword(const char *pchPassword) = 0;
33 | virtual bool SetAccountCreationTime(RTime32 rt) = 0;
34 |
35 | virtual bool CreateProcess(void *lpVACBlob, uint32 cbBlobSize, char const *lpApplicationName, char *lpCommandLine, uint32 dwCreationFlags, void *lpEnvironment, char *lpCurrentDirectory, uint32 nGameID) = 0;
36 |
37 | virtual EUniverse GetConnectedUniverse() = 0;
38 | virtual const char *GetIPCountry() = 0;
39 |
40 | virtual uint32 GetNumLicenses() = 0;
41 |
42 | virtual int32 GetLicensePackageID(uint32 nLicenseIndex) = 0;
43 | virtual RTime32 GetLicenseTimeCreated(uint32 nLicenseIndex) = 0;
44 | virtual RTime32 GetLicenseTimeNextProcess(uint32 nLicenseIndex) = 0;
45 | virtual int32 GetLicenseMinuteLimit(uint32 nLicenseIndex) = 0;
46 | virtual int32 GetLicenseMinutesUsed(uint32 nLicenseIndex) = 0;
47 | virtual EPaymentMethod GetLicensePaymentMethod(uint32 nLicenseIndex) = 0;
48 | virtual ELicenseFlags GetLicenseFlags(uint32 nLicenseIndex) = 0;
49 | virtual const char *GetLicensePurchaseCountryCode(uint32 nLicenseIndex) = 0;
50 |
51 | virtual bool SetOfflineMode(bool bOffline) = 0;
52 | };
53 |
54 | #endif // ISTEAM2BRIDGE001_H
55 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamAppList001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMAPPLIST001_H
18 | #define ISTEAMAPPLIST001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "AppsCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: interface to app data
28 | //-----------------------------------------------------------------------------
29 | abstract_class ISteamAppList001
30 | {
31 | public:
32 | virtual unknown_ret GetNumInstalledApps() = 0;
33 | virtual unknown_ret GetInstalledApps(uint32 * puUnk, uint32 uUnk) = 0;
34 | virtual unknown_ret GetAppName(uint32 uUnk, char * pUnk, int32 iUnk) = 0;
35 | virtual unknown_ret GetAppInstallDir(uint32 uUnk, char * pUnk, int32 iUnk) = 0;
36 | virtual unknown_ret GetAppBuildId(uint32 uUnk) = 0;
37 | };
38 |
39 | #endif // ISTEAMAPPS001_H
40 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamAppTicket001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMAPPTICKET001_H
18 | #define ISTEAMAPPTICKET001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "AppTicketCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: hand out a reasonable "future proof" view of an app ownership ticket
28 | // the raw (signed) buffer, and indices into that buffer where the appid and
29 | // steamid are located. the sizes of the appid and steamid are implicit in
30 | // (each version of) the interface - currently uin32 appid and uint64 steamid
31 | //-----------------------------------------------------------------------------
32 | abstract_class ISteamAppTicket001
33 | {
34 | public:
35 | virtual uint32 GetAppOwnershipTicketData(AppId_t nAppId, void *pvSignedTicket, uint32 cbSignedTicket, uint32 *piAppId, uint32 *piSteamId, uint32 *piSignature, uint32 *pcbSignature) = 0;
36 | };
37 |
38 | #endif // ISTEAMAPPTICKET001_H
39 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamApps001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMAPPS001_H
18 | #define ISTEAMAPPS001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "AppsCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: interface to app data
28 | //-----------------------------------------------------------------------------
29 | abstract_class ISteamApps001
30 | {
31 | public:
32 | // returns 0 if the key does not exist
33 | // this may be true on first call, since the app data may not be cached locally yet
34 | // If you expect it to exists wait for the AppDataChanged_t after the first failure and ask again
35 | virtual int GetAppData(AppId_t nAppID, const char *pchKey, char *pchValue, int cchValueMax) = 0;
36 | };
37 |
38 | #endif // ISTEAMAPPS001_H
39 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamApps002.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMAPPS002_H
18 | #define ISTEAMAPPS002_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "AppsCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: interface to app data
28 | //-----------------------------------------------------------------------------
29 | abstract_class ISteamApps002
30 | {
31 | public:
32 | virtual bool BIsSubscribed() = 0;
33 | virtual bool BIsLowViolence() = 0;
34 | virtual bool BIsCybercafe() = 0;
35 | virtual bool BIsVACBanned() = 0;
36 |
37 | virtual const char *GetCurrentGameLanguage() = 0;
38 | virtual const char *GetAvailableGameLanguages() = 0;
39 |
40 | // only use this member if you need to check ownership of another game related to yours, a demo for example
41 | virtual bool BIsSubscribedApp(AppId_t nAppID) = 0;
42 | };
43 |
44 | #endif // ISTEAMAPPS002_H
45 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamApps003.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMAPPS003_H
18 | #define ISTEAMAPPS003_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "AppsCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: interface to app data
28 | //-----------------------------------------------------------------------------
29 | abstract_class ISteamApps003
30 | {
31 | public:
32 | virtual bool BIsSubscribed() = 0;
33 | virtual bool BIsLowViolence() = 0;
34 | virtual bool BIsCybercafe() = 0;
35 | virtual bool BIsVACBanned() = 0;
36 | virtual const char *GetCurrentGameLanguage() = 0;
37 | virtual const char *GetAvailableGameLanguages() = 0;
38 |
39 | // only use this member if you need to check ownership of another game related to yours, a demo for example
40 | virtual bool BIsSubscribedApp(AppId_t nAppID) = 0;
41 |
42 | // Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed
43 | virtual bool BIsDlcInstalled(AppId_t nAppID) = 0;
44 | };
45 |
46 | #endif // ISTEAMAPPS003_H
47 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamContentServer001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMCONTENTSERVER001_H
18 | #define ISTEAMCONTENTSERVER001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "ContentServerCommon.h"
25 |
26 | abstract_class ISteamContentServer001
27 | {
28 | public:
29 | virtual bool LogOn(uint32 uContentServerID) = 0;
30 | virtual bool LogOff() = 0;
31 |
32 | virtual bool BLoggedOn() = 0;
33 |
34 | virtual void SendClientContentAuthRequest(CSteamID steamID, uint32 unContentID) = 0;
35 | };
36 |
37 | #endif // ISTEAMCONTENTSERVER001_H
38 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamContentServer002.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMCONTENTSERVER002_H
18 | #define ISTEAMCONTENTSERVER002_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "ContentServerCommon.h"
25 |
26 | abstract_class ISteamContentServer002
27 | {
28 | public:
29 | virtual bool LogOn(uint32 uContentServerID) = 0;
30 | virtual bool LogOff() = 0;
31 |
32 | virtual bool BLoggedOn() = 0;
33 |
34 | virtual void SendClientContentAuthRequest(CSteamID steamID, uint32 uContentID, uint64 ulSessionToken, bool bTokenPresent) = 0;
35 |
36 | virtual bool BCheckTicket(CSteamID steamID, uint32 uContentID, const void *pvTicketData, uint32 cubTicketLength) = 0;
37 | };
38 |
39 | #endif // ISTEAMCONTENTSERVER001_H
40 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamController001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMCONTROLLER001_H
18 | #define ISTEAMCONTROLLER001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "ControllerCommon.h"
25 |
26 | abstract_class ISteamController001
27 | {
28 | public:
29 | //
30 | // Native controller support API
31 | //
32 |
33 | // Must call init and shutdown when starting/ending use of the interface
34 | virtual bool Init(const char *pchAbsolutePathToControllerConfigVDF) = 0;
35 | virtual bool Shutdown() = 0;
36 |
37 | // Pump callback/callresult events, SteamAPI_RunCallbacks will do this for you,
38 | // normally never need to call directly.
39 | virtual void RunFrame() = 0;
40 |
41 | // Get the state of the specified controller, returns false if that controller is not connected
42 | virtual bool GetControllerState(uint32 unControllerIndex, SteamControllerState_t *pState) = 0;
43 |
44 | // Trigger a haptic pulse on the controller
45 | virtual void TriggerHapticPulse(uint32 unControllerIndex, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec) = 0;
46 |
47 | // Set the override mode which is used to choose to use different base/legacy bindings from your config file
48 | virtual void SetOverrideMode(const char *pchMode) = 0;
49 | };
50 |
51 | #endif
52 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamGameCoordinator001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMGAMECOORDINATOR001_H
18 | #define ISTEAMGAMECOORDINATOR001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "GameCoordinatorCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: Functions for sending and receiving messages from the Game Coordinator
28 | // for this application
29 | //-----------------------------------------------------------------------------
30 | abstract_class ISteamGameCoordinator001
31 | {
32 | public:
33 |
34 | // sends a message to the Game Coordinator
35 | virtual EGCResults SendMessage(uint32 unMsgType, const void *pubData, uint32 cubData) = 0;
36 |
37 | // returns true if there is a message waiting from the game coordinator
38 | virtual bool IsMessageAvailable(uint32 *pcubMsgSize) = 0;
39 |
40 | // fills the provided buffer with the first message in the queue and returns k_EGCResultOK or
41 | // returns k_EGCResultNoMessage if there is no message waiting. pcubMsgSize is filled with the message size.
42 | // If the provided buffer is not large enough to fit the entire message, k_EGCResultBufferTooSmall is returned
43 | // and the message remains at the head of the queue.
44 | virtual EGCResults RetrieveMessage(uint32 *punMsgType, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize) = 0;
45 | };
46 |
47 | #endif // ISTEAMGAMECOORDINATOR001_H
48 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamGameStats001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMGAMESTATS001_H
18 | #define ISTEAMGAMESTATS001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "GameStatsCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: Functions for recording game play sessions and details thereof
28 | //-----------------------------------------------------------------------------
29 | abstract_class ISteamGameStats001
30 | {
31 | public:
32 | virtual SteamAPICall_t GetNewSession(int8 nAccountType, uint64 ulAccountID, int32 nAppID, RTime32 rtTimeStarted) = 0;
33 | virtual SteamAPICall_t EndSession(uint64 ulSessionID, RTime32 rtTimeEnded, int nReasonCode) = 0;
34 | virtual EResult AddSessionAttributeInt(uint64 ulSessionID, const char* pstrName, int32 nData) = 0;
35 | virtual EResult AddSessionAttributeString(uint64 ulSessionID, const char* pstrName, const char *pstrData) = 0;
36 | virtual EResult AddSessionAttributeFloat(uint64 ulSessionID, const char* pstrName, float fData) = 0;
37 |
38 | virtual EResult AddNewRow(uint64 *pulRowID, uint64 ulSessionID, const char *pstrTableName) = 0;
39 | virtual EResult CommitRow(uint64 ulRowID) = 0;
40 | virtual EResult CommitOutstandingRows(uint64 ulSessionID) = 0;
41 | virtual EResult AddRowAttributeInt(uint64 ulRowID, const char *pstrName, int32 nData) = 0;
42 | virtual EResult AddRowAtributeString(uint64 ulRowID, const char *pstrName, const char *pstrData) = 0;
43 | virtual EResult AddRowAttributeFloat(uint64 ulRowID, const char *pstrName, float fData) = 0;
44 |
45 | virtual EResult AddSessionAttributeInt64(uint64 ulSessionID, const char *pstrName, int64 llData) = 0;
46 | virtual EResult AddRowAttributeInt64(uint64 ulRowID, const char *pstrName, int64 llData) = 0;
47 | };
48 |
49 | #endif // ISTEAMGAMESERVERSTATS001_H
50 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamMusic001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMMUSIC001_H
18 | #define ISTEAMMUSIC001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "MusicCommon.h"
25 |
26 | abstract_class ISteamMusic001
27 | {
28 | public:
29 | virtual bool BIsEnabled() = 0;
30 | virtual bool BIsPlaying() = 0;
31 |
32 | virtual AudioPlayback_Status GetPlaybackStatus() = 0;
33 |
34 | virtual void Play() = 0;
35 | virtual void Pause() = 0;
36 | virtual void PlayPrevious() = 0;
37 | virtual void PlayNext() = 0;
38 |
39 | // volume is between 0.0 and 1.0
40 | virtual void SetVolume(float flVolume) = 0;
41 | virtual float GetVolume() = 0;
42 | };
43 |
44 | #endif // ISTEAMMUSIC001_H
45 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamOAuth001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMOAUTH001_H
18 | #define ISTEAMOAUTH001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "OAuthCommon.h"
25 |
26 | abstract_class OBSOLETE_INTERFACE ISteamOAuth001
27 | {
28 | public:
29 | virtual SteamAPICall_t RequestOAuthTokenForApp(const char *cszOAuthScope) = 0;
30 | virtual bool GetOAuthTokenForApp(void *pubBuffer, int32 cubBuffer, uint32 *puTokenSize) = 0;
31 | virtual void InvalidateOAuthTokenForApp() = 0;
32 | };
33 |
34 | #endif // ISTEAMOAUTH001_H
35 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamRemoteStorage001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMREMOTESTORAGE001_H
18 | #define ISTEAMREMOTESTORAGE001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "RemoteStorageCommon.h"
25 |
26 | abstract_class ISteamRemoteStorage001
27 | {
28 | public:
29 | virtual bool FileWrite(const char *filename, void const *data, int) = 0;
30 |
31 | virtual uint32 GetFileSize(const char *filename) = 0;
32 |
33 | virtual bool FileRead(const char *filename, void *buffer, int size) = 0;
34 |
35 | virtual bool FileExists(const char *filename) = 0;
36 | virtual OBSOLETE_FUNCTION bool FileDelete(const char *filename) = 0;
37 |
38 | virtual uint32 GetFileCount() = 0;
39 |
40 | virtual const char *GetFileNameAndSize(int index, int *size) = 0;
41 |
42 | virtual bool GetQuota(int *current, int *maximum) = 0;
43 | };
44 |
45 | #endif // ISTEAMREMOTESTORAGE001_H
46 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamRemoteStorage002.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMREMOTESTORAGE002_H
18 | #define ISTEAMREMOTESTORAGE002_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "RemoteStorageCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: Functions for accessing, reading and writing files stored remotely
28 | // and cached locally
29 | //-----------------------------------------------------------------------------
30 | abstract_class ISteamRemoteStorage002
31 | {
32 | public:
33 | // NOTE
34 | //
35 | // Filenames are case-insensitive, and will be converted to lowercase automatically.
36 | // So "foo.bar" and "Foo.bar" are the same file, and if you write "Foo.bar" then
37 | // iterate the files, the filename returned will be "foo.bar".
38 | //
39 |
40 | // file operations
41 | virtual bool FileWrite(const char *pchFile, const void *pvData, int32 cubData) = 0;
42 | virtual int32 GetFileSize(const char *pchFile) = 0;
43 | virtual int32 FileRead(const char *pchFile, void *pvData, int32 cubDataToRead) = 0;
44 | virtual bool FileExists(const char *pchFile) = 0;
45 |
46 | // iteration
47 | virtual int32 GetFileCount() = 0;
48 | virtual const char *GetFileNameAndSize(int iFile, int32 *pnFileSizeInBytes) = 0;
49 |
50 | // quota management
51 | virtual bool GetQuota(int32 *pnTotalBytes, int32 *puAvailableBytes) = 0;
52 | };
53 |
54 | #endif // ISTEAMREMOTESTORAGE_H
55 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamStreamLauncher001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMSTREAMLAUNCHER001_H
18 | #define ISTEAMSTREAMLAUNCHER001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "StreamLauncherCommon.h"
25 |
26 | abstract_class ISteamStreamLauncher001
27 | {
28 | public:
29 | virtual EStreamLauncherResult StartStreaming(const char *cszFilePath) = 0;
30 | virtual void StopStreaming() = 0;
31 | };
32 |
33 | #endif // ISTEAMSTREAMLAUNCHER001_H
34 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamUnifiedMessages001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMUNIFIEDMESSAGES001_H
18 | #define ISTEAMUNIFIEDMESSAGES001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "UnifiedMessagesCommon.h"
25 |
26 | abstract_class ISteamUnifiedMessages001
27 | {
28 | public:
29 | virtual uint64 SendMethod(const char *, const void *, uint32, uint64) = 0;
30 | virtual bool GetMethodResponseInfo(uint64, uint32 *, EResult *) = 0;
31 | virtual bool GetMethodResponseData(uint64, void *, uint32, bool) = 0;
32 | virtual bool ReleaseMethod(uint64) = 0;
33 | virtual bool SendNotification(const char *, const void *, uint32) = 0;
34 | };
35 |
36 | #endif // ISTEAMUNIFIEDMESSAGES001_H
37 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/ISteamUtils001.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef ISTEAMUTILS001_H
18 | #define ISTEAMUTILS001_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 | #include "UtilsCommon.h"
25 |
26 | //-----------------------------------------------------------------------------
27 | // Purpose: interface to user independent utility functions
28 | //-----------------------------------------------------------------------------
29 | abstract_class ISteamUtils001
30 | {
31 | public:
32 | // return the number of seconds since the user
33 | virtual uint32 GetSecondsSinceAppActive() = 0;
34 | virtual uint32 GetSecondsSinceComputerActive() = 0;
35 |
36 | // the universe this client is connecting to
37 | virtual EUniverse GetConnectedUniverse() = 0;
38 |
39 | // server time - in PST, number of seconds since January 1, 1970 (i.e unix time)
40 | virtual uint32 GetServerRealTime() = 0;
41 | };
42 |
43 | #endif // ISTEAMUTILS001_H
44 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/MasterServerUpdaterCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef MASTERSERVERUPDATERCOMMON_H
18 | #define MASTERSERVERUPDATERCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #define CLIENTMASTERSERVERUPDATER_INTERFACE_VERSION "CLIENTMASTERSERVERUPDATER_INTERFACE_VERSION001"
24 |
25 | #define STEAMMASTERSERVERUPDATER_INTERFACE_VERSION_001 "SteamMasterServerUpdater001"
26 |
27 | #define MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE ((uint16)-1)
28 |
29 | #endif // MASTERSERVERUPDATERCOMMON_H
30 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/MatchMakingKeyValuePair.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef MATCHMAKINGKEYVALUEPAIR_H
18 | #define MATCHMAKINGKEYVALUEPAIR_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #ifdef _S4N_
24 | #define strncpy(...)
25 | #else
26 | #include
27 | #include
28 | #endif
29 |
30 | struct MatchMakingKeyValuePair_t
31 | {
32 | MatchMakingKeyValuePair_t() { m_szKey[0] = m_szValue[0] = 0; }
33 |
34 | #ifdef _MSC_VER
35 | #pragma warning(push)
36 | #pragma warning(disable: 4996)
37 | #endif
38 |
39 | MatchMakingKeyValuePair_t(const char *pchKey, const char *pchValue)
40 | {
41 | strncpy(m_szKey, pchKey, sizeof(m_szKey)); // this is a public header, use basic c library string funcs only!
42 | m_szKey[sizeof(m_szKey) - 1] = '\0';
43 | strncpy(m_szValue, pchValue, sizeof(m_szValue));
44 | m_szValue[sizeof(m_szValue) - 1] = '\0';
45 | }
46 |
47 | #ifdef _MSC_VER
48 | #pragma warning(pop)
49 | #endif
50 |
51 | char m_szKey[256];
52 | char m_szValue[256];
53 | };
54 |
55 | #endif // MATCHMAKINGKEYVALUEPAIR_H
56 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/MusicCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef MUSICCOMMON_H
18 | #define MUSICCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | enum AudioPlayback_Status
24 | {
25 | AudioPlayback_Undefined = 0,
26 | AudioPlayback_Playing = 1,
27 | AudioPlayback_Paused = 2,
28 | AudioPlayback_Idle = 3
29 | };
30 |
31 | #define STEAMMUSIC_INTERFACE_VERSION_001 "STEAMMUSIC_INTERFACE_VERSION001"
32 |
33 | #endif // MUSICCOMMON_H
34 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/OAuthCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef OAUTHCOMMON_H
18 | #define OAUTHCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #define STEAMOAUTH_INTERFACE_VERSION_001 "SteamOAuth001"
24 |
25 | #endif // OAUTHCOMMON_H
26 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/POSIXLibrary.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #pragma once
18 | #include
19 |
20 | class DynamicLibrary
21 | {
22 | public:
23 | DynamicLibrary(const char* cszPath)
24 | {
25 | m_handle = dlopen(cszPath, RTLD_LAZY);
26 | }
27 |
28 | ~DynamicLibrary()
29 | {
30 | if(m_handle)
31 | dlclose(m_handle);
32 | }
33 |
34 | void * GetSymbol(const char* cszSymbol) const
35 | {
36 | if(!m_handle)
37 | return NULL;
38 |
39 | return dlsym(m_handle, cszSymbol);
40 | }
41 |
42 | bool IsLoaded() const
43 | {
44 | return m_handle != NULL;
45 | }
46 |
47 | private:
48 | void *m_handle;
49 |
50 | DynamicLibrary(const DynamicLibrary&);
51 | void operator=(const DynamicLibrary&);
52 | };
53 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/SteamAPI.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef STEAMAPI_H
18 | #define STEAMAPI_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // includes
24 | #include "SteamTypes.h"
25 |
26 | // extern function declarations
27 | #include "Steam.h"
28 |
29 | // inline interface utils
30 | #include "Interface_OSW.h"
31 |
32 | #endif // STEAMAPI_H
33 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/SteamSalt.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef STEAMSALT_H
18 | #define STEAMSALT_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct SteamSalt
24 | {
25 | unsigned char uchSalt[STEAM_SALT_SIZE];
26 | } SteamSalt_t;
27 |
28 | #endif // STEAMSALT_H
29 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/SteamclientAPI.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef STEAMCLIENTAPI_H
18 | #define STEAMCLIENTAPI_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // includes
24 | #include "SteamTypes.h"
25 |
26 | // extern function declarations
27 | #include "Steamclient.h"
28 |
29 | // inline interface utils
30 | #include "Interface_OSW.h"
31 |
32 | #endif // STEAMCLIENTAPI_H
33 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/Steamworks.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef STEAMWORKS_H
18 | #define STEAMWORKS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | #include "SteamTypes.h"
24 |
25 | #ifndef NO_STEAM
26 | // steam.dll
27 | #include "SteamAPI.h"
28 | #endif
29 |
30 | #ifndef NO_STEAMCLIENT
31 | // steamclient.dll / steam_api.dll
32 | #include "SteamclientAPI.h"
33 | #endif
34 |
35 | #endif // STEAMWORKS_H
36 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/StreamLauncherCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef STREAMLAUNCHERCOMMON_H
18 | #define STREAMLAUNCHERCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // versions
24 | #define CLIENTSTREAMLAUNCHER_INTERFACE_VERSION "CLIENTSTREAMLAUNCHER_INTERFACE_VERSION001"
25 | #define STEAMSTREAMLAUNCHER_INTERFACE_VERSION_001 "STEAMSTREAMLAUNCHER_INTERFACE_VERSION001"
26 |
27 | enum EStreamLauncherResult
28 | {
29 | // TODO: Reverse this enum
30 | };
31 |
32 | // callbacks
33 | #pragma pack( push, 8 )
34 |
35 | #pragma pack( pop )
36 |
37 | #endif // STREAMLAUNCHERCOMMON_H
38 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamApp.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMAPP_H
18 | #define TSTEAMAPP_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamApp
24 | {
25 | char *szName;
26 | unsigned int uMaxNameChars;
27 | char *szLatestVersionLabel;
28 | unsigned int uMaxLatestVersionLabelChars;
29 | char *szCurrentVersionLabel;
30 | unsigned int uMaxCurrentVersionLabelChars;
31 | char* szInstallDirName;
32 | unsigned int uMaxInstallDirNameChars;
33 | unsigned int uId;
34 | unsigned int uLatestVersionId;
35 | unsigned int uCurrentVersionId;
36 | unsigned int uMinCacheFileSizeMB;
37 | unsigned int uMaxCacheFileSizeMB;
38 | unsigned int uNumLaunchOptions;
39 | unsigned int uNumIcons;
40 | unsigned int uNumVersions;
41 | unsigned int uNumDependencies;
42 | } TSteamApp;
43 |
44 | #endif // TSTEAMAPP_H
45 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamAppDependencyInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMAPPDEPENDENCYINFO_H
18 | #define TSTEAMAPPDEPENDENCYINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamAppDependencyInfo
24 | {
25 | unsigned int AppId;
26 | unsigned int IsRequired;
27 | char szMountName[STEAM_MAX_PATH];
28 | } TSteamAppDependencyInfo;
29 |
30 | #endif // TSTEAMAPPDEPENDENCYINFO_H
31 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamAppLaunchOption.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMAPPLAUNCHOPTION_H
18 | #define TSTEAMAPPLAUNCHOPTION_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamAppLaunchOption
24 | {
25 | char *szDesc;
26 | unsigned int uMaxDescChars;
27 | char *szCmdLine;
28 | unsigned int uMaxCmdLineChars;
29 | unsigned int uIndex;
30 | unsigned int uIconIndex;
31 | int bNoDesktopShortcut;
32 | int bNoStartMenuShortcut;
33 | int bIsLongRunningUnattended;
34 | } TSteamAppLaunchOption;
35 |
36 | #endif // TSTEAMAPPLAUNCHOPTION_H
37 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamAppStats.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMAPPSTATS_H
18 | #define TSTEAMAPPSTATS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamAppStats
24 | {
25 | unsigned int uNumApps;
26 | unsigned int uMaxNameChars;
27 | unsigned int uMaxInstallDirNameChars;
28 | unsigned int uMaxVersionLabelChars;
29 | unsigned int uMaxLaunchOptions;
30 | unsigned int uMaxLaunchOptionDescChars;
31 | unsigned int uMaxLaunchOptionCmdLineChars;
32 | unsigned int uMaxNumIcons;
33 | unsigned int uMaxIconSize;
34 | unsigned int uMaxDependencies;
35 | } TSteamAppStats;
36 |
37 | #endif // TSTEAMAPPSTATS_H
38 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamAppVersion.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMAPPVERSION_H
18 | #define TSTEAMAPPVERSION_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamAppVersion
24 | {
25 | char *szLabel;
26 | unsigned int uMaxLabelChars;
27 | unsigned int uVersionId;
28 | int bIsNotAvailable;
29 | } TSteamAppVersion;
30 |
31 | #endif // TSTEAMAPPVERSION_H
32 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamDiscountQualifier.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMDISCOUNTQUALIFIER_H
18 | #define TSTEAMDISCOUNTQUALIFIER_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamDiscountQualifier
24 | {
25 | char szName[STEAM_MAX_PATH];
26 | unsigned int uRequiredSubscription;
27 | int bIsDisqualifier;
28 | } TSteamDiscountQualifier;
29 |
30 | #endif // TSTEAMDISCOUNTQUALIFIER_H
31 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamElemInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMELEMINFO_H
18 | #define TSTEAMELEMINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamElemInfo
24 | {
25 | int bIsDir; /* If non-zero, element is a directory; if zero, element is a file */
26 | unsigned int uSizeOrCount; /* If element is a file, this contains size of file in bytes */
27 | int bIsLocal; /* If non-zero, reported item is a standalone element on local filesystem */
28 | char cszName[STEAM_MAX_PATH]; /* Base element name (no path) */
29 | long lLastAccessTime; /* Seconds since 1/1/1970 (like time_t) when element was last accessed */
30 | long lLastModificationTime; /* Seconds since 1/1/1970 (like time_t) when element was last modified */
31 | long lCreationTime; /* Seconds since 1/1/1970 (like time_t) when element was created */
32 | } TSteamElemInfo;
33 |
34 | typedef struct TSteamElemInfo64
35 | {
36 | int bIsDir; /* If non-zero, element is a directory; if zero, element is a file */
37 | unsigned long long ullSizeOrCount; /* If element is a file, this contains size of file in bytes */
38 | int bIsLocal; /* If non-zero, reported item is a standalone element on local filesystem */
39 | char cszName[STEAM_MAX_PATH]; /* Base element name (no path) */
40 | long long llLastAccessTime; /* Seconds since 1/1/1970 (like time_t) when element was last accessed */
41 | long long llLastModificationTime; /* Seconds since 1/1/1970 (like time_t) when element was last modified */
42 | long long llCreationTime; /* Seconds since 1/1/1970 (like time_t) when element was created */
43 | } TSteamElemInfo64;
44 |
45 | #endif // TSTEAMELEMINFO_H
46 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamError.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMERROR_H
18 | #define TSTEAMERROR_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum EDetailedPlatformErrorType
24 | {
25 | eNoDetailedErrorAvailable,
26 | eStandardCerrno,
27 | eWin32LastError,
28 | eWinSockLastError,
29 | eDetailedPlatformErrorCount
30 | } EDetailedPlatformErrorType;
31 |
32 | typedef struct TSteamError
33 | {
34 | ESteamError eSteamError;
35 | EDetailedPlatformErrorType eDetailedErrorType;
36 | int nDetailedErrorCode;
37 | char szDesc[STEAM_MAX_PATH];
38 | } TSteamError;
39 |
40 | #endif // TSTEAMERROR_H
41 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamExternalBillingInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMEXTERNALBILLINGINFO_H
18 | #define TSTEAMEXTERNALBILLINGINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamExternalBillingInfo
24 | {
25 | char szAccountName[STEAM_EXTERNAL_ACCOUNTNAME_SIZE + 1];
26 | char szPassword[STEAM_EXTERNAL_ACCOUNTPASSWORD_SIZE + 1];
27 | } TSteamExternalBillingInfo;
28 |
29 | #endif // TSTEAMEXTERNALBILLINGINFO_H
30 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamGlobalUserID.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMGLOBALUSERID_H
18 | #define TSTEAMGLOBALUSERID_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // Applications need to be able to authenticate Steam users from ANY instance.
24 | // So a SteamIDTicket contains SteamGlobalUserID, which is a unique combination of
25 | // instance and user id.
26 | typedef struct TSteamGlobalUserID
27 | {
28 | SteamInstanceID_t m_SteamInstanceID;
29 |
30 | union m_SteamLocalUserID
31 | {
32 | SteamLocalUserID_t As64bits;
33 | TSteamSplitLocalUserID Split;
34 | } m_SteamLocalUserID;
35 | } TSteamGlobalUserID;
36 |
37 | #endif // TSTEAMGLOBALUSERID_H
38 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamOfflineStatus.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMOFFLINESTATUS_H
18 | #define TSTEAMOFFLINESTATUS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamOfflineStatus
24 | {
25 | int eOfflineNow;
26 | int eOfflineNextSession;
27 | } TSteamOfflineStatus;
28 |
29 | #endif // TSTEAMOFFLINESTATUS_H
30 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamPaymentCardInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMPAYMENTCARDINFO_H
18 | #define TSTEAMPAYMENTCARDINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamPaymentCardInfo
24 | {
25 | ESteamPaymentCardType eCardType;
26 | char szCardNumber[STEAM_CARD_NUMBER_SIZE + 1];
27 | char szCardHolderName[STEAM_CARD_HOLDERNAME_SIZE + 1];
28 | char szCardExpYear[STEAM_CARD_EXPYEAR_SIZE + 1];
29 | char szCardExpMonth[STEAM_CARD_EXPMONTH_SIZE + 1];
30 | char szCardCVV2[STEAM_CARD_CVV2_SIZE + 1];
31 | char szBillingAddress1[STEAM_BILLING_ADDRESS1_SIZE + 1];
32 | char szBillingAddress2[STEAM_BILLING_ADDRESS2_SIZE + 1];
33 | char szBillingCity[STEAM_BILLING_CITY_SIZE + 1];
34 | char szBillingZip[STEAM_BILLING_ZIP_SIZE + 1];
35 | char szBillingState[STEAM_BILLING_STATE_SIZE + 1];
36 | char szBillingCountry[STEAM_BILLING_COUNTRY_SIZE + 1];
37 | char szBillingPhone[STEAM_BILLING_PHONE_SIZE + 1];
38 | char szBillingEmailAddress[STEAM_BILLING_EMAIL_SIZE + 1];
39 | unsigned int uExpectedCostInCents;
40 | unsigned int uExpectedTaxInCents;
41 | char szShippingName[STEAM_CARD_HOLDERNAME_SIZE + 1];
42 | char szShippingAddress1[STEAM_BILLING_ADDRESS1_SIZE + 1];
43 | char szShippingAddress2[STEAM_BILLING_ADDRESS2_SIZE + 1];
44 | char szShippingCity[STEAM_BILLING_CITY_SIZE + 1];
45 | char szShippingZip[STEAM_BILLING_ZIP_SIZE + 1];
46 | char szShippingState[STEAM_BILLING_STATE_SIZE + 1];
47 | char szShippingCountry[STEAM_BILLING_COUNTRY_SIZE + 1];
48 | char szShippingPhone[STEAM_BILLING_PHONE_SIZE + 1];
49 | unsigned int uExpectedShippingCostInCents;
50 | } TSteamPaymentCardInfo;
51 |
52 | #endif // TSTEAMPAYMENTCARDINFO_H
53 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamPaymentCardReceiptInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMPAYMENTCARDRECEIPTINFO_H
18 | #define TSTEAMPAYMENTCARDRECEIPTINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamPaymentCardReceiptInfo
24 | {
25 | ESteamPaymentCardType eCardType;
26 | char szCardLastFourDigits[STEAM_CARD_LASTFOURDIGITS_SIZE + 1];
27 | char szCardHolderName[STEAM_CARD_HOLDERNAME_SIZE + 1];
28 | char szBillingAddress1[STEAM_BILLING_ADDRESS1_SIZE + 1];
29 | char szBillingAddress2[STEAM_BILLING_ADDRESS2_SIZE + 1];
30 | char szBillingCity[STEAM_BILLING_CITY_SIZE + 1];
31 | char szBillingZip[STEAM_BILLING_ZIP_SIZE + 1];
32 | char szBillingState[STEAM_BILLING_STATE_SIZE + 1];
33 | char szBillingCountry[STEAM_BILLING_COUNTRY_SIZE + 1];
34 | char szCardApprovalCode[STEAM_CARD_APPROVAL_CODE_SIZE + 1];
35 | char szTransDate[STEAM_DATE_SIZE + 1];
36 | char szTransTime[STEAM_TIME_SIZE + 1];
37 | unsigned int uPriceWithoutTax;
38 | unsigned int uTaxAmount;
39 | unsigned int uShippingCost;
40 | } TSteamPaymentCardReceiptInfo;
41 |
42 | #endif // TSTEAMPAYMENTCARDRECEIPTINFO_H
43 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamPrepurchaseInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMPREPURCHASEINFO_H
18 | #define TSTEAMPREPURCHASEINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamPrepurchaseInfo
24 | {
25 | char szTypeOfProofOfPurchase[STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1];
26 |
27 | // A ProofOfPurchase token is not necessarily a nul-terminated string; it may be binary data
28 | // (perhaps encrypted). Hence we need a length and an array of bytes.
29 | unsigned int uLengthOfBinaryProofOfPurchaseToken;
30 | char cBinaryProofOfPurchaseToken[STEAM_PROOF_OF_PURCHASE_TOKEN_SIZE + 1];
31 | } TSteamPrepurchaseInfo;
32 |
33 | #endif // TSTEAMPREPURCHASEINFO_H
34 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamPrepurchaseReceiptInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMPREPURCHASERECEIPTINFO_H
18 | #define TSTEAMPREPURCHASERECEIPTINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamPrepurchaseReceiptInfo
24 | {
25 | char szTypeOfProofOfPurchase[STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1];
26 | } TSteamPrepurchaseReceiptInfo;
27 |
28 | #endif // TSTEAMPREPURCHASERECEIPTINFO_H
29 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamProgress.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMPROGRESS_H
18 | #define TSTEAMPROGRESS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamProgress
24 | {
25 | int bValid; // non-zero if call provides progress info
26 | unsigned int uPercentDone; // 0 to 100 if bValid
27 | char szProgress[STEAM_MAX_PATH]; // additional progress info
28 | } TSteamProgress;
29 |
30 | #endif // TSTEAMPROGRESS_H
31 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamSplitLocalUserID.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMSPLITLOCALUSERID_H
18 | #define TSTEAMSPLITLOCALUSERID_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // Applications need to be able to authenticate Steam users from ANY instance.
24 | // So a SteamIDTicket contains SteamGlobalUserID, which is a unique combination of
25 | // instance and user id.
26 |
27 | // SteamLocalUserID is an unsigned 64-bit integer.
28 | // For platforms without 64-bit int support, we provide access via a union that splits it into
29 | // high and low unsigned 32-bit ints. Such platforms will only need to compare LocalUserIDs
30 | // for equivalence anyway - not perform arithmetic with them.
31 | typedef struct TSteamSplitLocalUserID
32 | {
33 | unsigned int Low32bits;
34 | unsigned int High32bits;
35 | } TSteamSplitLocalUserID;
36 |
37 | #endif // TSTEAMSPLITLOCALUSERID_H
38 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamSubscription.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMSUBSCRIPTION_H
18 | #define TSTEAMSUBSCRIPTION_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef enum EBillingType
24 | {
25 | eNoCost = 0,
26 | eBillOnceOnly = 1,
27 | eBillMonthly = 2,
28 | eProofOfPrepurchaseOnly = 3,
29 | eGuestPass = 4,
30 | eHardwarePromo = 5,
31 | eGift = 6,
32 | eAutoGrant = 7,
33 | OEMTicket = 8,
34 | eRecurringOption = 9,
35 | eNumBillingTypes = 10,
36 | } EBillingType;
37 |
38 | typedef struct TSteamSubscription
39 | {
40 | char* szName;
41 | unsigned int uMaxNameChars;
42 | unsigned int* puAppIds;
43 | unsigned int uMaxAppIds;
44 | unsigned int uId;
45 | unsigned int uNumApps;
46 | EBillingType eBillingType;
47 | unsigned int uCostInCents;
48 | unsigned int uNumDiscounts;
49 | int bIsPreorder;
50 | int bRequiresShippingAddress;
51 | unsigned int uDomesticShippingCostInCents;
52 | unsigned int uInternationalShippingCostInCents;
53 | bool bIsCyberCafeSubscription;
54 | unsigned int uGameCode;
55 | char szGameCodeDesc[STEAM_MAX_PATH];
56 | bool bIsDisabled;
57 | bool bRequiresCD;
58 | unsigned int uTerritoryCode;
59 | bool bIsSteam3Subscription;
60 | } TSteamSubscription;
61 |
62 | #endif // TSTEAMSUBSCRIPTION_H
63 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamSubscriptionBillingInfo.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMSUBSCRIPTIONBILLINGINFO_H
18 | #define TSTEAMSUBSCRIPTIONBILLINGINFO_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamSubscriptionBillingInfo
24 | {
25 | ESteamSubscriptionBillingInfoType eBillingInfoType;
26 | union
27 | {
28 | TSteamPaymentCardInfo PaymentCardInfo;
29 | TSteamPrepurchaseInfo PrepurchaseInfo;
30 | TSteamExternalBillingInfo ExternalBillingInfo;
31 | char bUseAccountBillingInfo;
32 | };
33 | } TSteamSubscriptionBillingInfo;
34 |
35 | #endif // TSTEAMSUBSCRIPTIONBILLINGINFO_H
36 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamSubscriptionDiscount.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMSUBSCRIPTIONDISCOUNT_H
18 | #define TSTEAMSUBSCRIPTIONDISCOUNT_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamSubscriptionDiscount
24 | {
25 | char szName[STEAM_MAX_PATH];
26 | unsigned int uDiscountInCents;
27 | unsigned int uNumQualifiers;
28 | } TSteamSubscriptionDiscount;
29 |
30 | #endif // TSTEAMSUBSCRIPTIONDISCOUNT_H
31 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamSubscriptionReceipt.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMSUBSCRIPTIONRECEIPT_H
18 | #define TSTEAMSUBSCRIPTIONRECEIPT_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamSubscriptionReceipt
24 | {
25 | ESteamSubscriptionStatus eStatus;
26 | ESteamSubscriptionStatus ePreviousStatus;
27 | ESteamSubscriptionBillingInfoType eReceiptInfoType;
28 |
29 | char szConfirmationCode[STEAM_CONFIRMATION_CODE_SIZE + 1];
30 |
31 | union
32 | {
33 | TSteamPaymentCardReceiptInfo PaymentCardReceiptInfo;
34 | TSteamPrepurchaseReceiptInfo PrepurchaseReceiptInfo;
35 | };
36 | } TSteamSubscriptionReceipt;
37 |
38 | #endif // TSTEAMSUBSCRIPTIONRECEIPT_H
39 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamSubscriptionStats.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMSUBSCRIPTIONSTATS_H
18 | #define TSTEAMSUBSCRIPTIONSTATS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamSubscriptionStats
24 | {
25 | unsigned int uNumSubscriptions;
26 | unsigned int uMaxNameChars;
27 | unsigned int uMaxApps;
28 | } TSteamSubscriptionStats;
29 |
30 | #endif // TSTEAMSUBSCRIPTIONSTATS_H
31 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/TSteamUpdateStats.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef TSTEAMUPDATESTATS_H
18 | #define TSTEAMUPDATESTATS_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | typedef struct TSteamUpdateStats
24 | {
25 | SteamUnsigned64_t uBytesTotal;
26 | SteamUnsigned64_t uBytesPresent;
27 | } TSteamUpdateStats;
28 |
29 | #endif // TSTEAMUPDATESTATS_H
30 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/UnifiedMessagesCommon.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #ifndef UNIFIEDMESSAGESCOMMON_H
18 | #define UNIFIEDMESSAGESCOMMON_H
19 | #ifdef _WIN32
20 | #pragma once
21 | #endif
22 |
23 | // versions
24 | #define CLIENTUNIFIEDMESSAGES_INTERFACE_VERSION "CLIENTUNIFIEDMESSAGES_INTERFACE_VERSION001"
25 | #define STEAMUNIFIEDMESSAGES_INTERFACE_VERSION_001 "STEAMUNIFIEDMESSAGES_INTERFACE_VERSION001"
26 |
27 | // callbacks
28 | #pragma pack( push, 8 )
29 |
30 | #pragma pack( pop )
31 |
32 | #endif // UNIFIEDMESSAGESCOMMON_H
33 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Interfaces/Steam/Win32Library.h:
--------------------------------------------------------------------------------
1 | //========================== Open Steamworks ================================
2 | //
3 | // This file is part of the Open Steamworks project. All individuals associated
4 | // with this project do not claim ownership of the contents
5 | //
6 | // The code, comments, and all related files, projects, resources,
7 | // redistributables included with this project are Copyright Valve Corporation.
8 | // Additionally, Valve, the Valve logo, Half-Life, the Half-Life logo, the
9 | // Lambda logo, Steam, the Steam logo, Team Fortress, the Team Fortress logo,
10 | // Opposing Force, Day of Defeat, the Day of Defeat logo, Counter-Strike, the
11 | // Counter-Strike logo, Source, the Source logo, and Counter-Strike Condition
12 | // Zero are trademarks and or registered trademarks of Valve Corporation.
13 | // All other trademarks are property of their respective owners.
14 | //
15 | //=============================================================================
16 |
17 | #pragma once
18 |
19 | class DynamicLibrary
20 | {
21 | public:
22 | DynamicLibrary(const char* cszPath)
23 | {
24 | m_handle = LoadLibraryA(cszPath);
25 | }
26 |
27 | ~DynamicLibrary()
28 | {
29 | if(m_handle)
30 | FreeLibrary(m_handle);
31 | }
32 |
33 | void * GetSymbol(const char* cszSymbol) const
34 | {
35 | if(!m_handle)
36 | return NULL;
37 |
38 | return (void *)GetProcAddress(m_handle, cszSymbol);
39 | }
40 |
41 | bool IsLoaded() const
42 | {
43 | return m_handle != NULL;
44 | }
45 |
46 | private:
47 | HMODULE m_handle;
48 |
49 | DynamicLibrary(const DynamicLibrary&);
50 | void operator=(const DynamicLibrary&);
51 | };
52 |
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/BaseCombatWeapon/BaseCombatWeapon.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../BaseEntity/BaseEntity.h"
3 |
4 | class C_BaseCombatWeapon : public C_BaseEntity
5 | {
6 | public:
7 | WeaponData_t GetWeaponData();
8 | int GetWeaponID();
9 | int GetClip1();
10 | int GetClip2();
11 | int GetSlot();
12 | float GetChargeTime();
13 | float GetChargeDamage();
14 | int GetItemDefinitionIndex();
15 | float GetLastFireTime();
16 | float GetSwingRange(C_BaseEntity *pLocal);
17 | bool DoSwingTrace(C_GameTrace &Trace);
18 | Vec3 &GetBulletSpread();
19 | int GetDamageType();
20 | bool CanFireCriticalShot(bool bHeadShot = false);
21 | bool CanWeaponHeadShot();
22 | bool WillCrit();
23 | float GetNextPrimaryAttack();
24 | float GetNextSecondaryAttack();
25 | bool CanShoot(C_BaseEntity *pLocal);
26 | bool CanSecondaryAttack(C_BaseEntity* pLocal);
27 | };
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/BaseEntity/AnimState/BaseAnimatingOverlay.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Activity.h"
3 |
4 | #define ANIM_LAYER_ACTIVE 0x0001
5 | #define ANIM_LAYER_AUTOKILL 0x0002
6 | #define ANIM_LAYER_KILLME 0x0004
7 | #define ANIM_LAYER_DONTRESTORE 0x0008
8 | #define ANIM_LAYER_CHECKACCESS 0x0010
9 | #define ANIM_LAYER_DYING 0x0020
10 |
11 | class C_BaseAnimatingOverlay;
12 |
13 | class CAnimationLayer
14 | {
15 | public:
16 | int m_fFlags;
17 | bool m_bSequenceFinished;
18 | bool m_bLooping;
19 | int m_nSequence;
20 | float m_flCycle;
21 | float m_flPrevCycle;
22 | float m_flWeight;
23 | float m_flPlaybackRate;
24 | float m_flBlendIn;
25 | float m_flBlendOut;
26 | float m_flKillRate;
27 | float m_flKillDelay;
28 | float m_flLayerAnimtime;
29 | float m_flLayerFadeOuttime;
30 |
31 | Activity m_nActivity;
32 |
33 | int m_nPriority;
34 | int m_nOrder;
35 |
36 | bool IsActive() { return ((m_fFlags & ANIM_LAYER_ACTIVE) != 0); }
37 | bool IsAutokill() { return ((m_fFlags & ANIM_LAYER_AUTOKILL) != 0); }
38 | bool IsKillMe() { return ((m_fFlags & ANIM_LAYER_KILLME) != 0); }
39 | bool IsAutoramp() { return (m_flBlendIn != 0.0 || m_flBlendOut != 0.0); }
40 | void KillMe() { m_fFlags |= ANIM_LAYER_KILLME; }
41 | void Dying() { m_fFlags |= ANIM_LAYER_DYING; }
42 | bool IsDying() { return ((m_fFlags & ANIM_LAYER_DYING) != 0); }
43 | void Dead() { m_fFlags &= ~ANIM_LAYER_DYING; }
44 |
45 | float m_flLastEventCheck;
46 | float m_flLastAccess;
47 |
48 | // Network state changes get forwarded here.
49 | C_BaseAnimatingOverlay *m_pOwnerEntity;
50 | };
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/BaseEntity/AnimState/TFPlayerAnimState.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "MultiPlayerAnimState.h"
3 |
4 | class CTFPlayerAnimState : public CMultiPlayerAnimState
5 | {
6 | public:
7 | C_BaseEntity *GetTFPlayer() { return m_pTFPlayer; }
8 |
9 | virtual void ClearAnimationState() = 0;
10 | virtual Activity TranslateActivity(Activity actDesired) = 0;
11 | virtual void Update(float eyeYaw, float eyePitch) = 0;
12 | virtual void CheckStunAnimation() = 0;
13 | virtual Activity CalcMainActivity() = 0;
14 | virtual void ComputePoseParam_AimYaw(CStudioHdr *pStudioHdr) = 0;
15 | virtual float GetCurrentMaxGroundSpeed() = 0;
16 | virtual float GetGesturePlaybackRate() = 0;
17 | virtual bool ShouldUpdateAnimState() = 0;
18 | virtual void GetOuterAbsVelocity(Vec3 &vel) = 0;
19 | virtual void RestartGesture(int iGestureSlot, Activity iGestureActivity, bool bAutoKill = true) = 0;
20 | void SetRenderAngles(const Vec3 &angles) { m_angRender = angles; }
21 |
22 | C_BaseEntity *m_pTFPlayer;
23 | bool m_bInAirWalk;
24 | float m_flHoldDeployedPoseUntilTime;
25 | float m_flTauntMoveX;
26 | float m_flTauntMoveY;
27 | float m_flVehicleLeanVel;
28 | float m_flVehicleLeanPos;
29 | Vec3 m_vecSmoothedUp;
30 | };
31 |
32 | #define MAXSTUDIOPOSEPARAM 24
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/BaseObject/BaseObject.cpp:
--------------------------------------------------------------------------------
1 | #include "BaseObject.h"
2 |
3 | bool C_BaseObject::IsControlled()
4 | {
5 | DYNVAR_RETURN(bool, this, "DT_ObjectSentrygun", "m_bPlayerControlled");
6 | }
7 |
8 | bool C_BaseObject::IsConstructing()
9 | {
10 | DYNVAR_RETURN(bool, this, "DT_BaseObject", "m_bBuilding");
11 | }
12 |
13 | float C_BaseObject::GetConstructed()
14 | {
15 | DYNVAR_RETURN(float, this, "DT_BaseObject", "m_flPercentageConstructed");
16 | }
17 |
18 | int C_BaseObject::GetMetal()
19 | {
20 | DYNVAR_RETURN(int, this, "DT_ObjectDispenser", "m_iAmmoMetal");
21 | }
22 |
23 | int C_BaseObject::GetAmmo()
24 | {
25 | DYNVAR_RETURN(int, this, "DT_ObjectSentrygun", "m_iAmmoShells");
26 | }
27 |
28 | int C_BaseObject::GetRockets()
29 | {
30 | DYNVAR_RETURN(int, this, "DT_ObjectSentrygun", "m_iAmmoRockets");
31 | }
32 |
33 | C_BaseEntity *C_BaseObject::GetOwner()
34 | {
35 | DYNVAR_RETURN(C_BaseEntity *, this, "DT_BaseObject", "m_hBuilder");
36 | }
37 |
38 | int C_BaseObject::GetLevel()
39 | {
40 | DYNVAR_RETURN(int, this, "DT_BaseObject", "m_iUpgradeLevel");
41 | }
42 |
43 | bool C_BaseObject::IsSapped()
44 | {
45 | DYNVAR_RETURN(bool, this, "DT_BaseObject", "m_bHasSapper");
46 | }
47 |
48 | bool C_BaseObject::IsPlasmaDisabled()
49 | {
50 | DYNVAR_RETURN(bool, this, "DT_BaseObject", "m_bPlasmaDisable"); //cowmangler's secondary attack I think
51 | }
52 |
53 | bool C_BaseObject::IsDisabled()
54 | {
55 | DYNVAR_RETURN(bool, this, "DT_BaseObject", "m_bDisabled");
56 | }
57 |
58 | int C_BaseObject::GetHealth()
59 | {
60 | DYNVAR_RETURN(int, this, "DT_BaseObject", "m_iHealth");
61 | }
62 |
63 | int C_BaseObject::GetMaxHealth()
64 | {
65 | DYNVAR_RETURN(int, this, "DT_BaseObject", "m_iMaxHealth");
66 | }
67 |
68 | bool C_BaseObject::IsCarried()
69 | {
70 | DYNVAR_RETURN(int, this, "DT_BaseObject", "m_bCarried");
71 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/BaseObject/BaseObject.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../BaseEntity/BaseEntity.h"
3 |
4 | class C_BaseObject : public C_BaseEntity
5 | {
6 | public:
7 | bool IsControlled();
8 | float GetConstructed();
9 | int GetMetal();
10 | int GetAmmo();
11 | int GetRockets();
12 | bool IsConstructing();
13 | C_BaseEntity *GetOwner();
14 | int GetLevel();
15 | bool IsSapped();
16 | bool IsPlasmaDisabled();
17 | bool IsDisabled();
18 | int GetHealth();
19 | int GetMaxHealth();
20 | bool IsCarried();
21 | };
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/ConVars/ConVars.cpp:
--------------------------------------------------------------------------------
1 | #include "ConVars.h"
2 |
3 | void ConVars_t::Init()
4 | {
5 | cl_interp = gInts.CVars->FindVar("cl_interp");
6 | cl_interp_ratio = gInts.CVars->FindVar("cl_interp_ratio");
7 | cl_updaterate = gInts.CVars->FindVar("cl_updaterate");
8 |
9 | tf_crit_cap = gInts.CVars->FindVar("tf_weapon_criticals_bucket_cap");
10 | tf_crit_bottom = gInts.CVars->FindVar("tf_weapon_criticals_bucket_bottom");
11 | tf_crit_default = gInts.CVars->FindVar("tf_weapon_criticals_bucket_default");
12 |
13 | sv_gravity = gInts.CVars->FindVar("sv_gravity");
14 | cl_flipviewmodels = gInts.CVars->FindVar("cl_flipviewmodels");
15 |
16 | sv_maxunlag = gInts.CVars->FindVar("sv_maxunlag");
17 | }
18 |
19 | ConVars_t gConVars;
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/ConVars/ConVars.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../BaseEntity/BaseEntity.h"
3 |
4 | struct ConVars_t
5 | {
6 | ConVar* cl_interp = nullptr;
7 | ConVar* cl_interp_ratio = nullptr;
8 | ConVar* cl_updaterate = nullptr;
9 | ConVar* tf_crit_cap = nullptr;
10 | ConVar* tf_crit_bottom = nullptr;
11 | ConVar* tf_crit_default = nullptr;
12 |
13 | ConVar* sv_gravity = nullptr;
14 | ConVar* cl_flipviewmodels = nullptr;
15 | ConVar* sv_maxunlag = nullptr;
16 |
17 | void Init();
18 | };
19 |
20 | extern ConVars_t gConVars;
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/EntityCache/EntityCache.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../BaseEntity/BaseEntity.h"
4 | #include "../BaseCombatWeapon/BaseCombatWeapon.h"
5 | #include "../BaseObject/BaseObject.h"
6 |
7 | enum struct GroupType_t
8 | {
9 | PLAYERS_ALL,
10 | PLAYERS_ENEMIES,
11 | PLAYERS_TEAMMATES,
12 |
13 | BUILDINGS_ALL,
14 | BUILDINGS_ENEMIES,
15 | BUILDINGS_TEAMMATES,
16 |
17 | PROJECTILES_ALL,
18 | PROJECTILES_ENEMIES,
19 | PROJECTILES_TEAMMATES,
20 |
21 | AMMOPACKS_ALL,
22 | HEALTHPACKS_ALL
23 | };
24 |
25 | class C_EntityCache
26 | {
27 | private:
28 | std::map> Groups;
29 |
30 | public:
31 | C_BaseEntity *pLocal = nullptr;
32 | C_BaseCombatWeapon *pLocalWeapon = nullptr;
33 |
34 | void Fill();
35 | void Clear();
36 | const std::vector &GetGroup(const GroupType_t &group);
37 | };
38 |
39 | extern C_EntityCache gEntCache;
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/GlobalInfo/GlobalInfo.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../BaseEntity/BaseEntity.h"
3 |
4 | struct GlobalInfo_t
5 | {
6 | //vars
7 | int nCurrentTargetIdx = 0;
8 | bool bWeaponCanHeadShot = false;
9 | bool bWeaponCanShoot = false;
10 | float fChargeTime = 0.0f;
11 | Vec3 vecUCMDAngles = Vec3();
12 |
13 | //temporary place for some features I guess
14 | bool bNoInterpolation = true;
15 | Vec3 vecPredictedPos = Vec3();
16 |
17 | //Fuck
18 | bool m_bDrawMenu = false;
19 | int m_nFocusOverlay = 0;
20 | bool m_bPPUCP = true;
21 |
22 | VMatrix WorldToProjection = {};
23 | };
24 |
25 | inline GlobalInfo_t gGlobalInfo;
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/Main/VisCheck/VisCheck.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../BaseEntity/BaseEntity.h"
3 |
4 | class C_TraceFilterHitscan : public C_TraceFilter
5 | {
6 | public:
7 | virtual bool ShouldHitEntity(void* pEntityHandle, int nContentsMask);
8 | virtual TraceType_t GetTraceType() const;
9 | C_BaseEntity* pSkip = nullptr;
10 | };
11 |
12 | class C_TraceFilterWorldAndPropsOnly : public C_TraceFilter
13 | {
14 | public:
15 | virtual bool ShouldHitEntity(void *pEntityHandle, int nContentsMask);
16 | virtual TraceType_t GetTraceType() const;
17 | C_BaseEntity *pSkip = nullptr;
18 | };
19 |
20 | class C_TraceFilterWorldAndPropsOnlyOther : public C_TraceFilter
21 | {
22 | public:
23 | virtual bool ShouldHitEntity(void *pEntityHandle, int nContentsMask);
24 | virtual TraceType_t GetTraceType() const;
25 | C_BaseEntity *pSkip = nullptr;
26 | };
27 |
28 | class C_VisCheck
29 | {
30 | public:
31 | bool Pos(C_BaseEntity* pSkip, C_BaseEntity* pEntity, const Vec3& from, const Vec3& to);
32 | bool PosHitboxId(C_BaseEntity* pSkip, C_BaseEntity* pEntity, const Vec3& from, const Vec3& to, int nHitbox);
33 | bool PosHitboxIdOut(C_BaseEntity* pSkip, C_BaseEntity* pEntity, const Vec3& from, const Vec3& to, int& nHitboxOut);
34 | bool PosFraction(C_BaseEntity *pSkip, const Vec3 &from, const Vec3 &to);
35 | };
36 |
37 | extern C_VisCheck gVisCheck;
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/NetVars/NetVars.cpp:
--------------------------------------------------------------------------------
1 | #include "NetVars.h"
2 |
3 | #undef GetProp
4 |
5 | void C_NetVars::Init()
6 | {
7 | const auto *client_class = gInts.Client->GetAllClasses();
8 |
9 | while (client_class != nullptr)
10 | {
11 | const auto class_info = std::make_shared(0);
12 | RecvTable *recv_table = reinterpret_cast(client_class->pRecvTable);
13 | populate_nodes(recv_table, &class_info->nodes);
14 | nodes.emplace(recv_table->GetName(), class_info);
15 |
16 | client_class = client_class->pNextClass;
17 | }
18 | }
19 |
20 | void C_NetVars::populate_nodes(RecvTable *recv_table, map_type *map)
21 | {
22 | for (auto i = 0; i < recv_table->GetNumProps(); i++)
23 | {
24 | const auto *prop = recv_table->GetPropW(i);
25 | const auto prop_info = std::make_shared(prop->GetOffset());
26 |
27 | if (prop->GetType() == DPT_DataTable)
28 | populate_nodes(prop->GetDataTable(), &prop_info->nodes);
29 |
30 | map->emplace(prop->GetName(), prop_info);
31 | }
32 | }
33 |
34 | C_NetVars gNetVars;
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/NetVars/NetVars.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "../Interfaces/Interfaces.h"
4 |
5 | //TODO: Rewrite
6 |
7 | //Made by Emily and some other dude
8 | class C_NetVars
9 | {
10 | struct node;
11 | using map_type = std::unordered_map>;
12 |
13 | struct node {
14 | node(DWORD offset) : offset(offset) {}
15 | map_type nodes;
16 | DWORD offset;
17 | };
18 |
19 | map_type nodes;
20 |
21 | public:
22 | void Init();
23 |
24 | private:
25 | void populate_nodes(class RecvTable *recv_table, map_type *map);
26 |
27 | DWORD get_offset_recursive(map_type &map, int acc, const char *name) {
28 | return acc + map[name]->offset;
29 | }
30 |
31 | template
32 | DWORD get_offset_recursive(map_type &map, int acc, const char *name, args_t ...args) {
33 | const auto &node = map[name];
34 | return get_offset_recursive(node->nodes, acc + node->offset, args...);
35 | }
36 |
37 | public:
38 | template
39 | DWORD get_offset(const char *name, args_t ...args) {
40 | const auto &node = nodes[name];
41 | return get_offset_recursive(node->nodes, node->offset, args...);
42 | }
43 | };
44 |
45 | extern C_NetVars gNetVars;
46 |
47 | template
48 | class CDynamicNetvar
49 | {
50 | DWORD off;
51 |
52 | public:
53 | template
54 | CDynamicNetvar(args_t... a) {
55 | off = gNetVars.get_offset(a...);
56 | }
57 |
58 | template
59 | CDynamicNetvar(int offset, args_t... a) {
60 | off = gNetVars.get_offset(a...) + offset;
61 | }
62 |
63 | T GetValue(PVOID base) {
64 | return *reinterpret_cast((DWORD)base + (DWORD)off);
65 | }
66 |
67 | void SetValue(PVOID base, T val) {
68 | *reinterpret_cast((DWORD)(base)+((DWORD)(off))) = val;
69 | }
70 | };
71 |
72 | #define DYNVAR(name, type, ...) static CDynamicNetvar ##name( __VA_ARGS__ )
73 | #define DYNVAR_RETURN(type, base, ...) DYNVAR(n, type, __VA_ARGS__); return n.GetValue(base)
74 | #define DYNVAR_SET(type, base, value, ...) DYNVAR(n, type, __VA_ARGS__); n.SetValue(base,value)
--------------------------------------------------------------------------------
/Project IC/Project IC/SDK/SDK.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | #include "Main/BaseEntity/BaseEntity.h"
4 | #include "Main/BaseCombatWeapon/BaseCombatWeapon.h"
5 | #include "Main/BaseObject/BaseObject.h"
6 |
7 | #include "Main/DrawUtils/DrawUtils.h"
8 | #include "Main/EntityCache/EntityCache.h"
9 | #include "Main/VisCheck/VisCheck.h"
10 | #include "Main/GlobalInfo/GlobalInfo.h"
11 | #include "Main/ConVars/ConVars.h"
12 |
13 | #define TIME_TO_TICKS( dt ) ( (int)( 0.5f + (float)(dt) / gInts.GlobalVars->interval_per_tick ) )
14 | #define TICKS_TO_TIME( t ) ( gInts.GlobalVars->interval_per_tick * ( t ) )
15 | #define TICK_INTERVAL ( gInts.GlobalVars->interval_per_tick )
16 |
17 | namespace Util
18 | {
19 | inline void TraceHull(const Vec3 &vecStart, const Vec3 &vecEnd, const Vec3 &vecHullMin, const Vec3 &vecHullMax,
20 | unsigned int nMask, C_TraceFilter *pFilter, C_GameTrace *pTrace)
21 | {
22 | Ray_t ray;
23 | ray.Init(vecStart, vecEnd, vecHullMin, vecHullMax);
24 | gInts.EngineTrace->TraceRay(ray, nMask, pFilter, pTrace);
25 | }
26 |
27 | inline int RandInt(int min, int max) {
28 | std::random_device rd; std::mt19937 gen(rd()); std::uniform_int_distribution<> distr(min, max);
29 | return distr(gen);
30 | }
31 |
32 | inline Color_t RandColor(byte min = 0, bool bRandAlpha = false)
33 | {
34 | byte r = static_cast(RandInt(0, 255));
35 | byte g = static_cast(RandInt(0, 255));
36 | byte b = static_cast(RandInt(0, 255));
37 | byte a = static_cast(bRandAlpha ? RandInt(0, 255) : 255);
38 |
39 | if (min)
40 | {
41 | r = std::clamp(r, min, static_cast(255));
42 | g = std::clamp(g, min, static_cast(255));
43 | b = std::clamp(b, min, static_cast(255));
44 | a = std::clamp(a, min, static_cast(255));
45 | }
46 |
47 | return Color_t{r, g, b, a};
48 | }
49 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Color/Color.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "../Math/Math.h"
3 |
4 | using byte = unsigned char;
5 |
6 | struct Color_t { byte r = 0, g = 0, b = 0, a = 0; };
7 |
8 | namespace Color
9 | {
10 | inline float TOFLOAT(byte x) {
11 | return (static_cast(x) / 255.0f);
12 | }
13 |
14 | inline Vec3 TOVEC3(const Color_t &x) {
15 | return Vec3(TOFLOAT(x.r), TOFLOAT(x.g), TOFLOAT(x.b));
16 | }
17 |
18 | inline unsigned long TODWORD(const Color_t &x) {
19 | return (static_cast(((x.r & 0xFF) << 24) | ((x.g & 0xFF) << 16) | ((x.b & 0xFF) << 8) | (x.a & 0xFF)));
20 | }
21 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Hash/Hash.cpp:
--------------------------------------------------------------------------------
1 | #include "Hash.h"
2 |
3 | //The magic of number 33, i.e. why it works better than many other constants,
4 | //prime or not, has never been adequately explained by anyone.
5 | int Hash::String(const char* szOrg) {
6 | int iHash = 5381;
7 |
8 | while (int iStr = *szOrg++) iHash = iHash * 33 + iStr;
9 |
10 | return iHash;
11 | }
12 |
13 | bool Hash::m_bIsHealth(int nHash) {
14 | switch (nHash) {
15 | case MedKitSmall:
16 | case MedKitMedium:
17 | case MedKitLarge:
18 | case MedKitSmallBday:
19 | case MedKitMediumBday:
20 | case MedKitLargeBday:
21 | case MedKitSmallHalloween:
22 | case MedKitMediumHalloween:
23 | case MedKitLargeHalloween:
24 | case MedKitPlate:
25 | case MedKitSteak:
26 | case MedKitLargeMushRoom:
27 | return true;
28 | default:
29 | return false;
30 | }
31 | }
32 |
33 | bool Hash::m_bIsAmmo(int nHash) {
34 | switch (nHash) {
35 | case AmmoSmall:
36 | case AmmoMedium:
37 | case AmmoLarge:
38 | case AmmoMediumBday:
39 | case AmmoLargeBday:
40 | return true;
41 | default:
42 | return false;
43 | }
44 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Hash/Hash.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | //Main hash function
4 | //And prehashed strings allowing for fast comparisong.
5 | namespace Hash
6 | {
7 | int String(const char* szOrg);
8 |
9 | //Panels
10 | constexpr int HudScope = 200208064;
11 | constexpr int FocusOverlayPanel = -861513321;
12 |
13 | //Health packs (Probably missing some)
14 | constexpr int MedKitSmall = 1941719626;
15 | constexpr int MedKitMedium = 642350162;
16 | constexpr int MedKitLarge = 1102367452;
17 | constexpr int MedKitSmallBday = -2020233079;
18 | constexpr int MedKitMediumBday = -1898223727;
19 | constexpr int MedKitLargeBday = -1183884197;
20 | constexpr int MedKitPlate = -159986486;
21 | constexpr int MedKitSteak = -1325824063;
22 | constexpr int MedKitSmallHalloween = 1667112440;
23 | constexpr int MedKitMediumHalloween = 170247616;
24 | constexpr int MedKitLargeHalloween = 827760266;
25 | constexpr int MedKitLargeMushRoom = 687823304;
26 |
27 | //Ammo packs (Probably missing some)
28 | constexpr int AmmoSmall = 913481717;
29 | constexpr int AmmoMedium = 1070237533;
30 | constexpr int AmmoLarge = 74129543;
31 | constexpr int AmmoLargeBday = 1933898982;
32 | constexpr int AmmoMediumBday = -2090593924;
33 |
34 | //Atombomb is MvM's bomb, briefcase is CTF's intel.
35 | //Check this when making the intel ESP, both are CCaptureFlag.
36 | constexpr int AtomBomb = -1938815603;
37 | constexpr int BriefCase = 381882864;
38 |
39 | bool m_bIsAmmo(int nHash);
40 | bool m_bIsHealth(int nHash);
41 | }
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Interface/Interface.cpp:
--------------------------------------------------------------------------------
1 | #include "Interface.h"
2 |
3 | PVOID CInterface::Get(PCCH szModule, PCCH szObject)
4 | {
5 | HMODULE Module = GetModuleHandleA(szModule);
6 |
7 | if (!Module)
8 | return nullptr;
9 |
10 | DWORD CreateInterface = (DWORD)GetProcAddress(Module, "CreateInterface");
11 | DWORD ShortJump = (DWORD)CreateInterface + 5;
12 | DWORD Jump = (((DWORD)CreateInterface + 5) + *(DWORD *)ShortJump) + 4;
13 | Interface_t *List = **(Interface_t ***)(Jump + 6);
14 |
15 | while (List)
16 | {
17 | if (List && (strstr(List->szInterfaceName, szObject) && (strlen(List->szInterfaceName) - strlen(szObject)) < 5))
18 | return List->Interface();
19 |
20 | List = List->NextInterface;
21 | }
22 |
23 | return nullptr;
24 | }
25 |
26 | CInterface gInterface;
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Interface/Interface.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 |
4 | class CInterface
5 | {
6 | private:
7 | typedef PVOID(*InstantiateInterface)();
8 |
9 | struct Interface_t
10 | {
11 | InstantiateInterface Interface;
12 | PCHAR szInterfaceName;
13 | Interface_t *NextInterface;
14 | };
15 |
16 | public:
17 | PVOID Get(PCCH szModule, PCCH szObject);
18 | };
19 |
20 | extern CInterface gInterface;
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Pattern/Pattern.cpp:
--------------------------------------------------------------------------------
1 | #include "Pattern.h"
2 |
3 | #define INRANGE(x,a,b) (x >= a && x <= b)
4 | #define GetBits(x) (INRANGE((x&(~0x20)),'A','F') ? ((x&(~0x20)) - 'A' + 0xa) : (INRANGE(x,'0','9') ? x - '0' : 0))
5 | #define GetByte(x) (GetBits(x[0]) << 4 | GetBits(x[1]))
6 |
7 | DWORD CPattern::FindPattern(DWORD dwAddress, DWORD dwLength, PCCH szPattern)
8 | {
9 | PCCH szPat = szPattern;
10 | DWORD dwFirstMatch = 0x0;
11 |
12 | for (DWORD pCur = dwAddress; pCur < dwLength; pCur++)
13 | {
14 | if (!*szPat)
15 | return dwFirstMatch;
16 |
17 | if (*(PBYTE)szPat == '\?' || *(BYTE *)pCur == GetByte(szPat))
18 | {
19 | if (!dwFirstMatch)
20 | dwFirstMatch = pCur;
21 |
22 | if (!szPat[2])
23 | return dwFirstMatch;
24 |
25 | if (*(PWORD)szPat == '\?\?' || *(PBYTE)szPat != '\?')
26 | szPat += 3;
27 |
28 | else szPat += 2;
29 | }
30 |
31 | else {
32 | szPat = szPattern;
33 | dwFirstMatch = 0;
34 | }
35 | }
36 |
37 | return 0x0;
38 | }
39 |
40 | HMODULE CPattern::GetModuleHandleSafe(PCCH szModuleName)
41 | {
42 | HMODULE hmModuleHandle = 0;
43 |
44 | do
45 | {
46 | hmModuleHandle = GetModuleHandleA(szModuleName);
47 | Sleep(1);
48 | } while (hmModuleHandle == 0);
49 |
50 | return hmModuleHandle;
51 | }
52 |
53 | DWORD CPattern::Find(PCCH szModuleName, PCCH szPattern)
54 | {
55 | HMODULE hmModule = GetModuleHandleSafe(szModuleName);
56 | PIMAGE_DOS_HEADER pDOSHeader = (PIMAGE_DOS_HEADER)hmModule;
57 | PIMAGE_NT_HEADERS pNTHeaders = (PIMAGE_NT_HEADERS)(((DWORD)hmModule) + pDOSHeader->e_lfanew);
58 |
59 | return FindPattern(((DWORD)hmModule) + pNTHeaders->OptionalHeader.BaseOfCode, ((DWORD)hmModule) + pNTHeaders->OptionalHeader.SizeOfCode, szPattern);
60 | }
61 |
62 | CPattern gPattern;
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Pattern/Pattern.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 |
4 | class CPattern
5 | {
6 | private:
7 | DWORD FindPattern(DWORD dwAddress, DWORD dwLength, PCCH szPattern);
8 | HMODULE GetModuleHandleSafe(PCCH szModuleName);
9 | public:
10 | DWORD Find(PCCH szModuleName, PCCH szPattern);
11 | };
12 |
13 | extern CPattern gPattern;
--------------------------------------------------------------------------------
/Project IC/Project IC/Utils/Utils.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Color/Color.h" //this includes math
3 | #include "Interface/Interface.h"
4 | #include "VFunc/VFunc.h"
5 | #include "VMT/VMT.h"
6 | #include "Pattern/Pattern.h"
7 | #include "Hash/Hash.h"
8 | #include "UtlVector/UtlVector.h"
9 |
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include