Skip to content

Commit 1321d94

Browse files
committed
Update Hooks.BugFixes.cpp
1 parent fdba4f9 commit 1321d94

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/Misc/Hooks.BugFixes.cpp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1967,4 +1967,37 @@ DEFINE_HOOK(0x73F0A7, UnitClass_IsCellOccupied_Start, 0x9)
19671967
return pThis->IsInAir() && pThis->Type->BalloonHover && RulesExt::Global()->BalloonHoverPathingFix ? MoveOK : 0;
19681968
}
19691969

1970+
namespace ApproachTargetContext
1971+
{
1972+
bool IsBalloonHover = false;
1973+
}
1974+
1975+
DEFINE_HOOK(0x4D5690, FootClass_ApproachTarget_SetContext, 0x6)
1976+
{
1977+
GET(FootClass*, pThis, ECX);
1978+
ApproachTargetContext::IsBalloonHover = pThis->GetTechnoType()->BalloonHover && RulesExt::Global()->BalloonHoverPathingFix;
1979+
return 0;
1980+
}
1981+
1982+
DEFINE_HOOK_AGAIN(0x4D5A42, FootClass_ApproachTarget_ResetContext, 0x5);
1983+
DEFINE_HOOK_AGAIN(0x4D5AB5, FootClass_ApproachTarget_ResetContext, 0x5);
1984+
DEFINE_HOOK_AGAIN(0x4D68DE, FootClass_ApproachTarget_ResetContext, 0x5);
1985+
DEFINE_HOOK_AGAIN(0x4D6A8B, FootClass_ApproachTarget_ResetContext, 0x5);
1986+
DEFINE_HOOK(0x4D5744, FootClass_ApproachTarget_ResetContext, 0x5)
1987+
{
1988+
ApproachTargetContext::IsBalloonHover = false;
1989+
return 0;
1990+
}
1991+
1992+
DEFINE_HOOK(0x4834A0, CellClass_IsClearToMove_Start, 0x5)
1993+
{
1994+
if (ApproachTargetContext::IsBalloonHover)
1995+
{
1996+
R->AL(true);
1997+
return 0x483605;
1998+
}
1999+
2000+
return 0;
2001+
}
2002+
19702003
#pragma endregion

0 commit comments

Comments
 (0)