sc: bone eater preliminary support (#895)
## Link to GitHub Issue or related Pull Request, if one exists Fixes #114 ## Description of change Initial support for Silent Scope: Bone Eater, enough to be playable; doesn't include QoS work needed to make this a smoother experience. * Game detection * Fix DX11 overlay to work with non-Unity games * Implements sub monitor i/o (only really needed to get past I/O check) * Try to make the game reasonably playable with a mouse * Ignore the game's attempt to move windows, position them in a reasonable place * Fix language hook ## Testing
This commit is contained in:
@@ -336,9 +336,11 @@ void hooks::lang::early_init() {
|
||||
&GetLocaleInfoA_orig);
|
||||
}
|
||||
|
||||
// for TDJ subscreen search keyboard and T44 narrow-string handling
|
||||
// for TDJ subscreen search keyboard
|
||||
// T44 narrow-string handling
|
||||
// NDD text measuring
|
||||
if ((avs::game::is_model("LDJ") && games::iidx::TDJ_MODE) ||
|
||||
avs::game::is_model("T44")) {
|
||||
avs::game::is_model({ "T44", "NDD" })) {
|
||||
log_info("hooks::lang", "hooking IsDBCSLeadByte");
|
||||
detour::trampoline_try(
|
||||
"kernel32.dll",
|
||||
@@ -358,8 +360,9 @@ void hooks::lang::early_init() {
|
||||
#endif
|
||||
|
||||
#ifdef SPICE64
|
||||
// NDD renders through GetTextExtentPoint32A, so its wide strings go back through CP_ACP first
|
||||
const auto hook_wide_char_to_multi_byte =
|
||||
games::gitadora::is_arena_model() || avs::game::is_model("T44");
|
||||
games::gitadora::is_arena_model() || avs::game::is_model({ "T44", "NDD" });
|
||||
#else
|
||||
// XG2 converts UTF-8 property strings through CP_ACP before rendering.
|
||||
const auto hook_wide_char_to_multi_byte = avs::game::is_model({ "K32", "K33" });
|
||||
|
||||
Reference in New Issue
Block a user