aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/env_texturetoggle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/env_texturetoggle.cpp')
-rw-r--r--mp/src/game/server/env_texturetoggle.cpp63
1 files changed, 63 insertions, 0 deletions
diff --git a/mp/src/game/server/env_texturetoggle.cpp b/mp/src/game/server/env_texturetoggle.cpp
new file mode 100644
index 00000000..21b6e52c
--- /dev/null
+++ b/mp/src/game/server/env_texturetoggle.cpp
@@ -0,0 +1,63 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#include "cbase.h"
+
+// memdbgon must be the last include file in a .cpp file!!!
+#include "tier0/memdbgon.h"
+
+class CTextureToggle : public CPointEntity
+{
+public:
+ DECLARE_CLASS( CTextureToggle, CPointEntity );
+
+ void InputIncrementBrushTexIndex( inputdata_t &inputdata );
+ void InputSetBrushTexIndex( inputdata_t &inputdata );
+
+private:
+
+ DECLARE_DATADESC();
+};
+
+LINK_ENTITY_TO_CLASS( env_texturetoggle, CTextureToggle );
+
+BEGIN_DATADESC( CTextureToggle )
+
+ DEFINE_INPUTFUNC( FIELD_VOID, "IncrementTextureIndex", InputIncrementBrushTexIndex ),
+ DEFINE_INPUTFUNC( FIELD_INTEGER, "SetTextureIndex", InputSetBrushTexIndex ),
+
+END_DATADESC()
+
+//-----------------------------------------------------------------------------
+// Purpose:
+// Input : &inputdata -
+//-----------------------------------------------------------------------------
+void CTextureToggle::InputIncrementBrushTexIndex( inputdata_t& inputdata )
+{
+ CBaseEntity *pEntity = gEntList.FindEntityByName( NULL, m_target );
+
+ while( pEntity )
+ {
+ int iCurrentIndex = pEntity->GetTextureFrameIndex() + 1;
+ pEntity->SetTextureFrameIndex( iCurrentIndex );
+
+ pEntity = gEntList.FindEntityByName( pEntity, m_target );
+ }
+}
+
+void CTextureToggle::InputSetBrushTexIndex( inputdata_t& inputdata )
+{
+ CBaseEntity *pEntity = gEntList.FindEntityByName( NULL, m_target );
+
+ while( pEntity )
+ {
+ int iData = inputdata.value.Int();
+
+ pEntity->SetTextureFrameIndex( iData );
+ pEntity = gEntList.FindEntityByName( pEntity, m_target );
+ }
+}
+