through sub_810899C

This commit is contained in:
PikalaxALT
2020-01-18 09:23:48 -05:00
parent 881199142c
commit 2ce545fc21
6 changed files with 102 additions and 261 deletions
+4 -249
View File
@@ -5,251 +5,6 @@
.text
thumb_func_start sub_81087EC
sub_81087EC: @ 81087EC
push {lr}
movs r0, 0x2
movs r1, 0
bl FillWindowPixelBuffer
ldr r2, _08108810 @ =gUnknown_8452CFC
ldr r0, _08108814 @ =gUnknown_203ACFC
ldrh r1, [r0, 0x6]
lsls r0, r1, 2
adds r0, r2
ldr r0, [r0]
lsls r1, 24
lsrs r1, 24
bl sub_810B958
pop {r0}
bx r0
.align 2, 0
_08108810: .4byte gUnknown_8452CFC
_08108814: .4byte gUnknown_203ACFC
thumb_func_end sub_81087EC
thumb_func_start sub_8108818
sub_8108818: @ 8108818
push {r4,lr}
sub sp, 0x14
adds r2, r0, 0
ldr r0, _0810884C @ =gUnknown_203AD10
ldr r0, [r0]
ldr r1, _08108850 @ =gUnknown_203ACFC
ldrh r1, [r1, 0x6]
adds r0, 0xA
adds r0, r1
ldrb r0, [r0]
cmp r2, r0
beq _08108854
adds r0, r1, 0x1
lsls r0, 24
lsrs r0, 24
lsls r1, r2, 16
lsrs r1, 16
bl BagGetItemIdByPocketPosition
lsls r0, 16
lsrs r0, 16
bl ItemId_GetDescription
adds r4, r0, 0
b _08108856
.align 2, 0
_0810884C: .4byte gUnknown_203AD10
_08108850: .4byte gUnknown_203ACFC
_08108854:
ldr r4, _08108884 @ =gUnknown_84162F5
_08108856:
movs r0, 0x1
movs r1, 0
bl FillWindowPixelBuffer
movs r0, 0x3
str r0, [sp]
movs r0, 0x2
str r0, [sp, 0x4]
movs r0, 0
str r0, [sp, 0x8]
str r0, [sp, 0xC]
str r0, [sp, 0x10]
movs r0, 0x1
movs r1, 0x2
adds r2, r4, 0
movs r3, 0
bl sub_810B8F0
add sp, 0x14
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08108884: .4byte gUnknown_84162F5
thumb_func_end sub_8108818
thumb_func_start sub_8108888
sub_8108888: @ 8108888
push {r4,lr}
sub sp, 0x10
ldr r4, _081088D0 @ =gUnknown_203AD10
ldr r1, [r4]
ldr r2, _081088D4 @ =gUnknown_203ACFC
ldrh r3, [r2, 0x6]
adds r0, r1, 0
adds r0, 0xA
adds r0, r3
ldrb r0, [r0]
adds r1, 0xD
adds r1, r3
ldrb r1, [r1]
subs r0, r1
adds r0, 0x1
str r0, [sp]
movs r0, 0x6E
str r0, [sp, 0x4]
str r0, [sp, 0x8]
ldrh r0, [r2, 0x6]
lsls r0, 1
adds r2, 0xE
adds r0, r2
str r0, [sp, 0xC]
movs r0, 0x2
movs r1, 0xA0
movs r2, 0x8
movs r3, 0x68
bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r4]
strb r0, [r1, 0x8]
add sp, 0x10
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081088D0: .4byte gUnknown_203AD10
_081088D4: .4byte gUnknown_203ACFC
thumb_func_end sub_8108888
thumb_func_start sub_81088D8
sub_81088D8: @ 81088D8
push {r4,lr}
ldr r4, _081088FC @ =gUnknown_203AD10
ldr r0, [r4]
ldrb r1, [r0, 0x5]
movs r0, 0xF
ands r0, r1
cmp r0, 0x1
beq _081088F4
ldr r0, _08108900 @ =gUnknown_8452F6C
ldr r1, _08108904 @ =gUnknown_203AD02
bl AddScrollIndicatorArrowPair
ldr r1, [r4]
strb r0, [r1, 0x9]
_081088F4:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081088FC: .4byte gUnknown_203AD10
_08108900: .4byte gUnknown_8452F6C
_08108904: .4byte gUnknown_203AD02
thumb_func_end sub_81088D8
thumb_func_start sub_8108908
sub_8108908: @ 8108908
push {r4,lr}
sub sp, 0x10
ldr r4, _0810893C @ =gUnknown_203AD10
ldr r1, [r4]
movs r0, 0x1
strh r0, [r1, 0x6]
movs r0, 0x2
str r0, [sp]
movs r0, 0x6E
str r0, [sp, 0x4]
str r0, [sp, 0x8]
adds r1, 0x6
str r1, [sp, 0xC]
movs r0, 0x2
movs r1, 0x98
movs r2, 0x48
movs r3, 0x68
bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r4]
strb r0, [r1, 0x8]
add sp, 0x10
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0810893C: .4byte gUnknown_203AD10
thumb_func_end sub_8108908
thumb_func_start sub_8108940
sub_8108940: @ 8108940
push {r4,lr}
sub sp, 0x10
ldr r4, _08108974 @ =gUnknown_203AD10
ldr r1, [r4]
movs r0, 0x1
strh r0, [r1, 0x6]
movs r0, 0x2
str r0, [sp]
movs r0, 0x6E
str r0, [sp, 0x4]
str r0, [sp, 0x8]
adds r1, 0x6
str r1, [sp, 0xC]
movs r0, 0x2
movs r1, 0xD4
movs r2, 0x78
movs r3, 0x98
bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r4]
strb r0, [r1, 0x8]
add sp, 0x10
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08108974: .4byte gUnknown_203AD10
thumb_func_end sub_8108940
thumb_func_start sub_8108978
sub_8108978: @ 8108978
push {r4,lr}
ldr r4, _08108998 @ =gUnknown_203AD10
ldr r1, [r4]
ldrb r0, [r1, 0x8]
cmp r0, 0xFF
beq _0810898E
bl RemoveScrollIndicatorArrowPair
ldr r1, [r4]
movs r0, 0xFF
strb r0, [r1, 0x8]
_0810898E:
bl sub_810899C
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08108998: .4byte gUnknown_203AD10
thumb_func_end sub_8108978
thumb_func_start sub_810899C
sub_810899C: @ 810899C
push {r4,lr}
ldr r4, _081089B8 @ =gUnknown_203AD10
ldr r1, [r4]
ldrb r0, [r1, 0x9]
cmp r0, 0xFF
beq _081089B2
bl RemoveScrollIndicatorArrowPair
ldr r1, [r4]
movs r0, 0xFF
strb r0, [r1, 0x9]
_081089B2:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_081089B8: .4byte gUnknown_203AD10
thumb_func_end sub_810899C
thumb_func_start sub_81089BC
sub_81089BC: @ 81089BC
push {r4,r5,lr}
@@ -368,7 +123,7 @@ sub_8108A84: @ 8108A84
mov r7, r8
push {r7}
movs r6, 0
ldr r0, _08108AF8 @ =gUnknown_203AD04
ldr r0, _08108AF8 @ =gUnknown_203ACFC+8
mov r8, r0
_08108A90:
lsls r2, r6, 1
@@ -382,7 +137,7 @@ _08108A90:
subs r0, 0x3
cmp r5, r0
bgt _08108AE6
ldr r0, _08108AFC @ =gUnknown_203AD0A
ldr r0, _08108AFC @ =gUnknown_203ACFC+14
ldr r3, _08108B00 @ =gUnknown_203AD10
mov r12, r3
adds r4, r2, r0
@@ -426,8 +181,8 @@ _08108AE6:
pop {r0}
bx r0
.align 2, 0
_08108AF8: .4byte gUnknown_203AD04
_08108AFC: .4byte gUnknown_203AD0A
_08108AF8: .4byte gUnknown_203ACFC+8
_08108AFC: .4byte gUnknown_203ACFC+14
_08108B00: .4byte gUnknown_203AD10
thumb_func_end sub_8108A84
+1 -1
View File
@@ -5,7 +5,7 @@
void sub_810B858(void);
void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
void sub_810B958(const u8 * str);
void sub_810B958(const u8 * str, u8 unused);
void sub_810B994(void);
u8 sub_810B9DC(u8 a0, u8 a1);
void sub_810BA3C(u8 a0);
+3
View File
@@ -1038,4 +1038,7 @@ extern const u8 gText_SaveFailedScreen_CheckingBackupMemory[];
extern const u8 gText_SaveFailedScreen_BackupMemoryDamaged[];
extern const u8 gText_SaveFailedScreen_SaveCompleted[];
// item_menu
extern const u8 gUnknown_84162F5[];
#endif //GUARD_STRINGS_H
+1 -1
View File
@@ -232,7 +232,7 @@ void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSp
AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, gUnknown_84530B8[colorIdx], speed, str);
}
void sub_810B958(const u8 * str)
void sub_810B958(const u8 * str, u8 unused)
{
u32 x = 0x48 - GetStringWidth(1, str, 0);
AddTextPrinterParameterized3(2, 1, x / 2, 1, gUnknown_84530B8[0], 0, str);
+92
View File
@@ -9,6 +9,7 @@
#include "item_menu.h"
#include "item_menu_icons.h"
#include "list_menu.h"
#include "menu_indicators.h"
#include "new_menu_helpers.h"
#include "overworld.h"
#include "scanline_effect.h"
@@ -55,6 +56,7 @@ void sub_81087EC(void);
void sub_8108818(s32 itemIndex);
void sub_8108888(void);
void sub_81088D8(void);
void sub_810899C(void);
void sub_8108A68(void);
void sub_8108A84(void);
void sub_8108B04(void);
@@ -69,8 +71,10 @@ void sub_810B4BC(u8 taskId);
void sub_810B5D4(u8 taskId);
extern const struct BgTemplate gUnknown_8452CF4[2];
extern const u8 *const gUnknown_8452CFC[];
extern const u8 gUnknown_8452F60[];
extern const u8 gUnknown_8452F66[];
extern const struct ScrollArrowsTemplate gUnknown_8452F6C;
extern const u8 gUnknown_8452F7C[];
void GoToBagMenu(u8 location, u8 a1, MainCallback a2)
@@ -506,3 +510,91 @@ void bag_menu_print_cursor(u8 y, u8 colorIdx)
sub_810B8F0(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx);
}
}
void sub_81087EC(void)
{
FillWindowPixelBuffer(2, PIXEL_FILL(0));
sub_810B958(gUnknown_8452CFC[gUnknown_203ACFC.pocket], gUnknown_203ACFC.pocket);
}
void sub_8108818(s32 itemIndex)
{
const u8 *description;
if (itemIndex != gUnknown_203AD10->field_0A[gUnknown_203ACFC.pocket])
description = ItemId_GetDescription(BagGetItemIdByPocketPosition(gUnknown_203ACFC.pocket + 1, itemIndex));
else
description = gUnknown_84162F5;
FillWindowPixelBuffer(1, PIXEL_FILL(0));
sub_810B8F0(1, 2, description, 0, 3, 2, 0, 0, 0);
}
void sub_8108888(void)
{
gUnknown_203AD10->field_08 = AddScrollIndicatorArrowPairParameterized(
2,
160,
8,
104,
gUnknown_203AD10->field_0A[gUnknown_203ACFC.pocket] - gUnknown_203AD10->field_0D[gUnknown_203ACFC.pocket] + 1,
110,
110,
&gUnknown_203ACFC.cursorPos[gUnknown_203ACFC.pocket]
);
}
void sub_81088D8(void)
{
if (gUnknown_203AD10->field_05_0 != 1)
{
gUnknown_203AD10->field_09 = AddScrollIndicatorArrowPair(&gUnknown_8452F6C, &gUnknown_203ACFC.pocket);
}
}
void sub_8108908(void)
{
gUnknown_203AD10->field_06 = 1;
gUnknown_203AD10->field_08 = AddScrollIndicatorArrowPairParameterized(
2,
152,
72,
104,
2,
110,
110,
&gUnknown_203AD10->field_06
);
}
void sub_8108940(void)
{
gUnknown_203AD10->field_06 = 1;
gUnknown_203AD10->field_08 = AddScrollIndicatorArrowPairParameterized(
2,
212,
120,
152,
2,
110,
110,
&gUnknown_203AD10->field_06
);
}
void sub_8108978(void)
{
if (gUnknown_203AD10->field_08 != 0xFF)
{
RemoveScrollIndicatorArrowPair(gUnknown_203AD10->field_08);
gUnknown_203AD10->field_08 = 0xFF;
}
sub_810899C();
}
void sub_810899C(void)
{
if (gUnknown_203AD10->field_09 != 0xFF)
{
RemoveScrollIndicatorArrowPair(gUnknown_203AD10->field_09);
gUnknown_203AD10->field_09 = 0xFF;
}
}
+1 -10
View File
@@ -336,16 +336,7 @@ gUnknown_203ACF0: @ 203ACF0
.include "src/list_menu.o"
.align 2
gUnknown_203ACFC: @ 203ACFC
.space 0x6
gUnknown_203AD02: @ 203AD02
.space 0x2
gUnknown_203AD04: @ 203AD04
.space 0x6
gUnknown_203AD0A: @ 203AD0A
.space 0x6
.space 0x14
gUnknown_203AD10: @ 203AD10
.space 0x4