mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-11 23:47:53 +00:00
ba2cab60df
* Get VGUI back (optionally) * Add some missing VGUI invocations * Update CMakeLists.txt to build with vgui for Windows * Move windows.h inclusions only to those places where it's really needed * Try fix mingw build * Update hud_spectator * Merge nekonomicon's vgui branch * Don't include vgui panel and app in cdll_int.cpp if vgui is real * Deduplicate scoreboard global variables * Add options to prefer non-vgui motd and scoreboard when vgui is enabled * Add vgui-dev as a submodule. Add building vith vgui to CI * Fix artifact uploading * Don't use global variable when not necessary * char* to const char* in CMenuHandler_StringCommand constructor * Fix 'format string is not a literal string' warnings * Fix 'always evaluate to true' warnings * Team Fortress classes to const char* * CreateCommandMenu accepts const char* * Fix printf formats. Turn some unsigned longs into unsigned ints since they use only 32 bits anyway * Explicit assignment result as condition * Prevent memory leak on menu reading * Localize button text * Create FileInputStream on stack avoiding the leak * Remove Servers Browser code * Arrow file names to const char* * Fix assignment to the wrong variable
95 lines
2.6 KiB
C++
95 lines
2.6 KiB
C++
#pragma once
|
|
#if !defined(INPUT_MOUSE_H)
|
|
#define INPUT_MOUSE_H
|
|
#include "cl_dll.h"
|
|
#include "usercmd.h"
|
|
#include "in_defs.h"
|
|
|
|
class AbstractInput
|
|
{
|
|
public:
|
|
virtual void IN_ClientMoveEvent( float forwardmove, float sidemove ) = 0;
|
|
virtual void IN_ClientLookEvent( float relyaw, float relpitch ) = 0;
|
|
virtual void IN_Move( float frametime, usercmd_t *cmd ) = 0;
|
|
virtual void IN_MouseEvent( int mstate ) = 0;
|
|
virtual void IN_ClearStates( void ) = 0;
|
|
virtual void IN_ActivateMouse( void ) = 0;
|
|
virtual void IN_DeactivateMouse( void ) = 0;
|
|
virtual void IN_Accumulate( void ) = 0;
|
|
virtual void IN_Commands( void ) = 0;
|
|
virtual void IN_Shutdown( void ) = 0;
|
|
virtual void IN_Init( void ) = 0;
|
|
};
|
|
|
|
class FWGSInput : public AbstractInput
|
|
{
|
|
public:
|
|
virtual void IN_ClientMoveEvent( float forwardmove, float sidemove );
|
|
virtual void IN_ClientLookEvent( float relyaw, float relpitch );
|
|
virtual void IN_Move( float frametime, usercmd_t *cmd );
|
|
virtual void IN_MouseEvent( int mstate );
|
|
virtual void IN_ClearStates( void );
|
|
virtual void IN_ActivateMouse( void );
|
|
virtual void IN_DeactivateMouse( void );
|
|
virtual void IN_Accumulate( void );
|
|
virtual void IN_Commands( void );
|
|
virtual void IN_Shutdown( void );
|
|
virtual void IN_Init( void );
|
|
|
|
protected:
|
|
float ac_forwardmove;
|
|
float ac_sidemove;
|
|
int ac_movecount;
|
|
float rel_yaw;
|
|
float rel_pitch;
|
|
};
|
|
|
|
// No need for goldsource input support on the platforms that are not supported by GoldSource.
|
|
#if GOLDSOURCE_SUPPORT && (_WIN32 || __linux__ || __APPLE__) && (__i386 || _M_IX86)
|
|
#define SUPPORT_GOLDSOURCE_INPUT 1
|
|
|
|
#if _WIN32
|
|
#define HSPRITE WINDOWS_HSPRITE
|
|
#include <windows.h>
|
|
#undef HSPRITE
|
|
#else
|
|
typedef struct point_s
|
|
{
|
|
int x;
|
|
int y;
|
|
} POINT;
|
|
#define GetCursorPos(x)
|
|
#define SetCursorPos(x,y)
|
|
#endif
|
|
|
|
class GoldSourceInput : public AbstractInput
|
|
{
|
|
public:
|
|
virtual void IN_ClientMoveEvent( float forwardmove, float sidemove ) {}
|
|
virtual void IN_ClientLookEvent( float relyaw, float relpitch ) {}
|
|
virtual void IN_Move( float frametime, usercmd_t *cmd );
|
|
virtual void IN_MouseEvent( int mstate );
|
|
virtual void IN_ClearStates( void );
|
|
virtual void IN_ActivateMouse( void );
|
|
virtual void IN_DeactivateMouse( void );
|
|
virtual void IN_Accumulate( void );
|
|
virtual void IN_Commands( void );
|
|
virtual void IN_Shutdown( void );
|
|
virtual void IN_Init( void );
|
|
|
|
protected:
|
|
void IN_GetMouseDelta( int *pOutX, int *pOutY);
|
|
void IN_MouseMove ( float frametime, usercmd_t *cmd);
|
|
void IN_StartupMouse (void);
|
|
|
|
int mouse_buttons;
|
|
int mouse_oldbuttonstate;
|
|
POINT current_pos;
|
|
int old_mouse_x, old_mouse_y, mx_accum, my_accum;
|
|
int mouseinitialized;
|
|
void* sdl2Lib;
|
|
};
|
|
#endif
|
|
|
|
#endif
|