forked from speed-dreams/speed-dreams-code
Bug #780 Cleaned up Cameras and added F8 = GoPro views.
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@5109 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: c7e6c3dbde65408477facc0b7ca41431effa74da Former-commit-id: f8ecd0723b75adbc49bfe35ac1a9f0ab1f8e6c48
This commit is contained in:
parent
a3d5ff2c68
commit
ae2740da16
3 changed files with 180 additions and 135 deletions
|
@ -964,7 +964,7 @@ common_drive(const int index, tCarElt* car, tSituation *s)
|
|||
|
||||
car->_steerCmd = leftSteer + rightSteer;
|
||||
|
||||
#define GLANCERATE 12 // speed at which the driver turns his head, radians per sec -> ~1/3s to full glance
|
||||
#define GLANCERATE 3 // speed at which the driver turns his head, ~1/3s to full glance
|
||||
newGlance = car->_glance;
|
||||
|
||||
if ((cmd[CMD_LEFTGLANCE].type == GFCTRL_TYPE_JOY_BUT && joyInfo->levelup[cmd[CMD_LEFTGLANCE].val])
|
||||
|
@ -981,10 +981,10 @@ common_drive(const int index, tCarElt* car, tSituation *s)
|
|||
newGlance = newGlance + GLANCERATE * s->deltaTime;
|
||||
} else if (cmd[CMD_RIGHTGLANCE].type == GFCTRL_TYPE_JOY_AXIS && joyInfo->ax[cmd[CMD_RIGHTGLANCE].val] > cmd[CMD_RIGHTGLANCE].min)
|
||||
{
|
||||
newGlance = joyInfo->ax[cmd[CMD_RIGHTGLANCE].val] * 2*PI/3;
|
||||
newGlance = joyInfo->ax[cmd[CMD_RIGHTGLANCE].val];
|
||||
} else if (cmd[CMD_LEFTGLANCE].type == GFCTRL_TYPE_JOY_AXIS && joyInfo->ax[cmd[CMD_LEFTGLANCE].val] < cmd[CMD_LEFTGLANCE].max)
|
||||
{
|
||||
newGlance = joyInfo->ax[cmd[CMD_LEFTGLANCE].val] * 2*PI/3;
|
||||
newGlance = joyInfo->ax[cmd[CMD_LEFTGLANCE].val];
|
||||
} else {
|
||||
// return view to center
|
||||
car->_oldglance = 0;
|
||||
|
@ -998,9 +998,9 @@ common_drive(const int index, tCarElt* car, tSituation *s)
|
|||
}
|
||||
}
|
||||
|
||||
// limit glance to 120 degrees either way
|
||||
if (newGlance > 2*PI/3) newGlance=2*PI/3;
|
||||
if (newGlance < -2*PI/3) newGlance=-2*PI/3;
|
||||
// limit glance
|
||||
if (newGlance > 1) newGlance=1;
|
||||
if (newGlance < -1) newGlance=-1;
|
||||
|
||||
// Limit twitching between values
|
||||
if (newGlance != 0) {
|
||||
|
|
|
@ -305,11 +305,7 @@ class cGrCarCamInsideDriverEye : public cGrPerspCamera
|
|||
float offset = 0;
|
||||
|
||||
p[0] = car->_drvPos_x;
|
||||
#if 1 //SDW Remove Before Release
|
||||
p[1] = car->_bonnetPos_y;
|
||||
#else
|
||||
p[1] = car->_drvPos_y;
|
||||
#endif
|
||||
p[2] = car->_drvPos_z;
|
||||
sgXformPnt3(p, car->_posMat);
|
||||
|
||||
|
@ -324,12 +320,8 @@ class cGrCarCamInsideDriverEye : public cGrPerspCamera
|
|||
fovy = spanfovy;
|
||||
}
|
||||
|
||||
P[0] = car->_drvPos_x + 30.0 * cos(car->_glance + offset);
|
||||
#if 1 //SDW Remove Before Release
|
||||
P[1] = car->_bonnetPos_y - 30.0 * sin(car->_glance + offset);
|
||||
#else
|
||||
P[1] = car->_drvPos_y - 30.0 * sin(car->_glance + offset);
|
||||
#endif
|
||||
P[0] = car->_drvPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||
P[1] = car->_bonnetPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||
P[2] = car->_drvPos_z;
|
||||
sgXformPnt3(P, car->_posMat);
|
||||
|
||||
|
@ -400,8 +392,8 @@ class cGrCarCamInsideDynDriverEye : public cGrCarCamInsideDriverEye
|
|||
fovy = spanfovy;
|
||||
}
|
||||
|
||||
P[0] = car->_drvPos_x + 30.0 * cos(car->_glance + offset);
|
||||
P[1] = car->_drvPos_y - 30.0 * sin(car->_glance + offset);
|
||||
P[0] = car->_drvPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||
P[1] = car->_drvPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||
P[2] = car->_drvPos_z;
|
||||
|
||||
#if (CamDriverEyeDynamicBehaviour == 3)
|
||||
|
@ -429,8 +421,8 @@ class cGrCarCamInsideDynDriverEye : public cGrCarCamInsideDriverEye
|
|||
if (headTurn > PI/3) headTurn = PI/3;
|
||||
if (headTurn < -PI/3) headTurn = -PI/3;
|
||||
|
||||
P[0] = car->_drvPos_x + 30.0 * cos(car->_glance + offset + headTurn);
|
||||
P[1] = car->_drvPos_y - 30.0 * sin(car->_glance + offset + headTurn);
|
||||
P[0] = car->_drvPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset + headTurn);
|
||||
P[1] = car->_drvPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset + headTurn);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -631,8 +623,8 @@ class cGrCarCamInsideFixedCar : public cGrPerspCamera
|
|||
fovy = spanfovy;
|
||||
}
|
||||
|
||||
P[0] = car->_bonnetPos_x + 30.0 * cos(car->_glance + offset);
|
||||
P[1] = car->_bonnetPos_y - 30.0 * sin(car->_glance + offset);
|
||||
P[0] = car->_bonnetPos_x + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||
P[1] = car->_bonnetPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||
P[2] = car->_bonnetPos_z;
|
||||
sgXformPnt3(P, car->_posMat);
|
||||
|
||||
|
@ -686,8 +678,8 @@ class cGrCarCamInfrontFixedCar : public cGrPerspCamera
|
|||
fovy = spanfovy;
|
||||
}
|
||||
|
||||
P[0] = (car->_dimension_x / 2) + 30.0 * cos(car->_glance + offset);
|
||||
P[1] = car->_bonnetPos_y - 30.0 * sin(car->_glance + offset);
|
||||
P[0] = (car->_dimension_x / 2) + 30.0 * cos(2*PI/3 * car->_glance + offset);
|
||||
P[1] = car->_bonnetPos_y - 30.0 * sin(2*PI/3 * car->_glance + offset);
|
||||
P[2] = car->_statGC_z;
|
||||
|
||||
sgXformPnt3(P, car->_posMat);
|
||||
|
@ -727,8 +719,8 @@ class cGrCarCamBehindFixedCar : public cGrPerspCamera
|
|||
sgVec3 P, p;
|
||||
float offset = 0;
|
||||
|
||||
p[0] = car->_drvPos_x - 6.0f * cos(1.5 * car->_glance);
|
||||
p[1] = car->_bonnetPos_y + 6.0f * sin(1.5 * car->_glance);
|
||||
p[0] = car->_drvPos_x - 6.0f * cos(PI * car->_glance);
|
||||
p[1] = car->_bonnetPos_y + 6.0f * sin(PI * car->_glance);
|
||||
p[2] = car->_bonnetPos_z + 1.0f;
|
||||
sgXformPnt3(p, car->_posMat);
|
||||
|
||||
|
@ -743,8 +735,8 @@ class cGrCarCamBehindFixedCar : public cGrPerspCamera
|
|||
fovy = spanfovy;
|
||||
}
|
||||
|
||||
P[0] = car->_drvPos_x - 6.0f * cos(1.5 * car->_glance) + 30.0 * cos(1.5 * car->_glance + offset);
|
||||
P[1] = car->_bonnetPos_y + 6.0f * sin(1.5 * car->_glance) - 30.0 * sin(1.5 * car->_glance + offset);
|
||||
P[0] = car->_drvPos_x - 6.0f * cos(PI * car->_glance) + 30.0 * cos(PI * car->_glance + offset);
|
||||
P[1] = car->_bonnetPos_y + 6.0f * sin(PI * car->_glance) - 30.0 * sin(PI * car->_glance + offset);
|
||||
P[2] = car->_bonnetPos_z + 1.0f;;
|
||||
sgXformPnt3(P, car->_posMat);
|
||||
|
||||
|
@ -880,30 +872,12 @@ class cGrCarCamBehind : public cGrPerspCamera
|
|||
}
|
||||
lastTime = s->currentTime;
|
||||
|
||||
#if 0 // SDW Remove Before Release
|
||||
tdble CosA;
|
||||
tdble SinA;
|
||||
|
||||
CosA = cos(A);
|
||||
SinA = sin(A);
|
||||
tdble x = car->_pos_X - dist * CosA;
|
||||
tdble y = car->_pos_Y - dist * SinA;
|
||||
|
||||
eye[0] = x;
|
||||
eye[1] = y;
|
||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, x, y) + height;
|
||||
|
||||
center[0] = car->_pos_X + (10 - dist) * CosA;
|
||||
center[1] = car->_pos_Y + (10 - dist) * SinA;
|
||||
#else
|
||||
|
||||
eye[0] = car->_pos_X - dist * cos(A + 1.5 * car->_glance);
|
||||
eye[1] = car->_pos_Y - dist * sin(A + 1.5 * car->_glance);
|
||||
eye[0] = car->_pos_X - dist * cos(A + PI * car->_glance);
|
||||
eye[1] = car->_pos_Y - dist * sin(A + PI * car->_glance);
|
||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, eye[0], eye[1]) + height;
|
||||
|
||||
center[0] = car->_pos_X + (10 - dist) * cos(A + 1.5 * car->_glance);
|
||||
center[1] = car->_pos_Y + (10 - dist) * sin(A + 1.5 * car->_glance);
|
||||
#endif
|
||||
center[0] = car->_pos_X + (10 - dist) * cos(A + PI * car->_glance);
|
||||
center[1] = car->_pos_Y + (10 - dist) * sin(A + PI * car->_glance);
|
||||
center[2] = car->_pos_Z;
|
||||
|
||||
speed[0] = car->pub.DynGCg.vel.x;
|
||||
|
@ -1000,20 +974,9 @@ class cGrCarCamFront : public cGrPerspCamera
|
|||
}
|
||||
|
||||
void update(tCarElt *car, tSituation *s) {
|
||||
#if 0 //SDW Remove Before Release
|
||||
tdble CosA = cos(car->_yaw);
|
||||
tdble SinA = sin(car->_yaw);
|
||||
tdble x = car->_pos_X + dist * CosA;
|
||||
tdble y = car->_pos_Y + dist * SinA;
|
||||
|
||||
eye[0] = x;
|
||||
eye[1] = y;
|
||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, x, y) + 0.5;
|
||||
#else
|
||||
eye[0] = car->_pos_X + dist * cos(car->_yaw + 1.5 * car->_glance);
|
||||
eye[1] = car->_pos_Y + dist * sin(car->_yaw + 1.5 * car->_glance);
|
||||
eye[0] = car->_pos_X + dist * cos(car->_yaw + PI * car->_glance);
|
||||
eye[1] = car->_pos_Y + dist * sin(car->_yaw + PI * car->_glance);
|
||||
eye[2] = RtTrackHeightG(car->_trkPos.seg, eye[0], eye[1]) + 0.5;
|
||||
#endif
|
||||
|
||||
center[0] = car->_pos_X;
|
||||
center[1] = car->_pos_Y;
|
||||
|
@ -1276,6 +1239,104 @@ class cGrCarCamLookAt : public cGrPerspCamera
|
|||
};
|
||||
|
||||
|
||||
// cGrCarCamGoPro1 ================================================================
|
||||
|
||||
class cGrCarCamGoPro1 : public cGrPerspCamera
|
||||
{
|
||||
protected:
|
||||
|
||||
public:
|
||||
cGrCarCamGoPro1(class cGrScreen *myscreen, int id, int drawCurr, int drawBG,
|
||||
float fovy, float fovymin, float fovymax,
|
||||
float fnear, float ffar = 1500.0,
|
||||
float myfogstart = 1400.0, float myfogend = 1500.0)
|
||||
: cGrPerspCamera(myscreen, id, drawCurr, 1, drawBG, 0, fovy, fovymin,
|
||||
fovymax, fnear, ffar, myfogstart, myfogend) {
|
||||
}
|
||||
|
||||
void update(tCarElt *car, tSituation *s) {
|
||||
sgVec3 P, p;
|
||||
|
||||
p[0] = car->_drvPos_x;
|
||||
p[1] = (car->_dimension_y / 2) + 0.1;
|
||||
p[2] = car->_statGC_z;
|
||||
sgXformPnt3(p, car->_posMat);
|
||||
|
||||
eye[0] = p[0];
|
||||
eye[1] = p[1];
|
||||
eye[2] = p[2];
|
||||
|
||||
P[0] = 30;
|
||||
P[1] = (car->_dimension_y / 2) + 0.1;
|
||||
P[2] = car->_statGC_z;
|
||||
|
||||
sgXformPnt3(P, car->_posMat);
|
||||
|
||||
center[0] = P[0];
|
||||
center[1] = P[1];
|
||||
center[2] = P[2];
|
||||
|
||||
up[0] = car->_posMat[2][0];
|
||||
up[1] = car->_posMat[2][1];
|
||||
up[2] = car->_posMat[2][2];
|
||||
|
||||
speed[0] =car->pub.DynGCg.vel.x;
|
||||
speed[1] =car->pub.DynGCg.vel.y;
|
||||
speed[2] =car->pub.DynGCg.vel.z;
|
||||
|
||||
Speed = car->_speed_x * 3.6;
|
||||
}
|
||||
};
|
||||
|
||||
// cGrCarCamGoPro2 ================================================================
|
||||
|
||||
class cGrCarCamGoPro2 : public cGrPerspCamera
|
||||
{
|
||||
protected:
|
||||
|
||||
public:
|
||||
cGrCarCamGoPro2(class cGrScreen *myscreen, int id, int drawCurr, int drawBG,
|
||||
float fovy, float fovymin, float fovymax,
|
||||
float fnear, float ffar = 1500.0,
|
||||
float myfogstart = 1400.0, float myfogend = 1500.0)
|
||||
: cGrPerspCamera(myscreen, id, drawCurr, 1, drawBG, 0, fovy, fovymin,
|
||||
fovymax, fnear, ffar, myfogstart, myfogend) {
|
||||
}
|
||||
|
||||
void update(tCarElt *car, tSituation *s) {
|
||||
sgVec3 P, p;
|
||||
|
||||
p[0] = car->_drvPos_x;
|
||||
p[1] = 0 - (car->_dimension_y / 2) - 0.1;
|
||||
p[2] = car->_statGC_z;
|
||||
sgXformPnt3(p, car->_posMat);
|
||||
|
||||
eye[0] = p[0];
|
||||
eye[1] = p[1];
|
||||
eye[2] = p[2];
|
||||
|
||||
P[0] = 30;
|
||||
P[1] = 0 - (car->_dimension_y / 2) - 0.1;
|
||||
P[2] = car->_statGC_z;
|
||||
|
||||
sgXformPnt3(P, car->_posMat);
|
||||
|
||||
center[0] = P[0];
|
||||
center[1] = P[1];
|
||||
center[2] = P[2];
|
||||
|
||||
up[0] = car->_posMat[2][0];
|
||||
up[1] = car->_posMat[2][1];
|
||||
up[2] = car->_posMat[2][2];
|
||||
|
||||
speed[0] =car->pub.DynGCg.vel.x;
|
||||
speed[1] =car->pub.DynGCg.vel.y;
|
||||
speed[2] =car->pub.DynGCg.vel.z;
|
||||
|
||||
Speed = car->_speed_x * 3.6;
|
||||
}
|
||||
};
|
||||
|
||||
// cGrCarCamRoadNoZoom ================================================================
|
||||
|
||||
class cGrCarCamRoadNoZoom : public cGrPerspCamera
|
||||
|
@ -1314,7 +1375,7 @@ class cGrCarCamRoadNoZoom : public cGrPerspCamera
|
|||
|
||||
center[0] = car->_pos_X;
|
||||
center[1] = car->_pos_Y;
|
||||
/* center[2] = car->_pos_Z; */
|
||||
center[2] = car->_pos_Z;
|
||||
|
||||
speed[0] = 0.0;
|
||||
speed[1] = 0.0;
|
||||
|
@ -1728,7 +1789,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
/* Scene Cameras */
|
||||
c = 0;
|
||||
|
||||
/* F2 */
|
||||
/* F2 - First Person Views */
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
||||
|
@ -1781,11 +1842,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
id++;
|
||||
|
||||
/* cam F2 = ahead the windshield, from the bonnet (road view, car not visible) */
|
||||
#if 1 //SDW Remove Before Release
|
||||
cam = new cGrCarCamInfrontFixedCar(myscreen,
|
||||
#else
|
||||
cam = new cGrCarCamInsideFixedCar(myscreen,
|
||||
#endif
|
||||
id,
|
||||
0, /* drawCurr */
|
||||
1, /* drawBG */
|
||||
|
@ -1816,29 +1873,11 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
cam->add(&cams[c]);
|
||||
id++;
|
||||
|
||||
#if 0
|
||||
/* cam F2 = just outside the car, behind; camera fixed to car */
|
||||
cam = new cGrCarCamBehindFixedCar(myscreen,
|
||||
id,
|
||||
1, /* drawCurr */
|
||||
1, /* drawBG */
|
||||
67.5, /* fovy */
|
||||
50.0, /* fovymin */
|
||||
95.0, /* fovymax */
|
||||
0.3, /* near */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
||||
fixedFar ? fixedFar/2 : 300.0 * fovFactor, /* fogstart */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor /* fogend */
|
||||
);
|
||||
cam->add(&cams[c]);
|
||||
#endif
|
||||
|
||||
/* F3 */
|
||||
/* F3 - 3rd Person Views */
|
||||
c++;
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
||||
#if 1 //SDW Remove Before Release
|
||||
/* cam F2 = behind the car, near, looking forward */
|
||||
cam = new cGrCarCamBehind(myscreen,
|
||||
id,
|
||||
|
@ -1857,28 +1896,6 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
);
|
||||
cam->add(&cams[c]);
|
||||
id++;
|
||||
#endif
|
||||
|
||||
#if 0 //SDW Remove Before Release
|
||||
/* cam F3 = behind the car, far */
|
||||
cam = new cGrCarCamBehind(myscreen,
|
||||
id,
|
||||
1, /* drawCurr */
|
||||
1, /* drawBG */
|
||||
40.0, /* fovy */
|
||||
5.0, /* fovymin */
|
||||
95.0, /* fovymax */
|
||||
20.0, /* dist */
|
||||
4.0, /* height */
|
||||
1.0, /* near */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
||||
fixedFar ? fixedFar/2 : 300.0 * fovFactor, /* fogstart */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* fogend */
|
||||
15.0 /* relaxation */
|
||||
);
|
||||
cam->add(&cams[c]);
|
||||
id++;
|
||||
#endif
|
||||
|
||||
/* cam F3 = car behind */
|
||||
cam = new cGrCarCamBehind(myscreen,
|
||||
|
@ -1934,7 +1951,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
cam->add(&cams[c]);
|
||||
id++;
|
||||
|
||||
/* F4 */
|
||||
/* F4 - Tracking side/front/back shots */
|
||||
c++;
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
@ -2090,7 +2107,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
);
|
||||
cam->add(&cams[c]);
|
||||
|
||||
/* F5 */
|
||||
/* F5 - Views from above */
|
||||
c++;
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
@ -2316,28 +2333,42 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
cam->add(&cams[c]);
|
||||
id++;
|
||||
|
||||
/* F8 */
|
||||
/* F8 - GoPro like views*/
|
||||
c++;
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
||||
/* cam F8 = road cam fixed fov */
|
||||
cam = new cGrCarCamGoPro1(myscreen,
|
||||
id,
|
||||
1, /* drawCurr */
|
||||
1, /* drawBG */
|
||||
67.5, /* fovy */
|
||||
10.0, /* fovymin */
|
||||
95.0, /* fovymax */
|
||||
0.05, /* near */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
||||
fixedFar ? fixedFar : 300.0 * fovFactor, /* fogstart */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor /* fogend */
|
||||
);
|
||||
|
||||
cam = new cGrCarCamRoadNoZoom(myscreen,
|
||||
id,
|
||||
1, /* drawCurr */
|
||||
1, /* drawBG */
|
||||
30.0, /* fovy */
|
||||
5.0, /* fovymin */
|
||||
60.0, /* fovymax */
|
||||
1.0, /* near */
|
||||
fixedFar ? fixedFar : 1000.0 * fovFactor,/* far */
|
||||
fixedFar ? fixedFar/2 : 500.0 * fovFactor, /* fogstart */
|
||||
fixedFar ? fixedFar : 1000.0 * fovFactor /* fogend */
|
||||
);
|
||||
cam->add(&cams[c]);
|
||||
|
||||
/* F9 */
|
||||
cam = new cGrCarCamGoPro2(myscreen,
|
||||
id,
|
||||
1, /* drawCurr */
|
||||
1, /* drawBG */
|
||||
67.5, /* fovy */
|
||||
10.0, /* fovymin */
|
||||
95.0, /* fovymax */
|
||||
0.05, /* near */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor, /* far */
|
||||
fixedFar ? fixedFar : 300.0 * fovFactor, /* fogstart */
|
||||
fixedFar ? fixedFar : 600.0 * fovFactor /* fogend */
|
||||
);
|
||||
|
||||
cam->add(&cams[c]);
|
||||
|
||||
/* F9 - TV like coverage */
|
||||
c++;
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
@ -2358,7 +2389,22 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
cam->add(&cams[c]);
|
||||
id++;
|
||||
|
||||
/* F10 */
|
||||
/* cam F9 = road cam fixed fov */
|
||||
cam = new cGrCarCamRoadNoZoom(myscreen,
|
||||
id,
|
||||
1, /* drawCurr */
|
||||
1, /* drawBG */
|
||||
30.0, /* fovy */
|
||||
5.0, /* fovymin */
|
||||
60.0, /* fovymax */
|
||||
1.0, /* near */
|
||||
fixedFar ? fixedFar : 1000.0 * fovFactor,/* far */
|
||||
fixedFar ? fixedFar/2 : 500.0 * fovFactor, /* fogstart */
|
||||
fixedFar ? fixedFar : 1000.0 * fovFactor /* fogend */
|
||||
);
|
||||
cam->add(&cams[c]);
|
||||
|
||||
/* F10 - Helicopter like views*/
|
||||
c++;
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
@ -2379,7 +2425,6 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
cam->add(&cams[c]);
|
||||
id++;
|
||||
|
||||
/* cam F3 = car behind */
|
||||
cam = new cGrCarCamBehind2(myscreen,
|
||||
id,
|
||||
1, /* drawCurr */
|
||||
|
@ -2396,7 +2441,7 @@ grCamCreateSceneCameraList(class cGrScreen *myscreen, tGrCamHead *cams,
|
|||
cam->add(&cams[c]);
|
||||
id++;
|
||||
|
||||
/* F11 */
|
||||
/* F11 - The Directors cut */
|
||||
c++;
|
||||
GF_TAILQ_INIT(&cams[c]);
|
||||
id = 0;
|
||||
|
|
|
@ -461,15 +461,15 @@ initView(int x, int y, int width, int height, int /* flag */, void *screen)
|
|||
GfuiAddKey(screen, GFUIK_PAGEUP, "Select Previous Car", (void*)0, grPrevCar, NULL);
|
||||
GfuiAddKey(screen, GFUIK_PAGEDOWN, "Select Next Car", (void*)0, grNextCar, NULL);
|
||||
|
||||
GfuiAddKey(screen, GFUIK_F2, "Driver Views", (void*)0, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F3, "Car Views", (void*)1, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F2, "1st Person Views", (void*)0, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F3, "3rd Person Views", (void*)1, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F4, "Side Car Views", (void*)2, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F5, "Up Car View", (void*)3, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F6, "Persp Car View", (void*)4, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F7, "All Circuit Views", (void*)5, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F8, "Track View", (void*)6, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F9, "Track View Zoomed", (void*)7, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F10, "Follow Car Zoomed", (void*)8, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F8, "Action Cam Views", (void*)6, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F9, "TV Camera Views", (void*)7, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F10, "Helicopter Views", (void*)8, grSelectCamera, NULL);
|
||||
GfuiAddKey(screen, GFUIK_F11, "TV Director View", (void*)9, grSelectCamera, NULL);
|
||||
|
||||
GfuiAddKey(screen, '5', "Debug Info", (void*)3, grSelectBoard, NULL);
|
||||
|
|
Loading…
Reference in a new issue