[Kernel] Stub XamShowNuiTroubleshooterUI.
This commit is contained in:
parent
3a64cf64e0
commit
a33b13c174
|
@ -12,12 +12,16 @@
|
||||||
#include "xenia/kernel/kernel_state.h"
|
#include "xenia/kernel/kernel_state.h"
|
||||||
#include "xenia/kernel/util/shim_utils.h"
|
#include "xenia/kernel/util/shim_utils.h"
|
||||||
#include "xenia/kernel/xam/xam_private.h"
|
#include "xenia/kernel/xam/xam_private.h"
|
||||||
|
#include "xenia/ui/imgui_dialog.h"
|
||||||
|
#include "xenia/ui/window.h"
|
||||||
#include "xenia/xbox.h"
|
#include "xenia/xbox.h"
|
||||||
|
|
||||||
namespace xe {
|
namespace xe {
|
||||||
namespace kernel {
|
namespace kernel {
|
||||||
namespace xam {
|
namespace xam {
|
||||||
|
|
||||||
|
extern std::atomic<int> xam_dialogs_shown_;
|
||||||
|
|
||||||
struct X_NUI_DEVICE_STATUS {
|
struct X_NUI_DEVICE_STATUS {
|
||||||
xe::be<uint32_t> unk0;
|
xe::be<uint32_t> unk0;
|
||||||
xe::be<uint32_t> unk1;
|
xe::be<uint32_t> unk1;
|
||||||
|
@ -34,6 +38,31 @@ void XamNuiGetDeviceStatus(pointer_t<X_NUI_DEVICE_STATUS> status_ptr) {
|
||||||
}
|
}
|
||||||
DECLARE_XAM_EXPORT(XamNuiGetDeviceStatus, ExportTag::kStub);
|
DECLARE_XAM_EXPORT(XamNuiGetDeviceStatus, ExportTag::kStub);
|
||||||
|
|
||||||
|
dword_result_t XamShowNuiTroubleshooterUI(unknown_t unk1, unknown_t unk2,
|
||||||
|
unknown_t unk3) {
|
||||||
|
// unk1 is 0xFF - possibly user index?
|
||||||
|
// unk2, unk3 appear to always be zero.
|
||||||
|
|
||||||
|
if (FLAGS_headless) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto display_window = kernel_state()->emulator()->display_window();
|
||||||
|
xe::threading::Fence fence;
|
||||||
|
display_window->loop()->PostSynchronous([&]() {
|
||||||
|
xe::ui::ImGuiDialog::ShowMessageBox(
|
||||||
|
display_window, "NUI Troubleshooter",
|
||||||
|
"The game has indicated there is a problem with NUI (Kinect).")
|
||||||
|
->Then(&fence);
|
||||||
|
});
|
||||||
|
++xam_dialogs_shown_;
|
||||||
|
fence.Wait();
|
||||||
|
--xam_dialogs_shown_;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
DECLARE_XAM_EXPORT(XamShowNuiTroubleshooterUI, ExportTag::kStub);
|
||||||
|
|
||||||
void RegisterNuiExports(xe::cpu::ExportResolver* export_resolver,
|
void RegisterNuiExports(xe::cpu::ExportResolver* export_resolver,
|
||||||
KernelState* kernel_state) {}
|
KernelState* kernel_state) {}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue