8. Mii

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 台を用意し、以下の手順で確認することができます。

  1. 本体 A と本体 B の間でフレンド関係を構築する。
  2. Miiスタジオを利用して、本体 A に本体 B の Mii を送る。
  3. 本体 B で Miiスタジオを起動し、「じぶんの Mii」の外見を変更する。
  4. 本体 A のフレンドリストで、本体 B の Mii の外見が変更されたものであることを確認する。
  5. 本体 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