mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-03-22 02:41:56 +00:00
Mess with camera distance stuff
Also fixed a bug where I made all of the screens in 3p/4p mode in OpenGL too zoomed in
This commit is contained in:
parent
1f958091df
commit
654e5e482b
2 changed files with 11 additions and 7 deletions
|
@ -2026,9 +2026,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform)
|
|||
pglLoadIdentity();
|
||||
if (stransform->splitscreen == 1 && stransform->fovxangle == 90.0f);
|
||||
special_splitscreen = stransform->splitscreen;
|
||||
if (special_splitscreen > 1)
|
||||
GLPerspective(53.13l, ASPECT_RATIO);
|
||||
else if (special_splitscreen == 1)
|
||||
if (special_splitscreen == 1)
|
||||
GLPerspective(53.13l, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5)
|
||||
else
|
||||
GLPerspective(stransform->fovxangle, ASPECT_RATIO);
|
||||
|
@ -2043,7 +2041,7 @@ EXPORT void HWRAPI(SetTransform) (FTransform *stransform)
|
|||
|
||||
pglMatrixMode(GL_PROJECTION);
|
||||
pglLoadIdentity();
|
||||
if (special_splitscreen)
|
||||
if (special_splitscreen == 1)
|
||||
GLPerspective(53.13l, 2*ASPECT_RATIO); // 53.13 = 2*atan(0.5)
|
||||
else
|
||||
//Hurdler: is "fov" correct?
|
||||
|
|
12
src/p_user.c
12
src/p_user.c
|
@ -8506,18 +8506,24 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
|||
{
|
||||
dist = camdist;
|
||||
|
||||
if (splitscreen || splitscreen3 || splitscreen4) // x1.5 dist for splitscreen
|
||||
// in splitscreen, mess with the camera distances to make it feel proportional to how it feels normally
|
||||
if (splitscreen) // widescreen splits should get farther distance
|
||||
{
|
||||
dist = FixedMul(dist, 3*FRACUNIT/2);
|
||||
height = FixedMul(height, 3*FRACUNIT/2);
|
||||
}
|
||||
else if (splitscreen3 || splitscreen4) // small screen splits should get a shorter distance (yes, oddly enough that feels better)
|
||||
{
|
||||
dist = FixedMul(dist, 7*FRACUNIT/8);
|
||||
height = FixedMul(height, 7*FRACUNIT/8);
|
||||
}
|
||||
|
||||
// x1.2 dist for analog
|
||||
if (P_AnalogMove(player))
|
||||
/*if (P_AnalogMove(player))
|
||||
{
|
||||
dist = FixedMul(dist, 6*FRACUNIT/5);
|
||||
height = FixedMul(height, 6*FRACUNIT/5);
|
||||
}
|
||||
}*/
|
||||
|
||||
if (player->climbing || player->exiting || player->playerstate == PST_DEAD || (player->pflags & (PF_MACESPIN|PF_ITEMHANG|PF_ROPEHANG)))
|
||||
dist <<= 1;
|
||||
|
|
Loading…
Reference in a new issue