diff options
-rw-r--r-- | asm/rom5.s | 24 | ||||
-rw-r--r-- | asm/rom_8040EB4.s | 36 | ||||
-rw-r--r-- | data/data2.s | 382 | ||||
-rw-r--r-- | data/graphics.s | 5 | ||||
-rw-r--r-- | graphics/trade/mon_box_map.bin | bin | 0 -> 36 bytes |
5 files changed, 360 insertions, 87 deletions
diff --git a/asm/rom5.s b/asm/rom5.s index ae74d1da6..d7d3e1e06 100644 --- a/asm/rom5.s +++ b/asm/rom5.s @@ -70082,10 +70082,10 @@ unref_sub_809D26C: @ 809D26C pop {r1} bx r1 .align 2, 0 -_0809D2E0: .4byte gUnknown_083BC5E8 +_0809D2E0: .4byte gOamData_83BC5E8 _0809D2E4: .4byte gMonIconTable -_0809D2E8: .4byte gUnknown_083BC62C -_0809D2EC: .4byte gUnknown_083BC660 +_0809D2E8: .4byte gSpriteAnimTable_83BC62C +_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660 _0809D2F0: .4byte gMonIconPaletteIndices _0809D2F4: .4byte 0x0000dac0 _0809D2F8: .4byte 0x02020004 @@ -70163,9 +70163,9 @@ _0809D35A: pop {r1} bx r1 .align 2, 0 -_0809D38C: .4byte gUnknown_083BC5E8 -_0809D390: .4byte gUnknown_083BC62C -_0809D394: .4byte gUnknown_083BC660 +_0809D38C: .4byte gOamData_83BC5E8 +_0809D390: .4byte gSpriteAnimTable_83BC62C +_0809D394: .4byte gSpriteAffineAnimTable_83BC660 _0809D398: .4byte gMonIconPaletteIndices _0809D39C: .4byte 0x0000dac0 _0809D3A0: .4byte 0x02020004 @@ -70229,10 +70229,10 @@ sub_809D3A4: @ 809D3A4 pop {r1} bx r1 .align 2, 0 -_0809D418: .4byte gUnknown_083BC5E8 +_0809D418: .4byte gOamData_83BC5E8 _0809D41C: .4byte gMonIconTable -_0809D420: .4byte gUnknown_083BC62C -_0809D424: .4byte gUnknown_083BC660 +_0809D420: .4byte gSpriteAnimTable_83BC62C +_0809D424: .4byte gSpriteAffineAnimTable_83BC660 _0809D428: .4byte gMonIconPaletteIndices _0809D42C: .4byte 0x0000dac0 _0809D430: .4byte 0x02020004 @@ -70623,7 +70623,7 @@ _0809D686: ldrb r7, [r5] b _0809D700 .align 2, 0 -_0809D6E4: .4byte gUnknown_083BC668 +_0809D6E4: .4byte gSpriteImageSizes _0809D6E8: .4byte 0x06010000 _0809D6EC: lsls r0, r2, 26 @@ -70746,7 +70746,7 @@ sub_809D710: @ 809D710 pop {r1} bx r1 .align 2, 0 -_0809D7D8: .4byte gUnknown_083BC668 +_0809D7D8: .4byte gSpriteImageSizes _0809D7DC: .4byte 0xffff0000 _0809D7E0: .4byte 0x0000ffff _0809D7E4: .4byte 0x02020004 @@ -70780,7 +70780,7 @@ sub_809D7E8: @ 809D7E8 pop {r0} bx r0 .align 2, 0 -_0809D81C: .4byte gUnknown_083BC668 +_0809D81C: .4byte gSpriteImageSizes _0809D820: .4byte 0xffff0000 thumb_func_end sub_809D7E8 diff --git a/asm/rom_8040EB4.s b/asm/rom_8040EB4.s index 43a72f84f..756c90d7f 100644 --- a/asm/rom_8040EB4.s +++ b/asm/rom_8040EB4.s @@ -14321,10 +14321,10 @@ _08047DEE: bx r0 .align 2, 0 _08047E30: .4byte gSaveBlock2 -_08047E34: .4byte gUnknown_0820C2E6 +_08047E34: .4byte gTradeUnknownSpriteCoords _08047E38: .4byte gSpriteTemplate_820C0EC _08047E3C: .4byte 0x03002978 -_08047E40: .4byte gUnknown_0820C2E9 +_08047E40: .4byte gTradeUnknownSpriteCoords + 0x3 thumb_func_end sub_8047D58 thumb_func_start sub_8047E44 @@ -14828,7 +14828,7 @@ _0804828A: _08048294: .4byte 0x03004824 _08048298: .4byte 0x03004350 _0804829C: .4byte 0x030045b8 -_080482A0: .4byte gUnknown_0820C29C +_080482A0: .4byte gTradeMonSpriteCoords _080482A4: .4byte 0x03004360 _080482A8: .4byte 0xfff40000 _080482AC: .4byte sub_809D62C @@ -14944,7 +14944,7 @@ _08048360: b _080484C6 .align 2, 0 _080483A4: .4byte gSpriteTemplate_820C134 -_080483A8: .4byte gUnknown_0820C29C +_080483A8: .4byte gTradeMonSpriteCoords _080483AC: .4byte 0x03004824 _080483B0: .4byte 0x03001770 _080483B4: .4byte 0x0000043c @@ -15403,7 +15403,7 @@ _080487B0: _080487C0: .4byte 0x03004824 _080487C4: .4byte 0x03004350 _080487C8: .4byte 0x030045b8 -_080487CC: .4byte gUnknown_0820C29C +_080487CC: .4byte gTradeMonSpriteCoords _080487D0: .4byte 0x03004360 _080487D4: .4byte 0xfff40000 _080487D8: .4byte sub_809D62C @@ -15542,7 +15542,7 @@ _080488B8: b _080489CA .align 2, 0 _08048900: .4byte gSpriteTemplate_820C134 -_08048904: .4byte gUnknown_0820C29C +_08048904: .4byte gTradeMonSpriteCoords _08048908: .4byte 0x03004824 _0804890C: .4byte 0x03001770 _08048910: .4byte 0x0000043c @@ -17069,7 +17069,7 @@ _0804953A: b _08049558 .align 2, 0 _08049548: .4byte 0x03004824 -_0804954C: .4byte gUnknown_0820C164 +_0804954C: .4byte gTradeNextSelectedMonTable _08049550: adds r2, 0x1 adds r5, 0x1 @@ -17175,7 +17175,7 @@ _0804960C: .align 2, 0 _08049614: .4byte 0x03004824 _08049618: .4byte 0x02020004 -_0804961C: .4byte gUnknown_0820C29C +_0804961C: .4byte gTradeMonSpriteCoords thumb_func_end sub_8049560 thumb_func_start sub_8049620 @@ -18503,7 +18503,7 @@ _0804A08C: b _0804A294 .align 2, 0 _0804A094: .4byte 0x02020004 -_0804A098: .4byte gUnknown_0820C29C +_0804A098: .4byte gTradeMonSpriteCoords _0804A09C: .4byte 0x03004824 _0804A0A0: .4byte sub_809D62C _0804A0A4: .4byte gUnknown_0820C330 @@ -18697,7 +18697,7 @@ _0804A0E4: _0804A228: .4byte gTradeMovesBoxTilemap _0804A22C: .4byte 0x03004824 _0804A230: .4byte 0x02020004 -_0804A234: .4byte gUnknown_0820C29C +_0804A234: .4byte gTradeMonSpriteCoords _0804A238: .4byte gUnknown_0820C334 _0804A23C: .4byte gUnknown_0820C334 + 0x1 _0804A240: .4byte gUnknown_0842C7CA @@ -18977,7 +18977,7 @@ _0804A462: b _0804A484 .align 2, 0 _0804A470: .4byte 0x03004824 -_0804A474: .4byte gUnknown_0820C29C +_0804A474: .4byte gTradeMonSpriteCoords _0804A478: .4byte 0x03004360 _0804A47C: movs r0, 0x64 @@ -19122,7 +19122,7 @@ sub_804A51C: @ 804A51C b _0804A5D4 .align 2, 0 _0804A59C: .4byte 0x03004824 -_0804A5A0: .4byte gUnknown_08EA1DC8 +_0804A5A0: .4byte gTradeMonBoxTilemap _0804A5A4: .4byte 0x03004360 _0804A5A8: movs r0, 0x64 @@ -19326,8 +19326,8 @@ _0804A72C: bx r0 .align 2, 0 _0804A734: .4byte 0x03004824 -_0804A738: .4byte gUnknown_0820C2B6 -_0804A73C: .4byte gUnknown_0820C2CE +_0804A738: .4byte gTradeLevelDisplayCoords +_0804A73C: .4byte gTradeMonBoxCoords thumb_func_end sub_804A6DC thumb_func_start sub_804A740 @@ -19433,7 +19433,7 @@ _0804A7F2: .align 2, 0 _0804A800: .4byte 0x03004824 _0804A804: .4byte 0x02020004 -_0804A808: .4byte gUnknown_0820C29C +_0804A808: .4byte gTradeMonSpriteCoords thumb_func_end sub_804A740 thumb_func_start sub_804A80C @@ -25071,7 +25071,7 @@ _0804D796: pop {r0} bx r0 .align 2, 0 -_0804D7A0: .4byte gUnknown_08215BA0 +_0804D7A0: .4byte gTradeBallVerticalVelocityTable _0804D7A4: .4byte sub_804D7AC _0804D7A8: .4byte 0x0000ffff thumb_func_end sub_804D738 @@ -25123,7 +25123,7 @@ _0804D7FE: pop {r0} bx r0 .align 2, 0 -_0804D804: .4byte gUnknown_08215BA0 +_0804D804: .4byte gTradeBallVerticalVelocityTable _0804D808: .4byte 0x03004828 thumb_func_end sub_804D7AC @@ -25198,7 +25198,7 @@ _0804D88C: pop {r0} bx r0 .align 2, 0 -_0804D894: .4byte gUnknown_08215BA0 +_0804D894: .4byte gTradeBallVerticalVelocityTable _0804D898: .4byte SpriteCallbackDummy thumb_func_end sub_804D80C diff --git a/data/data2.s b/data/data2.s index d73459037..08da6415f 100644 --- a/data/data2.s +++ b/data/data2.s @@ -2779,23 +2779,144 @@ gUnknown_0820C14C:: @ 820C14C .4byte TradeText_CancelTradePrompt .4byte TradeText_PressBToExit -gUnknown_0820C164:: @ 820C164 - .incbin "baserom.gba", 0x0020c164, 0x138 - -gUnknown_0820C29C:: @ 820C29C - .incbin "baserom.gba", 0x0020c29c, 0x1a - -gUnknown_0820C2B6:: @ 820C2B6 - .incbin "baserom.gba", 0x0020c2b6, 0x18 - -gUnknown_0820C2CE:: @ 820C2CE - .incbin "baserom.gba", 0x0020c2ce, 0x18 - -gUnknown_0820C2E6:: @ 820C2E6 - .incbin "baserom.gba", 0x0020c2e6, 0x3 - -gUnknown_0820C2E9:: @ 820C2E9 - .incbin "baserom.gba", 0x0020c2e9, 0x7 +@ This is used to determine the next mon to select when the D-Pad is +@ pressed in a given direction. +@ Note that the mons are laid out like this. +@ 0-5 are the player's party and 6-11 are the trading partner's party. +@ 12 is the cancel button. +@ 0 1 6 7 +@ 2 3 8 9 +@ 4 5 10 11 +@ 12 +gTradeNextSelectedMonTable:: @ 820C164 + @ 0 + .byte 4, 2, 12, 12, 0, 0 @ up + .byte 2, 4, 12, 12, 0, 0 @ down + .byte 7, 6, 1, 0, 0, 0 @ left + .byte 1, 6, 7, 0, 0, 0 @ right + @ 1 + .byte 5, 3, 12, 12, 0, 0 @ up + .byte 3, 5, 12, 12, 0, 0 @ down + .byte 0, 7, 6, 1, 0, 0 @ left + .byte 6, 7, 0, 1, 0, 0 @ right + @ 2 + .byte 0, 0, 0, 0, 0, 0 @ up + .byte 4, 0, 0, 0, 0, 0 @ down + .byte 9, 8, 7, 6, 0, 0 @ left + .byte 3, 1, 0, 0, 0, 0 @ right + @ 3 + .byte 1, 1, 1, 1, 0, 0 @ up + .byte 5, 1, 1, 1, 0, 0 @ down + .byte 2, 9, 8, 7, 0, 0 @ left + .byte 8, 9, 6, 6, 0, 0 @ right + @ 4 + .byte 2, 2, 2, 2, 0, 0 @ up + .byte 0, 0, 0, 0, 0, 0 @ down + .byte 11, 10, 9, 8, 7, 6 @ left + .byte 5, 3, 1, 0, 0, 0 @ right + @ 5 + .byte 3, 3, 3, 3, 0, 0 @ up + .byte 1, 1, 1, 1, 0, 0 @ down + .byte 4, 4, 4, 4, 0, 0 @ left + .byte 10, 8, 6, 0, 0, 0 @ right + @ 6 + .byte 10, 8, 12, 0, 0, 0 @ up + .byte 8, 10, 12, 0, 0, 0 @ down + .byte 1, 0, 0, 0, 0, 0 @ left + .byte 7, 0, 1, 0, 0, 0 @ right + @ 7 + .byte 12, 0, 0, 0, 0, 0 @ up + .byte 9, 12, 0, 0, 0, 0 @ down + .byte 6, 0, 0, 0, 0, 0 @ left + .byte 0, 0, 0, 0, 0, 0 @ right + @ 8 + .byte 6, 0, 0, 0, 0, 0 @ up + .byte 10, 6, 0, 0, 0, 0 @ down + .byte 3, 2, 1, 0, 0, 0 @ left + .byte 9, 7, 0, 0, 0, 0 @ right + @ 9 + .byte 7, 0, 0, 0, 0, 0 @ up + .byte 11, 12, 0, 0, 0, 0 @ down + .byte 8, 0, 0, 0, 0, 0 @ left + .byte 2, 1, 0, 0, 0, 0 @ right + @ 10 + .byte 8, 0, 0, 0, 0, 0 @ up + .byte 6, 0, 0, 0, 0, 0 @ down + .byte 5, 4, 3, 2, 1, 0 @ left + .byte 11, 9, 7, 0, 0, 0 @ right + @ 11 + .byte 9, 0, 0, 0, 0, 0 @ up + .byte 12, 0, 0, 0, 0, 0 @ down + .byte 10, 0, 0, 0, 0, 0 @ left + .byte 4, 2, 0, 0, 0, 0 @ right + @ 12 + .byte 11, 9, 7, 6, 0, 0 @ up + .byte 7, 6, 0, 0, 0, 0 @ down + .byte 12, 0, 0, 0, 0, 0 @ left + .byte 12, 0, 0, 0, 0, 0 @ right + +@ The coordinates are in units of tiles. +@ These are used for both mon icons and the selected mon cursor, +@ but the origins of the coordinates differ. +gTradeMonSpriteCoords:: @ 820C29C + @ left-side party + .byte 1, 5 + .byte 8, 5 + .byte 1, 10 + .byte 8, 10 + .byte 1, 15 + .byte 8, 15 + + @ right-side party + .byte 16, 5 + .byte 23, 5 + .byte 16, 10 + .byte 23, 10 + .byte 16, 15 + .byte 23, 15 + + @ cancel button + .byte 23, 18 + +gTradeLevelDisplayCoords:: @ 820C2B6 + @ left-side party + .byte 5, 4 + .byte 12, 4 + .byte 5, 9 + .byte 12, 9 + .byte 5, 14 + .byte 12, 14 + + @ right-side party + .byte 20, 4 + .byte 27, 4 + .byte 20, 9 + .byte 27, 9 + .byte 20, 14 + .byte 27, 14 + +gTradeMonBoxCoords:: @ 820C2CE + @ left-side party + .byte 1, 3 + .byte 8, 3 + .byte 1, 8 + .byte 8, 8 + .byte 1, 13 + .byte 8, 13 + + @ right-side party + .byte 16, 3 + .byte 23, 3 + .byte 16, 8 + .byte 23, 8 + .byte 16, 13 + .byte 23, 13 + +gTradeUnknownSpriteCoords:: @ 820C2E6 + .byte 59, 10 + .byte 179, 10 + .byte 59, 10 + .byte 179, 10 .align 2 gUnknown_0820C2F0:: @ 820C2F0 @@ -2811,10 +2932,8 @@ gUnknown_0820C308:: @ 820C308 .align 2 gUnknown_0820C320:: @ 820C320 - .4byte TradeText_Summary2 - .4byte sub_804A9F4 @unknown - .4byte TradeText_Trade2 - .4byte sub_804AA00 + .4byte TradeText_Summary2, sub_804A9F4 @unknown + .4byte TradeText_Trade2, sub_804AA00 gUnknown_0820C330:: @ 820C330 .byte 0, 14 @@ -3162,8 +3281,115 @@ gSpriteAffineAnimTable_8215AC0:: @ 8215AC0 @ 8215AC4 .include "data/ingame_trades.s" -gUnknown_08215BA0:: @ 8215BA0 - .incbin "baserom.gba", 0x00215ba0, 0x6c +gTradeBallVerticalVelocityTable:: @ 8215BA0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte -4 + .byte -4 + .byte -4 + .byte -3 + .byte -3 + .byte -3 + .byte -3 + .byte -2 + .byte -2 + .byte -2 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte -4 + .byte -3 + .byte -3 + .byte -2 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 4 + .byte -4 + .byte -3 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 2 + .byte 3 .align 2 gUnknown_08215C0C:: @ 8215C0C @@ -12921,38 +13147,84 @@ gUnknown_083BBCA0:: @ 83BBCA0 @ 83BC5B8 .include "data/graphics/pokemon/icon_palette_table.s" -gUnknown_083BC5E8:: @ 83BC5E8 - .incbin "baserom.gba", 0x003BC5E8, 0x8 -Unknown_83BC5F0: - .incbin "baserom.gba", 0x003BC5F0, 0xC -Unknown_83BC5FC: - .incbin "baserom.gba", 0x003BC5FC, 0xC -Unknown_83BC608: - .incbin "baserom.gba", 0x003BC608, 0xC -Unknown_83BC614: - .incbin "baserom.gba", 0x003BC614, 0xC -Unknown_83BC620: - .incbin "baserom.gba", 0x003BC620, 0xC - - .align 2 -gUnknown_083BC62C:: @ 83BC62C - .4byte Unknown_83BC5F0 - .4byte Unknown_83BC5FC - .4byte Unknown_83BC608 - .4byte Unknown_83BC614 - .4byte Unknown_83BC620 -Unknown_83BC640: - .incbin "baserom.gba", 0x003bc640, 0x10 -Unknown_83BC650: - .incbin "baserom.gba", 0x003bc650, 0x10 - - .align 2 -gUnknown_083BC660:: @ 83BC660 - .4byte Unknown_83BC640 - .4byte Unknown_83BC650 - -gUnknown_083BC668:: @ 83BC668 - .incbin "baserom.gba", 0x003bc668, 0x18 + .align 2 +gOamData_83BC5E8:: @ 83BC5E8 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83BC5F0:: @ 83BC5F0 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 1, 6 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC5FC:: @ 83BC5FC + obj_image_anim_frame 0, 8 + obj_image_anim_frame 1, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC608:: @ 83BC608 + obj_image_anim_frame 0, 14 + obj_image_anim_frame 1, 14 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC614:: @ 83BC614 + obj_image_anim_frame 0, 22 + obj_image_anim_frame 1, 22 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC620:: @ 83BC620 + obj_image_anim_frame 0, 29 + obj_image_anim_frame 0, 29 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83BC62C:: @ 83BC62C + .4byte gSpriteAnim_83BC5F0 + .4byte gSpriteAnim_83BC5FC + .4byte gSpriteAnim_83BC608 + .4byte gSpriteAnim_83BC614 + .4byte gSpriteAnim_83BC620 + + .align 2 +gSpriteAffineAnim_83BC640:: @ 83BC640 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 10 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83BC650:: @ 83BC650 + obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 122 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83BC660:: @ 83BC660 + .4byte gSpriteAffineAnim_83BC640 + .4byte gSpriteAffineAnim_83BC650 + + .align 1 +gSpriteImageSizes:: @ 83BC668 + @ square + .2byte 0x20 @ 1×1 + .2byte 0x80 @ 2×2 + .2byte 0x200 @ 4×4 + .2byte 0x800 @ 8×8 + + @ horizontal rectangle + .2byte 0x40 @ 2×1 + .2byte 0x80 @ 4×1 + .2byte 0x100 @ 4×2 + .2byte 0x400 @ 8×4 + + @ vertical rectangle + .2byte 0x40 @ 1×2 + .2byte 0x80 @ 1×4 + .2byte 0x100 @ 2×4 + .2byte 0x400 @ 4×8 @ 83BC680 .include "data/text/move_descriptions.s" diff --git a/data/graphics.s b/data/graphics.s index 360338b53..0a987597f 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -4381,8 +4381,9 @@ gUnknown_08EA0348:: @ 8EA0348 gUnknown_08EA15C8:: @ 8EA15C8 .incbin "graphics/trade/menu_map.bin" -gUnknown_08EA1DC8:: @ 8EA1DC8 - .incbin "baserom.gba", 0x00ea1dc8, 0x24 + .align 2 +gTradeMonBoxTilemap:: @ 8EA1DC8 + .incbin "graphics/trade/mon_box_map.bin" .align 2 gUnknown_08EA1DEC:: @ 8EA1DEC diff --git a/graphics/trade/mon_box_map.bin b/graphics/trade/mon_box_map.bin Binary files differnew file mode 100644 index 000000000..354866137 --- /dev/null +++ b/graphics/trade/mon_box_map.bin |