Ninjaライブラリ - 構造体

NJS_TEXNAME

テクスチャの名称を設定

定義

typedef struct { 
        void    *filename; 
        Uint32  attr; 
        Uint32  texaddr; 
} NJS_TEXNAME; 

メンバ

*filename   ファイル名
attr   アトリビュート
texaddr   テクスチャアドレス

解説

登録するテクスチャのファイル名、アトリビュート、グローバルインデックスを設定する構造体です。 メンバ*filenameは、ファイルテクスチャの場合ファイル名が入りますが、メモリテクスチャの場合NJS_TEXINFO構造体のアドレスが入ります。

アトリビュートを示すメンバattrの各ビットは次の意味をもちます。

 31   0:キャッシュテクスチャ非登録/1:キャッシュテクスチャ登録 
 30   0:ファイルからテクスチャロード/1:メモリからテクスチャロード 
 29   0:テクスチャメモリのみ登録/1:キャッシュ、テクスチャメモリの両方に登録 
 28〜25   予約領域 
 24   1:パレットグローバルインデックスフラグ 
 23   1:グローバルインデックスフラグ 
 22〜21   予約領域 
 16   テクスチャコンティニューフラグ 
 15〜0   PVMエントリID保存に使用 

具体的には次のようになります。


・テクスチャメモリにのみロードする場合は31,29ビットを0にする。
・キャッシュメモリにのみロードする場合は31ビットを1にする。
・キャッシュ、テクスチャメモリの両方にロードする場合には 29ビットを1にする。

メンバtexaddrは、テクスチャロード時にテクスチャアトリビュートにグローバルインデックスフラグ、またはパレットグローバルインデックスフラグを指定する場合、グローバルインデックス値、パレットバンク値が入ります。 通常、njSetTextureName関数でセットされます。 テクスチャロード後はNJS_TEXMEMLIST構造体へのアドレスが設定されます。 グローバルインデックスフラグ、パレットグローバルインデックス使用時に、テクスチャリリース後にもう一度テクスチャをロードするような場合は、グローバルインデックス値を再度設定する必要があります。


参照

njSetPvmTextureList()
njSetTextureName()

NJS_TEXNAME
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999