/**
*
* \file Asura_PlatformRenderWater.h
*
* Created by Robert Dibley - 16/11/2004 14:18:36
*
* Copyright (C) 2004 Rebellion, All Rights Reserved.
*
* \brief
*
**/

#ifndef __ASURA_PLATFORM_RENDER_WATER_H__
#define __ASURA_PLATFORM_RENDER_WATER_H__

// I N C L U D E S ///////////////////////////////////////////////////////////

// Engine independent.
#include "Rendering/Asura_Water.h"

// C L A S S E S /////////////////////////////////////////////////////////////

// container class for the data packets
class Asura_Platform_Water_Packet
{

public:

	int m_iVertexCount;
	int m_iCheckCount;
	Asura_PS2_QW *m_pBuffer;
	Asura_PS2_QW *m_pCurrent;
	Asura_PS2_QW *m_pHeader;
	int m_iSubPacketVertexCount;
	int m_iTotalQWC;
	bool m_bClosed;

	Asura_Platform_Water_Packet()
	{
        m_pBuffer = NULL;
        Reset();
	}

	~Asura_Platform_Water_Packet( void ) { Reset(); }

//	void CreatePacket( const Asura_Water_System::Water_Quad* pxQuadDef, bool bFlip = false );

	void SetVertexCount( int iVertCount );
	void AddVertex( float x, float y, float z, float r, float g, float b, float u, float v );
    void Close( void );

private:

    void Reset( void );
	void AddFooter( void );

};
// End class Asura_Platform_Water_Packet

#endif
