Site Tools

en:nel_files
Cette page n'est pas tagué correctement.

Nel files

This page is used to document all the different classes that can be serialized to/from a file.

For now only the Classes necessary to .shape file formats are documented, more Classes are in progress. — Sit Melai 2016/12/18 02:08

Basic Classes/Types

To start some base classes that will be reused a lot:

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

Version
   - 1 byte number, ver
     if ver = 0xFF
     - 4 bytes number, ver

Double
   - 8 bytes number

Float
   - 4 bytes number

Bool
   - 1 byte number

String (Length encoded)
   - 4 bytes number, len
   - len bytes string

RGBA
   - 1 byte number r (0 - 255)
   - 1 byte number g (0 - 255)
   - 1 byte nubmer b (0 - 255)
   - 1 byte number a (0 - 255)

2DVector
   - Float x
   - Float y

3DVector
   - Float x
   - Float y
   - Float z

4DVector
   - Float a
   - Float b
   - Float c
   - Float d

PolyPtr
   - 8 bytes number, an id
   - if id not in file yet
      - String, classname
      - classname

Enums

All enums used by the classes:

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

TPreferredMemory:
	 RAMPreferred, // A block of driver RAM memory is allocated for this buffer. The buffer is read/write.
	 AGPPreferred, // A block of driver AGP memory is allocated for this buffer. The buffer is writeonly.
	 StaticPreferred, // The buffer will not be modified. A block of driver AGP or VRAM memory is allocated for this buffer. The buffer is writeonly.
	 RAMVolatile, // A block of temporary driver RAM memory will be returned by lock(). The buffer must be entirely filled after each swapBuffers(). The buffer is writeonly.
	 AGPVolatile // A block of temporary driver AGP memory will be returned by lock(). The buffer must be entirely filled after each swapBuffers(). The buffer is writeonly.

TCameraCollisionGenerate
	/** If AutoCameraCol, meshs will build the cameracollision mesh only if the mesh is lightmapped
	 *	if NoCameraCol, the cameracollision won't be generated
	 *	if ForceCameraCol, the cameracollision will be generated whether lightmaped or not (as long as possible)
	 */
	 AutoCameraCol,
	 NoCameraCol,
	 ForceCameraCol

TShader:

	/**
	 * Normal shader:
	 *	- use simple multitexturing. see texEnv*() methods.
	 * Bump:
	 *	- not implemented yet.
	 * UserColor:
	 *	- UserColor (see setUserColor()) is blended with precomputed texture/textureAlpha.
	 *	- Alpha Blending ignore Alpha of texture (of course :) ), but use Alpha diffuse (vertex/material color).
	 * LightMap:
	 *	- Texture of stage 0 is blended with sum of lightmaps (see setLightmap()). Vertex Color (or color, or lighting)
	 *	doesn't affect the final result (neither diffuse part nor specular part).
	 *	Blending is special. If enabled, Lightmap shader apply a standard transparency srcalpha/invsrcalpha.
	 *	- NB: if no texture in stage 0, undefined result.
	 *	- UV0 is the UV for decal Texture. UV1 is the UVs for all the lightmaps.
	 * Specular:
	 *  - Texture of stage 0 is added to the multiplication of Texture Alpha of stage 0 and Texture of stage 1
	 *  - This is done in 2 passes
	 * PerPixelLighting :
	 *  - When not supported by the driver, this is equivalent to the normal shader. This can be querried from the driver
	 *  - When supported by the driver, the strongest light is rendered using per pixel lighting. The last tex coordinate must be the S vector
	 *    of the tangent space basis (oriented in the direction where the s texture coords grows). Other lights are rendered using gouraud shaing. The light setup is done in the driver.
	 * PerPixelLighting : The same as PerPixelLighting but with no specular
	 * Caustics: NOT IMPLEMENTED
	 * Cloud :
	 * - Alpha of texture in stage 0 is blended with alpha of texture in stage 1. Blend done with the alpha color of each
	 * stage and the whole is multiplied by the alpha in color vertex [AT0*ADiffuseCol+AT1*(1-ADiffuseCol)]*AStage
	 * - RGB still unchanged
	 * Water :
	 * - Water
	 */
	 Normal,
	 Bump,
	 UserColor,
	 LightMap,
	 Specular,
	 Caustics,
	 PerPixelLighting,
	 PerPixelLightingNoSpec,
	 Cloud,
	 Water

TBlend
	/** Blend enums. see setSrcBlend()/setDstBlend()/setBlendFunc().
	 *	blendConstant* enums are only valid if driver->supportBlendConstantColor().
	 *	\see IDriver::supportBlendConstantColor()
	 */
	 one,
	 zero,
	 srcalpha,
	 invsrcalpha,
	 srccolor,
	 invsrccolor,
	 blendConstantColor,
	 blendConstantInvColor,
	 blendConstantAlpha,
	 blendConstantInvAlpha

ZFunc
	 always,
	 never,
	 equal,
	 notequal,
	 less,
	 lessequal,
	 greater,
	 greaterequal

TUploadFormat
	 Auto= 0,
	 RGBA8888,
	 RGBA4444,
	 RGBA5551,
	 RGB888,
	 RGB565,
	 DXTC1,
	 DXTC1Alpha,
	 DXTC3,
	 DXTC5,
	 Luminance,
	 Alpha,
	 AlphaLuminance,
	 DsDt

TWrapMode
	 Repeat,
	 Clamp

TMinFilter
	 NearestMipMapOff,
	 NearestMipMapNearest,
	 NearestMipMapLinear,
	 LinearMipMapOff,
	 LinearMipMapNearest,
	 LinearMipMapLinear

TMagFilter
	 Nearest,
	 Linear

TType (Point Light)
		PointLight, // The light is a point.
		SpotLight, // The light is a spotlight with a cone.
		AmbientLight // The light is an Ambient PointLight in an Ig.

List

Here's a list with all serializable classes from 3d part of nel:

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

CMaterialBase::CAnimatedTexture			// done		
CMaterialBase 					// done				V: 1
CMorphBase					// done				V: -
CBoneBase					// done				V: 2
CFlareShape					
CHLSColorDelta					
CHLSColorTexture::CMask				
CHLSColorTexture				
CHLSTextureBank					
CHLSTextureBank::CTextureInstance		
CIGSurfaceLight					
CIndexBuffer					// done				V: 2
CLodCharacterShapeBuild				
CLodCharacterShape::CAnim			
CLodCharacterShape::CBoneInfluence		
CLodCharacterShape				
CLodCharacterShapeBank				
CLodCharacterTexture				// done				V: 0
CLodCharacterTexture::CTUVQ			// done				V: -
CMaterial					// done				V: 9
CMaterial::CLightMap(_old)			// done				V: 1
CMaterial::CTexEnv				// done				V: -
CMeshGeom					// done				V: 4
CMesh::CCorner					
CMesh::CFace					
CMesh::CSkinWeight				// done				V: -
// commented out: not used CMesh::CMeshBuild				
CMesh						// done				V: 6
CMeshBase::serialMeshBase			// done (not standardized)	V: 9
CMeshBase::CMeshBaseBuild
CMeshMRMGeom::CLod				// done				V: 2
CMeshMRMGeom					// done				V: 5 (LodVertexData V: 1)
CMeshMRM					// done				V: 0
CMeshMRMSkinnedGeom::CLod			// done				V: 0
CMeshMRMSkinnedGeom			   	// done				V: 0
CMeshMRMSkinned				   	// done				V: 0
CMeshMRMSkinnedGeom::CPackedVertexBuffer	// done				V: 0
CMeshMRMSkinnedGeom::CPackedVertexBuffer::CPackedVertex  // done		V: 0
CMeshMultiLod					// done	    			V: 0
CMeshMultiLod::CMeshSlot			// done				V: 0
CMeshVPPerPixelLight				// done				V: 0
CMeshVPWindTree					// done				V: 0
CBlendShape					// done				V: 1
CMeshMorpher					// done				V: 0
CPackedWorld					
CPackedZone32					
CPackedZone16					
CParticleSystem					
CParticleSystemProcess				
CParticleSystemShape				
CPatch						// done				V: 7
CPointLight					// done				V: 2
CPointLightNamed				// done				V: 1
CPointLightNamedArray				// done				V: 1
CPSAttribMakerMemory<uint32>			
CPSAttribMakerMemory<sint32>			
CPSAttribMakerMemory<float>			
CPSColorMemory					
CPSColorBinOp					
CPSDot						
CPSEmitter					
CPSEmitterOmni					
CPSEmitterDirectionnal				
CPSEmitterRectangle				
CPSEmitterConic					
CPSSphericalEmitter				
CPSRadialEmitter				
CPSFace						
CPSFaceLookAt					
CPSFanLight					
CPSFloatCurveFunctor				
CPSForce					
CPSForceIntensityHelper				
CPSDirectionnalForce				
CPSGravity					
CPSCentralGravity				
CPSSpring					
CPSCylindricVortex				
CPSMagneticForce				
CPSBrownianForce				
CPSLight					
CPSLocated					
CPSLocatedBindable				
CPSTargetLocatedBindable			
CPSMesh						
CPSConstraintMesh				
CPSConstraintMesh::CGlobalTexAnim		
CPSConstraintMesh::CGlobalTexAnims		
CSpinnerFunctor					
CPSQuad						
CPSRibbon					
CPSRibbonBase					
CPSRibbonLookAt					
CPSShockWave					
CPSSound					
CPSTailDot					
CPSZone						
CPSZonePlane					
CPSZoneSphere					
CPSZoneDisc					
CPSZoneCylinder					
CPSZoneRectangle				
CSegRemanenceShape				
CShapeStream					// done				V: -
CSkeletonShape::CLod				// done				V: 0
CSkeletonShape					// done				V: 1
CSurfaceLightGrid				
ITexture					// done				V: 1
CTextureBlend					
CTextureBump					
CTextureCube					// done				V: 2
CTextureEmboss					
CTextureFile					// done				V: 1
CTextureGrouped					
CTextureMultiFile				// done				V: 0
CTileLand					
CTileBank					
CTile						
CTileSet					
CTileBorder					
CTileElement					// done				V: -
CTileFarBank::CTileFar				
CTileFarBank					
CTileLightInfluence				// done				V: -
CTileNoiseMap					
CTileVegetableDesc				
CTrackSampledCommon::CTimeBlock			// done				V: 0
CTrackSampledCommon::serialCommon		// done (not standardized)	V: 0
CTrackSampledQuat				// done	     			V: 1
CTrackSampledVector				// done				V: 0
CVegetable					
CVegetableShape					
CVertexBuffer					// done				V: 2
CVertexBuffer::Header				// done (not standardized)	V: 3
CVertexBuffer::Subset				// done (not standardized	V: 2
CPaletteSkin					// done	     			V: -
CWaterHeightMap					
CWaterPoolManager				
CWaterShape					
CWaveMakerShape					
CBorderVertex					// done				V: 0
CZone::CPatchConnect				// done				V: 1
CPatchInfo::CBindInfo				// done				V: 0
CZone						// done				V: 4
CTexAnimTracks					// done				V: 0
CIGSurfaceLight									V: 1
CLodCharacterShapeBuild::CPixelInfo					
CLodCharacterShape::CVector3s			
CLodCharacterShape::CVertexInf			
CMeshGeom::CMatrixBlock				// done				V: 0
CMeshGeom::CRdrPass				// done				V: 0
CMeshBase::CMatStageV7				// done				V: -
CMeshBase::CLightInfoMapListV7			// done				V: -
CMeshBase::CLightMapInfoList			// done				V: 0
CMeshBase::CLightMapInfoList::CMatStage		// done				V: 0
CMeshMRMGeom::CRdrPass				// done				V: 0
CMeshMRMGeom::CVertexBlock			// done				V: -
CMehsMRMGeom::CLodInfo				// done				V: 0	
CMeshMRMSkinnedGeom::CRdrPass			// done				V: 0
CMeshMRMSkinnedGeom::CVertexBlock		// done				V: -
CMRMWedgeGeom					// done				V: -
CPackedWorld::CZoneInfo					
CPackedWorld::CZoneIndexList					
CPackedVertex					
CPackedTri					
CPackedTri16					
CVector3s					// done				V: -
CPointLightNamedArray::CPointLightGroup		// done				V: 0
CPointLightNamedArray::CPointLightGroupV0	// done				V: -
CSnappedVector					
CPSAttrib<T>					
CPSInputType					
CPSAttribMaker					
CPSAttribMakerT					
CPSAttribMakerMemoryBase			
CPSValueBlendFunc				
CPSValueBlendSampleFunc				
CPSValueBlendFuncRGBA				
CPSValueBlendSampleFuncRGBA			
CPSValueGradientFuncRGBA			
CPSAttribMakerRGBA				
CCtrlPoint					
CPSForceIntensityHelper				
CIsotropicForceT				
CPSFluidFrictionFunctor				
CPSFluidFriction				
CPSTurbulForceFunc				
CPSTurbul					
CPSParticle					
CPlaneBasis					
CPSPlaneBasisFollowSpeed			
CRadiusPair					
CShadowVertex					// done				V: 0
CSurfaceLightGrid				
CTileColor					// done				V: -
CTileColorOldPatchVersion6			// done				V: -
CQuatPack					// done				V: -
ITrackKeyFramer (template)			// done				V: 0
CTrackKeyFramerLinearQuat			// done				V: -
CTrackKeyFramerLinearVector			// done				V: -
CTrackKeyFramerTCBQuat				// done				V: -
CKey						// done				V: 0
CKeyTCB						// done				V: 0
CTrackDefaultVector				// done				V: -
CTrackDefaultQuat				// done				V: -
CTrackDefaultBlendable				// done				V: 0

And some of the serializable classes from other parts than 3d:

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

CAABBox						// done				V: 0
CAABBoxExt					// done				V: -
CMatrix						// done				V: 0
CUV						// done				V: -
CRGBAF						// done				V: -

The Documentation

And finally the documentation of all the types. In the list above you see which classes are documented for now and what Version they are in (if you want to write an exporter).

So here are the ones from 3d part:

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

CMaterialBase::CAnimatedTexture
   - PolyPtr (ITexture), Texture

CMaterialBase
   - Version, ver (1)
   - String, Name
   - Version
   - RGBA, Default Ambient
   - Version
   - RGBA, Default Diffuse
   - Version
   - RGBA, Default Specular
   - Version
   - Float, Shininess
   - Version
   - RGBA, Default Emissive
   - Version
   - Float, Default Opacity
   - Version
   - 4 bytes number, Default Texture
   - 4 bytes number, Number Elements
   0 to Number Elements
      - 4 bytes number, key
      - CMaterialBase::CAnimatedTexture, value
      - map key to value
   - ver greater 0
      0 to IDRV_MAT_MAX_TEXTURES (4)
         - CTexAnimTracks

CMorphBase
   - String, Name

CBoneBase
   - Version, ver (2)
   - String, Name
   - CMatrix, Inv Bind Position
   - 4 bytes number, Father Id
   - Bool, Unherit Scale
   - ver greater/equal to 1
      - Float, Lod Disable Distance
   - Version
   - 3DVector, Default Position
   - Version
   - 3DVector, Default Rot Euler
   - Version
   - 4DVector, Default Rot Quat
   - Version
   - 3DVector, Default Scale
   - Version
   - 3DVector, Default Pivot
   - ver greater/equal to 2
      - 3DVector, Skin Scale

CIndexBuffer
   - Version, ver (2)
   - ver smaller 1
      - 4 bytes number, Number
      - 4 bytes number, Capacity
      - 4 bytes number, Number Indexes
      0 to Number Indexes
         - 4 bytes number, Index
      - 4 bytes number, Number
      - 4 bytes number, Capacity
      - 4 bytes number, Number nonResidentIndexes
      0 to Number nonResidentIndexes
         - 4 bytes number, nonResidentIndex
      - 4 bytes number, Number
      - 4 bytes number, Capacity
      - 4 bytes number, Number Indexes
      0 to Number Indexes
         - 4 bytes number, Index
   - ver greater/equal 1
      - 4 bytes number, Number Indexes
      - 4 bytes number, Capacity
      - 4 bytes number, Number nonResidentIndexes
      0 to Number nonResidentIndexes
         - 4 bytes number, nonResidentIndex
      - 4 bytes number, index
         index in TPreferredMemory
      - ver equal to 1
         0 to PreferredCount (5)
	    - Bool, old Format Memory Preference

CLodCharacterTexture
   - Version (0)
   - 4 bytes number, Width // must be equal to NL3D_CLOD_TEXT_WIDTH
   - 4 bytes number, Height // must be equal to NL3D_CLOD_TEXT_HEIGHT
   - 4 bytes number, Number Points
   0 to Number Points
      - CTUVQ

CTUVQ
   - 1 byte number, T // This is an index on the material in the Mesh. The stage0 texture is taken from this material.
   - 1 byte number, U // This is the compressed UV which index the pixel in the
   - 1 byte number, V // texture. NB: Ignored if the material is not textured.
   - 1 byte number, Q // The lower, the better. This said how near this pixel is from the shape vertex.

CMaterial
   - Version (9)
   - 4 bytes number, index
      index in TShader:
   - 4 bytes number, flags
   - 4 bytes number, index
      index in TBlend, Source Blenders
   - 4 bytes number, index
      index in TBlend, Destination Blenders
   - 4 bytes number, index
      index in ZFunc
   - Float, ZBias
   - RGBA, Color
   - RGBA, Emissive
   - RGBA, Ambient
   - RGBA, Diffuse
   - RGBA, Specular
   - ver greater/equal to 2
      - Float, Shininess
   - ver greater/equal to 5
      - Float, AlphaTestThreshold
   - ver greater/equal to 8
      - 2 bytes number, Texture Coordinate Generation Mode
   0 to IDRV_MAT_MAXTEXTURES (4)
      - PolyPtr (ITexture), Texture
      - ver greater/equal to 1
         - CMaterial::CTexEnv (ver greater/equal 9 -> 1 , otherwise 0)
   - ver greater/equal to 3
      - ver greater/equal to 7
         - 4 bytes number, Number of Light Maps
            0 to Number of Light Maps
            - CMaterial::CLightMap_old
         - Bool // multiply x 2 mode to burn colors (used with lightmaps 8 bits)
      - ver smaller 7
         - 4 bytes number, Number of Light Maps
	    0 to Number of Light Maps
	    - CMaterial::CLightMap
   - ver greater/equal to 4
      - flags bit 11 set
         0 to Max Textures (4)
	 - 1 byte number, Texture Address Mode
   - ver greater/equal to 6
      0 to Max Textures (4), i
      - flags bit 21+i set
         - CMatrix, Texture User Mat

CMaterial::CLightMap_old
   - RGBA, Factor
   - PolyPtr (ITexture), Texture

CMaterial::CLightMap
   - Version, ver (1)
   - RGBA, Factor
   - RGBA, LMCDiffuse
   - ver greater/equal to 1
      - RGBA, LMCAmbient
   - PolyPtr (ITexture), Texture

CMaterial::CTexEnv ver
   - 1 byte number, Color Operand
   - 1 byte number, Color Argument 0
   - 1 byte number, Color Operand 0
   - 1 byte number, Color Argument 1
   - 1 byte number, Color Operand 1
   - ver greater 0
      - 1 byte number, Color Argument 2
      - 1 byte number, Color Operand 2
   - 1 byte number, Alpha Operand
   - 1 byte number, Alpha Argument 0
   - 1 byte number, Alpha Operand 0
   - 1 byte number, Alpha Argument 1
   - 1 byte number, Alpha Operand 1
   - ver greater 0
      - 1 byte number, Alpha Argument 2
      - 1 byte number, Alpha Operand 2
   - RGBA, Constant Color


CMeshGeom
   - Version, ver (4)
   - ver bigger/equal to 4
      - 4 bytes number, Number Bone Names
      0 to Number Bone Names
	 - String, Bone Name
   - ver bigger/equal to 3
      - PolyPtr (IMeshVertexProgram = CMeshVPWindTree/CMeshVPPerPixelLight), Mesh Vertex Program
   - ver bigger/equal to 1
      - CMeshMorpher, Mesh Morpher
   - CVertexBuffer, VBuffer
   - 4 bytes number, Number Matrix Blocks
      0 to Number Matrix Blocks
      - CMeshGeom::CMatrixBlock
   - CAABBox, BBox
   - Bool, Skinned

CMesh::CSkinWeight
   0 to NL3D_MESH_SKINNING_MAX_MATRIX (4), i
      - 4 bytes number, MatrixId[i]
      - Float, Weights[i] // sum of all 4 must be 1

CMesh
   - Version, ver (6)
   - ver greater/equal to 6
      - CMeshBase
      - CMeshGeom
   - ver smaller 6
      - too old

CMeshBase
   - Version, ver (9)
   - ver greater/equal to 2
      - 4 bytes number, Number Animated Morphs
      0 to Number Animated Morphs
         - String, Material Name
   - ver bigger than 1
      - Version
      - 3DVector, Default Position
      - Version
      - 3DVector, Default Pivot
      - Version
      - 3DVector, Default Rotation Euler
      - Version
      - 4DVector, Default Rotation Quat
      - Version
      - 3DVector, Default Scale
      - 4 bytes number, Number Materials
         0 to Number Materials
      	 - CMaterial
      - 4 bytes number, Number Elements
      	 0 to Number Elements
      	 - 4 bytes number, key
      	 - CMaterialBase, value
      	 - map key to value
      - ver bigger/equal to 8 // Map m maps light name to map p
                              // Map p maps index to matnumber and stage number
      	 - 4 bytes number, Number Lights
         0 to Number Lights
	    - CMeshBase::CLightMapInfoList
      - ver smaller than 8 // Map m maps light name to map p
                           // Map p maps index to matnumber and stage number
         - 4 bytes number, Number Lights
	 0 to Number Lights
	    - String, key
	    - 4 bytes number, num
	    0 to num, i
	       - 1 byte number, value[i]["MatNumber"]
	       - 1 byte number, value[i]["StageNumber"]
	    - map key to value[][]
      - ver bigger/equal to 3
         - Bool, Lightable
      - ver bigger/equal to 4
         - Bool, Use Lighting Local Attenuation
      - ver bigger/equal to 5
         - Bool, Auto Anim
      - ver bigger/equal to 6
         - Float, Max Distance
      - ver bigger/equal to 7
         - 8 bytes number, id
	 - if id not read yet
	    - CLodCharacterTexture
      - ver bigger/equal to 9
         - 4 bytes number, index
	    index in CameraCollisionGenerate

CMeshMRMGeom::CLod
   - Version, ver (2)
   - 4 bytes number, Number Wedges
   - 4 bytes number, Number RdrPasses
   0 to Number RdrPasses
      - CMeshMRMGeom::CRdrPass
   - 4 bytes number, Number Geomorphs
   0 to Number Geomorphs
      - CMRMWedgeGeom
   - 4 bytes number, Number Matrix Influences
   0 to Number Matrix Influences
      - 4 bytes number, Matrix Influencing this Lod
   0 to NL3D_MESH_SKINNING_MAX_MATRIX (4) // 0th for vertices with one matrix, 1st for vertices with two matrices ...
      - 4 bytes number, Number Influenced Vertices
      0 to Number Influenced Vertices
         - 4 bytes number, Influenced Vertice
   - ver greater/equal to 1
      - 4 bytes number, Number Skin Vertex Blocks
      0 to Number Skin Vertex Blocks
         - CMeshMRMGeom::CVertexBlock

CMeshMRMGeom
   - Version, ver (5)
   - ver greater/equal to 3
      - 4 bytes number, Number Bones
      0 to Number Bones
         - String, Bone Name
   - ver greater/equal to 2
      - PolyPtr (IMeshVertexProgram = CMeshVPPerPixelLight/CMeshVPWindTree), Mesh Vertex Program
   - ver greater/equal to 1
      - CMeshMorpher, Mesh Morpher
   - Bool, Skinned
   - CAABBox, BBox
   - 4 bytes number, Maximal Face Used // For Load balancing, the max number of faces this MRM use.
   - 4 bytes number, Minimum Face Used // For Load balancing, the min number of faces this MRM use.
   - Float, Distance Finest // The MRM has its max faces when dist<=DistanceFinest. Must be bigger than 0.
   - Float, Distance Middle // The MRM has 50% of its faces at dist==DistanceMiddle. Must be smaller/equal to Distance Finest.
   - Float, Distance Coarsest // The MRM has faces/Divisor when dist>=DistanceCoarsest. Must be smaller/equal to Distance Middle.
   - Float, OO Distance Delta // compiled info (public for faster serial)
   - Float, Distance Pow // compiled info (public for faster serial)
   - 4 bytes number, Number Lod Infos
   0 to Number Lod Infos, l
      - CMeshMRMGeom::CLodInfo, LodInfos[l]
   - 4 bytes number, Number Wedges
   - CVertexBuffer::Header
   - ver greater/equal to 4
      - 4 bytes number, Number Skin Weights
      0 to Number Skin Weights
         - CMesh::CSkinWeight
   - ver greater/equal to 5 // Shadow Skin Information
      - 4 bytes number, Number Vertices
      0 to Number Vertices
         - CShadowVertex
      - 4 bytes number, Number Triangles
      0 to Number Triangles
         - 4 bytes number, Triangle
   Current position in file = startPos
   0 to Number Lod Infos
      - 4 bytes number, Relative Lod Offset // absolute Lod offset = startPos + Relative Lod Offset
   0 to Number Lod Infos, i
      - CMeshMRMGeom::CLod, Lod Face Data
      - Version, lver (1)
      // startWedge = LodInfos[i].StartAddWedge, endWedge = LodInfos[i].EndAddWedges
      - CVertexBuffer::Subset startWedge endWedge
      - Skinned
         - lver smaller 1
	    startWedge to endWedge
	       - CMesh::CSkinWeight

CMeshMRM
   - Version (0)
   - CMeshBase::serialMeshBase
   - CMeshMRMGeom, MeshMRMGeom

CMeshMRMSkinnedGeom::CLod
   - Version, ver
   - 4 bytes number, Number Wedges
   - 4 bytes number, Number RdrPasses
   0 to Number RdrPasses
      - CMeshMRMSkinnedGeom::CRdrPass
   - 4 bytes number, Number Geomorphs
   0 to Number Geomorphs
      - CMRMWedgeGeom
   - 4 bytes number, Number Matrix Influences
   0 to Number Matrix Influences
      - 4 bytes number, Matrix Influencing this Lod
   0 to NL3D_MESH_SKINNING_MAX_MATRIX (4) // 0th for vertices with one matrix, 1st for vertices with two matrices ...
      - 4 bytes number, Number Influenced Vertices
      0 to Number Influenced Vertices
         - 4 bytes number, Influenced Vertice

CMeshMRMSkinnedGeom
   - Version (0)
   - 4 bytes number, Number Bones
   0 to Number Bones
      - String, Bone Name
   - CAABBox, BBox
- 4 bytes number, Maximal Face Used // For Load balancing, the max number of faces this MRM use.
   - 4 bytes number, Minimum Face Used // For Load balancing, the min number of faces this MRM use.
   - Float, Distance Finest // The MRM has its max faces when dist<=DistanceFinest. Must be bigger than 0.
   - Float, Distance Middle // The MRM has 50% of its faces at dist==DistanceMiddle. Must be smaller/equal to Distance Finest.
   - Float, Distance Coarsest // The MRM has faces/Divisor when dist>=DistanceCoarsest. Must be smaller/equal to Distance Middle.
   - Float, OO Distance Delta // compiled info (public for faster serial)
   - Float, Distance Pow // compiled info (public for faster serial)
   - CMeshMRMSkinnedGeom::CPackedVertexBuffer
   - 4 bytes number, Number Vertices
      0 to Number Vertices
         - CShadowVertex
      - 4 bytes number, Number Triangles
      0 to Number Triangles
         - 4 bytes number, Triangle
   - 4 bytes number, Number Lods
   0 to Number Lods
      - CMeshMRMSkinnedGeom::CLod

CMeshMRMSkinned
   - Version (0)
   - CMeshBase::serialMeshBase
   - CMeshMRMSkinnedGeom, Mesh MRM Geom

CMeshMRMSkinnedGeom::CPackedVertexBuffer
   - Version (0)
   - 4 bytes number, Number Packed Buffers
   0 to Number Packed Buffers
      - CMeshMRMSkinnedGeom::CPackedVertexBuffer::CPackedVertex
   - Float, Decompact Scale

CMeshMRMSkinnedGeom::CPackedVertexBuffer::CPackedVertex
   - Version (0)
   - 2 bytes number, X (un/pack: uX = X * factor)
   - 2 bytes number, Y (un/pack: uY = Y * factor)
   - 2 bytes number, Z (un/pack: uZ = Z * factor)
   - 2 bytes number, Nx (un/pack: uNx = Nx * (1/NL3D_MESH_MRM_SKINNED_NORMAL_FACTOR (32767)))
   - 2 bytes number, Ny (un/pack: uNy = Ny * (1/NL3D_MESH_MRM_SKINNED_NORMAL_FACTOR (32767)))
   - 2 bytes number, Nz (un/pack: uNx = Nz * (1/NL3D_MESH_MRM_SKINNED_NORMAL_FACTOR (32767)))
   - 2 bytes number, U (un/pack: uU = U * (1/NL3D_MESH_MRM_SKINNED_UV_FACTOR (8192)))
   - 2 bytes number, V (un/pack: uV = V * (1/NL3D_MESH_MRM_SKINNED_UV_FACTOR (8192)))
   0 to NL3D_MESH_MRM_SKINNED_MAX_MATRIX (4)
      - 1 byte number, Matrices[i]
      - 1 byte number, Weights[i] (un/pack: uWeight = Weights[i] * (1/NL3D_MESH_MRM_SKINNED_WEIGHT_FACTOR (255)))

CMeshMultiLod
   - Version (0)
   - CMeshBase::serialMeshBase
   - Bool, StaticLod
   - 4 bytes number, Number Mesh Slots
   0 to Number Mesh Slots
      - CMeshMultiLod::CMeshSlot

CMeshMultiLod::CMeshSlot
   - Version (0)
   - PolyPtr (IMeshGeom = CMeshGeom/CMeshMRMGeom/CMeshMRMSkinnedGeom), MeshGeom
   - Float, A
   - Float, B
   - Float, DistMax
   - Float, End Polygon Count
   - Float, Blend Length
   - 1 byte number, Flags

CMeshVPPerPixelLight
   - Verison (0)
   - Bool, Specular Lighting

CMeshVPWindTree
   - Version (0)
   0 to HrcDepth (3)
      - Float, Frequency
      - Float, Frequency Wind Factor
      - Float, Power XY
      - Float, Power Z
      - Float, Bias
   - Bool Specular Lighting

CBlendShape
   - Version, ver (1)
   - String, Name
   - 4 bytes number, Number Delta Positions
   0 to Number Delta Positions
      - 3DVector, Delta Position
   - 4 bytes number, Number Delta Norm
   0 to Number Delta Norm
      - 3DVector, Delta Norm
   - 4 bytes number, Number Delta UV
   0 to Number Delta UV
      - CUV, Delta UV
   - 4 bytes number, Number Delta Color
   0 to Number Delta Color
      - CRGBAF, Delta Color
   - ver greater/equal to 1
      - 4 bytes number, Number Delta Tg Space
      0 to Number Delta Tg Space
         - 3DVector, Delta Tg Space
   - 4 bytes number, Number Vertex References
   0 to Number Vertex References
      - 4 bytes number, Vertex Reference

CMeshMorpher
   - Version (0)
   - 4 bytes number, Number Blend Shapes
   0 to Number Blend Shapes
      - CBlendShape

CPatch
   - Version, ver (7)
   - ver smaller 2
      - not supported anymore
   - ver greater/equal to 2
      0 to 4
         - CVector3s, Vertex
      0 to 8
         - CVector3s, Tangent
      0 to 4
         - CVector3s, Interior
      - 4 bytes number, Number Tiles
      0 to Number Tiles
         - CTileElement
      - ver smaller/equal to 6
         - 4 bytes number, Number Tile Colors
	 0 to Number Tile Colors
	    - CTileColorOldPatchVersion6
      - ver greater 6
         - 4 bytes number, Number Tile Colors
	 0 to Number Tile Colors
	    - CTileColor
      - 1 byte number, Order S
      - 1 byte number, Order T
      - 4 bytes number, Number Compressed Lumels
      0 to Number Compressed Lumels
         - 1 byte number, Compressed Lumel
      - ver greater/equal to 3
         - 1 byte number, Noise Rotation // The orientation of the NoiseMap. 0,1,2,3. This represent a CCW rotation of the NoiseMap.
	 - 1 byte number, Corner Smooth Flag
      - ver greater/equal to 4
         - 1 byte number, Flags
      - ver greater/equal to 5
         - 4 bytes number, Number Tile Light Influences
	 0 to Number Tile Light Influences
	    - CTileLightInfluence

CPointLight
   - Version, ver (2)
   - ver greater/equal to 2
      - Bool, Add Ambient With Sun
   - ver greater/equal to 1
      - 4 bytes number, index
         index in TType
      - 3DVector, Spot Direction
      - Float, Spot Angle Begin
      - Float, Spot Angle End
   - 3DVector, Position
   - RGBA, Ambient
   - RGBA, Diffuse
   - RGBA, Specular
   - Float, Attenuation Begin
   - Float, Attenuation End

CPointLightNamed
   - Version, ver (1)
   - CPointLight
   - String, Animated Light
   - RGBA, Default Ambient
   - RGBA, Default Diffuse
   - RGBA, Default Specular
   - ver greater/equal to 1
      - 4 bytes number, Light Group

CPointLightNamedArray
   - Version, ver (1)
   - 4 bytes number, Number Point Lights
   0 to Number Point Lights
      - CPointLightNamed
   - ver equal 0
      - 4 bytes number, Number Point Light Groups
      0 to Number Point Light Groups
         - String, Key
	 - CPointLightNamedArray::CPointLightGroupV0, Point Light Group
	 - map Key to Point Light Group
   - ver greater 0
      - 4 bytes number, Number Point Light Groups
      0 to Number Point Light Groups
         - CPointLightNamedArray::CPointLightGroup

CSkeletonShape
   - Version, ver (1)
   - 4 bytes number, Number Bones
   0 to Number Bones
      - CBoneBase
   - 4 bytes number, Number Elements
   0 to Number Elements
      - String, key
      - 4 bytes number, value
      - map key to value // Bone Map
   - ver greater/equal to 1
      - 4 bytes number, Number Lods
      0 to Number Lods
         - CSkeletonShape::CLod
   - ver smaller 1
      // default Lod = all bones activated

CShapeStream
   - 4 bytes that are "SHAP"
   - PolyPtr (IShape)

CSkeletonShape::CLod
   - Version (0)
   - Float, Distance
   - 4 bytes number, Number Bones
   0 to Number Bones
      - 1 byte number, Active Bone // active if 0xFF, else 0

ITexture
   - Version, ver (1)
   - 4 bytes number, index
      index in TUploadFormat
   - 4 bytes number, index
      index in TWrapMode
   - 4 bytes number, index
      index in TWrapMode
   - 4 bytes number, index      
      index in TMinFilter
   - 4 bytes number, index
      index in TMagFilter
   - ver greater/equal to 1
      - Bool, Load Grayscale As Alpha

CTextureCube
   - Version, ver (2)
   - ITexture
   0 to 6
      - PolyPtr (ITexture), Texture
   - ver equal to 1
      - Bool

CTextureFile
   - Version, ver (1)
   - ITexture
   - String, File Name
   - ver greater/equal to 1
      - Bool, Allow Degradation

CTextureMultiFile
   - Version (0)
   - ITexture
   - 4 bytes number, Number File Names
   0 to Number File Names
      - String, File Name
   - 4 bytes number, Current Selected Texture

CTileElement
   - 2 bytes number, Flags
   0 to 3
      - 2 bytes number, Tile

CTileLightInfluence
   0 to NumLightPerCorner (2)
      - 1 byte number, Light Id
   - 1 byte number, Packed Light Factor

CTrackSampledCommon::CTimeBlock
   - Version (0)
   - 2 bytes number, Time Offset // Value to add to the key in the array to have real frame value
   - 4 bytes number, Key Offset // Value to add to the index to have Key index in _Keys
   - 4 bytes number, Number Times
   0 to Number Times
      - 1 byte number, Time // Key Time. Separated for optimal memory packing, and better cache use at dichotomy search

CTrackSampledCommon::serialCommon
   - Version (0)
   - Bool, Loop Mode
   - Float, Begin Time
   - Float, End Time
   - Float, Total Range
   - Float, OO Total Range
   - Float, Delta Time
   - Float, OO Delta Time
   - 4 bytes number, Number Time Blocks
   0 to Number Time Blocks
      - CTrackSampledCommon::CTimeBlock

CTrackSampledQuat
   - Version, ver (1)
   - ver smaller/equal to 0
      - Bool, Loop Mode
      - Float, Begin Time
      - Float, End Time
      - Float, Total Range
      - Float, OO Total Range
      - Float, Delta Time
      - Float, OO Delta Time
      - 4 bytes number, Number Time Blocks
      0 to Number Time Blocks
         - CTrackSampledCommon::CTimeBlock
   - ver greater 0
      - CTrackSampledCommon::serialCommon
   - 4 bytes number, Number Keys
   0 to Number Keys
      - CQuatPack

CTrackSampledVector
   - Version (0)
   - CTrackSampledCommon::serialCommon
   - 4 bytes number, Number Keys
   0 to Number Keys
      - 3DVector

CVertexBuffer
   - Version, ver (2)
   - ver smaller 2
      - 4 bytes number, Flags
         bit 1 = XYZ
	 bit 2 = Weight0, WeightCount = 1 // if multiple, highest WeightCount
	 bit 3 = Weight1, WeightCount = 2
	 bit 4 = Weight2, WeightCount = 3
	 bit 5 = Weight3, WeightCount = 4
	 bit 6 = Normal
	 bit 7 = PrimaryColor
	 bit 8 = SecondaryColor
	 bit 9 = TexCoord0
   	 bit 10 = TexCoord1
	 bit 11 = TexCoord2
	 bit 12 = TexCoord3
	 bit 13 = TexCoord4
	 bit 14 = TexCoord5
	 bit 15 = TexCoord6
	 bit 16 = TexCoord7
	 bits 17 & 2 & 3 & 4 & 5 = PaletteSkin
      - 4 bytes number, Number Vertices
      0 to Number Vertices
         - XYZ_Flag
	    - 3DVector, XYZ
	 - Normal_Flag
	    - 3DVector, Normal
	 0 to MaxStage (8), i
	    - UVi_Flag
	       - CUV
	 - PrimaryColor_Flag
	    - RGBA, Color
	 - SecondaryColor_Flag
	    - RGBA, Specular
	 0 to WeightCount
	    - Float, Weight
         - PaletteSkin_Flag
	    - CPaletteSkin
   - ver greater/equal to 2
      - CVertexBuffer::Header
      - CVertexBuffer::Subset 0 (=startWedge) Number Vertices (=endWedge)

CVertexBuffer::Header
      - Version, ver (3)
      - ver smaller 1
         - 4 bytes number, Flags
            bit 1 = XYZ
	    bit 2 = Weight0, WeightCount = 1 // if multiple, highest WeightCount
	    bit 3 = Weight1, WeightCount = 2
	    bit 4 = Weight2, WeightCount = 3
	    bit 5 = Weight3, WeightCount = 4
	    bit 6 = Normal
	    bit 7 = PrimaryColor
	    bit 8 = SecondaryColor
	    bit 9 = TexCoord0
	    bit 10 = TexCoord1
	    bit 11 = TexCoord2
	    bit 12 = TexCoord3
	    bit 13 = TexCoord4
	    bit 14 = TexCoord5
	    bit 15 = TexCoord6
	    bit 16 = TexCoord7
	    bits 17 & 2 & 3 & 4 & 5 = PaletteSkin
      - ver greater/equal to 1
         - 2 bytes number, Flags
	    bit 1 = Position
	    bit 2 = Normal
	    bit 3 = TexCoord0
	    bit 4 = TexCoord1
	    bit 5 = TexCoord2
	    bit 6 = TexCoord3
	    bit 7 = TexCoord4
	    bit 8 = TexCoord5
	    bit 9 = TexCoord6
	    bit 10 = TexCoord7
	    bit 11 = PrimaryColor (Color?)
	    bit 12 = SecondaryColor (Specular?)
	    bit 13 = Weight
	    bit 14 = PaletteSkin
	    bit 15 = Fog
	    bit 16 = Empty
	 0 to NumValue (16), i
	    - 1 byte number, Type[i]
      - 4 bytes number, Number Vertices
      - ver greater/equal to 2
         - 1 byte number, Vertex Color Format
      - ver greater/equal to 3
         - 4 bytes number, index
            index in TPreferredMemory
         - String, Name

CVertexBuffer::Subset startWedge endWedge
      - Version, ver (2)
      startWedge to endWedge
         0 to NumValue (16), i
	    - Flags bit i set
	       - Type[i] equal 0
	          - Double
	       - Type[i] equal 1
	          - Float
	       - Type[i] equal 2
	          - 2 bytes number
	       - Type[i] equal 3
	          - Double
		  - Double
	       - Type[i] equal 4
	          - Float
		  - Float
	       - Type[i] equal 5
	          - 2 bytes number
		  - 2 bytes number
	       - Type[i] equal 6
	          - Double
		  - Double
		  - Double
	       - Type[i] equal 7
	          - Float
		  - Float
		  - Float
	       - Type[i] equal 8
	          - 2 bytes number
		  - 2 bytes number
		  - 2 bytes number
	       - Type[i] equal 9
	          - Double
		  - Double
		  - Double
		  - Double
	       - Type[i] equal 10
	          - Float
		  - Float
		  - Float
		  - Float
	       - Type[i] equal 11
	          - 2 bytes number
		  - 2 bytes number
		  - 2 bytes number
		  - 2 bytes number
	       - Type[i] equal 12
	          - 1 byte number
		  - 1 byte number
	          - 1 byte number
		  - 1 byte number
      - ver greater/equal to 2
         - 1 byte number, UVRouting
	 - 1 byte number, UVRouting
	 - 1 byte number, UVRouting
	 - 1 byte number, UVRouting
	 - 1 byte number, UVRouting
	 - 1 byte number, UVRouting
	 - 1 byte number, UVRouting
	 - 1 byte number, UVRouting

CPaletteSkin
   - 1 byte number, MatrixId 0
   - 1 byte number, MatrixId 1
   - 1 byte number, MatrixId 2
   - 1 byte number, MatrixId 3

CBorderVertex
   - Version (0)
   - 2 bytes number, Current Vertex
   - 2 bytes number, Neighbour Zone Id
   - 2 bytes number, Neighbour Vertex

CZone::CPatchConnect
   - Version, ver (1)
   - ver smaller 1
      - 1 byte number, Old Order S
      - 1 byte number, Old Order T
   - String, ErrorSize
   0 to 4
      - 2 bytes number, Base Vertex
   0 to 4
      - CPatchInfo::CBindInfo

CPatchInfo::CBindInfo
   - Version (0)
   - 1 byte number, Number Patches
   - 2 bytes number, Zone Id
   0 to 4
      - 2 bytes number, Neighbour Patch
   0 to 4
      - 1 byte number, Neighbour Patch Edge

CZone
   - Version, ver (4)
   - ver smaller 3
      - not supported anymore
   - ver greater/equal to 3
      - 4 bytes that are "ENOZ"
      - 2 bytes number, Zone Id
      - CAABBoxExt, Zone BB
      - 3DVector, Patch Bias
      - Float, Patch Scale
      - 4 bytes number, Number Vertices
      - 4 bytes number, Number Border Vertices
      0 to Number Border Vertices
         - CBorderVertex
      - 4 bytes number, Number Patches
      0 to Number Patches
         - CPatch
      - 4 bytes number, Number Patch Connects
      0 to Number Patch Connects
         - CZone::CPatchConnect
      - ver greater/equal to 4
         - CPointLightNamedArray

CTexAnimTracks
   - Version, ver (0)
   - Version
   - Float, Default U Translation
   - Version
   - Float, Default V Translation
   - Version
   - Float, Default U Scale
   - Version
   - Float, Default V Scale

CMeshGeom::CMatrixBlock
   - Version (0)
   0 to IDriver::MaxModelMatrix (16)
      - 4 bytes number, Matrix Id
   - 4 bytes number, Number Matrix
   - 4 bytes number, Number Rdr Passes
   0 to Number Rdr Passes
      - CMeshGeom::CRdrPass

CMeshGeom::CRdrPass
   - Version (0)
   - 4 bytes number, Material Id
   - CIndexBuffer, Primitives list

CMeshBase::CMatStageV7
   - 1 byte number, Material Number
   - 1 byte number, Stage Number

CMeshBase::CLightInfoMapListV7
   - 4 bytes number, Number Material Stages
   0 to Number Material Stages
      - CMatStageV7

CMeshBase::CLightMapInfoList
   - Version (0)
   - 4 bytes number, Light Group
   - String, Animated Light
   - 4 bytes number, Number Mat Stages
   0 to Number Mat Stages
      CMeshBase::CMatStage

CMeshBase::CLightMapInfoList::CMatStage
   - Version (0)
   - 1 byte number, Material Id
   - 1 byte number, Stage Id

CMeshMRMGeom::CRdrPass
   - Version (0)
   - 4 bytes number, Material Id
   - CIndexBuffer, Primitives Block

CMeshMRMGeom::CVertexBlock
   - 4 bytes number, Start Vertex
   - 4 bytes number, Number Vertices

CMeshMRMGeom::CLodInfo
   - Version (0)
   - 4 bytes number, startAddWedge
   - 4 bytes number, endAddWedges

CMeshMRMSkinnedGeom::CRdrPass
   - Version (0)
   - 4 bytes number, Material Id
   - 4 bytes number, Number Primitives
   0 to Number Primitives
      - 2 bytes number, Primitive

CMeshMRMSkinnedGeom::CVertexBlock
   - 4 bytes number, Start Vertex
   - 4 bytes number, Number Vertices

CMRMWedgeGeom
   - 4 bytes number, Start Wedge
   - 4 bytes number, End Wedge

CVector3s
   - 2 bytes number, x (un/pack: ux = x * scale + bias.x)
   - 2 bytes number, y (un/pack: uy = y * scale + bias.y)
   - 2 bytes number, z (un/pack: uz = z * scale + bias.z)

CPointLightNamedArray::CPointLightGroup
   - Version (0)
   - String, Animation Light
   - 4 bytes number, Light Group
   - 4 bytes number, Start Id
   - 4 bytes number, End Id

CPointLightNamedArray::CPointLightGroupV0
   - 4 bytes number, Start Id
   - 4 bytes number, End Id

CShadowVertex
   - Version (0)
   - 3DVector, Vertex
   - 4 bytes number, Matrix Id

CTileColor
   - 2 bytes number, RGB User Color

CTileColorOldPatchVersion6
   - 2 bytes number, RGB User Color
   - 3DVector, Light Vector

CQuatPack
   - 2 bytes number, x
   - 2 bytes number, y
   - 2 bytes number, z
   - 2 bytes number, w
   // Quaternion (x * (1/32767), y * (1/32767), z * (1/32767), w * (1/32767))

ITrackKeyFramer Key Type
   - Version (0)
   - 4 bytes number, Number Elements
   0 to Number Elements
      - Float, MapKey
      - Key Type, MapValue
      - map MapKey to MapValue
   - Bool, Range Lock
   - Float, Range Begin
   - Float, Range End
   - Bool, Loop Mode

CTrackKeyFramerLinearQuat
   - ITrackKeyFramer CKey 4DVector

CTrackKeyFramerLinearVector
   - ITrackKeyFramer CKey 3DVector

CTrackKeyFramerTCBQuat
   - ITrackKeyFramer CKeyTCB 4DVector

CKey ParseFunc
   - Version (0)
   - ParseFunc

CKeyTCB ParseFunc
   - Version (0)
   - ParseFunc
   - Float, Tension
   - Float, Continuity
   - Float, Bias
   - Float, Ease To
   - Float, Ease From

CTrackDefaultVector
   - CTrackDefaultBlendable 3DVector

CTrackDefaultQuat
   - CTrackDefaultBlendable 4DVector

CTrackDefaultBlendable Type
   - Version (0)
   - Type

And those from outside 3d part:

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

CAABBox
   - Version (0)
   - 3DVector, Center
   - 3DVector, Half Size

CAABBoxExt
   - CAABBox

CMatrix
   - Version, ver (0)
   - 4 bytes number, StateBit
   - Float, Scale 33
   - StateBit 2nd, 3rd or 4th bit set
      - Float, Matrix [0][0]
      - Float, Matrix [0][1]
      - Float, Matrix [0][2]
      - Float, Matrix [1][0]
      - Float, Matrix [1][1]
      - Float, Matrix [1][2]
      - Float, Matrix [2][0]
      - Float, Matrix [2][1]
      - Float, Matrix [2][2]
   - StateBit 1st bit set
      - Float, Matrix [0][3]
      - Float, Matrix [1][3]
      - Float, Matrix [2][3]
   - StateBit 5th bit set
      - Float, Matrix [3][0]
      - Float, Matrix [3][1]
      - Float, Matrix [3][2]
      - Float, Matrix [3][3]

CUV
   - Float, u
   - Float, v

CRGBAF
   - Float, R (0 - 1)
   - Float, G (0 - 1)
   - Float, B (0 - 1)
   - Float, A (0 - 1)
en/nel_files.txt · Last modified: 2017/08/14 19:29 by YannK