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

	Create 2000.03.01

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

/****************************************************************/
/*  関数名：nuReLoadRectangleTexturePartNum		                */
/*  機  能：テクスチャの矩形領域の転送	                        */
/*  入  力：Uint32 n											*/
/*			void *texaddr	filename or addr					*/
/*			Uint32 attr		NJD_TEXATTR_TYPE_MEMORY				*/
/*							NJD_TEXATTR_TYPE_FILE				*/
/*			Uint32 *p											*/
/*  出  力：なし                                                */
/*  戻り値：成功 １失敗 −１                                    */
/*  概　要：                                                    */
/*  備　考：                                                    */
/*                                                              */
/****************************************************************/
Sint32 nuReLoadRectangleTexturePartNum(Uint32 n,void *texaddr,Uint32 attr,Uint32 *p)
{
	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 njReLoadRectTexturePartNum(n,pTexture,p);

}

/****************************************************************/
/*  関数名：nuReLoadRectangleTexturePartNumG	                */
/*  機  能：テクスチャの矩形領域の転送	                        */
/*  入  力：Uint32 globalIndex									*/
/*			void *texaddr	filename or addr					*/
/*			Uint32 attr		NJD_TEXATTR_TYPE_MEMORY				*/
/*							NJD_TEXATTR_TYPE_FILE				*/
/*			Uint32 *p											*/
/*  出  力：なし                                                */
/*  戻り値：成功 １失敗 −１                                    */
/*  概　要：                                                    */
/*  備　考：                                                    */
/*                                                              */
/****************************************************************/
Sint32 nuReLoadRectangleTexturePartNumG(Uint32 globalIndex,void *texaddr,Uint32 attr,Uint32 *p)
{
	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 njReLoadRectTexturePartNumG(globalIndex,pTexture,p);

}

