1 /*---------------------------------------------------------------------------*
2   Project:  NintendoWare
3   File:     gfx_ResTypeInfo.h
4 
5   Copyright (C)2009-2011 Nintendo/HAL Laboratory, Inc.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain proprietary
8   information of Nintendo and/or its licensed developers and are protected by
9   national and international copyright laws. They may not be disclosed to third
10   parties or copied or duplicated in any form, in whole or in part, without the
11   prior written consent of Nintendo.
12 
13   The content herein is highly confidential and should be handled accordingly.
14 
15   $Revision: $
16  *---------------------------------------------------------------------------*/
17 
18 #ifndef NW_GFX_RES_TYPE_INFO_H_
19 #define NW_GFX_RES_TYPE_INFO_H_
20 
21 #include <nw/types.h>
22 
23 namespace nw
24 {
25 namespace gfx
26 {
27 namespace res
28 {
29 
30 #define NW_GFX_RES_TYPE_INFO(name)  res::name##_TYPE_INFO
31 
32 //! @details :private
33 enum ResTypeInfoDefinition
34 {
35     ResCameraViewUpdater_TYPE_INFO      = 0x00000000,
36     ResAimTargetViewUpdater_TYPE_INFO   = 0x80000000,
37     ResLookAtTargetViewUpdater_TYPE_INFO = 0x40000000,
38     ResRotateViewUpdater_TYPE_INFO      = 0x20000000,
39     ResCameraProjectionUpdater_TYPE_INFO = 0x00000000,
40     ResFrustumProjectionUpdater_TYPE_INFO = 0x80000000,
41     ResOrthoProjectionUpdater_TYPE_INFO = 0x40000000,
42     ResPerspectiveProjectionUpdater_TYPE_INFO = 0x20000000,
43     ResParticleForm_TYPE_INFO           = 0x00000000,
44     ResParticleCubeForm_TYPE_INFO       = 0x80000000,
45     ResParticleCylinderForm_TYPE_INFO   = 0x40000000,
46     ResParticleDiscForm_TYPE_INFO       = 0x20000000,
47     ResParticlePointForm_TYPE_INFO      = 0x10000000,
48     ResParticleRectangleForm_TYPE_INFO  = 0x08000000,
49     ResParticleSphereForm_TYPE_INFO     = 0x04000000,
50     ResParticleUpdater_TYPE_INFO        = 0x00000000,
51     ResParticleAccelarationUpdater_TYPE_INFO = 0x80000000,
52     ResParticleGeneralUpdater_TYPE_INFO = 0x40000000,
53     ResParticleGravityUpdater_TYPE_INFO = 0x20000000,
54     ResParticleSpinUpdater_TYPE_INFO    = 0x10000000,
55     ResParticleRandomUpdater_TYPE_INFO  = 0x08000000,
56     ResParticleChildUpdater_TYPE_INFO   = 0x04000000,
57     ResParticleUserUpdater_TYPE_INFO    = 0x02000000,
58     ResParticleVector2ImmediateUpdater_TYPE_INFO = 0x01000000,
59     ResParticleVector3Updater_TYPE_INFO = 0x00800000,
60     ResParticleFloatUpdater_TYPE_INFO   = 0x00400000,
61     ResParticleFloatImmediate4KeyUpdater_TYPE_INFO = 0x00200000,
62     ResParticleVector3Immediate4KeyUpdater_TYPE_INFO = 0x00100000,
63     ResParticleRotateUpVectorUpdater_TYPE_INFO = 0x00080000,
64     ResParticleTexturePatternUpdater_TYPE_INFO = 0x00040000,
65     ResParticleVector3ImmediateUpdater_TYPE_INFO = 0x00800001,
66     ResParticleVector3AdditiveUpdater_TYPE_INFO = 0x00800002,
67     ResParticleVector3RandomAdditiveUpdater_TYPE_INFO = 0x00800004,
68     ResParticleFloatImmediateUpdater_TYPE_INFO = 0x00400001,
69     ResParticleAnimationOption_TYPE_INFO = 0x00000000,
70     ResParticleFittingAnimationOption_TYPE_INFO = 0x80000000,
71     ResParticleFrameLoopAnimationOption_TYPE_INFO = 0x40000000,
72     ResParticleRandomAnimationOption_TYPE_INFO = 0x20000000,
73     ResParticleShapeBuilder_TYPE_INFO   = 0x00000000,
74     ResParticleBillboardShapeBuilder_TYPE_INFO = 0x80000000,
75     ResParticleWorldBillboardShapeBuilder_TYPE_INFO = 0x40000000,
76     ResParticleYBillboardShapeBuilder_TYPE_INFO = 0x20000000,
77     ResParticleXyPlaneShapeBuilder_TYPE_INFO = 0x10000000,
78     ResParticleInitializer_TYPE_INFO    = 0x00000000,
79     ResParticleDirectionalVelocityInitializer_TYPE_INFO = 0x80000000,
80     ResParticleRandomDirectionalVelocityInitializer_TYPE_INFO = 0x40000000,
81     ResParticleOriginVelocityInitializer_TYPE_INFO = 0x20000000,
82     ResParticleRandomVelocityInitializer_TYPE_INFO = 0x10000000,
83     ResParticleYAxisVelocityInitializer_TYPE_INFO = 0x08000000,
84     ResParticleVector3ImmediateInitializer_TYPE_INFO = 0x04000000,
85     ResParticleFloatRandomInitializer_TYPE_INFO = 0x02000000,
86     ResParticleFloatRangeRandomInitializer_TYPE_INFO = 0x01000000,
87     ResParticleFloatImmediateInitializer_TYPE_INFO = 0x00800000,
88     ResParticleVector2ImmediateInitializer_TYPE_INFO = 0x00400000,
89     ResParticleVector3Random1Initializer_TYPE_INFO = 0x00200000,
90     ResParticleVector3Random3Initializer_TYPE_INFO = 0x00100000,
91     ResParticleVector3MultRandomInitializer_TYPE_INFO = 0x00080000,
92     ResParticleAttribute_TYPE_INFO      = 0x00000000,
93     ResParticleStreamAttribute_TYPE_INFO = 0x80000000,
94     ResParticleParameterAttribute_TYPE_INFO = 0x40000000,
95     ResVertexAttribute_TYPE_INFO        = 0x00000000,
96     ResVertexParamAttribute_TYPE_INFO   = 0x80000000,
97     ResVertexStreamBase_TYPE_INFO       = 0x40000000,
98     ResVertexStream_TYPE_INFO           = 0x40000001,
99     ResInterleavedVertexStream_TYPE_INFO = 0x40000002,
100     ResSceneObject_TYPE_INFO            = 0x00000000,
101     ResShader_TYPE_INFO                 = 0x80000000,
102     ResSceneNode_TYPE_INFO              = 0x40000000,
103     ResTexture_TYPE_INFO                = 0x20000000,
104     ResShape_TYPE_INFO                  = 0x10000000,
105     ResMaterial_TYPE_INFO               = 0x08000000,
106     ResLookupTableSet_TYPE_INFO         = 0x04000000,
107     ResSkeleton_TYPE_INFO               = 0x02000000,
108     ResMesh_TYPE_INFO                   = 0x01000000,
109     ResSceneEnvironmentSetting_TYPE_INFO = 0x00800000,
110     ResReferenceShader_TYPE_INFO        = 0x80000001,
111     ResBinaryShader_TYPE_INFO           = 0x80000002,
112     ResParticleSet_TYPE_INFO            = 0x40000001,
113     ResTransformNode_TYPE_INFO          = 0x40000002,
114     ResParticleEmitter_TYPE_INFO        = 0x40000006,
115     ResCamera_TYPE_INFO                 = 0x4000000A,
116     ResModel_TYPE_INFO                  = 0x40000012,
117     ResLight_TYPE_INFO                  = 0x40000022,
118     ResFog_TYPE_INFO                    = 0x40000042,
119     ResSkeletalModel_TYPE_INFO          = 0x40000092,
120     ResParticleModel_TYPE_INFO          = 0x40000112,
121     ResFragmentLight_TYPE_INFO          = 0x400000A2,
122     ResHemiSphereLight_TYPE_INFO        = 0x40000122,
123     ResVertexLight_TYPE_INFO            = 0x40000222,
124     ResAmbientLight_TYPE_INFO           = 0x40000422,
125     ResPixelBasedTexture_TYPE_INFO      = 0x20000001,
126     ResProceduralTexture_TYPE_INFO      = 0x20000002,
127     ResReferenceTexture_TYPE_INFO       = 0x20000004,
128     ResCubeTexture_TYPE_INFO            = 0x20000009,
129     ResImageTexture_TYPE_INFO           = 0x20000011,
130     ResShadowTexture_TYPE_INFO          = 0x20000021,
131     ResSeparateDataShape_TYPE_INFO      = 0x10000001,
132     ResParticleShape_TYPE_INFO          = 0x10000002,
133     ResParticleAnimation_TYPE_INFO      = 0x00000000,
134     ResParticleChildUpdaterOption_TYPE_INFO = 0x00000000,
135     ResParticleChildUpdaterFirstUpdateOption_TYPE_INFO = 0x80000000,
136     ResParticleChildUpdaterFinalUpdateOption_TYPE_INFO = 0x40000000,
137     ResParticleChildUpdaterIntervalOption_TYPE_INFO = 0x20000000,
138     ResParticleChildUpdaterFrameOption_TYPE_INFO = 0x10000000,
139     ResLookupTable_TYPE_INFO            = 0x00000000,
140     ResImageLookupTable_TYPE_INFO       = 0x80000000,
141     ResReferenceLookupTable_TYPE_INFO   = 0x40000000,
142     ResTextureSampler_TYPE_INFO         = 0x00000000,
143     ResStandardTextureSampler_TYPE_INFO = 0x80000000,
144     ResShadowTextureSampler_TYPE_INFO   = 0x40000000,
145     ResTextureMapper_TYPE_INFO          = 0x00000000,
146     ResPixelBasedTextureMapper_TYPE_INFO = 0x80000000,
147     ResProceduralTextureMapper_TYPE_INFO = 0x40000000,
148     ResMorphShape_TYPE_INFO             = 0x00000000,
149     ResSeparateDataMorphShape_TYPE_INFO = 0x80000000
150 };
151 
152 } // namespace res
153 } // namespace gfx
154 } // namespace nw
155 
156 #endif /* NW_GFX_RES_TYPE_INFO_H_ */
157 
158 
159