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

njLoadTextureReq

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

書式

Sint32 njLoadTextureReq( *texlist ) 
NJS_TEXLIST *texlist 

引数

*texlist   テクスチャリスト

戻り値

NJD_TEX_STAT_READ   ロード中
NJD_TEX_STAT_END   終了
NJD_TEX_STAT_ERR   エラー

解説

テクスチャをロードします。 GD-ROMからファイルをロードする場合、GD-ROMからファイルロード終了を待たずに復帰し、ファイルロード完了でテクスチャメモリにロードします。 この動作をテクスチャの枚数分繰り返し、すべてのテクスチャをロードすると 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,1999