sub_810D1CC
This commit is contained in:
@@ -5,73 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_810D1CC
|
|
||||||
sub_810D1CC: @ 810D1CC
|
|
||||||
push {r4-r7,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
movs r5, 0
|
|
||||||
ldr r6, _0810D220 @ =gUnknown_203ADB8
|
|
||||||
ldr r0, [r6]
|
|
||||||
ldrb r0, [r0, 0x6]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
beq _0810D23C
|
|
||||||
adds r7, r6, 0
|
|
||||||
_0810D1DE:
|
|
||||||
lsls r4, r5, 4
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, r4
|
|
||||||
bl sub_810D0FC
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0810D228
|
|
||||||
ldr r0, [r6]
|
|
||||||
adds r0, r4
|
|
||||||
ldrh r0, [r0, 0x4]
|
|
||||||
bl HasTrainerAlreadyBeenFought
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _0810D216
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, r4
|
|
||||||
ldrh r1, [r0, 0x4]
|
|
||||||
ldr r0, _0810D224 @ =gUnknown_845318C
|
|
||||||
mov r2, sp
|
|
||||||
bl sub_810D164
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810D228
|
|
||||||
_0810D216:
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, r4
|
|
||||||
ldrb r0, [r0, 0x6]
|
|
||||||
b _0810D23E
|
|
||||||
.align 2, 0
|
|
||||||
_0810D220: .4byte gUnknown_203ADB8
|
|
||||||
_0810D224: .4byte gUnknown_845318C
|
|
||||||
_0810D228:
|
|
||||||
adds r0, r5, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
ldr r6, _0810D248 @ =gUnknown_203ADB8
|
|
||||||
ldr r0, [r6]
|
|
||||||
lsls r1, r5, 4
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0, 0x6]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _0810D1DE
|
|
||||||
_0810D23C:
|
|
||||||
movs r0, 0xFF
|
|
||||||
_0810D23E:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0810D248: .4byte gUnknown_203ADB8
|
|
||||||
thumb_func_end sub_810D1CC
|
|
||||||
|
|
||||||
thumb_func_start sub_810D24C
|
thumb_func_start sub_810D24C
|
||||||
sub_810D24C: @ 810D24C
|
sub_810D24C: @ 810D24C
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
|
|||||||
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
|
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
|
||||||
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
|
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
|
||||||
void npc_coords_shift_still(struct MapObject *);
|
void npc_coords_shift_still(struct MapObject *);
|
||||||
|
void sub_805FE7C(struct MapObject *, u8);
|
||||||
|
|
||||||
// Exported data declarations
|
// Exported data declarations
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#ifndef GUARD_UNK_810C3A4_H
|
||||||
|
#define GUARD_UNK_810C3A4_H
|
||||||
|
|
||||||
|
void sub_810C604(void);
|
||||||
|
void sub_810C640(void);
|
||||||
|
|
||||||
|
#endif //GUARD_UNK_810C3A4_H
|
||||||
+25
-10
@@ -19,6 +19,7 @@
|
|||||||
#include "random.h"
|
#include "random.h"
|
||||||
#include "field_map_obj.h"
|
#include "field_map_obj.h"
|
||||||
#include "field_player_avatar.h"
|
#include "field_player_avatar.h"
|
||||||
|
#include "unk_810c3a4.h"
|
||||||
#include "vs_seeker.h"
|
#include "vs_seeker.h"
|
||||||
|
|
||||||
// static types
|
// static types
|
||||||
@@ -45,20 +46,17 @@ u8 sub_810CD80(const struct UnkStruct_845318C *, u16);
|
|||||||
u8 sub_810CDB4(const struct UnkStruct_845318C *, u16);
|
u8 sub_810CDB4(const struct UnkStruct_845318C *, u16);
|
||||||
int sub_810CE10(const struct UnkStruct_845318C * a0, u16 a1);
|
int sub_810CE10(const struct UnkStruct_845318C * a0, u16 a1);
|
||||||
bool8 sub_810CED0(const struct UnkStruct_845318C *, u16);
|
bool8 sub_810CED0(const struct UnkStruct_845318C *, u16);
|
||||||
bool32 sub_810D0A8(u32);
|
u8 sub_810CF54(struct MapObjectTemplate *);
|
||||||
int sub_810D084(const struct UnkStruct_845318C *, u16);
|
u8 sub_810CF90(u8);
|
||||||
void sub_810D304(void);
|
|
||||||
void sub_810C604(void);
|
|
||||||
bool8 sub_810D0FC(struct VsSeekerSubstruct *);
|
|
||||||
u16 sub_810D074(const u8 *);
|
u16 sub_810D074(const u8 *);
|
||||||
|
int sub_810D084(const struct UnkStruct_845318C *, u16);
|
||||||
|
bool32 sub_810D0A8(u32);
|
||||||
|
bool8 sub_810D0FC(struct VsSeekerSubstruct *);
|
||||||
|
u8 sub_810D164(const struct UnkStruct_845318C *, u16, u8 *);
|
||||||
u8 sub_810D1CC(void);
|
u8 sub_810D1CC(void);
|
||||||
void sub_810D24C(struct VsSeekerSubstruct *, const u8 *);
|
void sub_810D24C(struct VsSeekerSubstruct *, const u8 *);
|
||||||
u8 sub_810D164(const struct UnkStruct_845318C *, u16, u8 *);
|
|
||||||
u8 sub_810D280(int, u16);
|
u8 sub_810D280(int, u16);
|
||||||
u8 sub_810CF90(u8);
|
void sub_810D304(void);
|
||||||
void sub_810C640(void);
|
|
||||||
u8 sub_810CF54(struct MapObjectTemplate *);
|
|
||||||
void sub_805FE7C(struct MapObject *, u8);
|
|
||||||
|
|
||||||
// rodata
|
// rodata
|
||||||
const struct UnkStruct_845318C gUnknown_845318C[] = {
|
const struct UnkStruct_845318C gUnknown_845318C[] = {
|
||||||
@@ -1028,3 +1026,20 @@ u8 sub_810D164(const struct UnkStruct_845318C * a0, u16 a1, u8 * a2)
|
|||||||
*a2 = 0;
|
*a2 = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u8 sub_810D1CC(void)
|
||||||
|
{
|
||||||
|
u8 sp0;
|
||||||
|
u8 r5;
|
||||||
|
|
||||||
|
for (r5 = 0; gUnknown_203ADB8->unk_000[r5].unk_6 != 0xFF; r5++)
|
||||||
|
{
|
||||||
|
if (sub_810D0FC(&gUnknown_203ADB8->unk_000[r5]) == 1)
|
||||||
|
{
|
||||||
|
if (HasTrainerAlreadyBeenFought(gUnknown_203ADB8->unk_000[r5].unk_4) != 1 || sub_810D164(gUnknown_845318C, gUnknown_203ADB8->unk_000[r5].unk_4, &sp0))
|
||||||
|
return gUnknown_203ADB8->unk_000[r5].unk_6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0xFF;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user