diff --git a/src/xenia/kernel/kernel_state.cc b/src/xenia/kernel/kernel_state.cc index ecffba54a..5cd6110b7 100644 --- a/src/xenia/kernel/kernel_state.cc +++ b/src/xenia/kernel/kernel_state.cc @@ -75,6 +75,9 @@ XModule* KernelState::GetModule(const char* name) { auto module = emulator_->xboxkrnl(); module->Retain(); return module; + } else if (xestrcasecmpa(name, "kernel32.dll") == 0) { + // Some games request this, for some reason. wtf. + return NULL; } else { // TODO(benvanik): support user modules/loading/etc. XEASSERTALWAYS(); diff --git a/src/xenia/kernel/xboxkrnl_modules.cc b/src/xenia/kernel/xboxkrnl_modules.cc index db50763fd..222517882 100644 --- a/src/xenia/kernel/xboxkrnl_modules.cc +++ b/src/xenia/kernel/xboxkrnl_modules.cc @@ -208,9 +208,7 @@ SHIM_CALL XexGetModuleHandle_shim( X_HANDLE module_handle = 0; int result = xeXexGetModuleHandle(module_name, &module_handle); - if (result) { - SHIM_SET_MEM_32(module_handle_ptr, module_handle); - } + SHIM_SET_MEM_32(module_handle_ptr, module_handle); SHIM_SET_RETURN_32(result); }