/*
	Ninja Library
	
	COPYRIGHT (C) SEGA ENTERPRISES,LTD.

	Create 2000.03.01

*/
#include <Ninja.h>
#include <Njutil.h>

/****************************************************************/
/*  関数名：nuReLoadVQCodebookNum				                */
/*  機  能：VQコードブックのリロード                            */
/*  入  力：Uint32 n											*/
/* 		    void *texaddr ファイル名 or メモリテクスチャアドレス*/
/*			Uint32 attr memory or file							*/
/*  出  力：なし                                                */
/*  戻り値：なし				                                */
/*  概　要：                                                    */
/*  備　考：                                                    */
/*                                                              */
/****************************************************************/
Sint32 nuReLoadVQCodebookNum(Uint32 n,void *texaddr,Uint32 attr)
{
	Sint8 *pTexture;
	char  filename[32];
	Sint8 *texbuf;
	Int texbuf_size;

	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;
		}
	
		pTexture = texbuf;
	}
	
	return njReLoadVQCBNum(n,pTexture);
}

/****************************************************************/
/*  関数名：nuReLoadVQCodebookNumG				                */
/*  機  能：VQコードブックのリロード                            */
/*  入  力：Uint32 globalIndex									*/
/* 		    void *texaddr ファイル名 or メモリテクスチャアドレス*/
/*			Uint32 attr memory or file							*/
/*  出  力：なし                                                */
/*  戻り値：なし				                                */
/*  概　要：                                                    */
/*  備　考：                                                    */
/*                                                              */
/****************************************************************/
Sint32 nuReLoadVQCodebookNumG(Uint32 globalIndex,void *texaddr,Uint32 attr)
{
	Sint32 ret;
	Sint8 *pTexture;
	char  filename[32];
	Sint8 *texbuf;
	Int texbuf_size;
	

	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;
		}
		
		pTexture = texbuf;

	}
	
	return njReLoadVQCBNumG(globalIndex,pTexture);
}

