-7021
File diff suppressed because it is too large
Load Diff
@@ -22001,7 +22001,7 @@ GetItemIconPic: @ 8096674
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0
|
||||
bl sub_8098974
|
||||
bl GetItemIconGfxPtr
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end GetItemIconPic
|
||||
@@ -22012,7 +22012,7 @@ GetItemIconPalette: @ 8096684
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x1
|
||||
bl sub_8098974
|
||||
bl GetItemIconGfxPtr
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end GetItemIconPalette
|
||||
|
||||
@@ -1537,7 +1537,7 @@ EventScript_1A778C:: @ 81A778C
|
||||
releaseall
|
||||
end
|
||||
|
||||
gUnknown_81A77A0:: @ 81A77A0
|
||||
EventScript_BagItemCanBeRegistered:: @ 81A77A0
|
||||
msgbox Text_BagItemCanBeRegistered, MSGBOX_SIGN
|
||||
end
|
||||
|
||||
|
||||
+4
-4
@@ -13476,7 +13476,7 @@ gTrainerBackPic_Leaf:: @ 8E6C6BC
|
||||
.incbin "graphics/trainers/back_pics/leaf_back_pic.4bpp"
|
||||
|
||||
.align 2
|
||||
gTrainerBackPic_PokeDude:: @ 8E6EEBC
|
||||
gTrainerBackPic_Pokedude:: @ 8E6EEBC
|
||||
.incbin "graphics/trainers/back_pics/pokedude_back_pic.4bpp"
|
||||
|
||||
.align 2
|
||||
@@ -13500,7 +13500,7 @@ gTrainerPalette_LeafBackPic:: @ 8E76EE4
|
||||
.incbin "graphics/trainers/palettes/red_back_pic.gbapal.lz"
|
||||
|
||||
.align 2
|
||||
gTrainerPalette_PokeDudeBackPic:: @ 8E76F0C
|
||||
gTrainerPalette_PokedudeBackPic:: @ 8E76F0C
|
||||
.incbin "graphics/trainers/palettes/pokedude_back_pic.gbapal.lz"
|
||||
|
||||
.align 2
|
||||
@@ -14004,11 +14004,11 @@ gUnknown_8E83444:: @ 8E83444
|
||||
.incbin "graphics/item_menu/bag_tilemap2.bin.lz" @ PC deposit items
|
||||
|
||||
.align 2
|
||||
gUnknown_8E835B4:: @ 8E835B4
|
||||
gBagBgPalette:: @ 8E835B4
|
||||
.incbin "graphics/item_menu/bag_pal1.gbapal.lz" @ palette 1 (Boy + misc Pal)
|
||||
|
||||
.align 2
|
||||
gUnknown_8E83604:: @ 8E83604
|
||||
gBagBgPalette_FemaleOverride:: @ 8E83604
|
||||
.incbin "graphics/item_menu/bag_pal2.gbapal.lz" @ palette 2 (Girl)
|
||||
|
||||
gUnknown_8E8362C:: @ 8E8362C
|
||||
|
||||
@@ -1,116 +0,0 @@
|
||||
#include "constants/region_map.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/moves.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnknown_8452CF4:: @ 8452CF4
|
||||
.4byte 0x000001f0
|
||||
@ {
|
||||
@ .bg = 0,
|
||||
@ .charBaseIndex = 0,
|
||||
@ .mapBaseIndex = 31,
|
||||
@ .screenSize = 0,
|
||||
@ .paletteMode = 0,
|
||||
@ .priority = 0,
|
||||
@ .baseTile = 0x0000
|
||||
@ }
|
||||
.4byte 0x000011ed
|
||||
@ {
|
||||
@ .bg = 1,
|
||||
@ .charBaseIndex = 3,
|
||||
@ .mapBaseIndex = 30,
|
||||
@ .screenSize = 0,
|
||||
@ .paletteMode = 0,
|
||||
@ .priority = 1,
|
||||
@ .baseTile = 0x0000
|
||||
@ }
|
||||
|
||||
gUnknown_8452CFC:: @ 8452CFC
|
||||
.4byte gUnknown_84162CD
|
||||
.4byte gUnknown_84162DE
|
||||
.4byte gUnknown_84162D3
|
||||
|
||||
gUnknown_8452D08:: @ 8452D08
|
||||
.incbin "graphics/item_menu/bagmap_0.bin"
|
||||
.incbin "graphics/item_menu/bagmap_1.bin"
|
||||
.incbin "graphics/item_menu/bagmap_2.bin"
|
||||
.incbin "graphics/item_menu/bagmap_3.bin"
|
||||
.incbin "graphics/item_menu/bagmap_4.bin"
|
||||
.incbin "graphics/item_menu/bagmap_5.bin"
|
||||
.incbin "graphics/item_menu/bagmap_6.bin"
|
||||
.incbin "graphics/item_menu/bagmap_7.bin"
|
||||
.incbin "graphics/item_menu/bagmap_8.bin"
|
||||
.incbin "graphics/item_menu/bagmap_9.bin"
|
||||
.incbin "graphics/item_menu/bagmap_A.bin"
|
||||
.incbin "graphics/item_menu/bagmap_B.bin"
|
||||
|
||||
gUnknown_8452EB8:: @ 8452EB8
|
||||
.4byte gOtherText_Use, sub_8109C50
|
||||
.4byte gOtherText_Toss, sub_8109CC0
|
||||
.4byte gUnknown_84161A9, sub_810A000
|
||||
.4byte gOtherText_Give, sub_810A0A8
|
||||
.4byte gFameCheckerText_Cancel, sub_810A2DC
|
||||
.4byte gOtherText_Use, sub_810A324
|
||||
.4byte gUnknown_84161E9, sub_8109C50
|
||||
.4byte gUnknown_84161F4, sub_8109C50
|
||||
.4byte gUnknown_84161F4, sub_810A324
|
||||
.4byte gUnknown_84161BC, sub_8109C50
|
||||
.4byte gUnknown_84161F9, sub_810A000
|
||||
.4byte gString_Dummy, NULL
|
||||
|
||||
gUnknown_8452F18:: @ 8452F18
|
||||
.byte 0x00, 0x03, 0x01, 0x04
|
||||
.byte 0x00, 0x02, 0x04, 0x0b
|
||||
.byte 0x03, 0x01, 0x04, 0x0b
|
||||
|
||||
gUnknown_8452F24:: @ 8452F24
|
||||
.byte 0x06, 0x03, 0x01, 0x04
|
||||
|
||||
gUnknown_8452F28:: @ 8452F28
|
||||
.byte 0x03, 0x04
|
||||
.byte 0x04, 0x0b
|
||||
.byte 0x03, 0x04
|
||||
|
||||
gUnknown_8452F2E:: @ 8452F2E
|
||||
.byte 0x07, 0x04
|
||||
|
||||
gUnknown_8452F30:: @ 8452F30
|
||||
.byte 0x05, 0x04
|
||||
|
||||
gUnknown_8452F32:: @ 8452F32
|
||||
.byte 0x04, 0x0b
|
||||
|
||||
gUnknown_8452F34:: @ 8452F34
|
||||
.4byte sub_8109BB8
|
||||
.4byte sub_810A370
|
||||
.4byte sub_810A568
|
||||
.4byte sub_810AB40
|
||||
.4byte sub_810A468
|
||||
.4byte sub_8109BB8
|
||||
.4byte NULL
|
||||
|
||||
gUnknown_8452F50:: @ 8452F50
|
||||
.4byte sub_8109EA8
|
||||
.4byte sub_8109DB0
|
||||
|
||||
gUnknown_8452F58:: @ 8452F58
|
||||
.4byte sub_810A940
|
||||
.4byte sub_810A720
|
||||
|
||||
gUnknown_8452F60:: @ 8452F60
|
||||
.string "{COLOR_HIGHLIGHT_SHADOW RED TRANSPARENT GREEN}$"
|
||||
|
||||
gUnknown_8452F66:: @ 8452F66
|
||||
.string "{COLOR_HIGHLIGHT_SHADOW LIGHT_GRAY TRANSPARENT BLACK}$"
|
||||
|
||||
gUnknown_8452F6C:: @ 8452F6C
|
||||
.byte 0, 8, 72, 1, 72, 72
|
||||
.2byte 0, 2, 111, 111
|
||||
.byte 0
|
||||
.align 2
|
||||
|
||||
gUnknown_8452F7C:: @ 8452F7C
|
||||
.incbin "graphics/interface/select_button.4bpp"
|
||||
+13
-13
@@ -411,7 +411,7 @@ gOtherText_Use::
|
||||
gOtherText_Toss::
|
||||
.string "TOSS$"
|
||||
|
||||
gUnknown_84161A9::
|
||||
gOtherText_Register::
|
||||
.string "REGISTER$"
|
||||
|
||||
gOtherText_Give::
|
||||
@@ -420,7 +420,7 @@ gOtherText_Give::
|
||||
gUnknown_84161B7::
|
||||
.string "けってい$"
|
||||
|
||||
gUnknown_84161BC::
|
||||
gOtherText_Walk::
|
||||
.string "WALK$"
|
||||
|
||||
gFameCheckerText_Cancel:: @ 84161C1
|
||||
@@ -447,16 +447,16 @@ gText_Take::
|
||||
gText_Store::
|
||||
.string "STORE$"
|
||||
|
||||
gUnknown_84161E9::
|
||||
gOtherText_Check::
|
||||
.string "CHECK$"
|
||||
|
||||
gUnknown_84161EF:: @ 84161EF
|
||||
.string "NONE$"
|
||||
|
||||
gUnknown_84161F4::
|
||||
gOtherText_Open::
|
||||
.string "OPEN$"
|
||||
|
||||
gUnknown_84161F9::
|
||||
gOtherText_Deselect::
|
||||
.string "DESELECT$"
|
||||
|
||||
gUnknown_8416202:: @ 8416202
|
||||
@@ -555,19 +555,19 @@ gUnknown_84162BD:: @ 84162BD
|
||||
gText_Coins:: @ 84162C4
|
||||
.string "{STR_VAR_1} COINS$"
|
||||
|
||||
gUnknown_84162CD:: @ 0x84162CD
|
||||
gText_Items2:: @ 0x84162CD
|
||||
.string "ITEMS$"
|
||||
|
||||
gUnknown_84162D3:: @ 0x84162D3
|
||||
gText_PokeBalls2:: @ 0x84162D3
|
||||
.string "POKé BALLS$"
|
||||
|
||||
gUnknown_84162DE:: @ 0x84162DE
|
||||
gText_KeyItems2:: @ 0x84162DE
|
||||
.string "KEY ITEMS$"
|
||||
|
||||
gText_DepositItem:: @ 84162E8
|
||||
.string "DEPOSIT ITEM$"
|
||||
|
||||
gUnknown_84162F5:: @ 84162F5
|
||||
gText_CloseBag:: @ 84162F5
|
||||
.string "CLOSE BAG$"
|
||||
|
||||
gOtherText_StrVar1:: @ 84162FF
|
||||
@@ -577,7 +577,7 @@ gText_IsSelected:: @ 8416301
|
||||
.string " is\n"
|
||||
.string "selected.$"
|
||||
|
||||
gUnknown_841630F:: @ 841630F
|
||||
gText_CantWriteMailHere:: @ 841630F
|
||||
.string "You can't write\n"
|
||||
.string "MAIL here.$"
|
||||
|
||||
@@ -596,15 +596,15 @@ gText_TheStrVar1CantBeHeldHere:: @ 8416374
|
||||
.string "The {STR_VAR_1} can't be held\n"
|
||||
.string "here.$"
|
||||
|
||||
gUnknown_841638F:: @ 841638F
|
||||
gText_DepositHowManyStrVars1:: @ 841638F
|
||||
.string "Deposit how many\n"
|
||||
.string "{STR_VAR_1}(s)?$"
|
||||
|
||||
gUnknown_84163A7:: @ 84163A7
|
||||
gText_DepositedStrVar2StrVar1s:: @ 84163A7
|
||||
.string "Deposited {STR_VAR_2}\n"
|
||||
.string "{STR_VAR_1}(s).$"
|
||||
|
||||
gUnknown_84163BB:: @ 84163BB
|
||||
gText_NoRoomToStoreItems:: @ 84163BB
|
||||
.string "There's no room to\n"
|
||||
.string "store items.$"
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ gTeachyTvString_RegisterItem:: @ 841B81B
|
||||
gTeachyTvString_Cancel:: @ 841B836
|
||||
.string "CANCEL$"
|
||||
|
||||
gTeachyTvText_PokeDudeSaysHello:: @ 841B83D
|
||||
gTeachyTvText_PokedudeSaysHello:: @ 841B83D
|
||||
.string "Hey, all you TRAINERS out there!\n"
|
||||
.string "HELLO, TRAINERS!\p"
|
||||
.string "……… ……… ………\p"
|
||||
@@ -164,7 +164,7 @@ gTeachyTvText_TMsScript1:: @ 841C459
|
||||
.string "You can check them out in detail,\n"
|
||||
.string "too.$"
|
||||
|
||||
gPokeDudeText_TMTypes:: @ 841C587
|
||||
gPokedudeText_TMTypes:: @ 841C587
|
||||
.string "POKé DUDE: NORMAL, WATER, GRASS…\n"
|
||||
.string "TMs also come in types.\p"
|
||||
.string "Check the type and teach it to\n"
|
||||
@@ -175,7 +175,7 @@ gPokeDudeText_TMTypes:: @ 841C587
|
||||
.string "GRASS-type POKéMON can learn.\p"
|
||||
.string "There's one other thing!$"
|
||||
|
||||
gPokeDudeText_ReadTMDescription:: @ 841C693
|
||||
gPokedudeText_ReadTMDescription:: @ 841C693
|
||||
.string "Don't just look at the type, read\n"
|
||||
.string "the description, too.\p"
|
||||
.string "It will contain hints about what\n"
|
||||
|
||||
+15
-13
@@ -1,18 +1,20 @@
|
||||
#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);
|
||||
#include "menu_helpers.h"
|
||||
|
||||
void InitBagWindows(void);
|
||||
void BagPrintTextOnWindow(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx);
|
||||
void BagPrintTextOnWin1CenteredColor0(const u8 * str, u8 unused);
|
||||
void BagDrawDepositItemTextBox(void);
|
||||
u8 ShowBagWindow(u8 whichWindow, u8 nItems);
|
||||
void HideBagWindow(u8 whichWindow);
|
||||
u8 OpenBagWindow(u8 whichWindow);
|
||||
void CloseBagWindow(u8 whichWindow);
|
||||
u8 GetBagWindow(u8 whichWindow);
|
||||
void BagCreateYesNoMenuBottomRight(u8 taskId, const struct YesNoFuncTable * ptrs);
|
||||
void BagCreateYesNoMenuTopRight(u8 taskId, const struct YesNoFuncTable * ptrs);
|
||||
void BagPrintMoneyAmount(void);
|
||||
void BagDrawTextBoxOnWindow(u8 windowId);
|
||||
|
||||
#endif //GUARD_BAG_H
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_BATTLE_CONTROLLERS_H
|
||||
|
||||
#include "global.h"
|
||||
#include "battle.h"
|
||||
|
||||
enum
|
||||
{
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef GUARD_CONSTANTS_ITEM_MENU_H
|
||||
#define GUARD_CONSTANTS_ITEM_MENU_H
|
||||
|
||||
#define OPEN_BAG_ITEMS 0
|
||||
#define OPEN_BAG_KEYITEMS 1
|
||||
#define OPEN_BAG_POKEBALLS 2
|
||||
#define OPEN_BAG_LAST 3
|
||||
|
||||
#define ITEMMENULOCATION_FIELD 0
|
||||
#define ITEMMENULOCATION_PARTY 1
|
||||
#define ITEMMENULOCATION_SHOP 2
|
||||
#define ITEMMENULOCATION_ITEMPC 3
|
||||
#define ITEMMENULOCATION_PCBOX 4
|
||||
#define ITEMMENULOCATION_BATTLE 5
|
||||
#define ITEMMENULOCATION_OLD_MAN 6
|
||||
#define ITEMMENULOCATION_TTVSCR_STATUS 7
|
||||
#define ITEMMENULOCATION_TTVSCR_CATCHING 8
|
||||
#define ITEMMENULOCATION_TTVSCR_REGISTER 9
|
||||
#define ITEMMENULOCATION_TTVSCR_TMS 10
|
||||
#define ITEMMENULOCATION_LAST 11
|
||||
|
||||
#define ITEMMENUACTION_USE 0
|
||||
#define ITEMMENUACTION_TOSS 1
|
||||
#define ITEMMENUACTION_REGISTER 2
|
||||
#define ITEMMENUACTION_GIVE 3
|
||||
#define ITEMMENUACTION_CANCEL 4
|
||||
#define ITEMMENUACTION_BATTLE_USE 5
|
||||
#define ITEMMENUACTION_CHECK 6
|
||||
#define ITEMMENUACTION_OPEN 7
|
||||
#define ITEMMENUACTION_OPEN_BERRIES 8
|
||||
#define ITEMMENUACTION_WALK 9
|
||||
#define ITEMMENUACTION_DESELECT 10
|
||||
#define ITEMMENUACTION_DUMMY 11
|
||||
|
||||
#endif //GUARD_CONSTANTS_ITEM_MENU_H
|
||||
+1
-1
@@ -57,7 +57,7 @@ extern const struct SpriteFrameImage gUnknown_82346D8[];
|
||||
extern const struct SpriteFrameImage gUnknown_82346F8[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Red[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_PokeDude[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_Pokedude[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_OldMan[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_RSBrendan[];
|
||||
extern const struct SpriteFrameImage gTrainerBackPicTable_RSMay[];
|
||||
|
||||
@@ -1195,4 +1195,6 @@ extern const u8 Text_1A5D31[];
|
||||
extern const u8 Text_1A5D6E[];
|
||||
extern const u8 Text_1A5DB1[];
|
||||
|
||||
extern const u8 EventScript_BagItemCanBeRegistered[];
|
||||
|
||||
#endif //GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#ifndef GUARD_GFLIB_H
|
||||
#define GUARD_GFLIB_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#include "bg.h"
|
||||
#include "palette.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "dma3.h"
|
||||
#include "malloc.h"
|
||||
#include "sound.h"
|
||||
#include "text.h"
|
||||
#include "sprite.h"
|
||||
#include "window.h"
|
||||
#include "blit.h"
|
||||
#include "string_util.h"
|
||||
|
||||
#endif //GUARD_GFLIB_H
|
||||
+9
-6
@@ -1,7 +1,3 @@
|
||||
//
|
||||
// Created by scott on 10/21/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_GRAPHICS_H
|
||||
#define GUARD_GRAPHICS_H
|
||||
|
||||
@@ -2656,7 +2652,7 @@ extern const u32 gTrainerPalette_RSBrendan1[];
|
||||
extern const u32 gTrainerPalette_RSMay1[];
|
||||
extern const u32 gTrainerPalette_LeafBackPic[];
|
||||
extern const u32 gTrainerPalette_RedBackPic[];
|
||||
extern const u32 gTrainerPalette_PokeDudeBackPic[];
|
||||
extern const u32 gTrainerPalette_PokedudeBackPic[];
|
||||
extern const u32 gTrainerPalette_OldManBackPic[];
|
||||
extern const u32 gTrainerPalette_PokemonBreederM[];
|
||||
extern const u32 gTrainerPalette_RSPokemonBreederF[];
|
||||
@@ -4358,7 +4354,7 @@ extern const u8 gBerryPouchBg1Tilemap[];
|
||||
|
||||
extern const u8 gTrainerBackPic_Red[];
|
||||
extern const u8 gTrainerBackPic_Leaf[];
|
||||
extern const u8 gTrainerBackPic_PokeDude[];
|
||||
extern const u8 gTrainerBackPic_Pokedude[];
|
||||
extern const u8 gTrainerBackPic_OldMan[];
|
||||
extern const u8 gTrainerBackPic_RSBrendan[];
|
||||
extern const u8 gTrainerBackPic_RSMay[];
|
||||
@@ -4861,4 +4857,11 @@ extern const u16 gBattleInterface_BallStatusBarPal[];
|
||||
extern const u16 gBattleInterface_BallDisplayPal[];
|
||||
extern const u16 gUnknown_8D12404[];
|
||||
|
||||
// item_menu
|
||||
extern const u32 gUnknown_8E830CC[];
|
||||
extern const u32 gUnknown_8E832C0[];
|
||||
extern const u32 gUnknown_8E83444[];
|
||||
extern const u32 gBagBgPalette[];
|
||||
extern const u32 gBagBgPalette_FemaleOverride[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
||||
+17
-16
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "global.h"
|
||||
#include "task.h"
|
||||
#include "constants/item_menu.h"
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
@@ -10,15 +11,15 @@
|
||||
|
||||
struct BagStruct
|
||||
{
|
||||
void (*bagCallback)(void);
|
||||
MainCallback bagCallback;
|
||||
u8 location;
|
||||
u8 pocket;
|
||||
u16 unk6;
|
||||
u8 cursorPosition[6];
|
||||
u8 scrollPosition[6];
|
||||
bool8 bagOpen;
|
||||
u16 pocket;
|
||||
u16 itemsAbove[3];
|
||||
u16 cursorPos[3];
|
||||
};
|
||||
|
||||
extern struct BagStruct gUnknown_203ACFC;
|
||||
extern struct BagStruct gBagMenuState;
|
||||
|
||||
extern u16 gSpecialVar_ItemId;
|
||||
|
||||
@@ -26,19 +27,19 @@ extern u16 gSpecialVar_ItemId;
|
||||
void sub_81AAC50(void);
|
||||
void sub_81AAC70(void);
|
||||
void CB2_SetUpReshowBattleScreenAfterMenu(void);
|
||||
void sub_81089BC(void);
|
||||
void sub_810B108(u8);
|
||||
void ResetBagCursorPositions(void);
|
||||
void InitPokedudeBag(u8);
|
||||
void CB2_BagMenuFromStartMenu(void);
|
||||
void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1, int pos2);
|
||||
void MoveItemSlotInList(struct ItemSlot * itemSlots_, u32 from, u32 to_);
|
||||
void ItemMenu_StartFadeToExitCallback(u8 taskId);
|
||||
void sub_8108CB4(void);
|
||||
void Bag_BeginCloseWin0Animation(void);
|
||||
void ItemMenu_SetExitCallback(void (*)(void));
|
||||
void DisplayItemMessageInBag(u8 taskId, u8 bgId, const u8 * string, TaskFunc followUpFunc);
|
||||
void sub_810A1F8(u8 taskId);
|
||||
void sub_8107ECC(void);
|
||||
void sub_810AF74(void);
|
||||
void sub_8108DC8(u8 pocketId);
|
||||
void sub_81089F4(u8 pocketId);
|
||||
void DisplayItemMessageInBag(u8 taskId, u8 fontId, const u8 * string, TaskFunc followUpFunc);
|
||||
void Task_ReturnToBagFromContextMenu(u8 taskId);
|
||||
void CB2_BagMenuFromBattle(void);
|
||||
void InitOldManBag(void);
|
||||
void Pocket_CalculateNItemsAndMaxShowed(u8 pocketId);
|
||||
void PocketCalculateInitialCursorPosAndItemsAbove(u8 pocketId);
|
||||
void GoToBagMenu(u8 menuType, u8 pocket, MainCallback callback);
|
||||
|
||||
#endif //GUARD_ITEM_MENU_H
|
||||
|
||||
@@ -3,28 +3,26 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
extern void * gUnknown_2039884;
|
||||
|
||||
extern const struct CompressedSpriteSheet gUnknown_83D41E4;
|
||||
extern const struct CompressedSpriteSheet gUnknown_83D41EC;
|
||||
extern const struct CompressedSpritePalette gUnknown_83D41F4;
|
||||
extern const struct CompressedSpriteSheet gSpriteSheet_Backpack;
|
||||
extern const struct CompressedSpriteSheet gSpriteSheet_Satchel;
|
||||
extern const struct CompressedSpritePalette gSpritePalette_BagOrSatchel;
|
||||
|
||||
extern const struct CompressedSpriteSheet gBagSwapSpriteSheet;
|
||||
extern const struct CompressedSpritePalette gBagSwapSpritePalette;
|
||||
|
||||
void ResetItemMenuIconState(void);
|
||||
void sub_80985E4(void);
|
||||
void ItemMenuIcons_CreateInsertIndicatorBarHidden(void);
|
||||
void DestroyItemMenuIcon(bool8 a0);
|
||||
void CreateItemMenuIcon(u16 itemId, bool8 a0);
|
||||
void CopyItemIconPicTo4x4Buffer(const void *src, void *dest);
|
||||
u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId);
|
||||
u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId);
|
||||
void sub_80989A0(u16 itemId, u8 idx);
|
||||
void sub_80986A8(s16 x, u16 y);
|
||||
void sub_8098660(u8);
|
||||
void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y);
|
||||
void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible);
|
||||
void sub_8098528(u8);
|
||||
void sub_8098580(void);
|
||||
const void * sub_8098974(u16 itemId, u8 ptrId);
|
||||
void sub_80984FC(u8 animNum);
|
||||
const void * GetItemIconGfxPtr(u16 itemId, u8 ptrId);
|
||||
void CreateBagOrSatchelSprite(u8 animNum);
|
||||
|
||||
#endif // GUARD_ITEM_MENU_ICONS
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
#include "global.h"
|
||||
|
||||
void CreateMapNamePopupIfNotAlreadyRunning(bool32 palIntoFadedBuffer);
|
||||
void DismissMapNamePopup(void);
|
||||
|
||||
#endif //GUARD_MAP_NAME_POPUP_H
|
||||
|
||||
@@ -20,14 +20,14 @@ bool8 sub_80BF748(void);
|
||||
bool8 MenuHelpers_LinkSomething(void);
|
||||
void SetVBlankHBlankCallbacksToNull(void);
|
||||
void ResetAllBgsCoordinatesAndBgCntRegs(void);
|
||||
u8 sub_80BF8E4(void);
|
||||
u8 GetDialogBoxFontId(void);
|
||||
bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1);
|
||||
void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 paletteNum, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc);
|
||||
void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 fontId, u8 left, u8 top, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
|
||||
u8 GetLRKeysState(void);
|
||||
u8 GetLRKeysPressedAndHeld(void);
|
||||
bool8 itemid_link_can_give_berry(u16 itemId);
|
||||
bool8 itemid_80BF6D8_mail_related(u16 itemId);
|
||||
bool8 CanWriteMailHere(u16 itemId);
|
||||
void ResetVramOamAndBgCntRegs(void);
|
||||
|
||||
#endif //GUARD_MENU_HELPERS_H
|
||||
|
||||
+21
-3
@@ -112,8 +112,8 @@ extern const u8 gText_OhNoICantBuyThat[];
|
||||
extern const u8 gText_HowManyWouldYouLikeToSell[];
|
||||
extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[];
|
||||
extern const u8 gText_TurnedOverItemsWorthYen[];
|
||||
extern const u8 gPokeDudeText_TMTypes[];
|
||||
extern const u8 gPokeDudeText_ReadTMDescription[];
|
||||
extern const u8 gPokedudeText_TMTypes[];
|
||||
extern const u8 gPokedudeText_ReadTMDescription[];
|
||||
extern const u8 gFameCheckerText_Cancel[];
|
||||
extern const u8 gFameCheckerText_ListMenuCursor[];
|
||||
extern const u8 gFameCheckerText_FameCheckerWillBeClosed[];
|
||||
@@ -134,7 +134,7 @@ extern const u8 gTeachyTvString_CatchPkmn[];
|
||||
extern const u8 gTeachyTvString_AboutTMs[];
|
||||
extern const u8 gTeachyTvString_RegisterItem[];
|
||||
extern const u8 gTeachyTvString_Cancel[];
|
||||
extern const u8 gTeachyTvText_PokeDudeSaysHello[];
|
||||
extern const u8 gTeachyTvText_PokedudeSaysHello[];
|
||||
extern const u8 gTeachyTvText_BattleScript1[];
|
||||
extern const u8 gTeachyTvText_StatusScript1[];
|
||||
extern const u8 gTeachyTvText_MatchupsScript1[];
|
||||
@@ -1038,4 +1038,22 @@ extern const u8 gText_SaveFailedScreen_CheckingBackupMemory[];
|
||||
extern const u8 gText_SaveFailedScreen_BackupMemoryDamaged[];
|
||||
extern const u8 gText_SaveFailedScreen_SaveCompleted[];
|
||||
|
||||
// bag
|
||||
extern const u8 gText_DepositItem[];
|
||||
|
||||
// item_menu
|
||||
extern const u8 gOtherText_Register[];
|
||||
extern const u8 gOtherText_Walk[];
|
||||
extern const u8 gOtherText_Check[];
|
||||
extern const u8 gOtherText_Open[];
|
||||
extern const u8 gOtherText_Deselect[];
|
||||
extern const u8 gText_Items2[];
|
||||
extern const u8 gText_PokeBalls2[];
|
||||
extern const u8 gText_KeyItems2[];
|
||||
extern const u8 gText_CloseBag[];
|
||||
extern const u8 gText_CantWriteMailHere[];
|
||||
extern const u8 gText_DepositHowManyStrVars1[];
|
||||
extern const u8 gText_DepositedStrVar2StrVar1s[];
|
||||
extern const u8 gText_NoRoomToStoreItems[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
||||
@@ -1,6 +1,16 @@
|
||||
#ifndef GUARD_TEACHY_TV_H
|
||||
#define GUARD_TEACHY_TV_H
|
||||
|
||||
enum TeachyTvScript
|
||||
{
|
||||
TTVSCR_BATTLE,
|
||||
TTVSCR_STATUS,
|
||||
TTVSCR_MATCHUPS,
|
||||
TTVSCR_CATCHING,
|
||||
TTVSCR_TMS,
|
||||
TTVSCR_REGISTER
|
||||
};
|
||||
|
||||
void InitTeachyTvController(u8 mode, void (*cb)());
|
||||
void CB2_ReturnToTeachyTV(void);
|
||||
void SetTeachyTvControllerModeToResume(void);
|
||||
|
||||
+11
-1
@@ -1,8 +1,18 @@
|
||||
#ifndef GUARD_TM_CASE_H
|
||||
#define GUARD_TM_CASE_H
|
||||
|
||||
enum TmCaseType
|
||||
{
|
||||
TMCASE_FROMFIELD,
|
||||
TMCASE_FROMPARTYGIVE,
|
||||
TMCASE_FROMMARTSELL,
|
||||
TMCASE_FROMPOKEMONSTORAGEPC,
|
||||
TMCASE_FROMBATTLE,
|
||||
TMCASE_NA
|
||||
};
|
||||
|
||||
void InitTMCase(u8 a0, void (* a1)(void), u8 a2);
|
||||
void ResetTMCaseCursorPos(void);
|
||||
void PokeDude_InitTMCase(void);
|
||||
void Pokedude_InitTMCase(void);
|
||||
|
||||
#endif //GUARD_TM_CASE_H
|
||||
|
||||
+2
-2
@@ -232,7 +232,7 @@ SECTIONS {
|
||||
src/pokedex_screen.o(.text);
|
||||
asm/pokedex_screen.o(.text);
|
||||
src/list_menu.o(.text);
|
||||
asm/item_menu.o(.text);
|
||||
src/item_menu.o(.text);
|
||||
src/save_location.o(.text);
|
||||
src/bag.o(.text);
|
||||
src/trainer_pokemon_sprites.o(.text);
|
||||
@@ -517,7 +517,7 @@ SECTIONS {
|
||||
src/pokedex_screen.o(.rodata);
|
||||
data/pokedex_screen.o(.rodata);
|
||||
src/list_menu.o(.rodata);
|
||||
data/item_menu.o(.rodata);
|
||||
src/item_menu.o(.rodata);
|
||||
src/save_location.o(.rodata);
|
||||
src/bag.o(.rodata);
|
||||
src/trainer_pokemon_sprites.o(.rodata);
|
||||
|
||||
@@ -10,17 +10,18 @@
|
||||
#include "menu.h"
|
||||
#include "money.h"
|
||||
#include "bag.h"
|
||||
#include "strings.h"
|
||||
|
||||
extern const u8 gText_DepositItem[];
|
||||
static const u16 sBagWindowPalF[] = INCBIN_U16("data/bag/bag_window_pal.gbapal");
|
||||
|
||||
const u16 gUnknown_8453098[] = INCBIN_U16("data/bag/bag_window_pal.gbapal");
|
||||
const u8 gUnknown_84530B8[][3] = {
|
||||
static const u8 sTextColors[][3] = {
|
||||
{0, 1, 2},
|
||||
{0, 2, 3},
|
||||
{0, 3, 2},
|
||||
{0, 8, 9}
|
||||
};
|
||||
const struct WindowTemplate gUnknown_84530C4[] = {
|
||||
|
||||
static const struct WindowTemplate sDefaultBagWindowsStd[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x0b,
|
||||
@@ -47,7 +48,8 @@ const struct WindowTemplate gUnknown_84530C4[] = {
|
||||
.baseBlock = 0x01f8
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
const struct WindowTemplate gUnknown_84530E4[] = {
|
||||
|
||||
static const struct WindowTemplate sDefaultBagWindowsDeposit[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 0x0b,
|
||||
@@ -74,7 +76,8 @@ const struct WindowTemplate gUnknown_84530E4[] = {
|
||||
.baseBlock = 0x01f8
|
||||
}, DUMMY_WIN_TEMPLATE
|
||||
};
|
||||
const struct WindowTemplate gUnknown_8453104[] = {
|
||||
|
||||
static const struct WindowTemplate sWindowTemplates[] = {
|
||||
{
|
||||
.bg = 0,
|
||||
.tilemapLeft = 24,
|
||||
@@ -99,122 +102,114 @@ const struct WindowTemplate gUnknown_8453104[] = {
|
||||
.height = 3,
|
||||
.paletteNum = 0xC,
|
||||
.baseBlock = 0x272
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 23,
|
||||
.tilemapTop = 15,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x28a
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 9,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x28a
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 2,
|
||||
.tilemapTop = 15,
|
||||
.width = 26,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x2a2
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 14,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.baseBlock = 0x2a2
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 15,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.baseBlock = 0x2da
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 16,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.baseBlock = 0x316
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 6,
|
||||
.tilemapTop = 15,
|
||||
.width = 23,
|
||||
.height = 4,
|
||||
.paletteNum = 0xC,
|
||||
.baseBlock = 0x356
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 17,
|
||||
.width = 7,
|
||||
.height = 2,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x20a
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 15,
|
||||
.width = 7,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x20a
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 13,
|
||||
.width = 7,
|
||||
.height = 6,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x20a
|
||||
}, {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 22,
|
||||
.tilemapTop = 11,
|
||||
.width = 7,
|
||||
.height = 8,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x20a
|
||||
}
|
||||
};
|
||||
|
||||
const struct WindowTemplate gUnknown_845311C = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 23,
|
||||
.tilemapTop = 15,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x28a
|
||||
};
|
||||
static const u8 sUnused_8453174[] = {16, 8, 4};
|
||||
|
||||
const struct WindowTemplate gUnknown_8453124 = {
|
||||
.bg = 0,
|
||||
.tilemapLeft = 21,
|
||||
.tilemapTop = 9,
|
||||
.width = 6,
|
||||
.height = 4,
|
||||
.paletteNum = 0xF,
|
||||
.baseBlock = 0x28a
|
||||
};
|
||||
static EWRAM_DATA u8 sOpenWindows[11] = {};
|
||||
|
||||
const struct WindowTemplate gUnknown_845312C[] = {
|
||||
{
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x02,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x1a,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.baseBlock = 0x02a2
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x0e,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.baseBlock = 0x02a2
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x0f,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.baseBlock = 0x02da
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x10,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.baseBlock = 0x0316
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x06,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x17,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0c,
|
||||
.baseBlock = 0x0356
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x11,
|
||||
.width = 0x07,
|
||||
.height = 0x02,
|
||||
.paletteNum = 0x0f,
|
||||
.baseBlock = 0x020a
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0f,
|
||||
.width = 0x07,
|
||||
.height = 0x04,
|
||||
.paletteNum = 0x0f,
|
||||
.baseBlock = 0x020a
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0d,
|
||||
.width = 0x07,
|
||||
.height = 0x06,
|
||||
.paletteNum = 0x0f,
|
||||
.baseBlock = 0x020a
|
||||
}, {
|
||||
.bg = 0x00,
|
||||
.tilemapLeft = 0x16,
|
||||
.tilemapTop = 0x0b,
|
||||
.width = 0x07,
|
||||
.height = 0x08,
|
||||
.paletteNum = 0x0f,
|
||||
.baseBlock = 0x020a
|
||||
}
|
||||
};
|
||||
|
||||
const u8 gUnknown_8453174[] = {16, 8, 4};
|
||||
|
||||
EWRAM_DATA u8 gUnknown_203AD34[11] = {};
|
||||
|
||||
void sub_810B858(void)
|
||||
void InitBagWindows(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
if (gUnknown_203ACFC.location != 3)
|
||||
InitWindows(gUnknown_84530C4);
|
||||
if (gBagMenuState.location != 3)
|
||||
InitWindows(sDefaultBagWindowsStd);
|
||||
else
|
||||
InitWindows(gUnknown_84530E4);
|
||||
InitWindows(sDefaultBagWindowsDeposit);
|
||||
DeactivateAllTextPrinters();
|
||||
TextWindow_SetUserSelectedFrame(0, 0x64, 0xE0);
|
||||
TextWindow_LoadResourcesStdFrame0(0, 0x6D, 0xD0);
|
||||
TextWindow_SetStdFrame0_WithPal(0, 0x81, 0xC0);
|
||||
LoadPalette(gUnknown_8453098, 0xF0, 0x20);
|
||||
LoadPalette(sBagWindowPalF, 0xF0, 0x20);
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
FillWindowPixelBuffer(i, 0x00);
|
||||
@@ -223,22 +218,22 @@ void sub_810B858(void)
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
for (i = 0; i < 11; i++)
|
||||
{
|
||||
gUnknown_203AD34[i] = 0xFF;
|
||||
sOpenWindows[i] = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx)
|
||||
void BagPrintTextOnWindow(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx)
|
||||
{
|
||||
AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, gUnknown_84530B8[colorIdx], speed, str);
|
||||
AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, sTextColors[colorIdx], speed, str);
|
||||
}
|
||||
|
||||
void sub_810B958(const u8 * str)
|
||||
void BagPrintTextOnWin1CenteredColor0(const u8 * str, u8 unused)
|
||||
{
|
||||
u32 x = 0x48 - GetStringWidth(1, str, 0);
|
||||
AddTextPrinterParameterized3(2, 1, x / 2, 1, gUnknown_84530B8[0], 0, str);
|
||||
AddTextPrinterParameterized3(2, 1, x / 2, 1, sTextColors[0], 0, str);
|
||||
}
|
||||
|
||||
void sub_810B994(void)
|
||||
void BagDrawDepositItemTextBox(void)
|
||||
{
|
||||
u32 x;
|
||||
DrawStdFrameWithCustomTileAndPalette(2, FALSE, 0x081, 0x0C);
|
||||
@@ -246,77 +241,76 @@ void sub_810B994(void)
|
||||
AddTextPrinterParameterized(2, 0, gText_DepositItem, x / 2, 1, 0, NULL);
|
||||
}
|
||||
|
||||
u8 sub_810B9DC(u8 a0, u8 a1)
|
||||
u8 ShowBagWindow(u8 whichWindow, u8 nItems)
|
||||
{
|
||||
if (gUnknown_203AD34[a0] == 0xFF)
|
||||
if (sOpenWindows[whichWindow] == 0xFF)
|
||||
{
|
||||
gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0 + a1]);
|
||||
if (a0 != 6)
|
||||
sOpenWindows[whichWindow] = AddWindow(&sWindowTemplates[whichWindow + nItems]);
|
||||
if (whichWindow != 6)
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(gUnknown_203AD34[a0], FALSE, 0x064, 0x0E);
|
||||
DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x064, 0xE);
|
||||
}
|
||||
else
|
||||
{
|
||||
DrawStdFrameWithCustomTileAndPalette(gUnknown_203AD34[a0], FALSE, 0x081, 0x0C);
|
||||
DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x081, 0xC);
|
||||
}
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
}
|
||||
return gUnknown_203AD34[a0];
|
||||
return sOpenWindows[whichWindow];
|
||||
}
|
||||
|
||||
void sub_810BA3C(u8 a0)
|
||||
void HideBagWindow(u8 whichWindow)
|
||||
{
|
||||
ClearStdWindowAndFrameToTransparent(gUnknown_203AD34[a0], FALSE);
|
||||
ClearWindowTilemap(gUnknown_203AD34[a0]);
|
||||
RemoveWindow(gUnknown_203AD34[a0]);
|
||||
ClearStdWindowAndFrameToTransparent(sOpenWindows[whichWindow], FALSE);
|
||||
ClearWindowTilemap(sOpenWindows[whichWindow]);
|
||||
RemoveWindow(sOpenWindows[whichWindow]);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
gUnknown_203AD34[a0] = 0xFF;
|
||||
sOpenWindows[whichWindow] = 0xFF;
|
||||
}
|
||||
|
||||
u8 sub_810BA70(u8 a0)
|
||||
u8 OpenBagWindow(u8 whichWindow)
|
||||
{
|
||||
if (gUnknown_203AD34[a0] == 0xFF)
|
||||
if (sOpenWindows[whichWindow] == 0xFF)
|
||||
{
|
||||
gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0]);
|
||||
sOpenWindows[whichWindow] = AddWindow(&sWindowTemplates[whichWindow]);
|
||||
}
|
||||
return gUnknown_203AD34[a0];
|
||||
return sOpenWindows[whichWindow];
|
||||
}
|
||||
|
||||
void sub_810BA9C(u8 a0)
|
||||
void CloseBagWindow(u8 whichWindow)
|
||||
{
|
||||
if (gUnknown_203AD34[a0] != 0xFF)
|
||||
if (sOpenWindows[whichWindow] != 0xFF)
|
||||
{
|
||||
ClearDialogWindowAndFrameToTransparent(gUnknown_203AD34[a0], FALSE);
|
||||
ClearWindowTilemap(gUnknown_203AD34[a0]);
|
||||
RemoveWindow(gUnknown_203AD34[a0]);
|
||||
ClearDialogWindowAndFrameToTransparent(sOpenWindows[whichWindow], FALSE);
|
||||
ClearWindowTilemap(sOpenWindows[whichWindow]);
|
||||
RemoveWindow(sOpenWindows[whichWindow]);
|
||||
PutWindowTilemap(1);
|
||||
ScheduleBgCopyTilemapToVram(0);
|
||||
gUnknown_203AD34[a0] = 0xFF;
|
||||
|
||||
sOpenWindows[whichWindow] = 0xFF;
|
||||
}
|
||||
}
|
||||
|
||||
u8 sub_810BAD8(u8 a0)
|
||||
u8 GetBagWindow(u8 whichWindow)
|
||||
{
|
||||
return gUnknown_203AD34[a0];
|
||||
return sOpenWindows[whichWindow];
|
||||
}
|
||||
|
||||
void sub_810BAE8(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||
void BagCreateYesNoMenuBottomRight(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &gUnknown_845311C, 2, 0, 2, 0x64, 0x0E, ptrs);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[3], 2, 0, 2, 0x064, 0x0E, ptrs);
|
||||
}
|
||||
|
||||
void sub_810BB14(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||
void BagCreateYesNoMenuTopRight(u8 taskId, const struct YesNoFuncTable * ptrs)
|
||||
{
|
||||
CreateYesNoMenuWithCallbacks(taskId, &gUnknown_8453124, 2, 0, 2, 0x064, 0x0E, ptrs);
|
||||
CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[4], 2, 0, 2, 0x064, 0x0E, ptrs);
|
||||
}
|
||||
|
||||
void sub_810BB40(void)
|
||||
void BagPrintMoneyAmount(void)
|
||||
{
|
||||
PrintMoneyAmountInMoneyBoxWithBorder(sub_810B9DC(2, 0), 0x081, 0x0C, GetMoney(&gSaveBlock1Ptr->money));
|
||||
PrintMoneyAmountInMoneyBoxWithBorder(ShowBagWindow(2, 0), 0x081, 0x0C, GetMoney(&gSaveBlock1Ptr->money));
|
||||
}
|
||||
|
||||
void sub_810BB74(u8 windowId)
|
||||
void BagDrawTextBoxOnWindow(u8 windowId)
|
||||
{
|
||||
DrawTextBorderOuter(windowId, 0x064, 0x0E);
|
||||
}
|
||||
|
||||
@@ -379,9 +379,9 @@ static void OpenBagAndChooseItem(void)
|
||||
nullsub_44();
|
||||
FreeAllWindowBuffers();
|
||||
if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE)
|
||||
sub_8107ECC();
|
||||
CB2_BagMenuFromBattle();
|
||||
else
|
||||
sub_810AF74();
|
||||
InitOldManBag();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1330,7 +1330,7 @@ static void OpenBagAndChooseItem(void)
|
||||
gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChoseItem;
|
||||
nullsub_44();
|
||||
FreeAllWindowBuffers();
|
||||
sub_8107ECC();
|
||||
CB2_BagMenuFromBattle();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "battle_interface.h"
|
||||
#include "battle_message.h"
|
||||
#include "reshow_battle_screen.h"
|
||||
#include "teachy_tv.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/moves.h"
|
||||
@@ -733,15 +734,15 @@ static void OpenBagAndChooseItem(void)
|
||||
FreeAllWindowBuffers();
|
||||
switch (gSpecialVar_0x8004)
|
||||
{
|
||||
case 1:
|
||||
case TTVSCR_STATUS:
|
||||
default:
|
||||
callbackId = 7;
|
||||
callbackId = ITEMMENULOCATION_TTVSCR_STATUS;
|
||||
break;
|
||||
case 3:
|
||||
callbackId = 8;
|
||||
case TTVSCR_CATCHING:
|
||||
callbackId = ITEMMENULOCATION_TTVSCR_CATCHING;
|
||||
break;
|
||||
}
|
||||
sub_810B108(callbackId);
|
||||
InitPokedudeBag(callbackId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -86,7 +86,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum);
|
||||
static void CB2_HandleStartBattle(void);
|
||||
static void TryCorrectShedinjaLanguage(struct Pokemon *mon);
|
||||
static void BattleMainCB1(void);
|
||||
static void CB2_QuitPokeDudeBattle(void);
|
||||
static void CB2_QuitPokedudeBattle(void);
|
||||
static void sub_80111FC(struct Sprite *sprite);
|
||||
static void sub_8011B94(void);
|
||||
static void sub_8011BB0(void);
|
||||
@@ -1438,7 +1438,7 @@ void BattleMainCB2(void)
|
||||
gSpecialVar_Result = gBattleOutcome = B_OUTCOME_DREW;
|
||||
ResetPaletteFadeControl();
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK);
|
||||
SetMainCallback2(CB2_QuitPokeDudeBattle);
|
||||
SetMainCallback2(CB2_QuitPokedudeBattle);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1454,7 +1454,7 @@ void FreeRestoreBattleData(void)
|
||||
FreeBattleResources();
|
||||
}
|
||||
|
||||
static void CB2_QuitPokeDudeBattle(void)
|
||||
static void CB2_QuitPokedudeBattle(void)
|
||||
{
|
||||
UpdatePaletteFade();
|
||||
if (!gPaletteFade.active)
|
||||
|
||||
@@ -463,7 +463,7 @@ const u8 *const gPokeblockWasTooXStringTable[] = {
|
||||
|
||||
static const u8 sText_PlayerUsedItem[] = _("{B_PLAYER_NAME} used\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_OldManUsedItem[] = _("The old man used\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_PokeDudeUsedItem[] = _("The POKé DUDE used\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_PokedudeUsedItem[] = _("The POKé DUDE used\n{B_LAST_ITEM}!");
|
||||
static const u8 sText_Trainer1UsedItem[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nused {B_LAST_ITEM}!");
|
||||
static const u8 sText_TrainerBlockedBall[] = _("The TRAINER blocked the BALL!");
|
||||
static const u8 sText_DontBeAThief[] = _("Don't be a thief!");
|
||||
@@ -876,7 +876,7 @@ const u8 *const gBattleStringsTable[] = {
|
||||
Text_1A5D31,
|
||||
Text_1A5D6E,
|
||||
Text_1A5DB1,
|
||||
sText_PokeDudeUsedItem,
|
||||
sText_PokedudeUsedItem,
|
||||
gUnknown_83FDA4D,
|
||||
gUnknown_83FDA7A,
|
||||
gUnknown_83FDA8C,
|
||||
|
||||
+3
-3
@@ -1269,7 +1269,7 @@ static void Task_ContextMenu_Sell(u8 taskId)
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat);
|
||||
DisplayItemMessageInBerryPouch(taskId, sub_80BF8E4(), gStringVar4, Task_BerryPouch_DestroyDialogueWindowAndRefreshListMenu);
|
||||
DisplayItemMessageInBerryPouch(taskId, GetDialogBoxFontId(), gStringVar4, Task_BerryPouch_DestroyDialogueWindowAndRefreshListMenu);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1285,7 +1285,7 @@ static void Task_ContextMenu_Sell(u8 taskId)
|
||||
data[2] = 99;
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell);
|
||||
DisplayItemMessageInBerryPouch(taskId, sub_80BF8E4(), gStringVar4, Task_Sell_PrintSelectMultipleUI);
|
||||
DisplayItemMessageInBerryPouch(taskId, GetDialogBoxFontId(), gStringVar4, Task_Sell_PrintSelectMultipleUI);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1295,7 +1295,7 @@ static void Task_AskSellMultiple(u8 taskId)
|
||||
s16 * data = gTasks[taskId].data;
|
||||
ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ICanPayThisMuch_WouldThatBeOkay);
|
||||
DisplayItemMessageInBerryPouch(taskId, sub_80BF8E4(), gStringVar4, Task_SellMultiple_CreateYesNoMenu);
|
||||
DisplayItemMessageInBerryPouch(taskId, GetDialogBoxFontId(), gStringVar4, Task_SellMultiple_CreateYesNoMenu);
|
||||
}
|
||||
|
||||
static void Task_SellMultiple_CreateYesNoMenu(u8 taskId)
|
||||
|
||||
+5
-5
@@ -60,12 +60,12 @@ const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] =
|
||||
gTrainerBackPic_Leaf + 0x2000, 0x0800,
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gTrainerBackPicTable_PokeDude[] =
|
||||
const struct SpriteFrameImage gTrainerBackPicTable_Pokedude[] =
|
||||
{
|
||||
gTrainerBackPic_PokeDude, 0x0800,
|
||||
gTrainerBackPic_PokeDude + 0x0800, 0x0800,
|
||||
gTrainerBackPic_PokeDude + 0x1000, 0x0800,
|
||||
gTrainerBackPic_PokeDude + 0x1800, 0x0800,
|
||||
gTrainerBackPic_Pokedude, 0x0800,
|
||||
gTrainerBackPic_Pokedude + 0x0800, 0x0800,
|
||||
gTrainerBackPic_Pokedude + 0x1000, 0x0800,
|
||||
gTrainerBackPic_Pokedude + 0x1800, 0x0800,
|
||||
};
|
||||
|
||||
const struct SpriteFrameImage gTrainerBackPicTable_OldMan[] =
|
||||
|
||||
@@ -16,7 +16,7 @@ static const union AnimCmd sAnimCmd_Leaf_1[] = {
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd sAnimCmd_PokeDude_1[] = {
|
||||
static const union AnimCmd sAnimCmd_Pokedude_1[] = {
|
||||
ANIMCMD_FRAME(1, 24),
|
||||
ANIMCMD_FRAME(2, 9),
|
||||
ANIMCMD_FRAME(3, 24),
|
||||
@@ -60,9 +60,9 @@ const union AnimCmd *const sBackAnims_Leaf[] = {
|
||||
sAnimCmd_Leaf_1
|
||||
};
|
||||
|
||||
const union AnimCmd *const sBackAnims_PokeDude[] = {
|
||||
const union AnimCmd *const sBackAnims_Pokedude[] = {
|
||||
sAnim_GeneralFrame0,
|
||||
sAnimCmd_PokeDude_1
|
||||
sAnimCmd_Pokedude_1
|
||||
};
|
||||
|
||||
const union AnimCmd *const sBackAnims_OldMan[] = {
|
||||
@@ -85,6 +85,6 @@ const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = {
|
||||
sBackAnims_Leaf,
|
||||
sBackAnims_RSBrendan,
|
||||
sBackAnims_RSMay,
|
||||
sBackAnims_PokeDude,
|
||||
sBackAnims_Pokedude,
|
||||
sBackAnims_OldMan
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@ const struct CompressedSpriteSheet gTrainerBackPicTable[] = {
|
||||
{ (const u32 *)gTrainerBackPic_Leaf, 0x2800, 1 },
|
||||
{ (const u32 *)gTrainerBackPic_RSBrendan, 0x2000, 2 },
|
||||
{ (const u32 *)gTrainerBackPic_RSMay, 0x2000, 3 },
|
||||
{ (const u32 *)gTrainerBackPic_PokeDude, 0x2000, 4 },
|
||||
{ (const u32 *)gTrainerBackPic_Pokedude, 0x2000, 4 },
|
||||
{ (const u32 *)gTrainerBackPic_OldMan, 0x2000, 5 }
|
||||
};
|
||||
|
||||
@@ -21,6 +21,6 @@ const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = {
|
||||
{ gTrainerPalette_LeafBackPic, 1 },
|
||||
{ gTrainerPalette_RSBrendan1, 2 },
|
||||
{ gTrainerPalette_RSMay1, 3 },
|
||||
{ gTrainerPalette_PokeDudeBackPic, 4 },
|
||||
{ gTrainerPalette_PokedudeBackPic, 4 },
|
||||
{ gTrainerPalette_OldManBackPic, 5 }
|
||||
};
|
||||
|
||||
+2400
File diff suppressed because it is too large
Load Diff
+76
-72
@@ -5,14 +5,14 @@
|
||||
#include "malloc.h"
|
||||
#include "constants/items.h"
|
||||
|
||||
static EWRAM_DATA u8 gUnknown_2039878[12] = {0};
|
||||
EWRAM_DATA void * gUnknown_2039884 = NULL;
|
||||
static EWRAM_DATA void * gUnknown_2039888 = NULL;
|
||||
static EWRAM_DATA u8 sItemMenuIconSpriteIds[12] = {0};
|
||||
static EWRAM_DATA void * sItemIconTilesBuffer = NULL;
|
||||
static EWRAM_DATA void * sItemIconTilesBufferPadded = NULL;
|
||||
|
||||
static void sub_8098560(struct Sprite * sprite);
|
||||
static void sub_80985BC(struct Sprite * sprite);
|
||||
|
||||
static const struct OamData gUnknown_83D416C = {
|
||||
static const struct OamData sOamData_BagOrSatchel = {
|
||||
.affineMode = ST_OAM_AFFINE_NORMAL,
|
||||
.shape = ST_OAM_SQUARE,
|
||||
.size = 3,
|
||||
@@ -20,36 +20,36 @@ static const struct OamData gUnknown_83D416C = {
|
||||
.paletteNum = 0
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_83D4174[] = {
|
||||
static const union AnimCmd sAnim_BagOrSatchel_OpenItemPocket[] = {
|
||||
ANIMCMD_FRAME( 0, 5),
|
||||
ANIMCMD_FRAME(0x40, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_83D4180[] = {
|
||||
static const union AnimCmd sAnim_BagOrSatchel_OpenKeyItemPocket[] = {
|
||||
ANIMCMD_FRAME( 0, 5),
|
||||
ANIMCMD_FRAME(0x80, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_83D418C[] = {
|
||||
static const union AnimCmd sAnim_BagOrSatchel_OpenPokeBallsPocket[] = {
|
||||
ANIMCMD_FRAME( 0, 5),
|
||||
ANIMCMD_FRAME(0xc0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_83D4198[] = {
|
||||
gUnknown_83D4180,
|
||||
gUnknown_83D418C,
|
||||
gUnknown_83D4174
|
||||
static const union AnimCmd *const sAnimTable_BagOrSatchel[] = {
|
||||
sAnim_BagOrSatchel_OpenKeyItemPocket,
|
||||
sAnim_BagOrSatchel_OpenPokeBallsPocket,
|
||||
sAnim_BagOrSatchel_OpenItemPocket
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gUnknown_83D41A4[] = {
|
||||
static const union AffineAnimCmd sAffineAnim_Idle[] = {
|
||||
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd gUnknown_83D41B4[] = {
|
||||
static const union AffineAnimCmd sAffineAnim_Wobble[] = {
|
||||
AFFINEANIMCMD_FRAME(0, 0, -2, 2),
|
||||
AFFINEANIMCMD_FRAME(0, 0, 2, 4),
|
||||
AFFINEANIMCMD_FRAME(0, 0, -2, 4),
|
||||
@@ -57,35 +57,35 @@ static const union AffineAnimCmd gUnknown_83D41B4[] = {
|
||||
AFFINEANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AffineAnimCmd *const gUnknown_83D41DC[] = {
|
||||
gUnknown_83D41A4,
|
||||
gUnknown_83D41B4
|
||||
static const union AffineAnimCmd *const sAffineAnimTable_BagOrSatchel[] = {
|
||||
sAffineAnim_Idle,
|
||||
sAffineAnim_Wobble
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_83D41E4 = {
|
||||
const struct CompressedSpriteSheet gSpriteSheet_Backpack = {
|
||||
gUnknown_8E8362C,
|
||||
0x2000,
|
||||
100
|
||||
};
|
||||
|
||||
const struct CompressedSpriteSheet gUnknown_83D41EC = {
|
||||
const struct CompressedSpriteSheet gSpriteSheet_Satchel = {
|
||||
gUnknown_8E83DBC,
|
||||
0x2000,
|
||||
100
|
||||
};
|
||||
|
||||
const struct CompressedSpritePalette gUnknown_83D41F4 = {
|
||||
const struct CompressedSpritePalette gSpritePalette_BagOrSatchel = {
|
||||
gUnknown_8E84560,
|
||||
100
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_83D41FC = {
|
||||
static const struct SpriteTemplate sSpriteTemplate_BagOrSatchel = {
|
||||
100,
|
||||
100,
|
||||
&gUnknown_83D416C,
|
||||
gUnknown_83D4198,
|
||||
&sOamData_BagOrSatchel,
|
||||
sAnimTable_BagOrSatchel,
|
||||
NULL,
|
||||
gUnknown_83D41DC,
|
||||
sAffineAnimTable_BagOrSatchel,
|
||||
SpriteCallbackDummy
|
||||
};
|
||||
|
||||
@@ -139,7 +139,7 @@ static const struct SpriteTemplate gUnknown_83D4250 = {
|
||||
SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const struct OamData gUnknown_83D4268 = {
|
||||
static const struct OamData sOamData_ItemIcon = {
|
||||
.affineMode = ST_OAM_AFFINE_OFF,
|
||||
.shape = ST_OAM_SQUARE,
|
||||
.size = 2,
|
||||
@@ -147,26 +147,26 @@ static const struct OamData gUnknown_83D4268 = {
|
||||
.paletteNum = 2
|
||||
};
|
||||
|
||||
static const union AnimCmd gUnknown_83D4270[] = {
|
||||
static const union AnimCmd sAnim_ItemIcon_0[] = {
|
||||
ANIMCMD_FRAME(0, 0),
|
||||
ANIMCMD_END
|
||||
};
|
||||
|
||||
static const union AnimCmd *const gUnknown_83D4278[] = {
|
||||
gUnknown_83D4270
|
||||
static const union AnimCmd *const sAnimTable_ItemIcon[] = {
|
||||
sAnim_ItemIcon_0
|
||||
};
|
||||
|
||||
static const struct SpriteTemplate gUnknown_83D427C = {
|
||||
static const struct SpriteTemplate sSpriteTemplate_ItemIcon = {
|
||||
102,
|
||||
102,
|
||||
&gUnknown_83D4268,
|
||||
gUnknown_83D4278,
|
||||
&sOamData_ItemIcon,
|
||||
sAnimTable_ItemIcon,
|
||||
NULL,
|
||||
gDummySpriteAffineAnimTable,
|
||||
SpriteCallbackDummy
|
||||
};
|
||||
|
||||
static const void *const gUnknown_83D4294[][2] = {
|
||||
static const void *const sItemIconGfxPtrs[][2] = {
|
||||
{gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette},
|
||||
{gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette},
|
||||
{gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette},
|
||||
@@ -549,19 +549,19 @@ void ResetItemMenuIconState(void)
|
||||
{
|
||||
u16 i;
|
||||
|
||||
for (i = 0; i < NELEMS(gUnknown_2039878); i++)
|
||||
gUnknown_2039878[i] = 0xFF;
|
||||
for (i = 0; i < NELEMS(sItemMenuIconSpriteIds); i++)
|
||||
sItemMenuIconSpriteIds[i] = 0xFF;
|
||||
}
|
||||
|
||||
void sub_80984FC(u8 animNum)
|
||||
void CreateBagOrSatchelSprite(u8 animNum)
|
||||
{
|
||||
gUnknown_2039878[0] = CreateSprite(&gUnknown_83D41FC, 40, 68, 0);
|
||||
sItemMenuIconSpriteIds[0] = CreateSprite(&sSpriteTemplate_BagOrSatchel, 40, 68, 0);
|
||||
sub_8098528(animNum);
|
||||
}
|
||||
|
||||
void sub_8098528(u8 animNum)
|
||||
{
|
||||
struct Sprite * sprite = &gSprites[gUnknown_2039878[0]];
|
||||
struct Sprite * sprite = &gSprites[sItemMenuIconSpriteIds[0]];
|
||||
sprite->pos2.y = -5;
|
||||
sprite->callback = sub_8098560;
|
||||
StartSpriteAnim(sprite, animNum);
|
||||
@@ -577,7 +577,7 @@ static void sub_8098560(struct Sprite * sprite)
|
||||
|
||||
void sub_8098580(void)
|
||||
{
|
||||
struct Sprite * sprite = &gSprites[gUnknown_2039878[0]];
|
||||
struct Sprite * sprite = &gSprites[sItemMenuIconSpriteIds[0]];
|
||||
if (sprite->affineAnimEnded)
|
||||
{
|
||||
StartSpriteAffineAnim(sprite, 1);
|
||||
@@ -594,40 +594,44 @@ static void sub_80985BC(struct Sprite * sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80985E4(void)
|
||||
void ItemMenuIcons_CreateInsertIndicatorBarHidden(void)
|
||||
{
|
||||
u8 i;
|
||||
u8 * ptr = &gUnknown_2039878[1];
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[1];
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
ptr[i] = CreateSprite(&gUnknown_83D4250, i * 16 + 0x60, 7, 0);
|
||||
if (i != 0)
|
||||
switch (i)
|
||||
{
|
||||
if (i == 8)
|
||||
StartSpriteAnim(&gSprites[ptr[i]], 2);
|
||||
else
|
||||
StartSpriteAnim(&gSprites[ptr[i]], 1);
|
||||
case 0:
|
||||
break;
|
||||
case 8:
|
||||
StartSpriteAnim(&gSprites[ptr[i]], 2);
|
||||
break;
|
||||
default:
|
||||
StartSpriteAnim(&gSprites[ptr[i]], 1);
|
||||
break;
|
||||
}
|
||||
gSprites[ptr[i]].invisible = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8098660(u8 flag)
|
||||
void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible)
|
||||
{
|
||||
u8 i;
|
||||
u8 * ptr = &gUnknown_2039878[1];
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[1];
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
gSprites[ptr[i]].invisible = flag;
|
||||
gSprites[ptr[i]].invisible = invisible;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80986A8(s16 x, u16 y)
|
||||
void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y)
|
||||
{
|
||||
u8 i;
|
||||
u8 * ptr = &gUnknown_2039878[1];
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[1];
|
||||
|
||||
for (i = 0; i < 9; i++)
|
||||
{
|
||||
@@ -636,15 +640,15 @@ void sub_80986A8(s16 x, u16 y)
|
||||
}
|
||||
}
|
||||
|
||||
static bool8 sub_80986EC(void)
|
||||
static bool8 TryAllocItemIconTilesBuffers(void)
|
||||
{
|
||||
void ** ptr1, ** ptr2;
|
||||
|
||||
ptr1 = &gUnknown_2039884;
|
||||
ptr1 = &sItemIconTilesBuffer;
|
||||
*ptr1 = Alloc(0x120);
|
||||
if (*ptr1 == NULL)
|
||||
return FALSE;
|
||||
ptr2 = &gUnknown_2039888;
|
||||
ptr2 = &sItemIconTilesBufferPadded;
|
||||
*ptr2 = AllocZeroed(0x200);
|
||||
if (*ptr2 == NULL)
|
||||
{
|
||||
@@ -671,27 +675,27 @@ u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId)
|
||||
struct CompressedSpritePalette spritePalette;
|
||||
u8 spriteId;
|
||||
|
||||
if (!sub_80986EC())
|
||||
if (!TryAllocItemIconTilesBuffers())
|
||||
return MAX_SPRITES;
|
||||
|
||||
LZDecompressWram(sub_8098974(itemId, 0), gUnknown_2039884);
|
||||
CopyItemIconPicTo4x4Buffer(gUnknown_2039884, gUnknown_2039888);
|
||||
spriteSheet.data = gUnknown_2039888;
|
||||
LZDecompressWram(GetItemIconGfxPtr(itemId, 0), sItemIconTilesBuffer);
|
||||
CopyItemIconPicTo4x4Buffer(sItemIconTilesBuffer, sItemIconTilesBufferPadded);
|
||||
spriteSheet.data = sItemIconTilesBufferPadded;
|
||||
spriteSheet.size = 0x200;
|
||||
spriteSheet.tag = tilesTag;
|
||||
LoadSpriteSheet(&spriteSheet);
|
||||
|
||||
spritePalette.data = sub_8098974(itemId, 1);
|
||||
spritePalette.data = GetItemIconGfxPtr(itemId, 1);
|
||||
spritePalette.tag = paletteTag;
|
||||
LoadCompressedSpritePalette(&spritePalette);
|
||||
|
||||
CpuCopy16(&gUnknown_83D427C, &template, sizeof(struct SpriteTemplate));
|
||||
CpuCopy16(&sSpriteTemplate_ItemIcon, &template, sizeof(struct SpriteTemplate));
|
||||
template.tileTag = tilesTag;
|
||||
template.paletteTag = paletteTag;
|
||||
spriteId = CreateSprite(&template, 0, 0, 0);
|
||||
|
||||
Free(gUnknown_2039884);
|
||||
Free(gUnknown_2039888);
|
||||
Free(sItemIconTilesBuffer);
|
||||
Free(sItemIconTilesBufferPadded);
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
@@ -702,17 +706,17 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT
|
||||
struct CompressedSpritePalette spritePalette;
|
||||
u8 spriteId;
|
||||
|
||||
if (!sub_80986EC())
|
||||
if (!TryAllocItemIconTilesBuffers())
|
||||
return MAX_SPRITES;
|
||||
|
||||
LZDecompressWram(sub_8098974(itemId, 0), gUnknown_2039884);
|
||||
CopyItemIconPicTo4x4Buffer(gUnknown_2039884, gUnknown_2039888);
|
||||
spriteSheet.data = gUnknown_2039888;
|
||||
LZDecompressWram(GetItemIconGfxPtr(itemId, 0), sItemIconTilesBuffer);
|
||||
CopyItemIconPicTo4x4Buffer(sItemIconTilesBuffer, sItemIconTilesBufferPadded);
|
||||
spriteSheet.data = sItemIconTilesBufferPadded;
|
||||
spriteSheet.size = 0x200;
|
||||
spriteSheet.tag = tilesTag;
|
||||
LoadSpriteSheet(&spriteSheet);
|
||||
|
||||
spritePalette.data = sub_8098974(itemId, 1);
|
||||
spritePalette.data = GetItemIconGfxPtr(itemId, 1);
|
||||
spritePalette.tag = paletteTag;
|
||||
LoadCompressedSpritePalette(&spritePalette);
|
||||
|
||||
@@ -721,14 +725,14 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT
|
||||
template.paletteTag = paletteTag;
|
||||
spriteId = CreateSprite(&template, 0, 0, 0);
|
||||
|
||||
Free(gUnknown_2039884);
|
||||
Free(gUnknown_2039888);
|
||||
Free(sItemIconTilesBuffer);
|
||||
Free(sItemIconTilesBufferPadded);
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
void CreateItemMenuIcon(u16 itemId, u8 idx)
|
||||
{
|
||||
u8 * ptr = &gUnknown_2039878[10];
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[10];
|
||||
u8 spriteId;
|
||||
|
||||
if (ptr[idx] == 0xFF)
|
||||
@@ -747,7 +751,7 @@ void CreateItemMenuIcon(u16 itemId, u8 idx)
|
||||
|
||||
void DestroyItemMenuIcon(u8 idx)
|
||||
{
|
||||
u8 * ptr = &gUnknown_2039878[10];
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[10];
|
||||
|
||||
if (ptr[idx] != 0xFF)
|
||||
{
|
||||
@@ -756,16 +760,16 @@ void DestroyItemMenuIcon(u8 idx)
|
||||
}
|
||||
}
|
||||
|
||||
const void * sub_8098974(u16 itemId, u8 attrId)
|
||||
const void * GetItemIconGfxPtr(u16 itemId, u8 attrId)
|
||||
{
|
||||
if (itemId > ITEM_N_A)
|
||||
itemId = ITEM_NONE;
|
||||
return gUnknown_83D4294[itemId][attrId];
|
||||
return sItemIconGfxPtrs[itemId][attrId];
|
||||
}
|
||||
|
||||
void sub_80989A0(u16 itemId, u8 idx)
|
||||
{
|
||||
u8 * ptr = &gUnknown_2039878[10];
|
||||
u8 * ptr = &sItemMenuIconSpriteIds[10];
|
||||
u8 spriteId;
|
||||
|
||||
if (ptr[idx] == 0xFF)
|
||||
|
||||
+7
-7
@@ -348,7 +348,7 @@ static bool8 ItemPc_DoGfxSetup(void)
|
||||
gMain.state++;
|
||||
break;
|
||||
case 14:
|
||||
sub_80985E4();
|
||||
ItemMenuIcons_CreateInsertIndicatorBarHidden();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 15:
|
||||
@@ -780,8 +780,8 @@ static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos)
|
||||
StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced);
|
||||
FillWindowPixelBuffer(1, 0x00);
|
||||
ItemPc_AddTextPrinterParameterized(1, 2, gStringVar4, 0, 3, 2, 3, 0, 0);
|
||||
sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
sub_8098660(0);
|
||||
ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE);
|
||||
ItemPc_PrintOrRemoveCursor(data[0], 2);
|
||||
gTasks[taskId].func = Task_ItemPcMoveItemModeRun;
|
||||
}
|
||||
@@ -792,7 +792,7 @@ static void Task_ItemPcMoveItemModeRun(u8 taskId)
|
||||
|
||||
ListMenu_ProcessInput(data[0]);
|
||||
ListMenuGetScrollAndRow(data[0], &sListMenuState.scroll, &sListMenuState.row);
|
||||
sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0]));
|
||||
if (JOY_NEW(A_BUTTON | SELECT_BUTTON))
|
||||
{
|
||||
PlaySE(SE_SELECT);
|
||||
@@ -814,13 +814,13 @@ static void ItemPc_InsertItemIntoNewSlot(u8 taskId, u32 pos)
|
||||
ItemPc_MoveItemModeCancel(taskId, pos);
|
||||
else
|
||||
{
|
||||
ItemMenu_MoveItemSlotToNewPositionInArray(gSaveBlock1Ptr->pcItems, data[1], pos);
|
||||
MoveItemSlotInList(gSaveBlock1Ptr->pcItems, data[1], pos);
|
||||
DestroyListMenuTask(data[0], &sListMenuState.scroll, &sListMenuState.row);
|
||||
if (data[1] < pos)
|
||||
sListMenuState.row--;
|
||||
ItemPc_BuildListMenuTemplate();
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row);
|
||||
sub_8098660(1);
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE);
|
||||
gTasks[taskId].func = Task_ItemPcMain;
|
||||
}
|
||||
}
|
||||
@@ -834,7 +834,7 @@ static void ItemPc_MoveItemModeCancel(u8 taskId, u32 pos)
|
||||
sListMenuState.row--;
|
||||
ItemPc_BuildListMenuTemplate();
|
||||
data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row);
|
||||
sub_8098660(1);
|
||||
ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE);
|
||||
gTasks[taskId].func = Task_ItemPcMain;
|
||||
}
|
||||
|
||||
|
||||
+17
-17
@@ -154,7 +154,7 @@ static void sub_80A0FBC(u8 taskId)
|
||||
{
|
||||
ItemMenu_SetExitCallback(gUnknown_83E2954[itemType]);
|
||||
if (itemType == 1)
|
||||
sub_8108CB4();
|
||||
Bag_BeginCloseWin0Animation();
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
}
|
||||
@@ -188,7 +188,7 @@ static void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
|
||||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
if (a1 == FALSE)
|
||||
DisplayItemMessageInBag(taskId, a2, gStringVar4, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, a2, gStringVar4, Task_ReturnToBagFromContextMenu);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C);
|
||||
}
|
||||
@@ -345,7 +345,7 @@ void FieldUseFunc_CoinCase(u8 taskId)
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8416537);
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
|
||||
}
|
||||
@@ -356,7 +356,7 @@ void FieldUseFunc_PowderJar(u8 taskId)
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8416644);
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
|
||||
}
|
||||
@@ -384,7 +384,7 @@ void FieldUseFunc_PokeFlute(u8 taskId)
|
||||
{
|
||||
// Now that's a catchy tune!
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, Task_ReturnToBagFromContextMenu);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gUnknown_841665C, sub_80A112C);
|
||||
}
|
||||
@@ -401,7 +401,7 @@ static void sub_80A1674(u8 taskId)
|
||||
if (WaitFanfare(FALSE))
|
||||
{
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, Task_ReturnToBagFromContextMenu);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gUnknown_84166A7, sub_80A112C);
|
||||
}
|
||||
@@ -518,7 +518,7 @@ void BattleUseFunc_BerryPouch(u8 taskId)
|
||||
|
||||
static void InitBerryPouchFromBattle(void)
|
||||
{
|
||||
InitBerryPouch(BERRYPOUCH_FROMBATTLE, sub_8107ECC, 0);
|
||||
InitBerryPouch(BERRYPOUCH_FROMBATTLE, CB2_BagMenuFromBattle, 0);
|
||||
}
|
||||
|
||||
void FieldUseFunc_TeachyTv(u8 taskId)
|
||||
@@ -562,7 +562,7 @@ void FieldUseFunc_SuperRepel(u8 taskId)
|
||||
}
|
||||
else
|
||||
// An earlier repel is still in effect
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
|
||||
static void sub_80A19E8(u8 taskId)
|
||||
@@ -572,15 +572,15 @@ static void sub_80A19E8(u8 taskId)
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId));
|
||||
sub_80A1A44();
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
}
|
||||
|
||||
static void sub_80A1A44(void)
|
||||
{
|
||||
RemoveBagItem(gSpecialVar_ItemId, 1);
|
||||
sub_8108DC8(ItemId_GetPocket(gSpecialVar_ItemId));
|
||||
sub_81089F4(ItemId_GetPocket(gSpecialVar_ItemId));
|
||||
Pocket_CalculateNItemsAndMaxShowed(ItemId_GetPocket(gSpecialVar_ItemId));
|
||||
PocketCalculateInitialCursorPosAndItemsAbove(ItemId_GetPocket(gSpecialVar_ItemId));
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar2);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841658C);
|
||||
}
|
||||
@@ -613,7 +613,7 @@ static void sub_80A1B48(u8 taskId)
|
||||
if (++gTasks[taskId].data[8] > 7)
|
||||
{
|
||||
PlaySE(SE_BIDORO);
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -745,18 +745,18 @@ void BattleUseFunc_PokeBallEtc(u8 taskId)
|
||||
if (!IsPlayerPartyAndPokemonStorageFull())
|
||||
{
|
||||
RemoveBagItem(gSpecialVar_ItemId, 1);
|
||||
sub_8108CB4();
|
||||
Bag_BeginCloseWin0Animation();
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
else
|
||||
{
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_8416631, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_8416631, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
}
|
||||
|
||||
void BattleUseFunc_PokeFlute(u8 taskId)
|
||||
{
|
||||
sub_8108CB4();
|
||||
Bag_BeginCloseWin0Animation();
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
|
||||
@@ -764,7 +764,7 @@ void BattleUseFunc_GuardSpec(u8 taskId)
|
||||
{
|
||||
if (ExecuteTableBasedItemEffect(&gPlayerParty[gBattlerPartyIndexes[gBattlerInMenuId]], gSpecialVar_ItemId, gBattlerPartyIndexes[gBattlerInMenuId], 0))
|
||||
{
|
||||
DisplayItemMessageInBag(taskId, 2, gText_WontHaveEffect, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, 2, gText_WontHaveEffect, Task_ReturnToBagFromContextMenu);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -790,7 +790,7 @@ static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId)
|
||||
{
|
||||
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
|
||||
{
|
||||
sub_8108CB4();
|
||||
Bag_BeginCloseWin0Animation();
|
||||
ItemMenu_StartFadeToExitCallback(taskId);
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -107,7 +107,7 @@ bool8 itemid_link_can_give_berry(u16 itemId)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 itemid_80BF6D8_mail_related(u16 itemId)
|
||||
bool8 CanWriteMailHere(u16 itemId)
|
||||
{
|
||||
if (IsUpdateLinkStateCBActive() != TRUE && InUnionRoom() != TRUE)
|
||||
return TRUE;
|
||||
@@ -242,7 +242,7 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u8 sub_80BF8E4(void)
|
||||
u8 GetDialogBoxFontId(void)
|
||||
{
|
||||
if (!ContextNpcGetTextColor())
|
||||
return 4;
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ void ResetMenuAndMonGlobals(void)
|
||||
gDifferentSaveFile = FALSE;
|
||||
ZeroPlayerPartyMons();
|
||||
ZeroEnemyPartyMons();
|
||||
sub_81089BC();
|
||||
ResetBagCursorPositions();
|
||||
ResetTMCaseCursorPos();
|
||||
BerryPouch_CursorResetToTop();
|
||||
ResetQuestLog();
|
||||
|
||||
+6
-6
@@ -3451,7 +3451,7 @@ static void CursorCB_Give(u8 taskId)
|
||||
|
||||
void CB2_SelectBagItemToGive(void)
|
||||
{
|
||||
GoToBagMenu(1, 3, CB2_GiveHoldItem);
|
||||
GoToBagMenu(ITEMMENULOCATION_PARTY, OPEN_BAG_LAST, CB2_GiveHoldItem);
|
||||
}
|
||||
|
||||
void CB2_GiveHoldItem(void)
|
||||
@@ -4283,12 +4283,12 @@ void CB2_ShowPartyMenuForItemUse(void)
|
||||
|
||||
static void CB2_ReturnToBagMenu(void)
|
||||
{
|
||||
GoToBagMenu(11, 3, NULL);
|
||||
GoToBagMenu(ITEMMENULOCATION_LAST, OPEN_BAG_LAST, NULL);
|
||||
}
|
||||
|
||||
static void CB2_ReturnToTMCaseMenu(void)
|
||||
{
|
||||
InitTMCase(5, NULL, 0xFF);
|
||||
InitTMCase(TMCASE_NA, NULL, 0xFF);
|
||||
}
|
||||
|
||||
static void CB2_ReturnToBerryPouchMenu(void)
|
||||
@@ -5904,7 +5904,7 @@ void OpenPartyMenuInBattle(void)
|
||||
|
||||
void ChooseMonForInBattleItem(void)
|
||||
{
|
||||
InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_REUSABLE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, sub_8120FCC, sub_8107ECC);
|
||||
InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_REUSABLE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, sub_8120FCC, CB2_BagMenuFromBattle);
|
||||
nullsub_44();
|
||||
UpdatePartyToBattleOrder();
|
||||
}
|
||||
@@ -5919,7 +5919,7 @@ void sub_81279E0(void)
|
||||
FALSE,
|
||||
PARTY_MSG_NONE,
|
||||
sub_8120C3C,
|
||||
sub_8107ECC);
|
||||
CB2_BagMenuFromBattle);
|
||||
sub_80EB2F4(8);
|
||||
}
|
||||
else
|
||||
@@ -5929,7 +5929,7 @@ void sub_81279E0(void)
|
||||
if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH)
|
||||
callback = CB2_ReturnToBerryPouchMenu;
|
||||
else
|
||||
callback = sub_8107ECC;
|
||||
callback = CB2_BagMenuFromBattle;
|
||||
InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE,
|
||||
GetPartyLayoutFromBattleType(),
|
||||
PARTY_ACTION_USE_ITEM,
|
||||
|
||||
+1
-1
@@ -322,7 +322,7 @@ static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId)
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
CleanupOverworldWindowsAndTilemaps();
|
||||
GoToBagMenu(3, POCKET_ITEMS - 1, CB2_ReturnToField);
|
||||
GoToBagMenu(ITEMMENULOCATION_ITEMPC, OPEN_BAG_ITEMS, CB2_ReturnToField);
|
||||
gFieldCallback = CB2_ReturnFromDepositMenu;
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
+1
-1
@@ -1547,7 +1547,7 @@ const struct SpriteTemplate gUnknown_825DF50[] =
|
||||
.paletteTag = 0,
|
||||
.oam = &gOamData_824F018,
|
||||
.anims = NULL,
|
||||
.images = gTrainerBackPicTable_PokeDude,
|
||||
.images = gTrainerBackPicTable_Pokedude,
|
||||
.affineAnims = gSpriteAffineAnimTable_82348C8,
|
||||
.callback = sub_80120C4,
|
||||
},
|
||||
|
||||
+1
-1
@@ -307,7 +307,7 @@ static void Task_HandleShopMenuSell(u8 taskId)
|
||||
|
||||
static void CB2_GoToSellMenu(void)
|
||||
{
|
||||
GoToBagMenu(2, POCKET_POKE_BALLS, CB2_ReturnToField);
|
||||
GoToBagMenu(ITEMMENULOCATION_SHOP, OPEN_BAG_LAST, CB2_ReturnToField);
|
||||
gFieldCallback = MapPostLoadHook_ReturnToShopMenu;
|
||||
}
|
||||
|
||||
|
||||
+3
-13
@@ -34,16 +34,6 @@
|
||||
#include "fieldmap.h"
|
||||
#include "strings.h"
|
||||
|
||||
enum TeachyTvScript
|
||||
{
|
||||
TTVSCR_BATTLE,
|
||||
TTVSCR_STATUS,
|
||||
TTVSCR_MATCHUPS,
|
||||
TTVSCR_CATCHING,
|
||||
TTVSCR_TMS,
|
||||
TTVSCR_REGISTER
|
||||
};
|
||||
|
||||
struct TeachyTvCtrlBlk
|
||||
{
|
||||
MainCallback callback;
|
||||
@@ -805,7 +795,7 @@ static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId)
|
||||
if (spriteAddr->pos2.x == 0x78)
|
||||
{
|
||||
StartSpriteAnim(&gSprites[data[1]], 0);
|
||||
TeachyTvInitTextPrinter(gTeachyTvText_PokeDudeSaysHello);
|
||||
TeachyTvInitTextPrinter(gTeachyTvText_PokedudeSaysHello);
|
||||
data[2] = 0;
|
||||
++data[3];
|
||||
}
|
||||
@@ -1103,9 +1093,9 @@ static void TTVcmd_TaskBattleOrFadeByOptionChosen(u8 taskId)
|
||||
static void TeachyTvSetupBagItemsByOptionChosen(void)
|
||||
{
|
||||
if (sStaticResources.whichScript == TTVSCR_TMS)
|
||||
sub_810B108(10);
|
||||
InitPokedudeBag(ITEMMENULOCATION_TTVSCR_TMS);
|
||||
else
|
||||
sub_810B108(9);
|
||||
InitPokedudeBag(ITEMMENULOCATION_TTVSCR_REGISTER);
|
||||
}
|
||||
|
||||
static void TeachyTvPostBattleFadeControl(u8 taskId)
|
||||
|
||||
+17
-17
@@ -67,7 +67,7 @@ struct UnkStruct_203B11C
|
||||
|
||||
static EWRAM_DATA struct UnkStruct_203B10C sTMCaseStaticResources = {};
|
||||
static EWRAM_DATA struct UnkStruct_203B118 * sTMCaseDynamicResources = NULL;
|
||||
static EWRAM_DATA struct UnkStruct_203B11C * sPokeDudePackBackup = NULL;
|
||||
static EWRAM_DATA struct UnkStruct_203B11C * sPokedudePackBackup = NULL;
|
||||
static EWRAM_DATA void * sTilemapBuffer = NULL; // tilemap buffer
|
||||
static EWRAM_DATA struct ListMenuItem * sListMenuItemsBuffer = NULL;
|
||||
static EWRAM_DATA u8 (* sListMenuStringsBuffer)[29] = NULL;
|
||||
@@ -977,7 +977,7 @@ static void Task_SelectTMAction_FromSellMenu(u8 taskId)
|
||||
{
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Subtask_CloseContextMenuAndReturnToMain);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, GetDialogBoxFontId(), gStringVar4, Subtask_CloseContextMenuAndReturnToMain);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -993,7 +993,7 @@ static void Task_SelectTMAction_FromSellMenu(u8 taskId)
|
||||
data[2] = 99;
|
||||
CopyItemName(gSpecialVar_ItemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_InitQuantitySelectUI);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, GetDialogBoxFontId(), gStringVar4, Task_InitQuantitySelectUI);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1004,7 +1004,7 @@ static void Task_AskConfirmSaleWithAmount(u8 taskId)
|
||||
|
||||
ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6);
|
||||
StringExpandPlaceholders(gStringVar4, gText_ICanPayThisMuch_WouldThatBeOkay);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_PlaceYesNoBox);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, GetDialogBoxFontId(), gStringVar4, Task_PlaceYesNoBox);
|
||||
}
|
||||
|
||||
static void Task_PlaceYesNoBox(u8 taskId)
|
||||
@@ -1133,13 +1133,13 @@ static void Task_AfterSale_ReturnToList(u8 taskId)
|
||||
}
|
||||
}
|
||||
|
||||
void PokeDude_InitTMCase(void)
|
||||
void Pokedude_InitTMCase(void)
|
||||
{
|
||||
sPokeDudePackBackup = AllocZeroed(sizeof(*sPokeDudePackBackup));
|
||||
memcpy(sPokeDudePackBackup->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||
memcpy(sPokeDudePackBackup->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||
sPokeDudePackBackup->unk_160 = sTMCaseStaticResources.selectedRow;
|
||||
sPokeDudePackBackup->unk_162 = sTMCaseStaticResources.scrollOffset;
|
||||
sPokedudePackBackup = AllocZeroed(sizeof(*sPokedudePackBackup));
|
||||
memcpy(sPokedudePackBackup->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||
memcpy(sPokedudePackBackup->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||
sPokedudePackBackup->unk_160 = sTMCaseStaticResources.selectedRow;
|
||||
sPokedudePackBackup->unk_162 = sTMCaseStaticResources.scrollOffset;
|
||||
ClearItemSlots(gSaveBlock1Ptr->bagPocket_TMHM, NELEMS(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||
ClearItemSlots(gSaveBlock1Ptr->bagPocket_KeyItems, NELEMS(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||
ResetTMCaseCursorPos();
|
||||
@@ -1234,7 +1234,7 @@ static void Task_TMCaseDude_Playback(u8 taskId)
|
||||
break;
|
||||
case 8:
|
||||
FillBG2RowWithPalette_2timesNplus1(1);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_TMTypes, 0);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokedudeText_TMTypes, 0);
|
||||
gTasks[taskId].func = Task_TMCaseDude_Playback;
|
||||
data[8]++;
|
||||
break;
|
||||
@@ -1256,7 +1256,7 @@ static void Task_TMCaseDude_Playback(u8 taskId)
|
||||
break;
|
||||
case 18:
|
||||
FillBG2RowWithPalette_2timesNplus1(1);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_ReadTMDescription, NULL);
|
||||
TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokedudeText_ReadTMDescription, NULL);
|
||||
gTasks[taskId].func = Task_TMCaseDude_Playback; // this function
|
||||
data[8]++;
|
||||
break;
|
||||
@@ -1267,12 +1267,12 @@ static void Task_TMCaseDude_Playback(u8 taskId)
|
||||
case 21:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_TMHM, sPokeDudePackBackup->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, sPokeDudePackBackup->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_TMHM, sPokedudePackBackup->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM));
|
||||
memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, sPokedudePackBackup->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems));
|
||||
DestroyListMenuTask(data[0], NULL, NULL);
|
||||
sTMCaseStaticResources.selectedRow = sPokeDudePackBackup->unk_160;
|
||||
sTMCaseStaticResources.scrollOffset = sPokeDudePackBackup->unk_162;
|
||||
Free(sPokeDudePackBackup);
|
||||
sTMCaseStaticResources.selectedRow = sPokedudePackBackup->unk_160;
|
||||
sTMCaseStaticResources.scrollOffset = sPokedudePackBackup->unk_162;
|
||||
Free(sPokedudePackBackup);
|
||||
CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400);
|
||||
CB2_SetUpReshowBattleScreenAfterMenu();
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0);
|
||||
|
||||
+1
-39
@@ -335,45 +335,7 @@ gUnknown_203ACF0: @ 203ACF0
|
||||
.align 2
|
||||
.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
|
||||
|
||||
gUnknown_203AD10: @ 203AD10
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203AD14: @ 203AD14
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203AD18: @ 203AD18
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203AD1C: @ 203AD1C
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203AD20: @ 203AD20
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203AD24: @ 203AD24
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203AD28: @ 203AD28
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203AD2C: @ 203AD2C
|
||||
.space 0x4
|
||||
|
||||
gSpecialVar_ItemId: @ 203AD30
|
||||
.space 0x4
|
||||
|
||||
.include "src/item_menu.o"
|
||||
.align 2
|
||||
.include "src/bag.o"
|
||||
.align 2
|
||||
|
||||
Reference in New Issue
Block a user