FIX thirdperson
This commit is contained in:
parent
f8d48adb38
commit
efa58329db
@ -90,7 +90,7 @@ Color draw::black(0, 0, 0, 255);
|
|||||||
|
|
||||||
Color colors::white(255, 255, 255, 255);
|
Color colors::white(255, 255, 255, 255);
|
||||||
Color colors::pink (255, 105, 180, 255);
|
Color colors::pink (255, 105, 180, 255);
|
||||||
Color colors::pinka(255, 105, 180, 180);
|
Color colors::pinka(255, 105, 180, 100);
|
||||||
Color colors::bg_blk(0, 0, 0, 180);
|
Color colors::bg_blk(0, 0, 0, 180);
|
||||||
Color colors::black(0, 0, 0, 255);
|
Color colors::black(0, 0, 0, 255);
|
||||||
Color colors::tf_red(184, 56, 59, 255);
|
Color colors::tf_red(184, 56, 59, 255);
|
||||||
|
@ -54,6 +54,8 @@ void EntityVariables::Init() {
|
|||||||
this->Rocket_iDeflected = gNetvars.get_offset("DT_TFBaseRocket", "m_iDeflected");
|
this->Rocket_iDeflected = gNetvars.get_offset("DT_TFBaseRocket", "m_iDeflected");
|
||||||
this->Grenade_iDeflected = gNetvars.get_offset("DT_TFWeaponBaseGrenadeProj", "m_iDeflected");
|
this->Grenade_iDeflected = gNetvars.get_offset("DT_TFWeaponBaseGrenadeProj", "m_iDeflected");
|
||||||
this->bDistributed = gNetvars.get_offset("DT_CurrencyPack", "m_bDistributed");
|
this->bDistributed = gNetvars.get_offset("DT_CurrencyPack", "m_bDistributed");
|
||||||
|
this->angEyeAngles = gNetvars.get_offset("DT_TFPlayer", "tfnonlocaldata", "m_angEyeAngles[0]");
|
||||||
|
this->deadflag = gNetvars.get_offset("DT_BasePlayer", "pl", "deadflag");
|
||||||
}
|
}
|
||||||
|
|
||||||
void InitEntityOffsets() {
|
void InitEntityOffsets() {
|
||||||
|
@ -84,6 +84,9 @@ public:
|
|||||||
offset_t Grenade_iDeflected;
|
offset_t Grenade_iDeflected;
|
||||||
|
|
||||||
offset_t bDistributed;
|
offset_t bDistributed;
|
||||||
|
|
||||||
|
offset_t angEyeAngles;
|
||||||
|
offset_t deadflag;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern EntityVariables netvar;
|
extern EntityVariables netvar;
|
||||||
|
@ -17,6 +17,8 @@ void GlobalSettings::Init() {
|
|||||||
this->bSendPackets = CreateConVar(CON_PREFIX "sendpackets", "1", "Send packets");
|
this->bSendPackets = CreateConVar(CON_PREFIX "sendpackets", "1", "Send packets");
|
||||||
this->bShowLogo = CreateConVar(CON_PREFIX "logo", "1", "Show logo");
|
this->bShowLogo = CreateConVar(CON_PREFIX "logo", "1", "Show logo");
|
||||||
this->sDisconnectMsg = CreateConVar(CON_PREFIX "disconnect_msg", "", "Set custom disconnect message");
|
this->sDisconnectMsg = CreateConVar(CON_PREFIX "disconnect_msg", "", "Set custom disconnect message");
|
||||||
|
this->bShowAntiAim = CreateConVar(CON_PREFIX "show_antiaim", "0", "Real angles in thirdperson");
|
||||||
|
this->bThirdperson = CreateConVar(CON_PREFIX "thirdpeson", "0", "Thirdperson");
|
||||||
}
|
}
|
||||||
|
|
||||||
GlobalSettings g_Settings;
|
GlobalSettings g_Settings;
|
||||||
|
@ -23,6 +23,8 @@ public:
|
|||||||
ConVar* bShowLogo;
|
ConVar* bShowLogo;
|
||||||
ConVar* flDrawingOpacity;
|
ConVar* flDrawingOpacity;
|
||||||
ConVar* sDisconnectMsg;
|
ConVar* sDisconnectMsg;
|
||||||
|
ConVar* bShowAntiAim;
|
||||||
|
ConVar* bThirdperson;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern GlobalSettings g_Settings;
|
extern GlobalSettings g_Settings;
|
||||||
|
@ -153,7 +153,8 @@ void GUIListElement_SubList::KeyEvent(ButtonCode_t key) {
|
|||||||
switch (key) {
|
switch (key) {
|
||||||
case ButtonCode_t::KEY_ENTER:
|
case ButtonCode_t::KEY_ENTER:
|
||||||
case ButtonCode_t::KEY_SPACE:
|
case ButtonCode_t::KEY_SPACE:
|
||||||
m_pList->Move(m_pParentList->x + LIST_WIDTH, m_pParentList->y + VERTICAL_SPACING * m_nIndex);
|
case ButtonCode_t::KEY_RIGHT:
|
||||||
|
m_pList->Move(m_pParentList->x + LIST_WIDTH - 1, m_pParentList->y + VERTICAL_SPACING * m_nIndex);
|
||||||
g_pGUI->PushList(m_pList->m_pszListID);
|
g_pGUI->PushList(m_pList->m_pszListID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,6 +62,8 @@ typedef void(OverrideView_t)(void*, CViewSetup*);
|
|||||||
typedef void(FrameStageNotify_t)(void*, int);
|
typedef void(FrameStageNotify_t)(void*, int);
|
||||||
typedef bool(DispatchUserMessage_t)(void*, int, bf_read&);
|
typedef bool(DispatchUserMessage_t)(void*, int, bf_read&);
|
||||||
|
|
||||||
|
Vector last_angles(0.0f, 0.0f, 0.0f);
|
||||||
|
|
||||||
bool hack::invalidated = true;
|
bool hack::invalidated = true;
|
||||||
|
|
||||||
void hack::Hk_OverrideView(void* thisptr, CViewSetup* setup) {
|
void hack::Hk_OverrideView(void* thisptr, CViewSetup* setup) {
|
||||||
@ -256,8 +258,9 @@ bool hack::Hk_CreateMove(void* thisptr, float inputSample, CUserCmd* cmd) {
|
|||||||
float yaw = deg2rad(ang.y - g_pLocalPlayer->v_OrigViewangles.y + cmd->viewangles.y);
|
float yaw = deg2rad(ang.y - g_pLocalPlayer->v_OrigViewangles.y + cmd->viewangles.y);
|
||||||
cmd->forwardmove = cos(yaw) * speed;
|
cmd->forwardmove = cos(yaw) * speed;
|
||||||
cmd->sidemove = sin(yaw) * speed;
|
cmd->sidemove = sin(yaw) * speed;
|
||||||
return false;
|
ret = false;
|
||||||
}
|
}
|
||||||
|
last_angles = cmd->viewangles;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,6 +273,15 @@ void hack::Hk_FrameStageNotify(void* thisptr, int stage) {
|
|||||||
SetEntityValue<int>(g_pLocalPlayer->weapon, netvar.iItemDefinitionIndex, 1006);
|
SetEntityValue<int>(g_pLocalPlayer->weapon, netvar.iItemDefinitionIndex, 1006);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (g_Settings.bThirdperson->GetBool()) {
|
||||||
|
interfaces::iinput->CAM_ToFirstPerson();
|
||||||
|
}
|
||||||
|
if (stage == 5 && g_Settings.bShowAntiAim->GetBool() && interfaces::iinput->CAM_IsThirdPerson()) {
|
||||||
|
if (g_pLocalPlayer->entity) {
|
||||||
|
SetEntityValue<float>(g_pLocalPlayer->entity, netvar.deadflag + 4, last_angles.x);
|
||||||
|
SetEntityValue<float>(g_pLocalPlayer->entity, netvar.deadflag + 8, last_angles.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
((FrameStageNotify_t*)hooks::hkClient->GetMethod(hooks::offFrameStageNotify))(thisptr, stage);
|
((FrameStageNotify_t*)hooks::hkClient->GetMethod(hooks::offFrameStageNotify))(thisptr, stage);
|
||||||
if (stage == 5 && g_Settings.bNoFlinch->GetBool()) {
|
if (stage == 5 && g_Settings.bNoFlinch->GetBool()) {
|
||||||
static Vector oldPunchAngles = Vector();
|
static Vector oldPunchAngles = Vector();
|
||||||
|
@ -99,13 +99,14 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
|
|||||||
case weapon_pda:
|
case weapon_pda:
|
||||||
case weapon_consumable:
|
case weapon_consumable:
|
||||||
case weapon_throwable:
|
case weapon_throwable:
|
||||||
|
case weapon_invalid:
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (g_pLocalPlayer->cond_0 & cond::cloaked) return true; // TODO other kinds of cloak
|
if (g_pLocalPlayer->cond_0 & cond::cloaked) return true; // TODO other kinds of cloak
|
||||||
// TODO m_bFeignDeathReady no aim
|
// TODO m_bFeignDeathReady no aim
|
||||||
|
if (g_pLocalPlayer->weapon->GetClientClass()->m_ClassID != ClassID::CTFMinigun)
|
||||||
if (this->v_bActiveOnlyWhenCanShoot->GetBool() && !BulletTime()) return true;
|
if (this->v_bActiveOnlyWhenCanShoot->GetBool() && !BulletTime()) return true;
|
||||||
|
|
||||||
if (this->v_bEnabledAttacking->GetBool() && !(cmd->buttons & IN_ATTACK)) {
|
if (this->v_bEnabledAttacking->GetBool() && !(cmd->buttons & IN_ATTACK)) {
|
||||||
return true;
|
return true;
|
||||||
@ -118,6 +119,10 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
|
|||||||
if (!(cmd->buttons & IN_ATTACK2)) {
|
if (!(cmd->buttons & IN_ATTACK2)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (m_nMinigunFixTicks > 0) {
|
||||||
|
m_nMinigunFixTicks--;
|
||||||
|
cmd->buttons |= IN_ATTACK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsAmbassador(g_pLocalPlayer->weapon)) {
|
if (IsAmbassador(g_pLocalPlayer->weapon)) {
|
||||||
@ -237,6 +242,8 @@ bool Aimbot::CreateMove(void*, float, CUserCmd* cmd) {
|
|||||||
if (target_highest != 0) {
|
if (target_highest != 0) {
|
||||||
this->m_iLastTarget = target_highest->entindex();
|
this->m_iLastTarget = target_highest->entindex();
|
||||||
Aim(target_highest, cmd);
|
Aim(target_highest, cmd);
|
||||||
|
if (g_pLocalPlayer->weapon->GetClientClass()->m_ClassID == ClassID::CTFMinigun)
|
||||||
|
m_nMinigunFixTicks = 10;
|
||||||
}
|
}
|
||||||
return !this->v_bSilent->GetBool();
|
return !this->v_bSilent->GetBool();
|
||||||
}
|
}
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
int m_iLastTarget;
|
int m_iLastTarget;
|
||||||
int m_iHitbox;
|
int m_iHitbox;
|
||||||
bool m_bAimKeySwitch;
|
bool m_bAimKeySwitch;
|
||||||
|
int m_nMinigunFixTicks;
|
||||||
ConVar* v_iAimKey;
|
ConVar* v_iAimKey;
|
||||||
ConVar* v_iAimKeyMode;
|
ConVar* v_iAimKeyMode;
|
||||||
ConVar* v_bMinigunFix;
|
ConVar* v_bMinigunFix;
|
||||||
|
@ -230,7 +230,7 @@ void CC_SetValue(const CCommand& args) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Misc::Misc() {
|
Misc::Misc() {
|
||||||
v_bDbWeaponInfo = CreateConVar(CON_PREFIX "misc_debug_weapon", "0", "Debug info: Weapon");
|
v_bDebugInfo = CreateConVar(CON_PREFIX "misc_debug", "0", "Debug info");
|
||||||
c_Name = CreateConCommand(CON_PREFIX "name", CC_SetName, "Sets custom name");
|
c_Name = CreateConCommand(CON_PREFIX "name", CC_SetName, "Sets custom name");
|
||||||
c_DumpItemAttributes = CreateConCommand(CON_PREFIX "dump_item_attribs", CC_DumpAttribs, "Dump active weapon attributes");
|
c_DumpItemAttributes = CreateConCommand(CON_PREFIX "dump_item_attribs", CC_DumpAttribs, "Dump active weapon attributes");
|
||||||
c_SayLine = CreateConCommand(CON_PREFIX "say_lines", CC_SayLines, "Uses ^ as a newline character");
|
c_SayLine = CreateConCommand(CON_PREFIX "say_lines", CC_SayLines, "Uses ^ as a newline character");
|
||||||
@ -299,7 +299,7 @@ bool Misc::CreateMove(void*, float, CUserCmd* cmd) {
|
|||||||
|
|
||||||
void Misc::PaintTraverse(void*, unsigned int, bool, bool) {
|
void Misc::PaintTraverse(void*, unsigned int, bool, bool) {
|
||||||
|
|
||||||
if (!v_bDbWeaponInfo->GetBool())return;
|
if (!v_bDebugInfo->GetBool())return;
|
||||||
/*if (!interfaces::input->IsButtonDown(ButtonCode_t::KEY_F)) {
|
/*if (!interfaces::input->IsButtonDown(ButtonCode_t::KEY_F)) {
|
||||||
interfaces::baseClient->IN_ActivateMouse();
|
interfaces::baseClient->IN_ActivateMouse();
|
||||||
} else {
|
} else {
|
||||||
@ -328,6 +328,7 @@ void Misc::PaintTraverse(void*, unsigned int, bool, bool) {
|
|||||||
AddSideString(draw::white, draw::black, "Speed: %f", speed);
|
AddSideString(draw::white, draw::black, "Speed: %f", speed);
|
||||||
AddSideString(draw::white, draw::black, "Gravity: %f", gravity);
|
AddSideString(draw::white, draw::black, "Gravity: %f", gravity);
|
||||||
AddSideString(draw::white, draw::black, "IsZoomed: %i", g_pLocalPlayer->bWasZoomed);
|
AddSideString(draw::white, draw::black, "IsZoomed: %i", g_pLocalPlayer->bWasZoomed);
|
||||||
|
AddSideString(draw::white, draw::black, "IsThirdPerson: %i", interfaces::iinput->CAM_IsThirdPerson());
|
||||||
//AddSideString(draw::white, draw::black, "???: %f", GetEntityValue<float>(g_pLocalPlayer->entity, netvar.test));
|
//AddSideString(draw::white, draw::black, "???: %f", GetEntityValue<float>(g_pLocalPlayer->entity, netvar.test));
|
||||||
//AddSideString(draw::white, draw::black, "VecPunchAngle: %f %f %f", pa.x, pa.y, pa.z);
|
//AddSideString(draw::white, draw::black, "VecPunchAngle: %f %f %f", pa.x, pa.y, pa.z);
|
||||||
//draw::DrawString(10, y, draw::white, draw::black, false, "VecPunchAngleVel: %f %f %f", pav.x, pav.y, pav.z);
|
//draw::DrawString(10, y, draw::white, draw::black, false, "VecPunchAngleVel: %f %f %f", pav.x, pav.y, pav.z);
|
||||||
|
@ -18,7 +18,7 @@ public:
|
|||||||
DECLARE_HACK_METHODS();
|
DECLARE_HACK_METHODS();
|
||||||
Misc();
|
Misc();
|
||||||
//ConVar* v_bNoShootUntilCanHeadshot;
|
//ConVar* v_bNoShootUntilCanHeadshot;
|
||||||
ConVar* v_bDbWeaponInfo;
|
ConVar* v_bDebugInfo;
|
||||||
ConCommand* c_Name;
|
ConCommand* c_Name;
|
||||||
ConVar* v_bInfoSpam;
|
ConVar* v_bInfoSpam;
|
||||||
ConVar* v_bFakeCrouch;
|
ConVar* v_bFakeCrouch;
|
||||||
|
@ -455,7 +455,8 @@ bool GetProjectileData(IClientEntity* weapon, float& speed, float& gravity) {
|
|||||||
rspeed = 1100.0f;
|
rspeed = 1100.0f;
|
||||||
break;
|
break;
|
||||||
case ClassID::CTFGrenadeLauncher:
|
case ClassID::CTFGrenadeLauncher:
|
||||||
rspeed = ((GetProjectileData*) *(*(const void ***) weapon + 528))(weapon);
|
rspeed = ((GetProjectileData*) *(*(const void ***) weapon + 527))(weapon);
|
||||||
|
rgrav = 0.5f;
|
||||||
break;
|
break;
|
||||||
case ClassID::CTFCompoundBow: {
|
case ClassID::CTFCompoundBow: {
|
||||||
float servertime = (float)GetEntityValue<int>(g_pLocalPlayer->entity, netvar.nTickBase) * interfaces::gvars->interval_per_tick;
|
float servertime = (float)GetEntityValue<int>(g_pLocalPlayer->entity, netvar.nTickBase) * interfaces::gvars->interval_per_tick;
|
||||||
|
@ -30,6 +30,7 @@ ICvar* interfaces::cvar = 0;
|
|||||||
CGlobalVarsBase* interfaces::gvars = 0;
|
CGlobalVarsBase* interfaces::gvars = 0;
|
||||||
IPrediction* interfaces::prediction = 0;
|
IPrediction* interfaces::prediction = 0;
|
||||||
IGameMovement* interfaces::gamemovement = 0;
|
IGameMovement* interfaces::gamemovement = 0;
|
||||||
|
IInput* interfaces::iinput = 0;
|
||||||
|
|
||||||
void interfaces::CreateInterfaces() {
|
void interfaces::CreateInterfaces() {
|
||||||
interfaces::centerPrint = reinterpret_cast<ICenterPrint*>(sharedobj::client->fptr("VCENTERPRINT002", nullptr));
|
interfaces::centerPrint = reinterpret_cast<ICenterPrint*>(sharedobj::client->fptr("VCENTERPRINT002", nullptr));
|
||||||
@ -54,6 +55,6 @@ void interfaces::CreateInterfaces() {
|
|||||||
//interfaces::gvars = *reinterpret_cast<CGlobalVarsBase**>(hudupdate + 13 + *reinterpret_cast<uint32_t*>(hudupdate + 13 + 3) + 7);
|
//interfaces::gvars = *reinterpret_cast<CGlobalVarsBase**>(hudupdate + 13 + *reinterpret_cast<uint32_t*>(hudupdate + 13 + 3) + 7);
|
||||||
interfaces::prediction = reinterpret_cast<IPrediction*>(sharedobj::client->CreateInterface("VClientPrediction001"));
|
interfaces::prediction = reinterpret_cast<IPrediction*>(sharedobj::client->CreateInterface("VClientPrediction001"));
|
||||||
interfaces::gamemovement = reinterpret_cast<IGameMovement*>(sharedobj::client->CreateInterface("GameMovement001"));
|
interfaces::gamemovement = reinterpret_cast<IGameMovement*>(sharedobj::client->CreateInterface("GameMovement001"));
|
||||||
|
interfaces::iinput = **(reinterpret_cast<IInput***>((uintptr_t)1 + gSignatures.GetClientSignature("A1 ? ? ? ? C6 05 ? ? ? ? 01 8B 10 89 04 24 FF 92 B4 00 00 00 A1 ? ? ? ? 8B 10")));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,7 @@ class IClient;
|
|||||||
class CGlobalVarsBase;
|
class CGlobalVarsBase;
|
||||||
class IPrediction;
|
class IPrediction;
|
||||||
class IGameMovement;
|
class IGameMovement;
|
||||||
|
class IInput;
|
||||||
|
|
||||||
namespace interfaces {
|
namespace interfaces {
|
||||||
|
|
||||||
@ -48,6 +49,7 @@ extern IInputSystem* input;
|
|||||||
extern CGlobalVarsBase* gvars;
|
extern CGlobalVarsBase* gvars;
|
||||||
extern IPrediction* prediction;
|
extern IPrediction* prediction;
|
||||||
extern IGameMovement* gamemovement;
|
extern IGameMovement* gamemovement;
|
||||||
|
extern IInput* iinput;
|
||||||
|
|
||||||
void CreateInterfaces();
|
void CreateInterfaces();
|
||||||
|
|
||||||
|
@ -38,5 +38,6 @@
|
|||||||
#include <view_shared.h>
|
#include <view_shared.h>
|
||||||
|
|
||||||
#include "sdk/in_buttons.h"
|
#include "sdk/in_buttons.h"
|
||||||
|
#include "sdk/iinput.h"
|
||||||
|
|
||||||
#endif /* SDK_H_ */
|
#endif /* SDK_H_ */
|
||||||
|
118
cathook/src/sdk/iinput.h
Normal file
118
cathook/src/sdk/iinput.h
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||||
|
//
|
||||||
|
// Purpose:
|
||||||
|
//
|
||||||
|
// $NoKeywords: $
|
||||||
|
//
|
||||||
|
//=============================================================================//
|
||||||
|
#if !defined( IINPUT_H )
|
||||||
|
#define IINPUT_H
|
||||||
|
#ifdef _WIN32
|
||||||
|
#pragma once
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class bf_write;
|
||||||
|
class bf_read;
|
||||||
|
class CUserCmd;
|
||||||
|
class C_BaseCombatWeapon;
|
||||||
|
struct kbutton_t;
|
||||||
|
|
||||||
|
struct CameraThirdData_t
|
||||||
|
{
|
||||||
|
float m_flPitch;
|
||||||
|
float m_flYaw;
|
||||||
|
float m_flDist;
|
||||||
|
float m_flLag;
|
||||||
|
Vector m_vecHullMin;
|
||||||
|
Vector m_vecHullMax;
|
||||||
|
};
|
||||||
|
|
||||||
|
class IInput
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Initialization/shutdown of the subsystem
|
||||||
|
virtual void Init_All( void ) = 0;
|
||||||
|
virtual void Shutdown_All( void ) = 0;
|
||||||
|
// Latching button states
|
||||||
|
virtual int GetButtonBits( int ) = 0;
|
||||||
|
// Create movement command
|
||||||
|
virtual void CreateMove ( int sequence_number, float input_sample_frametime, bool active ) = 0;
|
||||||
|
virtual void ExtraMouseSample( float frametime, bool active ) = 0;
|
||||||
|
virtual bool WriteUsercmdDeltaToBuffer( bf_write *buf, int from, int to, bool isnewcommand ) = 0;
|
||||||
|
virtual void EncodeUserCmdToBuffer( bf_write& buf, int slot ) = 0;
|
||||||
|
virtual void DecodeUserCmdFromBuffer( bf_read& buf, int slot ) = 0;
|
||||||
|
|
||||||
|
virtual CUserCmd *GetUserCmd( int sequence_number ) = 0;
|
||||||
|
|
||||||
|
virtual void MakeWeaponSelection( C_BaseCombatWeapon *weapon ) = 0;
|
||||||
|
|
||||||
|
// Retrieve key state
|
||||||
|
virtual float KeyState ( kbutton_t *key ) = 0;
|
||||||
|
// Issue key event
|
||||||
|
virtual int KeyEvent( int eventcode, ButtonCode_t keynum, const char *pszCurrentBinding ) = 0;
|
||||||
|
// Look for key
|
||||||
|
virtual kbutton_t *FindKey( const char *name ) = 0;
|
||||||
|
|
||||||
|
// Issue commands from controllers
|
||||||
|
virtual void ControllerCommands( void ) = 0;
|
||||||
|
// Extra initialization for some joysticks
|
||||||
|
virtual void Joystick_Advanced( void ) = 0;
|
||||||
|
virtual void Joystick_SetSampleTime( float frametime ) = 0;
|
||||||
|
virtual void IN_SetSampleTime( float frametime ) = 0;
|
||||||
|
|
||||||
|
// Accumulate mouse delta
|
||||||
|
virtual void AccumulateMouse( void ) = 0;
|
||||||
|
// Activate/deactivate mouse
|
||||||
|
virtual void ActivateMouse( void ) = 0;
|
||||||
|
virtual void DeactivateMouse( void ) = 0;
|
||||||
|
|
||||||
|
// Clear mouse state data
|
||||||
|
virtual void ClearStates( void ) = 0;
|
||||||
|
// Retrieve lookspring setting
|
||||||
|
virtual float GetLookSpring( void ) = 0;
|
||||||
|
|
||||||
|
// Retrieve mouse position
|
||||||
|
virtual void GetFullscreenMousePos( int *mx, int *my, int *unclampedx = 0, int *unclampedy = 0 ) = 0;
|
||||||
|
virtual void SetFullscreenMousePos( int mx, int my ) = 0;
|
||||||
|
virtual void ResetMouse( void ) = 0;
|
||||||
|
virtual float GetLastForwardMove( void ) = 0;
|
||||||
|
virtual float Joystick_GetForward( void ) = 0;
|
||||||
|
virtual float Joystick_GetSide( void ) = 0;
|
||||||
|
virtual float Joystick_GetPitch( void ) = 0;
|
||||||
|
virtual float Joystick_GetYaw( void ) = 0;
|
||||||
|
|
||||||
|
// Third Person camera ( TODO/FIXME: Move this to a separate interface? )
|
||||||
|
virtual void CAM_Think( void ) = 0;
|
||||||
|
virtual int CAM_IsThirdPerson( void ) = 0;
|
||||||
|
virtual void CAM_ToThirdPerson(void) = 0;
|
||||||
|
virtual void CAM_ToFirstPerson(void) = 0;
|
||||||
|
virtual void CAM_StartMouseMove(void) = 0;
|
||||||
|
virtual void CAM_EndMouseMove(void) = 0;
|
||||||
|
virtual void CAM_StartDistance(void) = 0;
|
||||||
|
virtual void CAM_EndDistance(void) = 0;
|
||||||
|
virtual int CAM_InterceptingMouse( void ) = 0;
|
||||||
|
|
||||||
|
// orthographic camera info ( TODO/FIXME: Move this to a separate interface? )
|
||||||
|
virtual void CAM_ToOrthographic() = 0;
|
||||||
|
virtual bool CAM_IsOrthographic() const = 0;
|
||||||
|
virtual void CAM_OrthographicSize( float& w, float& h ) const = 0;
|
||||||
|
|
||||||
|
#if defined( HL2_CLIENT_DLL )
|
||||||
|
// IK back channel info
|
||||||
|
virtual void AddIKGroundContactInfo( int entindex, float minheight, float maxheight ) = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
virtual void LevelInit( void ) = 0;
|
||||||
|
|
||||||
|
// Causes an input to have to be re-pressed to become active
|
||||||
|
virtual void ClearInputButton( int bits ) = 0;
|
||||||
|
|
||||||
|
virtual void CAM_SetCameraThirdData( CameraThirdData_t *pCameraData, const QAngle &vecCameraOffset ) = 0;
|
||||||
|
virtual void CAM_CameraThirdThink( void ) = 0;
|
||||||
|
|
||||||
|
virtual bool EnableJoystickMode() = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
//extern ::IInput *input;
|
||||||
|
|
||||||
|
#endif // IINPUT_H
|
Reference in New Issue
Block a user