diff options
author | Evan <eroelke@gmail.com> | 2019-11-24 16:27:26 -0700 |
---|---|---|
committer | Evan <eroelke@gmail.com> | 2019-11-24 16:27:26 -0700 |
commit | 697fabb98aef399d6178051df6a33418b59aa962 (patch) | |
tree | bdb83000478120602c60ba77bf088ce1f71c468c /src | |
parent | 2cc4db0c786e20c1ef9823d0d0a027f39dfef9f3 (diff) |
format fix
Diffstat (limited to 'src')
-rw-r--r-- | src/shop.c | 2304 |
1 files changed, 1152 insertions, 1152 deletions
diff --git a/src/shop.c b/src/shop.c index 68e82ea8e..923c7dc45 100644 --- a/src/shop.c +++ b/src/shop.c @@ -47,10 +47,10 @@ enum { - MART_TYPE_REGULAR = 0, - MART_TYPE_TMHM, - MART_TYPE_DECOR, - MART_TYPE_DECOR2, + MART_TYPE_REGULAR = 0, + MART_TYPE_TMHM, + MART_TYPE_DECOR, + MART_TYPE_DECOR2, }; // RAM symbols @@ -59,57 +59,57 @@ enum struct ShopData { - /*0x00*/ void (*callback)(void); - /*0x04*/ const u16 *itemList; - /*0x08*/ u32 itemPrice; - /*0x0C*/ u16 selectedRow; - /*0x0E*/ u16 scrollOffset; - /*0x10*/ u16 itemCount; - /*0x12*/ u16 field12; - /*0x14*/ u16 maxQuantity; - /*0x16*/ u16 martType:4; // 0x1 if tm list + /*0x00*/ void (*callback)(void); + /*0x04*/ const u16 *itemList; + /*0x08*/ u32 itemPrice; + /*0x0C*/ u16 selectedRow; + /*0x0E*/ u16 scrollOffset; + /*0x10*/ u16 itemCount; + /*0x12*/ u16 field12; + /*0x14*/ u16 maxQuantity; + /*0x16*/ u16 martType:4; // 0x1 if tm list u16 unk16_4:5; u16 itemSlot:2; - u16 unk16_11:5; - /*0x18*/ u16 unk18; - //INCOMPLETE + u16 unk16_11:5; + /*0x18*/ u16 unk18; + //INCOMPLETE }; struct MartHistory { - /*0x00*/ u32 unk0; + /*0x00*/ u32 unk0; /*0x04*/ u16 unk4; /*0x06*/ u16 unk6; /*0x08*/ u8 unk8; /*0x09*/ u8 unk9; - /*0x0A*/ u8 unkA; - /*0x0B*/ u8 unkB; + /*0x0A*/ u8 unkA; + /*0x0B*/ u8 unkB; /*0x0C*/ u16 unkC; /*0x0E*/ u8 unkE[6]; - /*0x14*/ u8 unk14; - /*0x15*/ u8 unk15; - /*0x16*/ u8 unk16; - /*0x17*/ u8 unk17; + /*0x14*/ u8 unk14; + /*0x15*/ u8 unk15; + /*0x16*/ u8 unk16; + /*0x17*/ u8 unk17; }; /* size = 0x18 */ EWRAM_DATA struct ShopData gShopData = {0}; -EWRAM_DATA u8 gUnknown_2039950 = 0; //sShopMenuWindowId +EWRAM_DATA u8 gUnknown_2039950 = 0; //sShopMenuWindowId -EWRAM_DATA u16 (*gUnknown_2039954)[0x400] = {0}; //gShopTilemapBuffers +EWRAM_DATA u16 (*gUnknown_2039954)[0x400] = {0}; //gShopTilemapBuffers EWRAM_DATA u16 (*gUnknown_2039958)[0x400] = {0}; EWRAM_DATA u16 (*gUnknown_203995C)[0x400] = {0}; EWRAM_DATA u16 (*gUnknown_2039960)[0x400] = {0}; /* -EWRAM_DATA struct ShopTilemapBuffers *gUnknown_2039954 = 0; //gShopTilemapBuffers +EWRAM_DATA struct ShopTilemapBuffers *gUnknown_2039954 = 0; //gShopTilemapBuffers EWRAM_DATA struct ShopTilemapBuffers *gUnknown_2039958 = 0; EWRAM_DATA struct ShopTilemapBuffers *gUnknown_203995C = 0; EWRAM_DATA struct ShopTilemapBuffers *gUnknown_2039960 = 0; */ EWRAM_DATA struct ListMenuItem *gUnknown_2039964 = {0}; -EWRAM_DATA u8 (*gUnknown_2039968)[13] = {0}; //item strings +EWRAM_DATA u8 (*gUnknown_2039968)[13] = {0}; //item strings -EWRAM_DATA s16 gUnknown_20398B4[MAP_OBJECTS_COUNT][4] = {0}; //sViewportMapObjects +EWRAM_DATA s16 gUnknown_20398B4[MAP_OBJECTS_COUNT][4] = {0}; //sViewportMapObjects EWRAM_DATA struct MartHistory gUnknown_203996C = {0}; EWRAM_DATA u8 gUnknown_2039984 = 0; @@ -128,16 +128,16 @@ static void sub_809AD24(void); static void sub_809AD40(u8 taskId); static void sub_809AD74(void); static void sub_809AD8C(u8 taskId); -static void sub_809ADC0(u8 taskId); //ShowShopMenuAfterExitingBuyOrSellMenu +static void sub_809ADC0(u8 taskId); //ShowShopMenuAfterExitingBuyOrSellMenu static void sub_809ADE4(void); static void sub_809AE00(void); static void sub_809AE14(void); static bool8 sub_809AF6C(void); -static void sub_809AFD0(void); //BuyMenuInitBgs +static void sub_809AFD0(void); //BuyMenuInitBgs static void sub_809B080(void); static void sub_809B10C(bool32 a0); -static void sub_809B15C(void); //BuyMenuDrawGraphics(); -static bool8 sub_809B188(void); //BuyMenuBuildListMenuTemplate +static void sub_809B15C(void); //BuyMenuDrawGraphics(); +static bool8 sub_809B188(void); //BuyMenuBuildListMenuTemplate static void sub_809B300(struct ListMenuItem *list, u16 index, u8* dst); static void sub_809B320(s32 item, bool8 onInit, struct ListMenu *list); static void sub_809B408(u8 windowId, s32 itemId, u8 y); @@ -196,75 +196,75 @@ extern const u16 gUnknown_83DF0F8[]; */ //graphics -extern const u32 gUnknown_8E85DC8[]; //gBuyMenuFrame_Gfx[]; -extern const u32 gUnknown_8E85EFC[]; //gBuyMenuFrame_Tilemap -extern const u32 gUnknown_8E86038[]; //gBuyMenuFrame_TmHmTilemap -extern const u32 gUnknown_8E86170[]; //gBuyMenuFrame_Pal +extern const u32 gUnknown_8E85DC8[]; //gBuyMenuFrame_Gfx[]; +extern const u32 gUnknown_8E85EFC[]; //gBuyMenuFrame_Tilemap +extern const u32 gUnknown_8E86038[]; //gBuyMenuFrame_TmHmTilemap +extern const u32 gUnknown_8E86170[]; //gBuyMenuFrame_Pal -static const struct MenuAction gUnknown_83DF09C[] = // sShopMenuActions_BuySellQuit +static const struct MenuAction gUnknown_83DF09C[] = // sShopMenuActions_BuySellQuit { - {gText_ShopBuy, {.void_u8 = sub_809AC5C}}, - {gText_ShopSell, {.void_u8 = sub_809AC98}}, - {gText_ShopQuit, {.void_u8 = sub_809ACF8}} + {gText_ShopBuy, {.void_u8 = sub_809AC5C}}, + {gText_ShopSell, {.void_u8 = sub_809AC98}}, + {gText_ShopQuit, {.void_u8 = sub_809ACF8}} }; -static const struct YesNoFuncTable gUnknown_83DF0B4[] = //sShopMenuActions_BuyQuit +static const struct YesNoFuncTable gUnknown_83DF0B4[] = //sShopMenuActions_BuyQuit { - sub_809BEA4, //Task_HandleShopMenuBuy, - sub_809BF98 //Task_HandleShopMenuQuit + sub_809BEA4, //Task_HandleShopMenuBuy, + sub_809BF98 //Task_HandleShopMenuQuit }; -static const struct WindowTemplate gUnknown_83DF0BC[] = //sShopMenuWindowTemplates +static const struct WindowTemplate gUnknown_83DF0BC[] = //sShopMenuWindowTemplates { { - .bg = 0, - .tilemapLeft = 2, - .tilemapTop = 1, - .width = 12, - .height = 6, - .paletteNum = 15, - .baseBlock = 8 - } -}; - -static const struct BgTemplate gUnknown_83DF0C4[] = //sShopBuyMenuBgTemplates + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 12, + .height = 6, + .paletteNum = 15, + .baseBlock = 8 + } +}; + +static const struct BgTemplate gUnknown_83DF0C4[] = //sShopBuyMenuBgTemplates { { - .bg = 0, - .charBaseIndex = 2, - .mapBaseIndex = 31, - .screenSize = 0, - .paletteMode = 0, - .priority = 0, - .baseTile = 0 + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 }, { - .bg = 1, - .charBaseIndex = 0, - .mapBaseIndex = 30, - .screenSize = 0, - .paletteMode = 0, - .priority = 1, - .baseTile = 0 + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 }, { - .bg = 2, - .charBaseIndex = 0, - .mapBaseIndex = 29, - .screenSize = 0, - .paletteMode = 0, - .priority = 2, - .baseTile = 0 + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 }, { - .bg = 3, - .charBaseIndex = 0, - .mapBaseIndex = 28, - .screenSize = 0, - .paletteMode = 0, - .priority = 3, - .baseTile = 0 + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 } }; @@ -281,32 +281,32 @@ static const u16 gUnknown_83DF0F8[] = {0x02eb, 0x031e, 0x031c}; // CreateShopMenu static u8 sub_809AAB0(u8 a0) { - gShopData.martType = sub_809AB7C(a0) & 0xF; - gShopData.selectedRow = 0; - if (!(ContextNpcGetTextColor())) - gShopData.unk16_4 = 4; - else - gShopData.unk16_4 = 5; - - gUnknown_2039950 = AddWindow(gUnknown_83DF0BC); //sShopMenuWindowTemplates - SetStdWindowBorderStyle(gUnknown_2039950, 0); - PrintTextArray(gUnknown_2039950, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 3, gUnknown_83DF09C); - Menu_InitCursor(gUnknown_2039950, 2, 0, 2, 16, 3, 0); - PutWindowTilemap(gUnknown_2039950); - CopyWindowToVram(gUnknown_2039950, 1); - return CreateTask(sub_809AC10, 8); + gShopData.martType = sub_809AB7C(a0) & 0xF; + gShopData.selectedRow = 0; + if (!(ContextNpcGetTextColor())) + gShopData.unk16_4 = 4; + else + gShopData.unk16_4 = 5; + + gUnknown_2039950 = AddWindow(gUnknown_83DF0BC); //sShopMenuWindowTemplates + SetStdWindowBorderStyle(gUnknown_2039950, 0); + PrintTextArray(gUnknown_2039950, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 3, gUnknown_83DF09C); + Menu_InitCursor(gUnknown_2039950, 2, 0, 2, 16, 3, 0); + PutWindowTilemap(gUnknown_2039950); + CopyWindowToVram(gUnknown_2039950, 1); + return CreateTask(sub_809AC10, 8); } static u8 sub_809AB7C(u32 a0) -{ - u16 retVal, i; - if (a0) +{ + u16 retVal, i; + if (a0) return (u8)a0; goto MAIN; RETURN_1: return 1; - MAIN: + MAIN: i = 0; if (i >= gShopData.itemCount) goto RETURN_0; @@ -345,192 +345,192 @@ static void sub_809ABD8(const u16 *items) //I really don't know what GameFreak w ++gShopData.itemCount; //i = gShopData.itemCount; //} while (mart->itemList[i]); - } while (mart->itemList[gShopData.itemCount]); + } while (mart->itemList[gShopData.itemCount]); } //SetShopMenuCallback static void sub_809AC04(MainCallback callback) { - gShopData.callback = callback; + gShopData.callback = callback; } //Task_ShopMenu static void sub_809AC10(u8 taskId) { - s8 input = Menu_ProcessInputNoWrapAround(); - - switch (input) - { - case MENU_NOTHING_CHOSEN: - break; - case MENU_B_PRESSED: - PlaySE(SE_SELECT); - sub_809ACF8(taskId); - break; - default: - gUnknown_83DF09C[Menu_GetCursorPos()].func.void_u8(taskId); - break; - } + s8 input = Menu_ProcessInputNoWrapAround(); + + switch (input) + { + case MENU_NOTHING_CHOSEN: + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + sub_809ACF8(taskId); + break; + default: + gUnknown_83DF09C[Menu_GetCursorPos()].func.void_u8(taskId); + break; + } } //Task_HandleShopMenuBuy static void sub_809AC5C(u8 taskId) { - SetWordTaskArg(taskId, 0xE, (u32)sub_809AE14); - fade_screen(1, 0); - gTasks[taskId].func = sub_809AD40; + SetWordTaskArg(taskId, 0xE, (u32)sub_809AE14); + fade_screen(1, 0); + gTasks[taskId].func = sub_809AD40; } //Task_HandleShopMenuSell static void sub_809AC98(u8 taskId) { - SetWordTaskArg(taskId, 0xE, (u32)sub_809ACD4); - fade_screen(1, 0); - gTasks[taskId].func = sub_809AD40; + SetWordTaskArg(taskId, 0xE, (u32)sub_809ACD4); + fade_screen(1, 0); + gTasks[taskId].func = sub_809AD40; } //CB2_GoToSellMenu static void sub_809ACD4(void) { - sub_8107DB4(2, POCKET_POKE_BALLS, CB2_ReturnToField); - gFieldCallback = sub_809AD74; + sub_8107DB4(2, POCKET_POKE_BALLS, CB2_ReturnToField); + gFieldCallback = sub_809AD74; } //Task_HandleShopMenuQuit static void sub_809ACF8(u8 taskId) { - sub_809AD24(); - sub_809C138(); - DestroyTask(taskId); - if (gShopData.callback != 0) - gShopData.callback(); + sub_809AD24(); + sub_809C138(); + DestroyTask(taskId); + if (gShopData.callback != 0) + gShopData.callback(); } static void sub_809AD24(void) { - ClearStdWindowAndFrameToTransparent(gUnknown_2039950, 2); - RemoveWindow(gUnknown_2039950); + ClearStdWindowAndFrameToTransparent(gUnknown_2039950, 2); + RemoveWindow(gUnknown_2039950); } //Task_GoToBuyOrSellMenu static void sub_809AD40(u8 taskId) { - if (gPaletteFade.active) - return; - SetMainCallback2((void *)GetWordTaskArg(taskId, 0xE)); - FreeAllWindowBuffers(); - DestroyTask(taskId); + if (gPaletteFade.active) + return; + SetMainCallback2((void *)GetWordTaskArg(taskId, 0xE)); + FreeAllWindowBuffers(); + DestroyTask(taskId); } //MapPostLoadHook_ReturnToShopMenu static void sub_809AD74(void) { - sub_807DC00(); - CreateTask(sub_809AD8C, 8); + sub_807DC00(); + CreateTask(sub_809AD8C, 8); } //Task_ReturnToShopMenu static void sub_809AD8C(u8 taskId) { - if (field_weather_is_fade_finished() != TRUE) - return; - DisplayItemMessageOnField(taskId, sub_809B56C(), gText_CanIHelpWithAnythingElse, sub_809ADC0); + if (field_weather_is_fade_finished() != TRUE) + return; + DisplayItemMessageOnField(taskId, sub_809B56C(), gText_CanIHelpWithAnythingElse, sub_809ADC0); } //ShowShopMenuAfterExitingBuyOrSellMenu static void sub_809ADC0(u8 taskId) { - sub_809AAB0(gShopData.martType); - DestroyTask(taskId); + sub_809AAB0(gShopData.martType); + DestroyTask(taskId); } //CB2_BuyMenu static void sub_809ADE4(void) { - RunTasks(); - AnimateSprites(); - BuildOamBuffer(); - UpdatePaletteFade(); - DoScheduledBgTilemapCopiesToVram(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + DoScheduledBgTilemapCopiesToVram(); } //VBlankCB_BuyMenu static void sub_809AE00(void) { - LoadOam(); - ProcessSpriteCopyRequests(); - TransferPlttBuffer(); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); } //CB2_InitBuyMenu static void sub_809AE14(void) { - u8 taskId; - switch (gMain.state) - { - case 0: - SetVBlankHBlankCallbacksToNull(); - CpuFastFill(0, (void *)OAM, 0x400); - ScanlineEffect_Stop(); - ResetTempTileDataBuffers(); - FreeAllSpritePalettes(); - ResetPaletteFade(); - ResetSpriteData(); - ResetTasks(); - ClearScheduledBgCopiesToVram(); - ResetItemMenuIconState(); - if ((!(sub_809AF6C())) || (!(sub_809B188()))) - return; - sub_809AFD0(); + u8 taskId; + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + CpuFastFill(0, (void *)OAM, 0x400); + ScanlineEffect_Stop(); + ResetTempTileDataBuffers(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + ClearScheduledBgCopiesToVram(); + ResetItemMenuIconState(); + if ((!(sub_809AF6C())) || (!(sub_809B188()))) + return; + sub_809AFD0(); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 0x20, 0x20); FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 0x20, 0x20); FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 0x20, 0x20); - BuyMenuInitWindows(gShopData.martType); - sub_809B080(); - gMain.state++; - break; - case 1: - if (FreeTempTileDataBuffersIfPossible()) - return; - gMain.state++; - break; - default: - gShopData.selectedRow = 0; - gShopData.scrollOffset = 0; - sub_809B15C(); //BuyMenuDrawGraphics(); - sub_809B690(); //BuyMenuAddScrollIndicatorArrows(); - taskId = CreateTask(sub_809BBC0, 8); - gTasks[taskId].tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); - BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); + BuyMenuInitWindows(gShopData.martType); + sub_809B080(); + gMain.state++; + break; + case 1: + if (FreeTempTileDataBuffersIfPossible()) + return; + gMain.state++; + break; + default: + gShopData.selectedRow = 0; + gShopData.scrollOffset = 0; + sub_809B15C(); //BuyMenuDrawGraphics(); + sub_809B690(); //BuyMenuAddScrollIndicatorArrows(); + taskId = CreateTask(sub_809BBC0, 8); + gTasks[taskId].tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(sub_809AE00); SetMainCallback2(sub_809ADE4); - break; - } + break; + } } //InitShopData static bool8 sub_809AF6C(void) { - gUnknown_2039954 = Alloc(sizeof(*gUnknown_2039954)); - if (gUnknown_2039954 == 0) - goto CANCEL; - gUnknown_2039958 = Alloc(sizeof(*gUnknown_2039958)); - if (gUnknown_2039958 == 0) - goto CANCEL; - gUnknown_203995C = Alloc(sizeof(*gUnknown_203995C)); - if (gUnknown_203995C == 0) - goto CANCEL; - gUnknown_2039960 = Alloc(sizeof(*gUnknown_2039960)); - if (gUnknown_2039960 == 0) - goto CANCEL; - return TRUE; - - CANCEL: - sub_809B604(); - sub_809B670(); - return FALSE; + gUnknown_2039954 = Alloc(sizeof(*gUnknown_2039954)); + if (gUnknown_2039954 == 0) + goto CANCEL; + gUnknown_2039958 = Alloc(sizeof(*gUnknown_2039958)); + if (gUnknown_2039958 == 0) + goto CANCEL; + gUnknown_203995C = Alloc(sizeof(*gUnknown_203995C)); + if (gUnknown_203995C == 0) + goto CANCEL; + gUnknown_2039960 = Alloc(sizeof(*gUnknown_2039960)); + if (gUnknown_2039960 == 0) + goto CANCEL; + return TRUE; + + CANCEL: + sub_809B604(); + sub_809B670(); + return FALSE; } #ifdef NONMATCHING @@ -538,137 +538,137 @@ static bool8 sub_809AF6C(void) // this matches but adjusts offsets const for some reason... static void sub_809AFD0(void) { - ResetBgsAndClearDma3BusyFlags(0); - InitBgsFromTemplates(0, gUnknown_83DF0C4, 4); //NELEMS(gUnknown_83DF0C4)); - SetBgTilemapBuffer(1, gUnknown_2039958); - SetBgTilemapBuffer(2, gUnknown_2039960); - SetBgTilemapBuffer(3, gUnknown_203995C); - SetGpuReg(0x10, 0); - SetGpuReg(0x12, 0); - SetGpuReg(0x14, 0); - SetGpuReg(0x16, 0); - SetGpuReg(0x18, 0); - SetGpuReg(0x1A, 0); - SetGpuReg(0x1C, 0); - SetGpuReg(0x1E, 0); - SetGpuReg(0x50, 0); - SetGpuReg(0, 0x1040); - ShowBg(0); - ShowBg(1); - ShowBg(2); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_83DF0C4, 4); //NELEMS(gUnknown_83DF0C4)); + SetBgTilemapBuffer(1, gUnknown_2039958); + SetBgTilemapBuffer(2, gUnknown_2039960); + SetBgTilemapBuffer(3, gUnknown_203995C); + SetGpuReg(0x10, 0); + SetGpuReg(0x12, 0); + SetGpuReg(0x14, 0); + SetGpuReg(0x16, 0); + SetGpuReg(0x18, 0); + SetGpuReg(0x1A, 0); + SetGpuReg(0x1C, 0); + SetGpuReg(0x1E, 0); + SetGpuReg(0x50, 0); + SetGpuReg(0, 0x1040); + ShowBg(0); + ShowBg(1); + ShowBg(2); } #else NAKED static void sub_809AFD0(void) { - asm_unified("\tpush {lr}\n" - "\tmovs r0, 0\n" - "\tbl ResetBgsAndClearDma3BusyFlags\n" - "\tldr r1, _0809B070 @ =gUnknown_83DF0C4\n" - "\tmovs r0, 0\n" - "\tmovs r2, 0x4\n" - "\tbl InitBgsFromTemplates\n" - "\tldr r0, _0809B074 @ =gUnknown_2039958\n" - "\tldr r1, [r0]\n" - "\tmovs r0, 0x1\n" - "\tbl SetBgTilemapBuffer\n" - "\tldr r0, _0809B078 @ =gUnknown_2039960\n" - "\tldr r1, [r0]\n" - "\tmovs r0, 0x2\n" - "\tbl SetBgTilemapBuffer\n" - "\tldr r0, _0809B07C @ =gUnknown_203995C\n" - "\tldr r1, [r0]\n" - "\tmovs r0, 0x3\n" - "\tbl SetBgTilemapBuffer\n" - "\tmovs r0, 0x10\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x12\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x14\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x16\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x18\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x1A\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x1C\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x1E\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0x50\n" - "\tmovs r1, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r1, 0x82\n" - "\tlsls r1, 5\n" - "\tmovs r0, 0\n" - "\tbl SetGpuReg\n" - "\tmovs r0, 0\n" - "\tbl ShowBg\n" - "\tmovs r0, 0x1\n" - "\tbl ShowBg\n" - "\tmovs r0, 0x2\n" - "\tbl ShowBg\n" - "\tmovs r0, 0x3\n" - "\tbl ShowBg\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_0809B070: .4byte gUnknown_83DF0C4\n" - "_0809B074: .4byte gUnknown_2039958\n" - "_0809B078: .4byte gUnknown_2039960\n" - "_0809B07C: .4byte gUnknown_203995C\n"); + asm_unified("\tpush {lr}\n" + "\tmovs r0, 0\n" + "\tbl ResetBgsAndClearDma3BusyFlags\n" + "\tldr r1, _0809B070 @ =gUnknown_83DF0C4\n" + "\tmovs r0, 0\n" + "\tmovs r2, 0x4\n" + "\tbl InitBgsFromTemplates\n" + "\tldr r0, _0809B074 @ =gUnknown_2039958\n" + "\tldr r1, [r0]\n" + "\tmovs r0, 0x1\n" + "\tbl SetBgTilemapBuffer\n" + "\tldr r0, _0809B078 @ =gUnknown_2039960\n" + "\tldr r1, [r0]\n" + "\tmovs r0, 0x2\n" + "\tbl SetBgTilemapBuffer\n" + "\tldr r0, _0809B07C @ =gUnknown_203995C\n" + "\tldr r1, [r0]\n" + "\tmovs r0, 0x3\n" + "\tbl SetBgTilemapBuffer\n" + "\tmovs r0, 0x10\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x12\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x14\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x16\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x18\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x1A\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x1C\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x1E\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0x50\n" + "\tmovs r1, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r1, 0x82\n" + "\tlsls r1, 5\n" + "\tmovs r0, 0\n" + "\tbl SetGpuReg\n" + "\tmovs r0, 0\n" + "\tbl ShowBg\n" + "\tmovs r0, 0x1\n" + "\tbl ShowBg\n" + "\tmovs r0, 0x2\n" + "\tbl ShowBg\n" + "\tmovs r0, 0x3\n" + "\tbl ShowBg\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0809B070: .4byte gUnknown_83DF0C4\n" + "_0809B074: .4byte gUnknown_2039958\n" + "_0809B078: .4byte gUnknown_2039960\n" + "_0809B07C: .4byte gUnknown_203995C\n"); } #endif //BuyMenuDecompressBgGraphics static void sub_809B080(void) { - void* pal; - DecompressAndCopyTileDataToVram(1, gUnknown_8E85DC8, 0x480, 0x3DC, 0); - if ((gShopData.martType) != MART_TYPE_TMHM) - LZDecompressWram(gUnknown_8E85EFC, gUnknown_2039954); //gBuyMenuFrame_Tilemap - else - LZDecompressWram(gUnknown_8E86038, gUnknown_2039954); //gBuyMenuFrame_TmHmTilemap - pal = Alloc(0x40); - LZDecompressWram(gUnknown_8E86170, pal); - LoadPalette(pal, 0xB0, 0x20); - LoadPalette(pal + 0x20, 0x60, 0x20); - Free(pal); + void* pal; + DecompressAndCopyTileDataToVram(1, gUnknown_8E85DC8, 0x480, 0x3DC, 0); + if ((gShopData.martType) != MART_TYPE_TMHM) + LZDecompressWram(gUnknown_8E85EFC, gUnknown_2039954); //gBuyMenuFrame_Tilemap + else + LZDecompressWram(gUnknown_8E86038, gUnknown_2039954); //gBuyMenuFrame_TmHmTilemap + pal = Alloc(0x40); + LZDecompressWram(gUnknown_8E86170, pal); + LoadPalette(pal, 0xB0, 0x20); + LoadPalette(pal + 0x20, 0x60, 0x20); + Free(pal); } static void sub_809B10C(bool32 a0) { - u8 v; - if (a0 == FALSE) - v = 0xB; - else - v = 6; - if ((gShopData.martType) != MART_TYPE_TMHM) - SetBgRectPal(1, 0, 0xE, 0x1E, 6, v); - else - SetBgRectPal(1, 0, 0xC, 0x1E, 8, v); - ScheduleBgCopyTilemapToVram(1); + u8 v; + if (a0 == FALSE) + v = 0xB; + else + v = 6; + if ((gShopData.martType) != MART_TYPE_TMHM) + SetBgRectPal(1, 0, 0xE, 0x1E, 6, v); + else + SetBgRectPal(1, 0, 0xC, 0x1E, 8, v); + ScheduleBgCopyTilemapToVram(1); } //BuyMenuDrawGraphics static void sub_809B15C(void) { - sub_809B764(); - sub_809BAFC(); - BuyMenuDrawMoneyBox(); - ScheduleBgCopyTilemapToVram(0); - ScheduleBgCopyTilemapToVram(1); - ScheduleBgCopyTilemapToVram(2); - ScheduleBgCopyTilemapToVram(3); + sub_809B764(); + sub_809BAFC(); + BuyMenuDrawMoneyBox(); + ScheduleBgCopyTilemapToVram(0); + ScheduleBgCopyTilemapToVram(1); + ScheduleBgCopyTilemapToVram(2); + ScheduleBgCopyTilemapToVram(3); } //BuyMenuBuildListMenuTemplate @@ -680,197 +680,197 @@ static bool8 sub_809B188(void) struct ShopData *mart = &gShopData; *list = Alloc((gShopData.itemCount + 1) * sizeof(*gUnknown_2039964)); if (gUnknown_2039964 == 0) - goto FREE_MEMORY; - + goto FREE_MEMORY; + gUnknown_2039968 = Alloc((gShopData.itemCount + 1) * sizeof(*gUnknown_2039968)); if (gUnknown_2039968 == 0) - { - FREE_MEMORY: - sub_809B604(); - sub_809B670(); - return FALSE; - } - + { + FREE_MEMORY: + sub_809B604(); + sub_809B670(); + return FALSE; + } + i = 0; if (i >= mart->itemCount) goto ADD_CANCEL; - - for (i = 0; i < mart->itemCount; i++) - { - sub_809B300(&gUnknown_2039964[i], mart->itemList[i], gUnknown_2039968[i]); //PokeMartWriteNameAndIdAt(u16 a0, u16 a1, u8* a2) - } - + + for (i = 0; i < mart->itemCount; i++) + { + sub_809B300(&gUnknown_2039964[i], mart->itemList[i], gUnknown_2039968[i]); //PokeMartWriteNameAndIdAt(u16 a0, u16 a1, u8* a2) + } + ADD_CANCEL: - StringCopy(gUnknown_2039968[i], gFameCheckerText_Cancel); - gUnknown_2039964[i].label = gUnknown_2039968[i]; + StringCopy(gUnknown_2039968[i], gFameCheckerText_Cancel); + gUnknown_2039964[i].label = gUnknown_2039968[i]; gUnknown_2039964[i].index = -2; gMultiuseListMenuTemplate.items = gUnknown_2039964; gMultiuseListMenuTemplate.totalItems = gShopData.itemCount + 1; - gMultiuseListMenuTemplate.windowId = 4; - gMultiuseListMenuTemplate.header_X = 0; - gMultiuseListMenuTemplate.item_X = 9; - gMultiuseListMenuTemplate.cursor_X = 1; - gMultiuseListMenuTemplate.lettersSpacing = 0; + gMultiuseListMenuTemplate.windowId = 4; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 9; + gMultiuseListMenuTemplate.cursor_X = 1; + gMultiuseListMenuTemplate.lettersSpacing = 0; gMultiuseListMenuTemplate.itemVerticalPadding = 2; - gMultiuseListMenuTemplate.upText_Y = 2; - gMultiuseListMenuTemplate.fontId = 2; + gMultiuseListMenuTemplate.upText_Y = 2; + gMultiuseListMenuTemplate.fontId = 2; gMultiuseListMenuTemplate.fillValue = 0; - gMultiuseListMenuTemplate.cursorPal = GetFontAttribute(2, 5); - gMultiuseListMenuTemplate.cursorShadowPal = GetFontAttribute(2, 7); - gMultiuseListMenuTemplate.moveCursorFunc = sub_809B320; - gMultiuseListMenuTemplate.itemPrintFunc = sub_809B408; - gMultiuseListMenuTemplate.scrollMultiple = 0; - gMultiuseListMenuTemplate.cursorKind = 0; - - if (gShopData.martType == MART_TYPE_TMHM) - v = 5; + gMultiuseListMenuTemplate.cursorPal = GetFontAttribute(2, 5); + gMultiuseListMenuTemplate.cursorShadowPal = GetFontAttribute(2, 7); + gMultiuseListMenuTemplate.moveCursorFunc = sub_809B320; + gMultiuseListMenuTemplate.itemPrintFunc = sub_809B408; + gMultiuseListMenuTemplate.scrollMultiple = 0; + gMultiuseListMenuTemplate.cursorKind = 0; + + if (gShopData.martType == MART_TYPE_TMHM) + v = 5; else v = 6; - - if ((gShopData.itemCount + 1) > v) - gMultiuseListMenuTemplate.maxShowed = v; - else - gMultiuseListMenuTemplate.maxShowed = gShopData.itemCount + 1; - - gShopData.field12 = gMultiuseListMenuTemplate.maxShowed; + + if ((gShopData.itemCount + 1) > v) + gMultiuseListMenuTemplate.maxShowed = v; + else + gMultiuseListMenuTemplate.maxShowed = gShopData.itemCount + 1; + + gShopData.field12 = gMultiuseListMenuTemplate.maxShowed; return TRUE; } //PokeMartWriteNameAndIdAt static void sub_809B300(struct ListMenuItem *list, u16 index, u8* dst) { - CopyItemName(index, dst); - list->label = dst; - list->index = index; + CopyItemName(index, dst); + list->label = dst; + list->index = index; } //BuyMenuPrintItemDescriptionAndShowItemIcon static void sub_809B320(s32 item, bool8 onInit, struct ListMenu *list) { const u8 *description; - + if (onInit != TRUE) PlaySE(SE_SELECT); if (item != INDEX_CANCEL) - description = ItemId_GetDescription(item); + description = ItemId_GetDescription(item); else description = gText_QuitShopping; - + FillWindowPixelBuffer(5, PIXEL_FILL(0)); - if (gShopData.martType != 1) - { - DestroyItemMenuIcon(gShopData.itemSlot ^ 1); - if (item != INDEX_CANCEL) - CreateItemMenuIcon(item, gShopData.itemSlot); - else - CreateItemMenuIcon(ITEM_N_A, gShopData.itemSlot); - gShopData.itemSlot ^= 1; - BuyMenuPrint(5, 2, description, 0, 3, 2, 1, 0, 0); - } - else //TM Mart - { - FillWindowPixelBuffer(6, PIXEL_FILL(0)); - sub_809B494(item); - BuyMenuPrint(5, 2, description, 2, 3, 1, 0, 0, 0); - } + if (gShopData.martType != 1) + { + DestroyItemMenuIcon(gShopData.itemSlot ^ 1); + if (item != INDEX_CANCEL) + CreateItemMenuIcon(item, gShopData.itemSlot); + else + CreateItemMenuIcon(ITEM_N_A, gShopData.itemSlot); + gShopData.itemSlot ^= 1; + BuyMenuPrint(5, 2, description, 0, 3, 2, 1, 0, 0); + } + else //TM Mart + { + FillWindowPixelBuffer(6, PIXEL_FILL(0)); + sub_809B494(item); + BuyMenuPrint(5, 2, description, 2, 3, 1, 0, 0, 0); + } } //BuyMenuPrintPriceInList -#ifdef NONMATCHING //this function was written very strangely.. +#ifdef NONMATCHING //this function was written very strangely.. static void sub_809B408(u8 windowId, s32 item, u8 y) { - u32 len; + u32 len; u8* loc; if (item != INDEX_CANCEL) { ConvertIntToDecimalStringN(gStringVar1, itemid_get_market_price(item), 0, NUM_CHARS_PRICE); - - //len = StringLength(gStringVar1); - len = 4 - StringLength(gStringVar1); + + //len = StringLength(gStringVar1); + len = 4 - StringLength(gStringVar1); //len = NUM_CHARS_PRICE - len; loc = gStringVar4; while (len != 0) - { - loc[4-len] = 0; + { + loc[4-len] = 0; *loc++; - len--; - } - StringExpandPlaceholders(loc, gText_PokedollarVar1); + len--; + } + StringExpandPlaceholders(loc, gText_PokedollarVar1); BuyMenuPrint(windowId, 1, gStringVar4, 0x69, y, 0, 0, TEXT_SPEED_FF, 1); - } + } } #else NAKED static void sub_809B408(u8 windowId, s32 item, u8 y) { - asm_unified("\tpush {r4-r6,lr}\n" - "\tsub sp, 0x14\n" - "\tlsls r0, 24\n" - "\tlsrs r6, r0, 24\n" - "\tlsls r2, 24\n" - "\tlsrs r5, r2, 24\n" - "\tmovs r0, 0x2\n" - "\tnegs r0, r0\n" - "\tcmp r1, r0\n" - "\tbeq _0809B480\n" - "\tldr r4, _0809B488 @ =gStringVar1\n" - "\tlsls r0, r1, 16\n" - "\tlsrs r0, 16\n" - "\tbl itemid_get_market_price\n" - "\tadds r1, r0, 0\n" - "\tlsls r1, 16\n" - "\tlsrs r1, 16\n" - "\tadds r0, r4, 0\n" - "\tmovs r2, 0\n" - "\tmovs r3, 0x4\n" - "\tbl ConvertIntToDecimalStringN\n" - "\tadds r0, r4, 0\n" - "\tbl StringLength\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmovs r1, 0x4\n" - "\tsubs r1, r0\n" - "\tldr r2, _0809B48C @ =gStringVar4\n" - "\tadds r0, r1, 0\n" - "\tsubs r1, 0x1\n" - "\tcmp r0, 0\n" - "\tbeq _0809B45C\n" - "\tmovs r3, 0\n" - "_0809B450:\n" - "\tstrb r3, [r2]\n" - "\tadds r2, 0x1\n" - "\tadds r0, r1, 0\n" - "\tsubs r1, 0x1\n" - "\tcmp r0, 0\n" - "\tbne _0809B450\n" - "_0809B45C:\n" - "\tldr r1, _0809B490 @ =gText_PokedollarVar1\n" - "\tadds r0, r2, 0\n" - "\tbl StringExpandPlaceholders\n" - "\tldr r2, _0809B48C @ =gStringVar4\n" - "\tstr r5, [sp]\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp, 0x4]\n" - "\tstr r0, [sp, 0x8]\n" - "\tmovs r0, 0xFF\n" - "\tstr r0, [sp, 0xC]\n" - "\tmovs r0, 0x1\n" - "\tstr r0, [sp, 0x10]\n" - "\tadds r0, r6, 0\n" - "\tmovs r1, 0\n" - "\tmovs r3, 0x69\n" - "\tbl BuyMenuPrint\n" - "_0809B480:\n" - "\tadd sp, 0x14\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t_0809B488: .4byte gStringVar1\n" - "\t_0809B48C: .4byte gStringVar4\n" - "\t_0809B490: .4byte gText_PokedollarVar1\n"); + asm_unified("\tpush {r4-r6,lr}\n" + "\tsub sp, 0x14\n" + "\tlsls r0, 24\n" + "\tlsrs r6, r0, 24\n" + "\tlsls r2, 24\n" + "\tlsrs r5, r2, 24\n" + "\tmovs r0, 0x2\n" + "\tnegs r0, r0\n" + "\tcmp r1, r0\n" + "\tbeq _0809B480\n" + "\tldr r4, _0809B488 @ =gStringVar1\n" + "\tlsls r0, r1, 16\n" + "\tlsrs r0, 16\n" + "\tbl itemid_get_market_price\n" + "\tadds r1, r0, 0\n" + "\tlsls r1, 16\n" + "\tlsrs r1, 16\n" + "\tadds r0, r4, 0\n" + "\tmovs r2, 0\n" + "\tmovs r3, 0x4\n" + "\tbl ConvertIntToDecimalStringN\n" + "\tadds r0, r4, 0\n" + "\tbl StringLength\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tmovs r1, 0x4\n" + "\tsubs r1, r0\n" + "\tldr r2, _0809B48C @ =gStringVar4\n" + "\tadds r0, r1, 0\n" + "\tsubs r1, 0x1\n" + "\tcmp r0, 0\n" + "\tbeq _0809B45C\n" + "\tmovs r3, 0\n" + "_0809B450:\n" + "\tstrb r3, [r2]\n" + "\tadds r2, 0x1\n" + "\tadds r0, r1, 0\n" + "\tsubs r1, 0x1\n" + "\tcmp r0, 0\n" + "\tbne _0809B450\n" + "_0809B45C:\n" + "\tldr r1, _0809B490 @ =gText_PokedollarVar1\n" + "\tadds r0, r2, 0\n" + "\tbl StringExpandPlaceholders\n" + "\tldr r2, _0809B48C @ =gStringVar4\n" + "\tstr r5, [sp]\n" + "\tmovs r0, 0\n" + "\tstr r0, [sp, 0x4]\n" + "\tstr r0, [sp, 0x8]\n" + "\tmovs r0, 0xFF\n" + "\tstr r0, [sp, 0xC]\n" + "\tmovs r0, 0x1\n" + "\tstr r0, [sp, 0x10]\n" + "\tadds r0, r6, 0\n" + "\tmovs r1, 0\n" + "\tmovs r3, 0x69\n" + "\tbl BuyMenuPrint\n" + "_0809B480:\n" + "\tadd sp, 0x14\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t_0809B488: .4byte gStringVar1\n" + "\t_0809B48C: .4byte gStringVar4\n" + "\t_0809B490: .4byte gText_PokedollarVar1\n"); } #endif @@ -883,16 +883,16 @@ MATCHED/TESTED UP UNTIL HERE static void sub_809B494(s32 item) { if (item != INDEX_CANCEL) - { - ConvertIntToDecimalStringN(gStringVar1, item - ITEM_DEVON_SCOPE, 2, 2); + { + ConvertIntToDecimalStringN(gStringVar1, item - ITEM_DEVON_SCOPE, 2, 2); StringCopy(gStringVar4, gOtherText_UnkF9_08_Clear_01); StringAppend(gStringVar4, gStringVar1); BuyMenuPrint(6, 0, gStringVar4, 0, 0, 0, 0, TEXT_SPEED_FF, 1); StringCopy(gStringVar4, gMoveNames[ItemIdToBattleMoveId(item)]); BuyMenuPrint(6, 2, gStringVar4, 0, 0x10, 0, 0, 0, 1); } - else - { + else + { BuyMenuPrint(6, 0, gText_ThreeHyphens, 0, 0, 0, 0, TEXT_SPEED_FF, 1); BuyMenuPrint(6, 2, gText_SevenHyphens, 0, 0x10, 0, 0, 0, 1); } @@ -901,102 +901,102 @@ static void sub_809B494(s32 item) //GetMartUnk16_4 u8 sub_809B56C(void) { - return gShopData.unk16_4; + return gShopData.unk16_4; } //BuyMenuPrintCursor static void sub_809B57C(u8 listTaskId, u8 a1) { - sub_809B59C(ListMenuGetYCoordForPrintingArrowCursor(listTaskId), a1); + sub_809B59C(ListMenuGetYCoordForPrintingArrowCursor(listTaskId), a1); } static void sub_809B59C(u8 y, u8 a1) { - if (a1 == 0xFF) - { - FillWindowPixelRect(4, 0, 1, y, GetFontAttribute(2, FONTATTR_MAX_LETTER_WIDTH), GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT)); - CopyWindowToVram(4, 2); - } - else - { - BuyMenuPrint(4, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, a1); - } + if (a1 == 0xFF) + { + FillWindowPixelRect(4, 0, 1, y, GetFontAttribute(2, FONTATTR_MAX_LETTER_WIDTH), GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT)); + CopyWindowToVram(4, 2); + } + else + { + BuyMenuPrint(4, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, a1); + } } //BuyMenuFreeMemory static void sub_809B604(void) { - if (gUnknown_2039954 != 0) - Free(gUnknown_2039954); - - if (gUnknown_2039958 != 0) - Free(gUnknown_2039958); - - if (gUnknown_203995C != 0) - Free(gUnknown_203995C); - - if (gUnknown_2039960 != 0) - Free(gUnknown_2039960); - - if (gUnknown_2039964 != 0) - Free(gUnknown_2039964); - - if (gUnknown_2039968 != 0) - Free(gUnknown_2039968); - - FreeAllWindowBuffers(); + if (gUnknown_2039954 != 0) + Free(gUnknown_2039954); + + if (gUnknown_2039958 != 0) + Free(gUnknown_2039958); + + if (gUnknown_203995C != 0) + Free(gUnknown_203995C); + + if (gUnknown_2039960 != 0) + Free(gUnknown_2039960); + + if (gUnknown_2039964 != 0) + Free(gUnknown_2039964); + + if (gUnknown_2039968 != 0) + Free(gUnknown_2039968); + + FreeAllWindowBuffers(); } //SetShopExitCallback static void sub_809B670(void) { - gFieldCallback = sub_809AD74; - SetMainCallback2(CB2_ReturnToField); + gFieldCallback = sub_809AD74; + SetMainCallback2(CB2_ReturnToField); } //BuyMenuAddScrollIndicatorArrows static void sub_809B690(void) { - if (gShopData.martType != MART_TYPE_TMHM) - { - gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 104, - (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); - } - else - { - gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 88, - (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); - } + if (gShopData.martType != MART_TYPE_TMHM) + { + gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 104, + (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); + } + else + { + gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 88, + (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); + } } //BuyQuantityAddScrollIndicatorArrows static void sub_809B6FC(void) { - gShopData.unk18 = 1; - gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &gShopData.unk18); + gShopData.unk18 = 1; + gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &gShopData.unk18); } //BuyMenuRemoveScrollIndicatorArrows static void sub_809B73C(void) { - if ((gShopData.unk16_11) == 0x1F) - return; - - RemoveScrollIndicatorArrowPair(gShopData.unk16_11); + if ((gShopData.unk16_11) == 0x1F) + return; + + RemoveScrollIndicatorArrowPair(gShopData.unk16_11); gShopData.unk16_11 = 0x1F; } static void sub_809B764(void) { - sub_809B92C(); - sub_809BA40(); - sub_809B778(); + sub_809B92C(); + sub_809BA40(); + sub_809B778(); } //BuyMenuDrawMapBg static void sub_809B778(void) -{ +{ s16 i; s16 j; s16 x; @@ -1072,14 +1072,14 @@ static void sub_809B92C(void) u8 y; u8 x; u8 num = 0; - u8 z; + u8 z; GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); - z = PlayerGetZCoord(); - + z = PlayerGetZCoord(); + for (y = 0; y < MAP_OBJECTS_COUNT; y++) gUnknown_20398B4[y].eventObjId = MAP_OBJECTS_COUNT; - + for (y = 0; y < 5; y++) { for (x = 0; x < 7; x++) @@ -1117,147 +1117,147 @@ static void sub_809B92C(void) NAKED static void sub_809B92C(void) { - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0x8\n" - "\tmovs r0, 0\n" - "\tmov r9, r0\n" - "\tmov r4, sp\n" - "\tadds r4, 0x2\n" - "\tmov r0, sp\n" - "\tadds r1, r4, 0\n" - "\tbl GetXYCoordsOneStepInFrontOfPlayer\n" - "\tbl PlayerGetZCoord\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tstr r0, [sp, 0x4]\n" - "\tmovs r5, 0\n" - "\tldr r2, _0809B9DC @ =gUnknown_20398B4\n" - "\tmovs r1, 0x10\n" - "_0809B958:\n" - "\tlsls r0, r5, 3\n" - "\tadds r0, r2\n" - "\tstrh r1, [r0]\n" - "\tadds r0, r5, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r5, r0, 24\n" - "\tcmp r5, 0xF\n" - "\tbls _0809B958\n" - "\tmovs r5, 0\n" - "\tldr r6, _0809B9E0 @ =gUnknown_20398BA\n" - "\tsubs r1, r6, 0x6\n" - "\tmov r8, r1\n" - "_0809B970:\n" - "\tmovs r4, 0\n" - "\tadds r2, r5, 0x1\n" - "\tmov r10, r2\n" - "_0809B976:\n" - "\tmov r1, sp\n" - "\tldr r3, _0809B9E4 @ =0x0000fffd\n" - "\tadds r0, r3, 0\n" - "\tldrh r1, [r1]\n" - "\tadds r0, r1\n" - "\tadds r0, r4\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tldr r2, _0809B9E8 @ =0x0000fffe\n" - "\tadds r1, r2, 0\n" - "\tmov r3, sp\n" - "\tldrh r3, [r3, 0x2]\n" - "\tadds r1, r3\n" - "\tadds r1, r5\n" - "\tlsls r1, 16\n" - "\tlsrs r1, 16\n" - "\tldr r2, [sp, 0x4]\n" - "\tbl GetFieldObjectIdByXYZ\n" - "\tlsls r0, 24\n" - "\tlsrs r3, r0, 24\n" - "\tcmp r3, 0x10\n" - "\tbeq _0809BA1C\n" - "\tmov r0, r9\n" - "\tlsls r2, r0, 3\n" - "\tmov r1, r8\n" - "\tadds r0, r2, r1\n" - "\tmovs r7, 0\n" - "\tstrh r3, [r0]\n" - "\tmov r0, r8\n" - "\tadds r0, 0x2\n" - "\tadds r0, r2, r0\n" - "\tstrh r4, [r0]\n" - "\tldr r1, _0809B9EC @ =gUnknown_20398B8\n" - "\tadds r0, r2, r1\n" - "\tstrh r5, [r0]\n" - "\tldr r1, _0809B9F0 @ =gMapObjects\n" - "\tlsls r0, r3, 3\n" - "\tadds r0, r3\n" - "\tlsls r0, 2\n" - "\tadds r0, r1\n" - "\tldrb r0, [r0, 0x18]\n" - "\tlsls r0, 28\n" - "\tlsrs r0, 28\n" - "\tcmp r0, 0x2\n" - "\tbeq _0809BA00\n" - "\tcmp r0, 0x2\n" - "\tbgt _0809B9F4\n" - "\tcmp r0, 0x1\n" - "\tbeq _0809B9FA\n" - "\tb _0809BA0C\n" - "\t.align 2, 0\n" - "_0809B9DC: .4byte gUnknown_20398B4\n" - "_0809B9E0: .4byte gUnknown_20398BA\n" - "_0809B9E4: .4byte 0x0000fffd\n" - "_0809B9E8: .4byte 0x0000fffe\n" - "_0809B9EC: .4byte gUnknown_20398B8\n" - "_0809B9F0: .4byte gMapObjects\n" - "_0809B9F4:\n" - "\tcmp r0, 0x3\n" - "\tbeq _0809BA06\n" - "\tb _0809BA0C\n" - "_0809B9FA:\n" - "\tadds r0, r2, r6\n" - "\tstrh r7, [r0]\n" - "\tb _0809BA12\n" - "_0809BA00:\n" - "\tadds r1, r2, r6\n" - "\tmovs r0, 0x1\n" - "\tb _0809BA10\n" - "_0809BA06:\n" - "\tadds r1, r2, r6\n" - "\tmovs r0, 0x2\n" - "\tb _0809BA10\n" - "_0809BA0C:\n" - "\tadds r1, r2, r6\n" - "\tmovs r0, 0x3\n" - "_0809BA10:\n" - "\tstrh r0, [r1]\n" - "_0809BA12:\n" - "\tmov r0, r9\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tmov r9, r0\n" - "_0809BA1C:\n" - "\tadds r0, r4, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r4, r0, 24\n" - "\tcmp r4, 0x6\n" - "\tbls _0809B976\n" - "\tmov r2, r10\n" - "\tlsls r0, r2, 24\n" - "\tlsrs r5, r0, 24\n" - "\tcmp r5, 0x4\n" - "\tbls _0809B970\n" - "\tadd sp, 0x8\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n"); + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x8\n" + "\tmovs r0, 0\n" + "\tmov r9, r0\n" + "\tmov r4, sp\n" + "\tadds r4, 0x2\n" + "\tmov r0, sp\n" + "\tadds r1, r4, 0\n" + "\tbl GetXYCoordsOneStepInFrontOfPlayer\n" + "\tbl PlayerGetZCoord\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tstr r0, [sp, 0x4]\n" + "\tmovs r5, 0\n" + "\tldr r2, _0809B9DC @ =gUnknown_20398B4\n" + "\tmovs r1, 0x10\n" + "_0809B958:\n" + "\tlsls r0, r5, 3\n" + "\tadds r0, r2\n" + "\tstrh r1, [r0]\n" + "\tadds r0, r5, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r5, r0, 24\n" + "\tcmp r5, 0xF\n" + "\tbls _0809B958\n" + "\tmovs r5, 0\n" + "\tldr r6, _0809B9E0 @ =gUnknown_20398BA\n" + "\tsubs r1, r6, 0x6\n" + "\tmov r8, r1\n" + "_0809B970:\n" + "\tmovs r4, 0\n" + "\tadds r2, r5, 0x1\n" + "\tmov r10, r2\n" + "_0809B976:\n" + "\tmov r1, sp\n" + "\tldr r3, _0809B9E4 @ =0x0000fffd\n" + "\tadds r0, r3, 0\n" + "\tldrh r1, [r1]\n" + "\tadds r0, r1\n" + "\tadds r0, r4\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r2, _0809B9E8 @ =0x0000fffe\n" + "\tadds r1, r2, 0\n" + "\tmov r3, sp\n" + "\tldrh r3, [r3, 0x2]\n" + "\tadds r1, r3\n" + "\tadds r1, r5\n" + "\tlsls r1, 16\n" + "\tlsrs r1, 16\n" + "\tldr r2, [sp, 0x4]\n" + "\tbl GetFieldObjectIdByXYZ\n" + "\tlsls r0, 24\n" + "\tlsrs r3, r0, 24\n" + "\tcmp r3, 0x10\n" + "\tbeq _0809BA1C\n" + "\tmov r0, r9\n" + "\tlsls r2, r0, 3\n" + "\tmov r1, r8\n" + "\tadds r0, r2, r1\n" + "\tmovs r7, 0\n" + "\tstrh r3, [r0]\n" + "\tmov r0, r8\n" + "\tadds r0, 0x2\n" + "\tadds r0, r2, r0\n" + "\tstrh r4, [r0]\n" + "\tldr r1, _0809B9EC @ =gUnknown_20398B8\n" + "\tadds r0, r2, r1\n" + "\tstrh r5, [r0]\n" + "\tldr r1, _0809B9F0 @ =gMapObjects\n" + "\tlsls r0, r3, 3\n" + "\tadds r0, r3\n" + "\tlsls r0, 2\n" + "\tadds r0, r1\n" + "\tldrb r0, [r0, 0x18]\n" + "\tlsls r0, 28\n" + "\tlsrs r0, 28\n" + "\tcmp r0, 0x2\n" + "\tbeq _0809BA00\n" + "\tcmp r0, 0x2\n" + "\tbgt _0809B9F4\n" + "\tcmp r0, 0x1\n" + "\tbeq _0809B9FA\n" + "\tb _0809BA0C\n" + "\t.align 2, 0\n" + "_0809B9DC: .4byte gUnknown_20398B4\n" + "_0809B9E0: .4byte gUnknown_20398BA\n" + "_0809B9E4: .4byte 0x0000fffd\n" + "_0809B9E8: .4byte 0x0000fffe\n" + "_0809B9EC: .4byte gUnknown_20398B8\n" + "_0809B9F0: .4byte gMapObjects\n" + "_0809B9F4:\n" + "\tcmp r0, 0x3\n" + "\tbeq _0809BA06\n" + "\tb _0809BA0C\n" + "_0809B9FA:\n" + "\tadds r0, r2, r6\n" + "\tstrh r7, [r0]\n" + "\tb _0809BA12\n" + "_0809BA00:\n" + "\tadds r1, r2, r6\n" + "\tmovs r0, 0x1\n" + "\tb _0809BA10\n" + "_0809BA06:\n" + "\tadds r1, r2, r6\n" + "\tmovs r0, 0x2\n" + "\tb _0809BA10\n" + "_0809BA0C:\n" + "\tadds r1, r2, r6\n" + "\tmovs r0, 0x3\n" + "_0809BA10:\n" + "\tstrh r0, [r1]\n" + "_0809BA12:\n" + "\tmov r0, r9\n" + "\tadds r0, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tmov r9, r0\n" + "_0809BA1C:\n" + "\tadds r0, r4, 0x1\n" + "\tlsls r0, 24\n" + "\tlsrs r4, r0, 24\n" + "\tcmp r4, 0x6\n" + "\tbls _0809B976\n" + "\tmov r2, r10\n" + "\tlsls r0, r2, 24\n" + "\tlsrs r5, r0, 24\n" + "\tcmp r5, 0x4\n" + "\tbls _0809B970\n" + "\tadd sp, 0x8\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n"); } #endif @@ -1273,7 +1273,7 @@ static void sub_809BA40(void) if (gUnknown_20398B4[i][EVENT_OBJ_ID] == MAP_OBJECTS_COUNT) continue; - graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[gUnknown_20398B4[i][EVENT_OBJ_ID]].graphicsId); + graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[gUnknown_20398B4[i][EVENT_OBJ_ID]].graphicsId); spriteId = AddPseudoEventObject( gMapObjects[gUnknown_20398B4[i][EVENT_OBJ_ID]].graphicsId, SpriteCallbackDummy, @@ -1286,7 +1286,7 @@ static void sub_809BA40(void) static void sub_809BAFC(void) { - s16 i; + s16 i; u16 *dst = *gUnknown_2039958; u16 *src = *gUnknown_2039954; @@ -1294,7 +1294,7 @@ static void sub_809BAFC(void) for (i = 0; i < 0x400; i++) { if (src[i] == 0) - continue; + continue; dst[i] = src[i] + 0xb3dc; } } @@ -1302,13 +1302,13 @@ static void sub_809BAFC(void) //BuyMenuPrintItemQuantityAndPrice static void sub_809BB44(u8 taskId) { - s16 *data = gTasks[taskId].data; - - FillWindowPixelBuffer(3, PIXEL_FILL(1)); - PrintMoneyAmount(3, 0x36, 0xA, gShopData.itemPrice, TEXT_SPEED_FF); - ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, 2); - StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); - BuyMenuPrint(3, 0, gStringVar4, 2, 0xA, 0, 0, 0, 1); + s16 *data = gTasks[taskId].data; + + FillWindowPixelBuffer(3, PIXEL_FILL(1)); + PrintMoneyAmount(3, 0x36, 0xA, gShopData.itemPrice, TEXT_SPEED_FF); + ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + BuyMenuPrint(3, 0, gStringVar4, 2, 0xA, 0, 0, 0, 1); } //Task_BuyMenu @@ -1320,33 +1320,33 @@ static void sub_809BBC0(u8 taskId) { s32 itemId = ListMenu_ProcessInput(tListTaskId); ListMenuGetScrollAndRow(tListTaskId, &gShopData.scrollOffset, &gShopData.selectedRow); - switch (itemId) - { + switch (itemId) + { case LIST_NOTHING_CHOSEN: break; - case LIST_CANCEL: + case LIST_CANCEL: PlaySE(SE_SELECT); sub_809C004(taskId); - break; - default: + break; + default: PlaySE(SE_SELECT); tItemId = itemId; ClearWindowTilemap(5); sub_809B73C(); - sub_809B57C(tListTaskId, 2); - sub_809B10C(1); - gShopData.itemPrice = itemid_get_market_price(itemId); - if (!IsEnoughMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice)) - { - BuyMenuDisplayMessage(taskId, gText_YouDontHaveMoney, sub_809BF98); - } - else - { - CopyItemName(itemId, gStringVar1); - BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany, sub_809BCA0); - } - } - } + sub_809B57C(tListTaskId, 2); + sub_809B10C(1); + gShopData.itemPrice = itemid_get_market_price(itemId); + if (!IsEnoughMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice)) + { + BuyMenuDisplayMessage(taskId, gText_YouDontHaveMoney, sub_809BF98); + } + else + { + CopyItemName(itemId, gStringVar1); + BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany, sub_809BCA0); + } + } + } } //Task_BuyHowManyDialogueInit @@ -1356,25 +1356,25 @@ static void sub_809BCA0(u8 taskId) u16 quantityInBag = BagGetQuantityByItemId(tItemId); u16 maxQuantity; - - BuyMenuQuantityBoxThinBorder(1, 0); - ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, 3); - StringExpandPlaceholders(gStringVar4, gText_InBagVar1); - BuyMenuPrint(1, 2, gStringVar4, 0, 2, 0, 0, 0, 1); - tItemCount = 1; - BuyMenuQuantityBoxNormalBorder(3, 0); - sub_809BB44(taskId); - ScheduleBgCopyTilemapToVram(0); - maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / itemid_get_market_price(tItemId); + + BuyMenuQuantityBoxThinBorder(1, 0); + ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_InBagVar1); + BuyMenuPrint(1, 2, gStringVar4, 0, 2, 0, 0, 0, 1); + tItemCount = 1; + BuyMenuQuantityBoxNormalBorder(3, 0); + sub_809BB44(taskId); + ScheduleBgCopyTilemapToVram(0); + maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / itemid_get_market_price(tItemId); if (maxQuantity > 99) gShopData.maxQuantity = (u8)99; else gShopData.maxQuantity = (u8)maxQuantity; - - if (maxQuantity != 1) - sub_809B6FC(); - - gTasks[taskId].func = sub_809BD8C; + + if (maxQuantity != 1) + sub_809B6FC(); + + gTasks[taskId].func = sub_809BD8C; } //Task_BuyHowManyDialogueHandleInput @@ -1393,7 +1393,7 @@ static void sub_809BD8C(u8 taskId) if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); - sub_809B73C(); + sub_809B73C(); ClearStdWindowAndFrameToTransparent(3, 0); ClearStdWindowAndFrameToTransparent(1, 0); ClearWindowTilemap(3); @@ -1405,9 +1405,9 @@ static void sub_809BD8C(u8 taskId) BuyMenuDisplayMessage(taskId, gText_Var1AndYouWantedVar2, sub_809BE90); } else if (JOY_NEW(B_BUTTON)) - { - PlaySE(SE_SELECT); - sub_809B73C(); + { + PlaySE(SE_SELECT); + sub_809B73C(); ClearStdWindowAndFrameToTransparent(3, 0); ClearStdWindowAndFrameToTransparent(1, 0); ClearWindowTilemap(3); @@ -1420,7 +1420,7 @@ static void sub_809BD8C(u8 taskId) //CreateBuyMenuConfirmPurchaseWindow static void sub_809BE90(u8 taskId) { - BuyMenuConfirmPurchase(taskId, gUnknown_83DF0B4); //sShopBuyMenuYesNoWindowTemplates + BuyMenuConfirmPurchase(taskId, gUnknown_83DF0B4); //sShopBuyMenuYesNoWindowTemplates } //BuyMenuTryMakePurchase @@ -1429,26 +1429,26 @@ static void sub_809BEA4(u8 taskId) s16 *data = gTasks[taskId].data; PutWindowTilemap(4); - if (AddBagItem(tItemId, tItemCount) == TRUE) - { - BuyMenuDisplayMessage(taskId, gText_HereYouGoThankYou, sub_809BF0C); - nullsub_52(taskId); - sub_809C09C(tItemId, tItemCount, 1); - } - else - { - BuyMenuDisplayMessage(taskId, gText_NoMoreRoomForThis, sub_809BF98); - } + if (AddBagItem(tItemId, tItemCount) == TRUE) + { + BuyMenuDisplayMessage(taskId, gText_HereYouGoThankYou, sub_809BF0C); + nullsub_52(taskId); + sub_809C09C(tItemId, tItemCount, 1); + } + else + { + BuyMenuDisplayMessage(taskId, gText_NoMoreRoomForThis, sub_809BF98); + } } //BuyMenuSubtractMoney static void sub_809BF0C(u8 taskId) { - IncrementGameStat(GAME_STAT_SHOPPED); - RemoveMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice); - PlaySE(SE_SHOP); - PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); - gTasks[taskId].func = sub_809BF68; + IncrementGameStat(GAME_STAT_SHOPPED); + RemoveMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice); + PlaySE(SE_SHOP); + PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); + gTasks[taskId].func = sub_809BF68; } //Task_ReturnToItemListAfterItemPurchase @@ -1457,7 +1457,7 @@ static void sub_809BF68(u8 taskId) if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); - sub_809BF98(taskId); + sub_809BF98(taskId); } } @@ -1468,21 +1468,21 @@ static void sub_809BF98(u8 taskId) ClearDialogWindowAndFrameToTransparent(2, 0); sub_809B57C(tListTaskId, 1); - sub_809B10C(0); + sub_809B10C(0); PutWindowTilemap(4); PutWindowTilemap(5); - if (gShopData.martType == MART_TYPE_TMHM) - PutWindowTilemap(6); - - ScheduleBgCopyTilemapToVram(0); - sub_809B690(); - gTasks[taskId].func = sub_809BBC0; + if (gShopData.martType == MART_TYPE_TMHM) + PutWindowTilemap(6); + + ScheduleBgCopyTilemapToVram(0); + sub_809B690(); + gTasks[taskId].func = sub_809BBC0; } //ExitBuyMenu static void sub_809C004(u8 taskId) { - gFieldCallback = sub_809AD74; + gFieldCallback = sub_809AD74; BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gTasks[taskId].func = sub_809C04C; } @@ -1491,14 +1491,14 @@ static void sub_809C004(u8 taskId) static void sub_809C04C(u8 taskId) { s16 *data = gTasks[taskId].data; - - if (!gPaletteFade.active) - { + + if (!gPaletteFade.active) + { DestroyListMenuTask(tListTaskId, 0, 0); - sub_809B604(); - SetMainCallback2(CB2_ReturnToField); - DestroyTask(taskId); - } + sub_809B604(); + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + } } static void nullsub_52(u8 taskId) @@ -1512,15 +1512,15 @@ static void nullsub_53(void) #ifdef NONMATCHING void sub_809C09C(u16 item, u16 quantity, u8 a2) { - struct Purchase *tmp; - - if (gUnknown_203996C.unkA == a2) - { - tmp = &gUnknown_203996C; - } - else - { - if (gUnknown_203996C.unk16 == a2) + struct Purchase *tmp; + + if (gUnknown_203996C.unkA == a2) + { + tmp = &gUnknown_203996C; + } + else + { + if (gUnknown_203996C.unk16 == a2) { tmp = &gUnknown_203996C + 12; } @@ -1533,7 +1533,7 @@ void sub_809C09C(u16 item, u16 quantity, u8 a2) gUnknown_203996C.unkA = a2; } } - } + } if (tmp->unk4 != 0) { gUnknown_203996C.unk9 = 1; @@ -1551,133 +1551,133 @@ void sub_809C09C(u16 item, u16 quantity, u8 a2) gUnknown_203996C.unk0 += ((s16)itemid_get_market_price(item) >> (quantity-1))*quantity; if (gUnknown_203996C.unk0 > 999999) gUnknown_203996C.unk0 = 999999; - } + } } #else NAKED void sub_809C09C(u16 item, u16 quantity, u8 a2) { - asm_unified("\tpush {r4-r6,lr}\n" - "\tlsls r0, 16\n" - "\tlsrs r3, r0, 16\n" - "\tlsls r1, 16\n" - "\tlsrs r6, r1, 16\n" - "\tlsls r2, 24\n" - "\tlsrs r5, r2, 24\n" - "\tldr r1, _0809C0B8 @ =gUnknown_203996C\n" - "\tldrb r2, [r1, 0xA]\n" - "\tcmp r2, r5\n" - "\tbne _0809C0BC\n" - "\tadds r4, r1, 0\n" - "\tb _0809C0D4\n" - "\t.align 2, 0\n" - "_0809C0B8: .4byte gUnknown_203996C\n" - "_0809C0BC:\n" - "\tldrb r0, [r1, 0x16]\n" - "\tcmp r0, r5\n" - "\tbne _0809C0C8\n" - "\tadds r4, r1, 0\n" - "\tadds r4, 0xC\n" - "\tb _0809C0D4\n" - "_0809C0C8:\n" - "\tadds r4, r1, 0\n" - "\tadds r4, 0xC\n" - "\tcmp r2, 0\n" - "\tbne _0809C0D2\n" - "\tadds r4, r1, 0\n" - "_0809C0D2:\n" - "\tstrb r5, [r4, 0xA]\n" - "_0809C0D4:\n" - "\tldrh r0, [r4, 0x4]\n" - "\tcmp r0, 0\n" - "\tbeq _0809C0DE\n" - "\tmovs r0, 0x1\n" - "\tstrb r0, [r4, 0x9]\n" - "_0809C0DE:\n" - "\tstrh r3, [r4, 0x4]\n" - "\tldrh r1, [r4, 0x6]\n" - "\tldr r0, _0809C128 @ =0x000003e6\n" - "\tcmp r1, r0\n" - "\tbhi _0809C0F8\n" - "\tadds r0, r6, r1\n" - "\tstrh r0, [r4, 0x6]\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tldr r1, _0809C12C @ =0x000003e7\n" - "\tcmp r0, r1\n" - "\tbls _0809C0F8\n" - "\tstrh r1, [r4, 0x6]\n" - "_0809C0F8:\n" - "\tldr r1, [r4]\n" - "\tldr r0, _0809C130 @ =0x000f423e\n" - "\tcmp r1, r0\n" - "\tbhi _0809C120\n" - "\tadds r0, r3, 0\n" - "\tbl itemid_get_market_price\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tsubs r1, r5, 0x1\n" - "\tasrs r0, r1\n" - "\tadds r1, r0, 0\n" - "\tmuls r1, r6\n" - "\tldr r0, [r4]\n" - "\tadds r0, r1\n" - "\tstr r0, [r4]\n" - "\tldr r1, _0809C134 @ =0x000f423f\n" - "\tcmp r0, r1\n" - "\tbls _0809C120\n" - "\tstr r1, [r4]\n" - "_0809C120:\n" - "\tpop {r4-r6}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.align 2, 0\n" - "_0809C128: .4byte 0x000003e6\n" - "_0809C12C: .4byte 0x000003e7\n" - "_0809C130: .4byte 0x000f423e\n" - "_0809C134: .4byte 0x000f423f\n"); + asm_unified("\tpush {r4-r6,lr}\n" + "\tlsls r0, 16\n" + "\tlsrs r3, r0, 16\n" + "\tlsls r1, 16\n" + "\tlsrs r6, r1, 16\n" + "\tlsls r2, 24\n" + "\tlsrs r5, r2, 24\n" + "\tldr r1, _0809C0B8 @ =gUnknown_203996C\n" + "\tldrb r2, [r1, 0xA]\n" + "\tcmp r2, r5\n" + "\tbne _0809C0BC\n" + "\tadds r4, r1, 0\n" + "\tb _0809C0D4\n" + "\t.align 2, 0\n" + "_0809C0B8: .4byte gUnknown_203996C\n" + "_0809C0BC:\n" + "\tldrb r0, [r1, 0x16]\n" + "\tcmp r0, r5\n" + "\tbne _0809C0C8\n" + "\tadds r4, r1, 0\n" + "\tadds r4, 0xC\n" + "\tb _0809C0D4\n" + "_0809C0C8:\n" + "\tadds r4, r1, 0\n" + "\tadds r4, 0xC\n" + "\tcmp r2, 0\n" + "\tbne _0809C0D2\n" + "\tadds r4, r1, 0\n" + "_0809C0D2:\n" + "\tstrb r5, [r4, 0xA]\n" + "_0809C0D4:\n" + "\tldrh r0, [r4, 0x4]\n" + "\tcmp r0, 0\n" + "\tbeq _0809C0DE\n" + "\tmovs r0, 0x1\n" + "\tstrb r0, [r4, 0x9]\n" + "_0809C0DE:\n" + "\tstrh r3, [r4, 0x4]\n" + "\tldrh r1, [r4, 0x6]\n" + "\tldr r0, _0809C128 @ =0x000003e6\n" + "\tcmp r1, r0\n" + "\tbhi _0809C0F8\n" + "\tadds r0, r6, r1\n" + "\tstrh r0, [r4, 0x6]\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tldr r1, _0809C12C @ =0x000003e7\n" + "\tcmp r0, r1\n" + "\tbls _0809C0F8\n" + "\tstrh r1, [r4, 0x6]\n" + "_0809C0F8:\n" + "\tldr r1, [r4]\n" + "\tldr r0, _0809C130 @ =0x000f423e\n" + "\tcmp r1, r0\n" + "\tbhi _0809C120\n" + "\tadds r0, r3, 0\n" + "\tbl itemid_get_market_price\n" + "\tlsls r0, 16\n" + "\tlsrs r0, 16\n" + "\tsubs r1, r5, 0x1\n" + "\tasrs r0, r1\n" + "\tadds r1, r0, 0\n" + "\tmuls r1, r6\n" + "\tldr r0, [r4]\n" + "\tadds r0, r1\n" + "\tstr r0, [r4]\n" + "\tldr r1, _0809C134 @ =0x000f423f\n" + "\tcmp r0, r1\n" + "\tbls _0809C120\n" + "\tstr r1, [r4]\n" + "_0809C120:\n" + "\tpop {r4-r6}\n" + "\tpop {r0}\n" + "\tbx r0\n" + "\t.align 2, 0\n" + "_0809C128: .4byte 0x000003e6\n" + "_0809C12C: .4byte 0x000003e7\n" + "_0809C130: .4byte 0x000f423e\n" + "_0809C134: .4byte 0x000f423f\n"); } #endif //RecordQuestLogItemPurchase static void sub_809C138(void) { - struct MartHistory *history = &gUnknown_203996C; - u16 v; + struct MartHistory *history = &gUnknown_203996C; + u16 v; v = history->unkA; - if (v != 0) - sub_8113550(v + 0x24, (const u16*)history); + if (v != 0) + sub_8113550(v + 0x24, (const u16*)history); v = history->unk16; - if (v != 0) + if (v != 0) { v += 0x24; - sub_8113550(v, (const u16*)&history->unkC); + sub_8113550(v, (const u16*)&history->unkC); } } void CreatePokemartMenu(const u16 *itemsForSale) { - sub_809ABD8(itemsForSale); - sub_809AAB0(MART_TYPE_REGULAR); - sub_809AC04(EnableBothScriptContexts); - nullsub_53(); + sub_809ABD8(itemsForSale); + sub_809AAB0(MART_TYPE_REGULAR); + sub_809AC04(EnableBothScriptContexts); + nullsub_53(); memset(&gUnknown_203996C, 0, sizeof(struct MartHistory)); - gUnknown_203996C.unk8 = gMapHeader.regionMapSectionId; - gUnknown_203996C.unk14 = gMapHeader.regionMapSectionId; + gUnknown_203996C.unk8 = gMapHeader.regionMapSectionId; + gUnknown_203996C.unk14 = gMapHeader.regionMapSectionId; } void CreateDecorationShop1Menu(const u16 *itemsForSale) { sub_809ABD8(itemsForSale); - sub_809AAB0(MART_TYPE_DECOR); + sub_809AAB0(MART_TYPE_DECOR); sub_809AC04(EnableBothScriptContexts); } void CreateDecorationShop2Menu(const u16 *itemsForSale) { sub_809ABD8(itemsForSale); - sub_809AAB0(MART_TYPE_DECOR2); + sub_809AAB0(MART_TYPE_DECOR2); sub_809AC04(EnableBothScriptContexts); } @@ -1689,383 +1689,383 @@ void CreateDecorationShop2Menu(const u16 *itemsForSale) #ifdef NONMATCHING void sub_809C1D8(u8 taskId, const u16* a1, u16 a2) { - + } #else NAKED void sub_809C1D8(u8 taskId, const u16* a1, u16 a2) { - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0x10\n" - "\tmov r9, r1\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tlsls r2, 16\n" - "\tlsrs r2, 16\n" - "\tmov r10, r2\n" - "\tldr r2, _0809C26C @ =gTasks\n" - "\tlsls r1, r0, 2\n" - "\tadds r1, r0\n" - "\tlsls r1, 3\n" - "\tadds r1, r2\n" - "\tldrh r0, [r1, 0x10]\n" - "\tsubs r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r5, r0, 16\n" - "\tldrh r0, [r1, 0x12]\n" - "\tsubs r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r3, r0, 16\n" - "\tldrh r4, [r1, 0xA]\n" - "\tmovs r2, 0xC\n" - "\tldrsh r0, [r1, r2]\n" - "\tcmp r0, 0\n" - "\tbne _0809C29C\n" - "\tmovs r2, 0\n" - "\tlsls r5, 16\n" - "\tstr r5, [sp, 0xC]\n" - "\tlsls r0, r3, 16\n" - "\tlsls r1, r4, 16\n" - "\tasrs r0, 16\n" - "\tstr r0, [sp]\n" - "\tasrs r1, 16\n" - "\tstr r1, [sp, 0x4]\n" - "\tlsls r0, r1, 1\n" - "\tmov r1, r9\n" - "\tadds r7, r0, r1\n" - "_0809C22C:\n" - "\tmovs r4, 0\n" - "\tlsls r2, 16\n" - "\tmov r8, r2\n" - "\tasrs r0, r2, 16\n" - "\tldr r2, [sp]\n" - "\tadds r6, r2, r0\n" - "_0809C238:\n" - "\tldr r0, [sp, 0xC]\n" - "\tasrs r1, r0, 16\n" - "\tlsls r4, 16\n" - "\tasrs r0, r4, 16\n" - "\tadds r5, r1, r0\n" - "\tadds r0, r5, 0\n" - "\tadds r1, r6, 0\n" - "\tbl MapGridGetMetatileIdAt\n" - "\tmovs r2, 0\n" - "\tldrsh r1, [r7, r2]\n" - "\tlsls r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r1, r0\n" - "\tbne _0809C280\n" - "\tldr r0, [sp, 0x4]\n" - "\tcmp r0, 0x2\n" - "\tbeq _0809C270\n" - "\tldrh r0, [r7, 0x2]\n" - "\tmov r2, r10\n" - "\torrs r2, r0\n" - "\tadds r0, r5, 0\n" - "\tadds r1, r6, 0\n" - "\tbl MapGridSetMetatileIdAt\n" - "\tb _0809C280\n" - "\t.align 2, 0\n" - "_0809C26C: .4byte gTasks\n" - "_0809C270:\n" - "\tmov r1, r9\n" - "\tldrh r0, [r1]\n" - "\tmov r2, r10\n" - "\torrs r2, r0\n" - "\tadds r0, r5, 0\n" - "\tadds r1, r6, 0\n" - "\tbl MapGridSetMetatileIdAt\n" - "_0809C280:\n" - "\tmovs r2, 0x80\n" - "\tlsls r2, 9\n" - "\tadds r0, r4, r2\n" - "\tlsrs r4, r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x2\n" - "\tble _0809C238\n" - "\tadds r0, r2, 0\n" - "\tadd r0, r8\n" - "\tlsrs r2, r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x2\n" - "\tble _0809C22C\n" - "\tb _0809C324\n" - "_0809C29C:\n" - "\tmovs r2, 0\n" - "\tlsls r5, 16\n" - "\tstr r5, [sp, 0xC]\n" - "\tlsls r0, r3, 16\n" - "\tlsls r1, r4, 16\n" - "\tasrs r0, 16\n" - "\tstr r0, [sp, 0x8]\n" - "\tasrs r7, r1, 16\n" - "_0809C2AC:\n" - "\tmovs r4, 0\n" - "\tlsls r2, 16\n" - "\tmov r8, r2\n" - "\tasrs r0, r2, 16\n" - "\tldr r1, [sp, 0x8]\n" - "\tadds r6, r1, r0\n" - "_0809C2B8:\n" - "\tldr r2, [sp, 0xC]\n" - "\tasrs r1, r2, 16\n" - "\tlsls r4, 16\n" - "\tasrs r0, r4, 16\n" - "\tadds r5, r1, r0\n" - "\tadds r0, r5, 0\n" - "\tadds r1, r6, 0\n" - "\tbl MapGridGetMetatileIdAt\n" - "\tmovs r1, 0x2\n" - "\tsubs r1, r7\n" - "\tlsls r1, 1\n" - "\tadd r1, r9\n" - "\tmovs r2, 0\n" - "\tldrsh r1, [r1, r2]\n" - "\tlsls r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r1, r0\n" - "\tbne _0809C30A\n" - "\tcmp r7, 0x2\n" - "\tbeq _0809C2FA\n" - "\tmovs r0, 0x1\n" - "\tsubs r0, r7\n" - "\tlsls r0, 1\n" - "\tadd r0, r9\n" - "\tldrh r0, [r0]\n" - "\tmov r2, r10\n" - "\torrs r2, r0\n" - "\tadds r0, r5, 0\n" - "\tadds r1, r6, 0\n" - "\tbl MapGridSetMetatileIdAt\n" - "\tb _0809C30A\n" - "_0809C2FA:\n" - "\tmov r1, r9\n" - "\tldrh r0, [r1, 0x4]\n" - "\tmov r2, r10\n" - "\torrs r2, r0\n" - "\tadds r0, r5, 0\n" - "\tadds r1, r6, 0\n" - "\tbl MapGridSetMetatileIdAt\n" - "_0809C30A:\n" - "\tmovs r2, 0x80\n" - "\tlsls r2, 9\n" - "\tadds r0, r4, r2\n" - "\tlsrs r4, r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x2\n" - "\tble _0809C2B8\n" - "\tadds r0, r2, 0\n" - "\tadd r0, r8\n" - "\tlsrs r2, r0, 16\n" - "\tasrs r0, 16\n" - "\tcmp r0, 0x2\n" - "\tble _0809C2AC\n" - "_0809C324:\n" - "\tadd sp, 0x10\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n"); + asm_unified("\tpush {r4-r7,lr}\n" + "\tmov r7, r10\n" + "\tmov r6, r9\n" + "\tmov r5, r8\n" + "\tpush {r5-r7}\n" + "\tsub sp, 0x10\n" + "\tmov r9, r1\n" + "\tlsls r0, 24\n" + "\tlsrs r0, 24\n" + "\tlsls r2, 16\n" + "\tlsrs r2, 16\n" + "\tmov r10, r2\n" + "\tldr r2, _0809C26C @ =gTasks\n" + "\tlsls r1, r0, 2\n" + "\tadds r1, r0\n" + "\tlsls r1, 3\n" + "\tadds r1, r2\n" + "\tldrh r0, [r1, 0x10]\n" + "\tsubs r0, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r5, r0, 16\n" + "\tldrh r0, [r1, 0x12]\n" + "\tsubs r0, 0x1\n" + "\tlsls r0, 16\n" + "\tlsrs r3, r0, 16\n" + "\tldrh r4, [r1, 0xA]\n" + "\tmovs r2, 0xC\n" + "\tldrsh r0, [r1, r2]\n" + "\tcmp r0, 0\n" + "\tbne _0809C29C\n" + "\tmovs r2, 0\n" + "\tlsls r5, 16\n" + "\tstr r5, [sp, 0xC]\n" + "\tlsls r0, r3, 16\n" + "\tlsls r1, r4, 16\n" + "\tasrs r0, 16\n" + "\tstr r0, [sp]\n" + "\tasrs r1, 16\n" + "\tstr r1, [sp, 0x4]\n" + "\tlsls r0, r1, 1\n" + "\tmov r1, r9\n" + "\tadds r7, r0, r1\n" + "_0809C22C:\n" + "\tmovs r4, 0\n" + "\tlsls r2, 16\n" + "\tmov r8, r2\n" + "\tasrs r0, r2, 16\n" + "\tldr r2, [sp]\n" + "\tadds r6, r2, r0\n" + "_0809C238:\n" + "\tldr r0, [sp, 0xC]\n" + "\tasrs r1, r0, 16\n" + "\tlsls r4, 16\n" + "\tasrs r0, r4, 16\n" + "\tadds r5, r1, r0\n" + "\tadds r0, r5, 0\n" + "\tadds r1, r6, 0\n" + "\tbl MapGridGetMetatileIdAt\n" + "\tmovs r2, 0\n" + "\tldrsh r1, [r7, r2]\n" + "\tlsls r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r1, r0\n" + "\tbne _0809C280\n" + "\tldr r0, [sp, 0x4]\n" + "\tcmp r0, 0x2\n" + "\tbeq _0809C270\n" + "\tldrh r0, [r7, 0x2]\n" + "\tmov r2, r10\n" + "\torrs r2, r0\n" + "\tadds r0, r5, 0\n" + "\tadds r1, r6, 0\n" + "\tbl MapGridSetMetatileIdAt\n" + "\tb _0809C280\n" + "\t.align 2, 0\n" + "_0809C26C: .4byte gTasks\n" + "_0809C270:\n" + "\tmov r1, r9\n" + "\tldrh r0, [r1]\n" + "\tmov r2, r10\n" + "\torrs r2, r0\n" + "\tadds r0, r5, 0\n" + "\tadds r1, r6, 0\n" + "\tbl MapGridSetMetatileIdAt\n" + "_0809C280:\n" + "\tmovs r2, 0x80\n" + "\tlsls r2, 9\n" + "\tadds r0, r4, r2\n" + "\tlsrs r4, r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x2\n" + "\tble _0809C238\n" + "\tadds r0, r2, 0\n" + "\tadd r0, r8\n" + "\tlsrs r2, r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x2\n" + "\tble _0809C22C\n" + "\tb _0809C324\n" + "_0809C29C:\n" + "\tmovs r2, 0\n" + "\tlsls r5, 16\n" + "\tstr r5, [sp, 0xC]\n" + "\tlsls r0, r3, 16\n" + "\tlsls r1, r4, 16\n" + "\tasrs r0, 16\n" + "\tstr r0, [sp, 0x8]\n" + "\tasrs r7, r1, 16\n" + "_0809C2AC:\n" + "\tmovs r4, 0\n" + "\tlsls r2, 16\n" + "\tmov r8, r2\n" + "\tasrs r0, r2, 16\n" + "\tldr r1, [sp, 0x8]\n" + "\tadds r6, r1, r0\n" + "_0809C2B8:\n" + "\tldr r2, [sp, 0xC]\n" + "\tasrs r1, r2, 16\n" + "\tlsls r4, 16\n" + "\tasrs r0, r4, 16\n" + "\tadds r5, r1, r0\n" + "\tadds r0, r5, 0\n" + "\tadds r1, r6, 0\n" + "\tbl MapGridGetMetatileIdAt\n" + "\tmovs r1, 0x2\n" + "\tsubs r1, r7\n" + "\tlsls r1, 1\n" + "\tadd r1, r9\n" + "\tmovs r2, 0\n" + "\tldrsh r1, [r1, r2]\n" + "\tlsls r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r1, r0\n" + "\tbne _0809C30A\n" + "\tcmp r7, 0x2\n" + "\tbeq _0809C2FA\n" + "\tmovs r0, 0x1\n" + "\tsubs r0, r7\n" + "\tlsls r0, 1\n" + "\tadd r0, r9\n" + "\tldrh r0, [r0]\n" + "\tmov r2, r10\n" + "\torrs r2, r0\n" + "\tadds r0, r5, 0\n" + "\tadds r1, r6, 0\n" + "\tbl MapGridSetMetatileIdAt\n" + "\tb _0809C30A\n" + "_0809C2FA:\n" + "\tmov r1, r9\n" + "\tldrh r0, [r1, 0x4]\n" + "\tmov r2, r10\n" + "\torrs r2, r0\n" + "\tadds r0, r5, 0\n" + "\tadds r1, r6, 0\n" + "\tbl MapGridSetMetatileIdAt\n" + "_0809C30A:\n" + "\tmovs r2, 0x80\n" + "\tlsls r2, 9\n" + "\tadds r0, r4, r2\n" + "\tlsrs r4, r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x2\n" + "\tble _0809C2B8\n" + "\tadds r0, r2, 0\n" + "\tadd r0, r8\n" + "\tlsrs r2, r0, 16\n" + "\tasrs r0, 16\n" + "\tcmp r0, 0x2\n" + "\tble _0809C2AC\n" + "_0809C324:\n" + "\tadd sp, 0x10\n" + "\tpop {r3-r5}\n" + "\tmov r8, r3\n" + "\tmov r9, r4\n" + "\tmov r10, r5\n" + "\tpop {r4-r7}\n" + "\tpop {r0}\n" + "\tbx r0\n"); } #endif static void sub_809C334(u8 taskId) { - s16 *data = gTasks[taskId].data; - u16 v1; - - data[3] = 1; - switch (data[0]) - { - case 0: - sub_809C1D8(taskId, gUnknown_83DF0D4, 0); - break; - case 1: - sub_809C1D8(taskId, gUnknown_83DF0DA, 0); - break; - case 2: - sub_809C1D8(taskId, gUnknown_83DF0E0, 0xC00); - break; - case 3: - sub_809C1D8(taskId, gUnknown_83DF0E6, 0); - break; - case 4: - sub_809C1D8(taskId, gUnknown_83DF0EC, 0xC00); - break; - case 5: - sub_809C1D8(taskId, gUnknown_83DF0F2, 0); - break; - case 6: - sub_809C1D8(taskId, gUnknown_83DF0F8, 0); + s16 *data = gTasks[taskId].data; + u16 v1; + + data[3] = 1; + switch (data[0]) + { + case 0: + sub_809C1D8(taskId, gUnknown_83DF0D4, 0); + break; + case 1: + sub_809C1D8(taskId, gUnknown_83DF0DA, 0); + break; + case 2: + sub_809C1D8(taskId, gUnknown_83DF0E0, 0xC00); + break; + case 3: + sub_809C1D8(taskId, gUnknown_83DF0E6, 0); + break; + case 4: + sub_809C1D8(taskId, gUnknown_83DF0EC, 0xC00); + break; + case 5: + sub_809C1D8(taskId, gUnknown_83DF0F2, 0); + break; + case 6: + sub_809C1D8(taskId, gUnknown_83DF0F8, 0); default: break; - } - data[0] = (data[0] + 1) & 7; - v1 = data[0] & 7; - //ldrh r5, [r4] instead mov r5, r0 somehow - if (v1 == 0) - { - DrawWholeMapView(); - data[1] = (data[1] + 1) % 3; - data[3] = v1; - } + } + data[0] = (data[0] + 1) & 7; + v1 = data[0] & 7; + //ldrh r5, [r4] instead mov r5, r0 somehow + if (v1 == 0) + { + DrawWholeMapView(); + data[1] = (data[1] + 1) % 3; + data[3] = v1; + } } static u8 sub_809C3FC(u16 a0) { - u8 taskId; + u8 taskId; s16 *data; taskId = CreateTask(sub_809C334, 0); data = gTasks[taskId].data; - PlayerGetDestCoords(&tX, &tItemId); + PlayerGetDestCoords(&tX, &tItemId); t0 = 0; tItemCount = 0; data[2] = a0; - sub_809C334(taskId); - return taskId; + sub_809C334(taskId); + return taskId; } void sub_809C448(u8 a0) { - u8 taskId; - - taskId = sub_809C3FC(a0); - gUnknown_2039984 = taskId; + u8 taskId; + + taskId = sub_809C3FC(a0); + gUnknown_2039984 = taskId; } void sub_809C460(void) { - DestroyTask(gUnknown_2039984); + DestroyTask(gUnknown_2039984); } bool8 sub_809C474(void) -{ - if (gTasks[gUnknown_2039984].data[3] == 0) - { - if (gTasks[gUnknown_2039984].data[1] != 2) - return TRUE; - return FALSE; - } - else - { - return TRUE; - } +{ + if (gTasks[gUnknown_2039984].data[3] == 0) + { + if (gTasks[gUnknown_2039984].data[1] != 2) + return TRUE; + return FALSE; + } + else + { + return TRUE; + } } // special 0x1b5 - creates a tile animaiton one block left two-four up the player void sub_809C4A8(void) { - u8 taskId; + u8 taskId; s16 *data; - - taskId = CreateTask(sub_809C500, 0); + + taskId = CreateTask(sub_809C500, 0); gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; + gTasks[taskId].data[1] = 0; data = gTasks[taskId].data; - PlayerGetDestCoords(&data[2], &data[3]); - if (gSpecialVar_0x8004 == 0) + PlayerGetDestCoords(&data[2], &data[3]); + if (gSpecialVar_0x8004 == 0) { - gTasks[taskId].data[2] += 6; + gTasks[taskId].data[2] += 6; gTasks[taskId].data[3] -= 5; } else { - gTasks[taskId].data[2]--; + gTasks[taskId].data[2]--; gTasks[taskId].data[3] -= 5; } } static void sub_809C500(u8 taskId) { - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - if ((data[1] & 1) == 0) - { - MapGridSetMetatileIdAt(data[2], data[3], 0xEB5); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB7); - } - else - { - MapGridSetMetatileIdAt(data[2], data[3], 0xEB6); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB8); - } - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 2); - } - - data[0]++; - if (data[0] != 0x10) - return; - data[0] = 0; - - data[0] == 0; - data[1]++; - if (data[1] != 0xD) - return; - - MapGridSetMetatileIdAt(data[2], data[3], 0xE8A); - MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xE96); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 2); - DestroyTask(taskId); + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + if ((data[1] & 1) == 0) + { + MapGridSetMetatileIdAt(data[2], data[3], 0xEB5); + MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB7); + } + else + { + MapGridSetMetatileIdAt(data[2], data[3], 0xEB6); + MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB8); + } + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 2); + } + + data[0]++; + if (data[0] != 0x10) + return; + data[0] = 0; + + data[0] == 0; + data[1]++; + if (data[1] != 0xD) + return; + + MapGridSetMetatileIdAt(data[2], data[3], 0xE8A); + MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xE96); + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 2); + DestroyTask(taskId); } // special 0x1B7 - creates a tile animation two-six blocks right from the top-left corner of the screen void sub_809C5FC(void) { - u8 taskId; - s16 *data; - - taskId = CreateTask(sub_809C640, 0); + u8 taskId; + s16 *data; + + taskId = CreateTask(sub_809C640, 0); gTasks[taskId].data[0] = 0; - gTasks[taskId].data[1] = 0; + gTasks[taskId].data[1] = 0; data = gTasks[taskId].data; - PlayerGetDestCoords(&data[2], &data[3]); - gTasks[taskId].data[2] += 4; - gTasks[taskId].data[3] -= 5; + PlayerGetDestCoords(&data[2], &data[3]); + gTasks[taskId].data[2] += 4; + gTasks[taskId].data[3] -= 5; } static void sub_809C640(u8 taskId) { - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - if (data[1] != 0) - { - MapGridSetMetatileIdAt(data[2], data[3], 0xE85); - MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEB4); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 1); - if (data[1] == 4) - { - DestroyTask(taskId); - return; - } - data[2]--; - } - MapGridSetMetatileIdAt(data[2], data[3], 0xEB9); - MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEBA); - CurrentMapDrawMetatileAt(data[2], data[3]); - CurrentMapDrawMetatileAt(data[2], data[3] + 1); - } - data[0]++; - if (data[0] == 4) - { - data[0] = 0; - data[1]++; - } + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + if (data[1] != 0) + { + MapGridSetMetatileIdAt(data[2], data[3], 0xE85); + MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEB4); + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 1); + if (data[1] == 4) + { + DestroyTask(taskId); + return; + } + data[2]--; + } + MapGridSetMetatileIdAt(data[2], data[3], 0xEB9); + MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEBA); + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 1); + } + data[0]++; + if (data[0] == 4) + { + data[0] = 0; + data[1]++; + } } |