sub_81120AC
This commit is contained in:
-141
@@ -5,147 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_81120AC
|
|
||||||
sub_81120AC: @ 81120AC
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
lsls r0, r5, 2
|
|
||||||
adds r0, r5
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, _081120D0 @ =gTasks+0x8
|
|
||||||
adds r6, r0, r1
|
|
||||||
movs r0, 0
|
|
||||||
ldrsh r1, [r6, r0]
|
|
||||||
cmp r1, 0x1
|
|
||||||
beq _08112110
|
|
||||||
cmp r1, 0x1
|
|
||||||
bgt _081120D4
|
|
||||||
cmp r1, 0
|
|
||||||
beq _081120DA
|
|
||||||
b _08112164
|
|
||||||
.align 2, 0
|
|
||||||
_081120D0: .4byte gTasks+0x8
|
|
||||||
_081120D4:
|
|
||||||
cmp r1, 0x2
|
|
||||||
beq _0811214C
|
|
||||||
b _08112164
|
|
||||||
_081120DA:
|
|
||||||
ldr r0, _08112104 @ =gUnknown_2031DD8
|
|
||||||
strb r1, [r0]
|
|
||||||
bl sub_8055DC4
|
|
||||||
bl sub_811229C
|
|
||||||
ldr r0, _08112108 @ =gUnknown_203ADFE
|
|
||||||
ldrb r0, [r0]
|
|
||||||
ldr r2, _0811210C @ =gUnknown_845661C
|
|
||||||
ldrb r1, [r2, 0x3]
|
|
||||||
lsls r1, 3
|
|
||||||
str r1, [sp]
|
|
||||||
ldrb r1, [r2, 0x4]
|
|
||||||
lsls r1, 3
|
|
||||||
str r1, [sp, 0x4]
|
|
||||||
movs r1, 0xF
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillWindowPixelRect
|
|
||||||
b _0811215C
|
|
||||||
.align 2, 0
|
|
||||||
_08112104: .4byte gUnknown_2031DD8
|
|
||||||
_08112108: .4byte gUnknown_203ADFE
|
|
||||||
_0811210C: .4byte gUnknown_845661C
|
|
||||||
_08112110:
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl sub_81121D8
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _081121B8
|
|
||||||
movs r5, 0
|
|
||||||
_0811211E:
|
|
||||||
ldr r4, _08112148 @ =gUnknown_203ADFE
|
|
||||||
adds r4, r5, r4
|
|
||||||
ldrb r0, [r4]
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
ldrb r0, [r4]
|
|
||||||
movs r1, 0x1
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldrb r0, [r4]
|
|
||||||
bl RemoveWindow
|
|
||||||
adds r0, r5, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
cmp r5, 0x2
|
|
||||||
bls _0811211E
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r6, 0x2]
|
|
||||||
b _0811215C
|
|
||||||
.align 2, 0
|
|
||||||
_08112148: .4byte gUnknown_203ADFE
|
|
||||||
_0811214C:
|
|
||||||
ldrh r1, [r6, 0x2]
|
|
||||||
movs r2, 0x2
|
|
||||||
ldrsh r0, [r6, r2]
|
|
||||||
cmp r0, 0x1F
|
|
||||||
bgt _0811215C
|
|
||||||
adds r0, r1, 0x1
|
|
||||||
strh r0, [r6, 0x2]
|
|
||||||
b _081121B8
|
|
||||||
_0811215C:
|
|
||||||
ldrh r0, [r6]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r6]
|
|
||||||
b _081121B8
|
|
||||||
_08112164:
|
|
||||||
ldr r6, _081121C0 @ =gUnknown_203AE94
|
|
||||||
ldrb r1, [r6]
|
|
||||||
movs r0, 0xC0
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0x40
|
|
||||||
bne _08112176
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_8098110
|
|
||||||
_08112176:
|
|
||||||
ldr r4, _081121C4 @ =gUnknown_203AE90
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r1, _081121C8 @ =gUnknown_20371F8
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 2
|
|
||||||
bl CpuSet
|
|
||||||
ldr r0, [r4]
|
|
||||||
bl Free
|
|
||||||
movs r4, 0
|
|
||||||
str r4, [r6]
|
|
||||||
bl sub_80696C0
|
|
||||||
bl ScriptContext2_Disable
|
|
||||||
ldr r2, _081121CC @ =gTextFlags
|
|
||||||
ldrb r1, [r2]
|
|
||||||
movs r0, 0x5
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r1
|
|
||||||
strb r0, [r2]
|
|
||||||
ldr r0, _081121D0 @ =gUnknown_2036E28
|
|
||||||
strb r4, [r0]
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_8082740
|
|
||||||
ldr r1, _081121D4 @ =gUnknown_3005ECC
|
|
||||||
movs r0, 0x1
|
|
||||||
strb r0, [r1]
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl DestroyTask
|
|
||||||
_081121B8:
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_081121C0: .4byte gUnknown_203AE94
|
|
||||||
_081121C4: .4byte gUnknown_203AE90
|
|
||||||
_081121C8: .4byte gUnknown_20371F8
|
|
||||||
_081121CC: .4byte gTextFlags
|
|
||||||
_081121D0: .4byte gUnknown_2036E28
|
|
||||||
_081121D4: .4byte gUnknown_3005ECC
|
|
||||||
thumb_func_end sub_81120AC
|
|
||||||
|
|
||||||
thumb_func_start sub_81121D8
|
thumb_func_start sub_81121D8
|
||||||
sub_81121D8: @ 81121D8
|
sub_81121D8: @ 81121D8
|
||||||
push {r4-r7,lr}
|
push {r4-r7,lr}
|
||||||
|
|||||||
@@ -7,5 +7,6 @@
|
|||||||
|
|
||||||
// Exported ROM declarations
|
// Exported ROM declarations
|
||||||
void HideMapNamePopUpWindow(void);
|
void HideMapNamePopUpWindow(void);
|
||||||
|
void sub_8098110(u8);
|
||||||
|
|
||||||
#endif //GUARD_MAP_NAME_POPUP_H
|
#endif //GUARD_MAP_NAME_POPUP_H
|
||||||
|
|||||||
@@ -7,5 +7,6 @@ bool8 sub_809847C(void);
|
|||||||
void LockSelectedMapObject(void);
|
void LockSelectedMapObject(void);
|
||||||
void sub_8098630(void);
|
void sub_8098630(void);
|
||||||
bool8 sub_8098734(void);
|
bool8 sub_8098734(void);
|
||||||
|
void sub_80696C0(void);
|
||||||
|
|
||||||
#endif // GUARD_MAP_OBJ_LOCK_H
|
#endif // GUARD_MAP_OBJ_LOCK_H
|
||||||
|
|||||||
@@ -76,8 +76,10 @@ void sub_8055D5C(struct WarpData *);
|
|||||||
void sub_80572A8(void);
|
void sub_80572A8(void);
|
||||||
void sub_805726C(void);
|
void sub_805726C(void);
|
||||||
void sub_8057430(void);
|
void sub_8057430(void);
|
||||||
|
void sub_8055DC4(void);
|
||||||
|
|
||||||
extern u8 gUnknown_2031DD8;
|
extern u8 gUnknown_2031DD8;
|
||||||
|
extern u8 gUnknown_2036E28;
|
||||||
|
|
||||||
extern bool8 (* gUnknown_3005024)(void);
|
extern bool8 (* gUnknown_3005024)(void);
|
||||||
|
|
||||||
|
|||||||
@@ -14,9 +14,11 @@
|
|||||||
#include "field_fadetransition.h"
|
#include "field_fadetransition.h"
|
||||||
#include "field_weather.h"
|
#include "field_weather.h"
|
||||||
#include "map_obj_80688E4.h"
|
#include "map_obj_80688E4.h"
|
||||||
|
#include "map_obj_lock.h"
|
||||||
#include "field_player_avatar.h"
|
#include "field_player_avatar.h"
|
||||||
#include "item.h"
|
#include "item.h"
|
||||||
#include "region_map.h"
|
#include "region_map.h"
|
||||||
|
#include "map_name_popup.h"
|
||||||
#include "wild_encounter.h"
|
#include "wild_encounter.h"
|
||||||
#include "help_system.h"
|
#include "help_system.h"
|
||||||
#include "unk_8159F40.h"
|
#include "unk_8159F40.h"
|
||||||
@@ -94,6 +96,8 @@ void sub_8111F8C(u8);
|
|||||||
void sub_8111FCC(u8);
|
void sub_8111FCC(u8);
|
||||||
void sub_8112044(u8);
|
void sub_8112044(u8);
|
||||||
void sub_81120AC(u8);
|
void sub_81120AC(u8);
|
||||||
|
bool8 sub_81121D8(u8);
|
||||||
|
void sub_811229C(void);
|
||||||
void sub_8112364(void);
|
void sub_8112364(void);
|
||||||
void sub_8112888(u8);
|
void sub_8112888(u8);
|
||||||
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
|
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
|
||||||
@@ -1270,3 +1274,53 @@ void sub_8112044(u8 taskId)
|
|||||||
else
|
else
|
||||||
task->data[0]++;
|
task->data[0]++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_81120AC(u8 taskId)
|
||||||
|
{
|
||||||
|
s16 * data = gTasks[taskId].data;
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
switch (data[0])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
gUnknown_2031DD8 = 0;
|
||||||
|
sub_8055DC4();
|
||||||
|
sub_811229C();
|
||||||
|
FillWindowPixelRect(gUnknown_203ADFE[0], 0xF, 0, 0, gUnknown_845661C[0].width * 8, gUnknown_845661C[0].height * 8);
|
||||||
|
data[0]++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (sub_81121D8(taskId))
|
||||||
|
{
|
||||||
|
for (i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
ClearWindowTilemap(gUnknown_203ADFE[i]);
|
||||||
|
CopyWindowToVram(gUnknown_203ADFE[i], 1);
|
||||||
|
RemoveWindow(gUnknown_203ADFE[i]);
|
||||||
|
}
|
||||||
|
data[1] = 0;
|
||||||
|
data[0]++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (data[1] < 32)
|
||||||
|
data[1]++;
|
||||||
|
else
|
||||||
|
data[0]++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (gUnknown_203AE94.unk_0_6 == 1)
|
||||||
|
sub_8098110(1);
|
||||||
|
CpuCopy16(gUnknown_203AE90, gUnknown_20371F8, 0x400);
|
||||||
|
Free(gUnknown_203AE90);
|
||||||
|
gUnknown_203AE94 = (struct UnkStruct_203AE94){};
|
||||||
|
sub_80696C0();
|
||||||
|
ScriptContext2_Disable();
|
||||||
|
gTextFlags.flag_2 = FALSE;
|
||||||
|
gUnknown_2036E28 = 0;
|
||||||
|
sub_8082740(0);
|
||||||
|
gUnknown_3005ECC = 1;
|
||||||
|
DestroyTask(taskId);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user