Libms matching:

Thanks Troy from gc/wii decomp server
Reference:  https://github.com/Trippixyz/LibMessageStudio/blob/ceb14124dbf037627a3c40e2bb9c87725baf3cbb/src/libms.c
This commit is contained in:
elijah-thomas774
2025-11-22 20:49:58 -05:00
parent e9396ddd50
commit 2b0e4985ff
4 changed files with 10 additions and 10 deletions
+1 -1
View File
@@ -956,7 +956,7 @@ config.libs = [
"objects": [
Object(Matching, "libms/commonlib.c"),
Object(Matching, "libms/flowfile.c"),
Object(NonMatching, "libms/libms.c"),
Object(Matching, "libms/libms.c"),
Object(Matching, "libms/msgfile.c"),
],
},
+2 -2
View File
@@ -20,8 +20,8 @@ void LMS_SetMemFuncs(void *(*alloc)(size_t size), void (*free)(void *ptr));
// internal
void *LMSi_Malloc(size_t size);
void LMSi_Free(void *ptr);
int LMSi_MemCmp(const char *p1, const char *p2, int n);
void LMSi_MemCopy(char *p1, const char *p2, int n);
int LMSi_MemCmp(const void *p1, const void *p2, int n);
void LMSi_MemCopy(void *p1, const void *p2, int n);
#ifdef __cplusplus
}
+4 -4
View File
@@ -17,9 +17,9 @@ void LMSi_Free(void *ptr) {
return (MSB_FREE_FUNC)(ptr);
}
int LMSi_MemCmp(const char *p1, const char *p2, int n) {
int LMSi_MemCmp(const void *p1, const void *p2, int n) {
for (int i = 0; i < n; i++) {
if (p1[i] != p2[i]) {
if (((const char *)p1)[i] != ((const char *)p2)[i]) {
return 0;
}
}
@@ -27,11 +27,11 @@ int LMSi_MemCmp(const char *p1, const char *p2, int n) {
return 1;
}
void LMSi_MemCopy(char *p1, const char *p2, int n) {
void LMSi_MemCopy(void *p1, const void *p2, int n) {
// https://decomp.me/scratch/JOWiM
// NONMATCHING - register usage too optimal
// Look, how difficult can an unrolled memcopy be to match
for (int i = 0; i < n; i++) {
*(p1++) = *(p2++);
((char *)p1)[i] = ((const char *)p2)[i];
}
}
+3 -3
View File
@@ -38,8 +38,8 @@ int LMS_GetTextIndexByLabel(struct MsbtInfo *info, const char *label) {
int entryLen;
int sectionIndex;
int labelLen;
sectionIndex = info->lbl1Index;
sectionIndex = info->lbl1Index;
labelLen = 0;
if (info->lbl1Index == -1) {
return LMS_MISSING_LBL1_DATA;
@@ -73,7 +73,7 @@ const wchar_t *LMS_GetText(struct MsbtInfo *info, int index) {
return NULL;
}
return LMS_OFS_TO_PTR(const wchar_t , header, header[index + 1]);
return LMS_OFS_TO_PTR(const wchar_t, header, header[index + 1]);
}
const wchar_t *LMS_GetTextByLabel(struct MsbtInfo *info, const char *label) {