mirror of
https://github.com/pret/pokepinballrs.git
synced 2026-03-21 17:24:13 -05:00
sub_478D8
This commit is contained in:
parent
336962908e
commit
ec3568d127
859
asm/rom_3219C.s
859
asm/rom_3219C.s
|
|
@ -32614,862 +32614,3 @@ _080478D0:
|
|||
pop {r4, r5, r6, r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
||||
thumb_func_start sub_478D8
|
||||
sub_478D8: @ 0x080478D8
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #4
|
||||
ldr r7, _08047AEC @ =gMain
|
||||
ldrh r0, [r7, #0x12]
|
||||
cmp r0, #0
|
||||
bne _080478EE
|
||||
b _08047F2E
|
||||
_080478EE:
|
||||
movs r0, #0xd2
|
||||
lsls r0, r0, #3
|
||||
adds r6, r7, r0
|
||||
ldrh r0, [r6]
|
||||
movs r1, #0xbb
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r7
|
||||
mov r8, r1
|
||||
cmp r0, #0
|
||||
beq _08047984
|
||||
movs r0, #0x58
|
||||
strh r0, [r6, #2]
|
||||
ldr r0, _08047AF0 @ =gCurrentPinballGame
|
||||
ldr r0, [r0]
|
||||
adds r0, #0xfe
|
||||
ldrh r0, [r0]
|
||||
adds r0, #0x14
|
||||
strh r0, [r6, #4]
|
||||
movs r0, #0
|
||||
ldr r7, _08047AF4 @ =gOamBuffer
|
||||
ldr r2, _08047AF8 @ =0xFFFFFE00
|
||||
mov sl, r2
|
||||
movs r3, #0xf
|
||||
rsbs r3, r3, #0
|
||||
mov sb, r3
|
||||
_08047920:
|
||||
lsls r4, r0, #0x10
|
||||
asrs r4, r4, #0x10
|
||||
lsls r0, r4, #3
|
||||
adds r0, #8
|
||||
adds r5, r6, r0
|
||||
ldrh r3, [r5]
|
||||
lsls r3, r3, #3
|
||||
adds r3, r3, r7
|
||||
movs r0, #2
|
||||
ldrsh r1, [r5, r0]
|
||||
movs r2, #2
|
||||
ldrsh r0, [r6, r2]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08047AFC @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, sl
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r5]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r7
|
||||
ldrb r0, [r6, #4]
|
||||
ldrb r3, [r5, #4]
|
||||
adds r0, r0, r3
|
||||
strb r0, [r1]
|
||||
ldrh r2, [r5]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r7
|
||||
ldrb r0, [r2, #1]
|
||||
movs r1, #3
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #1]
|
||||
ldrh r2, [r5]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r7
|
||||
ldrb r1, [r2, #3]
|
||||
mov r0, sb
|
||||
ands r0, r1
|
||||
movs r1, #6
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #3]
|
||||
adds r4, #1
|
||||
lsls r4, r4, #0x10
|
||||
lsrs r0, r4, #0x10
|
||||
asrs r4, r4, #0x10
|
||||
cmp r4, #1
|
||||
ble _08047920
|
||||
_08047984:
|
||||
mov r6, r8
|
||||
ldrh r0, [r6]
|
||||
cmp r0, #0
|
||||
beq _08047A14
|
||||
ldr r4, _08047AF0 @ =gCurrentPinballGame
|
||||
ldr r0, [r4]
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #1
|
||||
adds r0, r0, r5
|
||||
ldr r0, [r0]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
adds r0, #0x18
|
||||
strh r0, [r6, #2]
|
||||
ldr r0, [r4]
|
||||
adds r4, r0, #0
|
||||
adds r4, #0xfe
|
||||
movs r1, #0x82
|
||||
lsls r1, r1, #1
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
adds r0, #0x14
|
||||
ldrh r4, [r4]
|
||||
adds r0, r0, r4
|
||||
strh r0, [r6, #4]
|
||||
adds r5, r6, #0
|
||||
adds r5, #8
|
||||
ldr r4, _08047AF4 @ =gOamBuffer
|
||||
ldrh r2, [r6, #8]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r4
|
||||
movs r3, #2
|
||||
ldrsh r1, [r5, r3]
|
||||
movs r3, #2
|
||||
ldrsh r0, [r6, r3]
|
||||
adds r1, r1, r0
|
||||
ldr r3, _08047AFC @ =0x000001FF
|
||||
adds r0, r3, #0
|
||||
ands r1, r0
|
||||
ldrh r3, [r2, #2]
|
||||
ldr r0, _08047AF8 @ =0xFFFFFE00
|
||||
ands r0, r3
|
||||
orrs r0, r1
|
||||
strh r0, [r2, #2]
|
||||
ldrh r1, [r6, #8]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r4
|
||||
ldrb r0, [r6, #4]
|
||||
ldrb r5, [r5, #4]
|
||||
adds r0, r0, r5
|
||||
strb r0, [r1]
|
||||
ldrh r1, [r6, #8]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r4
|
||||
ldrb r0, [r1, #1]
|
||||
movs r2, #3
|
||||
orrs r0, r2
|
||||
strb r0, [r1, #1]
|
||||
ldrh r2, [r6, #8]
|
||||
lsls r2, r2, #3
|
||||
adds r2, r2, r4
|
||||
ldrb r1, [r2, #3]
|
||||
movs r0, #0xf
|
||||
rsbs r0, r0, #0
|
||||
ands r0, r1
|
||||
movs r1, #8
|
||||
orrs r0, r1
|
||||
strb r0, [r2, #3]
|
||||
_08047A14:
|
||||
subs r6, #0xb8
|
||||
ldrh r0, [r6]
|
||||
cmp r0, #0
|
||||
beq _08047A9A
|
||||
ldr r4, _08047AF0 @ =gCurrentPinballGame
|
||||
ldr r0, [r4]
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #1
|
||||
adds r0, r0, r5
|
||||
ldr r0, [r0]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
adds r0, #0x38
|
||||
strh r0, [r6, #2]
|
||||
ldr r0, [r4]
|
||||
adds r4, r0, #0
|
||||
adds r4, #0xfe
|
||||
movs r1, #0x82
|
||||
lsls r1, r1, #1
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
adds r0, #0x34
|
||||
ldrh r4, [r4]
|
||||
adds r0, r0, r4
|
||||
strh r0, [r6, #4]
|
||||
movs r0, #0
|
||||
ldr r7, _08047AF4 @ =gOamBuffer
|
||||
ldr r2, _08047AF8 @ =0xFFFFFE00
|
||||
mov r8, r2
|
||||
_08047A56:
|
||||
lsls r4, r0, #0x10
|
||||
asrs r4, r4, #0x10
|
||||
lsls r0, r4, #3
|
||||
adds r0, #8
|
||||
adds r5, r6, r0
|
||||
ldrh r3, [r5]
|
||||
lsls r3, r3, #3
|
||||
adds r3, r3, r7
|
||||
movs r0, #2
|
||||
ldrsh r1, [r5, r0]
|
||||
movs r2, #2
|
||||
ldrsh r0, [r6, r2]
|
||||
adds r1, r1, r0
|
||||
ldr r2, _08047AFC @ =0x000001FF
|
||||
adds r0, r2, #0
|
||||
ands r1, r0
|
||||
ldrh r2, [r3, #2]
|
||||
mov r0, r8
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strh r0, [r3, #2]
|
||||
ldrh r1, [r5]
|
||||
lsls r1, r1, #3
|
||||
adds r1, r1, r7
|
||||
ldrb r0, [r6, #4]
|
||||
ldrb r5, [r5, #4]
|
||||
adds r0, r0, r5
|
||||
strb r0, [r1]
|
||||
adds r4, #1
|
||||
lsls r4, r4, #0x10
|
||||
lsrs r0, r4, #0x10
|
||||
asrs r4, r4, #0x10
|
||||
cmp r4, #1
|
||||
ble _08047A56
|
||||
_08047A9A:
|
||||
ldr r1, _08047AEC @ =gMain
|
||||
ldrh r0, [r1, #0x12]
|
||||
subs r0, #1
|
||||
strh r0, [r1, #0x12]
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0x46
|
||||
bls _08047B00
|
||||
ldrh r1, [r1, #0x12]
|
||||
adds r2, r1, #0
|
||||
adds r2, #0x14
|
||||
adds r0, r2, #0
|
||||
asrs r0, r0, #6
|
||||
lsls r0, r0, #6
|
||||
subs r0, r2, r0
|
||||
lsls r0, r0, #0x1a
|
||||
lsrs r0, r0, #0x10
|
||||
bl Sin
|
||||
ldr r1, _08047AF0 @ =gCurrentPinballGame
|
||||
ldr r5, [r1]
|
||||
movs r3, #0x82
|
||||
lsls r3, r3, #1
|
||||
adds r4, r5, r3
|
||||
lsls r0, r0, #0x10
|
||||
asrs r0, r0, #0x10
|
||||
movs r1, #0x28
|
||||
bl __divsi3
|
||||
str r0, [r4]
|
||||
movs r4, #0x84
|
||||
lsls r4, r4, #1
|
||||
adds r1, r5, r4
|
||||
movs r0, #0xa
|
||||
strh r0, [r1]
|
||||
movs r0, #0x85
|
||||
lsls r0, r0, #1
|
||||
adds r1, r5, r0
|
||||
adds r0, #0x86
|
||||
strh r0, [r1]
|
||||
b _08047B3C
|
||||
.align 2, 0
|
||||
_08047AEC: .4byte gMain
|
||||
_08047AF0: .4byte gCurrentPinballGame
|
||||
_08047AF4: .4byte gOamBuffer
|
||||
_08047AF8: .4byte 0xFFFFFE00
|
||||
_08047AFC: .4byte 0x000001FF
|
||||
_08047B00:
|
||||
ldr r0, _08047B6C @ =gCurrentPinballGame
|
||||
ldr r4, [r0]
|
||||
movs r2, #0x84
|
||||
lsls r2, r2, #1
|
||||
adds r1, r4, r2
|
||||
movs r0, #0xc8
|
||||
lsls r0, r0, #1
|
||||
strh r0, [r1]
|
||||
movs r5, #0x85
|
||||
lsls r5, r5, #1
|
||||
adds r3, r4, r5
|
||||
ldrh r0, [r3]
|
||||
subs r0, #0x23
|
||||
strh r0, [r3]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
adds r2, r4, r0
|
||||
movs r5, #0
|
||||
ldrsh r1, [r1, r5]
|
||||
ldr r0, [r2]
|
||||
adds r0, r0, r1
|
||||
str r0, [r2]
|
||||
movs r0, #0x82
|
||||
lsls r0, r0, #1
|
||||
adds r2, r4, r0
|
||||
movs r4, #0
|
||||
ldrsh r1, [r3, r4]
|
||||
ldr r0, [r2]
|
||||
adds r0, r0, r1
|
||||
str r0, [r2]
|
||||
_08047B3C:
|
||||
ldr r1, _08047B70 @ =gMain
|
||||
ldrh r2, [r1, #0x12]
|
||||
adds r0, r2, #0
|
||||
subs r0, #0x1e
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
adds r6, r1, #0
|
||||
cmp r0, #0x1d
|
||||
bhi _08047B74
|
||||
ldrh r1, [r6, #0x12]
|
||||
movs r0, #0x3c
|
||||
subs r0, r0, r1
|
||||
lsls r0, r0, #8
|
||||
movs r1, #0x1e
|
||||
bl __divsi3
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #1
|
||||
adds r0, r0, r5
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
str r0, [sp]
|
||||
b _08047B8C
|
||||
.align 2, 0
|
||||
_08047B6C: .4byte gCurrentPinballGame
|
||||
_08047B70: .4byte gMain
|
||||
_08047B74:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
str r0, [sp]
|
||||
lsls r0, r2, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0x1d
|
||||
bhi _08047B8C
|
||||
movs r2, #0xbb
|
||||
lsls r2, r2, #3
|
||||
adds r1, r6, r2
|
||||
movs r0, #0
|
||||
strh r0, [r1]
|
||||
_08047B8C:
|
||||
ldrh r0, [r6, #0x12]
|
||||
cmp r0, #0x1e
|
||||
bhi _08047BBE
|
||||
cmp r0, #0xa
|
||||
bls _08047BAE
|
||||
adds r1, r0, #0
|
||||
subs r1, #0xa
|
||||
lsls r0, r1, #5
|
||||
subs r0, r0, r1
|
||||
lsls r0, r0, #3
|
||||
movs r1, #0x14
|
||||
bl __divsi3
|
||||
adds r0, #8
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
b _08047BE4
|
||||
_08047BAE:
|
||||
movs r3, #8
|
||||
mov sl, r3
|
||||
movs r4, #0xd2
|
||||
lsls r4, r4, #3
|
||||
adds r1, r6, r4
|
||||
movs r0, #0
|
||||
strh r0, [r1]
|
||||
b _08047BE6
|
||||
_08047BBE:
|
||||
ldr r0, _08047C48 @ =gCurrentPinballGame
|
||||
ldr r0, [r0]
|
||||
adds r1, r0, #0
|
||||
adds r1, #0xfe
|
||||
ldrh r2, [r1]
|
||||
movs r5, #0
|
||||
ldrsh r0, [r1, r5]
|
||||
cmp r0, #0
|
||||
ble _08047BE0
|
||||
adds r0, r2, #0
|
||||
subs r0, #8
|
||||
strh r0, [r1]
|
||||
lsls r0, r0, #0x10
|
||||
cmp r0, #0
|
||||
bge _08047BE0
|
||||
movs r0, #0
|
||||
strh r0, [r1]
|
||||
_08047BE0:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
_08047BE4:
|
||||
mov sl, r0
|
||||
_08047BE6:
|
||||
adds r3, r6, #0
|
||||
ldrh r0, [r3, #0x12]
|
||||
cmp r0, #0xca
|
||||
bls _08047BF0
|
||||
b _08047DBA
|
||||
_08047BF0:
|
||||
cmp r0, #0x37
|
||||
bls _08047C50
|
||||
ldr r7, _08047C48 @ =gCurrentPinballGame
|
||||
ldr r2, [r7]
|
||||
movs r1, #0x84
|
||||
lsls r1, r1, #1
|
||||
adds r0, r2, r1
|
||||
ldrh r1, [r0]
|
||||
movs r4, #0x86
|
||||
lsls r4, r4, #1
|
||||
adds r0, r2, r4
|
||||
strh r1, [r0]
|
||||
movs r5, #0x85
|
||||
lsls r5, r5, #1
|
||||
adds r0, r2, r5
|
||||
ldrh r0, [r0]
|
||||
subs r0, #0x5a
|
||||
adds r4, #2
|
||||
adds r1, r2, r4
|
||||
strh r0, [r1]
|
||||
adds r5, #6
|
||||
mov r8, r5
|
||||
adds r1, r2, r5
|
||||
subs r4, #0xe
|
||||
adds r0, r2, r4
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
adds r5, #4
|
||||
mov sb, r5
|
||||
adds r1, r2, r5
|
||||
adds r4, #4
|
||||
adds r0, r2, r4
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
ldrh r0, [r3, #0x12]
|
||||
cmp r0, #0x38
|
||||
bne _08047C40
|
||||
movs r0, SE_UNKNOWN_0x95
|
||||
bl m4aSongNumStart
|
||||
_08047C40:
|
||||
ldr r5, [r7]
|
||||
ldr r0, _08047C4C @ =0x0000132C
|
||||
adds r4, r5, r0
|
||||
b _08047CBC
|
||||
.align 2, 0
|
||||
_08047C48: .4byte gCurrentPinballGame
|
||||
_08047C4C: .4byte 0x0000132C
|
||||
_08047C50:
|
||||
cmp r0, #0x1f
|
||||
bls _08047D00
|
||||
ldr r7, _08047CF4 @ =gCurrentPinballGame
|
||||
ldr r5, [r7]
|
||||
movs r0, #0x87
|
||||
lsls r0, r0, #1
|
||||
adds r4, r5, r0
|
||||
ldrh r0, [r4]
|
||||
adds r0, #6
|
||||
movs r1, #0
|
||||
mov ip, r1
|
||||
strh r0, [r4]
|
||||
movs r2, #0x88
|
||||
lsls r2, r2, #1
|
||||
mov r8, r2
|
||||
adds r2, r5, r2
|
||||
movs r3, #0x86
|
||||
lsls r3, r3, #1
|
||||
adds r0, r5, r3
|
||||
movs r3, #0
|
||||
ldrsh r1, [r0, r3]
|
||||
ldr r0, [r2]
|
||||
adds r0, r0, r1
|
||||
str r0, [r2]
|
||||
movs r0, #0x8a
|
||||
lsls r0, r0, #1
|
||||
mov sb, r0
|
||||
adds r2, r5, r0
|
||||
movs r3, #0
|
||||
ldrsh r1, [r4, r3]
|
||||
ldr r0, [r2]
|
||||
adds r0, r0, r1
|
||||
str r0, [r2]
|
||||
movs r4, #0xa4
|
||||
lsls r4, r4, #3
|
||||
adds r0, r6, r4
|
||||
mov r1, ip
|
||||
strh r1, [r0]
|
||||
ldrh r0, [r6, #0x12]
|
||||
cmp r0, #0x20
|
||||
bne _08047CB6
|
||||
ldr r2, _08047CF8 @ =0x000005FA
|
||||
adds r1, r5, r2
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
movs r0, SE_UNKNOWN_0x96
|
||||
bl m4aSongNumStart
|
||||
movs r0, #6
|
||||
bl sub_11B0
|
||||
_08047CB6:
|
||||
ldr r5, [r7]
|
||||
ldr r3, _08047CFC @ =0x0000132C
|
||||
adds r4, r5, r3
|
||||
_08047CBC:
|
||||
ldr r6, [r4]
|
||||
mov r1, r8
|
||||
adds r0, r5, r1
|
||||
ldr r0, [r0]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
adds r0, #0x56
|
||||
lsls r0, r0, #8
|
||||
str r0, [r6, #0x34]
|
||||
ldr r6, [r4]
|
||||
adds r0, r5, #0
|
||||
adds r0, #0xfe
|
||||
movs r2, #0
|
||||
ldrsh r4, [r0, r2]
|
||||
add r5, sb
|
||||
ldr r0, [r5]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
movs r3, #0xba
|
||||
lsls r3, r3, #1
|
||||
adds r0, r0, r3
|
||||
adds r4, r4, r0
|
||||
lsls r4, r4, #8
|
||||
str r4, [r6, #0x38]
|
||||
adds r2, r7, #0
|
||||
b _08047D80
|
||||
.align 2, 0
|
||||
_08047CF4: .4byte gCurrentPinballGame
|
||||
_08047CF8: .4byte 0x000005FA
|
||||
_08047CFC: .4byte 0x0000132C
|
||||
_08047D00:
|
||||
ldr r4, _08047E68 @ =gCurrentPinballGame
|
||||
mov sb, r4
|
||||
ldr r7, [r4]
|
||||
movs r5, #0x86
|
||||
lsls r5, r5, #1
|
||||
adds r1, r7, r5
|
||||
movs r0, #0
|
||||
strh r0, [r1]
|
||||
movs r0, #0x87
|
||||
lsls r0, r0, #1
|
||||
adds r3, r7, r0
|
||||
ldrh r0, [r3]
|
||||
adds r0, #0x14
|
||||
strh r0, [r3]
|
||||
movs r4, #0x88
|
||||
lsls r4, r4, #1
|
||||
adds r2, r7, r4
|
||||
movs r5, #0
|
||||
ldrsh r1, [r1, r5]
|
||||
ldr r0, [r2]
|
||||
adds r0, r0, r1
|
||||
str r0, [r2]
|
||||
movs r0, #0x8a
|
||||
lsls r0, r0, #1
|
||||
adds r5, r7, r0
|
||||
movs r4, #0
|
||||
ldrsh r1, [r3, r4]
|
||||
ldr r0, [r5]
|
||||
adds r0, r0, r1
|
||||
str r0, [r5]
|
||||
ldr r0, _08047E6C @ =0x0000132C
|
||||
adds r6, r7, r0
|
||||
ldr r4, [r6]
|
||||
ldr r0, [r2]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
adds r0, #0x56
|
||||
lsls r0, r0, #8
|
||||
str r0, [r4, #0x34]
|
||||
ldr r1, [r6]
|
||||
mov r8, r1
|
||||
adds r0, r7, #0
|
||||
adds r0, #0xfe
|
||||
movs r2, #0
|
||||
ldrsh r4, [r0, r2]
|
||||
ldr r0, [r5]
|
||||
movs r1, #0x64
|
||||
bl __divsi3
|
||||
movs r3, #0xba
|
||||
lsls r3, r3, #1
|
||||
adds r0, r0, r3
|
||||
adds r4, r4, r0
|
||||
lsls r4, r4, #8
|
||||
mov r5, r8
|
||||
str r4, [r5, #0x38]
|
||||
ldr r6, [r6]
|
||||
ldr r0, [r6, #0x38]
|
||||
ldr r1, _08047E70 @ =0x00017100
|
||||
mov r2, sb
|
||||
cmp r0, r1
|
||||
ble _08047D80
|
||||
str r1, [r6, #0x38]
|
||||
_08047D80:
|
||||
ldr r0, [r2]
|
||||
ldr r1, _08047E6C @ =0x0000132C
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
movs r3, #0
|
||||
strb r3, [r0, #1]
|
||||
ldr r0, [r2]
|
||||
adds r2, r0, r1
|
||||
ldr r1, [r2]
|
||||
ldr r0, [r1, #0x28]
|
||||
str r0, [r1, #0x2c]
|
||||
ldr r1, [r2]
|
||||
ldr r0, [r1, #0x34]
|
||||
cmp r0, #0
|
||||
bge _08047DA0
|
||||
adds r0, #0x7f
|
||||
_08047DA0:
|
||||
asrs r0, r0, #7
|
||||
strh r0, [r1, #0x28]
|
||||
ldr r1, [r2]
|
||||
ldr r0, [r1, #0x38]
|
||||
cmp r0, #0
|
||||
bge _08047DAE
|
||||
adds r0, #0x7f
|
||||
_08047DAE:
|
||||
asrs r0, r0, #7
|
||||
strh r0, [r1, #0x2a]
|
||||
ldr r0, [r2]
|
||||
strh r3, [r0, #0x30]
|
||||
ldr r0, [r2]
|
||||
strh r3, [r0, #0x32]
|
||||
_08047DBA:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
mov r2, sl
|
||||
lsls r1, r2, #0x10
|
||||
asrs r1, r1, #0x10
|
||||
movs r2, #3
|
||||
bl SetMatrixScale
|
||||
ldr r3, [sp]
|
||||
lsls r1, r3, #0x10
|
||||
asrs r1, r1, #0x10
|
||||
adds r0, r1, #0
|
||||
movs r2, #4
|
||||
bl SetMatrixScale
|
||||
ldr r4, _08047E74 @ =gMain
|
||||
ldrh r1, [r4, #0x12]
|
||||
cmp r1, #0xcb
|
||||
beq _08047DE2
|
||||
b _08047F18
|
||||
_08047DE2:
|
||||
ldr r2, _08047E68 @ =gCurrentPinballGame
|
||||
ldr r3, [r2]
|
||||
movs r5, #0x80
|
||||
lsls r5, r5, #1
|
||||
adds r0, r3, r5
|
||||
movs r1, #0
|
||||
str r1, [r0]
|
||||
adds r5, #4
|
||||
adds r0, r3, r5
|
||||
str r1, [r0]
|
||||
adds r5, #4
|
||||
adds r0, r3, r5
|
||||
strh r1, [r0]
|
||||
adds r5, #2
|
||||
adds r0, r3, r5
|
||||
strh r1, [r0]
|
||||
adds r1, r3, #0
|
||||
adds r1, #0xfe
|
||||
movs r0, #0x64
|
||||
strh r0, [r1]
|
||||
movs r1, #0xd2
|
||||
lsls r1, r1, #3
|
||||
adds r0, r4, r1
|
||||
movs r1, #1
|
||||
strh r1, [r0]
|
||||
movs r3, #0xbb
|
||||
lsls r3, r3, #3
|
||||
adds r0, r4, r3
|
||||
strh r1, [r0]
|
||||
movs r5, #0xa4
|
||||
lsls r5, r5, #3
|
||||
adds r0, r4, r5
|
||||
strh r1, [r0]
|
||||
ldrb r0, [r4, #4]
|
||||
cmp r0, #0
|
||||
bne _08047EAC
|
||||
ldr r0, _08047E78 @ =0x040000D4
|
||||
ldr r1, _08047E7C @ =gUnknown_0850100C
|
||||
str r1, [r0]
|
||||
ldr r1, _08047E80 @ =0x06015800
|
||||
str r1, [r0, #4]
|
||||
ldr r1, _08047E84 @ =0x80001200
|
||||
str r1, [r0, #8]
|
||||
ldr r1, [r0, #8]
|
||||
ldr r1, _08047E88 @ =gUnknown_085028CC
|
||||
str r1, [r0]
|
||||
ldr r1, _08047E8C @ =0x06016800
|
||||
str r1, [r0, #4]
|
||||
ldr r1, _08047E90 @ =0x80000400
|
||||
str r1, [r0, #8]
|
||||
ldr r1, [r0, #8]
|
||||
ldr r1, _08047E94 @ =gUnknown_085038CC
|
||||
str r1, [r0]
|
||||
ldr r1, _08047E98 @ =0x06017000
|
||||
str r1, [r0, #4]
|
||||
ldr r1, _08047E9C @ =0x80000060
|
||||
str r1, [r0, #8]
|
||||
ldr r1, [r0, #8]
|
||||
ldr r1, _08047EA0 @ =gUnknown_08514F4C
|
||||
str r1, [r0]
|
||||
ldr r1, _08047EA4 @ =0x050003C0
|
||||
str r1, [r0, #4]
|
||||
ldr r1, _08047EA8 @ =0x80000010
|
||||
str r1, [r0, #8]
|
||||
ldr r0, [r0, #8]
|
||||
b _08047ECA
|
||||
.align 2, 0
|
||||
_08047E68: .4byte gCurrentPinballGame
|
||||
_08047E6C: .4byte 0x0000132C
|
||||
_08047E70: .4byte 0x00017100
|
||||
_08047E74: .4byte gMain
|
||||
_08047E78: .4byte 0x040000D4
|
||||
_08047E7C: .4byte gUnknown_0850100C
|
||||
_08047E80: .4byte 0x06015800
|
||||
_08047E84: .4byte 0x80001200
|
||||
_08047E88: .4byte gUnknown_085028CC
|
||||
_08047E8C: .4byte 0x06016800
|
||||
_08047E90: .4byte 0x80000400
|
||||
_08047E94: .4byte gUnknown_085038CC
|
||||
_08047E98: .4byte 0x06017000
|
||||
_08047E9C: .4byte 0x80000060
|
||||
_08047EA0: .4byte gUnknown_08514F4C
|
||||
_08047EA4: .4byte 0x050003C0
|
||||
_08047EA8: .4byte 0x80000010
|
||||
_08047EAC:
|
||||
ldr r1, _08047EF4 @ =0x040000D4
|
||||
ldr r0, _08047EF8 @ =gUnknown_0850100C
|
||||
str r0, [r1]
|
||||
ldr r0, _08047EFC @ =0x06015800
|
||||
str r0, [r1, #4]
|
||||
ldr r0, _08047F00 @ =0x80001200
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
ldr r0, _08047F04 @ =gUnknown_08514F6C
|
||||
str r0, [r1]
|
||||
ldr r0, _08047F08 @ =0x050003C0
|
||||
str r0, [r1, #4]
|
||||
ldr r0, _08047F0C @ =0x80000010
|
||||
str r0, [r1, #8]
|
||||
ldr r0, [r1, #8]
|
||||
_08047ECA:
|
||||
ldr r1, [r2]
|
||||
movs r0, #2
|
||||
strb r0, [r1, #0x1f]
|
||||
ldr r0, [r2]
|
||||
ldr r1, _08047F10 @ =0x000005FA
|
||||
adds r0, r0, r1
|
||||
movs r1, #1
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
ldr r3, _08047F14 @ =0x000005F7
|
||||
adds r0, r0, r3
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
movs r4, #0x88
|
||||
lsls r4, r4, #5
|
||||
adds r0, r0, r4
|
||||
strb r1, [r0]
|
||||
movs r0, SE_UNKNOWN_0x94
|
||||
bl m4aSongNumStart
|
||||
b _08047FA0
|
||||
.align 2, 0
|
||||
_08047EF4: .4byte 0x040000D4
|
||||
_08047EF8: .4byte gUnknown_0850100C
|
||||
_08047EFC: .4byte 0x06015800
|
||||
_08047F00: .4byte 0x80001200
|
||||
_08047F04: .4byte gUnknown_08514F6C
|
||||
_08047F08: .4byte 0x050003C0
|
||||
_08047F0C: .4byte 0x80000010
|
||||
_08047F10: .4byte 0x000005FA
|
||||
_08047F14: .4byte 0x000005F7
|
||||
_08047F18:
|
||||
cmp r1, #0
|
||||
bne _08047FA0
|
||||
movs r5, #0xd2
|
||||
lsls r5, r5, #3
|
||||
adds r0, r4, r5
|
||||
strh r1, [r0]
|
||||
movs r2, #0xbb
|
||||
lsls r2, r2, #3
|
||||
adds r0, r4, r2
|
||||
strh r1, [r0]
|
||||
b _08047FA0
|
||||
_08047F2E:
|
||||
ldrb r1, [r7, #0xf]
|
||||
movs r0, #0xf7
|
||||
ands r0, r1
|
||||
strb r0, [r7, #0xf]
|
||||
ldr r5, _08047F6C @ =gCurrentPinballGame
|
||||
ldr r1, [r5]
|
||||
movs r4, #0
|
||||
movs r0, #0x3c
|
||||
strh r0, [r1, #0x26]
|
||||
movs r0, #0
|
||||
bl sub_11C14
|
||||
ldr r0, [r5]
|
||||
strb r4, [r0, #0x1f]
|
||||
movs r0, #0
|
||||
bl sub_46FD4
|
||||
ldr r0, [r5]
|
||||
ldr r3, _08047F70 @ =0x0000029E
|
||||
adds r0, r0, r3
|
||||
strb r4, [r0]
|
||||
ldrb r0, [r7, #4]
|
||||
cmp r0, #0
|
||||
bne _08047F78
|
||||
ldr r0, [r5]
|
||||
ldr r4, _08047F74 @ =0x0000132C
|
||||
adds r0, r0, r4
|
||||
ldr r1, [r0]
|
||||
movs r0, #3
|
||||
b _08047F82
|
||||
.align 2, 0
|
||||
_08047F6C: .4byte gCurrentPinballGame
|
||||
_08047F70: .4byte 0x0000029E
|
||||
_08047F74: .4byte 0x0000132C
|
||||
_08047F78:
|
||||
ldr r0, [r5]
|
||||
ldr r5, _08047FB0 @ =0x0000132C
|
||||
adds r0, r0, r5
|
||||
ldr r1, [r0]
|
||||
movs r0, #1
|
||||
_08047F82:
|
||||
strb r0, [r1, #1]
|
||||
ldr r2, _08047FB4 @ =gCurrentPinballGame
|
||||
ldr r0, [r2]
|
||||
ldr r1, _08047FB8 @ =0x000005F7
|
||||
adds r0, r0, r1
|
||||
movs r1, #0
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
adds r0, #0xe4
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
movs r2, #0x88
|
||||
lsls r2, r2, #5
|
||||
adds r0, r0, r2
|
||||
strb r1, [r0]
|
||||
_08047FA0:
|
||||
add sp, #4
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08047FB0: .4byte 0x0000132C
|
||||
_08047FB4: .4byte gCurrentPinballGame
|
||||
_08047FB8: .4byte 0x000005F7
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -370,7 +370,7 @@ extern void ClearSomeArray(void);
|
|||
// asm/rom_11B9C.s
|
||||
|
||||
//extern ? sub_11B9C();
|
||||
//extern ? sub_11C14();
|
||||
extern void sub_11C14(s16);
|
||||
//extern ? sub_11C98();
|
||||
extern void sub_1332C();
|
||||
extern void sub_1333C();
|
||||
|
|
|
|||
|
|
@ -183,7 +183,16 @@ struct PinballGame
|
|||
/*0x0FA*/ s8 unkFA;
|
||||
/*0x0FB*/ s8 unkFB;
|
||||
/*0x0FC*/ u16 unkFC;
|
||||
/*0x0FE*/ u8 fillerFE[0x23];
|
||||
/*0x0FE*/ s16 unkFE;
|
||||
/*0x100*/ s32 unk100;
|
||||
/*0x104*/ s32 unk104;
|
||||
/*0x108*/ s16 unk108;
|
||||
/*0x10A*/ s16 unk10A;
|
||||
/*0x10C*/ s16 unk10C;
|
||||
/*0x10E*/ s16 unk10E;
|
||||
/*0x110*/ s32 unk110;
|
||||
/*0x114*/ s32 unk114;
|
||||
/*0x118*/ u8 filler118[0x9];
|
||||
/*0x121*/ s8 unk121;
|
||||
/*0x122*/ s8 unk122;
|
||||
/*0x123*/ s8 unk123;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
#include "constants/fields.h"
|
||||
#include "m4a.h"
|
||||
|
||||
void sub_11C14(s16);
|
||||
void sub_12524(void);
|
||||
void sub_12BF8(void);
|
||||
void sub_2AADC(void);
|
||||
|
|
|
|||
224
src/rom_49A34.c
224
src/rom_49A34.c
|
|
@ -9,6 +9,230 @@ extern const u8 gUnknown_08510CAC[][0x20];
|
|||
|
||||
extern const u8 gUnknown_0850558C[][0x20];
|
||||
extern const s8 gUnknown_086B0128[][3][20];
|
||||
extern const u8 gUnknown_0850100C[];
|
||||
extern const u8 gUnknown_085028CC[];
|
||||
extern const u8 gUnknown_085038CC[];
|
||||
extern const u8 gUnknown_08514F4C[];
|
||||
extern const u8 gUnknown_08514F6C[];
|
||||
|
||||
void sub_478D8(void)
|
||||
{
|
||||
s16 i;
|
||||
struct SpriteGroup *group;
|
||||
struct OamDataSimple *oamSimple;
|
||||
int newX, newY;
|
||||
s16 mat3Scale;
|
||||
s16 mat4Scale;
|
||||
|
||||
if (gMain.unk12)
|
||||
{
|
||||
group = &gMain.spriteGroups[5];
|
||||
if (group->available)
|
||||
{
|
||||
group->baseX = 88;
|
||||
group->baseY = 20 + gCurrentPinballGame->unkFE;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
oamSimple = &group->oam[i];
|
||||
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
|
||||
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;
|
||||
gOamBuffer[oamSimple->oamId].affineMode = ST_OAM_AFFINE_DOUBLE;
|
||||
gOamBuffer[oamSimple->oamId].matrixNum = 3;
|
||||
}
|
||||
}
|
||||
|
||||
group = &gMain.spriteGroups[4];
|
||||
if (group->available)
|
||||
{
|
||||
group->baseX = 24 + gCurrentPinballGame->unk100 / 100;
|
||||
group->baseY = gCurrentPinballGame->unkFE + 20 + gCurrentPinballGame->unk104 / 100;
|
||||
|
||||
oamSimple = &group->oam[0];
|
||||
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
|
||||
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;
|
||||
gOamBuffer[oamSimple->oamId].affineMode = ST_OAM_AFFINE_DOUBLE;
|
||||
gOamBuffer[oamSimple->oamId].matrixNum = 4;
|
||||
}
|
||||
|
||||
group = &gMain.spriteGroups[3];
|
||||
if (group->available)
|
||||
{
|
||||
group->baseX = 56 + gCurrentPinballGame->unk100 / 100;
|
||||
group->baseY = gCurrentPinballGame->unkFE + 52 + gCurrentPinballGame->unk104 / 100;
|
||||
for (i = 0; i < 2; i++)
|
||||
{
|
||||
oamSimple = &group->oam[i];
|
||||
gOamBuffer[oamSimple->oamId].x = oamSimple->xOffset + group->baseX;
|
||||
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;
|
||||
}
|
||||
}
|
||||
|
||||
gMain.unk12--;
|
||||
if (gMain.unk12 > 70)
|
||||
{
|
||||
int var0 = (gMain.unk12 + 20) % 0x40;
|
||||
gCurrentPinballGame->unk104 = (Sin(var0 * 0x400) * 500) / 20000;
|
||||
gCurrentPinballGame->unk108 = 10;
|
||||
gCurrentPinballGame->unk10A = 400;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk108 = 400;
|
||||
gCurrentPinballGame->unk10A -= 35;
|
||||
gCurrentPinballGame->unk100 += gCurrentPinballGame->unk108;
|
||||
gCurrentPinballGame->unk104 += gCurrentPinballGame->unk10A;
|
||||
}
|
||||
|
||||
if (gMain.unk12 >= 30 && gMain.unk12 < 60)
|
||||
{
|
||||
mat4Scale = (60 - gMain.unk12) * 0x100 / 30 + 0x100;
|
||||
}
|
||||
else
|
||||
{
|
||||
mat4Scale = 0x100;
|
||||
if (gMain.unk12 < 30)
|
||||
gMain.spriteGroups[4].available = 0;
|
||||
}
|
||||
|
||||
if (gMain.unk12 < 31)
|
||||
{
|
||||
if (gMain.unk12 > 10)
|
||||
{
|
||||
mat3Scale = ((gMain.unk12 - 10) * 248) / 20 + 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
mat3Scale = 8;
|
||||
gMain.spriteGroups[5].available = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (gCurrentPinballGame->unkFE > 0)
|
||||
{
|
||||
gCurrentPinballGame->unkFE -= 8;
|
||||
if (gCurrentPinballGame->unkFE < 0)
|
||||
gCurrentPinballGame->unkFE = 0;
|
||||
}
|
||||
|
||||
mat3Scale = 0x100;
|
||||
}
|
||||
|
||||
if (gMain.unk12 < 203)
|
||||
{
|
||||
if (gMain.unk12 > 55)
|
||||
{
|
||||
gCurrentPinballGame->unk10C = gCurrentPinballGame->unk108;
|
||||
gCurrentPinballGame->unk10E = gCurrentPinballGame->unk10A - 90;
|
||||
gCurrentPinballGame->unk110 = gCurrentPinballGame->unk100;
|
||||
gCurrentPinballGame->unk114 = gCurrentPinballGame->unk104;
|
||||
if (gMain.unk12 == 56)
|
||||
m4aSongNumStart(SE_UNKNOWN_0x95);
|
||||
|
||||
gCurrentPinballGame->ball->positionQ8.x = (gCurrentPinballGame->unk110 / 100 + 86) << 8;
|
||||
gCurrentPinballGame->ball->positionQ8.y = (gCurrentPinballGame->unkFE + 372 + gCurrentPinballGame->unk114 / 100) << 8;
|
||||
}
|
||||
else if (gMain.unk12 > 31)
|
||||
{
|
||||
gCurrentPinballGame->unk10E += 6;
|
||||
gCurrentPinballGame->unk110 += gCurrentPinballGame->unk10C;
|
||||
gCurrentPinballGame->unk114 += gCurrentPinballGame->unk10E;
|
||||
gMain.spriteGroups[3].available = 0;
|
||||
if (gMain.unk12 == 32)
|
||||
{
|
||||
gCurrentPinballGame->unk5FA = 0;
|
||||
m4aSongNumStart(SE_UNKNOWN_0x96);
|
||||
sub_11B0(6);
|
||||
}
|
||||
|
||||
gCurrentPinballGame->ball->positionQ8.x = (gCurrentPinballGame->unk110 / 100 + 86) << 8;
|
||||
gCurrentPinballGame->ball->positionQ8.y = (gCurrentPinballGame->unkFE + 372 + gCurrentPinballGame->unk114 / 100) << 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
gCurrentPinballGame->unk10C = 0;
|
||||
gCurrentPinballGame->unk10E += 20;
|
||||
gCurrentPinballGame->unk110 += gCurrentPinballGame->unk10C;
|
||||
gCurrentPinballGame->unk114 += gCurrentPinballGame->unk10E;
|
||||
gCurrentPinballGame->ball->positionQ8.x = (gCurrentPinballGame->unk110 / 100 + 86) << 8;
|
||||
gCurrentPinballGame->ball->positionQ8.y = (gCurrentPinballGame->unkFE + 372 + gCurrentPinballGame->unk114 / 100) << 8;
|
||||
if (gCurrentPinballGame->ball->positionQ8.y > 0x17100)
|
||||
gCurrentPinballGame->ball->positionQ8.y = 0x17100;
|
||||
}
|
||||
|
||||
gCurrentPinballGame->ball->unk1 = 0;
|
||||
gCurrentPinballGame->ball->prevPositionQ1 = gCurrentPinballGame->ball->positionQ1;
|
||||
|
||||
newX = gCurrentPinballGame->ball->positionQ8.x;
|
||||
if (newX < 0)
|
||||
newX += 0x7F;
|
||||
gCurrentPinballGame->ball->positionQ1.x = newX >> 7;
|
||||
|
||||
newY = gCurrentPinballGame->ball->positionQ8.y;
|
||||
if (newY < 0)
|
||||
newY += 0x7F;
|
||||
gCurrentPinballGame->ball->positionQ1.y = newY >> 7;
|
||||
|
||||
gCurrentPinballGame->ball->velocity.x = 0;
|
||||
gCurrentPinballGame->ball->velocity.y = 0;
|
||||
}
|
||||
|
||||
SetMatrixScale(0x100, mat3Scale, 3);
|
||||
SetMatrixScale(mat4Scale, mat4Scale, 4);
|
||||
|
||||
if (gMain.unk12 == 203)
|
||||
{
|
||||
gCurrentPinballGame->unk100 = 0;
|
||||
gCurrentPinballGame->unk104 = 0;
|
||||
gCurrentPinballGame->unk108 = 0;
|
||||
gCurrentPinballGame->unk10A = 0;
|
||||
gCurrentPinballGame->unkFE = 100;
|
||||
gMain.spriteGroups[5].available = 1;
|
||||
gMain.spriteGroups[4].available = 1;
|
||||
gMain.spriteGroups[3].available = 1;
|
||||
if (gMain.selectedField == FIELD_RUBY)
|
||||
{
|
||||
DmaCopy16(3, gUnknown_0850100C, (void *)0x06015800, 0x2400);
|
||||
DmaCopy16(3, gUnknown_085028CC, (void *)0x06016800, 0x800);
|
||||
DmaCopy16(3, gUnknown_085038CC, (void *)0x06017000, 0xC0);
|
||||
DmaCopy16(3, gUnknown_08514F4C, (void *)0x050003C0, 0x20);
|
||||
}
|
||||
else
|
||||
{
|
||||
DmaCopy16(3, gUnknown_0850100C, (void *)0x06015800, 0x2400);
|
||||
DmaCopy16(3, gUnknown_08514F6C, (void *)0x050003C0, 0x20);
|
||||
}
|
||||
|
||||
gCurrentPinballGame->unk1F = 2;
|
||||
gCurrentPinballGame->unk5FA = 1;
|
||||
gCurrentPinballGame->unk5F7 = 1;
|
||||
gCurrentPinballGame->unk1100 = 1;
|
||||
m4aSongNumStart(SE_UNKNOWN_0x94);
|
||||
}
|
||||
else if (gMain.unk12 == 0)
|
||||
{
|
||||
gMain.spriteGroups[5].available = 0;
|
||||
gMain.spriteGroups[4].available = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gMain.unkF &= 0xF7;
|
||||
gCurrentPinballGame->unk26 = 60;
|
||||
sub_11C14(0);
|
||||
gCurrentPinballGame->unk1F = 0;
|
||||
sub_46FD4(0);
|
||||
gCurrentPinballGame->unk29E = 0;
|
||||
if (gMain.selectedField == FIELD_RUBY)
|
||||
gCurrentPinballGame->ball->unk1 = 3;
|
||||
else
|
||||
gCurrentPinballGame->ball->unk1 = 1;
|
||||
|
||||
gCurrentPinballGame->unk5F7 = 0;
|
||||
gCurrentPinballGame->unkE4 = 0;
|
||||
gCurrentPinballGame->unk1100 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_47FBC(void)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user