goat3dgfx

diff src/3dschunks.h @ 0:1873dfd13f2d

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 14 Nov 2013 05:27:09 +0200
parents
children 25b911c7c35c
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/3dschunks.h	Thu Nov 14 05:27:09 2013 +0200
     1.3 @@ -0,0 +1,160 @@
     1.4 +#ifndef _3DSCHUNKS_H_
     1.5 +#define _3DSCHUNKS_H_
     1.6 +
     1.7 +enum ChunkID {
     1.8 +	Chunk_Color_Float3					= 0x0010,	// o Floating point color
     1.9 +	Chunk_Color_Byte3					= 0x0011,	// o 24bit color
    1.10 +	Chunk_Color_GammaByte3				= 0x0012,	// o 24bit gamma corrected
    1.11 +	Chunk_Color_GammaFloat3				= 0x0013,	// o Floating point gamma corrected
    1.12 +	Chunk_PercentInt					= 0x0030,	// o Percent Chunk int 0 - 100
    1.13 +	Chunk_PercentFloat					= 0x0031,	// o Percent Chunk float 0 - 1
    1.14 +
    1.15 +	Chunk_3DSMain						= 0x4D4D,	// + Root Chunk
    1.16 +	Chunk_Main_3DSVersion				= 0x0002,	//   - 3DS Version
    1.17 +	Chunk_Main_3DEditor					= 0x3D3D,	//   + 3D Editor Chunk
    1.18 +	Chunk_Edit_Unit						= 0x0100,	//     - Unit
    1.19 +	Chunk_Edit_BGBitmap					= 0x1100,	//     - Background Bitmap
    1.20 +	Chunk_Edit_UseBGBitmap				= 0x1101,	//     - Use Background Bitmap
    1.21 +	Chunk_Edit_BGColor					= 0x1200,	//     - Background Color
    1.22 +	Chunk_Edit_UseBGColor				= 0x1201,	//     - Use Background Color
    1.23 +	Chunk_Edit_GradColor				= 0x1300,	//     - Background Gradient
    1.24 +	Chunk_Edit_UseGradColor				= 0x1301,	//     - Use Gradient Color
    1.25 +	Chunk_Edit_ShadowMapBias			= 0x1400,	//     - Shadow map bias
    1.26 +	Chunk_Edit_ShadowMapSize			= 0x1420,	//     - Shadow map size
    1.27 +	Chunk_Edit_ShadowMapSampleRange		= 0x1450,	//     - Shadow map sample range
    1.28 +	Chunk_Edit_RaytraceBias				= 0x1460,	//     - Raytrace bias
    1.29 +	Chunk_Edit_UseRaytrace				= 0x1470,	//     - Use Raytrace
    1.30 +	Chunk_Edit_AmbientColor				= 0x2100,	//     - Ambient Color
    1.31 +	Chunk_Edit_Fog						= 0x2200,	//     + Fog
    1.32 +	Chunk_Fog_FogColor					= 0x2210,	//	     - Fog Color
    1.33 +	Chunk_Edit_UseFog					= 0x2201,	//     - Use Fog
    1.34 +	Chunk_Edit_DistanceQue				= 0x2300,	//     + Distance que
    1.35 +	Chunk_Dist_DimBackground			= 0x2310,	//       - Dim Background
    1.36 +	Chunk_Edit_UseDistanceQue			= 0x2301,	//     - Use distance que
    1.37 +	Chunk_Edit_LayeredFogOptions		= 0x2302,	//     - Layered fog options
    1.38 +	Chunk_Edit_UseLayeredFog			= 0x2303,	//     - Use Layered Fog
    1.39 +	Chunk_Edit_MeshVersion				= 0x3D3E,	//     - Mesh Version
    1.40 +
    1.41 +	Chunk_Edit_Object					= 0x4000,	//     + Object
    1.42 +	Chunk_Obj_Hidden					= 0x4010,	//       - Hidden
    1.43 +	Chunk_Obj_DontCastShadows			= 0x4012,	//       - Object doesn't cast shadows
    1.44 +	Chunk_Obj_MatteObject				= 0x4013,	//       - Matte
    1.45 +	Chunk_Obj_ExternalProcessOn			= 0x4015,	//       - External Process on (?)
    1.46 +	Chunk_Obj_DontReceiveShadows		= 0x4017,	//       - doesn't reseive shadows
    1.47 +	Chunk_Obj_TriMesh					= 0x4100,	//       + TriMesh
    1.48 +	Chunk_TriMesh_VertexList			= 0x4110,	//         - Vertex List
    1.49 +	Chunk_TriMesh_FaceDesc				= 0x4120,	//         + Faces description
    1.50 +	Chunk_Face_Material					= 0x4130,	//           - Face Materials*
    1.51 +	Chunk_TriMesh_TexCoords				= 0x4140,	//         - Texture Coordinates
    1.52 +	Chunk_TriMesh_SmoothingGroup		= 0x4150,	//         - Smoothing group
    1.53 +	Chunk_TriMesh_WorldTransform		= 0x4160,	//         - Position and Orientation
    1.54 +	Chunk_TriMesh_Color					= 0x4165,   //         - Object color
    1.55 +	Chunk_TriMesh_ExternalProcessName	= 0x4181,	//         - External Process name (?)
    1.56 +	Chunk_TriMesh_ExternalProcessParams	= 0x4182,	//         - External Process parameters (?)
    1.57 +
    1.58 +	Chunk_Obj_Light						= 0x4600,	//       + Light
    1.59 +	Chunk_Light_SpotLight				= 0x4610,	//         + SpotLight
    1.60 +	Chunk_Spot_Raytrace					= 0x4627,	//           - Raytrace
    1.61 +	Chunk_Spot_CastShadows				= 0x4630,	//           - Light casts shadows
    1.62 +	Chunk_Spot_ShadowMap				= 0x4641,	//           - Shadow Map
    1.63 +	Chunk_Spot_ShowCone					= 0x4650,	//           - Show Cone
    1.64 +	Chunk_Spot_Rectangular				= 0x4651,	//           - Rectangular shaped spotlight
    1.65 +	Chunk_Spot_OverShoot				= 0x4652,	//           - Overshoot
    1.66 +	Chunk_Spot_ProjMap					= 0x4653,	//           - Projector Map
    1.67 +	Chunk_Spot_Roll						= 0x4656,	//           - Roll around dir
    1.68 +	Chunk_Spot_RaytraceBias				= 0x4658,	//           - Raytrace Bias
    1.69 +	Chunk_Light_Off						= 0x4620,	//         - Light is disabled
    1.70 +	Chunk_Light_Attenuation				= 0x4625,	//         - Attenuation enabled
    1.71 +	Chunk_Light_AttenuationStart		= 0x4659,	//         - Attenuation Start Range
    1.72 +	Chunk_Light_AttenuationEnd			= 0x465A,	//         - Attenuation End Range
    1.73 +	Chunk_Light_Intensity				= 0x465B,	//         - Light Intensity
    1.74 +
    1.75 +	Chunk_Obj_Camera					= 0x4700,	//       - Camera
    1.76 +	Chunk_Edit_ViewSettings				= 0x7001,	//     - View Settings
    1.77 +	Chunk_Edit_ViewDesc2				= 0x7011,	//     - View Description 2
    1.78 +	Chunk_Edit_ViewDesc1				= 0x7012,	//     - View Description 1
    1.79 +	Chunk_Edit_MeshWindows				= 0x7020,	//     - Mesh Windows (?)
    1.80 +
    1.81 +	Chunk_Edit_Material					= 0xAFFF,	//     + Material Block
    1.82 +	Chunk_Mat_Name						= 0xA000,	//       - Material Name
    1.83 +	Chunk_Mat_AmbientColor				= 0xA010,	//       - Ambient Color
    1.84 +	Chunk_Mat_DiffuseColor				= 0xA020,	//       - Diffuse Color
    1.85 +	Chunk_Mat_SpecularColor				= 0xA030,	//       - Specular Color
    1.86 +	Chunk_Mat_Specular					= 0xA040,	//       - Shininness (Specular Power)
    1.87 +	Chunk_Mat_SpecularIntensity			= 0xA041,	//       - Shininness Strength (specular intensity)
    1.88 +	Chunk_Mat_Transparency				= 0xA050,	//       - Transparency (alpha)
    1.89 +	Chunk_Mat_TransparencyFalloff		= 0xA052,	//       - Transparency Falloff
    1.90 +	Chunk_Mat_ReflectionBlur			= 0xA053,	//       - Reflection Blur
    1.91 +	Chunk_Mat_TwoSided					= 0xA081,	//       - Two Sided
    1.92 +	Chunk_Mat_AddTransparency			= 0xA083,	//       - ?
    1.93 +	Chunk_Mat_SelfIllumination			= 0xA084,	//       - Self Illumination (emissive)
    1.94 +	Chunk_Mat_Wireframe					= 0xA085,	//       - Render in wireframe
    1.95 +	Chunk_Mat_WireframeThickness		= 0xA087,	//       - Wire thickness
    1.96 +	Chunk_Mat_FaceMapping				= 0xA088,	//       - Apply maps to faces seperatly (ignore uv)
    1.97 +	Chunk_Mat_InTranc					= 0xA08A,	// ?
    1.98 +	Chunk_Mat_Soften					= 0xA08C,	//       - Soft Shading
    1.99 +	Chunk_Mat_WireUnits					= 0xA08E,	//       - Wire units (?)
   1.100 +	Chunk_Mat_RenderType				= 0xA100,	//       - Render Type
   1.101 +	Chunk_Mat_BumpMapPercent			= 0xA252,	//       - Bump map intensity
   1.102 +	Chunk_Mat_TextureMap				= 0xA200,	//       + Texture Map
   1.103 +	Chunk_Mat_TextureMap2				= 0xA33A,	//       + Texture Map 2
   1.104 +	Chunk_Mat_OpacityMap				= 0xA210,	//       + Opacity Map
   1.105 +	Chunk_Mat_BumpMap					= 0xA230,	//       + Bump Map
   1.106 +	Chunk_Mat_SpecularMap				= 0xA33C,	//       + Specular Intensity map
   1.107 +	Chunk_Mat_SpecularColorMap			= 0xA204,	//       + Specular color (texture) map
   1.108 +	Chunk_Mat_SelfIlluminationMap		= 0xA33D,	//       + Self Illumination Map
   1.109 +	Chunk_Mat_ReflectionMap				= 0xA220,	//       + Reflection Map
   1.110 +	Chunk_Mat_TextureMask				= 0xA33E,	//       - Texture Mask
   1.111 +	Chunk_Mat_Texture2Mask				= 0xA340,	//       - Texture 2 Mask
   1.112 +	Chunk_Mat_OpacityMask				= 0xA342,	//       - Opacity Mask
   1.113 +	Chunk_Mat_BumpMask					= 0xA344,	//       - Bump Mask
   1.114 +	Chunk_Mat_SpecularMask				= 0xA346,	//       - Specular Mask
   1.115 +	Chunk_Mat_SpecularColorMask			= 0xA348,	//       - Specular color mask
   1.116 +	Chunk_Mat_SelfIlluminationMask		= 0xA34A,	//       - Self Illumination mask
   1.117 +	Chunk_Mat_ReflectionMask			= 0xA34C,	//       - Reflection mask
   1.118 +
   1.119 +	// map subchunks								// -----------------------
   1.120 +	Chunk_Map_FileName					= 0xA300,	//         - Filename
   1.121 +	Chunk_Map_Params					= 0xA351,	//         - Parameters
   1.122 +	Chunk_Map_BlurPercent				= 0xA353,	//         - Blur ammount
   1.123 +	Chunk_Map_VScale					= 0xA354,	//         - Texture V Scale
   1.124 +	Chunk_Map_UScale					= 0xA356,	//         - Texture U Scale
   1.125 +	Chunk_Map_UOffset					= 0xA358,	//         - Texture U Offset
   1.126 +	Chunk_MAP_VOffset					= 0xA35A,	//         - Texture V Offset
   1.127 +	Chunk_Map_RotationAngle				= 0xA35C,	//         - Texture Rotation Angle
   1.128 +	Chunk_Map_RGBLumAlphaTint1			= 0xA360,	//         - RGB Luminance Alpha Tint 1
   1.129 +	Chunk_Map_RGBLumAlphaTint2			= 0xA362,	//         - RGB Luminance Alpha Tint 2
   1.130 +	Chunk_Map_RGBTintR					= 0xA364,	//         - RGB Tint R
   1.131 +	Chunk_Map_RGBTintG					= 0xA366,	//         - RGB Tint G
   1.132 +	Chunk_Map_RGBTintB					= 0xA368,	//         - RGB Tint B
   1.133 +	// map subchunks end							// -----------------------
   1.134 +
   1.135 +	Chunk_Main_Keyframer				= 0xB000,	//     + Keyframer Chunk
   1.136 +	Chunk_Key_AmbientInfo				= 0xB001,	//       - Ambient animation info
   1.137 +	Chunk_Key_MeshInfo					= 0xB002,	//       - Mesh animation info
   1.138 +	Chunk_Key_CameraInfo				= 0xB003,	//       - Camera animation info
   1.139 +	Chunk_Key_CameraTargetInfo			= 0xB004,	//       - Camera Target animation info
   1.140 +	Chunk_Key_OmniLightInfo				= 0xB005,	//       - Omni Light animation info
   1.141 +	Chunk_Key_SpotLightTargetInfo		= 0xB006,	//       - Spotlight target animation info
   1.142 +	Chunk_Key_SpotLightInfo				= 0xB007,	//       - Spotlight animation info
   1.143 +	Chunk_Key_Frames					= 0xB008,	//       - Animation Frames
   1.144 +
   1.145 +	// animation information subchunks				// -----------------------
   1.146 +	Chunk_Info_Object					= 0xB010,	//         - Object information
   1.147 +	Chunk_Info_ObjectPivot				= 0xB013,	//         - Object Pivot
   1.148 +	Chunk_Info_ObjectMorphAngle			= 0xB015,	//         - Object Morph Angle
   1.149 +	Chunk_Info_PositionTrack			= 0xB020,	//         - Position Track
   1.150 +	Chunk_Info_RotationTrack			= 0xB021,	//         - Rotation Track
   1.151 +	Chunk_Info_ScaleTrack				= 0xB022,	//         - Scaling Track
   1.152 +	Chunk_Info_FOVTrack					= 0xB023,	//         - FOV Track
   1.153 +	Chunk_Info_RollTrack				= 0xB024,	//         - Roll Track
   1.154 +	Chunk_Info_ColorTrack				= 0xB025,	//         - Color Track
   1.155 +	Chunk_Info_MorphTrack				= 0xB026,	//         - Morph Track
   1.156 +	Chunk_Info_HotSpotTrack				= 0xB027,	//         - HotSpot Track
   1.157 +	Chunk_Info_FalloffTrack				= 0xB028,	//         - Falloff Track
   1.158 +	Chunk_Info_HideTrack				= 0xB029,	//         - Hide Track
   1.159 +	Chunk_Info_HierarchyPosition		= 0xB030	//         - Hierarchy Position
   1.160 +};
   1.161 +
   1.162 +#endif	// _3DSCHUNKS_H_
   1.163 +