Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 4f80e1f

Browse filesBrowse files
authored
compiles for me but fuck you
1 parent 0037a38 commit 4f80e1f
Copy full SHA for 4f80e1f

File tree

Expand file treeCollapse file tree

1 file changed

+33
-17
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+33
-17
lines changed

‎SingleFile/sf.c

Copy file name to clipboardExpand all lines: SingleFile/sf.c
+33-17Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ PBYTE PatternScan(HMODULE hModule, LPCSTR _szPattern) {
3232
struct TAGConfig {
3333
BOOLEAN bBunnyHop, bAutoStrafe; // Movement
3434
BOOLEAN bAutoPistol, bHitSound, bHitEffect; // Aimbot and related
35-
BOOLEAN bAutoAccept, bVoteRevealer, bAntiPopup; // Game UI-related things
35+
BOOLEAN bAutoAccept, bVoteRevealer, bAntiPopup, bRankRevealer; // Game UI-related things
3636
}Config;
3737
struct vec3 {
3838
FLOAT x, y, z;
@@ -56,8 +56,9 @@ struct CEnginePlayerInformation {
5656
INT nUserID;
5757
}*PlayerInfo; // Constant pointer, to avoid redefinition.
5858
METHOD(LPCSTR, LPCSTR(__fastcall*)(LPVOID, PVOID, ULONG32), GetPanelName, (ULONG32 luPanelID), Panel, 36, luPanelID); // VGUIPanel Block
59+
METHOD(LPCSTR, LPCSTR(__fastcall*)(LPVOID, PVOID, ULONG32, BOOLEAN), SetMouseInput, (ULONG32 luPanel, BOOLEAN bState), Panel, 32, luPanel, bState);
5960
METHOD(VOID, VOID(__fastcall*)(LPVOID, PVOID, WORD, WORD, WORD, WORD), SetColor, (WORD r, WORD g, WORD b, WORD a), Surface, 15, r, g, b, a); // CMatSystemSurface Block
60-
METHOD(VOID, VOID(__fastcall*)(LPVOID, PVOID, INT, INT, INT, INT), DrawFilledRect, (INT x, INT y, INT w, INT h), Surface, 16, x, y, x + w, y + h);
61+
METHOD(VOID, VOID(__fastcall*)(LPVOID, PVOID, INT, INT, INT, INT), DrawFilledRect, (INT x, INT y, INT w, INT h), Surface, 16, x, y, x + w, y + h);
6162
METHOD(VOID, VOID(__fastcall*)(LPVOID, PVOID, WORD, WORD, WORD, WORD), SetTextColor, (WORD r, WORD g, WORD b, WORD a), Surface, 25, r, g, b, a);
6263
METHOD(VOID, VOID(__fastcall*)(LPVOID, PVOID, ULONG32, ULONG32), SetTextPosition, (ULONG32 x, ULONG32 y), Surface, 26, x, y);
6364
METHOD(VOID, VOID(__fastcall*)(LPVOID, PVOID, LPCWSTR, ULONG32), DrawText, (LPCWSTR StringPointer), Surface, 28, StringPointer, WideStringLength(StringPointer));
@@ -78,6 +79,7 @@ VMETHOD(INT, INT(__fastcall*)(LPVOID, PVOID), CBaseCombatWeapon, GetWeaponType,
7879
VMETHOD(LPCSTR, LPCSTR(__fastcall*)(LPVOID, PVOID), IGameEvent, GetEventName, (PVOID Interface), 1); // IGameEvent Block
7980
VAMETHOD(INT, INT(__fastcall*)(LPVOID, PVOID, LPCSTR), IGameEvent, GetInteger, (PVOID Interface, LPCSTR szKeyName), 6, szKeyName);
8081
VAMETHOD(BOOLEAN, BOOLEAN(__fastcall*)(LPVOID, PVOID, LPCSTR), IGameEvent, GetBoolean, (PVOID Interface, LPCSTR szKeyName), 5, szKeyName)
82+
METHOD(BOOLEAN, BOOLEAN(__fastcall*)(LPVOID, PVOID, INT, INT, INT, PVOID), DispatchUserMessage, (INT nMessage, INT nArgument1, INT nArgument2, PVOID pMessage), Client, 38, nMessage, nArgument1, nArgument2, pMessage); // IVClient Block
8183
BOOLEAN bMenuActive, bClicked, bInMove, bDragging, bItem, bWasClicked; ULONG32 MenuX, MenuY, ActiveX, ActiveY, LastX, LastY; WORD ActiveElement; // ActiveX CS:GO Hackage Package
8284
BOOLEAN __fastcall Utils_InRange(WORD x, WORD y, WORD w, WORD h) {
8385
return (LastX >= x && LastY >= y && LastX <= x + w && LastY <= y + h);
@@ -170,7 +172,28 @@ VOID Features_AutoPistol(struct CUserCmd* Command) {
170172
if (CBaseCombatWeapon_NextAttack(ActiveWeapon) > Globals->m_flCurrentTime)
171173
Command->Buttons &= ~(1 << 0); // IN_ATTACK
172174
}
173-
VOID Features_HitEffects(PVOID Event) {
175+
VOID(__fastcall* PaintTraverseOriginal)(LPVOID, PVOID, DWORD, BOOLEAN, BOOLEAN);
176+
BOOLEAN(WINAPI* CreateMoveOriginal)(FLOAT, struct CUserCmd*);
177+
BOOLEAN(__fastcall* GameEventsOriginal)(LPVOID, PVOID, PVOID);
178+
VOID(WINAPI* EmitSoundOriginal)(PVOID, INT, INT, LPCSTR, DWORD, LPCSTR, FLOAT, INT, INT, INT, INT, struct vec3, struct vec3, PVOID, BOOLEAN, FLOAT, INT, PVOID);
179+
BOOLEAN(__fastcall* DispatchUserMessageOriginal)(LPVOID, PVOID, INT, INT, INT, PVOID);
180+
BOOLEAN __fastcall _DispatchUserMessage(INT nMessage, INT nArgument1, INT nArgument2, PVOID pMessage) {
181+
if (nMessage == 47 && Config.bVoteRevealer) {
182+
ConsoleMsg(0x00FF00FF, "[SingleFile] Vote Passed!\n");
183+
Beep(440, 250);
184+
}
185+
else if (nMessage == 48 && Config.bVoteRevealer) {
186+
ConsoleMsg(0xFF0000FF, "[SingleFile] Vote Failed!\n");
187+
Beep(384, 250);
188+
}
189+
return DispatchUserMessageOriginal(Client, 0, nMessage, nArgument1, nArgument2, pMessage);
190+
}
191+
VOID WINAPI _EmitSound(PVOID pFilter, INT nEntityIndex, INT nChannel, LPCSTR szSoundEntry, DWORD dwSoundEntryHash, LPCSTR szSample, FLOAT flVolume, INT nSeed, INT nSoundLevel, INT nFlags, INT nPitch, struct vec3 Origin, struct vec3 Direction, PVOID vecOrigins, BOOLEAN bUpdatePosition, FLOAT flAudioLength, INT nSpeakingEntity, PVOID pUnknown) {
192+
if (StringFindString(szSoundEntry, "UIPanorama.popup_accept_match_beep") && Config.bAutoAccept)
193+
((BOOLEAN(WINAPI*)(LPCSTR))PatternScan(GetModuleHandleA("client.dll"), "55 8B EC 83 E4 F8 8B 4D 08 BA ? ? ? ? E8 ? ? ? ? 85 C0 75 12"))("");
194+
return EmitSoundOriginal(pFilter, nEntityIndex, nChannel, szSoundEntry, dwSoundEntryHash, szSample, flVolume, nSeed, nSoundLevel, nFlags, nPitch, Origin, Direction, vecOrigins, bUpdatePosition, flAudioLength, nSpeakingEntity, pUnknown);
195+
}
196+
BOOLEAN WINAPI _GameEvents(PVOID Event) {
174197
if (StringFindString(IGameEvent_GetEventName(Event), "player_hurt")) {
175198
Engine_GetPlayerInfo(Engine_GetLocalPlayer(), PlayerInfo);
176199
if (IGameEvent_GetInteger(Event, "attacker") == PlayerInfo->nUserID) {
@@ -182,28 +205,18 @@ VOID Features_HitEffects(PVOID Event) {
182205
PVOID Entity = EntityList_GetEntity(IGameEvent_GetInteger(Event, "entityid"));
183206
BOOLEAN Vote = !(IGameEvent_GetBoolean(Event, "vote_option"));
184207
Engine_GetPlayerInfo(IGameEvent_GetInteger(Event, "entityid"), PlayerInfo);
185-
ConsoleMsg(Vote ? 0x11CC11 : 0xCC1111, "[SingleFile]: %s voted %s.\n", 3, PlayerInfo->szPlayerName, Vote ? "Yes" : "No");
208+
ConsoleMsg(Vote ? 0x11CC11FF : 0xCC1111FF, "[SingleFile]: %s voted %s.\n", 3, PlayerInfo->szPlayerName, Vote ? "Yes" : "No");
186209
Beep(Vote ? 486 : 347, 200);
187210
}
188-
}
189-
VOID(__fastcall* PaintTraverseOriginal)(LPVOID, PVOID, DWORD, BOOLEAN, BOOLEAN);
190-
BOOLEAN(WINAPI* CreateMoveOriginal)(FLOAT, struct CUserCmd*);
191-
BOOLEAN(__fastcall* GameEventsOriginal)(LPVOID, PVOID, PVOID);
192-
VOID(WINAPI* EmitSoundOriginal)(PVOID, INT, INT, LPCSTR, DWORD, LPCSTR, FLOAT, INT, INT, INT, INT, struct vec3, struct vec3, PVOID, BOOLEAN, FLOAT, INT, PVOID);
193-
VOID WINAPI _EmitSound(PVOID pFilter, INT nEntityIndex, INT nChannel, LPCSTR szSoundEntry, DWORD dwSoundEntryHash, LPCSTR szSample, FLOAT flVolume, INT nSeed, INT nSoundLevel, INT nFlags, INT nPitch, struct vec3 Origin, struct vec3 Direction, PVOID vecOrigins, BOOLEAN bUpdatePosition, FLOAT flAudioLength, INT nSpeakingEntity, PVOID pUnknown) {
194-
if (StringFindString(szSoundEntry, "UIPanorama.popup_accept_match_beep") && Config.bAutoAccept)
195-
((BOOLEAN(WINAPI*)(LPCSTR))PatternScan(GetModuleHandleA("client.dll"), "55 8B EC 83 E4 F8 8B 4D 08 BA ? ? ? ? E8 ? ? ? ? 85 C0 75 12"))("");
196-
return EmitSoundOriginal(pFilter, nEntityIndex, nChannel, szSoundEntry, dwSoundEntryHash, szSample, flVolume, nSeed, nSoundLevel, nFlags, nPitch, Origin, Direction, vecOrigins, bUpdatePosition, flAudioLength, nSpeakingEntity, pUnknown);
197-
}
198-
BOOLEAN WINAPI _GameEvents(PVOID Event) {
199-
Features_HitEffects(Event);
200211
return GameEventsOriginal(Events, 0, Event);
201212
}
202213
BOOLEAN WINAPI _CreateMove(FLOAT flInputTime, struct CUserCmd* Command ) {
203214
BOOLEAN bSetAngles = CreateMoveOriginal(flInputTime, Command);
204215
Features_Bhop(Command);
205216
Features_AutoStrafe(Command);
206217
Features_AutoPistol(Command);
218+
if (Config.bRankRevealer && Command->Buttons & (1 << 16))
219+
Client_DispatchUserMessage(50, 0, 0, NULL);
207220
return bSetAngles;
208221
}
209222
VOID WINAPI _PaintTraverse(DWORD dwPanel, BOOLEAN bForceRepaint, BOOLEAN bAllowRepaint) {
@@ -216,8 +229,10 @@ VOID WINAPI _PaintTraverse(DWORD dwPanel, BOOLEAN bForceRepaint, BOOLEAN bAllowR
216229
Menu_Checkbox(L"Hit Effect", &Config.bHitEffect);
217230
Menu_Checkbox(L"Hit Sound", &Config.bHitSound);
218231
Menu_Checkbox(L"Vote revealer", &Config.bVoteRevealer);
232+
Menu_Checkbox(L"Rank revealer", &Config.bRankRevealer);
219233
}
220234
}
235+
Panel_SetMouseInput(dwPanel, !bMenuActive);
221236
return PaintTraverseOriginal(Panel, 0, dwPanel, bForceRepaint, bAllowRepaint);
222237
}
223238
LPVOID CreateInterface(HANDLE hModule, LPCSTR szName) {
@@ -251,12 +266,13 @@ BOOL APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) {
251266
Events = CreateInterface(GetModuleHandleA("engine.dll"), "GAMEEVENTSMANANGER002");
252267
ClientMode = **(VOID***)((*(PDWORD*)(Client))[0xA] + 0x5);
253268
Globals = **(struct CGlobalVarsClientBase***)((*(PDWORD*)(Client))[0xB] + 0xA);
254-
ConsoleMsg = GetProcAddress(GetModuleHandleA("tier0.dll"), "?ConColorMsg@@YAXABVColor@@PBDZZ"); // I sure love me some mangled names!
269+
ConsoleMsg = (VOID(*)(DWORD, LPCSTR, ...))GetProcAddress(GetModuleHandleA("tier0.dll"), "?ConColorMsg@@YAXABVColor@@PBDZZ"); // I sure love me some mangled names!
255270
MenuX = 200; MenuY = 200;
256271
MH_Initialize();
257272
MH_CreateHook((*(PVOID**)(Panel))[41], &_PaintTraverse, (PVOID*)&PaintTraverseOriginal);
258273
MH_CreateHook((*(PVOID**)(ClientMode))[24], &_CreateMove, (PVOID*)&CreateMoveOriginal);
259274
MH_CreateHook((*(PVOID**)(Events))[9], &_GameEvents, (PVOID*)&GameEventsOriginal);
275+
MH_CreateHook((*(PVOID**)(Client))[38], &_DispatchUserMessage, (PVOID*)&DispatchUserMessageOriginal);
260276
MH_EnableHook(NULL);
261277
WriteConsoleA(GetStdHandle((ULONG32)-11), "SingleFile v2.0 Alpha Loaded\n", 29, NULL, NULL);
262278
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.