This is another one of my crude attempts to fix stuff without really understanding.
Some users (not me) report a black screen injecting Dead Island. Apparently it works with nightly 1026 but not 1027 (and doesn't work with the current nightly either). There's only 1 commit between versions 1026 and 1027:
e77b321
with the current codebase, replacing line 394 of FFakeStereoRenderingHook.cpp:
void* result = hook->m_tick_hook.original<void* ()(sdk::UGameEngine, float, bool)>()(engine, delta, idle);
with
void* result = hook->m_tick_hook.call<void*>(engine, delta, idle);
and line 456 of the same class
result = hook->m_tick_hook.original<void* ()(sdk::UGameEngine, float, bool)>()(engine, delta, idle);
with
result = hook->m_tick_hook.call<void*>(engine, delta, idle);
i.e. reinstating the 1026 hook call in a very naive way, appears to fix it. I don't know why - the e77b321 commit mentioned an unnecessary lock. Perhaps it's not always unnecessary?
This is another one of my crude attempts to fix stuff without really understanding.
Some users (not me) report a black screen injecting Dead Island. Apparently it works with nightly 1026 but not 1027 (and doesn't work with the current nightly either). There's only 1 commit between versions 1026 and 1027:
e77b321
with the current codebase, replacing line 394 of FFakeStereoRenderingHook.cpp:
void* result = hook->m_tick_hook.original<void* ()(sdk::UGameEngine, float, bool)>()(engine, delta, idle);
with
void* result = hook->m_tick_hook.call<void*>(engine, delta, idle);
and line 456 of the same class
result = hook->m_tick_hook.original<void* ()(sdk::UGameEngine, float, bool)>()(engine, delta, idle);
with
result = hook->m_tick_hook.call<void*>(engine, delta, idle);
i.e. reinstating the 1026 hook call in a very naive way, appears to fix it. I don't know why - the e77b321 commit mentioned an unnecessary lock. Perhaps it's not always unnecessary?