More Battle Factory

This commit is contained in:
DizzyEggg 2018-09-03 22:55:55 +02:00
parent 0238b1c8ec
commit 24b9cd721f
23 changed files with 717 additions and 1866 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2544,7 +2544,7 @@ _08163718:
adds r0, r6, r2 adds r0, r6, r2
adds r2, r3, 0 adds r2, r3, 0
str r3, [sp, 0x1C] str r3, [sp, 0x1C]
bl sub_81A7024 bl SetMonMoveAvoidReturn
ldr r3, [sp, 0x1C] ldr r3, [sp, 0x1C]
adds r0, r3, 0x1 adds r0, r3, 0x1
lsls r0, 24 lsls r0, 24
@ -2662,7 +2662,7 @@ _08163818:
ldr r2, =gEnemyParty ldr r2, =gEnemyParty
adds r0, r6, r2 adds r0, r6, r2
adds r2, r7, 0 adds r2, r7, 0
bl sub_81A7024 bl SetMonMoveAvoidReturn
ldr r1, =gFacilityTrainerMons ldr r1, =gFacilityTrainerMons
ldr r0, [r1] ldr r0, [r1]
adds r0, r5, r0 adds r0, r5, r0

View File

@ -2237,7 +2237,7 @@ _080F6BD0:
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x1 movs r1, 0x1
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x7 movs r1, 0x7
bl GetWindowAttribute bl GetWindowAttribute

View File

@ -4693,7 +4693,7 @@ sub_811D058: @ 811D058
str r4, [sp, 0x4] str r4, [sp, 0x4]
str r2, [sp, 0x8] str r2, [sp, 0x8]
mov r2, r9 mov r2, r9
bl box_print bl AddTextPrinterParameterized3
add sp, 0x10 add sp, 0x10
pop {r3-r5} pop {r3-r5}
mov r8, r3 mov r8, r3

View File

@ -4502,7 +4502,7 @@ _081B24C0:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0 movs r1, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
b _081B2540 b _081B2540
.pool .pool
_081B2514: _081B2514:
@ -4525,7 +4525,7 @@ _081B2514:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0 movs r1, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
_081B2540: _081B2540:
adds r0, r5, 0 adds r0, r5, 0
bl PutWindowTilemap bl PutWindowTilemap
@ -5108,7 +5108,7 @@ sub_81B2A3C: @ 81B2A3C
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r1, 0 movs r1, 0
adds r2, r5, 0 adds r2, r5, 0
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
@ -5804,7 +5804,7 @@ _081B2FF2:
ldr r1, [r1] ldr r1, [r1]
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
_081B3018: _081B3018:
add sp, 0xC add sp, 0xC
pop {r3} pop {r3}

View File

@ -1471,7 +1471,7 @@ sub_81C7BA4: @ 81C7BA4
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
@ -3707,7 +3707,7 @@ sub_81C8CB4: @ 81C8CB4
str r2, [sp, 0x4] str r2, [sp, 0x4]
str r6, [sp, 0x8] str r6, [sp, 0x8]
movs r2, 0x8 movs r2, 0x8
bl box_print bl AddTextPrinterParameterized3
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x1 movs r1, 0x1
bl sub_81C8C64 bl sub_81C8C64
@ -3835,7 +3835,7 @@ sub_81C8DBC: @ 81C8DBC
movs r1, 0x7 movs r1, 0x7
movs r2, 0x2 movs r2, 0x2
adds r3, r5, 0 adds r3, r5, 0
bl box_print bl AddTextPrinterParameterized3
ldrh r0, [r6, 0x8] ldrh r0, [r6, 0x8]
lsls r4, 1 lsls r4, 1
ldrb r1, [r6, 0x4] ldrb r1, [r6, 0x4]
@ -7078,7 +7078,7 @@ sub_81CA714: @ 81CA714
str r6, [sp, 0x8] str r6, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
@ -7116,7 +7116,7 @@ sub_81CA770: @ 81CA770
str r6, [sp, 0x8] str r6, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
@ -20108,7 +20108,7 @@ sub_81D0E84: @ 81D0E84
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
ldrb r0, [r5, 0xA] ldrb r0, [r5, 0xA]
movs r1, 0x2 movs r1, 0x2
bl CopyWindowToVram bl CopyWindowToVram
@ -20155,7 +20155,7 @@ _081D0F2E:
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
movs r0, 0x80 movs r0, 0x80
lsls r0, 21 lsls r0, 21
adds r5, r0 adds r5, r0
@ -20195,7 +20195,7 @@ _081D0F7C:
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
movs r0, 0x80 movs r0, 0x80
lsls r0, 21 lsls r0, 21
adds r6, r0 adds r6, r0
@ -24413,7 +24413,7 @@ _081D36CA:
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
adds r3, r5, 0 adds r3, r5, 0
bl box_print bl AddTextPrinterParameterized3
lsls r0, r7, 1 lsls r0, r7, 1
mov r4, sp mov r4, sp
adds r4, r0 adds r4, r0
@ -24436,7 +24436,7 @@ _081D3704:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x38 movs r2, 0x38
adds r3, r5, 0 adds r3, r5, 0
bl box_print bl AddTextPrinterParameterized3
movs r0, 0 movs r0, 0
ldrsh r1, [r4, r0] ldrsh r1, [r4, r0]
adds r0, r1, 0 adds r0, r1, 0
@ -24467,7 +24467,7 @@ _081D373A:
mov r0, r8 mov r0, r8
movs r1, 0x1 movs r1, 0x1
adds r3, r5, 0 adds r3, r5, 0
bl box_print bl AddTextPrinterParameterized3
adds r0, r7, 0x1 adds r0, r7, 0x1
lsls r0, 16 lsls r0, 16
lsrs r7, r0, 16 lsrs r7, r0, 16
@ -24585,7 +24585,7 @@ _081D3808:
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
adds r3, r5, 0 adds r3, r5, 0
bl box_print bl AddTextPrinterParameterized3
adds r4, 0x38 adds r4, 0x38
lsls r4, 24 lsls r4, 24
lsrs r4, 24 lsrs r4, 24
@ -24599,7 +24599,7 @@ _081D3808:
movs r1, 0x1 movs r1, 0x1
adds r2, r4, 0 adds r2, r4, 0
adds r3, r5, 0 adds r3, r5, 0
bl box_print bl AddTextPrinterParameterized3
adds r0, r6, 0x1 adds r0, r6, 0x1
lsls r0, 16 lsls r0, 16
lsrs r6, r0, 16 lsrs r6, r0, 16
@ -28979,7 +28979,7 @@ PrintOnTrainerHillRecordsWindow: @ 81D5C8C
movs r0, 0 movs r0, 0
movs r1, 0x1 movs r1, 0x1
movs r3, 0x2 movs r3, 0x2
bl box_print bl AddTextPrinterParameterized3
movs r7, 0x12 movs r7, 0x12
movs r0, 0 movs r0, 0
mov r8, r0 mov r8, r0
@ -29002,7 +29002,7 @@ _081D5CD6:
movs r0, 0 movs r0, 0
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
adds r7, 0xF adds r7, 0xF
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
ldr r1, =0x00003718 ldr r1, =0x00003718
@ -29068,7 +29068,7 @@ _081D5CD6:
str r0, [sp, 0x8] str r0, [sp, 0x8]
movs r0, 0 movs r0, 0
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
adds r7, 0x11 adds r7, 0x11
movs r1, 0x1 movs r1, 0x1
add r8, r1 add r8, r1

View File

@ -12955,7 +12955,7 @@ _0801C1D0:
movs r1, 0x3 movs r1, 0x3
movs r2, 0 movs r2, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
ldr r4, [r7] ldr r4, [r7]
movs r1, 0xDA movs r1, 0xDA
lsls r1, 1 lsls r1, 1
@ -12996,7 +12996,7 @@ _0801C22E:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x3 movs r1, 0x3
movs r3, 0x11 movs r3, 0x11
bl box_print bl AddTextPrinterParameterized3
ldr r2, [r7] ldr r2, [r7]
ldr r0, [r2, 0x4] ldr r0, [r2, 0x4]
mov r9, r6 mov r9, r6
@ -13023,7 +13023,7 @@ _0801C266:
movs r1, 0x1 movs r1, 0x1
movs r2, 0xA6 movs r2, 0xA6
movs r3, 0x11 movs r3, 0x11
bl box_print bl AddTextPrinterParameterized3
b _0801C498 b _0801C498
.pool .pool
_0801C2A0: _0801C2A0:
@ -13064,7 +13064,7 @@ _0801C2A2:
lsrs r0, r2, 24 lsrs r0, r2, 24
movs r1, 0x3 movs r1, 0x3
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
adds r4, 0x1 adds r4, 0x1
lsls r4, 24 lsls r4, 24
lsrs r0, r4, 24 lsrs r0, r4, 24
@ -13104,7 +13104,7 @@ _0801C304:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x3 movs r1, 0x3
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
ldr r2, [r7] ldr r2, [r7]
ldrb r1, [r2, 0x8] ldrb r1, [r2, 0x8]
movs r0, 0x3 movs r0, 0x3
@ -13137,7 +13137,7 @@ _0801C304:
adds r0, r5, 0 adds r0, r5, 0
movs r1, 0x3 movs r1, 0x3
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
mov r9, r6 mov r9, r6
b _0801C498 b _0801C498
.pool .pool
@ -13202,7 +13202,7 @@ _0801C3CE:
ldr r0, [sp, 0x10] ldr r0, [sp, 0x10]
movs r1, 0x3 movs r1, 0x3
ldr r3, [sp, 0x14] ldr r3, [sp, 0x14]
bl box_print bl AddTextPrinterParameterized3
ldr r1, [r7] ldr r1, [r7]
adds r0, r1, r5 adds r0, r1, r5
ldr r2, =0x00000306 ldr r2, =0x00000306
@ -13240,7 +13240,7 @@ _0801C3CE:
ldr r0, [sp, 0x10] ldr r0, [sp, 0x10]
movs r1, 0x3 movs r1, 0x3
ldr r3, [sp, 0x14] ldr r3, [sp, 0x14]
bl box_print bl AddTextPrinterParameterized3
ldr r1, [r7] ldr r1, [r7]
adds r1, r4 adds r1, r4
adds r1, 0x2A adds r1, 0x2A
@ -14515,7 +14515,7 @@ _0801CEEC:
str r4, [sp, 0x8] str r4, [sp, 0x8]
movs r1, 0x3 movs r1, 0x3
movs r3, 0x6 movs r3, 0x6
bl box_print bl AddTextPrinterParameterized3
_0801CF1C: _0801CF1C:
ldr r6, =gUnknown_02022C78 ldr r6, =gUnknown_02022C78
ldr r4, [r6] ldr r4, [r6]
@ -14550,7 +14550,7 @@ _0801CF1C:
str r4, [sp, 0x8] str r4, [sp, 0x8]
movs r1, 0x3 movs r1, 0x3
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
adds r0, r5, 0x1 adds r0, r5, 0x1
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
@ -20926,7 +20926,7 @@ _08020154:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x2 movs r1, 0x2
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
add sp, 0x34 add sp, 0x34
pop {r3-r5} pop {r3-r5}
mov r8, r3 mov r8, r3
@ -21004,7 +21004,7 @@ _08020206:
movs r0, 0x2 movs r0, 0x2
movs r1, 0 movs r1, 0
lsrs r2, r5, 24 lsrs r2, r5, 24
bl box_print bl AddTextPrinterParameterized3
adds r4, 0x4 adds r4, 0x4
adds r7, 0x1 adds r7, 0x1
adds r0, r6, 0 adds r0, r6, 0
@ -21043,7 +21043,7 @@ _08020248:
movs r4, 0x80 movs r4, 0x80
lsls r4, 19 lsls r4, 19
lsrs r2, r4, 24 lsrs r2, r4, 24
bl box_print bl AddTextPrinterParameterized3
adds r0, r7, 0x1 adds r0, r7, 0x1
str r0, [sp, 0x48] str r0, [sp, 0x48]
adds r6, 0xC adds r6, 0xC
@ -21094,7 +21094,7 @@ _080202AC:
movs r0, 0x2 movs r0, 0x2
movs r1, 0 movs r1, 0
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
adds r2, r7, 0 adds r2, r7, 0
add r0, sp, 0xC add r0, sp, 0xC
str r0, [sp] str r0, [sp]
@ -21106,7 +21106,7 @@ _080202AC:
movs r0, 0x2 movs r0, 0x2
movs r1, 0 movs r1, 0
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
_08020300: _08020300:
ldr r7, [sp, 0x48] ldr r7, [sp, 0x48]
mov r4, r10 mov r4, r10
@ -21299,7 +21299,7 @@ sub_8020420: @ 8020420
movs r1, 0x2 movs r1, 0x2
movs r2, 0 movs r2, 0
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
add sp, 0x10 add sp, 0x10
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
@ -23909,7 +23909,7 @@ sub_80219C8: @ 80219C8
movs r1, 0x2 movs r1, 0x2
adds r2, r4, 0 adds r2, r4, 0
movs r3, 0 movs r3, 0
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r3} pop {r3}
mov r8, r3 mov r8, r3
@ -24217,7 +24217,7 @@ _08021C5E:
ldr r1, =gStringVar4 ldr r1, =gStringVar4
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r1, 0x2 movs r1, 0x2
bl box_print bl AddTextPrinterParameterized3
ldr r3, [sp, 0x18] ldr r3, [sp, 0x18]
ldr r2, [sp, 0xC] ldr r2, [sp, 0xC]
ldrb r2, [r2, 0x8] ldrb r2, [r2, 0x8]
@ -24260,7 +24260,7 @@ _08021CC8:
str r2, [sp, 0x8] str r2, [sp, 0x8]
movs r1, 0x2 movs r1, 0x2
movs r2, 0x4 movs r2, 0x4
bl box_print bl AddTextPrinterParameterized3
lsls r0, r5, 24 lsls r0, r5, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
ldr r3, [sp, 0xC] ldr r3, [sp, 0xC]
@ -24324,7 +24324,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2 movs r1, 0x2
movs r2, 0 movs r2, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
ldr r4, =gText_SpaceSec ldr r4, =gText_SpaceSec
movs r0, 0x2 movs r0, 0x2
adds r1, r4, 0 adds r1, r4, 0
@ -24345,7 +24345,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
movs r0, 0x9F movs r0, 0x9F
lsls r0, 1 lsls r0, 1
add r0, r8 add r0, r8
@ -24386,7 +24386,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
ldr r4, =gText_SpaceMin ldr r4, =gText_SpaceMin
movs r0, 0x2 movs r0, 0x2
adds r1, r4, 0 adds r1, r4, 0
@ -24406,7 +24406,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
movs r0, 0x9E movs r0, 0x9E
lsls r0, 1 lsls r0, 1
add r0, r8 add r0, r8
@ -24437,7 +24437,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
adds r0, r7, 0 adds r0, r7, 0
adds r0, 0xE adds r0, 0xE
lsls r0, 24 lsls r0, 24
@ -24452,7 +24452,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2 movs r1, 0x2
movs r2, 0 movs r2, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
ldr r4, =gText_TimesPerSec ldr r4, =gText_TimesPerSec
movs r0, 0x2 movs r0, 0x2
adds r1, r4, 0 adds r1, r4, 0
@ -24474,7 +24474,7 @@ sub_8021D34: @ 8021D34
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
mov r4, r8 mov r4, r8
ldrb r2, [r4, 0x16] ldrb r2, [r4, 0x16]
ldrh r0, [r4, 0x16] ldrh r0, [r4, 0x16]
@ -24555,7 +24555,7 @@ _08021F0A:
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
b _08021FDE b _08021FDE
.pool .pool
_08021FC4: _08021FC4:
@ -24570,7 +24570,7 @@ _08021FC4:
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
_08021FDE: _08021FDE:
adds r0, r7, 0 adds r0, r7, 0
adds r0, 0xE adds r0, 0xE
@ -24591,7 +24591,7 @@ _08021FDE:
movs r1, 0x2 movs r1, 0x2
movs r2, 0 movs r2, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
ldr r0, =gStringVar1 ldr r0, =gStringVar1
ldr r4, [sp, 0x10] ldr r4, [sp, 0x10]
ldrh r1, [r4, 0x8] ldrh r1, [r4, 0x8]
@ -24620,7 +24620,7 @@ _08021FDE:
movs r1, 0x2 movs r1, 0x2
adds r2, r6, 0 adds r2, r6, 0
adds r3, r7, 0 adds r3, r7, 0
bl box_print bl AddTextPrinterParameterized3
add sp, 0x1C add sp, 0x1C
pop {r3-r5} pop {r3-r5}
mov r8, r3 mov r8, r3
@ -24942,7 +24942,7 @@ _080222D0:
movs r1, 0x1 movs r1, 0x1
adds r2, r7, 0 adds r2, r7, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
ldr r0, =gText_PressingSpeedRankings ldr r0, =gText_PressingSpeedRankings
mov r10, r0 mov r10, r0
movs r0, 0x1 movs r0, 0x1
@ -24962,7 +24962,7 @@ _080222D0:
movs r1, 0x1 movs r1, 0x1
adds r2, r7, 0 adds r2, r7, 0
movs r3, 0x11 movs r3, 0x11
bl box_print bl AddTextPrinterParameterized3
movs r0, 0x29 movs r0, 0x29
mov r10, r0 mov r10, r0
_08022336: _08022336:
@ -24985,7 +24985,7 @@ _08022336:
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
mov r3, r10 mov r3, r10
bl box_print bl AddTextPrinterParameterized3
movs r0, 0x1 movs r0, 0x1
ldr r1, =gText_TimesPerSec ldr r1, =gText_TimesPerSec
movs r2, 0x1 movs r2, 0x1
@ -25005,7 +25005,7 @@ _08022336:
movs r1, 0x1 movs r1, 0x1
adds r2, r7, 0 adds r2, r7, 0
mov r3, r10 mov r3, r10
bl box_print bl AddTextPrinterParameterized3
movs r2, 0 movs r2, 0
mov r0, r9 mov r0, r9
lsls r4, r0, 1 lsls r4, r0, 1
@ -25078,7 +25078,7 @@ _080223CA:
movs r1, 0x1 movs r1, 0x1
adds r2, r7, 0 adds r2, r7, 0
mov r3, r10 mov r3, r10
bl box_print bl AddTextPrinterParameterized3
ldr r1, [sp, 0x10] ldr r1, [sp, 0x10]
lsls r0, r1, 24 lsls r0, r1, 24
lsrs r0, 24 lsrs r0, 24
@ -39391,7 +39391,7 @@ _0802955A:
str r4, [sp, 0x8] str r4, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
mov r2, r10 mov r2, r10
ldr r0, [r2] ldr r0, [r2]
add r0, r9 add r0, r9
@ -39677,7 +39677,7 @@ _080297CC:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x1C movs r2, 0x1C
adds r3, r6, 0 adds r3, r6, 0
bl box_print bl AddTextPrinterParameterized3
add r0, sp, 0xC add r0, sp, 0xC
mov r1, r9 mov r1, r9
movs r2, 0 movs r2, 0
@ -39908,7 +39908,7 @@ _080299F2:
str r6, [sp, 0x8] str r6, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
movs r2, 0 movs r2, 0
bl box_print bl AddTextPrinterParameterized3
movs r7, 0 movs r7, 0
mov r8, r5 mov r8, r5
mov r0, r9 mov r0, r9
@ -39971,7 +39971,7 @@ _08029A36:
mov r1, r10 mov r1, r10
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
b _08029B10 b _08029B10
.pool .pool
_08029AE0: _08029AE0:
@ -47951,7 +47951,7 @@ sub_802DB8C: @ 802DB8C
movs r1, 0 movs r1, 0
movs r2, 0 movs r2, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
add r0, sp, 0xC add r0, sp, 0xC
str r0, [sp] str r0, [sp]
str r4, [sp, 0x4] str r4, [sp, 0x4]
@ -47961,7 +47961,7 @@ sub_802DB8C: @ 802DB8C
movs r1, 0 movs r1, 0
movs r2, 0 movs r2, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
add sp, 0x10 add sp, 0x10
pop {r4} pop {r4}
pop {r0} pop {r0}
@ -48390,7 +48390,7 @@ sub_802DED8: @ 802DED8
movs r1, 0x1 movs r1, 0x1
adds r2, r4, 0 adds r2, r4, 0
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
ldr r0, [r6] ldr r0, [r6]
adds r0, 0x1C adds r0, 0x1C
add r0, r8 add r0, r8

View File

@ -4527,7 +4527,7 @@ sub_812DD78: @ 812DD78
movs r1, 0x1 movs r1, 0x1
movs r2, 0x2 movs r2, 0x2
movs r3, 0x5 movs r3, 0x5
bl box_print bl AddTextPrinterParameterized3
movs r0, 0x1 movs r0, 0x1
movs r1, 0x3 movs r1, 0x3
bl CopyWindowToVram bl CopyWindowToVram

View File

@ -4588,7 +4588,7 @@ _080798BC:
str r0, [sp, 0x8] str r0, [sp, 0x8]
adds r0, r5, 0 adds r0, r5, 0
movs r3, 0x4 movs r3, 0x4
bl box_print bl AddTextPrinterParameterized3
add r6, sp, 0x28 add r6, sp, 0x28
adds r0, r6, 0 adds r0, r6, 0
ldr r1, [sp, 0x60] ldr r1, [sp, 0x60]
@ -4847,7 +4847,7 @@ sub_8079B84: @ 8079B84
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0 movs r1, 0
movs r3, 0x4 movs r3, 0x4
bl box_print bl AddTextPrinterParameterized3
adds r0, r4, 0 adds r0, r4, 0
bl PutWindowTilemap bl PutWindowTilemap
adds r0, r4, 0 adds r0, r4, 0

View File

@ -1747,7 +1747,7 @@ sub_80C3574: @ 80C3574
movs r1, 0x1 movs r1, 0x1
movs r2, 0x14 movs r2, 0x14
movs r3, 0x1C movs r3, 0x1C
bl box_print bl AddTextPrinterParameterized3
b _080C35FA b _080C35FA
.pool .pool
_080C35E0: _080C35E0:
@ -1762,7 +1762,7 @@ _080C35E0:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x10 movs r2, 0x10
movs r3, 0x21 movs r3, 0x21
bl box_print bl AddTextPrinterParameterized3
_080C35FA: _080C35FA:
add sp, 0x2C add sp, 0x2C
pop {r4,r5} pop {r4,r5}
@ -1818,7 +1818,7 @@ _080C365C:
str r0, [sp, 0x8] str r0, [sp, 0x8]
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
add sp, 0x2C add sp, 0x2C
pop {r4} pop {r4}
pop {r0} pop {r0}
@ -1848,7 +1848,7 @@ sub_80C3684: @ 80C3684
movs r1, 0x1 movs r1, 0x1
movs r2, 0x14 movs r2, 0x14
movs r3, 0x38 movs r3, 0x38
bl box_print bl AddTextPrinterParameterized3
b _080C36DE b _080C36DE
.pool .pool
_080C36C4: _080C36C4:
@ -1863,7 +1863,7 @@ _080C36C4:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x10 movs r2, 0x10
movs r3, 0x39 movs r3, 0x39
bl box_print bl AddTextPrinterParameterized3
_080C36DE: _080C36DE:
ldr r0, =gStringVar1 ldr r0, =gStringVar1
ldr r4, =gUnknown_02039CE8 ldr r4, =gUnknown_02039CE8
@ -1910,7 +1910,7 @@ _080C3740:
str r0, [sp, 0x8] str r0, [sp, 0x8]
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r4,r5} pop {r4,r5}
pop {r0} pop {r0}
@ -1964,7 +1964,7 @@ sub_80C378C: @ 80C378C
movs r1, 0x1 movs r1, 0x1
movs r2, 0x14 movs r2, 0x14
movs r3, 0x48 movs r3, 0x48
bl box_print bl AddTextPrinterParameterized3
b _080C37F6 b _080C37F6
.pool .pool
_080C37DC: _080C37DC:
@ -1979,7 +1979,7 @@ _080C37DC:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x10 movs r2, 0x10
movs r3, 0x49 movs r3, 0x49
bl box_print bl AddTextPrinterParameterized3
_080C37F6: _080C37F6:
ldr r5, =gStringVar4 ldr r5, =gStringVar4
ldr r4, =gUnknown_02039CE8 ldr r4, =gUnknown_02039CE8
@ -2025,7 +2025,7 @@ _080C3854:
str r0, [sp, 0x8] str r0, [sp, 0x8]
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
_080C386E: _080C386E:
add sp, 0xC add sp, 0xC
pop {r4,r5} pop {r4,r5}
@ -2060,7 +2060,7 @@ sub_80C3880: @ 80C3880
movs r1, 0x1 movs r1, 0x1
movs r2, 0x14 movs r2, 0x14
movs r3, 0x58 movs r3, 0x58
bl box_print bl AddTextPrinterParameterized3
b _080C38E2 b _080C38E2
.pool .pool
_080C38C8: _080C38C8:
@ -2075,7 +2075,7 @@ _080C38C8:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x10 movs r2, 0x10
movs r3, 0x59 movs r3, 0x59
bl box_print bl AddTextPrinterParameterized3
_080C38E2: _080C38E2:
ldr r0, =gUnknown_02039CE8 ldr r0, =gUnknown_02039CE8
ldr r1, [r0] ldr r1, [r0]
@ -2159,7 +2159,7 @@ _080C395C:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
adds r7, 0x12 adds r7, 0x12
lsls r2, r7, 24 lsls r2, r7, 24
lsrs r2, 24 lsrs r2, 24
@ -2177,7 +2177,7 @@ _080C395C:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
add r7, r10 add r7, r10
mov r0, r9 mov r0, r9
adds r1, r6, 0 adds r1, r6, 0
@ -2194,7 +2194,7 @@ _080C395C:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r3-r5} pop {r3-r5}
mov r8, r3 mov r8, r3
@ -2235,7 +2235,7 @@ sub_80C3A18: @ 80C3A18
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
movs r2, 0x8 movs r2, 0x8
bl box_print bl AddTextPrinterParameterized3
ldr r1, [r7] ldr r1, [r7]
adds r1, 0x19 adds r1, 0x19
movs r0, 0x1 movs r0, 0x1
@ -2256,7 +2256,7 @@ sub_80C3A18: @ 80C3A18
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
ldr r0, =gUnknown_0856FB4A ldr r0, =gUnknown_0856FB4A
mov r8, r0 mov r8, r0
ldr r1, [r7] ldr r1, [r7]
@ -2271,7 +2271,7 @@ sub_80C3A18: @ 80C3A18
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
movs r2, 0x8 movs r2, 0x8
bl box_print bl AddTextPrinterParameterized3
ldr r1, [r7] ldr r1, [r7]
adds r1, 0x33 adds r1, 0x33
movs r0, 0x1 movs r0, 0x1
@ -2292,7 +2292,7 @@ sub_80C3A18: @ 80C3A18
str r1, [sp, 0x8] str r1, [sp, 0x8]
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
bl box_print bl AddTextPrinterParameterized3
_080C3ACE: _080C3ACE:
add sp, 0xC add sp, 0xC
pop {r3} pop {r3}
@ -2363,7 +2363,7 @@ sub_80C3B50: @ 80C3B50
movs r1, 0x1 movs r1, 0x1
movs r2, 0x88 movs r2, 0x88
movs r3, 0x9 movs r3, 0x9
bl box_print bl AddTextPrinterParameterized3
b _080C3BB6 b _080C3BB6
.pool .pool
_080C3B8C: _080C3B8C:
@ -2385,7 +2385,7 @@ _080C3B8C:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
movs r3, 0x9 movs r3, 0x9
bl box_print bl AddTextPrinterParameterized3
_080C3BB6: _080C3BB6:
add sp, 0xC add sp, 0xC
pop {r4} pop {r4}
@ -2470,7 +2470,7 @@ sub_80C3C34: @ 80C3C34
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
ldr r1, =gUnknown_0856FB57 ldr r1, =gUnknown_0856FB57
ldr r0, [r6] ldr r0, [r6]
adds r0, r5 adds r0, r5
@ -2492,7 +2492,7 @@ sub_80C3C34: @ 80C3C34
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
adds r3, r4, 0 adds r3, r4, 0
bl box_print bl AddTextPrinterParameterized3
add sp, 0xC add sp, 0xC
pop {r3-r5} pop {r3-r5}
mov r8, r3 mov r8, r3
@ -6361,7 +6361,7 @@ _080C5DC2:
str r4, [sp, 0x8] str r4, [sp, 0x8]
movs r1, 0x1 movs r1, 0x1
movs r3, 0x5 movs r3, 0x5
bl box_print bl AddTextPrinterParameterized3
ldr r4, =gText_BattleRecord ldr r4, =gText_BattleRecord
movs r0, 0x1 movs r0, 0x1
adds r1, r4, 0 adds r1, r4, 0
@ -6376,7 +6376,7 @@ _080C5DC2:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x1 movs r1, 0x1
movs r3, 0x5 movs r3, 0x5
bl box_print bl AddTextPrinterParameterized3
str r6, [sp] str r6, [sp]
mov r0, r8 mov r0, r8
str r0, [sp, 0x4] str r0, [sp, 0x4]
@ -6386,7 +6386,7 @@ _080C5DC2:
movs r1, 0x8 movs r1, 0x8
movs r2, 0x5 movs r2, 0x5
movs r3, 0x4 movs r3, 0x4
bl box_print bl AddTextPrinterParameterized3
ldr r4, =gStringVar4 ldr r4, =gStringVar4
ldr r5, =gUnknown_02039CEC ldr r5, =gUnknown_02039CEC
ldr r0, [r5] ldr r0, [r5]
@ -6408,7 +6408,7 @@ _080C5DC2:
movs r0, 0x2 movs r0, 0x2
movs r1, 0x8 movs r1, 0x8
movs r3, 0x10 movs r3, 0x10
bl box_print bl AddTextPrinterParameterized3
ldr r1, [r5] ldr r1, [r5]
ldrh r0, [r1, 0x8] ldrh r0, [r1, 0x8]
subs r0, 0x5 subs r0, 0x5
@ -6476,7 +6476,7 @@ sub_80C5ED0: @ 80C5ED0
movs r1, 0x1 movs r1, 0x1
movs r2, 0x2 movs r2, 0x2
movs r3, 0 movs r3, 0
bl box_print bl AddTextPrinterParameterized3
b _080C5F3A b _080C5F3A
.pool .pool
_080C5F18: _080C5F18:
@ -6495,7 +6495,7 @@ _080C5F18:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x2 movs r2, 0x2
movs r3, 0 movs r3, 0
bl box_print bl AddTextPrinterParameterized3
_080C5F3A: _080C5F3A:
movs r0, 0x3 movs r0, 0x3
movs r1, 0x3 movs r1, 0x3
@ -7983,7 +7983,7 @@ _080C6BB8:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x7 movs r1, 0x7
movs r2, 0x4 movs r2, 0x4
bl box_print bl AddTextPrinterParameterized3
b _080C6C0E b _080C6C0E
.pool .pool
_080C6BF0: _080C6BF0:
@ -8000,7 +8000,7 @@ _080C6BF0:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x7 movs r1, 0x7
movs r2, 0x4 movs r2, 0x4
bl box_print bl AddTextPrinterParameterized3
_080C6C0E: _080C6C0E:
adds r0, r4, 0x1 adds r0, r4, 0x1
lsls r0, 24 lsls r0, 24
@ -8024,7 +8024,7 @@ _080C6C0E:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x4 movs r2, 0x4
movs r3, 0 movs r3, 0
bl box_print bl AddTextPrinterParameterized3
movs r4, 0 movs r4, 0
_080C6C40: _080C6C40:
adds r0, r4, 0 adds r0, r4, 0
@ -8084,7 +8084,7 @@ _080C6C94:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x7 movs r1, 0x7
movs r2, 0x4 movs r2, 0x4
bl box_print bl AddTextPrinterParameterized3
ldr r5, =gUnknown_02039CF4 ldr r5, =gUnknown_02039CF4
ldr r1, [r5] ldr r1, [r5]
ldrb r3, [r1, 0x10] ldrb r3, [r1, 0x10]
@ -8104,7 +8104,7 @@ _080C6C94:
movs r0, 0x1 movs r0, 0x1
movs r1, 0x7 movs r1, 0x7
movs r2, 0x4 movs r2, 0x4
bl box_print bl AddTextPrinterParameterized3
ldr r1, [r5] ldr r1, [r5]
ldr r2, [r1, 0x4] ldr r2, [r1, 0x4]
ldrb r0, [r1, 0x10] ldrb r0, [r1, 0x10]
@ -8148,7 +8148,7 @@ _080C6C94:
movs r1, 0x1 movs r1, 0x1
movs r2, 0x4 movs r2, 0x4
movs r3, 0 movs r3, 0
bl box_print bl AddTextPrinterParameterized3
movs r4, 0 movs r4, 0
_080C6D4A: _080C6D4A:
adds r0, r4, 0 adds r0, r4, 0

View File

@ -2572,7 +2572,7 @@ sub_8167BA0: @ 8167BA0
movs r1, 0x1 movs r1, 0x1
movs r2, 0x2 movs r2, 0x2
movs r3, 0x1 movs r3, 0x1
bl box_print bl AddTextPrinterParameterized3
_08167C46: _08167C46:
mov r2, r8 mov r2, r8
cmp r2, 0 cmp r2, 0

View File

@ -344,7 +344,9 @@ struct FrontierMonData
struct Struct_field_E70 struct Struct_field_E70
{ {
u16 monId; u16 monId;
u8 unk2[9]; u32 personality;
u8 ivs;
u8 abilityBit;
}; };
struct BattleDomeTrainer struct BattleDomeTrainer
@ -413,9 +415,7 @@ struct BattleFrontier
/*0xDD8*/ u16 field_DD8; /*0xDD8*/ u16 field_DD8;
/*0xDDA*/ u16 field_DDA[2]; /*0xDDA*/ u16 field_DDA[2];
/*0xDDE*/ u16 field_DDE[2]; /*0xDDE*/ u16 field_DDE[2];
/*0xDE2*/ u16 field_DE2[2]; /*0xDE2*/ u16 field_DE2[2][2];
/*0xDE6*/ u16 field_DE6;
/*0xDE8*/ u16 field_DE8;
/*0xDEA*/ u16 field_DEA[2]; /*0xDEA*/ u16 field_DEA[2];
/*0xDEE*/ u16 field_DEE; /*0xDEE*/ u16 field_DEE;
/*0xDF0*/ u16 field_DF0; /*0xDF0*/ u16 field_DF0;

View File

@ -37,7 +37,7 @@ u8 GetPlayerTextSpeed(void);
void sub_81978B0(u16 arg0); void sub_81978B0(u16 arg0);
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16)); void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16));
void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str); void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
void sub_8198070(u8 windowId, bool8 copyToVram); void sub_8198070(u8 windowId, bool8 copyToVram);
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock); void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette); void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette);

View File

@ -11,10 +11,15 @@
#include "malloc.h" #include "malloc.h"
#include "bg.h" #include "bg.h"
#include "gpu_regs.h" #include "gpu_regs.h"
#include "string_util.h"
#include "international_string_util.h"
#include "window.h" #include "window.h"
#include "data2.h"
#include "decompress.h" #include "decompress.h"
#include "pokemon_summary_screen.h" #include "pokemon_summary_screen.h"
#include "sound.h" #include "sound.h"
#include "pokedex.h"
#include "trainer_pokemon_sprites.h"
#include "constants/battle_frontier.h" #include "constants/battle_frontier.h"
#include "constants/songs.h" #include "constants/songs.h"
@ -30,12 +35,18 @@
struct FactorySelecteableMon struct FactorySelecteableMon
{ {
u16 unk0; u16 monSetId;
u16 spriteId; u16 spriteId;
u8 selectetedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon u8 selectedId; // 0 - not selected, 1 - first pokemon, 2 - second pokemon, 3 - third pokemon
struct Pokemon monData; struct Pokemon monData;
}; };
struct UnkFactoryStruct
{
u8 field0;
u8 field1;
};
struct FactorySelectMonsStruct struct FactorySelectMonsStruct
{ {
u8 menuCursorPos; u8 menuCursorPos;
@ -50,7 +61,7 @@ struct FactorySelectMonsStruct
u8 unk9; u8 unk9;
struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT]; struct FactorySelecteableMon mons[SELECTABLE_MONS_COUNT];
u32 unk294; u32 unk294;
u32 unk298; struct UnkFactoryStruct unk298;
u32 unk29C; u32 unk29C;
u8 unk2A0; u8 unk2A0;
u8 unk2A1; u8 unk2A1;
@ -63,31 +74,49 @@ struct FactorySelectMonsStruct
}; };
extern struct FactorySelectMonsStruct *gUnknown_0300127C; extern struct FactorySelectMonsStruct *gUnknown_0300127C;
extern u8 (*gUnknown_030062E8)(void);
extern u8 gUnknown_0203CF20; extern u8 gUnknown_0203CF20;
extern const u16 gBattleFrontierHeldItems[];
extern const struct FacilityMon gBattleFrontierMons[];
extern const struct FacilityMon gSlateportBattleTentMons[];
extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
extern void SetMonMoveAvoidReturn(struct Pokemon *mon, u16 move, u8 moveSlot);
// This file's functions. // This file's functions.
void sub_819A514(void); void sub_819A514(void);
void sub_819C5D0(u16 mWin0H, u16 nWin0H, u16 mWin0V, u16 nWin0V); void sub_819C5D0(u16 mWin0H, u16 nWin0H, u16 mWin0V, u16 nWin0V);
void sub_819A9AC(void); void sub_819A9AC(void);
void sub_819AA18(void); void sub_819AA18(void);
void sub_819BE34(void); void sub_819BE34(void);
void sub_819BA64(void); void PrintSelectMonString(void);
void sub_819BCF8(void); void PrintMonSpecies(void);
void PrintMonCategory(void);
void sub_819B9E8(void); void sub_819B9E8(void);
void sub_819B9B4(void); void PrintRentalPkmnString(void);
void sub_819B764(void); void CopySelectedMonsToPlayerParty(void);
void sub_819C4B4(void); void sub_819C4B4(void);
void sub_819B8D4(void); void sub_819B8D4(void);
void sub_819C568(void); void sub_819C568(void);
void sub_819BC9C(void); void sub_819B844(void);
void PrintSelectableMenuOptions(void);
void PrintSelectableYesNo(void);
void sub_819C69C(u8 taskId); void sub_819C69C(u8 taskId);
void sub_819B378(u8 taskId); void Task_HandleSelectionScreenChooseMons(u8 taskId);
void sub_819B124(u8 taskId); void Task_HandleSelectionScreenMenu(u8 taskId);
void sub_819B484(u8 arg0); void CreateFrontierFactorySelectableMons(u8 firstMonId);
void sub_819B63C(u8 arg0); void CreateTentFactorySelectableMons(u8 firstMonId);
void SetBallSpritePaletteNum(u8 id); void SetBallSpritePaletteNum(u8 id);
void sub_819F444(u32 spriteId, u8 *arg1); void sub_819F444(struct UnkFactoryStruct arg0, u8 *arg1);
void sub_819B958(u8 arg0); void sub_819B958(u8 windowId);
void sub_819F2B4(u8 *arg0, u8 *arg1, u8 arg2);
void sub_819F3F8(struct UnkFactoryStruct arg0, u8 *arg1, u8 arg2);
u8 sub_819BC04(void);
u8 sub_819BC9C(void);
u8 sub_81A6F70(u8 battleMode, u8 lvlMode);
u8 sub_81A6CA8(u8 arg0, u8 arg1);
bool32 sub_819C634(u16 monSetId);
// Ewram variables // Ewram variables
EWRAM_DATA u8 *gUnknown_0203CE2C = NULL; EWRAM_DATA u8 *gUnknown_0203CE2C = NULL;
@ -113,6 +142,20 @@ extern const u8 gFrontierFactorySelectMenu_Gfx[];
extern const u8 gFrontierFactorySelectMenu_Tilemap[]; extern const u8 gFrontierFactorySelectMenu_Tilemap[];
extern const u16 gFrontierFactorySelectMenu_Pal[]; extern const u16 gFrontierFactorySelectMenu_Pal[];
// text
extern const u8 gText_RentalPkmn2[];
extern const u8 gText_SelectFirstPkmn[];
extern const u8 gText_SelectSecondPkmn[];
extern const u8 gText_SelectThirdPkmn[];
extern const u8 gText_TheseThreePkmnOkay[];
extern const u8 gText_CantSelectSamePkmn[];
extern const u8 gText_Summary[];
extern const u8 gText_Deselect[];
extern const u8 gText_Rent[];
extern const u8 gText_Others2[];
extern const u8 gText_Yes2[];
extern const u8 gText_No2[];
// code // code
void sub_819A44C(struct Sprite *sprite) void sub_819A44C(struct Sprite *sprite)
{ {
@ -267,22 +310,22 @@ void sub_819A514(void)
gMain.state++; gMain.state++;
break; break;
case 6: case 6:
sub_819BA64(); PrintSelectMonString();
PutWindowTilemap(2); PutWindowTilemap(2);
gMain.state++; gMain.state++;
break; break;
case 7: case 7:
sub_819BCF8(); PrintMonCategory();
PutWindowTilemap(5); PutWindowTilemap(5);
gMain.state++; gMain.state++;
break; break;
case 8: case 8:
sub_819B9E8(); PrintMonSpecies();
PutWindowTilemap(1); PutWindowTilemap(1);
gMain.state++; gMain.state++;
break; break;
case 9: case 9:
sub_819B9B4(); PrintRentalPkmnString();
PutWindowTilemap(0); PutWindowTilemap(0);
gMain.state++; gMain.state++;
break; break;
@ -291,14 +334,14 @@ void sub_819A514(void)
if (!gUnknown_0300127C->fromSummaryScreen) if (!gUnknown_0300127C->fromSummaryScreen)
{ {
gTasks[gUnknown_0300127C->unk2A1].data[0] = 0; gTasks[gUnknown_0300127C->unk2A1].data[0] = 0;
taskId = CreateTask(sub_819B378, 0); taskId = CreateTask(Task_HandleSelectionScreenChooseMons, 0);
gTasks[taskId].data[0] = 0; gTasks[taskId].data[0] = 0;
} }
else else
{ {
gTasks[gUnknown_0300127C->unk2A1].data[0] = 1; gTasks[gUnknown_0300127C->unk2A1].data[0] = 1;
gUnknown_0300127C->unk2A2 = 0; gUnknown_0300127C->unk2A2 = 0;
taskId = CreateTask(sub_819B124, 0); taskId = CreateTask(Task_HandleSelectionScreenMenu, 0);
gTasks[taskId].data[0] = 13; gTasks[taskId].data[0] = 13;
} }
SetMainCallback2(sub_819A4C8); SetMainCallback2(sub_819A4C8);
@ -318,12 +361,12 @@ void sub_819A9AC(void)
gUnknown_0300127C->selectingMonsState = 1; gUnknown_0300127C->selectingMonsState = 1;
gUnknown_0300127C->fromSummaryScreen = FALSE; gUnknown_0300127C->fromSummaryScreen = FALSE;
for (i = 0; i < SELECTABLE_MONS_COUNT; i++) for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
gUnknown_0300127C->mons[i].selectetedId = 0; gUnknown_0300127C->mons[i].selectedId = 0;
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT) if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_TENT)
sub_819B484(0); CreateFrontierFactorySelectableMons(0);
else else
sub_819B63C(0); CreateTentFactorySelectableMons(0);
} }
extern const struct SpriteTemplate gUnknown_086105F0; extern const struct SpriteTemplate gUnknown_086105F0;
@ -436,28 +479,28 @@ void HandleMonSelectionChange(void)
{ {
u8 i, paletteNum; u8 i, paletteNum;
u8 cursorPos = gUnknown_0300127C->cursorPos; u8 cursorPos = gUnknown_0300127C->cursorPos;
if (gUnknown_0300127C->mons[cursorPos].selectetedId) // Deselect a mon. if (gUnknown_0300127C->mons[cursorPos].selectedId) // Deselect a mon.
{ {
paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
if (gUnknown_0300127C->selectingMonsState == 3 && gUnknown_0300127C->mons[cursorPos].selectetedId == 1) if (gUnknown_0300127C->selectingMonsState == 3 && gUnknown_0300127C->mons[cursorPos].selectedId == 1)
{ {
for (i = 0; i < SELECTABLE_MONS_COUNT; i++) for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
{ {
if (gUnknown_0300127C->mons[i].selectetedId == 2) if (gUnknown_0300127C->mons[i].selectedId == 2)
break; break;
} }
if (i == SELECTABLE_MONS_COUNT) if (i == SELECTABLE_MONS_COUNT)
return; return;
else else
gUnknown_0300127C->mons[i].selectetedId = 1; gUnknown_0300127C->mons[i].selectedId = 1;
} }
gUnknown_0300127C->mons[cursorPos].selectetedId = 0; gUnknown_0300127C->mons[cursorPos].selectedId = 0;
gUnknown_0300127C->selectingMonsState--; gUnknown_0300127C->selectingMonsState--;
} }
else // Select a mon. else // Select a mon.
{ {
paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); paletteNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
gUnknown_0300127C->mons[cursorPos].selectetedId = gUnknown_0300127C->selectingMonsState; gUnknown_0300127C->mons[cursorPos].selectedId = gUnknown_0300127C->selectingMonsState;
gUnknown_0300127C->selectingMonsState++; gUnknown_0300127C->selectingMonsState++;
} }
@ -468,7 +511,7 @@ void SetBallSpritePaletteNum(u8 id)
{ {
u8 palNum; u8 palNum;
if (gUnknown_0300127C->mons[id].selectetedId) if (gUnknown_0300127C->mons[id].selectedId)
palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED); palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_SELECTED);
else else
palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY); palNum = IndexOfSpritePaletteTag(TAG_PAL_BALL_GREY);
@ -528,7 +571,7 @@ void Task_CloseSelectionScreen(u8 taskId)
case 1: case 1:
if (!UpdatePaletteFade()) if (!UpdatePaletteFade())
{ {
sub_819B764(); CopySelectedMonsToPlayerParty();
DestroyTask(gUnknown_0300127C->unk2A1); DestroyTask(gUnknown_0300127C->unk2A1);
sub_819AB40(); sub_819AB40();
FREE_AND_SET_NULL(gUnknown_0203CE2C); FREE_AND_SET_NULL(gUnknown_0203CE2C);
@ -574,7 +617,7 @@ void Task_HandleSelectionScreenYesNo(u8 taskId)
sub_819BC9C(); sub_819BC9C();
gUnknown_0300127C->unk2A2 = 1; gUnknown_0300127C->unk2A2 = 1;
gTasks[taskId].data[0] = 1; gTasks[taskId].data[0] = 1;
gTasks[taskId].func = sub_819B378; gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
} }
} }
else if (gMain.newKeys & B_BUTTON) else if (gMain.newKeys & B_BUTTON)
@ -584,7 +627,7 @@ void Task_HandleSelectionScreenYesNo(u8 taskId)
sub_819BC9C(); sub_819BC9C();
gUnknown_0300127C->unk2A2 = 1; gUnknown_0300127C->unk2A2 = 1;
gTasks[taskId].data[0] = 1; gTasks[taskId].data[0] = 1;
gTasks[taskId].func = sub_819B378; gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
} }
else if (gMain.newAndRepeatedKeys & DPAD_UP) else if (gMain.newAndRepeatedKeys & DPAD_UP)
{ {
@ -600,3 +643,463 @@ void Task_HandleSelectionScreenYesNo(u8 taskId)
} }
} }
} }
void Task_HandleSelectionScreenMenu(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
case 2:
if (!gUnknown_0300127C->fromSummaryScreen)
sub_819F2B4(&gUnknown_0300127C->unk298.field1, &gUnknown_0300127C->unk2A0, 0);
gTasks[taskId].data[0] = 9;
break;
case 9:
if (gUnknown_0300127C->unk2A0 != 1)
{
sub_819B844();
gUnknown_0300127C->fromSummaryScreen = FALSE;
gTasks[taskId].data[0] = 3;
}
break;
case 3:
if (gMain.newKeys & A_BUTTON)
{
u8 retVal;
PlaySE(SE_SELECT);
retVal = sub_819BC04();
if (retVal == 1)
{
gUnknown_0300127C->unk2A2 = 1;
gTasks[taskId].data[0] = 1;
gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
}
else if (retVal == 2)
{
gTasks[taskId].data[0] = 10;
gTasks[taskId].func = Task_HandleSelectionScreenYesNo;
}
else if (retVal == 3)
{
gTasks[taskId].data[0] = 11;
gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
}
else
{
gTasks[taskId].data[0] = 6;
gTasks[taskId].func = Task_FromSelectScreenToSummaryScreen;
}
}
else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0);
sub_819B958(3);
gUnknown_0300127C->unk2A2 = 1;
gTasks[taskId].data[0] = 1;
gTasks[taskId].func = Task_HandleSelectionScreenChooseMons;
}
else if (gMain.newAndRepeatedKeys & DPAD_UP)
{
PlaySE(SE_SELECT);
UpdateMenuCursorPosition(-1);
}
else if (gMain.newAndRepeatedKeys & DPAD_DOWN)
{
PlaySE(SE_SELECT);
UpdateMenuCursorPosition(1);
}
break;
case 12:
if (!gPaletteFade.active)
{
if (gUnknown_0300127C->fromSummaryScreen == TRUE)
{
gPlttBufferFaded[228] = gUnknown_0300127C->unk2A4;
gPlttBufferUnfaded[228] = gPlttBufferUnfaded[244];
}
gUnknown_0300127C->fromSummaryScreen = FALSE;
gTasks[taskId].data[0] = 3;
}
break;
case 13:
sub_819B844();
gTasks[taskId].data[0] = 12;
break;
}
}
void Task_HandleSelectionScreenChooseMons(u8 taskId)
{
if (gUnknown_0300127C->unk2A0 != 1)
{
switch (gTasks[taskId].data[0])
{
case 0:
if (!gPaletteFade.active)
{
gTasks[taskId].data[0] = 1;
gUnknown_0300127C->unk2A2 = 1;
}
break;
case 1:
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
gUnknown_0300127C->unk2A2 = 0;
gTasks[taskId].data[0] = 2;
gTasks[taskId].func = Task_HandleSelectionScreenMenu;
}
else if (gMain.newAndRepeatedKeys & DPAD_LEFT)
{
PlaySE(SE_SELECT);
UpdateBallCursorPosition(-1);
PrintMonCategory();
PrintMonSpecies();
}
else if (gMain.newAndRepeatedKeys & DPAD_RIGHT)
{
PlaySE(SE_SELECT);
UpdateBallCursorPosition(1);
PrintMonCategory();
PrintMonSpecies();
}
break;
case 11:
if (gMain.newKeys & A_BUTTON)
{
PlaySE(SE_SELECT);
sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0);
PrintSelectMonString();
gUnknown_0300127C->unk2A2 = 1;
gTasks[taskId].data[0] = 1;
}
break;
}
}
}
void CreateFrontierFactorySelectableMons(u8 firstMonId)
{
u8 i, j = 0;
u8 ivs = 0;
u8 level = 0;
u8 happiness = 0;
u32 otId = 0;
u8 battleMode = VarGet(VAR_FRONTIER_BATTLE_MODE);
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
u8 var_2C = gSaveBlock2Ptr->frontier.field_DE2[battleMode][lvlMode] / 7;
u8 var_28 = 0;
gFacilityTrainerMons = gBattleFrontierMons;
if (gSaveBlock2Ptr->frontier.lvlMode != FRONTIER_LVL_50)
level = 100;
else
level = 50;
var_28 = sub_81A6F70(battleMode, lvlMode);
otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
{
u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
gUnknown_0300127C->mons[i + firstMonId].monSetId = monSetId;
if (i < var_28)
ivs = sub_81A6CA8(var_2C + 1, 0);
else
ivs = sub_81A6CA8(var_2C, 0);
CreateMonWithEVSpreadPersonalityOTID(&gUnknown_0300127C->mons[i + firstMonId].monData,
gFacilityTrainerMons[monSetId].species,
level,
gFacilityTrainerMons[monSetId].nature,
ivs,
gFacilityTrainerMons[monSetId].evSpread,
otId);
happiness = 0;
for (j = 0; j < 4; j++)
SetMonMoveAvoidReturn(&gUnknown_0300127C->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j);
SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness);
SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
}
}
void CreateTentFactorySelectableMons(u8 firstMonId)
{
u8 i, j;
u8 ivs = 0;
u8 level = 30;
u8 happiness = 0;
u32 otId = 0;
gFacilityTrainerMons = gSlateportBattleTentMons;
otId = T1_READ_32(gSaveBlock2Ptr->playerTrainerId);
for (i = 0; i < SELECTABLE_MONS_COUNT; i++)
{
u16 monSetId = gSaveBlock2Ptr->frontier.field_E70[i].monId;
gUnknown_0300127C->mons[i + firstMonId].monSetId = monSetId;
CreateMonWithEVSpreadPersonalityOTID(&gUnknown_0300127C->mons[i + firstMonId].monData,
gFacilityTrainerMons[monSetId].species,
level,
gFacilityTrainerMons[monSetId].nature,
ivs,
gFacilityTrainerMons[monSetId].evSpread,
otId);
happiness = 0;
for (j = 0; j < 4; j++)
SetMonMoveAvoidReturn(&gUnknown_0300127C->mons[i + firstMonId].monData, gFacilityTrainerMons[monSetId].moves[j], j);
SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_FRIENDSHIP, &happiness);
SetMonData(&gUnknown_0300127C->mons[i + firstMonId].monData, MON_DATA_HELD_ITEM, &gBattleFrontierHeldItems[gFacilityTrainerMons[monSetId].itemTableId]);
}
}
void CopySelectedMonsToPlayerParty(void)
{
u8 i, j;
for (i = 0; i < 3; i++)
{
for (j = 0; j < SELECTABLE_MONS_COUNT; j++)
{
if (gUnknown_0300127C->mons[j].selectedId == i + 1)
{
gPlayerParty[i] = gUnknown_0300127C->mons[j].monData;
gSaveBlock2Ptr->frontier.field_E70[i].monId = gUnknown_0300127C->mons[j].monSetId;
gSaveBlock2Ptr->frontier.field_E70[i].personality = GetMonData(&gPlayerParty[i].box, MON_DATA_PERSONALITY, NULL);
gSaveBlock2Ptr->frontier.field_E70[i].abilityBit = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ALT_ABILITY, NULL);
gSaveBlock2Ptr->frontier.field_E70[i].ivs = GetBoxMonData(&gPlayerParty[i].box, MON_DATA_ATK_IV, NULL);
break;
}
}
}
CalculatePlayerPartyCount();
}
void sub_819B844(void)
{
if (!gUnknown_0300127C->fromSummaryScreen)
gUnknown_0300127C->menuCursorPos = 0;
gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.x = 176;
gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112;
gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.x = 208;
gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = (gUnknown_0300127C->menuCursorPos * 16) + 112;
gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 0;
gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 0;
PrintSelectableMenuOptions();
}
void sub_819B8D4(void)
{
gUnknown_0300127C->yesNoCursorPos = 0;
gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.x = 176;
gSprites[gUnknown_0300127C->menuCursor1SpriteId].pos1.y = 112;
gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.x = 208;
gSprites[gUnknown_0300127C->menuCursor2SpriteId].pos1.y = 112;
gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 0;
gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 0;
PrintSelectableYesNo();
}
void sub_819B958(u8 windowId)
{
gSprites[gUnknown_0300127C->menuCursor1SpriteId].invisible = 1;
gSprites[gUnknown_0300127C->menuCursor2SpriteId].invisible = 1;
FillWindowPixelBuffer(windowId, 0);
CopyWindowToVram(windowId, 2);
ClearWindowTilemap(windowId);
}
void PrintRentalPkmnString(void)
{
FillWindowPixelBuffer(0, 0);
PrintTextOnWindow(0, 1, gText_RentalPkmn2, 2, 1, 0, NULL);
CopyWindowToVram(0, 3);
}
extern const u8 gUnknown_08610479[];
extern const u8 gUnknown_08610476[];
void PrintMonSpecies(void)
{
u16 species;
u8 x;
u8 monId = gUnknown_0300127C->cursorPos;
FillWindowPixelBuffer(1, 0);
species = GetMonData(&gUnknown_0300127C->mons[monId].monData, MON_DATA_SPECIES, NULL);
StringCopy(gStringVar4, gSpeciesNames[species]);
x = GetStringRightAlignXOffset(1, gStringVar4, 86);
AddTextPrinterParameterized3(1, 1, x, 1, gUnknown_08610479, 0, gStringVar4);
CopyWindowToVram(1, 2);
}
void PrintSelectMonString(void)
{
const u8 *str = NULL;
FillWindowPixelBuffer(2, 0);
if (gUnknown_0300127C->selectingMonsState == 1)
str = gText_SelectFirstPkmn;
else if (gUnknown_0300127C->selectingMonsState == 2)
str = gText_SelectSecondPkmn;
else if (gUnknown_0300127C->selectingMonsState == 3)
str = gText_SelectThirdPkmn;
else
str = gText_TheseThreePkmnOkay;
PrintTextOnWindow(2, 1, str, 2, 5, 0, NULL);
CopyWindowToVram(2, 2);
}
void PrintCantSelectSameMon(void)
{
FillWindowPixelBuffer(2, 0);
PrintTextOnWindow(2, 1, gText_CantSelectSamePkmn, 2, 5, 0, NULL);
CopyWindowToVram(2, 2);
}
void PrintSelectableMenuOptions(void)
{
u8 selectedId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].selectedId;
PutWindowTilemap(3);
FillWindowPixelBuffer(3, 0);
AddTextPrinterParameterized3(3, 1, 7, 1, gUnknown_08610476, 0, gText_Summary);
if (selectedId != 0)
AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Deselect);
else
AddTextPrinterParameterized3(3, 1, 7, 17, gUnknown_08610476, 0, gText_Rent);
AddTextPrinterParameterized3(3, 1, 7, 33, gUnknown_08610476, 0, gText_Others2);
CopyWindowToVram(3, 3);
}
void PrintSelectableYesNo(void)
{
PutWindowTilemap(4);
FillWindowPixelBuffer(4, 0);
AddTextPrinterParameterized3(4, 1, 7, 1, gUnknown_08610476, 0, gText_Yes2);
AddTextPrinterParameterized3(4, 1, 7, 17, gUnknown_08610476, 0, gText_No2);
CopyWindowToVram(4, 3);
}
extern u8 (* const gUnknown_0861041C[])(void);
u8 sub_819BC04(void)
{
gUnknown_030062E8 = gUnknown_0861041C[gUnknown_0300127C->menuCursorPos];
return gUnknown_030062E8();
}
u8 sub_819BC30(void)
{
u8 selectedId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].selectedId;
u16 monSetId = gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].monSetId;
if (selectedId == 0 && !sub_819C634(monSetId))
{
PrintCantSelectSameMon();
sub_819B958(3);
return 3;
}
else
{
sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0);
HandleMonSelectionChange();
PrintSelectMonString();
sub_819B958(3);
if (gUnknown_0300127C->selectingMonsState > 3)
return 2;
else
return 1;
}
}
u8 sub_819BC9C(void)
{
sub_819C568();
HandleMonSelectionChange();
PrintSelectMonString();
sub_819B958(3);
if (gUnknown_0300127C->selectingMonsState > 3)
return 2;
else
return 1;
}
u8 sub_819BCCC(void)
{
return 0;
}
u8 sub_819BCD0(void)
{
sub_819F3F8(gUnknown_0300127C->unk298, &gUnknown_0300127C->unk2A0, 0);
sub_819B958(3);
return 1;
}
void PrintMonCategory(void)
{
u16 species;
u8 text[30];
u8 x;
u8 monId = gUnknown_0300127C->cursorPos;
if (monId < SELECTABLE_MONS_COUNT)
{
PutWindowTilemap(5);
FillWindowPixelBuffer(5, 0);
species = GetMonData(&gUnknown_0300127C->mons[monId].monData, MON_DATA_SPECIES, NULL);
CopyMonCategoryText(SpeciesToNationalPokedexNum(species), text);
x = GetStringRightAlignXOffset(1, text, 0x76);
PrintTextOnWindow(5, 1, text, x, 1, 0, NULL);
CopyWindowToVram(5, 2);
}
}
void sub_819BD70(void)
{
u8 monId = gUnknown_0300127C->cursorPos;
struct Pokemon *mon = &gUnknown_0300127C->mons[monId].monData;
u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL);
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
u32 otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
gUnknown_0300127C->unk298.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecX = 0;
gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecY = 0;
gUnknown_0300127C->unk2A0 = 0;
}
extern const struct SpriteTemplate gUnknown_08610638;
void sub_819BE20(u8 arg0)
{
gUnknown_0300127C->unk2A0 = arg0;
}
void sub_819BE34(void)
{
struct Pokemon *mon;
u16 species;
u32 personality, otId;
gUnknown_0300127C->unk298.field1 = CreateSprite(&gUnknown_08610638, 120, 64, 1);
StartSpriteAffineAnim(&gSprites[gUnknown_0300127C->unk298.field1], 2);
mon = &gUnknown_0300127C->mons[gUnknown_0300127C->cursorPos].monData;
species = GetMonData(mon, MON_DATA_SPECIES, NULL);
personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL);
otId = GetMonData(mon, MON_DATA_OT_ID, NULL);
gUnknown_0300127C->unk298.field0 = CreateMonPicSprite_HandleDeoxys(species, otId, personality, TRUE, 88, 32, 15, 0xFFFF);
gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecX = 0;
gSprites[gUnknown_0300127C->unk298.field0].centerToCornerVecY = 0;
gSprites[gUnknown_0300127C->unk298.field1].invisible = 1;
}

View File

@ -250,19 +250,19 @@ static void berry_fix_gpu_set(void)
width = GetStringWidth(0, sUnknown_08617E9B, 0); width = GetStringWidth(0, sUnknown_08617E9B, 0);
left = (0x78 - width) / 2; left = (0x78 - width) / 2;
box_print(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E9B); AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E9B);
width = GetStringWidth(0, sUnknown_08617E8D, 0); width = GetStringWidth(0, sUnknown_08617E8D, 0);
left = (0x78 - width) / 2 + 0x78; left = (0x78 - width) / 2 + 0x78;
box_print(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); AddTextPrinterParameterized3(2, 0, left, 3, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D);
width = GetStringWidth(0, sUnknown_08617E8D, 0); width = GetStringWidth(0, sUnknown_08617E8D, 0);
left = (0x70 - width) / 2; left = (0x70 - width) / 2;
box_print(3, 0, left, 0, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D); AddTextPrinterParameterized3(3, 0, left, 0, sUnknown_0861815B, TEXT_SPEED_FF, sUnknown_08617E8D);
width = GetStringWidth(1, sUnknown_08617E78, 0); width = GetStringWidth(1, sUnknown_08617E78, 0);
left = (0xD0 - width) / 2; left = (0xD0 - width) / 2;
box_print(0, 1, left, 2, sUnknown_08618158, TEXT_SPEED_FF, sUnknown_08617E78); AddTextPrinterParameterized3(0, 1, left, 2, sUnknown_08618158, TEXT_SPEED_FF, sUnknown_08617E78);
CopyWindowToVram(2, 2); CopyWindowToVram(2, 2);
CopyWindowToVram(3, 2); CopyWindowToVram(3, 2);
@ -292,7 +292,7 @@ static void berry_fix_text_print(int scene)
{ {
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
FillWindowPixelBuffer(1, 0xAA); FillWindowPixelBuffer(1, 0xAA);
box_print(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]); AddTextPrinterParameterized3(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]);
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(1, 2); CopyWindowToVram(1, 2);
switch (scene) switch (scene)

View File

@ -1128,7 +1128,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2)
{ {
FillWindowPixelBuffer(0, 0); FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0); PutWindowTilemap(0);
box_print(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF); AddTextPrinterParameterized3(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF);
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
} }
@ -1164,7 +1164,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
*(stringPtr)++ = CHAR_QUESTION_MARK; *(stringPtr)++ = CHAR_QUESTION_MARK;
} }
stringPtr[0] = EOS; stringPtr[0] = EOS;
box_print(0, 1, 0x10, 1, sUnknown_085E5388, -1, text); AddTextPrinterParameterized3(0, 1, 0x10, 1, sUnknown_085E5388, -1, text);
} }
// nick, species names, gender and level // nick, species names, gender and level
@ -1173,13 +1173,13 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
if (currMon->species == SPECIES_EGG) if (currMon->species == SPECIES_EGG)
{ {
width = GetStringCenterAlignXOffset(1, text, 0xD0); width = GetStringCenterAlignXOffset(1, text, 0xD0);
box_print(0, 1, width, 1, sUnknown_085E5388, -1, text); AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text);
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
} }
else else
{ {
width = GetStringRightAlignXOffset(1, text, 0x80); width = GetStringRightAlignXOffset(1, text, 0x80);
box_print(0, 1, width, 1, sUnknown_085E5388, -1, text); AddTextPrinterParameterized3(0, 1, width, 1, sUnknown_085E5388, -1, text);
text[0] = CHAR_SLASH; text[0] = CHAR_SLASH;
stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]); stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]);
@ -1200,15 +1200,15 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
} }
stringPtr[0] = EOS; stringPtr[0] = EOS;
box_print(0, 1, 0x80, 1, sUnknown_085E5388, -1, text); AddTextPrinterParameterized3(0, 1, 0x80, 1, sUnknown_085E5388, -1, text);
stringPtr = StringCopy(text, gText_Level); stringPtr = StringCopy(text, gText_Level);
ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3); ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3);
box_print(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text); AddTextPrinterParameterized3(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text);
stringPtr = StringCopy(text, gText_IDNumber); stringPtr = StringCopy(text, gText_IDNumber);
ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5); ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5);
box_print(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text); AddTextPrinterParameterized3(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text);
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
} }
@ -1223,13 +1223,13 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
FillWindowPixelBuffer(1, 0x11); FillWindowPixelBuffer(1, 0x11);
PutWindowTilemap(1); PutWindowTilemap(1);
SetWindowBorderStyle(1, FALSE, 0x21D, 0xD); SetWindowBorderStyle(1, FALSE, 0x21D, 0xD);
box_print(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name); AddTextPrinterParameterized3(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name);
width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70); width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70);
box_print(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName); AddTextPrinterParameterized3(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName);
trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8); trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8);
box_print(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber); AddTextPrinterParameterized3(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber);
text[0] = (trainerId % 100000) / 10000 + CHAR_0; text[0] = (trainerId % 100000) / 10000 + CHAR_0;
text[1] = (trainerId % 10000) / 1000 + CHAR_0; text[1] = (trainerId % 10000) / 1000 + CHAR_0;
text[2] = (trainerId % 1000) / 100 + CHAR_0; text[2] = (trainerId % 1000) / 100 + CHAR_0;
@ -1237,9 +1237,9 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
text[4] = (trainerId % 10) / 1 + CHAR_0; text[4] = (trainerId % 10) / 1 + CHAR_0;
text[5] = EOS; text[5] = EOS;
width = GetStringRightAlignXOffset(1, text, 0x70); width = GetStringRightAlignXOffset(1, text, 0x70);
box_print(1, 1, width, 0x11, sUnknown_085E538C, -1, text); AddTextPrinterParameterized3(1, 1, width, 0x11, sUnknown_085E538C, -1, text);
box_print(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime); AddTextPrinterParameterized3(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime);
text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0; text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0;
text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0; text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0;
text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0; text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0;
@ -1255,7 +1255,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
text[6] = EOS; text[6] = EOS;
width = GetStringRightAlignXOffset(1, text, 0x70); width = GetStringRightAlignXOffset(1, text, 0x70);
box_print(1, 1, width, 0x21, sUnknown_085E538C, -1, text); AddTextPrinterParameterized3(1, 1, width, 0x21, sUnknown_085E538C, -1, text);
CopyWindowToVram(1, 3); CopyWindowToVram(1, 3);
} }

View File

@ -1685,8 +1685,8 @@ static void sub_800B080(void)
LoadPalette(gWirelessLinkDisplayPal, 0, 0x20); LoadPalette(gWirelessLinkDisplayPal, 0, 0x20);
FillWindowPixelBuffer(0, 0x00); FillWindowPixelBuffer(0, 0x00);
FillWindowPixelBuffer(2, 0x00); FillWindowPixelBuffer(2, 0x00);
box_print(0, 3, 2, 6, gUnknown_082ED224, 0, gText_CommErrorEllipsis); AddTextPrinterParameterized3(0, 3, 2, 6, gUnknown_082ED224, 0, gText_CommErrorEllipsis);
box_print(2, 3, 2, 1, gUnknown_082ED224, 0, gText_MoveCloserToLinkPartner); AddTextPrinterParameterized3(2, 3, 2, 1, gUnknown_082ED224, 0, gText_MoveCloserToLinkPartner);
PutWindowTilemap(0); PutWindowTilemap(0);
PutWindowTilemap(2); PutWindowTilemap(2);
CopyWindowToVram(0, 0); CopyWindowToVram(0, 0);
@ -1698,7 +1698,7 @@ static void sub_800B138(void)
LoadBgTiles(0, g2BlankTilesGfx, 0x20, 0); LoadBgTiles(0, g2BlankTilesGfx, 0x20, 0);
FillWindowPixelBuffer(1, 0x00); FillWindowPixelBuffer(1, 0x00);
FillWindowPixelBuffer(2, 0x00); FillWindowPixelBuffer(2, 0x00);
box_print(1, 3, 2, 0, gUnknown_082ED224, 0, gText_CommErrorCheckConnections); AddTextPrinterParameterized3(1, 3, 2, 0, gUnknown_082ED224, 0, gText_CommErrorCheckConnections);
PutWindowTilemap(1); PutWindowTilemap(1);
PutWindowTilemap(2); PutWindowTilemap(2);
CopyWindowToVram(1, 0); CopyWindowToVram(1, 0);
@ -1738,11 +1738,11 @@ static void CB2_PrintErrorMessage(void)
case 130: case 130:
if (gWirelessCommType == 2) if (gWirelessCommType == 2)
{ {
box_print(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnTitleScreen); AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnTitleScreen);
} }
else if (gWirelessCommType == 1) else if (gWirelessCommType == 1)
{ {
box_print(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnRegistrationCounter); AddTextPrinterParameterized3(0, 3, 2, 20, gUnknown_082ED224, 0, gText_ABtnRegistrationCounter);
} }
break; break;
} }

View File

@ -485,14 +485,14 @@ static void sub_8121B1C(void)
{ {
continue; continue;
} }
box_print(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sUnknown_0859F2AC, 0, sMailRead->strbuf[i]); AddTextPrinterParameterized3(0, 1, sMailRead->layout->var8[i].xOffset + sMailRead->layout->wordsYPos, y + sMailRead->layout->wordsXPos, sUnknown_0859F2AC, 0, sMailRead->strbuf[i]);
y += sMailRead->layout->var8[i].lineHeight; y += sMailRead->layout->var8[i].lineHeight;
} }
bufptr = StringCopy(strbuf, gText_FromSpace); bufptr = StringCopy(strbuf, gText_FromSpace);
StringCopy(bufptr, sMailRead->playerName); StringCopy(bufptr, sMailRead->playerName);
box_x = GetStringCenterAlignXOffset(1, strbuf, sMailRead->signatureWidth) + 0x68; box_x = GetStringCenterAlignXOffset(1, strbuf, sMailRead->signatureWidth) + 0x68;
box_y = sMailRead->layout->signatureYPos + 0x58; box_y = sMailRead->layout->signatureYPos + 0x58;
box_print(0, 1, box_x, box_y, sUnknown_0859F2AC, 0, strbuf); AddTextPrinterParameterized3(0, 1, box_x, box_y, sUnknown_0859F2AC, 0, strbuf);
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
CopyWindowToVram(1, 3); CopyWindowToVram(1, 3);
} }

View File

@ -527,8 +527,8 @@ void Task_DisplayMainMenu(u8 taskId)
default: default:
FillWindowPixelBuffer(0, 0xAA); FillWindowPixelBuffer(0, 0xAA);
FillWindowPixelBuffer(1, 0xAA); FillWindowPixelBuffer(1, 0xAA);
box_print(0, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); AddTextPrinterParameterized3(0, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame);
box_print(1, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); AddTextPrinterParameterized3(1, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption);
PutWindowTilemap(0); PutWindowTilemap(0);
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(0, 2); CopyWindowToVram(0, 2);
@ -540,9 +540,9 @@ void Task_DisplayMainMenu(u8 taskId)
FillWindowPixelBuffer(2, 0xAA); FillWindowPixelBuffer(2, 0xAA);
FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(3, 0xAA);
FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(4, 0xAA);
box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue);
box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame);
box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption);
fmt_savegame(); fmt_savegame();
PutWindowTilemap(2); PutWindowTilemap(2);
PutWindowTilemap(3); PutWindowTilemap(3);
@ -559,10 +559,10 @@ void Task_DisplayMainMenu(u8 taskId)
FillWindowPixelBuffer(3, 0xAA); FillWindowPixelBuffer(3, 0xAA);
FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(4, 0xAA);
FillWindowPixelBuffer(5, 0xAA); FillWindowPixelBuffer(5, 0xAA);
box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue);
box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame);
box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift); AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift);
box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); AddTextPrinterParameterized3(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption);
fmt_savegame(); fmt_savegame();
PutWindowTilemap(2); PutWindowTilemap(2);
PutWindowTilemap(3); PutWindowTilemap(3);
@ -583,11 +583,11 @@ void Task_DisplayMainMenu(u8 taskId)
FillWindowPixelBuffer(4, 0xAA); FillWindowPixelBuffer(4, 0xAA);
FillWindowPixelBuffer(5, 0xAA); FillWindowPixelBuffer(5, 0xAA);
FillWindowPixelBuffer(6, 0xAA); FillWindowPixelBuffer(6, 0xAA);
box_print(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue); AddTextPrinterParameterized3(2, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuContinue);
box_print(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame); AddTextPrinterParameterized3(3, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuNewGame);
box_print(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift2); AddTextPrinterParameterized3(4, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryGift2);
box_print(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryEvents); AddTextPrinterParameterized3(5, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuMysteryEvents);
box_print(6, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption); AddTextPrinterParameterized3(6, 1, 0, 1, gTextColor_Headers, -1, gText_MainMenuOption);
fmt_savegame(); fmt_savegame();
PutWindowTilemap(2); PutWindowTilemap(2);
PutWindowTilemap(3); PutWindowTilemap(3);
@ -1839,8 +1839,8 @@ void fmt_savegame(void)
void fmt_time(void) void fmt_time(void)
{ {
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPlayer);
box_print(2, 1, 0, 17, gUnknown_082FF0E3, -1, gStringVar4); AddTextPrinterParameterized3(2, 1, 0, 17, gUnknown_082FF0E3, -1, gStringVar4);
box_print(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, gUnknown_082FF0E3, -1, gSaveBlock2Ptr->playerName); AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 100), 17, gUnknown_082FF0E3, -1, gSaveBlock2Ptr->playerName);
} }
void fmt_player(void) void fmt_player(void)
@ -1849,11 +1849,11 @@ void fmt_player(void)
u8* ptr; u8* ptr;
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuTime);
box_print(2, 1, 0x6C, 17, gUnknown_082FF0E3, -1, gStringVar4); AddTextPrinterParameterized3(2, 1, 0x6C, 17, gUnknown_082FF0E3, -1, gStringVar4);
ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, 0, 3); ptr = ConvertIntToDecimalStringN(str, gSaveBlock2Ptr->playTimeHours, 0, 3);
*ptr = 0xF0; *ptr = 0xF0;
ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, 2, 2); ConvertIntToDecimalStringN(ptr + 1, gSaveBlock2Ptr->playTimeMinutes, 2, 2);
box_print(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, gUnknown_082FF0E3, -1, str); AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 17, gUnknown_082FF0E3, -1, str);
} }
void fmt_pokedex(void) void fmt_pokedex(void)
@ -1868,9 +1868,9 @@ void fmt_pokedex(void)
else else
dexCount = GetHoennPokedexCount(1); dexCount = GetHoennPokedexCount(1);
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuPokedex);
box_print(2, 1, 0, 33, gUnknown_082FF0E3, -1, gStringVar4); AddTextPrinterParameterized3(2, 1, 0, 33, gUnknown_082FF0E3, -1, gStringVar4);
ConvertIntToDecimalStringN(str, dexCount, 0, 3); ConvertIntToDecimalStringN(str, dexCount, 0, 3);
box_print(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, gUnknown_082FF0E3, -1, str); AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 100), 33, gUnknown_082FF0E3, -1, str);
} }
} }
@ -1886,9 +1886,9 @@ void fmt_badges(void)
badgeCount++; badgeCount++;
} }
StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges); StringExpandPlaceholders(gStringVar4, gText_ContinueMenuBadges);
box_print(2, 1, 0x6C, 33, gUnknown_082FF0E3, -1, gStringVar4); AddTextPrinterParameterized3(2, 1, 0x6C, 33, gUnknown_082FF0E3, -1, gStringVar4);
ConvertIntToDecimalStringN(str, badgeCount, 2, 1); ConvertIntToDecimalStringN(str, badgeCount, 2, 1);
box_print(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, gUnknown_082FF0E3, -1, str); AddTextPrinterParameterized3(2, 1, GetStringRightAlignXOffset(1, str, 0xD0), 33, gUnknown_082FF0E3, -1, str);
} }
void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset) void LoadMainMenuWindowFrameTiles(u8 bgId, u16 tileOffset)

View File

@ -799,7 +799,7 @@ void sub_8198180(const u8 *string, u8 a2, bool8 copyToVram)
PutWindowTilemap(gUnknown_0203CDA0); PutWindowTilemap(gUnknown_0203CDA0);
FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF); FillWindowPixelBuffer(gUnknown_0203CDA0, 0xFF);
width = GetStringWidth(0, string, 0); width = GetStringWidth(0, string, 0);
box_print(gUnknown_0203CDA0, AddTextPrinterParameterized3(gUnknown_0203CDA0,
0, 0,
0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a2 - width, 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a2 - width,
1, 1,
@ -835,7 +835,7 @@ void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyTo
if (string2 != NULL) if (string2 != NULL)
{ {
width = GetStringWidth(0, string2, 0); width = GetStringWidth(0, string2, 0);
box_print(gUnknown_0203CDA0, AddTextPrinterParameterized3(gUnknown_0203CDA0,
0, 0,
0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a4 - width, 0xEC - (GetWindowAttribute(gUnknown_0203CDA0, WINDOW_TILEMAP_LEFT) * 8) - a4 - width,
1, 1,
@ -1925,7 +1925,7 @@ void sub_8199DF0(u32 bg, u8 a1, int a2, int a3)
RequestDma3Fill(a1 << 24 | a1 << 16 | a1 << 8 | a1, addr + VRAM, a3 * temp, 1); RequestDma3Fill(a1 << 24 | a1 << 16 | a1 << 8 | a1, addr + VRAM, a3 * temp, 1);
} }
void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str) void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str)
{ {
struct TextSubPrinter printer; struct TextSubPrinter printer;

View File

@ -1515,7 +1515,7 @@ static void sub_80E49BC(void)
StringCopy(genderSymbol, gText_FemaleSymbol); StringCopy(genderSymbol, gText_FemaleSymbol);
isFemale = TRUE; isFemale = TRUE;
} }
box_print(gNamingScreenData->windows[2], 1, 0x68, 1, sGenderColors[isFemale], -1, genderSymbol); AddTextPrinterParameterized3(gNamingScreenData->windows[2], 1, 0x68, 1, sGenderColors[isFemale], -1, genderSymbol);
} }
} }
@ -1694,7 +1694,7 @@ static void sub_80E4DE4(u8 window, u8 a1)
for (i = 0; i < 4; i++) for (i = 0; i < 4; i++)
{ {
box_print(window, 1, 0, i * 16 + 1, sUnkColors[a1], 0, gUnknown_0858C198[a1][i]); AddTextPrinterParameterized3(window, 1, 0, i * 16 + 1, sUnkColors[a1], 0, gUnknown_0858C198[a1][i]);
} }
PutWindowTilemap(window); PutWindowTilemap(window);
@ -1739,7 +1739,7 @@ static void sub_80E4EF0(void)
const u8 color[3] = { 15, 1, 2 }; const u8 color[3] = { 15, 1, 2 };
FillWindowPixelBuffer(gNamingScreenData->windows[4], 0xFF); FillWindowPixelBuffer(gNamingScreenData->windows[4], 0xFF);
box_print(gNamingScreenData->windows[4], 0, 2, 1, color, 0, gText_MoveOkBack); AddTextPrinterParameterized3(gNamingScreenData->windows[4], 0, 2, 1, color, 0, gText_MoveOkBack);
PutWindowTilemap(gNamingScreenData->windows[4]); PutWindowTilemap(gNamingScreenData->windows[4]);
CopyWindowToVram(gNamingScreenData->windows[4], 3); CopyWindowToVram(gNamingScreenData->windows[4], 3);
} }

View File

@ -627,12 +627,12 @@ void sub_80C7BE4(void)
FillWindowPixelBuffer(windowId, 0x44); FillWindowPixelBuffer(windowId, 0x44);
center = GetStringCenterAlignXOffset(1, boxName, 0x40); center = GetStringCenterAlignXOffset(1, boxName, 0x40);
box_print(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName); AddTextPrinterParameterized3(windowId, 1, center, 1, gUnknown_08571734, TEXT_SPEED_FF, boxName);
ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2); ConvertIntToDecimalStringN(text, nPokemonInBox, 1, 2);
StringAppend(text, gUnknown_08571737); StringAppend(text, gUnknown_08571737);
center = GetStringCenterAlignXOffset(1, text, 0x40); center = GetStringCenterAlignXOffset(1, text, 0x40);
box_print(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text); AddTextPrinterParameterized3(windowId, 1, center, 0x11, gUnknown_08571734, TEXT_SPEED_FF, text);
winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA); winTileData = GetWindowAttribute(windowId, WINDOW_TILE_DATA);
CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400); CpuCopy32((void *)winTileData, (void *)OBJ_VRAM0 + 0x100 + (GetSpriteTileStartByTag(gUnknown_02039D04->unk_0240) * 32), 0x400);

View File

@ -301,10 +301,10 @@ static void CreateStarterPokemonLabel(u8 selection)
FillWindowPixelBuffer(sStarterChooseWindowId, 0); FillWindowPixelBuffer(sStarterChooseWindowId, 0);
width = GetStringCenterAlignXOffset(7, text, 0x68); width = GetStringCenterAlignXOffset(7, text, 0x68);
box_print(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text); AddTextPrinterParameterized3(sStarterChooseWindowId, 7, width, 1, gUnknown_085B1E0C, 0, text);
width = GetStringCenterAlignXOffset(1, speciesName, 0x68); width = GetStringCenterAlignXOffset(1, speciesName, 0x68);
box_print(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName); AddTextPrinterParameterized3(sStarterChooseWindowId, 1, width, 0x11, gUnknown_085B1E0C, 0, speciesName);
PutWindowTilemap(sStarterChooseWindowId); PutWindowTilemap(sStarterChooseWindowId);
schedule_bg_copy_tilemap_to_vram(0); schedule_bg_copy_tilemap_to_vram(0);