8.1. Mii を使用するアプリケーション
Mii を使用するアプリケーションは、表データベースに Mii が 1 体も存在しない場合でも正常に進行できるようにしてください。
Mii の使用が必須であるアプリケーションは、表データベースに Mii が 1 体も存在しない場合に、以下のいずれかの対応を行ってください。
- アプリケーション開始直後に「Miiスタジオに Mii が 1 体もいません。Miiスタジオで Mii を作成してください。」などのメッセージを表示し、ユーザーを Miiスタジオに誘導した上でアプリケーションの進行を中断する。
- デフォルト Mii やランダム Mii、またはアプリケーションで用意した代替の画像を使用してアプリケーションを開始する。
この場合、「使用できる Mii がいないため、代わりの Mii を使用します。新しい Mii は Miiスタジオで作ることができます。」または「使用できる Mii がいません。新しい Mii は Miiスタジオで作ることができます。」などのメッセージを表示することを推奨します。
Mii
表データベース
Miiスタジオ
8.2. Mii に関連するデータの改変禁止
Mii に関連する、以下のデータの改変は禁止です。
- CFLStoreData
- 顔モデルのワークバッファ
- 中間データベースのワークバッファ
- パケットバッファ
- CFLNetInformation のバッファ
- CFLAdditionalInfo
- その他 CFL の構造体
Mii
CFL
改変禁止
CFLStoreData
顔モデル
中間データベース
パケットバッファ
CFLNetInformation
CFLAdditionalInfo
8.3. Mii の付加情報を使用する場合
Mii に付随する付加情報をアプリケーションで使用する場合は、以下の情報が設定されていない Mii を使用してもアプリケーションが正常に進行するようにしてください。
情報 | CFLAdditionalInfo のメンバ |
---|---|
作成者名 | creator |
うまれた月 | birthMonth |
うまれた日 | birthDay |
Mii
付加情報
CFLAdditionalInfo
8.4. 似顔絵データベースが破損していた場合の対応
CFL_InitRes 関数の呼び出し時に似顔絵データベースが破損していた場合、CFL_InitRes 関数は似顔絵データベースを自動的に初期化し、アプリケーションに CFL_RESULT_FORMATTED を返します。この場合は、ユーザーにデータベースの初期化を行ったことを伝えるために、「Miiスタジオのセーブデータが壊れていたので初期化しました。」またはこれと同等のメッセージを表示することを強く推奨します。
なお、似顔絵データベースの初期化が行われた場合、似顔絵データベースには 1 体も Mii が存在しない状態になるため、「8.1. Mii を使用するアプリケーション」に書かれている対応を行ってください。
Mii
似顔絵データベース
CFL_InitRes 関数
CFL_RESULT_FORMATTED
8.5. CFL 以外のライブラリから CFLStoreData を取得した場合の対応
friends ライブラリで取得した CFLStoreData を以下の関数に渡す場合は、必ず引数 source に CFL_DATASOURCE_STOREDATA_ALWAYS を指定してください。
- CFL_InitCharModel 関数
- CFL_MakeIcon 関数
- CFL_SetToNetPacket 関数
- CFL_GetAdditionalInfo 関数
引数 source に CFL_DATASOURCE_STOREDATA_ALWAYS ではなく CFL_DATASOURCE_STOREDATA を指定すると、アプリケーション中の Mii とフレンドリストの Mii の外見が異なっているということが起こり得ます。
また、フレンドの Mii はアプリケーションの動作中であっても HOME メニューのフレンドリストで更新や削除が行われることがあります。アプリケーションで取得したフレンドの Mii は、アプリケーションの動作中にフレンドリストから削除されても、フレンドの Mii として扱ってもかまいません。
なお、friends ライブラリを使用すると、フレンドの Mii に対する更新をアプリケーションでリアルタイムに検知することができます。フレンドの Mii が更新されたことを検知した場合は、アプリケーションで使用しているフレンドの Mii の情報を速やかに更新することを推奨します。
引数 source が正しく設定されているかどうかは、アプリケーションを動作させる本体(本体 A)ともう一台(本体 B)の 2 台を用意し、以下の手順で確認することができます。
- 本体 A と本体 B の間でフレンド関係を構築する。
- Miiスタジオを利用して、本体 A に本体 B の Mii を送る。
- 本体 B で Miiスタジオを起動し、「じぶんの Mii」の外見を変更する。
- 本体 A のフレンドリストで、本体 B の Mii の外見が変更されたものであることを確認する。
- 本体 A でアプリケーションを進め、フレンドの Mii を使用するシーンで本体 B の Mii がフレンドリストのものと同じ外見であることを確認する。
Mii
フレンド
CFLStoreData
CFL_DATASOURCE_STOREDATA_ALWAYS
CFL_DATASOURCE_STOREDATA
CFL_InitCharModel 関数
CFL_MakeIcon 関数
CFL_SetToNetPacket 関数
CFL_GetAdditionalInfo 関数
friends ライブラリ
フレンドリスト
8.6. CFL 以外のライブラリから取得したフレンドの Mii のニックネーム
friends ライブラリでは、nn::friends::CTR::GetFriendScreenName 関数によって、CFL を使用せずにフレンドの Mii のニックネームを取得することができます。この関数で取得したフレンドの Mii のニックネームは、基本的に CFL 経由で取得したものと同じです。ただし、フレンドの Mii の作者が受信拒否設定に登録されていた場合、CFL は Mii のニックネームを「Mii」に置き換えますが、friends ライブラリはこの置き換えを行いません。受信拒否設定が反映されるようにするためにも、フレンドの Mii のニックネームは CFLStoreData から CFL 経由で取得することを推奨します。
なお、Mii のフォントリージョンと CTR 本体のリージョンに応じたニックネームの置換は、nn::friends::CTR::GetFriendScreenName 関数の引数 replaceForeignCharacters を true にした場合でも行われます。
friends ライブラリ
Mii
フレンド
ニックネーム
nn::friends::CTR::GetFriendScreenName 関数
受信拒否設定
CFLStoreData