void CParticleManager::Init (void) { #if OGL_VERTEX_BUFFERS GLfloat pf = colorBuffer; for (i = 0; i < VERT_BUFFER_SIZE; i++, pf++) { *pf++ = 1.0f; *pf++ = 1.0f; *pf++ = 1.0f; } #endif if (!m_objectSystems.Buffer ()) { if (!m_objectSystems.Create (LEVEL_OBJECTS)) { Shutdown (); extraGameInfo [0].bUseParticles = 0; return; } m_objectSystems.Clear (0xff); } if (!m_objExplTime.Buffer ()) { if (!m_objExplTime.Create (LEVEL_OBJECTS)) { Shutdown (); extraGameInfo [0].bUseParticles = 0; return; } m_objExplTime.Clear (0); } if (!m_systems.Create (MAX_PARTICLE_SYSTEMS)) { Shutdown (); extraGameInfo [0].bUseParticles = 0; return; } int i = 0; int nCurrent = m_systems.FreeList (); for (CParticleSystem* systemP = m_systems.GetFirst (nCurrent); systemP; systemP = GetNext (nCurrent)) systemP->Init (i++); }