/*****************************************************************************
 * $LastChangedDate: 2009-11-22 22:39:11 -0500 (Sun, 22 Nov 2009) $
 * @file
 * @author  Jim E. Brooks  http://www.palomino3d.org
 * @brief   Definitions.
 *          THESE ARE GLOBALS!  TRY TO USE ONLY BASIC COMPILE-TIME CONSTANTS.
 *//*
 * LEGAL:   COPYRIGHT (C) 2008 JIM E. BROOKS
 *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
 *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
 *****************************************************************************/

#ifndef FX_DEFS_HH
#define FX_DEFS_HH 1

#include "base/time.hh"
#include "graph/module.hh"
#include "graph/node_sort.hh"
using namespace graph;

namespace fx {
namespace defs {

const Milliseconds  FX_TICK_FREQ( 500 );                    ///< frequency of FX container (destroys zombies)
//const Milliseconds LIFETIME_FOREVER( 1<<31 );             ///< wrong (negative 2 billion as 32-bits and 555 hours anyway)
const Milliseconds  LIFETIME_FOREVER( 1000000000000LL );    ///< "I am immortal", Duncan McCleod
const Milliseconds  PARTICLE_SYSTEM_TICK_FREQ( 20 );        ///< frequency of particle-system animation
const uint          MAX_PARTICLES_ONE_SYSTEM  = 32*1024;    ///< in one particle-system
const uint          MAX_PARTICLES_ALL_SYSTEMS = 256*1024;   ///< in all particle-systems
const NodeSort::Attribs PARTSYS_NODE_SORT_ATTRIBS( NodeSort::Attribs::TRANSPARENT
                                                 | NodeSort::Attribs::NO_DEPTH_TEST );

} // namespace defs
} // namespace fx

#endif // FX_DEFS_HH
