#ifndef SOL_H
#define SOL_H
-#include <SDL.h>
#include "glext.h"
#include "base_config.h"
{
float p[3]; /* position */
float r; /* radius */
+ int s; /* levels skiped */
+ int c; /* special coloration? */
};
struct s_swch
{
float p[3]; /* position */
float r; /* radius */
- int pi;
+ int pi; /* the linked path */
float t0; /* default timer */
float t; /* current timer */
int f0; /* default state */
int f; /* current state */
int i; /* is invisible? */
+ int e; /* is a ball inside it? */
};
struct s_bill
float v[3]; /* velocity vector */
float w[3]; /* angular velocity vector */
float r; /* radius */
+ float a; /* initial orientation (deg) */
};
struct s_view
/*---------------------------------------------------------------------------*/
+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(struct s_file *, const char *, int, int);
int sol_stor(struct s_file *, const char *);
void sol_free(struct s_file *);
-void sol_back(const struct s_file *, float, float, float);
-void sol_refl(const struct s_file *);
-void sol_draw(const struct s_file *);
-void sol_shad(const struct s_file *);
-
float sol_step(struct s_file *, const float *, float, int, int *);
int sol_coin_test(struct s_file *, float *, float);
-int sol_goal_test(struct s_file *, float *, int);
+struct s_goal *sol_goal_test(struct s_file *, float *, int);
int sol_jump_test(struct s_file *, float *, int);
-int sol_swch_test(struct s_file *, int, int);
+int sol_swch_test(struct s_file *, int);
/*---------------------------------------------------------------------------*/