// ---------------------------------------------------------------------------
// Warning: This file will be processed using a rather simple sed script
// to turn it into a C include file.
//
// sed -e "s/\([^;]*\);/\1\/\//"					\
//     -e "s/^\.if/#if/" -e "s/^\.else/#else/" -e "s/^\.endif/#endif/"	\
//     -e "s/^\.equ\([ 	][^,]*\),/#define\1/" -e "s/pipeASymbSkin/pipeASymbSkin/g"
//                    ^-[ space TAB ]  [ pipe specific prefix]--^
// Sorry about the C++ style comments this generates.
// ---------------------------------------------------------------------------


//------------------LIGHTS CODES DESCRIPTION ---------------------------------
#ifndef vuEnumLightNaLight														
#define vuEnumLightNaLight 0      // rpNALIGHTTYPE
#define vuEnumLightDirectional 1  // rpLIGHTDIRECTIONAL
#define vuEnumLightAmbient 2      // rpLIGHTAMBIENT
#define vuEnumLightPoint 128      // rpLIGHTPOINT
#define vuEnumLightSpot 129       // rpLIGHTSPOT
#define vuEnumLightSpotSoft 130   // rpLIGHTSPOTSOFT
#endif
//----------------------------------------------------------------------------

// Use this define to get a VUCONTINUE style lib. You must also define
// VUCONTINUE in world/pipe/p2/sky2/nodePS2MatInstance.h

// .equ VUCONTINUE, 1

//------------------ HIGH MEMORY DESCRIPTION ---------------------------------
#ifndef vuSDmat0
#define vuSDLightOffset 	 0x3d0
#define vuSDBlockLow 		 0x3c3
#define vuSDBlockHigh 	 0x3f0
#define vuSDmat0 			 vuSDBlockHigh
#define vuSDmat1 			 vuSDBlockHigh+1
#define vuSDmat2 			 vuSDBlockHigh+2
#define vuSDmat3 			 vuSDBlockHigh+3
#define vuSDnearClip  	 vuSDBlockHigh+4
#define vuSDfarClip 		 vuSDBlockHigh+5
#define vuSDxMaxyMax 		 vuSDBlockHigh+6
#define vuSDcamWcamHzScale vuSDBlockHigh+7
#define vuSDoffXoffYzShift vuSDBlockHigh+8
#define vuSDrealOffset 	 vuSDBlockHigh+9
#define vuSDgifTag 		 vuSDBlockHigh+10
#define vuSDcolScale 		 vuSDBlockHigh+11
#define vuSDsurfProps 	 vuSDBlockHigh+12
#define vuSDpingPongAddr 	 vuSDBlockHigh+13		
#define vuSDpingPongCount  vuSDBlockHigh+14	
#define vuSDClipvec1 	 	 vuSDBlockHigh+13									 
#define vuSDClipvec2 		 vuSDBlockHigh+14									 	
#define vuSDVUSwitch 		 vuSDBlockHigh+15	 
#endif
//----------------------------------------------------------------------------

//------------------ SKINNING MATRICES ---------------------------------------
#define pipeASymbSkinMatrixArraySize    (64)					 
#define pipeASymbSkinMatrixArrayAddress (vuSDLightOffset-pipeASymbSkinMatrixArraySize*4)					 
//----------------------------------------------------------------------------

//------------- BUMP & ENV MAPPING ALLOCATIONS -------------------------------
#define pipeASymbSkinEnvmpDat (pipeASymbSkinMatrixArrayAddress-1)									 
#define pipeASymbSkinEnvmpMat (pipeASymbSkinEnvmpDat-3)										 
#define pipeASymbSkinGifTagc2 (pipeASymbSkinEnvmpMat-1)										 
#define pipeASymbSkinBumpEnvMapDarkFTag (pipeASymbSkinGifTagc2-3)								 
#define pipeASymbSkinEBumpMat (pipeASymbSkinBumpEnvMapDarkFTag-3)										 
#define pipeASymbSkinBumpEnvMapTag1 (pipeASymbSkinEBumpMat-3)										 
#define pipeASymbSkinBumpEnvMapTag2 (pipeASymbSkinBumpEnvMapTag1-5)										 
#define pipeASymbSkinEBumpDat (pipeASymbSkinBumpEnvMapTag2-1)										 
//----------------------------------------------------------------------------

//------------------ BUFFERS STRIDE ------------------------------------------
#define pipeASymbSkinStrideOfInputCluster 5											 
#define pipeASymbSkinStrideOfOutputCluster 3											 
//----------------------------------------------------------------------------

//------------------ DOUBLE BUFFER -------------------------------------------
#define pipeASymbSkinStaticBumpEnvDataStart (pipeASymbSkinEBumpDat)							 
#define pipeASymbSkinStaticDataStart        (pipeASymbSkinMatrixArrayAddress-20)						 
//----------------------------------------------------------------------------

//------------------ BUFFERS SIZE --------------------------------------------
#define pipeASymbSkinTSVertexCount (((pipeASymbSkinStaticDataStart-3)/((2*pipeASymbSkinStrideOfInputCluster+3*pipeASymbSkinStrideOfOutputCluster))))
#define pipeASymbSkinVIFOffset (pipeASymbSkinStrideOfInputCluster*pipeASymbSkinTSVertexCount)		 
#define pipeASymbSkinTLTriCount (pipeASymbSkinTSVertexCount/3)								 
//----------------------------------------------------------------------------

