@@ -1,431 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_810B858
|
|
||||||
sub_810B858: @ 810B858
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r0, _0810B86C @ =gUnknown_203ACFC
|
|
||||||
ldrb r0, [r0, 0x4]
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _0810B874
|
|
||||||
ldr r0, _0810B870 @ =gUnknown_84530C4
|
|
||||||
bl InitWindows
|
|
||||||
b _0810B87A
|
|
||||||
.align 2, 0
|
|
||||||
_0810B86C: .4byte gUnknown_203ACFC
|
|
||||||
_0810B870: .4byte gUnknown_84530C4
|
|
||||||
_0810B874:
|
|
||||||
ldr r0, _0810B8E4 @ =gUnknown_84530E4
|
|
||||||
bl InitWindows
|
|
||||||
_0810B87A:
|
|
||||||
bl DeactivateAllTextPrinters
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x64
|
|
||||||
movs r2, 0xE0
|
|
||||||
bl sub_815001C
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x6D
|
|
||||||
movs r2, 0xD0
|
|
||||||
bl sub_814FEAC
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x81
|
|
||||||
movs r2, 0xC0
|
|
||||||
bl sub_814FF2C
|
|
||||||
ldr r0, _0810B8E8 @ =gUnknown_8453098
|
|
||||||
movs r1, 0xF0
|
|
||||||
movs r2, 0x20
|
|
||||||
bl LoadPalette
|
|
||||||
movs r4, 0
|
|
||||||
_0810B8A8:
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl FillWindowPixelBuffer
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl PutWindowTilemap
|
|
||||||
adds r0, r4, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
cmp r4, 0x2
|
|
||||||
bls _0810B8A8
|
|
||||||
movs r0, 0
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
movs r4, 0
|
|
||||||
ldr r3, _0810B8EC @ =gUnknown_203AD34
|
|
||||||
movs r2, 0xFF
|
|
||||||
_0810B8CC:
|
|
||||||
adds r0, r4, r3
|
|
||||||
ldrb r1, [r0]
|
|
||||||
orrs r1, r2
|
|
||||||
strb r1, [r0]
|
|
||||||
adds r0, r4, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
cmp r4, 0xA
|
|
||||||
bls _0810B8CC
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810B8E4: .4byte gUnknown_84530E4
|
|
||||||
_0810B8E8: .4byte gUnknown_8453098
|
|
||||||
_0810B8EC: .4byte gUnknown_203AD34
|
|
||||||
thumb_func_end sub_810B858
|
|
||||||
|
|
||||||
thumb_func_start sub_810B8F0
|
|
||||||
sub_810B8F0: @ 810B8F0
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r9
|
|
||||||
mov r6, r8
|
|
||||||
push {r6,r7}
|
|
||||||
sub sp, 0x14
|
|
||||||
mov r9, r3
|
|
||||||
ldr r3, [sp, 0x30]
|
|
||||||
ldr r4, [sp, 0x34]
|
|
||||||
ldr r6, [sp, 0x38]
|
|
||||||
ldr r5, [sp, 0x3C]
|
|
||||||
mov r8, r5
|
|
||||||
ldr r5, [sp, 0x40]
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
mov r7, r9
|
|
||||||
lsls r7, 24
|
|
||||||
lsrs r7, 24
|
|
||||||
mov r9, r7
|
|
||||||
lsls r3, 24
|
|
||||||
lsrs r3, 24
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
lsls r6, 24
|
|
||||||
lsrs r6, 24
|
|
||||||
lsls r5, 24
|
|
||||||
lsrs r5, 24
|
|
||||||
str r4, [sp]
|
|
||||||
str r6, [sp, 0x4]
|
|
||||||
lsls r4, r5, 1
|
|
||||||
adds r4, r5
|
|
||||||
ldr r5, _0810B954 @ =gUnknown_84530B8
|
|
||||||
adds r4, r5
|
|
||||||
str r4, [sp, 0x8]
|
|
||||||
mov r4, r8
|
|
||||||
lsls r4, 24
|
|
||||||
asrs r4, 24
|
|
||||||
str r4, [sp, 0xC]
|
|
||||||
str r2, [sp, 0x10]
|
|
||||||
mov r2, r9
|
|
||||||
bl AddTextPrinterParametrized2
|
|
||||||
add sp, 0x14
|
|
||||||
pop {r3,r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810B954: .4byte gUnknown_84530B8
|
|
||||||
thumb_func_end sub_810B8F0
|
|
||||||
|
|
||||||
thumb_func_start sub_810B958
|
|
||||||
sub_810B958: @ 810B958
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
adds r4, r0, 0
|
|
||||||
movs r0, 0x1
|
|
||||||
adds r1, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl GetStringWidth
|
|
||||||
movs r2, 0x48
|
|
||||||
subs r2, r0
|
|
||||||
lsrs r2, 1
|
|
||||||
lsls r2, 24
|
|
||||||
lsrs r2, 24
|
|
||||||
ldr r0, _0810B990 @ =gUnknown_84530B8
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
str r4, [sp, 0x8]
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r3, 0x1
|
|
||||||
bl box_print
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810B990: .4byte gUnknown_84530B8
|
|
||||||
thumb_func_end sub_810B958
|
|
||||||
|
|
||||||
thumb_func_start sub_810B994
|
|
||||||
sub_810B994: @ 810B994
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x81
|
|
||||||
movs r3, 0xC
|
|
||||||
bl SetWindowBorderStyle
|
|
||||||
ldr r4, _0810B9D8 @ =gUnknown_84162E8
|
|
||||||
movs r0, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl GetStringWidth
|
|
||||||
movs r3, 0x40
|
|
||||||
subs r3, r0
|
|
||||||
lsrs r3, 1
|
|
||||||
lsls r3, 24
|
|
||||||
lsrs r3, 24
|
|
||||||
movs r0, 0x1
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl AddTextPrinterParameterized
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810B9D8: .4byte gUnknown_84162E8
|
|
||||||
thumb_func_end sub_810B994
|
|
||||||
|
|
||||||
thumb_func_start sub_810B9DC
|
|
||||||
sub_810B9DC: @ 810B9DC
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
ldr r6, _0810BA10 @ =gUnknown_203AD34
|
|
||||||
adds r4, r5, r6
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _0810BA2A
|
|
||||||
adds r0, r5, r1
|
|
||||||
lsls r0, 3
|
|
||||||
ldr r1, _0810BA14 @ =gUnknown_8453104
|
|
||||||
adds r0, r1
|
|
||||||
bl AddWindow
|
|
||||||
strb r0, [r4]
|
|
||||||
cmp r5, 0x6
|
|
||||||
beq _0810BA18
|
|
||||||
ldrb r0, [r4]
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x64
|
|
||||||
movs r3, 0xE
|
|
||||||
bl SetWindowBorderStyle
|
|
||||||
b _0810BA24
|
|
||||||
.align 2, 0
|
|
||||||
_0810BA10: .4byte gUnknown_203AD34
|
|
||||||
_0810BA14: .4byte gUnknown_8453104
|
|
||||||
_0810BA18:
|
|
||||||
ldrb r0, [r6, 0x6]
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x81
|
|
||||||
movs r3, 0xC
|
|
||||||
bl SetWindowBorderStyle
|
|
||||||
_0810BA24:
|
|
||||||
movs r0, 0
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
_0810BA2A:
|
|
||||||
ldr r0, _0810BA38 @ =gUnknown_203AD34
|
|
||||||
adds r0, r5, r0
|
|
||||||
ldrb r0, [r0]
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0810BA38: .4byte gUnknown_203AD34
|
|
||||||
thumb_func_end sub_810B9DC
|
|
||||||
|
|
||||||
thumb_func_start sub_810BA3C
|
|
||||||
sub_810BA3C: @ 810BA3C
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
ldr r0, _0810BA6C @ =gUnknown_203AD34
|
|
||||||
adds r4, r0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_810F4D8
|
|
||||||
ldrb r0, [r4]
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
ldrb r0, [r4]
|
|
||||||
bl RemoveWindow
|
|
||||||
movs r0, 0
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r4]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810BA6C: .4byte gUnknown_203AD34
|
|
||||||
thumb_func_end sub_810BA3C
|
|
||||||
|
|
||||||
thumb_func_start sub_810BA70
|
|
||||||
sub_810BA70: @ 810BA70
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r1, r0, 24
|
|
||||||
ldr r0, _0810BA94 @ =gUnknown_203AD34
|
|
||||||
adds r4, r1, r0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _0810BA8C
|
|
||||||
lsls r0, r1, 3
|
|
||||||
ldr r1, _0810BA98 @ =gUnknown_8453104
|
|
||||||
adds r0, r1
|
|
||||||
bl AddWindow
|
|
||||||
strb r0, [r4]
|
|
||||||
_0810BA8C:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.align 2, 0
|
|
||||||
_0810BA94: .4byte gUnknown_203AD34
|
|
||||||
_0810BA98: .4byte gUnknown_8453104
|
|
||||||
thumb_func_end sub_810BA70
|
|
||||||
|
|
||||||
thumb_func_start sub_810BA9C
|
|
||||||
sub_810BA9C: @ 810BA9C
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r1, _0810BAD4 @ =gUnknown_203AD34
|
|
||||||
adds r4, r0, r1
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
beq _0810BACE
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_810F260
|
|
||||||
ldrb r0, [r4]
|
|
||||||
bl ClearWindowTilemap
|
|
||||||
ldrb r0, [r4]
|
|
||||||
bl RemoveWindow
|
|
||||||
movs r0, 0x1
|
|
||||||
bl PutWindowTilemap
|
|
||||||
movs r0, 0
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r4]
|
|
||||||
_0810BACE:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810BAD4: .4byte gUnknown_203AD34
|
|
||||||
thumb_func_end sub_810BA9C
|
|
||||||
|
|
||||||
thumb_func_start sub_810BAD8
|
|
||||||
sub_810BAD8: @ 810BAD8
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r1, _0810BAE4 @ =gUnknown_203AD34
|
|
||||||
adds r0, r1
|
|
||||||
ldrb r0, [r0]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0810BAE4: .4byte gUnknown_203AD34
|
|
||||||
thumb_func_end sub_810BAD8
|
|
||||||
|
|
||||||
thumb_func_start sub_810BAE8
|
|
||||||
sub_810BAE8: @ 810BAE8
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x10
|
|
||||||
adds r3, r1, 0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r1, _0810BB10 @ =gUnknown_845311C
|
|
||||||
movs r2, 0x2
|
|
||||||
str r2, [sp]
|
|
||||||
movs r2, 0x64
|
|
||||||
str r2, [sp, 0x4]
|
|
||||||
movs r2, 0xE
|
|
||||||
str r2, [sp, 0x8]
|
|
||||||
str r3, [sp, 0xC]
|
|
||||||
movs r2, 0x2
|
|
||||||
movs r3, 0
|
|
||||||
bl CreateYesNoMenuWithCallbacks
|
|
||||||
add sp, 0x10
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810BB10: .4byte gUnknown_845311C
|
|
||||||
thumb_func_end sub_810BAE8
|
|
||||||
|
|
||||||
thumb_func_start sub_810BB14
|
|
||||||
sub_810BB14: @ 810BB14
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x10
|
|
||||||
adds r3, r1, 0
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r1, _0810BB3C @ =gUnknown_8453124
|
|
||||||
movs r2, 0x2
|
|
||||||
str r2, [sp]
|
|
||||||
movs r2, 0x64
|
|
||||||
str r2, [sp, 0x4]
|
|
||||||
movs r2, 0xE
|
|
||||||
str r2, [sp, 0x8]
|
|
||||||
str r3, [sp, 0xC]
|
|
||||||
movs r2, 0x2
|
|
||||||
movs r3, 0
|
|
||||||
bl CreateYesNoMenuWithCallbacks
|
|
||||||
add sp, 0x10
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810BB3C: .4byte gUnknown_8453124
|
|
||||||
thumb_func_end sub_810BB14
|
|
||||||
|
|
||||||
thumb_func_start sub_810BB40
|
|
||||||
sub_810BB40: @ 810BB40
|
|
||||||
push {r4,lr}
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_810B9DC
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
ldr r0, _0810BB70 @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0xA4
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
bl GetMoney
|
|
||||||
adds r3, r0, 0
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x81
|
|
||||||
movs r2, 0xC
|
|
||||||
bl PrintMoneyAmountInMoneyBoxWithBorder
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810BB70: .4byte gSaveBlock1Ptr
|
|
||||||
thumb_func_end sub_810BB40
|
|
||||||
|
|
||||||
thumb_func_start sub_810BB74
|
|
||||||
sub_810BB74: @ 810BB74
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
movs r1, 0x64
|
|
||||||
movs r2, 0xE
|
|
||||||
bl DrawTextBorderOuter
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_810BB74
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
16
|
||||||
|
255 255 255
|
||||||
|
255 255 255
|
||||||
|
98 98 98
|
||||||
|
213 213 205
|
||||||
|
230 8 8
|
||||||
|
255 189 115
|
||||||
|
32 156 8
|
||||||
|
148 246 148
|
||||||
|
49 82 205
|
||||||
|
164 197 246
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
255 156 148
|
||||||
|
255 255 255
|
||||||
|
189 90 82
|
||||||
+2
-27
@@ -1,3 +1,5 @@
|
|||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
.section .rodata
|
.section .rodata
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
@@ -3079,33 +3081,6 @@ gUnknown_8453092:: @ 8453092
|
|||||||
gUnknown_8453094:: @ 8453094
|
gUnknown_8453094:: @ 8453094
|
||||||
.incbin "baserom.gba", 0x453094, 0x4
|
.incbin "baserom.gba", 0x453094, 0x4
|
||||||
|
|
||||||
gUnknown_8453098:: @ 8453098
|
|
||||||
.incbin "baserom.gba", 0x453098, 0x20
|
|
||||||
|
|
||||||
gUnknown_84530B8:: @ 84530B8
|
|
||||||
.incbin "baserom.gba", 0x4530B8, 0xC
|
|
||||||
|
|
||||||
gUnknown_84530C4:: @ 84530C4
|
|
||||||
.incbin "baserom.gba", 0x4530C4, 0x20
|
|
||||||
|
|
||||||
gUnknown_84530E4:: @ 84530E4
|
|
||||||
.incbin "baserom.gba", 0x4530E4, 0x20
|
|
||||||
|
|
||||||
gUnknown_8453104:: @ 8453104
|
|
||||||
.incbin "baserom.gba", 0x453104, 0x18
|
|
||||||
|
|
||||||
gUnknown_845311C:: @ 845311C
|
|
||||||
.incbin "baserom.gba", 0x45311C, 0x8
|
|
||||||
|
|
||||||
gUnknown_8453124:: @ 8453124
|
|
||||||
.incbin "baserom.gba", 0x453124, 0x54
|
|
||||||
|
|
||||||
gUnknown_8453178:: @ 8453178
|
|
||||||
.incbin "baserom.gba", 0x453178, 0xC
|
|
||||||
|
|
||||||
gUnknown_8453184:: @ 8453184
|
|
||||||
.incbin "baserom.gba", 0x453184, 0x8
|
|
||||||
|
|
||||||
.section .rodata.8453F6C
|
.section .rodata.8453F6C
|
||||||
|
|
||||||
// item_pc.o
|
// item_pc.o
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
|
.section .rodata
|
||||||
|
|
||||||
|
.align 2
|
||||||
|
gUnknown_845312C:: @ 845312C
|
||||||
|
window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x02a2
|
||||||
|
window_template 0x00, 0x06, 0x0f, 0x0e, 0x04, 0x0c, 0x02a2
|
||||||
|
window_template 0x00, 0x06, 0x0f, 0x0f, 0x04, 0x0c, 0x02da
|
||||||
|
window_template 0x00, 0x06, 0x0f, 0x10, 0x04, 0x0c, 0x0316
|
||||||
|
window_template 0x00, 0x06, 0x0f, 0x17, 0x04, 0x0c, 0x0356
|
||||||
|
window_template 0x00, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x020a
|
||||||
|
window_template 0x00, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x020a
|
||||||
|
window_template 0x00, 0x16, 0x0d, 0x07, 0x06, 0x0f, 0x020a
|
||||||
|
window_template 0x00, 0x16, 0x0b, 0x07, 0x08, 0x0f, 0x020a
|
||||||
|
|
||||||
|
gUnknown_8453174::
|
||||||
|
.byte 16, 8, 4, 0
|
||||||
|
|
||||||
|
.align 2
|
||||||
|
gUnknown_8453178:: @ 8453178
|
||||||
|
.space 12
|
||||||
|
|
||||||
|
gUnknown_8453184:: @ 8453184
|
||||||
|
.byte 0, 0, 0, 0xc0, 0, 0, 0, 0
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#ifndef GUARD_BAG_H
|
||||||
|
#define GUARD_BAG_H
|
||||||
|
|
||||||
|
void sub_810B858(void);
|
||||||
|
void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx);
|
||||||
|
void sub_810B958(const u8 * str);
|
||||||
|
void sub_810B994(void);
|
||||||
|
u8 sub_810B9DC(u8 a0, u8 a1);
|
||||||
|
void sub_810BA3C(u8 a0);
|
||||||
|
u8 sub_810BA70(u8 a0);
|
||||||
|
void sub_810BA9C(u8 a0);
|
||||||
|
u8 sub_810BAD8(u8 a0);
|
||||||
|
void sub_810BAE8(u8 taskId, const struct YesNoFuncTable * ptrs);
|
||||||
|
void sub_810BB14(u8 taskId, const struct YesNoFuncTable * ptrs);
|
||||||
|
void sub_810BB40(void);
|
||||||
|
void sub_810BB74(u8 windowId);
|
||||||
|
|
||||||
|
#endif //GUARD_BAG_H
|
||||||
@@ -7,6 +7,18 @@
|
|||||||
|
|
||||||
// Exported RAM declarations
|
// Exported RAM declarations
|
||||||
|
|
||||||
|
struct BagStruct
|
||||||
|
{
|
||||||
|
void (*bagCallback)(void);
|
||||||
|
u8 location;
|
||||||
|
u8 pocket;
|
||||||
|
u16 unk6;
|
||||||
|
u8 cursorPosition[6];
|
||||||
|
u8 scrollPosition[6];
|
||||||
|
};
|
||||||
|
|
||||||
|
extern struct BagStruct gUnknown_203ACFC;
|
||||||
|
|
||||||
extern u16 gSpecialVar_ItemId;
|
extern u16 gSpecialVar_ItemId;
|
||||||
|
|
||||||
// Exported ROM declarations
|
// Exported ROM declarations
|
||||||
|
|||||||
+4
-1
@@ -212,8 +212,9 @@ SECTIONS {
|
|||||||
asm/list_menu.o(.text);
|
asm/list_menu.o(.text);
|
||||||
asm/item_menu.o(.text);
|
asm/item_menu.o(.text);
|
||||||
asm/save_location.o(.text);
|
asm/save_location.o(.text);
|
||||||
|
src/bag.o(.text);
|
||||||
asm/bag.o(.text);
|
asm/bag.o(.text);
|
||||||
asm/battle_dome_cards.o(.text);
|
asm/trainer_pokemon_sprites.o(.text);
|
||||||
asm/unk_810C3A4.o(.text);
|
asm/unk_810C3A4.o(.text);
|
||||||
src/vs_seeker.o(.text);
|
src/vs_seeker.o(.text);
|
||||||
asm/item_pc.o(.text);
|
asm/item_pc.o(.text);
|
||||||
@@ -389,6 +390,8 @@ SECTIONS {
|
|||||||
data/data_83F5738.o(.rodata);
|
data/data_83F5738.o(.rodata);
|
||||||
src/save.o(.rodata);
|
src/save.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata);
|
data/data_83FECCC.o(.rodata);
|
||||||
|
src/bag.o(.rodata);
|
||||||
|
data/trainer_pokemon_sprites.o(.rodata);
|
||||||
src/vs_seeker.o(.rodata);
|
src/vs_seeker.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.8453F6C);
|
data/data_83FECCC.o(.rodata.8453F6C);
|
||||||
src/quest_log.o(.rodata);
|
src/quest_log.o(.rodata);
|
||||||
|
|||||||
@@ -0,0 +1,243 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "task.h"
|
||||||
|
#include "palette.h"
|
||||||
|
#include "item_menu.h"
|
||||||
|
#include "text.h"
|
||||||
|
#include "window.h"
|
||||||
|
#include "text_window.h"
|
||||||
|
#include "menu_helpers.h"
|
||||||
|
#include "menu.h"
|
||||||
|
#include "money.h"
|
||||||
|
#include "bag.h"
|
||||||
|
|
||||||
|
extern const u8 gUnknown_84162E8[];
|
||||||
|
|
||||||
|
const u16 gUnknown_8453098[] = INCBIN_U16("data/bag/bag_window_pal.gbapal");
|
||||||
|
const struct TextColor gUnknown_84530B8[] = {
|
||||||
|
{0, 1, 2},
|
||||||
|
{0, 2, 3},
|
||||||
|
{0, 3, 2},
|
||||||
|
{0, 8, 9}
|
||||||
|
};
|
||||||
|
const struct WindowTemplate gUnknown_84530C4[] = {
|
||||||
|
{
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 0x0b,
|
||||||
|
.tilemapTop = 0x01,
|
||||||
|
.width = 0x12,
|
||||||
|
.height = 0x0c,
|
||||||
|
.paletteNum = 0x0f,
|
||||||
|
.baseBlock = 0x008a
|
||||||
|
}, {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 0x05,
|
||||||
|
.tilemapTop = 0x0e,
|
||||||
|
.width = 0x19,
|
||||||
|
.height = 0x06,
|
||||||
|
.paletteNum = 0x0f,
|
||||||
|
.baseBlock = 0x0162
|
||||||
|
}, {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 0x01,
|
||||||
|
.tilemapTop = 0x01,
|
||||||
|
.width = 0x09,
|
||||||
|
.height = 0x02,
|
||||||
|
.paletteNum = 0x0f,
|
||||||
|
.baseBlock = 0x01f8
|
||||||
|
}, DUMMY_WIN_TEMPLATE
|
||||||
|
};
|
||||||
|
const struct WindowTemplate gUnknown_84530E4[] = {
|
||||||
|
{
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 0x0b,
|
||||||
|
.tilemapTop = 0x01,
|
||||||
|
.width = 0x12,
|
||||||
|
.height = 0x0c,
|
||||||
|
.paletteNum = 0x0f,
|
||||||
|
.baseBlock = 0x008a
|
||||||
|
}, {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 0x05,
|
||||||
|
.tilemapTop = 0x0e,
|
||||||
|
.width = 0x19,
|
||||||
|
.height = 0x06,
|
||||||
|
.paletteNum = 0x0f,
|
||||||
|
.baseBlock = 0x0162
|
||||||
|
}, {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 0x01,
|
||||||
|
.tilemapTop = 0x01,
|
||||||
|
.width = 0x08,
|
||||||
|
.height = 0x02,
|
||||||
|
.paletteNum = 0x0C,
|
||||||
|
.baseBlock = 0x01f8
|
||||||
|
}, DUMMY_WIN_TEMPLATE
|
||||||
|
};
|
||||||
|
const struct WindowTemplate gUnknown_8453104[] = {
|
||||||
|
{
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 24,
|
||||||
|
.tilemapTop = 15,
|
||||||
|
.width = 5,
|
||||||
|
.height = 4,
|
||||||
|
.paletteNum = 0xF,
|
||||||
|
.baseBlock = 0x242
|
||||||
|
}, {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 17,
|
||||||
|
.tilemapTop = 9,
|
||||||
|
.width = 12,
|
||||||
|
.height = 4,
|
||||||
|
.paletteNum = 0xF,
|
||||||
|
.baseBlock = 0x242
|
||||||
|
}, {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 1,
|
||||||
|
.tilemapTop = 1,
|
||||||
|
.width = 8,
|
||||||
|
.height = 3,
|
||||||
|
.paletteNum = 0xC,
|
||||||
|
.baseBlock = 0x272
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct WindowTemplate gUnknown_845311C = {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 23,
|
||||||
|
.tilemapTop = 15,
|
||||||
|
.width = 6,
|
||||||
|
.height = 4,
|
||||||
|
.paletteNum = 0xF,
|
||||||
|
.baseBlock = 0x28a
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct WindowTemplate gUnknown_8453124 = {
|
||||||
|
.priority = 0,
|
||||||
|
.tilemapLeft = 21,
|
||||||
|
.tilemapTop = 9,
|
||||||
|
.width = 6,
|
||||||
|
.height = 4,
|
||||||
|
.paletteNum = 0xF,
|
||||||
|
.baseBlock = 0x28a
|
||||||
|
};
|
||||||
|
|
||||||
|
EWRAM_DATA u8 gUnknown_203AD34[11] = {};
|
||||||
|
|
||||||
|
void sub_810B858(void)
|
||||||
|
{
|
||||||
|
u8 i;
|
||||||
|
|
||||||
|
if (gUnknown_203ACFC.location != 3)
|
||||||
|
InitWindows(gUnknown_84530C4);
|
||||||
|
else
|
||||||
|
InitWindows(gUnknown_84530E4);
|
||||||
|
DeactivateAllTextPrinters();
|
||||||
|
sub_815001C(0, 0x64, 0xE0);
|
||||||
|
sub_814FEAC(0, 0x6D, 0xD0);
|
||||||
|
sub_814FF2C(0, 0x81, 0xC0);
|
||||||
|
LoadPalette(gUnknown_8453098, 0xF0, 0x20);
|
||||||
|
for (i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
FillWindowPixelBuffer(i, 0x00);
|
||||||
|
PutWindowTilemap(i);
|
||||||
|
}
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
for (i = 0; i < 11; i++)
|
||||||
|
{
|
||||||
|
gUnknown_203AD34[i] = 0xFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx)
|
||||||
|
{
|
||||||
|
AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810B958(const u8 * str)
|
||||||
|
{
|
||||||
|
u32 x = 0x48 - GetStringWidth(1, str, 0);
|
||||||
|
box_print(2, 1, x / 2, 1, &gUnknown_84530B8[0], 0, str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810B994(void)
|
||||||
|
{
|
||||||
|
u32 x;
|
||||||
|
SetWindowBorderStyle(2, FALSE, 0x081, 0x0C);
|
||||||
|
x = 0x40 - GetStringWidth(0, gUnknown_84162E8, 0);
|
||||||
|
AddTextPrinterParameterized(2, 0, gUnknown_84162E8, x / 2, 1, 0, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_810B9DC(u8 a0, u8 a1)
|
||||||
|
{
|
||||||
|
if (gUnknown_203AD34[a0] == 0xFF)
|
||||||
|
{
|
||||||
|
gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0 + a1]);
|
||||||
|
if (a0 != 6)
|
||||||
|
{
|
||||||
|
SetWindowBorderStyle(gUnknown_203AD34[a0], FALSE, 0x064, 0x0E);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetWindowBorderStyle(gUnknown_203AD34[a0], FALSE, 0x081, 0x0C);
|
||||||
|
}
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
}
|
||||||
|
return gUnknown_203AD34[a0];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810BA3C(u8 a0)
|
||||||
|
{
|
||||||
|
sub_810F4D8(gUnknown_203AD34[a0], FALSE);
|
||||||
|
ClearWindowTilemap(gUnknown_203AD34[a0]);
|
||||||
|
RemoveWindow(gUnknown_203AD34[a0]);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
gUnknown_203AD34[a0] = 0xFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_810BA70(u8 a0)
|
||||||
|
{
|
||||||
|
if (gUnknown_203AD34[a0] == 0xFF)
|
||||||
|
{
|
||||||
|
gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0]);
|
||||||
|
}
|
||||||
|
return gUnknown_203AD34[a0];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810BA9C(u8 a0)
|
||||||
|
{
|
||||||
|
if (gUnknown_203AD34[a0] != 0xFF)
|
||||||
|
{
|
||||||
|
sub_810F260(gUnknown_203AD34[a0], FALSE);
|
||||||
|
ClearWindowTilemap(gUnknown_203AD34[a0]);
|
||||||
|
RemoveWindow(gUnknown_203AD34[a0]);
|
||||||
|
PutWindowTilemap(1);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(0);
|
||||||
|
gUnknown_203AD34[a0] = 0xFF;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
u8 sub_810BAD8(u8 a0)
|
||||||
|
{
|
||||||
|
return gUnknown_203AD34[a0];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810BAE8(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||||
|
{
|
||||||
|
CreateYesNoMenuWithCallbacks(taskId, &gUnknown_845311C, 2, 0, 2, 0x64, 0x0E, ptrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810BB14(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||||
|
{
|
||||||
|
CreateYesNoMenuWithCallbacks(taskId, &gUnknown_8453124, 2, 0, 2, 0x064, 0x0E, ptrs);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810BB40(void)
|
||||||
|
{
|
||||||
|
PrintMoneyAmountInMoneyBoxWithBorder(sub_810B9DC(2, 0), 0x081, 0x0C, GetMoney(&gSaveBlock1Ptr->money));
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810BB74(u8 windowId)
|
||||||
|
{
|
||||||
|
DrawTextBorderOuter(windowId, 0x064, 0x0E);
|
||||||
|
}
|
||||||
+3
-2
@@ -1343,9 +1343,10 @@ gUnknown_203AD2C: @ 203AD2C
|
|||||||
gSpecialVar_ItemId: @ 203AD30
|
gSpecialVar_ItemId: @ 203AD30
|
||||||
.space 0x4
|
.space 0x4
|
||||||
|
|
||||||
gUnknown_203AD34: @ 203AD34
|
.align 2
|
||||||
.space 0xC
|
.include "src/bag.o"
|
||||||
|
|
||||||
|
.align 2
|
||||||
gUnknown_203AD40: @ 203AD40
|
gUnknown_203AD40: @ 203AD40
|
||||||
.space 0x18
|
.space 0x18
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user