party_menu data

This commit is contained in:
jiangzhengwenjz
2019-11-21 10:48:08 +08:00
committed by Evan
parent 622fcd2cb9
commit d89a2d791e
34 changed files with 4902 additions and 977 deletions
+3 -3
View File
@@ -24,8 +24,8 @@ sub_8097874: @ 8097874
bx r1 bx r1
thumb_func_end sub_8097874 thumb_func_end sub_8097874
thumb_func_start sub_8097898 thumb_func_start SetUpFieldMove_Cut
sub_8097898: @ 8097898 SetUpFieldMove_Cut: @ 8097898
push {r4-r7,lr} push {r4-r7,lr}
mov r7, r8 mov r7, r8
push {r7} push {r7}
@@ -138,7 +138,7 @@ _08097970:
.align 2, 0 .align 2, 0
_0809797C: .4byte gPlayerFacingPosition _0809797C: .4byte gPlayerFacingPosition
_08097980: .4byte 0x0000ffff _08097980: .4byte 0x0000ffff
thumb_func_end sub_8097898 thumb_func_end SetUpFieldMove_Cut
thumb_func_start sub_8097984 thumb_func_start sub_8097984
sub_8097984: @ 8097984 sub_8097984: @ 8097984
+3 -3
View File
@@ -5,8 +5,8 @@
.text .text
thumb_func_start sub_80C9B2C thumb_func_start SetUpFieldMove_Flash
sub_80C9B2C: @ 80C9B2C SetUpFieldMove_Flash: @ 80C9B2C
push {lr} push {lr}
ldr r0, _080C9B54 @ =gMapHeader ldr r0, _080C9B54 @ =gMapHeader
ldrb r0, [r0, 0x15] ldrb r0, [r0, 0x15]
@@ -37,7 +37,7 @@ _080C9B6C:
_080C9B6E: _080C9B6E:
pop {r1} pop {r1}
bx r1 bx r1
thumb_func_end sub_80C9B2C thumb_func_end SetUpFieldMove_Flash
thumb_func_start sub_80C9B74 thumb_func_start sub_80C9B74
sub_80C9B74: @ 80C9B74 sub_80C9B74: @ 80C9B74
+109 -109
View File
@@ -1980,7 +1980,7 @@ _0811F9D8: .4byte gPartyMenu
DrawCancelConfirmButtons: @ 811F9DC DrawCancelConfirmButtons: @ 811F9DC
push {r4-r6,lr} push {r4-r6,lr}
sub sp, 0xC sub sp, 0xC
ldr r1, _0811FA18 @ =gUnknown_8459FC4 ldr r1, _0811FA18 @ =sConfirmButton_Tilemap
movs r6, 0x7 movs r6, 0x7
str r6, [sp] str r6, [sp]
movs r5, 0x2 movs r5, 0x2
@@ -1991,7 +1991,7 @@ DrawCancelConfirmButtons: @ 811F9DC
movs r2, 0x17 movs r2, 0x17
movs r3, 0x10 movs r3, 0x10
bl CopyToBgTilemapBufferRect_ChangePalette bl CopyToBgTilemapBufferRect_ChangePalette
ldr r1, _0811FA1C @ =gUnknown_8459FE0 ldr r1, _0811FA1C @ =sCancelButton_Tilemap
str r6, [sp] str r6, [sp]
str r5, [sp, 0x4] str r5, [sp, 0x4]
str r4, [sp, 0x8] str r4, [sp, 0x8]
@@ -2006,8 +2006,8 @@ DrawCancelConfirmButtons: @ 811F9DC
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_0811FA18: .4byte gUnknown_8459FC4 _0811FA18: .4byte sConfirmButton_Tilemap
_0811FA1C: .4byte gUnknown_8459FE0 _0811FA1C: .4byte sCancelButton_Tilemap
thumb_func_end DrawCancelConfirmButtons thumb_func_end DrawCancelConfirmButtons
thumb_func_start IsMultiBattle thumb_func_start IsMultiBattle
@@ -4293,7 +4293,7 @@ _08120B7C:
b _08120B9E b _08120B9E
_08120B80: _08120B80:
mov r0, r8 mov r0, r8
bl GetMoveTutorMove bl GetTutorMove
_08120B86: _08120B86:
lsls r0, 16 lsls r0, 16
lsrs r1, r0, 16 lsrs r1, r0, 16
@@ -4315,8 +4315,8 @@ _08120B9E:
bx r1 bx r1
thumb_func_end CanMonLearnTMTutor thumb_func_end CanMonLearnTMTutor
thumb_func_start GetMoveTutorMove thumb_func_start GetTutorMove
GetMoveTutorMove: @ 8120BA8 GetTutorMove: @ 8120BA8
push {lr} push {lr}
lsls r0, 24 lsls r0, 24
lsrs r1, r0, 24 lsrs r1, r0, 24
@@ -4345,7 +4345,7 @@ _08120BD0:
lsls r0, 1 @ MOVE_HYDRO_CANNON lsls r0, 1 @ MOVE_HYDRO_CANNON
b _08120BDE b _08120BDE
_08120BD6: _08120BD6:
ldr r0, _08120BE4 @ =gMoveTutorMoves ldr r0, _08120BE4 @ =sTutorMoves
lsls r1, 1 lsls r1, 1
adds r1, r0 adds r1, r0
ldrh r0, [r1] ldrh r0, [r1]
@@ -4353,8 +4353,8 @@ _08120BDE:
pop {r1} pop {r1}
bx r1 bx r1
.align 2, 0 .align 2, 0
_08120BE4: .4byte gMoveTutorMoves _08120BE4: .4byte sTutorMoves
thumb_func_end GetMoveTutorMove thumb_func_end GetTutorMove
thumb_func_start CanLearnTutorMove thumb_func_start CanLearnTutorMove
CanLearnTutorMove: @ 8120BE8 CanLearnTutorMove: @ 8120BE8
@@ -4804,12 +4804,12 @@ _08120F24:
beq _08120F44 beq _08120F44
b _08120F62 b _08120F62
_08120F2A: _08120F2A:
ldr r0, _08120F34 @ =gUnknown_203B0A9 ldr r0, _08120F34 @ =gPartyMenu + 9
movs r1, 0x2 movs r1, 0x2
bl UpdateCurrentPartySelection bl UpdateCurrentPartySelection
b _08120F62 b _08120F62
.align 2, 0 .align 2, 0
_08120F34: .4byte gUnknown_203B0A9 _08120F34: .4byte gPartyMenu + 9
_08120F38: _08120F38:
movs r0, 0x5 movs r0, 0x5
bl PlaySE bl PlaySE
@@ -5401,7 +5401,7 @@ BlitBitmapToPartyWindow_RightColumn: @ 81213A0
_081213CC: _081213CC:
cmp r5, 0 cmp r5, 0
bne _081213E8 bne _081213E8
ldr r1, _081213E4 @ =sOtherSlotTileNums ldr r1, _081213E4 @ =sOtherSlotsTileNums
str r2, [sp] str r2, [sp]
str r3, [sp, 0x4] str r3, [sp, 0x4]
str r4, [sp, 0x8] str r4, [sp, 0x8]
@@ -5410,9 +5410,9 @@ _081213CC:
bl BlitBitmapToPartyWindow bl BlitBitmapToPartyWindow
b _081213F8 b _081213F8
.align 2, 0 .align 2, 0
_081213E4: .4byte sOtherSlotTileNums _081213E4: .4byte sOtherSlotsTileNums
_081213E8: _081213E8:
ldr r1, _08121400 @ =sOtherSlotTileNums_Egg ldr r1, _08121400 @ =sOtherSlotsTileNums_Egg
str r2, [sp] str r2, [sp]
str r3, [sp, 0x4] str r3, [sp, 0x4]
str r4, [sp, 0x8] str r4, [sp, 0x8]
@@ -5425,7 +5425,7 @@ _081213F8:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08121400: .4byte sOtherSlotTileNums_Egg _08121400: .4byte sOtherSlotsTileNums_Egg
thumb_func_end BlitBitmapToPartyWindow_RightColumn thumb_func_end BlitBitmapToPartyWindow_RightColumn
thumb_func_start DrawEmptySlot thumb_func_start DrawEmptySlot
@@ -5434,7 +5434,7 @@ DrawEmptySlot: @ 8121404
sub sp, 0xC sub sp, 0xC
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
ldr r1, _08121428 @ =gUnknown_845A278 ldr r1, _08121428 @ =sEmptySlotTileNums
movs r2, 0 movs r2, 0
str r2, [sp] str r2, [sp]
movs r2, 0x12 movs r2, 0x12
@@ -5448,7 +5448,7 @@ DrawEmptySlot: @ 8121404
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08121428: .4byte gUnknown_845A278 _08121428: .4byte sEmptySlotTileNums
thumb_func_end DrawEmptySlot thumb_func_end DrawEmptySlot
thumb_func_start LoadPartyBoxPalette thumb_func_start LoadPartyBoxPalette
@@ -5471,15 +5471,15 @@ LoadPartyBoxPalette: @ 812142C
ands r0, r4 ands r0, r4
cmp r0, 0 cmp r0, 0
beq _0812145C beq _0812145C
ldr r5, _08121458 @ =gUnknown_845A2D4 ldr r5, _08121458 @ =sPartyBoxSelectedForActionPalIds1
b _0812160A b _0812160A
.align 2, 0 .align 2, 0
_08121458: .4byte gUnknown_845A2D4 _08121458: .4byte sPartyBoxSelectedForActionPalIds1
_0812145C: _0812145C:
ldr r5, _08121494 @ =gUnknown_845A2D4 ldr r5, _08121494 @ =sPartyBoxSelectedForActionPalIds1
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _08121498 @ =gUnknown_845A2B2 ldr r4, _08121498 @ =sPartyBoxPalOffsets1
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
@@ -5496,21 +5496,21 @@ _0812145C:
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
bl LoadPalette bl LoadPalette
ldr r5, _0812149C @ =gUnknown_845A2E3 ldr r5, _0812149C @ =sPartyBoxSelectedForActionPalIds2
b _0812163E b _0812163E
.align 2, 0 .align 2, 0
_08121494: .4byte gUnknown_845A2D4 _08121494: .4byte sPartyBoxSelectedForActionPalIds1
_08121498: .4byte gUnknown_845A2B2 _08121498: .4byte sPartyBoxPalOffsets1
_0812149C: .4byte gUnknown_845A2E3 _0812149C: .4byte sPartyBoxSelectedForActionPalIds2
_081214A0: _081214A0:
movs r0, 0x10 movs r0, 0x10
ands r0, r4 ands r0, r4
cmp r0, 0 cmp r0, 0
beq _081214EC beq _081214EC
ldr r5, _081214E0 @ =gUnknown_845A2D4 ldr r5, _081214E0 @ =sPartyBoxSelectedForActionPalIds1
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _081214E4 @ =gUnknown_845A2B2 ldr r4, _081214E4 @ =sPartyBoxPalOffsets1
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
@@ -5527,12 +5527,12 @@ _081214A0:
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
bl LoadPalette bl LoadPalette
ldr r5, _081214E8 @ =gUnknown_845A2E3 ldr r5, _081214E8 @ =sPartyBoxSelectedForActionPalIds2
b _0812163E b _0812163E
.align 2, 0 .align 2, 0
_081214E0: .4byte gUnknown_845A2D4 _081214E0: .4byte sPartyBoxSelectedForActionPalIds1
_081214E4: .4byte gUnknown_845A2B2 _081214E4: .4byte sPartyBoxPalOffsets1
_081214E8: .4byte gUnknown_845A2E3 _081214E8: .4byte sPartyBoxSelectedForActionPalIds2
_081214EC: _081214EC:
movs r0, 0x4 movs r0, 0x4
ands r0, r4 ands r0, r4
@@ -5542,15 +5542,15 @@ _081214EC:
ands r0, r4 ands r0, r4
cmp r0, 0 cmp r0, 0
beq _08121504 beq _08121504
ldr r5, _08121500 @ =gUnknown_845A2D4 ldr r5, _08121500 @ =sPartyBoxSelectedForActionPalIds1
b _0812160A b _0812160A
.align 2, 0 .align 2, 0
_08121500: .4byte gUnknown_845A2D4 _08121500: .4byte sPartyBoxSelectedForActionPalIds1
_08121504: _08121504:
ldr r5, _0812153C @ =gUnknown_845A2D4 ldr r5, _0812153C @ =sPartyBoxSelectedForActionPalIds1
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _08121540 @ =gUnknown_845A2B2 ldr r4, _08121540 @ =sPartyBoxPalOffsets1
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
@@ -5567,12 +5567,12 @@ _08121504:
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
bl LoadPalette bl LoadPalette
ldr r5, _08121544 @ =gUnknown_845A2E3 ldr r5, _08121544 @ =sPartyBoxSelectedForActionPalIds2
b _0812163E b _0812163E
.align 2, 0 .align 2, 0
_0812153C: .4byte gUnknown_845A2D4 _0812153C: .4byte sPartyBoxSelectedForActionPalIds1
_08121540: .4byte gUnknown_845A2B2 _08121540: .4byte sPartyBoxPalOffsets1
_08121544: .4byte gUnknown_845A2E3 _08121544: .4byte sPartyBoxSelectedForActionPalIds2
_08121548: _08121548:
movs r0, 0x2 movs r0, 0x2
ands r0, r4 ands r0, r4
@@ -5582,15 +5582,15 @@ _08121548:
ands r0, r4 ands r0, r4
cmp r0, 0 cmp r0, 0
beq _08121560 beq _08121560
ldr r5, _0812155C @ =gUnknown_845A2D1 ldr r5, _0812155C @ =sPartyBoxCurrSelectionFaintedPalIds
b _0812160A b _0812160A
.align 2, 0 .align 2, 0
_0812155C: .4byte gUnknown_845A2D1 _0812155C: .4byte sPartyBoxCurrSelectionFaintedPalIds
_08121560: _08121560:
ldr r5, _08121598 @ =gUnknown_845A2C8 ldr r5, _08121598 @ =sPartyBoxFaintedPalIds1
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _0812159C @ =gUnknown_845A2B2 ldr r4, _0812159C @ =sPartyBoxPalOffsets1
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
@@ -5607,12 +5607,12 @@ _08121560:
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
bl LoadPalette bl LoadPalette
ldr r5, _081215A0 @ =gUnknown_845A2DD ldr r5, _081215A0 @ =sPartyBoxFaintedPalIds2
b _0812163E b _0812163E
.align 2, 0 .align 2, 0
_08121598: .4byte gUnknown_845A2C8 _08121598: .4byte sPartyBoxFaintedPalIds1
_0812159C: .4byte gUnknown_845A2B2 _0812159C: .4byte sPartyBoxPalOffsets1
_081215A0: .4byte gUnknown_845A2DD _081215A0: .4byte sPartyBoxFaintedPalIds2
_081215A4: _081215A4:
movs r0, 0x8 movs r0, 0x8
ands r0, r4 ands r0, r4
@@ -5622,15 +5622,15 @@ _081215A4:
ands r0, r4 ands r0, r4
cmp r0, 0 cmp r0, 0
beq _081215BC beq _081215BC
ldr r5, _081215B8 @ =gUnknown_845A2CE ldr r5, _081215B8 @ =sPartyBoxCurrSelectionMultiPalIds
b _0812160A b _0812160A
.align 2, 0 .align 2, 0
_081215B8: .4byte gUnknown_845A2CE _081215B8: .4byte sPartyBoxCurrSelectionMultiPalIds
_081215BC: _081215BC:
ldr r5, _081215F4 @ =gUnknown_845A2C5 ldr r5, _081215F4 @ =sPartyBoxMultiPalIds1
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _081215F8 @ =gUnknown_845A2B2 ldr r4, _081215F8 @ =sPartyBoxPalOffsets1
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
@@ -5647,22 +5647,22 @@ _081215BC:
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
bl LoadPalette bl LoadPalette
ldr r5, _081215FC @ =gUnknown_845A2DA ldr r5, _081215FC @ =sPartyBoxMultiPalIds2
b _0812163E b _0812163E
.align 2, 0 .align 2, 0
_081215F4: .4byte gUnknown_845A2C5 _081215F4: .4byte sPartyBoxMultiPalIds1
_081215F8: .4byte gUnknown_845A2B2 _081215F8: .4byte sPartyBoxPalOffsets1
_081215FC: .4byte gUnknown_845A2DA _081215FC: .4byte sPartyBoxMultiPalIds2
_08121600: _08121600:
movs r0, 0x1 movs r0, 0x1
ands r5, r0 ands r5, r0
cmp r5, 0 cmp r5, 0
beq _08121684 beq _08121684
ldr r5, _08121674 @ =gUnknown_845A2CB ldr r5, _08121674 @ =sPartyBoxCurrSelectionPalIds1
_0812160A: _0812160A:
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _08121678 @ =gUnknown_845A2B2 ldr r4, _08121678 @ =sPartyBoxPalOffsets1
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
@@ -5679,11 +5679,11 @@ _0812160A:
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
bl LoadPalette bl LoadPalette
ldr r5, _0812167C @ =gUnknown_845A2E0 ldr r5, _0812167C @ =sPartyBoxCurrSelectionPalIds2
_0812163E: _0812163E:
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _08121680 @ =gUnknown_845A2B5 ldr r4, _08121680 @ =sPartyBoxPalOffsets2
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r6 adds r1, r6
movs r2, 0x2 movs r2, 0x2
@@ -5702,15 +5702,15 @@ _0812163E:
bl LoadPalette bl LoadPalette
b _081216EC b _081216EC
.align 2, 0 .align 2, 0
_08121674: .4byte gUnknown_845A2CB _08121674: .4byte sPartyBoxCurrSelectionPalIds1
_08121678: .4byte gUnknown_845A2B2 _08121678: .4byte sPartyBoxPalOffsets1
_0812167C: .4byte gUnknown_845A2E0 _0812167C: .4byte sPartyBoxCurrSelectionPalIds2
_08121680: .4byte gUnknown_845A2B5 _08121680: .4byte sPartyBoxPalOffsets2
_08121684: _08121684:
ldr r5, _081216F4 @ =gUnknown_845A2C2 ldr r5, _081216F4 @ =sPartyBoxEmptySlotPalIds1
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _081216F8 @ =gUnknown_845A2B2 ldr r4, _081216F8 @ =sPartyBoxPalOffsets1
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r7 adds r1, r7
movs r2, 0x2 movs r2, 0x2
@@ -5727,10 +5727,10 @@ _08121684:
adds r1, r7 adds r1, r7
movs r2, 0x2 movs r2, 0x2
bl LoadPalette bl LoadPalette
ldr r5, _081216FC @ =gUnknown_845A2D7 ldr r5, _081216FC @ =sPartyBoxEmptySlotPalIds2
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _08121700 @ =gUnknown_845A2B5 ldr r4, _08121700 @ =sPartyBoxPalOffsets2
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r7 adds r1, r7
movs r2, 0x2 movs r2, 0x2
@@ -5752,10 +5752,10 @@ _081216EC:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_081216F4: .4byte gUnknown_845A2C2 _081216F4: .4byte sPartyBoxEmptySlotPalIds1
_081216F8: .4byte gUnknown_845A2B2 _081216F8: .4byte sPartyBoxPalOffsets1
_081216FC: .4byte gUnknown_845A2D7 _081216FC: .4byte sPartyBoxEmptySlotPalIds2
_08121700: .4byte gUnknown_845A2B5 _08121700: .4byte sPartyBoxPalOffsets2
thumb_func_end LoadPartyBoxPalette thumb_func_end LoadPartyBoxPalette
thumb_func_start DisplayPartyPokemonBarDetail thumb_func_start DisplayPartyPokemonBarDetail
@@ -6321,16 +6321,16 @@ DisplayPartyPokemonHPBar: @ 8121B2C
blt _08121BA8 blt _08121BA8
cmp r0, 0x4 cmp r0, 0x4
bgt _08121BA8 bgt _08121BA8
ldr r5, _08121B74 @ =gUnknown_845A2BC ldr r5, _08121B74 @ =sHPBarGreenPalIds
b _08121B7A b _08121B7A
.align 2, 0 .align 2, 0
_08121B74: .4byte gUnknown_845A2BC _08121B74: .4byte sHPBarGreenPalIds
_08121B78: _08121B78:
ldr r5, _08121BA0 @ =gUnknown_845A2BE ldr r5, _08121BA0 @ =sHPBarYellowPalIds
_08121B7A: _08121B7A:
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _08121BA4 @ =gUnknown_845A2B0 ldr r4, _08121BA4 @ =sHPBarPalOffsets
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r7 adds r1, r7
movs r2, 0x2 movs r2, 0x2
@@ -6343,13 +6343,13 @@ _08121B7A:
bl LoadPalette bl LoadPalette
b _08121BCC b _08121BCC
.align 2, 0 .align 2, 0
_08121BA0: .4byte gUnknown_845A2BE _08121BA0: .4byte sHPBarYellowPalIds
_08121BA4: .4byte gUnknown_845A2B0 _08121BA4: .4byte sHPBarPalOffsets
_08121BA8: _08121BA8:
ldr r5, _08121C68 @ =gUnknown_845A2C0 ldr r5, _08121C68 @ =sHPBarRedPalIds
ldrb r0, [r5] ldrb r0, [r5]
bl GetPartyMenuPalBufferPtr bl GetPartyMenuPalBufferPtr
ldr r4, _08121C6C @ =gUnknown_845A2B0 ldr r4, _08121C6C @ =sHPBarPalOffsets
ldrb r1, [r4] ldrb r1, [r4]
adds r1, r7 adds r1, r7
movs r2, 0x2 movs r2, 0x2
@@ -6373,7 +6373,7 @@ _08121BCC:
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
ldrb r0, [r6, 0x8] ldrb r0, [r6, 0x8]
ldr r4, _08121C6C @ =gUnknown_845A2B0 ldr r4, _08121C6C @ =sHPBarPalOffsets
ldrb r1, [r4, 0x1] ldrb r1, [r4, 0x1]
ldr r3, [r6] ldr r3, [r6]
ldrb r2, [r3, 0x18] ldrb r2, [r3, 0x18]
@@ -6434,8 +6434,8 @@ _08121C50:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08121C68: .4byte gUnknown_845A2C0 _08121C68: .4byte sHPBarRedPalIds
_08121C6C: .4byte gUnknown_845A2B0 _08121C6C: .4byte sHPBarPalOffsets
thumb_func_end DisplayPartyPokemonHPBar thumb_func_end DisplayPartyPokemonHPBar
thumb_func_start DisplayPartyPokemonDescriptionText thumb_func_start DisplayPartyPokemonDescriptionText
@@ -6557,30 +6557,30 @@ _08121D44:
.4byte _08121D60 .4byte _08121D60
.4byte _08121D68 .4byte _08121D68
_08121D58: _08121D58:
ldr r0, _08121D5C @ =gUnknown_845A128 ldr r0, _08121D5C @ =sDoWhatWithMonMsgWindowTemplate
b _08121D72 b _08121D72
.align 2, 0 .align 2, 0
_08121D5C: .4byte gUnknown_845A128 _08121D5C: .4byte sDoWhatWithMonMsgWindowTemplate
_08121D60: _08121D60:
ldr r0, _08121D64 @ =gUnknown_845A130 ldr r0, _08121D64 @ =sDoWhatWithItemMsgWindowTemplate
b _08121D72 b _08121D72
.align 2, 0 .align 2, 0
_08121D64: .4byte gUnknown_845A130 _08121D64: .4byte sDoWhatWithItemMsgWindowTemplate
_08121D68: _08121D68:
ldr r0, _08121D6C @ =gUnknown_845A138 ldr r0, _08121D6C @ =sDoWhatWithMailMsgWindowTemplate
b _08121D72 b _08121D72
.align 2, 0 .align 2, 0
_08121D6C: .4byte gUnknown_845A138 _08121D6C: .4byte sDoWhatWithMailMsgWindowTemplate
_08121D70: _08121D70:
ldr r0, _08121D7C @ =gUnknown_845A140 ldr r0, _08121D7C @ =sWhichMoveMsgWindowTemplate
_08121D72: _08121D72:
bl AddWindow bl AddWindow
strb r0, [r5] strb r0, [r5]
b _08121D88 b _08121D88
.align 2, 0 .align 2, 0
_08121D7C: .4byte gUnknown_845A140 _08121D7C: .4byte sWhichMoveMsgWindowTemplate
_08121D80: _08121D80:
ldr r0, _08121D9C @ =gUnknown_845A120 ldr r0, _08121D9C @ =sDefaultPartyMsgWindowTemplate
bl AddWindow bl AddWindow
strb r0, [r4, 0xD] strb r0, [r4, 0xD]
_08121D88: _08121D88:
@@ -6595,7 +6595,7 @@ _08121D88:
movs r6, 0x2 movs r6, 0x2
b _08121DB0 b _08121DB0
.align 2, 0 .align 2, 0
_08121D9C: .4byte gUnknown_845A120 _08121D9C: .4byte sDefaultPartyMsgWindowTemplate
_08121DA0: .4byte sPartyMenuInternal _08121DA0: .4byte sPartyMenuInternal
_08121DA4: _08121DA4:
bl ShouldUseChooseMonText bl ShouldUseChooseMonText
@@ -7107,10 +7107,10 @@ _0812217A:
str r0, [sp] str r0, [sp]
movs r1, 0 movs r1, 0
str r1, [sp, 0x4] str r1, [sp, 0x4]
ldr r0, _081221CC @ =gUnknown_845A00B ldr r0, _081221CC @ =sFontColorTable + 15
str r0, [sp, 0x8] str r0, [sp, 0x8]
str r1, [sp, 0xC] str r1, [sp, 0xC]
ldr r1, _081221D0 @ =gUnknown_845A37C ldr r1, _081221D0 @ =sHMDescriptionTable
adds r0, r5, 0 adds r0, r5, 0
subs r0, 0x12 subs r0, 0x12
lsls r0, 2 lsls r0, 2
@@ -7133,8 +7133,8 @@ _081221C0:
bx r0 bx r0
.align 2, 0 .align 2, 0
_081221C8: .4byte gUnknown_845A178 _081221C8: .4byte gUnknown_845A178
_081221CC: .4byte gUnknown_845A00B _081221CC: .4byte sFontColorTable + 15
_081221D0: .4byte gUnknown_845A37C _081221D0: .4byte sHMDescriptionTable
thumb_func_end sub_8122138 thumb_func_end sub_8122138
thumb_func_start CreatePartyMonIconSprite thumb_func_start CreatePartyMonIconSprite
@@ -11422,15 +11422,15 @@ _08124410: .4byte gPartyMenu
_08124414: .4byte gPlayerParty _08124414: .4byte gPlayerParty
_08124418: _08124418:
ldr r0, _08124424 @ =gStringVar4 ldr r0, _08124424 @ =gStringVar4
ldr r1, _08124428 @ =gUnknown_84170BC ldr r1, _08124428 @ =gText_PkmnCantBeTradedNow
bl StringExpandPlaceholders bl StringExpandPlaceholders
b _08124434 b _08124434
.align 2, 0 .align 2, 0
_08124424: .4byte gStringVar4 _08124424: .4byte gStringVar4
_08124428: .4byte gUnknown_84170BC _08124428: .4byte gText_PkmnCantBeTradedNow
_0812442C: _0812442C:
ldr r0, _08124478 @ =gStringVar4 ldr r0, _08124478 @ =gStringVar4
ldr r1, _0812447C @ =gUnknown_84170E0 ldr r1, _0812447C @ =gText_EggCantBeTradedNow
bl StringExpandPlaceholders bl StringExpandPlaceholders
_08124434: _08124434:
movs r0, 0x1A movs r0, 0x1A
@@ -11465,7 +11465,7 @@ _0812446C:
bx r0 bx r0
.align 2, 0 .align 2, 0
_08124478: .4byte gStringVar4 _08124478: .4byte gStringVar4
_0812447C: .4byte gUnknown_84170E0 _0812447C: .4byte gText_EggCantBeTradedNow
_08124480: .4byte sPartyMenuInternal _08124480: .4byte sPartyMenuInternal
_08124484: .4byte gText_PauseUntilPress _08124484: .4byte gText_PauseUntilPress
_08124488: .4byte gTasks _08124488: .4byte gTasks
@@ -11590,10 +11590,10 @@ _08124590:
bx r0 bx r0
thumb_func_end CursorCB_Trade1 thumb_func_end CursorCB_Trade1
thumb_func_start nullsub_93 thumb_func_start CursorCB_Trade2
nullsub_93: @ 81245A0 CursorCB_Trade2: @ 81245A0
bx lr bx lr
thumb_func_end nullsub_93 thumb_func_end CursorCB_Trade2
thumb_func_start CursorCB_FieldMove thumb_func_start CursorCB_FieldMove
CursorCB_FieldMove: @ 81245A4 CursorCB_FieldMove: @ 81245A4
@@ -14019,7 +14019,7 @@ TryUsePPItem: @ 8125958
lsls r0, 24 lsls r0, 24
lsrs r6, r0, 24 lsrs r6, r0, 24
movs r4, 0 movs r4, 0
ldr r7, _08125990 @ =gUnknown_203B0AE ldr r7, _08125990 @ =gPartyMenu + 14
ldr r0, _08125994 @ =gSpecialVar_ItemId ldr r0, _08125994 @ =gSpecialVar_ItemId
ldrh r5, [r0] ldrh r5, [r0]
movs r0, 0xE movs r0, 0xE
@@ -14040,7 +14040,7 @@ TryUsePPItem: @ 8125958
ldr r0, _0812599C @ =gText_WontHaveEffect ldr r0, _0812599C @ =gText_WontHaveEffect
b _081259F6 b _081259F6
.align 2, 0 .align 2, 0
_08125990: .4byte gUnknown_203B0AE _08125990: .4byte gPartyMenu + 14
_08125994: .4byte gSpecialVar_ItemId _08125994: .4byte gSpecialVar_ItemId
_08125998: .4byte gPartyMenuUseExitCallback _08125998: .4byte gPartyMenuUseExitCallback
_0812599C: .4byte gText_WontHaveEffect _0812599C: .4byte gText_WontHaveEffect
@@ -16549,7 +16549,7 @@ TryTutorSelectedMon: @ 8126DC8
bl GetMonNickname bl GetMonNickname
ldr r4, _08126E5C @ =gSpecialVar_0x8005 ldr r4, _08126E5C @ =gSpecialVar_0x8005
ldrb r0, [r4] ldrb r0, [r4]
bl GetMoveTutorMove bl GetTutorMove
strh r0, [r7, 0xE] strh r0, [r7, 0xE]
ldr r0, _08126E60 @ =gStringVar2 ldr r0, _08126E60 @ =gStringVar2
movs r1, 0xE movs r1, 0xE
@@ -18299,7 +18299,7 @@ _08127BEC:
beq _08127C64 beq _08127C64
adds r0, r5, 0 adds r0, r5, 0
bl GetPartyIdFromBattleSlot bl GetPartyIdFromBattleSlot
ldr r1, _08127C30 @ =gUnknown_203B0C1 ldr r1, _08127C30 @ =gSelectedMonPartyId
strb r0, [r1] strb r0, [r1]
ldr r1, _08127C34 @ =gPartyMenuUseExitCallback ldr r1, _08127C34 @ =gPartyMenuUseExitCallback
movs r0, 0x1 movs r0, 0x1
@@ -18325,7 +18325,7 @@ _08127BEC:
movs r0, 0x1 movs r0, 0x1
b _08127C8C b _08127C8C
.align 2, 0 .align 2, 0
_08127C30: .4byte gUnknown_203B0C1 _08127C30: .4byte gSelectedMonPartyId
_08127C34: .4byte gPartyMenuUseExitCallback _08127C34: .4byte gPartyMenuUseExitCallback
_08127C38: .4byte gBattlerPartyIndexes _08127C38: .4byte gBattlerPartyIndexes
_08127C3C: .4byte gBattlerInMenuId _08127C3C: .4byte gBattlerInMenuId
+1
View File
@@ -0,0 +1 @@
gItemUseCB
+5 -5
View File
@@ -13904,23 +13904,23 @@ gPartyMenuBg_Tilemap:: @ 8E82AB0
.incbin "graphics/interface/party_menu_misc.bin.lz" .incbin "graphics/interface/party_menu_misc.bin.lz"
.align 2 .align 2
gFile_graphics_interface_party_menu_pokeball_sheet:: @ 8E82BE8 gPartyMenuPokeball_Gfx:: @ 8E82BE8
.incbin "graphics/interface/party_menu_pokeball.4bpp.lz" .incbin "graphics/interface/party_menu_pokeball.4bpp.lz"
.align 2 .align 2
gFile_graphics_interface_party_menu_pokeball_small_sheet:: @ 8E82D68 gPartyMenuPokeballSmall_Gfx:: @ 8E82D68
.incbin "graphics/interface/party_menu_pokeball_small.4bpp.lz" .incbin "graphics/interface/party_menu_pokeball_small.4bpp.lz"
.align 2 .align 2
gFile_graphics_interface_party_menu_pokeball_palette:: @ 8E82E7C gPartyMenuPokeball_Pal:: @ 8E82E7C
.incbin "graphics/interface/party_menu_pokeball.gbapal.lz" .incbin "graphics/interface/party_menu_pokeball.gbapal.lz"
.align 2 .align 2
gUnknown_8E82EA0:: @ 8E82EA0 gStatusGfx_Icons:: @ 8E82EA0
.incbin "baserom.gba", 0xE82EA0, 0x204 .incbin "baserom.gba", 0xE82EA0, 0x204
.align 2 .align 2
gFile_graphics_interface_status_icons_palette:: @ 8E830A4 gStatusPal_Icons:: @ 8E830A4
.incbin "graphics/interface/status_icons.gbapal.lz" .incbin "graphics/interface/status_icons.gbapal.lz"
.align 2 .align 2
-669
View File
@@ -1,669 +0,0 @@
#include "constants/region_map.h"
#include "constants/flags.h"
#include "constants/moves.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gMoveTutorMoves:: @ 8459B60
.2byte MOVE_MEGA_PUNCH
.2byte MOVE_SWORDS_DANCE
.2byte MOVE_MEGA_KICK
.2byte MOVE_BODY_SLAM
.2byte MOVE_DOUBLE_EDGE
.2byte MOVE_COUNTER
.2byte MOVE_SEISMIC_TOSS
.2byte MOVE_MIMIC
.2byte MOVE_METRONOME
.2byte MOVE_SOFT_BOILED
.2byte MOVE_DREAM_EATER
.2byte MOVE_THUNDER_WAVE
.2byte MOVE_EXPLOSION
.2byte MOVE_ROCK_SLIDE
.2byte MOVE_SUBSTITUTE
sTutorLearnsets:: @ 8459B7E
.2byte 0x0000
.2byte 0x409a
.2byte 0x409a
.2byte 0x409a
.2byte 0x60ff
.2byte 0x60ff
.2byte 0x60ff
.2byte 0x40fd
.2byte 0x40fd
.2byte 0x40fd
.2byte 0x0000
.2byte 0x0000
.2byte 0x4490
.2byte 0x0000
.2byte 0x0000
.2byte 0x4092
.2byte 0x4090
.2byte 0x4090
.2byte 0x4090
.2byte 0x48b8
.2byte 0x48b8
.2byte 0x4090
.2byte 0x4090
.2byte 0x6098
.2byte 0x6098
.2byte 0x48fd
.2byte 0x48fd
.2byte 0x60fa
.2byte 0x60fa
.2byte 0x40b8
.2byte 0x40b8
.2byte 0x60fd
.2byte 0x40b8
.2byte 0x40b8
.2byte 0x60fd
.2byte 0x4ffd
.2byte 0x4ffd
.2byte 0x4098
.2byte 0x4098
.2byte 0x4cfd
.2byte 0x4cfd
.2byte 0x4090
.2byte 0x4090
.2byte 0x4092
.2byte 0x4092
.2byte 0x409a
.2byte 0x40ba
.2byte 0x40ba
.2byte 0x4090
.2byte 0x4090
.2byte 0x6098
.2byte 0x6098
.2byte 0x4498
.2byte 0x4498
.2byte 0x40fd
.2byte 0x40fd
.2byte 0x61fd
.2byte 0x61fd
.2byte 0x4098
.2byte 0x4098
.2byte 0x4098
.2byte 0x41fd
.2byte 0x41fd
.2byte 0x4dfd
.2byte 0x4dfd
.2byte 0x4dfd
.2byte 0x61fd
.2byte 0x61fd
.2byte 0x61fd
.2byte 0x4092
.2byte 0x4092
.2byte 0x409a
.2byte 0x4092
.2byte 0x4092
.2byte 0x71f9
.2byte 0x71f9
.2byte 0x71fd
.2byte 0x4098
.2byte 0x4098
.2byte 0x4c98
.2byte 0x4cfd
.2byte 0x4890
.2byte 0x4890
.2byte 0x409a
.2byte 0x4098
.2byte 0x4098
.2byte 0x4098
.2byte 0x4098
.2byte 0x5088
.2byte 0x5088
.2byte 0x5090
.2byte 0x5090
.2byte 0x5480
.2byte 0x5480
.2byte 0x55fd
.2byte 0x7098
.2byte 0x4dfd
.2byte 0x4dfd
.2byte 0x409a
.2byte 0x409a
.2byte 0x5880
.2byte 0x5880
.2byte 0x5490
.2byte 0x5490
.2byte 0x60ff
.2byte 0x60ff
.2byte 0x61fd
.2byte 0x61fd
.2byte 0x64ff
.2byte 0x5080
.2byte 0x5080
.2byte 0x60ba
.2byte 0x60ff
.2byte 0x4ffd
.2byte 0x409a
.2byte 0x60fd
.2byte 0x4090
.2byte 0x4090
.2byte 0x4090
.2byte 0x4090
.2byte 0x4890
.2byte 0x4c90
.2byte 0x4dfd
.2byte 0x40b2
.2byte 0x45fd
.2byte 0x48fd
.2byte 0x40fd
.2byte 0x60da
.2byte 0x4098
.2byte 0x0000
.2byte 0x4898
.2byte 0x4498
.2byte 0x0000
.2byte 0x4098
.2byte 0x4098
.2byte 0x4898
.2byte 0x4098
.2byte 0x4c90
.2byte 0x6098
.2byte 0x60d8
.2byte 0x6098
.2byte 0x60de
.2byte 0x6090
.2byte 0x61fd
.2byte 0x4090
.2byte 0x4890
.2byte 0x4090
.2byte 0x4898
.2byte 0x4898
.2byte 0x4898
.2byte 0x4dfd
.2byte 0x7fff
.2byte 0x40ba
.2byte 0x40ba
.2byte 0x40ba
.2byte 0x4098
.2byte 0x4098
.2byte 0x60fd
.2byte 0x60ff
.2byte 0x60ff
.2byte 0x60ff
.2byte 0x4098
.2byte 0x4098
.2byte 0x4490
.2byte 0x4490
.2byte 0x4093
.2byte 0x4093
.2byte 0x4098
.2byte 0x4098
.2byte 0x4090
.2byte 0x4890
.2byte 0x4890
.2byte 0x48fd
.2byte 0x4ffd
.2byte 0x4cfd
.2byte 0x4ffd
.2byte 0x4ffd
.2byte 0x4c90
.2byte 0x4c90
.2byte 0x4898
.2byte 0x48fd
.2byte 0x48fd
.2byte 0x4092
.2byte 0x40dd
.2byte 0x40dd
.2byte 0x70fd
.2byte 0x41fd
.2byte 0x4092
.2byte 0x4092
.2byte 0x4092
.2byte 0x4dfd
.2byte 0x4092
.2byte 0x4092
.2byte 0x4490
.2byte 0x4098
.2byte 0x40fd
.2byte 0x4498
.2byte 0x4498
.2byte 0x4c90
.2byte 0x4cfd
.2byte 0x4c90
.2byte 0x0000
.2byte 0x0000
.2byte 0x4c98
.2byte 0x70b8
.2byte 0x70b8
.2byte 0x6cb8
.2byte 0x64b2
.2byte 0x7098
.2byte 0x49fd
.2byte 0x69fd
.2byte 0x4892
.2byte 0x40b2
.2byte 0x6098
.2byte 0x60fa
.2byte 0x44b2
.2byte 0x41ff
.2byte 0x61ff
.2byte 0x6098
.2byte 0x6098
.2byte 0x6098
.2byte 0x6098
.2byte 0x7098
.2byte 0x4890
.2byte 0x48d0
.2byte 0x40fd
.2byte 0x4098
.2byte 0x60b0
.2byte 0x44b8
.2byte 0x44b8
.2byte 0x4098
.2byte 0x40b8
.2byte 0x60b8
.2byte 0x4c90
.2byte 0x4c98
.2byte 0x0000
.2byte 0x60fc
.2byte 0x60fc
.2byte 0x45fd
.2byte 0x48fd
.2byte 0x40fd
.2byte 0x69fd
.2byte 0x4ffd
.2byte 0x4898
.2byte 0x4098
.2byte 0x4098
.2byte 0x6098
.2byte 0x6098
.2byte 0x68fd
.2byte 0x4c98
.2byte 0x4c90
.2byte 0x4592
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x0000
.2byte 0x40ff
.2byte 0x40ff
.2byte 0x40ff
.2byte 0x60ff
.2byte 0x60ff
.2byte 0x60ff
.2byte 0x4098
.2byte 0x60fd
.2byte 0x60fd
.2byte 0x40b8
.2byte 0x40b8
.2byte 0x4898
.2byte 0x4898
.2byte 0x0000
.2byte 0x0000
.2byte 0x4090
.2byte 0x0000
.2byte 0x4090
.2byte 0x409a
.2byte 0x409a
.2byte 0x41ff
.2byte 0x509a
.2byte 0x509e
.2byte 0x509e
.2byte 0x4090
.2byte 0x4092
.2byte 0x4490
.2byte 0x40b0
.2byte 0x40b0
.2byte 0x409a
.2byte 0x40ff
.2byte 0x65fd
.2byte 0x4090
.2byte 0x4090
.2byte 0x4090
.2byte 0x4090
.2byte 0x4098
.2byte 0x4098
.2byte 0x4c98
.2byte 0x4c98
.2byte 0x69fd
.2byte 0x7490
.2byte 0x7490
.2byte 0x7898
.2byte 0x7098
.2byte 0x45fd
.2byte 0x4090
.2byte 0x6090
.2byte 0x4090
.2byte 0x40ba
.2byte 0x40ba
.2byte 0x4090
.2byte 0x4098
.2byte 0x4090
.2byte 0x4090
.2byte 0x6098
.2byte 0x6098
.2byte 0x6098
.2byte 0x61fd
.2byte 0x61fd
.2byte 0x4898
.2byte 0x4898
.2byte 0x6098
.2byte 0x7098
.2byte 0x6098
.2byte 0x6098
.2byte 0x6098
.2byte 0x40fb
.2byte 0x40ff
.2byte 0x4098
.2byte 0x5098
.2byte 0x7498
.2byte 0x7498
.2byte 0x4098
.2byte 0x4498
.2byte 0x44fd
.2byte 0x49fd
.2byte 0x49fd
.2byte 0x60ff
.2byte 0x45fd
.2byte 0x65fd
.2byte 0x4498
.2byte 0x4498
.2byte 0x0000
.2byte 0x4498
.2byte 0x65fd
.2byte 0x409a
.2byte 0x60fd
.2byte 0x60fd
.2byte 0x60fd
.2byte 0x54b8
.2byte 0x54b8
.2byte 0x409a
.2byte 0x40fd
.2byte 0x60fd
.2byte 0x60fd
.2byte 0x4098
.2byte 0x4098
.2byte 0x4098
.2byte 0x6cba
.2byte 0x4c98
.2byte 0x4d98
.2byte 0x4098
.2byte 0x68ff
.2byte 0x6098
.2byte 0x6098
.2byte 0x6098
.2byte 0x68fd
.2byte 0x4898
.2byte 0x49fd
.2byte 0x49fd
.2byte 0x6098
.2byte 0x6098
.2byte 0x609a
.2byte 0x60da
.2byte 0x4c98
.2byte 0x4c98
.2byte 0x4c98
.2byte 0x6098
.2byte 0x6098
.2byte 0x6098
.2byte 0x0000
.2byte 0x7098
.2byte 0x7098
.2byte 0x78fd
.2byte 0x78fd
.2byte 0x78fd
.2byte 0x6898
.2byte 0x68ff
.2byte 0x6898
.2byte 0x4c98
.2byte 0x4c98
.2byte 0x4d98
.2byte 0x6cfd
.2byte 0x4490
.align 2
sPartyMenuBgTemplates:: @ 8459EB8
.incbin "baserom.gba", 0x459EB8, 0xC
sPartyBoxInfoRects:: @ 8459EC4
.incbin "baserom.gba", 0x459EC4, 0x40
sPartyMenuSpriteCoords:: @ 8459F04
.incbin "baserom.gba", 0x459F04, 0xC0
gUnknown_8459FC4:: @ 8459FC4
.incbin "baserom.gba", 0x459FC4, 0x1C
gUnknown_8459FE0:: @ 8459FE0
.incbin "baserom.gba", 0x459FE0, 0x1C
sFontColorTable:: @ 8459FFC
.incbin "baserom.gba", 0x459FFC, 0xF
gUnknown_845A00B:: @ 845A00B
.incbin "baserom.gba", 0x45A00B, 0x5
sSinglePartyMenuWindowTemplate:: @ 845A010
.incbin "baserom.gba", 0x45A010, 0x40
sDoublePartyMenuWindowTemplate:: @ 845A050
.incbin "baserom.gba", 0x45A050, 0x40
sMultiPartyMenuWindowTemplate:: @ 845A090
.incbin "baserom.gba", 0x45A090, 0x40
sShowcaseMultiPartyMenuWindowTemplate:: @ 845A0D0
.incbin "baserom.gba", 0x45A0D0, 0x38
sCancelButtonWindowTemplate:: @ 845A108
.incbin "baserom.gba", 0x45A108, 0x8
sMultiCancelButtonWindowTemplate:: @ 845A110
.incbin "baserom.gba", 0x45A110, 0x8
sConfirmButtonWindowTemplate:: @ 845A118
.incbin "baserom.gba", 0x45A118, 0x8
gUnknown_845A120:: @ 845A120
.incbin "baserom.gba", 0x45A120, 0x8
gUnknown_845A128:: @ 845A128
.incbin "baserom.gba", 0x45A128, 0x8
gUnknown_845A130:: @ 845A130
.incbin "baserom.gba", 0x45A130, 0x8
gUnknown_845A138:: @ 845A138
.incbin "baserom.gba", 0x45A138, 0x8
gUnknown_845A140:: @ 845A140
.incbin "baserom.gba", 0x45A140, 0x8
sItemGiveTakeWindowTemplate:: @ 845A148
.incbin "baserom.gba", 0x45A148, 0x8
sMailReadTakeWindowTemplate:: @ 845A150
.incbin "baserom.gba", 0x45A150, 0x8
sMoveSelectWindowTemplate:: @ 845A158
.incbin "baserom.gba", 0x45A158, 0x8
sPartyMenuYesNoWindowTemplate:: @ 845A160
.incbin "baserom.gba", 0x45A160, 0x8
sLevelUpStatsWindowTemplate:: @ 845A168
.incbin "baserom.gba", 0x45A168, 0x8
gUnknown_845A170:: @ 845A170
.incbin "baserom.gba", 0x45A170, 0x8
gUnknown_845A178:: @ 845A178
.incbin "baserom.gba", 0x45A178, 0x8
sMainSlotTileNums:: @ 845A180
.incbin "baserom.gba", 0x45A180, 0x46
sMainSlotTileNums_Egg:: @ 845A1C6
.incbin "baserom.gba", 0x45A1C6, 0x46
sOtherSlotTileNums:: @ 845A20C
.incbin "baserom.gba", 0x45A20C, 0x36
sOtherSlotTileNums_Egg:: @ 845A242
.incbin "baserom.gba", 0x45A242, 0x36
gUnknown_845A278:: @ 845A278
.incbin "baserom.gba", 0x45A278, 0x36
sGenderPalOffsets:: @ 845A2AE
.incbin "baserom.gba", 0x45A2AE, 0x2
gUnknown_845A2B0:: @ 845A2B0
.incbin "baserom.gba", 0x45A2B0, 0x2
gUnknown_845A2B2:: @ 845A2B2
.incbin "baserom.gba", 0x45A2B2, 0x3
gUnknown_845A2B5:: @ 845A2B5
.incbin "baserom.gba", 0x45A2B5, 0x3
sGenderMalePalIds:: @ 845A2B8
.incbin "baserom.gba", 0x45A2B8, 0x2
sGenderFemalePalIds:: @ 845A2BA
.incbin "baserom.gba", 0x45A2BA, 0x2
gUnknown_845A2BC:: @ 845A2BC
.incbin "baserom.gba", 0x45A2BC, 0x2
gUnknown_845A2BE:: @ 845A2BE
.incbin "baserom.gba", 0x45A2BE, 0x2
gUnknown_845A2C0:: @ 845A2C0
.incbin "baserom.gba", 0x45A2C0, 0x2
gUnknown_845A2C2:: @ 845A2C2
.incbin "baserom.gba", 0x45A2C2, 0x3
gUnknown_845A2C5:: @ 845A2C5
.incbin "baserom.gba", 0x45A2C5, 0x3
gUnknown_845A2C8:: @ 845A2C8
.incbin "baserom.gba", 0x45A2C8, 0x3
gUnknown_845A2CB:: @ 845A2CB
.incbin "baserom.gba", 0x45A2CB, 0x3
gUnknown_845A2CE:: @ 845A2CE
.incbin "baserom.gba", 0x45A2CE, 0x3
gUnknown_845A2D1:: @ 845A2D1
.incbin "baserom.gba", 0x45A2D1, 0x3
gUnknown_845A2D4:: @ 845A2D4
.incbin "baserom.gba", 0x45A2D4, 0x3
gUnknown_845A2D7:: @ 845A2D7
.incbin "baserom.gba", 0x45A2D7, 0x3
gUnknown_845A2DA:: @ 845A2DA
.incbin "baserom.gba", 0x45A2DA, 0x3
gUnknown_845A2DD:: @ 845A2DD
.incbin "baserom.gba", 0x45A2DD, 0x3
gUnknown_845A2E0:: @ 845A2E0
.incbin "baserom.gba", 0x45A2E0, 0x3
gUnknown_845A2E3:: @ 845A2E3
.incbin "baserom.gba", 0x45A2E3, 0x5
sActionStringTable:: @ 845A2E8
.incbin "baserom.gba", 0x45A2E8, 0x6C
sDescriptionStringTable:: @ 845A354
.incbin "baserom.gba", 0x45A354, 0x28
gUnknown_845A37C:: @ 845A37C
.incbin "baserom.gba", 0x45A37C, 0xB0
sSpriteSheet_HeldItem:: @ 845A42C
.incbin "baserom.gba", 0x45A42C, 0x8
sSpritePalette_HeldItem:: @ 845A434
.incbin "baserom.gba", 0x45A434, 0x8
sSpriteTemplate_HeldItem:: @ 845A43C
.incbin "baserom.gba", 0x45A43C, 0x38
sSpriteSheet_MenuPokeball:: @ 845A474
.incbin "baserom.gba", 0x45A474, 0x8
sSpritePalette_MenuPokeball:: @ 845A47C
.incbin "baserom.gba", 0x45A47C, 0x8
sSpriteTemplate_MenuPokeball:: @ 845A484
.incbin "baserom.gba", 0x45A484, 0x68
sSpriteSheet_MenuPokeballSmall:: @ 845A4EC
.incbin "baserom.gba", 0x45A4EC, 0x8
sSpriteTemplate_MenuPokeballSmall:: @ 845A4F4
.incbin "baserom.gba", 0x45A4F4, 0x80
sSpriteSheet_StatusIcons:: @ 845A574
.incbin "baserom.gba", 0x45A574, 0x8
sSpritePalette_StatusIcons:: @ 845A57C
.incbin "baserom.gba", 0x45A57C, 0x8
sSpriteTemplate_StatusIcons:: @ 845A584
.incbin "baserom.gba", 0x45A584, 0x18
sMultiBattlePartnersPartyMask:: @ 845A59C
.incbin "baserom.gba", 0x45A59C, 0x7C
sCursorOptions:: @ 845A618
.incbin "baserom.gba", 0x45A618, 0x114
sPartyMenuActions:: @ 845A72C
.incbin "baserom.gba", 0x45A72C, 0x34
sPartyMenuActionCounts:: @ 845A760
.incbin "baserom.gba", 0x45A760, 0xE
sFieldMoves:: @ 845A76E
.incbin "baserom.gba", 0x45A76E, 0x1A
sFieldMoveCursorCallbacks:: @ 845A788
.incbin "baserom.gba", 0x45A788, 0x60
sUnionRoomTradeMessages:: @ 845A7E8
.4byte gUnknown_841718C @ Not what other player wants
.4byte gUnknown_84171CC @ Not an egg
.4byte gUnknown_84170BC @ Mon can't be traded
.4byte gUnknown_84170BC @ Mon can't be traded
.4byte gUnknown_84170FC @ Other trainer's mon can't be traded
.4byte gUnknown_84170E0 @ Egg can't be traded
.4byte gUnknown_8417130 @ Other trainer can't accept
.4byte gUnknown_8417164 @ Can't trade with trainer now
.4byte gUnknown_8417164 @ Can't trade with trainer now
sTMHMMoves:: @ 845A80C
.incbin "baserom.gba", 0x45A80C, 0x74
+68 -68
View File
@@ -433,16 +433,16 @@ gString_Dummy:: @ 84161CD
gUnknown_84161CE:: gUnknown_84161CE::
.string "$" .string "$"
gUnknown_84161D4:: gText_Item::
.string "ITEM$" .string "ITEM$"
gUnknown_84161D9:: gText_Mail::
.string "MAIL$" .string "MAIL$"
gUnknown_84161DE:: gText_Take::
.string "TAKE$" .string "TAKE$"
gUnknown_84161E3:: gText_Store::
.string "STORE$" .string "STORE$"
gUnknown_84161E9:: gUnknown_84161E9::
@@ -804,34 +804,34 @@ gText_TurnedOverItemsWorthYen:: @ 8416959
gText_PokedollarVar1:: @ 841697A gText_PokedollarVar1:: @ 841697A
.string "¥{STR_VAR_1}$" .string "¥{STR_VAR_1}$"
gUnknown_841697E:: @ 0x841697E gText_Shift:: @ 0x841697E
.string "SHIFT$" .string "SHIFT$"
gUnknown_8416984:: @ 0x8416984 gText_SendOut:: @ 0x8416984
.string "SEND OUT$" .string "SEND OUT$"
gUnknown_841698D:: @ 0x841698D gText_Switch2:: @ 0x841698D
.string "SWITCH$" .string "SWITCH$"
gUnknown_8416994:: @ 0x8416994 gText_Summary5:: @ 0x8416994
.string "SUMMARY$" .string "SUMMARY$"
gUnknown_841699C:: @ 0x841699C gUnknown_841699C:: @ 0x841699C
.string "$" .string "$"
gUnknown_84169A3:: @ 0x84169A3 gText_Enter:: @ 0x84169A3
.string "ENTER$" .string "ENTER$"
gUnknown_84169A9:: @ 0x84169A9 gText_NoEntry:: @ 0x84169A9
.string "NO ENTRY$" .string "NO ENTRY$"
gUnknown_84169B2:: @ 0x84169B2 gText_Take2:: @ 0x84169B2
.string "TAKE$" .string "TAKE$"
gUnknown_84169B7:: @ 0x84169B7 gText_Read2:: @ 0x84169B7
.string "READ$" .string "READ$"
gUnknown_84169BC:: @ 0x84169BC gText_Trade4:: @ 0x84169BC
.string "TRADE$" .string "TRADE$"
gText_HP3:: @ 84169C2 gText_HP3:: @ 84169C2
@@ -1044,144 +1044,144 @@ gUnknown_8417094:: @ 0x8417094
.string "POKéMON for battle.$" .string "POKéMON for battle.$"
.align 2 .align 2
gUnknown_84170BC:: @ 84170BC gText_PkmnCantBeTradedNow:: @ 84170BC
.string "That POKéMON can't be traded\n" .string "That POKéMON can't be traded\n"
.string "now.$" .string "now.$"
.align 2 .align 2
gUnknown_84170E0:: @ 84170E0 gText_EggCantBeTradedNow:: @ 84170E0
.string "An EGG can't be traded now.$" .string "An EGG can't be traded now.$"
.align 2 .align 2
gUnknown_84170FC:: @ 0x84170FC gText_OtherTrainersPkmnCantBeTraded:: @ 0x84170FC
.string "The other TRAINER's POKéMON\n" .string "The other TRAINER's POKéMON\n"
.string "can't be traded now.$" .string "can't be traded now.$"
.align 2 .align 2
gUnknown_8417130:: @ 0x8417130 gText_OtherTrainerCantAcceptPkmn:: @ 0x8417130
.string "The other TRAINER can't accept\n" .string "The other TRAINER can't accept\n"
.string "that POKéMON now.$" .string "that POKéMON now.$"
.align 2 .align 2
gUnknown_8417164:: @ 0x8417164 gText_CantTradeWithTrainer:: @ 0x8417164
.string "You can't trade with that\n" .string "You can't trade with that\n"
.string "TRAINER now.$" .string "TRAINER now.$"
.align 2 .align 2
gUnknown_841718C:: @ 0x841718C gText_NotPkmnOtherTrainerWants:: @ 0x841718C
.string "That isn't the type of POKéMON\n" .string "That isn't the type of POKéMON\n"
.string "that the other TRAINER wants.$" .string "that the other TRAINER wants.$"
.align 2 .align 2
gUnknown_84171CC:: @ 0x84171CC gText_ThatIsntAnEgg:: @ 0x84171CC
.string "That isn't an EGG.$" .string "That isn't an EGG.$"
gUnknown_84171DF:: @ 0x84171DF gText_ChoosePokemon:: @ 0x84171DF
.string "Choose a POKéMON.$" .string "Choose a POKéMON.$"
gUnknown_84171F1:: @ 0x84171F1 gText_MoveToWhere:: @ 0x84171F1
.string "Move to where?$" .string "Move to where?$"
gUnknown_8417200:: @ 0x8417200 gText_TeachWhichPokemon:: @ 0x8417200
.string "Teach which POKéMON?$" .string "Teach which POKéMON?$"
gUnknown_8417215:: @ 0x8417215 gText_UseOnWhichPokemon:: @ 0x8417215
.string "Use on which POKéMON?$" .string "Use on which POKéMON?$"
gUnknown_841722B:: @ 0x841722B gText_GiveToWhichPokemon:: @ 0x841722B
.string "Give to which POKéMON?$" .string "Give to which POKéMON?$"
gUnknown_8417242:: @ 0x8417242 gText_DoWhatWithPokemon:: @ 0x8417242
.string "Do what with this {PKMN}?$" .string "Do what with this {PKMN}?$"
gUnknown_8417258:: @ 0x8417258 gText_NothingToCut:: @ 0x8417258
.string "There's nothing to CUT.$" .string "There's nothing to CUT.$"
gUnknown_8417270:: @ 0x8417270 gText_CantSurfHere:: @ 0x8417270
.string "No SURFING here!$" .string "No SURFING here!$"
gUnknown_8417281:: @ 0x8417281 gText_AlreadySurfing:: @ 0x8417281
.string "You're already SURFING.$" .string "You're already SURFING.$"
gUnknown_8417299:: @ 0x8417299 gText_CantUseHere:: @ 0x8417299
.string "Can't use that here.$" .string "Can't use that here.$"
gUnknown_84172AE:: @ 0x84172AE gText_RestoreWhichMove:: @ 0x84172AE
.string "Restore which move?$" .string "Restore which move?$"
gUnknown_84172C2:: @ 0x84172C2 gText_BoostPp:: @ 0x84172C2
.string "Boost PP of which?$" .string "Boost PP of which?$"
gUnknown_84172D5:: @ 0x84172D5 gText_DoWhatWithItem:: @ 0x84172D5
.string "Do what with an item?$" .string "Do what with an item?$"
gUnknown_84172EB:: @ 0x84172EB gText_NoPokemonForBattle:: @ 0x84172EB
.string "No battling this way!$" .string "No battling this way!$"
gUnknown_8417301:: @ 0x8417301 gText_ChoosePokemon2:: @ 0x8417301
.string "Choose a POKéMON.$" .string "Choose a POKéMON.$"
gUnknown_8417313:: @ 0x8417313 gText_NotEnoughHp:: @ 0x8417313
.string "Not enough HP$" .string "Not enough HP$"
gUnknown_8417322:: @ 0x8417322 gText_ThreePkmnAreNeeded:: @ 0x8417322
.string "Three {PKMN} are needed.$" .string "Three {PKMN} are needed.$"
gUnknown_8417337:: @ 0x8417337 gText_PokemonCantBeSame:: @ 0x8417337
.string "{PKMN} can't be the same.$" .string "{PKMN} can't be the same.$"
gUnknown_841734D:: @ 0x841734D gText_NoIdenticalHoldItems:: @ 0x841734D
.string "No same hold items!$" .string "No same hold items!$"
gUnknown_8417361:: @ 0x8417361 gText_CurrentIsTooFast:: @ 0x8417361
.string "The current is much too fast!$" .string "The current is much too fast!$"
gUnknown_841737F:: @ 0x841737F gText_DoWhatWithMail:: @ 0x841737F
.string "Do what with the MAIL?$" .string "Do what with the MAIL?$"
gUnknown_8417396:: @ 0x8417396 gText_ChoosePokemonCancel:: @ 0x8417396
.string "Choose POKéMON or CANCEL.$" .string "Choose POKéMON or CANCEL.$"
gUnknown_84173B0:: @ 0x84173B0 gText_ChoosePokemonConfirm:: @ 0x84173B0
.string "Choose POKéMON and confirm.$" .string "Choose POKéMON and confirm.$"
gUnknown_84173CC:: @ 0x84173CC gText_TwoPokemonAreNeeded:: @ 0x84173CC
.string "Two POKéMON are needed.$" .string "Two POKéMON are needed.$"
gUnknown_84173E4:: @ 0x84173E4 gText_EnjoyCycling:: @ 0x84173E4
.string "Let's enjoy cycling!$" .string "Let's enjoy cycling!$"
gUnknown_84173F9:: @ 0x84173F9 gText_InUseAlready_PM:: @ 0x84173F9
.string "This is in use already.$" .string "This is in use already.$"
gUnknown_8417411:: @ 0x8417411 gText_NoUse:: @ 0x8417411
.string "No use.$" .string "No use.$"
gUnknown_8417419:: @ 0x8417419 gText_Able:: @ 0x8417419
.string "ABLE$" .string "ABLE$"
gUnknown_841741E:: @ 0x841741E gText_First_PM:: @ 0x841741E
.string "FIRST$" .string "FIRST$"
gUnknown_8417424:: @ 0x8417424 gText_Second_PM:: @ 0x8417424
.string "SECOND$" .string "SECOND$"
gUnknown_841742B:: @ 0x841742B gText_Third_PM:: @ 0x841742B
.string "THIRD$" .string "THIRD$"
gUnknown_8417431:: @ 0x8417431 gText_Able2:: @ 0x8417431
.string "ABLE$" .string "ABLE$"
gUnknown_8417436:: @ 0x8417436 gText_NotAble:: @ 0x8417436
.string "NOT ABLE$" .string "NOT ABLE$"
gUnknown_841743F:: @ 0x841743F gText_Able3:: @ 0x841743F
.string "ABLE!$" .string "ABLE!$"
gUnknown_8417445:: @ 0x8417445 gText_NotAble2:: @ 0x8417445
.string "NOT ABLE!$" .string "NOT ABLE!$"
gUnknown_841744F:: @ 0x841744F gText_Learned:: @ 0x841744F
.string "LEARNED$" .string "LEARNED$"
gUnknown_8417457:: @ 8417457 gUnknown_8417457:: @ 8417457
@@ -1197,40 +1197,40 @@ gUnknown_8417494:: @ 8417494
.string "You also choose POKéMON here if\n" .string "You also choose POKéMON here if\n"
.string "you want to use an item on one.{PAUSE_UNTIL_PRESS}$" .string "you want to use an item on one.{PAUSE_UNTIL_PRESS}$"
gUnknown_8417533:: @ 0x8417533 gText_CutATreeOrGrass:: @ 0x8417533
.string "Cut a tree or grass.$" .string "Cut a tree or grass.$"
gUnknown_8417548:: @ 0x8417548 gText_FlyToAKnownTown:: @ 0x8417548
.string "Fly to a known town.$" .string "Fly to a known town.$"
gUnknown_841755D:: @ 0x841755D gText_TravelOnWater:: @ 0x841755D
.string "Travel on water.$" .string "Travel on water.$"
gUnknown_841756E:: @ 0x841756E gText_MoveHeavyBoulders:: @ 0x841756E
.string "Move heavy boulders.$" .string "Move heavy boulders.$"
gUnknown_8417583:: @ 0x8417583 gText_LightUpDarkness:: @ 0x8417583
.string "Light up darkness.$" .string "Light up darkness.$"
gUnknown_8417596:: @ 0x8417596 gText_ShatterACrackedRock:: @ 0x8417596
.string "Shatter a cracked rock.$" .string "Shatter a cracked rock.$"
gUnknown_84175AE:: @ 0x84175AE gText_ClimbAWaterfall:: @ 0x84175AE
.string "Climb a waterfall.$" .string "Climb a waterfall.$"
gUnknown_84175C1:: @ 0x84175C1 gUnknown_84175C1:: @ 0x84175C1
.string " $" .string " $"
gUnknown_84175CC:: @ 0x84175CC gText_EscapeFromHere:: @ 0x84175CC
.string "Escape from here.$" .string "Escape from here.$"
gUnknown_84175DE:: @ 0x84175DE gText_LureWildPokemon:: @ 0x84175DE
.string "Lure wild POKéMON.$" .string "Lure wild POKéMON.$"
gUnknown_84175F1:: @ 0x84175F1 gText_ShareHp:: @ 0x84175F1
.string "Share HP.$" .string "Share HP.$"
gUnknown_84175FB:: @ 0x84175FB gText_ReturnToAHealingSpot:: @ 0x84175FB
.string "Return to a healing spot.$" .string "Return to a healing spot.$"
gUnknown_8417615:: @ 8417615 gUnknown_8417615:: @ 8417615
@@ -3266,7 +3266,7 @@ gText_Badges:: @ 841B6EC
gTextJPDummy_Ko:: @ 841B6F3 gTextJPDummy_Ko:: @ 841B6F3
.string "$" .string "$"
gUnknown_841B6F4:: @ 0x841B6F4 gText_Register:: @ 0x841B6F4
.string "REGISTER$" .string "REGISTER$"
gText_HatchedFromEgg:: @ 841B6FD gText_HatchedFromEgg:: @ 841B6FD
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
57 205 106
255 255 255
213 213 255
148 148 180
255 246 156
222 222 115
246 82 41
164 90 82
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
98 98 98
Binary file not shown.

After

Width:  |  Height:  |  Size: 120 B

@@ -0,0 +1,2 @@
           
@@ -0,0 +1 @@
#$
+114
View File
@@ -0,0 +1,114 @@
#ifndef GUARD_CONSTANTS_PARTY_MENU_H
#define GUARD_CONSTANTS_PARTY_MENU_H
#define AILMENT_NONE 0
#define AILMENT_PSN 1
#define AILMENT_PRZ 2
#define AILMENT_SLP 3
#define AILMENT_FRZ 4
#define AILMENT_BRN 5
#define AILMENT_PKRS 6
#define AILMENT_FNT 7
#define TUTOR_MOVE_MEGA_PUNCH 0
#define TUTOR_MOVE_SWORDS_DANCE 1
#define TUTOR_MOVE_MEGA_KICK 2
#define TUTOR_MOVE_BODY_SLAM 3
#define TUTOR_MOVE_DOUBLE_EDGE 4
#define TUTOR_MOVE_COUNTER 5
#define TUTOR_MOVE_SEISMIC_TOSS 6
#define TUTOR_MOVE_MIMIC 7
#define TUTOR_MOVE_METRONOME 8
#define TUTOR_MOVE_SOFT_BOILED 9
#define TUTOR_MOVE_DREAM_EATER 10
#define TUTOR_MOVE_THUNDER_WAVE 11
#define TUTOR_MOVE_EXPLOSION 12
#define TUTOR_MOVE_ROCK_SLIDE 13
#define TUTOR_MOVE_SUBSTITUTE 14
#define TUTOR_MOVE_COUNT 15
#define PARTY_LAYOUT_SINGLE 0
#define PARTY_LAYOUT_DOUBLE 1
#define PARTY_LAYOUT_MULTI 2
#define PARTY_LAYOUT_MULTI_SHOWCASE 3 // The layout during the screen that appears just before a multi battle
#define PARTY_LAYOUT_COUNT 4
#define KEEP_PARTY_LAYOUT 0xFF
#define PARTY_MENU_TYPE_FIELD 0
#define PARTY_MENU_TYPE_IN_BATTLE 1
#define PARTY_MENU_TYPE_CONTEST 2
#define PARTY_MENU_TYPE_CHOOSE_MON 3
#define PARTY_MENU_TYPE_CHOOSE_HALF 4 // multi battles, eReader battles, and some battle facilities
#define PARTY_MENU_TYPE_MULTI_SHOWCASE 5
#define PARTY_MENU_TYPE_DAYCARE 6
#define PARTY_MENU_TYPE_MOVE_RELEARNER 7
#define PARTY_MENU_TYPE_UNION_ROOM_REGISTER 8 // trading board
#define PARTY_MENU_TYPE_UNION_ROOM_TRADE 9 // trading board
#define PARTY_MENU_TYPE_SPIN_TRADE 10 // Unused beta for Gen IV's Spin Trade
#define PARTY_MENU_TYPE_MINIGAME 11
#define PARTY_MENU_TYPE_STORE_PYRAMID_HELD_ITEMS 12
#define PARTY_ACTION_CHOOSE_MON 0
#define PARTY_ACTION_SEND_OUT 1
#define PARTY_ACTION_CANT_SWITCH 2
#define PARTY_ACTION_USE_ITEM 3
#define PARTY_ACTION_ABILITY_PREVENTS 4
#define PARTY_ACTION_GIVE_ITEM 5
#define PARTY_ACTION_GIVE_PC_ITEM 6 // Unused. Not possible to give non-mail items directly from PC
#define PARTY_ACTION_GIVE_MAILBOX_MAIL 7
#define PARTY_ACTION_SWITCH 8
#define PARTY_ACTION_SWITCHING 9
#define PARTY_ACTION_SOFTBOILED 10
#define PARTY_ACTION_CHOOSE_AND_CLOSE 11
#define PARTY_ACTION_MOVE_TUTOR 12
#define PARTY_ACTION_MINIGAME 13
#define PARTY_ACTION_REUSABLE_ITEM 14 // Unused. The only reusable items are handled separately
// IDs for DisplayPartyMenuStdMessage, to display the message at the bottom of the party menu
#define PARTY_MSG_CHOOSE_MON 0
#define PARTY_MSG_CHOOSE_MON_OR_CANCEL 1
#define PARTY_MSG_CHOOSE_MON_AND_CONFIRM 2
#define PARTY_MSG_MOVE_TO_WHERE 3
#define PARTY_MSG_TEACH_WHICH_MON 4
#define PARTY_MSG_USE_ON_WHICH_MON 5
#define PARTY_MSG_GIVE_TO_WHICH_MON 6
#define PARTY_MSG_NOTHING_TO_CUT 7
#define PARTY_MSG_CANT_SURF_HERE 8
#define PARTY_MSG_ALREADY_SURFING 9
#define PARTY_MSG_CURRENT_TOO_FAST 10
#define PARTY_MSG_ENJOY_CYCLING 11
#define PARTY_MSG_ALREADY_IN_USE 12
#define PARTY_MSG_CANT_USE_HERE 13
#define PARTY_MSG_NO_MON_FOR_BATTLE 14
#define PARTY_MSG_CHOOSE_MON_2 15
#define PARTY_MSG_NOT_ENOUGH_HP 16
#define PARTY_MSG_THREE_MONS_ARE_NEEDED 17
#define PARTY_MSG_TWO_MONS_ARE_NEEDED 18
#define PARTY_MSG_MONS_CANT_BE_SAME 19
#define PARTY_MSG_NO_SAME_HOLD_ITEMS 20
#define PARTY_MSG_UNUSED 21
#define PARTY_MSG_DO_WHAT_WITH_MON 22
#define PARTY_MSG_RESTORE_WHICH_MOVE 23
#define PARTY_MSG_BOOST_PP_WHICH_MOVE 24
#define PARTY_MSG_DO_WHAT_WITH_ITEM 25
#define PARTY_MSG_DO_WHAT_WITH_MAIL 26
#define PARTY_MSG_NONE 127
// IDs for DisplayPartyPokemonDescriptionText, to display a message in the party pokemon's box
#define PARTYBOX_DESC_NO_USE 0
#define PARTYBOX_DESC_ABLE_3 1
#define PARTYBOX_DESC_FIRST 2
#define PARTYBOX_DESC_SECOND 3
#define PARTYBOX_DESC_THIRD 4
#define PARTYBOX_DESC_ABLE 5
#define PARTYBOX_DESC_NOT_ABLE 6
#define PARTYBOX_DESC_ABLE_2 7
#define PARTYBOX_DESC_NOT_ABLE_2 8
#define PARTYBOX_DESC_LEARNED 9
#define SELECTWINDOW_ACTIONS 0
#define SELECTWINDOW_ITEM 1
#define SELECTWINDOW_MAIL 2
#define SELECTWINDOW_MOVES 3
#endif // GUARD_CONSTANTS_PARTY_MENU_H
+118
View File
@@ -0,0 +1,118 @@
#ifndef GUARD_CONSTANTS_TRADE_H
#define GUARD_CONSTANTS_TRADE_H
// TODO: document trade.c and trade_scene.c with corresponding macros
// and examine if these are correct
#define TRADE_PLAYER 0
#define TRADE_PARTNER 1
#define LINK_TRADE_TIMEOUT 300
// In-game Trade IDs
#define INGAME_TRADE_SEEDOT 0
#define INGAME_TRADE_PLUSLE 1
#define INGAME_TRADE_HORSEA 2
#define INGAME_TRADE_MEOWTH 3
// Flag IDs for sending link data
#define INITIATE_TRADE 1
#define CANCEL_TRADE 2
#define WANTS_TO_TRADE 1
#define WANTS_TO_CANCEL 2
#define READY_FINISH_TRADE 1
#define FINISH_TRADE 2
// Return values for CanTradeSelectedMon and CanSpinTradeMon
#define CAN_TRADE_MON 0
#define CANT_TRADE_LAST_MON 1
#define CANT_TRADE_NATIONAL 2
#define CANT_TRADE_EGG_YET 3
#define CANT_TRADE_INVALID_MON 4
#define CANT_TRADE_EGG_YET2 5
// Return values for CheckValidityOfTradeMons
#define PLAYER_MON_INVALID 0
#define BOTH_MONS_VALID 1
#define PARTNER_MON_INVALID 2
// Return values for GetGameProgressForLinkTrade
#define TRADE_BOTH_PLAYERS_READY 0
#define TRADE_PLAYER_NOT_READY 1
#define TRADE_PARTNER_NOT_READY 2
// Indexes for sTradeActionTexts
#define TRADE_TEXT_CANCEL 0
#define TRADE_TEXT_CHOOSE_MON 1
#define TRADE_TEXT_SUMMARY 2
#define TRADE_TEXT_TRADE 3
#define TRADE_TEXT_CANCEL_TRADE 4
#define TRADE_TEXT_JP_QUIT 5
// Checked to confirm DrawTradeMenuParty has reached final state
#define DRAW_PARTY_FINISH 5
// Message indexes for sTradeMessages
#define TRADE_MSG_STANDBY 0
#define TRADE_MSG_CANCELED 1
#define TRADE_MSG_ONLY_MON1 2
#define TRADE_MSG_ONLY_MON2 3
#define TRADE_MSG_WAITING_FOR_FRIEND 4
#define TRADE_MSG_FRIEND_WANTS_TO_TRADE 5
#define TRADE_MSG_MON_CANT_BE_TRADED 6
#define TRADE_MSG_EGG_CANT_BE_TRADED 7
#define TRADE_MSG_FRIENDS_MON_CANT_BE_TRADED 8
// IDs for QueueAction
#define QUEUE_SEND_DATA 0
#define QUEUE_STANDBY 1
#define QUEUE_ONLY_MON1 2
#define QUEUE_ONLY_MON2 3
#define QUEUE_UNUSED1 4
#define QUEUE_UNUSED2 5
#define QUEUE_MON_CANT_BE_TRADED 6
#define QUEUE_EGG_CANT_BE_TRADED 7
#define QUEUE_FRIENDS_MON_CANT_BE_TRADED 8
#define QUEUE_DELAY_MSG 3
#define QUEUE_DELAY_DATA 5
// IDs for CallTradeMenuFunc
#define TRADEMENUFUNC_MAIN_MENU 0
#define TRADEMENUFUNC_SELECTED_MON 1
#define TRADEMENUFUNC_SHOW_MON_SUMMARY 2
#define TRADEMENUFUNC_CONFIRM_OR_CANCEL_TRADE 3
#define TRADEMENUFUNC_CANCEL_TRADE_PROMPT 4
#define TRADEMENUFUNC_UNUSED_5 5
#define TRADEMENUFUNC_BOTH_MONS_SELECTED 6
#define TRADEMENUFUNC_CONFIRM_TRADE_PROMPT 7
#define TRADEMENUFUNC_REDRAW_MAIN_MENU 8
#define TRADEMENUFUNC_LINK_TRADE_FADE_OUT 9
#define TRADEMENUFUNC_LINK_TRADE_WAIT_FADE 10
#define TRADEMENUFUNC_CANCEL_TRADE_1 11
#define TRADEMENUFUNC_CANCEL_TRADE_2 12
#define TRADEMENUFUNC_START_LINK_TRADE 13
#define TRADEMENUFUNC_DELAY_TRADE_CONFIRM 14
#define TRADEMENUFUNC_UNUSED_15 15
#define TRADEMENUFUNC_LINK_TRADE_WAIT_QUEUE 16
#define TRADEMENUFUNC_PARTNER_MON_INVALID 17
#define TRADEMENUFUNC_STANDBY 100
// Message indexes for sUnionRoomTradeMessages
#define UR_TRADE_MSG_NONE 0
#define UR_TRADE_MSG_NOT_MON_PARTNER_WANTS 1
#define UR_TRADE_MSG_NOT_EGG 2
#define UR_TRADE_MSG_MON_CANT_BE_TRADED_1 3
#define UR_TRADE_MSG_MON_CANT_BE_TRADED_2 4
#define UR_TRADE_MSG_PARTNERS_MON_CANT_BE_TRADED 5
#define UR_TRADE_MSG_EGG_CANT_BE_TRADED 6
#define UR_TRADE_MSG_PARTNER_CANT_ACCEPT_MON 7
#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_1 8
#define UR_TRADE_MSG_CANT_TRADE_WITH_PARTNER_2 9
// Return values for CanRegisterMonForTradingBoard
#define CAN_REGISTER_MON 0
#define CANT_REGISTER_MON 1
#define CANT_REGISTER_EGG 2
#endif //GUARD_CONSTANTS_TRADE_H
+3 -1
View File
@@ -16,8 +16,10 @@ u8 oei_task_add(void);
// flash // flash
u8 sub_80C9DCC(u8 lightLevel, u8 mapType); u8 sub_80C9DCC(u8 lightLevel, u8 mapType);
u8 sub_80C9D7C(u8 mapType1, u8 mapType2); u8 sub_80C9D7C(u8 mapType1, u8 mapType2);
bool8 SetUpFieldMove_Flash(void);
// cut // cut
bool8 SetUpFieldMove_Cut(void);
// dig // dig
bool8 SetUpFieldMove_Dig(void); bool8 SetUpFieldMove_Dig(void);
@@ -43,7 +45,7 @@ bool8 SetUpFieldMove_Teleport(void);
bool8 FldEff_UseTeleport(void); bool8 FldEff_UseTeleport(void);
// softboiled // softboiled
bool8 hm_prepare_dive_probably(void); bool8 SetUpFieldMove_SoftBoiled(void);
void ChooseMonForSoftboiled(u8 taskId); void ChooseMonForSoftboiled(u8 taskId);
void sub_80E5724(u8 taskId); void sub_80E5724(u8 taskId);
+7
View File
@@ -3740,6 +3740,13 @@ extern const u8 gWeatherFog1Tiles[];
extern const u32 gBattleAnimFogTilemap[]; extern const u32 gBattleAnimFogTilemap[];
extern const u16 gUnknown_83C2CE0[]; extern const u16 gUnknown_83C2CE0[];
// party_menu
extern const u32 gPartyMenuPokeball_Gfx[];
extern const u32 gPartyMenuPokeball_Pal[];
extern const u32 gPartyMenuPokeballSmall_Gfx[];
extern const u32 gStatusGfx_Icons[];
extern const u32 gStatusPal_Icons[];
// credits // credits
extern const u32 gCreditsPokeballBgGfxTiles[]; extern const u32 gCreditsPokeballBgGfxTiles[];
extern const u32 gCreditsPokeballBgGfxMap[]; extern const u32 gCreditsPokeballBgGfxMap[];
+15 -36
View File
@@ -3,49 +3,28 @@
#include "main.h" #include "main.h"
#include "task.h" #include "task.h"
#include "constants/party_menu.h"
enum { struct PartyMenu
AILMENT_NONE,
AILMENT_PSN,
AILMENT_PRZ,
AILMENT_SLP,
AILMENT_FRZ,
AILMENT_BRN,
AILMENT_PKRS,
AILMENT_FNT
};
enum
{
PARTY_CHOOSE_MON,
PARTY_MUST_CHOOSE_MON,
PARTY_CANT_SWITCH,
PARTY_USE_ITEM_ON,
PARTY_ABILITY_PREVENTS,
PARTY_GIVE_ITEM,
};
struct Struct203B0A0
{ {
MainCallback exitCallback; MainCallback exitCallback;
TaskFunc unk4; TaskFunc task;
u8 unk8_0:4; u8 menuType:4;
u8 mode:2; u8 layout:2;
u8 unk8_2:2; s8 slotId;
s8 unk9; s8 slotId2;
s8 unkA; u8 action;
u8 unkB; u16 bagItem;
u16 unkC; s16 data1; // used variously as a moveId, counter, moveSlotId, or cursorPos
s16 unkE; s16 learnMoveState; // data2, used only as a learn move state
s16 unk10;
}; };
extern struct Struct203B0A0 gPartyMenu; extern struct PartyMenu gPartyMenu;
extern u8 gPartyMenuUseExitCallback; extern u8 gPartyMenuUseExitCallback;
extern u8 gUnknown_203B0C1; extern u8 gSelectedMonPartyId;
extern u8 gBattlePartyCurrentOrder[3]; extern u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2];
extern void (*gItemUseCB)(u8 taskId, TaskFunc func); extern void (*gItemUseCB)(u8 taskId, TaskFunc func);
extern u8 gSelectedOrderFromParty[3]; extern u8 gSelectedOrderFromParty[4];
bool8 FieldCallback_PrepareFadeInFromMenu(void); bool8 FieldCallback_PrepareFadeInFromMenu(void);
bool8 MonKnowsMove(struct Pokemon *, u16); bool8 MonKnowsMove(struct Pokemon *, u16);
+75 -4
View File
@@ -265,6 +265,77 @@ extern const u8 gUnknown_81C6787[];
extern const u8 gUnknown_81C684B[]; extern const u8 gUnknown_81C684B[];
extern const u8 gUnknown_81C686C[]; extern const u8 gUnknown_81C686C[];
// party_menu
extern const u8 gText_ChoosePokemon[];
extern const u8 gText_ChoosePokemonCancel[];
extern const u8 gText_ChoosePokemonConfirm[];
extern const u8 gText_MoveToWhere[];
extern const u8 gText_TeachWhichPokemon[];
extern const u8 gText_UseOnWhichPokemon[];
extern const u8 gText_GiveToWhichPokemon[];
extern const u8 gText_NothingToCut[];
extern const u8 gText_CantSurfHere[];
extern const u8 gText_AlreadySurfing[];
extern const u8 gText_CurrentIsTooFast[];
extern const u8 gText_EnjoyCycling[];
extern const u8 gText_InUseAlready_PM[];
extern const u8 gText_CantUseHere[];
extern const u8 gText_NoPokemonForBattle[];
extern const u8 gText_ChoosePokemon2[];
extern const u8 gText_NotEnoughHp[];
extern const u8 gText_ThreePkmnAreNeeded[];
extern const u8 gText_TwoPokemonAreNeeded[];
extern const u8 gText_PokemonCantBeSame[];
extern const u8 gText_NoIdenticalHoldItems[];
extern const u8 gString_Dummy[];
extern const u8 gText_DoWhatWithPokemon[];
extern const u8 gText_RestoreWhichMove[];
extern const u8 gText_BoostPp[];
extern const u8 gText_DoWhatWithItem[];
extern const u8 gText_DoWhatWithMail[];
extern const u8 gText_NoUse[];
extern const u8 gText_Able[];
extern const u8 gText_First_PM[];
extern const u8 gText_Second_PM[];
extern const u8 gText_Third_PM[];
extern const u8 gText_NotAble[];
extern const u8 gText_Able3[];
extern const u8 gText_NotAble2[];
extern const u8 gText_Learned[];
extern const u8 gText_Able2[];
extern const u8 gText_CutATreeOrGrass[];
extern const u8 gText_FlyToAKnownTown[];
extern const u8 gText_TravelOnWater[];
extern const u8 gText_MoveHeavyBoulders[];
extern const u8 gText_LightUpDarkness[];
extern const u8 gText_ShatterACrackedRock[];
extern const u8 gText_ClimbAWaterfall[];
extern const u8 gText_EscapeFromHere[];
extern const u8 gText_LureWildPokemon[];
extern const u8 gText_ShareHp[];
extern const u8 gText_ReturnToAHealingSpot[];
extern const u8 gText_Summary5[];
extern const u8 gText_Switch2[];
extern const u8 gText_Item[];
extern const u8 gText_Take[];
extern const u8 gText_Mail[];
extern const u8 gText_Take2[];
extern const u8 gText_Read2[];
extern const u8 gText_Shift[];
extern const u8 gText_SendOut[];
extern const u8 gText_Enter[];
extern const u8 gText_NoEntry[];
extern const u8 gText_Store[];
extern const u8 gText_Register[];
extern const u8 gText_Trade4[];
extern const u8 gText_NotPkmnOtherTrainerWants[];
extern const u8 gText_ThatIsntAnEgg[];
extern const u8 gText_PkmnCantBeTradedNow[];
extern const u8 gText_OtherTrainersPkmnCantBeTraded[];
extern const u8 gText_EggCantBeTradedNow[];
extern const u8 gText_OtherTrainerCantAcceptPkmn[];
extern const u8 gText_CantTradeWithTrainer[];
// credits // credits
extern const u8 gString_Dummy[]; extern const u8 gString_Dummy[];
extern const u8 gString_PokemonFireRed_Staff[]; // FR extern const u8 gString_PokemonFireRed_Staff[]; // FR
@@ -390,7 +461,7 @@ extern const u8 gText_Pokedex[];
extern const u8 gTextJPDummy_Hiki[]; extern const u8 gTextJPDummy_Hiki[];
extern const u8 gText_Badges[]; extern const u8 gText_Badges[];
extern const u8 gTextJPDummy_Ko[]; extern const u8 gTextJPDummy_Ko[];
extern const u8 gUnknown_841B6F4[]; extern const u8 gText_Register[];
// mystery_gift_menu // mystery_gift_menu
extern const u8 gText_PickOKExit[]; extern const u8 gText_PickOKExit[];
@@ -703,9 +774,9 @@ extern const u8 gUnknown_841E16B[];
extern const u8 gUnknown_8417094[]; extern const u8 gUnknown_8417094[];
extern const u8 gUnknown_841E199[]; extern const u8 gUnknown_841E199[];
extern const u8 gUnknown_841E1C5[]; extern const u8 gUnknown_841E1C5[];
extern const u8 gUnknown_84170BC[]; extern const u8 gText_PkmnCantBeTradedNow[];
extern const u8 gUnknown_84170E0[]; extern const u8 gText_EggCantBeTradedNow[];
extern const u8 gUnknown_84170FC[]; extern const u8 gText_OtherTrainersPkmnCantBeTraded[];
extern const u8 gUnknown_841E09F[]; extern const u8 gUnknown_841E09F[];
extern const u8 gEasyChatGroupName_Pokemon[]; extern const u8 gEasyChatGroupName_Pokemon[];
+3
View File
@@ -1,6 +1,9 @@
#ifndef GUARD_TRADE_H #ifndef GUARD_TRADE_H
#define GUARD_TRADE_H #define GUARD_TRADE_H
#include "global.h"
#include "constants/trade.h"
extern struct MailStruct gLinkPartnerMail[6]; extern struct MailStruct gLinkPartnerMail[6];
extern u8 gSelectedTradeMonPositions[2]; extern u8 gSelectedTradeMonPositions[2];
+3
View File
@@ -1,6 +1,9 @@
#ifndef GUARD_UNION_ROOM_H #ifndef GUARD_UNION_ROOM_H
#define GUARD_UNION_ROOM_H #define GUARD_UNION_ROOM_H
#include "global.h"
#include "librfu.h"
struct UnkStruct_Shared struct UnkStruct_Shared
{ {
struct UnkLinkRfuStruct_02022B14 field_0; struct UnkLinkRfuStruct_02022B14 field_0;
+2 -1
View File
@@ -239,6 +239,7 @@ SECTIONS {
src/quest_log.o(.text); src/quest_log.o(.text);
asm/link_rfu_3.o(.text); asm/link_rfu_3.o(.text);
asm/pokemon_special_anim.o(.text); asm/pokemon_special_anim.o(.text);
src/party_menu.o(.text);
asm/party_menu.o(.text); asm/party_menu.o(.text);
asm/union_room_chat.o(.text); asm/union_room_chat.o(.text);
src/help_system_812B1E0.o(.text); src/help_system_812B1E0.o(.text);
@@ -516,7 +517,7 @@ SECTIONS {
src/quest_log.o(.rodata); src/quest_log.o(.rodata);
data/link_rfu_3.o(.rodata); data/link_rfu_3.o(.rodata);
data/pokemon_special_anim.o(.rodata); data/pokemon_special_anim.o(.rodata);
data/party_menu.o(.rodata); src/party_menu.o(.rodata);
data/union_room_chat.o(.rodata); data/union_room_chat.o(.rodata);
src/help_system_812B1E0.o(.rodata); src/help_system_812B1E0.o(.rodata);
src/fame_checker.o(.rodata); src/fame_checker.o(.rodata);
+1 -1
View File
@@ -364,7 +364,7 @@ static void WaitForMonSelection(void)
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{ {
if (gPartyMenuUseExitCallback == 1) if (gPartyMenuUseExitCallback == 1)
BtlController_EmitChosenMonReturnValue(1, gUnknown_203B0C1, gBattlePartyCurrentOrder); BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder);
else else
BtlController_EmitChosenMonReturnValue(1, 6, NULL); BtlController_EmitChosenMonReturnValue(1, 6, NULL);
OakOldManBufferExecCompleted(); OakOldManBufferExecCompleted();
+1 -1
View File
@@ -1314,7 +1314,7 @@ static void WaitForMonSelection(void)
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{ {
if (gPartyMenuUseExitCallback == 1) if (gPartyMenuUseExitCallback == 1)
BtlController_EmitChosenMonReturnValue(1, gUnknown_203B0C1, gBattlePartyCurrentOrder); BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder);
else else
BtlController_EmitChosenMonReturnValue(1, 6, NULL); BtlController_EmitChosenMonReturnValue(1, 6, NULL);
if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1) if ((gBattleBufferA[gActiveBattler][1] & 0xF) == 1)
+1 -1
View File
@@ -715,7 +715,7 @@ static void WaitForMonSelection(void)
if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active) if (gMain.callback2 == BattleMainCB2 && !gPaletteFade.active)
{ {
if (gPartyMenuUseExitCallback == 1) if (gPartyMenuUseExitCallback == 1)
BtlController_EmitChosenMonReturnValue(1, gUnknown_203B0C1, gBattlePartyCurrentOrder); BtlController_EmitChosenMonReturnValue(1, gSelectedMonPartyId, gBattlePartyCurrentOrder);
else else
BtlController_EmitChosenMonReturnValue(1, 6, NULL); BtlController_EmitChosenMonReturnValue(1, 6, NULL);
PokedudeBufferExecCompleted(); PokedudeBufferExecCompleted();
+5 -5
View File
@@ -3137,7 +3137,7 @@ static void HandleTurnActionSelectionState(void)
*(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) || gStatuses3[gActiveBattler] & STATUS3_ROOTED) if (gBattleMons[gActiveBattler].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION) || gStatuses3[gActiveBattler] & STATUS3_ROOTED)
{ {
BtlController_EmitChoosePokemon(0, PARTY_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); BtlController_EmitChoosePokemon(0, PARTY_ACTION_CANT_SWITCH, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
} }
else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG)) else if ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_SHADOW_TAG))
|| ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP)) || ((i = ABILITY_ON_OPPOSING_FIELD(gActiveBattler, ABILITY_ARENA_TRAP))
@@ -3146,16 +3146,16 @@ static void HandleTurnActionSelectionState(void)
|| ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0)) || ((i = AbilityBattleEffects(ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER, gActiveBattler, ABILITY_MAGNET_PULL, 0, 0))
&& IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL))) && IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)))
{ {
BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]); BtlController_EmitChoosePokemon(0, ((i - 1) << 4) | PARTY_ACTION_ABILITY_PREVENTS, 6, gLastUsedAbility, gBattleStruct->field_60[gActiveBattler]);
} }
else else
{ {
if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH) if (gActiveBattler == 2 && gChosenActionByBattler[0] == B_ACTION_SWITCH)
BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 0), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH) else if (gActiveBattler == 3 && gChosenActionByBattler[1] == B_ACTION_SWITCH)
BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, *(gBattleStruct->monToSwitchIntoId + 1), ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
else else
BtlController_EmitChoosePokemon(0, PARTY_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]); BtlController_EmitChoosePokemon(0, PARTY_ACTION_CHOOSE_MON, 6, ABILITY_NONE, gBattleStruct->field_60[gActiveBattler]);
} }
MarkBattlerForControllerExec(gActiveBattler); MarkBattlerForControllerExec(gActiveBattler);
break; break;
+3 -3
View File
@@ -4504,7 +4504,7 @@ static void atk4F_jumpifcantswitch(void)
static void sub_8024398(u8 arg0) static void sub_8024398(u8 arg0)
{ {
*(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler]; *(gBattleStruct->field_58 + gActiveBattler) = gBattlerPartyIndexes[gActiveBattler];
BtlController_EmitChoosePokemon(0, PARTY_MUST_CHOOSE_MON, arg0, 0, gBattleStruct->field_60[gActiveBattler]); BtlController_EmitChoosePokemon(0, PARTY_ACTION_SEND_OUT, arg0, 0, gBattleStruct->field_60[gActiveBattler]);
MarkBattlerForControllerExec(gActiveBattler); MarkBattlerForControllerExec(gActiveBattler);
} }
@@ -4739,9 +4739,9 @@ static void atk50_openpartyscreen(void)
else else
{ {
if (gBattlescriptCurrInstr[1] & OPEN_PARTY_ALLOW_CANCEL) if (gBattlescriptCurrInstr[1] & OPEN_PARTY_ALLOW_CANCEL)
hitmarkerFaintBits = PARTY_CHOOSE_MON; // Used here as the caseId for the EmitChoose function. hitmarkerFaintBits = PARTY_ACTION_CHOOSE_MON; // Used here as the caseId for the EmitChoose function.
else else
hitmarkerFaintBits = PARTY_MUST_CHOOSE_MON; hitmarkerFaintBits = PARTY_ACTION_SEND_OUT;
battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(OPEN_PARTY_ALLOW_CANCEL)); battlerId = GetBattlerForBattleScript(gBattlescriptCurrInstr[1] & ~(OPEN_PARTY_ALLOW_CANCEL));
if (gSpecialStatuses[battlerId].flag40) if (gSpecialStatuses[battlerId].flag40)
{ {
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+12 -12
View File
@@ -15,7 +15,7 @@ static void sub_80E5934(u8 taskId);
extern const u8 gUnknown_84169F8[]; extern const u8 gUnknown_84169F8[];
extern const u8 gText_PkmnHPRestoredByVar2[]; extern const u8 gText_PkmnHPRestoredByVar2[];
bool8 hm_prepare_dive_probably(void) bool8 SetUpFieldMove_SoftBoiled(void)
{ {
u16 maxHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_MAX_HP); u16 maxHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_MAX_HP);
u16 curHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_HP); u16 curHp = GetMonData(&gPlayerParty[GetCursorSelectionMonId()], MON_DATA_HP);
@@ -28,8 +28,8 @@ bool8 hm_prepare_dive_probably(void)
void ChooseMonForSoftboiled(u8 taskId) void ChooseMonForSoftboiled(u8 taskId)
{ {
gPartyMenu.unkB = 10; gPartyMenu.action = 10;
gPartyMenu.unkA = gPartyMenu.unk9; gPartyMenu.slotId2 = gPartyMenu.slotId;
AnimatePartySlot(GetCursorSelectionMonId(), 1); AnimatePartySlot(GetCursorSelectionMonId(), 1);
DisplayPartyMenuStdMessage(5); DisplayPartyMenuStdMessage(5);
gTasks[taskId].func = Task_HandleChooseMonInput; gTasks[taskId].func = Task_HandleChooseMonInput;
@@ -37,14 +37,14 @@ void ChooseMonForSoftboiled(u8 taskId)
void sub_80E5724(u8 taskId) void sub_80E5724(u8 taskId)
{ {
u8 r8 = gPartyMenu.unk9; u8 r8 = gPartyMenu.slotId;
u8 r5 = gPartyMenu.unkA; u8 r5 = gPartyMenu.slotId2;
u16 curHp; u16 curHp;
s16 delta; s16 delta;
if (r5 > 6) if (r5 > 6)
{ {
gPartyMenu.unkB = 0; gPartyMenu.action = 0;
DisplayPartyMenuStdMessage(0); DisplayPartyMenuStdMessage(0);
gTasks[taskId].func = Task_HandleChooseMonInput; gTasks[taskId].func = Task_HandleChooseMonInput;
} }
@@ -66,12 +66,12 @@ void sub_80E5724(u8 taskId)
static void sub_80E57E8(u8 taskId) static void sub_80E57E8(u8 taskId)
{ {
PlaySE(SE_KAIFUKU); PlaySE(SE_KAIFUKU);
PartyMenuModifyHP(taskId, gPartyMenu.unkA, 1, GetMonData(&gPlayerParty[gPartyMenu.unk9], MON_DATA_MAX_HP) / 5, sub_80E583C); PartyMenuModifyHP(taskId, gPartyMenu.slotId2, 1, GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MAX_HP) / 5, sub_80E583C);
} }
static void sub_80E583C(u8 taskId) static void sub_80E583C(u8 taskId)
{ {
GetMonNickname(&gPlayerParty[gPartyMenu.unkA], gStringVar1); GetMonNickname(&gPlayerParty[gPartyMenu.slotId2], gStringVar1);
StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2); StringExpandPlaceholders(gStringVar4, gText_PkmnHPRestoredByVar2);
DisplayPartyMenuMessage(gStringVar4, 0); DisplayPartyMenuMessage(gStringVar4, 0);
ScheduleBgCopyTilemapToVram(2); ScheduleBgCopyTilemapToVram(2);
@@ -82,10 +82,10 @@ static void sub_80E58A0(u8 taskId)
{ {
if (IsPartyMenuTextPrinterActive() != TRUE) if (IsPartyMenuTextPrinterActive() != TRUE)
{ {
gPartyMenu.unkB = 0; gPartyMenu.action = 0;
AnimatePartySlot(gPartyMenu.unk9, 0); AnimatePartySlot(gPartyMenu.slotId, 0);
gPartyMenu.unk9 = gPartyMenu.unkA; gPartyMenu.slotId = gPartyMenu.slotId2;
AnimatePartySlot(gPartyMenu.unkA, 1); AnimatePartySlot(gPartyMenu.slotId2, 1);
ClearStdWindowAndFrameToTransparent(6, 0); ClearStdWindowAndFrameToTransparent(6, 0);
ClearWindowTilemap(6); ClearWindowTilemap(6);
DisplayPartyMenuStdMessage(0); DisplayPartyMenuStdMessage(0);
+1 -1
View File
@@ -20,7 +20,7 @@ static void FailSweetScentEncounter(u8 taskId);
static void Unused_StartSweetscentFldeff(void) static void Unused_StartSweetscentFldeff(void)
{ {
gPartyMenu.unk9 = 0; gPartyMenu.slotId = 0;
FieldCallback_SweetScent(); FieldCallback_SweetScent();
} }
+1 -1
View File
@@ -1030,7 +1030,7 @@ static void Task_ItemPcGive(u8 taskId)
static void ItemPc_CB2_SwitchToPartyMenu(void) static void ItemPc_CB2_SwitchToPartyMenu(void)
{ {
InitPartyMenu(0, 0, 6, 0, 6, Task_HandleChooseMonInput, ItemPc_CB2_ReturnFromPartyMenu); InitPartyMenu(0, 0, 6, 0, 6, Task_HandleChooseMonInput, ItemPc_CB2_ReturnFromPartyMenu);
gPartyMenu.unkC = ItemPc_GetItemIdBySlotId(ItemPc_GetCursorPosition()); gPartyMenu.bagItem = ItemPc_GetItemIdBySlotId(ItemPc_GetCursorPosition());
} }
static void ItemPc_CB2_ReturnFromPartyMenu(void) static void ItemPc_CB2_ReturnFromPartyMenu(void)
+172
View File
@@ -0,0 +1,172 @@
#include "global.h"
#include "malloc.h"
#include "battle.h"
#include "battle_anim.h"
#include "battle_controllers.h"
#include "battle_gfx_sfx_util.h"
#include "battle_interface.h"
#include "bg.h"
#include "data.h"
#include "decompress.h"
#include "easy_chat.h"
#include "event_data.h"
#include "evolution_scene.h"
#include "field_control_avatar.h"
#include "field_effect.h"
#include "field_player_avatar.h"
#include "field_screen_effect.h"
#include "field_specials.h"
#include "field_weather.h"
#include "fieldmap.h"
#include "fldeff.h"
#include "gpu_regs.h"
#include "graphics.h"
#include "item.h"
#include "item_menu.h"
#include "item_use.h"
#include "link.h"
#include "link_rfu.h"
#include "mail.h"
#include "main.h"
#include "menu.h"
#include "menu_helpers.h"
#include "new_menu_helpers.h"
#include "metatile_behavior.h"
#include "overworld.h"
#include "palette.h"
#include "party_menu.h"
#include "player_pc.h"
#include "pokemon.h"
#include "pokemon_icon.h"
#include "pokemon_jump.h"
#include "pokemon_storage_system.h"
#include "pokemon_summary_screen.h"
#include "region_map.h"
#include "reshow_battle_screen.h"
#include "scanline_effect.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
#include "start_menu.h"
#include "string_util.h"
#include "strings.h"
#include "task.h"
#include "text.h"
#include "text_window.h"
#include "trade.h"
#include "union_room.h"
#include "window.h"
#include "constants/battle.h"
#include "constants/easy_chat.h"
#include "constants/field_effects.h"
#include "constants/flags.h"
#include "constants/item_effects.h"
#include "constants/items.h"
#include "constants/maps.h"
#include "constants/moves.h"
#include "constants/songs.h"
#include "constants/species.h"
#include "constants/vars.h"
#define PARTY_PAL_SELECTED (1 << 0)
#define PARTY_PAL_FAINTED (1 << 1)
#define PARTY_PAL_TO_SWITCH (1 << 2)
#define PARTY_PAL_MULTI_ALT (1 << 3)
#define PARTY_PAL_SWITCHING (1 << 4)
#define PARTY_PAL_TO_SOFTBOIL (1 << 5)
#define PARTY_PAL_NO_MON (1 << 6)
#define PARTY_PAL_UNUSED (1 << 7)
#define MENU_DIR_DOWN 1
#define MENU_DIR_UP -1
#define MENU_DIR_RIGHT 2
#define MENU_DIR_LEFT -2
enum
{
CAN_LEARN_MOVE,
CANNOT_LEARN_MOVE,
ALREADY_KNOWS_MOVE,
CANNOT_LEARN_MOVE_IS_EGG
};
struct PartyMenuBoxInfoRects
{
void (*blitFunc)(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
u8 dimensions[24];
u8 descTextLeft;
u8 descTextTop;
u8 descTextWidth;
u8 descTextHeight;
};
struct PartyMenuInternal
{
TaskFunc task;
MainCallback exitCallback;
u32 chooseHalf:1;
u32 lastSelectedSlot:3; // Used to return to same slot when going left/right bewtween columns
u32 spriteIdConfirmPokeball:7;
u32 spriteIdCancelPokeball:7;
u32 messageId:14;
u8 windowId[3];
u8 actions[8];
u8 numActions;
u16 palBuffer[BG_PLTT_SIZE / sizeof(u16)];
s16 data[16];
};
struct PartyMenuBox
{
const struct PartyMenuBoxInfoRects *infoRects;
const u8 *spriteCoords;
u8 windowId;
u8 monSpriteId;
u8 itemSpriteId;
u8 pokeballSpriteId;
u8 statusSpriteId;
};
void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
void CursorCB_Summary(u8 taskId);
void CursorCB_Switch(u8 taskId);
void CursorCB_Cancel1(u8 taskId);
void CursorCB_Item(u8 taskId);
void CursorCB_Give(u8 taskId);
void CursorCB_TakeItem(u8 taskId);
void CursorCB_Mail(u8 taskId);
void CursorCB_Read(u8 taskId);
void CursorCB_TakeMail(u8 taskId);
void CursorCB_Cancel2(u8 taskId);
void CursorCB_SendMon(u8 taskId);
void CursorCB_Enter(u8 taskId);
void CursorCB_NoEntry(u8 taskId);
void CursorCB_Store(u8 taskId);
void CursorCB_Register(u8 taskId);
void CursorCB_Trade1(u8 taskId);
void CursorCB_Trade2(u8 taskId);
void CursorCB_FieldMove(u8 taskId);
bool8 SetUpFieldMove_Fly(void);
bool8 SetUpFieldMove_Waterfall(void);
bool8 SetUpFieldMove_Surf(void);
EWRAM_DATA struct PartyMenuInternal *sPartyMenuInternal = NULL;
EWRAM_DATA struct PartyMenu gPartyMenu = {0};
EWRAM_DATA struct PartyMenuBox *sPartyMenuBoxes = NULL;
EWRAM_DATA u8 *sPartyBgGfxTilemap = NULL;
EWRAM_DATA u8 *sPartyBgTilemapBuffer = NULL;
EWRAM_DATA bool8 gPartyMenuUseExitCallback = FALSE;
EWRAM_DATA u8 gSelectedMonPartyId = 0;
EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL;
EWRAM_DATA u16 *sSlot1TilemapBuffer = NULL; // for switching party slots
EWRAM_DATA u16 *sSlot2TilemapBuffer = NULL;
EWRAM_DATA struct Pokemon *gUnknown_203B0D0 = NULL;
EWRAM_DATA u8 gSelectedOrderFromParty[4] = {0};
EWRAM_DATA u16 sPartyMenuItemId = ITEM_NONE;
ALIGNED(4) EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on
void (*gItemUseCB)(u8, TaskFunc);
#include "data/pokemon/tutor_learnsets.h"
#include "data/party_menu.h"
+3 -3
View File
@@ -459,9 +459,9 @@ static const u8 *const sTradeErrorOrStatusMessagePtrs[] = {
gUnknown_8417094, // That's your only POKéMON for battle gUnknown_8417094, // That's your only POKéMON for battle
gUnknown_841E199, // Waiting for your friend to finish gUnknown_841E199, // Waiting for your friend to finish
gUnknown_841E1C5, // Your friend wants to trade POKéMON gUnknown_841E1C5, // Your friend wants to trade POKéMON
gUnknown_84170BC, // That POKéMON can't be traded now gText_PkmnCantBeTradedNow, // That POKéMON can't be traded now
gUnknown_84170E0, // An EGG can't be traded now gText_EggCantBeTradedNow, // An EGG can't be traded now
gUnknown_84170FC // The other TRAINER's POKéMON can't be traded now gText_OtherTrainersPkmnCantBeTraded // The other TRAINER's POKéMON can't be traded now
}; };
static const u8 gUnknown_8261F18[] = { 0, 1, 2 }; static const u8 gUnknown_8261F18[] = { 0, 1, 2 };
+1 -3
View File
@@ -180,9 +180,7 @@ gUnknown_3005E90: @ 3005E90
gUnknown_3005E94: @ 3005E94 gUnknown_3005E94: @ 3005E94
.space 0x4 .space 0x4
gItemUseCB: @ 3005E98 .include "party_menu.o"
.space 0x4
.include "help_system_812B1E0.o" .include "help_system_812B1E0.o"
.align 4 .align 4
.include "fame_checker.o" .include "fame_checker.o"
+3 -47
View File
@@ -596,54 +596,10 @@ gUnknown_203B094: @ 203B094
gUnknown_203B098: @ 203B098 gUnknown_203B098: @ 203B098
.space 0x4 .space 0x4
sPartyMenuInternal: @ 203B09C .align 2
.space 0x4 .include "src/party_menu.o"
gPartyMenu: @ 203B0A0
.space 0x9
gUnknown_203B0A9: @ 203B0A9
.space 0x5
gUnknown_203B0AE: @ 203B0AE
.space 0x6
sPartyMenuBoxes: @ 203B0B4
.space 0x4
sPartyBgGfxTilemap: @ 203B0B8
.space 0x4
sPartyBgTilemapBuffer: @ 203B0BC
.space 0x4
gPartyMenuUseExitCallback: @ 203B0C0
.space 0x1
gUnknown_203B0C1: @ 203B0C1
.space 0x3
gPostMenuFieldCallback: @ 203B0C4
.space 0x4
sSlot1TilemapBuffer: @ 203B0C8
.space 0x4
sSlot2TilemapBuffer: @ 203B0CC
.space 0x4
gUnknown_203B0D0: @ 203B0D0
.space 0x4
gSelectedOrderFromParty: @ 203B0D4
.space 0x4
sPartyMenuItemId: @ 203B0D8
.space 0x4
gBattlePartyCurrentOrder: @ 203B0DC
.space 0x4
.align 2
gUnknown_203B0E0: @ 203B0E0 gUnknown_203B0E0: @ 203B0E0
.space 0x4 .space 0x4