From c3ef2ae6c949ecc2c847c74bb6b2f56dccd1b044 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 20 Jun 2020 13:15:58 -0400 Subject: [PATCH] Fix String struct --- charmap.txt | Bin 0 -> 46016 bytes include/MWC_string.h | 1 + include/string16.h | 6 +++--- 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 charmap.txt diff --git a/charmap.txt b/charmap.txt new file mode 100644 index 0000000000000000000000000000000000000000..41724bdf5537934f5034505aecbd773b29f57fd7 GIT binary patch literal 46016 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 literal 0 HcmV?d00001 diff --git a/include/MWC_string.h b/include/MWC_string.h index d2980fb67..79639239f 100644 --- a/include/MWC_string.h +++ b/include/MWC_string.h @@ -4,5 +4,6 @@ #include "nitro/types.h" void * memset(void *, int, u32); +void * memcpy(void *, const void *, u32); #endif //GUARD_MWC_STRING_H diff --git a/include/string16.h b/include/string16.h index 91888a7b3..718800202 100644 --- a/include/string16.h +++ b/include/string16.h @@ -3,11 +3,11 @@ struct String { - u16 len; - u16 pos; + u16 maxsize; + u16 size; u32 magic; - u16 unk8; u16 data[1]; + u8 padding[2]; }; struct String * String_ctor(u32 count, u32 heap_id);