24#include <SOLID/solid.h>
100#define CHECK_VAR(_var_, _msg_) do { \
101 if (isnan(_var_) || isinf(_var_)) { \
102 printf("%s = %f in %s line %d\n", _msg_, _var_, __FILE__, __LINE__); \
108#define DUMP_CAR(_car_) do { \
109 printf("DynGC.acc.x = %f\n", (_car_)->DynGC.acc.x); \
110 printf("DynGC.acc.y = %f\n", (_car_)->DynGC.acc.y); \
111 printf("DynGC.acc.y = %f\n", (_car_)->DynGC.acc.y); \
112 printf("DynGC.vel.x = %f\n", (_car_)->DynGC.vel.x); \
113 printf("DynGC.vel.y = %f\n", (_car_)->DynGC.vel.y); \
114 printf("DynGCg.pos.x = %f\n", (_car_)->DynGCg.pos.x); \
115 printf("DynGCg.pos.y = %f\n", (_car_)->DynGCg.pos.y); \
116 printf("DynGCg.acc.x = %f\n", (_car_)->DynGCg.acc.x); \
117 printf("DynGCg.acc.y = %f\n", (_car_)->DynGCg.acc.y); \
118 printf("DynGCg.vel.x = %f\n", (_car_)->DynGCg.vel.x); \
119 printf("DynGCg.vel.y = %f\n", (_car_)->DynGCg.vel.y); \
120 printf("DynGCg.pos.x = %f\n", (_car_)->DynGCg.pos.x); \
121 printf("DynGCg.pos.y = %f\n", (_car_)->DynGCg.pos.y); \
122 printf("aero.drag = %f\n", (_car_)->aero.drag); \
126#define CHECK(_car_) do { \
127 if (isnan((_car_)->DynGC.acc.x) || isinf((_car_)->DynGC.acc.x) || \
128 isnan((_car_)->DynGC.acc.y) || isinf((_car_)->DynGC.acc.y) || \
129 isnan((_car_)->DynGC.vel.x) || isinf((_car_)->DynGC.vel.x) || \
130 isnan((_car_)->DynGC.vel.y) || isinf((_car_)->DynGC.vel.y) || \
131 isnan((_car_)->DynGC.acc.x) || isinf((_car_)->DynGC.acc.x) || \
132 isnan((_car_)->DynGCg.acc.y) || isinf((_car_)->DynGCg.acc.y) || \
133 isnan((_car_)->DynGCg.vel.x) || isinf((_car_)->DynGCg.vel.x) || \
134 isnan((_car_)->DynGCg.vel.y) || isinf((_car_)->DynGCg.vel.y) || \
135 isnan((_car_)->DynGCg.pos.x) || isinf((_car_)->DynGCg.pos.x) || \
136 isnan((_car_)->DynGCg.pos.y) || isinf((_car_)->DynGCg.pos.y) || \
137 isnan((_car_)->aero.drag) || isinf((_car_)->aero.drag)) { \
138 printf("Problem for %s in %s line %d\n", (_car_)->carElt->_name, __FILE__, __LINE__); \
148#define CHECK_VAR(_var_, _msg_)
struct CarElt tCarElt
Car structure (tCarElt).
float tdble
Floating point type used in TORCS.
Info returned by driver during the race.
tTransmission transmission
Location on the track in local coordinates.