summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2019-10-29 20:28:17 -0400
committerPikalaxALT <PikalaxALT@gmail.com>2019-10-29 20:28:17 -0400
commite9592bee5d1aa74a39e8879d52c0e5f105bef9c1 (patch)
tree0f1a950e9759e9583f8e1570efcd04af2f562f90 /src
parent316337b031d35d89db0f2ad939972588cae291bd (diff)
Finish sub_8050968
Diffstat (limited to 'src')
-rw-r--r--src/trade.c80
1 files changed, 68 insertions, 12 deletions
diff --git a/src/trade.c b/src/trade.c
index 026f77db8..19f6e47f6 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -217,6 +217,13 @@ extern const u16 gUnknown_826AA5C[];
extern const u16 gUnknown_8269A5C[];
extern const u32 gUnknown_3379A0Bin[];
extern const u16 gUnknown_826407C[];
+extern const u16 gUnknown_826601C[];
+extern const u16 gUnknown_826BF5C[];
+extern const u16 gUnknown_826701C[];
+extern const u16 gUnknown_826985C[];
+extern const u16 gUnknown_826995C[];
+extern const u32 gWirelessSignal4bpp[];
+extern const u32 gUnknown_826C60C[];
void sub_804C600(void)
{
@@ -4554,39 +4561,40 @@ void CB2_RunTradeAnim_InGameTrade(void)
BuildOamBuffer();
UpdatePaletteFade();
}
-/*
void sub_8050968(u8 state)
{
switch (state)
{
case 0:
- sTradeAnimationResourcesPtr->bg2hofs = 0;
- sTradeAnimationResourcesPtr->bg2vofs = 0xB4;
+ sTradeAnimationResourcesPtr->bg2vofs = 0;
+ sTradeAnimationResourcesPtr->bg2hofs = 0xB4;
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
- SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_AFF256x256);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256);
LoadPalette(gTradeGba2_Pal, 0x10, 0x60);
DmaCopyLarge16(3, gTradeGba_Gfx, (void *)BG_CHAR_ADDR(1), 0x1420, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_826601C, (void *)BG_SCREEN_ADDR(18), 0x1000);
break;
case 1:
sTradeAnimationResourcesPtr->bg1hofs = 0;
sTradeAnimationResourcesPtr->bg1vofs = 0x15C;
SetGpuReg(REG_OFFSET_BG1VOFS, 0x15C);
SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5) | BGCNT_TXT256x512);
- SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_AFF512x512);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT256x512);
if (sTradeAnimationResourcesPtr->unk_108)
{
- DmaCopy16(3, gUnknown_826AA5C, (void *)BG_SCREEN_ADDR(5), 0x1000);
+ DmaCopy16Defvars(3, gUnknown_826AA5C, (void *)BG_SCREEN_ADDR(5), 0x1000);
}
else
{
- DmaCopy16(3, gUnknown_8269A5C, (void *)BG_SCREEN_ADDR(5), 0x1000);
+ DmaCopy16Defvars(3, gUnknown_8269A5C, (void *)BG_SCREEN_ADDR(5), 0x1000);
}
DmaCopyLarge16(3, gTradeGba_Gfx, (void *)BG_CHAR_ADDR(0), 0x1420, 0x1000);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON);
break;
case 2:
- sTradeAnimationResourcesPtr->bg1hofs = 0;
sTradeAnimationResourcesPtr->bg1vofs = 0;
+ sTradeAnimationResourcesPtr->bg1hofs = 0;
if (sTradeAnimationResourcesPtr->unk_108 == FALSE)
{
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON);
@@ -4596,7 +4604,7 @@ void sub_8050968(u8 state)
else
{
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON);
- DmaCopy16(3, gUnknown_826407C, (void *)BG_SCREEN_ADDR(5), 0x800);
+ DmaCopy16Defvars(3, gUnknown_826407C, (void *)BG_SCREEN_ADDR(5), 0x800);
BlendPalettes(0x00000001, 0x10, RGB_BLACK);
}
break;
@@ -4604,11 +4612,59 @@ void sub_8050968(u8 state)
LoadPalette(gUnknown_826BF5C, 0x30, 0x20);
LZ77UnCompVram(gWirelessSignal4bpp, BG_CHAR_ADDR(1));
LZ77UnCompVram(gUnknown_826C60C, BG_SCREEN_ADDR(18));
- sTradeAnimationResourcesPtr->bg2hofs = 0x50;
+ sTradeAnimationResourcesPtr->bg2vofs = 0x50;
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
break;
case 4:
-
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18) | BGCNT_AFF128x128);
+ sTradeAnimationResourcesPtr->unk_D4 = 0x40;
+ sTradeAnimationResourcesPtr->unk_D6 = 0x5C;
+ sTradeAnimationResourcesPtr->unk_E8 = 0x20;
+ sTradeAnimationResourcesPtr->unk_EA = 0x400;
+ sTradeAnimationResourcesPtr->unk_EC = 0;
+ DmaCopyLarge16(3, gUnknown_826701C, (void *)BG_CHAR_ADDR(1), 0x2840, 0x1000);
+ if (sTradeAnimationResourcesPtr->unk_108)
+ {
+ DmaCopy16Defvars(3, gUnknown_826985C, (void *)BG_SCREEN_ADDR(18), 0x100);
+ }
+ else
+ {
+ DmaCopy16Defvars(3, gUnknown_826995C, (void *)BG_SCREEN_ADDR(18), 0x100);
+ }
+ break;
+ case 5:
+ sTradeAnimationResourcesPtr->bg1vofs = 0;
+ sTradeAnimationResourcesPtr->bg1hofs = 0;
+ break;
+ case 6:
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(1) | BGCNT_256COLOR | BGCNT_SCREENBASE(18) | BGCNT_TXT256x256);
+ sTradeAnimationResourcesPtr->unk_D4 = 0x40;
+ sTradeAnimationResourcesPtr->unk_D6 = 0x5C;
+ sTradeAnimationResourcesPtr->unk_E8 = 0x100;
+ sTradeAnimationResourcesPtr->unk_EA = 0x80;
+ sTradeAnimationResourcesPtr->unk_DC = 0x78;
+ sTradeAnimationResourcesPtr->unk_DE = 0x50;
+ sTradeAnimationResourcesPtr->unk_EC = 0;
+ DmaCopyLarge16(3, gUnknown_826701C, BG_CHAR_ADDR(1), 0x2840, 0x1000);
+ if (sTradeAnimationResourcesPtr->unk_108)
+ {
+ DmaCopy16Defvars(3, gUnknown_826985C, (void *)BG_SCREEN_ADDR(18), 0x100);
+ }
+ else
+ {
+ DmaCopy16Defvars(3, gUnknown_826995C, (void *)BG_SCREEN_ADDR(18), 0x100);
+ }
+ break;
+ case 7:
+ sTradeAnimationResourcesPtr->bg2vofs = 0;
+ sTradeAnimationResourcesPtr->bg2hofs = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256);
+ LoadPalette(gTradeGba2_Pal, 0x10, 0x60);
+ DmaCopyLarge16(3, gTradeGba_Gfx, (void *)BG_CHAR_ADDR(1), 0x1420, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_826601C, (void *)BG_SCREEN_ADDR(18), 0x1000);
+ break;
}
}
-*/