Ninjaライブラリ - テクスチャ関数

njLoadTextureReq

テクスチャのロード(即時復帰)

書式

Sint32 njLoadTextureReq( *texlist )
NJS_TEXLIST *texlist

引数

*texlistテクスチャリスト

戻値

NJD_TEX_STAT_READ
NJD_TEX_STAT_END
NJD_TEX_STAT_ERR

解説

テクスチャをロードします。

GDからファイルをロードする場合、GDからファイルロード終了を待たずに復帰し、 ファイルロード完了でテクスチャメモリにロードします。 この動作をテクスチャの枚数分繰り返し、すべてのテクスチャをロードすると NJD_TEX_STAT_ENDが返ります。 テクスチャをテクスチャメモリにロードする部分は完了復帰です。 njLoadTextureReq()関数ではテクスチャの分割リードに対応していませんので、 ロードするファイルの最大セクタサイズ分のバッファが必要になります。

バッファはnjInitTextureBuffer()関数で指定した領域を使用します。 メモリテクスチャの場合はバッファは使用しません。 ソフトリセットなど途中で関数を中止する場合は、njLoadTextureReqStop()関数を実行してください。


用例

Sint32 njUserMain(void)
{
        per = pdGetPeripheral(PDD_PORT_A0);
        
        switch(Mode){
        case START:
                GameInit();
                Mode = TEX_LOAD;
                break;
        case TEX_LOAD:
                /* ロードしている間の処理 */
                DrawLoading();
                /* テクスチャをロードする */
                if(njLoadTextureReq(&texlist) == NJD_TEX_STAT_END){
                        Mode = GAME_MAIN;
                }

                /* ソフトリセットの場合 */
                if(per&SOFT_RESET){
                        Mode = RESET;
                }       
                break;
        case RESET:
                /* 即時復帰関数の中止 */
                njLoadTextureReqStop();
                /* GDの再初期化 */
                gdFsReinit();
                /* njLoadTextureReq関数でロードが途中で終わってしまったので
                        テクスチャをリリースする
                */
                njReleaseTexture(&texlist);
                Mode = START;
                break;
        case GAME_MAIN:
                        :
                        :
                break;
        }
}

参照

njLoadTexture()
njLoadTextureReqStop()

njLoadTextureReq
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998