[Kernel/Usbcam] XUsbcamCreate

- Provided description to some parameters
- Provided description what function more/less should do
- Changed return code based on game behaviour
This commit is contained in:
Gliniak 2020-09-17 18:49:04 +02:00 committed by Triang3l
parent 5c291d0589
commit ba565c3403
1 changed files with 10 additions and 4 deletions

View File

@ -17,11 +17,17 @@ namespace xe {
namespace kernel { namespace kernel {
namespace xboxkrnl { namespace xboxkrnl {
dword_result_t XUsbcamCreate(unknown_t unk1, // E dword_result_t XUsbcamCreate(dword_t buffer,
unknown_t unk2, // 0x4B000 dword_t buffer_size, // 0x4B000 640x480?
lpunknown_t unk3_ptr) { lpunknown_t unk3_ptr) {
// 0 = success. // This function should return success.
return X_ERROR_DEVICE_NOT_CONNECTED; // It looks like it only allocates space for usbcam support.
// returning error code might cause games to initialize incorrectly.
// "Carcassonne" initalization function checks for result from this
// function. If value is different than 0 instead of loading
// rest of the game it returns from initalization function and tries
// to run game normally which causes crash, due to uninitialized data.
return X_STATUS_SUCCESS;
} }
DECLARE_XBOXKRNL_EXPORT1(XUsbcamCreate, kNone, kStub); DECLARE_XBOXKRNL_EXPORT1(XUsbcamCreate, kNone, kStub);