summaryrefslogtreecommitdiffstats
path: root/src/text
diff options
context:
space:
mode:
authoreray orçunus <erayorcunus@gmail.com>2020-07-22 13:56:28 +0200
committereray orçunus <erayorcunus@gmail.com>2020-07-22 17:51:28 +0200
commit1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e (patch)
tree5578c27b5739341d34def86586a68f1f1129e1bb /src/text
parentREADME 64-bit preparation (diff)
downloadre3-1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e.tar
re3-1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e.tar.gz
re3-1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e.tar.bz2
re3-1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e.tar.lz
re3-1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e.tar.xz
re3-1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e.tar.zst
re3-1dc6fbda1fbd9a731eb20b3ef71c3dda989e511e.zip
Diffstat (limited to 'src/text')
-rw-r--r--src/text/Text.cpp18
-rw-r--r--src/text/Text.h8
2 files changed, 14 insertions, 12 deletions
diff --git a/src/text/Text.cpp b/src/text/Text.cpp
index c9e22a84..1f6cda89 100644
--- a/src/text/Text.cpp
+++ b/src/text/Text.cpp
@@ -23,8 +23,8 @@ CText::Load(void)
{
uint8 *filedata;
char filename[32], type[4];
- int length;
- int offset, sectlen;
+ intptr_t offset, length;
+ size_t sectlen;
Unload();
filedata = new uint8[0x40000];
@@ -176,12 +176,13 @@ CText::UpperCase(wchar *s)
void
-CKeyArray::Load(uint32 length, uint8 *data, int *offset)
+CKeyArray::Load(size_t length, uint8 *data, intptr_t *offset)
{
- uint32 i;
+ size_t i;
uint8 *rawbytes;
- numEntries = length / sizeof(CKeyEntry);
+ // You can make numEntries size_t if you want to exceed 32-bit boundaries, everything else should be ready.
+ numEntries = (int)(length / sizeof(CKeyEntry));
entries = new CKeyEntry[numEntries];
rawbytes = (uint8*)entries;
@@ -255,12 +256,13 @@ CKeyArray::Search(const char *key)
void
-CData::Load(uint32 length, uint8 *data, int *offset)
+CData::Load(size_t length, uint8 *data, intptr_t *offset)
{
- uint32 i;
+ size_t i;
uint8 *rawbytes;
- numChars = length / sizeof(wchar);
+ // You can make numChars size_t if you want to exceed 32-bit boundaries, everything else should be ready.
+ numChars = (int)(length / sizeof(wchar));
chars = new wchar[numChars];
rawbytes = (uint8*)chars;
diff --git a/src/text/Text.h b/src/text/Text.h
index bd6544d2..4be9b6e6 100644
--- a/src/text/Text.h
+++ b/src/text/Text.h
@@ -26,11 +26,11 @@ class CKeyArray
{
public:
CKeyEntry *entries;
- int numEntries;
+ int numEntries; // You can make this size_t if you want to exceed 32-bit boundaries, everything else should be ready.
CKeyArray(void) : entries(nil), numEntries(0) {}
~CKeyArray(void) { Unload(); }
- void Load(uint32 length, uint8 *data, int *offset);
+ void Load(size_t length, uint8 *data, intptr_t *offset);
void Unload(void);
void Update(wchar *chars);
CKeyEntry *BinarySearch(const char *key, CKeyEntry *entries, int16 low, int16 high);
@@ -45,11 +45,11 @@ class CData
{
public:
wchar *chars;
- int numChars;
+ int numChars; // You can make this size_t if you want to exceed 32-bit boundaries, everything else should be ready.
CData(void) : chars(nil), numChars(0) {}
~CData(void) { Unload(); }
- void Load(uint32 length, uint8 *data, int *offset);
+ void Load(size_t length, uint8 *data, intptr_t *offset);
void Unload(void);
};