/*** * * Copyright (c) 1999, 2000 Valve LLC. All rights reserved. * * This product contains software technology licensed from Id * Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. * All Rights Reserved. * * Use, distribution, and modification of this source code and/or resulting * object code is restricted to non-commercial enhancements to products from * Valve LLC. All other use, distribution, or modification is prohibited * without written permission from Valve LLC. * ****/ #include "hud.h" #include "cl_util.h" #include "demo.h" #include "demo_api.h" #include #define DLLEXPORT __declspec( dllexport ) extern "C" { void DLLEXPORT Demo_ReadBuffer( int size, unsigned char *buffer ); } /* ===================== Demo_WriteBuffer Write some data to the demo stream ===================== */ void Demo_WriteBuffer( int type, int size, unsigned char *buffer ) { int pos = 0; unsigned char buf[ 32 * 1024 ]; *( int * )&buf[pos] = type; pos+=sizeof( int ); memcpy( &buf[pos], buffer, size ); // Write full buffer out gEngfuncs.pDemoAPI->WriteBuffer( size + sizeof( int ), buf ); } /* ===================== Demo_ReadBuffer Engine wants us to parse some data from the demo stream ===================== */ void DLLEXPORT Demo_ReadBuffer( int size, unsigned char *buffer ) { int type; int i = 0; type = *( int * )buffer; i += sizeof( int ); switch ( type ) { case TYPE_USER: break; default: gEngfuncs.Con_DPrintf( "Unknown demo buffer type, skipping.\n" ); break; } }