Compare commits

..

1 Commits

Author SHA1 Message Date
german77
ba4e5068bc service: mii: Fix default mii database 2023-09-05 01:17:06 -06:00
6 changed files with 9 additions and 107 deletions

View File

@@ -21,7 +21,7 @@ constexpr Result ERROR_CANNOT_FIND_ENTRY{ErrorModule::Mii, 4};
constexpr std::size_t BaseMiiCount{2};
constexpr std::size_t DefaultMiiCount{RawData::DefaultMii.size()};
constexpr MiiStoreData::Name DefaultMiiName{u'y', u'u', u'z', u'u'};
constexpr MiiStoreData::Name DefaultMiiName{u'n', u'o', u' ', u'n', u'a', u'm', u'e'};
constexpr std::array<u8, 8> HairColorLookup{8, 1, 2, 3, 4, 5, 6, 7};
constexpr std::array<u8, 6> EyeColorLookup{8, 9, 10, 11, 12, 13};
constexpr std::array<u8, 5> MouthColorLookup{19, 20, 21, 22, 23};

View File

@@ -5,109 +5,7 @@
namespace Service::Mii::RawData {
const std::array<Service::Mii::DefaultMii, 8> DefaultMii{
Service::Mii::DefaultMii{
.face_type = 0,
.face_color = 0,
.face_wrinkle = 0,
.face_makeup = 0,
.hair_type = 33,
.hair_color = 1,
.hair_flip = 0,
.eye_type = 2,
.eye_color = 0,
.eye_scale = 4,
.eye_aspect = 3,
.eye_rotate = 4,
.eye_x = 2,
.eye_y = 12,
.eyebrow_type = 6,
.eyebrow_color = 1,
.eyebrow_scale = 4,
.eyebrow_aspect = 3,
.eyebrow_rotate = 6,
.eyebrow_x = 2,
.eyebrow_y = 10,
.nose_type = 1,
.nose_scale = 4,
.nose_y = 9,
.mouth_type = 23,
.mouth_color = 0,
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
.mustache_type = 0,
.beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
.glasses_type = 0,
.glasses_color = 0,
.glasses_scale = 4,
.glasses_y = 10,
.mole_type = 0,
.mole_scale = 4,
.mole_x = 2,
.mole_y = 20,
.height = 64,
.weight = 64,
.gender = Gender::Male,
.favorite_color = 0,
.region = 0,
.font_region = FontRegion::Standard,
.type = 0,
},
Service::Mii::DefaultMii{
.face_type = 0,
.face_color = 0,
.face_wrinkle = 0,
.face_makeup = 0,
.hair_type = 12,
.hair_color = 1,
.hair_flip = 0,
.eye_type = 4,
.eye_color = 0,
.eye_scale = 4,
.eye_aspect = 3,
.eye_rotate = 3,
.eye_x = 2,
.eye_y = 12,
.eyebrow_type = 0,
.eyebrow_color = 1,
.eyebrow_scale = 4,
.eyebrow_aspect = 3,
.eyebrow_rotate = 6,
.eyebrow_x = 2,
.eyebrow_y = 10,
.nose_type = 1,
.nose_scale = 4,
.nose_y = 9,
.mouth_type = 23,
.mouth_color = 0,
.mouth_scale = 4,
.mouth_aspect = 3,
.mouth_y = 13,
.mustache_type = 0,
.beard_type = 0,
.beard_color = 0,
.mustache_scale = 4,
.mustache_y = 10,
.glasses_type = 0,
.glasses_color = 0,
.glasses_scale = 4,
.glasses_y = 10,
.mole_type = 0,
.mole_scale = 4,
.mole_x = 2,
.mole_y = 20,
.height = 64,
.weight = 64,
.gender = Gender::Female,
.favorite_color = 0,
.region = 0,
.font_region = FontRegion::Standard,
.type = 0,
},
const std::array<Service::Mii::DefaultMii, 6> DefaultMii{
Service::Mii::DefaultMii{
.face_type = 0,
.face_color = 4,

View File

@@ -9,7 +9,7 @@
namespace Service::Mii::RawData {
extern const std::array<Service::Mii::DefaultMii, 8> DefaultMii;
extern const std::array<Service::Mii::DefaultMii, 6> DefaultMii;
extern const std::array<Service::Mii::RandomMiiData4, 18> RandomMiiFaceline;
extern const std::array<Service::Mii::RandomMiiData3, 6> RandomMiiFacelineColor;
extern const std::array<Service::Mii::RandomMiiData4, 18> RandomMiiFacelineWrinkle;

View File

@@ -204,7 +204,9 @@ Id TextureImage(EmitContext& ctx, IR::TextureInstInfo info, const IR::Value& ind
if (def.count > 1) {
throw NotImplementedException("Indirect texture sample");
}
return ctx.OpLoad(ctx.image_buffer_type, def.id);
const Id sampler_id{def.id};
const Id id{ctx.OpLoad(ctx.sampled_texture_buffer_type, sampler_id)};
return ctx.OpImage(ctx.image_buffer_type, id);
} else {
const TextureDefinition& def{ctx.textures.at(info.descriptor_index)};
if (def.count > 1) {

View File

@@ -1242,8 +1242,9 @@ void EmitContext::DefineTextureBuffers(const Info& info, u32& binding) {
}
const spv::ImageFormat format{spv::ImageFormat::Unknown};
image_buffer_type = TypeImage(F32[1], spv::Dim::Buffer, 0U, false, false, 1, format);
sampled_texture_buffer_type = TypeSampledImage(image_buffer_type);
const Id type{TypePointer(spv::StorageClass::UniformConstant, image_buffer_type)};
const Id type{TypePointer(spv::StorageClass::UniformConstant, sampled_texture_buffer_type)};
texture_buffers.reserve(info.texture_buffer_descriptors.size());
for (const TextureBufferDescriptor& desc : info.texture_buffer_descriptors) {
if (desc.count != 1) {

View File

@@ -206,6 +206,7 @@ public:
Id output_u32{};
Id image_buffer_type{};
Id sampled_texture_buffer_type{};
Id image_u32{};
std::array<UniformDefinitions, Info::MAX_CBUFS> cbufs{};