40#define RM_SYNC 0x00000001
41#define RM_ASYNC 0x00000002
43#define RM_END_RACE 0x00000010
44#define RM_CONTINUE_RACE 0x00000020
46#define RM_NEXT_STEP 0x00000100
47#define RM_NEXT_RACE 0x00000200
48#define RM_NEXT_EVENT 0x00000400
50#define RM_ACTIVGAMESCR 0x01000000
51#define RM_QUIT 0x40000000
54#define RCM_MAX_DT_SIMU 0.002
55#define RCM_MAX_DT_HUMAN 0.004
56#define RCM_MAX_DT_ROBOTS 0.02
63#define RM_RACE_RUNNING 0X00000001
64#define RM_RACE_FINISHING 0X00000002
65#define RM_RACE_ENDED 0X00000004
66#define RM_RACE_STARTING 0X00000008
67#define RM_RACE_PRESTART 0X00000010
68#define RM_RACE_PAUSED 0X40000000
70#define RM_TYPE_PRACTICE 0
71#define RM_TYPE_QUALIF 1
77#define _ncars raceInfo.ncars
78#define _totLaps raceInfo.totLaps
79#define _raceState raceInfo.state
80#define _raceType raceInfo.type
81#define _maxDammage raceInfo.maxDammage
101#define RE_STATE_CONFIG 0
102#define RE_STATE_EVENT_INIT 1
103#define RE_STATE_PRE_RACE 3
104#define RE_STATE_RACE_START 5
105#define RE_STATE_RACE 6
106#define RE_STATE_RACE_STOP 7
107#define RE_STATE_RACE_END 8
108#define RE_STATE_POST_RACE 9
109#define RE_STATE_EVENT_SHUTDOWN 11
110#define RE_STATE_SHUTDOWN 12
111#define RE_STATE_ERROR 13
112#define RE_STATE_EXIT 14
147#define RM_DISP_MODE_NORMAL 0
148#define RM_DISP_MODE_CAPTURE 1
149#define RM_DISP_MODE_NONE 2
150#define RM_DISP_MODE_CONSOLE 4
155#define _reState raceEngineInfo.state
156#define _reParam raceEngineInfo.param
157#define _reRacemanItf raceEngineInfo.itf.racemanItf
158#define _reTrackItf raceEngineInfo.itf.trackItf
159#define _reGraphicItf raceEngineInfo.itf.graphicItf
160#define _reSimItf raceEngineInfo.itf.simItf
161#define _reGameScreen raceEngineInfo.gameScreen
162#define _reMenuScreen raceEngineInfo.menuScreen
163#define _reFilename raceEngineInfo.filename
164#define _reName raceEngineInfo.name
165#define _reRaceName raceEngineInfo.raceName
166#define _reCarInfo raceEngineInfo.carInfo
167#define _reCurTime raceEngineInfo.curTime
168#define _reTimeMult raceEngineInfo.timeMult
169#define _reRunning raceEngineInfo.running
170#define _reLastTime raceEngineInfo.lastTime
171#define _displayMode raceEngineInfo.displayMode
172#define _refreshDisplay raceEngineInfo.refreshDisplay
174#define RM_PNST_DRIVETHROUGH 0x00000001
175#define RM_PNST_STOPANDGO 0x00000002
176#define RM_PNST_STOPANDGO_OK 0x00000004
177#define RM_PNST_SPD 0x00010000
178#define RM_PNST_STNGO 0x00020000
236#define RM_SECT_HEADER "Header"
237#define RM_SECT_DRIVERS "Drivers"
238#define RM_SECT_STARTINGGRID "Starting Grid"
239#define RM_SECT_RACES "Races"
240#define RM_SECT_TRACKS "Tracks"
241#define RM_SECT_CONF "Configuration"
242#define RM_SECT_OPTIONS "Options"
243#define RM_SECT_POINTS "Points"
245#define RM_SECT_DRIVERS_RACING "Drivers Start List"
247#define RM_ATTR_CUR_CONF "current configuration"
248#define RM_ATTR_START_ORDER "starting order"
249#define RM_ATTR_ALLOW_RESTART "restart"
250#define RM_ATTR_SPLASH_MENU "splash menu"
251#define RM_ATTR_DISP_START_GRID "display starting grid"
253#define RM_ATTR_MAXNUM "maximum number"
254#define RM_ATTR_MAX_DRV "maximum drivers"
255#define RM_ATTR_SKILL_LEVEL_DEFAULT "skill level default"
257#define RM_ATTR_PRIO "priority"
258#define RM_ATTR_NAME "name"
259#define RM_ATTR_DRVNAME "driver name"
260#define RM_ATTR_CATEGORY "category"
261#define RM_ATTR_DESCR "description"
262#define RM_ATTR_BGIMG "menu image"
263#define RM_ATTR_RUNIMG "run image"
264#define RM_ATTR_STARTIMG "start image"
266#define RM_ATTR_MODULE "module"
267#define RM_ATTR_IDX "idx"
268#define RM_ATTR_FOCUSED "focused module"
269#define RM_ATTR_FOCUSEDIDX "focused idx"
270#define RM_ATTR_DISPMODE "display mode"
271#define RM_ATTR_DISPRES "display results"
273#define RM_ATTR_TYPE "type"
274#define RM_ATTR_RACE "race"
275#define RM_ATTR_ROWS "rows"
276#define RM_ATTR_TOSTART "distance to start"
277#define RM_ATTR_COLDIST "distance between columns"
278#define RM_ATTR_COLOFFSET "offset within a column"
279#define RM_ATTR_INITSPEED "initial speed"
280#define RM_ATTR_INITHEIGHT "initial height"
281#define RM_ATTR_MAX_DMG "maximum dammage"
282#define RM_ATTR_DISTANCE "distance"
283#define RM_ATTR_LAPS "laps"
284#define RM_ATTR_POLE "pole position side"
285#define RM_ATTR_CARSPERPIT "cars per pit"
287#define RM_ATTR_INVALIDATE_BEST_LAP_WALL_TOUCH "invalidate best lap on wall touch"
288#define RM_ATTR_INVALIDATE_BEST_LAP_CORNER_CUT "invalidate best lap on corner cutting"
289#define RM_ATTR_CORNER_CUT_TIME_PENALTY "corner cutting time penalty"
290#define RM_ATTR_DAMAGE_FACTOR "damage factor"
291#define RM_ATTR_FUEL_FACTOR "fuel consumption factor"
292#define RM_ATTR_TIRE_FACTOR "tire factor"
293#define RM_ATTR_PIT_SPEED_LIMIT "pit speed limit"
294#define RM_ATTR_REFUEL_FUEL_FLOW "refuel fuel flow"
295#define RM_ATTR_DAMAGE_REPAIR_FACTOR "damage repair factor"
296#define RM_ATTR_PITSTOP_BASE_TIME "pitstop base time"
297#define RM_ATTR_ALL_TIRES_CHANGE_TIME "all tires change time"
299#define RM_ATTR_POINTS "points"
301#define RM_VAL_TRACKSEL "track select"
302#define RM_VAL_DRVSEL "drivers select"
303#define RM_VAL_RACECONF "race config"
304#define RM_VAL_CONFRACELEN "race length"
305#define RM_VAL_CONFDISPMODE "display mode"
307#define RM_VAL_DRV_LIST_ORDER "drivers list"
308#define RM_VAL_LAST_RACE_ORDER "last race"
309#define RM_VAL_LAST_RACE_RORDER "last race reversed"
311#define RM_VAL_RACE "race"
312#define RM_VAL_QUALIF "qualifications"
313#define RM_VAL_PRACTICE "practice"
315#define RM_VAL_YES "yes"
316#define RM_VAL_NO "no"
318#define RM_VAL_VISIBLE "normal"
319#define RM_VAL_INVISIBLE "results only"
322#define RM_SECT_MOVIE_CAPTURE "Movie Capture"
324#define RM_ATT_CAPTURE_ENABLE "enable capture"
325#define RM_ATT_CAPTURE_FPS "fps"
326#define RM_ATT_CAPTURE_OUT_DIR "output directory"
330#define RE_SECT_HEADER "Header"
331#define RE_ATTR_DATE "date"
333#define RE_SECT_CURRENT "Current"
334#define RE_ATTR_CUR_RACE "current race"
335#define RE_ATTR_CUR_TRACK "current track"
336#define RE_ATTR_CUR_DRIVER "current driver"
338#define RE_ATTR_DLL_NAME "dll name"
339#define RE_ATTR_INDEX "index"
341#define RE_SECT_STANDINGS "Standings"
342#define RE_SECT_RESULTS "Results"
343#define RE_SECT_RANK "Rank"
345#define RE_ATTR_NAME "name"
346#define RE_ATTR_CAR "car"
347#define RE_ATTR_MODULE "module"
348#define RE_ATTR_IDX "idx"
349#define RE_ATTR_LAPS "laps"
350#define RE_ATTR_BEST_LAP_TIME "best lap time"
351#define RE_ATTR_TIME "time"
352#define RE_ATTR_TOP_SPEED "top speed"
353#define RE_ATTR_BOT_SPEED "bottom speed"
354#define RE_ATTR_DAMMAGES "dammages"
355#define RE_ATTR_NB_PIT_STOPS "pits stops"
356#define RE_ATTR_POINTS "points"
357#define RE_ATTR_PENALTYTIME "penaltytime"
This is the car structure.
struct CarElt tCarElt
Car structure (tCarElt).
Graphic Module Interface Definition
float tdble
Floating point type used in TORCS.
struct RmInfo tRmInfo
Race Manager General Info.
struct RmMovieCapture tRmMovieCapture
int(* tfRmRunState)(struct RmInfo *)
struct RmCarRules tRmCarRules
struct RmRaceRules tRmRaceRules
struct Situation tSituation
cars situation used to inform the GUI and the drivers
Simulation Module Interface Definition
Race Manager General Info.
tRmMovieCapture movieCapture
tTrack * track
Current track.
void * params
Raceman parameters.
tRmCarRules * rules
by car rules
tRaceEngineInfo raceEngineInfo
void * results
Race results.
tModList ** modList
drivers loaded
tSituation * s
Situation during race.
tCarElt * carList
List of all the cars racing.
@ CORNER_CUTTING_TIME_INVALIDATE
@ CORNER_CUTTING_TIME_PENALTY
@ WALL_HIT_TIME_INVALIDATE
cars situation used to inform the GUI and the drivers
int nbPlayers
number of human player in local (splitted screen)
tCarElt ** cars
list of cars
double deltaTime
Legacy rbDrive delta for existing robot modules; normal robots use this value.
double driveDeltaTime[RM_DRV_ROBOT+1]
rbDrive delta indexed by RM_DRV_*; index 0 is unused.
double currentTime
current time in sec since the beginning of the simulation
Interface Structure for Graphic Renering Module.
General info on current race.
double lastDriveTime[RM_DRV_ROBOT+1]
Last time rbDrive call indexed by RM_DRV_*; index 0 is unused.
double lastTime
Legacy last time rbDrive call for existing robot modules.
Race Engine Car Information about the race.
Interface Structure for Simulation.
Interface Structure for Track Loader.
Location on the track in local coordinates.
struct ModList tModList
list of module interfaces
Track Structure and Track Loader Module Definition.