// ----------------------------------------------------------------------
// 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/pipeASymb/pipeASymb/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
//----------------------------------------------------------------------------

//------------- GLOSS ENVIRONMENT MAPPING ALLOCATIONS ------------------------
#define pipeASymbEnvmpDat (vuSDLightOffset-1)									//
#define pipeASymbEnvmpMat (pipeASymbEnvmpDat-3)										//
#define pipeASymbGifTagc2 (pipeASymbEnvmpMat-1)										//
#define pipeASymbRealFog  (pipeASymbGifTagc2-3)										//
#define pipeASymbGlossEnvMapDarkFTag (pipeASymbRealFog-3)										//
//----------------------------------------------------------------------------

//------------------ BUFFERS STRIDE ------------------------------------------
#define pipeASymbStrideOfInputCluster 4											// Size of input vertices
#define pipeASymbStrideOfOutputCluster 3											// size of output vertices
//----------------------------------------------------------------------------

//------------------ DOUBLE BUFFER -------------------------------------------
#define pipeASymbStaticEnvDataStart pipeASymbGlossEnvMapDarkFTag								// Gloss EnvMap data start	
#define pipeASymbStaticDataStart (vuSDLightOffset-20)							// Common Starting position of the second buffer	
//----------------------------------------------------------------------------

//------------------ BUFFERS SIZE --------------------------------------------
#define pipeASymbTSVertexCount (((pipeASymbStaticDataStart-3)/((2*pipeASymbStrideOfInputCluster+3*pipeASymbStrideOfOutputCluster))))
#define pipeASymbVIFOffset (pipeASymbStrideOfInputCluster*pipeASymbTSVertexCount)		//
#define pipeASymbTLTriCount (pipeASymbTSVertexCount/3)								//
//----------------------------------------------------------------------------

