union_room_chat_objects
This commit is contained in:
@@ -1,475 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_812AE70
|
|
||||||
sub_812AE70: @ 812AE70
|
|
||||||
push {r4,r5,lr}
|
|
||||||
movs r5, 0
|
|
||||||
ldr r4, _0812AE9C @ =gUnknown_845AF58
|
|
||||||
_0812AE76:
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl LoadCompressedSpriteSheet
|
|
||||||
adds r4, 0x8
|
|
||||||
adds r5, 0x1
|
|
||||||
cmp r5, 0x4
|
|
||||||
bls _0812AE76
|
|
||||||
ldr r0, _0812AEA0 @ =gUnknown_845AF80
|
|
||||||
bl LoadSpritePalette
|
|
||||||
ldr r4, _0812AEA4 @ =gUnknown_203B0E8
|
|
||||||
movs r0, 0x18
|
|
||||||
bl Alloc
|
|
||||||
str r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0812AEA8
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0812AEAA
|
|
||||||
.align 2, 0
|
|
||||||
_0812AE9C: .4byte gUnknown_845AF58
|
|
||||||
_0812AEA0: .4byte gUnknown_845AF80
|
|
||||||
_0812AEA4: .4byte gUnknown_203B0E8
|
|
||||||
_0812AEA8:
|
|
||||||
movs r0, 0
|
|
||||||
_0812AEAA:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_812AE70
|
|
||||||
|
|
||||||
thumb_func_start sub_812AEB0
|
|
||||||
sub_812AEB0: @ 812AEB0
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0812AEC4 @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r0]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0812AEBE
|
|
||||||
bl Free
|
|
||||||
_0812AEBE:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812AEC4: .4byte gUnknown_203B0E8
|
|
||||||
thumb_func_end sub_812AEB0
|
|
||||||
|
|
||||||
thumb_func_start sub_812AEC8
|
|
||||||
sub_812AEC8: @ 812AEC8
|
|
||||||
push {lr}
|
|
||||||
ldr r0, _0812AEF0 @ =gUnknown_845AFC0
|
|
||||||
movs r1, 0xA
|
|
||||||
movs r2, 0x18
|
|
||||||
movs r3, 0
|
|
||||||
bl CreateSprite
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r1, _0812AEF4 @ =gUnknown_203B0E8
|
|
||||||
ldr r2, [r1]
|
|
||||||
lsls r1, r0, 4
|
|
||||||
adds r1, r0
|
|
||||||
lsls r1, 2
|
|
||||||
ldr r0, _0812AEF8 @ =gSprites
|
|
||||||
adds r1, r0
|
|
||||||
str r1, [r2]
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812AEF0: .4byte gUnknown_845AFC0
|
|
||||||
_0812AEF4: .4byte gUnknown_203B0E8
|
|
||||||
_0812AEF8: .4byte gSprites
|
|
||||||
thumb_func_end sub_812AEC8
|
|
||||||
|
|
||||||
thumb_func_start sub_812AEFC
|
|
||||||
sub_812AEFC: @ 812AEFC
|
|
||||||
ldr r1, _0812AF18 @ =gUnknown_203B0E8
|
|
||||||
ldr r1, [r1]
|
|
||||||
ldr r2, [r1]
|
|
||||||
adds r2, 0x3E
|
|
||||||
movs r1, 0x1
|
|
||||||
ands r0, r1
|
|
||||||
lsls r0, 2
|
|
||||||
ldrb r3, [r2]
|
|
||||||
movs r1, 0x5
|
|
||||||
negs r1, r1
|
|
||||||
ands r1, r3
|
|
||||||
orrs r1, r0
|
|
||||||
strb r1, [r2]
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
_0812AF18: .4byte gUnknown_203B0E8
|
|
||||||
thumb_func_end sub_812AEFC
|
|
||||||
|
|
||||||
thumb_func_start sub_812AF1C
|
|
||||||
sub_812AF1C: @ 812AF1C
|
|
||||||
push {r4,r5,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
bl GetCurrentKeyboardPage
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 24
|
|
||||||
lsrs r4, 24
|
|
||||||
mov r5, sp
|
|
||||||
adds r5, 0x1
|
|
||||||
mov r0, sp
|
|
||||||
adds r1, r5, 0
|
|
||||||
bl sub_8129700
|
|
||||||
cmp r4, 0x3
|
|
||||||
beq _0812AF5C
|
|
||||||
ldr r4, _0812AF58 @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0
|
|
||||||
bl StartSpriteAnim
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldr r2, [r1]
|
|
||||||
mov r0, sp
|
|
||||||
ldrb r0, [r0]
|
|
||||||
lsls r0, 3
|
|
||||||
adds r0, 0xA
|
|
||||||
strh r0, [r2, 0x20]
|
|
||||||
ldr r2, [r1]
|
|
||||||
b _0812AF72
|
|
||||||
.align 2, 0
|
|
||||||
_0812AF58: .4byte gUnknown_203B0E8
|
|
||||||
_0812AF5C:
|
|
||||||
ldr r4, _0812AF88 @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0x2
|
|
||||||
bl StartSpriteAnim
|
|
||||||
ldr r2, [r4]
|
|
||||||
ldr r1, [r2]
|
|
||||||
movs r0, 0x18
|
|
||||||
strh r0, [r1, 0x20]
|
|
||||||
ldr r2, [r2]
|
|
||||||
_0812AF72:
|
|
||||||
ldrb r1, [r5]
|
|
||||||
lsls r0, r1, 1
|
|
||||||
adds r0, r1
|
|
||||||
lsls r0, 2
|
|
||||||
adds r0, 0x18
|
|
||||||
strh r0, [r2, 0x22]
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812AF88: .4byte gUnknown_203B0E8
|
|
||||||
thumb_func_end sub_812AF1C
|
|
||||||
|
|
||||||
thumb_func_start sub_812AF8C
|
|
||||||
sub_812AF8C: @ 812AF8C
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r4, 2
|
|
||||||
ldr r0, _0812AFB8 @ =gUnknown_845AC14 + 2
|
|
||||||
adds r4, r0
|
|
||||||
movs r0, 0
|
|
||||||
bl IndexOfSpritePaletteTag
|
|
||||||
adds r1, r0, 0
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r1, 4
|
|
||||||
ldr r0, _0812AFBC @ =0x01010000
|
|
||||||
adds r1, r0
|
|
||||||
lsrs r1, 16
|
|
||||||
adds r0, r4, 0
|
|
||||||
movs r2, 0x4
|
|
||||||
bl LoadPalette
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812AFB8: .4byte gUnknown_845AC14 + 2
|
|
||||||
_0812AFBC: .4byte 0x01010000
|
|
||||||
thumb_func_end sub_812AF8C
|
|
||||||
|
|
||||||
thumb_func_start sub_812AFC0
|
|
||||||
sub_812AFC0: @ 812AFC0
|
|
||||||
push {lr}
|
|
||||||
bl GetCurrentKeyboardPage
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _0812AFE0
|
|
||||||
ldr r0, _0812AFDC @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0x1
|
|
||||||
bl StartSpriteAnim
|
|
||||||
b _0812AFEC
|
|
||||||
.align 2, 0
|
|
||||||
_0812AFDC: .4byte gUnknown_203B0E8
|
|
||||||
_0812AFE0:
|
|
||||||
ldr r0, _0812AFF8 @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0x3
|
|
||||||
bl StartSpriteAnim
|
|
||||||
_0812AFEC:
|
|
||||||
ldr r0, _0812AFF8 @ =gUnknown_203B0E8
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r1, 0x14]
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812AFF8: .4byte gUnknown_203B0E8
|
|
||||||
thumb_func_end sub_812AFC0
|
|
||||||
|
|
||||||
thumb_func_start sub_812AFFC
|
|
||||||
sub_812AFFC: @ 812AFFC
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _0812B00C @ =gUnknown_203B0E8
|
|
||||||
ldr r1, [r4]
|
|
||||||
ldrh r0, [r1, 0x14]
|
|
||||||
cmp r0, 0x3
|
|
||||||
bls _0812B010
|
|
||||||
_0812B008:
|
|
||||||
movs r0, 0
|
|
||||||
b _0812B042
|
|
||||||
.align 2, 0
|
|
||||||
_0812B00C: .4byte gUnknown_203B0E8
|
|
||||||
_0812B010:
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r1, 0x14]
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r0, 16
|
|
||||||
cmp r0, 0x3
|
|
||||||
bls _0812B040
|
|
||||||
bl GetCurrentKeyboardPage
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _0812B034
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0
|
|
||||||
bl StartSpriteAnim
|
|
||||||
b _0812B008
|
|
||||||
_0812B034:
|
|
||||||
ldr r0, [r4]
|
|
||||||
ldr r0, [r0]
|
|
||||||
movs r1, 0x2
|
|
||||||
bl StartSpriteAnim
|
|
||||||
b _0812B008
|
|
||||||
_0812B040:
|
|
||||||
movs r0, 0x1
|
|
||||||
_0812B042:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_812AFFC
|
|
||||||
|
|
||||||
thumb_func_start sub_812B048
|
|
||||||
sub_812B048: @ 812B048
|
|
||||||
push {r4,r5,lr}
|
|
||||||
ldr r0, _0812B08C @ =gUnknown_845AFE0
|
|
||||||
movs r1, 0x4C
|
|
||||||
movs r2, 0x98
|
|
||||||
movs r3, 0x2
|
|
||||||
bl CreateSprite
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r5, _0812B090 @ =gUnknown_203B0E8
|
|
||||||
ldr r2, [r5]
|
|
||||||
lsls r1, r0, 4
|
|
||||||
adds r1, r0
|
|
||||||
lsls r1, 2
|
|
||||||
ldr r4, _0812B094 @ =gSprites
|
|
||||||
adds r1, r4
|
|
||||||
str r1, [r2, 0x8]
|
|
||||||
ldr r0, _0812B098 @ =gUnknown_845AFF8
|
|
||||||
movs r1, 0x40
|
|
||||||
movs r2, 0x98
|
|
||||||
movs r3, 0x1
|
|
||||||
bl CreateSprite
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r2, [r5]
|
|
||||||
lsls r1, r0, 4
|
|
||||||
adds r1, r0
|
|
||||||
lsls r1, 2
|
|
||||||
adds r1, r4
|
|
||||||
str r1, [r2, 0x4]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812B08C: .4byte gUnknown_845AFE0
|
|
||||||
_0812B090: .4byte gUnknown_203B0E8
|
|
||||||
_0812B094: .4byte gSprites
|
|
||||||
_0812B098: .4byte gUnknown_845AFF8
|
|
||||||
thumb_func_end sub_812B048
|
|
||||||
|
|
||||||
thumb_func_start sub_812B09C
|
|
||||||
sub_812B09C: @ 812B09C
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
bl sub_81297DC
|
|
||||||
adds r3, r0, 0
|
|
||||||
cmp r3, 0xF
|
|
||||||
bne _0812B0B8
|
|
||||||
adds r0, r4, 0
|
|
||||||
adds r0, 0x3E
|
|
||||||
ldrb r1, [r0]
|
|
||||||
movs r2, 0x4
|
|
||||||
orrs r1, r2
|
|
||||||
strb r1, [r0]
|
|
||||||
b _0812B0CC
|
|
||||||
_0812B0B8:
|
|
||||||
adds r2, r4, 0
|
|
||||||
adds r2, 0x3E
|
|
||||||
ldrb r0, [r2]
|
|
||||||
movs r1, 0x5
|
|
||||||
negs r1, r1
|
|
||||||
ands r1, r0
|
|
||||||
strb r1, [r2]
|
|
||||||
lsls r0, r3, 3
|
|
||||||
adds r0, 0x4C
|
|
||||||
strh r0, [r4, 0x20]
|
|
||||||
_0812B0CC:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_812B09C
|
|
||||||
|
|
||||||
thumb_func_start sub_812B0D4
|
|
||||||
sub_812B0D4: @ 812B0D4
|
|
||||||
push {lr}
|
|
||||||
adds r1, r0, 0
|
|
||||||
ldrh r0, [r1, 0x2E]
|
|
||||||
adds r0, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
strh r0, [r1, 0x2E]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
cmp r0, 0x4
|
|
||||||
ble _0812B0FA
|
|
||||||
strh r2, [r1, 0x2E]
|
|
||||||
ldrh r0, [r1, 0x24]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r1, 0x24]
|
|
||||||
lsls r0, 16
|
|
||||||
asrs r0, 16
|
|
||||||
cmp r0, 0x4
|
|
||||||
ble _0812B0FA
|
|
||||||
strh r2, [r1, 0x24]
|
|
||||||
_0812B0FA:
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_812B0D4
|
|
||||||
|
|
||||||
thumb_func_start sub_812B100
|
|
||||||
sub_812B100: @ 812B100
|
|
||||||
push {r4,r5,lr}
|
|
||||||
ldr r0, _0812B150 @ =gUnknown_845B050
|
|
||||||
movs r1, 0x8
|
|
||||||
movs r2, 0x98
|
|
||||||
movs r3, 0x3
|
|
||||||
bl CreateSprite
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r5, _0812B154 @ =gUnknown_203B0E8
|
|
||||||
ldr r2, [r5]
|
|
||||||
lsls r1, r0, 4
|
|
||||||
adds r1, r0
|
|
||||||
lsls r1, 2
|
|
||||||
ldr r4, _0812B158 @ =gSprites
|
|
||||||
adds r1, r4
|
|
||||||
str r1, [r2, 0xC]
|
|
||||||
ldr r0, _0812B15C @ =gUnknown_845B068
|
|
||||||
movs r1, 0x20
|
|
||||||
movs r2, 0x98
|
|
||||||
movs r3, 0x4
|
|
||||||
bl CreateSprite
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
ldr r2, [r5]
|
|
||||||
lsls r1, r0, 4
|
|
||||||
adds r1, r0
|
|
||||||
lsls r1, 2
|
|
||||||
adds r1, r4
|
|
||||||
str r1, [r2, 0x10]
|
|
||||||
adds r1, 0x3E
|
|
||||||
ldrb r0, [r1]
|
|
||||||
movs r2, 0x4
|
|
||||||
orrs r0, r2
|
|
||||||
strb r0, [r1]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812B150: .4byte gUnknown_845B050
|
|
||||||
_0812B154: .4byte gUnknown_203B0E8
|
|
||||||
_0812B158: .4byte gSprites
|
|
||||||
_0812B15C: .4byte gUnknown_845B068
|
|
||||||
thumb_func_end sub_812B100
|
|
||||||
|
|
||||||
thumb_func_start sub_812B160
|
|
||||||
sub_812B160: @ 812B160
|
|
||||||
push {r4,lr}
|
|
||||||
bl GetCurrentKeyboardPage
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x3
|
|
||||||
bne _0812B198
|
|
||||||
bl sub_8129720
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0812B1A2
|
|
||||||
ldr r3, _0812B194 @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r3]
|
|
||||||
ldr r1, [r0, 0x10]
|
|
||||||
adds r1, 0x3E
|
|
||||||
ldrb r2, [r1]
|
|
||||||
movs r0, 0x5
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r2
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, [r3]
|
|
||||||
ldr r0, [r0, 0x10]
|
|
||||||
movs r1, 0x3
|
|
||||||
bl StartSpriteAnim
|
|
||||||
b _0812B1D6
|
|
||||||
.align 2, 0
|
|
||||||
_0812B194: .4byte gUnknown_203B0E8
|
|
||||||
_0812B198:
|
|
||||||
bl sub_81297E8
|
|
||||||
adds r4, r0, 0
|
|
||||||
cmp r4, 0x3
|
|
||||||
bne _0812B1B8
|
|
||||||
_0812B1A2:
|
|
||||||
ldr r0, _0812B1B4 @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, [r0, 0x10]
|
|
||||||
adds r1, 0x3E
|
|
||||||
ldrb r0, [r1]
|
|
||||||
movs r2, 0x4
|
|
||||||
orrs r0, r2
|
|
||||||
strb r0, [r1]
|
|
||||||
b _0812B1D6
|
|
||||||
.align 2, 0
|
|
||||||
_0812B1B4: .4byte gUnknown_203B0E8
|
|
||||||
_0812B1B8:
|
|
||||||
ldr r3, _0812B1DC @ =gUnknown_203B0E8
|
|
||||||
ldr r0, [r3]
|
|
||||||
ldr r1, [r0, 0x10]
|
|
||||||
adds r1, 0x3E
|
|
||||||
ldrb r2, [r1]
|
|
||||||
movs r0, 0x5
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r2
|
|
||||||
strb r0, [r1]
|
|
||||||
ldr r0, [r3]
|
|
||||||
ldr r0, [r0, 0x10]
|
|
||||||
lsls r1, r4, 24
|
|
||||||
lsrs r1, 24
|
|
||||||
bl StartSpriteAnim
|
|
||||||
_0812B1D6:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0812B1DC: .4byte gUnknown_203B0E8
|
|
||||||
thumb_func_end sub_812B160
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
#include "constants/region_map.h"
|
|
||||||
#include "constants/flags.h"
|
|
||||||
#include "constants/moves.h"
|
|
||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
.section .rodata
|
|
||||||
.align 2
|
|
||||||
|
|
||||||
gUnknown_845AC14:: @ 845AC14
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AC14.gbapal"
|
|
||||||
|
|
||||||
gUnknown_845AC34::
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AC34.4bpp.lz"
|
|
||||||
|
|
||||||
gUnknown_845AEB8::
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AEB8.4bpp.lz"
|
|
||||||
|
|
||||||
gUnknown_845AED8::
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AED8.4bpp.lz"
|
|
||||||
|
|
||||||
gUnknown_845AF04::
|
|
||||||
.incbin "graphics/union_room_chat/unk_845AF04.4bpp.lz"
|
|
||||||
|
|
||||||
gUnknown_845AF58:: @ 845AF58
|
|
||||||
obj_tiles gUnknown_845AC34, 0x1000, 0
|
|
||||||
obj_tiles gUnknown_845AED8, 0x0040, 1
|
|
||||||
obj_tiles gUnknown_845AEB8, 0x0040, 2
|
|
||||||
obj_tiles gUnknown_845AF04, 0x0080, 3
|
|
||||||
obj_tiles gUnknown_8EA1A50, 0x0400, 4
|
|
||||||
|
|
||||||
gUnknown_845AF80:: @ 845AF80
|
|
||||||
obj_pal gUnknown_845AC14, 0
|
|
||||||
|
|
||||||
gOamData_845AF88::
|
|
||||||
.4byte 0xc0004000, 0x00000400
|
|
||||||
|
|
||||||
gAnimCmd_845AF90::
|
|
||||||
obj_image_anim_frame 0x0000, 30
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gAnimCmd_845AF98::
|
|
||||||
obj_image_anim_frame 0x0020, 30
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gAnimCmd_845AFA0::
|
|
||||||
obj_image_anim_frame 0x0040, 30
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gAnimCmd_845AFA8::
|
|
||||||
obj_image_anim_frame 0x0060, 30
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gSpriteAnimTable_845AFB0::
|
|
||||||
.4byte gAnimCmd_845AF90
|
|
||||||
.4byte gAnimCmd_845AF98
|
|
||||||
.4byte gAnimCmd_845AFA0
|
|
||||||
.4byte gAnimCmd_845AFA8
|
|
||||||
|
|
||||||
gUnknown_845AFC0:: @ 845AFC0
|
|
||||||
spr_template 0, 0, gOamData_845AF88, gSpriteAnimTable_845AFB0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
|
||||||
|
|
||||||
gOamData_845AFD8::
|
|
||||||
.4byte 0x00008000, 0x00000800
|
|
||||||
|
|
||||||
gUnknown_845AFE0:: @ 845AFE0
|
|
||||||
spr_template 2, 0, gOamData_845AFD8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812B09C
|
|
||||||
|
|
||||||
gUnknown_845AFF8:: @ 845AFF8
|
|
||||||
spr_template 1, 0, gOamData_845AFD8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812B0D4
|
|
||||||
|
|
||||||
gOamData_845B010::
|
|
||||||
.4byte 0x40000000, 0x00000800
|
|
||||||
|
|
||||||
gOamData_845B018::
|
|
||||||
.4byte 0x80004000, 0x00000800
|
|
||||||
|
|
||||||
gAnimCmd_845B020::
|
|
||||||
obj_image_anim_frame 0x0000, 2
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gAnimCmd_845B028::
|
|
||||||
obj_image_anim_frame 0x0008, 2
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gAnimCmd_845B030::
|
|
||||||
obj_image_anim_frame 0x0010, 2
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gAnimCmd_845B038::
|
|
||||||
obj_image_anim_frame 0x0018, 2
|
|
||||||
obj_image_anim_end
|
|
||||||
|
|
||||||
gSpriteAnimTable_845B040::
|
|
||||||
.4byte gAnimCmd_845B020
|
|
||||||
.4byte gAnimCmd_845B028
|
|
||||||
.4byte gAnimCmd_845B030
|
|
||||||
.4byte gAnimCmd_845B038
|
|
||||||
|
|
||||||
gUnknown_845B050:: @ 845B050
|
|
||||||
spr_template 3, 0, gOamData_845B010, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
|
||||||
|
|
||||||
gUnknown_845B068:: @ 845B068
|
|
||||||
spr_template 4, 0, gOamData_845B018, gSpriteAnimTable_845B040, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
|
|
||||||
@@ -4872,4 +4872,7 @@ extern const u16 gLinkMiscMenu_Pal[];
|
|||||||
extern const u32 gLinkMiscMenu_Gfx[];
|
extern const u32 gLinkMiscMenu_Gfx[];
|
||||||
extern const u32 gLinkMiscMenu_Tilemap[];
|
extern const u32 gLinkMiscMenu_Tilemap[];
|
||||||
|
|
||||||
|
// union_room_chat_objects
|
||||||
|
extern const u32 gUnknown_8EA1A50[];
|
||||||
|
|
||||||
#endif //GUARD_GRAPHICS_H
|
#endif //GUARD_GRAPHICS_H
|
||||||
|
|||||||
@@ -13,13 +13,16 @@ extern const u8 *const gUnionRoomKeyboardText[UNION_ROOM_KB_PAGE_COUNT][UNION_RO
|
|||||||
|
|
||||||
void sub_8128420(void);
|
void sub_8128420(void);
|
||||||
u8 *sub_81294B0(int arg0);
|
u8 *sub_81294B0(int arg0);
|
||||||
|
void sub_8129700(u8 *arg0, u8 *arg1);
|
||||||
u8 *sub_8129714(void);
|
u8 *sub_8129714(void);
|
||||||
|
int sub_8129720(void);
|
||||||
void sub_8129730(u32 *a0, u32 *a1);
|
void sub_8129730(u32 *a0, u32 *a1);
|
||||||
u8 *sub_8129758(void);
|
u8 *sub_8129758(void);
|
||||||
u16 sub_8129788(void);
|
u16 sub_8129788(void);
|
||||||
u8 *sub_81297C4(void);
|
u8 *sub_81297C4(void);
|
||||||
u16 sub_81297D0(void);
|
u16 sub_81297D0(void);
|
||||||
int sub_81297DC(void);
|
int sub_81297DC(void);
|
||||||
|
int sub_81297E8(void);
|
||||||
u8 *sub_8129814(void);
|
u8 *sub_8129814(void);
|
||||||
void copy_strings_to_sav1(void);
|
void copy_strings_to_sav1(void);
|
||||||
u8 GetCurrentKeyboardPage(void);
|
u8 GetCurrentKeyboardPage(void);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
bool32 sub_812AE70(void);
|
bool32 sub_812AE70(void);
|
||||||
void sub_812AEB0(void);
|
void sub_812AEB0(void);
|
||||||
void sub_812AEC8(void);
|
void sub_812AEC8(void);
|
||||||
void sub_812AEFC(bool8 invisible);
|
void sub_812AEFC(bool32 invisible);
|
||||||
void sub_812AF1C(void);
|
void sub_812AF1C(void);
|
||||||
void sub_812AF8C(u32 idx);
|
void sub_812AF8C(u32 idx);
|
||||||
void sub_812AFC0(void);
|
void sub_812AFC0(void);
|
||||||
|
|||||||
+2
-2
@@ -248,7 +248,7 @@ SECTIONS {
|
|||||||
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);
|
src/union_room_chat_display.o(.text);
|
||||||
asm/union_room_chat.o(.text);
|
src/union_room_chat_objects.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);
|
||||||
src/fame_checker.o(.text);
|
src/fame_checker.o(.text);
|
||||||
@@ -538,7 +538,7 @@ SECTIONS {
|
|||||||
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);
|
src/union_room_chat_display.o(.rodata);
|
||||||
data/union_room_chat.o(.rodata);
|
src/union_room_chat_objects.o(.rodata);
|
||||||
src/help_system_812B1E0.o(.rodata);
|
src/help_system_812B1E0.o(.rodata);
|
||||||
src/fame_checker.o(.rodata);
|
src/fame_checker.o(.rodata);
|
||||||
src/menu2.o(.rodata);
|
src/menu2.o(.rodata);
|
||||||
|
|||||||
+188
-99
@@ -11,46 +11,46 @@
|
|||||||
#include "union_room_chat_display.h"
|
#include "union_room_chat_display.h"
|
||||||
#include "union_room_chat_objects.h"
|
#include "union_room_chat_objects.h"
|
||||||
|
|
||||||
struct UnionRoomChat2_Unk0
|
struct UnionRoomChat2Subtask
|
||||||
{
|
{
|
||||||
bool32 (*unk0)(u8 *);
|
bool32 (*callback)(u8 *);
|
||||||
u8 unk4;
|
u8 active;
|
||||||
u8 unk5;
|
u8 state;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct UnionRoomChat2
|
struct UnionRoomChat2
|
||||||
{
|
{
|
||||||
struct UnionRoomChat2_Unk0 unk0[3];
|
struct UnionRoomChat2Subtask subtasks[3];
|
||||||
u16 unk18;
|
u16 unk18;
|
||||||
u16 unk1A;
|
u16 unk1A;
|
||||||
u16 unk1C;
|
u16 unk1C;
|
||||||
u16 unk1E;
|
u16 messageWindowId;
|
||||||
s16 unk20;
|
s16 bg1hofs;
|
||||||
u8 unk22[0x106];
|
u8 expandedPlaceholdersBuffer[0x106];
|
||||||
u8 unk128[BG_SCREEN_SIZE];
|
u8 bg0Buffer[BG_SCREEN_SIZE];
|
||||||
u8 unk928[BG_SCREEN_SIZE];
|
u8 bg1Buffer[BG_SCREEN_SIZE];
|
||||||
u8 unk1128[BG_SCREEN_SIZE];
|
u8 bg3Buffer[BG_SCREEN_SIZE];
|
||||||
u8 unk1928[BG_SCREEN_SIZE];
|
u8 bg2Buffer[BG_SCREEN_SIZE];
|
||||||
u8 unk2128[0x20];
|
u8 unk2128[0x20];
|
||||||
u8 unk2148[0x20];
|
u8 unk2148[0x20];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Unk845AABC
|
struct Unk845AABC
|
||||||
{
|
{
|
||||||
u16 unk0;
|
u16 idx;
|
||||||
bool32 (*unk4)(u8 *);
|
bool32 (*callback)(u8 *);
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Unk845AB64
|
struct Unk845AB64
|
||||||
{
|
{
|
||||||
const u8 *unk0;
|
const u8 *text;
|
||||||
u8 unk4;
|
bool8 boxType;
|
||||||
u8 unk5;
|
u8 x;
|
||||||
u8 unk6;
|
u8 y;
|
||||||
u8 unk7;
|
u8 letterSpacing;
|
||||||
u8 unk8;
|
u8 lineSpacing;
|
||||||
u8 unk9;
|
bool8 expandPlaceholders;
|
||||||
u8 unkA;
|
bool8 widerBox;
|
||||||
};
|
};
|
||||||
|
|
||||||
EWRAM_DATA struct UnionRoomChat2 * gUnknown_203B0E4 = NULL;
|
EWRAM_DATA struct UnionRoomChat2 * gUnknown_203B0E4 = NULL;
|
||||||
@@ -208,17 +208,106 @@ const struct Unk845AABC gUnknown_845AABC[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const struct Unk845AB64 gUnknown_845AB64[] = {
|
const struct Unk845AB64 gUnknown_845AB64[] = {
|
||||||
{gText_QuitChatting, 1, 0, 0, 1, 2, 0, 0},
|
{
|
||||||
{gText_RegisterTextWhere, 1, 0, 0, 1, 2, 0, 0},
|
.text = gText_QuitChatting,
|
||||||
{gText_RegisterTextHere, 1, 0, 0, 1, 2, 0, 0},
|
.boxType = 1,
|
||||||
{gText_InputText, 1, 0, 0, 1, 2, 0, 0},
|
.x = 0,
|
||||||
{gText_ExitingTheChat, 2, 0, 0, 1, 2, 0, 0},
|
.y = 0,
|
||||||
{gText_LeaderHasLeftEndingChat, 2, 0, 0, 0, 2, 1, 0},
|
.letterSpacing = 1,
|
||||||
{gText_RegisteredTextChanged_OKtoSave, 2, 0, 0, 1, 2, 0, 1},
|
.lineSpacing = 2,
|
||||||
{gText_RegisteredTextChanged_AlreadySavedFile, 2, 0, 0, 1, 2, 0, 1},
|
.expandPlaceholders = FALSE,
|
||||||
{gText_RegisteredTextChanged_SavingDontTurnOff, 2, 0, 0, 1, 2, 0, 1},
|
.widerBox = FALSE
|
||||||
{gText_RegisteredTextChanged_SavedTheGame, 2, 0, 0, 1, 2, 1, 1},
|
}, {
|
||||||
{gText_IfLeaderLeavesChatWillEnd, 2, 0, 0, 1, 2, 0, 1}
|
.text = gText_RegisterTextWhere,
|
||||||
|
.boxType = 1,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = FALSE
|
||||||
|
}, {
|
||||||
|
.text = gText_RegisterTextHere,
|
||||||
|
.boxType = 1,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = FALSE
|
||||||
|
}, {
|
||||||
|
.text = gText_InputText,
|
||||||
|
.boxType = 1,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = FALSE
|
||||||
|
}, {
|
||||||
|
.text = gText_ExitingTheChat,
|
||||||
|
.boxType = 2,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = FALSE
|
||||||
|
}, {
|
||||||
|
.text = gText_LeaderHasLeftEndingChat,
|
||||||
|
.boxType = 2,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 0,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = TRUE,
|
||||||
|
.widerBox = FALSE
|
||||||
|
}, {
|
||||||
|
.text = gText_RegisteredTextChanged_OKtoSave,
|
||||||
|
.boxType = 2,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = TRUE
|
||||||
|
}, {
|
||||||
|
.text = gText_RegisteredTextChanged_AlreadySavedFile,
|
||||||
|
.boxType = 2,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = TRUE
|
||||||
|
}, {
|
||||||
|
.text = gText_RegisteredTextChanged_SavingDontTurnOff,
|
||||||
|
.boxType = 2,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = TRUE
|
||||||
|
}, {
|
||||||
|
.text = gText_RegisteredTextChanged_SavedTheGame,
|
||||||
|
.boxType = 2,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = TRUE,
|
||||||
|
.widerBox = TRUE
|
||||||
|
}, {
|
||||||
|
.text = gText_IfLeaderLeavesChatWillEnd,
|
||||||
|
.boxType = 2,
|
||||||
|
.x = 0,
|
||||||
|
.y = 0,
|
||||||
|
.letterSpacing = 1,
|
||||||
|
.lineSpacing = 2,
|
||||||
|
.expandPlaceholders = FALSE,
|
||||||
|
.widerBox = TRUE
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const u8 gText_Ellipsis[] = _("…");
|
const u8 gText_Ellipsis[] = _("…");
|
||||||
@@ -270,7 +359,7 @@ void sub_8129B88(void)
|
|||||||
void sub_8129BB8(struct UnionRoomChat2 *arg0)
|
void sub_8129BB8(struct UnionRoomChat2 *arg0)
|
||||||
{
|
{
|
||||||
arg0->unk18 = 0xFF;
|
arg0->unk18 = 0xFF;
|
||||||
arg0->unk1E = 0xFF;
|
arg0->messageWindowId = 0xFF;
|
||||||
arg0->unk1A = 0;
|
arg0->unk1A = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -283,9 +372,9 @@ void sub_8129BC4(void)
|
|||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
gUnknown_203B0E4->unk0[i].unk0 = sub_812A420;
|
gUnknown_203B0E4->subtasks[i].callback = sub_812A420;
|
||||||
gUnknown_203B0E4->unk0[i].unk4 = 0;
|
gUnknown_203B0E4->subtasks[i].active = FALSE;
|
||||||
gUnknown_203B0E4->unk0[i].unk5 = 0;
|
gUnknown_203B0E4->subtasks[i].state = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -298,8 +387,8 @@ void sub_8129BFC(void)
|
|||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
for (i = 0; i < 3; i++)
|
||||||
{
|
{
|
||||||
if (gUnknown_203B0E4->unk0[i].unk4)
|
if (gUnknown_203B0E4->subtasks[i].active)
|
||||||
gUnknown_203B0E4->unk0[i].unk4 = gUnknown_203B0E4->unk0[i].unk0(&gUnknown_203B0E4->unk0[i].unk5);
|
gUnknown_203B0E4->subtasks[i].active = gUnknown_203B0E4->subtasks[i].callback(&gUnknown_203B0E4->subtasks[i].state);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -307,14 +396,14 @@ void sub_8129C34(u16 arg0, u8 arg1)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
gUnknown_203B0E4->unk0[arg1].unk0 = sub_812A420;
|
gUnknown_203B0E4->subtasks[arg1].callback = sub_812A420;
|
||||||
for (i = 0; i < NELEMS(gUnknown_845AABC); i++)
|
for (i = 0; i < NELEMS(gUnknown_845AABC); i++)
|
||||||
{
|
{
|
||||||
if (gUnknown_845AABC[i].unk0 == arg0)
|
if (gUnknown_845AABC[i].idx == arg0)
|
||||||
{
|
{
|
||||||
gUnknown_203B0E4->unk0[arg1].unk0 = gUnknown_845AABC[i].unk4;
|
gUnknown_203B0E4->subtasks[arg1].callback = gUnknown_845AABC[i].callback;
|
||||||
gUnknown_203B0E4->unk0[arg1].unk4 = 1;
|
gUnknown_203B0E4->subtasks[arg1].active = TRUE;
|
||||||
gUnknown_203B0E4->unk0[arg1].unk5 = 0;
|
gUnknown_203B0E4->subtasks[arg1].state = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -322,7 +411,7 @@ void sub_8129C34(u16 arg0, u8 arg1)
|
|||||||
|
|
||||||
bool8 sub_8129C8C(u8 arg0)
|
bool8 sub_8129C8C(u8 arg0)
|
||||||
{
|
{
|
||||||
return gUnknown_203B0E4->unk0[arg0].unk4;
|
return gUnknown_203B0E4->subtasks[arg0].active;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_8129CA0(u8 *state)
|
bool32 sub_8129CA0(u8 *state)
|
||||||
@@ -445,7 +534,7 @@ bool32 sub_8129E28(u8 *state)
|
|||||||
case 0:
|
case 0:
|
||||||
sub_812A578(0, 0);
|
sub_812A578(0, 0);
|
||||||
sub_812A424(23, 11, 1);
|
sub_812A424(23, 11, 1);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
return IsDma3ManagerBusyWithBgCopy();
|
return IsDma3ManagerBusyWithBgCopy();
|
||||||
@@ -524,7 +613,7 @@ bool32 sub_8129F24(u8 *state)
|
|||||||
if (!IsDma3ManagerBusyWithBgCopy())
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
{
|
{
|
||||||
sub_812A578(1, 16);
|
sub_812A578(1, 16);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -565,7 +654,7 @@ bool32 sub_8129FCC(u8 *state)
|
|||||||
if (!IsDma3ManagerBusyWithBgCopy())
|
if (!IsDma3ManagerBusyWithBgCopy())
|
||||||
{
|
{
|
||||||
sub_812A6F4();
|
sub_812A6F4();
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -688,7 +777,7 @@ bool32 sub_812A1B8(u8 *state)
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_812A578(3, 16);
|
sub_812A578(3, 16);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -704,7 +793,7 @@ bool32 sub_812A1FC(u8 *state)
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_812A578(4, 0);
|
sub_812A578(4, 0);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -725,7 +814,7 @@ bool32 sub_812A240(u8 *state)
|
|||||||
str = sub_8129814();
|
str = sub_8129814();
|
||||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
|
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, str);
|
||||||
sub_812A578(5, 0);
|
sub_812A578(5, 0);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -742,7 +831,7 @@ bool32 sub_812A294(u8 *state)
|
|||||||
case 0:
|
case 0:
|
||||||
sub_812A578(6, 0);
|
sub_812A578(6, 0);
|
||||||
sub_812A424(23, 10, 1);
|
sub_812A424(23, 10, 1);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -759,7 +848,7 @@ bool32 sub_812A2E4(u8 *state)
|
|||||||
case 0:
|
case 0:
|
||||||
sub_812A578(7, 0);
|
sub_812A578(7, 0);
|
||||||
sub_812A424(23, 10, 1);
|
sub_812A424(23, 10, 1);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -775,7 +864,7 @@ bool32 sub_812A334(u8 *state)
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
sub_812A578(8, 0);
|
sub_812A578(8, 0);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -793,7 +882,7 @@ bool32 sub_812A378(u8 *state)
|
|||||||
DynamicPlaceholderTextUtil_Reset();
|
DynamicPlaceholderTextUtil_Reset();
|
||||||
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gSaveBlock2Ptr->playerName);
|
||||||
sub_812A578(9, 0);
|
sub_812A578(9, 0);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -810,7 +899,7 @@ bool32 sub_812A3D0(u8 *state)
|
|||||||
case 0:
|
case 0:
|
||||||
sub_812A578(10, 0);
|
sub_812A578(10, 0);
|
||||||
sub_812A424(23, 10, 1);
|
sub_812A424(23, 10, 1);
|
||||||
CopyWindowToVram(gUnknown_203B0E4->unk1E, 3);
|
CopyWindowToVram(gUnknown_203B0E4->messageWindowId, 3);
|
||||||
(*state)++;
|
(*state)++;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -882,43 +971,43 @@ void sub_812A578(int arg0, u16 arg1)
|
|||||||
template.height = 4;
|
template.height = 4;
|
||||||
template.paletteNum = 14;
|
template.paletteNum = 14;
|
||||||
template.baseBlock = 0x06A;
|
template.baseBlock = 0x06A;
|
||||||
if (gUnknown_845AB64[arg0].unkA)
|
if (gUnknown_845AB64[arg0].widerBox)
|
||||||
{
|
{
|
||||||
template.tilemapLeft -= 7;
|
template.tilemapLeft -= 7;
|
||||||
template.width += 7;
|
template.width += 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
gUnknown_203B0E4->unk1E = AddWindow(&template);
|
gUnknown_203B0E4->messageWindowId = AddWindow(&template);
|
||||||
windowId = gUnknown_203B0E4->unk1E;
|
windowId = gUnknown_203B0E4->messageWindowId;
|
||||||
if (gUnknown_203B0E4->unk1E == 0xFF)
|
if (gUnknown_203B0E4->messageWindowId == 0xFF)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (gUnknown_845AB64[arg0].unk9)
|
if (gUnknown_845AB64[arg0].expandPlaceholders)
|
||||||
{
|
{
|
||||||
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203B0E4->unk22, gUnknown_845AB64[arg0].unk0);
|
DynamicPlaceholderTextUtil_ExpandPlaceholders(gUnknown_203B0E4->expandedPlaceholdersBuffer, gUnknown_845AB64[arg0].text);
|
||||||
str = gUnknown_203B0E4->unk22;
|
str = gUnknown_203B0E4->expandedPlaceholdersBuffer;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
str = gUnknown_845AB64[arg0].unk0;
|
str = gUnknown_845AB64[arg0].text;
|
||||||
}
|
}
|
||||||
|
|
||||||
ChangeBgY(0, arg1 * 256, 0);
|
ChangeBgY(0, arg1 * 256, 0);
|
||||||
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
FillWindowPixelBuffer(windowId, PIXEL_FILL(1));
|
||||||
PutWindowTilemap(windowId);
|
PutWindowTilemap(windowId);
|
||||||
if (gUnknown_845AB64[arg0].unk4 == 1)
|
if (gUnknown_845AB64[arg0].boxType == 1)
|
||||||
{
|
{
|
||||||
DrawTextBorderInner(windowId, 0xA, 2);
|
DrawTextBorderInner(windowId, 0xA, 2);
|
||||||
AddTextPrinterParameterized5(
|
AddTextPrinterParameterized5(
|
||||||
windowId,
|
windowId,
|
||||||
2,
|
2,
|
||||||
str,
|
str,
|
||||||
gUnknown_845AB64[arg0].unk5 + 8,
|
gUnknown_845AB64[arg0].x + 8,
|
||||||
gUnknown_845AB64[arg0].unk6 + 8,
|
gUnknown_845AB64[arg0].y + 8,
|
||||||
TEXT_SPEED_FF,
|
TEXT_SPEED_FF,
|
||||||
NULL,
|
NULL,
|
||||||
gUnknown_845AB64[arg0].unk7,
|
gUnknown_845AB64[arg0].letterSpacing,
|
||||||
gUnknown_845AB64[arg0].unk8);
|
gUnknown_845AB64[arg0].lineSpacing);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -927,23 +1016,23 @@ void sub_812A578(int arg0, u16 arg1)
|
|||||||
windowId,
|
windowId,
|
||||||
2,
|
2,
|
||||||
str,
|
str,
|
||||||
gUnknown_845AB64[arg0].unk5,
|
gUnknown_845AB64[arg0].x,
|
||||||
gUnknown_845AB64[arg0].unk6,
|
gUnknown_845AB64[arg0].y,
|
||||||
TEXT_SPEED_FF,
|
TEXT_SPEED_FF,
|
||||||
NULL,
|
NULL,
|
||||||
gUnknown_845AB64[arg0].unk7,
|
gUnknown_845AB64[arg0].letterSpacing,
|
||||||
gUnknown_845AB64[arg0].unk8);
|
gUnknown_845AB64[arg0].lineSpacing);
|
||||||
}
|
}
|
||||||
|
|
||||||
gUnknown_203B0E4->unk1E = windowId;
|
gUnknown_203B0E4->messageWindowId = windowId;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_812A6F4(void)
|
void sub_812A6F4(void)
|
||||||
{
|
{
|
||||||
if (gUnknown_203B0E4->unk1E != 0xFF)
|
if (gUnknown_203B0E4->messageWindowId != 0xFF)
|
||||||
{
|
{
|
||||||
ClearStdWindowAndFrameToTransparent(gUnknown_203B0E4->unk1E, FALSE);
|
ClearStdWindowAndFrameToTransparent(gUnknown_203B0E4->messageWindowId, FALSE);
|
||||||
ClearWindowTilemap(gUnknown_203B0E4->unk1E);
|
ClearWindowTilemap(gUnknown_203B0E4->messageWindowId);
|
||||||
}
|
}
|
||||||
|
|
||||||
ChangeBgY(0, 0, 0);
|
ChangeBgY(0, 0, 0);
|
||||||
@@ -951,10 +1040,10 @@ void sub_812A6F4(void)
|
|||||||
|
|
||||||
void sub_812A728(void)
|
void sub_812A728(void)
|
||||||
{
|
{
|
||||||
if (gUnknown_203B0E4->unk1E != 0xFF)
|
if (gUnknown_203B0E4->messageWindowId != 0xFF)
|
||||||
{
|
{
|
||||||
RemoveWindow(gUnknown_203B0E4->unk1E);
|
RemoveWindow(gUnknown_203B0E4->messageWindowId);
|
||||||
gUnknown_203B0E4->unk1E = 0xFF;
|
gUnknown_203B0E4->messageWindowId = 0xFF;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1045,39 +1134,39 @@ void sub_812A804(void)
|
|||||||
|
|
||||||
bool32 sub_812A980(void)
|
bool32 sub_812A980(void)
|
||||||
{
|
{
|
||||||
if (gUnknown_203B0E4->unk20 < 56)
|
if (gUnknown_203B0E4->bg1hofs < 56)
|
||||||
{
|
{
|
||||||
gUnknown_203B0E4->unk20 += 12;
|
gUnknown_203B0E4->bg1hofs += 12;
|
||||||
if (gUnknown_203B0E4->unk20 >= 56)
|
if (gUnknown_203B0E4->bg1hofs >= 56)
|
||||||
gUnknown_203B0E4->unk20 = 56;
|
gUnknown_203B0E4->bg1hofs = 56;
|
||||||
|
|
||||||
if (gUnknown_203B0E4->unk20 < 56)
|
if (gUnknown_203B0E4->bg1hofs < 56)
|
||||||
{
|
{
|
||||||
sub_812ADA0(gUnknown_203B0E4->unk20);
|
sub_812ADA0(gUnknown_203B0E4->bg1hofs);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_812ADF8(gUnknown_203B0E4->unk20);
|
sub_812ADF8(gUnknown_203B0E4->bg1hofs);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool32 sub_812A9C8(void)
|
bool32 sub_812A9C8(void)
|
||||||
{
|
{
|
||||||
if (gUnknown_203B0E4->unk20 > 0)
|
if (gUnknown_203B0E4->bg1hofs > 0)
|
||||||
{
|
{
|
||||||
gUnknown_203B0E4->unk20 -= 12;
|
gUnknown_203B0E4->bg1hofs -= 12;
|
||||||
if (gUnknown_203B0E4->unk20 <= 0)
|
if (gUnknown_203B0E4->bg1hofs <= 0)
|
||||||
gUnknown_203B0E4->unk20 = 0;
|
gUnknown_203B0E4->bg1hofs = 0;
|
||||||
|
|
||||||
if (gUnknown_203B0E4->unk20 > 0)
|
if (gUnknown_203B0E4->bg1hofs > 0)
|
||||||
{
|
{
|
||||||
sub_812ADA0(gUnknown_203B0E4->unk20);
|
sub_812ADA0(gUnknown_203B0E4->bg1hofs);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub_812ADF8(gUnknown_203B0E4->unk20);
|
sub_812ADF8(gUnknown_203B0E4->bg1hofs);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1133,10 +1222,10 @@ void sub_812AAD4(void)
|
|||||||
|
|
||||||
void sub_812AB8C(void)
|
void sub_812AB8C(void)
|
||||||
{
|
{
|
||||||
SetBgTilemapBuffer(0, gUnknown_203B0E4->unk128);
|
SetBgTilemapBuffer(0, gUnknown_203B0E4->bg0Buffer);
|
||||||
SetBgTilemapBuffer(1, gUnknown_203B0E4->unk928);
|
SetBgTilemapBuffer(1, gUnknown_203B0E4->bg1Buffer);
|
||||||
SetBgTilemapBuffer(3, gUnknown_203B0E4->unk1128);
|
SetBgTilemapBuffer(3, gUnknown_203B0E4->bg3Buffer);
|
||||||
SetBgTilemapBuffer(2, gUnknown_203B0E4->unk1928);
|
SetBgTilemapBuffer(2, gUnknown_203B0E4->bg2Buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_812ABD8(void)
|
void sub_812ABD8(void)
|
||||||
@@ -1208,7 +1297,7 @@ void sub_812AD50(void)
|
|||||||
params.dmaDest = ®_BG1HOFS;
|
params.dmaDest = ®_BG1HOFS;
|
||||||
params.initState = 1;
|
params.initState = 1;
|
||||||
params.unused9 = 0;
|
params.unused9 = 0;
|
||||||
gUnknown_203B0E4->unk20 = 0;
|
gUnknown_203B0E4->bg1hofs = 0;
|
||||||
CpuFastFill(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers));
|
CpuFastFill(0, gScanlineEffectRegBuffers, sizeof(gScanlineEffectRegBuffers));
|
||||||
ScanlineEffect_SetParams(params);
|
ScanlineEffect_SetParams(params);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,316 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "gflib.h"
|
||||||
|
#include "decompress.h"
|
||||||
|
#include "graphics.h"
|
||||||
|
#include "union_room_chat.h"
|
||||||
|
|
||||||
|
struct UnionRoomChat3
|
||||||
|
{
|
||||||
|
struct Sprite *unk0;
|
||||||
|
struct Sprite *unk4;
|
||||||
|
struct Sprite *unk8;
|
||||||
|
struct Sprite *unkC;
|
||||||
|
struct Sprite *unk10;
|
||||||
|
u16 unk14;
|
||||||
|
};
|
||||||
|
|
||||||
|
EWRAM_DATA struct UnionRoomChat3 *gUnknown_203B0E8 = NULL;
|
||||||
|
|
||||||
|
void sub_812B09C(struct Sprite * sprite);
|
||||||
|
void sub_812B0D4(struct Sprite * sprite);
|
||||||
|
|
||||||
|
const u16 gUnknown_845AC14[] = INCBIN_U16("graphics/union_room_chat/unk_845AC14.gbapal");
|
||||||
|
const u32 gUnknown_845AC34[] = INCBIN_U32("graphics/union_room_chat/unk_845AC34.4bpp.lz");
|
||||||
|
const u32 gUnknown_845AEB8[] = INCBIN_U32("graphics/union_room_chat/unk_845AEB8.4bpp.lz");
|
||||||
|
const u32 gUnknown_845AED8[] = INCBIN_U32("graphics/union_room_chat/unk_845AED8.4bpp.lz");
|
||||||
|
const u32 gUnknown_845AF04[] = INCBIN_U32("graphics/union_room_chat/unk_845AF04.4bpp.lz");
|
||||||
|
|
||||||
|
const struct CompressedSpriteSheet gUnknown_845AF58[] = {
|
||||||
|
{gUnknown_845AC34, 0x1000, 0},
|
||||||
|
{gUnknown_845AED8, 0x0040, 1},
|
||||||
|
{gUnknown_845AEB8, 0x0040, 2},
|
||||||
|
{gUnknown_845AF04, 0x0080, 3},
|
||||||
|
{gUnknown_8EA1A50, 0x0400, 4}
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct SpritePalette gUnknown_845AF80 = {
|
||||||
|
gUnknown_845AC14, 0
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct OamData gOamData_845AF88 = {
|
||||||
|
.shape = SPRITE_SHAPE(64x32),
|
||||||
|
.size = SPRITE_SIZE(64x32),
|
||||||
|
.priority = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845AF90[] = {
|
||||||
|
ANIMCMD_FRAME(0x00, 30),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845AF98[] = {
|
||||||
|
ANIMCMD_FRAME(0x20, 30),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845AFA0[] = {
|
||||||
|
ANIMCMD_FRAME(0x40, 30),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845AFA8[] = {
|
||||||
|
ANIMCMD_FRAME(0x60, 30),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd *const gSpriteAnimTable_845AFB0[] = {
|
||||||
|
gAnimCmd_845AF90,
|
||||||
|
gAnimCmd_845AF98,
|
||||||
|
gAnimCmd_845AFA0,
|
||||||
|
gAnimCmd_845AFA8
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct SpriteTemplate gUnknown_845AFC0 = {
|
||||||
|
.tileTag = 0,
|
||||||
|
.paletteTag = 0,
|
||||||
|
.oam = &gOamData_845AF88,
|
||||||
|
.anims = gSpriteAnimTable_845AFB0,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct OamData gOamData_845AFD8 = {
|
||||||
|
.shape = SPRITE_SHAPE(8x16),
|
||||||
|
.size = SPRITE_SIZE(8x16),
|
||||||
|
.priority = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct SpriteTemplate gUnknown_845AFE0 = {
|
||||||
|
.tileTag = 2,
|
||||||
|
.paletteTag = 0,
|
||||||
|
.oam = &gOamData_845AFD8,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = sub_812B09C
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct SpriteTemplate gUnknown_845AFF8 = {
|
||||||
|
.tileTag = 1,
|
||||||
|
.paletteTag = 0,
|
||||||
|
.oam = &gOamData_845AFD8,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = sub_812B0D4
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct OamData gOamData_845B010 = {
|
||||||
|
.shape = SPRITE_SHAPE(16x16),
|
||||||
|
.size = SPRITE_SIZE(16x16),
|
||||||
|
.priority = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct OamData gOamData_845B018 = {
|
||||||
|
.shape = SPRITE_SHAPE(32x16),
|
||||||
|
.size = SPRITE_SIZE(32x16),
|
||||||
|
.priority = 2
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845B020[] = {
|
||||||
|
ANIMCMD_FRAME(0x00, 2),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845B028[] = {
|
||||||
|
ANIMCMD_FRAME(0x08, 2),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845B030[] = {
|
||||||
|
ANIMCMD_FRAME(0x10, 2),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd gAnimCmd_845B038[] = {
|
||||||
|
ANIMCMD_FRAME(0x18, 2),
|
||||||
|
ANIMCMD_END
|
||||||
|
};
|
||||||
|
|
||||||
|
const union AnimCmd *const gSpriteAnimTable_845B040[] = {
|
||||||
|
gAnimCmd_845B020,
|
||||||
|
gAnimCmd_845B028,
|
||||||
|
gAnimCmd_845B030,
|
||||||
|
gAnimCmd_845B038
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct SpriteTemplate gUnknown_845B050 = {
|
||||||
|
.tileTag = 3,
|
||||||
|
.paletteTag = 0,
|
||||||
|
.oam = &gOamData_845B010,
|
||||||
|
.anims = gDummySpriteAnimTable,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct SpriteTemplate gUnknown_845B068 = {
|
||||||
|
.tileTag = 4,
|
||||||
|
.paletteTag = 0,
|
||||||
|
.oam = &gOamData_845B018,
|
||||||
|
.anims = gSpriteAnimTable_845B040,
|
||||||
|
.affineAnims = gDummySpriteAffineAnimTable,
|
||||||
|
.callback = SpriteCallbackDummy
|
||||||
|
};
|
||||||
|
|
||||||
|
bool32 sub_812AE70(void)
|
||||||
|
{
|
||||||
|
u32 i;
|
||||||
|
for (i = 0; i < 5; i++)
|
||||||
|
LoadCompressedSpriteSheet(&gUnknown_845AF58[i]);
|
||||||
|
|
||||||
|
LoadSpritePalette(&gUnknown_845AF80);
|
||||||
|
gUnknown_203B0E8 = Alloc(0x18);
|
||||||
|
if (!gUnknown_203B0E8)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812AEB0(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_203B0E8)
|
||||||
|
Free(gUnknown_203B0E8);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812AEC8(void)
|
||||||
|
{
|
||||||
|
u8 spriteId = CreateSprite(&gUnknown_845AFC0, 10, 24, 0);
|
||||||
|
gUnknown_203B0E8->unk0 = &gSprites[spriteId];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812AEFC(bool32 invisible)
|
||||||
|
{
|
||||||
|
gUnknown_203B0E8->unk0->invisible = invisible;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812AF1C(void)
|
||||||
|
{
|
||||||
|
u8 x, y;
|
||||||
|
u8 page = GetCurrentKeyboardPage();
|
||||||
|
sub_8129700(&x, &y);
|
||||||
|
if (page != UNION_ROOM_KB_PAGE_COUNT)
|
||||||
|
{
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk0, 0);
|
||||||
|
gUnknown_203B0E8->unk0->pos1.x = x * 8 + 10;
|
||||||
|
gUnknown_203B0E8->unk0->pos1.y = y * 12 + 24;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk0, 2);
|
||||||
|
gUnknown_203B0E8->unk0->pos1.x = 24;
|
||||||
|
gUnknown_203B0E8->unk0->pos1.y = y * 12 + 24;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812AF8C(int arg0)
|
||||||
|
{
|
||||||
|
const u16 *palette = &gUnknown_845AC14[arg0 * 2 + 1];
|
||||||
|
u8 index = IndexOfSpritePaletteTag(0);
|
||||||
|
LoadPalette(palette, index * 16 + 0x101, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812AFC0(void)
|
||||||
|
{
|
||||||
|
if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT)
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk0, 1);
|
||||||
|
else
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk0, 3);
|
||||||
|
|
||||||
|
gUnknown_203B0E8->unk14 = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_812AFFC(void)
|
||||||
|
{
|
||||||
|
if (gUnknown_203B0E8->unk14 > 3)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (++gUnknown_203B0E8->unk14 > 3)
|
||||||
|
{
|
||||||
|
if (GetCurrentKeyboardPage() != UNION_ROOM_KB_PAGE_COUNT)
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk0, 0);
|
||||||
|
else
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk0, 2);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812B048(void)
|
||||||
|
{
|
||||||
|
u8 spriteId = CreateSprite(&gUnknown_845AFE0, 76, 152, 2);
|
||||||
|
gUnknown_203B0E8->unk8 = &gSprites[spriteId];
|
||||||
|
spriteId = CreateSprite(&gUnknown_845AFF8, 64, 152, 1);
|
||||||
|
gUnknown_203B0E8->unk4 = &gSprites[spriteId];
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812B09C(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
int var0 = sub_81297DC();
|
||||||
|
if (var0 == 15)
|
||||||
|
{
|
||||||
|
sprite->invisible = TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprite->invisible = FALSE;
|
||||||
|
sprite->pos1.x = var0 * 8 + 76;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812B0D4(struct Sprite *sprite)
|
||||||
|
{
|
||||||
|
if (++sprite->data[0] > 4)
|
||||||
|
{
|
||||||
|
sprite->data[0] = 0;
|
||||||
|
if (++sprite->pos2.x > 4)
|
||||||
|
sprite->pos2.x = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812B100(void)
|
||||||
|
{
|
||||||
|
u8 spriteId = CreateSprite(&gUnknown_845B050, 8, 152, 3);
|
||||||
|
gUnknown_203B0E8->unkC = &gSprites[spriteId];
|
||||||
|
spriteId = CreateSprite(&gUnknown_845B068, 32, 152, 4);
|
||||||
|
gUnknown_203B0E8->unk10 = &gSprites[spriteId];
|
||||||
|
gUnknown_203B0E8->unk10->invisible = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_812B160(void)
|
||||||
|
{
|
||||||
|
if (GetCurrentKeyboardPage() == UNION_ROOM_KB_PAGE_COUNT)
|
||||||
|
{
|
||||||
|
if (sub_8129720() != 0)
|
||||||
|
{
|
||||||
|
gUnknown_203B0E8->unk10->invisible = 0;
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk10, 3);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gUnknown_203B0E8->unk10->invisible = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int anim = sub_81297E8();
|
||||||
|
if (anim == 3)
|
||||||
|
{
|
||||||
|
gUnknown_203B0E8->unk10->invisible = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gUnknown_203B0E8->unk10->invisible = 0;
|
||||||
|
StartSpriteAnim(gUnknown_203B0E8->unk10, anim);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+5
-10
@@ -369,17 +369,12 @@ gUnknown_203B098: @ 203B098
|
|||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
.include "src/party_menu.o"
|
.include "src/party_menu.o"
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_203B0E0: @ 203B0E0
|
.include "src/union_room_chat.o"
|
||||||
.space 0x4
|
.align 2
|
||||||
|
.include "src/union_room_chat_display.o"
|
||||||
gUnknown_203B0E4: @ 203B0E4
|
.align 2
|
||||||
.space 0x4
|
.include "src/union_room_chat_objects.o"
|
||||||
|
|
||||||
gUnknown_203B0E8: @ 203B0E8
|
|
||||||
.space 0x4
|
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
.include "src/help_system_812B1E0.o"
|
.include "src/help_system_812B1E0.o"
|
||||||
.align 2
|
.align 2
|
||||||
|
|||||||
Reference in New Issue
Block a user