# 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 初版