summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2018-06-03 09:37:01 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2018-06-03 09:37:01 +0200
commite95b1156d22e2652b6d13ea1af123aed7ab5221c (patch)
treea68ef7c837785472831c444472b46b0fcac1d8a8
parent83cf2f50dfc906f7f2014570b37863d98fe89bc7 (diff)
more progress
-rw-r--r--asm/rom_8011DC0.s2224
-rw-r--r--data/scripts/contest_hall.inc2
-rw-r--r--data/scripts/maps/LilycoveCity_ContestLobby.inc2
-rw-r--r--data/scripts/pokeblocks.inc326
-rw-r--r--include/librfu.h2
-rw-r--r--include/link_rfu.h16
-rw-r--r--src/link_rfu.c12
-rw-r--r--src/rom_8011DC0.c933
8 files changed, 1103 insertions, 2414 deletions
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 2bc67c5c3..97b27bab9 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -6,2206 +6,6 @@
.text
- thumb_func_start sub_8012780
-sub_8012780: @ 8012780
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- ldrb r0, [r6, 0xC]
- cmp r0, 0x1E
- bls _0801279A
- bl _08012F50
-_0801279A:
- lsls r0, 2
- ldr r1, =_080127AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080127AC:
- .4byte _08012828
- .4byte _08012F50
- .4byte _08012F50
- .4byte _080128A0
- .4byte _080129C8
- .4byte _08012A50
- .4byte _08012A6C
- .4byte _08012B8C
- .4byte _08012F50
- .4byte _08012AFC
- .4byte _08012B14
- .4byte _08012BA8
- .4byte _08012C5C
- .4byte _08012D5A
- .4byte _08012D78
- .4byte _08012D8A
- .4byte _08012DA8
- .4byte _08012E62
- .4byte _08012E78
- .4byte _08012DF2
- .4byte _08012E10
- .4byte _08012ED0
- .4byte _08012EFC
- .4byte _08012ED0
- .4byte _08012EE6
- .4byte _08012F50
- .4byte _08012F14
- .4byte _08012F50
- .4byte _08012F50
- .4byte _08012B54
- .4byte _08012EB6
-_08012828:
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, 0x14
- bne _08012848
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08012848
- adds r0, r2, 0x1
- strh r0, [r3]
-_08012848:
- ldr r2, =gUnknown_02022C2C
- ldr r1, =gUnknown_082F00C4
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- strb r0, [r2]
- ldr r4, =gUnknown_02022C2D
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsrs r0, 8
- strb r0, [r4]
- ldrb r0, [r2]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- ldrb r1, [r4]
- movs r0, 0xF
- ands r0, r1
- bl sub_8011C10
- movs r0, 0x3
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_080128A0:
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0x4]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r6]
- movs r0, 0xA0
- bl AllocZeroed
- str r0, [r6, 0x8]
- ldr r0, [r6, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r6]
- movs r1, 0x5
- bl sub_8017580
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x10
- bl sub_800DF90
- ldr r1, [r6]
- movs r3, 0
- movs r0, 0
- strh r0, [r1, 0x18]
- ldr r2, [r6]
- ldrb r1, [r2, 0x1A]
- subs r0, 0x4
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1A]
- ldr r2, [r6]
- ldrb r1, [r2, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1A]
- ldr r0, [r6]
- strb r3, [r0, 0x1B]
- ldr r0, [r6, 0x4]
- movs r1, 0xFF
- bl sub_8016FC0
- strb r0, [r6, 0x17]
- ldr r0, =gUnknown_082F00BC
- bl AddWindow
- strb r0, [r6, 0x10]
- ldr r0, =gUnknown_02022C2D
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0x2
- blt _08012938
- cmp r1, 0x4
- ble _08012928
- cmp r1, 0x5
- beq _08012930
- b _08012938
- .pool
-_08012928:
- ldr r0, =gUnknown_082F011C
- b _08012932
- .pool
-_08012930:
- ldr r0, =gUnknown_082F0124
-_08012932:
- bl AddWindow
- strb r0, [r6, 0xF]
-_08012938:
- ldr r0, =gUnknown_082F012C
- bl AddWindow
- strb r0, [r6, 0x11]
- ldrb r0, [r6, 0x10]
- movs r1, 0x22
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0x10]
- ldr r2, =gUnknown_082EDBC4
- movs r3, 0x1
- mov r8, r3
- str r3, [sp]
- movs r4, 0x4
- str r4, [sp, 0x4]
- movs r1, 0
- movs r3, 0x8
- bl sub_80173E0
- ldrb r0, [r6, 0x10]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x10]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r6, 0xF]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, =gUnknown_082F015C
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldrb r1, [r6, 0xF]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r6, 0x12]
- ldrb r0, [r6, 0x11]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r6, 0x11]
- bl PutWindowTilemap
- ldrb r0, [r6, 0x11]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- mov r5, r8
- strb r5, [r6, 0x13]
- strb r4, [r6, 0xC]
- b _08012F50
- .pool
-_080129C8:
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- lsrs r0, r2, 4
- cmp r0, 0
- beq _08012A2C
- ldrb r1, [r6, 0x13]
- subs r0, 0x1
- cmp r1, r0
- ble _08012A18
- movs r0, 0xF
- ands r0, r2
- cmp r0, 0
- beq _08012A18
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingLink
- bl StringExpandPlaceholders
- b _08012A34
- .pool
-_08012A18:
- ldr r0, =gStringVar4
- ldr r1, =gText_AwaitingCommunication
- bl StringExpandPlaceholders
- b _08012A34
- .pool
-_08012A2C:
- ldr r0, =gStringVar4
- ldrb r1, [r4]
- bl sub_801262C
-_08012A34:
- ldrb r0, [r6, 0x11]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- ldrb r2, [r6, 0x13]
- bl sub_80124EC
- movs r0, 0x5
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012A50:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012A62
- b _08012F50
-_08012A62:
- movs r0, 0x6
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012A6C:
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0xA
- bl sub_801320C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08012AA8
- ldrb r0, [r6, 0x13]
- cmp r0, 0x1
- bne _08012A90
- movs r0, 0x17
- b _08012AA6
- .pool
-_08012A90:
- ldr r0, =gUnknown_02022C2D
- ldrb r1, [r0]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _08012AA4
- movs r0, 0x1E
- b _08012AA6
- .pool
-_08012AA4:
- movs r0, 0x13
-_08012AA6:
- strb r0, [r6, 0xC]
-_08012AA8:
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- lsrs r0, r2, 4
- cmp r0, 0
- beq _08012ADE
- ldrb r1, [r6, 0x13]
- subs r0, 0x1
- cmp r1, r0
- ble _08012ADE
- movs r4, 0xF
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08012ADE
- bl sub_8012240
- cmp r0, 0
- beq _08012ADE
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08012ADE
- strb r4, [r6, 0xC]
- bl sub_800EF38
-_08012ADE:
- ldrb r0, [r6, 0xC]
- cmp r0, 0x6
- beq _08012AE6
- b _08012F50
-_08012AE6:
- bl sub_80105EC
- cmp r0, 0
- bne _08012AF0
- b _08012F50
-_08012AF0:
- b _08012C56
- .pool
-_08012AFC:
- bl sub_80105EC
- cmp r0, 0
- beq _08012B06
- b _08012F50
-_08012B06:
- movs r0, 0x6
- strb r0, [r6, 0xC]
- ldr r0, [r6]
- bl sub_8013398
- strb r0, [r6, 0x13]
- b _08012F50
-_08012B14:
- movs r3, 0
- ldr r0, =gUnknown_02022C2C
- ldrb r1, [r0]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x2
- bne _08012B24
- movs r3, 0x1
-_08012B24:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r2, =gUnknown_082EDDC4
- lsls r1, r3, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B3C
- b _08012F50
-_08012B3C:
- ldr r0, [r6]
- bl sub_8013398
- strb r0, [r6, 0x13]
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
- b _08012E5C
- .pool
-_08012B54:
- ldr r0, =gUnknown_02022C2D
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x2
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r3, r0, 31
- adds r0, r6, 0
- adds r0, 0xD
- ldr r2, =gUnknown_082EDDC4
- lsls r1, r3, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B7E
- b _08012F50
-_08012B7E:
- movs r0, 0x15
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012B8C:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012B9E
- b _08012F50
-_08012B9E:
- movs r0, 0xB
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012BA8:
- adds r4, r6, 0
- adds r4, 0xD
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl ReadAsU16
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0x10
- bl sub_801064C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012C28
- cmp r1, r0
- bgt _08012BEC
- subs r0, 0x2
- cmp r1, r0
- beq _08012C56
- b _08012F50
-_08012BEC:
- cmp r1, 0
- beq _08012BF6
- cmp r1, 0x1
- beq _08012C28
- b _08012F50
-_08012BF6:
- bl sub_800E0E8
- movs r0, 0
- movs r1, 0
- bl CreateWirelessStatusIndicatorSprite
- movs r0, 0x5
- strb r0, [r6, 0x19]
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl ReadAsU16
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- ldr r2, [r6]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x5
- b _08012C4C
-_08012C28:
- movs r0, 0x6
- strb r0, [r6, 0x19]
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl ReadAsU16
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- ldr r2, [r6]
- adds r2, r0
- adds r2, 0x10
- movs r0, 0x6
-_08012C4C:
- bl sub_8010688
- movs r0, 0xC
- strb r0, [r6, 0xC]
- b _08012F50
-_08012C56:
- movs r0, 0x9
- strb r0, [r6, 0xC]
- b _08012F50
-_08012C5C:
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r0, 0x2
- bl ReadAsU16
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0x10
- bl sub_8010714
- cmp r0, 0x1
- bne _08012D4A
- ldrb r0, [r6, 0x19]
- cmp r0, 0x5
- bne _08012D04
- ldr r1, [r6]
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x1B]
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
- ldrb r0, [r6, 0x13]
- adds r0, 0x1
- strb r0, [r6, 0x13]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- movs r3, 0xF
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0
- ands r0, r1
- cmp r2, r0
- bne _08012D40
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- bne _08012CBC
- cmp r2, 0x4
- bne _08012CC4
-_08012CBC:
- strb r3, [r6, 0xC]
- b _08012CE0
- .pool
-_08012CC4:
- ldr r0, =gStringVar1
- ldrb r2, [r6, 0x13]
- lsls r2, 5
- subs r2, 0x20
- ldr r1, [r6]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_082EDC9C
- bl StringExpandPlaceholders
- movs r0, 0xD
- strb r0, [r6, 0xC]
-_08012CE0:
- bl sub_800EF38
- ldrb r0, [r6, 0x11]
- ldr r1, =gUnknown_02022C2D
- ldrb r1, [r1]
- ldrb r2, [r6, 0x13]
- bl sub_80124EC
- b _08012D44
- .pool
-_08012D04:
- ldrb r1, [r6, 0x13]
- lsls r1, 5
- ldr r0, [r6]
- adds r0, r1
- adds r4, r0, 0
- adds r4, 0x10
- adds r0, 0x2
- bl ReadAsU16
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8011DC0
- ldr r1, [r6]
- ldrb r0, [r6, 0x13]
- lsls r0, 5
- adds r1, r0
- ldrb r2, [r1, 0x1A]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r6]
- bl sub_8013398
- ldrb r0, [r6, 0x12]
- bl sub_81AE70C
-_08012D40:
- movs r0, 0x4
- strb r0, [r6, 0xC]
-_08012D44:
- movs r0, 0
- strb r0, [r6, 0x19]
- b _08012F50
-_08012D4A:
- cmp r0, 0x2
- beq _08012D50
- b _08012F50
-_08012D50:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- b _08012E5C
-_08012D5A:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012D6C
- b _08012F50
-_08012D6C:
- movs r0, 0xE
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012D78:
- ldrb r0, [r6, 0xE]
- adds r0, 0x1
- strb r0, [r6, 0xE]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x78
- bhi _08012D88
- b _08012F50
-_08012D88:
- b _08012DCE
-_08012D8A:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDC5C
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012D9C
- b _08012F50
-_08012D9C:
- movs r0, 0x10
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012DA8:
- adds r0, r6, 0
- adds r0, 0xD
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08012DCE
- cmp r1, 0
- bgt _08012DC8
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012DD4
- b _08012F50
-_08012DC8:
- cmp r1, 0x1
- beq _08012DD4
- b _08012F50
-_08012DCE:
- movs r0, 0x11
- strb r0, [r6, 0xC]
- b _08012F50
-_08012DD4:
- ldr r0, =gUnknown_02022C2D
- ldrb r1, [r0]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0
- beq _08012DEC
- movs r0, 0x1E
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012DEC:
- movs r0, 0x13
- strb r0, [r6, 0xC]
- b _08012F50
-_08012DF2:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDC78
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08012E04
- b _08012F50
-_08012E04:
- movs r0, 0x14
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012E10:
- adds r0, r6, 0
- adds r0, 0xD
- movs r1, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08012EC6
- cmp r1, 0
- bgt _08012E30
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012E36
- b _08012F50
-_08012E30:
- cmp r1, 0x1
- beq _08012E36
- b _08012F50
-_08012E36:
- ldr r0, =gUnknown_02022C2D
- ldrb r2, [r0]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- beq _08012E4C
- movs r0, 0xF
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012E4C:
- movs r3, 0xF
- ldrb r1, [r6, 0x13]
- adds r0, r3, 0
- ands r0, r2
- cmp r1, r0
- bne _08012E5C
- strb r3, [r6, 0xC]
- b _08012F50
-_08012E5C:
- movs r0, 0x4
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E62:
- adds r0, r6, 0
- movs r1, 0x7
- movs r2, 0x1D
- bl sub_801320C
- lsls r0, 24
- cmp r0, 0
- bne _08012F50
- movs r0, 0x12
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E78:
- bl sub_800EF1C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08012EAE
- movs r0, 0
- bl sub_800EF58
- cmp r0, 0
- beq _08012E94
- movs r0, 0x1A
- strb r0, [r6, 0xC]
- b _08012F50
-_08012E94:
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 17
- cmp r0, r1
- bls _08012F50
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- movs r0, 0
- strb r0, [r6, 0xD]
- b _08012F50
-_08012EAE:
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- strb r1, [r6, 0xD]
- b _08012F50
-_08012EB6:
- adds r0, r6, 0
- adds r0, 0xD
- ldr r1, =gUnknown_082EDD58
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08012F50
-_08012EC6:
- movs r0, 0x17
- strb r0, [r6, 0xC]
- b _08012F50
- .pool
-_08012ED0:
- bl sub_800E084
- bl sub_800EDD4
- adds r0, r6, 0
- bl sub_8012F64
- ldrb r0, [r6, 0xC]
- adds r0, 0x1
- strb r0, [r6, 0xC]
- b _08012F50
-_08012EE6:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- b _08012F50
- .pool
-_08012EFC:
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
- ldr r1, =gSpecialVar_Result
- movs r0, 0x8
- strh r0, [r1]
- b _08012F50
- .pool
-_08012F14:
- bl sub_8011A80
- cmp r0, 0
- beq _08012F22
- movs r0, 0x1D
- strb r0, [r6, 0xC]
- b _08012F50
-_08012F22:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012F50
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- bl sub_80126CC
- cmp r0, 0
- beq _08012F3A
- bl sub_801103C
-_08012F3A:
- movs r0, 0x1
- bl sub_8011068
- bl sub_80149C4
- adds r0, r6, 0
- bl sub_8012F64
- adds r0, r4, 0
- bl DestroyTask
-_08012F50:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8012780
-
- thumb_func_start sub_8012F64
-sub_8012F64: @ 8012F64
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x11]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0x11]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r4, 0x12]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r4, 0x10]
- bl ClearWindowTilemap
- ldrb r0, [r4, 0xF]
- movs r1, 0
- bl sub_819746C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r4, 0x11]
- bl RemoveWindow
- ldrb r0, [r4, 0xF]
- bl RemoveWindow
- ldrb r0, [r4, 0x10]
- bl RemoveWindow
- ldrb r0, [r4, 0x17]
- bl DestroyTask
- ldr r0, [r4, 0x8]
- bl Free
- ldr r0, [r4]
- bl Free
- ldr r0, [r4, 0x4]
- bl Free
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8012F64
-
- thumb_func_start sub_8012FC4
-sub_8012FC4: @ 8012FC4
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013070
- lsls r0, 2
- ldr r1, =_08012FE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08012FE0:
- .4byte _08013050
- .4byte _08013050
- .4byte _08013068
- .4byte _08013050
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013070
- .4byte _08013070
- .4byte _08013050
- .4byte _08013068
- .4byte _08013068
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013070
- .4byte _08013058
- .4byte _08013058
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013068
- .4byte _08013050
-_08013050:
- ldr r1, =gUnknown_082EDBE8
- b _0801305A
- .pool
-_08013058:
- ldr r1, =gUnknown_082EDC0C
-_0801305A:
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013070
- .pool
-_08013068:
- ldr r1, =gUnknown_082EDC34
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013070:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8012FC4
-
- thumb_func_start sub_8013078
-sub_8013078: @ 8013078
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x44
- beq _08013098
- cmp r1, 0x44
- bgt _0801308E
- cmp r1, 0x41
- beq _08013098
- b _080130AA
-_0801308E:
- cmp r2, 0x45
- beq _080130A4
- cmp r2, 0x48
- beq _080130A4
- b _080130AA
-_08013098:
- ldr r1, =gUnknown_082EE560
- bl StringExpandPlaceholders
- b _080130AA
- .pool
-_080130A4:
- ldr r1, =gUnknown_082EE57C
- bl StringExpandPlaceholders
-_080130AA:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013078
-
- thumb_func_start sub_80130B4
-sub_80130B4: @ 80130B4
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013158
- lsls r0, 2
- ldr r1, =_080130D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080130D0:
- .4byte _08013140
- .4byte _08013140
- .4byte _08013150
- .4byte _08013140
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013158
- .4byte _08013158
- .4byte _08013140
- .4byte _08013150
- .4byte _08013150
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013158
- .4byte _08013140
- .4byte _08013140
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013150
- .4byte _08013140
-_08013140:
- ldr r1, =gUnknown_082EFC3C
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013158
- .pool
-_08013150:
- ldr r1, =gUnknown_082EFC54
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013158:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80130B4
-
- thumb_func_start sub_8013160
-sub_8013160: @ 8013160
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x1B
- bhi _08013204
- lsls r0, 2
- ldr r1, =_0801317C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0801317C:
- .4byte _080131EC
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131EC
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _08013204
- .4byte _08013204
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _08013204
- .4byte _080131EC
- .4byte _080131EC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131FC
- .4byte _080131EC
-_080131EC:
- ldr r1, =gUnknown_082EDDF4
- adds r0, r2, 0
- bl StringExpandPlaceholders
- b _08013204
- .pool
-_080131FC:
- ldr r1, =gUnknown_082EDE0C
- adds r0, r2, 0
- bl StringExpandPlaceholders
-_08013204:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_8013160
-
- thumb_func_start sub_801320C
-sub_801320C: @ 801320C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r0, [r4]
- bl sub_80132D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08013228
- cmp r0, 0x2
- beq _0801325C
- b _08013270
-_08013228:
- movs r0, 0x2
- bl PlaySE
- ldrb r0, [r4, 0x12]
- bl sub_81AE70C
- ldr r0, =gStringVar2
- ldrb r2, [r4, 0x13]
- lsls r2, 5
- ldr r1, [r4]
- adds r1, r2
- bl sub_8018404
- ldr r0, =gStringVar4
- ldr r1, =gUnknown_02022C2C
- ldrb r1, [r1]
- bl sub_8012FC4
- strb r6, [r4, 0xC]
- b _08013270
- .pool
-_0801325C:
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- ldrb r0, [r4, 0x12]
- bl sub_81AE70C
- strb r5, [r4, 0xC]
- movs r0, 0x1
- b _08013272
-_08013270:
- movs r0, 0
-_08013272:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801320C
-
- thumb_func_start sub_8013278
-sub_8013278: @ 8013278
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, =gUnknown_02022C30
- ldr r3, [r0]
- movs r2, 0
- ldr r1, [r3]
- lsls r0, r4, 5
- adds r1, r0
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- beq _080132A8
- cmp r0, 0x2
- beq _080132B2
- b _080132B4
- .pool
-_080132A8:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _080132B4
- movs r2, 0x2
- b _080132B4
-_080132B2:
- movs r2, 0x1
-_080132B4:
- lsls r0, r4, 5
- ldr r3, [r3]
- adds r3, r0
- str r2, [sp]
- lsls r0, r4, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r6, 0
- bl sub_80178A0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8013278
-
- thumb_func_start sub_80132D4
-sub_80132D4: @ 80132D4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r0, =gUnknown_02022C30
- ldr r5, [r0]
- movs r0, 0
- mov r8, r0
- movs r3, 0x1
-_080132E8:
- ldr r0, [r5]
- lsls r6, r3, 5
- adds r2, r0, r6
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- mov r9, r0
- cmp r0, 0x1
- bne _08013348
- ldr r1, [r5, 0x4]
- adds r0, r2, 0
- str r3, [sp]
- bl sub_80176E4
- adds r4, r0, 0
- ldr r3, [sp]
- cmp r4, 0xFF
- beq _08013330
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 2
- adds r1, r6
- adds r0, r2
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r0, [r5]
- adds r0, r6
- mov r1, r9
- strh r1, [r0, 0x18]
- b _08013348
- .pool
-_08013330:
- ldr r2, [r5]
- adds r2, r6
- ldrb r1, [r2, 0x1A]
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- strb r1, [r2, 0x1A]
- movs r7, 0x2
- mov r8, r7
-_08013348:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _080132E8
- movs r6, 0
- movs r4, 0x3
-_08013356:
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- adds r1, r6
- movs r2, 0x5
- bl sub_8017734
- adds r6, 0x1C
- subs r4, 0x1
- ldr r0, [r5]
- cmp r4, 0
- bge _08013356
- mov r1, r8
- cmp r1, 0x2
- beq _08013388
- adds r1, r0, 0
- movs r4, 0x4
-_08013376:
- ldrb r0, [r1, 0x1B]
- cmp r0, 0
- beq _08013380
- movs r2, 0x1
- mov r8, r2
-_08013380:
- adds r1, 0x20
- subs r4, 0x1
- cmp r4, 0
- bge _08013376
-_08013388:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80132D4
-
- thumb_func_start sub_8013398
-sub_8013398: @ 8013398
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, =gUnknown_02022C30
- ldr r4, [r0]
- movs r3, 0
-_080133A8:
- ldr r0, [r4, 0x8]
- lsls r2, r3, 5
- ldr r1, [r4]
- adds r0, r2
- adds r1, r2
- ldm r1!, {r2,r5,r6}
- stm r0!, {r2,r5,r6}
- ldm r1!, {r2,r5,r7}
- stm r0!, {r2,r5,r7}
- ldm r1!, {r6,r7}
- stm r0!, {r6,r7}
- adds r3, 0x1
- ldr r0, [r4, 0x8]
- ldr r1, [r4]
- cmp r3, 0x4
- ble _080133A8
- movs r5, 0
- mov r8, r1
- mov r9, r0
- movs r3, 0x4
-_080133D0:
- mov r1, r9
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _080133F2
- lsls r0, r5, 5
- add r0, r8
- ldm r1!, {r2,r6,r7}
- stm r0!, {r2,r6,r7}
- ldm r1!, {r2,r6,r7}
- stm r0!, {r2,r6,r7}
- ldm r1!, {r2,r6}
- stm r0!, {r2,r6}
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080133F2:
- movs r7, 0x20
- add r9, r7
- subs r3, 0x1
- cmp r3, 0
- bge _080133D0
- mov r10, r5
- cmp r5, 0x4
- bhi _08013454
- ldr r0, =gUnknown_082F045C
- mov r9, r0
- movs r1, 0
- mov r12, r1
- movs r2, 0x4
- negs r2, r2
- mov r8, r2
-_08013410:
- ldr r1, [r4]
- lsls r3, r5, 5
- adds r1, r3
- mov r0, r9
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r0, [r4]
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x18]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x1A]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x1A]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1A]
- ldr r0, [r4]
- adds r0, r3
- mov r6, r12
- strb r6, [r0, 0x1B]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _08013410
-_08013454:
- movs r3, 0
- ldr r1, [r4]
- ldrb r0, [r1, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013474
- ldrb r0, [r1, 0x1B]
- cmp r0, 0x40
- bne _08013474
- mov r10, r3
- b _08013494
- .pool
-_08013474:
- adds r3, 0x1
- cmp r3, 0x4
- bgt _08013494
- lsls r0, r3, 5
- adds r2, r1, r0
- ldrb r0, [r2, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013474
- ldrb r0, [r2, 0x1B]
- cmp r0, 0x40
- bne _08013474
- lsls r0, r3, 24
- lsrs r0, 24
- mov r10, r0
-_08013494:
- mov r0, r10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8013398
-
- thumb_func_start BerryBlenderLinkJoinGroup
-BerryBlenderLinkJoinGroup: @ 80134A4
- push {lr}
- ldr r0, =sub_80134E8
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gUnknown_02022C30
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r1, r0
- str r1, [r2]
- ldr r0, =gUnknown_03000DA4
- str r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x8]
- strb r0, [r1, 0x9]
- ldr r1, =gSpecialVar_Result
- strh r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end BerryBlenderLinkJoinGroup
-
- thumb_func_start sub_80134E8
-sub_80134E8: @ 80134E8
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gUnknown_02022C30
- ldr r6, [r0]
- ldrb r0, [r6, 0x8]
- cmp r0, 0x17
- bls _080134FC
- b _08013B82
-_080134FC:
- lsls r0, 2
- ldr r1, =_08013510
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013510:
- .4byte _08013570
- .4byte _080135E0
- .4byte _0801360C
- .4byte _080136D8
- .4byte _08013B82
- .4byte _08013788
- .4byte _080137C4
- .4byte _08013A10
- .4byte _08013A2C
- .4byte _08013A7A
- .4byte _08013A8C
- .4byte _08013B14
- .4byte _08013A8C
- .4byte _08013AE4
- .4byte _08013A8C
- .4byte _08013B24
- .4byte _08013B82
- .4byte _08013B82
- .4byte _08013A8C
- .4byte _08013B44
- .4byte _08013A8C
- .4byte _08013B78
- .4byte _08013B82
- .4byte _08013B68
-_08013570:
- ldr r0, =gSpecialVar_0x8004
- ldrh r2, [r0]
- adds r3, r0, 0
- cmp r2, 0x14
- bne _08013590
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08013590
- adds r0, r2, 0x1
- strh r0, [r3]
-_08013590:
- ldr r2, =gUnknown_02022C2C
- ldr r1, =gUnknown_082F0530
- ldrh r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldrb r0, [r2]
- movs r1, 0
- movs r2, 0
- bl sub_8010F84
- bl sub_800B488
- bl OpenLink
- bl sub_8011C5C
- movs r0, 0x70
- bl AllocZeroed
- str r0, [r6, 0x4]
- movs r0, 0x80
- lsls r0, 2
- bl AllocZeroed
- str r0, [r6]
- movs r0, 0x1
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_080135E0:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r2, =gUnknown_082EFB70
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080135FC
- b _08013B82
-_080135FC:
- movs r0, 0x2
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_0801360C:
- ldr r0, [r6, 0x4]
- movs r1, 0x4
- bl sub_80175EC
- ldr r0, [r6]
- movs r1, 0x10
- bl sub_8017580
- ldr r0, [r6, 0x4]
- ldr r1, =gSpecialVar_0x8004
- ldrh r1, [r1]
- bl sub_8016FC0
- movs r4, 0
- strb r0, [r6, 0x11]
- ldr r0, =gUnknown_082F00BC
- bl AddWindow
- strb r0, [r6, 0xC]
- ldr r0, =gUnknown_082F0174
- bl AddWindow
- strb r0, [r6, 0xB]
- ldr r0, =gUnknown_082F017C
- bl AddWindow
- strb r0, [r6, 0xD]
- ldrb r0, [r6, 0xC]
- movs r1, 0x22
- bl FillWindowPixelBuffer
- ldrb r0, [r6, 0xC]
- ldr r2, =gUnknown_082EF7DC
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x8
- bl sub_80173E0
- ldrb r0, [r6, 0xC]
- bl PutWindowTilemap
- ldrb r0, [r6, 0xC]
- movs r1, 0x2
- bl CopyWindowToVram
- ldrb r0, [r6, 0xB]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldr r0, =gMultiuseListMenuTemplate
- adds r2, r0, 0
- ldr r1, =gUnknown_082F0204
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldrb r1, [r6, 0xB]
- strb r1, [r0, 0x10]
- movs r1, 0
- movs r2, 0
- bl ListMenuInit
- strb r0, [r6, 0xE]
- ldrb r0, [r6, 0xD]
- movs r1, 0
- bl NewMenuHelpers_DrawStdWindowFrame
- ldrb r0, [r6, 0xD]
- bl PutWindowTilemap
- ldrb r0, [r6, 0xD]
- bl sub_80125BC
- ldrb r0, [r6, 0xD]
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- strb r4, [r6, 0xF]
- movs r0, 0x3
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_080136D8:
- bl sub_8013E44
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080136F2
- cmp r4, 0x1
- beq _080136EA
- b _08013A72
-_080136EA:
- movs r0, 0x2
- bl PlaySE
- b _08013A72
-_080136F2:
- ldrb r0, [r6, 0xE]
- bl ListMenuHandleInputGetItemId
- adds r4, r0, 0
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08013770
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08013770
- ldr r0, [r6]
- lsls r1, r4, 5
- adds r0, r1
- ldrb r1, [r0, 0xA]
- ldrb r0, [r0, 0x1A]
- lsls r0, 30
- lsrs r0, 30
- cmp r0, 0x1
- bne _08013768
- lsrs r0, r1, 7
- cmp r0, 0
- bne _08013768
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013B8C
- adds r1, r0, 0
- cmp r1, 0
- bne _08013744
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013BD8
- movs r0, 0x5
- b _08013756
- .pool
-_08013744:
- ldr r0, =gStringVar4
- ldr r2, =gUnknown_082EDD50
- subs r1, 0x1
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x12
-_08013756:
- strb r0, [r6, 0x8]
- movs r0, 0x6E
- bl PlaySE
- b _08013B82
- .pool
-_08013768:
- movs r0, 0x7
- bl PlaySE
- b _08013B82
-_08013770:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0801377E
- b _08013B82
-_0801377E:
- movs r0, 0xA
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013788:
- ldr r4, =gStringVar4
- ldr r0, =gUnknown_02022C2C
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80130B4
- adds r0, r6, 0
- adds r0, 0x9
- adds r1, r4, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080137A6
- b _08013B82
-_080137A6:
- ldr r0, =gStringVar1
- ldrb r2, [r6, 0xF]
- lsls r2, 5
- ldr r1, [r6]
- adds r1, r2
- bl sub_8018404
- b _08013A86
- .pool
-_080137C4:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801387A
- ldr r4, =gUnknown_02022C2C
- ldr r1, [r6]
- ldrb r0, [r6, 0xF]
- lsls r0, 5
- adds r1, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 25
- lsrs r0, 25
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- bl sub_8011A64
- ldrb r0, [r4]
- subs r0, 0x1
- cmp r0, 0x1B
- bhi _0801387A
- lsls r0, 2
- ldr r1, =_08013804
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013804:
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _0801387A
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
- .4byte _08013874
-_08013874:
- movs r0, 0x14
- strb r0, [r6, 0x8]
- b _08013B82
-_0801387A:
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x8
- bls _0801388A
- b _080139EC
-_0801388A:
- lsls r0, 2
- ldr r1, =_08013898
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013898:
- .4byte _080138BC
- .4byte _080138C2
- .4byte _080139EC
- .4byte _080139EC
- .4byte _080138C8
- .4byte _080138C2
- .4byte _08013934
- .4byte _080139EC
- .4byte _080138C2
-_080138BC:
- movs r0, 0xC
- strb r0, [r6, 0x8]
- b _080139EC
-_080138C2:
- movs r0, 0xE
- strb r0, [r6, 0x8]
- b _080139EC
-_080138C8:
- ldr r5, =gStringVar4
- ldr r4, =gUnknown_02022C2C
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8013160
- adds r0, r6, 0
- adds r0, 0x9
- adds r1, r5, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _080138E6
- b _080139EC
-_080138E6:
- ldrb r0, [r4]
- cmp r0, 0x1C
- beq _080138F0
- cmp r0, 0xE
- bne _08013904
-_080138F0:
- movs r0, 0xC
- movs r1, 0
- bl sub_8011A64
- b _080139EC
- .pool
-_08013904:
- movs r0, 0x7
- movs r1, 0
- bl sub_8011A64
- ldr r0, =gStringVar1
- ldr r2, =gUnknown_082F0048
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- ldr r1, =gUnknown_082EDE48
- adds r0, r5, 0
- bl StringExpandPlaceholders
- b _080139EC
- .pool
-_08013934:
- ldrb r0, [r6, 0x15]
- adds r2, r0, 0
- cmp r2, 0xF0
- bls _0801395C
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gStringVar4
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _080139EC
- movs r0, 0xC
- movs r1, 0
- bl sub_8011A64
- movs r0, 0
- b _080139EA
- .pool
-_0801395C:
- ldr r0, =gUnknown_02022C2C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x1B
- bhi _080139E8
- lsls r0, 2
- ldr r1, =_08013978
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08013978:
- .4byte _080139EC
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139EC
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139E8
- .4byte _080139EC
-_080139E8:
- adds r0, r2, 0x1
-_080139EA:
- strb r0, [r6, 0x15]
-_080139EC:
- bl sub_8011A74
- lsls r0, 24
- cmp r0, 0
- beq _080139F8
- b _08013B82
-_080139F8:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08013A06
- b _08013B82
-_08013A06:
- movs r0, 0x7
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013A10:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gUnknown_082EDE64
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- bne _08013A22
- b _08013B82
-_08013A22:
- movs r0, 0x8
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013A2C:
- adds r4, r6, 0
- adds r4, 0x9
- bl sub_8011A74
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80170B8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08013A6A
- cmp r1, r0
- bgt _08013A58
- subs r0, 0x2
- cmp r1, r0
- beq _08013A6E
- b _08013B82
-_08013A58:
- cmp r1, 0
- beq _08013A62
- cmp r1, 0x1
- beq _08013A6A
- b _08013B82
-_08013A62:
- bl sub_80106D4
- movs r0, 0x9
- b _08013A70
-_08013A6A:
- movs r0, 0x5
- b _08013A70
-_08013A6E:
- movs r0, 0x6
-_08013A70:
- strb r0, [r6, 0x8]
-_08013A72:
- ldrb r0, [r6, 0xE]
- bl sub_81AE70C
- b _08013B82
-_08013A7A:
- bl sub_8011A74
- lsls r0, 24
- cmp r0, 0
- bne _08013A86
- b _08013B82
-_08013A86:
- movs r0, 0x6
- strb r0, [r6, 0x8]
- b _08013B82
-_08013A8C:
- ldrb r0, [r6, 0xD]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0xD]
- movs r1, 0
- bl sub_819746C
- ldrb r0, [r6, 0xE]
- movs r1, 0
- movs r2, 0
- bl DestroyListMenuTask
- ldrb r0, [r6, 0xC]
- bl ClearWindowTilemap
- ldrb r0, [r6, 0xB]
- movs r1, 0
- bl sub_819746C
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- ldrb r0, [r6, 0xD]
- bl RemoveWindow
- ldrb r0, [r6, 0xB]
- bl RemoveWindow
- ldrb r0, [r6, 0xC]
- bl RemoveWindow
- ldrb r0, [r6, 0x11]
- bl DestroyTask
- ldr r0, [r6]
- bl Free
- ldr r0, [r6, 0x4]
- bl Free
- ldrb r0, [r6, 0x8]
- adds r0, 0x1
- strb r0, [r6, 0x8]
- b _08013B82
-_08013AE4:
- bl sub_800E084
- adds r5, r6, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDE9C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08013B82
- ldr r0, =gSpecialVar_Result
- movs r1, 0x6
- b _08013B58
- .pool
-_08013B14:
- bl sub_800E084
- ldr r0, =gSpecialVar_Result
- movs r1, 0x5
- b _08013B58
- .pool
-_08013B24:
- bl sub_800E084
- adds r5, r6, 0
- adds r5, 0x9
- ldr r4, =gUnknown_082EDE9C
- bl sub_8011A74
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- b _08013B4A
- .pool
-_08013B44:
- adds r0, r6, 0
- adds r0, 0x9
- ldr r1, =gStringVar4
-_08013B4A:
- bl sub_8017064
- lsls r0, 24
- cmp r0, 0
- beq _08013B82
- ldr r0, =gSpecialVar_Result
- movs r1, 0x8
-_08013B58:
- strh r1, [r0]
- movs r0, 0x17
- strb r0, [r6, 0x8]
- b _08013B82
- .pool
-_08013B68:
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80173D4
- bl sub_800EDD4
- b _08013B82
-_08013B78:
- bl sub_80149C4
- adds r0, r4, 0
- bl DestroyTask
-_08013B82:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80134E8
-
thumb_func_start sub_8013B8C
sub_8013B8C: @ 8013B8C
push {lr}
@@ -5839,7 +3639,7 @@ _08015D4C:
adds r1, r2
adds r1, r3
ldr r1, [r1]
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08015D8C
@@ -5951,7 +3751,7 @@ _08015E94:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08015EA8
@@ -6247,7 +4047,7 @@ _08016158:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08016170
@@ -6565,7 +4365,7 @@ _0801645C:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF20C
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _0801646E
@@ -6734,7 +4534,7 @@ _080165DC:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF5B8
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _080165EE
@@ -6755,7 +4555,7 @@ _08016610:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF1EC
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _08016622
@@ -6906,7 +4706,7 @@ _0801676C:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gUnknown_082EF4C4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
bne _0801677E
@@ -6984,7 +4784,7 @@ _08016838:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
beq _08016878
@@ -7003,7 +4803,7 @@ _08016864:
adds r0, r6, 0
adds r0, 0x16
ldr r1, =gStringVar4
- bl sub_8017064
+ bl PrintOnTextbox
lsls r0, 24
cmp r0, 0
beq _08016878
@@ -8021,8 +5821,8 @@ _0801705E:
bx r1
thumb_func_end sub_801704C
- thumb_func_start sub_8017064
-sub_8017064: @ 8017064
+ thumb_func_start PrintOnTextbox
+PrintOnTextbox: @ 8017064
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
@@ -8062,7 +5862,7 @@ _080170B0:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8017064
+ thumb_func_end PrintOnTextbox
thumb_func_start sub_80170B8
sub_80170B8: @ 80170B8
diff --git a/data/scripts/contest_hall.inc b/data/scripts/contest_hall.inc
index a6a0ebcc2..08af093ef 100644
--- a/data/scripts/contest_hall.inc
+++ b/data/scripts/contest_hall.inc
@@ -1761,7 +1761,7 @@ LilycoveCity_ContestLobby_Text_27C186: @ 827C186
LilycoveCity_ContestLobby_Text_27C1C3: @ 827C1C3
.string "Which POKéMON would you like to enter?$"
-LilycoveCity_ContestLobby_Text_27C1EA: @ 827C1EA
+Text_DecideLinkLeader: @ 827C1EA
.string "Please decide which of you will\n"
.string "become the GROUP LEADER.\p"
.string "The other players must then choose\n"
diff --git a/data/scripts/maps/LilycoveCity_ContestLobby.inc b/data/scripts/maps/LilycoveCity_ContestLobby.inc
index 1c4d21970..0db441592 100644
--- a/data/scripts/maps/LilycoveCity_ContestLobby.inc
+++ b/data/scripts/maps/LilycoveCity_ContestLobby.inc
@@ -877,7 +877,7 @@ LilycoveCity_ContestLobby_EventScript_21ABA0:: @ 821ABA0
return
LilycoveCity_ContestLobby_EventScript_21ABA6:: @ 821ABA6
- message LilycoveCity_ContestLobby_Text_27C1EA
+ message Text_DecideLinkLeader
waitmessage
multichoice 16, 6, 81, 0
switch VAR_RESULT
diff --git a/data/scripts/pokeblocks.inc b/data/scripts/pokeblocks.inc
index 39cca8244..81a83c857 100644
--- a/data/scripts/pokeblocks.inc
+++ b/data/scripts/pokeblocks.inc
@@ -1,22 +1,36 @@
-LilycoveCity_ContestLobby_Text_292DEE: @ 8292DEE
+@ The scripts there concern pokeblock events in LilyCove City's Contest Lobby
+
+@ 'PblockX' number of offline opponents
+@ 'Ask' talking with a blender machine
+@ 'Yes' agreeing to blend
+@ 'No' refusing to blend
+@ 'KnowHow' asking if the player knows the blending process
+@ 'Explain' explaining the blender process
+@ 'Start' start blending
+@ 'TalkX' talking with a person next to a blender machine
+@ 'NoBerries' can't blend cause they have no berries
+@ 'FullPokeblock' can't blend cause full pokeblock case
+@ 'NoPokeblock' can't blend cause they have no pokeblock case
+
+Text_Pblock1_Ask: @ 8292DEE
.string "Oh? Did you want to make some {POKEBLOCK}S\n"
.string "with this old-timer?$"
-LilycoveCity_ContestLobby_Text_292E28: @ 8292E28
+Text_Pblock1_Yes: @ 8292E28
.string "Excellent!$"
-LilycoveCity_ContestLobby_Text_292E33: @ 8292E33
+Text_Pblock1_No: @ 8292E33
.string "Oh…\n"
.string "You’ve made this old-timer sad…$"
-LilycoveCity_ContestLobby_Text_292E57: @ 8292E57
+Text_Pblock1_KnowHow: @ 8292E57
.string "Do you know how to make a {POKEBLOCK}?$"
-LilycoveCity_ContestLobby_Text_292E78: @ 8292E78
+Text_Pblock1_Start: @ 8292E78
.string "Let’s get started, then!\p"
.string "Let’s BERRY BLENDER!$"
-LilycoveCity_ContestLobby_Text_292EA6: @ 8292EA6
+Text_Pblock1_Explain: @ 8292EA6
.string "Okay, a little explanation, then.\p"
.string "Oh, don’t worry, it’s quite simple.\p"
.string "When the BLENDER’s arrow comes to\n"
@@ -24,7 +38,7 @@ LilycoveCity_ContestLobby_Text_292EA6: @ 8292EA6
.string "That’s all you have to do.\n"
.string "You’ll see how easy it is when you try.$"
-LilycoveCity_ContestLobby_Text_292F77: @ 8292F77
+Text_Pblock1_NoBerries: @ 8292F77
.string "Oh?\n"
.string "You don’t have any BERRIES?\p"
.string "If you don’t have any BERRIES,\n"
@@ -43,12 +57,12 @@ LilycoveCity_ContestLobby_Text_29307D: @ 829307D
.string "But, I don’t have any to spare today.\n"
.string "We’ll have to do this another time.$"
-LilycoveCity_ContestLobby_Text_293101: @ 8293101
+Text_Pblock1_FullPokeblock: @ 8293101
.string "But your {POKEBLOCK} CASE is full.\p"
.string "You should use some {POKEBLOCK}S before\n"
.string "you come see me again.$"
-LilycoveCity_ContestLobby_Text_293157: @ 8293157
+Text_Pblock1_NoPokeblock: @ 8293157
.string "But you don’t have a {POKEBLOCK} CASE.\p"
.string "You should get a {POKEBLOCK} CASE and then\n"
.string "come see me.$"
@@ -171,43 +185,43 @@ LilycoveCity_ContestLobby_Text_29388F: @ 829388F
.string "I’m going to make delicious {POKEBLOCK}S\n"
.string "and make my POKéMON cuter.$"
-LilycoveCity_ContestLobby_Text_2938CD: @ 82938CD
+Text_PblockLink_Ask: @ 82938CD
.string "{POKEBLOCK}S will be made with your friends \n"
.string "from BERRIES in the BERRY BLENDER.\p"
.string "Is it okay to save the game before\n"
.string "linking with your friends?$"
-LilycoveCity_ContestLobby_Text_293955: @ 8293955
+Text_PblockLink_Searching: @ 8293955
.string "Searching for your friends…\n"
.string "… … B Button: Cancel$"
-LilycoveCity_ContestLobby_Text_293986: @ 8293986
+Text_PblockLink_1Arrived: @ 8293986
.string "{STR_VAR_1} arrived.$"
-LilycoveCity_ContestLobby_Text_293992: @ 8293992
+Text_PblockLink_2Arrived: @ 8293992
.string "{STR_VAR_1} and {STR_VAR_2} arrived.$"
-LilycoveCity_ContestLobby_Text_2939A5: @ 82939A5
+Text_PblockLink_3Arrived: @ 82939A5
.string "{STR_VAR_1}, {STR_VAR_2}, and\n"
.string "{STR_VAR_3} arrived.$"
-LilycoveCity_ContestLobby_Text_2939BD: @ 82939BD
+Text_PblockLink_NoBerries: @ 82939BD
.string "You have no BERRIES.\n"
.string "The BERRY BLENDER can’t be used.$"
-LilycoveCity_ContestLobby_Text_2939F3: @ 82939F3
+Text_PblockLink_FullPokeblock: @ 82939F3
.string "Your {POKEBLOCK} CASE is full.\n"
.string "The BERRY BLENDER can’t be used.$"
-LilycoveCity_ContestLobby_Text_293A2D: @ 8293A2D
+Text_PblockLink_NoPokeblock: @ 8293A2D
.string "You don’t have a {POKEBLOCK} CASE.\n"
.string "The BERRY BLENDER can’t be used.$"
-LilycoveCity_ContestLobby_Text_293A6B: @ 8293A6B
+Text_Pblock1_Talk_0: @ 8293A6B
.string "I love making {POKEBLOCK}S.\p"
.string "I always have some BERRIES with me.$"
-LilycoveCity_ContestLobby_Text_293AA5: @ 8293AA5
+Text_Pblock1_Talk_1: @ 8293AA5
.string "If you’d like, we could make some\n"
.string "{POKEBLOCK}S together using the\l"
.string "BERRY BLENDER.$"
@@ -231,76 +245,76 @@ LilycoveCity_ContestLobby_Text_293BB4: @ 8293BB4
.string "But, I don’t have any to spare today.\n"
.string "Sorry about that.$"
-LilycoveCity_ContestLobby_EventScript_293C3E:: @ 8293C3E
+EventScript_Pblock1_Ask: @ 8293C3E
lockall
checkflag FLAG_0x340
goto_if 0, LilycoveCity_ContestLobby_EventScript_293EFB
setvar VAR_0x8009, 1
applymovement 16, LilycoveCity_ContestLobby_Movement_294053
waitmovement 0
- msgbox LilycoveCity_ContestLobby_Text_292DEE, 5
+ msgbox Text_Pblock1_Ask, 5
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293CEE
- goto LilycoveCity_ContestLobby_EventScript_293C70
+ goto_eq EventScript_Pblock1_Yes
+ goto EventScript_Pblock1_No
end
-LilycoveCity_ContestLobby_EventScript_293C70:: @ 8293C70
- msgbox LilycoveCity_ContestLobby_Text_292E33, 4
+EventScript_Pblock1_No: @ 8293C70
+ msgbox Text_Pblock1_No, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293C7A:: @ 8293C7A
- msgbox LilycoveCity_ContestLobby_Text_292F77, 4
+EventScript_Pblock1_NoBerries: @ 8293C7A
+ msgbox Text_Pblock1_NoBerries, 4
dodailyevents
checkflag FLAG_0x921
goto_eq LilycoveCity_ContestLobby_EventScript_293C92
goto LilycoveCity_ContestLobby_EventScript_293C9C
end
-LilycoveCity_ContestLobby_EventScript_293C92:: @ 8293C92
+LilycoveCity_ContestLobby_EventScript_293C92: @ 8293C92
msgbox LilycoveCity_ContestLobby_Text_29307D, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293C9C:: @ 8293C9C
+LilycoveCity_ContestLobby_EventScript_293C9C: @ 8293C9C
msgbox LilycoveCity_ContestLobby_Text_292FD1, 4
giveitem_std ITEM_PECHA_BERRY
setflag FLAG_0x921
- goto LilycoveCity_ContestLobby_EventScript_293CB9
+ goto EventScript_Pblock1_KnowHow
end
-LilycoveCity_ContestLobby_EventScript_293CB9:: @ 8293CB9
- msgbox LilycoveCity_ContestLobby_Text_292E57, 5
+EventScript_Pblock1_KnowHow: @ 8293CB9
+ msgbox Text_Pblock1_KnowHow, 5
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_293CD2
- goto LilycoveCity_ContestLobby_EventScript_293CE0
+ goto_eq EventScript_Pblock1_Start
+ goto EventScript_Pblock1_Explain
end
-LilycoveCity_ContestLobby_EventScript_293CD2:: @ 8293CD2
- msgbox LilycoveCity_ContestLobby_Text_292E78, 4
- goto LilycoveCity_ContestLobby_EventScript_293D2C
+EventScript_Pblock1_Start: @ 8293CD2
+ msgbox Text_Pblock1_Start, 4
+ goto EventScript_StartBlending
end
-LilycoveCity_ContestLobby_EventScript_293CE0:: @ 8293CE0
- msgbox LilycoveCity_ContestLobby_Text_292EA6, 4
- goto LilycoveCity_ContestLobby_EventScript_293CD2
+EventScript_Pblock1_Explain: @ 8293CE0
+ msgbox Text_Pblock1_Explain, 4
+ goto EventScript_Pblock1_Start
end
-LilycoveCity_ContestLobby_EventScript_293CEE:: @ 8293CEE
+EventScript_Pblock1_Yes: @ 8293CEE
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293D43
+ goto_eq EventScript_Pblock1_NoPokeblock
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_eq LilycoveCity_ContestLobby_EventScript_293D39
+ goto_eq EventScript_Pblock1_FullPokeblock
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_293C7A
- msgbox LilycoveCity_ContestLobby_Text_292E28, 4
- goto LilycoveCity_ContestLobby_EventScript_293CB9
+ goto_eq EventScript_Pblock1_NoBerries
+ msgbox Text_Pblock1_Yes, 4
+ goto EventScript_Pblock1_KnowHow
end
-LilycoveCity_ContestLobby_EventScript_293D2C:: @ 8293D2C
+EventScript_StartBlending: @ 8293D2C
copyvar VAR_0x8004, VAR_0x8009
fadescreen 1
special DoBerryBlending
@@ -308,17 +322,17 @@ LilycoveCity_ContestLobby_EventScript_293D2C:: @ 8293D2C
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293D39:: @ 8293D39
- msgbox LilycoveCity_ContestLobby_Text_293101, 4
+EventScript_Pblock1_FullPokeblock: @ 8293D39
+ msgbox Text_Pblock1_FullPokeblock, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293D43:: @ 8293D43
- msgbox LilycoveCity_ContestLobby_Text_293157, 4
+EventScript_Pblock1_NoPokeblock: @ 8293D43
+ msgbox Text_Pblock1_NoPokeblock, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D
+LilycoveCity_ContestLobby_EventScript_293D4D: @ 8293D4D
lockall
setvar VAR_0x8009, 2
applymovement 10, LilycoveCity_ContestLobby_Movement_2725A2
@@ -330,34 +344,34 @@ LilycoveCity_ContestLobby_EventScript_293D4D:: @ 8293D4D
goto LilycoveCity_ContestLobby_EventScript_293D7D
end
-LilycoveCity_ContestLobby_EventScript_293D7D:: @ 8293D7D
+LilycoveCity_ContestLobby_EventScript_293D7D: @ 8293D7D
msgbox LilycoveCity_ContestLobby_Text_29323D, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293D87:: @ 8293D87
+LilycoveCity_ContestLobby_EventScript_293D87: @ 8293D87
msgbox LilycoveCity_ContestLobby_Text_293394, 4
release
end
-LilycoveCity_ContestLobby_EventScript_293D91:: @ 8293D91
+LilycoveCity_ContestLobby_EventScript_293D91: @ 8293D91
msgbox LilycoveCity_ContestLobby_Text_29328C, 5
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293DAA
goto LilycoveCity_ContestLobby_EventScript_293DB8
end
-LilycoveCity_ContestLobby_EventScript_293DAA:: @ 8293DAA
+LilycoveCity_ContestLobby_EventScript_293DAA: @ 8293DAA
msgbox LilycoveCity_ContestLobby_Text_2932C3, 4
- goto LilycoveCity_ContestLobby_EventScript_293D2C
+ goto EventScript_StartBlending
end
-LilycoveCity_ContestLobby_EventScript_293DB8:: @ 8293DB8
+LilycoveCity_ContestLobby_EventScript_293DB8: @ 8293DB8
msgbox LilycoveCity_ContestLobby_Text_2932F1, 4
goto LilycoveCity_ContestLobby_EventScript_293DAA
end
-LilycoveCity_ContestLobby_EventScript_293DC6:: @ 8293DC6
+LilycoveCity_ContestLobby_EventScript_293DC6: @ 8293DC6
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_293D87
@@ -372,17 +386,17 @@ LilycoveCity_ContestLobby_EventScript_293DC6:: @ 8293DC6
goto_eq LilycoveCity_ContestLobby_EventScript_293E0A
end
-LilycoveCity_ContestLobby_EventScript_293E0A:: @ 8293E0A
+LilycoveCity_ContestLobby_EventScript_293E0A: @ 8293E0A
msgbox LilycoveCity_ContestLobby_Text_29343E, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293E14:: @ 8293E14
+LilycoveCity_ContestLobby_EventScript_293E14: @ 8293E14
msgbox LilycoveCity_ContestLobby_Text_2934A2, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E
+LilycoveCity_ContestLobby_EventScript_293E1E: @ 8293E1E
lockall
setvar VAR_0x8008, 15
setvar VAR_0x8009, 3
@@ -396,34 +410,34 @@ LilycoveCity_ContestLobby_EventScript_293E1E:: @ 8293E1E
goto LilycoveCity_ContestLobby_EventScript_293E5A
end
-LilycoveCity_ContestLobby_EventScript_293E5A:: @ 8293E5A
+LilycoveCity_ContestLobby_EventScript_293E5A: @ 8293E5A
msgbox LilycoveCity_ContestLobby_Text_293558, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293E64:: @ 8293E64
+LilycoveCity_ContestLobby_EventScript_293E64: @ 8293E64
msgbox LilycoveCity_ContestLobby_Text_29367D, 4
release
end
-LilycoveCity_ContestLobby_EventScript_293E6E:: @ 8293E6E
+LilycoveCity_ContestLobby_EventScript_293E6E: @ 8293E6E
msgbox LilycoveCity_ContestLobby_Text_29357E, 5
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293E87
goto LilycoveCity_ContestLobby_EventScript_293E95
end
-LilycoveCity_ContestLobby_EventScript_293E87:: @ 8293E87
+LilycoveCity_ContestLobby_EventScript_293E87: @ 8293E87
msgbox LilycoveCity_ContestLobby_Text_2935B1, 4
- goto LilycoveCity_ContestLobby_EventScript_293D2C
+ goto EventScript_StartBlending
end
-LilycoveCity_ContestLobby_EventScript_293E95:: @ 8293E95
+LilycoveCity_ContestLobby_EventScript_293E95: @ 8293E95
msgbox LilycoveCity_ContestLobby_Text_2935E5, 4
goto LilycoveCity_ContestLobby_EventScript_293E87
end
-LilycoveCity_ContestLobby_EventScript_293EA3:: @ 8293EA3
+LilycoveCity_ContestLobby_EventScript_293EA3: @ 8293EA3
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_293E64
@@ -438,17 +452,17 @@ LilycoveCity_ContestLobby_EventScript_293EA3:: @ 8293EA3
goto_eq LilycoveCity_ContestLobby_EventScript_293EE7
end
-LilycoveCity_ContestLobby_EventScript_293EE7:: @ 8293EE7
+LilycoveCity_ContestLobby_EventScript_293EE7: @ 8293EE7
msgbox LilycoveCity_ContestLobby_Text_293738, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293EF1:: @ 8293EF1
+LilycoveCity_ContestLobby_EventScript_293EF1: @ 8293EF1
msgbox LilycoveCity_ContestLobby_Text_293792, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293EFB:: @ 8293EFB
+LilycoveCity_ContestLobby_EventScript_293EFB: @ 8293EFB
lockall
setvar VAR_0x8009, 1
msgbox LilycoveCity_ContestLobby_Text_2C42F4, 5
@@ -458,12 +472,12 @@ LilycoveCity_ContestLobby_EventScript_293EFB:: @ 8293EFB
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293F1E:: @ 8293F1E
+LilycoveCity_ContestLobby_EventScript_293F1E: @ 8293F1E
msgbox LilycoveCity_ContestLobby_Text_2C439D, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293F28:: @ 8293F28
+LilycoveCity_ContestLobby_EventScript_293F28: @ 8293F28
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_293F8E
@@ -477,49 +491,49 @@ LilycoveCity_ContestLobby_EventScript_293F28:: @ 8293F28
goto_eq LilycoveCity_ContestLobby_EventScript_293F98
end
-LilycoveCity_ContestLobby_EventScript_293F64:: @ 8293F64
+LilycoveCity_ContestLobby_EventScript_293F64: @ 8293F64
msgbox LilycoveCity_ContestLobby_Text_2C43FA, 5
compare VAR_RESULT, 0
call_if 1, LilycoveCity_ContestLobby_EventScript_293F85
msgbox LilycoveCity_ContestLobby_Text_2C451B, 4
- goto LilycoveCity_ContestLobby_EventScript_293D2C
+ goto EventScript_StartBlending
end
-LilycoveCity_ContestLobby_EventScript_293F85:: @ 8293F85
+LilycoveCity_ContestLobby_EventScript_293F85: @ 8293F85
msgbox LilycoveCity_ContestLobby_Text_2C444C, 4
return
-LilycoveCity_ContestLobby_EventScript_293F8E:: @ 8293F8E
+LilycoveCity_ContestLobby_EventScript_293F8E: @ 8293F8E
msgbox LilycoveCity_ContestLobby_Text_2C4573, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293F98:: @ 8293F98
+LilycoveCity_ContestLobby_EventScript_293F98: @ 8293F98
msgbox LilycoveCity_ContestLobby_Text_2C45E8, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_293FA2:: @ 8293FA2
+LilycoveCity_ContestLobby_EventScript_293FA2: @ 8293FA2
msgbox LilycoveCity_ContestLobby_Text_2937F9, 2
end
-LilycoveCity_ContestLobby_EventScript_293FAB:: @ 8293FAB
+LilycoveCity_ContestLobby_EventScript_293FAB: @ 8293FAB
msgbox LilycoveCity_ContestLobby_Text_293842, 2
end
-LilycoveCity_ContestLobby_EventScript_293FB4:: @ 8293FB4
+LilycoveCity_ContestLobby_EventScript_293FB4: @ 8293FB4
msgbox LilycoveCity_ContestLobby_Text_29388F, 2
end
-LilycoveCity_ContestLobby_EventScript_293FBD:: @ 8293FBD
+LilycoveCity_ContestLobby_EventScript_293FBD: @ 8293FBD
setvar VAR_0x8008, 15
goto LilycoveCity_ContestLobby_EventScript_293FC8
end
-LilycoveCity_ContestLobby_EventScript_293FC8:: @ 8293FC8
+LilycoveCity_ContestLobby_EventScript_293FC8: @ 8293FC8
lock
faceplayer
- msgbox LilycoveCity_ContestLobby_Text_293A6B, 4
+ msgbox Text_Pblock1_Talk_0, 4
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_293FEE
@@ -527,12 +541,12 @@ LilycoveCity_ContestLobby_EventScript_293FC8:: @ 8293FC8
goto_eq LilycoveCity_ContestLobby_EventScript_293FF8
end
-LilycoveCity_ContestLobby_EventScript_293FEE:: @ 8293FEE
- msgbox LilycoveCity_ContestLobby_Text_293AA5, 4
+LilycoveCity_ContestLobby_EventScript_293FEE: @ 8293FEE
+ msgbox Text_Pblock1_Talk_1, 4
release
end
-LilycoveCity_ContestLobby_EventScript_293FF8:: @ 8293FF8
+LilycoveCity_ContestLobby_EventScript_293FF8: @ 8293FF8
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
goto_eq LilycoveCity_ContestLobby_EventScript_294028
@@ -545,12 +559,12 @@ LilycoveCity_ContestLobby_EventScript_293FF8:: @ 8293FF8
goto LilycoveCity_ContestLobby_EventScript_294032
end
-LilycoveCity_ContestLobby_EventScript_294028:: @ 8294028
+LilycoveCity_ContestLobby_EventScript_294028: @ 8294028
msgbox LilycoveCity_ContestLobby_Text_293BB4, 4
release
end
-LilycoveCity_ContestLobby_EventScript_294032:: @ 8294032
+LilycoveCity_ContestLobby_EventScript_294032: @ 8294032
msgbox LilycoveCity_ContestLobby_Text_293AF0, 4
giveitem_std ITEM_PECHA_BERRY
setflag FLAG_0x921
@@ -562,73 +576,73 @@ LilycoveCity_ContestLobby_Movement_294053: @ 8294053
step_28
step_end
-LilycoveCity_ContestLobby_EventScript_294055:: @ 8294055
+EventScript_PblockLink: @ 8294055
lockall
specialvar VAR_RESULT, PlayerHasBerries
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_2940B1
+ goto_eq EventScript_PblocLink_NoBerries
checkitem ITEM_POKEBLOCK_CASE, 1
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_29416C
+ goto_eq EventScript_PblocLink_NoPokeblock
specialvar VAR_RESULT, GetFirstFreePokeblockSlot
compare VAR_RESULT, 65535
- goto_if 5, LilycoveCity_ContestLobby_EventScript_294092
+ goto_if 5, EventScript_PblocLink_Ask
compare VAR_RESULT, 65535
- goto_eq LilycoveCity_ContestLobby_EventScript_294162
+ goto_eq EventScript_PblocLink_FullPokeblock
end
-LilycoveCity_ContestLobby_EventScript_294092:: @ 8294092
- msgbox LilycoveCity_ContestLobby_Text_2938CD, 5
+EventScript_PblocLink_Ask: @ 8294092
+ msgbox Text_PblockLink_Ask, 5
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_2940BB
+ goto_eq EventScript_PblocLink_TryConnect
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_294160
+ goto_eq EventScript_PblocLink_End
end
-LilycoveCity_ContestLobby_EventScript_2940B1:: @ 82940B1
- msgbox LilycoveCity_ContestLobby_Text_2939BD, 4
+EventScript_PblocLink_NoBerries: @ 82940B1
+ msgbox Text_PblockLink_NoBerries, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_2940BB:: @ 82940BB
+EventScript_PblocLink_TryConnect: @ 82940BB
call LilycoveCity_ContestLobby_EventScript_27134F
compare VAR_RESULT, 0
- goto_eq LilycoveCity_ContestLobby_EventScript_294160
+ goto_eq EventScript_PblocLink_End
specialvar VAR_RESULT, sub_80093CC
compare VAR_RESULT, 1
goto_eq LilycoveCity_ContestLobby_EventScript_2941ED
- message LilycoveCity_ContestLobby_Text_293955
+ message Text_PblockLink_Searching
waitmessage
special sub_80B2FD8
waitstate
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_2941AA
+ goto_eq EventScript_PblocLink_SpawnPartners
compare VAR_RESULT, 2
- goto_eq LilycoveCity_ContestLobby_EventScript_294176
+ goto_eq EventScript_PblocLink_SomeoneNotReady
compare VAR_RESULT, 3
- goto_eq LilycoveCity_ContestLobby_EventScript_294183
+ goto_eq EventScript_PblocLink_DifferentSelections
compare VAR_RESULT, 5
- goto_eq LilycoveCity_ContestLobby_EventScript_294190
+ goto_eq EventScript_PblocLink_CloseLink
compare VAR_RESULT, 6
- goto_eq LilycoveCity_ContestLobby_EventScript_29419D
+ goto_eq EventScript_PblocLink_LinkError
end
-LilycoveCity_ContestLobby_EventScript_29411D:: @ 829411D
- msgbox LilycoveCity_ContestLobby_Text_293986, 4
- goto LilycoveCity_ContestLobby_EventScript_294147
+EventScript_PblocLink_1Arrived: @ 829411D
+ msgbox Text_PblockLink_1Arrived, 4
+ goto EventScript_PblocLink_StartLinkBlending
end
-LilycoveCity_ContestLobby_EventScript_29412B:: @ 829412B
- msgbox LilycoveCity_ContestLobby_Text_293992, 4
- goto LilycoveCity_ContestLobby_EventScript_294147
+EventScript_PblocLink_2Arrived: @ 829412B
+ msgbox Text_PblockLink_2Arrived, 4
+ goto EventScript_PblocLink_StartLinkBlending
end
-LilycoveCity_ContestLobby_EventScript_294139:: @ 8294139
- msgbox LilycoveCity_ContestLobby_Text_2939A5, 4
- goto LilycoveCity_ContestLobby_EventScript_294147
+EventScript_PblocLink_3Arrived: @ 8294139
+ msgbox Text_PblockLink_3Arrived, 4
+ goto EventScript_PblocLink_StartLinkBlending
end
-LilycoveCity_ContestLobby_EventScript_294147:: @ 8294147
+EventScript_PblocLink_StartLinkBlending: @ 8294147
setvar VAR_0x8004, 0
fadescreen 1
removeobject 240
@@ -640,109 +654,109 @@ LilycoveCity_ContestLobby_EventScript_294147:: @ 8294147
releaseall
end
-LilycoveCity_ContestLobby_EventScript_294160:: @ 8294160
+EventScript_PblocLink_End: @ 8294160
releaseall
end
-LilycoveCity_ContestLobby_EventScript_294162:: @ 8294162
- msgbox LilycoveCity_ContestLobby_Text_2939F3, 4
+EventScript_PblocLink_FullPokeblock: @ 8294162
+ msgbox Text_PblockLink_FullPokeblock, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_29416C:: @ 829416C
- msgbox LilycoveCity_ContestLobby_Text_293A2D, 4
+EventScript_PblocLink_NoPokeblock: @ 829416C
+ msgbox Text_PblockLink_NoPokeblock, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_294176:: @ 8294176
+EventScript_PblocLink_SomeoneNotReady: @ 8294176
special CloseLink
msgbox LilycoveCity_ContestLobby_Text_2781C7, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_294183:: @ 8294183
+EventScript_PblocLink_DifferentSelections: @ 8294183
special CloseLink
msgbox LilycoveCity_ContestLobby_Text_278255, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_294190:: @ 8294190
+EventScript_PblocLink_CloseLink: @ 8294190
special CloseLink
msgbox gUnknown_08272D9C, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_29419D:: @ 829419D
+EventScript_PblocLink_LinkError: @ 829419D
special CloseLink
msgbox LilycoveCity_ContestLobby_Text_27821C, 4
releaseall
end
-LilycoveCity_ContestLobby_EventScript_2941AA:: @ 82941AA
+EventScript_PblocLink_SpawnPartners: @ 82941AA
fadescreen 1
specialvar VAR_RESULT, GetLinkPartnerNames
copyvar VAR_0x8008, VAR_RESULT
copyvar VAR_0x8004, VAR_0x8008
special SpawnLinkPartnerFieldObject
- goto LilycoveCity_ContestLobby_EventScript_2941C4
+ goto EventScript_PblocLink_Arrived
end
-LilycoveCity_ContestLobby_EventScript_2941C4:: @ 82941C4
+EventScript_PblocLink_Arrived: @ 82941C4
fadescreen 0
switch VAR_0x8008
- case 2, LilycoveCity_ContestLobby_EventScript_29411D
- case 3, LilycoveCity_ContestLobby_EventScript_29412B
- case 4, LilycoveCity_ContestLobby_EventScript_294139
+ case 2, EventScript_PblocLink_1Arrived
+ case 3, EventScript_PblocLink_2Arrived
+ case 4, EventScript_PblocLink_3Arrived
end
-LilycoveCity_ContestLobby_EventScript_2941ED:: @ 82941ED
+LilycoveCity_ContestLobby_EventScript_2941ED: @ 82941ED
setvar VAR_0x8004, 13
- goto LilycoveCity_ContestLobby_EventScript_2941F8
+ goto EventScript_PblocLink_DecideLeader
end
-LilycoveCity_ContestLobby_EventScript_2941F8:: @ 82941F8
- message LilycoveCity_ContestLobby_Text_27C1EA
+EventScript_PblocLink_DecideLeader: @ 82941F8
+ message Text_DecideLinkLeader
waitmessage
multichoice 16, 6, 81, 0
switch VAR_RESULT
- case 0, LilycoveCity_ContestLobby_EventScript_29425D
- case 1, LilycoveCity_ContestLobby_EventScript_294235
- case 2, LilycoveCity_ContestLobby_EventScript_294190
- case 127, LilycoveCity_ContestLobby_EventScript_294190
+ case 0, EventScript_PblocLink_TryJoinGroup
+ case 1, EventScript_PblocLink_TryBecomeLeader
+ case 2, EventScript_PblocLink_CloseLink
+ case 127, EventScript_PblocLink_CloseLink
end
-LilycoveCity_ContestLobby_EventScript_294235:: @ 8294235
- call LilycoveCity_ContestLobby_EventScript_294285
+EventScript_PblocLink_TryBecomeLeader: @ 8294235
+ call EventScript_PblocLink_BecomeLeader
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_29428F
+ goto_eq EventScript_PblocLink_SpawnPartners_
compare VAR_RESULT, 5
- goto_eq LilycoveCity_ContestLobby_EventScript_2941F8
+ goto_eq EventScript_PblocLink_DecideLeader
compare VAR_RESULT, 8
- goto_eq LilycoveCity_ContestLobby_EventScript_294235
+ goto_eq EventScript_PblocLink_TryBecomeLeader
release
end
-LilycoveCity_ContestLobby_EventScript_29425D:: @ 829425D
- call LilycoveCity_ContestLobby_EventScript_29428A
+EventScript_PblocLink_TryJoinGroup: @ 829425D
+ call EventScript_PblocLink_JoinGroup
compare VAR_RESULT, 1
- goto_eq LilycoveCity_ContestLobby_EventScript_29428F
+ goto_eq EventScript_PblocLink_SpawnPartners_
compare VAR_RESULT, 5
- goto_eq LilycoveCity_ContestLobby_EventScript_2941F8
+ goto_eq EventScript_PblocLink_DecideLeader
compare VAR_RESULT, 8
- goto_eq LilycoveCity_ContestLobby_EventScript_29425D
+ goto_eq EventScript_PblocLink_TryJoinGroup
release
end
-LilycoveCity_ContestLobby_EventScript_294285:: @ 8294285
+EventScript_PblocLink_BecomeLeader: @ 8294285
special BerryBlenderLinkBecomeLeader
waitstate
return
-LilycoveCity_ContestLobby_EventScript_29428A:: @ 829428A
+EventScript_PblocLink_JoinGroup: @ 829428A
special BerryBlenderLinkJoinGroup
waitstate
return
-LilycoveCity_ContestLobby_EventScript_29428F:: @ 829428F
- goto LilycoveCity_ContestLobby_EventScript_2941AA
+EventScript_PblocLink_SpawnPartners_: @ 829428F
+ goto EventScript_PblocLink_SpawnPartners
end
diff --git a/include/librfu.h b/include/librfu.h
index aae7df4e9..2c4d091bd 100644
--- a/include/librfu.h
+++ b/include/librfu.h
@@ -200,8 +200,6 @@ extern struct RfuUnk1* gUnknown_03007870[4];
extern void* sub_82E53F4;
extern void rfu_STC_clearAPIVariables(void);
-struct UnkLinkRfuStruct_02022B14;
-
void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam);
void rfu_REQ_stopMode(void);
void rfu_waitREQComplete(void);
diff --git a/include/link_rfu.h b/include/link_rfu.h
index ca39c2fb2..b517fba17 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -232,5 +232,21 @@ void sub_8011068(u8 a0);
void sub_8011170(u32 a0);
void sub_8011A64(u8 a0, u16 a1);
u8 sub_801048C(bool32 a0);
+void sub_800DF90(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2);
+void sub_8010F84(u8 a0, u32 a1, u32 a2);
+void sub_8011C10(u32 a0);
+bool32 sub_8012240(void);
+void sub_800EF38(void);
+bool32 sub_80105EC(void);
+bool32 sub_801064C(u16 a0, const u8 *a1);
+void sub_8010688(u8 a0, u16 a1, const u8 *a2);
+u32 sub_8010714(u16 a0, const u8 *a1);
+void sub_8011DC0(const u8 *a0, u16 a1);
+bool8 sub_800EF1C(void);
+bool32 sub_800EF58(bool32 a0);
+void sub_800E084(void);
+void sub_801103C(void);
+void sub_8011C5C(void);
+void sub_80106D4(void);
#endif //GUARD_LINK_RFU_H
diff --git a/src/link_rfu.c b/src/link_rfu.c
index 37aa20950..b539c31d6 100644
--- a/src/link_rfu.c
+++ b/src/link_rfu.c
@@ -2850,7 +2850,7 @@ void sub_800EF38(void)
gUnknown_03005000.unk_ce7 = gUnknown_03004140.unk_00;
}
-bool8 sub_800EF58(bool32 a0)
+bool32 sub_800EF58(bool32 a0)
{
if (gUnknown_03005000.unk_04 == 17 || a0)
{
@@ -4104,7 +4104,7 @@ bool8 sub_8010540(void)
return retval;
}
-bool8 sub_80105EC(void)
+bool32 sub_80105EC(void)
{
u8 flags = 0;
int i;
@@ -4129,7 +4129,7 @@ bool8 sub_80105EC(void)
return FALSE;
}
-bool8 sub_801064C(u16 a0, const u8 *a1)
+bool32 sub_801064C(u16 a0, const u8 *a1)
{
u8 r1 = sub_8011CE4(a1, a0);
if (r1 == 0xFF)
@@ -4154,14 +4154,14 @@ void sub_80106D4(void)
rfu_NI_setSendData(1 << gUnknown_03005000.unk_c3e, 8, &gUnknown_03005000.unk_c85, 1);
}
-u8 sub_8010714(u16 a0, const u8 *a1)
+u32 sub_8010714(u16 a0, const u8 *a1)
{
u8 r0 = sub_8011CE4(a1, a0);
if (r0 == 0xff)
return 2;
if (gUnknown_03007880[r0]->unk_0 == 0)
- return TRUE;
- return FALSE;
+ return 1;
+ return 0;
}
void sub_8010750(void)
diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c
index f37b4019f..e73030e75 100644
--- a/src/rom_8011DC0.c
+++ b/src/rom_8011DC0.c
@@ -11,47 +11,108 @@
#include "menu.h"
#include "list_menu.h"
#include "menu_helpers.h"
+#include "script.h"
+#include "sound.h"
+#include "constants/songs.h"
-struct UnkStruct_02
+struct UnkStruct_Shared
{
struct UnkLinkRfuStruct_02022B14 field_0;
- u8 field_D;
+ u8 field_xD;
u8 field_E;
u8 field_F;
u8 playerName[PLAYER_NAME_LENGTH];
+};
+
+struct UnkStruct_x1C
+{
+ struct UnkStruct_Shared unk0;
+ u8 unk18;
+};
+
+struct UnkStruct_x20
+{
+ struct UnkStruct_Shared unk;
u16 field_18;
u8 field_1A_0:2;
u8 field_1A_1:1;
u8 field_1B;
+ u8 field_1D;
+ u8 field_1E;
+ u8 field_1F;
};
-struct UnkStruct_01
+struct UnkStruct_Main0
{
- struct UnkStruct_02 *field_0;
- void *field_4;
- void *field_8;
- u8 field_C;
- u8 field_D;
+ struct UnkStruct_x20 arr[5];
+};
+
+struct UnkStruct_Main4
+{
+ struct UnkStruct_x1C arr[5];
+};
+
+struct UnkStruct_Main8
+{
+ struct UnkStruct_x20 arr[5];
+};
+
+struct UnkStruct_Leader
+{
+ struct UnkStruct_Main0 *field_0;
+ struct UnkStruct_Main4 *field_4;
+ struct UnkStruct_Main8 *field_8;
+ u8 state;
+ u8 textState;
u8 field_E;
u8 field_F;
u8 field_10;
u8 field_11;
- u8 field_12;
+ u8 listTaskId;
u8 field_13;
u8 field_14;
u8 field_15;
u8 field_16;
u8 field_17;
+ u8 field_18;
+ u8 field_19;
+ u16 field_1A;
};
-extern struct UnkStruct_01 *gUnknown_02022C30;
+struct UnkStruct_Group
+{
+ struct UnkStruct_Main0 *field_0;
+ struct UnkStruct_Main4 *field_4;
+ u8 state;
+ u8 textState;
+ u8 field_A;
+ u8 field_B;
+ u8 field_C;
+ u8 field_D;
+ u8 listTaskId;
+ u8 field_F;
+ u8 field_10;
+ u8 field_11;
+ u8 field_12;
+ u8 field_13;
+ u8 field_14;
+ u8 field_15;
+};
+
+union UnkUnion_Main
+{
+ struct UnkStruct_Leader *leader;
+ struct UnkStruct_Group *group;
+};
+
+extern union UnkUnion_Main gUnknown_02022C30;
extern u8 gUnknown_02022C2C;
extern u8 gUnknown_02022C2D;
// IWRAM vars
-IWRAM_DATA struct UnkStruct_01 *gUnknown_03000DA0;
-IWRAM_DATA u32 gUnknown_03000DA4;
+IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0;
+IWRAM_DATA struct UnkStruct_Group *gUnknown_03000DA4;
IWRAM_DATA void *gUnknown_03000DA8;
IWRAM_DATA void *gUnknown_03000DAC;
IWRAM_DATA bool32 gUnknown_03000DB0;
@@ -60,24 +121,71 @@ IWRAM_DATA bool32 gUnknown_03000DB0;
void sub_80173E0(u8 windowId, u8 arg1, const u8 *str, u8 arg3, u8 arg4, u8 arg5);
u16 ReadAsU16(const u8 *ptr);
void sub_8012780(u8 taskId);
-void sub_80175EC(void *arg0, u8 count);
-void sub_8017580(void *arg0, u8 count);
-u8 sub_8016FC0(void *arg0, u32 arg1);
-bool8 sub_8017064(u8 *arg0, const u8 *str);
-void sub_801320C(struct UnkStruct_01 *arg0, u32 arg1, u32 arg2);
+void sub_80134E8(u8 taskId);
+void sub_80175EC(struct UnkStruct_Main4 *arg0, u8 count);
+void sub_8017580(struct UnkStruct_Main0 *arg0, u8 count);
+u8 sub_8016FC0(struct UnkStruct_Main4 *arg0, u32 arg1);
+bool8 PrintOnTextbox(u8 *textState, const u8 *str);
+bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2);
+u8 sub_8013398(struct UnkStruct_Main0 *arg0);
+s8 sub_80170B8(u8 *arg0, bool32 arg1);
+void sub_8018404(u8 *dest, struct UnkStruct_x20 *arg1);
+void sub_8012F64(struct UnkStruct_Leader *data);
+void sub_80149C4(void);
+u8 sub_80132D4(struct UnkStruct_Main0 *arg0);
+void sub_80178A0(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 *arg3, u8 arg4, u8 id);
+u32 sub_80176E4(struct UnkStruct_x20 *arg0, struct UnkStruct_x1C *arg1);
+void sub_8017734(struct UnkStruct_x20 *arg0, struct UnkStruct_Shared *arg1, u8 arg2);
+u8 sub_8013E44(void);
+u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id);
+void sub_8013BD8(struct UnkStruct_Group *arg0, s32 id);
+void sub_80173D4(void);
// const rom data
extern const u8 *const gUnknown_082EDB60[][5];
+
extern const u8 gText_UnkCtrlCodeF907[];
extern const u8 gUnknown_082EDBC4[];
extern const u8 gText_AwaitingCommunication[];
+extern const u8 gText_AwaitingLink[];
+extern const u8 gUnknown_082EDC5C[];
+extern const u8 gUnknown_082EDC9C[];
+extern const u8 gUnknown_082EDC78[];
+extern const u8 gUnknown_082EDD58[];
+extern const u8 gUnknown_082EDBE8[];
+extern const u8 gUnknown_082EDC0C[];
+extern const u8 gUnknown_082EDC34[];
+extern const u8 gUnknown_082EE560[];
+extern const u8 gUnknown_082EE57C[];
+extern const u8 gUnknown_082EFC54[];
+extern const u8 gUnknown_082EFC3C[];
+extern const u8 gUnknown_082EDE0C[];
+extern const u8 gUnknown_082EDDF4[];
+extern const u8 gUnknown_082EF7DC[];
+extern const u8 gUnknown_082EDE48[];
+extern const u8 gUnknown_082EDE64[];
+
extern const u32 gUnknown_082F00C4[];
+
+extern const u8 gUnknown_082F0530[];
+
extern const struct WindowTemplate gUnknown_082F00BC;
extern const struct WindowTemplate gUnknown_082F0124;
extern const struct WindowTemplate gUnknown_082F012C;
extern const struct WindowTemplate gUnknown_082F011C;
+extern const struct WindowTemplate gUnknown_082F0174;
+extern const struct WindowTemplate gUnknown_082F017C;
+
extern const struct ListMenuTemplate gUnknown_082F015C;
+extern const struct ListMenuTemplate gUnknown_082F0204;
+
extern const u8 *const gUnknown_082F0048[];
+extern const u8 *const gUnknown_082EDDC4[];
+extern const u8 *const gUnknown_082EFB70[];
+extern const u8 *const gUnknown_082EDD50[];
+extern const u8 *const gUnknown_082EDE9C[];
+
+extern const struct UnkStruct_Shared gUnknown_082F045C[];
// code
void nullsub_89(void)
@@ -151,25 +259,26 @@ bool32 sub_80126CC(u32 caseId)
void BerryBlenderLinkBecomeLeader(void)
{
u8 taskId;
- struct UnkStruct_01 *dataPtr;
+ struct UnkStruct_Leader *dataPtr;
taskId = CreateTask(sub_8012780, 0);
- gUnknown_02022C30 = dataPtr = (void*)(gTasks[taskId].data);
+ gUnknown_02022C30.leader = dataPtr = (void*)(gTasks[taskId].data);
gUnknown_03000DA0 = dataPtr;
- dataPtr->field_C = 0;
- dataPtr->field_D = 0;
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
gSpecialVar_Result = 0;
}
void sub_8012780(u8 taskId)
{
- struct UnkStruct_01 *data = gUnknown_02022C30;
+ u32 id, val;
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
- switch (data->field_C)
+ switch (data->state)
{
case 0:
- if (gSpecialVar_0x8004 == 20 || gSaveBlock2Ptr->frontierChosenLvl == 1)
+ if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontierChosenLvl == 1)
gSpecialVar_0x8004++;
gUnknown_02022C2C = gUnknown_082F00C4[gSpecialVar_0x8004];
gUnknown_02022C2D = gUnknown_082F00C4[gSpecialVar_0x8004] >> 8;
@@ -177,7 +286,7 @@ void sub_8012780(u8 taskId)
sub_800B488();
OpenLink();
sub_8011C10(gUnknown_02022C2D & 0xF);
- data->field_C = 3;
+ data->state = 3;
break;
case 3:
data->field_4 = AllocZeroed(0x70);
@@ -185,11 +294,11 @@ void sub_8012780(u8 taskId)
data->field_8 = AllocZeroed(0xA0);
sub_80175EC(data->field_4, 4);
sub_8017580(data->field_0, 5);
- sub_800DF90(&data->field_0->field_0, data->field_0->playerName);
- data->field_0->field_18 = 0;
- data->field_0->field_1A_0 = 1;
- data->field_0->field_1A_1 = 0;
- data->field_0->field_1B = 0;
+ sub_800DF90(&data->field_0->arr[0].unk.field_0, data->field_0->arr[0].unk.playerName);
+ data->field_0->arr[0].field_18 = 0;
+ data->field_0->arr[0].field_1A_0 = 1;
+ data->field_0->arr[0].field_1A_1 = 0;
+ data->field_0->arr[0].field_1B = 0;
data->field_17 = sub_8016FC0(data->field_4, 0xFF);
data->field_10 = AddWindow(&gUnknown_082F00BC);
switch (gUnknown_02022C2D & 0xF)
@@ -213,7 +322,7 @@ void sub_8012780(u8 taskId)
NewMenuHelpers_DrawStdWindowFrame(data->field_F, FALSE);
gMultiuseListMenuTemplate = gUnknown_082F015C;
gMultiuseListMenuTemplate.windowId = data->field_F;
- data->field_12 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+ data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
NewMenuHelpers_DrawStdWindowFrame(data->field_11, FALSE);
PutWindowTilemap(data->field_11);
@@ -221,7 +330,7 @@ void sub_8012780(u8 taskId)
CopyBgTilemapBufferToVram(0);
data->field_13 = 1;
- data->field_C = 4;
+ data->state = 4;
break;
case 4:
StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
@@ -238,18 +347,770 @@ void sub_8012780(u8 taskId)
}
sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13);
- data->field_C = 5;
+ data->state = 5;
break;
case 5:
- if (sub_8017064(&data->field_D, gStringVar4))
- data->field_C = 6;
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ data->state = 6;
break;
case 6:
sub_801320C(data, 7, 10);
if (gMain.newKeys & B_BUTTON)
{
- if (data->field_13)
+ if (data->field_13 == 1)
+ data->state = 23;
+ else if ((gUnknown_02022C2D & 0xF0) != 0)
+ data->state = 30;
+ else
+ data->state = 19;
+ }
+ if ((gUnknown_02022C2D >> 4) != 0
+ && data->field_13 > (gUnknown_02022C2D >> 4) - 1
+ && (gUnknown_02022C2D & 0xF) != 0
+ && sub_8012240()
+ && gMain.newKeys & START_BUTTON)
+ {
+ data->state = 15;
+ sub_800EF38();
+ }
+ if (data->state == 6 && sub_80105EC())
+ {
+ data->state = 9;
+ }
+ break;
+ case 9:
+ if (!sub_80105EC())
+ {
+ data->state = 6;
+ data->field_13 = sub_8013398(data->field_0);
+ }
+ break;
+ case 10:
+ id = ((gUnknown_02022C2C & 0xF) == 2) ? 1 : 0;
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
+ {
+ data->field_13 = sub_8013398(data->field_0);
+ sub_81AE70C(data->listTaskId);
+ data->state = 4;
+ }
+ break;
+ case 29:
+ id = ((gUnknown_02022C2D & 0xF) == 2) ? 0 : 1;
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDDC4[id]))
+ {
+ data->state = 21;
+ }
+ break;
+ case 7:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ data->state = 11;
+ }
+ break;
+ case 11:
+ switch (sub_80170B8(&data->textState, sub_801064C(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName)))
+ {
+ case 0:
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(0, 0);
+ data->field_19 = 5;
+ sub_8010688(5, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ data->state = 12;
+ break;
+ case 1:
+ case -1:
+ data->field_19 = 6;
+ sub_8010688(6, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ data->state = 12;
+ break;
+ case -3:
+ data->state = 9;
+ break;
+ }
+ break;
+ case 12:
+ val = sub_8010714(ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
+ if (val == 1)
+ {
+ if (data->field_19 == 5)
+ {
+ data->field_0->arr[data->field_13].field_1B = 0;
+ sub_81AE70C(data->listTaskId);
+ data->field_13++;
+ if (data->field_13 == (gUnknown_02022C2D & 0xF))
+ {
+ if ((gUnknown_02022C2D & 0xF0) != 0 || data->field_13 == 4)
+ {
+ data->state = 15;
+ }
+ else
+ {
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_13 - 1]);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EDC9C);
+ data->state = 13;
+ }
+
+ sub_800EF38();
+ sub_80124EC(data->field_11, gUnknown_02022C2D, data->field_13);
+ }
+ else
+ {
+ data->state = 4;
+ }
+ }
+ else
+ {
+ sub_8011DC0(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.field_0.playerTrainerId));
+ data->field_0->arr[data->field_13].field_1A_0 = 0;
+ sub_8013398(data->field_0);
+ sub_81AE70C(data->listTaskId);
+ data->state = 4;
+ }
+
+ data->field_19 = 0;
}
+ else if (val == 2)
+ {
+ sub_8011A64(0, 0);
+ data->state = 4;
+ }
+ break;
+ case 13:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ data->state = 14;
+ break;
+ case 14:
+ if (++data->field_E > 120)
+ data->state = 17;
+ break;
+ case 15:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDC5C))
+ data->state = 16;
+ break;
+ case 16:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ data->state = 17;
+ break;
+ case 1:
+ case -1:
+ if ((gUnknown_02022C2D & 0xF0) != 0)
+ data->state = 30;
+ else
+ data->state = 19;
+ break;
+ }
+ break;
+ case 19:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDC78))
+ data->state = 20;
+ break;
+ case 20:
+ switch (sub_80170B8(&data->textState, FALSE))
+ {
+ case 0:
+ data->state = 23;
+ break;
+ case 1:
+ case -1:
+ if ((gUnknown_02022C2D & 0xF0) != 0)
+ data->state = 15;
+ else if (data->field_13 == (gUnknown_02022C2D & 0xF))
+ data->state = 15;
+ else
+ data->state = 4;
+ break;
+ }
+ break;
+ case 17:
+ if (!sub_801320C(data, 7, 29))
+ data->state = 18;
+ break;
+ case 18:
+ if (sub_800EF1C())
+ {
+ if (sub_800EF58(FALSE))
+ {
+ data->state = 26;
+ }
+ else
+ {
+ if (++data->field_1A > 300)
+ {
+ data->state = 29;
+ data->textState = 0;
+ }
+ }
+ }
+ else
+ {
+ data->state = 29;
+ data->textState = 0;
+ }
+ break;
+ case 30:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDD58))
+ data->state = 23;
+ break;
+ case 21:
+ case 23:
+ sub_800E084();
+ sub_800EDD4();
+ sub_8012F64(data);
+ data->state++;
+ break;
+ case 24:
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ gSpecialVar_Result = 5;
+ break;
+ case 22:
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ gSpecialVar_Result = 8;
+ break;
+ case 26:
+ if (sub_8011A80())
+ {
+ data->state = 29;
+ }
+ else
+ {
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ if (sub_80126CC(gUnknown_02022C2C))
+ sub_801103C();
+ sub_8011068(1);
+ sub_80149C4();
+ sub_8012F64(data);
+ DestroyTask(taskId);
+ }
+ }
+ break;
+ }
+}
+
+void sub_8012F64(struct UnkStruct_Leader *data)
+{
+ ClearWindowTilemap(data->field_11);
+ sub_819746C(data->field_11, FALSE);
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ ClearWindowTilemap(data->field_10);
+ sub_819746C(data->field_F, FALSE);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->field_11);
+ RemoveWindow(data->field_F);
+ RemoveWindow(data->field_10);
+ DestroyTask(data->field_17);
+
+ Free(data->field_8);
+ Free(data->field_0);
+ Free(data->field_4);
+}
+
+void sub_8012FC4(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 28:
+ StringExpandPlaceholders(dst, gUnknown_082EDBE8);
+ break;
+ case 21:
+ case 22:
+ StringExpandPlaceholders(dst, gUnknown_082EDC0C);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ StringExpandPlaceholders(dst, gUnknown_082EDC34);
+ break;
+ }
+}
+
+void sub_8013078(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 65:
+ case 68:
+ StringExpandPlaceholders(dst, gUnknown_082EE560);
+ break;
+ case 69:
+ case 72:
+ StringExpandPlaceholders(dst, gUnknown_082EE57C);
+ break;
+ }
+}
+
+void sub_80130B4(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 21:
+ case 22:
+ case 28:
+ StringExpandPlaceholders(dst, gUnknown_082EFC3C);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ StringExpandPlaceholders(dst, gUnknown_082EFC54);
+ break;
+ }
+}
+
+void sub_8013160(u8 *dst, u8 caseId)
+{
+ switch (caseId)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 21:
+ case 22:
+ case 28:
+ StringExpandPlaceholders(dst, gUnknown_082EDDF4);
+ break;
+ case 3:
+ case 9:
+ case 10:
+ case 11:
+ case 15:
+ case 16:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ StringExpandPlaceholders(dst, gUnknown_082EDE0C);
+ break;
+ }
+}
+
+bool8 sub_801320C(struct UnkStruct_Leader *data, u32 arg1, u32 arg2)
+{
+ switch (sub_80132D4(data->field_0))
+ {
+ case 1:
+ PlaySE(SE_PC_LOGIN);
+ sub_81AE70C(data->listTaskId);
+ sub_8018404(gStringVar2, &data->field_0->arr[data->field_13]);
+ sub_8012FC4(gStringVar4, gUnknown_02022C2C);
+ data->state = arg1;
+ break;
+ case 2:
+ sub_8011A64(0, 0);
+ sub_81AE70C(data->listTaskId);
+ data->state = arg2;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_8013278(u8 arg0, u32 id, u8 arg2)
+{
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+ u8 var = 0;
+
+ switch (data->field_0->arr[id].field_1A_0)
+ {
+ case 1:
+ if (data->field_0->arr[id].field_1B != 0)
+ var = 2;
+ break;
+ case 2:
+ var = 1;
+ break;
+ }
+
+ sub_80178A0(arg0, 0, arg2, &data->field_0->arr[id], var, id);
+}
+
+u8 sub_80132D4(struct UnkStruct_Main0 *arg0)
+{
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+ u8 ret = 0;
+ u8 i;
+ s32 id;
+
+ for (i = 1; i < 5; i++)
+ {
+ u16 var = data->field_0->arr[i].field_1A_0;
+ if (var == 1)
+ {
+ id = sub_80176E4(&data->field_0->arr[i], data->field_4->arr);
+ if (id != 0xFF)
+ {
+ data->field_0->arr[i].unk = data->field_4->arr[id].unk0;
+ data->field_0->arr[i].field_18 = var;
+ }
+ else
+ {
+ data->field_0->arr[i].field_1A_0 = 2;
+ ret = 2;
+ }
+ }
+ }
+
+ for (id = 0; id < 4; id++)
+ sub_8017734(data->field_0->arr, &data->field_4->arr[id].unk0, 5);
+
+ if (ret != 2)
+ {
+ for (id = 0; id < 5; id++)
+ {
+ if (data->field_0->arr[id].field_1B != 0)
+ ret = 1;
+ }
+ }
+
+ return ret;
+}
+
+u8 sub_8013398(struct UnkStruct_Main0 *arg0)
+{
+ struct UnkStruct_Leader *data = gUnknown_02022C30.leader;
+ u8 copiedCount;
+ s32 i;
+ u8 ret;
+
+ for (i = 0; i < 5; i++)
+ data->field_8->arr[i] = data->field_0->arr[i];
+
+ copiedCount = 0;
+ for (i = 0; i < 5; i++)
+ {
+ if (data->field_8->arr[i].field_1A_0 == 1)
+ {
+ data->field_0->arr[copiedCount] = data->field_8->arr[i];
+ copiedCount++;
+ }
+ }
+
+ ret = copiedCount;
+ for (; copiedCount < 5; copiedCount++)
+ {
+ data->field_0->arr[copiedCount].unk = gUnknown_082F045C[0];
+ data->field_0->arr[copiedCount].field_18 = 0;
+ data->field_0->arr[copiedCount].field_1A_0 = 0;
+ data->field_0->arr[copiedCount].field_1A_1 = 0;
+ data->field_0->arr[copiedCount].field_1B = 0;
+ }
+
+ for (i = 0; i < 5; i++)
+ {
+ if (data->field_0->arr[i].field_1A_0 != 1)
+ continue;
+ if (data->field_0->arr[i].field_1B != 0x40)
+ continue;
+
+ ret = i;
+ break;
+ }
+
+ return ret;
+}
+
+void BerryBlenderLinkJoinGroup(void)
+{
+ u8 taskId;
+ struct UnkStruct_Group *dataPtr;
+
+ taskId = CreateTask(sub_80134E8, 0);
+ gUnknown_02022C30.group = dataPtr = (void*)(gTasks[taskId].data);
+ gUnknown_03000DA4 = dataPtr;
+
+ dataPtr->state = 0;
+ dataPtr->textState = 0;
+ gSpecialVar_Result = 0;
+}
+
+void sub_80134E8(u8 taskId)
+{
+ s32 id;
+ struct UnkStruct_Group *data = gUnknown_02022C30.group;
+
+ switch (data->state)
+ {
+ case 0:
+ if (gSpecialVar_0x8004 == 20 && gSaveBlock2Ptr->frontierChosenLvl == 1)
+ gSpecialVar_0x8004++;
+ gUnknown_02022C2C = gUnknown_082F0530[gSpecialVar_0x8004];
+ sub_8010F84(gUnknown_02022C2C, 0, 0);
+ sub_800B488();
+ OpenLink();
+ sub_8011C5C();
+ data->field_4 = AllocZeroed(0x70);
+ data->field_0 = AllocZeroed(0x200);
+ data->state = 1;
+ break;
+ case 1:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EFB70[gSpecialVar_0x8004]))
+ data->state = 2;
+ break;
+ case 2:
+ sub_80175EC(data->field_4, 4);
+ sub_8017580(data->field_0, 16);
+ data->field_11 = sub_8016FC0(data->field_4, gSpecialVar_0x8004);
+ data->field_C = AddWindow(&gUnknown_082F00BC);
+ data->field_B = AddWindow(&gUnknown_082F0174);
+ data->field_D = AddWindow(&gUnknown_082F017C);
+
+ FillWindowPixelBuffer(data->field_C, 0x22);
+ sub_80173E0(data->field_C, 0, gUnknown_082EF7DC, 8, 1, 4);
+ PutWindowTilemap(data->field_C);
+ CopyWindowToVram(data->field_C, 2);
+
+ NewMenuHelpers_DrawStdWindowFrame(data->field_B, FALSE);
+ gMultiuseListMenuTemplate = gUnknown_082F0204;
+ gMultiuseListMenuTemplate.windowId = data->field_B;
+ data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
+
+ NewMenuHelpers_DrawStdWindowFrame(data->field_D, FALSE);
+ PutWindowTilemap(data->field_D);
+ sub_80125BC(data->field_D);
+ CopyWindowToVram(data->field_D, 2);
+
+ CopyBgTilemapBufferToVram(0);
+ data->field_F = 0;
+ data->state = 3;
+ break;
+ case 3:
+ id = sub_8013E44();
+ switch (id)
+ {
+ case 1:
+ PlaySE(SE_PC_LOGIN);
+ sub_81AE70C(data->listTaskId);
+ break;
+ case 0:
+ id = ListMenuHandleInputGetItemId(data->listTaskId);
+ if (gMain.newKeys & A_BUTTON && id != -1)
+ {
+ // this unused variable is needed to match
+ u32 unusedVar;
+ unusedVar = data->field_0->arr[id].unk.field_0.unk_0a_0;
+
+ if (data->field_0->arr[id].field_1A_0 == 1 && data->field_0->arr[id].unk.field_0.unk_0a_7 == 0)
+ {
+ u32 var = sub_8013B8C(data, id);
+ if (var == 0)
+ {
+ sub_8013BD8(data, id);
+ data->state = 5;
+ PlaySE(SE_PN_ON);
+ }
+ else
+ {
+ StringCopy(gStringVar4, gUnknown_082EDD50[var - 1]);
+ data->state = 18;
+ PlaySE(SE_PN_ON);
+ }
+ }
+ else
+ {
+ PlaySE(SE_WALL_HIT);
+ }
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ data->state = 10;
+ }
+ break;
+ default:
+ sub_81AE70C(data->listTaskId);
+ break;
+ }
+ break;
+ case 5:
+ sub_80130B4(gStringVar4, gUnknown_02022C2C);
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ sub_8018404(gStringVar1, &data->field_0->arr[data->field_F]);
+ data->state = 6;
+ }
+ break;
+ case 6:
+ if (gReceivedRemoteLinkPlayers != 0)
+ {
+ gUnknown_02022C2C = data->field_0->arr[data->field_F].unk.field_0.unk_0a_0;
+ sub_8011A64(0, 0);
+ switch (gUnknown_02022C2C)
+ {
+ case 1 ... 5:
+ case 9 ... 11:
+ case 13 ... 16:
+ case 21 ... 28:
+ data->state = 20;
+ return;
+ }
+ }
+
+ switch (sub_8011A74())
+ {
+ case 1:
+ data->state = 12;
+ break;
+ case 2:
+ case 6:
+ case 9:
+ data->state = 14;
+ break;
+ case 5:
+ sub_8013160(gStringVar4, gUnknown_02022C2C);
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ if (gUnknown_02022C2C == 28 || gUnknown_02022C2C == 14)
+ {
+ sub_8011A64(12, 0);
+ }
+ else
+ {
+ sub_8011A64(7, 0);
+ StringCopy(gStringVar1, gUnknown_082F0048[gUnknown_02022C2C]);
+ StringExpandPlaceholders(gStringVar4, gUnknown_082EDE48);
+ }
+ }
+ break;
+ case 7:
+ if (data->field_15 > 0xF0)
+ {
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ sub_8011A64(12, 0);
+ data->field_15 = 0;
+ }
+ }
+ else
+ {
+ switch (gUnknown_02022C2C)
+ {
+ case 1:
+ case 2:
+ case 4:
+ case 14:
+ case 28:
+ break;
+ default:
+ data->field_15++;
+ break;
+ }
+ }
+ break;
+ }
+
+ if (!sub_8011A74() && gMain.newKeys & B_BUTTON)
+ data->state = 7;
+ break;
+ case 7:
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDE64))
+ data->state = 8;
+ break;
+ case 8:
+ switch (sub_80170B8(&data->textState, sub_8011A74()))
+ {
+ case 0:
+ sub_80106D4();
+ data->state = 9;
+ sub_81AE70C(data->listTaskId);
+ break;
+ case 1:
+ case -1:
+ data->state = 5;
+ sub_81AE70C(data->listTaskId);
+ break;
+ case -3:
+ data->state = 6;
+ sub_81AE70C(data->listTaskId);
+ break;
+ }
+ break;
+ case 9:
+ if (sub_8011A74())
+ data->state = 6;
+ break;
+ case 10:
+ case 12:
+ case 14:
+ case 18:
+ case 20:
+ ClearWindowTilemap(data->field_D);
+ sub_819746C(data->field_D, FALSE);
+ DestroyListMenuTask(data->listTaskId, 0, 0);
+ ClearWindowTilemap(data->field_C);
+ sub_819746C(data->field_B, FALSE);
+ CopyBgTilemapBufferToVram(0);
+ RemoveWindow(data->field_D);
+ RemoveWindow(data->field_B);
+ RemoveWindow(data->field_C);
+ DestroyTask(data->field_11);
+ Free(data->field_0);
+ Free(data->field_4);
+ data->state++;
+ break;
+ case 13:
+ sub_800E084();
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
+ {
+ gSpecialVar_Result = 6;
+ data->state = 23;
+ }
+ break;
+ case 11:
+ sub_800E084();
+ gSpecialVar_Result = 5;
+ data->state = 23;
+ break;
+ case 15:
+ sub_800E084();
+ if (PrintOnTextbox(&data->textState, gUnknown_082EDE9C[sub_8011A74()]))
+ {
+ gSpecialVar_Result = 8;
+ data->state = 23;
+ }
+ break;
+ case 19:
+ if (PrintOnTextbox(&data->textState, gStringVar4))
+ {
+ gSpecialVar_Result = 8;
+ data->state = 23;
+ }
+ break;
+ case 23:
+ DestroyTask(taskId);
+ sub_80173D4();
+ sub_800EDD4();
+ break;
+ case 21:
+ sub_80149C4();
+ DestroyTask(taskId);
break;
}
}