The Find Mii stage in Wii Play bears the identifier "RPWlyScene".
The scene's common archive contains the following ExcelBin (ver. 1) files:
This file contains configurations for each Find Mii level in 1-player mode. Each level consists of the following structure:
| Offset | Type | Name | Notes |
|---|---|---|---|
| 0x0000 | uint32 | miiNum | The number of Miis to place around the level. |
| 0x0004 | uint32 | behavior | How the Miis will act. See the RPWlyBehavior enum to see a list of the expected values. |
| 0x0008 | uint32 | goal | The goal/objective of the level. See the RPWlyGoal enum to see a list of the expected values. |
| 0x000C | uint32 | field | The field model to use for the level. See the RPWlyField enum to see a list of the expected values. |
| 0x0010 | float | zoomMin | The minimum zoom Z-coordinate for the level. The zoom control is mapped from a [0, 1] range
to the specified minimum/maximum values. If both zoom values are the same, zoom is disabled. |
| 0x0014 | float | zoomMax | The maximum zoom Z-coordinate for the level. The zoom control is mapped from a [0, 1] range
to the specified minimum/maximum values. If both zoom values are the same, zoom is disabled. |
| 0x0018 | float | baseZ | The base Z-coordinate at which the Miis will spawn. |
| 0x001C | float | width | The width (X-axis) of the level boundaries. Behaviors that cause Miis to move will snap to
these boundaries. This value is automatically scaled for widescreen displays. |
| 0x0020 | float | height | The height (Z-axis) of the level boundaries. Behaviors that cause Miis to move will snap to
these boundaries. This value is locked to 6.25 on the Tennis field. |
| 0x0024 | float | darkZ | The Z-coordinate at which the darkness plane for spotlight levels will be placed. If zero, the spotlight is disabled. |
| 0x0028 | float | hoverScale | The scale to apply to the Mii head currently being hovered over. |
| 0x002C | Vector3f | spotLightScale | The scale to apply to the ground spotlight. |
| 0x0038 | Vector2f | spotLightOffset | The offset from the cursor to apply to the ground spotlight. |
| 0x0040 | N/A | Total size | N/A |
C++ data structure:
struct RPWlyLevelInfo {
/* 0x00 */ u32 miiNum;
/* 0x04 */ u32 behavior;
/* 0x08 */ u32 goal;
/* 0x0C */ u32 field;
/* 0x10 */ f32 zoomMin;
/* 0x14 */ f32 zoomMax;
/* 0x18 */ f32 baseZ;
/* 0x1C */ f32 width;
/* 0x20 */ f32 height;
/* 0x24 */ f32 darkZ;
/* 0x28 */ f32 hoverScale;
/* 0x2C */ EGG::Vector3f spotLightScale;
/* 0x38 */ EGG::Vector2f spotLightOffset;
};
The number of levels is calculated dynamically by dividing the file size by the size of one RPWlyLevelInfo, so in theory it may be extended well beyond the original
size.
This file contains configurations for each Find Mii level in 2-player mode. This file uses the same structure as the 1-player variant.
| Value | Name | Notes |
|---|---|---|
| 0x0000 | RP_WLY_BHV_IDLE | All Miis stand idle. |
| 0x0001 | RP_WLY_BHV_LOOK | All Miis randomly turn their heads to look around. |
| 0x0002 | RP_WLY_BHV_WALK | All Miis walk towards the camera. |
| 0x0003 | RP_WLY_BHV_RNDLOOK | All Miis spawn in random positions, and randomly turn their heads to look around. |
| 0x0004 | RP_WLY_BHV_RNDWALK | All Miis spawn in random positions, and walk in random directions. |
| 0x0005 | RP_WLY_BHV_SPACE | All Miis float in the air. |
| 0x0006 | RP_WLY_BHV_GROUPWALK | All Miis walk together as a group, with some Mii(s) taking steps in a different order. |
| 0x0007 | RP_WLY_BHV_GROUPJOG | All Miis jog together as a group, with some Mii(s) taking steps in a different order. |
C++ enumeration:
enum RPWlyBehavior {
/* 0x0000 */ RP_WLY_BHV_IDLE,
/* 0x0001 */ RP_WLY_BHV_LOOK,
/* 0x0002 */ RP_WLY_BHV_WALK,
/* 0x0003 */ RP_WLY_BHV_RNDLOOK,
/* 0x0004 */ RP_WLY_BHV_RNDWALK,
/* 0x0005 */ RP_WLY_BHV_SPACE,
/* 0x0006 */ RP_WLY_BHV_GROUPWALK,
/* 0x0007 */ RP_WLY_BHV_GROUPJOG,
/* 0x0008 */ RP_WLY_BHV_MAX
};
| Value | Name | Notes |
|---|---|---|
| 0x0000 | RP_WLY_GOAL_THISMII_NODB | The player must find a randomly chosen Mii.
This value replaces instances of RP_WLY_GOAL_THISMII at
runtime to signal that the official DB (Mii Plaza) is empty, causing the target Mii to
instead be created from random parts.
|
| 0x0001 | RP_WLY_GOAL_ALIKE_2 | The player must find two look-alikes. |
| 0x0002 | RP_WLY_GOAL_ALIKE_3 | The player must find three look-alikes. |
| 0x0003 | RP_WLY_GOAL_ALIKE_4 | The player must find four look-alikes. |
| 0x0004 | RP_WLY_GOAL_ALIKE_5 | The player must find five look-alikes. |
| 0x0005 | RP_WLY_GOAL_ODDFACE | The player must find the odd Mii out, who will face the wrong direction. This goal is unused and has a blank text entry in the BMG. |
| 0x0006 | RP_WLY_GOAL_PICKFAVORITE | The player must pick their favorite Mii. |
| 0x0007 | RP_WLY_GOAL_FINDFAVORITE | The player must find their previously chosen favorite Mii. |
| 0x0008 | RP_WLY_GOAL_THISMII | The player must find a randomly chosen Mii. |
| 0x0009 | RP_WLY_GOAL_ODDLOOK_1 | The player must find the odd Mii out, who will turn to look in the wrong direction. |
| 0x000A | RP_WLY_GOAL_ODDLOOK_2 | The player must find the two odd Miis out, who will turn to look in the wrong direction. |
| 0x000B | RP_WLY_GOAL_ODDLOOK_3 | The player must find the three odd Miis out, who will turn to look in the wrong direction. |
| 0x000C | RP_WLY_GOAL_FASTEST_EASY | The player must find the fastest Mii (slow speed). |
| 0x000D | RP_WLY_GOAL_FASTEST_HARD | The player must find the fastest Mii (high speed). |
| 0x000E | RP_WLY_GOAL_SLEEPYHEAD_1 | The player must find the sleeping Mii. |
| 0x000F | RP_WLY_GOAL_SLEEPYHEAD_2 | The player must find the two sleeping Miis. |
| 0x0010 | RP_WLY_GOAL_SLEEPYHEAD_3 | The player must find the three sleeping Miis. |
| 0x0011 | RP_WLY_GOAL_INSOMNIAC_1 | The player must find the awake Mii. |
| 0x0012 | RP_WLY_GOAL_INSOMNIAC_2 | The player must find the two awake Miis. |
| 0x0013 | RP_WLY_GOAL_INSOMNIAC_3 | The player must find the three awake Miis. |
| 0x0014 | RP_WLY_GOAL_ODDWALK | The player must find the odd Mii out, who will take steps in the wrong order. |
| 0x0015 | RP_WLY_GOAL_YOURMII | The player must find their own Mii. |
| 0x0016 | RP_WLY_GOAL_YOURMIIS | Both players must find their own Miis. |
C++ enumeration:
enum RPWlyGoal {
/* 0x0000 */ RP_WLY_GOAL_THISMII_NODB,
/* 0x0001 */ RP_WLY_GOAL_ALIKE_2,
/* 0x0002 */ RP_WLY_GOAL_ALIKE_3,
/* 0x0003 */ RP_WLY_GOAL_ALIKE_4,
/* 0x0004 */ RP_WLY_GOAL_ALIKE_5,
/* 0x0005 */ RP_WLY_GOAL_ODDFACE,
/* 0x0006 */ RP_WLY_GOAL_PICKFAVORITE,
/* 0x0007 */ RP_WLY_GOAL_FINDFAVORITE,
/* 0x0008 */ RP_WLY_GOAL_THISMII,
/* 0x0009 */ RP_WLY_GOAL_ODDLOOK_1,
/* 0x000A */ RP_WLY_GOAL_ODDLOOK_2,
/* 0x000B */ RP_WLY_GOAL_ODDLOOK_3,
/* 0x000C */ RP_WLY_GOAL_FASTEST_EASY,
/* 0x000D */ RP_WLY_GOAL_FASTEST_HARD,
/* 0x000E */ RP_WLY_GOAL_SLEEPYHEAD_1,
/* 0x000F */ RP_WLY_GOAL_SLEEPYHEAD_2,
/* 0x0010 */ RP_WLY_GOAL_SLEEPYHEAD_3,
/* 0x0011 */ RP_WLY_GOAL_INSOMNIAC_1,
/* 0x0012 */ RP_WLY_GOAL_INSOMNIAC_2,
/* 0x0013 */ RP_WLY_GOAL_INSOMNIAC_3,
/* 0x0014 */ RP_WLY_GOAL_ODDWALK,
/* 0x0015 */ RP_WLY_GOAL_YOURMII,
/* 0x0016 */ RP_WLY_GOAL_YOURMIIS,
/* 0x0017 */ RP_WLY_GOAL_MAX
};
| Value | Name | Notes |
|---|---|---|
| 0x0000 | RP_WLY_FLD_CROSSROAD | wtd_field01 (crossroads) |
| 0x0001 | RP_WLY_FLD_WATER | wtd_field02 (water) |
| 0x0002 | RP_WLY_FLD_SPACE | wtd_field03 (space) |
| 0x0003 | RP_WLY_FLD_TENNIS | wtd_field04 (tennis court) |
| 0x0004 | RP_WLY_FLD_ESCALATOR | wtd_field05 (escalators) |
C++ enumeration:
enum RPWlyField {
/* 0x0000 */ RP_WLY_FLD_CROSSROAD,
/* 0x0001 */ RP_WLY_FLD_WATER,
/* 0x0002 */ RP_WLY_FLD_SPACE,
/* 0x0003 */ RP_WLY_FLD_TENNIS,
/* 0x0004 */ RP_WLY_FLD_ESCALATOR,
/* 0x0005 */ RP_WLY_FLD_MAX
};