Index: particle2.h
===================================================================
--- particle2.h	(revision 0)
+++ particle2.h	(revision 1)
@@ -0,0 +1,83 @@
+/*
+    Raydium - CQFD Corp.
+    http://raydium.cqfd-corp.org
+    License: GPL - GNU General Public License, see "gpl.txt" file.
+*/
+
+// Raydium Particle Engine, version 2
+
+#ifndef PARTICLE2_H
+#define PARTICLE2_H
+
+#define RAYDIUM_MAX_PARTICLES	8192
+#define RAYDIUM_MAX_GENERATORS	16
+
+typedef struct raydium_particle_Generator
+{
+ int      id;
+ char	  state;
+ char	  enabled;
+ char     name[RAYDIUM_MAX_NAME_LEN];
+ GLfloat  position[3];
+ GLfloat  position_random[3];
+ GLfloat  position_user[3];
+ GLfloat  ttl_generator;
+ GLfloat  ttl_particles;
+ GLfloat  ttl_particles_random;
+ GLfloat  particles_per_second;
+ int	  texture;
+ GLfloat  size;
+ GLfloat  size_random;
+ GLfloat  size_inc_per_sec;
+ GLfloat  size_limit;
+ GLfloat  gravity[3];
+ GLfloat  vector[3];
+ GLfloat  vector_random[3];
+ GLfloat  vector_sphere_angles[3];
+ GLfloat  vector_sphere_angles_random[3];
+ GLfloat  vector_sphere_force;
+ GLfloat  vector_sphere_force_random;
+// GLfloat  velocity_limit[3];
+ GLfloat  rotation_speed;
+ GLfloat  rotation_random;
+ GLfloat  color_start[4];
+ GLfloat  color_start_random[4];
+ GLfloat  color_end[4];
+ GLfloat  color_end_random[4];
+// char     transform[RAYDIUM_MAX_NAME_LEN];
+ GLfloat  visibility;
+ void *   OnDeleteParticle;
+} raydium_particle_Generator;
+
+typedef struct raydium_particle_Particle
+{
+ GLfloat ttl_init;
+ GLfloat ttl; // is updated over time
+ int	 texture;
+ GLfloat  size;
+ GLfloat  size_inc_per_sec;
+ GLfloat  size_limit;
+ GLfloat position[3];
+ GLfloat vel[3]; // is updated over time
+ GLfloat gravity[3];
+// GLfloat velocity_limit[3];
+ GLfloat color_start[4]; // will use ttl to determine current color
+ GLfloat color_end[4];   // use ttl too
+ GLfloat rotation_speed; // use ttl too
+ GLfloat visibility;
+ void *  OnDelete; 
+ 
+// --- Current resulting data
+ GLfloat current_color[4];
+ GLfloat current_rotation;
+} raydium_particle_Particle;
+
+raydium_particle_Generator raydium_particle_generators[RAYDIUM_MAX_GENERATORS];
+raydium_particle_Particle *raydium_particle_particles[RAYDIUM_MAX_PARTICLES];
+GLfloat raydium_particle_time_factor;
+
+// proto
+void raydium_camera_replace(void);
+void raydium_file_dirname(char *dest,char *from);
+
+#endif