summaryrefslogtreecommitdiff
path: root/gmod/KeyValues.hpp
diff options
context:
space:
mode:
authorJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
committerJustSomePwner <crotchyalt@gmail.com>2018-08-30 14:01:54 +0200
commit7ccb819f867493f8ec202ea3b39c94c198c64584 (patch)
tree94622e61af0ff359e3d6689cf274d74f60b2492a /gmod/KeyValues.hpp
parent564d979b79e8a5aaa5014eba0ecd36c61575934f (diff)
first
Diffstat (limited to 'gmod/KeyValues.hpp')
-rw-r--r--gmod/KeyValues.hpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/gmod/KeyValues.hpp b/gmod/KeyValues.hpp
new file mode 100644
index 0000000..0b11698
--- /dev/null
+++ b/gmod/KeyValues.hpp
@@ -0,0 +1,38 @@
+#pragma once
+#include "util.hpp"
+
+class IKeyValuesSystem {
+public:
+ int GetSymbolForString( const char* string, bool create );
+ const char* GetStringForSymbol( int symbol );
+};
+
+class KeyValues
+{
+public:
+ KeyValues( const char *setName );
+ bool LoadFromBuffer( char const *resourceName, const char *pBuffer, void* pFileSystem = nullptr, const char *pPathID = nullptr, bool( *unknown )( const char* ) = nullptr );
+
+ 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 ];
+ };
+
+ char m_iDataType;
+ char m_bHasEscapeSequences;
+ char m_bEvaluateConditionals;
+
+ 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