clang-format on most of kernel/
This commit is contained in:
@@ -11,17 +11,14 @@
|
||||
|
||||
#include <xenia/kernel/apps/xmp_app.h>
|
||||
|
||||
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
namespace apps {
|
||||
|
||||
|
||||
void RegisterApps(KernelState* kernel_state, XAppManager* manager) {
|
||||
manager->RegisterApp(std::make_unique<XXMPApp>(kernel_state));
|
||||
}
|
||||
|
||||
|
||||
} // namespace apps
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
|
||||
@@ -16,18 +16,14 @@
|
||||
#include <xenia/kernel/app.h>
|
||||
#include <xenia/kernel/kernel_state.h>
|
||||
|
||||
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
namespace apps {
|
||||
|
||||
|
||||
void RegisterApps(KernelState* kernel_state, XAppManager* manager);
|
||||
|
||||
|
||||
} // namespace apps
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
|
||||
|
||||
#endif // XENIA_KERNEL_XBOXKRNL_APPS_APPS_H_
|
||||
|
||||
@@ -9,12 +9,10 @@
|
||||
|
||||
#include <xenia/kernel/apps/xmp_app.h>
|
||||
|
||||
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
namespace apps {
|
||||
|
||||
|
||||
X_RESULT XXMPApp::XMPGetStatus(uint32_t unk, uint32_t status_ptr) {
|
||||
// Some stupid games will hammer this on a thread - induce a delay
|
||||
// here to keep from starving real threads.
|
||||
@@ -28,7 +26,8 @@ X_RESULT XXMPApp::XMPGetStatus(uint32_t unk, uint32_t status_ptr) {
|
||||
return X_ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
X_RESULT XXMPApp::XMPGetStatusEx(uint32_t unk, uint32_t unk_ptr, uint32_t disabled_ptr) {
|
||||
X_RESULT XXMPApp::XMPGetStatusEx(uint32_t unk, uint32_t unk_ptr,
|
||||
uint32_t disabled_ptr) {
|
||||
// Some stupid games will hammer this on a thread - induce a delay
|
||||
// here to keep from starving real threads.
|
||||
Sleep(1);
|
||||
@@ -42,7 +41,8 @@ X_RESULT XXMPApp::XMPGetStatusEx(uint32_t unk, uint32_t unk_ptr, uint32_t disabl
|
||||
return X_ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
X_RESULT XXMPApp::DispatchMessageSync(uint32_t message, uint32_t arg1, uint32_t arg2) {
|
||||
X_RESULT XXMPApp::DispatchMessageSync(uint32_t message, uint32_t arg1,
|
||||
uint32_t arg2) {
|
||||
// http://freestyledash.googlecode.com/svn-history/r1/trunk/Freestyle/Scenes/Media/Music/ScnMusic.cpp
|
||||
switch (message) {
|
||||
case 0x00070009: {
|
||||
@@ -75,33 +75,33 @@ X_RESULT XXMPApp::DispatchMessageSync(uint32_t message, uint32_t arg1, uint32_t
|
||||
return X_ERROR_NOT_FOUND;
|
||||
}
|
||||
|
||||
X_RESULT XXMPApp::DispatchMessageAsync(uint32_t message, uint32_t buffer_ptr, size_t buffer_length) {
|
||||
X_RESULT XXMPApp::DispatchMessageAsync(uint32_t message, uint32_t buffer_ptr,
|
||||
size_t buffer_length) {
|
||||
switch (message) {
|
||||
case 0x00070009: {
|
||||
uint32_t unk =
|
||||
poly::load_and_swap<uint32_t>(membase_ + buffer_ptr + 0); // 0x00000002
|
||||
uint32_t status_ptr = poly::load_and_swap<uint32_t>(
|
||||
membase_ + buffer_ptr + 4); // out ptr to 4b - expect 0
|
||||
assert_true(buffer_length == 8);
|
||||
return XMPGetStatus(unk, status_ptr);
|
||||
}
|
||||
case 0x0007001B: {
|
||||
uint32_t unk =
|
||||
poly::load_and_swap<uint32_t>(membase_ + buffer_ptr + 0); // 0x00000002
|
||||
uint32_t unk_ptr = poly::load_and_swap<uint32_t>(
|
||||
membase_ + buffer_ptr + 4); // out ptr to 4b - expect 0
|
||||
uint32_t disabled_ptr = poly::load_and_swap<uint32_t>(
|
||||
membase_ + buffer_ptr + 8); // out ptr to 4b - expect 1 (to skip)
|
||||
assert_true(buffer_length == 0xC);
|
||||
return XMPGetStatusEx(unk, unk_ptr, disabled_ptr);
|
||||
}
|
||||
case 0x00070009: {
|
||||
uint32_t unk = poly::load_and_swap<uint32_t>(membase_ + buffer_ptr +
|
||||
0); // 0x00000002
|
||||
uint32_t status_ptr = poly::load_and_swap<uint32_t>(
|
||||
membase_ + buffer_ptr + 4); // out ptr to 4b - expect 0
|
||||
assert_true(buffer_length == 8);
|
||||
return XMPGetStatus(unk, status_ptr);
|
||||
}
|
||||
case 0x0007001B: {
|
||||
uint32_t unk = poly::load_and_swap<uint32_t>(membase_ + buffer_ptr +
|
||||
0); // 0x00000002
|
||||
uint32_t unk_ptr = poly::load_and_swap<uint32_t>(
|
||||
membase_ + buffer_ptr + 4); // out ptr to 4b - expect 0
|
||||
uint32_t disabled_ptr = poly::load_and_swap<uint32_t>(
|
||||
membase_ + buffer_ptr + 8); // out ptr to 4b - expect 1 (to skip)
|
||||
assert_true(buffer_length == 0xC);
|
||||
return XMPGetStatusEx(unk, unk_ptr, disabled_ptr);
|
||||
}
|
||||
}
|
||||
XELOGE("Unimplemented XMsg message app=%.8X, msg=%.8X, buffer=%.8X, len=%d",
|
||||
app_id(), message, buffer_ptr, buffer_length);
|
||||
return X_ERROR_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
||||
} // namespace apps
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
|
||||
@@ -16,27 +16,26 @@
|
||||
#include <xenia/kernel/app.h>
|
||||
#include <xenia/kernel/kernel_state.h>
|
||||
|
||||
|
||||
namespace xe {
|
||||
namespace kernel {
|
||||
namespace apps {
|
||||
|
||||
|
||||
class XXMPApp : public XApp {
|
||||
public:
|
||||
public:
|
||||
XXMPApp(KernelState* kernel_state) : XApp(kernel_state, 0xFA) {}
|
||||
|
||||
X_RESULT XMPGetStatus(uint32_t unk, uint32_t status_ptr);
|
||||
X_RESULT XMPGetStatusEx(uint32_t unk, uint32_t unk_ptr, uint32_t disabled_ptr);
|
||||
X_RESULT XMPGetStatusEx(uint32_t unk, uint32_t unk_ptr,
|
||||
uint32_t disabled_ptr);
|
||||
|
||||
X_RESULT DispatchMessageSync(uint32_t message, uint32_t arg1, uint32_t arg2) override;
|
||||
X_RESULT DispatchMessageAsync(uint32_t message, uint32_t buffer_ptr, size_t buffer_length) override;
|
||||
X_RESULT DispatchMessageSync(uint32_t message, uint32_t arg1,
|
||||
uint32_t arg2) override;
|
||||
X_RESULT DispatchMessageAsync(uint32_t message, uint32_t buffer_ptr,
|
||||
size_t buffer_length) override;
|
||||
};
|
||||
|
||||
|
||||
} // namespace apps
|
||||
} // namespace kernel
|
||||
} // namespace xe
|
||||
|
||||
|
||||
#endif // XENIA_KERNEL_XBOXKRNL_APPS_XMP_APP_H_
|
||||
|
||||
Reference in New Issue
Block a user