From ffa6f4408b8d5ae913a1ba2fdc87b3021ce9f6d4 Mon Sep 17 00:00:00 2001 From: ThirteenAG Date: Sat, 24 Aug 2024 11:50:06 +0800 Subject: [PATCH] conviction: simplify cover code --- .../src/system/update/blacklist.ini | 4 ---- .../dllmain.cpp | 21 +++---------------- 2 files changed, 3 insertions(+), 22 deletions(-) diff --git a/data/SplinterCellConviction.FusionMod/src/system/update/blacklist.ini b/data/SplinterCellConviction.FusionMod/src/system/update/blacklist.ini index c5dfe00d..3c17445a 100644 --- a/data/SplinterCellConviction.FusionMod/src/system/update/blacklist.ini +++ b/data/SplinterCellConviction.FusionMod/src/system/update/blacklist.ini @@ -161,7 +161,6 @@ m_Action=(GameMode=eGameMode_MPOnly, Name=MarkTargetState, StateCommand=ReleaseM // [EchelonPlayer.SPNormalAction] -B- m_Action=(Event=DetectB2W,Action=eActionType_PressB,Filter=epfCritical) -m_Action=(Event=DetectB2W,Action=eActionType_HoldB,Filter=epfCritical) m_Action=(Event=StopDetectB2W,Action=eActionType_ReleaseB,Filter=epfCritical) m_Action=(Event=StackedDrop,Action=eActionType_PressB,Filter=epfCritical) m_Action=(Name=GeoDropToLedgeState,StateCommand=SlideDrop,Action=eActionType_PressB,TargetType=TTYPE_Ledge ) @@ -472,7 +471,6 @@ m_Action=(GameMode=eGameMode_SPOnly, Event=MAERealOff, Action=eActionType_Releas // [EchelonPlayer.SPCrouchAction] -B- m_Action=(Event=DetectB2W,Action=eActionType_PressB,Filter=epfCritical) -m_Action=(Event=DetectB2W,Action=eActionType_HoldB,Filter=epfCritical) m_Action=(Event=StopDetectB2W,Action=eActionType_ReleaseB,Filter=epfCritical) m_Action=(Name=CoverNavStartState,StateCommand=InstantCheck,Action=eActionType_PressB, TargetType=TTYPE_None ) m_Action=(Name=CoverNavStartState,Action=eActionType_HoldB, TargetType=TTYPE_None ) @@ -1494,7 +1492,6 @@ m_Action=(Name=SlideOnGroundState,StateCommand=Crouch,Action=eActionType_PressLe // [EchelonPlayer.SPCosteNormalAction] -B- m_Action=(Event=DetectB2W,Action=eActionType_PressB,Filter=epfCritical) -m_Action=(Event=DetectB2W,Action=eActionType_HoldB,Filter=epfCritical) m_Action=(Event=StopDetectB2W,Action=eActionType_ReleaseB,Filter=epfCritical) m_Action=(Name=CoverNavStartState,StateCommand=InstantCheck,Action=eActionType_PressB, TargetType=TTYPE_None ) m_Action=(Name=CoverNavStartState,Action=eActionType_HoldB, TargetType=TTYPE_None ) @@ -1604,7 +1601,6 @@ m_Action=(Name=ThrowGrenadeState,Action=eActionType_ReleaseX,TargetType=TTYPE_No // [EchelonPlayer.SPCosteCrouchAction] -B- m_Action=(Event=DetectB2W,Action=eActionType_PressB,Filter=epfCritical) -m_Action=(Event=DetectB2W,Action=eActionType_HoldB,Filter=epfCritical) m_Action=(Event=StopDetectB2W,Action=eActionType_ReleaseB,Filter=epfCritical, TargetType=TTYPE_None ) m_Action=(Name=CoverNavStartState,StateCommand=InstantCheck,Action=eActionType_PressB, TargetType=TTYPE_None ) m_Action=(Name=CoverNavStartState,Action=eActionType_HoldB, TargetType=TTYPE_None ) diff --git a/source/SplinterCellConviction.FusionMod/dllmain.cpp b/source/SplinterCellConviction.FusionMod/dllmain.cpp index 83f0c28f..6affbcb8 100644 --- a/source/SplinterCellConviction.FusionMod/dllmain.cpp +++ b/source/SplinterCellConviction.FusionMod/dllmain.cpp @@ -740,22 +740,13 @@ void Init() { if (bCoverStateStarted) { - if (bReleased) - *(uint32_t*)(regs.esi + 0xA44) &= ~0x100; + *(uint32_t*)(regs.esi + 0xA44) &= ~0x100; } else { - if (bReleased) - { - lastDetectTime = std::chrono::steady_clock::now(); - *(uint32_t*)(regs.esi + 0xA44) |= 0x100; - } + lastDetectTime = std::chrono::steady_clock::now(); + *(uint32_t*)(regs.esi + 0xA44) |= 0x100; } - bReleased = false; - } - else - { - bReleased = true; } } else @@ -775,12 +766,6 @@ void Init() bCoverStateStarted = false; }); - pattern = hook::pattern("55 8B EC 83 EC 50 53 56 8B F1 8B 46 5C"); - static auto UCoverNavEndState2 = safetyhook::create_mid(pattern.get_first(), [](SafetyHookContext& regs) - { - bCoverStateStarted = false; - }); - pattern = hook::pattern("66 F7 86 ? ? ? ? ? ? 0F 84 ? ? ? ? 0F 57 C0"); static auto UCoverNavStartStateCheck = safetyhook::create_mid(pattern.get_first(), [](SafetyHookContext& regs) {