diff options
author | scnorton <scnorton@biociphers.org> | 2017-09-03 12:45:52 -0400 |
---|---|---|
committer | scnorton <scnorton@biociphers.org> | 2017-09-03 12:45:52 -0400 |
commit | a94566d512891ab13a218e686f8b0317c4ad7e03 (patch) | |
tree | a8a1a0411fc25b6dfba3a0b79a3d0f515942f61a | |
parent | d0e2766ec23f63b1acb90bdaa1757a3c7bc71dd7 (diff) |
sub_804E174 and sub_804E1A0
-rw-r--r-- | asm/trade.s | 51 | ||||
-rw-r--r-- | include/trade.h | 1 | ||||
-rw-r--r-- | src/trade.c | 23 |
3 files changed, 23 insertions, 52 deletions
diff --git a/asm/trade.s b/asm/trade.s index d7a33b41b..c95d0feb8 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -5395,57 +5395,6 @@ _0804DAD0: .4byte gEnemyParty .section .text.sub_804DB2C - thumb_func_start sub_804E174 -sub_804E174: @ 804E174 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _0804E19C @ =sub_804E1A0 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0804E19C: .4byte sub_804E1A0 - thumb_func_end sub_804E174 - - thumb_func_start sub_804E1A0 -sub_804E1A0: @ 804E1A0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0804E1CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0804E1C4 - ldr r0, _0804E1D0 @ =sub_804B790 - bl SetMainCallback2 - ldr r1, _0804E1D4 @ =gFieldCallback - ldr r0, _0804E1D8 @ =sub_8080990 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0804E1C4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0804E1CC: .4byte gPaletteFade -_0804E1D0: .4byte sub_804B790 -_0804E1D4: .4byte gFieldCallback -_0804E1D8: .4byte sub_8080990 - thumb_func_end sub_804E1A0 - thumb_func_start sub_804E1DC sub_804E1DC: @ 804E1DC push {r4,r5,lr} diff --git a/include/trade.h b/include/trade.h index 083fabca7..36561e413 100644 --- a/include/trade.h +++ b/include/trade.h @@ -8,5 +8,6 @@ void sub_8047CD8(void); u16 sub_804DB2C(void); void sub_804DB68(void); +void sub_804E174(void); #endif //POKERUBY_TRADE_H diff --git a/src/trade.c b/src/trade.c index c29d7558b..940bfc8fc 100644 --- a/src/trade.c +++ b/src/trade.c @@ -28,6 +28,8 @@ #include "strings.h" #include "load_save.h" #include "save.h" +#include "script.h" +#include "field_fadetransition.h" #include "trade.h" #ifdef ENGLISH @@ -35,7 +37,7 @@ asm(".set sub_804A96C_alt, sub_804A96C"); #endif -#define Trade_SendData(ptr) SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20) +#define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20)) struct InGameTrade { /*0x00*/ u8 name[11]; @@ -194,6 +196,8 @@ void sub_804A51C(u8, u8, u8, u8, u8, u8); /*static*/ void sub_804D63C(void); /*static*/ bool8 sub_804B2B0(void); static void sub_804E144(void); +static void sub_804E1A0(u8); +/*static*/ void sub_804B790(void); extern u8 gUnknown_020297D8[2]; extern u8 *gUnknown_020296CC[13]; @@ -3374,3 +3378,20 @@ static void sub_804E144(void) BuildOamBuffer(); UpdatePaletteFade(); } + +void sub_804E174(void) +{ + ScriptContext2_Enable(); + CreateTask(sub_804E1A0, 10); + BeginNormalPaletteFade(-1, 0, 0, 16, 0); +} + +static void sub_804E1A0(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(sub_804B790); + gFieldCallback = sub_8080990; + DestroyTask(taskId); + } +} |