Made field-of-view configurable in the config file.
This commit is contained in:
parent
bb058deea5
commit
2f51406e3d
@ -133,6 +133,11 @@
|
||||
work anymore - so for now don't enable this. -->
|
||||
<networking enable="false"/>
|
||||
|
||||
<!-- The field od views for 1-4 player split screen. fov-3 is
|
||||
actually not used (since 3 player split screen uses the
|
||||
same layout as 4 player split screen) -->
|
||||
<camera fov-1="75" fov-2="65" fov-3="50" fov-4="75" />
|
||||
|
||||
<!-- disable-while-unskid: Disable steering when stop skidding during
|
||||
the time it takes to adjust the physical body with the graphics.
|
||||
camera-follow-skid: If true the camera will stay behind the kart,
|
||||
|
@ -275,6 +275,14 @@ void STKConfig::getAllData(const XMLNode * root)
|
||||
steer_node->get("camera-follow-skid", &m_camera_follow_skid );
|
||||
}
|
||||
|
||||
if (const XMLNode *camera = root->getNode("camera"))
|
||||
{
|
||||
camera->get("fov-1", &m_camera_fov[0]);
|
||||
camera->get("fov-2", &m_camera_fov[1]);
|
||||
camera->get("fov-3", &m_camera_fov[2]);
|
||||
camera->get("fov-4", &m_camera_fov[3]);
|
||||
}
|
||||
|
||||
if (const XMLNode *music_node = root->getNode("music"))
|
||||
{
|
||||
std::string title_music;
|
||||
|
@ -157,6 +157,9 @@ public:
|
||||
* be generated. */
|
||||
float m_replay_delta_angle;
|
||||
|
||||
/** The field of view for 1, 2, 3, 4 player split screen. */
|
||||
float m_camera_fov[4];
|
||||
|
||||
private:
|
||||
/** True if stk_config has been loaded. This is necessary if the
|
||||
* --stk-config command line parameter has been specified to avoid
|
||||
|
@ -222,7 +222,7 @@ void Camera::setupCamera()
|
||||
irr_driver->getActualScreenSize().Width,
|
||||
irr_driver->getActualScreenSize().Height);
|
||||
m_scaling = core::vector2df(1.0f, 1.0f);
|
||||
m_fov = DEGREE_TO_RAD*75.0f;
|
||||
m_fov = DEGREE_TO_RAD*stk_config->m_camera_fov[0];
|
||||
break;
|
||||
case 2: m_viewport = core::recti(0,
|
||||
m_index==0 ? 0
|
||||
@ -232,7 +232,7 @@ void Camera::setupCamera()
|
||||
: irr_driver->getActualScreenSize().Height);
|
||||
m_scaling = core::vector2df(1.0f, 0.5f);
|
||||
m_aspect *= 2.0f;
|
||||
m_fov = DEGREE_TO_RAD*65.0f;
|
||||
m_fov = DEGREE_TO_RAD*stk_config->m_camera_fov[1];
|
||||
break;
|
||||
case 3:
|
||||
/*
|
||||
@ -265,7 +265,7 @@ void Camera::setupCamera()
|
||||
const int y2 = (m_index<2 ? irr_driver->getActualScreenSize().Height>>1 : irr_driver->getActualScreenSize().Height);
|
||||
m_viewport = core::recti(x1, y1, x2, y2);
|
||||
m_scaling = core::vector2df(0.5f, 0.5f);
|
||||
m_fov = DEGREE_TO_RAD*50.0f;
|
||||
m_fov = DEGREE_TO_RAD*stk_config->m_camera_fov[3];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user