diff options
| author | JustSomePwner <crotchyalt@gmail.com> | 2018-08-30 14:01:54 +0200 |
|---|---|---|
| committer | JustSomePwner <crotchyalt@gmail.com> | 2018-08-30 14:01:54 +0200 |
| commit | 7ccb819f867493f8ec202ea3b39c94c198c64584 (patch) | |
| tree | 94622e61af0ff359e3d6689cf274d74f60b2492a /tf2/KeyValues.h | |
| parent | 564d979b79e8a5aaa5014eba0ecd36c61575934f (diff) | |
first
Diffstat (limited to 'tf2/KeyValues.h')
| -rw-r--r-- | tf2/KeyValues.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tf2/KeyValues.h b/tf2/KeyValues.h new file mode 100644 index 0000000..1d8ed41 --- /dev/null +++ b/tf2/KeyValues.h @@ -0,0 +1,46 @@ +#pragma once
+#include "util.hpp"
+
+class IKeyValuesSystem {
+public:
+ void FreeKeyValuesMemory( void* memory );
+ int GetSymbolForString( const char* string, bool create );
+ const char* GetStringForSymbol( int symbol );
+};
+
+class KeyValues
+{
+public:
+ KeyValues( const char *setName );
+ //~KeyValues( );
+
+ bool LoadFromBuffer( char const *resourceName, const char *pBuffer, void* pFileSystem = nullptr, const char *pPathID = nullptr );
+
+ const char* get_string( const char* name, const char* value );
+
+ int m_iKeyName;
+
+ char *m_sValue;
+ wchar_t *m_wsValue;
+
+ // we don't delete these
+ union {
+ int m_iValue;
+ float m_flValue;
+ void *m_pValue;
+ unsigned char m_Color[ 4 ];
+ };
+
+ void* operator new( size_t alloc );
+ void operator delete( void* mem );
+
+ char m_iDataType;
+ char m_bHasEscapeSequences;
+ char m_bEvaluateConditionals;
+ static void* key_values_ptr;
+ KeyValues* FindKey( const char* key_name );
+
+ KeyValues *m_pPeer; // pointer to next key in list
+ KeyValues *m_pSub; // pointer to Start of a new sub key list
+ KeyValues *m_pChain;// Search here if it's not in our list
+};
\ No newline at end of file |
