mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 08:51:24 +00:00
- Move remaining CCMDs and non-inputstate related items to gameinput.cpp
.
This commit is contained in:
parent
43febd5aa1
commit
64b05b6f06
5 changed files with 98 additions and 102 deletions
|
@ -37,7 +37,7 @@
|
||||||
#include "d_event.h"
|
#include "d_event.h"
|
||||||
#include "c_console.h"
|
#include "c_console.h"
|
||||||
#include "d_gui.h"
|
#include "d_gui.h"
|
||||||
#include "inputstate.h"
|
#include "gameinput.h"
|
||||||
#include "razemenu.h"
|
#include "razemenu.h"
|
||||||
#include "gamestate.h"
|
#include "gamestate.h"
|
||||||
#include "gamecontrol.h"
|
#include "gamecontrol.h"
|
||||||
|
|
|
@ -24,6 +24,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "gamestate.h"
|
#include "gamestate.h"
|
||||||
#include "gameinput.h"
|
#include "gameinput.h"
|
||||||
|
#include "d_net.h"
|
||||||
|
|
||||||
EXTERN_CVAR(Float, m_sensitivity_x)
|
EXTERN_CVAR(Float, m_sensitivity_x)
|
||||||
EXTERN_CVAR(Float, m_yaw)
|
EXTERN_CVAR(Float, m_yaw)
|
||||||
|
@ -45,6 +46,8 @@ static InputPacket inputBuffer{};
|
||||||
static double turnheldtime = 0;
|
static double turnheldtime = 0;
|
||||||
static int WeaponToSend = 0;
|
static int WeaponToSend = 0;
|
||||||
static int dpad_lock = 0;
|
static int dpad_lock = 0;
|
||||||
|
ESyncBits ActionsToSend = 0;
|
||||||
|
bool crouch_toggle = false;
|
||||||
|
|
||||||
static constexpr double YAW_TURNSPEEDS[3] = { 41.1987304, 156.555175, 272.24121 };
|
static constexpr double YAW_TURNSPEEDS[3] = { 41.1987304, 156.555175, 272.24121 };
|
||||||
static constexpr double YAW_PREAMBLESCALE = YAW_TURNSPEEDS[0] / YAW_TURNSPEEDS[1];
|
static constexpr double YAW_PREAMBLESCALE = YAW_TURNSPEEDS[0] / YAW_TURNSPEEDS[1];
|
||||||
|
@ -341,6 +344,8 @@ static void ApplyGlobalInput(HIDInput* const hidInput)
|
||||||
void clearLocalInputBuffer()
|
void clearLocalInputBuffer()
|
||||||
{
|
{
|
||||||
inputBuffer = {};
|
inputBuffer = {};
|
||||||
|
crouch_toggle = false;
|
||||||
|
ActionsToSend = 0;
|
||||||
WeaponToSend = 0;
|
WeaponToSend = 0;
|
||||||
dpad_lock = 0;
|
dpad_lock = 0;
|
||||||
resetTurnHeldAmt();
|
resetTurnHeldAmt();
|
||||||
|
@ -598,3 +603,93 @@ CCMD(weapalt)
|
||||||
{
|
{
|
||||||
WeaponToSend = WeaponSel_Alt; // Only used by SW - should also be made usable by Blood ans Duke which put multiple weapons in the same slot.
|
WeaponToSend = WeaponSel_Alt; // Only used by SW - should also be made usable by Blood ans Duke which put multiple weapons in the same slot.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CCMD(useitem)
|
||||||
|
{
|
||||||
|
const int max = isExhumed() ? 6 : isSWALL() ? 7 : isBlood() ? 4 : 5;
|
||||||
|
|
||||||
|
if (argv.argc() != 2)
|
||||||
|
{
|
||||||
|
Printf("useitem <itemnum>: activates an inventory item (1-%d)", max);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const auto slot = atoi(argv[1]);
|
||||||
|
|
||||||
|
if (slot >= 1 && slot <= max)
|
||||||
|
{
|
||||||
|
ActionsToSend |= ESyncBits::FromInt(SB_ITEM_BIT_1 << (slot - 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(invprev)
|
||||||
|
{
|
||||||
|
ActionsToSend |= SB_INVPREV;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(invnext)
|
||||||
|
{
|
||||||
|
ActionsToSend |= SB_INVNEXT;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(invuse)
|
||||||
|
{
|
||||||
|
ActionsToSend |= SB_INVUSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(centerview)
|
||||||
|
{
|
||||||
|
ActionsToSend |= SB_CENTERVIEW;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(turnaround)
|
||||||
|
{
|
||||||
|
ActionsToSend |= SB_TURNAROUND;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(holsterweapon)
|
||||||
|
{
|
||||||
|
ActionsToSend |= SB_HOLSTER;
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(warptocoords)
|
||||||
|
{
|
||||||
|
if (netgame)
|
||||||
|
{
|
||||||
|
Printf("warptocoords cannot be used in multiplayer.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (argv.argc() < 4)
|
||||||
|
{
|
||||||
|
Printf("warptocoords [x] [y] [z] [yaw] (optional) [pitch] (optional): warps the player to the specified coordinates\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (gamestate != GS_LEVEL)
|
||||||
|
{
|
||||||
|
Printf("warptocoords: must be in a level\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (const auto pActor = gi->getConsoleActor())
|
||||||
|
{
|
||||||
|
pActor->spr.pos = DVector3(atof(argv[1]), atof(argv[2]), atof(argv[3]));
|
||||||
|
if (argv.argc() > 4) pActor->spr.Angles.Yaw = DAngle::fromDeg(atof(argv[4]));
|
||||||
|
if (argv.argc() > 5) pActor->spr.Angles.Pitch = DAngle::fromDeg(atof(argv[5]));
|
||||||
|
pActor->backuploc();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(third_person_view)
|
||||||
|
{
|
||||||
|
gi->ToggleThirdPerson();
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(coop_view)
|
||||||
|
{
|
||||||
|
gi->SwitchCoopView();
|
||||||
|
}
|
||||||
|
|
||||||
|
CCMD(show_weapon)
|
||||||
|
{
|
||||||
|
gi->ToggleShowWeapon();
|
||||||
|
}
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
#include "serializer.h"
|
#include "serializer.h"
|
||||||
#include "gamefuncs.h"
|
#include "gamefuncs.h"
|
||||||
|
|
||||||
|
extern ESyncBits ActionsToSend;
|
||||||
|
|
||||||
struct PlayerAngles
|
struct PlayerAngles
|
||||||
{
|
{
|
||||||
// Player viewing angles, separate from the camera.
|
// Player viewing angles, separate from the camera.
|
||||||
|
|
|
@ -41,13 +41,9 @@
|
||||||
#include"packet.h"
|
#include"packet.h"
|
||||||
#include "gamecontrol.h"
|
#include "gamecontrol.h"
|
||||||
#include "gamestruct.h"
|
#include "gamestruct.h"
|
||||||
#include "d_net.h"
|
|
||||||
#include "gamestate.h"
|
#include "gamestate.h"
|
||||||
#include "gameinput.h"
|
#include "gameinput.h"
|
||||||
|
|
||||||
ESyncBits ActionsToSend = 0;
|
|
||||||
bool crouch_toggle;
|
|
||||||
|
|
||||||
// Mouse speeds
|
// Mouse speeds
|
||||||
CVAR(Float, m_pitch, 1.f, CVAR_GLOBALCONFIG | CVAR_ARCHIVE)
|
CVAR(Float, m_pitch, 1.f, CVAR_GLOBALCONFIG | CVAR_ARCHIVE)
|
||||||
CVAR(Float, m_yaw, 1.f, CVAR_GLOBALCONFIG | CVAR_ARCHIVE)
|
CVAR(Float, m_yaw, 1.f, CVAR_GLOBALCONFIG | CVAR_ARCHIVE)
|
||||||
|
@ -132,8 +128,6 @@ void InputState::ClearAllInput()
|
||||||
{
|
{
|
||||||
memset(KeyStatus, 0, sizeof(KeyStatus));
|
memset(KeyStatus, 0, sizeof(KeyStatus));
|
||||||
AnyKeyStatus = false;
|
AnyKeyStatus = false;
|
||||||
ActionsToSend = 0;
|
|
||||||
crouch_toggle = false;
|
|
||||||
buttonMap.ResetButtonStates(); // this is important. If all input is cleared, the buttons must be cleared as well.
|
buttonMap.ResetButtonStates(); // this is important. If all input is cleared, the buttons must be cleared as well.
|
||||||
clearLocalInputBuffer(); // also clear game local input state.
|
clearLocalInputBuffer(); // also clear game local input state.
|
||||||
}
|
}
|
||||||
|
@ -219,97 +213,3 @@ void SetupGameButtons()
|
||||||
};
|
};
|
||||||
buttonMap.SetButtons(actions, NUM_ACTIONS);
|
buttonMap.SetButtons(actions, NUM_ACTIONS);
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//==========================================================================
|
|
||||||
|
|
||||||
CCMD(useitem)
|
|
||||||
{
|
|
||||||
int max = (g_gameType & GAMEFLAG_PSEXHUMED)? 6 : isSWALL()? 7 : isBlood() ? 4 : 5;
|
|
||||||
if (argv.argc() != 2)
|
|
||||||
{
|
|
||||||
Printf("useitem <itemnum>: activates an inventory item (1-%d)", max);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
auto slot = atoi(argv[1]);
|
|
||||||
if (slot >= 1 && slot <= max)
|
|
||||||
{
|
|
||||||
ActionsToSend |= ESyncBits::FromInt(SB_ITEM_BIT_1 << (slot - 1));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(invprev)
|
|
||||||
{
|
|
||||||
ActionsToSend |= SB_INVPREV;
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(invnext)
|
|
||||||
{
|
|
||||||
ActionsToSend |= SB_INVNEXT;
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(invuse)
|
|
||||||
{
|
|
||||||
ActionsToSend |= SB_INVUSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(centerview)
|
|
||||||
{
|
|
||||||
ActionsToSend |= SB_CENTERVIEW;
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(turnaround)
|
|
||||||
{
|
|
||||||
ActionsToSend |= SB_TURNAROUND;
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(holsterweapon)
|
|
||||||
{
|
|
||||||
ActionsToSend |= SB_HOLSTER;
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(warptocoords)
|
|
||||||
{
|
|
||||||
if (netgame)
|
|
||||||
{
|
|
||||||
Printf("warptocoords cannot be used in multiplayer.\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (argv.argc() < 4)
|
|
||||||
{
|
|
||||||
Printf("warptocoords [x] [y] [z] [yaw] (optional) [pitch] (optional): warps the player to the specified coordinates\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (gamestate != GS_LEVEL)
|
|
||||||
{
|
|
||||||
Printf("warptocoords: must be in a level\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (const auto pActor = gi->getConsoleActor())
|
|
||||||
{
|
|
||||||
pActor->spr.pos = DVector3(atof(argv[1]), atof(argv[2]), atof(argv[3]));
|
|
||||||
if (argv.argc() > 4) pActor->spr.Angles.Yaw = DAngle::fromDeg(atof(argv[4]));
|
|
||||||
if (argv.argc() > 5) pActor->spr.Angles.Pitch = DAngle::fromDeg(atof(argv[5]));
|
|
||||||
pActor->backuploc();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(third_person_view)
|
|
||||||
{
|
|
||||||
gi->ToggleThirdPerson();
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(coop_view)
|
|
||||||
{
|
|
||||||
gi->SwitchCoopView();
|
|
||||||
}
|
|
||||||
|
|
||||||
CCMD(show_weapon)
|
|
||||||
{
|
|
||||||
gi->ToggleShowWeapon();
|
|
||||||
}
|
|
||||||
|
|
|
@ -96,7 +96,6 @@ enum GameFunction_t
|
||||||
};
|
};
|
||||||
|
|
||||||
void SetupGameButtons();
|
void SetupGameButtons();
|
||||||
extern ESyncBits ActionsToSend;
|
|
||||||
|
|
||||||
inline float backendinputscale()
|
inline float backendinputscale()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue