through sub_8144218
This commit is contained in:
+1
-244
@@ -5,251 +5,8 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81440B4
|
||||
sub_81440B4: @ 81440B4
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
movs r4, 0
|
||||
str r4, [sp]
|
||||
bl sav1_get_mevent_buffer_2
|
||||
adds r1, r0, 0
|
||||
ldr r2, _081440DC @ =0x05000009
|
||||
mov r0, sp
|
||||
bl CpuSet
|
||||
ldr r0, _081440E0 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, _081440E4 @ =0x00003430
|
||||
adds r0, r1
|
||||
str r4, [r0]
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081440DC: .4byte 0x05000009
|
||||
_081440E0: .4byte gSaveBlock1Ptr
|
||||
_081440E4: .4byte 0x00003430
|
||||
thumb_func_end sub_81440B4
|
||||
|
||||
thumb_func_start sub_81440E8
|
||||
sub_81440E8: @ 81440E8
|
||||
push {lr}
|
||||
bl sub_8143FC8
|
||||
cmp r0, 0
|
||||
bne _081440F6
|
||||
movs r0, 0
|
||||
b _08144100
|
||||
_081440F6:
|
||||
ldr r0, _08144104 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08144108 @ =0x000032e4
|
||||
adds r0, r1
|
||||
ldrh r0, [r0]
|
||||
_08144100:
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08144104: .4byte gSaveBlock1Ptr
|
||||
_08144108: .4byte 0x000032e4
|
||||
thumb_func_end sub_81440E8
|
||||
|
||||
thumb_func_start sub_814410C
|
||||
sub_814410C: @ 814410C
|
||||
push {lr}
|
||||
adds r2, r0, 0
|
||||
ldrb r1, [r2, 0x8]
|
||||
movs r0, 0xC0
|
||||
ands r0, r1
|
||||
cmp r0, 0x40
|
||||
bne _08144120
|
||||
movs r0, 0x3F
|
||||
ands r0, r1
|
||||
strb r0, [r2, 0x8]
|
||||
_08144120:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_814410C
|
||||
|
||||
thumb_func_start sub_8144124
|
||||
sub_8144124: @ 8144124
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
ldr r1, _08144138 @ =0xfc180000
|
||||
adds r0, r1
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x13
|
||||
bls _0814413C
|
||||
movs r0, 0
|
||||
b _0814413E
|
||||
.align 2, 0
|
||||
_08144138: .4byte 0xfc180000
|
||||
_0814413C:
|
||||
movs r0, 0x1
|
||||
_0814413E:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8144124
|
||||
|
||||
thumb_func_start sub_8144144
|
||||
sub_8144144: @ 8144144
|
||||
push {r4,lr}
|
||||
bl sub_81440E8
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
adds r0, r4, 0
|
||||
bl sub_8144124
|
||||
cmp r0, 0
|
||||
beq _0814417C
|
||||
ldr r1, _08144174 @ =gUnknown_8466F00
|
||||
ldr r2, _08144178 @ =0xfffffc18
|
||||
adds r0, r4, r2
|
||||
lsls r0, 1
|
||||
adds r0, r1
|
||||
ldrh r0, [r0]
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0814417C
|
||||
movs r0, 0x1
|
||||
b _0814417E
|
||||
.align 2, 0
|
||||
_08144174: .4byte gUnknown_8466F00
|
||||
_08144178: .4byte 0xfffffc18
|
||||
_0814417C:
|
||||
movs r0, 0
|
||||
_0814417E:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8144144
|
||||
|
||||
thumb_func_start sub_8144184
|
||||
sub_8144184: @ 8144184
|
||||
push {lr}
|
||||
movs r3, 0
|
||||
cmp r3, r1
|
||||
bge _081441A6
|
||||
adds r2, r0, 0
|
||||
adds r2, 0x8
|
||||
_08144190:
|
||||
ldrh r0, [r2, 0xE]
|
||||
cmp r0, 0
|
||||
beq _0814419E
|
||||
ldrh r0, [r2]
|
||||
cmp r0, 0
|
||||
beq _0814419E
|
||||
adds r3, 0x1
|
||||
_0814419E:
|
||||
adds r2, 0x2
|
||||
subs r1, 0x1
|
||||
cmp r1, 0
|
||||
bne _08144190
|
||||
_081441A6:
|
||||
adds r0, r3, 0
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8144184
|
||||
|
||||
thumb_func_start sub_81441AC
|
||||
sub_81441AC: @ 81441AC
|
||||
push {r4-r7,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r1, 0
|
||||
cmp r1, r2
|
||||
bge _081441E6
|
||||
ldrh r6, [r4, 0x2]
|
||||
movs r0, 0x16
|
||||
adds r0, r5
|
||||
mov r12, r0
|
||||
_081441C0:
|
||||
lsls r3, r1, 1
|
||||
mov r7, r12
|
||||
ldrh r0, [r7]
|
||||
cmp r0, r6
|
||||
beq _081441D8
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x8
|
||||
adds r0, r3
|
||||
ldrh r0, [r0]
|
||||
ldrh r3, [r4]
|
||||
cmp r0, r3
|
||||
bne _081441DC
|
||||
_081441D8:
|
||||
movs r0, 0x1
|
||||
b _081441E8
|
||||
_081441DC:
|
||||
movs r7, 0x2
|
||||
add r12, r7
|
||||
adds r1, 0x1
|
||||
cmp r1, r2
|
||||
blt _081441C0
|
||||
_081441E6:
|
||||
movs r0, 0
|
||||
_081441E8:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81441AC
|
||||
|
||||
thumb_func_start sub_81441F0
|
||||
sub_81441F0: @ 81441F0
|
||||
push {lr}
|
||||
adds r1, r0, 0
|
||||
ldrh r0, [r1, 0x2]
|
||||
cmp r0, 0
|
||||
beq _08144210
|
||||
ldrh r1, [r1]
|
||||
cmp r1, 0
|
||||
beq _08144210
|
||||
ldr r0, _0814420C @ =0x0000019b
|
||||
cmp r1, r0
|
||||
bhi _08144210
|
||||
movs r0, 0x1
|
||||
b _08144212
|
||||
.align 2, 0
|
||||
_0814420C: .4byte 0x0000019b
|
||||
_08144210:
|
||||
movs r0, 0
|
||||
_08144212:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81441F0
|
||||
|
||||
thumb_func_start sub_8144218
|
||||
sub_8144218: @ 8144218
|
||||
push {lr}
|
||||
bl sub_8143FC8
|
||||
cmp r0, 0
|
||||
beq _0814424C
|
||||
ldr r0, _08144240 @ =gSaveBlock1Ptr
|
||||
ldr r3, [r0]
|
||||
ldr r0, _08144244 @ =0x000032e4
|
||||
adds r2, r3, r0
|
||||
ldrb r1, [r2, 0x8]
|
||||
movs r0, 0x3
|
||||
ands r0, r1
|
||||
cmp r0, 0x1
|
||||
bne _0814424C
|
||||
ldr r1, _08144248 @ =0x00003434
|
||||
adds r0, r3, r1
|
||||
ldrb r1, [r2, 0x9]
|
||||
bl sub_8144184
|
||||
b _0814424E
|
||||
.align 2, 0
|
||||
_08144240: .4byte gSaveBlock1Ptr
|
||||
_08144244: .4byte 0x000032e4
|
||||
_08144248: .4byte 0x00003434
|
||||
_0814424C:
|
||||
movs r0, 0
|
||||
_0814424E:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8144218
|
||||
|
||||
thumb_func_start sub_8144254
|
||||
sub_8144254: @ 8144254
|
||||
sub_8144254: @ 8144254sub_81441F0
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
ldr r6, _08144280 @ =gSaveBlock1Ptr
|
||||
|
||||
+1
-1
@@ -628,7 +628,7 @@ struct MEventBuffer_3430_Sub
|
||||
{
|
||||
u8 filler_00[6];
|
||||
u16 unk_06;
|
||||
u8 filler_08[28];
|
||||
u16 unk_08[2][7];
|
||||
};
|
||||
|
||||
struct MEventBuffer_3430
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/species.h"
|
||||
#include "malloc.h"
|
||||
#include "sound.h"
|
||||
#include "easy_chat.h"
|
||||
@@ -72,6 +73,8 @@ extern const u8 gUnknown_841DE9C[];
|
||||
extern const u8 gUnknownSerialData_Start[];
|
||||
extern const u8 gUnknownSerialData_End[];
|
||||
|
||||
extern const u16 gUnknown_8466F00[];
|
||||
|
||||
struct MEvent_Str_1 gUnknown_3005ED0;
|
||||
|
||||
void sub_81435DC(struct MEvent_Str_1 *a0, size_t a1, const void * a2)
|
||||
@@ -628,3 +631,86 @@ void sub_814407C(void)
|
||||
CpuFill32(0, &gSaveBlock1Ptr->unk_3120.buffer_1c0.data, sizeof(struct MEventBuffer_32E0_Sub));
|
||||
gSaveBlock1Ptr->unk_3120.buffer_1c0.crc = 0;
|
||||
}
|
||||
|
||||
void sub_81440B4(void)
|
||||
{
|
||||
CpuFill32(0, sav1_get_mevent_buffer_2(), 18 * sizeof(u16));
|
||||
gSaveBlock1Ptr->unk_3120.buffer_310.crc = 0;
|
||||
}
|
||||
|
||||
u16 sub_81440E8(void)
|
||||
{
|
||||
if (sub_8143FC8())
|
||||
return gSaveBlock1Ptr->unk_3120.buffer_1c0.data.unk_00;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_814410C(struct MEventBuffer_32E0_Sub * buffer)
|
||||
{
|
||||
if (buffer->unk_08_6 == 1)
|
||||
buffer->unk_08_6 = 0;
|
||||
}
|
||||
|
||||
bool32 sub_8144124(u16 a0)
|
||||
{
|
||||
if (a0 >= 1000 && a0 < 1020)
|
||||
return TRUE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 sub_8144144(void)
|
||||
{
|
||||
u16 value = sub_81440E8();
|
||||
if (!sub_8144124(value))
|
||||
return FALSE;
|
||||
if (FlagGet(gUnknown_8466F00[value - 1000]) == TRUE)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
s32 sub_8144184(const struct MEventBuffer_3430_Sub * data, s32 size)
|
||||
{
|
||||
s32 r3 = 0;
|
||||
s32 i;
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
if (data->unk_08[1][i] && data->unk_08[0][i])
|
||||
r3++;
|
||||
}
|
||||
return r3;
|
||||
}
|
||||
|
||||
bool32 sub_81441AC(const struct MEventBuffer_3430_Sub * data1, const u16 * data2, s32 size)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
if (data1->unk_08[1][i] == data2[1])
|
||||
return TRUE;
|
||||
if (data1->unk_08[0][i] == data2[0])
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool32 sub_81441F0(const u16 * data)
|
||||
{
|
||||
if (data[1] == 0)
|
||||
return FALSE;
|
||||
if (data[0] == 0)
|
||||
return FALSE;
|
||||
if (data[0] >= NUM_SPECIES)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool32 sub_8144218(void)
|
||||
{
|
||||
struct MEventBuffer_32E0_Sub * data;
|
||||
if (!sub_8143FC8())
|
||||
return FALSE;
|
||||
data = &gSaveBlock1Ptr->unk_3120.buffer_1c0.data;
|
||||
if (data->unk_08_0 != 1)
|
||||
return FALSE;
|
||||
return sub_8144184(&gSaveBlock1Ptr->unk_3120.buffer_310.data, data->unk_09);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user