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

njGetTextureErrStat

テクスチャのエラーの取得

書式

NJS_TEXERRSTAT *njGetTextureErrStat( void )

引数

なし

戻値

テクスチャエラー変数のアドレス

解説

返り値のNJS_TEXERRSTAT構造体のポインタを取得することで、 内部のテクスチャエラー変数のアドレスが取得できます。

これを利用することにより、テクスチャ関数内部で発生したエラーを知ることができます。 戻り値に成功、失敗があるテクスチャ関連関数で、関数実行後エラーを返した場合、 この変数からエラーの種類を確認しエラーに対する対処をします。

エラー値はエラーが起こった関数から次の正否の戻り値のあるテクスチャ関連関数が呼ばれるまで有功です。

nメンバ、globalIndexメンバ

テクスチャ関数内部でエラーが起きたとき、テクスチャ番号とグローバルインデックスが わかる場合にはこの変数に値が戻されます。 デフォルトはともに0xFFFFFFFFが入っています。

texerrメンバ

テクスチャ内部のエラーの種類を返します。 Ninjadef.hに定義されている以下の値を返します。

NJD_TEXERR_FILEOPENファイルオープンエラー
NJD_TEXERR_EXTNDファイル拡張子のエラー
NJD_TEXERR_HEADERファイルヘッダエラー
NJD_TEXERR_FILELOADファイルロードエラー
NJD_TEXERR_SURFACEテクスチャメモリ不足エラー
NJD_TEXERR_MAINMEMORYメインメモリ不足エラー
NJD_TEXERR_TEXMEMLOADテクスチャメモリロードエラー
NJD_TEXERR_GLOBALINDEXグローバルインデックスエラー
NJD_TEXERR_OTHERその他のエラー

デフォルトは0が入っています。

gdstatメンバ

GDからファイルロード中にエラーが発生した場合、GDのステータス取得関数gdFsGetStat()関数を実行し、結果をgdstatに入れます。 この場合texerrはNJD_TEXERR_FILELOADになっています。

GDD_STAT_IDLE(デフォルト)
GDD_STAT_COMPLETE
GDD_STAT_READ
GDD_STAT_SEEK
GDD_STAT_BUSY
GDD_STAT_ERR
GDD_STAT_FATAL
GDD_STAT_CONTINUE
GDD_STAT_UNDEF

詳しくはShinobi関数リファレンスを参照してください。

gderrメンバ

GDからファイルロード中にエラーが発生した場合、GDのステータス取得関数を実行した後にGDのエラー取得関数gdFsGetErrStat()を実行し、結果をgderrに入れます。

GDD_ERR_OK(デフォルト)
GDD_ERR_INIT
GDD_ERR_RESET
GDD_ERR_LIBOV
GDD_ERR_MOUNT
GDD_ERR_DISC
GDD_ERR_DIRREC
GDD_ERR_CANTOPEN
GDD_ERR_NOTFOUND
GDD_ERR_NOHNDL
GDD_ERR_ILLHNDL
GDD_ERR_NOTDIR
GDD_ERR_DIROVER
GDD_ERR_BUSY
GDD_ERR_32ALIGN
GDD_ERR_SIZE
GDD_ERR_SEEK
GDD_ERR_OFS
GDD_ERR_ILLTMODE
GDD_ERR_READ
GDD_ERR_NOTREAD
GDD_ERR_TOUT
GDD_ERR_EOF
GDD_ERR_TRAYOPEND
GDD_ERR_SIZEOVER
GDD_ERR_FATAL
GDD_ERR_UNDEF
GDD_ERR_NOERR
GDD_ERR_RECOVER
GDD_ERR_NOTREADY
GDD_ERR_MEDIA
GDD_ERR_HWARE
GDD_ERR_ILLREQ
GDD_ERR_UNITATTENT
GDD_ERR_PROTECT
GDD_ERR_ABORT
GDD_ERR_NOREADABLE
GDD_ERR_CHECKBUSY

詳しくはShinobi関数リファレンスを参照してください。


用例

NJS_TEXERRSTAT *texerr;
texerr = njGetTextureErrStat();
if(njLoadTexture(&texlist) < 0){
	if(texerr->gderr == GDD_ERR_UNITATTENT){
	/* GDのオープンを確認 */
		topencheck();
	}
}

njGetTextureErrStat
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998