union_room_chat_display through sub_812A1B8
This commit is contained in:
@@ -5,935 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_8129B14
|
|
||||||
sub_8129B14: @ 8129B14
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _08129B60 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, _08129B64 @ =0x00002168
|
|
||||||
bl Alloc
|
|
||||||
str r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129B70
|
|
||||||
bl sub_812AE70
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129B70
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _08129B68 @ =gUnknown_845AA84
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x4
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
ldr r0, _08129B6C @ =gUnknown_845AA94
|
|
||||||
bl InitWindows
|
|
||||||
bl ResetTempTileDataBuffers
|
|
||||||
bl sub_812AD50
|
|
||||||
ldr r0, [r4]
|
|
||||||
bl sub_8129BB8
|
|
||||||
bl sub_8129BC4
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_8129C34
|
|
||||||
movs r0, 0x1
|
|
||||||
b _08129B72
|
|
||||||
.align 2, 0
|
|
||||||
_08129B60: .4byte gUnknown_203B0E4
|
|
||||||
_08129B64: .4byte 0x00002168
|
|
||||||
_08129B68: .4byte gUnknown_845AA84
|
|
||||||
_08129B6C: .4byte gUnknown_845AA94
|
|
||||||
_08129B70:
|
|
||||||
movs r0, 0
|
|
||||||
_08129B72:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129B14
|
|
||||||
|
|
||||||
thumb_func_start sub_8129B78
|
|
||||||
sub_8129B78: @ 8129B78
|
|
||||||
push {lr}
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_8129C8C
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129B78
|
|
||||||
|
|
||||||
thumb_func_start sub_8129B88
|
|
||||||
sub_8129B88: @ 8129B88
|
|
||||||
push {r4,lr}
|
|
||||||
bl sub_812AEB0
|
|
||||||
ldr r4, _08129BB0 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129B9E
|
|
||||||
bl Free
|
|
||||||
movs r0, 0
|
|
||||||
str r0, [r4]
|
|
||||||
_08129B9E:
|
|
||||||
bl FreeAllWindowBuffers
|
|
||||||
ldr r1, _08129BB4 @ =gScanlineEffect
|
|
||||||
movs r0, 0x3
|
|
||||||
strb r0, [r1, 0x15]
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08129BB0: .4byte gUnknown_203B0E4
|
|
||||||
_08129BB4: .4byte gScanlineEffect
|
|
||||||
thumb_func_end sub_8129B88
|
|
||||||
|
|
||||||
thumb_func_start sub_8129BB8
|
|
||||||
sub_8129BB8: @ 8129BB8
|
|
||||||
movs r2, 0
|
|
||||||
movs r1, 0xFF
|
|
||||||
strh r1, [r0, 0x18]
|
|
||||||
strh r1, [r0, 0x1E]
|
|
||||||
strh r2, [r0, 0x1A]
|
|
||||||
bx lr
|
|
||||||
thumb_func_end sub_8129BB8
|
|
||||||
|
|
||||||
thumb_func_start sub_8129BC4
|
|
||||||
sub_8129BC4: @ 8129BC4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
ldr r1, _08129BF4 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r1]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129BEC
|
|
||||||
movs r2, 0
|
|
||||||
adds r4, r1, 0
|
|
||||||
ldr r5, _08129BF8 @ =sub_812A420
|
|
||||||
movs r3, 0
|
|
||||||
_08129BD6:
|
|
||||||
ldr r0, [r4]
|
|
||||||
lsls r1, r2, 3
|
|
||||||
adds r0, r1
|
|
||||||
str r5, [r0]
|
|
||||||
strb r3, [r0, 0x4]
|
|
||||||
ldr r0, [r4]
|
|
||||||
adds r0, r1
|
|
||||||
strb r3, [r0, 0x5]
|
|
||||||
adds r2, 0x1
|
|
||||||
cmp r2, 0x2
|
|
||||||
ble _08129BD6
|
|
||||||
_08129BEC:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08129BF4: .4byte gUnknown_203B0E4
|
|
||||||
_08129BF8: .4byte sub_812A420
|
|
||||||
thumb_func_end sub_8129BC4
|
|
||||||
|
|
||||||
thumb_func_start sub_8129BFC
|
|
||||||
sub_8129BFC: @ 8129BFC
|
|
||||||
push {r4-r6,lr}
|
|
||||||
ldr r1, _08129C30 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r1]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129C2A
|
|
||||||
movs r5, 0
|
|
||||||
adds r6, r1, 0
|
|
||||||
_08129C0A:
|
|
||||||
ldr r0, [r6]
|
|
||||||
lsls r4, r5, 3
|
|
||||||
adds r1, r0, r4
|
|
||||||
ldrb r0, [r1, 0x4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129C24
|
|
||||||
adds r0, r1, 0x5
|
|
||||||
ldr r1, [r1]
|
|
||||||
bl _call_via_r1
|
|
||||||
ldr r1, [r6]
|
|
||||||
adds r1, r4
|
|
||||||
strb r0, [r1, 0x4]
|
|
||||||
_08129C24:
|
|
||||||
adds r5, 0x1
|
|
||||||
cmp r5, 0x2
|
|
||||||
ble _08129C0A
|
|
||||||
_08129C2A:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_08129C30: .4byte gUnknown_203B0E4
|
|
||||||
thumb_func_end sub_8129BFC
|
|
||||||
|
|
||||||
thumb_func_start sub_8129C34
|
|
||||||
sub_8129C34: @ 8129C34
|
|
||||||
push {r4-r7,lr}
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r6, r0, 16
|
|
||||||
lsls r1, 24
|
|
||||||
ldr r3, _08129C70 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r3]
|
|
||||||
lsrs r1, 21
|
|
||||||
adds r0, r1
|
|
||||||
ldr r2, _08129C74 @ =sub_812A420
|
|
||||||
str r2, [r0]
|
|
||||||
movs r4, 0
|
|
||||||
adds r5, r3, 0
|
|
||||||
adds r3, r1, 0
|
|
||||||
mov r12, r4
|
|
||||||
ldr r1, _08129C78 @ =gUnknown_845AABC
|
|
||||||
movs r7, 0x1
|
|
||||||
adds r2, r1, 0x4
|
|
||||||
_08129C56:
|
|
||||||
ldrh r0, [r1]
|
|
||||||
cmp r0, r6
|
|
||||||
bne _08129C7C
|
|
||||||
ldr r1, [r5]
|
|
||||||
adds r1, r3
|
|
||||||
ldr r0, [r2]
|
|
||||||
str r0, [r1]
|
|
||||||
strb r7, [r1, 0x4]
|
|
||||||
ldr r0, [r5]
|
|
||||||
adds r0, r3
|
|
||||||
mov r1, r12
|
|
||||||
strb r1, [r0, 0x5]
|
|
||||||
b _08129C86
|
|
||||||
.align 2, 0
|
|
||||||
_08129C70: .4byte gUnknown_203B0E4
|
|
||||||
_08129C74: .4byte sub_812A420
|
|
||||||
_08129C78: .4byte gUnknown_845AABC
|
|
||||||
_08129C7C:
|
|
||||||
adds r1, 0x8
|
|
||||||
adds r2, 0x8
|
|
||||||
adds r4, 0x1
|
|
||||||
cmp r4, 0x14
|
|
||||||
bls _08129C56
|
|
||||||
_08129C86:
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8129C34
|
|
||||||
|
|
||||||
thumb_func_start sub_8129C8C
|
|
||||||
sub_8129C8C: @ 8129C8C
|
|
||||||
lsls r0, 24
|
|
||||||
ldr r1, _08129C9C @ =gUnknown_203B0E4
|
|
||||||
ldr r1, [r1]
|
|
||||||
lsrs r0, 21
|
|
||||||
adds r1, r0
|
|
||||||
ldrb r0, [r1, 0x4]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_08129C9C: .4byte gUnknown_203B0E4
|
|
||||||
thumb_func_end sub_8129C8C
|
|
||||||
|
|
||||||
thumb_func_start sub_8129CA0
|
|
||||||
sub_8129CA0: @ 8129CA0
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
bl FreeTempTileDataBuffersIfPossible
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129D36
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0x6
|
|
||||||
bhi _08129D2C
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _08129CC0 @ =_08129CC4
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_08129CC0: .4byte _08129CC4
|
|
||||||
.align 2, 0
|
|
||||||
_08129CC4:
|
|
||||||
.4byte _08129CE0
|
|
||||||
.4byte _08129CEA
|
|
||||||
.4byte _08129CF0
|
|
||||||
.4byte _08129CF6
|
|
||||||
.4byte _08129CFC
|
|
||||||
.4byte _08129D02
|
|
||||||
.4byte _08129D14
|
|
||||||
_08129CE0:
|
|
||||||
bl sub_812AAD4
|
|
||||||
bl sub_812AB8C
|
|
||||||
b _08129D30
|
|
||||||
_08129CEA:
|
|
||||||
bl sub_812ABD8
|
|
||||||
b _08129D30
|
|
||||||
_08129CF0:
|
|
||||||
bl sub_812AC08
|
|
||||||
b _08129D30
|
|
||||||
_08129CF6:
|
|
||||||
bl sub_812AC58
|
|
||||||
b _08129D30
|
|
||||||
_08129CFC:
|
|
||||||
bl sub_812AC9C
|
|
||||||
b _08129D30
|
|
||||||
_08129D02:
|
|
||||||
bl sub_812ACC0
|
|
||||||
bl sub_812ACEC
|
|
||||||
bl sub_812AD20
|
|
||||||
bl sub_812AD04
|
|
||||||
b _08129D30
|
|
||||||
_08129D14:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08129D30
|
|
||||||
bl sub_812AEC8
|
|
||||||
bl sub_812B048
|
|
||||||
bl sub_812B100
|
|
||||||
b _08129D30
|
|
||||||
_08129D2C:
|
|
||||||
movs r0, 0
|
|
||||||
b _08129D38
|
|
||||||
_08129D30:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
_08129D36:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129D38:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129CA0
|
|
||||||
|
|
||||||
thumb_func_start sub_8129D40
|
|
||||||
sub_8129D40: @ 8129D40
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129D50
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129D5E
|
|
||||||
b _08129D68
|
|
||||||
_08129D50:
|
|
||||||
bl sub_812AA10
|
|
||||||
movs r0, 0x3
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _08129D68
|
|
||||||
_08129D5E:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
b _08129D70
|
|
||||||
_08129D68:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129D70:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129D40
|
|
||||||
|
|
||||||
thumb_func_start sub_8129D78
|
|
||||||
sub_8129D78: @ 8129D78
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129D88
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129D96
|
|
||||||
b _08129DA0
|
|
||||||
_08129D88:
|
|
||||||
bl sub_812AA64
|
|
||||||
movs r0, 0x3
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _08129DA0
|
|
||||||
_08129D96:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
b _08129DA8
|
|
||||||
_08129DA0:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129DA8:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129D78
|
|
||||||
|
|
||||||
thumb_func_start sub_8129DB0
|
|
||||||
sub_8129DB0: @ 8129DB0
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129DE6
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _08129DC4
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129DCA
|
|
||||||
b _08129E0C
|
|
||||||
_08129DC4:
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _08129DF2
|
|
||||||
b _08129E0C
|
|
||||||
_08129DCA:
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_812AEFC
|
|
||||||
bl sub_812A980
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08129E12
|
|
||||||
bl sub_812A804
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _08129E0C
|
|
||||||
_08129DE6:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129E0C
|
|
||||||
b _08129E12
|
|
||||||
_08129DF2:
|
|
||||||
bl sub_812A9C8
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08129E12
|
|
||||||
bl sub_812AF1C
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_812AEFC
|
|
||||||
bl sub_812B160
|
|
||||||
movs r0, 0
|
|
||||||
b _08129E14
|
|
||||||
_08129E0C:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
_08129E12:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129E14:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129DB0
|
|
||||||
|
|
||||||
thumb_func_start sub_8129E1C
|
|
||||||
sub_8129E1C: @ 8129E1C
|
|
||||||
push {lr}
|
|
||||||
bl sub_812AF1C
|
|
||||||
movs r0, 0
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129E1C
|
|
||||||
|
|
||||||
thumb_func_start sub_8129E28
|
|
||||||
sub_8129E28: @ 8129E28
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129E38
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129E5C
|
|
||||||
b _08129E66
|
|
||||||
_08129E38:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
bl sub_812A578
|
|
||||||
movs r0, 0x17
|
|
||||||
movs r1, 0xB
|
|
||||||
movs r2, 0x1
|
|
||||||
bl sub_812A424
|
|
||||||
ldr r0, _08129E58 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x1E]
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _08129E66
|
|
||||||
.align 2, 0
|
|
||||||
_08129E58: .4byte gUnknown_203B0E4
|
|
||||||
_08129E5C:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
b _08129E6E
|
|
||||||
_08129E66:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129E6E:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129E28
|
|
||||||
|
|
||||||
thumb_func_start sub_8129E74
|
|
||||||
sub_8129E74: @ 8129E74
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129E84
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129E94
|
|
||||||
b _08129EAA
|
|
||||||
_08129E84:
|
|
||||||
bl sub_812A6F4
|
|
||||||
bl sub_812A51C
|
|
||||||
movs r0, 0
|
|
||||||
bl CopyBgTilemapBufferToVram
|
|
||||||
b _08129EAA
|
|
||||||
_08129E94:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08129EB0
|
|
||||||
bl sub_812A728
|
|
||||||
bl sub_812A544
|
|
||||||
movs r0, 0
|
|
||||||
b _08129EB2
|
|
||||||
_08129EAA:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
_08129EB0:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129EB2:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129E74
|
|
||||||
|
|
||||||
thumb_func_start sub_8129EB8
|
|
||||||
sub_8129EB8: @ 8129EB8
|
|
||||||
push {r4,lr}
|
|
||||||
sub sp, 0xC
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129ECA
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129F02
|
|
||||||
b _08129F14
|
|
||||||
_08129ECA:
|
|
||||||
add r1, sp, 0x8
|
|
||||||
add r0, sp, 0x4
|
|
||||||
bl sub_8129730
|
|
||||||
ldr r0, [sp, 0x4]
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
ldr r1, [sp, 0x8]
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_812A74C
|
|
||||||
bl sub_8129714
|
|
||||||
adds r1, r0, 0
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp]
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x3
|
|
||||||
movs r3, 0x1
|
|
||||||
bl sub_812A778
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _08129F14
|
|
||||||
_08129F02:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08129F1A
|
|
||||||
bl sub_812B160
|
|
||||||
movs r0, 0
|
|
||||||
b _08129F1C
|
|
||||||
_08129F14:
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
_08129F1A:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129F1C:
|
|
||||||
add sp, 0xC
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129EB8
|
|
||||||
|
|
||||||
thumb_func_start sub_8129F24
|
|
||||||
sub_8129F24: @ 8129F24
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
adds r6, r0, 0
|
|
||||||
ldrb r0, [r6]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _08129F80
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _08129F3A
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129F44
|
|
||||||
b _08129FBA
|
|
||||||
_08129F3A:
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _08129FA4
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _08129FB6
|
|
||||||
b _08129FBA
|
|
||||||
_08129F44:
|
|
||||||
bl sub_8129788
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 16
|
|
||||||
lsrs r4, 16
|
|
||||||
bl sub_8129758
|
|
||||||
adds r5, r0, 0
|
|
||||||
bl StringLength_Multibyte
|
|
||||||
adds r1, r0, 0
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0x66
|
|
||||||
bl sub_812A74C
|
|
||||||
movs r0, 0x5
|
|
||||||
str r0, [sp]
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r5, 0
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x4
|
|
||||||
bl sub_812A778
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _08129FBA
|
|
||||||
_08129F80:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08129FC0
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x10
|
|
||||||
bl sub_812A578
|
|
||||||
ldr r0, _08129FA0 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x1E]
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _08129FBA
|
|
||||||
.align 2, 0
|
|
||||||
_08129FA0: .4byte gUnknown_203B0E4
|
|
||||||
_08129FA4:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08129FC0
|
|
||||||
movs r0, 0x1
|
|
||||||
bl sub_812AF8C
|
|
||||||
b _08129FBA
|
|
||||||
_08129FB6:
|
|
||||||
movs r0, 0
|
|
||||||
b _08129FC2
|
|
||||||
_08129FBA:
|
|
||||||
ldrb r0, [r6]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r6]
|
|
||||||
_08129FC0:
|
|
||||||
movs r0, 0x1
|
|
||||||
_08129FC2:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129F24
|
|
||||||
|
|
||||||
thumb_func_start sub_8129FCC
|
|
||||||
sub_8129FCC: @ 8129FCC
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
adds r6, r0, 0
|
|
||||||
ldrb r0, [r6]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0812A028
|
|
||||||
cmp r0, 0x1
|
|
||||||
bgt _08129FE2
|
|
||||||
cmp r0, 0
|
|
||||||
beq _08129FEC
|
|
||||||
b _0812A062
|
|
||||||
_08129FE2:
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _0812A048
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _0812A05E
|
|
||||||
b _0812A062
|
|
||||||
_08129FEC:
|
|
||||||
bl sub_8129788
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 16
|
|
||||||
lsrs r4, 16
|
|
||||||
bl sub_8129758
|
|
||||||
adds r5, r0, 0
|
|
||||||
bl StringLength_Multibyte
|
|
||||||
adds r1, r0, 0
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r1, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl sub_812A74C
|
|
||||||
movs r0, 0x2
|
|
||||||
str r0, [sp]
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r1, r5, 0
|
|
||||||
movs r2, 0x3
|
|
||||||
movs r3, 0x1
|
|
||||||
bl sub_812A778
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _0812A062
|
|
||||||
_0812A028:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0812A068
|
|
||||||
bl sub_812A6F4
|
|
||||||
ldr r0, _0812A044 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x1E]
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _0812A062
|
|
||||||
.align 2, 0
|
|
||||||
_0812A044: .4byte gUnknown_203B0E4
|
|
||||||
_0812A048:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0812A068
|
|
||||||
movs r0, 0
|
|
||||||
bl sub_812AF8C
|
|
||||||
bl sub_812A728
|
|
||||||
b _0812A062
|
|
||||||
_0812A05E:
|
|
||||||
movs r0, 0
|
|
||||||
b _0812A06A
|
|
||||||
_0812A062:
|
|
||||||
ldrb r0, [r6]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r6]
|
|
||||||
_0812A068:
|
|
||||||
movs r0, 0x1
|
|
||||||
_0812A06A:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_8129FCC
|
|
||||||
|
|
||||||
thumb_func_start sub_812A074
|
|
||||||
sub_812A074: @ 812A074
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0812A084
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0812A098
|
|
||||||
b _0812A0A6
|
|
||||||
_0812A084:
|
|
||||||
bl sub_812A804
|
|
||||||
movs r0, 0x2
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
b _0812A0A6
|
|
||||||
_0812A098:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0812A0A6
|
|
||||||
movs r0, 0
|
|
||||||
b _0812A0A8
|
|
||||||
_0812A0A6:
|
|
||||||
movs r0, 0x1
|
|
||||||
_0812A0A8:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_812A074
|
|
||||||
|
|
||||||
thumb_func_start sub_812A0B0
|
|
||||||
sub_812A0B0: @ 812A0B0
|
|
||||||
push {r4-r6,lr}
|
|
||||||
adds r6, r0, 0
|
|
||||||
ldrb r0, [r6]
|
|
||||||
cmp r0, 0x4
|
|
||||||
bhi _0812A182
|
|
||||||
lsls r0, 2
|
|
||||||
ldr r1, _0812A0C4 @ =_0812A0C8
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812A0C4: .4byte _0812A0C8
|
|
||||||
.align 2, 0
|
|
||||||
_0812A0C8:
|
|
||||||
.4byte _0812A0DC
|
|
||||||
.4byte _0812A108
|
|
||||||
.4byte _0812A138
|
|
||||||
.4byte _0812A15C
|
|
||||||
.4byte _0812A126
|
|
||||||
_0812A0DC:
|
|
||||||
ldr r0, _0812A104 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrh r5, [r0, 0x1A]
|
|
||||||
bl sub_81297C4
|
|
||||||
adds r4, r0, 0
|
|
||||||
bl sub_81297D0
|
|
||||||
adds r2, r0, 0
|
|
||||||
lsls r2, 24
|
|
||||||
lsrs r2, 24
|
|
||||||
adds r0, r5, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl sub_812AA78
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
b _0812A17C
|
|
||||||
.align 2, 0
|
|
||||||
_0812A104: .4byte gUnknown_203B0E4
|
|
||||||
_0812A108:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r2, r0, 24
|
|
||||||
cmp r2, 0
|
|
||||||
bne _0812A182
|
|
||||||
ldr r0, _0812A12C @ =gUnknown_203B0E4
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldrh r0, [r1, 0x1A]
|
|
||||||
cmp r0, 0x8
|
|
||||||
bhi _0812A130
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r1, 0x1A]
|
|
||||||
movs r0, 0x4
|
|
||||||
strb r0, [r6]
|
|
||||||
_0812A126:
|
|
||||||
movs r0, 0
|
|
||||||
b _0812A184
|
|
||||||
.align 2, 0
|
|
||||||
_0812A12C: .4byte gUnknown_203B0E4
|
|
||||||
_0812A130:
|
|
||||||
strh r2, [r1, 0x1C]
|
|
||||||
ldrb r0, [r6]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r6]
|
|
||||||
_0812A138:
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x5
|
|
||||||
movs r3, 0x11
|
|
||||||
bl ScrollWindow
|
|
||||||
movs r0, 0
|
|
||||||
movs r1, 0x2
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldr r0, _0812A178 @ =gUnknown_203B0E4
|
|
||||||
ldr r1, [r0]
|
|
||||||
ldrh r0, [r1, 0x1C]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r1, 0x1C]
|
|
||||||
ldrb r0, [r6]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r6]
|
|
||||||
_0812A15C:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0812A182
|
|
||||||
ldr r0, _0812A178 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrh r0, [r0, 0x1C]
|
|
||||||
cmp r0, 0x2
|
|
||||||
bhi _0812A17C
|
|
||||||
ldrb r0, [r6]
|
|
||||||
subs r0, 0x1
|
|
||||||
b _0812A180
|
|
||||||
.align 2, 0
|
|
||||||
_0812A178: .4byte gUnknown_203B0E4
|
|
||||||
_0812A17C:
|
|
||||||
ldrb r0, [r6]
|
|
||||||
adds r0, 0x1
|
|
||||||
_0812A180:
|
|
||||||
strb r0, [r6]
|
|
||||||
_0812A182:
|
|
||||||
movs r0, 0x1
|
|
||||||
_0812A184:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_812A0B0
|
|
||||||
|
|
||||||
thumb_func_start sub_812A18C
|
|
||||||
sub_812A18C: @ 812A18C
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0812A19C
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0812A1A8
|
|
||||||
b _0812A1AE
|
|
||||||
_0812A19C:
|
|
||||||
bl sub_812AFC0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
b _0812A1AE
|
|
||||||
_0812A1A8:
|
|
||||||
bl sub_812AFFC
|
|
||||||
b _0812A1B0
|
|
||||||
_0812A1AE:
|
|
||||||
movs r0, 0x1
|
|
||||||
_0812A1B0:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_812A18C
|
|
||||||
|
|
||||||
thumb_func_start sub_812A1B8
|
|
||||||
sub_812A1B8: @ 812A1B8
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0812A1C8
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0812A1E8
|
|
||||||
b _0812A1F2
|
|
||||||
_0812A1C8:
|
|
||||||
movs r0, 0x3
|
|
||||||
movs r1, 0x10
|
|
||||||
bl sub_812A578
|
|
||||||
ldr r0, _0812A1E4 @ =gUnknown_203B0E4
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x1E]
|
|
||||||
movs r1, 0x3
|
|
||||||
bl CopyWindowToVram
|
|
||||||
ldrb r0, [r4]
|
|
||||||
adds r0, 0x1
|
|
||||||
strb r0, [r4]
|
|
||||||
b _0812A1F2
|
|
||||||
.align 2, 0
|
|
||||||
_0812A1E4: .4byte gUnknown_203B0E4
|
|
||||||
_0812A1E8:
|
|
||||||
bl IsDma3ManagerBusyWithBgCopy
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
b _0812A1F4
|
|
||||||
_0812A1F2:
|
|
||||||
movs r0, 0x1
|
|
||||||
_0812A1F4:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_812A1B8
|
|
||||||
|
|
||||||
thumb_func_start sub_812A1FC
|
thumb_func_start sub_812A1FC
|
||||||
sub_812A1FC: @ 812A1FC
|
sub_812A1FC: @ 812A1FC
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
|||||||
@@ -6,134 +6,6 @@
|
|||||||
.section .rodata
|
.section .rodata
|
||||||
.align 2
|
.align 2
|
||||||
|
|
||||||
gUnknown_845AA24:: @ 845AA24
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AA24.gbapal"
|
|
||||||
|
|
||||||
gUnknown_845AA44:: @ 845AA44
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AA44.gbapal"
|
|
||||||
|
|
||||||
gUnknown_845AA64:: @ 845AA64
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AA64.gbapal"
|
|
||||||
|
|
||||||
gUnknown_845AA84:: @ 845AA84
|
|
||||||
.4byte 0x00000070
|
|
||||||
@ {
|
|
||||||
@ .bg = 0,
|
|
||||||
@ .charBaseIndex = 0,
|
|
||||||
@ .mapBaseIndex = 7,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 0,
|
|
||||||
@ .baseTile = 0x0000
|
|
||||||
@ }
|
|
||||||
.4byte 0x000011fd
|
|
||||||
@ {
|
|
||||||
@ .bg = 1,
|
|
||||||
@ .charBaseIndex = 3,
|
|
||||||
@ .mapBaseIndex = 31,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 1,
|
|
||||||
@ .baseTile = 0x0000
|
|
||||||
@ }
|
|
||||||
.4byte 0x0000217a
|
|
||||||
@ {
|
|
||||||
@ .bg = 2,
|
|
||||||
@ .charBaseIndex = 2,
|
|
||||||
@ .mapBaseIndex = 23,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 2,
|
|
||||||
@ .baseTile = 0x0000
|
|
||||||
@ }
|
|
||||||
.4byte 0x000070f7
|
|
||||||
@ {
|
|
||||||
@ .bg = 3,
|
|
||||||
@ .charBaseIndex = 1,
|
|
||||||
@ .mapBaseIndex = 15,
|
|
||||||
@ .screenSize = 0,
|
|
||||||
@ .paletteMode = 0,
|
|
||||||
@ .priority = 3,
|
|
||||||
@ .baseTile = 0x0001
|
|
||||||
@ }
|
|
||||||
|
|
||||||
gUnknown_845AA94:: @ 845AA94
|
|
||||||
.byte 3, 8, 1, 21, 19, 15
|
|
||||||
.2byte 0x0001
|
|
||||||
.byte 1, 9, 18, 15, 2, 12
|
|
||||||
.2byte 0x007a
|
|
||||||
.byte 1, 0, 2, 6, 15, 7
|
|
||||||
.2byte 0x0020
|
|
||||||
.byte 0, 1, 2, 7, 9, 14
|
|
||||||
.2byte 0x0013
|
|
||||||
.byte 255, 0, 0, 0, 0, 0
|
|
||||||
.2byte 0x0000
|
|
||||||
|
|
||||||
gUnknown_845AABC:: @ 845AABC
|
|
||||||
.2byte 0x00
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129CA0
|
|
||||||
.2byte 0x03
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129D40
|
|
||||||
.2byte 0x04
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129D78
|
|
||||||
.2byte 0x05
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129DB0
|
|
||||||
.2byte 0x01
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129E1C
|
|
||||||
.2byte 0x06
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129E28
|
|
||||||
.2byte 0x07
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129E74
|
|
||||||
.2byte 0x08
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129EB8
|
|
||||||
.2byte 0x09
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129F24
|
|
||||||
.2byte 0x0a
|
|
||||||
.align 2
|
|
||||||
.4byte sub_8129FCC
|
|
||||||
.2byte 0x0b
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A074
|
|
||||||
.2byte 0x0c
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A0B0
|
|
||||||
.2byte 0x02
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A18C
|
|
||||||
.2byte 0x0d
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A1B8
|
|
||||||
.2byte 0x12
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A1FC
|
|
||||||
.2byte 0x13
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A240
|
|
||||||
.2byte 0x0e
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A294
|
|
||||||
.2byte 0x0f
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A2E4
|
|
||||||
.2byte 0x10
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A334
|
|
||||||
.2byte 0x11
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A378
|
|
||||||
.2byte 0x14
|
|
||||||
.align 2
|
|
||||||
.4byte sub_812A3D0
|
|
||||||
|
|
||||||
gUnknown_845AB64:: @ 845AB64
|
gUnknown_845AB64:: @ 845AB64
|
||||||
.4byte gUnknown_841B366
|
.4byte gUnknown_841B366
|
||||||
.byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
|
.byte 0x01, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
#ifndef GUARD_UNION_ROOM_CHAT_H
|
#ifndef GUARD_UNION_ROOM_CHAT_H
|
||||||
#define GUARD_UNION_ROOM_CHAT_H
|
#define GUARD_UNION_ROOM_CHAT_H
|
||||||
|
|
||||||
void sub_801DD98(void);
|
|
||||||
void sub_8128420(void);
|
void sub_8128420(void);
|
||||||
|
u8 *sub_8129714(void);
|
||||||
|
void sub_8129730(u32 *a0, u32 *a1);
|
||||||
|
u8 *sub_8129758(void);
|
||||||
|
u16 sub_8129788(void);
|
||||||
|
u8 *sub_81297C4(void);
|
||||||
|
u16 sub_81297D0(void);
|
||||||
void copy_strings_to_sav1(void);
|
void copy_strings_to_sav1(void);
|
||||||
|
|
||||||
#endif // GUARD_UNION_ROOM_CHAT_H
|
#endif // GUARD_UNION_ROOM_CHAT_H
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#ifndef GUARD_UNION_ROOM_CHAT_DISPLAY_H
|
||||||
|
#define GUARD_UNION_ROOM_CHAT_DISPLAY_H
|
||||||
|
|
||||||
|
bool8 sub_8129B14(void);
|
||||||
|
bool32 sub_8129B78(void);
|
||||||
|
void sub_8129B88(void);
|
||||||
|
void sub_8129BFC(void);
|
||||||
|
void sub_8129C34(u16 a0, u8 a1);
|
||||||
|
u8 sub_8129C8C(u8 a0);
|
||||||
|
s8 sub_812A568(void);
|
||||||
|
|
||||||
|
#endif //GUARD_UNION_ROOM_CHAT_DISPLAY_H
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
#ifndef GUARD_UNION_ROOM_CHAT_OBJECTS_H
|
||||||
|
#define GUARD_UNION_ROOM_CHAT_OBJECTS_H
|
||||||
|
|
||||||
|
bool32 sub_812AE70(void);
|
||||||
|
void sub_812AEB0(void);
|
||||||
|
void sub_812AEC8(void);
|
||||||
|
void sub_812AEFC(bool8 invisible);
|
||||||
|
void sub_812AF1C(void);
|
||||||
|
void sub_812AF8C(u32 idx);
|
||||||
|
void sub_812AFC0(void);
|
||||||
|
bool32 sub_812AFFC(void);
|
||||||
|
void sub_812B048(void);
|
||||||
|
void sub_812B100(void);
|
||||||
|
void sub_812B160(void);
|
||||||
|
|
||||||
|
#endif //GUARD_UNION_ROOM_CHAT_OBJECTS_H
|
||||||
@@ -247,6 +247,7 @@ SECTIONS {
|
|||||||
asm/pokemon_special_anim.o(.text);
|
asm/pokemon_special_anim.o(.text);
|
||||||
src/party_menu.o(.text);
|
src/party_menu.o(.text);
|
||||||
src/union_room_chat.o(.text);
|
src/union_room_chat.o(.text);
|
||||||
|
src/union_room_chat_display.o(.text);
|
||||||
asm/union_room_chat.o(.text);
|
asm/union_room_chat.o(.text);
|
||||||
src/help_system_812B1E0.o(.text);
|
src/help_system_812B1E0.o(.text);
|
||||||
src/quest_log_battle.o(.text);
|
src/quest_log_battle.o(.text);
|
||||||
@@ -536,6 +537,7 @@ SECTIONS {
|
|||||||
data/pokemon_special_anim.o(.rodata);
|
data/pokemon_special_anim.o(.rodata);
|
||||||
src/party_menu.o(.rodata);
|
src/party_menu.o(.rodata);
|
||||||
src/union_room_chat.o(.rodata);
|
src/union_room_chat.o(.rodata);
|
||||||
|
src/union_room_chat_display.o(.rodata);
|
||||||
data/union_room_chat.o(.rodata);
|
data/union_room_chat.o(.rodata);
|
||||||
src/help_system_812B1E0.o(.rodata);
|
src/help_system_812B1E0.o(.rodata);
|
||||||
src/fame_checker.o(.rodata);
|
src/fame_checker.o(.rodata);
|
||||||
|
|||||||
@@ -13,6 +13,7 @@
|
|||||||
#include "scanline_effect.h"
|
#include "scanline_effect.h"
|
||||||
#include "strings.h"
|
#include "strings.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
#include "union_room_chat_display.h"
|
||||||
#include "data_8479668.h"
|
#include "data_8479668.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
|
||||||
@@ -89,13 +90,6 @@ void sub_81295EC(u8 *ptr);
|
|||||||
void sub_8129614(u8 *ptr);
|
void sub_8129614(u8 *ptr);
|
||||||
u8 *sub_8129758(void);
|
u8 *sub_8129758(void);
|
||||||
void sub_81298F8(u8 taskId);
|
void sub_81298F8(u8 taskId);
|
||||||
void sub_8129B14(void);
|
|
||||||
bool32 sub_8129B78(void);
|
|
||||||
void sub_8129B88(void);
|
|
||||||
void sub_8129BFC(void);
|
|
||||||
void sub_8129C34(u16 a0, u8 a1);
|
|
||||||
u8 sub_8129C8C(u8 a0);
|
|
||||||
s8 sub_812A568(void);
|
|
||||||
|
|
||||||
static void (*const gUnknown_845A880[])(void) = {
|
static void (*const gUnknown_845A880[])(void) = {
|
||||||
sub_8128640,
|
sub_8128640,
|
||||||
|
|||||||
@@ -0,0 +1,656 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "gflib.h"
|
||||||
|
#include "new_menu_helpers.h"
|
||||||
|
#include "scanline_effect.h"
|
||||||
|
#include "union_room_chat.h"
|
||||||
|
#include "union_room_chat_display.h"
|
||||||
|
#include "union_room_chat_objects.h"
|
||||||
|
|
||||||
|
struct UnionRoomChat2_Unk0
|
||||||
|
{
|
||||||
|
bool32 (*unk0)(u8 *);
|
||||||
|
u8 unk4;
|
||||||
|
u8 unk5;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct UnionRoomChat2
|
||||||
|
{
|
||||||
|
struct UnionRoomChat2_Unk0 unk0[3];
|
||||||
|
u16 unk18;
|
||||||
|
u16 unk1A;
|
||||||
|
u16 unk1C;
|
||||||
|
u16 unk1E;
|
||||||
|
s16 unk20;
|
||||||
|
u8 unk22[0x106];
|
||||||
|
u8 unk128[BG_SCREEN_SIZE];
|
||||||
|
u8 unk928[BG_SCREEN_SIZE];
|
||||||
|
u8 unk1128[BG_SCREEN_SIZE];
|
||||||
|
u8 unk1928[BG_SCREEN_SIZE];
|
||||||
|
u8 unk2128[0x20];
|
||||||
|
u8 unk2148[0x20];
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Unk845AABC
|
||||||
|
{
|
||||||
|
u16 unk0;
|
||||||
|
bool32 (*unk4)(u8 *);
|
||||||
|
};
|
||||||
|
|
||||||
|
EWRAM_DATA struct UnionRoomChat2 * gUnknown_203B0E4 = NULL;
|
||||||
|
|
||||||
|
void sub_8129BB8(struct UnionRoomChat2 * ptr);
|
||||||
|
void sub_8129BC4(void);
|
||||||
|
bool32 sub_8129CA0(u8 *state);
|
||||||
|
bool32 sub_8129D40(u8 *state);
|
||||||
|
bool32 sub_8129D78(u8 *state);
|
||||||
|
bool32 sub_8129DB0(u8 *state);
|
||||||
|
bool32 sub_8129E1C(u8 *state);
|
||||||
|
bool32 sub_8129E28(u8 *state);
|
||||||
|
bool32 sub_8129E74(u8 *state);
|
||||||
|
bool32 sub_8129EB8(u8 *state);
|
||||||
|
bool32 sub_8129F24(u8 *state);
|
||||||
|
bool32 sub_8129FCC(u8 *state);
|
||||||
|
bool32 sub_812A074(u8 *state);
|
||||||
|
bool32 sub_812A0B0(u8 *state);
|
||||||
|
bool32 sub_812A18C(u8 *state);
|
||||||
|
bool32 sub_812A1B8(u8 *state);
|
||||||
|
bool32 sub_812A1FC(u8 *state);
|
||||||
|
bool32 sub_812A240(u8 *state);
|
||||||
|
bool32 sub_812A294(u8 *state);
|
||||||
|
bool32 sub_812A2E4(u8 *state);
|
||||||
|
bool32 sub_812A334(u8 *state);
|
||||||
|
bool32 sub_812A378(u8 *state);
|
||||||
|
bool32 sub_812A3D0(u8 *state);
|
||||||
|
bool32 sub_812A420(u8 *state);
|
||||||
|
void sub_812A424(u8 a0, u8 a1, u8 a2);
|
||||||
|
void sub_812A51C(void);
|
||||||
|
void sub_812A544(void);
|
||||||
|
void sub_812A578(int a0, u16 a1);
|
||||||
|
void sub_812A6F4(void);
|
||||||
|
void sub_812A728(void);
|
||||||
|
void sub_812A74C(u16 a0, u16 a1, u8 a2);
|
||||||
|
void sub_812A778(u16 a0, u8 *a1, u8 a2, u8 a3, u8 a4);
|
||||||
|
void sub_812A804(void);
|
||||||
|
bool32 sub_812A980(void);
|
||||||
|
bool32 sub_812A9C8(void);
|
||||||
|
void sub_812AA10(void);
|
||||||
|
void sub_812AA64(void);
|
||||||
|
void sub_812AA78(u16 a0, u8 *a1, u8 a2);
|
||||||
|
void sub_812AAD4(void);
|
||||||
|
void sub_812AB8C(void);
|
||||||
|
void sub_812ABD8(void);
|
||||||
|
void sub_812AC08(void);
|
||||||
|
void sub_812AC58(void);
|
||||||
|
void sub_812AC9C(void);
|
||||||
|
void sub_812ACC0(void);
|
||||||
|
void sub_812ACEC(void);
|
||||||
|
void sub_812AD04(void);
|
||||||
|
void sub_812AD20(void);
|
||||||
|
void sub_812AD50(void);
|
||||||
|
|
||||||
|
const u16 gUnknown_845AA24[] = INCBIN_U16("graphics/union_room_chat/unk_845AA24.gbapal");
|
||||||
|
const u16 gUnknown_845AA44[] = INCBIN_U16("graphics/union_room_chat/unk_845AA44.gbapal");
|
||||||
|
const u16 gUnknown_845AA64[] = INCBIN_U16("graphics/union_room_chat/unk_845AA64.gbapal");
|
||||||
|
|
||||||
|
const struct BgTemplate gUnknown_845AA84[] = {
|
||||||
|
{
|
||||||
|
.bg = 0,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 7,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0x0000
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.charBaseIndex = 3,
|
||||||
|
.mapBaseIndex = 31,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 1,
|
||||||
|
.baseTile = 0x0000
|
||||||
|
}, {
|
||||||
|
.bg = 2,
|
||||||
|
.charBaseIndex = 2,
|
||||||
|
.mapBaseIndex = 23,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 2,
|
||||||
|
.baseTile = 0x0000
|
||||||
|
}, {
|
||||||
|
.bg = 3,
|
||||||
|
.charBaseIndex = 1,
|
||||||
|
.mapBaseIndex = 15,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 3,
|
||||||
|
.baseTile = 0x0001
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct WindowTemplate gUnknown_845AA94[] = {
|
||||||
|
{
|
||||||
|
.bg = 3,
|
||||||
|
.tilemapLeft = 8,
|
||||||
|
.tilemapTop = 1,
|
||||||
|
.width = 21,
|
||||||
|
.height = 19,
|
||||||
|
.paletteNum = 15,
|
||||||
|
.baseBlock = 0x001
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.tilemapLeft = 9,
|
||||||
|
.tilemapTop = 18,
|
||||||
|
.width = 15,
|
||||||
|
.height = 2,
|
||||||
|
.paletteNum = 12,
|
||||||
|
.baseBlock = 0x07a
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.tilemapLeft = 0,
|
||||||
|
.tilemapTop = 2,
|
||||||
|
.width = 6,
|
||||||
|
.height = 15,
|
||||||
|
.paletteNum = 7,
|
||||||
|
.baseBlock = 0x020
|
||||||
|
}, {
|
||||||
|
.bg = 0,
|
||||||
|
.tilemapLeft = 1,
|
||||||
|
.tilemapTop = 2,
|
||||||
|
.width = 7,
|
||||||
|
.height = 9,
|
||||||
|
.paletteNum = 14,
|
||||||
|
.baseBlock = 0x013
|
||||||
|
}, DUMMY_WIN_TEMPLATE
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct Unk845AABC gUnknown_845AABC[] = {
|
||||||
|
{ 0, sub_8129CA0},
|
||||||
|
{ 3, sub_8129D40},
|
||||||
|
{ 4, sub_8129D78},
|
||||||
|
{ 5, sub_8129DB0},
|
||||||
|
{ 1, sub_8129E1C},
|
||||||
|
{ 6, sub_8129E28},
|
||||||
|
{ 7, sub_8129E74},
|
||||||
|
{ 8, sub_8129EB8},
|
||||||
|
{ 9, sub_8129F24},
|
||||||
|
{10, sub_8129FCC},
|
||||||
|
{11, sub_812A074},
|
||||||
|
{12, sub_812A0B0},
|
||||||
|
{ 2, sub_812A18C},
|
||||||
|
{13, sub_812A1B8},
|
||||||
|
{18, sub_812A1FC},
|
||||||
|
{19, sub_812A240},
|
||||||
|
{14, sub_812A294},
|
||||||
|
{15, sub_812A2E4},
|
||||||
|
{16, sub_812A334},
|
||||||
|
{17, sub_812A378},
|
||||||
|
{20, sub_812A3D0}
|
||||||
|
};
|
||||||
|
|
||||||
|
bool8 sub_8129B14(void)
|
||||||
|
{
|
||||||
|
gUnknown_203B0E4 = Alloc(sizeof(*gUnknown_203B0E4));
|
||||||
|
if (gUnknown_203B0E4 && sub_812AE70())
|
||||||
|
{
|
||||||
|
ResetBgsAndClearDma3BusyFlags(0);
|
||||||
|
InitBgsFromTemplates(0, gUnknown_845AA84, NELEMS(gUnknown_845AA84));
|
||||||
|
InitWindows(gUnknown_845AA94);
|
||||||
|
ResetTempTileDataBuffers();
|
||||||
|
sub_812AD50();
|
||||||
|
sub_8129BB8(gUnknown_203B0E4);
|
||||||
|
sub_8129BC4();
|
||||||
|
sub_8129C34(0, 0);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129B78(void)
|
||||||
|
{
|
||||||
|
return sub_8129C8C(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8129B88(void)
|
||||||
|
{
|
||||||
|
sub_812AEB0();
|
||||||
|
if (gUnknown_203B0E4)
|
||||||
|
FREE_AND_SET_NULL(gUnknown_203B0E4);
|
||||||
|
|
||||||
|
FreeAllWindowBuffers();
|
||||||
|
gScanlineEffect.state = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8129BB8(struct UnionRoomChat2 *arg0)
|
||||||
|
{
|
||||||
|
arg0->unk18 = 0xFF;
|
||||||
|
arg0->unk1E = 0xFF;
|
||||||
|
arg0->unk1A = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8129BC4(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (!gUnknown_203B0E4)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
gUnknown_203B0E4->unk0[i].unk0 = sub_812A420;
|
||||||
|
gUnknown_203B0E4->unk0[i].unk4 = 0;
|
||||||
|
gUnknown_203B0E4->unk0[i].unk5 = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8129BFC(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
if (gUnknown_203B0E4 == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
for (i = 0; i < 3; i++)
|
||||||
|
{
|
||||||
|
if (gUnknown_203B0E4->unk0[i].unk4)
|
||||||
|
gUnknown_203B0E4->unk0[i].unk4 = gUnknown_203B0E4->unk0[i].unk0(&gUnknown_203B0E4->unk0[i].unk5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_8129C34(u16 arg0, u8 arg1)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
gUnknown_203B0E4->unk0[arg1].unk0 = sub_812A420;
|
||||||
|
for (i = 0; i < NELEMS(gUnknown_845AABC); i++)
|
||||||
|
{
|
||||||
|
if (gUnknown_845AABC[i].unk0 == arg0)
|
||||||
|
{
|
||||||
|
gUnknown_203B0E4->unk0[arg1].unk0 = gUnknown_845AABC[i].unk4;
|
||||||
|
gUnknown_203B0E4->unk0[arg1].unk4 = 1;
|
||||||
|
gUnknown_203B0E4->unk0[arg1].unk5 = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_8129C8C(u8 arg0)
|
||||||
|
{
|
||||||
|
return gUnknown_203B0E4->unk0[arg0].unk4;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129CA0(u8 *state)
|
||||||
|
{
|
||||||
|
if (FreeTempTileDataBuffersIfPossible() == TRUE)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812AAD4();
|
||||||
|
sub_812AB8C();
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
sub_812ABD8();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
sub_812AC08();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
sub_812AC58();
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
sub_812AC9C();
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
sub_812ACC0();
|
||||||
|
sub_812ACEC();
|
||||||
|
sub_812AD20();
|
||||||
|
sub_812AD04();
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
{
|
||||||
|
sub_812AEC8();
|
||||||
|
sub_812B048();
|
||||||
|
sub_812B100();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129D40(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812AA10();
|
||||||
|
CopyWindowToVram(3, 3);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
return IsDma3ManagerBusyWithBgCopy();
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129D78(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812AA64();
|
||||||
|
CopyWindowToVram(3, 3);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
return IsDma3ManagerBusyWithBgCopy();
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129DB0(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812AEFC(TRUE);
|
||||||
|
if (sub_812A980())
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
sub_812A804();
|
||||||
|
CopyWindowToVram(2, 2);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (IsDma3ManagerBusyWithBgCopy())
|
||||||
|
return TRUE;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (sub_812A9C8())
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
sub_812AF1C();
|
||||||
|
sub_812AEFC(FALSE);
|
||||||
|
sub_812B160();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129E1C(u8 *state)
|
||||||
|
{
|
||||||
|
sub_812AF1C();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129E28(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812A578(0, 0);
|
||||||
|
sub_812A424(23, 11, 1);
|
||||||
|
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
return IsDma3ManagerBusyWithBgCopy();
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129E74(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812A6F4();
|
||||||
|
sub_812A51C();
|
||||||
|
CopyBgTilemapBufferToVram(0);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (IsDma3ManagerBusyWithBgCopy())
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
sub_812A728();
|
||||||
|
sub_812A544();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129EB8(u8 *state)
|
||||||
|
{
|
||||||
|
u32 var0, var1;
|
||||||
|
u8 *str;
|
||||||
|
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_8129730(&var0, &var1);
|
||||||
|
sub_812A74C(var0, var1, 0);
|
||||||
|
str = sub_8129714();
|
||||||
|
sub_812A778(0, str, 3, 1, 2);
|
||||||
|
CopyWindowToVram(1, 2);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
{
|
||||||
|
sub_812B160();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129F24(u8 *state)
|
||||||
|
{
|
||||||
|
u16 var0;
|
||||||
|
u8 *str;
|
||||||
|
u16 length;
|
||||||
|
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
var0 = sub_8129788();
|
||||||
|
str = sub_8129758();
|
||||||
|
length = StringLength_Multibyte(str);
|
||||||
|
sub_812A74C(var0, length, PIXEL_FILL(6));
|
||||||
|
sub_812A778(var0, str, 0, 4, 5);
|
||||||
|
CopyWindowToVram(1, 2);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
{
|
||||||
|
sub_812A578(1, 16);
|
||||||
|
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
sub_812AF8C(1);
|
||||||
|
else
|
||||||
|
return TRUE;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_8129FCC(u8 *state)
|
||||||
|
{
|
||||||
|
u16 var0;
|
||||||
|
u8 *str;
|
||||||
|
u16 length;
|
||||||
|
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
var0 = sub_8129788();
|
||||||
|
str = sub_8129758();
|
||||||
|
length = StringLength_Multibyte(str);
|
||||||
|
sub_812A74C(var0, length, PIXEL_FILL(0));
|
||||||
|
sub_812A778(var0, str, 3, 1, 2);
|
||||||
|
CopyWindowToVram(1, 2);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
{
|
||||||
|
sub_812A6F4();
|
||||||
|
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
|
{
|
||||||
|
sub_812AF8C(0);
|
||||||
|
sub_812A728();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_812A074(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812A804();
|
||||||
|
CopyWindowToVram(2, 2);
|
||||||
|
(*state)++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (IsDma3ManagerBusyWithBgCopy())
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_812A0B0(u8 *state)
|
||||||
|
{
|
||||||
|
u16 var0;
|
||||||
|
u8 *str;
|
||||||
|
u8 var1;
|
||||||
|
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
var0 = gUnknown_203B0E4->unk1A;
|
||||||
|
str = sub_81297C4();
|
||||||
|
var1 = sub_81297D0();
|
||||||
|
sub_812AA78(var0, str, var1);
|
||||||
|
CopyWindowToVram(0, 2);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (IsDma3ManagerBusyWithBgCopy())
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
if (gUnknown_203B0E4->unk1A < 9)
|
||||||
|
{
|
||||||
|
gUnknown_203B0E4->unk1A++;
|
||||||
|
*state = 4;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gUnknown_203B0E4->unk1C = 0;
|
||||||
|
(*state)++;
|
||||||
|
}
|
||||||
|
// fall through
|
||||||
|
case 2:
|
||||||
|
ScrollWindow(0, 0, 5, PIXEL_FILL(1));
|
||||||
|
CopyWindowToVram(0, 2);
|
||||||
|
gUnknown_203B0E4->unk1C++;
|
||||||
|
(*state)++;
|
||||||
|
// fall through
|
||||||
|
case 3:
|
||||||
|
if (IsDma3ManagerBusyWithBgCopy())
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
if (gUnknown_203B0E4->unk1C < 3)
|
||||||
|
{
|
||||||
|
(*state)--;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
return FALSE;
|
||||||
|
default:
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
(*state)++;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_812A18C(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812AFC0();
|
||||||
|
(*state)++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
return sub_812AFFC();
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_812A1B8(u8 *state)
|
||||||
|
{
|
||||||
|
switch (*state)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
sub_812A578(3, 16);
|
||||||
|
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
||||||
|
(*state)++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
return IsDma3ManagerBusyWithBgCopy();
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user