diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc index 8c02e50c6..40c3f1987 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_usbcam.cc @@ -17,11 +17,17 @@ namespace xe { namespace kernel { namespace xboxkrnl { -dword_result_t XUsbcamCreate(unknown_t unk1, // E - unknown_t unk2, // 0x4B000 +dword_result_t XUsbcamCreate(dword_t buffer, + dword_t buffer_size, // 0x4B000 640x480? lpunknown_t unk3_ptr) { - // 0 = success. - return X_ERROR_DEVICE_NOT_CONNECTED; + // This function should return success. + // 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); diff --git a/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.cc b/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.cc index cc7efe7f3..5d3dac99d 100644 --- a/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.cc +++ b/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.cc @@ -11,7 +11,6 @@ #include "xenia/base/assert.h" #include "xenia/base/logging.h" -#include "xenia/ui/d3d12/d3d12_util.h" namespace xe { namespace ui { diff --git a/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.h b/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.h index 5a5723ed3..fbc77aeef 100644 --- a/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.h +++ b/src/xenia/ui/d3d12/d3d12_descriptor_heap_pool.h @@ -106,4 +106,4 @@ class D3D12DescriptorHeapPool { } // namespace ui } // namespace xe -#endif // XENIA_UI_D3D12_D3D12_UPLOAD_BUFFER_POOL_H_ +#endif // XENIA_UI_D3D12_D3D12_DESCRIPTOR_HEAP_POOL_H_ diff --git a/src/xenia/ui/d3d12/d3d12_upload_buffer_pool.h b/src/xenia/ui/d3d12/d3d12_upload_buffer_pool.h index 6f8717ce7..9fc2ce45e 100644 --- a/src/xenia/ui/d3d12/d3d12_upload_buffer_pool.h +++ b/src/xenia/ui/d3d12/d3d12_upload_buffer_pool.h @@ -17,9 +17,6 @@ namespace xe { namespace ui { namespace d3d12 { -// Submission index is the fence value or a value derived from it (if reclaiming -// less often than once per fence value, for instance). - class D3D12UploadBufferPool : public GraphicsUploadBufferPool { public: D3D12UploadBufferPool(D3D12Provider& provider, diff --git a/src/xenia/ui/graphics_upload_buffer_pool.h b/src/xenia/ui/graphics_upload_buffer_pool.h index 973a9a6bc..7f5a714d3 100644 --- a/src/xenia/ui/graphics_upload_buffer_pool.h +++ b/src/xenia/ui/graphics_upload_buffer_pool.h @@ -10,6 +10,7 @@ #ifndef XENIA_UI_GRAPHICS_UPLOAD_BUFFER_POOL_H_ #define XENIA_UI_GRAPHICS_UPLOAD_BUFFER_POOL_H_ +#include #include namespace xe {