typedef struct { void *filename; Uint32 attr; Uint32 texaddr; } NJS_TEXNAME;
*filename | ファイル名 |
attr | アトリビュート |
texaddr | テクスチャアドレス |
アトリビュートを示すメンバ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構造体へのアドレスが設定されます。 グローバルインデックスフラグ、パレットグローバルインデックス使用時に、テクスチャリリース後にもう一度テクスチャをロードするような場合は、グローバルインデックス値を再度設定する必要があります。