22 |
|
|
23 |
#include "enigma.hh" |
#include "enigma.hh" |
24 |
#include "px/math.hh" |
#include "px/math.hh" |
|
#include "tools.hh" |
|
25 |
|
|
26 |
#include <string> |
#include <string> |
27 |
#include <iosfwd> |
#include <iosfwd> |
128 |
{ |
{ |
129 |
/* The global timer for all objects that need to be notified at |
/* The global timer for all objects that need to be notified at |
130 |
regular intervals. */ |
regular intervals. */ |
131 |
extern tools::Timer g_timer; |
extern enigma::Timer g_timer; |
132 |
} |
} |
133 |
|
|
134 |
namespace world |
namespace world |
159 |
// Rubber bands |
// Rubber bands |
160 |
//---------------------------------------- |
//---------------------------------------- |
161 |
|
|
162 |
void AddRubberBand (Actor *a, Stone *st, double strength,double length); |
/* Add a rubber band that connects an actor with either a stone or |
163 |
void AddRubberBand (Actor *a, Actor *a2, double strength,double length); |
another actor. `strength' is the force constant, and `length' |
164 |
|
is the natural length of the elastic: if it is shorter than |
165 |
|
`length' it will exert no force on the actor(s). */ |
166 |
|
void AddRubberBand (Actor *a, Stone *st, double strength, double length); |
167 |
|
void AddRubberBand (Actor *a, Actor *a2, double strength, double length); |
168 |
|
|
169 |
|
/* Remove the rubber band between `a' and `st'. If `st' is 0, all |
170 |
|
rubber bands connecting `a' to a stone will be cut. */ |
171 |
void KillRubberBand (Actor *a, Stone *st); |
void KillRubberBand (Actor *a, Stone *st); |
172 |
|
|
173 |
|
/* Remove the rubber band between `a' and `a2'. If `a2' is 0, all |
174 |
|
rubber bands connecting `a' to another actor will be cut. */ |
175 |
void KillRubberBand (Actor *a, Actor *a2); |
void KillRubberBand (Actor *a, Actor *a2); |
176 |
|
|
177 |
//---------------------------------------- |
//---------------------------------------- |