mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-02-23 14:01:14 +00:00
Revert "Push flipcam down the nearest staircase"
This reverts commit 06d70c1f8e.
This commit is contained in:
parent
06d70c1f8e
commit
90cde7379c
7 changed files with 165 additions and 36 deletions
|
|
@ -65,6 +65,7 @@
|
|||
// ------
|
||||
|
||||
static void Got_NameAndColor(UINT8 **cp, INT32 playernum);
|
||||
static void Got_WeaponPref(UINT8 **cp, INT32 playernum);
|
||||
static void Got_PowerLevel(UINT8 **cp, INT32 playernum);
|
||||
static void Got_PartyInvite(UINT8 **cp, INT32 playernum);
|
||||
static void Got_AcceptPartyInvite(UINT8 **cp, INT32 playernum);
|
||||
|
|
@ -221,6 +222,11 @@ static void Command_KartGiveItem_f(void);
|
|||
// CLIENT VARIABLES
|
||||
// =========================================================================
|
||||
|
||||
void SendWeaponPref(void);
|
||||
void SendWeaponPref2(void);
|
||||
void SendWeaponPref3(void);
|
||||
void SendWeaponPref4(void);
|
||||
|
||||
static CV_PossibleValue_t usemouse_cons_t[] = {{0, "Off"}, {1, "On"}, {2, "Force"}, {0, NULL}};
|
||||
#if (defined (__unix__) && !defined (MSDOS)) || defined(__APPLE__) || defined (UNIXCOMMON)
|
||||
static CV_PossibleValue_t mouse2port_cons_t[] = {{0, "/dev/gpmdata"}, {1, "/dev/ttyS0"},
|
||||
|
|
@ -624,6 +630,7 @@ void D_RegisterServerCommands(void)
|
|||
Forceskin_cons_t[i].strvalue = NULL;
|
||||
}
|
||||
RegisterNetXCmd(XD_NAMEANDCOLOR, Got_NameAndColor);
|
||||
RegisterNetXCmd(XD_WEAPONPREF, Got_WeaponPref);
|
||||
RegisterNetXCmd(XD_POWERLEVEL, Got_PowerLevel);
|
||||
RegisterNetXCmd(XD_PARTYINVITE, Got_PartyInvite);
|
||||
RegisterNetXCmd(XD_ACCEPTPARTYINVITE, Got_AcceptPartyInvite);
|
||||
|
|
@ -2093,6 +2100,55 @@ static void Got_NameAndColor(UINT8 **cp, INT32 playernum)
|
|||
SetFollower(playernum, follower);
|
||||
}
|
||||
|
||||
void SendWeaponPref(void)
|
||||
{
|
||||
XBOXSTATIC UINT8 buf[1];
|
||||
|
||||
buf[0] = 0;
|
||||
if (cv_flipcam.value)
|
||||
buf[0] |= 1;
|
||||
SendNetXCmd(XD_WEAPONPREF, buf, 1);
|
||||
}
|
||||
|
||||
void SendWeaponPref2(void)
|
||||
{
|
||||
XBOXSTATIC UINT8 buf[1];
|
||||
|
||||
buf[0] = 0;
|
||||
if (cv_flipcam2.value)
|
||||
buf[0] |= 1;
|
||||
SendNetXCmd2(XD_WEAPONPREF, buf, 1);
|
||||
}
|
||||
|
||||
void SendWeaponPref3(void)
|
||||
{
|
||||
XBOXSTATIC UINT8 buf[1];
|
||||
|
||||
buf[0] = 0;
|
||||
if (cv_flipcam3.value)
|
||||
buf[0] |= 1;
|
||||
SendNetXCmd3(XD_WEAPONPREF, buf, 1);
|
||||
}
|
||||
|
||||
void SendWeaponPref4(void)
|
||||
{
|
||||
XBOXSTATIC UINT8 buf[1];
|
||||
|
||||
buf[0] = 0;
|
||||
if (cv_flipcam4.value)
|
||||
buf[0] |= 1;
|
||||
SendNetXCmd4(XD_WEAPONPREF, buf, 1);
|
||||
}
|
||||
|
||||
static void Got_WeaponPref(UINT8 **cp,INT32 playernum)
|
||||
{
|
||||
UINT8 prefs = READUINT8(*cp);
|
||||
|
||||
players[playernum].pflags &= ~(PF_FLIPCAM);
|
||||
if (prefs & 1)
|
||||
players[playernum].pflags |= PF_FLIPCAM;
|
||||
}
|
||||
|
||||
static void Got_PowerLevel(UINT8 **cp,INT32 playernum)
|
||||
{
|
||||
UINT16 race = (UINT16)READUINT16(*cp);
|
||||
|
|
@ -2300,6 +2356,13 @@ void D_SendPlayerConfig(void)
|
|||
SendNameAndColor3();
|
||||
if (splitscreen > 2)
|
||||
SendNameAndColor4();
|
||||
SendWeaponPref();
|
||||
if (splitscreen)
|
||||
SendWeaponPref2();
|
||||
if (splitscreen > 1)
|
||||
SendWeaponPref3();
|
||||
if (splitscreen > 2)
|
||||
SendWeaponPref4();
|
||||
|
||||
{
|
||||
UINT8 buf[4];
|
||||
|
|
|
|||
|
|
@ -56,70 +56,72 @@ typedef enum
|
|||
//
|
||||
typedef enum
|
||||
{
|
||||
// Flip camera angle with gravity flip prefrence.
|
||||
PF_FLIPCAM = 1,
|
||||
|
||||
// Cheats
|
||||
PF_GODMODE = 1,
|
||||
PF_NOCLIP = 1<<1,
|
||||
PF_INVIS = 1<<2,
|
||||
PF_GODMODE = 1<<1,
|
||||
PF_NOCLIP = 1<<2,
|
||||
PF_INVIS = 1<<3,
|
||||
|
||||
// True if button down last tic.
|
||||
PF_ATTACKDOWN = 1<<3,
|
||||
PF_USEDOWN = 1<<4,
|
||||
PF_JUMPDOWN = 1<<5,
|
||||
PF_WPNDOWN = 1<<6,
|
||||
PF_ATTACKDOWN = 1<<4,
|
||||
PF_USEDOWN = 1<<5,
|
||||
PF_JUMPDOWN = 1<<6,
|
||||
PF_WPNDOWN = 1<<7,
|
||||
|
||||
// Unmoving states
|
||||
PF_STASIS = 1<<7, // Player is not allowed to move
|
||||
PF_JUMPSTASIS = 1<<8, // and that includes jumping.
|
||||
PF_STASIS = 1<<8, // Player is not allowed to move
|
||||
PF_JUMPSTASIS = 1<<9, // and that includes jumping.
|
||||
PF_FULLSTASIS = PF_STASIS|PF_JUMPSTASIS,
|
||||
|
||||
// Did you get a time-over?
|
||||
PF_TIMEOVER = 1<<9,
|
||||
PF_TIMEOVER = 1<<10,
|
||||
|
||||
// SRB2Kart: Spectator that wants to join
|
||||
PF_WANTSTOJOIN = 1<<10,
|
||||
PF_WANTSTOJOIN = 1<<11,
|
||||
|
||||
// Character action status
|
||||
PF_JUMPED = 1<<11,
|
||||
PF_SPINNING = 1<<12,
|
||||
PF_STARTDASH = 1<<13,
|
||||
PF_THOKKED = 1<<14,
|
||||
PF_JUMPED = 1<<12,
|
||||
PF_SPINNING = 1<<13,
|
||||
PF_STARTDASH = 1<<14,
|
||||
PF_THOKKED = 1<<15,
|
||||
|
||||
// Are you gliding?
|
||||
PF_GLIDING = 1<<15,
|
||||
PF_GLIDING = 1<<16,
|
||||
|
||||
// Tails pickup!
|
||||
PF_CARRIED = 1<<16,
|
||||
PF_CARRIED = 1<<17,
|
||||
|
||||
// Sliding (usually in water) like Labyrinth/Oil Ocean
|
||||
PF_SLIDING = 1<<17,
|
||||
PF_SLIDING = 1<<18,
|
||||
|
||||
// Hanging on a rope
|
||||
PF_ROPEHANG = 1<<18,
|
||||
PF_ROPEHANG = 1<<19,
|
||||
|
||||
// Hanging on an item of some kind - zipline, chain, etc. (->tracer)
|
||||
PF_ITEMHANG = 1<<19,
|
||||
PF_ITEMHANG = 1<<20,
|
||||
|
||||
// On the mace chain spinning around (->tracer)
|
||||
PF_MACESPIN = 1<<20,
|
||||
PF_MACESPIN = 1<<21,
|
||||
|
||||
/*** NIGHTS STUFF ***/
|
||||
// Is the player in NiGHTS mode?
|
||||
PF_NIGHTSMODE = 1<<21,
|
||||
PF_TRANSFERTOCLOSEST = 1<<22,
|
||||
PF_NIGHTSMODE = 1<<22,
|
||||
PF_TRANSFERTOCLOSEST = 1<<23,
|
||||
|
||||
// Spill rings after falling
|
||||
PF_NIGHTSFALL = 1<<23,
|
||||
PF_DRILLING = 1<<24,
|
||||
PF_SKIDDOWN = 1<<25,
|
||||
PF_NIGHTSFALL = 1<<24,
|
||||
PF_DRILLING = 1<<25,
|
||||
PF_SKIDDOWN = 1<<26,
|
||||
|
||||
/*** TAG STUFF ***/
|
||||
PF_TAGGED = 1<<26, // Player has been tagged and awaits the next round in hide and seek.
|
||||
PF_TAGIT = 1<<27, // The player is it! For Tag Mode
|
||||
PF_TAGGED = 1<<27, // Player has been tagged and awaits the next round in hide and seek.
|
||||
PF_TAGIT = 1<<28, // The player is it! For Tag Mode
|
||||
|
||||
/*** misc ***/
|
||||
PF_FORCESTRAFE = 1<<28, // Turning inputs are translated into strafing inputs
|
||||
PF_HITFINISHLINE = 1<<29, // Already hit the finish line this tic
|
||||
PF_FORCESTRAFE = 1<<29, // Turning inputs are translated into strafing inputs
|
||||
PF_HITFINISHLINE = 1<<30, // Already hit the finish line this tic
|
||||
|
||||
// free: 1<<30 and 1<<31
|
||||
} pflags_t;
|
||||
|
|
|
|||
|
|
@ -8481,6 +8481,9 @@ static const char *const MAPTHINGFLAG_LIST[4] = {
|
|||
#endif
|
||||
|
||||
static const char *const PLAYERFLAG_LIST[] = {
|
||||
// Flip camera angle with gravity flip prefrence.
|
||||
"FLIPCAM",
|
||||
|
||||
// Cheats
|
||||
"GODMODE",
|
||||
"NOCLIP",
|
||||
|
|
|
|||
15
src/g_game.c
15
src/g_game.c
|
|
@ -1506,7 +1506,10 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
|
|||
// spectator aiming shit, ahhhh...
|
||||
{
|
||||
INT32 player_invert = invertmouse ? -1 : 1;
|
||||
INT32 screen_invert = (player->mo && (player->mo->eflags & MFE_VERTICALFLIP) && (!thiscam->chase)) ? -1 : 1; // set to -1 or 1 to multiply
|
||||
INT32 screen_invert =
|
||||
(player->mo && (player->mo->eflags & MFE_VERTICALFLIP)
|
||||
&& (!thiscam->chase || player->pflags & PF_FLIPCAM)) //because chasecam's not inverted
|
||||
? -1 : 1; // set to -1 or 1 to multiply
|
||||
|
||||
// mouse look stuff (mouse look is not the same as mouse aim)
|
||||
if (mouseaiming && player->spectator)
|
||||
|
|
@ -1674,7 +1677,7 @@ static void Analog_OnChange(void)
|
|||
}
|
||||
*/
|
||||
|
||||
//SendWeaponPref();
|
||||
SendWeaponPref();
|
||||
}
|
||||
|
||||
static void Analog2_OnChange(void)
|
||||
|
|
@ -1691,7 +1694,7 @@ static void Analog2_OnChange(void)
|
|||
}
|
||||
*/
|
||||
|
||||
//SendWeaponPref2();
|
||||
SendWeaponPref2();
|
||||
}
|
||||
|
||||
static void Analog3_OnChange(void)
|
||||
|
|
@ -1708,7 +1711,7 @@ static void Analog3_OnChange(void)
|
|||
}
|
||||
*/
|
||||
|
||||
//SendWeaponPref3();
|
||||
SendWeaponPref3();
|
||||
}
|
||||
|
||||
static void Analog4_OnChange(void)
|
||||
|
|
@ -1725,7 +1728,7 @@ static void Analog4_OnChange(void)
|
|||
}
|
||||
*/
|
||||
|
||||
//SendWeaponPref4();
|
||||
SendWeaponPref4();
|
||||
}
|
||||
|
||||
//
|
||||
|
|
@ -2616,7 +2619,7 @@ void G_PlayerReborn(INT32 player)
|
|||
jointime = players[player].jointime;
|
||||
splitscreenindex = players[player].splitscreenindex;
|
||||
spectator = players[player].spectator;
|
||||
pflags = (players[player].pflags & (PF_TIMEOVER|PF_TAGIT|PF_TAGGED|PF_WANTSTOJOIN));
|
||||
pflags = (players[player].pflags & (PF_TIMEOVER|PF_FLIPCAM|PF_TAGIT|PF_TAGGED|PF_WANTSTOJOIN));
|
||||
|
||||
// As long as we're not in multiplayer, carry over cheatcodes from map to map
|
||||
if (!(netgame || multiplayer))
|
||||
|
|
|
|||
24
src/p_mobj.c
24
src/p_mobj.c
|
|
@ -1168,6 +1168,26 @@ static void P_PlayerFlip(mobj_t *mo)
|
|||
if (mo->tracer)
|
||||
mo->tracer->eflags ^= MFE_VERTICALFLIP;
|
||||
}
|
||||
else if (mo->player->pflags & PF_FLIPCAM)
|
||||
{
|
||||
UINT8 i;
|
||||
|
||||
mo->player->aiming = InvAngle(mo->player->aiming);
|
||||
|
||||
for (i = 0; i <= r_splitscreen; i++)
|
||||
{
|
||||
if (mo->player-players == displayplayers[i])
|
||||
{
|
||||
localaiming[i] = mo->player->aiming;
|
||||
if (camera[i].chase) {
|
||||
camera[i].aiming = InvAngle(camera[i].aiming);
|
||||
camera[i].z = mo->z - camera[i].z + mo->z;
|
||||
if (mo->eflags & MFE_VERTICALFLIP)
|
||||
camera[i].z += FixedMul(20*FRACUNIT, mo->scale);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
|
@ -3579,6 +3599,8 @@ boolean P_CameraThinker(player_t *player, camera_t *thiscam, boolean resetcalled
|
|||
|
||||
if (encoremode)
|
||||
postimg = postimg_mirror;
|
||||
else if (player->pflags & PF_FLIPCAM && !(player->pflags & PF_NIGHTSMODE) && player->mo->eflags & MFE_VERTICALFLIP)
|
||||
postimg = postimg_flip;
|
||||
else if (player->awayviewtics && player->awayviewmobj && !P_MobjWasRemoved(player->awayviewmobj)) // Camera must obviously exist
|
||||
{
|
||||
camera_t dummycam;
|
||||
|
|
@ -7037,6 +7059,8 @@ void P_MobjThinker(mobj_t *mobj)
|
|||
if (mobj->target->eflags & MFE_VERTICALFLIP)
|
||||
{
|
||||
mobj->z = mobj->target->z - FixedMul(16*FRACUNIT, mobj->target->scale) - mobj->height;
|
||||
if (mobj->target->player->pflags & PF_FLIPCAM)
|
||||
mobj->eflags |= MFE_VERTICALFLIP;
|
||||
}
|
||||
else
|
||||
mobj->z = mobj->target->z + (mobj->target->height) + FixedMul(8*FRACUNIT, mobj->target->scale); // Adjust height for height changes
|
||||
|
|
|
|||
33
src/r_main.c
33
src/r_main.c
|
|
@ -151,6 +151,10 @@ static void ChaseCam_OnChange(void);
|
|||
static void ChaseCam2_OnChange(void);
|
||||
static void ChaseCam3_OnChange(void);
|
||||
static void ChaseCam4_OnChange(void);
|
||||
static void FlipCam_OnChange(void);
|
||||
static void FlipCam2_OnChange(void);
|
||||
static void FlipCam3_OnChange(void);
|
||||
static void FlipCam4_OnChange(void);
|
||||
void SendWeaponPref(void);
|
||||
void SendWeaponPref2(void);
|
||||
void SendWeaponPref3(void);
|
||||
|
|
@ -161,6 +165,10 @@ consvar_t cv_chasecam = {"chasecam", "On", CV_CALL, CV_OnOff, ChaseCam_OnChange,
|
|||
consvar_t cv_chasecam2 = {"chasecam2", "On", CV_CALL, CV_OnOff, ChaseCam2_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_chasecam3 = {"chasecam3", "On", CV_CALL, CV_OnOff, ChaseCam3_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_chasecam4 = {"chasecam4", "On", CV_CALL, CV_OnOff, ChaseCam4_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_flipcam = {"flipcam", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_flipcam2 = {"flipcam2", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam2_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_flipcam3 = {"flipcam3", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam3_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_flipcam4 = {"flipcam4", "No", CV_SAVE|CV_CALL|CV_NOINIT, CV_YesNo, FlipCam4_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
||||
consvar_t cv_shadow = {"shadow", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
consvar_t cv_skybox = {"skybox", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||
|
|
@ -274,6 +282,27 @@ static void ChaseCam4_OnChange(void)
|
|||
else
|
||||
CV_SetValue(&cv_analog4, 1);*/
|
||||
}
|
||||
|
||||
static void FlipCam_OnChange(void)
|
||||
{
|
||||
SendWeaponPref();
|
||||
}
|
||||
|
||||
static void FlipCam2_OnChange(void)
|
||||
{
|
||||
SendWeaponPref2();
|
||||
}
|
||||
|
||||
static void FlipCam3_OnChange(void)
|
||||
{
|
||||
SendWeaponPref3();
|
||||
}
|
||||
|
||||
static void FlipCam4_OnChange(void)
|
||||
{
|
||||
SendWeaponPref4();
|
||||
}
|
||||
|
||||
//
|
||||
// R_PointOnSide
|
||||
// Traverse BSP (sub) tree,
|
||||
|
|
@ -1459,6 +1488,10 @@ void R_RegisterEngineStuff(void)
|
|||
CV_RegisterVar(&cv_soniccd);
|
||||
CV_RegisterVar(&cv_allowmlook);
|
||||
CV_RegisterVar(&cv_homremoval);
|
||||
CV_RegisterVar(&cv_flipcam);
|
||||
CV_RegisterVar(&cv_flipcam2);
|
||||
CV_RegisterVar(&cv_flipcam3);
|
||||
CV_RegisterVar(&cv_flipcam4);
|
||||
|
||||
// Enough for dedicated server
|
||||
if (dedicated)
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ boolean R_DoCulling(line_t *cullheight, line_t *viewcullheight, fixed_t vz, fixe
|
|||
extern consvar_t cv_showhud, cv_translucenthud;
|
||||
extern consvar_t cv_homremoval;
|
||||
extern consvar_t cv_chasecam, cv_chasecam2, cv_chasecam3, cv_chasecam4;
|
||||
extern consvar_t cv_flipcam, cv_flipcam2, cv_flipcam3, cv_flipcam4;
|
||||
extern consvar_t cv_shadow;
|
||||
extern consvar_t cv_translucency;
|
||||
extern consvar_t /*cv_precipdensity,*/ cv_drawdist, /*cv_drawdist_nights,*/ cv_drawdist_precip;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue