From 3ecda6265051d15c920bd185ea88cad579523b73 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 29 Apr 2019 12:27:50 -0400 Subject: Decompile bag.s --- src/bag.c | 243 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 243 insertions(+) create mode 100644 src/bag.c (limited to 'src/bag.c') diff --git a/src/bag.c b/src/bag.c new file mode 100644 index 000000000..003b30e8a --- /dev/null +++ b/src/bag.c @@ -0,0 +1,243 @@ +#include "global.h" +#include "task.h" +#include "palette.h" +#include "item_menu.h" +#include "text.h" +#include "window.h" +#include "text_window.h" +#include "menu_helpers.h" +#include "menu.h" +#include "money.h" +#include "bag.h" + +extern const u8 gUnknown_84162E8[]; + +const u16 gUnknown_8453098[] = INCBIN_U16("data/bag/bag_window_pal.gbapal"); +const struct TextColor gUnknown_84530B8[] = { + {0, 1, 2}, + {0, 2, 3}, + {0, 3, 2}, + {0, 8, 9} +}; +const struct WindowTemplate gUnknown_84530C4[] = { + { + .priority = 0, + .tilemapLeft = 0x0b, + .tilemapTop = 0x01, + .width = 0x12, + .height = 0x0c, + .paletteNum = 0x0f, + .baseBlock = 0x008a + }, { + .priority = 0, + .tilemapLeft = 0x05, + .tilemapTop = 0x0e, + .width = 0x19, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x0162 + }, { + .priority = 0, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x09, + .height = 0x02, + .paletteNum = 0x0f, + .baseBlock = 0x01f8 + }, DUMMY_WIN_TEMPLATE +}; +const struct WindowTemplate gUnknown_84530E4[] = { + { + .priority = 0, + .tilemapLeft = 0x0b, + .tilemapTop = 0x01, + .width = 0x12, + .height = 0x0c, + .paletteNum = 0x0f, + .baseBlock = 0x008a + }, { + .priority = 0, + .tilemapLeft = 0x05, + .tilemapTop = 0x0e, + .width = 0x19, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x0162 + }, { + .priority = 0, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x08, + .height = 0x02, + .paletteNum = 0x0C, + .baseBlock = 0x01f8 + }, DUMMY_WIN_TEMPLATE +}; +const struct WindowTemplate gUnknown_8453104[] = { + { + .priority = 0, + .tilemapLeft = 24, + .tilemapTop = 15, + .width = 5, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x242 + }, { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 9, + .width = 12, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x242 + }, { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 8, + .height = 3, + .paletteNum = 0xC, + .baseBlock = 0x272 + } +}; + +const struct WindowTemplate gUnknown_845311C = { + .priority = 0, + .tilemapLeft = 23, + .tilemapTop = 15, + .width = 6, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x28a +}; + +const struct WindowTemplate gUnknown_8453124 = { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 6, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x28a +}; + +EWRAM_DATA u8 gUnknown_203AD34[11] = {}; + +void sub_810B858(void) +{ + u8 i; + + if (gUnknown_203ACFC.location != 3) + InitWindows(gUnknown_84530C4); + else + InitWindows(gUnknown_84530E4); + DeactivateAllTextPrinters(); + sub_815001C(0, 0x64, 0xE0); + sub_814FEAC(0, 0x6D, 0xD0); + sub_814FF2C(0, 0x81, 0xC0); + LoadPalette(gUnknown_8453098, 0xF0, 0x20); + for (i = 0; i < 3; i++) + { + FillWindowPixelBuffer(i, 0x00); + PutWindowTilemap(i); + } + schedule_bg_copy_tilemap_to_vram(0); + for (i = 0; i < 11; i++) + { + gUnknown_203AD34[i] = 0xFF; + } +} + +void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx) +{ + AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); +} + +void sub_810B958(const u8 * str) +{ + u32 x = 0x48 - GetStringWidth(1, str, 0); + box_print(2, 1, x / 2, 1, &gUnknown_84530B8[0], 0, str); +} + +void sub_810B994(void) +{ + u32 x; + SetWindowBorderStyle(2, FALSE, 0x081, 0x0C); + x = 0x40 - GetStringWidth(0, gUnknown_84162E8, 0); + AddTextPrinterParameterized(2, 0, gUnknown_84162E8, x / 2, 1, 0, NULL); +} + +u8 sub_810B9DC(u8 a0, u8 a1) +{ + if (gUnknown_203AD34[a0] == 0xFF) + { + gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0 + a1]); + if (a0 != 6) + { + SetWindowBorderStyle(gUnknown_203AD34[a0], FALSE, 0x064, 0x0E); + } + else + { + SetWindowBorderStyle(gUnknown_203AD34[a0], FALSE, 0x081, 0x0C); + } + schedule_bg_copy_tilemap_to_vram(0); + } + return gUnknown_203AD34[a0]; +} + +void sub_810BA3C(u8 a0) +{ + sub_810F4D8(gUnknown_203AD34[a0], FALSE); + ClearWindowTilemap(gUnknown_203AD34[a0]); + RemoveWindow(gUnknown_203AD34[a0]); + schedule_bg_copy_tilemap_to_vram(0); + gUnknown_203AD34[a0] = 0xFF; +} + +u8 sub_810BA70(u8 a0) +{ + if (gUnknown_203AD34[a0] == 0xFF) + { + gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0]); + } + return gUnknown_203AD34[a0]; +} + +void sub_810BA9C(u8 a0) +{ + if (gUnknown_203AD34[a0] != 0xFF) + { + sub_810F260(gUnknown_203AD34[a0], FALSE); + ClearWindowTilemap(gUnknown_203AD34[a0]); + RemoveWindow(gUnknown_203AD34[a0]); + PutWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(0); + gUnknown_203AD34[a0] = 0xFF; + + } +} + +u8 sub_810BAD8(u8 a0) +{ + return gUnknown_203AD34[a0]; +} + +void sub_810BAE8(u8 taskId, const struct YesNoFuncTable * ptrs) +{ + CreateYesNoMenuWithCallbacks(taskId, &gUnknown_845311C, 2, 0, 2, 0x64, 0x0E, ptrs); +} + +void sub_810BB14(u8 taskId, const struct YesNoFuncTable * ptrs) +{ + CreateYesNoMenuWithCallbacks(taskId, &gUnknown_8453124, 2, 0, 2, 0x064, 0x0E, ptrs); +} + +void sub_810BB40(void) +{ + PrintMoneyAmountInMoneyBoxWithBorder(sub_810B9DC(2, 0), 0x081, 0x0C, GetMoney(&gSaveBlock1Ptr->money)); +} + +void sub_810BB74(u8 windowId) +{ + DrawTextBorderOuter(windowId, 0x064, 0x0E); +} -- cgit v1.2.3 From 24d36fd91fb7b13efed60c94ab3882ce3b2d55ab Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 29 Apr 2019 12:35:32 -0400 Subject: gText_DepositItem --- src/bag.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/bag.c') diff --git a/src/bag.c b/src/bag.c index 003b30e8a..f82358a10 100644 --- a/src/bag.c +++ b/src/bag.c @@ -10,7 +10,7 @@ #include "money.h" #include "bag.h" -extern const u8 gUnknown_84162E8[]; +extern const u8 gText_DepositItem[]; const u16 gUnknown_8453098[] = INCBIN_U16("data/bag/bag_window_pal.gbapal"); const struct TextColor gUnknown_84530B8[] = { @@ -163,8 +163,8 @@ void sub_810B994(void) { u32 x; SetWindowBorderStyle(2, FALSE, 0x081, 0x0C); - x = 0x40 - GetStringWidth(0, gUnknown_84162E8, 0); - AddTextPrinterParameterized(2, 0, gUnknown_84162E8, x / 2, 1, 0, NULL); + x = 0x40 - GetStringWidth(0, gText_DepositItem, 0); + AddTextPrinterParameterized(2, 0, gText_DepositItem, x / 2, 1, 0, NULL); } u8 sub_810B9DC(u8 a0, u8 a1) -- cgit v1.2.3 From 35e7dffe66de92dccda079b62a6ce268906e1440 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 29 Apr 2019 13:06:11 -0400 Subject: trainer_pokemon_sprites --- src/bag.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) (limited to 'src/bag.c') diff --git a/src/bag.c b/src/bag.c index f82358a10..4386f5fdf 100644 --- a/src/bag.c +++ b/src/bag.c @@ -121,6 +121,84 @@ const struct WindowTemplate gUnknown_8453124 = { .baseBlock = 0x28a }; +const struct WindowTemplate gUnknown_845312C[] = { + { + .priority = 0x00, + .tilemapLeft = 0x02, + .tilemapTop = 0x0f, + .width = 0x1a, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x02a2 + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x0e, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x02a2 + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x0f, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x02da + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x10, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x0316 + }, { + .priority = 0x00, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x17, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x0356 + }, { + .priority = 0x00, + .tilemapLeft = 0x16, + .tilemapTop = 0x11, + .width = 0x07, + .height = 0x02, + .paletteNum = 0x0f, + .baseBlock = 0x020a + }, { + .priority = 0x00, + .tilemapLeft = 0x16, + .tilemapTop = 0x0f, + .width = 0x07, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x020a + }, { + .priority = 0x00, + .tilemapLeft = 0x16, + .tilemapTop = 0x0d, + .width = 0x07, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x020a + }, { + .priority = 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) -- cgit v1.2.3 From 348bd19fddefede38716607ffe0ecdb4ae199bea Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 20 May 2019 11:09:41 -0400 Subject: text_window --- src/bag.c | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'src/bag.c') diff --git a/src/bag.c b/src/bag.c index 4386f5fdf..acfeddc60 100644 --- a/src/bag.c +++ b/src/bag.c @@ -21,7 +21,7 @@ const struct TextColor gUnknown_84530B8[] = { }; const struct WindowTemplate gUnknown_84530C4[] = { { - .priority = 0, + .bg = 0, .tilemapLeft = 0x0b, .tilemapTop = 0x01, .width = 0x12, @@ -29,7 +29,7 @@ const struct WindowTemplate gUnknown_84530C4[] = { .paletteNum = 0x0f, .baseBlock = 0x008a }, { - .priority = 0, + .bg = 0, .tilemapLeft = 0x05, .tilemapTop = 0x0e, .width = 0x19, @@ -37,7 +37,7 @@ const struct WindowTemplate gUnknown_84530C4[] = { .paletteNum = 0x0f, .baseBlock = 0x0162 }, { - .priority = 0, + .bg = 0, .tilemapLeft = 0x01, .tilemapTop = 0x01, .width = 0x09, @@ -48,7 +48,7 @@ const struct WindowTemplate gUnknown_84530C4[] = { }; const struct WindowTemplate gUnknown_84530E4[] = { { - .priority = 0, + .bg = 0, .tilemapLeft = 0x0b, .tilemapTop = 0x01, .width = 0x12, @@ -56,7 +56,7 @@ const struct WindowTemplate gUnknown_84530E4[] = { .paletteNum = 0x0f, .baseBlock = 0x008a }, { - .priority = 0, + .bg = 0, .tilemapLeft = 0x05, .tilemapTop = 0x0e, .width = 0x19, @@ -64,7 +64,7 @@ const struct WindowTemplate gUnknown_84530E4[] = { .paletteNum = 0x0f, .baseBlock = 0x0162 }, { - .priority = 0, + .bg = 0, .tilemapLeft = 0x01, .tilemapTop = 0x01, .width = 0x08, @@ -75,7 +75,7 @@ const struct WindowTemplate gUnknown_84530E4[] = { }; const struct WindowTemplate gUnknown_8453104[] = { { - .priority = 0, + .bg = 0, .tilemapLeft = 24, .tilemapTop = 15, .width = 5, @@ -83,7 +83,7 @@ const struct WindowTemplate gUnknown_8453104[] = { .paletteNum = 0xF, .baseBlock = 0x242 }, { - .priority = 0, + .bg = 0, .tilemapLeft = 17, .tilemapTop = 9, .width = 12, @@ -91,7 +91,7 @@ const struct WindowTemplate gUnknown_8453104[] = { .paletteNum = 0xF, .baseBlock = 0x242 }, { - .priority = 0, + .bg = 0, .tilemapLeft = 1, .tilemapTop = 1, .width = 8, @@ -102,7 +102,7 @@ const struct WindowTemplate gUnknown_8453104[] = { }; const struct WindowTemplate gUnknown_845311C = { - .priority = 0, + .bg = 0, .tilemapLeft = 23, .tilemapTop = 15, .width = 6, @@ -112,7 +112,7 @@ const struct WindowTemplate gUnknown_845311C = { }; const struct WindowTemplate gUnknown_8453124 = { - .priority = 0, + .bg = 0, .tilemapLeft = 21, .tilemapTop = 9, .width = 6, @@ -123,7 +123,7 @@ const struct WindowTemplate gUnknown_8453124 = { const struct WindowTemplate gUnknown_845312C[] = { { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x02, .tilemapTop = 0x0f, .width = 0x1a, @@ -131,7 +131,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0f, .baseBlock = 0x02a2 }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x06, .tilemapTop = 0x0f, .width = 0x0e, @@ -139,7 +139,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0c, .baseBlock = 0x02a2 }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x06, .tilemapTop = 0x0f, .width = 0x0f, @@ -147,7 +147,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0c, .baseBlock = 0x02da }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x06, .tilemapTop = 0x0f, .width = 0x10, @@ -155,7 +155,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0c, .baseBlock = 0x0316 }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x06, .tilemapTop = 0x0f, .width = 0x17, @@ -163,7 +163,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0c, .baseBlock = 0x0356 }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x16, .tilemapTop = 0x11, .width = 0x07, @@ -171,7 +171,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0f, .baseBlock = 0x020a }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x16, .tilemapTop = 0x0f, .width = 0x07, @@ -179,7 +179,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0f, .baseBlock = 0x020a }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x16, .tilemapTop = 0x0d, .width = 0x07, @@ -187,7 +187,7 @@ const struct WindowTemplate gUnknown_845312C[] = { .paletteNum = 0x0f, .baseBlock = 0x020a }, { - .priority = 0x00, + .bg = 0x00, .tilemapLeft = 0x16, .tilemapTop = 0x0b, .width = 0x07, -- cgit v1.2.3 From e73ce5317dfc243474faa9187181ed323faf4ed5 Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 30 May 2019 17:05:30 -0400 Subject: Parametrized to Parameterized --- src/bag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/bag.c') diff --git a/src/bag.c b/src/bag.c index acfeddc60..a9441eb8d 100644 --- a/src/bag.c +++ b/src/bag.c @@ -228,7 +228,7 @@ 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) { - AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); + AddTextPrinterParameterized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); } void sub_810B958(const u8 * str) -- cgit v1.2.3 From b249154009efceb5710848a2567fb821d3e7217a Mon Sep 17 00:00:00 2001 From: garak Date: Thu, 30 May 2019 17:44:48 -0400 Subject: synchronize text printer function names with pokeemerald --- src/bag.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/bag.c') diff --git a/src/bag.c b/src/bag.c index a9441eb8d..6f0badd81 100644 --- a/src/bag.c +++ b/src/bag.c @@ -228,13 +228,13 @@ 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) { - AddTextPrinterParameterized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); + AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); } void sub_810B958(const u8 * str) { u32 x = 0x48 - GetStringWidth(1, str, 0); - box_print(2, 1, x / 2, 1, &gUnknown_84530B8[0], 0, str); + AddTextPrinterParameterized3(2, 1, x / 2, 1, &gUnknown_84530B8[0], 0, str); } void sub_810B994(void) -- cgit v1.2.3 From 2b750cf44491aee3b2fe8265afb4ac6620500afa Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Mon, 17 Jun 2019 10:21:32 -0400 Subject: Rename Item PC symbols --- src/bag.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/bag.c') diff --git a/src/bag.c b/src/bag.c index 6f0badd81..f2fc40d93 100644 --- a/src/bag.c +++ b/src/bag.c @@ -210,9 +210,9 @@ void sub_810B858(void) else InitWindows(gUnknown_84530E4); DeactivateAllTextPrinters(); - sub_815001C(0, 0x64, 0xE0); - sub_814FEAC(0, 0x6D, 0xD0); - sub_814FF2C(0, 0x81, 0xC0); + TextWindow_SetUserSelectedFrame(0, 0x64, 0xE0); + TextWindow_SetBubbleFrame_841F1C8(0, 0x6D, 0xD0); + TextWindow_SetStdFrame0_WithPal(0, 0x81, 0xC0); LoadPalette(gUnknown_8453098, 0xF0, 0x20); for (i = 0; i < 3; i++) { @@ -265,7 +265,7 @@ u8 sub_810B9DC(u8 a0, u8 a1) void sub_810BA3C(u8 a0) { - sub_810F4D8(gUnknown_203AD34[a0], FALSE); + ClearMenuWindow(gUnknown_203AD34[a0], FALSE); ClearWindowTilemap(gUnknown_203AD34[a0]); RemoveWindow(gUnknown_203AD34[a0]); schedule_bg_copy_tilemap_to_vram(0); @@ -285,7 +285,7 @@ void sub_810BA9C(u8 a0) { if (gUnknown_203AD34[a0] != 0xFF) { - sub_810F260(gUnknown_203AD34[a0], FALSE); + ClearMenuWindow_BorderThickness2(gUnknown_203AD34[a0], FALSE); ClearWindowTilemap(gUnknown_203AD34[a0]); RemoveWindow(gUnknown_203AD34[a0]); PutWindowTilemap(1); -- cgit v1.2.3