29#include <portability.h>
45#include <glfeatures.h>
74PFNGLMULTITEXCOORD2FARBPROC glMultiTexCoord2fARB = NULL;
75PFNGLMULTITEXCOORD2FVARBPROC glMultiTexCoord2fvARB = NULL;
76PFNGLACTIVETEXTUREARBPROC glActiveTextureARB = NULL;
77PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB = NULL;
90 char *extensionStr = (
char*)glGetString(GL_EXTENSIONS);
91 if (extensionStr == NULL)
94 if (strstr(extensionStr,
"GL_ARB_multitexture")) {
99 glMultiTexCoord2fARB = (PFNGLMULTITEXCOORD2FARBPROC) wglGetProcAddress(
"glMultiTexCoord2fARB");
100 glActiveTextureARB = (PFNGLACTIVETEXTUREARBPROC) wglGetProcAddress(
"glActiveTextureARB");
101 glClientActiveTextureARB = (PFNGLCLIENTACTIVETEXTUREARBPROC) wglGetProcAddress(
"glClientActiveTextureARB");
102 glMultiTexCoord2fvARB = (PFNGLMULTITEXCOORD2FVARBPROC) wglGetProcAddress(
"glMultiTexCoord2fvARB");
226initView(
int x,
int y,
int width,
int height,
int ,
void *screen)
229 const int BUFSIZE = 1024;
329 glDepthFunc(GL_LEQUAL);
330 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
346 const int IDXSIZE = 16;
352 const int BUFSIZE = 1024;
369 for (i = 0; i < s->_ncars; i++) {
378 for (i = 0; i < s->_ncars; i++) {
381 hdle = elt->_paramsHandle;
382 snprintf(idx, IDXSIZE,
"Robots/index/%d", elt->_driverIndex);
417 GfOut(
"-- shutdownCars\n");
428 ssgDeRefDelete(
grCarInfo[i].envSelector);
430 ssgDeRefDelete(
grCarInfo[i].wheelTexture);
431 if (
grCarInfo[i].driverSelectorinsg ==
false) {
struct CarElt tCarElt
Car structure (tCarElt).
cGrCamera * getCurCamera(void)
int isInScreen(int x, int y)
void selectCamera(long cam)
void selectBoard(long brd)
#define GR_ATT_WHEELRENDERING_DETAILED
#define GR_ATT_WHEELRENDERING
#define GR_ATT_WHEELRENDERING_SIMPLE
#define GR_ATT_NB_SCREENS
void grShutdownBoardCar(void)
void grInitShadow(tCarElt *car)
void grInitCommonState(void)
void grInitCar(tCarElt *car)
void grInitCarlight(int index)
void grShudownCarlight(void)
static void grPrevCar(void *)
static void grSplitScreen(int p)
static void grSelectTrackMap(void *)
static void grSelectBoard(int board)
static float grMouseRatioY
int initCars(tSituation *s)
static class cGrScreen * grGetcurrentScreen(void)
static void grSwitchMirror(void *)
static void grAdaptScreenSize(void)
EWheelDetail grUseDetailedWheels
int initView(int x, int y, int width, int height, int, void *screen)
int refresh(tSituation *s)
class cGrScreen * grScreens[GR_NB_MAX_SCREEN]
static void grNextCar(void *)
int initTrack(tTrack *track)
static void grSelectCamera(int camera)
static float grMouseRatioX
static void grSetZoom(int zoom)
float tdble
Floating point type used in TORCS.
void GfuiAddKeyAction(void *scr, unsigned char key, const char *descr, const tGfuiAction &onKeyPressed, const tGfuiAction &onKeyReleased)
Add a Keyboard callback to a screen.
void GfuiAddSKeyAction(void *scr, int key, const char *descr, const tGfuiAction &onKeyPressed, const tGfuiAction &onKeyReleased)
Add a Special Keyboard shortcut to the screen.
tMouseInfo * GfuiMouseInfo(void)
Get the GUI's current mouse state.
const char * GfParmGetStr(void *parmHandle, const char *path, const char *key, const char *deflt)
Get a string parameter from the parameter set handle.
tdble GfParmGetNum(void *handle, const char *path, const char *key, const char *unit, tdble deflt)
Get a numerical parameter from the parameter set handle.
int GfParmSetNum(void *handle, const char *path, const char *key, const char *unit, tdble val)
Set a numerical parameter in the parameter set handle.
void GfParmReleaseHandle(void *parmHandle)
Release given parameter set handle parmHandle.
int GfParmWriteFile(const char *file, void *parmHandle, const char *name)
Write parameter set into file.
void * GfParmReadFile(const char *file, int mode)
Read parameter set from file and return handle to parameter set.
void grShutdownScene(void)
void grCustomizePits(void)
int grLoadScene(tTrack *track)
void grShutdownSkidmarks(void)
remove the skidmarks information for a car
void grInitSkidmarks(tCarElt *car)
initialize the skidmak structure for a car
void grInitSmoke(int index)
void grShutdownSmoke()
remove the smoke information for a car
void grUpdateSmoke(double t)
update if necessary the smoke for a car
float grRefreshSound(tSituation *s, cGrCamera *camera)
void grInitSound(tSituation *s, int ncars)
void grShutdownSound(int ncars)
void grShutdownState(void)
double GfTimeClock(void)
Get the time in seconds.
struct Situation tSituation
cars situation used to inform the GUI and the drivers
tCarElt ** cars
list of cars
double currentTime
current time in sec since the beginning of the simulation
int GetSingleTextureMode(void)
#define GFPARM_RMODE_CREAT
Allow an empty in-memory set on file-open failure; does not write a file.
#define GFPARM_RMODE_STD
Return a new handle sharing cached data for this filename, if available.
struct MouseInfo tMouseInfo
std::function< void()> tGfuiAction
int track(tModInfo *modInfo)