- Update alamo speedway

- first work for added pit indicator

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6111 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: 861d1068888ce0264fab8488ea0e44139e5ae370
Former-commit-id: f08622b25aa3c336ca71c7e0c2b306e676614ab0
This commit is contained in:
torcs-ng 2015-09-09 23:06:00 +00:00
parent 487e3310ef
commit 7bdef443c1
5 changed files with 3699 additions and 3639 deletions

View file

@ -18,7 +18,7 @@
***************************************************************************/
/** @file
This is the track structure.
This is the track structure.
@author <a href=mailto:torcs@free.fr>Eric Espie</a>
@version $Id$
@ingroup trackstruct
@ -204,6 +204,7 @@
#define TRK_ATT_DOVFACTOR "DoV factor"
#define TRK_SECT_PITS "Pits"
#define TRK_ATT_PIT_INDICATOR "pit indicator"
#define TRK_ATT_MAX_PITS "max pits"
#define TRK_ATT_BUILDINGS_START "start buildings"
#define TRK_ATT_PIT_STYLE "pit style"
@ -451,20 +452,20 @@ typedef struct trackSeg
tSegExt *ext;
tTrackSurface *surface; /**< Segment surface */
tTrackBarrier *barrier[2]; /**< Segment barriers */
tTrackBarrier *barrier[2]; /**< Segment barriers */
tRoadCam *cam; /* current camera */
struct trackSeg *next; /**< Next segment */
struct trackSeg *prev; /**< Previous segment */
// Union to avoid code duplication for left/right side cases and to
// keep compatibility of code. The side definition is so ugly to
// match the one of the barrier[].
// Union to avoid code duplication for left/right side cases and to
// keep compatibility of code. The side definition is so ugly to
// match the one of the barrier[].
#define TR_SIDE_LFT 1
#define TR_SIDE_RGT 0
union {
struct { struct trackSeg *rside, *lside; };
struct trackSeg* side[2];
};
union {
struct { struct trackSeg *rside, *lside; };
struct trackSeg* side[2];
};
} tTrackSeg;
@ -505,18 +506,18 @@ typedef struct TrackOwnPit
tdble lmin; /**< Pitting area length min */
tdble lmax; /**< Pitting area length max */
int freeCarIndex; // Index of next free car entry (look at the next line).
struct CarElt *car[TR_PIT_MAXCARPERPIT]; /**< Car links for pit */
struct CarElt *car[TR_PIT_MAXCARPERPIT]; /**< Car links for pit */
} tTrackOwnPit;
/** Pits Info Structure */
typedef struct tTrackPitInfo
{
int type; /**< Type of Pit:
- TR_PIT_NONE
- TR_PIT_ON_TRACK_SIDE
- TR_PIT_ON_SEPARATE_PATH
- TR_PIT_NO_BUILDING
*/
int type; /**< Type of Pit:
- TR_PIT_NONE
- TR_PIT_ON_TRACK_SIDE
- TR_PIT_ON_SEPARATE_PATH
- TR_PIT_NO_BUILDING
*/
#define TR_PIT_NONE 0 /**< No pits for that tracks */
#define TR_PIT_ON_TRACK_SIDE 1 /**< The pits are on the track side */
#define TR_PIT_ON_SEPARATE_PATH 2 /**< The pit is on a separate pitlane */
@ -536,8 +537,9 @@ typedef struct tTrackPitInfo
tTrackSeg *pitEnd; /**< Pit lane segment */
tTrackSeg *pitExit; /**< Pit lane segment */
tTrackOwnPit *driversPits; /**< List of pits by driver */
int carsPerPit;
int carsPerPit;
int driversPitsNb; /**< Number of drivers */
int pitindicator; /**< Pit Indicator 0/1 */
} tTrackPitInfo;
typedef struct TurnMarksInfo
@ -594,14 +596,14 @@ typedef struct TrackGraphicInfo
*/
typedef struct TrackLocalInfo
{
/* Constant spec. data, read from <track>.xml */
const char *station; /**<Station Weather */
/* Constant spec. data, read from <track>.xml */
const char *station; /**<Station Weather */
int timezone; /**< timezone for real timeday with not connection http */
tdble anyrainlkhood; /**< Overall likelyhood of having rain (when random) [0, 1] */
tdble littlerainlkhood; /**< Likelyhood of having little rain when it rains [0, 1] */
tdble mediumrainlkhood; /**< Likelyhood of having medium rain when it rains [0, 1-little] */
/* Actual data for a race (computed at race start) */
/* Actual data for a race (computed at race start) */
tdble timeofday; /**< Local time of day, in seconds from 0:00 (0 = 0:00, 86400 = 24:00 */
int timeofdayindex;
tdble sunascension; /**< Local sun "height" (related to the latitude, not to the time of day) */

File diff suppressed because it is too large Load diff

View file

@ -22,7 +22,7 @@
//TODO: What is this??? kilo
#ifdef GUIONS
#include <glib.h>
#include <glib.h>
#endif //GUIONS
#include <track.h> //tTrack
@ -43,6 +43,7 @@ extern ssgBranch *LandAnchor;
extern ssgBranch *CarsAnchor;
extern ssgBranch *ShadowAnchor;
extern ssgBranch *PitsAnchor;
extern ssgBranch *PitsIndicatorAnchor;
extern ssgBranch *SmokeAnchor;
extern ssgBranch *SkidAnchor;
extern ssgBranch *CarlightAnchor;
@ -65,12 +66,13 @@ extern int grLoadScene(tTrack *track);
extern void grDrawScene();
extern void grShutdownScene(void);
extern void grCustomizePits(void);
extern void grLoadPitsIndicator(void);
extern void grDrawBackground(class cGrCamera *, class cGrBackgroundCam *bgCam);
//TODO: Question: What is this??? kilo
// Possible answer: Some try to lower GPU load by filtering the scene ? JP
#ifdef GUIONS
class cDoV
class cDoV
{
public:
tdble FrontLevelGroupGlobal; /* the distance for the end of the front scene */
@ -82,7 +84,7 @@ public:
tdble RearLevelGroup1;
tdble RearLevelGroup2;
tdble RearLevelGroup3;
tdble FrontLevelMap1; /* the distance for the end of the front scene with only one mapping*/
tdble FrontLevelMap2; /* the distance for the end of the front scene with two mapping*/
tdble FrontLevelMap3; /* the distance for the end of the front scene with three mapping*/
@ -91,7 +93,7 @@ public:
tdble RearLevelMap3;
};
class cHashMapElement
class cHashMapElement
{
char *name;
int numberOfMapToApply;

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff