sub_81120AC

This commit is contained in:
PikalaxALT
2018-10-12 15:05:47 -04:00
parent 58f91389a3
commit 67cbc48298
5 changed files with 58 additions and 141 deletions
-141
View File
@@ -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}
+1
View File
@@ -7,5 +7,6 @@
// Exported ROM declarations
void HideMapNamePopUpWindow(void);
void sub_8098110(u8);
#endif //GUARD_MAP_NAME_POPUP_H
+1
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
+2
View File
@@ -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);
+54
View File
@@ -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;
}
}