through sub_810C96C

This commit is contained in:
PikalaxALT 2018-10-06 17:48:06 -04:00
parent 53b701c9ef
commit b6cc51de43
7 changed files with 52 additions and 95 deletions

View File

@ -5,100 +5,6 @@
.text
thumb_func_start sub_810C8EC
sub_810C8EC: @ 810C8EC
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
adds r5, r4, 0
ldr r0, _0810C928 @ =gSaveBlock1Ptr
ldr r0, [r0]
ldrb r1, [r0, 0x5]
ldrb r2, [r0, 0x4]
movs r0, 0xFF
bl ScriptMovement_IsObjectMovementFinished
lsls r0, 24
cmp r0, 0
beq _0810C962
ldr r0, _0810C92C @ =gUnknown_203ADB8
ldr r0, [r0]
ldr r1, _0810C930 @ =0x00000431
adds r0, r1
ldrb r0, [r0]
movs r1, 0xF8
ands r1, r0
cmp r1, 0
bne _0810C93C
ldr r2, _0810C934 @ =gUnknown_81C1429
ldr r3, _0810C938 @ =sub_80A1E0C
adds r0, r4, 0
movs r1, 0x2
bl DisplayItemMessageOnField
b _0810C95A
.align 2, 0
_0810C928: .4byte gSaveBlock1Ptr
_0810C92C: .4byte gUnknown_203ADB8
_0810C930: .4byte 0x00000431
_0810C934: .4byte gUnknown_81C1429
_0810C938: .4byte sub_80A1E0C
_0810C93C:
cmp r1, 0x10
bne _0810C944
bl sub_810D304
_0810C944:
movs r0, 0
movs r1, 0x1
bl sub_80F6F54
bl sub_80696C0
bl ScriptContext2_Disable
adds r0, r5, 0
bl DestroyTask
_0810C95A:
ldr r0, _0810C968 @ =gUnknown_203ADB8
ldr r0, [r0]
bl Free
_0810C962:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0810C968: .4byte gUnknown_203ADB8
thumb_func_end sub_810C8EC
thumb_func_start sub_810C96C
sub_810C96C: @ 810C96C
push {lr}
ldr r0, _0810C990 @ =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0xC7
lsls r1, 3
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x64
bne _0810C998
bl sub_810D1CC
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
bne _0810C994
movs r0, 0x1
b _0810C9A4
.align 2, 0
_0810C990: .4byte gSaveBlock1Ptr
_0810C994:
movs r0, 0x2
b _0810C9A4
_0810C998:
movs r1, 0x64
subs r1, r0
movs r0, 0
bl TV_PrintIntToStringVar
movs r0, 0
_0810C9A4:
pop {r1}
bx r1
thumb_func_end sub_810C96C
thumb_func_start sub_810C9A8
sub_810C9A8: @ 810C9A8
push {r4-r7,lr}

View File

@ -372,6 +372,9 @@ extern const u8 SecretBase_RedCave1_Text_274E75[];
extern const u8 SecretBase_RedCave1_Text_2751E1[];
extern const u8 SecretBase_RedCave1_Text_2754F6[];
extern const u8 SecretBase_RedCave1_Text_2758CC[];
// vs_seeker
extern const u8 gUnknown_81C137C[];
extern const u8 gUnknown_81C13D6[];
extern const u8 gUnknown_81C1429[];
#endif //GUARD_EVENT_SCRIPTS_H

View File

@ -2,5 +2,6 @@
#define GUARD_FIELD_SPECIALS_H
u8 GetLeadMonIndex(void);
void TV_PrintIntToStringVar(u8, int);
#endif // GUARD_FIELD_SPECIALS_H

View File

@ -480,7 +480,9 @@ struct SaveBlock1
/*0x14*/ struct WarpData warp2;
/*0x1C*/ struct WarpData lastHealLocation;
/*0x24*/ struct WarpData warp4;
/*0x002C*/ u8 filler2C[0x674];
/*0x002C*/ u8 filler2C[0x60C];
/*0x638*/ u8 trainerRematchStepCounter;
/*0x639*/ u8 trainerRematches[100];
/*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
/*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64];
/*0x0EE0*/ u8 fillerEE0[0x273C];

View File

@ -7,5 +7,6 @@ bool8 sub_809847C(void);
void LockSelectedMapObject(void);
void sub_8098630(void);
bool8 sub_8098734(void);
void sub_80696C0(void);
#endif // GUARD_MAP_OBJ_LOCK_H

View File

@ -15,5 +15,6 @@ void sub_8197434(u8 a0, u8 a1);
void SetStandardWindowBorderStyle(u8 a0, u8 a1);
void sub_8197930(void);
u8 GetPlayerTextSpeed(void);
void sub_80F6F54(u8, u8);
#endif // GUARD_NEW_MENU_HELPERS_H

View File

@ -7,6 +7,9 @@
#include "new_menu_helpers.h"
#include "item_use.h"
#include "event_scripts.h"
#include "script.h"
#include "map_obj_lock.h"
#include "field_specials.h"
#include "item_menu.h"
#include "field_effect.h"
#include "script_movement.h"
@ -26,10 +29,12 @@ void sub_810C730(u8 taskId);
void sub_810C760(u8 taskId);
void sub_810C808(void);
void sub_810C8EC(u8 taskId);
void sub_810D304(void);
bool8 sub_810C96C(void);
void sub_810C604(void);
u8 sub_810C9A8(const void *);
u16 sub_810D074(const u8 *);
u8 sub_810D1CC(void);
// rodata
extern const struct UnkStruct_845318C gUnknown_845318C[];
@ -121,3 +126,41 @@ void sub_810C808(void)
}
gUnknown_203ADB8->unk_000[vsSeekerObjectIdx].unk_6 = 0xFF;
}
void sub_810C8EC(u8 taskId)
{
if (ScriptMovement_IsObjectMovementFinished(0xFF, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup))
{
if (gUnknown_203ADB8->unk_431_3 == 0)
{
DisplayItemMessageOnField(taskId, 2, gUnknown_81C1429, sub_80A1E0C);
}
else
{
if (gUnknown_203ADB8->unk_431_3 == 2)
sub_810D304();
sub_80F6F54(0, 1);
sub_80696C0();
ScriptContext2_Disable();
DestroyTask(taskId);
}
Free(gUnknown_203ADB8);
}
}
u8 sub_810C96C(void)
{
u8 vsSeekerChargeSteps = gSaveBlock1Ptr->trainerRematchStepCounter;
if (vsSeekerChargeSteps == 100)
{
if (sub_810D1CC() == 0xFF)
return 1;
else
return 2;
}
else
{
TV_PrintIntToStringVar(0, 100 - vsSeekerChargeSteps);
return 0;
}
}