Merge branch 'master' into pokemon

This commit is contained in:
jiangzhengwenjz 2019-07-16 23:22:52 +08:00
commit c7d3ad06b0
26 changed files with 750 additions and 1524 deletions

0
.travis/calcrom/webhook.sh Normal file → Executable file
View File

File diff suppressed because it is too large Load Diff

View File

@ -2407,7 +2407,7 @@ _080E6C00:
adds r0, r2
ldrh r1, [r0]
movs r0, 0x20
bl sub_8054F00
bl SetGameStat
b _080E6C80
.align 2, 0
_080E6C10: .4byte 0x0000057a
@ -2599,7 +2599,7 @@ _080E6D9C:
adds r0, r1
ldrh r1, [r0]
movs r0, 0x20
bl sub_8054F00
bl SetGameStat
b _080E6E08
.align 2, 0
_080E6DAC: .4byte 0x0000057a
@ -2717,7 +2717,7 @@ _080E6E76:
adds r5, r0, 0
movs r0, 0x20
adds r1, r5, 0
bl sub_8054F00
bl SetGameStat
ldr r1, _080E6EA4 @ =0x0000270f
cmp r5, r1
bhi _080E6EB8
@ -2731,7 +2731,7 @@ _080E6EA8:
ldrh r5, [r1]
movs r0, 0x20
adds r1, r5, 0
bl sub_8054F00
bl SetGameStat
ldr r1, _080E6EC4 @ =0x0000270f
cmp r5, r1
bls _080E6ECC

View File

@ -943,7 +943,7 @@ _08080E9A:
lsls r1, r5, 8
ldr r0, _08080ED4 @ =gBlockRecvBuffer
adds r1, r0
ldr r0, _08080ED8 @ =gUnknown_2039624
ldr r0, _08080ED8 @ =gTrainerCards
lsls r4, r5, 1
adds r4, r5
lsls r4, 5
@ -958,12 +958,12 @@ _08080E9A:
.align 2, 0
_08080ED0: .4byte gLinkPlayers
_08080ED4: .4byte gBlockRecvBuffer
_08080ED8: .4byte gUnknown_2039624
_08080ED8: .4byte gTrainerCards
_08080EDC:
lsls r1, r5, 8
ldr r0, _08080F3C @ =gBlockRecvBuffer
adds r1, r0
ldr r2, _08080F40 @ =gUnknown_2039624
ldr r2, _08080F40 @ =gTrainerCards
lsls r0, r5, 1
adds r0, r5
lsls r0, 5
@ -1004,7 +1004,7 @@ _08080EF8:
b _08080F66
.align 2, 0
_08080F3C: .4byte gBlockRecvBuffer
_08080F40: .4byte gUnknown_2039624
_08080F40: .4byte gTrainerCards
_08080F44: .4byte gSpecialVar_Result
_08080F48: .4byte gLinkType
_08080F4C: .4byte 0x00004411
@ -1935,7 +1935,7 @@ sub_8081668: @ 8081668
ldrb r0, [r0]
movs r5, 0x1
eors r0, r5
bl sub_80CD98C
bl TryRecordLinkBattleOutcome
ldr r0, _080816C0 @ =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0

View File

@ -2349,7 +2349,7 @@ _080B64A4:
asrs r0, 16
bl __floatsidf
ldr r2, _080B658C @ =0x3fb00000
ldr r3, _080B6590 @ =0x00000000
ldr r3, _080B658C+4 @ =0x00000000
bl __muldf3
adds r5, r1, 0
adds r4, r0, 0
@ -2375,7 +2375,7 @@ _080B64A4:
asrs r0, 16
bl __floatsidf
ldr r2, _080B658C @ =0x3fb00000
ldr r3, _080B6590 @ =0x00000000
ldr r3, _080B658C+4 @ =0x00000000
bl __muldf3
ldr r2, [sp, 0x18]
ldr r3, [sp, 0x1C]
@ -2398,8 +2398,8 @@ _080B64A4:
lsls r0, r2, 16
asrs r0, 16
bl __floatsidf
ldr r2, _080B658C @ =0x3fb00000
ldr r3, _080B6590 @ =0x00000000
ldr r2, _080B658C @ =0x3fb00000
ldr r3, _080B658C+4 @ =0x00000000
bl __muldf3
ldr r2, [sp, 0x18]
ldr r3, [sp, 0x1C]
@ -2416,8 +2416,8 @@ _080B64A4:
lsls r0, r1, 16
asrs r0, 16
bl __floatsidf
ldr r2, _080B658C @ =0x3fb00000
ldr r3, _080B6590 @ =0x00000000
ldr r2, _080B658C @ =0x3fb00000
ldr r3, _080B658C+4 @ =0x00000000
bl __muldf3
ldr r2, [sp, 0x18]
ldr r3, [sp, 0x1C]
@ -2433,8 +2433,7 @@ _080B64A4:
b _080B65C2
.align 2, 0
_080B6588: .4byte gTasks
_080B658C: .4byte 0x3fb00000
_080B6590: .4byte 0x00000000
_080B658C: .double 0.0625
_080B6594:
movs r2, 0
mov r9, r2

View File

@ -3154,14 +3154,14 @@ _081172C0:
cmp r4, r0
bne _0811734A
movs r4, 0
ldr r0, _081172E0 @ =gUnknown_2039624
ldr r0, _081172E0 @ =gTrainerCards
adds r7, r0, 0
adds r7, 0x38
ldr r6, _081172E4 @ =gLinkPlayers
adds r5, r0, 0
b _08117302
.align 2, 0
_081172E0: .4byte gUnknown_2039624
_081172E0: .4byte gTrainerCards
_081172E4: .4byte gLinkPlayers
_081172E8:
lsls r0, r4, 8
@ -10949,7 +10949,7 @@ sub_811B31C: @ 811B31C
lsls r1, r0, 1
adds r1, r0
lsls r1, 5
ldr r0, _0811B4B0 @ =gUnknown_2039624
ldr r0, _0811B4B0 @ =gTrainerCards
adds r1, r0
mov r8, r1
bl DynamicPlaceholderTextUtil_Reset
@ -11108,7 +11108,7 @@ _0811B45E:
bl StringAppend
b _0811B4F0
.align 2, 0
_0811B4B0: .4byte gUnknown_2039624
_0811B4B0: .4byte gTrainerCards
_0811B4B4: .4byte gTrainerClassNames
_0811B4B8: .4byte gUnknown_84594B0
_0811B4BC: .4byte gUnknown_84594C4

View File

@ -334,7 +334,7 @@ _08054EB0:
ldr r1, _08054EC0 @ =0x00ffffff
_08054EB2:
adds r0, r4, 0
bl sub_8054F00
bl SetGameStat
_08054EB8:
pop {r4}
pop {r0}
@ -376,8 +376,8 @@ _08054EFA:
bx r1
thumb_func_end GetGameStat
thumb_func_start sub_8054F00
sub_8054F00: @ 8054F00
thumb_func_start SetGameStat
SetGameStat: @ 8054F00
push {lr}
adds r3, r1, 0
lsls r0, 24
@ -405,7 +405,7 @@ _08054F2A:
.align 2, 0
_08054F30: .4byte gSaveBlock1Ptr
_08054F34: .4byte gSaveBlock2Ptr
thumb_func_end sub_8054F00
thumb_func_end SetGameStat
thumb_func_start sub_8054F38
sub_8054F38: @ 8054F38

View File

@ -10482,7 +10482,7 @@ _08139BA0:
bl __floatsidf
str r0, [sp]
str r1, [sp, 0x4]
ldr r3, _08139BDC @ =0x9999999a
ldr r3, _08139BD8+4 @ =0x9999999a
ldr r2, _08139BD8 @ =0x3fe99999
bl __muldf3
adds r5, r1, 0
@ -10503,11 +10503,10 @@ _08139BA0:
movs r0, 0x2
b _08139C16
.align 2, 0
_08139BD8: .4byte 0x3fe99999
_08139BDC: .4byte 0x9999999a
_08139BD8: .double 0.8
_08139BE0: .4byte gUnknown_203B170
_08139BE4:
ldr r3, _08139C08 @ =0x33333333
ldr r3, _08139C04+4 @ =0x33333333
ldr r2, _08139C04 @ =0x3fe33333
ldr r0, [sp]
ldr r1, [sp, 0x4]
@ -10522,8 +10521,7 @@ _08139BE4:
movs r0, 0x1
b _08139C16
.align 2, 0
_08139C04: .4byte 0x3fe33333
_08139C08: .4byte 0x33333333
_08139C04: .double 0.6
_08139C0C: .4byte gUnknown_203B170
_08139C10:
ldr r0, _08139C38 @ =gUnknown_203B170

View File

@ -44,7 +44,7 @@ _080CA318:
ldrb r0, [r2, 0x11]
orrs r1, r0
movs r0, 0x1
bl sub_8054F00
bl SetGameStat
_080CA33A:
bl sub_804C1AC
movs r0, 0x1

View File

@ -4090,7 +4090,7 @@ _0808B1B8: .4byte 0x00007bce
sub_808B1BC: @ 808B1BC
lsls r0, 24
lsrs r0, 24
ldr r2, _0808B1D0 @ =gUnknown_2039624
ldr r2, _0808B1D0 @ =gTrainerCards
lsls r1, r0, 1
adds r1, r0
lsls r1, 5
@ -4098,7 +4098,7 @@ sub_808B1BC: @ 808B1BC
ldrb r0, [r1, 0x1]
bx lr
.align 2, 0
_0808B1D0: .4byte gUnknown_2039624
_0808B1D0: .4byte gTrainerCards
thumb_func_end sub_808B1BC
thumb_func_start sub_808B1D4
@ -4792,7 +4792,7 @@ sub_808B700: @ 808B700
ldr r0, [r5]
ldr r1, _0808B760 @ =0x0000045c
adds r0, r1
ldr r2, _0808B764 @ =gUnknown_2039624
ldr r2, _0808B764 @ =gTrainerCards
lsls r1, r4, 1
adds r1, r4
lsls r1, 5
@ -4818,7 +4818,7 @@ sub_808B700: @ 808B700
_0808B758: .4byte gUnknown_20397A4
_0808B75C: .4byte 0x00007bd0
_0808B760: .4byte 0x0000045c
_0808B764: .4byte gUnknown_2039624
_0808B764: .4byte gTrainerCards
_0808B768: .4byte gLinkPlayers
_0808B76C: .4byte 0x00007bcf
_0808B770: .4byte sub_80895B8
@ -5070,7 +5070,7 @@ _0808B95C: .4byte sub_80895B8
sub_808B960: @ 808B960
push {r4,lr}
adds r4, r0, 0
ldr r0, _0808B984 @ =gUnknown_2039624
ldr r0, _0808B984 @ =gTrainerCards
ldr r1, _0808B988 @ =gUnknown_83CD960
movs r2, 0x60
bl memcpy
@ -5083,7 +5083,7 @@ sub_808B960: @ 808B960
pop {r0}
bx r0
.align 2, 0
_0808B984: .4byte gUnknown_2039624
_0808B984: .4byte gTrainerCards
_0808B988: .4byte gUnknown_83CD960
_0808B98C: .4byte sub_80895B8
thumb_func_end sub_808B960
@ -5092,7 +5092,7 @@ _0808B98C: .4byte sub_80895B8
sub_808B990: @ 808B990
push {r4,lr}
adds r4, r0, 0
ldr r0, _0808B9B4 @ =gUnknown_2039624
ldr r0, _0808B9B4 @ =gTrainerCards
ldr r1, _0808B9B8 @ =gUnknown_83CD9C0
movs r2, 0x60
bl memcpy
@ -5105,7 +5105,7 @@ sub_808B990: @ 808B990
pop {r0}
bx r0
.align 2, 0
_0808B9B4: .4byte gUnknown_2039624
_0808B9B4: .4byte gTrainerCards
_0808B9B8: .4byte gUnknown_83CD9C0
_0808B9BC: .4byte sub_80895B8
thumb_func_end sub_808B990

Binary file not shown.

View File

@ -105,26 +105,9 @@ gUnknown_83F6366:: @ 83F6366
gUnknown_83F637C:: @ 83F637C
.incbin "baserom.gba", 0x3F637C, 0xC
gUnknown_83F6388:: @ 83F6388
.incbin "baserom.gba", 0x3F6388, 0xC0
gUnknown_83F6448:: @ 83F6448
.incbin "baserom.gba", 0x3F6448, 0x20
gUnknown_83F6468:: @ 83F6468
.incbin "baserom.gba", 0x3F6468, 0x800
gUnknown_83F6C68:: @ 83F6C68
.incbin "baserom.gba", 0x3F6C68, 0x10
gUnknown_83F6C78:: @ 83F6C78
.incbin "baserom.gba", 0x3F6C78, 0x4
gUnknown_83F6C7C:: @ 83F6C7C
.incbin "baserom.gba", 0x3F6C7C, 0x8
gUnknown_83F6C84:: @ 83F6C84
.incbin "baserom.gba", 0x3F6C84, 0x2C
.section .rodata.83F6C90
gUnknown_83F6C90:: @ 83F6C90
.incbin "baserom.gba", 0x3F6C90, 0x20
gUnknown_83F6CB0:: @ 83F6CB0
.incbin "baserom.gba", 0x3F6CB0, 0x6F8

View File

@ -223,7 +223,7 @@ SevenIsland_TrainerTower_Lobby_EventScript_164AD8:: @ 8164AD8
lockall
fadescreen 1
setvar VAR_0x8004, 1
special sub_80CD228
special Special_BattleRecords
waitstate
releaseall
end

View File

@ -205,7 +205,7 @@ gSpecials:: @ 815FD60
def_special ScriptHatchMon
def_special EggHatch
def_special sub_8046EAC
def_special sub_80CD228
def_special Special_BattleRecords
def_special IsEnoughForCostInVar0x8005
def_special SubtractMoneyFromVar0x8005
def_special ExecuteWhiteOut

View File

@ -670,7 +670,7 @@ gUnknown_8416741:: @ 0x8416741
.string "SEE YA!$"
gUnknown_8416749:: @ 8416749
.string "IN BAG:{SIZE 0x00} {STR_VAR_1}$"
.string "IN BAG:{SMALL} {STR_VAR_1}$"
gUnknown_8416757:: @ 8416757
.string "Quit shopping.$"
@ -1293,19 +1293,19 @@ gUnknown_841797F:: @ 0x841797F
.string "INFO$"
gUnknown_8417984:: @ 0x8417984
.string "FRESH WATER{CLEAR_TO 0x57}{SIZE 0x00}¥200$"
.string "FRESH WATER{CLEAR_TO 0x57}{SMALL}¥200$"
gUnknown_841799A:: @ 0x841799A
.string "SODA POP{CLEAR_TO 0x57}{SIZE 0x00}¥300$"
.string "SODA POP{CLEAR_TO 0x57}{SMALL}¥300$"
gUnknown_84179AD:: @ 0x84179AD
.string "LEMONADE{CLEAR_TO 0x57}{SIZE 0x00}¥350$"
.string "LEMONADE{CLEAR_TO 0x57}{SMALL}¥350$"
gUnknown_84179C0:: @ 0x84179C0
.string "{SIZE 0x00} 50 COINS{CLEAR_TO 0x45}¥1,000$"
.string "{SMALL} 50 COINS{CLEAR_TO 0x45}¥1,000$"
gUnknown_84179D6:: @ 0x84179D6
.string "{SIZE 0x00}500 COINS{CLEAR_TO 0x40}¥10,000$"
.string "{SMALL}500 COINS{CLEAR_TO 0x40}¥10,000$"
gUnknown_84179ED:: @ 0x84179ED
.string "Excellent$"
@ -1335,19 +1335,19 @@ gUnknown_8417A3D:: @ 0x8417A3D
.string "Left$"
gUnknown_8417A42:: @ 0x8417A42
.string "TM13{CLEAR_TO 0x48}{SIZE 0x00}4,000 COINS$"
.string "TM13{CLEAR_TO 0x48}{SMALL}4,000 COINS$"
gUnknown_8417A58:: @ 0x8417A58
.string "TM23{CLEAR_TO 0x48}{SIZE 0x00}3,500 COINS$"
.string "TM23{CLEAR_TO 0x48}{SMALL}3,500 COINS$"
gUnknown_8417A6E:: @ 0x8417A6E
.string "TM24{CLEAR_TO 0x48}{SIZE 0x00}4,000 COINS$"
.string "TM24{CLEAR_TO 0x48}{SMALL}4,000 COINS$"
gUnknown_8417A84:: @ 0x8417A84
.string "TM30{CLEAR_TO 0x48}{SIZE 0x00}4,500 COINS$"
.string "TM30{CLEAR_TO 0x48}{SMALL}4,500 COINS$"
gUnknown_8417A9A:: @ 0x8417A9A
.string "TM35{CLEAR_TO 0x48}{SIZE 0x00}4,000 COINS$"
.string "TM35{CLEAR_TO 0x48}{SMALL}4,000 COINS$"
gUnknown_8417AB0:: @ 0x8417AB0
.string "1F$"
@ -1491,40 +1491,40 @@ gUnknown_8417C2D:: @ 8417C2D
.string "COINS$"
gUnknown_8417C33:: @ 0x8417C33
.string "BICYCLE{CLEAR_TO 0x49}{SIZE 0x00}¥1,000,000$"
.string "BICYCLE{CLEAR_TO 0x49}{SMALL}¥1,000,000$"
gUnknown_8417C4B:: @ 0x8417C4B
.string "NO THANKS$"
gUnknown_8417C55:: @ 0x8417C55
.string "ABRA{CLEAR_TO 0x55}{SIZE 0x00} 180 COINS$"
.string "ABRA{CLEAR_TO 0x55}{SMALL} 180 COINS$"
gUnknown_8417C6A:: @ 0x8417C6A
.string "CLEFAIRY{CLEAR_TO 0x55}{SIZE 0x00} 500 COINS$"
.string "CLEFAIRY{CLEAR_TO 0x55}{SMALL} 500 COINS$"
gUnknown_8417C83:: @ 0x8417C83
.string "DRATINI{CLEAR_TO 0x4B}{SIZE 0x00} 2,800 COINS$"
.string "DRATINI{CLEAR_TO 0x4B}{SMALL} 2,800 COINS$"
gUnknown_8417C9D:: @ 0x8417C9D
.string "SCYTHER{CLEAR_TO 0x4B}{SIZE 0x00} 5,500 COINS$"
.string "SCYTHER{CLEAR_TO 0x4B}{SMALL} 5,500 COINS$"
gUnknown_8417CB7:: @ 0x8417CB7
.string "PORYGON{CLEAR_TO 0x4B}{SIZE 0x00} 9,999 COINS$"
.string "PORYGON{CLEAR_TO 0x4B}{SMALL} 9,999 COINS$"
gUnknown_8417CD1:: @ 0x8417CD1
.string "ABRA{CLEAR_TO 0x55}{SIZE 0x00} 120 COINS$"
.string "ABRA{CLEAR_TO 0x55}{SMALL} 120 COINS$"
gUnknown_8417CE6:: @ 0x8417CE6
.string "CLEFAIRY{CLEAR_TO 0x55}{SIZE 0x00} 750 COINS$"
.string "CLEFAIRY{CLEAR_TO 0x55}{SMALL} 750 COINS$"
gUnknown_8417CFF:: @ 0x8417CFF
.string "PINSIR{CLEAR_TO 0x4B}{SIZE 0x00} 2,500 COINS$"
.string "PINSIR{CLEAR_TO 0x4B}{SMALL} 2,500 COINS$"
gUnknown_8417D18:: @ 0x8417D18
.string "DRATINI{CLEAR_TO 0x4B}{SIZE 0x00} 4,600 COINS$"
.string "DRATINI{CLEAR_TO 0x4B}{SMALL} 4,600 COINS$"
gUnknown_8417D32:: @ 0x8417D32
.string "PORYGON{CLEAR_TO 0x4B}{SIZE 0x00} 6,500 COINS$"
.string "PORYGON{CLEAR_TO 0x4B}{SMALL} 6,500 COINS$"
gUnknown_8417D4C:: @ 0x8417D4C
.string "NO THANKS$"
@ -1632,19 +1632,19 @@ gUnknown_8417ECC:: @ 0x8417ECC
.string "BIRTH ISLAND$"
gUnknown_8417ED9:: @ 0x8417ED9
.string "MIRACLE SEED{CLEAR_TO 0x50}{SIZE 0x00}1,000 COINS$"
.string "MIRACLE SEED{CLEAR_TO 0x50}{SMALL}1,000 COINS$"
gUnknown_8417EF7:: @ 0x8417EF7
.string "CHARCOAL{CLEAR_TO 0x50}{SIZE 0x00}1,000 COINS$"
.string "CHARCOAL{CLEAR_TO 0x50}{SMALL}1,000 COINS$"
gUnknown_8417F11:: @ 0x8417F11
.string "MYSTIC WATER{CLEAR_TO 0x50}{SIZE 0x00}1,000 COINS$"
.string "MYSTIC WATER{CLEAR_TO 0x50}{SMALL}1,000 COINS$"
gUnknown_8417F2F:: @ 0x8417F2F
.string "YELLOW FLUTE{CLEAR_TO 0x50}{SIZE 0x00}1,600 COINS$"
.string "YELLOW FLUTE{CLEAR_TO 0x50}{SMALL}1,600 COINS$"
gUnknown_8417F4D:: @ 0x8417F4D
.string "SMOKE BALL{CLEAR_TO 0x5A}{SIZE 0x00}800 COINS$"
.string "SMOKE BALL{CLEAR_TO 0x5A}{SMALL}800 COINS$"
gUnknown_8417F67:: @ 0x8417F67
.string "$"
@ -1782,51 +1782,51 @@ gUnknown_841809C:: @ 0x841809C
.string "UNION ROOM$"
gUnknown_84180A7:: @ 0x84180A7
.string "ENERGYPOWDER{CLEAR_TO 0x74}{SIZE 0x00}50$"
.string "ENERGYPOWDER{CLEAR_TO 0x74}{SMALL}50$"
gUnknown_84180BC:: @ 0x84180BC
.string "ENERGY ROOT{CLEAR_TO 0x74}{SIZE 0x00}80$"
.string "ENERGY ROOT{CLEAR_TO 0x74}{SMALL}80$"
gUnknown_84180D0:: @ 0x84180D0
.string "HEAL POWDER{CLEAR_TO 0x74}{SIZE 0x00}50$"
.string "HEAL POWDER{CLEAR_TO 0x74}{SMALL}50$"
gUnknown_84180E4:: @ 0x84180E4
.string "REVIVAL HERB{CLEAR_TO 0x6F}{SIZE 0x00}300$"
.string "REVIVAL HERB{CLEAR_TO 0x6F}{SMALL}300$"
gUnknown_84180FA:: @ 0x84180FA
.string "PROTEIN{CLEAR_TO 0x65}{SIZE 0x00}1,000$"
.string "PROTEIN{CLEAR_TO 0x65}{SMALL}1,000$"
gUnknown_841810D:: @ 0x841810D
.string "IRON{CLEAR_TO 0x65}{SIZE 0x00}1,000$"
.string "IRON{CLEAR_TO 0x65}{SMALL}1,000$"
gUnknown_841811D:: @ 0x841811D
.string "CARBOS{CLEAR_TO 0x65}{SIZE 0x00}1,000$"
.string "CARBOS{CLEAR_TO 0x65}{SMALL}1,000$"
gUnknown_841812F:: @ 0x841812F
.string "CALCIUM{CLEAR_TO 0x65}{SIZE 0x00}1,000$"
.string "CALCIUM{CLEAR_TO 0x65}{SMALL}1,000$"
gUnknown_8418142:: @ 0x8418142
.string "ZINC{CLEAR_TO 0x65}{SIZE 0x00}1,000$"
.string "ZINC{CLEAR_TO 0x65}{SMALL}1,000$"
gUnknown_8418152:: @ 0x8418152
.string "HP UP{CLEAR_TO 0x65}{SIZE 0x00}1,000$"
.string "HP UP{CLEAR_TO 0x65}{SMALL}1,000$"
gUnknown_8418163:: @ 0x8418163
.string "PP UP{CLEAR_TO 0x65}{SIZE 0x00}3,000$"
.string "PP UP{CLEAR_TO 0x65}{SMALL}3,000$"
gUnknown_8418174:: @ 8418174
gString_BattleRecords_PlayersBattleResults:: @ 8418174
.string "{PLAYER}'s BATTLE RESULTS$"
gUnknown_8418188:: @ 8418188
gString_BattleRecords_TotalRecord:: @ 8418188
.string "TOTAL RECORD W:{STR_VAR_1} L:{STR_VAR_2} D:{STR_VAR_3}$"
gUnknown_84181A4:: @ 84181A4
gString_BattleRecords_ColumnHeaders:: @ 84181A4
.string "WIN{CLEAR_TO 0x30}LOSE{CLEAR_TO 0x60}DRAW$"
gUnknown_84181B6:: @ 84181B6
gString_BattleRecords_7Dashes:: @ 84181B6
.string "-------$"
gUnknown_84181BE:: @ 84181BE
gString_BattleRecords_4Dashes:: @ 84181BE
.string "----$"
gFameCheckerText_FameCheckerWillBeClosed:: @ 84181C3
@ -2870,7 +2870,7 @@ gUnknown_841B2A7:: @ 841B2A7
.string ".$"
gUnknown_841B2A9:: @ 0x841B2A9
.string "{SIZE 0x00}MAX.{SIZE 0x02} HP$"
.string "{SMALL}MAX.{SIZE 0x02} HP$"
gUnknown_841B2B7:: @ 0x841B2B7
.string "ATTACK$"
@ -2888,10 +2888,10 @@ gUnknown_841B2D4:: @ 0x841B2D4
.string "SP. DEF$"
gUnknown_841B2DC:: @ 841B2DC
.string "{SIZE 0x00}{EXTRA_PLUS}{SIZE 0x02}$"
.string "{SMALL}{EXTRA_PLUS}{SIZE 0x02}$"
gUnknown_841B2E5:: @ 841B2E5
.string "{SIZE 0x00}-{SIZE 0x02}$"
.string "{SMALL}-{SIZE 0x02}$"
gUnknown_841B2ED:: @ 841B2ED
.string "1, $"

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

View File

@ -0,0 +1,19 @@
JASC-PAL
0100
16
115 197 164
74 74 74
189 131 156
230 156 213
222 238 255
230 246 255
148 115 139
197 213 222
172 164 189
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

Binary file not shown.

View File

@ -78,7 +78,8 @@ void c2_load_new_map(void);
void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused);
void mapldr_default(void);
u32 GetGameStat(u8);
u32 GetGameStat(u8 statId);
u32 SetGameStat(u8 statId, u32 value);
void CB2_ContinueSavedGame(void);
void sub_8055D5C(struct WarpData *);

View File

@ -196,4 +196,11 @@ extern const u8 gUnknown_841B684[];
extern const u8 gUnknown_841B68F[];
extern const u8 gUnknown_841B698[];
// battle_records
extern const u8 gString_BattleRecords_PlayersBattleResults[];
extern const u8 gString_BattleRecords_TotalRecord[];
extern const u8 gString_BattleRecords_ColumnHeaders[];
extern const u8 gString_BattleRecords_7Dashes[];
extern const u8 gString_BattleRecords_4Dashes[];
#endif //GUARD_STRINGS_H

43
include/trainer_card.h Normal file
View File

@ -0,0 +1,43 @@
#ifndef GUARD_TRAINER_CARD_H
#define GUARD_TRAINER_CARD_H
struct TrainerCard
{
/*0x00*/ u8 gender;
/*0x01*/ u8 stars;
/*0x02*/ bool8 hasPokedex;
/*0x03*/ bool8 caughtAllHoenn;
/*0x04*/ bool8 hasAllPaintings;
/*0x06*/ u16 hofDebutHours;
/*0x08*/ u16 hofDebutMinutes;
/*0x0A*/ u16 hofDebutSeconds;
/*0x0C*/ u16 caughtMonsCount;
/*0x0E*/ u16 trainerId;
/*0x10*/ u16 playTimeHours;
/*0x12*/ u16 playTimeMinutes;
/*0x14*/ u16 linkBattleWins;
/*0x16*/ u16 linkBattleLosses;
/*0x18*/ u16 battleTowerWins;
/*0x1A*/ u16 battleTowerStraightWins;
/*0x1C*/ u16 contestsWithFriends;
/*0x1E*/ u16 pokeblocksWithFriends;
/*0x20*/ u16 pokemonTrades;
/*0x24*/ u32 money;
/*0x28*/ u16 var_28[4];
/*0x30*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
/*0x38*/ u8 version;
/*0x3A*/ u16 var_3A;
/*0x3C*/ u32 berryCrushPoints;
/*0x40*/ u32 unionRoomNum;
/*0x44*/ u8 filler44[0x8];
/*0x4C*/ u8 var_4C;
/*0x4D*/ u8 var_4D;
/*0x4E*/ u8 var_4E;
/*0x4F*/ u8 var_4F;
/*0x50*/ u8 var_50[0x4];
/*0x54*/ u16 monSpecies[PARTY_SIZE];
};
extern struct TrainerCard gTrainerCards[4];
#endif //GUARD_TRAINER_CARD_H

6
include/trainer_tower.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef GUARD_TRAINER_TOWER_H
#define GUARD_TRAINER_TOWER_H
void PrintTrainerTowerRecords(void);
#endif //GUARD_TRAINER_TOWER_H

View File

@ -187,7 +187,7 @@ SECTIONS {
src/prof_pc.o(.text);
src/hof_pc.o(.text);
asm/field_specials.o(.text);
asm/battle_records.o(.text);
src/battle_records.o(.text);
asm/evolution_scene.o(.text);
src/coins.o(.text);
src/fldeff_strength.o(.text);
@ -416,6 +416,8 @@ SECTIONS {
data/data_835B488.o(.rodata.83EEC98);
src/battle_ai_script_commands.o(.rodata);
data/data_83F5738.o(.rodata);
src/battle_records.o(.rodata);
data/data_83F5738.o(.rodata.83F6C90);
src/save.o(.rodata);
data/data_83FECCC.o(.rodata);
src/intro.o(.rodata);

576
src/battle_records.c Normal file
View File

@ -0,0 +1,576 @@
#include "global.h"
#include "malloc.h"
#include "main.h"
#include "bg.h"
#include "gpu_regs.h"
#include "event_data.h"
#include "palette.h"
#include "task.h"
#include "text.h"
#include "window.h"
#include "text_window.h"
#include "battle.h"
#include "trainer_tower.h"
#include "trainer_pokemon_sprites.h"
#include "scanline_effect.h"
#include "sound.h"
#include "string_util.h"
#include "link.h"
#include "menu.h"
#include "overworld.h"
#include "strings.h"
#include "trainer_card.h"
#include "constants/battle.h"
#include "constants/songs.h"
#include "constants/maps.h"
static EWRAM_DATA u16 * sBg3TilemapBuffer_p = NULL;
static void MainCB2_SetUp(void);
static void VBlankCB(void);
static void MainCB2(void);
static void Task_WaitFadeIn(u8 taskId);
static void Task_WaitButton(u8 taskId);
static void Task_FadeOut(u8 taskId);
static void Task_DestroyAndReturnToField(u8 taskId);
static void ClearWindowCommitAndRemove(u8 winddowId);
static void ResetGpu(void);
static void StopAllRunningTasks(void);
static void EnableDisplay(void);
static void ResetBGPos(void);
static void PrintBattleRecords(void);
static void CommitWindow(u8 windowId);
static void LoadFrameGfxOnBg(u8 bgId);
static const u16 sTiles[] = INCBIN_U16("graphics/battle_records/bg_tiles.4bpp");
static const u16 sPalette[] = INCBIN_U16("graphics/battle_records/palette.gbapal");
static const u16 sTilemap[] = INCBIN_U16("graphics/battle_records/tilemap.bin");
static const struct WindowTemplate sWindowTemplates[] = {
{
.bg = 0,
.tilemapLeft = 2,
.tilemapTop = 1,
.width = 27,
.height = 18,
.paletteNum = 0xF,
.baseBlock = 0x014
}, DUMMY_WIN_TEMPLATE
};
static const struct TextColor sTextColor = {
0, 2, 3
};
static const struct BgTemplate sBgTemplates[2] = {
{
.bg = 0,
.charBaseIndex = 0,
.mapBaseIndex = 31,
.screenSize = 0,
.paletteMode = 0, // 4bpp
.priority = 0,
.baseTile = 0x000
}, {
.bg = 3,
.charBaseIndex = 1,
.mapBaseIndex = 30,
.screenSize = 0,
.paletteMode = 0, // 4bpp
.priority = 3,
.baseTile = 0x000
}
};
static u8 *const sStringVars[3] = {
gStringVar1,
gStringVar2,
gStringVar3
};
void Special_BattleRecords(void)
{
SetVBlankCallback(NULL);
SetMainCallback2(MainCB2_SetUp);
}
static void MainCB2_SetUp(void)
{
switch (gMain.state)
{
case 0:
SetVBlankCallback(NULL);
ResetGpu();
gMain.state++;
break;
case 1:
StopAllRunningTasks();
gMain.state++;
break;
case 2:
sBg3TilemapBuffer_p = AllocZeroed(0x800);
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sBgTemplates, NELEMS(sBgTemplates));
SetBgTilemapBuffer(3, sBg3TilemapBuffer_p);
ResetBGPos();
gMain.state++;
break;
case 3:
LoadFrameGfxOnBg(3);
LoadPalette(stdpal_get(0), 0xF0, 0x20);
gMain.state++;
break;
case 4:
if (IsDma3ManagerBusyWithBgCopy() != TRUE)
{
ShowBg(0);
ShowBg(3);
CopyBgTilemapBufferToVram(3);
gMain.state++;
}
break;
case 5:
InitWindows(sWindowTemplates);
DeactivateAllTextPrinters();
gMain.state++;
break;
case 6:
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gMain.state++;
break;
case 7:
EnableDisplay();
SetVBlankCallback(VBlankCB);
if (gSpecialVar_0x8004)
PrintTrainerTowerRecords();
else
PrintBattleRecords();
CreateTask(Task_WaitFadeIn, 8);
SetMainCallback2(MainCB2);
gMain.state = 0;
break;
}
}
static void VBlankCB(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
static void MainCB2(void)
{
RunTasks();
AnimateSprites();
BuildOamBuffer();
UpdatePaletteFade();
}
static void Task_WaitFadeIn(u8 taskId)
{
if (!gPaletteFade.active)
gTasks[taskId].func = Task_WaitButton;
}
static void Task_WaitButton(u8 taskId)
{
struct Task * task = &gTasks[taskId];
if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON))
{
PlaySE(SE_SELECT);
task->func = Task_FadeOut;
}
}
static void Task_FadeOut(u8 taskId)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gTasks[taskId].func = Task_DestroyAndReturnToField;
}
static void Task_DestroyAndReturnToField(u8 taskId)
{
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic);
Free(sBg3TilemapBuffer_p);
ClearWindowCommitAndRemove(0);
FreeAllWindowBuffers();
DestroyTask(taskId);
}
}
static void ClearWindowCommitAndRemove(u8 windowId)
{
FillWindowPixelBuffer(windowId, PIXEL_FILL(0));
ClearWindowTilemap(windowId);
CopyWindowToVram(windowId, 2);
RemoveWindow(windowId);
}
static void ResetGpu(void)
{
{
void * dest = (void *)VRAM;
u32 size = VRAM_SIZE;
DmaClearLarge16(3, dest, size, 0x1000);
}
{
void * dest = (void *)OAM;
u32 size = OAM_SIZE;
DmaClear32(3, dest, size);
}
{
void * dest = (void *)PLTT;
u32 size = PLTT_SIZE;
DmaClear16(3, dest, size);
}
SetGpuReg(REG_OFFSET_DISPCNT, 0);
SetGpuReg(REG_OFFSET_BG0CNT, 0);
SetGpuReg(REG_OFFSET_BG0HOFS, 0);
SetGpuReg(REG_OFFSET_BG0VOFS, 0);
SetGpuReg(REG_OFFSET_BG1CNT, 0);
SetGpuReg(REG_OFFSET_BG1HOFS, 0);
SetGpuReg(REG_OFFSET_BG1VOFS, 0);
SetGpuReg(REG_OFFSET_BG2CNT, 0);
SetGpuReg(REG_OFFSET_BG2HOFS, 0);
SetGpuReg(REG_OFFSET_BG2VOFS, 0);
SetGpuReg(REG_OFFSET_BG3CNT, 0);
SetGpuReg(REG_OFFSET_BG3HOFS, 0);
SetGpuReg(REG_OFFSET_BG3VOFS, 0);
SetGpuReg(REG_OFFSET_WIN0H, 0);
SetGpuReg(REG_OFFSET_WIN0V, 0);
SetGpuReg(REG_OFFSET_WININ, 0);
SetGpuReg(REG_OFFSET_WINOUT, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
}
static void StopAllRunningTasks(void)
{
ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetAllPicSprites();
ResetPaletteFade();
FreeAllSpritePalettes();
}
static void EnableDisplay(void)
{
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG3_ON);
}
static void ResetBGPos(void)
{
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
ChangeBgX(1, 0, 0);
ChangeBgY(1, 0, 0);
ChangeBgX(2, 0, 0);
ChangeBgY(2, 0, 0);
ChangeBgX(3, 0, 0);
ChangeBgY(3, 0, 0);
}
static void InitLinkBattleRecord(struct LinkBattleRecord * record)
{
CpuFill16(0, record, sizeof(*record));
record->name[0] = EOS;
record->trainerId = 0;
record->wins = 0;
record->losses = 0;
record->draws = 0;
}
static void InitLinkBattleRecords_(struct LinkBattleRecords * records)
{
s32 i;
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
InitLinkBattleRecord(&records->entries[i]);
SetGameStat(GAME_STAT_LINK_BATTLE_WINS, 0);
SetGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 0);
SetGameStat(GAME_STAT_LINK_BATTLE_DRAWS, 0);
}
static s32 GetLinkBattleRecordTotalBattles(struct LinkBattleRecord * record)
{
return record->wins + record->losses + record->draws;
}
static s32 IndexOfOpponentLinkBattleRecord(struct LinkBattleRecords * records, const u8 * name, u16 trainerId)
{
s32 i;
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
{
if (StringCompareN(records->entries[i].name, name, OT_NAME_LENGTH) == 0 && records->entries[i].trainerId == trainerId)
return i;
}
return LINK_B_RECORDS_COUNT;
}
static void SortLinkBattleRecords(struct LinkBattleRecords * records)
{
struct LinkBattleRecord tmp;
s32 i;
s32 j;
for (i = LINK_B_RECORDS_COUNT - 1; i > 0; i--)
{
for (j = i - 1; j >= 0; j--)
{
if (GetLinkBattleRecordTotalBattles(&records->entries[i]) > GetLinkBattleRecordTotalBattles(&records->entries[j]))
{
tmp = records->entries[i];
records->entries[i] = records->entries[j];
records->entries[j] = tmp;
}
}
}
}
static void UpdateLinkBattleRecord(struct LinkBattleRecord * record, s32 outcome)
{
switch (outcome)
{
case B_OUTCOME_WON:
record->wins++;
if (record->wins > 9999)
record->wins = 9999;
break;
case B_OUTCOME_LOST:
record->losses++;
if (record->losses > 9999)
record->losses = 9999;
break;
case B_OUTCOME_DREW:
record->draws++;
if (record->draws > 9999)
record->draws = 9999;
break;
}
}
static void UpdateLinkBattleGameStats(s32 outcome)
{
u8 statId;
switch (outcome)
{
case B_OUTCOME_WON:
statId = GAME_STAT_LINK_BATTLE_WINS;
break;
case B_OUTCOME_LOST:
statId = GAME_STAT_LINK_BATTLE_LOSSES;
break;
case B_OUTCOME_DREW:
statId = GAME_STAT_LINK_BATTLE_DRAWS;
break;
default:
return;
}
if (GetGameStat(statId) < 9999)
IncrementGameStat(statId);
}
static void AddOpponentLinkBattleRecord(struct LinkBattleRecords * records, const u8 * name, u16 trainerId, s32 outcome, u32 language)
{
u8 namebuf[OT_NAME_LENGTH + 1];
s32 i;
struct LinkBattleRecord * record;
if (language == LANGUAGE_JAPANESE)
{
namebuf[0] = EXT_CTRL_CODE_BEGIN;
namebuf[1] = EXT_CTRL_CODE_JPN;
StringCopy(&namebuf[2], name);
}
else
StringCopy(namebuf, name);
UpdateLinkBattleGameStats(outcome);
SortLinkBattleRecords(records);
i = IndexOfOpponentLinkBattleRecord(records, namebuf, trainerId);
if (i == LINK_B_RECORDS_COUNT)
{
i = LINK_B_RECORDS_COUNT - 1;
record = &records->entries[LINK_B_RECORDS_COUNT - 1];
InitLinkBattleRecord(record);
StringCopyN(record->name, namebuf, OT_NAME_LENGTH);
record->trainerId = trainerId;
}
UpdateLinkBattleRecord(&records->entries[i], outcome);
SortLinkBattleRecords(records);
}
void InitLinkBattleRecords(void)
{
InitLinkBattleRecords_(&gSaveBlock2Ptr->linkBattleRecords);
}
static void IncTrainerCardWinCount(s32 battlerId)
{
u16 *wins = &gTrainerCards[battlerId].linkBattleWins;
(*wins)++;
if (*wins > 9999)
*wins = 9999;
}
static void IncTrainerCardLossCount(s32 battlerId)
{
u16 *losses = &gTrainerCards[battlerId].linkBattleLosses;
(*losses)++;
if (*losses > 9999)
*losses = 9999;
}
static void UpdateBattleOutcomeOnTrainerCards(s32 battlerId)
{
switch (gBattleOutcome)
{
case B_OUTCOME_WON:
IncTrainerCardWinCount(battlerId ^ 1);
IncTrainerCardLossCount(battlerId);
break;
case B_OUTCOME_LOST:
IncTrainerCardLossCount(battlerId ^ 1);
IncTrainerCardWinCount(battlerId);
break;
}
}
void TryRecordLinkBattleOutcome(s32 battlerId)
{
if (gSaveBlock1Ptr->location.mapGroup != MAP_GROUP(UNKNOWN_MAP_00_04) || gSaveBlock1Ptr->location.mapNum != MAP_NUM(UNKNOWN_MAP_00_04))
{
UpdateBattleOutcomeOnTrainerCards(battlerId);
AddOpponentLinkBattleRecord(&gSaveBlock2Ptr->linkBattleRecords, gTrainerCards[battlerId].playerName, gTrainerCards[battlerId].trainerId, gBattleOutcome, gLinkPlayers[battlerId].language);
}
}
static void PrintTotalRecord(struct LinkBattleRecords * records)
{
u32 nwins = GetGameStat(GAME_STAT_LINK_BATTLE_WINS);
u32 nlosses = GetGameStat(GAME_STAT_LINK_BATTLE_LOSSES);
u32 ndraws = GetGameStat(GAME_STAT_LINK_BATTLE_DRAWS);
s32 i;
s32 j;
bool32 foundEnd;
u8 * strvar;
if (nwins > 9999)
nwins = 9999;
if (nlosses > 9999)
nlosses = 9999;
if (ndraws > 9999)
ndraws = 9999;
ConvertIntToDecimalStringN(gStringVar1, nwins, STR_CONV_MODE_LEFT_ALIGN, 4);
ConvertIntToDecimalStringN(gStringVar2, nlosses, STR_CONV_MODE_LEFT_ALIGN, 4);
ConvertIntToDecimalStringN(gStringVar3, ndraws, STR_CONV_MODE_LEFT_ALIGN, 4);
for (i = 0; i < NELEMS(sStringVars); i++)
{
strvar = sStringVars[i];
foundEnd = FALSE;
for (j = 0; j < 4; j++)
{
if (!foundEnd && *strvar == EOS)
foundEnd = TRUE;
if (foundEnd)
*strvar = CHAR_SPACE;
strvar++;
}
*strvar = 0xFF;
}
StringExpandPlaceholders(gStringVar4, gString_BattleRecords_TotalRecord);
AddTextPrinterParameterized4(0, 2, 12, 24, 0, 2, &sTextColor, 0, gStringVar4);
}
static void PrintOpponentBattleRecord(struct LinkBattleRecord * record, u8 y)
{
u8 i = 0;
s32 x;
if (record->wins == 0 && record->losses == 0 && record->draws == 0)
{
AddTextPrinterParameterized4(0, 2, 0, y, 0, 2, &sTextColor, 0, gString_BattleRecords_7Dashes);
for (i = 0; i < 3; i++)
{
if (i == 0)
x = 0x54;
else if (i == 1)
x = 0x84;
else
x = 0xB4;
AddTextPrinterParameterized4(0, 2, x, y, 0, 2, &sTextColor, 0, gString_BattleRecords_4Dashes);
}
}
else
{
for (i = 0; i < 4; i++)
{
if (i == 0)
{
x = 0;
StringFillWithTerminator(gStringVar1, OT_NAME_LENGTH + 1);
StringCopyN(gStringVar1, record->name, OT_NAME_LENGTH);
}
else if (i == 1)
{
x = 0x54;
ConvertIntToDecimalStringN(gStringVar1, record->wins, STR_CONV_MODE_RIGHT_ALIGN, 4);
}
else if (i == 2)
{
x = 0x84;
ConvertIntToDecimalStringN(gStringVar1, record->losses, STR_CONV_MODE_RIGHT_ALIGN, 4);
}
else
{
x = 0xB4;
ConvertIntToDecimalStringN(gStringVar1, record->draws, STR_CONV_MODE_RIGHT_ALIGN, 4);
}
AddTextPrinterParameterized4(0, 2, x, y, 0, 2, &sTextColor, 0, gStringVar1);
}
}
}
static void PrintBattleRecords(void)
{
u32 left;
s32 i;
FillWindowPixelRect(0, PIXEL_FILL(0), 0, 0, 0xD8, 0x90);
StringExpandPlaceholders(gStringVar4, gString_BattleRecords_PlayersBattleResults);
left = 0xD0 - GetStringWidth(2, gStringVar4, -1);
AddTextPrinterParameterized4(0, 2, left / 2, 4, 0, 2, &sTextColor, 0, gStringVar4);
PrintTotalRecord(&gSaveBlock2Ptr->linkBattleRecords);
AddTextPrinterParameterized4(0, 2, 0x54, 0x30, 0, 2, &sTextColor, 0, gString_BattleRecords_ColumnHeaders);
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
PrintOpponentBattleRecord(&gSaveBlock2Ptr->linkBattleRecords.entries[i], 0x3D + 14 * i);
CommitWindow(0);
}
static void CommitWindow(u8 windowId)
{
PutWindowTilemap(windowId);
CopyWindowToVram(windowId, 3);
}
static void LoadFrameGfxOnBg(u8 bg)
{
LoadBgTiles(bg, sTiles, 0xC0, 0);
CopyToBgTilemapBufferRect(bg, sTilemap, 0, 0, 32, 32);
LoadPalette(sPalette, 0, 0x20);
}

View File

@ -566,10 +566,10 @@ void sub_815D8C8(void)
}
}
void sub_815D8F8(void) // fakematching
void sub_815D8F8(void)
{
u8 i;
register u32 found_map asm("r4") = 0xFF;
u8 found_map = 0xFF;
for (i = 0; i < 15; i++)
{
if (gUnknown_8479D34[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && gUnknown_8479D34[i].mapNum == gSaveBlock1Ptr->location.mapNum)
@ -1425,7 +1425,7 @@ void sub_815EC0C(void)
}
}
void sub_815EC8C(void)
void PrintTrainerTowerRecords(void)
{
s32 i;
u8 windowId = 0;

View File

@ -835,17 +835,8 @@ gFieldEffectArguments: @ 20386E0
gUnknown_2039620: @ 2039620
.space 0x4
gUnknown_2039624: @ 2039624
.space 0x14
gUnknown_2039638: @ 2039638
.space 0x2
gUnknown_203963A: @ 203963A
.space 0x1A
gUnknown_2039654: @ 2039654
.space 0x150
gTrainerCards: @ 2039624
.space 0x180
gUnknown_20397A4: @ 20397A4
.space 0x4
@ -1055,8 +1046,7 @@ gUnknown_2039A1A: @ 2039A1A
gUnknown_2039A1B: @ 2039A1B
.space 0x1
gUnknown_2039A1C: @ 2039A1C
.space 0x4
.include "src/battle_records.o"
gUnknown_2039A20: @ 2039A20
.space 0x4