better physics

This commit is contained in:
2026-03-05 00:30:27 +02:00
parent ddbdef713b
commit 2da75ebdd8
68 changed files with 743 additions and 262450 deletions

View File

@@ -19,8 +19,8 @@ void CClientGameDLL::Init()
IEngineBridge *pEngineBridge = (IEngineBridge*)pfnServerFactory(ENGINE_BRIDGE_INTERFACE_VERSION, NULL);
pEngineBridge->ConnectInterface(RENDER_CONTEXT_INTERFACE_VERSION, m_pRenderContext);
pEngineBridge->ConnectInterface("MainWindow", m_pGameWindow);
pEngineBridge->ConnectInterface(FILESYSTEM_INTERFACE_VERSION, filesystem);
pEngineBridge->ConnectInterface("MainWindow", m_pGameWindow);
pEngineBridge->ConnectInterface("EngineConstants", m_pEngineConsts);
pEngineBridge->Init();
m_pBridge = pEngineBridge;

24
engine/humandevice.cpp Normal file
View File

@@ -0,0 +1,24 @@
#include "humandevice.h"
#include "tier1/interface.h"
class CHumanDeviceManager: public IHumanDeviceManager
{
public:
virtual void SetButtonPressed( EInputButton eButton ) override;
virtual void SetButtonUnpressed( EInputButton eButton ) override;
bool m_abIsButtonPressed[k_EInputButton_Count];
};
void CHumanDeviceManager::SetButtonPressed( EInputButton eButton )
{
m_abIsButtonPressed[eButton] = true;
}
void CHumanDeviceManager::SetButtonUnpressed( EInputButton eButton )
{
m_abIsButtonPressed[eButton] = false;
}
EXPOSE_INTERFACE_GLOBALVAR(CHumanDeviceManager, IHumanDeviceManager, HUMAN_DEVICE_MANAGER_INTERFACE_VERSION, g_pHumanDeviceManager)

110
engine/humandevice.h Normal file
View File

@@ -0,0 +1,110 @@
#ifndef KEYBINDINGS_H
#define KEYBINDINGS_H
#include "tier0/platform.h"
enum EInputButton
{
k_EInputButton_NONE = 0,
k_EInputButton_MOUSE_BUTTON_0,
k_EInputButton_MOUSE_BUTTON_1,
k_EInputButton_MOUSE_BUTTON_2,
k_EInputButton_MOUSE_BUTTON_3,
k_EInputButton_MOUSE_BUTTON_4,
k_EInputButton_ESCAPE,
k_EInputButton_TAB,
k_EInputButton_TILDE,
k_EInputButton_CAPSLOCK,
k_EInputButton_CONTROL,
k_EInputButton_SHIFT,
k_EInputButton_WIN,
k_EInputButton_ALT,
k_EInputButton_SPACE,
k_EInputButton_BACKSPACE,
k_EInputButton_LBRACKET,
k_EInputButton_RBRACKET,
k_EInputButton_BACKSLASH,
k_EInputButton_SEMICOLON,
k_EInputButton_APOSTROPHE,
k_EInputButton_SLASH,
k_EInputButton_ENTER,
k_EInputButton_F1,
k_EInputButton_F2,
k_EInputButton_F3,
k_EInputButton_F4,
k_EInputButton_F5,
k_EInputButton_F6,
k_EInputButton_F7,
k_EInputButton_F8,
k_EInputButton_F9,
k_EInputButton_F10,
k_EInputButton_F11,
k_EInputButton_F12,
k_EInputButton_1,
k_EInputButton_2,
k_EInputButton_3,
k_EInputButton_4,
k_EInputButton_5,
k_EInputButton_6,
k_EInputButton_7,
k_EInputButton_8,
k_EInputButton_9,
k_EInputButton_0,
k_EInputButton_A,
k_EInputButton_B,
k_EInputButton_C,
k_EInputButton_D,
k_EInputButton_E,
k_EInputButton_F,
k_EInputButton_G,
k_EInputButton_H,
k_EInputButton_I,
k_EInputButton_J,
k_EInputButton_K,
k_EInputButton_L,
k_EInputButton_M,
k_EInputButton_N,
k_EInputButton_O,
k_EInputButton_P,
k_EInputButton_Q,
k_EInputButton_R,
k_EInputButton_S,
k_EInputButton_T,
k_EInputButton_U,
k_EInputButton_V,
k_EInputButton_W,
k_EInputButton_X,
k_EInputButton_Y,
k_EInputButton_Z,
k_EInputButton_MAX,
k_EInputButton_Count = k_EInputButton_MAX - 1,
};
enum EInputType
{
k_EInput_Game,
k_EInput_Menu,
k_EInput_InputBox,
};
abstract_class IHumanDeviceManager
{
public:
virtual void SetDefaultInputType( EInputType eType ) = 0;
virtual void PushInputType( EInputType eType ) = 0;
virtual void PopInputType() = 0;
virtual void SetButtonPressed( EInputButton eButton ) = 0;
virtual void SetButtonUnpressed( EInputButton eButton ) = 0;
};
#define HUMAN_DEVICE_MANAGER_INTERFACE_VERSION "HumanDeviceMgr001"
extern IHumanDeviceManager *g_pHumanDeviceManager;
#endif

View File

@@ -1,5 +0,0 @@
class CUnsecureNetworkManager
{
};

View File

@@ -2,6 +2,7 @@
#include "tier1/interface.h"
#include "tier0/platform.h"
#include "icvar.h"
#include "tier2/ifilesystem.h"
void CServerGameDLL::Init()
{
@@ -16,6 +17,7 @@ void CServerGameDLL::Init()
CreateInterfaceFn pfnServerFactory = Sys_GetFactory(pLib);
IEngineBridge *pEngineBridge = (IEngineBridge*)pfnServerFactory(ENGINE_BRIDGE_INTERFACE_VERSION, NULL);
pEngineBridge->ConnectInterface(FILESYSTEM_INTERFACE_VERSION, filesystem);
pEngineBridge->ConnectInterface("EngineConstants", m_pEngineConsts);
pEngineBridge->Init();
m_pBridge = pEngineBridge;