Stub XamVoiceSubmitPacket Stubs for __CAP_Start_Profiling/End_Profiling/Enter_Function/Exit_Function add a note about io_status_block in NtDeviceIoControlFile, change the param's type move the X_IOCTL_ constants from NtDeviceIoControlFile's body into xbox.h add X_STATUS_INVALID_IMAGE_FORMAT to xbox.h Implement XexLoadImageHeaders Much more correct version of IoCreateDevice, properly initializes/allocates device extension data Stub version of IoDeleteDevice Open the quickstart guide in the browser the first time a user opens the emulator Add some persistent flags that are stored in the registry on windows, not in the config. These are just used to indicate whether one-time tasks have run, like showing the quickstart guide. On non-windows platforms a default value is returned that skips any of these tasks so they don't run every single time. If the user opens a .iso file, show a warning telling them that we do not condone or support piracy. If the user closes the messagebox within two seconds set a sticky flag that will show them the warning every time instead. Otherwise the warning is never shown again. The Beep function is used to spook them a bit, to hopefully make them less likely to skip the message If a user opens an archive file, which we do not support, explain to them that they're dumb. Removed messages intended to "catch" pirates. If they're out there, we don't want to know about them. A huge chunk of the discourse on our discord is now about piracy. Hopefully these changes will deter them from coming to us for now, but some of these messages may backfire
53 lines
1.8 KiB
C++
53 lines
1.8 KiB
C++
/**
|
|
******************************************************************************
|
|
* Xenia : Xbox 360 Emulator Research Project *
|
|
******************************************************************************
|
|
* Copyright 2022 Ben Vanik. All rights reserved. *
|
|
* Released under the BSD license - see LICENSE in the root for more details. *
|
|
******************************************************************************
|
|
*/
|
|
|
|
#include "xenia/base/logging.h"
|
|
#include "xenia/kernel/kernel_state.h"
|
|
#include "xenia/kernel/util/shim_utils.h"
|
|
#include "xenia/kernel/xam/xam_private.h"
|
|
#include "xenia/xbox.h"
|
|
|
|
namespace xe {
|
|
namespace kernel {
|
|
namespace xam {
|
|
|
|
dword_result_t XamVoiceIsActiveProcess_entry() {
|
|
// Returning 0 here will short-circuit a bunch of voice stuff.
|
|
return 0;
|
|
}
|
|
DECLARE_XAM_EXPORT1(XamVoiceIsActiveProcess, kNone, kStub);
|
|
|
|
dword_result_t XamVoiceCreate_entry(unknown_t unk1, // 0
|
|
unknown_t unk2, // 0xF
|
|
lpdword_t out_voice_ptr) {
|
|
// Null out the ptr.
|
|
out_voice_ptr.Zero();
|
|
return X_ERROR_ACCESS_DENIED;
|
|
}
|
|
DECLARE_XAM_EXPORT1(XamVoiceCreate, kNone, kStub);
|
|
|
|
dword_result_t XamVoiceClose_entry(lpunknown_t voice_ptr) { return 0; }
|
|
DECLARE_XAM_EXPORT1(XamVoiceClose, kNone, kStub);
|
|
|
|
dword_result_t XamVoiceHeadsetPresent_entry(lpunknown_t voice_ptr) { return 0; }
|
|
DECLARE_XAM_EXPORT1(XamVoiceHeadsetPresent, kNone, kStub);
|
|
|
|
dword_result_t XamVoiceSubmitPacket_entry(lpdword_t unk1, dword_t unk2,
|
|
lpdword_t unk3) {
|
|
// also may return 0xD000009D
|
|
return 0x800700AA;
|
|
}
|
|
DECLARE_XAM_EXPORT1(XamVoiceSubmitPacket, kNone, kStub);
|
|
|
|
} // namespace xam
|
|
} // namespace kernel
|
|
} // namespace xe
|
|
|
|
DECLARE_XAM_EMPTY_REGISTER_EXPORTS(Voice);
|