/*********************************************************************//**
*	\brief Stopy po leticich kulkach.
*	Tyto stopy jsou dulezitou soucasti pro vice realisticke prostredi.
*	Takto ma hrac dojem, ze opravdu vystreli nejaky projektil, ktery
*	za sebou zanecha po dobu nekolika milisekund ohnivou stopu.
*
*	\author Michal Jirous
*	\date 8.12.2008
*	\file bullet_tracks.h
**********************************************************************/

#ifndef __BULLET_TRACKS_H__
#define __BULLET_TRACKS_H__

#include "memory.h"

/** @brief Jmenny prostor s funkcemi, ktere ovladaji stopy kulek. */
namespace bullet_tracks
{
	/** @brief Struktura jedne stopy*/
	struct SingleTrack
	{
		float start[3];		/*!< @brief Pocatecni bod. */
		float end[3];		/*!< @brief Koncovy bod. */
		unsigned int time_start;	/*!< @brief Cas pri vytvoreni. */
		unsigned int duration;		/*!< @brief Trvani stopy. */
		SingleTrack()		/*!< @brief Konstruktor pro resetovani vsech hodnot na nulu. */
		{ memset( this, 0, sizeof( SingleTrack ) ); }
	};

	void addTrack( float *start, float *end, unsigned int duration_ms );	/*!< @brief Funkce vlozi novou stopu do seznamu stop. */
	void draw();	/*!< @brief Vykresleni stop. */
	void run();		/*!< @brief Kontrola, zda nektere stope nevyprsela doba platnosti. */
};




#endif
