*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; } }