mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 04:23:14 -05:00
through sub_81138F8
This commit is contained in:
parent
8dcea40e58
commit
be7cda00a1
249
asm/quest_log.s
249
asm/quest_log.s
|
|
@ -5,255 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8113748
|
||||
sub_8113748: @ 8113748
|
||||
push {lr}
|
||||
bl sub_81136D4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _08113770
|
||||
ldr r0, _08113764 @ =gUnknown_203ADFA
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x2
|
||||
bne _08113768
|
||||
movs r0, 0x1
|
||||
b _08113772
|
||||
.align 2, 0
|
||||
_08113764: .4byte gUnknown_203ADFA
|
||||
_08113768:
|
||||
cmp r0, 0x1
|
||||
bne _08113770
|
||||
bl sub_8112364
|
||||
_08113770:
|
||||
movs r0, 0
|
||||
_08113772:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8113748
|
||||
|
||||
thumb_func_start sub_8113778
|
||||
sub_8113778: @ 8113778
|
||||
push {r4,r5,lr}
|
||||
adds r5, r1, 0
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
cmp r4, 0x24
|
||||
beq _081137CE
|
||||
cmp r4, 0xB
|
||||
beq _081137CE
|
||||
ldr r0, _081137D4 @ =0x0000082c
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081137AC
|
||||
cmp r4, 0x3
|
||||
beq _081137CE
|
||||
cmp r4, 0x1F
|
||||
beq _081137CE
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_81137E4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _081137CE
|
||||
_081137AC:
|
||||
ldr r0, _081137D8 @ =0x00000844
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081137DC
|
||||
subs r0, r4, 0x4
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x6
|
||||
bls _081137CE
|
||||
cmp r4, 0x16
|
||||
beq _081137CE
|
||||
cmp r4, 0x19
|
||||
beq _081137CE
|
||||
cmp r4, 0x1A
|
||||
bne _081137DC
|
||||
_081137CE:
|
||||
movs r0, 0x1
|
||||
b _081137DE
|
||||
.align 2, 0
|
||||
_081137D4: .4byte 0x0000082c
|
||||
_081137D8: .4byte 0x00000844
|
||||
_081137DC:
|
||||
movs r0, 0
|
||||
_081137DE:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8113778
|
||||
|
||||
thumb_func_start sub_81137E4
|
||||
sub_81137E4: @ 81137E4
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x22
|
||||
bne _08113814
|
||||
ldr r2, _08113810 @ =gTrainers
|
||||
ldrh r1, [r1]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
lsls r0, 3
|
||||
adds r0, r2
|
||||
ldrb r1, [r0, 0x1]
|
||||
cmp r1, 0x51
|
||||
beq _08113814
|
||||
cmp r1, 0x59
|
||||
beq _08113814
|
||||
cmp r1, 0x5A
|
||||
beq _08113814
|
||||
cmp r1, 0x53
|
||||
beq _08113814
|
||||
movs r0, 0x1
|
||||
b _08113816
|
||||
.align 2, 0
|
||||
_08113810: .4byte gTrainers
|
||||
_08113814:
|
||||
movs r0, 0
|
||||
_08113816:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81137E4
|
||||
|
||||
thumb_func_start sub_811381C
|
||||
sub_811381C: @ 811381C
|
||||
ldr r1, _08113824 @ =gUnknown_203B048
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08113824: .4byte gUnknown_203B048
|
||||
thumb_func_end sub_811381C
|
||||
|
||||
thumb_func_start sub_8113828
|
||||
sub_8113828: @ 8113828
|
||||
push {r4,r5,lr}
|
||||
adds r5, r1, 0
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
adds r0, r4, 0
|
||||
bl sub_8113778
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _0811384C
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_81153A8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08113850
|
||||
_0811384C:
|
||||
movs r0, 0
|
||||
b _0811388C
|
||||
_08113850:
|
||||
adds r0, r4, 0
|
||||
bl sub_8110AEC
|
||||
adds r0, r4, 0
|
||||
bl sub_8113B94
|
||||
cmp r4, 0x1F
|
||||
bne _08113874
|
||||
ldr r2, _0811386C @ =gUnknown_203AE04
|
||||
ldr r1, _08113870 @ =gUnknown_203AE08
|
||||
ldr r0, [r1]
|
||||
str r0, [r2]
|
||||
adds r2, r1, 0
|
||||
b _0811387C
|
||||
.align 2, 0
|
||||
_0811386C: .4byte gUnknown_203AE04
|
||||
_08113870: .4byte gUnknown_203AE08
|
||||
_08113874:
|
||||
ldr r1, _08113894 @ =gUnknown_203AE04
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
ldr r2, _08113898 @ =gUnknown_203AE08
|
||||
_0811387C:
|
||||
ldr r0, _0811389C @ =gUnknown_8456948
|
||||
lsls r1, r4, 2
|
||||
adds r1, r0
|
||||
ldr r0, [r2]
|
||||
ldr r2, [r1]
|
||||
adds r1, r5, 0
|
||||
bl _call_via_r2
|
||||
_0811388C:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08113894: .4byte gUnknown_203AE04
|
||||
_08113898: .4byte gUnknown_203AE08
|
||||
_0811389C: .4byte gUnknown_8456948
|
||||
thumb_func_end sub_8113828
|
||||
|
||||
thumb_func_start sub_81138A0
|
||||
sub_81138A0: @ 81138A0
|
||||
push {r4,r5,lr}
|
||||
adds r5, r1, 0
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
adds r4, r0, 0
|
||||
subs r0, 0xC
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x7
|
||||
bls _081138B8
|
||||
movs r0, 0
|
||||
b _081138F0
|
||||
_081138B8:
|
||||
bl sub_81138F8
|
||||
ldr r1, _081138E0 @ =gUnknown_203B024
|
||||
strh r4, [r1]
|
||||
adds r0, r4, 0
|
||||
subs r0, 0x10
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1
|
||||
bls _081138EE
|
||||
cmp r4, 0xC
|
||||
beq _081138D4
|
||||
cmp r4, 0x12
|
||||
bne _081138E4
|
||||
_081138D4:
|
||||
adds r0, r1, 0x4
|
||||
adds r1, r5, 0
|
||||
movs r2, 0xC
|
||||
bl memcpy
|
||||
b _081138EE
|
||||
.align 2, 0
|
||||
_081138E0: .4byte gUnknown_203B024
|
||||
_081138E4:
|
||||
adds r0, r1, 0x4
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x18
|
||||
bl memcpy
|
||||
_081138EE:
|
||||
movs r0, 0x1
|
||||
_081138F0:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81138A0
|
||||
|
||||
thumb_func_start sub_81138F8
|
||||
sub_81138F8: @ 81138F8
|
||||
push {lr}
|
||||
ldr r0, _08113908 @ =gUnknown_203B024
|
||||
movs r1, 0
|
||||
movs r2, 0x20
|
||||
bl memset
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08113908: .4byte gUnknown_203B024
|
||||
thumb_func_end sub_81138F8
|
||||
|
||||
thumb_func_start sub_811390C
|
||||
sub_811390C: @ 811390C
|
||||
push {r4,r5,lr}
|
||||
|
|
|
|||
123
src/quest_log.c
123
src/quest_log.c
|
|
@ -93,11 +93,13 @@ EWRAM_DATA u16 *gUnknown_203AE90 = NULL;
|
|||
EWRAM_DATA struct UnkStruct_203AE94 gUnknown_203AE94 = {0};
|
||||
EWRAM_DATA struct UnkStruct_203AE98 gUnknown_203AE98[32] = {0};
|
||||
EWRAM_DATA u16 gUnknown_203AF98 = 0;
|
||||
EWRAM_DATA u8 gUnknown_203AF9A[64][2];
|
||||
EWRAM_DATA u16 gUnknown_203B01A;
|
||||
EWRAM_DATA u16 gUnknown_203B01C;
|
||||
EWRAM_DATA u16 gUnknown_203B01E;
|
||||
EWRAM_DATA u8 gUnknown_203B020;
|
||||
EWRAM_DATA u8 gUnknown_203AF9A[64][2] = {{0}};
|
||||
EWRAM_DATA u16 gUnknown_203B01A = 0;
|
||||
EWRAM_DATA u16 gUnknown_203B01C = 0;
|
||||
EWRAM_DATA u16 gUnknown_203B01E = 0;
|
||||
EWRAM_DATA u8 gUnknown_203B020 = 0;
|
||||
|
||||
EWRAM_DATA ALIGNED(2) u16 gUnknown_203B024[16] = {0};
|
||||
|
||||
EWRAM_DATA u16 gUnknown_203B044[2] = {0};
|
||||
EWRAM_DATA u8 gUnknown_203B048 = 0;
|
||||
|
|
@ -156,11 +158,12 @@ void sub_81134CC(struct Var4038Struct *);
|
|||
bool8 sub_8113508(struct Var4038Struct * );
|
||||
void sub_8113524(struct Var4038Struct *);
|
||||
bool8 sub_81136D4(void);
|
||||
bool8 sub_8113778(u16, void*);
|
||||
void* sub_8113828(u16, void*);
|
||||
bool8 sub_81138A0(u16, void*);
|
||||
bool8 sub_8113954(u16, void*);
|
||||
bool8 sub_8113A44(u16, void*);
|
||||
bool8 sub_8113778(u16, u16 *);
|
||||
bool8 sub_81137E4(u16, u16 *);
|
||||
void * sub_8113828(u16, u16 *);
|
||||
bool8 sub_81138A0(u16, u16 *);
|
||||
bool8 sub_8113954(u16, u16 *);
|
||||
bool8 sub_8113A44(u16, u16 *);
|
||||
void sub_8113B94(u16);
|
||||
void *sub_8113F14(void *, void *);
|
||||
void *sub_8113F80(void *, void *);
|
||||
|
|
@ -2639,7 +2642,7 @@ void * (*const gUnknown_8456948[])(void *, void *) = {
|
|||
};
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_8113550(u16 a0, void * a1)
|
||||
void sub_8113550(u16 a0, u16 * a1)
|
||||
{
|
||||
void * r1;
|
||||
|
||||
|
|
@ -2726,7 +2729,7 @@ void sub_8113550(u16 a0, void * a1)
|
|||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_8113550(u16 a0, void * a1)
|
||||
void sub_8113550(u16 a0, u16 * a1)
|
||||
{
|
||||
asm_unified("\tpush {r4,r5,lr}\n"
|
||||
"\tadds r5, r1, 0\n"
|
||||
|
|
@ -2926,3 +2929,99 @@ bool8 sub_81136D4(void)
|
|||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8113748(void)
|
||||
{
|
||||
if (sub_81136D4() != TRUE)
|
||||
return FALSE;
|
||||
|
||||
if (gUnknown_203ADFA == 2)
|
||||
return TRUE;
|
||||
|
||||
if (gUnknown_203ADFA == 1)
|
||||
sub_8112364();
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8113778(u16 a0, u16 * a1)
|
||||
{
|
||||
if (a0 == 36 || a0 == 11)
|
||||
return TRUE;
|
||||
|
||||
if (!FlagGet(0x82C))
|
||||
{
|
||||
if (a0 == 3 || a0 == 31 || sub_81137E4(a0, a1) == TRUE)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!FlagGet(0x844))
|
||||
{
|
||||
if (a0 == 4 || a0 == 5 || a0 == 6 || a0 == 7 || a0 == 8 || a0 == 9 || a0 == 10 || a0 == 22 || a0 == 25 || a0 == 26)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_81137E4(u16 a0, u16 * a1)
|
||||
{
|
||||
if (a0 == 34)
|
||||
{
|
||||
u8 trainerClass = gTrainers[*a1].trainerClass;
|
||||
if ( trainerClass == 0x51
|
||||
|| trainerClass == 0x59
|
||||
|| trainerClass == 0x5A
|
||||
|| trainerClass == 0x53)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void sub_811381C(void)
|
||||
{
|
||||
gUnknown_203B048 = 0;
|
||||
}
|
||||
|
||||
void * sub_8113828(u16 a0, u16 * a1)
|
||||
{
|
||||
if (sub_8113778(a0, a1) == TRUE)
|
||||
return NULL;
|
||||
|
||||
if (sub_81153A8(a0, a1) == FALSE)
|
||||
return NULL;
|
||||
|
||||
sub_8110AEC(a0);
|
||||
sub_8113B94(a0);
|
||||
|
||||
if (a0 == 31)
|
||||
gUnknown_203AE04 = gUnknown_203AE08;
|
||||
else
|
||||
gUnknown_203AE04 = NULL;
|
||||
|
||||
return gUnknown_8456948[a0](gUnknown_203AE08, a1);
|
||||
}
|
||||
|
||||
bool8 sub_81138A0(u16 a0, u16 * a1)
|
||||
{
|
||||
if (a0 < 12 || a0 > 19)
|
||||
return FALSE;
|
||||
|
||||
sub_81138F8();
|
||||
gUnknown_203B024[0] = a0;
|
||||
|
||||
if (a0 < 16 || a0 > 17)
|
||||
{
|
||||
if (a0 == 12 || a0 == 18)
|
||||
memcpy(gUnknown_203B024 + 2, a1, 12);
|
||||
else
|
||||
memcpy(gUnknown_203B024 + 2, a1, 24);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_81138F8(void)
|
||||
{
|
||||
memset(gUnknown_203B024, 0, sizeof(gUnknown_203B024));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user