finished buy_menu_helpers
This commit is contained in:
@@ -1,220 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_813F66C
|
||||
sub_813F66C: @ 813F66C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
cmp r4, 0x1
|
||||
beq _0813F680
|
||||
ldr r0, _0813F67C @ =gUnknown_8464804
|
||||
bl InitWindows
|
||||
b _0813F686
|
||||
.align 2, 0
|
||||
_0813F67C: .4byte gUnknown_8464804
|
||||
_0813F680:
|
||||
ldr r0, _0813F6CC @ =gUnknown_846483C
|
||||
bl InitWindows
|
||||
_0813F686:
|
||||
bl DeactivateAllTextPrinters
|
||||
movs r0, 0
|
||||
movs r1, 0x1
|
||||
movs r2, 0xD0
|
||||
bl TextWindow_SetUserSelectedFrame
|
||||
movs r0, 0
|
||||
movs r1, 0x13
|
||||
movs r2, 0xE0
|
||||
bl TextWindow_LoadResourcesStdFrame0
|
||||
movs r0, 0
|
||||
movs r1, 0xA
|
||||
movs r2, 0xF0
|
||||
bl TextWindow_SetStdFrame0_WithPal
|
||||
movs r0, 0
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0x4
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0x5
|
||||
bl PutWindowTilemap
|
||||
cmp r4, 0x1
|
||||
bne _0813F6C4
|
||||
movs r0, 0x6
|
||||
bl PutWindowTilemap
|
||||
_0813F6C4:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0813F6CC: .4byte gUnknown_846483C
|
||||
thumb_func_end sub_813F66C
|
||||
|
||||
thumb_func_start sub_813F6D0
|
||||
sub_813F6D0: @ 813F6D0
|
||||
push {lr}
|
||||
ldr r0, _0813F6F0 @ =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xA4
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
bl GetMoney
|
||||
adds r3, r0, 0
|
||||
movs r0, 0
|
||||
movs r1, 0xA
|
||||
movs r2, 0xF
|
||||
bl PrintMoneyAmountInMoneyBoxWithBorder
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0813F6F0: .4byte gSaveBlock1Ptr
|
||||
thumb_func_end sub_813F6D0
|
||||
|
||||
thumb_func_start sub_813F6F4
|
||||
sub_813F6F4: @ 813F6F4
|
||||
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, _0813F758 @ =gUnknown_8464884
|
||||
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 AddTextPrinterParameterized4
|
||||
add sp, 0x14
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0813F758: .4byte gUnknown_8464884
|
||||
thumb_func_end sub_813F6F4
|
||||
|
||||
thumb_func_start sub_813F75C
|
||||
sub_813F75C: @ 813F75C
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
sub sp, 0x10
|
||||
adds r5, r0, 0
|
||||
adds r6, r1, 0
|
||||
mov r8, r2
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
bl sub_809B56C
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl GetTextSpeedSetting
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r4, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
str r6, [sp, 0x8]
|
||||
mov r0, r8
|
||||
str r0, [sp, 0xC]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
movs r2, 0x13
|
||||
movs r3, 0xE
|
||||
bl DisplayMessageAndContinueTask
|
||||
movs r0, 0
|
||||
bl ScheduleBgCopyTilemapToVram
|
||||
add sp, 0x10
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_813F75C
|
||||
|
||||
thumb_func_start sub_813F7A8
|
||||
sub_813F7A8: @ 813F7A8
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
movs r2, 0x1
|
||||
movs r3, 0xD
|
||||
bl SetWindowBorderStyle
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_813F7A8
|
||||
|
||||
thumb_func_start sub_813F7C0
|
||||
sub_813F7C0: @ 813F7C0
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
movs r2, 0xA
|
||||
movs r3, 0xF
|
||||
bl SetWindowBorderStyle
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_813F7C0
|
||||
|
||||
thumb_func_start sub_813F7D8
|
||||
sub_813F7D8: @ 813F7D8
|
||||
push {lr}
|
||||
sub sp, 0x10
|
||||
adds r3, r1, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, _0813F800 @ =gUnknown_846487C
|
||||
movs r2, 0x2
|
||||
str r2, [sp]
|
||||
movs r2, 0x1
|
||||
str r2, [sp, 0x4]
|
||||
movs r2, 0xD
|
||||
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
|
||||
_0813F800: .4byte gUnknown_846487C
|
||||
thumb_func_end sub_813F7D8
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
+20
-20
@@ -572,7 +572,7 @@ _0809AEAC:
|
||||
ldrb r0, [r0, 0x16]
|
||||
lsls r0, 28
|
||||
lsrs r0, 28
|
||||
bl sub_813F66C
|
||||
bl BuyMenuInitWindows
|
||||
bl sub_809B080
|
||||
b _0809AF5E
|
||||
.align 2, 0
|
||||
@@ -819,7 +819,7 @@ sub_809B15C: @ 809B15C
|
||||
push {lr}
|
||||
bl sub_809B764
|
||||
bl sub_809BAFC
|
||||
bl sub_813F6D0
|
||||
bl BuyMenuDrawMoneyBox
|
||||
movs r0, 0
|
||||
bl ScheduleBgCopyTilemapToVram
|
||||
movs r0, 0x1
|
||||
@@ -1116,7 +1116,7 @@ _0809B398:
|
||||
movs r1, 0x2
|
||||
adds r2, r7, 0
|
||||
movs r3, 0
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
b _0809B400
|
||||
.align 2, 0
|
||||
_0809B3D0: .4byte 0x00000177
|
||||
@@ -1138,7 +1138,7 @@ _0809B3D8:
|
||||
movs r1, 0x2
|
||||
adds r2, r7, 0
|
||||
movs r3, 0x2
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
_0809B400:
|
||||
add sp, 0x14
|
||||
pop {r4-r7}
|
||||
@@ -1204,7 +1204,7 @@ _0809B45C:
|
||||
adds r0, r6, 0
|
||||
movs r1, 0
|
||||
movs r3, 0x69
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
_0809B480:
|
||||
add sp, 0x14
|
||||
pop {r4-r6}
|
||||
@@ -1251,7 +1251,7 @@ sub_809B494: @ 809B494
|
||||
movs r1, 0
|
||||
adds r2, r5, 0
|
||||
movs r3, 0
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
lsls r0, r7, 16
|
||||
lsrs r0, 16
|
||||
bl ItemIdToBattleMoveId
|
||||
@@ -1273,7 +1273,7 @@ sub_809B494: @ 809B494
|
||||
movs r1, 0x2
|
||||
adds r2, r5, 0
|
||||
movs r3, 0
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
b _0809B55C
|
||||
.align 2, 0
|
||||
_0809B514: .4byte gStringVar1
|
||||
@@ -1294,7 +1294,7 @@ _0809B528:
|
||||
movs r0, 0x6
|
||||
movs r1, 0
|
||||
movs r3, 0
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
ldr r2, _0809B568 @ =gUnknown_8416217
|
||||
movs r0, 0x10
|
||||
str r0, [sp]
|
||||
@@ -1305,7 +1305,7 @@ _0809B528:
|
||||
movs r0, 0x6
|
||||
movs r1, 0x2
|
||||
movs r3, 0
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
_0809B55C:
|
||||
add sp, 0x14
|
||||
pop {r4-r7}
|
||||
@@ -1388,7 +1388,7 @@ _0809B5E0:
|
||||
movs r0, 0x4
|
||||
movs r1, 0x2
|
||||
movs r3, 0x1
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
_0809B5F8:
|
||||
add sp, 0x14
|
||||
pop {r4,r5}
|
||||
@@ -2134,7 +2134,7 @@ sub_809BB44: @ 809BB44
|
||||
movs r1, 0
|
||||
adds r2, r4, 0
|
||||
movs r3, 0x2
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
add sp, 0x14
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
@@ -2223,7 +2223,7 @@ _0809BC1A:
|
||||
ldr r1, _0809BC74 @ =gUnknown_8416842
|
||||
ldr r2, _0809BC78 @ =sub_809BF98
|
||||
adds r0, r6, 0
|
||||
bl sub_813F75C
|
||||
bl BuyMenuDisplayMessage
|
||||
b _0809BC8E
|
||||
.align 2, 0
|
||||
_0809BC70: .4byte gSaveBlock1Ptr
|
||||
@@ -2236,7 +2236,7 @@ _0809BC7C:
|
||||
ldr r1, _0809BC98 @ =gUnknown_8416766
|
||||
ldr r2, _0809BC9C @ =sub_809BCA0
|
||||
adds r0, r6, 0
|
||||
bl sub_813F75C
|
||||
bl BuyMenuDisplayMessage
|
||||
_0809BC8E:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
@@ -2265,7 +2265,7 @@ sub_809BCA0: @ 809BCA0
|
||||
lsrs r4, 16
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
bl sub_813F7C0
|
||||
bl BuyMenuQuantityBoxThinBorder
|
||||
ldr r0, _0809BD44 @ =gStringVar1
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x1
|
||||
@@ -2287,11 +2287,11 @@ sub_809BCA0: @ 809BCA0
|
||||
movs r1, 0x2
|
||||
adds r2, r6, 0
|
||||
movs r3, 0
|
||||
bl sub_813F6F4
|
||||
bl BuyMenuPrint
|
||||
strh r4, [r5, 0x2]
|
||||
movs r0, 0x3
|
||||
movs r1, 0
|
||||
bl sub_813F7A8
|
||||
bl BuyMenuQuantityBoxNormalBorder
|
||||
adds r0, r7, 0
|
||||
bl sub_809BB44
|
||||
movs r0, 0
|
||||
@@ -2423,7 +2423,7 @@ _0809BDD4:
|
||||
ldr r1, _0809BE4C @ =gUnknown_841678E
|
||||
ldr r2, _0809BE50 @ =sub_809BE90
|
||||
adds r0, r5, 0
|
||||
bl sub_813F75C
|
||||
bl BuyMenuDisplayMessage
|
||||
b _0809BE88
|
||||
.align 2, 0
|
||||
_0809BE3C: .4byte gMain
|
||||
@@ -2464,7 +2464,7 @@ sub_809BE90: @ 809BE90
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r1, _0809BEA0 @ =gUnknown_83DF0B4
|
||||
bl sub_813F7D8
|
||||
bl BuyMenuConfirmPurchase
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
@@ -2493,7 +2493,7 @@ sub_809BEA4: @ 809BEA4
|
||||
ldr r1, _0809BEEC @ =gUnknown_84167E7
|
||||
ldr r2, _0809BEF0 @ =sub_809BF0C
|
||||
adds r0, r5, 0
|
||||
bl sub_813F75C
|
||||
bl BuyMenuDisplayMessage
|
||||
adds r0, r5, 0
|
||||
bl nullsub_52
|
||||
ldrh r0, [r4, 0xA]
|
||||
@@ -2509,7 +2509,7 @@ _0809BEF4:
|
||||
ldr r1, _0809BF04 @ =gUnknown_8416861
|
||||
ldr r2, _0809BF08 @ =sub_809BF98
|
||||
adds r0, r5, 0
|
||||
bl sub_813F75C
|
||||
bl BuyMenuDisplayMessage
|
||||
_0809BEFE:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnknown_8464804:: @ 8464804
|
||||
.incbin "baserom.gba", 0x464804, 0x38
|
||||
|
||||
gUnknown_846483C:: @ 846483C
|
||||
.incbin "baserom.gba", 0x46483C, 0x40
|
||||
|
||||
gUnknown_846487C:: @ 846487C
|
||||
.incbin "baserom.gba", 0x46487C, 0x8
|
||||
|
||||
gUnknown_8464884:: @ 8464884
|
||||
.incbin "baserom.gba", 0x464884, 0xC
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_SHOP_H
|
||||
|
||||
#include "global.h"
|
||||
#include "menu_helpers.h"
|
||||
|
||||
extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3];
|
||||
|
||||
@@ -9,5 +10,15 @@ void CreatePokemartMenu(const u16 *);
|
||||
void CreateDecorationShop1Menu(const u16 *);
|
||||
void CreateDecorationShop2Menu(const u16 *);
|
||||
void sub_809C09C(u16, u16, u8);
|
||||
u8 sub_809B56C(void);
|
||||
|
||||
// buy_menu_helper
|
||||
void BuyMenuInitWindows(bool32 isSellingTM);
|
||||
void BuyMenuDrawMoneyBox(void);
|
||||
void BuyMenuPrint(u8 windowId, u8 font, const u8 *text, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 color);
|
||||
void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback);
|
||||
void BuyMenuQuantityBoxNormalBorder(u8 windowId, bool8 copyToVram);
|
||||
void BuyMenuQuantityBoxThinBorder(u8 windowId, bool8 copyToVram);
|
||||
void BuyMenuConfirmPurchase(u8 taskId, const struct YesNoFuncTable *yesNo);
|
||||
|
||||
#endif // GUARD_SHOP_H
|
||||
|
||||
+2
-2
@@ -254,7 +254,7 @@ SECTIONS {
|
||||
asm/unk_text_util.o(.text);
|
||||
asm/berry_pouch.o(.text);
|
||||
asm/itemfinder.o(.text);
|
||||
asm/buy_menu_helpers.o(.text);
|
||||
src/buy_menu_helpers.o(.text);
|
||||
asm/slot_machine.o(.text);
|
||||
src/roamer.o(.text);
|
||||
src/mystery_gift_menu.o(.text);
|
||||
@@ -445,7 +445,7 @@ SECTIONS {
|
||||
data/unk_text_util.o(.rodata);
|
||||
data/berry_pouch.o(.rodata);
|
||||
data/itemfinder.o(.rodata);
|
||||
data/buy_menu_helpers.o(.rodata);
|
||||
src/buy_menu_helpers.o(.rodata);
|
||||
data/slot_machine.o(.rodata);
|
||||
src/roamer.o(.rodata);
|
||||
src/mystery_gift_menu.o(.rodata);
|
||||
|
||||
@@ -0,0 +1,216 @@
|
||||
#include "global.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
#include "window.h"
|
||||
#include "text_window.h"
|
||||
#include "money.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "menu.h"
|
||||
#include "shop.h"
|
||||
|
||||
static const struct WindowTemplate sShopBuyMenuWindowTemplatesNormal[] =
|
||||
{
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x8,
|
||||
.height = 0x3,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x27,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0xB,
|
||||
.width = 0xD,
|
||||
.height = 0x2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x3F,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x2,
|
||||
.tilemapTop = 0xF,
|
||||
.width = 0x1A,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0x59,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x11,
|
||||
.tilemapTop = 0x9,
|
||||
.width = 0xC,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0xC1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0xB,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x11,
|
||||
.height = 0xC,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0xF1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x5,
|
||||
.tilemapTop = 0xE,
|
||||
.width = 0x19,
|
||||
.height = 0x6,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x1BD,
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
};
|
||||
|
||||
// firered uses different layout when selling TMs
|
||||
static const struct WindowTemplate sShopBuyMenuWindowTemplatesTM[] =
|
||||
{
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x8,
|
||||
.height = 0x3,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x27,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0xB,
|
||||
.width = 0xD,
|
||||
.height = 0x2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x3F,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x2,
|
||||
.tilemapTop = 0xF,
|
||||
.width = 0x1A,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0x59,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x11,
|
||||
.tilemapTop = 0x9,
|
||||
.width = 0xC,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0xC1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0xB,
|
||||
.tilemapTop = 0x1,
|
||||
.width = 0x11,
|
||||
.height = 0xA,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0xF1,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0xC,
|
||||
.tilemapTop = 0xC,
|
||||
.width = 0x12,
|
||||
.height = 0x8,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0x19B,
|
||||
},
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x1,
|
||||
.tilemapTop = 0xE,
|
||||
.width = 0xA,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0x22B,
|
||||
},
|
||||
DUMMY_WIN_TEMPLATE,
|
||||
};
|
||||
|
||||
static const struct WindowTemplate sShopBuyMenuYesNoWindowTemplate =
|
||||
{
|
||||
.bg = 0x0,
|
||||
.tilemapLeft = 0x15,
|
||||
.tilemapTop = 0x9,
|
||||
.width = 0x6,
|
||||
.height = 0x4,
|
||||
.paletteNum = 0xE,
|
||||
.baseBlock = 0xC1,
|
||||
};
|
||||
|
||||
static const struct TextColor sShopBuyMenuTextColors[] =
|
||||
{
|
||||
{
|
||||
.fgColor = 0,
|
||||
.bgColor = 1,
|
||||
.shadowColor = 2,
|
||||
},
|
||||
{
|
||||
.fgColor = 0,
|
||||
.bgColor = 2,
|
||||
.shadowColor = 3,
|
||||
},
|
||||
{
|
||||
.fgColor = 0,
|
||||
.bgColor = 3,
|
||||
.shadowColor = 2,
|
||||
},
|
||||
};
|
||||
|
||||
void BuyMenuInitWindows(bool32 isSellingTM)
|
||||
{
|
||||
if (isSellingTM != TRUE)
|
||||
InitWindows(sShopBuyMenuWindowTemplatesNormal);
|
||||
else
|
||||
InitWindows(sShopBuyMenuWindowTemplatesTM);
|
||||
DeactivateAllTextPrinters();
|
||||
TextWindow_SetUserSelectedFrame(0, 0x1, 0xD0);
|
||||
TextWindow_LoadResourcesStdFrame0(0, 0x13, 0xE0);
|
||||
TextWindow_SetStdFrame0_WithPal(0, 0xA, 0xF0);
|
||||
PutWindowTilemap(0);
|
||||
PutWindowTilemap(4);
|
||||
PutWindowTilemap(5);
|
||||
if (isSellingTM == TRUE)
|
||||
PutWindowTilemap(6);
|
||||
}
|
||||
|
||||
void BuyMenuDrawMoneyBox(void)
|
||||
{
|
||||
PrintMoneyAmountInMoneyBoxWithBorder(0, 0xA, 0xF, GetMoney(&gSaveBlock1Ptr->money));
|
||||
}
|
||||
|
||||
void BuyMenuPrint(u8 windowId, u8 font, const u8 *text, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 color)
|
||||
{
|
||||
AddTextPrinterParameterized4(windowId, font, x, y, letterSpacing, lineSpacing, &sShopBuyMenuTextColors[color], speed, text);
|
||||
}
|
||||
|
||||
void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback)
|
||||
{
|
||||
DisplayMessageAndContinueTask(taskId, 2, 0x13, 0xE, sub_809B56C(), GetTextSpeedSetting(), text, callback);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
|
||||
void BuyMenuQuantityBoxNormalBorder(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
SetWindowBorderStyle(windowId, copyToVram, 0x1, 0xD);
|
||||
}
|
||||
|
||||
void BuyMenuQuantityBoxThinBorder(u8 windowId, bool8 copyToVram)
|
||||
{
|
||||
SetWindowBorderStyle(windowId, copyToVram, 0xA, 0xF);
|
||||
}
|
||||
|
||||
void BuyMenuConfirmPurchase(u8 taskId, const struct YesNoFuncTable *yesNo)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sShopBuyMenuYesNoWindowTemplate, 2, 0, 2, 1, 0xD, yesNo);
|
||||
}
|
||||
Reference in New Issue
Block a user