mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-26 18:02:30 +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_FORWARD = 1<<5, // Aim Item Forward
|
||||
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
|
||||
BT_CUSTOM1 = 1<<13,
|
||||
|
|
|
|||
|
|
@ -1231,7 +1231,6 @@ INT32 JoyAxis(axis_input_e axissel, UINT8 p)
|
|||
//
|
||||
INT32 localaiming[MAXSPLITSCREENPLAYERS];
|
||||
angle_t localangle[MAXSPLITSCREENPLAYERS];
|
||||
boolean camspin[MAXSPLITSCREENPLAYERS];
|
||||
|
||||
static fixed_t forwardmove[2] = {25<<FRACBITS>>16, 50<<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))
|
||||
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
|
||||
if (InputDown(gc_custom1, ssplayer))
|
||||
cmd->buttons |= BT_CUSTOM1;
|
||||
|
|
@ -1576,7 +1580,6 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
|
|||
keyboard_look[ssplayer-1] = kbl;
|
||||
turnheld[ssplayer-1] = th;
|
||||
resetdown[ssplayer-1] = rd;
|
||||
camspin[ssplayer-1] = InputDown(gc_lookback, ssplayer);
|
||||
}
|
||||
|
||||
/* Lua: Allow this hook to overwrite ticcmd.
|
||||
|
|
|
|||
|
|
@ -129,6 +129,7 @@ typedef enum
|
|||
AXISDEAD, //Axises that don't want deadzones
|
||||
AXISFIRE,
|
||||
AXISDRIFT,
|
||||
AXISLOOKBACK,
|
||||
} axis_input_e;
|
||||
|
||||
// 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 INT32 localaiming[MAXSPLITSCREENPLAYERS]; // should be an angle_t but signed
|
||||
extern boolean camspin[MAXSPLITSCREENPLAYERS]; // SRB2Kart
|
||||
|
||||
//
|
||||
// GAME
|
||||
|
|
|
|||
|
|
@ -8874,7 +8874,7 @@ static void K_drawKartPlayerCheck(void)
|
|||
if (stplyr->awayviewtics)
|
||||
return;
|
||||
|
||||
if (camspin[0])
|
||||
if (( stplyr->cmd.buttons & BT_LOOKBACK ))
|
||||
return;
|
||||
|
||||
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))
|
||||
return true;
|
||||
|
||||
lookback = ( player->cmd.buttons & BT_LOOKBACK );
|
||||
|
||||
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;
|
||||
camdist = FixedMul(cv_cam2_dist.value, mapobjectscale);
|
||||
camheight = FixedMul(cv_cam2_height.value, mapobjectscale);
|
||||
lookback = camspin[1];
|
||||
}
|
||||
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;
|
||||
camdist = FixedMul(cv_cam3_dist.value, mapobjectscale);
|
||||
camheight = FixedMul(cv_cam3_height.value, mapobjectscale);
|
||||
lookback = camspin[2];
|
||||
}
|
||||
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;
|
||||
camdist = FixedMul(cv_cam4_dist.value, mapobjectscale);
|
||||
camheight = FixedMul(cv_cam4_height.value, mapobjectscale);
|
||||
lookback = camspin[3];
|
||||
}
|
||||
else // Camera 1
|
||||
{
|
||||
|
|
@ -7410,7 +7408,6 @@ boolean P_MoveChaseCamera(player_t *player, camera_t *thiscam, boolean resetcall
|
|||
camrotate = cv_cam_rotate.value;
|
||||
camdist = FixedMul(cv_cam_dist.value, mapobjectscale);
|
||||
camheight = FixedMul(cv_cam_height.value, mapobjectscale);
|
||||
lookback = camspin[0];
|
||||
}
|
||||
|
||||
if (timeover)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue