67 for (i = 0; i <
sizeof(
cams)/
sizeof(
cams[0]); i++) {
161 const int BUFSIZE=1024;
181 const int BUFSIZE=1024;
200 const int BUFSIZE=1024;
262 glDisable(GL_COLOR_MATERIAL);
269 glDisable(GL_LIGHTING);
270 glDisable(GL_DEPTH_TEST);
272 glClear(GL_DEPTH_BUFFER_BIT);
274 glEnable(GL_DEPTH_TEST);
289 for (i = 0; i < s->_ncars; i++) {
295 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
296 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
308 const int BUFSIZE=1024;
317 for (i = 0; i < (s->_ncars - 1); i++) {
329 for (i = 1; i < s->_ncars; i++) {
353 glClear (GL_DEPTH_BUFFER_BIT);
362 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
363 glDisable(GL_CULL_FACE);
364 glDisable(GL_DEPTH_TEST);
365 glDisable(GL_LIGHTING);
366 glDisable(GL_COLOR_MATERIAL);
367 glDisable(GL_ALPHA_TEST);
369 glEnable(GL_TEXTURE_2D);
382 glDisable(GL_TEXTURE_2D);
384 TRACE_GL(
"cGrScreen::update glDisable(GL_DEPTH_TEST)");
386 TRACE_GL(
"cGrScreen::update display boards");
397 const int BUFSIZE=1024;
406 for (i = 0; i < s->_ncars; i++) {
407 if (!strcmp(s->
cars[i]->_name, carName)) {
413 }
else if (id < s->
_ncars) {
431 if (cam->
getId() == camNum) {
489 for (j = 0; j <
sizeof(
cams)/
sizeof(
cams[0]); j++) {
500 for (i = 0; i < s->_ncars; i++) {
int GfParmSetStr(void *handle, const char *path, const char *key, const char *val)
Set a string parameter in the parameter set handle.
int getDrawBackground(void)
double currentTime
current time in sec since the beginning of the simulation
void grDrawBackground(class cGrCamera *cam, class cGrBackgroundCam *bgCam)
class cGrPerspCamera * curCam
void loadDefaults(tCarElt *curCar)
void grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams, tdble fovFactor)
cars situation used to inform the GUI and the drivers
cGrTrackMap * getTrackMap()
tCarElt ** cars
list of cars
void selectCamera(long cam)
class cGrPerspCamera * dispCam
void activateViewport(void)
void refreshBoard(tSituation *s, float Fps, int forceArcade, tCarElt *curr)
class cGrOrthoCamera * boardCam
int GfParmWriteFile(const char *file, void *parmHandle, const char *name)
Write parameter set into file.
void update(tSituation *s, float Fps)
static int comparCars(const void *car1, const void *car2)
const char * GfParmGetStr(void *parmHandle, const char *path, const char *key, const char *deflt)
Get a string parameter from the parameter set handle.
The Gaming Framework API (client part).
void initCams(tSituation *s)
void loadParams(tSituation *s)
void remove(tGrCamHead *head)
class cGrCarCamMirror * mirrorCam
cGrPerspCamera * next(void)
void selectBoard(int brd)
float tdble
Floating point type used in TORCS.
class cGrBackgroundCam * bgCam
void setViewport(int x, int y, int w, int h)
int isMirrorAllowed(void)
void setCurrentCar(tCarElt *newCurCar)
void onSelect(tCarElt *car, tSituation *s)
#define GF_TAILQ_FIRST(head)
First element of a TAILQ.
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 selectBoard(long brd)
tdble GfParmGetNum(void *handle, const char *path, const char *key, const char *unit, tdble deflt)
Get a numerical parameter from the parameter set handle.
static class cGrPerspCamera * ThedispCam
void activate(int x, int y, int w, int h)
int collision
Collision value for graphics and sound, clearing is managed by consumers.
void camDraw(tSituation *s)
#define GF_TAILQ_END(head)
End of a TAILQ.
void setPos(int x, int y, int w, int h)
void grDrawCar(tCarElt *car, tCarElt *curCar, int dispCarFlag, int dispDrvFlag, double curTime, class cGrPerspCamera *curCam)
void loadDefaults(char *attr)
virtual void update(tCarElt *car, tSituation *s)=0
float getDist2(tCarElt *car)
int isInScreen(int x, int y)