Finish battle_records.s and assoc. data
This commit is contained in:
@@ -1,401 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_80CD9F4
|
|
||||||
sub_80CD9F4: @ 80CD9F4
|
|
||||||
push {r4-r7,lr}
|
|
||||||
sub sp, 0x14
|
|
||||||
movs r0, 0x17
|
|
||||||
bl GetGameStat
|
|
||||||
adds r4, r0, 0
|
|
||||||
movs r0, 0x18
|
|
||||||
bl GetGameStat
|
|
||||||
adds r5, r0, 0
|
|
||||||
movs r0, 0x19
|
|
||||||
bl GetGameStat
|
|
||||||
adds r6, r0, 0
|
|
||||||
ldr r0, _080CDAB0 @ =0x0000270f
|
|
||||||
cmp r4, r0
|
|
||||||
bls _080CDA18
|
|
||||||
adds r4, r0, 0
|
|
||||||
_080CDA18:
|
|
||||||
cmp r5, r0
|
|
||||||
bls _080CDA1E
|
|
||||||
adds r5, r0, 0
|
|
||||||
_080CDA1E:
|
|
||||||
cmp r6, r0
|
|
||||||
bls _080CDA24
|
|
||||||
adds r6, r0, 0
|
|
||||||
_080CDA24:
|
|
||||||
ldr r0, _080CDAB4 @ =gStringVar1
|
|
||||||
adds r1, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x4
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
ldr r0, _080CDAB8 @ =gStringVar2
|
|
||||||
adds r1, r5, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x4
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
ldr r0, _080CDABC @ =gStringVar3
|
|
||||||
adds r1, r6, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x4
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
movs r3, 0
|
|
||||||
ldr r6, _080CDAC0 @ =gUnknown_83F6C84
|
|
||||||
ldr r7, _080CDAC4 @ =gStringVar4
|
|
||||||
ldr r0, _080CDAC8 @ =gUnknown_8418188
|
|
||||||
mov r12, r0
|
|
||||||
movs r5, 0
|
|
||||||
_080CDA54:
|
|
||||||
lsls r0, r3, 2
|
|
||||||
adds r0, r6
|
|
||||||
ldr r2, [r0]
|
|
||||||
movs r1, 0
|
|
||||||
adds r4, r3, 0x1
|
|
||||||
movs r3, 0x3
|
|
||||||
_080CDA60:
|
|
||||||
cmp r1, 0
|
|
||||||
bne _080CDA70
|
|
||||||
ldrb r0, [r2]
|
|
||||||
cmp r0, 0xFF
|
|
||||||
bne _080CDA6C
|
|
||||||
movs r1, 0x1
|
|
||||||
_080CDA6C:
|
|
||||||
cmp r1, 0
|
|
||||||
beq _080CDA72
|
|
||||||
_080CDA70:
|
|
||||||
strb r5, [r2]
|
|
||||||
_080CDA72:
|
|
||||||
adds r2, 0x1
|
|
||||||
subs r3, 0x1
|
|
||||||
cmp r3, 0
|
|
||||||
bge _080CDA60
|
|
||||||
movs r0, 0xFF
|
|
||||||
strb r0, [r2]
|
|
||||||
adds r3, r4, 0
|
|
||||||
cmp r3, 0x2
|
|
||||||
bls _080CDA54
|
|
||||||
adds r0, r7, 0
|
|
||||||
mov r1, r12
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [sp]
|
|
||||||
movs r1, 0x2
|
|
||||||
str r1, [sp, 0x4]
|
|
||||||
ldr r1, _080CDACC @ =gUnknown_83F6C78
|
|
||||||
str r1, [sp, 0x8]
|
|
||||||
str r0, [sp, 0xC]
|
|
||||||
str r7, [sp, 0x10]
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r2, 0xC
|
|
||||||
movs r3, 0x18
|
|
||||||
bl AddTextPrinterParameterized4
|
|
||||||
add sp, 0x14
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080CDAB0: .4byte 0x0000270f
|
|
||||||
_080CDAB4: .4byte gStringVar1
|
|
||||||
_080CDAB8: .4byte gStringVar2
|
|
||||||
_080CDABC: .4byte gStringVar3
|
|
||||||
_080CDAC0: .4byte gUnknown_83F6C84
|
|
||||||
_080CDAC4: .4byte gStringVar4
|
|
||||||
_080CDAC8: .4byte gUnknown_8418188
|
|
||||||
_080CDACC: .4byte gUnknown_83F6C78
|
|
||||||
thumb_func_end sub_80CD9F4
|
|
||||||
|
|
||||||
thumb_func_start sub_80CDAD0
|
|
||||||
sub_80CDAD0: @ 80CDAD0
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r9
|
|
||||||
mov r6, r8
|
|
||||||
push {r6,r7}
|
|
||||||
sub sp, 0x14
|
|
||||||
adds r6, r0, 0
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
mov r8, r1
|
|
||||||
movs r5, 0
|
|
||||||
ldrh r0, [r6, 0xA]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080CDB50
|
|
||||||
ldr r0, [r6, 0xC]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _080CDB50
|
|
||||||
str r5, [sp]
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
ldr r0, _080CDB44 @ =gUnknown_83F6C78
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
str r5, [sp, 0xC]
|
|
||||||
ldr r0, _080CDB48 @ =gUnknown_84181B6
|
|
||||||
str r0, [sp, 0x10]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r2, 0
|
|
||||||
mov r3, r8
|
|
||||||
bl AddTextPrinterParameterized4
|
|
||||||
movs r6, 0
|
|
||||||
_080CDB0E:
|
|
||||||
movs r4, 0x54
|
|
||||||
cmp r5, 0
|
|
||||||
beq _080CDB1C
|
|
||||||
movs r4, 0xB4
|
|
||||||
cmp r5, 0x1
|
|
||||||
bne _080CDB1C
|
|
||||||
movs r4, 0x84
|
|
||||||
_080CDB1C:
|
|
||||||
adds r2, r4, 0
|
|
||||||
str r6, [sp]
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
ldr r0, _080CDB44 @ =gUnknown_83F6C78
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
str r6, [sp, 0xC]
|
|
||||||
ldr r0, _080CDB4C @ =gUnknown_84181BE
|
|
||||||
str r0, [sp, 0x10]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
mov r3, r8
|
|
||||||
bl AddTextPrinterParameterized4
|
|
||||||
adds r0, r5, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
cmp r5, 0x2
|
|
||||||
bls _080CDB0E
|
|
||||||
b _080CDBCE
|
|
||||||
.align 2, 0
|
|
||||||
_080CDB44: .4byte gUnknown_83F6C78
|
|
||||||
_080CDB48: .4byte gUnknown_84181B6
|
|
||||||
_080CDB4C: .4byte gUnknown_84181BE
|
|
||||||
_080CDB50:
|
|
||||||
movs r5, 0
|
|
||||||
ldr r7, _080CDB70 @ =gStringVar1
|
|
||||||
mov r9, r5
|
|
||||||
_080CDB56:
|
|
||||||
cmp r5, 0
|
|
||||||
bne _080CDB74
|
|
||||||
movs r4, 0
|
|
||||||
adds r0, r7, 0
|
|
||||||
movs r1, 0x8
|
|
||||||
bl StringFillWithTerminator
|
|
||||||
adds r0, r7, 0
|
|
||||||
adds r1, r6, 0
|
|
||||||
movs r2, 0x7
|
|
||||||
bl StringCopyN
|
|
||||||
b _080CDBA6
|
|
||||||
.align 2, 0
|
|
||||||
_080CDB70: .4byte gStringVar1
|
|
||||||
_080CDB74:
|
|
||||||
cmp r5, 0x1
|
|
||||||
bne _080CDB7E
|
|
||||||
movs r4, 0x54
|
|
||||||
ldrh r1, [r6, 0xA]
|
|
||||||
b _080CDB86
|
|
||||||
_080CDB7E:
|
|
||||||
cmp r5, 0x2
|
|
||||||
bne _080CDB98
|
|
||||||
movs r4, 0x84
|
|
||||||
ldrh r1, [r6, 0xC]
|
|
||||||
_080CDB86:
|
|
||||||
ldr r0, _080CDB94 @ =gStringVar1
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x4
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
b _080CDBA6
|
|
||||||
.align 2, 0
|
|
||||||
_080CDB94: .4byte gStringVar1
|
|
||||||
_080CDB98:
|
|
||||||
movs r4, 0xB4
|
|
||||||
ldrh r1, [r6, 0xE]
|
|
||||||
ldr r0, _080CDBDC @ =gStringVar1
|
|
||||||
movs r2, 0x1
|
|
||||||
movs r3, 0x4
|
|
||||||
bl ConvertIntToDecimalStringN
|
|
||||||
_080CDBA6:
|
|
||||||
adds r2, r4, 0
|
|
||||||
mov r0, r9
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
ldr r0, _080CDBE0 @ =gUnknown_83F6C78
|
|
||||||
str r0, [sp, 0x8]
|
|
||||||
mov r0, r9
|
|
||||||
str r0, [sp, 0xC]
|
|
||||||
str r7, [sp, 0x10]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
mov r3, r8
|
|
||||||
bl AddTextPrinterParameterized4
|
|
||||||
adds r0, r5, 0x1
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r5, r0, 24
|
|
||||||
cmp r5, 0x3
|
|
||||||
bls _080CDB56
|
|
||||||
_080CDBCE:
|
|
||||||
add sp, 0x14
|
|
||||||
pop {r3,r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080CDBDC: .4byte gStringVar1
|
|
||||||
_080CDBE0: .4byte gUnknown_83F6C78
|
|
||||||
thumb_func_end sub_80CDAD0
|
|
||||||
|
|
||||||
thumb_func_start sub_80CDBE4
|
|
||||||
sub_80CDBE4: @ 80CDBE4
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r9
|
|
||||||
mov r6, r8
|
|
||||||
push {r6,r7}
|
|
||||||
sub sp, 0x14
|
|
||||||
movs r0, 0xD8
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0x90
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl FillWindowPixelRect
|
|
||||||
ldr r5, _080CDC9C @ =gStringVar4
|
|
||||||
ldr r1, _080CDCA0 @ =gUnknown_8418174
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl StringExpandPlaceholders
|
|
||||||
movs r2, 0x1
|
|
||||||
negs r2, r2
|
|
||||||
movs r0, 0x2
|
|
||||||
adds r1, r5, 0
|
|
||||||
bl GetStringWidth
|
|
||||||
movs r2, 0xD0
|
|
||||||
subs r2, r0
|
|
||||||
lsrs r2, 1
|
|
||||||
lsls r2, 24
|
|
||||||
lsrs r2, 24
|
|
||||||
movs r4, 0
|
|
||||||
str r4, [sp]
|
|
||||||
movs r0, 0x2
|
|
||||||
mov r9, r0
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
ldr r6, _080CDCA4 @ =gUnknown_83F6C78
|
|
||||||
str r6, [sp, 0x8]
|
|
||||||
str r4, [sp, 0xC]
|
|
||||||
str r5, [sp, 0x10]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r3, 0x4
|
|
||||||
bl AddTextPrinterParameterized4
|
|
||||||
ldr r5, _080CDCA8 @ =gSaveBlock2Ptr
|
|
||||||
ldr r0, [r5]
|
|
||||||
ldr r1, _080CDCAC @ =0x00000a98
|
|
||||||
mov r8, r1
|
|
||||||
add r0, r8
|
|
||||||
bl sub_80CD9F4
|
|
||||||
str r4, [sp]
|
|
||||||
mov r0, r9
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
str r6, [sp, 0x8]
|
|
||||||
str r4, [sp, 0xC]
|
|
||||||
ldr r0, _080CDCB0 @ =gUnknown_84181A4
|
|
||||||
str r0, [sp, 0x10]
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
movs r2, 0x54
|
|
||||||
movs r3, 0x30
|
|
||||||
bl AddTextPrinterParameterized4
|
|
||||||
adds r7, r5, 0
|
|
||||||
movs r5, 0xF4
|
|
||||||
lsls r5, 22
|
|
||||||
mov r6, r8
|
|
||||||
movs r4, 0x4
|
|
||||||
_080CDC70:
|
|
||||||
ldr r0, [r7]
|
|
||||||
adds r0, r6
|
|
||||||
lsrs r1, r5, 24
|
|
||||||
bl sub_80CDAD0
|
|
||||||
movs r1, 0xE0
|
|
||||||
lsls r1, 20
|
|
||||||
adds r5, r1
|
|
||||||
adds r6, 0x10
|
|
||||||
subs r4, 0x1
|
|
||||||
cmp r4, 0
|
|
||||||
bge _080CDC70
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_80CDCB4
|
|
||||||
add sp, 0x14
|
|
||||||
pop {r3,r4}
|
|
||||||
mov r8, r3
|
|
||||||
mov r9, r4
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080CDC9C: .4byte gStringVar4
|
|
||||||
_080CDCA0: .4byte gUnknown_8418174
|
|
||||||
_080CDCA4: .4byte gUnknown_83F6C78
|
|
||||||
_080CDCA8: .4byte gSaveBlock2Ptr
|
|
||||||
_080CDCAC: .4byte 0x00000a98
|
|
||||||
_080CDCB0: .4byte gUnknown_84181A4
|
|
||||||
thumb_func_end sub_80CDBE4
|
|
||||||
|
|
||||||
thumb_func_start sub_80CDCB4
|
|
||||||
sub_80CDCB4: @ 80CDCB4
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl PutWindowTilemap
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_80CDCB4
|
|
||||||
|
|
||||||
thumb_func_start sub_80CDCD0
|
|
||||||
sub_80CDCD0: @ 80CDCD0
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0x8
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
ldr r1, _080CDD0C @ =gUnknown_83F6388
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0xC0
|
|
||||||
movs r3, 0
|
|
||||||
bl LoadBgTiles
|
|
||||||
ldr r1, _080CDD10 @ =gUnknown_83F6468
|
|
||||||
movs r0, 0x20
|
|
||||||
str r0, [sp]
|
|
||||||
str r0, [sp, 0x4]
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl CopyToBgTilemapBufferRect
|
|
||||||
ldr r0, _080CDD14 @ =gUnknown_83F6448
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x20
|
|
||||||
bl LoadPalette
|
|
||||||
add sp, 0x8
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080CDD0C: .4byte gUnknown_83F6388
|
|
||||||
_080CDD10: .4byte gUnknown_83F6468
|
|
||||||
_080CDD14: .4byte gUnknown_83F6448
|
|
||||||
thumb_func_end sub_80CDCD0
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
BIN
Binary file not shown.
+3
-20
@@ -105,26 +105,9 @@ gUnknown_83F6366:: @ 83F6366
|
|||||||
gUnknown_83F637C:: @ 83F637C
|
gUnknown_83F637C:: @ 83F637C
|
||||||
.incbin "baserom.gba", 0x3F637C, 0xC
|
.incbin "baserom.gba", 0x3F637C, 0xC
|
||||||
|
|
||||||
gUnknown_83F6388:: @ 83F6388
|
.section .rodata.83F6C90
|
||||||
.incbin "baserom.gba", 0x3F6388, 0xC0
|
gUnknown_83F6C90:: @ 83F6C90
|
||||||
|
.incbin "baserom.gba", 0x3F6C90, 0x20
|
||||||
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
|
|
||||||
|
|
||||||
gUnknown_83F6CB0:: @ 83F6CB0
|
gUnknown_83F6CB0:: @ 83F6CB0
|
||||||
.incbin "baserom.gba", 0x3F6CB0, 0x6F8
|
.incbin "baserom.gba", 0x3F6CB0, 0x6F8
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 135 B |
@@ -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.
@@ -185,4 +185,11 @@ extern const u8 gUnknown_841B684[];
|
|||||||
extern const u8 gUnknown_841B68F[];
|
extern const u8 gUnknown_841B68F[];
|
||||||
extern const u8 gUnknown_841B698[];
|
extern const u8 gUnknown_841B698[];
|
||||||
|
|
||||||
|
// battle_records
|
||||||
|
extern const u8 gUnknown_8418174[];
|
||||||
|
extern const u8 gUnknown_8418188[];
|
||||||
|
extern const u8 gUnknown_84181A4[];
|
||||||
|
extern const u8 gUnknown_84181B6[];
|
||||||
|
extern const u8 gUnknown_84181BE[];
|
||||||
|
|
||||||
#endif //GUARD_STRINGS_H
|
#endif //GUARD_STRINGS_H
|
||||||
|
|||||||
+2
-1
@@ -189,7 +189,6 @@ SECTIONS {
|
|||||||
src/hof_pc.o(.text);
|
src/hof_pc.o(.text);
|
||||||
asm/field_specials.o(.text);
|
asm/field_specials.o(.text);
|
||||||
src/battle_records.o(.text);
|
src/battle_records.o(.text);
|
||||||
asm/battle_records.o(.text);
|
|
||||||
asm/evolution_scene.o(.text);
|
asm/evolution_scene.o(.text);
|
||||||
src/coins.o(.text);
|
src/coins.o(.text);
|
||||||
src/fldeff_strength.o(.text);
|
src/fldeff_strength.o(.text);
|
||||||
@@ -417,6 +416,8 @@ SECTIONS {
|
|||||||
data/data_835B488.o(.rodata.83EEC98);
|
data/data_835B488.o(.rodata.83EEC98);
|
||||||
src/battle_ai_script_commands.o(.rodata);
|
src/battle_ai_script_commands.o(.rodata);
|
||||||
data/data_83F5738.o(.rodata);
|
data/data_83F5738.o(.rodata);
|
||||||
|
src/battle_records.o(.rodata);
|
||||||
|
data/data_83F5738.o(.rodata.83F6C90);
|
||||||
src/save.o(.rodata);
|
src/save.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata);
|
data/data_83FECCC.o(.rodata);
|
||||||
src/intro.o(.rodata);
|
src/intro.o(.rodata);
|
||||||
|
|||||||
+166
-2
@@ -16,7 +16,9 @@
|
|||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
#include "string_util.h"
|
#include "string_util.h"
|
||||||
#include "link.h"
|
#include "link.h"
|
||||||
|
#include "menu.h"
|
||||||
#include "overworld.h"
|
#include "overworld.h"
|
||||||
|
#include "strings.h"
|
||||||
#include "trainer_card.h"
|
#include "trainer_card.h"
|
||||||
#include "constants/battle.h"
|
#include "constants/battle.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
@@ -45,10 +47,54 @@ void sub_80CD608(void);
|
|||||||
void sub_80CD628(void);
|
void sub_80CD628(void);
|
||||||
void sub_80CD638(void);
|
void sub_80CD638(void);
|
||||||
void sub_80CDBE4(void);
|
void sub_80CDBE4(void);
|
||||||
|
void sub_80CDCB4(u8 windowId);
|
||||||
void sub_80CDCD0(u8 bgId);
|
void sub_80CDCD0(u8 bgId);
|
||||||
|
|
||||||
extern const struct WindowTemplate gUnknown_83F6C68[];
|
const u16 gUnknown_83F6388[] = INCBIN_U16("graphics/battle_records/bg_tiles.4bpp");
|
||||||
extern const struct BgTemplate gUnknown_83F6C7C[2];
|
const u16 gUnknown_83F6448[] = INCBIN_U16("graphics/battle_records/palette.gbapal");
|
||||||
|
const u16 gUnknown_83F6468[] = INCBIN_U16("graphics/battle_records/tilemap.bin");
|
||||||
|
|
||||||
|
const struct WindowTemplate gUnknown_83F6C68[] = {
|
||||||
|
{
|
||||||
|
.bg = 0,
|
||||||
|
.tilemapLeft = 2,
|
||||||
|
.tilemapTop = 1,
|
||||||
|
.width = 27,
|
||||||
|
.height = 18,
|
||||||
|
.paletteNum = 0xF,
|
||||||
|
.baseBlock = 0x014
|
||||||
|
}, DUMMY_WIN_TEMPLATE
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct TextColor gUnknown_83F6C78 = {
|
||||||
|
0, 2, 3
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct BgTemplate gUnknown_83F6C7C[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,
|
||||||
|
.priority = 3,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
u8 *const gUnknown_83F6C84[3] = {
|
||||||
|
gStringVar1,
|
||||||
|
gStringVar2,
|
||||||
|
gStringVar3
|
||||||
|
};
|
||||||
|
|
||||||
void sub_80CD228(void)
|
void sub_80CD228(void)
|
||||||
{
|
{
|
||||||
@@ -418,3 +464,121 @@ void sub_80CD98C(s32 battlerId)
|
|||||||
sub_80CD854(&gSaveBlock2Ptr->linkBattleRecords, gTrainerCards[battlerId].playerName, gTrainerCards[battlerId].trainerId, gBattleOutcome, gLinkPlayers[battlerId].language);
|
sub_80CD854(&gSaveBlock2Ptr->linkBattleRecords, gTrainerCards[battlerId].playerName, gTrainerCards[battlerId].trainerId, gBattleOutcome, gLinkPlayers[battlerId].language);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_80CD9F4(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(gUnknown_83F6C84); i++)
|
||||||
|
{
|
||||||
|
strvar = gUnknown_83F6C84[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, gUnknown_8418188);
|
||||||
|
AddTextPrinterParameterized4(0, 2, 12, 24, 0, 2, &gUnknown_83F6C78, 0, gStringVar4);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80CDAD0(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, &gUnknown_83F6C78, 0, gUnknown_84181B6);
|
||||||
|
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, &gUnknown_83F6C78, 0, gUnknown_84181BE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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, &gUnknown_83F6C78, 0, gStringVar1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80CDBE4(void)
|
||||||
|
{
|
||||||
|
u32 left;
|
||||||
|
s32 i;
|
||||||
|
|
||||||
|
FillWindowPixelRect(0, PIXEL_FILL(0), 0, 0, 0xD8, 0x90);
|
||||||
|
StringExpandPlaceholders(gStringVar4, gUnknown_8418174);
|
||||||
|
left = 0xD0 - GetStringWidth(2, gStringVar4, -1);
|
||||||
|
AddTextPrinterParameterized4(0, 2, left / 2, 4, 0, 2, &gUnknown_83F6C78, 0, gStringVar4);
|
||||||
|
sub_80CD9F4(&gSaveBlock2Ptr->linkBattleRecords);
|
||||||
|
AddTextPrinterParameterized4(0, 2, 0x54, 0x30, 0, 2, &gUnknown_83F6C78, 0, gUnknown_84181A4);
|
||||||
|
for (i = 0; i < LINK_B_RECORDS_COUNT; i++)
|
||||||
|
sub_80CDAD0(&gSaveBlock2Ptr->linkBattleRecords.entries[i], 0x3D + 14 * i);
|
||||||
|
sub_80CDCB4(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80CDCB4(u8 windowId)
|
||||||
|
{
|
||||||
|
PutWindowTilemap(windowId);
|
||||||
|
CopyWindowToVram(windowId, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80CDCD0(u8 bg)
|
||||||
|
{
|
||||||
|
LoadBgTiles(bg, gUnknown_83F6388, 0xC0, 0);
|
||||||
|
CopyToBgTilemapBufferRect(bg, gUnknown_83F6468, 0, 0, 32, 32);
|
||||||
|
LoadPalette(gUnknown_83F6448, 0, 0x20);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user