sub_81120AC
This commit is contained in:
-141
@@ -5,147 +5,6 @@
|
||||
|
||||
.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
|
||||
sub_81121D8: @ 81121D8
|
||||
push {r4-r7,lr}
|
||||
|
||||
@@ -7,5 +7,6 @@
|
||||
|
||||
// Exported ROM declarations
|
||||
void HideMapNamePopUpWindow(void);
|
||||
void sub_8098110(u8);
|
||||
|
||||
#endif //GUARD_MAP_NAME_POPUP_H
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -76,8 +76,10 @@ void sub_8055D5C(struct WarpData *);
|
||||
void sub_80572A8(void);
|
||||
void sub_805726C(void);
|
||||
void sub_8057430(void);
|
||||
void sub_8055DC4(void);
|
||||
|
||||
extern u8 gUnknown_2031DD8;
|
||||
extern u8 gUnknown_2036E28;
|
||||
|
||||
extern bool8 (* gUnknown_3005024)(void);
|
||||
|
||||
|
||||
@@ -14,9 +14,11 @@
|
||||
#include "field_fadetransition.h"
|
||||
#include "field_weather.h"
|
||||
#include "map_obj_80688E4.h"
|
||||
#include "map_obj_lock.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "item.h"
|
||||
#include "region_map.h"
|
||||
#include "map_name_popup.h"
|
||||
#include "wild_encounter.h"
|
||||
#include "help_system.h"
|
||||
#include "unk_8159F40.h"
|
||||
@@ -94,6 +96,8 @@ void sub_8111F8C(u8);
|
||||
void sub_8111FCC(u8);
|
||||
void sub_8112044(u8);
|
||||
void sub_81120AC(u8);
|
||||
bool8 sub_81121D8(u8);
|
||||
void sub_811229C(void);
|
||||
void sub_8112364(void);
|
||||
void sub_8112888(u8);
|
||||
void sub_8112940(u8, struct UnkStruct_203AE98 *, u16);
|
||||
@@ -1270,3 +1274,53 @@ void sub_8112044(u8 taskId)
|
||||
else
|
||||
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