|
|
@ -1,6 +1,7 @@ |
|
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
|
|
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
|
|
|
|
|
|
|
#include "common/assert.h"
|
|
|
#include "core/hle/service/mii/mii_util.h"
|
|
|
#include "core/hle/service/mii/mii_util.h"
|
|
|
#include "core/hle/service/mii/types/core_data.h"
|
|
|
#include "core/hle/service/mii/types/core_data.h"
|
|
|
#include "core/hle/service/mii/types/raw_data.h"
|
|
|
#include "core/hle/service/mii/types/raw_data.h"
|
|
|
@ -14,17 +15,9 @@ void CoreData::SetDefault() { |
|
|
|
|
|
|
|
|
void CoreData::BuildRandom(Age age, Gender gender, Race race) { |
|
|
void CoreData::BuildRandom(Age age, Gender gender, Race race) { |
|
|
if (gender == Gender::All) { |
|
|
if (gender == Gender::All) { |
|
|
gender = MiiUtil::GetRandomValue<Gender>(Gender::Maximum); |
|
|
|
|
|
|
|
|
gender = MiiUtil::GetRandomValue(Gender::Max); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
data.gender.Assign(gender); |
|
|
|
|
|
data.favorite_color.Assign(MiiUtil::GetRandomValue<u8>(11)); |
|
|
|
|
|
data.region_move.Assign(0); |
|
|
|
|
|
data.font_region.Assign(FontRegion::Standard); |
|
|
|
|
|
data.type.Assign(0); |
|
|
|
|
|
data.height.Assign(64); |
|
|
|
|
|
data.build.Assign(64); |
|
|
|
|
|
|
|
|
|
|
|
if (age == Age::All) { |
|
|
if (age == Age::All) { |
|
|
const auto random{MiiUtil::GetRandomValue<int>(10)}; |
|
|
const auto random{MiiUtil::GetRandomValue<int>(10)}; |
|
|
if (random >= 8) { |
|
|
if (random >= 8) { |
|
|
@ -47,6 +40,14 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
SetGender(gender); |
|
|
|
|
|
SetFavoriteColor(MiiUtil::GetRandomValue(FavoriteColor::Max)); |
|
|
|
|
|
SetRegionMove(0); |
|
|
|
|
|
SetFontRegion(FontRegion::Standard); |
|
|
|
|
|
SetType(0); |
|
|
|
|
|
SetHeight(64); |
|
|
|
|
|
SetBuild(64); |
|
|
|
|
|
|
|
|
u32 axis_y{}; |
|
|
u32 axis_y{}; |
|
|
if (gender == Gender::Female && age == Age::Young) { |
|
|
if (gender == Gender::Female && age == Age::Young) { |
|
|
axis_y = MiiUtil::GetRandomValue<u32>(3); |
|
|
axis_y = MiiUtil::GetRandomValue<u32>(3); |
|
|
@ -85,10 +86,10 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) { |
|
|
|
|
|
|
|
|
data.hair_type.Assign( |
|
|
data.hair_type.Assign( |
|
|
hair_type_info.values[MiiUtil::GetRandomValue<std::size_t>(hair_type_info.values_count)]); |
|
|
hair_type_info.values[MiiUtil::GetRandomValue<std::size_t>(hair_type_info.values_count)]); |
|
|
data.hair_color.Assign(RawData::GetHairColorFromVer3( |
|
|
|
|
|
|
|
|
SetHairColor(RawData::GetHairColorFromVer3( |
|
|
hair_color_info |
|
|
hair_color_info |
|
|
.values[MiiUtil::GetRandomValue<std::size_t>(hair_color_info.values_count)])); |
|
|
.values[MiiUtil::GetRandomValue<std::size_t>(hair_color_info.values_count)])); |
|
|
data.hair_flip.Assign(MiiUtil::GetRandomValue<HairFlip>(HairFlip::Maximum)); |
|
|
|
|
|
|
|
|
SetHairFlip(MiiUtil::GetRandomValue(HairFlip::Max)); |
|
|
|
|
|
|
|
|
data.eye_type.Assign( |
|
|
data.eye_type.Assign( |
|
|
eye_type_info.values[MiiUtil::GetRandomValue<std::size_t>(eye_type_info.values_count)]); |
|
|
eye_type_info.values[MiiUtil::GetRandomValue<std::size_t>(eye_type_info.values_count)]); |
|
|
@ -98,13 +99,13 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) { |
|
|
const auto eye_rotate_offset{32 - RawData::EyeRotateLookup[eye_rotate_1] + eye_rotate_2}; |
|
|
const auto eye_rotate_offset{32 - RawData::EyeRotateLookup[eye_rotate_1] + eye_rotate_2}; |
|
|
const auto eye_rotate{32 - RawData::EyeRotateLookup[data.eye_type]}; |
|
|
const auto eye_rotate{32 - RawData::EyeRotateLookup[data.eye_type]}; |
|
|
|
|
|
|
|
|
data.eye_color.Assign(RawData::GetEyeColorFromVer3( |
|
|
|
|
|
|
|
|
SetEyeColor(RawData::GetEyeColorFromVer3( |
|
|
eye_color_info.values[MiiUtil::GetRandomValue<std::size_t>(eye_color_info.values_count)])); |
|
|
eye_color_info.values[MiiUtil::GetRandomValue<std::size_t>(eye_color_info.values_count)])); |
|
|
data.eye_scale.Assign(4); |
|
|
|
|
|
data.eye_aspect.Assign(3); |
|
|
|
|
|
data.eye_rotate.Assign(eye_rotate_offset - eye_rotate); |
|
|
|
|
|
data.eye_x.Assign(2); |
|
|
|
|
|
data.eye_y.Assign(axis_y + 12); |
|
|
|
|
|
|
|
|
SetEyeScale(4); |
|
|
|
|
|
SetEyeAspect(3); |
|
|
|
|
|
SetEyeRotate(static_cast<u8>(eye_rotate_offset - eye_rotate)); |
|
|
|
|
|
SetEyeX(2); |
|
|
|
|
|
SetEyeY(static_cast<u8>(axis_y + 12)); |
|
|
|
|
|
|
|
|
data.eyebrow_type.Assign( |
|
|
data.eyebrow_type.Assign( |
|
|
eyebrow_type_info |
|
|
eyebrow_type_info |
|
|
@ -116,57 +117,53 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) { |
|
|
const auto eyebrow_rotate{ |
|
|
const auto eyebrow_rotate{ |
|
|
32 - RawData::EyebrowRotateLookup[static_cast<std::size_t>(data.eyebrow_type.Value())]}; |
|
|
32 - RawData::EyebrowRotateLookup[static_cast<std::size_t>(data.eyebrow_type.Value())]}; |
|
|
|
|
|
|
|
|
data.eyebrow_color.Assign(data.hair_color); |
|
|
|
|
|
data.eyebrow_scale.Assign(4); |
|
|
|
|
|
data.eyebrow_aspect.Assign(3); |
|
|
|
|
|
data.eyebrow_rotate.Assign(eyebrow_rotate_offset - eyebrow_rotate); |
|
|
|
|
|
data.eyebrow_x.Assign(2); |
|
|
|
|
|
data.eyebrow_y.Assign(axis_y + eyebrow_y); |
|
|
|
|
|
|
|
|
|
|
|
const auto nose_scale{gender == Gender::Female ? 3 : 4}; |
|
|
|
|
|
|
|
|
SetEyebrowColor(GetHairColor()); |
|
|
|
|
|
SetEyebrowScale(4); |
|
|
|
|
|
SetEyebrowAspect(3); |
|
|
|
|
|
SetEyebrowRotate(static_cast<u8>(eyebrow_rotate_offset - eyebrow_rotate)); |
|
|
|
|
|
SetEyebrowX(2); |
|
|
|
|
|
SetEyebrowY(static_cast<u8>(axis_y + eyebrow_y)); |
|
|
|
|
|
|
|
|
data.nose_type.Assign( |
|
|
data.nose_type.Assign( |
|
|
nose_type_info.values[MiiUtil::GetRandomValue<std::size_t>(nose_type_info.values_count)]); |
|
|
nose_type_info.values[MiiUtil::GetRandomValue<std::size_t>(nose_type_info.values_count)]); |
|
|
data.nose_scale.Assign(nose_scale); |
|
|
|
|
|
data.nose_y.Assign(axis_y + 9); |
|
|
|
|
|
|
|
|
SetNoseScale(gender == Gender::Female ? 3 : 4); |
|
|
|
|
|
SetNoseY(static_cast<u8>(axis_y + 9)); |
|
|
|
|
|
|
|
|
const auto mouth_color{gender == Gender::Female ? MiiUtil::GetRandomValue<int>(4) : 0}; |
|
|
const auto mouth_color{gender == Gender::Female ? MiiUtil::GetRandomValue<int>(4) : 0}; |
|
|
|
|
|
|
|
|
data.mouth_type.Assign( |
|
|
data.mouth_type.Assign( |
|
|
mouth_type_info.values[MiiUtil::GetRandomValue<std::size_t>(mouth_type_info.values_count)]); |
|
|
mouth_type_info.values[MiiUtil::GetRandomValue<std::size_t>(mouth_type_info.values_count)]); |
|
|
data.mouth_color.Assign(RawData::GetMouthColorFromVer3(mouth_color)); |
|
|
|
|
|
data.mouth_scale.Assign(4); |
|
|
|
|
|
data.mouth_aspect.Assign(3); |
|
|
|
|
|
data.mouth_y.Assign(axis_y + 13); |
|
|
|
|
|
|
|
|
SetMouthColor(RawData::GetMouthColorFromVer3(mouth_color)); |
|
|
|
|
|
SetMouthScale(4); |
|
|
|
|
|
SetMouthAspect(3); |
|
|
|
|
|
SetMouthY(static_cast<u8>(axis_y + 13)); |
|
|
|
|
|
|
|
|
data.beard_color.Assign(data.hair_color); |
|
|
|
|
|
data.mustache_scale.Assign(4); |
|
|
|
|
|
|
|
|
SetBeardColor(GetHairColor()); |
|
|
|
|
|
SetMustacheScale(4); |
|
|
|
|
|
|
|
|
if (gender == Gender::Male && age != Age::Young && MiiUtil::GetRandomValue<int>(10) < 2) { |
|
|
if (gender == Gender::Male && age != Age::Young && MiiUtil::GetRandomValue<int>(10) < 2) { |
|
|
const auto mustache_and_beard_flag{ |
|
|
|
|
|
MiiUtil::GetRandomValue<BeardAndMustacheFlag>(BeardAndMustacheFlag::All)}; |
|
|
|
|
|
|
|
|
const auto mustache_and_beard_flag{MiiUtil::GetRandomValue(BeardAndMustacheFlag::All)}; |
|
|
|
|
|
|
|
|
auto beard_type{BeardType::None}; |
|
|
auto beard_type{BeardType::None}; |
|
|
auto mustache_type{MustacheType::None}; |
|
|
auto mustache_type{MustacheType::None}; |
|
|
|
|
|
|
|
|
if ((mustache_and_beard_flag & BeardAndMustacheFlag::Beard) == |
|
|
if ((mustache_and_beard_flag & BeardAndMustacheFlag::Beard) == |
|
|
BeardAndMustacheFlag::Beard) { |
|
|
BeardAndMustacheFlag::Beard) { |
|
|
beard_type = MiiUtil::GetRandomValue<BeardType>(BeardType::Beard1, BeardType::Beard5); |
|
|
|
|
|
|
|
|
beard_type = MiiUtil::GetRandomValue(BeardType::Min, BeardType::Max); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
if ((mustache_and_beard_flag & BeardAndMustacheFlag::Mustache) == |
|
|
if ((mustache_and_beard_flag & BeardAndMustacheFlag::Mustache) == |
|
|
BeardAndMustacheFlag::Mustache) { |
|
|
BeardAndMustacheFlag::Mustache) { |
|
|
mustache_type = MiiUtil::GetRandomValue<MustacheType>(MustacheType::Mustache1, |
|
|
|
|
|
MustacheType::Mustache5); |
|
|
|
|
|
|
|
|
mustache_type = MiiUtil::GetRandomValue(MustacheType::Min, MustacheType::Max); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
data.mustache_type.Assign(mustache_type); |
|
|
|
|
|
data.beard_type.Assign(beard_type); |
|
|
|
|
|
data.mustache_y.Assign(10); |
|
|
|
|
|
|
|
|
SetMustacheType(mustache_type); |
|
|
|
|
|
SetBeardType(beard_type); |
|
|
|
|
|
SetMustacheY(10); |
|
|
} else { |
|
|
} else { |
|
|
data.mustache_type.Assign(MustacheType::None); |
|
|
|
|
|
data.beard_type.Assign(BeardType::None); |
|
|
|
|
|
data.mustache_y.Assign(axis_y + 10); |
|
|
|
|
|
|
|
|
SetMustacheType(MustacheType::None); |
|
|
|
|
|
SetBeardType(BeardType::None); |
|
|
|
|
|
SetMustacheY(static_cast<u8>(axis_y + 10)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const auto glasses_type_start{MiiUtil::GetRandomValue<std::size_t>(100)}; |
|
|
const auto glasses_type_start{MiiUtil::GetRandomValue<std::size_t>(100)}; |
|
|
@ -178,15 +175,14 @@ void CoreData::BuildRandom(Age age, Gender gender, Race race) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
data.glasses_type.Assign(glasses_type); |
|
|
|
|
|
data.glasses_color.Assign(RawData::GetGlassColorFromVer3(0)); |
|
|
|
|
|
data.glasses_scale.Assign(4); |
|
|
|
|
|
data.glasses_y.Assign(axis_y + 10); |
|
|
|
|
|
|
|
|
SetGlassType(static_cast<GlassType>(glasses_type)); |
|
|
|
|
|
SetGlassColor(RawData::GetGlassColorFromVer3(0)); |
|
|
|
|
|
SetGlassScale(4); |
|
|
|
|
|
|
|
|
data.mole_type.Assign(0); |
|
|
|
|
|
data.mole_scale.Assign(4); |
|
|
|
|
|
data.mole_x.Assign(2); |
|
|
|
|
|
data.mole_y.Assign(20); |
|
|
|
|
|
|
|
|
SetMoleType(MoleType::None); |
|
|
|
|
|
SetMoleScale(4); |
|
|
|
|
|
SetMoleX(2); |
|
|
|
|
|
SetMoleY(20); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u32 CoreData::IsValid() const { |
|
|
u32 CoreData::IsValid() const { |
|
|
@ -195,15 +191,15 @@ u32 CoreData::IsValid() const { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetFontRegion(FontRegion value) { |
|
|
void CoreData::SetFontRegion(FontRegion value) { |
|
|
data.font_region.Assign(value); |
|
|
|
|
|
|
|
|
data.font_region.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetFavoriteColor(u8 value) { |
|
|
|
|
|
data.favorite_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetFavoriteColor(FavoriteColor value) { |
|
|
|
|
|
data.favorite_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetGender(Gender value) { |
|
|
void CoreData::SetGender(Gender value) { |
|
|
data.gender.Assign(value); |
|
|
|
|
|
|
|
|
data.gender.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetHeight(u8 value) { |
|
|
void CoreData::SetHeight(u8 value) { |
|
|
@ -222,40 +218,40 @@ void CoreData::SetRegionMove(u8 value) { |
|
|
data.region_move.Assign(value); |
|
|
data.region_move.Assign(value); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineType(u8 value) { |
|
|
|
|
|
data.faceline_type.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineType(FacelineType value) { |
|
|
|
|
|
data.faceline_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineColor(u8 value) { |
|
|
|
|
|
data.faceline_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineColor(FacelineColor value) { |
|
|
|
|
|
data.faceline_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineWrinkle(u8 value) { |
|
|
|
|
|
data.faceline_wrinkle.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineWrinkle(FacelineWrinkle value) { |
|
|
|
|
|
data.faceline_wrinkle.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineMake(u8 value) { |
|
|
|
|
|
data.faceline_makeup.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetFacelineMake(FacelineMake value) { |
|
|
|
|
|
data.faceline_makeup.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetHairType(u8 value) { |
|
|
|
|
|
data.hair_type.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetHairType(HairType value) { |
|
|
|
|
|
data.hair_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetHairColor(u8 value) { |
|
|
|
|
|
data.hair_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetHairColor(CommonColor value) { |
|
|
|
|
|
data.hair_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetHairFlip(HairFlip value) { |
|
|
void CoreData::SetHairFlip(HairFlip value) { |
|
|
data.hair_flip.Assign(value); |
|
|
|
|
|
|
|
|
data.hair_flip.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetEyeType(u8 value) { |
|
|
|
|
|
data.eye_type.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetEyeType(EyeType value) { |
|
|
|
|
|
data.eye_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetEyeColor(u8 value) { |
|
|
|
|
|
data.eye_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetEyeColor(CommonColor value) { |
|
|
|
|
|
data.eye_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetEyeScale(u8 value) { |
|
|
void CoreData::SetEyeScale(u8 value) { |
|
|
@ -278,12 +274,12 @@ void CoreData::SetEyeY(u8 value) { |
|
|
data.eye_y.Assign(value); |
|
|
data.eye_y.Assign(value); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetEyebrowType(u8 value) { |
|
|
|
|
|
data.eyebrow_type.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetEyebrowType(EyebrowType value) { |
|
|
|
|
|
data.eyebrow_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetEyebrowColor(u8 value) { |
|
|
|
|
|
data.eyebrow_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetEyebrowColor(CommonColor value) { |
|
|
|
|
|
data.eyebrow_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetEyebrowScale(u8 value) { |
|
|
void CoreData::SetEyebrowScale(u8 value) { |
|
|
@ -306,8 +302,8 @@ void CoreData::SetEyebrowY(u8 value) { |
|
|
data.eyebrow_y.Assign(value); |
|
|
data.eyebrow_y.Assign(value); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetNoseType(u8 value) { |
|
|
|
|
|
data.nose_type.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetNoseType(NoseType value) { |
|
|
|
|
|
data.nose_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetNoseScale(u8 value) { |
|
|
void CoreData::SetNoseScale(u8 value) { |
|
|
@ -322,8 +318,8 @@ void CoreData::SetMouthType(u8 value) { |
|
|
data.mouth_type.Assign(value); |
|
|
data.mouth_type.Assign(value); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetMouthColor(u8 value) { |
|
|
|
|
|
data.mouth_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetMouthColor(CommonColor value) { |
|
|
|
|
|
data.mouth_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetMouthScale(u8 value) { |
|
|
void CoreData::SetMouthScale(u8 value) { |
|
|
@ -338,16 +334,16 @@ void CoreData::SetMouthY(u8 value) { |
|
|
data.mouth_y.Assign(value); |
|
|
data.mouth_y.Assign(value); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetBeardColor(u8 value) { |
|
|
|
|
|
data.beard_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetBeardColor(CommonColor value) { |
|
|
|
|
|
data.beard_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetBeardType(BeardType value) { |
|
|
void CoreData::SetBeardType(BeardType value) { |
|
|
data.beard_type.Assign(value); |
|
|
|
|
|
|
|
|
data.beard_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetMustacheType(MustacheType value) { |
|
|
void CoreData::SetMustacheType(MustacheType value) { |
|
|
data.mustache_type.Assign(value); |
|
|
|
|
|
|
|
|
data.mustache_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetMustacheScale(u8 value) { |
|
|
void CoreData::SetMustacheScale(u8 value) { |
|
|
@ -358,12 +354,12 @@ void CoreData::SetMustacheY(u8 value) { |
|
|
data.mustache_y.Assign(value); |
|
|
data.mustache_y.Assign(value); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetGlassType(u8 value) { |
|
|
|
|
|
data.glasses_type.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetGlassType(GlassType value) { |
|
|
|
|
|
data.glasses_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetGlassColor(u8 value) { |
|
|
|
|
|
data.glasses_color.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetGlassColor(CommonColor value) { |
|
|
|
|
|
data.glasses_color.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetGlassScale(u8 value) { |
|
|
void CoreData::SetGlassScale(u8 value) { |
|
|
@ -374,8 +370,8 @@ void CoreData::SetGlassY(u8 value) { |
|
|
data.glasses_y.Assign(value); |
|
|
data.glasses_y.Assign(value); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetMoleType(u8 value) { |
|
|
|
|
|
data.mole_type.Assign(value); |
|
|
|
|
|
|
|
|
void CoreData::SetMoleType(MoleType value) { |
|
|
|
|
|
data.mole_type.Assign(static_cast<u32>(value)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void CoreData::SetMoleScale(u8 value) { |
|
|
void CoreData::SetMoleScale(u8 value) { |
|
|
@ -394,16 +390,16 @@ void CoreData::SetNickname(Nickname nickname) { |
|
|
name = nickname; |
|
|
name = nickname; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetFontRegion() const { |
|
|
|
|
|
return static_cast<u8>(data.font_region.Value()); |
|
|
|
|
|
|
|
|
FontRegion CoreData::GetFontRegion() const { |
|
|
|
|
|
return static_cast<FontRegion>(data.font_region.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetFavoriteColor() const { |
|
|
|
|
|
return static_cast<u8>(data.favorite_color.Value()); |
|
|
|
|
|
|
|
|
FavoriteColor CoreData::GetFavoriteColor() const { |
|
|
|
|
|
return static_cast<FavoriteColor>(data.favorite_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetGender() const { |
|
|
|
|
|
return static_cast<u8>(data.gender.Value()); |
|
|
|
|
|
|
|
|
Gender CoreData::GetGender() const { |
|
|
|
|
|
return static_cast<Gender>(data.gender.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetHeight() const { |
|
|
u8 CoreData::GetHeight() const { |
|
|
@ -422,40 +418,40 @@ u8 CoreData::GetRegionMove() const { |
|
|
return static_cast<u8>(data.region_move.Value()); |
|
|
return static_cast<u8>(data.region_move.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetFacelineType() const { |
|
|
|
|
|
return static_cast<u8>(data.faceline_type.Value()); |
|
|
|
|
|
|
|
|
FacelineType CoreData::GetFacelineType() const { |
|
|
|
|
|
return static_cast<FacelineType>(data.faceline_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetFacelineColor() const { |
|
|
|
|
|
return static_cast<u8>(data.faceline_color.Value()); |
|
|
|
|
|
|
|
|
FacelineColor CoreData::GetFacelineColor() const { |
|
|
|
|
|
return static_cast<FacelineColor>(data.faceline_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetFacelineWrinkle() const { |
|
|
|
|
|
return static_cast<u8>(data.faceline_wrinkle.Value()); |
|
|
|
|
|
|
|
|
FacelineWrinkle CoreData::GetFacelineWrinkle() const { |
|
|
|
|
|
return static_cast<FacelineWrinkle>(data.faceline_wrinkle.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetFacelineMake() const { |
|
|
|
|
|
return static_cast<u8>(data.faceline_makeup.Value()); |
|
|
|
|
|
|
|
|
FacelineMake CoreData::GetFacelineMake() const { |
|
|
|
|
|
return static_cast<FacelineMake>(data.faceline_makeup.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetHairType() const { |
|
|
|
|
|
return static_cast<u8>(data.hair_type.Value()); |
|
|
|
|
|
|
|
|
HairType CoreData::GetHairType() const { |
|
|
|
|
|
return static_cast<HairType>(data.hair_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetHairColor() const { |
|
|
|
|
|
return static_cast<u8>(data.hair_color.Value()); |
|
|
|
|
|
|
|
|
CommonColor CoreData::GetHairColor() const { |
|
|
|
|
|
return static_cast<CommonColor>(data.hair_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetHairFlip() const { |
|
|
|
|
|
return static_cast<u8>(data.hair_flip.Value()); |
|
|
|
|
|
|
|
|
HairFlip CoreData::GetHairFlip() const { |
|
|
|
|
|
return static_cast<HairFlip>(data.hair_flip.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetEyeType() const { |
|
|
|
|
|
return static_cast<u8>(data.eye_type.Value()); |
|
|
|
|
|
|
|
|
EyeType CoreData::GetEyeType() const { |
|
|
|
|
|
return static_cast<EyeType>(data.eye_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetEyeColor() const { |
|
|
|
|
|
return static_cast<u8>(data.eye_color.Value()); |
|
|
|
|
|
|
|
|
CommonColor CoreData::GetEyeColor() const { |
|
|
|
|
|
return static_cast<CommonColor>(data.eye_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetEyeScale() const { |
|
|
u8 CoreData::GetEyeScale() const { |
|
|
@ -478,12 +474,12 @@ u8 CoreData::GetEyeY() const { |
|
|
return static_cast<u8>(data.eye_y.Value()); |
|
|
return static_cast<u8>(data.eye_y.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetEyebrowType() const { |
|
|
|
|
|
return static_cast<u8>(data.eyebrow_type.Value()); |
|
|
|
|
|
|
|
|
EyebrowType CoreData::GetEyebrowType() const { |
|
|
|
|
|
return static_cast<EyebrowType>(data.eyebrow_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetEyebrowColor() const { |
|
|
|
|
|
return static_cast<u8>(data.eyebrow_color.Value()); |
|
|
|
|
|
|
|
|
CommonColor CoreData::GetEyebrowColor() const { |
|
|
|
|
|
return static_cast<CommonColor>(data.eyebrow_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetEyebrowScale() const { |
|
|
u8 CoreData::GetEyebrowScale() const { |
|
|
@ -506,8 +502,8 @@ u8 CoreData::GetEyebrowY() const { |
|
|
return static_cast<u8>(data.eyebrow_y.Value()); |
|
|
return static_cast<u8>(data.eyebrow_y.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetNoseType() const { |
|
|
|
|
|
return static_cast<u8>(data.nose_type.Value()); |
|
|
|
|
|
|
|
|
NoseType CoreData::GetNoseType() const { |
|
|
|
|
|
return static_cast<NoseType>(data.nose_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetNoseScale() const { |
|
|
u8 CoreData::GetNoseScale() const { |
|
|
@ -518,12 +514,12 @@ u8 CoreData::GetNoseY() const { |
|
|
return static_cast<u8>(data.nose_y.Value()); |
|
|
return static_cast<u8>(data.nose_y.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetMouthType() const { |
|
|
|
|
|
return static_cast<u8>(data.mouth_type.Value()); |
|
|
|
|
|
|
|
|
MouthType CoreData::GetMouthType() const { |
|
|
|
|
|
return static_cast<MouthType>(data.mouth_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetMouthColor() const { |
|
|
|
|
|
return static_cast<u8>(data.mouth_color.Value()); |
|
|
|
|
|
|
|
|
CommonColor CoreData::GetMouthColor() const { |
|
|
|
|
|
return static_cast<CommonColor>(data.mouth_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetMouthScale() const { |
|
|
u8 CoreData::GetMouthScale() const { |
|
|
@ -538,16 +534,16 @@ u8 CoreData::GetMouthY() const { |
|
|
return static_cast<u8>(data.mouth_y.Value()); |
|
|
return static_cast<u8>(data.mouth_y.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetBeardColor() const { |
|
|
|
|
|
return static_cast<u8>(data.beard_color.Value()); |
|
|
|
|
|
|
|
|
CommonColor CoreData::GetBeardColor() const { |
|
|
|
|
|
return static_cast<CommonColor>(data.beard_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetBeardType() const { |
|
|
|
|
|
return static_cast<u8>(data.beard_type.Value()); |
|
|
|
|
|
|
|
|
BeardType CoreData::GetBeardType() const { |
|
|
|
|
|
return static_cast<BeardType>(data.beard_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetMustacheType() const { |
|
|
|
|
|
return static_cast<u8>(data.mustache_type.Value()); |
|
|
|
|
|
|
|
|
MustacheType CoreData::GetMustacheType() const { |
|
|
|
|
|
return static_cast<MustacheType>(data.mustache_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetMustacheScale() const { |
|
|
u8 CoreData::GetMustacheScale() const { |
|
|
@ -558,12 +554,12 @@ u8 CoreData::GetMustacheY() const { |
|
|
return static_cast<u8>(data.mustache_y.Value()); |
|
|
return static_cast<u8>(data.mustache_y.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetGlassType() const { |
|
|
|
|
|
return static_cast<u8>(data.glasses_type.Value()); |
|
|
|
|
|
|
|
|
GlassType CoreData::GetGlassType() const { |
|
|
|
|
|
return static_cast<GlassType>(data.glasses_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetGlassColor() const { |
|
|
|
|
|
return static_cast<u8>(data.glasses_color.Value()); |
|
|
|
|
|
|
|
|
CommonColor CoreData::GetGlassColor() const { |
|
|
|
|
|
return static_cast<CommonColor>(data.glasses_color.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetGlassScale() const { |
|
|
u8 CoreData::GetGlassScale() const { |
|
|
@ -574,8 +570,8 @@ u8 CoreData::GetGlassY() const { |
|
|
return static_cast<u8>(data.glasses_y.Value()); |
|
|
return static_cast<u8>(data.glasses_y.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetMoleType() const { |
|
|
|
|
|
return static_cast<u8>(data.mole_type.Value()); |
|
|
|
|
|
|
|
|
MoleType CoreData::GetMoleType() const { |
|
|
|
|
|
return static_cast<MoleType>(data.mole_type.Value()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
u8 CoreData::GetMoleScale() const { |
|
|
u8 CoreData::GetMoleScale() const { |
|
|
@ -599,7 +595,7 @@ Nickname CoreData::GetDefaultNickname() const { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
Nickname CoreData::GetInvalidNickname() const { |
|
|
Nickname CoreData::GetInvalidNickname() const { |
|
|
return {u'?', u'?', u' ', u'?'}; |
|
|
|
|
|
|
|
|
return {u'?', u'?', u'?'}; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} // namespace Service::Mii
|
|
|
} // namespace Service::Mii
|