mirror of https://github.com/Thracky/GlosSI
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
937 B
C++
62 lines
937 B
C++
#pragma once
|
|
#include <Windows.h>
|
|
#include <functional>
|
|
|
|
class SteamTarget;
|
|
|
|
namespace overlay_hook
|
|
{
|
|
DWORD JMPBackOpen;
|
|
DWORD JMPBackClosed;
|
|
|
|
TargetOverlay* target_overlay;
|
|
|
|
|
|
__declspec(naked) void overlay_opend_hookFN()
|
|
{
|
|
|
|
|
|
//excute overrriden instructions
|
|
__asm {
|
|
push esi
|
|
mov byte ptr ds : [esi + 0x28], 1
|
|
}
|
|
|
|
//our hook code...
|
|
target_overlay->onOverlayOpened();
|
|
|
|
|
|
|
|
//std::cout << "Opened!\n";
|
|
|
|
|
|
//jump back
|
|
__asm
|
|
{
|
|
jmp[JMPBackOpen] //jump back and continiue with original steam function
|
|
}
|
|
}
|
|
|
|
|
|
__declspec(naked) void overlay_closed_hookFN()
|
|
{
|
|
//excute overrriden instructions
|
|
__asm {
|
|
mov dword ptr ds : [esi + 0x24], 0
|
|
mov byte ptr ds : [esi + 0x28], 0
|
|
}
|
|
|
|
//our hook code...
|
|
target_overlay->onOverlayClosed();
|
|
|
|
//std::cout << "Closed!\n";
|
|
|
|
//jump back
|
|
__asm
|
|
{
|
|
jmp[JMPBackClosed] //jump back and continiue with original steam function
|
|
}
|
|
}
|
|
|
|
}
|