mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-20 11:58:04 -05:00
sub_8115A68
This commit is contained in:
parent
44337a41db
commit
cedebf15ee
887
asm/union_room.s
887
asm/union_room.s
|
|
@ -5,891 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8115A68
|
||||
sub_8115A68: @ 8115A68
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r0, _08115A88 @ =gUnknown_203B05C
|
||||
ldr r5, [r0]
|
||||
ldrb r0, [r5, 0xC]
|
||||
cmp r0, 0x1E
|
||||
bls _08115A7C
|
||||
b _081161D8
|
||||
_08115A7C:
|
||||
lsls r0, 2
|
||||
ldr r1, _08115A8C @ =_08115A90
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08115A88: .4byte gUnknown_203B05C
|
||||
_08115A8C: .4byte _08115A90
|
||||
.align 2, 0
|
||||
_08115A90:
|
||||
.4byte _08115B0C
|
||||
.4byte _081161D8
|
||||
.4byte _081161D8
|
||||
.4byte _08115B5C
|
||||
.4byte _08115C60
|
||||
.4byte _08115CE8
|
||||
.4byte _08115D04
|
||||
.4byte _08115E24
|
||||
.4byte _081161D8
|
||||
.4byte _08115D94
|
||||
.4byte _08115DAC
|
||||
.4byte _08115E40
|
||||
.4byte _08115EF4
|
||||
.4byte _0811600A
|
||||
.4byte _08116028
|
||||
.4byte _0811603A
|
||||
.4byte _08116058
|
||||
.4byte _08116112
|
||||
.4byte _08116128
|
||||
.4byte _081160A2
|
||||
.4byte _081160C0
|
||||
.4byte _08116168
|
||||
.4byte _08116194
|
||||
.4byte _08116168
|
||||
.4byte _0811617E
|
||||
.4byte _081161D8
|
||||
.4byte _081161AC
|
||||
.4byte _081161D8
|
||||
.4byte _081161D8
|
||||
.4byte _08115DEC
|
||||
.4byte _0811614C
|
||||
_08115B0C:
|
||||
ldr r3, _08115B4C @ =gUnknown_203B058
|
||||
ldr r2, _08115B50 @ =gUnknown_8456CD8
|
||||
ldr r1, _08115B54 @ =gSpecialVar_0x8004
|
||||
ldrh r0, [r1]
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
strb r0, [r3]
|
||||
ldr r4, _08115B58 @ =gUnknown_203B059
|
||||
ldrh r0, [r1]
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
ldr r0, [r0]
|
||||
lsrs r0, 8
|
||||
strb r0, [r4]
|
||||
ldrb r0, [r3]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_80FAF58
|
||||
bl sub_800B1F4
|
||||
bl OpenLink
|
||||
ldrb r1, [r4]
|
||||
movs r0, 0xF
|
||||
ands r0, r1
|
||||
bl sub_80FBB8C
|
||||
movs r0, 0x3
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08115B4C: .4byte gUnknown_203B058
|
||||
_08115B50: .4byte gUnknown_8456CD8
|
||||
_08115B54: .4byte gSpecialVar_0x8004
|
||||
_08115B58: .4byte gUnknown_203B059
|
||||
_08115B5C:
|
||||
movs r0, 0x70
|
||||
bl AllocZeroed
|
||||
str r0, [r5, 0x4]
|
||||
movs r0, 0xA0
|
||||
bl AllocZeroed
|
||||
str r0, [r5]
|
||||
movs r0, 0xA0
|
||||
bl AllocZeroed
|
||||
str r0, [r5, 0x8]
|
||||
ldr r0, [r5, 0x4]
|
||||
movs r1, 0x4
|
||||
bl sub_811A650
|
||||
ldr r0, [r5]
|
||||
movs r1, 0x5
|
||||
bl sub_811A5E4
|
||||
ldr r0, [r5]
|
||||
adds r1, r0, 0
|
||||
adds r1, 0x10
|
||||
bl sub_80FCD50
|
||||
ldr r1, [r5]
|
||||
movs r3, 0
|
||||
movs r0, 0
|
||||
strh r0, [r1, 0x18]
|
||||
ldr r2, [r5]
|
||||
ldrb r1, [r2, 0x1A]
|
||||
subs r0, 0x4
|
||||
ands r0, r1
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2, 0x1A]
|
||||
ldr r2, [r5]
|
||||
ldrb r1, [r2, 0x1A]
|
||||
movs r0, 0x5
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
strb r0, [r2, 0x1A]
|
||||
ldr r0, [r5]
|
||||
strb r3, [r0, 0x1B]
|
||||
ldr r0, [r5, 0x4]
|
||||
movs r1, 0xFF
|
||||
bl sub_811A054
|
||||
strb r0, [r5, 0x17]
|
||||
ldr r0, _08115C48 @ =gUnknown_8456CD0
|
||||
bl AddWindow
|
||||
strb r0, [r5, 0x10]
|
||||
ldr r0, _08115C4C @ =gUnknown_8456CFC
|
||||
bl AddWindow
|
||||
strb r0, [r5, 0xF]
|
||||
ldr r0, _08115C50 @ =gUnknown_8456D04
|
||||
bl AddWindow
|
||||
strb r0, [r5, 0x11]
|
||||
ldrb r0, [r5, 0x10]
|
||||
movs r1, 0x22
|
||||
bl FillWindowPixelBuffer
|
||||
ldrb r0, [r5, 0x10]
|
||||
ldr r2, _08115C54 @ =gUnknown_845747C
|
||||
movs r1, 0x2
|
||||
str r1, [sp]
|
||||
movs r4, 0x4
|
||||
str r4, [sp, 0x4]
|
||||
movs r1, 0
|
||||
movs r3, 0x8
|
||||
bl sub_811A444
|
||||
ldrb r0, [r5, 0x10]
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r5, 0x10]
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
ldrb r0, [r5, 0xF]
|
||||
movs r1, 0
|
||||
bl DrawStdWindowFrame
|
||||
ldr r0, _08115C58 @ =gMultiuseListMenuTemplate
|
||||
adds r2, r0, 0
|
||||
ldr r1, _08115C5C @ =gUnknown_8456D34
|
||||
ldm r1!, {r3,r6,r7}
|
||||
stm r2!, {r3,r6,r7}
|
||||
ldm r1!, {r3,r6,r7}
|
||||
stm r2!, {r3,r6,r7}
|
||||
ldrb r1, [r5, 0xF]
|
||||
strb r1, [r0, 0x10]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ListMenuInit
|
||||
strb r0, [r5, 0x12]
|
||||
ldrb r0, [r5, 0x11]
|
||||
movs r1, 0
|
||||
bl DrawStdWindowFrame
|
||||
ldrb r0, [r5, 0x11]
|
||||
bl PutWindowTilemap
|
||||
ldrb r0, [r5, 0x11]
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
movs r0, 0x1
|
||||
strb r0, [r5, 0x13]
|
||||
strb r4, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08115C48: .4byte gUnknown_8456CD0
|
||||
_08115C4C: .4byte gUnknown_8456CFC
|
||||
_08115C50: .4byte gUnknown_8456D04
|
||||
_08115C54: .4byte gUnknown_845747C
|
||||
_08115C58: .4byte gMultiuseListMenuTemplate
|
||||
_08115C5C: .4byte gUnknown_8456D34
|
||||
_08115C60:
|
||||
ldr r0, _08115C98 @ =gStringVar1
|
||||
ldr r2, _08115C9C @ =gUnknown_8456C74
|
||||
ldr r4, _08115CA0 @ =gUnknown_203B058
|
||||
ldrb r1, [r4]
|
||||
lsls r1, 2
|
||||
adds r1, r2
|
||||
ldr r1, [r1]
|
||||
bl StringCopy
|
||||
ldr r0, _08115CA4 @ =gUnknown_203B059
|
||||
ldrb r2, [r0]
|
||||
lsrs r0, r2, 4
|
||||
cmp r0, 0
|
||||
beq _08115CC4
|
||||
ldrb r1, [r5, 0x13]
|
||||
subs r0, 0x1
|
||||
cmp r1, r0
|
||||
ble _08115CB0
|
||||
movs r0, 0xF
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _08115CB0
|
||||
ldr r0, _08115CA8 @ =gStringVar4
|
||||
ldr r1, _08115CAC @ =gUnknown_8457264
|
||||
bl StringExpandPlaceholders
|
||||
b _08115CCC
|
||||
.align 2, 0
|
||||
_08115C98: .4byte gStringVar1
|
||||
_08115C9C: .4byte gUnknown_8456C74
|
||||
_08115CA0: .4byte gUnknown_203B058
|
||||
_08115CA4: .4byte gUnknown_203B059
|
||||
_08115CA8: .4byte gStringVar4
|
||||
_08115CAC: .4byte gUnknown_8457264
|
||||
_08115CB0:
|
||||
ldr r0, _08115CBC @ =gStringVar4
|
||||
ldr r1, _08115CC0 @ =gUnknown_8457234
|
||||
bl StringExpandPlaceholders
|
||||
b _08115CCC
|
||||
.align 2, 0
|
||||
_08115CBC: .4byte gStringVar4
|
||||
_08115CC0: .4byte gUnknown_8457234
|
||||
_08115CC4:
|
||||
ldr r0, _08115CE0 @ =gStringVar4
|
||||
ldrb r1, [r4]
|
||||
bl sub_811599C
|
||||
_08115CCC:
|
||||
ldrb r0, [r5, 0x11]
|
||||
ldr r1, _08115CE4 @ =gUnknown_203B059
|
||||
ldrb r1, [r1]
|
||||
ldrb r2, [r5, 0x13]
|
||||
bl sub_811586C
|
||||
movs r0, 0x5
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08115CE0: .4byte gStringVar4
|
||||
_08115CE4: .4byte gUnknown_203B059
|
||||
_08115CE8:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _08115D00 @ =gStringVar4
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08115CFA
|
||||
b _081161D8
|
||||
_08115CFA:
|
||||
movs r0, 0x6
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08115D00: .4byte gStringVar4
|
||||
_08115D04:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x7
|
||||
movs r2, 0xA
|
||||
bl sub_8116444
|
||||
ldr r0, _08115D24 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x2
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08115D40
|
||||
ldrb r0, [r5, 0x13]
|
||||
cmp r0, 0x1
|
||||
bne _08115D28
|
||||
movs r0, 0x17
|
||||
b _08115D3E
|
||||
.align 2, 0
|
||||
_08115D24: .4byte gMain
|
||||
_08115D28:
|
||||
ldr r0, _08115D38 @ =gUnknown_203B059
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0xF0
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08115D3C
|
||||
movs r0, 0x1E
|
||||
b _08115D3E
|
||||
.align 2, 0
|
||||
_08115D38: .4byte gUnknown_203B059
|
||||
_08115D3C:
|
||||
movs r0, 0x13
|
||||
_08115D3E:
|
||||
strb r0, [r5, 0xC]
|
||||
_08115D40:
|
||||
ldr r0, _08115D8C @ =gUnknown_203B059
|
||||
ldrb r2, [r0]
|
||||
lsrs r0, r2, 4
|
||||
cmp r0, 0
|
||||
beq _08115D76
|
||||
ldrb r1, [r5, 0x13]
|
||||
subs r0, 0x1
|
||||
cmp r1, r0
|
||||
ble _08115D76
|
||||
movs r4, 0xF
|
||||
adds r0, r4, 0
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _08115D76
|
||||
bl sub_80FC1CC
|
||||
cmp r0, 0
|
||||
beq _08115D76
|
||||
ldr r0, _08115D90 @ =gMain
|
||||
ldrh r1, [r0, 0x2E]
|
||||
movs r0, 0x8
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08115D76
|
||||
strb r4, [r5, 0xC]
|
||||
bl sub_80F8F5C
|
||||
_08115D76:
|
||||
ldrb r0, [r5, 0xC]
|
||||
cmp r0, 0x6
|
||||
beq _08115D7E
|
||||
b _081161D8
|
||||
_08115D7E:
|
||||
bl sub_80FA5D4
|
||||
cmp r0, 0
|
||||
bne _08115D88
|
||||
b _081161D8
|
||||
_08115D88:
|
||||
b _08115EEE
|
||||
.align 2, 0
|
||||
_08115D8C: .4byte gUnknown_203B059
|
||||
_08115D90: .4byte gMain
|
||||
_08115D94:
|
||||
bl sub_80FA5D4
|
||||
cmp r0, 0
|
||||
beq _08115D9E
|
||||
b _081161D8
|
||||
_08115D9E:
|
||||
movs r0, 0x6
|
||||
strb r0, [r5, 0xC]
|
||||
ldr r0, [r5]
|
||||
bl sub_81165E8
|
||||
strb r0, [r5, 0x13]
|
||||
b _081161D8
|
||||
_08115DAC:
|
||||
movs r3, 0
|
||||
ldr r0, _08115DE4 @ =gUnknown_203B058
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0xF
|
||||
ands r0, r1
|
||||
cmp r0, 0x2
|
||||
bne _08115DBC
|
||||
movs r3, 0x1
|
||||
_08115DBC:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r2, _08115DE8 @ =gUnknown_845767C
|
||||
lsls r1, r3, 2
|
||||
adds r1, r2
|
||||
ldr r1, [r1]
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08115DD4
|
||||
b _081161D8
|
||||
_08115DD4:
|
||||
ldr r0, [r5]
|
||||
bl sub_81165E8
|
||||
strb r0, [r5, 0x13]
|
||||
ldrb r0, [r5, 0x12]
|
||||
bl RedrawListMenu
|
||||
b _0811610C
|
||||
.align 2, 0
|
||||
_08115DE4: .4byte gUnknown_203B058
|
||||
_08115DE8: .4byte gUnknown_845767C
|
||||
_08115DEC:
|
||||
ldr r0, _08115E1C @ =gUnknown_203B059
|
||||
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, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r2, _08115E20 @ =gUnknown_845767C
|
||||
lsls r1, r3, 2
|
||||
adds r1, r2
|
||||
ldr r1, [r1]
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08115E16
|
||||
b _081161D8
|
||||
_08115E16:
|
||||
movs r0, 0x15
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08115E1C: .4byte gUnknown_203B059
|
||||
_08115E20: .4byte gUnknown_845767C
|
||||
_08115E24:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _08115E3C @ =gStringVar4
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08115E36
|
||||
b _081161D8
|
||||
_08115E36:
|
||||
movs r0, 0xB
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08115E3C: .4byte gStringVar4
|
||||
_08115E40:
|
||||
adds r4, r5, 0
|
||||
adds r4, 0xD
|
||||
ldrb r1, [r5, 0x13]
|
||||
lsls r1, 5
|
||||
ldr r0, [r5]
|
||||
adds r0, r1
|
||||
adds r0, 0x2
|
||||
bl sub_8118658
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldrb r2, [r5, 0x13]
|
||||
lsls r2, 5
|
||||
ldr r1, [r5]
|
||||
adds r1, r2
|
||||
adds r1, 0x10
|
||||
bl sub_80FA634
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
bl sub_811A14C
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
beq _08115EC0
|
||||
cmp r1, r0
|
||||
bgt _08115E84
|
||||
subs r0, 0x2
|
||||
cmp r1, r0
|
||||
beq _08115EEE
|
||||
b _081161D8
|
||||
_08115E84:
|
||||
cmp r1, 0
|
||||
beq _08115E8E
|
||||
cmp r1, 0x1
|
||||
beq _08115EC0
|
||||
b _081161D8
|
||||
_08115E8E:
|
||||
bl LoadWirelessStatusIndicatorSpriteGfx
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl CreateWirelessStatusIndicatorSprite
|
||||
movs r0, 0x5
|
||||
strb r0, [r5, 0x19]
|
||||
ldrb r1, [r5, 0x13]
|
||||
lsls r1, 5
|
||||
ldr r0, [r5]
|
||||
adds r0, r1
|
||||
adds r0, 0x2
|
||||
bl sub_8118658
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
ldrb r0, [r5, 0x13]
|
||||
lsls r0, 5
|
||||
ldr r2, [r5]
|
||||
adds r2, r0
|
||||
adds r2, 0x10
|
||||
movs r0, 0x5
|
||||
b _08115EE4
|
||||
_08115EC0:
|
||||
movs r0, 0x6
|
||||
strb r0, [r5, 0x19]
|
||||
ldrb r1, [r5, 0x13]
|
||||
lsls r1, 5
|
||||
ldr r0, [r5]
|
||||
adds r0, r1
|
||||
adds r0, 0x2
|
||||
bl sub_8118658
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
ldrb r0, [r5, 0x13]
|
||||
lsls r0, 5
|
||||
ldr r2, [r5]
|
||||
adds r2, r0
|
||||
adds r2, 0x10
|
||||
movs r0, 0x6
|
||||
_08115EE4:
|
||||
bl sub_80FA670
|
||||
movs r0, 0xC
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_08115EEE:
|
||||
movs r0, 0x9
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_08115EF4:
|
||||
ldrb r1, [r5, 0x13]
|
||||
lsls r1, 5
|
||||
ldr r0, [r5]
|
||||
adds r0, r1
|
||||
adds r0, 0x2
|
||||
bl sub_8118658
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldrb r2, [r5, 0x13]
|
||||
lsls r2, 5
|
||||
ldr r1, [r5]
|
||||
adds r1, r2
|
||||
adds r1, 0x10
|
||||
bl sub_80FA6FC
|
||||
cmp r0, 0x1
|
||||
bne _08115FFA
|
||||
ldrb r0, [r5, 0x19]
|
||||
cmp r0, 0x5
|
||||
bne _08115FB4
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r5, 0x13]
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0x1B]
|
||||
ldrb r0, [r5, 0x12]
|
||||
bl RedrawListMenu
|
||||
ldrb r0, [r5, 0x13]
|
||||
adds r0, 0x1
|
||||
strb r0, [r5, 0x13]
|
||||
ldr r1, _08115F58 @ =gUnknown_203B059
|
||||
ldrb r1, [r1]
|
||||
movs r3, 0xF
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
adds r0, r3, 0
|
||||
ands r0, r1
|
||||
cmp r2, r0
|
||||
bne _08115FF0
|
||||
movs r0, 0xF0
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _08115F54
|
||||
cmp r2, 0x4
|
||||
bne _08115F5C
|
||||
_08115F54:
|
||||
strb r3, [r5, 0xC]
|
||||
b _08115F90
|
||||
.align 2, 0
|
||||
_08115F58: .4byte gUnknown_203B059
|
||||
_08115F5C:
|
||||
ldr r4, _08115FA4 @ =gStringVar1
|
||||
ldrb r1, [r5, 0x13]
|
||||
lsls r1, 5
|
||||
ldr r0, [r5]
|
||||
adds r1, r0
|
||||
subs r1, 0x10
|
||||
adds r0, r4, 0
|
||||
bl StringCopy7
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r5, 0x13]
|
||||
subs r0, 0x1
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
ldrb r1, [r1]
|
||||
lsls r1, 28
|
||||
lsrs r1, 28
|
||||
adds r0, r4, 0
|
||||
bl ConvertInternationalString
|
||||
ldr r0, _08115FA8 @ =gStringVar4
|
||||
ldr r1, _08115FAC @ =gUnknown_8457554
|
||||
bl StringExpandPlaceholders
|
||||
movs r0, 0xD
|
||||
strb r0, [r5, 0xC]
|
||||
_08115F90:
|
||||
bl sub_80F8F5C
|
||||
ldrb r0, [r5, 0x11]
|
||||
ldr r1, _08115FB0 @ =gUnknown_203B059
|
||||
ldrb r1, [r1]
|
||||
ldrb r2, [r5, 0x13]
|
||||
bl sub_811586C
|
||||
b _08115FF4
|
||||
.align 2, 0
|
||||
_08115FA4: .4byte gStringVar1
|
||||
_08115FA8: .4byte gStringVar4
|
||||
_08115FAC: .4byte gUnknown_8457554
|
||||
_08115FB0: .4byte gUnknown_203B059
|
||||
_08115FB4:
|
||||
ldrb r1, [r5, 0x13]
|
||||
lsls r1, 5
|
||||
ldr r0, [r5]
|
||||
adds r0, r1
|
||||
adds r4, r0, 0
|
||||
adds r4, 0x10
|
||||
adds r0, 0x2
|
||||
bl sub_8118658
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
adds r0, r4, 0
|
||||
bl sub_80FBD4C
|
||||
ldr r1, [r5]
|
||||
ldrb r0, [r5, 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, [r5]
|
||||
bl sub_81165E8
|
||||
ldrb r0, [r5, 0x12]
|
||||
bl RedrawListMenu
|
||||
_08115FF0:
|
||||
movs r0, 0x4
|
||||
strb r0, [r5, 0xC]
|
||||
_08115FF4:
|
||||
movs r0, 0
|
||||
strb r0, [r5, 0x19]
|
||||
b _081161D8
|
||||
_08115FFA:
|
||||
cmp r0, 0x2
|
||||
beq _08116000
|
||||
b _081161D8
|
||||
_08116000:
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl sub_80FB9E4
|
||||
b _0811610C
|
||||
_0811600A:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _08116024 @ =gStringVar4
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0811601C
|
||||
b _081161D8
|
||||
_0811601C:
|
||||
movs r0, 0xE
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08116024: .4byte gStringVar4
|
||||
_08116028:
|
||||
ldrb r0, [r5, 0xE]
|
||||
adds r0, 0x1
|
||||
strb r0, [r5, 0xE]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x78
|
||||
bhi _08116038
|
||||
b _081161D8
|
||||
_08116038:
|
||||
b _0811607E
|
||||
_0811603A:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _08116054 @ =gUnknown_8457514
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0811604C
|
||||
b _081161D8
|
||||
_0811604C:
|
||||
movs r0, 0x10
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08116054: .4byte gUnknown_8457514
|
||||
_08116058:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
movs r1, 0
|
||||
bl sub_811A14C
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
beq _0811607E
|
||||
cmp r1, 0
|
||||
bgt _08116078
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
beq _08116084
|
||||
b _081161D8
|
||||
_08116078:
|
||||
cmp r1, 0x1
|
||||
beq _08116084
|
||||
b _081161D8
|
||||
_0811607E:
|
||||
movs r0, 0x11
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_08116084:
|
||||
ldr r0, _08116098 @ =gUnknown_203B059
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0xF0
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0811609C
|
||||
movs r0, 0x1E
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08116098: .4byte gUnknown_203B059
|
||||
_0811609C:
|
||||
movs r0, 0x13
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_081160A2:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _081160BC @ =gUnknown_8457530
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081160B4
|
||||
b _081161D8
|
||||
_081160B4:
|
||||
movs r0, 0x14
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_081160BC: .4byte gUnknown_8457530
|
||||
_081160C0:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
movs r1, 0
|
||||
bl sub_811A14C
|
||||
lsls r0, 24
|
||||
asrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
beq _0811615C
|
||||
cmp r1, 0
|
||||
bgt _081160E0
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
beq _081160E4
|
||||
b _081161D8
|
||||
_081160E0:
|
||||
cmp r1, 0x1
|
||||
bne _081161D8
|
||||
_081160E4:
|
||||
ldr r0, _081160F8 @ =gUnknown_203B059
|
||||
ldrb r2, [r0]
|
||||
movs r0, 0xF0
|
||||
ands r0, r2
|
||||
cmp r0, 0
|
||||
beq _081160FC
|
||||
movs r0, 0xF
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_081160F8: .4byte gUnknown_203B059
|
||||
_081160FC:
|
||||
movs r3, 0xF
|
||||
ldrb r1, [r5, 0x13]
|
||||
adds r0, r3, 0
|
||||
ands r0, r2
|
||||
cmp r1, r0
|
||||
bne _0811610C
|
||||
strb r3, [r5, 0xC]
|
||||
b _081161D8
|
||||
_0811610C:
|
||||
movs r0, 0x4
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_08116112:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x7
|
||||
movs r2, 0x17
|
||||
bl sub_8116444
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081161D8
|
||||
movs r0, 0x12
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_08116128:
|
||||
bl sub_80F8F40
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
beq _08116144
|
||||
movs r0, 0
|
||||
bl sub_80F8F7C
|
||||
cmp r0, 0
|
||||
beq _081161D8
|
||||
movs r0, 0x1A
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_08116144:
|
||||
movs r0, 0x1D
|
||||
strb r0, [r5, 0xC]
|
||||
strb r1, [r5, 0xD]
|
||||
b _081161D8
|
||||
_0811614C:
|
||||
adds r0, r5, 0
|
||||
adds r0, 0xD
|
||||
ldr r1, _08116164 @ =gUnknown_8457610
|
||||
bl sub_811A0F8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _081161D8
|
||||
_0811615C:
|
||||
movs r0, 0x17
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08116164: .4byte gUnknown_8457610
|
||||
_08116168:
|
||||
bl DestroyWirelessStatusIndicatorSprite
|
||||
bl sub_80F8DC0
|
||||
adds r0, r5, 0
|
||||
bl sub_81161E4
|
||||
ldrb r0, [r5, 0xC]
|
||||
adds r0, 0x1
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_0811617E:
|
||||
bl EnableBothScriptContexts
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
ldr r1, _08116190 @ =gSpecialVar_Result
|
||||
movs r0, 0x5
|
||||
strh r0, [r1]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_08116190: .4byte gSpecialVar_Result
|
||||
_08116194:
|
||||
bl EnableBothScriptContexts
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
ldr r1, _081161A8 @ =gSpecialVar_Result
|
||||
movs r0, 0x8
|
||||
strh r0, [r1]
|
||||
b _081161D8
|
||||
.align 2, 0
|
||||
_081161A8: .4byte gSpecialVar_Result
|
||||
_081161AC:
|
||||
bl sub_80FBA00
|
||||
cmp r0, 0
|
||||
beq _081161BA
|
||||
movs r0, 0x1D
|
||||
strb r0, [r5, 0xC]
|
||||
b _081161D8
|
||||
_081161BA:
|
||||
ldr r0, _081161E0 @ =gReceivedRemoteLinkPlayers
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _081161D8
|
||||
movs r0, 0x1
|
||||
bl sub_80FAFE0
|
||||
bl sub_8117990
|
||||
adds r0, r5, 0
|
||||
bl sub_81161E4
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
_081161D8:
|
||||
add sp, 0x8
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_081161E0: .4byte gReceivedRemoteLinkPlayers
|
||||
thumb_func_end sub_8115A68
|
||||
|
||||
thumb_func_start sub_81161E4
|
||||
sub_81161E4: @ 81161E4
|
||||
push {r4,lr}
|
||||
|
|
@ -3790,7 +2905,7 @@ _08117AB8:
|
|||
ldr r0, [r5]
|
||||
adds r1, r0, 0
|
||||
adds r1, 0x10
|
||||
bl sub_80FCD50
|
||||
bl LinkRfu3_SetGnameUnameFromStaticBuffers
|
||||
ldr r1, [r5]
|
||||
movs r3, 0
|
||||
movs r0, 0
|
||||
|
|
|
|||
|
|
@ -295,6 +295,18 @@ void sub_80FEB3C(void);
|
|||
void sub_80FAFE0(u8 a0);
|
||||
bool32 sub_80FA44C(u32 a0);
|
||||
bool8 sub_80FC1B0(void);
|
||||
bool8 sub_80F8F40(void);
|
||||
void sub_80F8F5C(void);
|
||||
bool32 sub_80FA5D4(void);
|
||||
bool32 sub_80FC1CC(void);
|
||||
bool32 sub_80F8F7C(bool32 a0);
|
||||
bool32 sub_80FA634(u16 a0, const u8 *a1);
|
||||
void sub_80FA670(u8 a0, u16 a1, const u8 *a2);
|
||||
u32 sub_80FA6FC(u16 a0, const u8 *a1);
|
||||
void sub_80FAF58(u8 a0, u32 a1, u32 a2);
|
||||
void sub_80FBB8C(u32 a0);
|
||||
void sub_80FBD4C(const u8 *ptr, u16 a1);
|
||||
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname);
|
||||
|
||||
#include "mevent_server.h"
|
||||
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
|
||||
|
|
|
|||
|
|
@ -681,7 +681,7 @@ bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx)
|
|||
return retVal;
|
||||
}
|
||||
|
||||
void sub_80FCD50(struct GFtgtGname *gname, u8 *uname)
|
||||
void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname)
|
||||
{
|
||||
memcpy(gname, &gHostRFUtgtGnameBuffer, RFU_GAME_NAME_LENGTH);
|
||||
memcpy(uname, gHostRFUtgtUnameBuffer, RFU_USER_NAME_LENGTH);
|
||||
|
|
|
|||
330
src/union_room.c
330
src/union_room.c
|
|
@ -1,21 +1,49 @@
|
|||
#include "global.h"
|
||||
#include "gflib.h"
|
||||
#include "event_data.h"
|
||||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
#include "list_menu.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "script.h"
|
||||
#include "task.h"
|
||||
#include "union_room.h"
|
||||
|
||||
EWRAM_DATA union UnkUnion_Main gUnknown_203B05C = {};
|
||||
EWRAM_DATA u8 gUnknown_203B058 = 0;
|
||||
EWRAM_DATA u8 gUnknown_203B059 = 0;
|
||||
|
||||
IWRAM_DATA struct UnkStruct_Leader *gUnknown_3002024;
|
||||
|
||||
void sub_8115A68(u8 taskId);
|
||||
void sub_81161E4(struct UnkStruct_Leader * leader);
|
||||
bool8 sub_8116444(struct UnkStruct_Leader * leader, u32 a1, u32 a2);
|
||||
u8 sub_81165E8(struct UnkStruct_Main0 * a0);
|
||||
void sub_8117990(void);
|
||||
u16 sub_8118658(const u8 *data);
|
||||
u8 sub_811A054(struct UnkStruct_Main4 *arg0, u32 arg1);
|
||||
bool8 sub_811A0F8(u8 *textState, const u8 *str);
|
||||
s8 sub_811A14C(u8 *dest, bool32 arg1);
|
||||
void sub_811A444(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx);
|
||||
void sub_811A5E4(struct UnkStruct_x20 *arg0, u8 count);
|
||||
void sub_811A650(struct UnkStruct_Main4 *arg0, u8 count);
|
||||
|
||||
extern const u8 *const gUnknown_845742C[][5];
|
||||
extern const u8 *const gUnknown_8456C74[];
|
||||
extern const struct WindowTemplate gUnknown_8456CD0;
|
||||
extern const u32 gUnknown_8456CD8[];
|
||||
extern const struct WindowTemplate gUnknown_8456CFC;
|
||||
extern const struct WindowTemplate gUnknown_8456D04;
|
||||
extern const struct ListMenuTemplate gUnknown_8456D34;
|
||||
extern const u8 gUnknown_84571B4[];
|
||||
extern const u8 gUnknown_8457234[];
|
||||
extern const u8 gUnknown_8457264[];
|
||||
extern const u8 gUnknown_845747C[];
|
||||
extern const u8 gUnknown_8457514[];
|
||||
extern const u8 gUnknown_8457530[];
|
||||
extern const u8 gUnknown_8457554[];
|
||||
extern const u8 gUnknown_8457610[];
|
||||
extern const u8 *const gUnknown_845767C[];
|
||||
extern const u8 *const gUnknown_845742C[][5];
|
||||
|
||||
void sub_811586C(u8 windowId, u8 arg1, u8 stringId)
|
||||
{
|
||||
|
|
@ -77,3 +105,303 @@ void TryBecomeLinkLeader(void)
|
|||
dataPtr->textState = 0;
|
||||
gSpecialVar_Result = 0;
|
||||
}
|
||||
|
||||
void sub_8115A68(u8 taskId)
|
||||
{
|
||||
u32 id, val;
|
||||
struct UnkStruct_Leader *data = gUnknown_203B05C.leader;
|
||||
|
||||
switch (data->state)
|
||||
{
|
||||
case 0:
|
||||
gUnknown_203B058 = gUnknown_8456CD8[gSpecialVar_0x8004];
|
||||
gUnknown_203B059 = gUnknown_8456CD8[gSpecialVar_0x8004] >> 8;
|
||||
sub_80FAF58(gUnknown_203B058, 0, 0);
|
||||
sub_800B1F4();
|
||||
OpenLink();
|
||||
sub_80FBB8C(gUnknown_203B059 & 0xF);
|
||||
data->state = 3;
|
||||
break;
|
||||
case 3:
|
||||
data->field_4 = AllocZeroed(0x70);
|
||||
data->field_0 = AllocZeroed(0xA0);
|
||||
data->field_8 = AllocZeroed(0xA0);
|
||||
sub_811A650(data->field_4, 4);
|
||||
sub_811A5E4(data->field_0->arr, 5);
|
||||
LinkRfu3_SetGnameUnameFromStaticBuffers(&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_811A054(data->field_4, 0xFF);
|
||||
data->field_10 = AddWindow(&gUnknown_8456CD0);
|
||||
data->listWindowId = AddWindow(&gUnknown_8456CFC);
|
||||
data->field_11 = AddWindow(&gUnknown_8456D04);
|
||||
|
||||
FillWindowPixelBuffer(data->field_10, PIXEL_FILL(2));
|
||||
sub_811A444(data->field_10, 0, gUnknown_845747C, 8, 2, 4);
|
||||
PutWindowTilemap(data->field_10);
|
||||
CopyWindowToVram(data->field_10, 2);
|
||||
|
||||
DrawStdWindowFrame(data->listWindowId, FALSE);
|
||||
gMultiuseListMenuTemplate = gUnknown_8456D34;
|
||||
gMultiuseListMenuTemplate.windowId = data->listWindowId;
|
||||
data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0);
|
||||
|
||||
DrawStdWindowFrame(data->field_11, FALSE);
|
||||
PutWindowTilemap(data->field_11);
|
||||
CopyWindowToVram(data->field_11, 2);
|
||||
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
data->field_13 = 1;
|
||||
data->state = 4;
|
||||
break;
|
||||
case 4:
|
||||
StringCopy(gStringVar1, gUnknown_8456C74[gUnknown_203B058]);
|
||||
if ((gUnknown_203B059 >> 4) != 0)
|
||||
{
|
||||
if (data->field_13 > (gUnknown_203B059 >> 4) - 1 && (gUnknown_203B059 & 0xF) != 0)
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8457264);
|
||||
else
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8457234);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_811599C(gStringVar4, gUnknown_203B058);
|
||||
}
|
||||
|
||||
sub_811586C(data->field_11, gUnknown_203B059, data->field_13);
|
||||
data->state = 5;
|
||||
break;
|
||||
case 5:
|
||||
if (sub_811A0F8(&data->textState, gStringVar4))
|
||||
data->state = 6;
|
||||
break;
|
||||
case 6:
|
||||
sub_8116444(data, 7, 10);
|
||||
if (gMain.newKeys & B_BUTTON)
|
||||
{
|
||||
if (data->field_13 == 1)
|
||||
data->state = 23;
|
||||
else if ((gUnknown_203B059 & 0xF0) != 0)
|
||||
data->state = 30;
|
||||
else
|
||||
data->state = 19;
|
||||
}
|
||||
if ((gUnknown_203B059 >> 4) != 0
|
||||
&& data->field_13 > (gUnknown_203B059 >> 4) - 1
|
||||
&& (gUnknown_203B059 & 0xF) != 0
|
||||
&& sub_80FC1CC()
|
||||
&& gMain.newKeys & START_BUTTON)
|
||||
{
|
||||
data->state = 15;
|
||||
sub_80F8F5C();
|
||||
}
|
||||
if (data->state == 6 && sub_80FA5D4())
|
||||
{
|
||||
data->state = 9;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
if (!sub_80FA5D4())
|
||||
{
|
||||
data->state = 6;
|
||||
data->field_13 = sub_81165E8(data->field_0);
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
id = ((gUnknown_203B058 & 0xF) == 2) ? 1 : 0;
|
||||
if (sub_811A0F8(&data->textState, gUnknown_845767C[id]))
|
||||
{
|
||||
data->field_13 = sub_81165E8(data->field_0);
|
||||
RedrawListMenu(data->listTaskId);
|
||||
data->state = 4;
|
||||
}
|
||||
break;
|
||||
case 29:
|
||||
id = ((gUnknown_203B059 & 0xF) == 2) ? 0 : 1;
|
||||
if (sub_811A0F8(&data->textState, gUnknown_845767C[id]))
|
||||
{
|
||||
data->state = 21;
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
if (sub_811A0F8(&data->textState, gStringVar4))
|
||||
{
|
||||
data->state = 11;
|
||||
}
|
||||
break;
|
||||
case 11:
|
||||
switch (sub_811A14C(&data->textState, sub_80FA634(sub_8118658(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName)))
|
||||
{
|
||||
case 0:
|
||||
LoadWirelessStatusIndicatorSpriteGfx();
|
||||
CreateWirelessStatusIndicatorSprite(0, 0);
|
||||
data->field_19 = 5;
|
||||
sub_80FA670(5, sub_8118658(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName);
|
||||
data->state = 12;
|
||||
break;
|
||||
case 1:
|
||||
case -1:
|
||||
data->field_19 = 6;
|
||||
sub_80FA670(6, sub_8118658(data->field_0->arr[data->field_13].unk.field_0.unk_00.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_80FA6FC(sub_8118658(data->field_0->arr[data->field_13].unk.field_0.unk_00.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;
|
||||
RedrawListMenu(data->listTaskId);
|
||||
data->field_13++;
|
||||
if (data->field_13 == (gUnknown_203B059 & 0xF))
|
||||
{
|
||||
if ((gUnknown_203B059 & 0xF0) != 0 || data->field_13 == 4)
|
||||
{
|
||||
data->state = 15;
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCopy7(gStringVar1, data->field_0->arr[data->field_13 - 1].unk.playerName);
|
||||
ConvertInternationalString(gStringVar1, data->field_0->arr[data->field_13 - 1].unk.field_0.unk_00.unk_00_0);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8457554);
|
||||
data->state = 13;
|
||||
}
|
||||
|
||||
sub_80F8F5C();
|
||||
sub_811586C(data->field_11, gUnknown_203B059, data->field_13);
|
||||
}
|
||||
else
|
||||
{
|
||||
data->state = 4;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_80FBD4C(data->field_0->arr[data->field_13].unk.playerName, sub_8118658(data->field_0->arr[data->field_13].unk.field_0.unk_00.playerTrainerId));
|
||||
data->field_0->arr[data->field_13].field_1A_0 = 0;
|
||||
sub_81165E8(data->field_0);
|
||||
RedrawListMenu(data->listTaskId);
|
||||
data->state = 4;
|
||||
}
|
||||
|
||||
data->field_19 = 0;
|
||||
}
|
||||
else if (val == 2)
|
||||
{
|
||||
sub_80FB9E4(0, 0);
|
||||
data->state = 4;
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
if (sub_811A0F8(&data->textState, gStringVar4))
|
||||
data->state = 14;
|
||||
break;
|
||||
case 14:
|
||||
if (++data->field_E > 120)
|
||||
data->state = 17;
|
||||
break;
|
||||
case 15:
|
||||
if (sub_811A0F8(&data->textState, gUnknown_8457514))
|
||||
data->state = 16;
|
||||
break;
|
||||
case 16:
|
||||
switch (sub_811A14C(&data->textState, FALSE))
|
||||
{
|
||||
case 0:
|
||||
data->state = 17;
|
||||
break;
|
||||
case 1:
|
||||
case -1:
|
||||
if ((gUnknown_203B059 & 0xF0) != 0)
|
||||
data->state = 30;
|
||||
else
|
||||
data->state = 19;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 19:
|
||||
if (sub_811A0F8(&data->textState, gUnknown_8457530))
|
||||
data->state = 20;
|
||||
break;
|
||||
case 20:
|
||||
switch (sub_811A14C(&data->textState, FALSE))
|
||||
{
|
||||
case 0:
|
||||
data->state = 23;
|
||||
break;
|
||||
case 1:
|
||||
case -1:
|
||||
if ((gUnknown_203B059 & 0xF0) != 0)
|
||||
data->state = 15;
|
||||
else if (data->field_13 == (gUnknown_203B059 & 0xF))
|
||||
data->state = 15;
|
||||
else
|
||||
data->state = 4;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
if (!sub_8116444(data, 7, 23))
|
||||
data->state = 18;
|
||||
break;
|
||||
case 18:
|
||||
if (sub_80F8F40())
|
||||
{
|
||||
if (sub_80F8F7C(FALSE))
|
||||
{
|
||||
data->state = 26;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
data->state = 29;
|
||||
data->textState = 0;
|
||||
}
|
||||
break;
|
||||
case 30:
|
||||
if (sub_811A0F8(&data->textState, gUnknown_8457610))
|
||||
data->state = 23;
|
||||
break;
|
||||
case 21:
|
||||
case 23:
|
||||
DestroyWirelessStatusIndicatorSprite();
|
||||
sub_80F8DC0();
|
||||
sub_81161E4(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_80FBA00())
|
||||
{
|
||||
data->state = 29;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gReceivedRemoteLinkPlayers != 0)
|
||||
{
|
||||
sub_80FAFE0(1);
|
||||
sub_8117990();
|
||||
sub_81161E4(data);
|
||||
DestroyTask(taskId);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user