#define SPAN_VERSION            1.0

class SpanHeader
{
        F64 version;
        I32 num_masses, num_springs;
};

class MyMass:CMass
{

        F64                      radius, cost, load_t;
        CColorROPU32 color;

} *cursor_mass;

class MySpring:CSpring
{
        F64                             compression_strength, tensile_strength, cost;
        F64                             base_compression_strength, base_tensile_strength, base_const, base_cost;
        CColorROPU32    color;
        I32                             thick;
};

CMathODE *ode = NULL;

CCtrlBttnState run_bttn, mode_bttn;

CColorROPU32 run_colors[2] = {RED, GREEN};

#define MD_MASS                 0
#define MD_CONCRETE             1
#define MD_STEEL                2
#define MD_WIRE                 3
#define MD_MOVE                 4
#define MD_DELETE               5
#define MD_MODES_NUM    6

CColorROPU32 mode_colors[MD_MODES_NUM] = {BROWN, LTGRAY, DKGRAY, RED, PURPLE, RED};
DefineListLoad("ST_SPAN_MODES", "Mass\0Concrete\0Steel\0Wire\0Move\0Delete\0");

class SpanAnimateStruct
{
        U8 *saved_ode;
        F64 elapsed_t, start_wall_t;

} a;

extern MyMass *PlaceMass(I64 x, I64 y);
extern F64 SpanTime();