mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 12:31:54 +00:00
Sync look back
Also fixes look back applying to the first player in parties instead of locally.
This commit is contained in:
parent
7961ac9d95
commit
0c814ce42d
5 changed files with 10 additions and 9 deletions
|
|
@ -32,8 +32,9 @@ typedef enum
|
||||||
BT_ATTACK = 1<<4, // Use Item
|
BT_ATTACK = 1<<4, // Use Item
|
||||||
BT_FORWARD = 1<<5, // Aim Item Forward
|
BT_FORWARD = 1<<5, // Aim Item Forward
|
||||||
BT_BACKWARD = 1<<6, // Aim Item Backward
|
BT_BACKWARD = 1<<6, // Aim Item Backward
|
||||||
|
BT_LOOKBACK = 1<<7, // Look Backward
|
||||||
|
|
||||||
// free: 1<<7 to 1<<12
|
// free: 1<<8 to 1<<12
|
||||||
|
|
||||||
// Lua garbage
|
// Lua garbage
|
||||||
BT_CUSTOM1 = 1<<13,
|
BT_CUSTOM1 = 1<<13,
|
||||||
|
|
|
||||||
|
|
@ -1231,7 +1231,6 @@ INT32 JoyAxis(axis_input_e axissel, UINT8 p)
|
||||||
//
|
//
|
||||||
INT32 localaiming[MAXSPLITSCREENPLAYERS];
|
INT32 localaiming[MAXSPLITSCREENPLAYERS];
|
||||||
angle_t localangle[MAXSPLITSCREENPLAYERS];
|
angle_t localangle[MAXSPLITSCREENPLAYERS];
|
||||||
boolean camspin[MAXSPLITSCREENPLAYERS];
|
|
||||||
|
|
||||||
static fixed_t forwardmove[2] = {25<<FRACBITS>>16, 50<<FRACBITS>>16};
|
static fixed_t forwardmove[2] = {25<<FRACBITS>>16, 50<<FRACBITS>>16};
|
||||||
static fixed_t sidemove[2] = {2<<FRACBITS>>16, 4<<FRACBITS>>16};
|
static fixed_t sidemove[2] = {2<<FRACBITS>>16, 4<<FRACBITS>>16};
|
||||||
|
|
@ -1456,6 +1455,11 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
|
||||||
if (InputDown(gc_drift, ssplayer) || (usejoystick && axis > 0))
|
if (InputDown(gc_drift, ssplayer) || (usejoystick && axis > 0))
|
||||||
cmd->buttons |= BT_DRIFT;
|
cmd->buttons |= BT_DRIFT;
|
||||||
|
|
||||||
|
// rear view with any button/key
|
||||||
|
axis = JoyAxis(AXISLOOKBACK, ssplayer);
|
||||||
|
if (InputDown(gc_lookback, ssplayer) || (usejoystick && axis > 0))
|
||||||
|
cmd->buttons |= BT_LOOKBACK;
|
||||||
|
|
||||||
// Lua scriptable buttons
|
// Lua scriptable buttons
|
||||||
if (InputDown(gc_custom1, ssplayer))
|
if (InputDown(gc_custom1, ssplayer))
|
||||||
cmd->buttons |= BT_CUSTOM1;
|
cmd->buttons |= BT_CUSTOM1;
|
||||||
|
|
@ -1576,7 +1580,6 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
|
||||||
keyboard_look[ssplayer-1] = kbl;
|
keyboard_look[ssplayer-1] = kbl;
|
||||||
turnheld[ssplayer-1] = th;
|
turnheld[ssplayer-1] = th;
|
||||||
resetdown[ssplayer-1] = rd;
|
resetdown[ssplayer-1] = rd;
|
||||||
camspin[ssplayer-1] = InputDown(gc_lookback, ssplayer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Lua: Allow this hook to overwrite ticcmd.
|
/* Lua: Allow this hook to overwrite ticcmd.
|
||||||
|
|
|
||||||
|
|
@ -129,6 +129,7 @@ typedef enum
|
||||||
AXISDEAD, //Axises that don't want deadzones
|
AXISDEAD, //Axises that don't want deadzones
|
||||||
AXISFIRE,
|
AXISFIRE,
|
||||||
AXISDRIFT,
|
AXISDRIFT,
|
||||||
|
AXISLOOKBACK,
|
||||||
} axis_input_e;
|
} axis_input_e;
|
||||||
|
|
||||||
// mouseaiming (looking up/down with the mouse or keyboard)
|
// mouseaiming (looking up/down with the mouse or keyboard)
|
||||||
|
|
@ -154,7 +155,6 @@ INT32 JoyAxis(axis_input_e axissel, UINT8 p);
|
||||||
|
|
||||||
extern angle_t localangle[MAXSPLITSCREENPLAYERS];
|
extern angle_t localangle[MAXSPLITSCREENPLAYERS];
|
||||||
extern INT32 localaiming[MAXSPLITSCREENPLAYERS]; // should be an angle_t but signed
|
extern INT32 localaiming[MAXSPLITSCREENPLAYERS]; // should be an angle_t but signed
|
||||||
extern boolean camspin[MAXSPLITSCREENPLAYERS]; // SRB2Kart
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// GAME
|
// GAME
|
||||||
|
|
|
||||||
|
|
@ -8874,7 +8874,7 @@ static void K_drawKartPlayerCheck(void)
|
||||||
if (stplyr->awayviewtics)
|
if (stplyr->awayviewtics)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (camspin[0])
|
if (( stplyr->cmd.buttons & BT_LOOKBACK ))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
|
|
|
||||||
|
|
@ -7371,6 +7371,7 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
if (P_CameraThinker(player, thiscam, resetcalled))
|
if (P_CameraThinker(player, thiscam, resetcalled))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
lookback = ( player->cmd.buttons & BT_LOOKBACK );
|
||||||
|
|
||||||
if (thiscam == &camera[1]) // Camera 2
|
if (thiscam == &camera[1]) // Camera 2
|
||||||
{
|
{
|
||||||
|
|
@ -7380,7 +7381,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
camrotate = cv_cam2_rotate.value;
|
camrotate = cv_cam2_rotate.value;
|
||||||
camdist = FixedMul(cv_cam2_dist.value, mapobjectscale);
|
camdist = FixedMul(cv_cam2_dist.value, mapobjectscale);
|
||||||
camheight = FixedMul(cv_cam2_height.value, mapobjectscale);
|
camheight = FixedMul(cv_cam2_height.value, mapobjectscale);
|
||||||
lookback = camspin[1];
|
|
||||||
}
|
}
|
||||||
else if (thiscam == &camera[2]) // Camera 3
|
else if (thiscam == &camera[2]) // Camera 3
|
||||||
{
|
{
|
||||||
|
|
@ -7390,7 +7390,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
camrotate = cv_cam3_rotate.value;
|
camrotate = cv_cam3_rotate.value;
|
||||||
camdist = FixedMul(cv_cam3_dist.value, mapobjectscale);
|
camdist = FixedMul(cv_cam3_dist.value, mapobjectscale);
|
||||||
camheight = FixedMul(cv_cam3_height.value, mapobjectscale);
|
camheight = FixedMul(cv_cam3_height.value, mapobjectscale);
|
||||||
lookback = camspin[2];
|
|
||||||
}
|
}
|
||||||
else if (thiscam == &camera[3]) // Camera 4
|
else if (thiscam == &camera[3]) // Camera 4
|
||||||
{
|
{
|
||||||
|
|
@ -7400,7 +7399,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
camrotate = cv_cam4_rotate.value;
|
camrotate = cv_cam4_rotate.value;
|
||||||
camdist = FixedMul(cv_cam4_dist.value, mapobjectscale);
|
camdist = FixedMul(cv_cam4_dist.value, mapobjectscale);
|
||||||
camheight = FixedMul(cv_cam4_height.value, mapobjectscale);
|
camheight = FixedMul(cv_cam4_height.value, mapobjectscale);
|
||||||
lookback = camspin[3];
|
|
||||||
}
|
}
|
||||||
else // Camera 1
|
else // Camera 1
|
||||||
{
|
{
|
||||||
|
|
@ -7410,7 +7408,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
||||||
camrotate = cv_cam_rotate.value;
|
camrotate = cv_cam_rotate.value;
|
||||||
camdist = FixedMul(cv_cam_dist.value, mapobjectscale);
|
camdist = FixedMul(cv_cam_dist.value, mapobjectscale);
|
||||||
camheight = FixedMul(cv_cam_height.value, mapobjectscale);
|
camheight = FixedMul(cv_cam_height.value, mapobjectscale);
|
||||||
lookback = camspin[0];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (timeover)
|
if (timeover)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue