initial
This commit is contained in:
68
public/iprediction.h
Normal file
68
public/iprediction.h
Normal file
@@ -0,0 +1,68 @@
|
||||
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $Workfile: $
|
||||
// $Date: $
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
// $Log: $
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#if !defined( IPREDICTION_H )
|
||||
#define IPREDICTION_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
#include "interface.h"
|
||||
#include "mathlib/vector.h" // Solely to get at define for QAngle
|
||||
|
||||
|
||||
class IMoveHelper;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Engine interface into client side prediction system
|
||||
//-----------------------------------------------------------------------------
|
||||
abstract_class IPrediction
|
||||
{
|
||||
public:
|
||||
virtual ~IPrediction( void ) {};
|
||||
|
||||
virtual void Init( void ) = 0;
|
||||
virtual void Shutdown( void ) = 0;
|
||||
|
||||
// Run prediction
|
||||
virtual void Update
|
||||
(
|
||||
int startframe, // World update ( un-modded ) most recently received
|
||||
bool validframe, // Is frame data valid
|
||||
int incoming_acknowledged, // Last command acknowledged to have been run by server (un-modded)
|
||||
int outgoing_command // Last command (most recent) sent to server (un-modded)
|
||||
) = 0;
|
||||
|
||||
// We are about to get a network update from the server. We know the update #, so we can pull any
|
||||
// data purely predicted on the client side and transfer it to the new from data state.
|
||||
virtual void PreEntityPacketReceived( int commands_acknowledged, int current_world_update_packet, int server_ticks_elapsed ) = 0;
|
||||
virtual void PostEntityPacketReceived( void ) = 0;
|
||||
virtual void PostNetworkDataReceived( int commands_acknowledged ) = 0;
|
||||
|
||||
virtual void OnReceivedUncompressedPacket( void ) = 0;
|
||||
|
||||
// The engine needs to be able to access a few predicted values
|
||||
virtual void GetViewOrigin( Vector& org ) = 0;
|
||||
virtual void SetViewOrigin( Vector& org ) = 0;
|
||||
virtual void GetViewAngles( QAngle& ang ) = 0;
|
||||
virtual void SetViewAngles( QAngle& ang ) = 0;
|
||||
virtual void GetLocalViewAngles( QAngle& ang ) = 0;
|
||||
virtual void SetLocalViewAngles( QAngle& ang ) = 0;
|
||||
};
|
||||
|
||||
extern IPrediction *g_pClientSidePrediction;
|
||||
|
||||
#define VCLIENT_PREDICTION_INTERFACE_VERSION "VClientPrediction001"
|
||||
|
||||
#endif // IPREDICTION_H
|
||||
|
||||
Reference in New Issue
Block a user