##### Ninja Library - テクスチャ関数

# njReLoadTextureLodNum

テクスチャ番号によるテクスチャのリロード

### 書式

> `Sint32 njReLoadTextureLodNum( n, pTexture, lod )
> Uint32 n
> Sint8 *pTexture
> Uint32 lod
> `

### 引数

> n | カレントテクスチャリストのテクスチャ番号
> pTexture | メモリテクスチャのアドレス
> lod | ミップマップのレベル

### 戻り値

> 1 | 成功
> −1 | 失敗

### 解説

> メインメモリにあるテクスチャをカレントテクスチャリストのテクスチャ番号nの テクスチャをリロードします。リロードするテクスチャは前にロードしていた テクスチャと同じカテゴリーものとします。 また、ミップマップテクスチャの場合、lodを指定することで各ミップマップレベルのみ リロードすることができます。たとえば、lodに128と設定することで、128×128のレベルの テクスチャレベルのみリロードすることができます。 ミップマップテクスチャの場合、テクスチャをすべてリロードする場合、lodに0を指定します。 Ninja1のnjReLoadTextureNum関数でメモリからロードした場合と同じ機能です。

### 用例

>     Sint32 nuReLoadTextureNum(Uint32 n,void *texaddr,Uint32 attr,Uint32 lod)
>     {
>     	Sint8 *pTexture;
>     	char  filename[32];
>     	Sint8 *texbuf;
>     	Int texbuf_size;
>     	NJS_TEXLIST *texlist;
>     	Uint32 Surfaceflag;
>     	Uint32 nTextureType;
>     	Uint32 nWidth;
>     	Uint32 nHeight;
>     	Uint32 size;
>     	NJS_PVRHEADERDATA pvrh;
>     	Sint8 *tex_start;
>     	NJS_TEXMANAGE *texmanage;

>     	if(attr & NJD_TEXATTR_TYPE_MEMORY){
>     		pTexture = texaddr;
>     	}
>     	else{
>     		njCheckFileName(filename,(char*)texaddr,".PVR");
>     		nuGetTextureBuffer(&texbuf,&texbuf_size);

>     		if(nuTexFreadAll(filename,texbuf,texbuf_size) < 0){
>     			return -1;
>     		}

>     		if((tex_start = njLoadPvrHeader(&pvrh,NULL,texbuf)) == NULL){
>     			pTexture = texbuf;
>     		}
>     		else{
>     			pTexture = tex_start;
>     		}

>     		texlist = njGetCurrentTexList();
>     		Surfaceflag = NJM_TEXTURE_SURFACEFLAG(texlist,n);
>     		if((lod != 0) && (Surfaceflag & NJD_SURFACEFLAGS_MIPMAPED)){
>     			nTextureType = NJM_TEXTURE_TYPE(texlist,n);
>     			nWidth = nHeight = (lod >> 1);
>     			size = njCalcTextureSize(nWidth,nHeight,nTextureType);
>     			pTexture = (Sint8*)((Uint32)pTexture + size);
>     		}
>     	}
>     	return njReLoadTextureLodNum(n,pTexture,lod);

>     }

### 備考

> pTextureはlodで設定したテクスチャの先頭を指定します。

### 参照

> njReLoadTextureLodNumG() | グローバルインデックス番号によるテクスチャのリロード
> nuReLoadTextureNum() | テクスチャ番号によるテクスチャのリロード

njReLoadTextureLodNum

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000