mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 11:44:17 +01:00
battle anim 80a5c6c decompiled
This commit is contained in:
parent
54fc92bc92
commit
8c834b9ae8
File diff suppressed because it is too large
Load Diff
@ -1124,7 +1124,7 @@ _080FF154:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x36
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldrh r0, [r6, 0x4]
|
||||
ldrh r1, [r5, 0x32]
|
||||
adds r0, r1
|
||||
@ -1272,7 +1272,7 @@ sub_80FF268: @ 80FF268
|
||||
adds r3, r4, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
_080FF28A:
|
||||
ldrh r0, [r4, 0x22]
|
||||
adds r0, 0x20
|
||||
@ -4152,7 +4152,7 @@ _08100918:
|
||||
subs r1, r5
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
bl sub_80A74F4
|
||||
bl ArcTan2Neg
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
bl IsContest
|
||||
@ -5451,7 +5451,7 @@ _0810137A:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x22
|
||||
adds r0, r6, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
movs r2, 0
|
||||
ldrsh r1, [r4, r2]
|
||||
adds r0, r5, 0
|
||||
@ -10172,7 +10172,7 @@ _0810390E:
|
||||
subs r1, r2
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
bl sub_80A74F4
|
||||
bl ArcTan2Neg
|
||||
lsls r0, 16
|
||||
movs r1, 0xF0
|
||||
lsls r1, 24
|
||||
@ -10754,7 +10754,7 @@ _08103DB6:
|
||||
movs r1, 0
|
||||
mov r2, sp
|
||||
mov r3, r10
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
b _08103E42
|
||||
.pool
|
||||
_08103E20:
|
||||
@ -11093,7 +11093,7 @@ _081040CC:
|
||||
subs r1, r2
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
bl sub_80A74F4
|
||||
bl ArcTan2Neg
|
||||
lsls r0, 16
|
||||
movs r1, 0xC0
|
||||
lsls r1, 24
|
||||
@ -13220,7 +13220,7 @@ _081051F2:
|
||||
adds r1, r4, 0
|
||||
mov r2, sp
|
||||
adds r3, r7, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
cmp r4, 0
|
||||
bne _08105230
|
||||
adds r0, r5, 0
|
||||
@ -13466,7 +13466,7 @@ _081053FA:
|
||||
mov r2, sp
|
||||
mov r3, sp
|
||||
adds r3, 0x2
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
b _0810546C
|
||||
.pool
|
||||
_0810544C:
|
||||
@ -17006,7 +17006,7 @@ sub_81070AC: @ 81070AC
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldrh r0, [r5, 0x22]
|
||||
adds r0, 0x28
|
||||
strh r0, [r5, 0x22]
|
||||
@ -26048,7 +26048,7 @@ _0810B990:
|
||||
adds r3, r4, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -26155,7 +26155,7 @@ _0810BA74:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x36
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
_0810BA86:
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
@ -26454,7 +26454,7 @@ _0810BCE0:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x36
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
_0810BCF2:
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
@ -26652,7 +26652,7 @@ _0810BE6C:
|
||||
adds r3, r4, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -26719,7 +26719,7 @@ _0810BEF4:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldrb r0, [r4]
|
||||
bl GetBattlerSide
|
||||
lsls r0, 24
|
||||
@ -26762,7 +26762,7 @@ _0810BF52:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldrb r0, [r4]
|
||||
bl GetBattlerSide
|
||||
lsls r0, 24
|
||||
@ -27192,7 +27192,7 @@ sub_810C2F0: @ 810C2F0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4, 0x22]
|
||||
ldr r0, =sub_80A7820
|
||||
ldr r0, =TranslateAnimSpriteToTargetMonLocation
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
@ -30270,7 +30270,7 @@ _0810DC44:
|
||||
movs r1, 0x1
|
||||
mov r2, sp
|
||||
adds r3, r6, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -30396,7 +30396,7 @@ sub_810DD50: @ 810DD50
|
||||
adds r3, r4, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -30457,7 +30457,7 @@ _0810DDE0:
|
||||
adds r3, r4, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -30828,7 +30828,7 @@ _0810E0EC:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x36
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
_0810E0FE:
|
||||
ldr r4, =gBattleAnimArgs
|
||||
ldrh r0, [r4, 0x4]
|
||||
@ -32074,7 +32074,7 @@ sub_810EA4C: @ 810EA4C
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4, 0x22]
|
||||
ldr r0, =sub_80A7820
|
||||
ldr r0, =TranslateAnimSpriteToTargetMonLocation
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
@ -32913,7 +32913,7 @@ sub_810F084: @ 810F084
|
||||
asrs r5, 16
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl sub_80A74F4
|
||||
bl ArcTan2Neg
|
||||
lsls r0, 16
|
||||
movs r1, 0xC0
|
||||
lsls r1, 24
|
||||
@ -35407,7 +35407,7 @@ _08110548:
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x36
|
||||
movs r1, 0x1
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
_0811055A:
|
||||
adds r0, r5, 0
|
||||
bl sub_80A6FD4
|
||||
@ -35464,7 +35464,7 @@ sub_81105B4: @ 81105B4
|
||||
adds r3, r4, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
@ -35745,7 +35745,7 @@ _081107B2:
|
||||
subs r1, r2
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
bl sub_80A74F4
|
||||
bl ArcTan2Neg
|
||||
lsls r0, 16
|
||||
movs r1, 0xC0
|
||||
lsls r1, 24
|
||||
@ -35899,7 +35899,7 @@ _0811090E:
|
||||
subs r1, r2
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
bl sub_80A74F4
|
||||
bl ArcTan2Neg
|
||||
lsls r0, 16
|
||||
movs r1, 0xC0
|
||||
lsls r1, 24
|
||||
@ -35987,7 +35987,7 @@ sub_81109F0: @ 81109F0
|
||||
adds r3, r5, 0
|
||||
adds r3, 0x22
|
||||
movs r1, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
_08110A10:
|
||||
ldrh r0, [r6]
|
||||
ldrh r1, [r5, 0x20]
|
||||
@ -37205,7 +37205,7 @@ sub_8111418: @ 8111418
|
||||
bl StartSpriteAffineAnim
|
||||
_08111434:
|
||||
adds r0, r4, 0
|
||||
bl sub_80A7820
|
||||
bl TranslateAnimSpriteToTargetMonLocation
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
@ -50366,8 +50366,8 @@ _08118132:
|
||||
.pool
|
||||
thumb_func_end SetAnimBgAttribute
|
||||
|
||||
thumb_func_start sub_8118140
|
||||
sub_8118140: @ 8118140
|
||||
thumb_func_start GetAnimBgAttribute
|
||||
GetAnimBgAttribute: @ 8118140
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
@ -50441,7 +50441,7 @@ _081181CA:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8118140
|
||||
thumb_func_end GetAnimBgAttribute
|
||||
|
||||
thumb_func_start HandleIntroSlide
|
||||
HandleIntroSlide: @ 81181D4
|
||||
|
@ -231,7 +231,7 @@ sub_815A254: @ 815A254
|
||||
subs r1, r6
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
bl sub_80A74F4
|
||||
bl ArcTan2Neg
|
||||
lsls r0, 16
|
||||
movs r1, 0xC0
|
||||
lsls r1, 23
|
||||
@ -775,7 +775,7 @@ sub_815A6C4: @ 815A6C4
|
||||
movs r1, 0
|
||||
mov r2, sp
|
||||
adds r3, r5, 0
|
||||
bl sub_80A8924
|
||||
bl SetAverageBattlerPositions
|
||||
ldr r0, =gBattleAnimAttacker
|
||||
ldrb r0, [r0]
|
||||
bl GetBattlerSide
|
||||
|
@ -828,7 +828,7 @@ gUnknown_08592DE4:: @ 8592DE4
|
||||
|
||||
.align 2
|
||||
gUnknown_08592DFC:: @ 8592DFC
|
||||
spr_template 0x2721, 0x2721, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820
|
||||
spr_template 0x2721, 0x2721, gUnknown_08524904, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
|
||||
|
||||
.align 2
|
||||
gUnknown_08592E14:: @ 8592E14
|
||||
@ -1190,15 +1190,15 @@ gUnknown_08593424:: @ 8593424
|
||||
|
||||
.align 2
|
||||
gSupersonicWaveSpriteTemplate:: @ 8593428
|
||||
spr_template 0x27b3, 0x27b3, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_80A7820
|
||||
spr_template 0x27b3, 0x27b3, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation
|
||||
|
||||
.align 2
|
||||
gScreechWaveSpriteTemplate:: @ 8593440
|
||||
spr_template 0x27b4, 0x27b4, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_80A7820
|
||||
spr_template 0x27b4, 0x27b4, gUnknown_08524A14, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation
|
||||
|
||||
.align 2
|
||||
gUnknown_08593458:: @ 8593458
|
||||
spr_template 0x2814, 0x2814, gUnknown_08524A1C, gDummySpriteAnimTable, NULL, gUnknown_08593420, sub_80A7820
|
||||
spr_template 0x2814, 0x2814, gUnknown_08524A1C, gDummySpriteAnimTable, NULL, gUnknown_08593420, TranslateAnimSpriteToTargetMonLocation
|
||||
|
||||
.align 2
|
||||
gUnknown_08593470:: @ 8593470
|
||||
@ -1991,7 +1991,7 @@ gUnknown_085954D0:: @ 85954D0
|
||||
|
||||
.align 2
|
||||
gEmberSpriteTemplate:: @ 85954D4
|
||||
spr_template 0x272d, 0x272d, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820
|
||||
spr_template 0x272d, 0x272d, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
|
||||
|
||||
.align 2
|
||||
gEmberFlareSpriteTemplate:: @ 85954EC
|
||||
@ -2143,7 +2143,7 @@ gBattleAnimSpriteTemplate_859574C:: @ 859574C
|
||||
|
||||
.align 2
|
||||
gUnknown_08595764:: @ 8595764
|
||||
spr_template 0x27bb, 0x27bb, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820
|
||||
spr_template 0x27bb, 0x27bb, gUnknown_0852490C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
|
||||
|
||||
.align 2
|
||||
gUnknown_0859577C:: @ 859577C
|
||||
@ -3067,7 +3067,7 @@ gUnknown_08596624:: @ 8596624
|
||||
|
||||
.align 2
|
||||
gUnknown_0859663C:: @ 859663C
|
||||
spr_template 0x27b3, 0x27b3, gUnknown_08524954, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A7820
|
||||
spr_template 0x27b3, 0x27b3, gUnknown_08524954, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, TranslateAnimSpriteToTargetMonLocation
|
||||
|
||||
.align 2
|
||||
gUnknown_08596654:: @ 8596654
|
||||
|
@ -14,11 +14,11 @@ enum
|
||||
|
||||
struct UnknownAnimStruct2
|
||||
{
|
||||
void *unk0;
|
||||
u8 *bgTiles;
|
||||
u16 *unk4;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u16 unkA;
|
||||
u8 bgId;
|
||||
u16 tilesOffset;
|
||||
u16 unkC;
|
||||
};
|
||||
|
||||
@ -63,16 +63,18 @@ s8 BattleAnimAdjustPanning(s8 pan);
|
||||
s8 BattleAnimAdjustPanning2(s8 pan);
|
||||
s16 KeepPanInRange(s16 a);
|
||||
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||
void sub_80A4720(u16 a, u16 *b, u32 c, u8 d);
|
||||
|
||||
// battle_anim_80FE840.s
|
||||
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
|
||||
void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 bankIdentity, u8 arg4, void *arg5, u16 *arg6, u16 arg7);
|
||||
void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, void *arg5, u16 *arg6, u16 arg7);
|
||||
void HandleIntroSlide(u8 terrainId);
|
||||
u32 GetAnimBgAttribute(u8 bgId, u8 attributeId);
|
||||
|
||||
// battle_anim_80A5C6C.s
|
||||
void sub_80A6EEC(struct Sprite *sprite);
|
||||
void sub_80A68D4(struct Sprite *sprite);
|
||||
void TranslateAnimLinear(struct Sprite *sprite);
|
||||
bool8 TranslateAnimLinear(struct Sprite *sprite);
|
||||
void sub_80A8278(void);
|
||||
void sub_80A6B30(struct UnknownAnimStruct2*);
|
||||
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
|
||||
@ -91,11 +93,11 @@ enum
|
||||
u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId);
|
||||
|
||||
bool8 IsBattlerSpritePresent(u8 battlerId);
|
||||
void sub_80A6C68(u8 arg0);
|
||||
void sub_80A6C68(u32 arg0);
|
||||
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
|
||||
bool8 IsDoubleBattle(void);
|
||||
u8 sub_80A6D94(void);
|
||||
u8 sub_80A8364(u8);
|
||||
u8 sub_80A8364(u8 battlerId);
|
||||
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
|
||||
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
|
||||
u8 GetBattlerSpriteDefault_Y(u8 battlerId);
|
||||
|
@ -112,7 +112,6 @@ SECTIONS {
|
||||
src/sound.o(.text);
|
||||
src/battle_anim.o(.text);
|
||||
src/battle_anim_80A5C6C.o(.text);
|
||||
asm/battle_anim_80A5C6C.o(.text);
|
||||
src/task.o(.text);
|
||||
src/reshow_battle_screen.o(.text);
|
||||
asm/battle_anim_80A9C70.o(.text);
|
||||
|
@ -681,7 +681,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
}
|
||||
|
||||
sub_80A6B30(&unknownStruct);
|
||||
CpuFill16(0, unknownStruct.unk0, 0x1000);
|
||||
CpuFill16(0, unknownStruct.bgTiles, 0x1000);
|
||||
CpuFill16(0xFF, unknownStruct.unk4, 0x800);
|
||||
|
||||
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 2);
|
||||
@ -709,7 +709,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
else
|
||||
battlerPosition = GetBattlerPosition(battlerId);
|
||||
|
||||
sub_8118FBC(1, 0, 0, battlerPosition, unknownStruct.unk8, unknownStruct.unk0, unknownStruct.unk4, unknownStruct.unkA);
|
||||
sub_8118FBC(1, 0, 0, battlerPosition, unknownStruct.unk8, unknownStruct.bgTiles, unknownStruct.unk4, unknownStruct.tilesOffset);
|
||||
|
||||
if (IsContest())
|
||||
sub_80A46A0();
|
||||
@ -719,7 +719,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
RequestDma3Fill(0, (void*)(VRAM + 0x6000), 0x2000, 1);
|
||||
RequestDma3Fill(0, (void*)(VRAM + 0xF000), 0x1000, 1);
|
||||
sub_80A6B90(&unknownStruct, 2);
|
||||
CpuFill16(0, unknownStruct.unk0 + 0x1000, 0x1000);
|
||||
CpuFill16(0, unknownStruct.bgTiles + 0x1000, 0x1000);
|
||||
CpuFill16(0, unknownStruct.unk4 + 0x400, 0x800);
|
||||
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
|
||||
SetAnimBgAttribute(2, BG_ANIM_SCREEN_SIZE, 1);
|
||||
@ -739,7 +739,7 @@ void sub_80A438C(u8 battlerId, bool8 toBG_2, bool8 setSpriteInvisible)
|
||||
LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20);
|
||||
CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + 0x120), 0x20);
|
||||
|
||||
sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), unknownStruct.unk8, unknownStruct.unk0 + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.unkA);
|
||||
sub_8118FBC(2, 0, 0, GetBattlerPosition(battlerId), unknownStruct.unk8, unknownStruct.bgTiles + 0x1000, unknownStruct.unk4 + 0x400, unknownStruct.tilesOffset);
|
||||
}
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -248,12 +248,9 @@ gUnknown_020375D6: @ 20375D6
|
||||
.include "src/palette.o"
|
||||
.include "src/sound.o"
|
||||
.include "src/battle_anim.o"
|
||||
.include "src/battle_anim_80A5C6C.o"
|
||||
|
||||
.align 2
|
||||
|
||||
gUnknown_02038444: @ 2038444
|
||||
.space 0x10
|
||||
|
||||
.space 0xC
|
||||
gUnknown_02038454: @ 2038454
|
||||
.space 0x200
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user