mirror of
https://github.com/celisej567/source-engine.git
synced 2026-01-04 18:09:53 +03:00
1
This commit is contained in:
68
public/vcollide_parse.h
Normal file
68
public/vcollide_parse.h
Normal file
@@ -0,0 +1,68 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef VCOLLIDE_PARSE_H
|
||||
#define VCOLLIDE_PARSE_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "vphysics_interface.h"
|
||||
|
||||
struct solid_t
|
||||
{
|
||||
int index;
|
||||
char name[512];
|
||||
char parent[512];
|
||||
char surfaceprop[512];
|
||||
Vector massCenterOverride;
|
||||
objectparams_t params;
|
||||
};
|
||||
|
||||
struct fluid_t
|
||||
{
|
||||
int index;
|
||||
char surfaceprop[512];
|
||||
|
||||
fluidparams_t params;
|
||||
|
||||
fluid_t() {}
|
||||
fluid_t( fluid_t const& src ) : params(src.params)
|
||||
{
|
||||
index = src.index;
|
||||
}
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Pass this into the parser to handle the keys that vphysics does not
|
||||
// parse.
|
||||
//-----------------------------------------------------------------------------
|
||||
class IVPhysicsKeyHandler
|
||||
{
|
||||
public:
|
||||
virtual void ParseKeyValue( void *pData, const char *pKey, const char *pValue ) = 0;
|
||||
virtual void SetDefaults( void *pData ) = 0;
|
||||
};
|
||||
|
||||
|
||||
class IVPhysicsKeyParser
|
||||
{
|
||||
public:
|
||||
virtual ~IVPhysicsKeyParser() {}
|
||||
|
||||
virtual const char *GetCurrentBlockName( void ) = 0;
|
||||
virtual bool Finished( void ) = 0;
|
||||
virtual void ParseSolid( solid_t *pSolid, IVPhysicsKeyHandler *unknownKeyHandler ) = 0;
|
||||
virtual void ParseFluid( fluid_t *pFluid, IVPhysicsKeyHandler *unknownKeyHandler ) = 0;
|
||||
virtual void ParseRagdollConstraint( constraint_ragdollparams_t *pConstraint, IVPhysicsKeyHandler *unknownKeyHandler ) = 0;
|
||||
virtual void ParseSurfaceTable( int *table, IVPhysicsKeyHandler *unknownKeyHandler ) = 0;
|
||||
virtual void ParseCustom( void *pCustom, IVPhysicsKeyHandler *unknownKeyHandler ) = 0;
|
||||
virtual void ParseVehicle( vehicleparams_t *pVehicle, IVPhysicsKeyHandler *unknownKeyHandler ) = 0;
|
||||
virtual void SkipBlock( void ) = 0;
|
||||
};
|
||||
|
||||
#endif // VCOLLIDE_PARSE_H
|
||||
Reference in New Issue
Block a user