/****************************************************************************/
/*  FILE: HND_Member.h                                                      */
/*  機能: HNDフォーマットに含まれる各データメンバに割り当てるIDを定義する   */
/*                                                                          */
/*  2004/03/31 Created                                                      */
/*  2006/04/10 Modify                                                       */
/*  Copyright (C)SEGA 2006/Creative Center. Graphics Tool Section.          */
/****************************************************************************/
#ifndef __HND_MEMBER_H
#define __HND_MEMBER_H

typedef enum HnmID {
	HNM_UNKNOWN					= 0,
	HNM_NULL					= HNM_UNKNOWN,

	/* Scene */
	HNM_SCENE					= 0x00001000,
	HNM_HNDVERSION				= 0x00001001,
	HNM_DEVELOPERNAME			= 0x00001002,
	HNM_TOOLNAME				= 0x00001003,
	HNM_TOOLVERSION				= 0x00001004,
	HNM_EDITORNAME				= 0x00001005,
	HNM_STARTFRAME				= 0x00001006,
	HNM_ENDFRAME				= 0x00001007,
	HNM_FRAMERATE				= 0x00001008,
	HNM_COORDINATESTYPE			= 0x00001009,
	HNM_COORDINATESBASE			= 0x00001010,
	HNM_USERRESERVED			= 0x00001011,
	HNM_ANGLEUNIT				= 0x00001012,

	/* Object */
	HNM_OBJECT					= 0x00002000,
	HNM_SCALEINHERITTYPE		= 0x00002001,

	/* Node */
	HNM_NODE					= 0x00003000,

	HNM_ROTATIONPIVOT			= 0x00003001,
	HNM_SCALEPIVOT				= 0x00003002,
	HNM_PIVOTPOSITION			= 0x00003003,
	HNM_PIVOTROTATION			= 0x00003004,
	HNM_ENVREFNODE				= 0x00003005,
	HNM_ROTATIONRESET			= 0x00003006,
	HNM_PARENTINHERITTX			= 0x00003007,
	HNM_PARENTINHERITTY			= 0x00003008,
	HNM_PARENTINHERITTZ			= 0x00003009,
	HNM_PARENTINHERITRX			= 0x00003010,
	HNM_PARENTINHERITRY			= 0x00003011,
	HNM_PARENTINHERITRZ			= 0x00003012,
	HNM_PARENTINHERITSX			= 0x00003013,
	HNM_PARENTINHERITSY			= 0x00003014,
	HNM_PARENTINHERITSZ			= 0x00003015,

	/* Model */
	HNM_MODEL					= 0x00004000,

	/* Tangent Space */
	HNM_TANGENTSPACE			= 0x00004003,
	HNM_TANGENT					= 0x00004001,
	HNM_BINORMAL				= 0x00004002,

	/* Polygon */
	HNM_POLYGON					= 0x00005000,

	/* PolygonVertex */
	HNM_POLYVTX					= 0x00005001,
	HNM_POLYNORMAL				= 0x00005002,

	/* Vertex */
	HNM_VERTEX					= 0x00007000,

	/* EnvWeight */
	HNM_ENVWEIGHT				= 0x00008000,
	HNM_WEIGHT                  = HNM_ENVWEIGHT,

	/* Material */
	HNM_MATERIAL				= 0x00009000,

	HNM_SHADINGTYPE				= 0x00009001,
	HNM_EXPONENT				= 0x00009002,
	HNM_TRANSPARENCY			= 0x00009003,
	HNM_EMISSIVE				= 0x00009004,
	HNM_DOUBLESIDE				= 0x00009005,
	HNM_WIRE					= 0x00009006,
	HNM_IGNORELIGHT				= 0x00009007,
	HNM_REFLECTION				= 0x00009008,
	HNM_REFRACTION				= 0x00009009,
	HNM_FLAT					= 0x00009010,
	HNM_SPECULARLEVEL			= 0x00009011,
	HNM_SPECULARGLOSSINESS		= 0x00009012,
	HNM_VERTEXCOLOR				= 0x00009013,
	HNM_VERTEXSPECULARCOLOR		= 0x00009014,

	/* Material Cluster */
	HNM_MATERIALCLUSTER			= 0x00107000,

	/* Texture */
	HNM_TEXTURE					= 0x00010000,

	HNM_PICTURETYPE				= 0x00010001,
	HNM_INTENSITY				= 0x00010002,
	HNM_MAPPINGMETHOD			= 0x00010003,
	HNM_UVDIRECTION				= 0x00010004,
	HNM_UOFFSET					= 0x00010005,
	HNM_VOFFSET					= 0x00010006,
	HNM_USCALE					= 0x00010007,
	HNM_VSCALE					= 0x00010008,
	HNM_UREPEAT					= 0x00010009,
	HNM_VREPEAT					= 0x00010010,
	HNM_UMINCROP				= 0x00010011,
	HNM_VMINCROP				= 0x00010012,
	HNM_UMAXCROP				= 0x00010013,
	HNM_VMAXCROP				= 0x00010014,
	HNM_UALTERNATE				= 0x00010015,
	HNM_VALTERNATE				= 0x00010016,
	HNM_CLAMPTYPE				= 0x00010017,
	HNM_BLEND					= 0x00010018,
	HNM_SPACETYPE				= 0x00010019,



	/* Instance Model */
	HNM_INSTMDL					= 0x00011000,
	HNM_SOURCENODENAME			= 0x00011001,

	/* Bone */
	HNM_BONE					= 0x00012000,

	/* Camera */
	HNM_CAMERA					= 0x00013000,

	HNM_TARGET					= 0x00013001,
	HNM_ROLL					= 0x00013002,
	HNM_ANGLE					= 0x00013003,
	HNM_NEARZ					= 0x00013004,
	HNM_FARZ					= 0x00013005,
	HNM_UPTARGET				= 0x00013006,
	HNM_IMAGEASPECT				= 0x00013007,
	HNM_FOVTYPE					= 0x00013008,

	/* CameraChange */
	HNM_CAMERACHANGE			= 0x00014000,

	/* Light */
	HNM_LIGHT					= 0x00015000,

	HNM_OUTERANGLE				= 0x00015001,
	HNM_INNERANGLE				= 0x00015002,
	HNM_OUTERRANGE				= 0x00015003,
	HNM_INNERRANGE				= 0x00015004,
	HNM_NEARRANGE_START			= 0x00015005,
	HNM_NEARRANGE_END			= 0x00015006,
	HNM_FARRANGE_START			= 0x00015007,
	HNM_FARRANGE_END			= 0x00015008,
	HNM_VECTOR					= 0x00015009,
	HNM_COLOR					= 0x00015010,
	HNM_DECLINETYPE				= 0x00015011,

	/* Picture */
	HNM_PICTURE					= 0x00016000,

	HNM_FILENAME				= 0x00016001,
	HNM_ALPHATYPE				= 0x00016002,
	HNM_WIDTH					= 0x00016003,
	HNM_HEIGHT					= 0x00016004,
	HNM_DEPTH					= 0x00016005,

	/* Motion */
	HNM_MOTION					= 0x00018000,
	HNM_NODEUSER_FLOAT			= 0x00018001,
	HNM_NODEUSER_UID			= 0x00018002,
	HNM_DISPLAY					= 0x00018003,

	/* TRS Motion */
	HNM_TRSMOTION				= 0x00019000,

	/* TRS Motion Layer*/
	HNM_TRSMOTIONLAYER			= 0x00020000,
	HNM_MINFRAME				= 0x00020001,
	HNM_MAXFRAME				= 0x00020002,

	/* ModelMotion */
	HNM_MODELMOT				= 0x00021000,

	/* Shape Key */
	HNM_SHAPEKEY				= 0x00022000,
	HNM_USEPOSITION				= 0x00022001,
	HNM_USEVERTEX				= HNM_USEPOSITION,
	HNM_USENORMAL				= 0x00022002,
	HNM_USEVTXCOLOR				= 0x00022003,
	HNM_USECOLOR				= HNM_USEVTXCOLOR,
	HNM_USEUV					= 0x00022004,
	HNM_USETANGENTSPACE			= 0x00022005,

	/* MaterialAnimation */
	HNM_MATANI					= 0x00023000,
	HNM_MTRANIM					= HNM_MATANI,

	/* TextureAnimation */
	HNM_TEXANI					= 0x00024000,
	HNM_TEXANIM					= HNM_TEXANI,
	HNM_PICTURECHANGE,

	/* CameraMotion */
	HNM_CAMERAMOT				= 0x00025000,
	HNM_NEARZTYPE				= 0x00025001,
	HNM_FARZTYPE				= 0x00025002,

	/* LightMotion */
	HNM_LIGHTMOT				= 0x00026000,

	/* MorphTarget */
	HNM_MORPHTARGET				= 0x00027000,

	/* UV Layer */
	HNM_UVLAYER					= 0x00028000,

	/* SI Chain Root */
	HNM_SICHAINRT				= 0x00029000,

	/* SI Chain */
	HNM_SICHAIN					= 0x00030000,

	/* SI Bone */
	HNM_SIBONE					= 0x00031000,

	HNM_LENGTH					= 0x00031001,
	HNM_PREFERANGLE				= 0x00031002,

	/* SI Effector */
	HNM_SIEFF					= 0x00032000,

	/* Custom Shader */
	HNM_CUSTOMSHADER			= 0x00033000,
	HNM_TECHNIQUENAME			= 0x00033001,

	/* Tangent Space Layer */
	HNM_TANGENTSPACELAYER		= 0x00034000,

	HNM_ID						= 0x00050000,
	HNM_NAME					= 0x00050001,
	HNM_ATTRIBUTENAME			= 0x00050002,
	HNM_BASENAME				= 0x00050003,
	HNM_TYPE					= 0x00050004,
	HNM_RESERVE					= 0x00050005,
	HNM_VALUE					= 0x00050006,
	HNM_IK						= 0x00050007,

	HNM_ITEM					= 0x00050008,
	HNM_ITEMMOTION				= 0x00050009,

	/* TRS,Position,Normal */
	HNM_POSITION				= 0x00050010,
	HNM_NORMAL					= 0x00050011,
	HNM_TRANSLATION				= 0x00050012,
	HNM_INITTRANSLATION			= 0x00050013,
	HNM_ROTATION				= 0x00050014,
	HNM_INITROTATION			= 0x00050015,
	HNM_SCALE					= 0x00050016,
	HNM_INITSCALE				= 0x00050017,
	HNM_QUATERNION				= 0x00050018,
	HNM_INITQUATERNION			= 0x00050019,
	HNM_MATRIXTYPE				= 0x00050020,
	HNM_MATRIX					= 0x00050021,
	HNM_INITMATRIX				= 0x00050022,

	HNM_NEXT					= 0x00050023,
	HNM_PREV					= 0x00050024,

	HNM_PARENT					= 0x00050025,
	HNM_CHILD					= 0x00050026,
	HNM_SIBLING					= 0x00050027,
	HNM_PRESIBLING				= 0x00050028,

	/* Color */
	HNM_DIFFUSE					= 0x00050030,
	HNM_VTXDIFFUSE				= HNM_DIFFUSE,
	HNM_AMBIENT					= 0x00050031,
	HNM_SPECULAR				= 0x00050032,
	HNM_VTXSPECULAR				= HNM_SPECULAR,

	HNM_FRAME					= 0x00050033,
	HNM_KEYFRAME				= HNM_FRAME,
	HNM_KEY						= 0x00050034,
	HNM_INPARAM					= 0x00050035,
	HNM_OUTPARAM				= 0x00050036,

	/* Float Key */
	HNM_FLOATKEY				= 0x00100000,

	/* Quaternion Key */
	HNM_QUATERNIONKEY			= 0x00101000,

	/* ID Key */
	HNM_IDKEY					= 0x00102000,

	/* Item ID Key */
	HNM_ITEMIDKEY				= 0x00103000,


	HNM_TFLOATKEY				= 0x00104000,

	/* UIDKey */
	HNM_UIDKEY					= 0x00105000,

	/* TypicalUIDKey */
	HNM_TUIDKEY					= 0x00106000,

	/* Indexed Float 2 */
	HNM_IDXF2D					= 0x00200000,
	HNM_VECTOR2					= HNM_IDXF2D,
	HNM_UV						= HNM_IDXF2D,

	/* Indexed Float 3 */
	HNM_IDXF3D					= 0x00201000,
	HNM_VECTOR3					= HNM_IDXF3D,

	/* Indexed Float 4 */
	HNM_IDXF4D					= 0x00202000,
	HNM_VECTOR4					= HNM_IDXF4D,
	HNM_IDXFCOLOR				= HNM_IDXF4D,

	/* ユーザデータ指定用 */
	HNM_USERDATA				= 0x00500000,
//	HNM_USERRESERVED,

	/*******************************************************/
	/* 過去の互換性を保つための定義                        */
	/*******************************************************/
#define HND_MEMBERTYPE_COMP_START		0x00800000
	HNM_ITEMTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000001,
	HNM_TRANSLATIONTYPE					= HND_MEMBERTYPE_COMP_START + 0x00000002,
	HNM_ROTATIONTYPE					= HND_MEMBERTYPE_COMP_START + 0x00000003,
	HNM_SCALETYPE						= HND_MEMBERTYPE_COMP_START + 0x00000004,
	HNM_DIFFUSETYPE						= HND_MEMBERTYPE_COMP_START + 0x00000005,

	HNM_TRANSPARENCYTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000006,
	HNM_SPECULARTYPE					= HND_MEMBERTYPE_COMP_START + 0x00000007,
	HNM_AMBIENTTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000008,
	HNM_SPECULARLEVELTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000032,
	HNM_SPECULARGLOSSINESSTYPE			= HND_MEMBERTYPE_COMP_START + 0x00000033,
	HNM_EMISSIVETYPE					= HND_MEMBERTYPE_COMP_START + 0x00000034,
	HNM_REFLECTIONTYPE					= HND_MEMBERTYPE_COMP_START + 0x00000035,
	HNM_REFRACTIONTYPE					= HND_MEMBERTYPE_COMP_START + 0x00000036,

	HNM_NODEUSER_FLOATTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000009,
	HNM_NODEUSER_UIDTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000010,
	HNM_DISPLAYTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000011,

	HNM_UOFFSETTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000012,
	HNM_VOFFSETTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000013,
	HNM_PICTURECHANGETYPE				= HND_MEMBERTYPE_COMP_START + 0x00000014,
	HNM_BLENDTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000015,

	HNM_TARGETTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000016,
	HNM_ROLLTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000017,
	HNM_ANGLETYPE						= HND_MEMBERTYPE_COMP_START + 0x00000018,
	HNM_UPTARGETTYPE					= HND_MEMBERTYPE_COMP_START + 0x00000019,

	HNM_VECTORTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000020,
	HNM_COLORTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000021,
	HNM_OUTERANGLETYPE					= HND_MEMBERTYPE_COMP_START + 0x00000022,
	HNM_INNERANGLETYPE					= HND_MEMBERTYPE_COMP_START + 0x00000023,
	HNM_OUTERRANGETYPE					= HND_MEMBERTYPE_COMP_START + 0x00000024,
	HNM_INNERRANGETYPE					= HND_MEMBERTYPE_COMP_START + 0x00000025,
	HNM_NEARRANGE_STARTTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000026,
	HNM_NEARRANGE_ENDTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000027,
	HNM_FARRANGE_STARTTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000028,
	HNM_FARRANGE_ENDTYPE				= HND_MEMBERTYPE_COMP_START + 0x00000029,
	HNM_INTENSITYTYPE					= HND_MEMBERTYPE_COMP_START + 0x00000030,
	HNM_WEIGHTTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000031,

	HNM_NEARTYPE						= HND_MEMBERTYPE_COMP_START + 0x00000037,
	HNM_FARTYPE							= HND_MEMBERTYPE_COMP_START + 0x00000038,

} HnmID;

#endif


