[UIFeeder] Don't replace game feeders
This commit is contained in:
parent
d524092944
commit
a0b21f43a0
@ -52,7 +52,7 @@ namespace Components
|
||||
Changelog::Changelog()
|
||||
{
|
||||
// Changelog
|
||||
UIFeeder::Add(39.0f, Changelog::GetChangelogCount, Changelog::GetChangelogText, Changelog::SelectChangelog);
|
||||
UIFeeder::Add(62.0f, Changelog::GetChangelogCount, Changelog::GetChangelogText, Changelog::SelectChangelog);
|
||||
}
|
||||
|
||||
Changelog::~Changelog()
|
||||
|
@ -476,7 +476,7 @@ namespace Components
|
||||
}
|
||||
});
|
||||
|
||||
UIFeeder::Add(6.0f, Friends::GetFriendCount, Friends::GetFriendText, Friends::SelectFriend);
|
||||
UIFeeder::Add(61.0f, Friends::GetFriendCount, Friends::GetFriendText, Friends::SelectFriend);
|
||||
|
||||
QuickPatch::OnShutdown([]()
|
||||
{
|
||||
|
@ -32,11 +32,7 @@ namespace Components
|
||||
|
||||
bool UIFeeder::SetItemSelection()
|
||||
{
|
||||
if(UIFeeder::Current.feeder == 4.0f)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else if (UIFeeder::Feeders.find(UIFeeder::Current.feeder) != UIFeeder::Feeders.end())
|
||||
if (UIFeeder::Feeders.find(UIFeeder::Current.feeder) != UIFeeder::Feeders.end())
|
||||
{
|
||||
UIFeeder::Feeders[UIFeeder::Current.feeder].select(UIFeeder::Current.index);
|
||||
return true;
|
||||
@ -339,7 +335,7 @@ namespace Components
|
||||
if (reinterpret_cast<unsigned int*>(0x633E934)[j] == i)
|
||||
{
|
||||
UIFeeder::SelectMap(j);
|
||||
UIFeeder::Select(5.0f, j);
|
||||
UIFeeder::Select(60.0f, j);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -349,6 +345,37 @@ namespace Components
|
||||
}
|
||||
}
|
||||
|
||||
int UIFeeder::CheckSelection(int feeder)
|
||||
{
|
||||
if (feeder == 62) return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
__declspec(naked) void UIFeeder::CheckSelectionStub()
|
||||
{
|
||||
__asm
|
||||
{
|
||||
mov ecx, 6B5240h
|
||||
call ecx // __ftol2_sse
|
||||
|
||||
push eax
|
||||
call UIFeeder::CheckSelection
|
||||
|
||||
test al, al
|
||||
jz returnSafe
|
||||
|
||||
pop eax
|
||||
push 635A9Dh
|
||||
retn
|
||||
|
||||
returnSafe:
|
||||
pop eax
|
||||
xor eax, eax
|
||||
pop ecx
|
||||
retn
|
||||
}
|
||||
}
|
||||
|
||||
UIFeeder::UIFeeder()
|
||||
{
|
||||
Dvar::OnInit([]()
|
||||
@ -379,11 +406,14 @@ namespace Components
|
||||
// Play mouse over sound check
|
||||
Utils::Hook(0x639D66, UIFeeder::PlaySoundStub, HOOK_CALL).install()->quick();
|
||||
|
||||
// Disable blinking
|
||||
Utils::Hook(0x635A98, UIFeeder::CheckSelectionStub, HOOK_JUMP).install()->quick();
|
||||
|
||||
// some thing overwriting feeder 2's data
|
||||
Utils::Hook::Set<BYTE>(0x4A06A9, 0xEB);
|
||||
|
||||
// Use feeder 5 for maps, as feeder 4 selects on mouse over
|
||||
UIFeeder::Add(5.0f, UIFeeder::GetMapCount, UIFeeder::GetMapText, UIFeeder::SelectMap);
|
||||
UIFeeder::Add(60.0f, UIFeeder::GetMapCount, UIFeeder::GetMapText, UIFeeder::SelectMap);
|
||||
UIScript::Add("ApplyMap", UIFeeder::ApplyMap);
|
||||
UIScript::Add("ApplyInitialMap", UIFeeder::ApplyInitialMap);
|
||||
|
||||
|
@ -45,6 +45,8 @@ namespace Components
|
||||
static bool SetItemSelection();
|
||||
|
||||
static bool CheckFeeder();
|
||||
static int CheckSelection(int feeder);
|
||||
static void CheckSelectionStub();
|
||||
|
||||
static void MouseEnterStub();
|
||||
static void MouseSelectStub();
|
||||
|
Loading…
Reference in New Issue
Block a user