diff --git a/src/shop.c b/src/shop.c index 7ea8b3edf..9f035a5ff 100644 --- a/src/shop.c +++ b/src/shop.c @@ -60,7 +60,7 @@ struct ShopData /*0x0C*/ u16 selectedRow; /*0x0E*/ u16 scrollOffset; /*0x10*/ u16 itemCount; - /*0x12*/ u16 field12; + /*0x12*/ u16 itemsShowed; /*0x14*/ u16 maxQuantity; /*0x16*/ u16 martType:4; // 0x1 if tm list u16 fontId:5; @@ -70,7 +70,7 @@ struct ShopData }; static EWRAM_DATA s16 sViewportObjectEvents[OBJECT_EVENTS_COUNT][4] = {0}; -EWRAM_DATA struct ShopData gShopData = {0}; +static EWRAM_DATA struct ShopData sShopData = {0}; static EWRAM_DATA u8 sShopMenuWindowId = 0; EWRAM_DATA u16 (*gShopTilemapBuffer1)[0x400] = {0}; EWRAM_DATA u16 (*gShopTilemapBuffer2)[0x400] = {0}; @@ -81,7 +81,7 @@ static EWRAM_DATA u8 (*sShopMenuItemStrings)[13] = {0}; EWRAM_DATA struct QuestLogEvent_Shop sHistory[2] = {0}; //Function Declarations -static u8 CreateShopMenu(u8 a0); +static u8 CreateShopMenu(u8 martType); static u8 GetMartTypeFromItemList(u32 a0); static void SetShopItemsForSale(const u16 *items); static void SetShopMenuCallback(MainCallback callback); @@ -159,7 +159,7 @@ static const struct WindowTemplate sShopMenuWindowTemplate = .height = 6, .paletteNum = 15, .baseBlock = 8 -}; +}; static const struct BgTemplate sShopBuyMenuBgTemplates[4] = { @@ -202,15 +202,15 @@ static const struct BgTemplate sShopBuyMenuBgTemplates[4] = }; // Functions -static u8 CreateShopMenu(u8 a0) +static u8 CreateShopMenu(u8 martType) { - gShopData.martType = GetMartTypeFromItemList(a0); - gShopData.selectedRow = 0; + sShopData.martType = GetMartTypeFromItemList(martType); + sShopData.selectedRow = 0; if (ContextNpcGetTextColor() == NPC_TEXT_COLOR_MALE) - gShopData.fontId = FONT_MALE; + sShopData.fontId = FONT_MALE; else - gShopData.fontId = FONT_FEMALE; - + sShopData.fontId = FONT_FEMALE; + sShopMenuWindowId = AddWindow(&sShopMenuWindowTemplate); SetStdWindowBorderStyle(sShopMenuWindowId, 0); PrintTextArray(sShopMenuWindowId, FONT_NORMAL, GetMenuCursorDimensionByFont(FONT_NORMAL, 0), 2, 16, 3, sShopMenuActions_BuySellQuit); @@ -220,43 +220,43 @@ static u8 CreateShopMenu(u8 a0) return CreateTask(Task_ShopMenu, 8); } -static u8 GetMartTypeFromItemList(u32 a0) -{ +static u8 GetMartTypeFromItemList(u32 martType) +{ u16 i; - - if (a0) - return a0; - - for (i = 0; i < gShopData.itemCount && gShopData.itemList[i] != 0; i++) + + if (martType != MART_TYPE_REGULAR) + return martType; + + for (i = 0; i < sShopData.itemCount && sShopData.itemList[i] != 0; i++) { - if (ItemId_GetPocket(gShopData.itemList[i]) == POCKET_TM_CASE) - return 1; + if (ItemId_GetPocket(sShopData.itemList[i]) == POCKET_TM_CASE) + return MART_TYPE_TMHM; } - return 0; + return MART_TYPE_REGULAR; } static void SetShopItemsForSale(const u16 *items) -{ - gShopData.itemList = items; - gShopData.itemCount = 0; - if (gShopData.itemList[0] == 0) +{ + sShopData.itemList = items; + sShopData.itemCount = 0; + if (sShopData.itemList[0] == 0) return; - while (gShopData.itemList[gShopData.itemCount]) + while (sShopData.itemList[sShopData.itemCount]) { - ++gShopData.itemCount; + ++sShopData.itemCount; } } static void SetShopMenuCallback(void (*callback)(void)) { - gShopData.callback = callback; + sShopData.callback = callback; } static void Task_ShopMenu(u8 taskId) { s8 input = Menu_ProcessInputNoWrapAround(); - + switch (input) { case MENU_NOTHING_CHOSEN: @@ -282,7 +282,7 @@ static void Task_HandleShopMenuSell(u8 taskId) { SetWordTaskArg(taskId, 0xE, (u32)CB2_GoToSellMenu); FadeScreen(FADE_TO_BLACK, 0); - gTasks[taskId].func = Task_GoToBuyOrSellMenu; + gTasks[taskId].func = Task_GoToBuyOrSellMenu; } static void CB2_GoToSellMenu(void) @@ -296,8 +296,8 @@ static void Task_HandleShopMenuQuit(u8 taskId) ClearShopMenuWindow(); RecordTransactionForQuestLog(); DestroyTask(taskId); - if (gShopData.callback != NULL) - gShopData.callback(); + if (sShopData.callback != NULL) + sShopData.callback(); } static void ClearShopMenuWindow(void) @@ -310,7 +310,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId) { if (gPaletteFade.active) return; - + SetMainCallback2((void *)GetWordTaskArg(taskId, 0xE)); FreeAllWindowBuffers(); DestroyTask(taskId); @@ -326,13 +326,13 @@ static void Task_ReturnToShopMenu(u8 taskId) { if (IsWeatherNotFadingIn() != TRUE) return; - + DisplayItemMessageOnField(taskId, GetMartFontId(), gText_AnythingElseICanHelp, ShowShopMenuAfterExitingBuyOrSellMenu); } static void ShowShopMenuAfterExitingBuyOrSellMenu(u8 taskId) { - CreateShopMenu(gShopData.martType); + CreateShopMenu(sShopData.martType); DestroyTask(taskId); } @@ -355,7 +355,7 @@ static void VBlankCB_BuyMenu(void) static void CB2_InitBuyMenu(void) { u8 taskId; - + switch (gMain.state) { case 0: @@ -376,7 +376,7 @@ static void CB2_InitBuyMenu(void) 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); + BuyMenuInitWindows(sShopData.martType); BuyMenuDecompressBgGraphics(); gMain.state++; break; @@ -386,8 +386,8 @@ static void CB2_InitBuyMenu(void) gMain.state++; break; default: - gShopData.selectedRow = 0; - gShopData.scrollOffset = 0; + sShopData.selectedRow = 0; + sShopData.scrollOffset = 0; BuyMenuDrawGraphics(); BuyMenuAddScrollIndicatorArrows(); taskId = CreateTask(Task_BuyMenu, 8); @@ -407,17 +407,17 @@ static bool8 InitShopData(void) { BuyMenuFreeMemory(); SetShopExitCallback(); - return FALSE; + return FALSE; } - + gShopTilemapBuffer2 = Alloc(sizeof(*gShopTilemapBuffer2)); if (gShopTilemapBuffer2 == NULL) { BuyMenuFreeMemory(); SetShopExitCallback(); - return FALSE; + return FALSE; } - + gShopTilemapBuffer3 = Alloc(sizeof(*gShopTilemapBuffer3)); if (gShopTilemapBuffer3 == NULL) { @@ -425,15 +425,15 @@ static bool8 InitShopData(void) SetShopExitCallback(); return FALSE; } - + gShopTilemapBuffer4 = Alloc(sizeof(*gShopTilemapBuffer4)); if (gShopTilemapBuffer4 == NULL) { BuyMenuFreeMemory(); SetShopExitCallback(); - return FALSE; + return FALSE; } - + return TRUE; } @@ -463,13 +463,13 @@ static void BuyMenuInitBgs(void) static void BuyMenuDecompressBgGraphics(void) { u16 *pal; - + DecompressAndCopyTileDataToVram(1, gBuyMenuFrame_Gfx, 0x480, 0x3DC, 0); - if ((gShopData.martType) != MART_TYPE_TMHM) + if ((sShopData.martType) != MART_TYPE_TMHM) LZDecompressWram(gBuyMenuFrame_Tilemap, gShopTilemapBuffer1); else LZDecompressWram(gBuyMenuFrame_TmHmTilemap, gShopTilemapBuffer1); - + pal = Alloc(2 * PLTT_SIZE_4BPP); LZDecompressWram(gBuyMenuFrame_Pal, pal); LoadPalette(&pal[0 * 16], BG_PLTT_ID(11), PLTT_SIZE_4BPP); @@ -480,17 +480,17 @@ static void BuyMenuDecompressBgGraphics(void) static void RecolorItemDescriptionBox(bool32 a0) { u8 paletteNum; - + if (a0 == FALSE) paletteNum = 0xB; - else + else paletteNum = 0x6; - - if ((gShopData.martType) != MART_TYPE_TMHM) + + if ((sShopData.martType) != MART_TYPE_TMHM) SetBgTilemapPalette(1, 0, 14, 30, 6, paletteNum); else SetBgTilemapPalette(1, 0, 12, 30, 8, paletteNum); - + ScheduleBgCopyTilemapToVram(1); } @@ -508,25 +508,25 @@ static void BuyMenuDrawGraphics(void) bool8 BuyMenuBuildListMenuTemplate(void) { u16 i, v; - - sShopMenuListMenu = Alloc((gShopData.itemCount + 1) * sizeof(*sShopMenuListMenu)); + + sShopMenuListMenu = Alloc((sShopData.itemCount + 1) * sizeof(*sShopMenuListMenu)); if (sShopMenuListMenu == NULL - || (sShopMenuItemStrings = Alloc((gShopData.itemCount + 1) * sizeof(*sShopMenuItemStrings))) == NULL) + || (sShopMenuItemStrings = Alloc((sShopData.itemCount + 1) * sizeof(*sShopMenuItemStrings))) == NULL) { BuyMenuFreeMemory(); SetShopExitCallback(); return FALSE; } - - for (i = 0; i < gShopData.itemCount; i++) + + for (i = 0; i < sShopData.itemCount; i++) { - PokeMartWriteNameAndIdAt(&sShopMenuListMenu[i], gShopData.itemList[i], sShopMenuItemStrings[i]); + PokeMartWriteNameAndIdAt(&sShopMenuListMenu[i], sShopData.itemList[i], sShopMenuItemStrings[i]); } StringCopy(sShopMenuItemStrings[i], gFameCheckerText_Cancel); - sShopMenuListMenu[i].label = sShopMenuItemStrings[i]; + sShopMenuListMenu[i].label = sShopMenuItemStrings[i]; sShopMenuListMenu[i].index = -2; gMultiuseListMenuTemplate.items = sShopMenuListMenu; - gMultiuseListMenuTemplate.totalItems = gShopData.itemCount + 1; + gMultiuseListMenuTemplate.totalItems = sShopData.itemCount + 1; gMultiuseListMenuTemplate.windowId = 4; gMultiuseListMenuTemplate.header_X = 0; gMultiuseListMenuTemplate.item_X = 9; @@ -542,18 +542,18 @@ bool8 BuyMenuBuildListMenuTemplate(void) gMultiuseListMenuTemplate.itemPrintFunc = BuyMenuPrintPriceInList; gMultiuseListMenuTemplate.scrollMultiple = 0; gMultiuseListMenuTemplate.cursorKind = 0; - - if (gShopData.martType == MART_TYPE_TMHM) + + if (sShopData.martType == MART_TYPE_TMHM) v = 5; else v = 6; - - if ((gShopData.itemCount + 1) > v) + + if ((sShopData.itemCount + 1) > v) gMultiuseListMenuTemplate.maxShowed = v; else - gMultiuseListMenuTemplate.maxShowed = gShopData.itemCount + 1; - - gShopData.field12 = gMultiuseListMenuTemplate.maxShowed; + gMultiuseListMenuTemplate.maxShowed = sShopData.itemCount + 1; + + sShopData.itemsShowed = gMultiuseListMenuTemplate.maxShowed; return TRUE; } @@ -567,7 +567,7 @@ static void PokeMartWriteNameAndIdAt(struct ListMenuItem *list, u16 index, u8 *d static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, struct ListMenu *list) { const u8 *description; - + if (onInit != TRUE) PlaySE(SE_SELECT); @@ -575,17 +575,17 @@ static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, s description = ItemId_GetDescription(item); else description = gText_QuitShopping; - + FillWindowPixelBuffer(5, PIXEL_FILL(0)); - if (gShopData.martType != 1) + if (sShopData.martType != MART_TYPE_TMHM) { - DestroyItemMenuIcon(gShopData.itemSlot ^ 1); + DestroyItemMenuIcon(sShopData.itemSlot ^ 1); if (item != INDEX_CANCEL) - CreateItemMenuIcon(item, gShopData.itemSlot); + CreateItemMenuIcon(item, sShopData.itemSlot); else - CreateItemMenuIcon(ITEMS_COUNT, gShopData.itemSlot); - - gShopData.itemSlot ^= 1; + CreateItemMenuIcon(ITEMS_COUNT, sShopData.itemSlot); + + sShopData.itemSlot ^= 1; BuyMenuPrint(5, FONT_NORMAL, description, 0, 3, 2, 1, 0, 0); } else //TM Mart @@ -633,7 +633,7 @@ static void LoadTmHmNameInMart(s32 item) u8 GetMartFontId(void) { - return gShopData.fontId; + return sShopData.fontId; } static void BuyMenuPrintCursor(u8 listTaskId, u8 a1) @@ -658,23 +658,23 @@ static void BuyMenuFreeMemory(void) { if (gShopTilemapBuffer1 != NULL) Free(gShopTilemapBuffer1); - + if (gShopTilemapBuffer2 != NULL) Free(gShopTilemapBuffer2); - + if (gShopTilemapBuffer3 != NULL) Free(gShopTilemapBuffer3); - + if (gShopTilemapBuffer4 != NULL) Free(gShopTilemapBuffer4); - + if (sShopMenuListMenu != NULL) Free(sShopMenuListMenu); - + if (sShopMenuItemStrings != NULL) Free(sShopMenuItemStrings); - - FreeAllWindowBuffers(); + + FreeAllWindowBuffers(); } static void SetShopExitCallback(void) @@ -686,31 +686,31 @@ static void SetShopExitCallback(void) static void BuyMenuAddScrollIndicatorArrows(void) { - if (gShopData.martType != MART_TYPE_TMHM) + if (sShopData.martType != MART_TYPE_TMHM) { - gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 104, - (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); + sShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 104, + (sShopData.itemCount - sShopData.itemsShowed) + 1, 110, 110, &sShopData.scrollOffset); } else { - gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 88, - (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); + sShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 88, + (sShopData.itemCount - sShopData.itemsShowed) + 1, 110, 110, &sShopData.scrollOffset); } } static void BuyQuantityAddScrollIndicatorArrows(void) { - gShopData.unk18 = 1; - gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &gShopData.unk18); + sShopData.unk18 = 1; + sShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &sShopData.unk18); } static void BuyMenuRemoveScrollIndicatorArrows(void) { - if ((gShopData.unk16_11) == 0x1F) + if ((sShopData.unk16_11) == 0x1F) return; - - RemoveScrollIndicatorArrowPair(gShopData.unk16_11); - gShopData.unk16_11 = 0x1F; + + RemoveScrollIndicatorArrowPair(sShopData.unk16_11); + sShopData.unk16_11 = 0x1F; } static void BuyMenuDrawMapView(void) @@ -721,7 +721,7 @@ static void BuyMenuDrawMapView(void) } static void BuyMenuDrawMapBg(void) -{ +{ s16 i, j, x, y; const struct MapLayout *mapLayout; u16 metatile; @@ -785,10 +785,10 @@ static void BuyMenuCollectObjectEventData(void) GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); elevation = PlayerGetElevation(); - + for (y = 0; y < OBJECT_EVENTS_COUNT; y++) sViewportObjectEvents[y][OBJECT_EVENT_ID] = OBJECT_EVENTS_COUNT; - + for (y = 0; y < 5; y++) { for (x = 0; x < 7; x++) @@ -832,7 +832,7 @@ static void BuyMenuDrawObjectEvents(void) if (sViewportObjectEvents[i][OBJECT_EVENT_ID] == OBJECT_EVENTS_COUNT) continue; - graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[sViewportObjectEvents[i][OBJECT_EVENT_ID]].graphicsId); + graphicsInfo = GetObjectEventGraphicsInfo(gObjectEvents[sViewportObjectEvents[i][OBJECT_EVENT_ID]].graphicsId); spriteId = CreateObjectGraphicsSprite( gObjectEvents[sViewportObjectEvents[i][OBJECT_EVENT_ID]].graphicsId, SpriteCallbackDummy, @@ -860,9 +860,9 @@ static void BuyMenuCopyTilemapData(void) static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) { s16 *data = gTasks[taskId].data; - + FillWindowPixelBuffer(3, PIXEL_FILL(1)); - PrintMoneyAmount(3, 0x36, 0xA, gShopData.itemPrice, TEXT_SKIP_DRAW); + PrintMoneyAmount(3, 0x36, 0xA, sShopData.itemPrice, TEXT_SKIP_DRAW); ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, 2); StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); BuyMenuPrint(3, FONT_SMALL, gStringVar4, 2, 0xA, 0, 0, 0, 1); @@ -875,7 +875,7 @@ static void Task_BuyMenu(u8 taskId) if (!gPaletteFade.active) { s32 itemId = ListMenu_ProcessInput(tListTaskId); - ListMenuGetScrollAndRow(tListTaskId, &gShopData.scrollOffset, &gShopData.selectedRow); + ListMenuGetScrollAndRow(tListTaskId, &sShopData.scrollOffset, &sShopData.selectedRow); switch (itemId) { case LIST_NOTHING_CHOSEN: @@ -891,8 +891,8 @@ static void Task_BuyMenu(u8 taskId) BuyMenuRemoveScrollIndicatorArrows(); BuyMenuPrintCursor(tListTaskId, 2); RecolorItemDescriptionBox(1); - gShopData.itemPrice = ItemId_GetPrice(itemId); - if (!IsEnoughMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice)) + sShopData.itemPrice = ItemId_GetPrice(itemId); + if (!IsEnoughMoney(&gSaveBlock1Ptr->money, sShopData.itemPrice)) { BuyMenuDisplayMessage(taskId, gText_YouDontHaveMoney, BuyMenuReturnToItemList); } @@ -911,7 +911,7 @@ static void Task_BuyHowManyDialogueInit(u8 taskId) s16 *data = gTasks[taskId].data; u16 quantityInBag = BagGetQuantityByItemId(tItemId); u16 maxQuantity; - + BuyMenuQuantityBoxThinBorder(1, 0); ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, 3); StringExpandPlaceholders(gStringVar4, gText_InBagVar1); @@ -922,23 +922,23 @@ static void Task_BuyHowManyDialogueInit(u8 taskId) ScheduleBgCopyTilemapToVram(0); maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / ItemId_GetPrice(tItemId); if (maxQuantity > 99) - gShopData.maxQuantity = 99; + sShopData.maxQuantity = 99; else - gShopData.maxQuantity = (u8)maxQuantity; - + sShopData.maxQuantity = (u8)maxQuantity; + if (maxQuantity != 1) BuyQuantityAddScrollIndicatorArrows(); - - gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; + + gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; } static void Task_BuyHowManyDialogueHandleInput(u8 taskId) { s16 *data = gTasks[taskId].data; - if (AdjustQuantityAccordingToDPadInput(&tItemCount, gShopData.maxQuantity) == TRUE) + if (AdjustQuantityAccordingToDPadInput(&tItemCount, sShopData.maxQuantity) == TRUE) { - gShopData.itemPrice = ItemId_GetPrice(tItemId) * tItemCount; + sShopData.itemPrice = ItemId_GetPrice(tItemId) * tItemCount; BuyMenuPrintItemQuantityAndPrice(taskId); } else @@ -954,11 +954,11 @@ static void Task_BuyHowManyDialogueHandleInput(u8 taskId) PutWindowTilemap(4); CopyItemName(tItemId, gStringVar1); ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, 2); - ConvertIntToDecimalStringN(gStringVar3, gShopData.itemPrice, STR_CONV_MODE_LEFT_ALIGN, 8); + ConvertIntToDecimalStringN(gStringVar3, sShopData.itemPrice, STR_CONV_MODE_LEFT_ALIGN, 8); BuyMenuDisplayMessage(taskId, gText_Var1AndYouWantedVar2, CreateBuyMenuConfirmPurchaseWindow); } else if (JOY_NEW(B_BUTTON)) - { + { PlaySE(SE_SELECT); BuyMenuRemoveScrollIndicatorArrows(); ClearStdWindowAndFrameToTransparent(3, FALSE); @@ -995,7 +995,7 @@ static void BuyMenuTryMakePurchase(u8 taskId) static void BuyMenuSubtractMoney(u8 taskId) { IncrementGameStat(GAME_STAT_SHOPPED); - RemoveMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice); + RemoveMoney(&gSaveBlock1Ptr->money, sShopData.itemPrice); PlaySE(SE_SHOP); PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase; @@ -1019,9 +1019,9 @@ static void BuyMenuReturnToItemList(u8 taskId) RecolorItemDescriptionBox(0); PutWindowTilemap(4); PutWindowTilemap(5); - if (gShopData.martType == MART_TYPE_TMHM) + if (sShopData.martType == MART_TYPE_TMHM) PutWindowTilemap(6); - + ScheduleBgCopyTilemapToVram(0); BuyMenuAddScrollIndicatorArrows(); gTasks[taskId].func = Task_BuyMenu; @@ -1037,7 +1037,7 @@ static void ExitBuyMenu(u8 taskId) static void Task_ExitBuyMenu(u8 taskId) { s16 *data = gTasks[taskId].data; - + if (!gPaletteFade.active) { DestroyListMenuTask(tListTaskId, NULL, NULL); @@ -1060,7 +1060,7 @@ static void DebugFunc_PrintShopMenuHistoryBeforeClearMaybe(void) void RecordItemTransaction(u16 itemId, u16 quantity, u8 logEventId) { struct QuestLogEvent_Shop *history; - + // There should only be a single entry for buying/selling respectively, // so if one has already been created then get it first. if (sHistory[0].logEventId == logEventId) @@ -1084,7 +1084,7 @@ void RecordItemTransaction(u16 itemId, u16 quantity, u8 logEventId) // Set flag if this isn't the first time we've bought/sold in this session if (history->lastItemId != ITEM_NONE) history->hasMultipleTransactions = TRUE; - + history->lastItemId = itemId; // Add to number of items bought/sold @@ -1094,7 +1094,7 @@ void RecordItemTransaction(u16 itemId, u16 quantity, u8 logEventId) if (history->itemQuantity > 999) history->itemQuantity = 999; } - + // Add to amount of money spent buying or earned selling if (history->totalMoney < 999999) { @@ -1103,7 +1103,7 @@ void RecordItemTransaction(u16 itemId, u16 quantity, u8 logEventId) history->totalMoney += (ItemId_GetPrice(itemId) >> (logEventId - 1)) * quantity; if (history->totalMoney > 999999) history->totalMoney = 999999; - } + } } // Will record QL_EVENT_BOUGHT_ITEM and/or QL_EVENT_SOLD_ITEM, or nothing. @@ -1112,14 +1112,14 @@ static void RecordTransactionForQuestLog(void) u16 eventId = sHistory[0].logEventId; if (eventId != 0) SetQuestLogEvent(eventId + QL_EVENT_USED_POKEMART, (const u16 *)&sHistory[0]); - + eventId = sHistory[1].logEventId; if (eventId != 0) SetQuestLogEvent(eventId + QL_EVENT_USED_POKEMART, (const u16 *)&sHistory[1]); } void CreatePokemartMenu(const u16 *itemsForSale) -{ +{ SetShopItemsForSale(itemsForSale); CreateShopMenu(MART_TYPE_REGULAR); SetShopMenuCallback(ScriptContext_Enable);