NEX3系からの変更点
NEX 4.0における、NEX3 系からの主要な変更点は以下の通りです。
NEX全般
移行にあたっての留意事項
- 文字列定義の際に、ワイドキャラクタリテラルを示す L の接頭子をつけるかどうかを決める _T マクロを、NEX_T へ名前を変更しました。
- String::GetLength() の返値など、長さやサイズを表現する際に qUnsignedInt32 や qUnsignedInt64 などの型を使用している箇所がありましたが、代わりに size_t を使用するように変更しました。 (通信フォーマットに関わる部分などでは変更されていないケースもあります。)
- この変更に伴い、以下のコールバック関数のシグネチャーが変更されます。
- 独自の zlib ライブラリが NEX に含まれていましたが、これを取り除きました。従来のように libosdk_zlib をリンクしようとするとエラーとなるためご注意ください。
- 従来は libRendezVousCommon、libParseTree、libDDLTypes へのリンクが必要でしたが、これらを取り除きました。これらをリンクしようとするとエラーとなるためご注意ください。
機能追加/変更点
- インターナルスレッドの優先度を設定・取得する関数、Core::SetInternalThreadPriority()、Core::GetInternalThreadPriority() と、 実行する CPU コアを設定・取得する関数、Core::SetInternalThreadCoreNo()、Core::GetInternalThreadCoreNo() を追加しました。
- Scheduler::SetInternalThreadDispatchInterval() において、以前はインターナルスレッドが Scheduler::Dispatch() を呼び出した後に指定した時間分スリープしていましたが、 Scheduler::Dispatch() を呼び出した時刻から指定した時間経過後に Scheduler::Dispatch() を呼び出すように変更しました。 つまり Scheduler::Dispatch() の実行に時間がかかった場合は次のスリープ時間がその分短くなります。
メッセージング
機能追加/変更点
- UserMessage::GetRecipientID() を廃止しました。代わりに UserMessage::GetRecipientPrincipalID(), UserMessage::GetRecipientGatheringID() を使用してください。
マッチメイク
機能追加/変更点
- NotificationEvent::GetParam1() NotificationEvent::GetParam2() NotificationEvent::GetParam3() で取得できる型を qUnsignedInt32 から qUnsignedInt64 に変更しました。 それに伴い、NotificationEvent::GetUInt64Param1() は廃止予定です。 NotificationEvent::GetParam1() を使用することで同じ値を取得できるようになっています。 ただし、後方互換を取っているため NEX3 系からの移行の場合 NotificationEvent::GetUInt64Param1() を引き続き使用しても問題ありません。 また、NotificationEvents::RoundStarted , NotificationEvents::FirstRoundReportReceived , NotificationEvents::RoundSummarized で取得する関数を NotificationEvent::GetUInt64Param1() から NotificationEvent::GetParam1() に変更しました。
- スコア付けによるオートマッチメイク機能のスコア換算設定の score に、負数の設定ができるようになりました。 詳細は、 スコア換算設定のセット を参照してください。
- スコア付けによるオートマッチメイク機能のスコア換算設定を用いて、参加するマッチングセッションを候補から選択する際の閾値を設定できるようになりました。 詳細は、 スコア換算設定のセット を参照してください。
- MatchmakeExtensionClient::GetPlayingSession() を非推奨とし、代わりに MatchmakeExtensionClient::FindMatchmakeSessionByParticipant() を追加しました。
- 永続ギャザリングをオーナーで検索する MatchmakeExtensionClient::FindPersistentGatheringByOwner() を追加しました。
- MatchMakingClient::FindByID() を非推奨としました。検索対象のギャザリングの種類に応じて MatchmakeExtensionClient::FindMatchmakeSessionByGatheringId() もしくは MatchmakeExtensionClient::FindPersistentGatheringByGatheringId() を利用して下さい。
- MatchMakingClient::FindByOwner() を非推奨としました。検索対象のギャザリングの種類に応じて MatchmakeExtensionClient::FindMatchmakeSessionByOwner() もしくは MatchmakeExtensionClient::FindPersistentGatheringByOwner() を利用して下さい。
- 非推奨としていた MatchmakeExtensionClient::AutoMatchmake()、MatchmakeExtensionClient::CreateMatchmakeSession()、MatchmakeExtensionClient::BrowseMatchmakeSession() の GatheringHolder を使用するオーバーロードを非公開にしました。GatheringHolder を使用しないオーバーロードを使用してください。
- GatheringID を指定して MatchmakeSession を取得できる MatchmakeExtensionClient::FindMatchmakeSessionByGatheringId() を追加しました。
- オーナーの PrincipalID を指定して MatchmakeSession を取得できる MatchmakeExtensionClient::FindMatchmakeSessionByOwner() を追加しました。
- MatchmakeExtensionClient::UpdatePrivacySetting() を非公開にしました。
- ブラックリストという名称をブロックリストに変更しました。
- ブロックリストを扱う次の関数名を変更しました。
- MatchmakeExtensionClient::GetMyBlackList() を MatchmakeExtensionClient::GetMyBlockList() に変更しました。
- MatchmakeExtensionClient::ClearBlackList() を MatchmakeExtensionClient::ClearBlockList() に変更しました。
- MatchmakeExtensionClient::AddToBlackList() を MatchmakeExtensionClient::AddToBlockList() に変更しました。
- MatchmakeExtensionClient::RemoveFromBlackList() を MatchmakeExtensionClient::RemoveFromBlockList() に変更しました。
- ブロックリストを無視するかどうかを指定するパラメータクラス MatchmakeBlockListParam を追加しました。 AutoMatchmakeParam を引数に取る MatchmakeExtensionClient::AutoMatchmake() 、 JoinMatchmakeSessionParam を引数に取る MatchmakeExtensionClient::JoinMatchmakeSession() 、 MatchmakeExtensionClient::FindMatchmakeSessionByParticipant() で使用できます。
- MATCHMAKE_SYSTEM_TYPE_FRIEND を指定するフレンドマッチ機能は廃止予定です。 代替として、本体のフレンドプレゼンス機能から現在オンラインであるフレンド一覧を取得して、MatchmakeExtensionClient::FindMatchmakeSessionByParticipant() により参加できるマッチメイクセッション一覧を取得するようにしてください。
P2P
機能追加/変更点
- NAT トラバーサル処理を高速化しました。
ドキュメント
機能追加/変更点
- 「毎フレームチェックすべき項目」の内容を見直し、「定期的にチェックすべきまたはチェックが推奨される項目」としてまとめなおしました。
- プログラミングマニュアルに RankingClient::GetRankingByPIDList()、RankingClient::GetRankingByUniqueIdList() に関する説明を追加しました。
- RankingClient::GetRankingByPIDList()、RankingClient::GetRankingByUniqueIdList() の API リファレンスの記述を詳細にしました。
- アプリケーション設定値の製品環境、ロットチェック環境へのコピーの挙動に関する記述を削除しました。これらの挙動に関しては「NEX ガイド」を参照してください。
- マッチメイクのスコア換算設定を利用する際に使用する API についての説明を改善しました。