You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.2 KiB
39 lines
1.2 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef C_WEAPON__STUBS_H |
|
#define C_WEAPON__STUBS_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "client_class.h" |
|
|
|
// This is an ugly hack to link client classes to weapons for now |
|
// these will be removed once we predict all weapons, especially TF2 weapons |
|
#define STUB_WEAPON_CLASS_IMPLEMENT( entityName, className ) \ |
|
BEGIN_PREDICTION_DATA( className ) \ |
|
END_PREDICTION_DATA() \ |
|
LINK_ENTITY_TO_CLASS( entityName, className ); |
|
|
|
|
|
#define STUB_WEAPON_CLASS( entityName, className, baseClassName ) \ |
|
class C_##className : public baseClassName \ |
|
{ \ |
|
DECLARE_CLASS( C_##className, baseClassName ); \ |
|
public: \ |
|
DECLARE_PREDICTABLE(); \ |
|
DECLARE_CLIENTCLASS(); \ |
|
C_##className() = default; \ |
|
private: \ |
|
C_##className( const C_##className & ); \ |
|
}; \ |
|
STUB_WEAPON_CLASS_IMPLEMENT( entityName, C_##className ); \ |
|
IMPLEMENT_CLIENTCLASS_DT( C_##className, DT_##className, C##className ) \ |
|
END_RECV_TABLE() |
|
|
|
#endif // C_WEAPON__STUBS_H
|
|
|