Merge pull request #21 from gamemasterplc/main

Label and clean up MessData_MesPtrGet
This commit is contained in:
gamemasterplc 2023-11-29 22:35:12 -06:00 committed by GitHub
commit 2d592dbb58
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,52 +1,53 @@
#include "common.h" #include "common.h"
void* MessData_MesPtrGet(s32* arg0, u32 arg1) { static void *MessData_MesDataGet(void *messdata, u32 id)
u16 var2; {
s32* var_r27; s32 i;
s32 var_r28; s32 max_bank;
s32* temp_r31; u16 *banks;
s32* var_r26; u16 bank;
s32* var_r25; s32 *data;
u16* var_r29; bank = id >> 16;
s32 var1; data = messdata;
u16 var_r24; max_bank = *data;
s32* var_r30; data++;
s32 var_r21; banks = (u16 *)(((u8 *)messdata)+(*data));
for(i=max_bank; i != 0; i--, banks += 2) {
var2 = arg1 >> 16; if(*banks == bank) {
temp_r31 = arg0;
var1 = *temp_r31++;
var_r29 = (u16*)((u8*)arg0 + *temp_r31);
var_r28 = var1;
while (var_r28 != 0) {
if (*var_r29 != var2) {
var_r28--;
var_r29 += 2;
continue;
} else {
break; break;
} }
} }
if (var_r28 == 0) { if(i == 0) {
var_r26 = NULL; return NULL;
} else { } else {
temp_r31 = (s32*)((u32)temp_r31 + var_r29[1] * 4); data += banks[1];
var_r26 = (s32*)((u8*)arg0 + *temp_r31); return (((u8 *)messdata)+(*data));
} }
var_r27 = var_r26;
if (var_r27 != 0) {
var_r24 = arg1;
var_r30 = var_r27;
var_r21 = *var_r30;
var_r30++;
if (var_r21 <= var_r24) {
var_r25 = NULL;
} else {
var_r30 = var_r30 + var_r24;
var_r25 = (s32*)((u8*)var_r27 + *var_r30);
}
return var_r25;
}
return 0;
} }
static void *_MessData_MesPtrGet(void *messbank, u32 id)
{
u16 index;
s32 max_index;
s32 *data;
index = id & 0xFFFF;
data = messbank;
max_index = *data;
data++;
if(max_index <= index) {
return NULL;
} else {
data = data+index;
return (((u8 *)messbank)+(*data));
}
}
void *MessData_MesPtrGet(void *messdata, u32 id)
{
void *bank = MessData_MesDataGet(messdata, id);
if(bank) {
return _MessData_MesPtrGet(bank, id);
}
return NULL;
}