diff --git a/Calculate_View.hpp b/Calculate_View.hpp index b9241ea..975fc57 100755 --- a/Calculate_View.hpp +++ b/Calculate_View.hpp @@ -4,7 +4,5 @@ void __thiscall Redirected_Calculate_View(void* Player, void* Unknown_Parameter_ { (decltype(&Redirected_Calculate_View)(Original_Calculate_View_Caller))(Player, Unknown_Parameter_1, Angles, Unknown_Parameter_2); - using Get_Eye_Angles_Type = float*(__thiscall*)(void* Entity); - - Byte_Manager::Copy_Bytes(1, Angles, sizeof(float[3]), Get_Eye_Angles_Type((unsigned __int32)Client_Module + 2237296)(Player)); + Byte_Manager::Copy_Bytes(1, Angles, sizeof(float[3]), (float*)((unsigned __int32)Player + 4996)); } \ No newline at end of file diff --git a/Copy_Command.hpp b/Copy_Command.hpp index 8306cd1..928108e 100644 --- a/Copy_Command.hpp +++ b/Copy_Command.hpp @@ -22,7 +22,7 @@ void* Get_Studio_Header(void* Entity) void* Get_Hitbox_Set(Target_Structure* Target, float(*Bones)[3][4], float Time) { - using Setup_Bones_Type = __int8(__thiscall*)(void* Entity, void* Bones, __int32 Maximum_Bones, __int32 Mask, float Current_Time); + using Setup_Bones_Type = __int8(__thiscall*)(void* Entity, void* Bones, __int32 Maximum_Bones, __int32 Mask, float Time); if (Setup_Bones_Type((unsigned __int32)Client_Module + 246656)((void*)((unsigned __int32)Target->Self + 4), Bones, 128, 524032, Time) == 1) { @@ -93,7 +93,7 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu if ((Command->Buttons & 2) + *(__int8*)((unsigned __int32)Local_Player + 324) == 4) { - Command->Move[0] = 0; + Command->Move[0] = 0.f; if (*(void**)((unsigned __int32)Local_Player + 316) == INVALID_HANDLE_VALUE) { @@ -269,11 +269,9 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu { if (*(void**)((unsigned __int32)Local_Player + 10008) == INVALID_HANDLE_VALUE) { - __int8 Is_Jockey_Victim = *(void**)((unsigned __int32)Local_Player + 10056) != INVALID_HANDLE_VALUE; - - if ((*(void**)((unsigned __int32)Local_Player + 10012) != INVALID_HANDLE_VALUE) + (*(void**)((unsigned __int32)Local_Player + 10024) != INVALID_HANDLE_VALUE) + Is_Jockey_Victim != 0) + if ((*(void**)((unsigned __int32)Local_Player + 10012) != INVALID_HANDLE_VALUE) + (*(void**)((unsigned __int32)Local_Player + 10024) != INVALID_HANDLE_VALUE) + (*(void**)((unsigned __int32)Local_Player + 10056) != INVALID_HANDLE_VALUE) != 0) { - Command->Buttons |= Is_Jockey_Victim * 2; + Command->Buttons |= (*(void**)((unsigned __int32)Local_Player + 10056) != INVALID_HANDLE_VALUE) * 2; Disable_Clock_Correction(Interface_Extra_Commands_Action.Integer); } @@ -351,7 +349,7 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu } else { - __int8 Cancelable_Shove = 1 + (*(float*)((unsigned __int32)Local_Player + 7336) < Global_Variables->Current_Time) * (*(float*)((unsigned __int32)Weapon + 2404) <= Global_Variables->Current_Time); + __int8 Cancelable_Shove = 1 + (*(float*)((unsigned __int32)Local_Player + 7336) < Global_Variables->Time) * (*(float*)((unsigned __int32)Weapon + 2404) <= Global_Variables->Time); __int32 Weapon_Identifier = Get_Identifier(Weapon, 1, 0); @@ -369,9 +367,9 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu Cancelable_Shove = min(1 + (*(float*)((unsigned __int32)Weapon + 3312) == -1.f), Cancelable_Shove); } - __int8 In_Shove = Global_Variables->Current_Time >= *(float*)((unsigned __int32)Local_Player + 7904); + __int8 In_Shove = Global_Variables->Time >= *(float*)((unsigned __int32)Local_Player + 7904); - if (Global_Variables->Current_Time >= *(float*)((unsigned __int32)Weapon + 2704)) + if (Global_Variables->Time >= *(float*)((unsigned __int32)Weapon + 2704)) { In_Shove = *(__int8*)((unsigned __int32)Weapon + 2720); } @@ -396,11 +394,11 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu } else { - Can_Attack = (*(float*)((unsigned __int32)Weapon + 2400) <= Global_Variables->Current_Time) * (Ammo > 0 - Is_Melee * 2) * (Reloading ^ 1); + Can_Attack = (*(float*)((unsigned __int32)Weapon + 2400) <= Global_Variables->Time) * (Ammo > 0 - Is_Melee * 2) * (Reloading ^ 1); if ((*(double*)((unsigned __int32)Weapon + 3392) == 0.) * Weapon_Identifier == 153) { - Can_Attack *= *(float*)((unsigned __int32)Weapon + 3400) <= Global_Variables->Current_Time; + Can_Attack *= *(float*)((unsigned __int32)Weapon + 3400) <= Global_Variables->Time; } } @@ -482,24 +480,17 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu } } - auto Target_List_Sort_Prepare = [](Target_Structure& X, Target_Structure& Y) -> __int8 + auto Target_List_Sort = [](Target_Structure& X, Target_Structure& Y) -> __int8 { - return X.Priority < Y.Priority; - }; - - std::sort(Sorted_Target_List.begin(), Sorted_Target_List.end(), Target_List_Sort_Prepare); - - auto Target_List_Sort_Finish = [](Target_Structure& X, Target_Structure& Y) -> __int8 - { - if (X.Priority > Y.Priority) + if (X.Priority == Y.Priority) { - return 1; + return X.Distance < Y.Distance; } - return X.Distance < Y.Distance; + return X.Priority > Y.Priority; }; - std::sort(Sorted_Target_List.begin(), Sorted_Target_List.end(), Target_List_Sort_Finish); + std::sort(Sorted_Target_List.begin(), Sorted_Target_List.end(), Target_List_Sort); size_t Target_Number = 0; @@ -544,7 +535,7 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu using Get_Deploy_Activity_Type = __int32(__thiscall**)(void* Weapon); - Holstering = (min(*(float*)((unsigned __int32)Local_Player + 3872), *(float*)((unsigned __int32)Weapon + 2412)) + Get_Sequence_Duration_Type((unsigned __int32)Client_Module + 180400)(Weapon, Get_Studio_Header(Weapon), Select_Sequence_Type((unsigned __int32)Client_Module + 202896)(Weapon, (*Translate_Activity_Type(*(unsigned __int32*)Weapon + 1692))(Weapon, (*Get_Deploy_Activity_Type(*(unsigned __int32*)Weapon + 1600))(Weapon)))) > Global_Variables->Current_Time) * (Can_Attack ^ 1); + Holstering = (min(*(float*)((unsigned __int32)Local_Player + 3872), *(float*)((unsigned __int32)Weapon + 2412)) + Get_Sequence_Duration_Type((unsigned __int32)Client_Module + 180400)(Weapon, Get_Studio_Header(Weapon), Select_Sequence_Type((unsigned __int32)Client_Module + 202896)(Weapon, (*Translate_Activity_Type(*(unsigned __int32*)Weapon + 1692))(Weapon, (*Get_Deploy_Activity_Type(*(unsigned __int32*)Weapon + 1600))(Weapon)))) > Global_Variables->Time) * (Can_Attack ^ 1); } else { @@ -620,7 +611,7 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu if (Cancelable_Shove == 1) { - float Shove_Multiplier = min((Global_Variables->Current_Time - *(float*)((unsigned __int32)Weapon + 2704) + *(float*)((unsigned __int32)Weapon + 2700)) / *(float*)((unsigned __int32)Weapon + 2700), 1.f); + float Shove_Multiplier = min((Global_Variables->Time - *(float*)((unsigned __int32)Weapon + 2704) + *(float*)((unsigned __int32)Weapon + 2700)) / *(float*)((unsigned __int32)Weapon + 2700), 1.f); Command->Angles[1] += -45.f * Shove_Multiplier + 45.f * (1.f - Shove_Multiplier); } @@ -723,7 +714,7 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu float Bones[128][3][4]; - void* Hitbox_Set = Get_Hitbox_Set(Target, Bones, Global_Variables->Current_Time); + void* Hitbox_Set = Get_Hitbox_Set(Target, Bones, Global_Variables->Time); if (Hitbox_Set != nullptr) { @@ -733,7 +724,7 @@ void __thiscall Redirected_Copy_Command(void* Unknown_Parameter, Command_Structu __int32 Bullets = *(__int32*)((unsigned __int32)Weapon_Data + 2520); - if (Interface_Penetration_Damage.Floating_Point == 0) + if (Interface_Penetration_Damage.Floating_Point == 0.f) { *(__int32*)((unsigned __int32)Weapon_Data + 2520) = 1; } diff --git a/Draw_Effect.hpp b/Draw_Effect.hpp index 8db74f3..a354279 100755 --- a/Draw_Effect.hpp +++ b/Draw_Effect.hpp @@ -2,11 +2,9 @@ void* Original_Draw_Effect_Caller; __int8 __thiscall Redirected_Draw_Effect(void* Effect, void* Unknown_Parameter_1, void* Unknown_Parameter_2) { - using Get_Effect_Name_Type = char*(__thiscall*)(void* a1); + using Get_Effect_Name_Type = char*(__thiscall*)(void* Effect); - char* Effect_Name = Get_Effect_Name_Type((unsigned __int32)Client_Module + 1423120)((void*)((unsigned __int32)Effect - 8)); - - if (__builtin_strstr(Effect_Name, "ecloud_") == nullptr) + if (__builtin_strstr(Get_Effect_Name_Type((unsigned __int32)Client_Module + 1423120)((void*)((unsigned __int32)Effect - 8)), "ecloud_ca") == nullptr) { return (decltype(&Redirected_Draw_Effect)(Original_Draw_Effect_Caller))(Effect, Unknown_Parameter_1, Unknown_Parameter_2); } diff --git a/Entry_Point.cpp b/Entry_Point.cpp index 50f2561..928cf8a 100755 --- a/Entry_Point.cpp +++ b/Entry_Point.cpp @@ -2,8 +2,6 @@ #include -#include - #include "Byte_Manager/Byte_Manager.hpp" #include "Redirection_Manager/Redirection_Manager.hpp" @@ -22,10 +20,6 @@ void* Client_Module; #include "Update_Animations.hpp" -#include - -#include - #include "Estimate_Velocity.hpp" #include "Spawn_Grenade.hpp" @@ -38,8 +32,6 @@ void* Client_Module; #include "Play_Footstep_Sound.hpp" -#include - #include "Finish_Move.hpp" #include "Item_Post_Frame.hpp" @@ -54,8 +46,6 @@ void* Client_Module; #include "Send_Move.hpp" -#include - #include "Copy_Command.hpp" #include "Calculate_View.hpp" @@ -187,7 +177,7 @@ __int32 __stdcall DllMain(HMODULE This_Module, unsigned __int32 Call_Reason, voi Original_Estimate_Velocity_Caller = Redirection_Manager::Redirect_Function(0, (void*)((unsigned __int32)Client_Module + 311856), (void*)Redirected_Estimate_Velocity); - unsigned __int8 Maintain_Sequence_Transitions_Bytes[3] = { 194, 24, 0 }; + unsigned __int8 Maintain_Sequence_Transitions_Bytes[3] = { 194, 24 }; Byte_Manager::Copy_Bytes(0, (void*)((unsigned __int32)Client_Module + 245232), sizeof(Maintain_Sequence_Transitions_Bytes), Maintain_Sequence_Transitions_Bytes); diff --git a/Move.hpp b/Move.hpp index 2c52f20..afd74db 100644 --- a/Move.hpp +++ b/Move.hpp @@ -24,7 +24,7 @@ void Redirected_Move(float Unknown_Parameter, __int8 Final) Fire_Events_Type((unsigned __int32)Engine_Module + 521648)(); - Update_Animation_Time = (*(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744))->Current_Time; + Update_Animation_Time = (*(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744))->Time; Update_Animation_Type = 1; diff --git a/Paint.hpp b/Paint.hpp index 088e123..7caeaac 100755 --- a/Paint.hpp +++ b/Paint.hpp @@ -77,13 +77,13 @@ void __thiscall Redirected_Paint(void* Panel) { Target_Structure* Target = &Sorted_Target_List.at(Target_Number); - float Bounds[4] = { __builtin_inff(), -__builtin_inff(), __builtin_inff(), -__builtin_inff()}; + float Bounds[4] = { __builtin_inff(), -__builtin_inff(), __builtin_inff(), -__builtin_inff() }; auto Get_Bounds = [&]() -> __int8 { float Bones[128][3][4]; - void* Hitbox_Set = Get_Hitbox_Set(Target, Bones, (*(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744))->Current_Time); + void* Hitbox_Set = Get_Hitbox_Set(Target, Bones, (*(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744))->Time); if (Hitbox_Set != nullptr) { diff --git a/Perform_Shove_Trace.hpp b/Perform_Shove_Trace.hpp index 3127317..67ae52e 100755 --- a/Perform_Shove_Trace.hpp +++ b/Perform_Shove_Trace.hpp @@ -1,10 +1,8 @@ void __thiscall Perform_Shove_Trace(void* Stack) { - void* Entity = *(void**)((unsigned __int32)Stack + 332); - - if (Entity == Perform_Trace_Target) + if (*(void**)((unsigned __int32)Stack + 332) == Perform_Trace_Target) { - Perform_Trace_Damage = 1; + Perform_Trace_Damage = 1.f; } } diff --git a/Perform_Trace.hpp b/Perform_Trace.hpp index e8755d5..b9fbdf9 100755 --- a/Perform_Trace.hpp +++ b/Perform_Trace.hpp @@ -70,7 +70,7 @@ void __thiscall Perform_Trace(void* Stack) auto Compute_Damage = [&]() -> void { - if (Interface_Penetration_Damage.Integer == 0) + if (Interface_Penetration_Damage.Floating_Point == 0.f) { Perform_Trace_Damage = 1.f; } @@ -140,7 +140,7 @@ void __thiscall Perform_Trace(void* Stack) float Distance = Calculate_Distance_Type((unsigned __int32)Client_Module + 878608)((void*)((unsigned __int32)Local_Player + 540), Bounds); - if (Distance < 100) + if (Distance < 100.f) { Damage += 4.f * Damage * __builtin_powf(1.f - Distance / 100.f, 2.f); } @@ -164,27 +164,15 @@ void __thiscall Perform_Trace(void* Stack) { Apply_Shotgun_Scaling(); - __int8 Is_Sniper_Rifle = (Bullet_Type - 8) > 0; + __int8 Is_Sniper_Rifle = Bullet_Type > 8; if (Group == 1) { if (Gender == 14) { - auto Is_Neutral = [&]() -> __int8 - { - __int32 Sequence_Activity = *(__int32*)((unsigned __int32)Entity + 4688); + static std::unordered_set<__int32> Neutrals = { 563, 567, 592, 600, 648 }; - unsigned __int32 Absolute_Sequence_Activity = Sequence_Activity - 563; - - if (Absolute_Sequence_Activity <= 29) - { - return (536870929 & (1 << (Absolute_Sequence_Activity & 31))) != 0; - } - - return (Sequence_Activity == 600) + (Sequence_Activity == 648); - }; - - if (Is_Neutral() == 1) + if (Neutrals.contains(*(__int32*)((unsigned __int32)Entity + 4688)) == 1) { Damage = __builtin_inff(); } @@ -213,7 +201,7 @@ void __thiscall Perform_Trace(void* Stack) { if (Is_Sniper_Rifle * Realism == 0) { - Damage = 450; + Damage = 450.f; } } else @@ -265,7 +253,7 @@ void __thiscall Perform_Trace(void* Stack) { if (*(void**)((unsigned __int32)Entity + 8040) != INVALID_HANDLE_VALUE) { - if (Damage > 50) + if (Damage > 50.f) { __int8 Competitive = ('v' - Mode[0] ^ Mode[0] - 's') == 3; @@ -285,7 +273,7 @@ void __thiscall Perform_Trace(void* Stack) if (Damage != __builtin_inff()) { - Damage = (__int32)(Damage + 1.f * (Damage < 1)); + Damage = (__int32)(Damage + 1.f * (Damage < 1.f)); if (Raw_Identifier == 276) { diff --git a/Play_Footstep_Sound.hpp b/Play_Footstep_Sound.hpp index 99fa5b6..3c090a0 100755 --- a/Play_Footstep_Sound.hpp +++ b/Play_Footstep_Sound.hpp @@ -2,12 +2,8 @@ void* Original_Play_Footstep_Sound_Caller; void __thiscall Redirected_Play_Footstep_Sound(void* Unknown_Parameter_1, void* Unknown_Parameter_2, void* Unknown_Parameter_3, void* Unknown_Parameter_4, void* Unknown_Parameter_5, void* Unknown_Parameter_6) { - void* Prediction = (void*)((unsigned __int32)Client_Module + 8072728); - - if (*(__int8*)((unsigned __int32)Prediction + 8) > *(__int8*)((unsigned __int32)Prediction + 24)) + if (*(__int8*)((unsigned __int32)Client_Module + 8072736) <= *(__int8*)((unsigned __int32)Client_Module + 8072752)) { - return; + (decltype(&Redirected_Play_Footstep_Sound)(Original_Play_Footstep_Sound_Caller))(Unknown_Parameter_1, Unknown_Parameter_2, Unknown_Parameter_3, Unknown_Parameter_4, Unknown_Parameter_5, Unknown_Parameter_6); } - - (decltype(&Redirected_Play_Footstep_Sound)(Original_Play_Footstep_Sound_Caller))(Unknown_Parameter_1, Unknown_Parameter_2, Unknown_Parameter_3, Unknown_Parameter_4, Unknown_Parameter_5, Unknown_Parameter_6); } \ No newline at end of file diff --git a/Run_Command.hpp b/Run_Command.hpp index 68ab1e2..7c0ab21 100644 --- a/Run_Command.hpp +++ b/Run_Command.hpp @@ -42,6 +42,6 @@ void __thiscall Redirected_Run_Command(void* Prediction, void* Player, Command_S Global_Variables_Structure* Global_Variables = *(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744); - Global_Variables->Current_Time = (*(__int32*)((unsigned __int32)Player + 5324) - 1) * Global_Variables->Interval_Per_Tick; + Global_Variables->Time = (*(__int32*)((unsigned __int32)Player + 5324) - 1) * Global_Variables->Interval_Per_Tick; } } \ No newline at end of file diff --git a/Spawn_Grenade.hpp b/Spawn_Grenade.hpp index 9aa7914..b703db5 100755 --- a/Spawn_Grenade.hpp +++ b/Spawn_Grenade.hpp @@ -4,23 +4,9 @@ void __thiscall Redirected_Spawn_Grenade(void* Entity) { using Set_Size_Type = void(__thiscall*)(void* Entity, float* Minimum, float* Maximum); - float Minimum[3] = - { - -16.f, + float Minimum[3] = { -16.f, -16.f, -16.f }; - -16.f, - - -16.f - }; - - float Maximum[3] = - { - 16.f, - - 16.f, - - 16.f - }; + float Maximum[3] = { 16.f, 16.f, 16.f }; Set_Size_Type((unsigned __int32)Client_Module + 281664)(Entity, Minimum, Maximum); diff --git a/Storm.vcxproj b/Storm.vcxproj index ec65ec8..a2b186a 100644 --- a/Storm.vcxproj +++ b/Storm.vcxproj @@ -1,113 +1,114 @@ - - - - - Release - Win32 - - - - 16.0 - Win32Proj - {9e56cc0a-5a40-4957-8031-ab3cc4108170} - Storm - 10.0 - - - - DynamicLibrary - false - ClangCL - true - Unicode - - - - - - - - - - - false - false - .cpl - - - false - - - - true - true - false - _CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) - true - stdcpplatest - $(ProjectDir);%(AdditionalIncludeDirectories) - None - MaxSpeed - AnySuitable - Speed - true - false - StreamingSIMDExtensions2 - Fast - /Zc:threadSafeInit- /clang:-fno-unwind-tables -Wno-multichar -Wno-microsoft-goto %(AdditionalOptions) - true - false - false - false - false - Level3 - true - - - Windows - true - true - false - %(AdditionalLibraryDirectories) - false - - - - - false - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Release + Win32 + + + + 16.0 + Win32Proj + {9e56cc0a-5a40-4957-8031-ab3cc4108170} + Storm + 10.0 + + + + DynamicLibrary + false + ClangCL + true + Unicode + + + + + + + + + + + false + false + .cpl + + + false + + + + true + true + false + _CRT_SECURE_NO_WARNINGS;NDEBUG;%(PreprocessorDefinitions) + true + stdcpplatest + $(ProjectDir);%(AdditionalIncludeDirectories) + None + MaxSpeed + AnySuitable + Speed + true + false + StreamingSIMDExtensions2 + Fast + /Zc:threadSafeInit- /clang:-fno-unwind-tables -Wno-microsoft-goto %(AdditionalOptions) + true + false + false + false + false + Level3 + true + __msvc_all_public_headers.hpp + + + Windows + true + true + false + %(AdditionalLibraryDirectories) + false + + + + + false + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Update_Animations.hpp b/Update_Animations.hpp index 0cbae18..afa70d5 100644 --- a/Update_Animations.hpp +++ b/Update_Animations.hpp @@ -2,7 +2,7 @@ struct Global_Variables_Structure { __int8 Additional_Bytes_1[12]; - float Current_Time; + float Time; float Frame_Time; @@ -19,9 +19,9 @@ void Redirected_Update_Animations() { Global_Variables_Structure* Global_Variables = *(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744); - float Previous_Current_Time = Global_Variables->Current_Time; + float Previous_Time = Global_Variables->Time; - Global_Variables->Current_Time = Update_Animation_Time; + Global_Variables->Time = Update_Animation_Time; float Previous_Frame_Time = Global_Variables->Frame_Time; @@ -54,5 +54,5 @@ void Redirected_Update_Animations() Global_Variables->Frame_Time = Previous_Frame_Time; - Global_Variables->Current_Time = Previous_Current_Time; + Global_Variables->Time = Previous_Time; } \ No newline at end of file