|
|
|
@ -18,19 +18,6 @@
|
|
|
|
|
namespace HLE {
|
|
|
|
|
namespace Applets {
|
|
|
|
|
|
|
|
|
|
// This data was obtained by writing the returned buffer in AppletManager::GlanceParameter of the
|
|
|
|
|
// LLEd Mii picker of version system version 11.8.0 to a file
|
|
|
|
|
static const std::array<u8, 132> mii = {
|
|
|
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x03, 0x00, 0x10,
|
|
|
|
|
0x30, 0xd2, 0x85, 0xb6, 0xb3, 0x00, 0xc8, 0x85, 0x0a, 0x98, 0x39, 0x1e, 0xe4, 0x40, 0xf4,
|
|
|
|
|
0x07, 0xb7, 0x37, 0x10, 0x00, 0x00, 0xa6, 0x00, 0x43, 0x00, 0x69, 0x00, 0x74, 0x00, 0x72,
|
|
|
|
|
0x00, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40,
|
|
|
|
|
0x00, 0x00, 0x21, 0x01, 0x02, 0x68, 0x44, 0x18, 0x26, 0x34, 0x46, 0x14, 0x81, 0x12, 0x17,
|
|
|
|
|
0x68, 0x0d, 0x00, 0x00, 0x29, 0x00, 0x52, 0x48, 0x50, 0x66, 0x00, 0x6c, 0x00, 0x54, 0x00,
|
|
|
|
|
0x6f, 0x00, 0x62, 0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
|
|
|
0x00, 0x05, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
|
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
|
|
|
|
|
|
|
|
|
ResultCode MiiSelector::ReceiveParameter(const Service::APT::MessageParameter& parameter) {
|
|
|
|
|
if (parameter.signal != Service::APT::SignalType::Request) {
|
|
|
|
|
LOG_ERROR(Service_APT, "unsupported signal {}", static_cast<u32>(parameter.signal));
|
|
|
|
@ -74,9 +61,39 @@ ResultCode MiiSelector::StartImpl(const Service::APT::AppletStartupParameter& pa
|
|
|
|
|
|
|
|
|
|
memcpy(&config, parameter.buffer.data(), parameter.buffer.size());
|
|
|
|
|
|
|
|
|
|
// TODO(Subv): Find more about this structure
|
|
|
|
|
// This data was obtained by writing the returned buffer in AppletManager::GlanceParameter of
|
|
|
|
|
// the LLEd Mii picker of version system version 11.8.0 to a file and then matching the values
|
|
|
|
|
// to the members of the MiiResult struct
|
|
|
|
|
MiiData mii_data;
|
|
|
|
|
mii_data.mii_id = 0x03001030;
|
|
|
|
|
mii_data.system_id = 0xD285B6B300C8850A;
|
|
|
|
|
mii_data.specialness_and_creation_date = 0x98391EE4;
|
|
|
|
|
mii_data.creator_mac = {0x40, 0xF4, 0x07, 0xB7, 0x37, 0x10};
|
|
|
|
|
mii_data.padding = 0x0;
|
|
|
|
|
mii_data.mii_information = 0xA600;
|
|
|
|
|
mii_data.mii_name = {'C', 'i', 't', 'r', 'a', 0x0, 0x0, 0x0, 0x0, 0x0};
|
|
|
|
|
mii_data.width_height = 0x4040;
|
|
|
|
|
mii_data.appearance_bits1 = 0x0;
|
|
|
|
|
mii_data.appearance_bits2 = 0x0;
|
|
|
|
|
mii_data.hair_style = 0x21;
|
|
|
|
|
mii_data.appearance_bits3 = 0x01;
|
|
|
|
|
mii_data.unknown1 = 0x02684418;
|
|
|
|
|
mii_data.appearance_bits4 = 0x26;
|
|
|
|
|
mii_data.appearance_bits5 = 0x34;
|
|
|
|
|
mii_data.appearance_bits6 = 0x4614;
|
|
|
|
|
mii_data.unknown2 = 0x81121768;
|
|
|
|
|
mii_data.allow_copying = 0x0D;
|
|
|
|
|
mii_data.unknown3 = {0x0, 0x0, 0x29, 0x0, 0x52, 0x48, 0x50};
|
|
|
|
|
mii_data.author_name = {'f', 'l', 'T', 'o', 'b', 'i', 0x0, 0x0, 0x0, 0x0};
|
|
|
|
|
|
|
|
|
|
MiiResult result;
|
|
|
|
|
std::memcpy(&result, mii.data(), mii.size());
|
|
|
|
|
result.return_code = 0x0;
|
|
|
|
|
result.is_guest_mii_selected = 0x0;
|
|
|
|
|
result.selected_guest_mii_index = 0xFFFFFFFF;
|
|
|
|
|
result.selected_mii_data = mii_data;
|
|
|
|
|
result.unknown1 = 0x0;
|
|
|
|
|
result.mii_data_checksum = 0x056C;
|
|
|
|
|
result.guest_mii_name.fill(0x0);
|
|
|
|
|
|
|
|
|
|
// Let the application know that we're closing
|
|
|
|
|
Service::APT::MessageParameter message;
|
|
|
|
|