blob: 94eb6ca91af9d2c3505e695507776a5f05429bf0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#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, bool( *unknown )( const char* ) = 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 ];
};
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
};
|