diff options
author | aap <aap@papnet.eu> | 2020-05-16 12:51:54 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2020-05-16 12:52:37 +0200 |
commit | 9558baa3537b69560813a7a71002a8338c4cb40b (patch) | |
tree | e084fbd8d37f163fc6d34ab1ef99fbd15d52cc53 /src/text/Text.cpp | |
parent | 81e711517d30846b0387a01a8d40d40ea9ae47c1 (diff) |
fixed CText to be 64 bit compatible
Diffstat (limited to 'src/text/Text.cpp')
-rw-r--r-- | src/text/Text.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/text/Text.cpp b/src/text/Text.cpp index 549f68d9..1e58fcd1 100644 --- a/src/text/Text.cpp +++ b/src/text/Text.cpp @@ -97,7 +97,11 @@ CText::Unload(void) wchar* CText::Get(const char *key) { +#ifdef FIX_BUGS + return keyArray.Search(key, data.chars); +#else return keyArray.Search(key); +#endif } wchar UpperCaseTable[128] = { @@ -196,9 +200,11 @@ CKeyArray::Unload(void) void CKeyArray::Update(wchar *chars) { +#ifndef FIX_BUGS int i; for(i = 0; i < numEntries; i++) entries[i].value = (wchar*)((uint8*)chars + (uintptr)entries[i].value); +#endif } CKeyEntry* @@ -222,15 +228,25 @@ CKeyArray::BinarySearch(const char *key, CKeyEntry *entries, int16 low, int16 hi } wchar* +#ifdef FIX_BUGS +CKeyArray::Search(const char *key, wchar *data) +#else CKeyArray::Search(const char *key) +#endif { CKeyEntry *found; char errstr[25]; int i; +#ifdef FIX_BUGS + found = BinarySearch(key, entries, 0, numEntries-1); + if(found) + return (wchar*)((uint8*)data + found->valueOffset); +#else found = BinarySearch(key, entries, 0, numEntries-1); if(found) return found->value; +#endif sprintf(errstr, "%s missing", key); for(i = 0; i < 25; i++) WideErrorString[i] = errstr[i]; |