diff --git a/src/components/tutorial/switch-submit.tsx b/src/components/tutorial/switch-submit.tsx
index 7f0d863..1e7fbff 100644
--- a/src/components/tutorial/switch-submit.tsx
+++ b/src/components/tutorial/switch-submit.tsx
@@ -29,11 +29,11 @@ export default function SubmitTutorialButton() {
imageSrc: "/tutorial/switch/submitting/step2.jpg",
},
{
- text: "3. Press Y to open the parts list, take a screenshot then upload to this submit form",
+ text: "3. Press Y to open the features list, then take a screenshot and upload to this submit form",
imageSrc: "/tutorial/switch/submitting/step3.jpg",
},
{
- text: "4. Adding Mii colors and settings is recommended. All instructions are optional; for values like height or distance, use the number of button clicks (positive for up/left, negative for down/right)",
+ text: "4. Adding Mii colors and settings is recommended. All instructions are optional; for values like height or distance, use the number of button clicks (positive for buttons on right, negative for buttons on left)",
imageSrc: "/tutorial/switch/step4.jpg",
},
{ type: "finish" },
diff --git a/src/lib/images.tsx b/src/lib/images.tsx
index 55fcca1..c14938f 100644
--- a/src/lib/images.tsx
+++ b/src/lib/images.tsx
@@ -181,7 +181,7 @@ export async function generateMetadataImage(mii: Mii, author: string): Promise<{
) : (
Switch Guide
-
You need to manually create the Mii, visit site for instructions.
+
To fully create the Mii, visit the site for instructions.
View Steps
diff --git a/src/lib/schemas.ts b/src/lib/schemas.ts
index 26d20cd..c65a20c 100644
--- a/src/lib/schemas.ts
+++ b/src/lib/schemas.ts
@@ -83,17 +83,14 @@ export const userNameSchema = z
error: "Name can only contain letters, numbers, dashes, underscores, apostrophes, and spaces.",
});
-const colorSchema = z.number().int().min(0).max(107).optional();
+const colorSchema = z.number().int().min(0).max(152).optional();
const geometrySchema = z.number().int().min(-10).max(10).optional();
export const switchMiiInstructionsSchema = z
.object({
- head: z.object({ type: z.number().int().min(0).max(15).optional(), skinColor: z.number().int().min(0).max(121).optional() }).optional(),
+ head: z.object({ skinColor: colorSchema }).optional(),
hair: z
.object({
- setType: z.number().int().min(0).max(244).optional(),
- bangsType: z.number().int().min(0).max(82).optional(),
- backType: z.number().int().min(0).max(110).optional(),
color: colorSchema,
subColor: colorSchema,
style: z.number().int().min(1).max(3).optional(),
@@ -102,7 +99,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
eyebrows: z
.object({
- type: z.number().int().min(0).max(42).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -115,7 +111,6 @@ export const switchMiiInstructionsSchema = z
.object({
main: z
.object({
- type: z.number().int().min(0).max(120).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -126,7 +121,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
eyelashesTop: z
.object({
- type: z.number().int().min(0).max(5).optional(),
height: geometrySchema,
distance: geometrySchema,
rotation: geometrySchema,
@@ -136,7 +130,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
eyelashesBottom: z
.object({
- type: z.number().int().min(0).max(1).optional(),
height: geometrySchema,
distance: geometrySchema,
rotation: geometrySchema,
@@ -146,7 +139,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
eyelidTop: z
.object({
- type: z.number().int().min(0).max(2).optional(),
height: geometrySchema,
distance: geometrySchema,
rotation: geometrySchema,
@@ -156,7 +148,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
eyelidBottom: z
.object({
- type: z.number().int().min(0).max(2).optional(),
height: geometrySchema,
distance: geometrySchema,
rotation: geometrySchema,
@@ -166,13 +157,11 @@ export const switchMiiInstructionsSchema = z
.optional(),
eyeliner: z
.object({
- type: z.number().int().min(0).max(1).optional(),
color: colorSchema,
})
.optional(),
pupil: z
.object({
- type: z.number().int().min(0).max(9).optional(),
height: geometrySchema,
distance: geometrySchema,
rotation: geometrySchema,
@@ -184,14 +173,12 @@ export const switchMiiInstructionsSchema = z
.optional(),
nose: z
.object({
- type: z.number().int().min(0).max(31).optional(),
height: geometrySchema,
size: geometrySchema,
})
.optional(),
lips: z
.object({
- type: z.number().int().min(0).max(52).optional(),
color: colorSchema,
height: geometrySchema,
rotation: geometrySchema,
@@ -202,14 +189,12 @@ export const switchMiiInstructionsSchema = z
.optional(),
ears: z
.object({
- type: z.number().int().min(0).max(4).optional(),
height: geometrySchema,
size: geometrySchema,
})
.optional(),
glasses: z
.object({
- type: z.number().int().min(0).max(57).optional(),
ringColor: colorSchema,
shadesColor: colorSchema,
height: geometrySchema,
@@ -221,7 +206,6 @@ export const switchMiiInstructionsSchema = z
.object({
wrinkles1: z
.object({
- type: z.number().int().min(0).max(8).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -231,7 +215,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
wrinkles2: z
.object({
- type: z.number().int().min(0).max(14).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -241,7 +224,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
beard: z
.object({
- type: z.number().int().min(0).max(14).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -251,17 +233,16 @@ export const switchMiiInstructionsSchema = z
.optional(),
moustache: z
.object({
- type: z.number().int().min(0).max(15).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
size: geometrySchema,
stretch: geometrySchema,
+ isFlipped: z.boolean().optional(),
})
.optional(),
goatee: z
.object({
- type: z.number().int().min(0).max(13).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -271,7 +252,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
mole: z
.object({
- type: z.number().int().min(0).max(1).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -281,7 +261,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
eyeShadow: z
.object({
- type: z.number().int().min(0).max(3).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
@@ -291,7 +270,6 @@ export const switchMiiInstructionsSchema = z
.optional(),
blush: z
.object({
- type: z.number().int().min(0).max(7).optional(),
color: colorSchema,
height: geometrySchema,
distance: geometrySchema,
diff --git a/src/lib/switch.ts b/src/lib/switch.ts
index 647fadf..81210cc 100644
--- a/src/lib/switch.ts
+++ b/src/lib/switch.ts
@@ -118,7 +118,7 @@ export const COLORS: string[] = [
"2B1B3F",
"7B2D2D",
"8B3A0E",
- // Head tab extra colors
+ // Hair tab extra colors
"FFD8BA",
"FFD5AC",
"FEC1A4",
@@ -133,4 +133,33 @@ export const COLORS: string[] = [
"59371F",
"662D16",
"392D1E",
+ // Eye tab extra colors
+ "000100",
+ "6B6F6E",
+ "663F2D",
+ "605F34",
+ "3B6F59",
+ "4856A6",
+ // Lips tab extra colors
+ "D65413",
+ "F21415",
+ "F54A4A",
+ "EE9670",
+ "8A4E40",
+ // Glasses tab extra colors
+ "000000",
+ "776F66",
+ "603915",
+ "A65F00",
+ "A61615",
+ "273465",
+ // Eye shade extra colors
+ "A54E21",
+ "653E2C",
+ "EC946F",
+ "FC9414",
+ "F97595",
+ "F54A4A",
+ "86E1B0",
+ "6E44B0",
];