summaryrefslogtreecommitdiff
path: root/src/shop.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/shop.c')
-rw-r--r--src/shop.c342
1 files changed, 0 insertions, 342 deletions
diff --git a/src/shop.c b/src/shop.c
deleted file mode 100644
index d53646a88..000000000
--- a/src/shop.c
+++ /dev/null
@@ -1,342 +0,0 @@
-#include "global.h"
-#include "shop.h"
-#include "decompress.h"
-#include "field_fadetransition.h"
-#include "field_weather.h"
-#include "item_menu.h"
-#include "main.h"
-#include "menu.h"
-#include "menu_helpers.h"
-#include "money.h"
-#include "palette.h"
-#include "script.h"
-#include "sound.h"
-#include "sprite.h"
-#include "strings.h"
-#include "task.h"
-#include "tv.h"
-#include "unknown_task.h"
-
-struct UnknownShopStruct
-{
- /* 0x0 */ void (* callback) (void);
- /* 0x4 */ u16 *itemList;
- /* 0x8 */ u8 itemCount;
- /* 0x9 */ u8 unk9;
- /* 0xA */ u8 unkA;
- /* 0xB */ u8 unkB;
- /* 0xC */ bool8 unkC;
- // unknown size
-};
-
-extern struct UnknownShopStruct gUnknown_03000708;
-extern struct MenuAction gUnknown_083CC6D0[];
-
-extern u8 gUnknown_083CC6E8[];
-extern u8 gUnknown_083CC6EB[];
-extern u8 gBuyMenuFrame_Gfx[];
-
-extern u16 gBuyMenuFrame_Tilemap[];
-extern u16 gMenuMoneyPal[16];
-extern u16 gUnknown_083CC710[2];
-
-u8 CreateShopMenu(bool8 var)
-{
- ScriptContext2_Enable();
- gUnknown_03000708.unkC = var;
- gUnknown_03000708.unk9 = 0;
-
- if(var == FALSE)
- {
- gUnknown_03000708.unkA = 2;
- MenuDrawTextWindow(0, 0, 10, 7);
- PrintMenuItemsReordered(1, 1, 3, gUnknown_083CC6D0, (u8 *)gUnknown_083CC6E8);
- }
- else
- {
- gUnknown_03000708.unkA = 1;
- MenuDrawTextWindow(0, 0, 10, 5);
- PrintMenuItemsReordered(1, 1, 2, gUnknown_083CC6D0, (u8 *)gUnknown_083CC6EB);
- }
- InitMenu(0, 1, 1, gUnknown_03000708.unkA + 1, 0, 9);
-
- return CreateTask(sub_80B2E38, 8);
-}
-
-void SetShopMenuCallback(void *callbackPtr)
-{
- gUnknown_03000708.callback = callbackPtr;
-}
-
-void SetShopItemsForSale(u16 *items)
-{
- u16 i = 0;
-
- gUnknown_03000708.itemList = items;
- gUnknown_03000708.itemCount = 0;
-
- while (gUnknown_03000708.itemList[i])
- {
- gUnknown_03000708.itemCount++;
- i++;
- }
-}
-
-void sub_80B2E38(u8 var)
-{
- const u8 local = var;
-
- if(gMain.newAndRepeatedKeys & 0x40)
- {
- if(gUnknown_03000708.unk9)
- {
- PlaySE(0x5);
- gUnknown_03000708.unk9 = MoveMenuCursor(-1);
- }
- }
- else if(gMain.newAndRepeatedKeys & 0x80)
- {
- if(gUnknown_03000708.unk9 != gUnknown_03000708.unkA)
- {
- PlaySE(0x5);
- gUnknown_03000708.unk9 = MoveMenuCursor(1);
- }
- }
- else if (gMain.newKeys & 1)
- {
- PlaySE(0x5);
- if(!gUnknown_03000708.unkC)
- {
- gUnknown_083CC6D0[gUnknown_083CC6E8[gUnknown_03000708.unk9]].func(local);
- }
- else
- {
- gUnknown_083CC6D0[gUnknown_083CC6EB[gUnknown_03000708.unk9]].func(local);
- }
- }
- else if(gMain.newKeys & 2)
- {
- PlaySE(0x5);
- HandleShopMenuQuit(local);
- }
-}
-
-void sub_80B2EFC(u8 taskId)
-{
- gTasks[taskId].data[8] = (u32)BuyMenuDrawGraphics >> 16;
- gTasks[taskId].data[9] = (u32)BuyMenuDrawGraphics;
- gTasks[taskId].func = sub_80B2FA0;
- fade_screen(1, 0);
-}
-
-void sub_80B2F30(u8 taskId)
-{
- gTasks[taskId].data[8] = (u32)sub_80A6300 >> 16;
- gTasks[taskId].data[9] = (u32)sub_80A6300;
- gTasks[taskId].func = sub_80B2FA0;
- fade_screen(1, 0);
-}
-
-void HandleShopMenuQuit(u8 taskId)
-{
- HandleDestroyMenuCursors();
- MenuZeroFillWindowRect(0, 0, 11, 8);
- sub_80BE3BC(); // in tv.s?
- ScriptContext2_Disable();
- DestroyTask(taskId);
-
- if(gUnknown_03000708.callback)
- gUnknown_03000708.callback(); // run the callback if it exists.
-}
-
-void sub_80B2FA0(u8 taskId)
-{
- if(!gPaletteFade.active)
- {
- SetMainCallback2((void *)((u16)gTasks[taskId].data[8] << 16 | (u16)gTasks[taskId].data[9]));
- DestroyTask(taskId);
- }
-}
-
-void ReturnToShopMenuAfterExitingSellMenu(u8 taskId)
-{
- CreateShopMenu(gUnknown_03000708.unkC);
- DestroyTask(taskId);
-}
-
-void Task_ExitSellMenu(u8 taskId)
-{
- if(sub_807D770() == 1)
- {
- if(gUnknown_03000708.unkC == 2)
- DisplayItemMessageOnField(taskId, gOtherText_CanIHelpYou, ReturnToShopMenuAfterExitingSellMenu, 0);
- else
- DisplayItemMessageOnField(taskId, gOtherText_AnythingElse, ReturnToShopMenuAfterExitingSellMenu, 0);
- }
-}
-
-void sub_80B3050(void)
-{
- pal_fill_black();
- CreateTask(Task_ExitSellMenu, 0x8);
-}
-
-void sub_80B3068(u8 taskId)
-{
- Task_ExitSellMenu(taskId);
-}
-
-void unref_sub_80B3078(u8 taskId)
-{
- gTasks[taskId].func = Task_ExitSellMenu;
-}
-
-void sub_80B3094(void)
-{
- AnimateSprites();
- BuildOamBuffer();
- RunTasks();
- UpdatePaletteFade();
-}
-
-void sub_80B30AC(void)
-{
- void *addr;
- void *addr2;
- void *addr3;
- u16 *tempArr;
- u16 *tempArr2;
- u16 *tempArr3;
-
- LoadOam();
- ProcessSpriteCopyRequests();
- TransferPlttBuffer();
-
- // temp vars needed to match for some dumb reason
- tempArr = gBGTilemapBuffers[1];
- addr = (void *)(VRAM + 0xE800);
- DmaCopy16(3, tempArr, addr, 0x800);
- tempArr2 = gBGTilemapBuffers[2];
- addr2 = (void *)(VRAM + 0xE000);
- DmaCopy16(3, tempArr2, addr2, 0x800);
- tempArr3 = gBGTilemapBuffers[3];
- addr3 = (void *)(VRAM + 0xF000);
- DmaCopy16(3, tempArr3, addr3, 0x800);
-}
-
-// this function is fugly. pls fix
-void BuyMenuDrawGraphics(void)
-{
- void *addr;
- register u16 zero2 asm("r5");
-
- sub_80F9438();
- remove_some_task();
- REG_BG1HOFS = (zero2 = 0);
- REG_BG1VOFS = zero2;
- REG_BG2HOFS = zero2;
- REG_BG2VOFS = zero2;
- REG_BG3HOFS = zero2;
- REG_BG3VOFS = zero2;
- gPaletteFade.bufferTransferDisabled = 1;
- addr = (void*)OAM;
- {
- register const u32 zero asm("r6") = 0;
- DmaFill32(3, zero, addr, OAM_SIZE);
- LZDecompressVram(gBuyMenuFrame_Gfx, (void*)(VRAM + 0x7C00));
- sub_800D238(gBuyMenuFrame_Tilemap, (void *)0x02018000);
- LoadCompressedPalette(gMenuMoneyPal, 0xC0, sizeof(gMenuMoneyPal));
- FreeAllSpritePalettes();
- ResetPaletteFade();
- ResetSpriteData();
- ResetTasks();
- SetUpWindowConfig(&gWindowConfig_81E6DFC);
- InitMenuWindow(&gWindowConfig_81E6DFC);
- BuyMenuDrawMapGraphics();
- gUnknown_03000708.unk9 = zero;
- gUnknown_03000708.unkB = zero2;
- MenuZeroFillWindowRect(0, 0, 0x20, 0x20);
- sub_80B7C14(gSaveBlock1.money, 0, 0);
- sub_80B3764(0, 7);
- sub_80B37EC();
- sub_80B3270();
- CreateTask(sub_80B40E8, 0x8);
- sub_80B3240();
- asm("":::"r4"); // what??
- BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, zero);
- gPaletteFade.bufferTransferDisabled = 0;
- SetVBlankCallback(sub_80B30AC);
- SetMainCallback2(sub_80B3094);
- }
-}
-
-void sub_80B3240(void)
-{
- u16 tempArr[2];
-
- memcpy(tempArr, gUnknown_083CC710, sizeof(tempArr));
- LoadPalette(&tempArr[1], 0xD1, 2);
- LoadPalette(&tempArr[0], 0xD8, 2);
-}
-
-void sub_80B3270(void)
-{
- sub_80F944C();
-
- if(gUnknown_03000708.itemCount > 7)
- {
- CreateVerticalScrollIndicators(0, 172, 12);
- CreateVerticalScrollIndicators(1, 172, 148);
- sub_80F979C(0, 1);
- }
-}
-
-void sub_80B32A4(void)
-{
- if(gUnknown_03000708.unkB == 0)
- sub_80F979C(0, 1);
- else
- sub_80F979C(0, 0);
-
- if(gUnknown_03000708.unkB + 7 >= gUnknown_03000708.itemCount)
- sub_80F979C(1, 1);
- else
- sub_80F979C(1, 0);
-}
-
-void sub_80B32EC(u16 *array, s16 offset1, s16 offset2)
-{
- array[offset1 + offset2] = 0xC3E1;
- array[offset1 + offset2 + 1] = 0xC3E1;
-}
-
-void BuyMenuDrawMapMetatileLayer(u16 *array, s16 offset1, s16 offset2, u16 *array2)
-{
- array[offset1 + offset2] = array2[0];
- array[offset1 + offset2 + 1] = array2[1];
- array[offset1 + offset2 + 32] = array2[2];
- array[offset1 + offset2 + 33] = array2[3];
-}
-
-void BuyMenuDrawMapMetatile(int var1, int var2, u16 *var3, s8 var4)
-{
- u8 tempVar4 = var4;
- s16 offset1 = var1 * 2;
- s16 offset2 = (var2 * 0x40) + 0x40;
-
- switch(tempVar4)
- {
- case 0: // _080B335C
- BuyMenuDrawMapMetatileLayer(gBGTilemapBuffers[2], offset1, offset2, var3);
- BuyMenuDrawMapMetatileLayer(gBGTilemapBuffers[1], offset1, offset2, var3 + 4);
- break;
- case 1: // _080B3364
- BuyMenuDrawMapMetatileLayer(gBGTilemapBuffers[3], offset1, offset2, var3);
- BuyMenuDrawMapMetatileLayer(gBGTilemapBuffers[2], offset1, offset2, var3 + 4);
- break;
- case 2: // _080B3398
- BuyMenuDrawMapMetatileLayer(gBGTilemapBuffers[3], offset1, offset2, var3);
- BuyMenuDrawMapMetatileLayer(gBGTilemapBuffers[1], offset1, offset2, var3 + 4);
- break;
- }
-}