diff options
author | aap <aap@papnet.eu> | 2019-05-30 23:00:00 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2019-05-30 23:00:00 +0200 |
commit | 2bf6674afc6b3a243f536fb30e313b055b35d533 (patch) | |
tree | 351b461596d6f80ea5ca0aa7bd34939ac8accf5f /src/Text.h | |
parent | implemented some higher level functions; added lots of stubs; switched top and bottom in CRect (diff) | |
download | re3-2bf6674afc6b3a243f536fb30e313b055b35d533.tar re3-2bf6674afc6b3a243f536fb30e313b055b35d533.tar.gz re3-2bf6674afc6b3a243f536fb30e313b055b35d533.tar.bz2 re3-2bf6674afc6b3a243f536fb30e313b055b35d533.tar.lz re3-2bf6674afc6b3a243f536fb30e313b055b35d533.tar.xz re3-2bf6674afc6b3a243f536fb30e313b055b35d533.tar.zst re3-2bf6674afc6b3a243f536fb30e313b055b35d533.zip |
Diffstat (limited to 'src/Text.h')
-rw-r--r-- | src/Text.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/Text.h b/src/Text.h new file mode 100644 index 00000000..c8d4e8b7 --- /dev/null +++ b/src/Text.h @@ -0,0 +1,47 @@ +#pragma once + +struct CKeyEntry +{ + wchar_t *value; + char key[8]; +}; +// If this fails, CKeyArray::Load will have to be fixed +static_assert(sizeof(CKeyEntry) == 12, "CKeyEntry: error"); + +class CKeyArray +{ +public: + CKeyEntry *entries; + int numEntries; + + void Load(uint32 length, uint8 *data, int *offset); + void Unload(void); + void Update(wchar_t *chars); + CKeyEntry *BinarySearch(const char *key, CKeyEntry *entries, int16 low, int16 high); + wchar_t *Search(const char *key); +}; + +class CData +{ +public: + wchar_t *chars; + int numChars; + + void Load(uint32 length, uint8 *data, int *offset); + void Unload(void); +}; + +class CText +{ + CKeyArray keyArray; + CData data; + int8 unknown; +public: + CText(void); + ~CText(void); + void Load(void); + void Unload(void); + wchar_t *Get(const char *key); +}; + +extern CText &TheText; |