#define M_ADDITIVE 16
#define M_CLAMPED 32
#define M_DECAL 64
+#define M_TWO_SIDED 128
/* Billboard types. */
#define B_EDGE 1
#define B_FLAT 2
#define B_ADDITIVE 4
+#define B_NOFACE 8
/* Lump flags. */
#define ITEM_GROW 2
#define ITEM_SHRINK 3
+/* Path flags. */
+
+#define P_ORIENTED 1
+
/*---------------------------------------------------------------------------*/
struct s_mtrl
{
- float a[4]; /* ambient color */
float d[4]; /* diffuse color */
+ float a[4]; /* ambient color */
float s[4]; /* specular color */
float e[4]; /* emission color */
float h[1]; /* specular exponent */
struct s_path
{
float p[3]; /* starting position */
+ float e[4]; /* orientation (quaternion) */
float t; /* travel time */
int pi;
int f; /* enable flag */
int s; /* smooth flag */
+
+ int fl; /* flags */
+
+ /* TODO: merge enable and smooth into flags. */
};
struct s_body
float p[3]; /* position vector */
float v[3]; /* velocity vector */
float w[3]; /* angular velocity vector */
+ float E[3][3]; /* basis of pendulum */
+ float W[3]; /* angular pendulum velocity */
float r; /* radius */
};
/*---------------------------------------------------------------------------*/
-void sol_body_p(float p[3], const struct s_file *, const struct s_body *);
-
-/*---------------------------------------------------------------------------*/
-
int sol_load_only_file(struct s_file *, const char *);
int sol_load_only_head(struct s_file *, const char *);
int sol_stor(struct s_file *, const char *);
void sol_free(struct s_file *);
-float sol_step(struct s_file *, const float *, float, int, int *);
-
-int sol_jump_test(struct s_file *, float *, int);
-int sol_swch_test(struct s_file *, int);
-
-struct s_goal *sol_goal_test(struct s_file *, float *, int);
-struct s_item *sol_item_test(struct s_file *, float *, float);
-
-/*---------------------------------------------------------------------------*/
-
-void put_file_state(FILE *, struct s_file *);
-void get_file_state(FILE *, struct s_file *);
-
/*---------------------------------------------------------------------------*/
#endif