mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2024-11-27 13:14:01 +08:00
Re-enabled auto join if overlay is not ready
This commit is contained in:
parent
3516b98042
commit
8abd24ca54
@ -1035,27 +1035,37 @@ void Callback(Common_Message *msg)
|
|||||||
if (msg->has_friend_messages()) {
|
if (msg->has_friend_messages()) {
|
||||||
if (msg->friend_messages().type() == Friend_Messages::LOBBY_INVITE) {
|
if (msg->friend_messages().type() == Friend_Messages::LOBBY_INVITE) {
|
||||||
PRINT_DEBUG("Steam_Friends Got Lobby Invite\n");
|
PRINT_DEBUG("Steam_Friends Got Lobby Invite\n");
|
||||||
|
if (overlay->Ready())
|
||||||
|
{
|
||||||
//TODO: the user should accept the invite first but we auto accept it because there's no gui yet
|
//TODO: the user should accept the invite first but we auto accept it because there's no gui yet
|
||||||
// Then we will handle it !
|
// Then we will handle it !
|
||||||
overlay->SetLobbyInvite(*find_friend(static_cast<uint64>(msg->source_id())), msg->friend_messages().lobby_id());
|
overlay->SetLobbyInvite(*find_friend(static_cast<uint64>(msg->source_id())), msg->friend_messages().lobby_id());
|
||||||
|
}
|
||||||
//GameLobbyJoinRequested_t data;
|
else
|
||||||
//data.m_steamIDLobby = CSteamID((uint64)msg->friend_messages().lobby_id());
|
{
|
||||||
//data.m_steamIDFriend = CSteamID((uint64)msg->source_id());
|
GameLobbyJoinRequested_t data;
|
||||||
//callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
data.m_steamIDLobby = CSteamID((uint64)msg->friend_messages().lobby_id());
|
||||||
|
data.m_steamIDFriend = CSteamID((uint64)msg->source_id());
|
||||||
|
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg->friend_messages().type() == Friend_Messages::GAME_INVITE) {
|
if (msg->friend_messages().type() == Friend_Messages::GAME_INVITE) {
|
||||||
PRINT_DEBUG("Steam_Friends Got Game Invite\n");
|
PRINT_DEBUG("Steam_Friends Got Game Invite\n");
|
||||||
//TODO: I'm pretty sure that the user should accept the invite before this is posted but we do like above
|
//TODO: I'm pretty sure that the user should accept the invite before this is posted but we do like above
|
||||||
|
if (overlay->Ready())
|
||||||
|
{
|
||||||
// Then we will handle it !
|
// Then we will handle it !
|
||||||
overlay->SetRichInvite(*find_friend(static_cast<uint64>(msg->source_id())), msg->friend_messages().connect_str().c_str());
|
overlay->SetRichInvite(*find_friend(static_cast<uint64>(msg->source_id())), msg->friend_messages().connect_str().c_str());
|
||||||
|
}
|
||||||
//std::string const& connect_str = msg->friend_messages().connect_str();
|
else
|
||||||
//GameRichPresenceJoinRequested_t data = {};
|
{
|
||||||
//data.m_steamIDFriend = CSteamID((uint64)msg->source_id());
|
std::string const& connect_str = msg->friend_messages().connect_str();
|
||||||
//strncpy(data.m_rgchConnect, connect_str.c_str(), k_cchMaxRichPresenceValueLength - 1);
|
GameRichPresenceJoinRequested_t data = {};
|
||||||
//callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
data.m_steamIDFriend = CSteamID((uint64)msg->source_id());
|
||||||
|
strncpy(data.m_rgchConnect, connect_str.c_str(), k_cchMaxRichPresenceValueLength - 1);
|
||||||
|
callbacks->addCBResult(data.k_iCallback, &data, sizeof(data));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,7 +135,7 @@ void DX11_Hook::prepareForOverlay(IDXGISwapChain* pSwapChain)
|
|||||||
// __in_ecount_opt(FeatureLevels) CONST D3D_FEATURE_LEVEL* pFeatureLevels, UINT FeatureLevels, UINT SDKVersion, __out_opt ID3D11Device** ppDevice,
|
// __in_ecount_opt(FeatureLevels) CONST D3D_FEATURE_LEVEL* pFeatureLevels, UINT FeatureLevels, UINT SDKVersion, __out_opt ID3D11Device** ppDevice,
|
||||||
// __out_opt D3D_FEATURE_LEVEL* pFeatureLevel, __out_opt ID3D11DeviceContext** ppImmediateContext)
|
// __out_opt D3D_FEATURE_LEVEL* pFeatureLevel, __out_opt ID3D11DeviceContext** ppImmediateContext)
|
||||||
//{
|
//{
|
||||||
// auto res = _D3D11CreateDevice(pAdapter, DriverType, Software, Flags, pFeatureLevels, FeatureLevels, SDKVersion, ppDevice, pFeatureLevel, ppImmediateContext);
|
// auto res = D3D11CreateDevice(pAdapter, DriverType, Software, Flags, pFeatureLevels, FeatureLevels, SDKVersion, ppDevice, pFeatureLevel, ppImmediateContext);
|
||||||
//
|
//
|
||||||
// if (SUCCEEDED(res))
|
// if (SUCCEEDED(res))
|
||||||
// hook->hook_dx11(SDKVersion);
|
// hook->hook_dx11(SDKVersion);
|
||||||
@ -185,12 +185,12 @@ DX11_Hook::DX11_Hook():
|
|||||||
_hooked = false;
|
_hooked = false;
|
||||||
// Hook to D3D11CreateDevice and D3D11CreateDeviceAndSwapChain so we know when it gets called.
|
// Hook to D3D11CreateDevice and D3D11CreateDeviceAndSwapChain so we know when it gets called.
|
||||||
// If its called, then DX11 will be used to render the overlay.
|
// If its called, then DX11 will be used to render the overlay.
|
||||||
//_D3D11CreateDevice = (decltype(_D3D11CreateDevice))GetProcAddress(_dll, "D3D11CreateDevice");
|
//D3D11CreateDevice = (decltype(D3D11CreateDevice))GetProcAddress(_dll, "D3D11CreateDevice");
|
||||||
D3D11CreateDeviceAndSwapChain = (decltype(D3D11CreateDeviceAndSwapChain))GetProcAddress(_dll, "D3D11CreateDeviceAndSwapChain");
|
D3D11CreateDeviceAndSwapChain = (decltype(D3D11CreateDeviceAndSwapChain))GetProcAddress(_dll, "D3D11CreateDeviceAndSwapChain");
|
||||||
|
|
||||||
BeginHook();
|
BeginHook();
|
||||||
HookFuncs(
|
HookFuncs(
|
||||||
//std::make_pair<void**, void*>(&(PVOID&)_D3D11CreateDevice, &DX11_Hook::MyD3D11CreateDevice),
|
//std::make_pair<void**, void*>(&(PVOID&)D3D11CreateDevice, &DX11_Hook::MyD3D11CreateDevice),
|
||||||
std::make_pair<void**, void*>(&(PVOID&)D3D11CreateDeviceAndSwapChain, &DX11_Hook::MyD3D11CreateDeviceAndSwapChain)
|
std::make_pair<void**, void*>(&(PVOID&)D3D11CreateDeviceAndSwapChain, &DX11_Hook::MyD3D11CreateDeviceAndSwapChain)
|
||||||
);
|
);
|
||||||
EndHook();
|
EndHook();
|
||||||
|
Loading…
Reference in New Issue
Block a user