GX_TrySetBankForTex

構文

#include <nitro/gx/gx_vramcnt.h>

BOOL GX_TrySetBankForTex(GXVRamTex tex);

引数

tex テクスチャイメージスロットに割り当てるVRAMバンクを指定

返り値

正常にVRAMバンクが割り当てられた場合にTRUEを返します。
割り当てようとするVRAMバンクが別ライブラリによってロックされている場合にはFALSEを返します。

説明

テクスチャイメージスロットへ指定されたVRAMバンクの割り当てを試みます。指定されたVRAMバンクがDisableになっているか、LCDCに割り当てられている場合に、そのVRAMバンクをテクスチャイメージスロットに割り当てます。
また、指定したVRAMバンクが他のライブラリによって排他ロックされている場合は割り当てに失敗します。

GX_VRAM_TEX_NONE テクスチャイメージにVRAMバンクを割り当てません。
GX_VRAM_TEX_0_A テクスチャイメージのスロット0を確保します。VRAM-Aを割り当てます。
GX_VRAM_TEX_0_B テクスチャイメージのスロット0を確保します。VRAM-Bを割り当てます。
GX_VRAM_TEX_0_C テクスチャイメージのスロット0を確保します。VRAM-Cを割り当てます。
GX_VRAM_TEX_0_D テクスチャイメージのスロット0を確保します。VRAM-Dを割り当てます。
GX_VRAM_TEX_01_AB テクスチャイメージのスロット0,1を確保します。VRAM-A,Bを割り当てます。
GX_VRAM_TEX_01_BC テクスチャイメージのスロット0,1を確保します。VRAM-B,Cを割り当てます。
GX_VRAM_TEX_01_CD テクスチャイメージのスロット0,1を確保します。VRAM-C,Dを割り当てます。
GX_VRAM_TEX_012_ABC テクスチャイメージのスロット0,1,2を確保します。VRAM-A,B,Cを割り当てます。
GX_VRAM_TEX_012_BCD テクスチャイメージのスロット0,1,2を確保します。VRAM-B,C,Dを割り当てます。
GX_VRAM_TEX_0123_ABCD テクスチャイメージのスロット0,1,2,3を確保します。VRAM-A,B,C,Dを割り当てます。
GX_VRAM_TEX_01_AC テクスチャイメージのスロット0,1を確保します。VRAM-A,Cを割り当てます。
GX_VRAM_TEX_01_AD テクスチャイメージのスロット0,1を確保します。VRAM-A,Dを割り当てます。
GX_VRAM_TEX_01_BD テクスチャイメージのスロット0,1を確保します。VRAM-B,Dを割り当てます。
GX_VRAM_TEX_012_ABD テクスチャイメージのスロット0,1,2を確保します。VRAM-A,B,Dを割り当てます。
GX_VRAM_TEX_012_ACD テクスチャイメージのスロット0,1,2を確保します。VRAM-A,C,Dを割り当てます。


以下にGXVRamTex型の型定義を示しておきます。

typedef enum
{
    GX_VRAM_TEX_NONE  = 0x0000,                               // none
    GX_VRAM_TEX_0_A   = GX_VRAM_A,                            // TextureImageSlot 0
    GX_VRAM_TEX_0_B   = GX_VRAM_B,                            // TextureImageSlot 0
    GX_VRAM_TEX_0_C   = GX_VRAM_C,                            // TextureImageSlot 0
    GX_VRAM_TEX_0_D   = GX_VRAM_D,                            // TextureImageSlot 0
    GX_VRAM_TEX_01_AB = GX_VRAM_A | GX_VRAM_B,                // TextureImageSlot 01
    GX_VRAM_TEX_01_BC = GX_VRAM_B | GX_VRAM_C,                // TextureImageSlot 01
    GX_VRAM_TEX_01_CD = GX_VRAM_C | GX_VRAM_D,                // TextureImageSlot 01
    GX_VRAM_TEX_012_ABC = GX_VRAM_A | GX_VRAM_B | GX_VRAM_C,  // TextureImageSlot 012
    GX_VRAM_TEX_012_BCD = GX_VRAM_B | GX_VRAM_C | GX_VRAM_D,  // TextureImageSlot 012
    GX_VRAM_TEX_0123_ABCD = GX_VRAM_A | GX_VRAM_B | GX_VRAM_C | GX_VRAM_D,  // TextureImageSlot 0123

    // 以下の設定の場合、LCDC上では不連続になります
    GX_VRAM_TEX_01_AC = GX_VRAM_A | GX_VRAM_C,                // TextureImageSlot 01
    GX_VRAM_TEX_01_AD = GX_VRAM_A | GX_VRAM_D,                // TextureImageSlot 01
    GX_VRAM_TEX_01_BD = GX_VRAM_B | GX_VRAM_D,                // TextureImageSlot 01
    GX_VRAM_TEX_012_ABD = GX_VRAM_A | GX_VRAM_B | GX_VRAM_D,  // TextureImageSlot 012
    GX_VRAM_TEX_012_ACD = GX_VRAM_A | GX_VRAM_C | GX_VRAM_D   // TextureImageSlot 012
}
GXVRamTex;

参照

GX_SetBankForTex, GX_GetBankForTex, GX_ResetBankForTex, GX_DisableBankForTex, GX_GetSizeOfTex

履歴

Ver. 2005/02/15 初版