mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
cv_freecam_speed: Additional behaviour
- == 0 no-sells all movement - less than 0 divides speed by that amount, instead of multiplying
This commit is contained in:
parent
5eb5c087d0
commit
91a7adb621
2 changed files with 14 additions and 5 deletions
|
|
@ -1174,7 +1174,7 @@ consvar_t cv_fov[MAXSPLITSCREENPLAYERS] = {
|
||||||
Player("fov4", "90").floating_point().min_max(60*FRACUNIT, 179*FRACUNIT).onchange(Fov_OnChange).dont_save(),
|
Player("fov4", "90").floating_point().min_max(60*FRACUNIT, 179*FRACUNIT).onchange(Fov_OnChange).dont_save(),
|
||||||
};
|
};
|
||||||
|
|
||||||
consvar_t cv_freecam_speed = Player("freecam_speed", "1").min_max(1, 10).dont_save();
|
consvar_t cv_freecam_speed = Player("freecam_speed", "1").min_max(-64, 10).dont_save();
|
||||||
|
|
||||||
void I_JoyScale(void);
|
void I_JoyScale(void);
|
||||||
void I_JoyScale2(void);
|
void I_JoyScale2(void);
|
||||||
|
|
|
||||||
17
src/p_user.c
17
src/p_user.c
|
|
@ -2948,10 +2948,15 @@ void P_DemoCameraMovement(camera_t *cam, UINT8 num)
|
||||||
cam->angle += turning;
|
cam->angle += turning;
|
||||||
|
|
||||||
// camera movement:
|
// camera movement:
|
||||||
if (!cam->button_a_held)
|
if (!cam->button_a_held && cv_freecam_speed.value)
|
||||||
{
|
{
|
||||||
int dir = ((cmd->buttons & BT_ACCELERATE) ? 1 : 0) + ((cmd->buttons & BT_BRAKE) ? -1 : 0);
|
int dir = ((cmd->buttons & BT_ACCELERATE) ? 1 : 0) + ((cmd->buttons & BT_BRAKE) ? -1 : 0);
|
||||||
fixed_t spd = 32*mapobjectscale*cv_freecam_speed.value;
|
|
||||||
|
fixed_t spd = 32*mapobjectscale;
|
||||||
|
if (cv_freecam_speed.value > 1)
|
||||||
|
spd *= cv_freecam_speed.value;
|
||||||
|
else if (cv_freecam_speed.value < -1)
|
||||||
|
spd /= -cv_freecam_speed.value;
|
||||||
|
|
||||||
switch (dir)
|
switch (dir)
|
||||||
{
|
{
|
||||||
|
|
@ -3029,9 +3034,13 @@ void P_DemoCameraMovement(camera_t *cam, UINT8 num)
|
||||||
|
|
||||||
cam->momx = cam->momy = cam->momz = 0;
|
cam->momx = cam->momy = cam->momz = 0;
|
||||||
|
|
||||||
if (cmd->forwardmove != 0)
|
if (cmd->forwardmove != 0 && cv_freecam_speed.value)
|
||||||
{
|
{
|
||||||
fixed_t spd = cmd->forwardmove*mapobjectscale*cv_freecam_speed.value;
|
fixed_t spd = cmd->forwardmove*mapobjectscale;
|
||||||
|
if (cv_freecam_speed.value > 1)
|
||||||
|
spd *= cv_freecam_speed.value;
|
||||||
|
else if (cv_freecam_speed.value < -1)
|
||||||
|
spd /= -cv_freecam_speed.value;
|
||||||
|
|
||||||
thrustangle = cam->angle >> ANGLETOFINESHIFT;
|
thrustangle = cam->angle >> ANGLETOFINESHIFT;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue