summaryrefslogtreecommitdiff
path: root/tier0/vcrmode_xbox.cpp
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /tier0/vcrmode_xbox.cpp
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'tier0/vcrmode_xbox.cpp')
-rw-r--r--tier0/vcrmode_xbox.cpp290
1 files changed, 290 insertions, 0 deletions
diff --git a/tier0/vcrmode_xbox.cpp b/tier0/vcrmode_xbox.cpp
new file mode 100644
index 0000000..905832e
--- /dev/null
+++ b/tier0/vcrmode_xbox.cpp
@@ -0,0 +1,290 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: VCR mode records a client's game and allows you to
+// play it back and reproduce it exactly. When playing it back, nothing
+// is simulated on the server, but all server packets are recorded.
+//
+// Most of the VCR mode functionality is accomplished through hooks
+// called at various points in the engine.
+//
+// $NoKeywords: $
+//=============================================================================
+
+#include "xbox/xbox_platform.h"
+#include "xbox/xbox_win32stubs.h"
+#include <time.h>
+#include <assert.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <string.h>
+#include "tier0/vcrmode.h"
+#include "tier0/dbg.h"
+
+#define VCRFILE_VERSION 2
+#define VCR_RuntimeAssert(x) VCR_RuntimeAssertFn(x, #x)
+
+// ---------------------------------------------------------------------- //
+// Internal functions.
+// ---------------------------------------------------------------------- //
+
+static void VCR_Error( const char *pFormat, ... )
+{
+}
+
+static void VCR_RuntimeAssertFn(int bAssert, char const *pStr)
+{
+}
+
+static void VCR_Read(void *pDest, int size)
+{
+}
+
+template<class T>
+static void VCR_ReadVal(T &val)
+{
+ VCR_Read(&val, sizeof(val));
+}
+
+static void VCR_Write(void const *pSrc, int size)
+{
+}
+
+template<class T>
+static void VCR_WriteVal(T &val)
+{
+}
+
+// Hook from ExtendedTrace.cpp
+bool g_bTraceRead = false;
+void OutputDebugStringFormat( const char *pMsg, ... )
+{
+}
+
+static VCREvent VCR_ReadEvent()
+{
+ return (VCREvent)-1;
+}
+
+static void VCR_WriteEvent(VCREvent event)
+{
+}
+
+static void VCR_IncrementEvent()
+{
+}
+
+static void VCR_Event(VCREvent type)
+{
+}
+
+// ---------------------------------------------------------------------- //
+// VCR trace interface.
+// ---------------------------------------------------------------------- //
+
+class CVCRTrace : public IVCRTrace
+{
+public:
+ virtual VCREvent ReadEvent()
+ {
+ return VCR_ReadEvent();
+ }
+
+ virtual void Read( void *pDest, int size )
+ {
+ VCR_Read( pDest, size );
+ }
+};
+
+static CVCRTrace g_VCRTrace;
+
+
+// ---------------------------------------------------------------------- //
+// VCR interface.
+// ---------------------------------------------------------------------- //
+
+static int VCR_Start( char const *pFilename, bool bRecord, IVCRHelpers *pHelpers )
+{
+ return 0;
+}
+
+static void VCR_End()
+{
+}
+
+static IVCRTrace* VCR_GetVCRTraceInterface()
+{
+ return 0;
+}
+
+static VCRMode VCR_GetMode()
+{
+ return VCR_Disabled;
+}
+
+static void VCR_SetEnabled(int bEnabled)
+{
+}
+
+static void VCR_SyncToken(char const *pToken)
+{
+}
+
+static double VCR_Hook_Sys_FloatTime(double time)
+{
+ return 0;
+}
+
+static int VCR_Hook_PeekMessage(
+ struct tagMSG *msg,
+ void *hWnd,
+ unsigned int wMsgFilterMin,
+ unsigned int wMsgFilterMax,
+ unsigned int wRemoveMsg
+ )
+{
+ return 0;
+}
+
+void VCR_Hook_RecordGameMsg( unsigned int uMsg, unsigned int wParam, long lParam )
+{
+}
+
+void VCR_Hook_RecordEndGameMsg()
+{
+}
+
+bool VCR_Hook_PlaybackGameMsg( unsigned int &uMsg, unsigned int &wParam, long &lParam )
+{
+ return 0;
+}
+
+static void VCR_Hook_GetCursorPos(struct tagPOINT *pt)
+{
+}
+
+static void VCR_Hook_ScreenToClient(void *hWnd, struct tagPOINT *pt)
+{
+}
+
+static int VCR_Hook_recvfrom(int s, char *buf, int len, int flags, struct sockaddr *from, int *fromlen)
+{
+ return 0;
+}
+
+static int VCR_Hook_recv(int s, char *buf, int len, int flags)
+{
+ return 0;
+}
+
+static int VCR_Hook_send(int s, const char *buf, int len, int flags)
+{
+ return 0;
+}
+
+static void VCR_Hook_Cmd_Exec(char **f)
+{
+}
+
+static char* VCR_Hook_GetCommandLine()
+{
+ return GetCommandLine();
+}
+
+static long VCR_Hook_RegOpenKeyEx( void *hKey, const char *lpSubKey, unsigned long ulOptions, unsigned long samDesired, void *pHKey )
+{
+ return 0;
+}
+
+static long VCR_Hook_RegSetValueEx(void *hKey, char const *lpValueName, unsigned long Reserved, unsigned long dwType, unsigned char const *lpData, unsigned long cbData)
+{
+ return 0;
+}
+
+static long VCR_Hook_RegQueryValueEx(void *hKey, char const *lpValueName, unsigned long *lpReserved, unsigned long *lpType, unsigned char *lpData, unsigned long *lpcbData)
+{
+ return 0;
+}
+
+static long VCR_Hook_RegCreateKeyEx(void *hKey, char const *lpSubKey, unsigned long Reserved, char *lpClass, unsigned long dwOptions,
+ unsigned long samDesired, void *lpSecurityAttributes, void *phkResult, unsigned long *lpdwDisposition)
+{
+ return 0;
+}
+
+static void VCR_Hook_RegCloseKey(void *hKey)
+{
+}
+
+int VCR_Hook_GetNumberOfConsoleInputEvents( void *hInput, unsigned long *pNumEvents )
+{
+ return 0;
+}
+
+int VCR_Hook_ReadConsoleInput( void *hInput, void *pRecs, int nMaxRecs, unsigned long *pNumRead )
+{
+ return 0;
+}
+
+void VCR_Hook_LocalTime( struct tm *today )
+{
+}
+
+short VCR_Hook_GetKeyState( int nVirtKey )
+{
+ return 0;
+}
+
+void VCR_GenericRecord( const char *pEventName, const void *pData, int len )
+{
+}
+
+int VCR_GenericPlayback( const char *pEventName, void *pOutData, int maxLen, bool bForceSameLen )
+{
+ return 0;
+}
+
+void VCR_GenericValue( const char *pEventName, void *pData, int maxLen )
+{
+}
+
+// ---------------------------------------------------------------------- //
+// The global VCR interface.
+// ---------------------------------------------------------------------- //
+
+VCR_t g_VCR =
+{
+ VCR_Start,
+ VCR_End,
+ VCR_GetVCRTraceInterface,
+ VCR_GetMode,
+ VCR_SetEnabled,
+ VCR_SyncToken,
+ VCR_Hook_Sys_FloatTime,
+ VCR_Hook_PeekMessage,
+ VCR_Hook_RecordGameMsg,
+ VCR_Hook_RecordEndGameMsg,
+ VCR_Hook_PlaybackGameMsg,
+ VCR_Hook_recvfrom,
+ VCR_Hook_GetCursorPos,
+ VCR_Hook_ScreenToClient,
+ VCR_Hook_Cmd_Exec,
+ VCR_Hook_GetCommandLine,
+ VCR_Hook_RegOpenKeyEx,
+ VCR_Hook_RegSetValueEx,
+ VCR_Hook_RegQueryValueEx,
+ VCR_Hook_RegCreateKeyEx,
+ VCR_Hook_RegCloseKey,
+ VCR_Hook_GetNumberOfConsoleInputEvents,
+ VCR_Hook_ReadConsoleInput,
+ VCR_Hook_LocalTime,
+ VCR_Hook_GetKeyState,
+ VCR_Hook_recv,
+ VCR_Hook_send,
+ VCR_GenericRecord,
+ VCR_GenericPlayback,
+ VCR_GenericValue
+};
+
+VCR_t *g_pVCR = &g_VCR;
+
+