/************************/
//AsciiFileIO
//出力用アトリビュートのheader
/************************/
//#pragma once
#ifndef __HND_FILEIOATTR_H
#define __HND_FILEIOATTR_H

#define EIFloatHexStyle		0x00000001		//フロート型を16進出力を行う		//高速化により中止読み込みのみ20050215
//#define EISeparateModel		0x00000100		//シーンからモデルデータのみを抽出
//#define EISeparateMotion	0x00000200		//シーンからモーションデータのみを抽出
#define EIUseInitial		0x02000000		//初期値設定を使用し一致するデータは出力しないようにする
#define EIFormatOptimize2	0x04000000		//データをコンパクト表示(Ver0.80.04.10出力フォーマット対応)
#define EIFormatOptimize	0x08000000		//データをコンパクト表示
#define EIKillComment		0x10000000		//コメントを削除
#define EIKillTab			0x20000000		//タブを削除
#define EIErrIgnore			0x40000000		//エラーがあってもかまわず書きつづける		
#define EIBinary			0x80000000		//バイナリー出力する
#define EITestMode1			0x00000100		//テストモード１を発動する
#define EITestNoBurst		0x00000080		//バーストモード不可（出力時にfwrite,fprintfを使用）
#define EITestImportAll		0x00000040		//入力時にすべてのパラメータに対して書き込みを行う（SNameID::dataSetFlag設定を無視する）
#define EIDefault			(EIFormatOptimize+EIUseInitial+EIKillComment+EIKillTab)		//デフォルト出力


/***************************************/
//エラーコード
/***************************************/
typedef enum {
	HND_IOERR_NOERR,				//0		共通
	//ErrPlace
	HND_IOERR_SCENE,
	HND_IOERR_OBJECT,
	HND_IOERR_MODEL,
	HND_IOERR_MESH,
	HND_IOERR_POLYGON,				//5
	HND_IOERR_POLYGONVERTEX,
	HND_IOERR_POLYGONVERTEXUVW,
	HND_IOERR_VERTEX,
	HND_IOERR_ENVWEIGHT,
	HND_IOERR_MATERIAL,				//10
	HND_IOERR_TEXTURE,
	HND_IOERR_TEXTUREANIMATION,
	HND_IOERR_MOTION,
	HND_IOERR_DISPLAYKEY,
	HND_IOERR_BDISPLAYKEY,			//15
	HND_IOERR_BOUNDINGAREA,
	HND_IOERR_CAMERA,
	HND_IOERR_CAMERAMOTION,
	HND_IOERR_LIGHT,
	HND_IOERR_LIGHTMOTION,			//20
    HND_IOERR_USERDATA,

	HND_IOERR_BONE,
	HND_IOERR_IDKEY,
	HND_IOERR_ITEMIDKEY,
	HND_IOERR_FLOATKEY,				//25
	HND_IOERR_TFLOATKEY,
	HND_IOERR_QUATERNIONKEY,
	HND_IOERR_SHAPEKEY,
	HND_IOERR_SHAPEVERTEX,
	HND_IOERR_SHAPEPOLYGONKEY,		//30
	HND_IOERR_SHAPEPOLYGON,
	HND_IOERR_SHAPEPOLYGONVERTEX,
	HND_IOERR_PICTURE,
	HND_IOERR_NODE,
	HND_IOERR_INSTANCE,				//35
	HND_IOERR_MATERIALMOTION,
	HND_IOERR_MODELMOTION,			//37
	HND_IOERR_MORPH,
	HND_IOERR_MORPHPOLYGON,
	HND_IOERR_MORPHPOLYGONVERTEX,	//40
	HND_IOERR_MORPHVERTEX,
	HND_IOERR_UVLAYER,
	HND_IOERR_IDXF2,
	HND_IOERR_IDXF3,
	HND_IOERR_IDXF4,				//45
	HND_IOERR_IDXFCOLOR,
	HND_IOERR_SIIKChainRoot,
	HND_IOERR_SIIKChain,
	HND_IOERR_SIIKBone,
	HND_IOERR_SIIKEffector,			//50
	HND_IOERR_TUIDKEY,
	HND_IOERR_UIDKEY,
	HND_IOERR_TRSMOTIONLAYER,
	HND_IOERR_TRSMOTION,
	HND_IOERR_CUSTOMSHADER,			//55
	HND_IOERR_MATERIALCLUSTER,
	HND_IOERR_TANGENTSPACE,
	HND_IOERR_TANGENTSPACELAYER,
	
	//ReturnErr
	HND_IOERR_MEMORYERR=1000,		//newに失敗した
	HND_IOERR_FILEPTRERR,			//ファイルエラー
	HND_IOERR_STYLEPARAMERR,		//読み込み時のパラメータ数が合っていない
	HND_IOERR_STYLEBUDIDERR,		//読み書き時に不正なIDが指定された
	HND_IOERR_KEYBUDIDERR,			//1005	
	HND_IOERR_STYLESTRUCTERR,		//読み込み時の形式があっていない
	HND_IOERR_PTR_NUMBERERR,		//NBデータが0なのにポインターがNULLではない
	HND_IOERR_HEADERERR,			//Header部で不正なデータが存在する
	HND_IOERR_VERSIONERR,			//バージョンが不整合
	HND_IOERR_FORMATERR,			//フォーマットが違う
	HND_IOERR_REQUESTIDERR			//フォーマットが違う（読み込み時に間違ったIDが要求された）
	}IOErrorID;

#endif

