2004-09-16版又はそれ以前のバージョンとの非互換性についてのお知らせ

コールバックの非互換性

2004-10-11版ではNNS_G3dDraw関数内においてSBC1つにつき1つのコールバック関数を設定することができるようになっています(従来バージョンでは全体で1つのコールバック関数のみ)。しかしながら、そのために一部従来バージョンとの非互換性が生じています。

コールバック関係のコードがコンパイルできない場合の対処法

コールバック内でコールバック関数、コールバック生起条件を変更している場合

コールバック関数内でNNSG3dRS構造体のcbFunc, cbCmd, cbTimingメンバを変更している場合、次のようにコードを置き換えます。

  1. コールバック関数内でNNS_G3dRSResetCallBack関数を使用して現在使用しているコールバックを解除します。
  2. その後、NNS_G3dRSSetCallBack関数を使用して新たにコールバック関数や生起条件を指定します。

複数のコールバックを使用する場合

2つ目以降のコールバックは、NNS_G3dRenderObjSetCallBack関数では登録することができません。NNSG3dRenderObj構造体のサイズが必要以上に大きくならないようにするため、NNS_G3dDraw関数内で描画前にNNSG3dRS構造体の設定を行ない、コールバックを登録するようになっています。

  1. NNS_G3dRenderObjSetInitFunc関数を使用して、NNS_G3dDraw関数の実行時において描画前に実行される関数をNNSG3dRenderObj構造体に設定しておく。
  2. 設定された関数内で、NNS_G3dRSSetCallBack関数を使用してコールバック関数や生起条件を指定します。

具体的には、サンプルcallback5を参照してください。

履歴

2004/10/11 初版