iw4x-client/src/Components/Modules/PlayerMovement.hpp
Louve 6692e99d86
Add cod4 map to dlc list (and absolutely nothing else) (#663)
Co-authored-by: louve <louve@louve.systems>
Co-authored-by: Diavolo <edoardo.sanguineti222@gmail.com>
2022-12-24 20:23:33 +00:00

55 lines
2.0 KiB
C++

#pragma once
namespace Components
{
class PlayerMovement : public Component
{
public:
PlayerMovement();
private:
enum BouncesSettings { DISABLED, ENABLED, DOUBLE };
static constexpr auto SURF_LADDER = 0x8;
static Dvar::Var BGRocketJump;
static Dvar::Var BGRocketJumpScale;
static Dvar::Var BGPlayerEjection;
static Dvar::Var BGPlayerCollision;
static Dvar::Var BGClimbAnything;
// Can't use Var class inside assembly stubs
static const Game::dvar_t* CGNoclipScaler;
static const Game::dvar_t* CGUfoScaler;
static const Game::dvar_t* PlayerSpectateSpeedScale;
static const Game::dvar_t* BGBounces;
static const Game::dvar_t* BGBouncesAllAngles;
static const Game::dvar_t* PlayerDuckedSpeedScale;
static const Game::dvar_t* PlayerProneSpeedScale;
static void PM_PlayerTraceStub(Game::pmove_s* pm, Game::trace_t* results, const float* start, const float* end, Game::Bounds* bounds, int passEntityNum, int contentMask);
static void PM_PlayerDuckedSpeedScaleStub();
static void PM_PlayerProneSpeedScaleStub();
static void PM_MoveScale_Noclip();
static void PM_MoveScale_Ufo();
static void PM_MoveScale_Spectate();
// Bounce logic
static void PM_StepSlideMoveStub();
static void PM_ProjectVelocityStub();
static void Jump_ClearState_Hk(Game::playerState_s* ps);
static Game::gentity_s* Weapon_RocketLauncher_Fire_Hk(Game::gentity_s* ent, unsigned int weaponIndex, float spread, Game::weaponParms* wp, const float* gunVel, Game::lockonFireParms* lockParms, bool a7);
// Player collison
static int StuckInClient_Hk(Game::gentity_s* self);
static void CM_TransformedCapsuleTrace_Hk(Game::trace_t* results, const float* start, const float* end, const Game::Bounds* bounds, const Game::Bounds* capsule, int contents, const float* origin, const float* angles);
static void GScr_IsSprinting(Game::scr_entref_t entref);
static const Game::dvar_t* Dvar_RegisterSpectateSpeedScale(const char* dvarName, float value, float min, float max, unsigned __int16 flags, const char* description);
static void RegisterMovementDvars();
};
}