all sprites in
|
@ -288,4 +288,8 @@
|
||||||
<script src="scripts/act3/Act3_Hong.js"></script>
|
<script src="scripts/act3/Act3_Hong.js"></script>
|
||||||
<script src="scripts/act3/Act3_Beebee.js"></script>
|
<script src="scripts/act3/Act3_Beebee.js"></script>
|
||||||
|
|
||||||
|
<!-- ACT IV -->
|
||||||
|
<script src="scripts/act4/Act4_SceneSetup.js"></script>
|
||||||
|
<script src="scripts/act4/Act4_BG.js"></script>
|
||||||
|
|
||||||
<script src="scripts/main.js"></script>
|
<script src="scripts/main.js"></script>
|
|
@ -870,7 +870,7 @@ music('party1', {volume:0.6, fade:6});
|
||||||
|
|
||||||
r: are *kinky*.
|
r: are *kinky*.
|
||||||
|
|
||||||
r: I like that. Come to my party next weekend.
|
r: I like that. Come to my party next weekend, babe.
|
||||||
|
|
||||||
`publish("act2-party-action", ["end_run"]);`
|
`publish("act2-party-action", ["end_run"]);`
|
||||||
|
|
||||||
|
@ -886,7 +886,7 @@ h2: ok sorry i have to go
|
||||||
|
|
||||||
r: Ah, the voice won, huh?
|
r: Ah, the voice won, huh?
|
||||||
|
|
||||||
r: Come to my party next weekend, bud. I'll mix something even stronger for ya.
|
r: Come to my party next weekend, babe. I'll mix something even stronger for ya.
|
||||||
|
|
||||||
`publish("act2-party-action", ["end_run"]);`
|
`publish("act2-party-action", ["end_run"]);`
|
||||||
|
|
||||||
|
|
|
@ -14,17 +14,15 @@ h: Told you I could run a marathon!
|
||||||
*/
|
*/
|
||||||
```
|
```
|
||||||
|
|
||||||
r: Y'know, it's good to see you finally let loose. Let go of all those bad vibes.
|
r: Y'know, it's good to see you finally let loose, kid. To hell with all those bad vibes.
|
||||||
|
|
||||||
(#act3a)
|
|
||||||
|
|
||||||
h2: Yeah! I can't feel my own fear anymore!
|
h2: Yeah! I can't feel my own fear anymore!
|
||||||
|
|
||||||
r: Hmmm, you sure about that?
|
r: Hmmm, ya sure 'bout that?
|
||||||
|
|
||||||
h2: What, you got *another* dare for me?
|
h2: What, you've got *another* dare for me?
|
||||||
|
|
||||||
r: I sure do. You see that swimming pool all the way down there?
|
r: Sure do, babe. See that swimming pool *all* the way down there?
|
||||||
|
|
||||||
```
|
```
|
||||||
publish('hong-next');
|
publish('hong-next');
|
||||||
|
@ -35,7 +33,7 @@ h2: Yeah? Ten floors down?
|
||||||
|
|
||||||
r: Jump in.
|
r: Jump in.
|
||||||
|
|
||||||
(...1000)
|
(...999)
|
||||||
|
|
||||||
`publish('hong-next')`
|
`publish('hong-next')`
|
||||||
|
|
||||||
|
@ -47,7 +45,7 @@ r: Prove your fear is gone. Jump.
|
||||||
|
|
||||||
h2: um, wait, I...
|
h2: um, wait, I...
|
||||||
|
|
||||||
r: Come on, aren't we *friends?* Don't you trust your *friends?*
|
r: C'mon, aren't we *friends?* Don't ya trust your *friends?*
|
||||||
|
|
||||||
r: Prove to us - and yourself - that you've conquered your fear once and for all. Jump.
|
r: Prove to us - and yourself - that you've conquered your fear once and for all. Jump.
|
||||||
|
|
||||||
|
@ -90,6 +88,10 @@ b: AAAAAAAAAAAAAAAAAA
|
||||||
|
|
||||||
n: GOOD LUCK
|
n: GOOD LUCK
|
||||||
|
|
||||||
|
(...999)
|
||||||
|
|
||||||
|
`Game.clearText();`
|
||||||
|
|
||||||
[Human, you could actually DIE here!](#act3a_harm) `Game.OVERRIDE_CHOICE_LINE=true`
|
[Human, you could actually DIE here!](#act3a_harm) `Game.OVERRIDE_CHOICE_LINE=true`
|
||||||
|
|
||||||
[These sickos aren't really your friends!](#act3a_alone) `Game.OVERRIDE_CHOICE_LINE=true`
|
[These sickos aren't really your friends!](#act3a_alone) `Game.OVERRIDE_CHOICE_LINE=true`
|
||||||
|
@ -201,7 +203,7 @@ h: I think I saw a Russian guy do this on YouTube once.
|
||||||
|
|
||||||
# act3_bad_1_insult
|
# act3_bad_1_insult
|
||||||
|
|
||||||
h: I- I'm sorry, the *thanks?*
|
h: I- Excuse me, the *thanks?*
|
||||||
|
|
||||||
b: This is exactly why I *exist!* Because humans can't be trusted to protect themselves!
|
b: This is exactly why I *exist!* Because humans can't be trusted to protect themselves!
|
||||||
|
|
||||||
|
@ -371,7 +373,7 @@ h: I don't feel anything at all.
|
||||||
|
|
||||||
# act3_good_2a
|
# act3_good_2a
|
||||||
|
|
||||||
b: I was so obsessed with making sure nothing else hurt you, that I didn't realize *I* was the one creating the hurt.
|
b: I was so obsessed with making sure nothing else hurt you, that I didn't realize *I* was creating the hurt.
|
||||||
|
|
||||||
h: NO. SHIT.
|
h: NO. SHIT.
|
||||||
|
|
||||||
|
@ -379,6 +381,8 @@ h: GODDAMN. It really took you this long to finally figure it out?!
|
||||||
|
|
||||||
h: You could've saved us so much trouble, you big fluffy dumbass. Why didn't you realize this sooner?...
|
h: You could've saved us so much trouble, you big fluffy dumbass. Why didn't you realize this sooner?...
|
||||||
|
|
||||||
|
`_.apologized_for_hurt = true;`
|
||||||
|
|
||||||
(#act3_good_2q)
|
(#act3_good_2q)
|
||||||
|
|
||||||
|
|
||||||
|
@ -400,9 +404,13 @@ h: Sorry for *what*, you big fuzzy moron?
|
||||||
|
|
||||||
[I'm sorry I didn't respect you.](#act3_good_3_respect)
|
[I'm sorry I didn't respect you.](#act3_good_3_respect)
|
||||||
|
|
||||||
`// [I'm sorry.]()`
|
{{if _.apologized_for_hurt}}
|
||||||
|
[I'm sorry.](#act3_good_4)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{if !_.apologized_for_hurt}}
|
||||||
[I'm sorry I hurt you.](#act3_good_3_hurt)
|
[I'm sorry I hurt you.](#act3_good_3_hurt)
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -436,7 +444,7 @@ b: I'm sorry.
|
||||||
|
|
||||||
# act3_good_3_hurt
|
# act3_good_3_hurt
|
||||||
|
|
||||||
b: I was so obsessed with trying to protect you from being hurt, I never stopped to realize *I* was the one hurting you.
|
b: I was so obsessed with trying to protect you from being hurt, I never stopped to realize *I* was hurting you.
|
||||||
|
|
||||||
b: I was a bad dog.
|
b: I was a bad dog.
|
||||||
|
|
||||||
|
@ -469,6 +477,8 @@ b: Okay.
|
||||||
|
|
||||||
h: Okay.
|
h: Okay.
|
||||||
|
|
||||||
|
n: *TIE*
|
||||||
|
|
||||||
`_.a3_ending = "walkaway";`
|
`_.a3_ending = "walkaway";`
|
||||||
|
|
||||||
(#act3_end)
|
(#act3_end)
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
# act4
|
# act4
|
||||||
|
|
||||||
|
h: What the hell was the moral of this story?
|
||||||
|
|
||||||
h: Welp.
|
h: Welp.
|
||||||
|
|
||||||
h: You were right.
|
h: You were right.
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
# act4
|
||||||
|
|
||||||
|
`SceneSetup.act4();`
|
||||||
|
|
||||||
|
b: dadasasas
|
||||||
|
|
||||||
|
`publish("act4-out-1");`
|
||||||
|
|
||||||
|
b: asdassadsa
|
||||||
|
|
||||||
|
`publish("act4-in-2");`
|
||||||
|
|
||||||
|
h: asdassadsa
|
||||||
|
|
||||||
|
`publish("act4-out-3");`
|
||||||
|
|
||||||
|
r: asdassadsa
|
||||||
|
|
||||||
|
[Good dog.](#act4f)
|
||||||
|
|
||||||
|
[Good human.](#act4f)
|
||||||
|
|
||||||
|
|
||||||
|
# act4f
|
||||||
|
|
||||||
|
b: AAAAA YOU'RE STILL BEING ALONE FIFTEEN CIGARETTES AAAAA
|
||||||
|
|
||||||
|
b: AAAAA YOU'RE STILL NOT BEING PRODUCTIVE AAAAA
|
||||||
|
|
||||||
|
b: AAAAA YOU'RE EATING MORE WHITE BREAD AAAAA
|
|
@ -0,0 +1,233 @@
|
||||||
|
Loader.addImages([
|
||||||
|
|
||||||
|
{ id:"placeholder_act4_bg", src:"sprites/act4/placeholder_act4_bg.png" },
|
||||||
|
{ id:"act4_callback", src:"sprites/act4/callback.png" },
|
||||||
|
{ id:"al_shire", src:"sprites/act4/al_shire.png" },
|
||||||
|
{ id:"outside_hong", src:"sprites/act4/hong_outside.png" },
|
||||||
|
|
||||||
|
{ id:"a4_talk_1", src:"sprites/act4/talk_1.png" },
|
||||||
|
{ id:"a4_talk_2", src:"sprites/act4/talk_2.png" },
|
||||||
|
{ id:"a4_talk_smash", src:"sprites/act4/talk_smash.png" },
|
||||||
|
|
||||||
|
]);
|
||||||
|
|
||||||
|
Loader.addSounds([
|
||||||
|
/*{ id:"squeak", src:"sounds/sfx/squeak.mp3" },
|
||||||
|
{ id:"record_scratch", src:"sounds/sfx/record_scratch.mp3" },
|
||||||
|
{ id:"shoryuken", src:"sounds/sfx/shoryuken.mp3" }*/
|
||||||
|
]);
|
||||||
|
|
||||||
|
function BG_Act4(){
|
||||||
|
|
||||||
|
var self = this;
|
||||||
|
|
||||||
|
// Sprites!
|
||||||
|
self.bgSprite = new Sprite({
|
||||||
|
image: Library.images.placeholder_act4_bg,
|
||||||
|
grid:{ width:1, height:1 },
|
||||||
|
frame:{ width:720, height:1200 },
|
||||||
|
});
|
||||||
|
self.callbackSprite = new Sprite({
|
||||||
|
image: Library.images.act4_callback,
|
||||||
|
grid:{ width:2, height:1 },
|
||||||
|
frame:{ width:400, height:200 },
|
||||||
|
y: 347
|
||||||
|
});
|
||||||
|
self.alShireSprite = new Sprite({
|
||||||
|
image: Library.images.al_shire,
|
||||||
|
grid:{ width:4, height:1 },
|
||||||
|
frame:{ width:360, height:360 },
|
||||||
|
y: 192
|
||||||
|
});
|
||||||
|
self.outsideHongSprite = new Sprite({
|
||||||
|
image: Library.images.outside_hong,
|
||||||
|
grid:{ width:4, height:3 },
|
||||||
|
frame:{ width:720, height:720 },
|
||||||
|
y: 90
|
||||||
|
});
|
||||||
|
self.outsideHongSprite.gotoFrame(4);
|
||||||
|
|
||||||
|
// Anxiety BG... WHITE MODE
|
||||||
|
self.anxiety = new BG_Anxiety(true);
|
||||||
|
|
||||||
|
// Talking Sprites
|
||||||
|
self.smashSprite = new Sprite({
|
||||||
|
image: Library.images.a4_talk_smash,
|
||||||
|
grid:{ width:3, height:1 },
|
||||||
|
frame:{ width:720, height:600 },
|
||||||
|
y: 200
|
||||||
|
});
|
||||||
|
self.smashSprite.gotoFrame(2); // blank
|
||||||
|
self.talk1Sprite = new Sprite({
|
||||||
|
image: Library.images.a4_talk_1,
|
||||||
|
grid:{ width:3, height:1 },
|
||||||
|
frame:{ width:720, height:400 },
|
||||||
|
y: 256
|
||||||
|
});
|
||||||
|
self.talk2Sprite = new Sprite({
|
||||||
|
image: Library.images.a4_talk_2,
|
||||||
|
grid:{ width:4, height:2 },
|
||||||
|
frame:{ width:720, height:400 },
|
||||||
|
y: 256
|
||||||
|
});
|
||||||
|
|
||||||
|
// LAYERS
|
||||||
|
self.layers = [
|
||||||
|
|
||||||
|
self.bgSprite,
|
||||||
|
self.callbackSprite,
|
||||||
|
self.alShireSprite,
|
||||||
|
self.outsideHongSprite,
|
||||||
|
|
||||||
|
self.anxiety,
|
||||||
|
|
||||||
|
self.smashSprite,
|
||||||
|
self.talk1Sprite,
|
||||||
|
self.talk2Sprite
|
||||||
|
|
||||||
|
];
|
||||||
|
var PARALLAXES = [
|
||||||
|
|
||||||
|
0.5, // placeholder bg
|
||||||
|
0.8, // callback
|
||||||
|
0.6, // Al Shire
|
||||||
|
1.0, // outside Hong
|
||||||
|
|
||||||
|
0.0, // anxiety bg
|
||||||
|
|
||||||
|
1.0, // smash sprite
|
||||||
|
1.0, // talk 1 sprite
|
||||||
|
1.0, // talk 2 sprite
|
||||||
|
|
||||||
|
];
|
||||||
|
var ALPHAS = [
|
||||||
|
|
||||||
|
1.0, // placeholder bg
|
||||||
|
1.0, // callback
|
||||||
|
1.0, // callback
|
||||||
|
1.0, // outside Hong
|
||||||
|
|
||||||
|
0.0, // anxiety bg
|
||||||
|
|
||||||
|
1.0, // smash sprite
|
||||||
|
0.0, // talk 1 sprite
|
||||||
|
0.0, // talk 2 sprite
|
||||||
|
|
||||||
|
];
|
||||||
|
var OFFSETS = [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
|
||||||
|
0,
|
||||||
|
|
||||||
|
-210,
|
||||||
|
-210,
|
||||||
|
-210
|
||||||
|
]
|
||||||
|
|
||||||
|
var parallax = 0;
|
||||||
|
var parallaxTicker = 0;
|
||||||
|
var PARALLAXING = null;
|
||||||
|
var ALPHA_INDEX = 4;
|
||||||
|
self.update = function(){
|
||||||
|
|
||||||
|
// START PARALLAXING IN / OUT
|
||||||
|
if(PARALLAXING!=null){
|
||||||
|
|
||||||
|
if(PARALLAXING=="out"){
|
||||||
|
parallaxTicker += 1/60; // 0 to 1 in one second
|
||||||
|
}
|
||||||
|
if(PARALLAXING=="in"){
|
||||||
|
parallaxTicker -= 1/60; // 1 to 0 in one second
|
||||||
|
}
|
||||||
|
if(parallaxTicker>1) parallaxTicker = 1;
|
||||||
|
if(parallaxTicker<0) parallaxTicker = 0;
|
||||||
|
|
||||||
|
// 0 to -180 in one second, smoothed
|
||||||
|
var t = Math.cos(parallaxTicker*Math.TAU/2); // 1 to -1
|
||||||
|
t = (1-t)/2; // 0 to 1
|
||||||
|
parallax = -t*210;
|
||||||
|
|
||||||
|
// Anxiety Alpha
|
||||||
|
ALPHAS[ALPHA_INDEX] = t;
|
||||||
|
|
||||||
|
// DONE
|
||||||
|
if(t==1 || t==0){
|
||||||
|
PARALLAXING = null;
|
||||||
|
|
||||||
|
if(STAGE==1){
|
||||||
|
ALPHAS[6] = 1; // Talk 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if(STAGE==3){
|
||||||
|
ALPHAS[7] = 1; // Talk 2
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// Anxiety BG
|
||||||
|
if(ALPHAS[ALPHA_INDEX]>0){
|
||||||
|
self.anxiety.update(ALPHAS[ALPHA_INDEX]);
|
||||||
|
if(ALPHAS[ALPHA_INDEX]==1){ // if fully visible...
|
||||||
|
ALPHAS[0] = ALPHAS[1] = ALPHAS[2] = ALPHAS[3] = 0; // hide everything under
|
||||||
|
}else{
|
||||||
|
ALPHAS[0] = ALPHAS[1] = ALPHAS[2] = ALPHAS[3] = 1; // hide everything under
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
self.draw = function(ctx){
|
||||||
|
|
||||||
|
ctx.save();
|
||||||
|
|
||||||
|
for(var i=0; i<self.layers.length; i++){
|
||||||
|
var layer = self.layers[i];
|
||||||
|
layer.x = PARALLAXES[i] * parallax - OFFSETS[i];
|
||||||
|
if(ALPHAS[i]>0){
|
||||||
|
ctx.globalAlpha = ALPHAS[i];
|
||||||
|
layer.draw(ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.restore();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
var STAGE = 0;
|
||||||
|
var _subscriptions = [];
|
||||||
|
_subscriptions.push(
|
||||||
|
subscribe("act4-out-1", function(){
|
||||||
|
|
||||||
|
// WHOOSH
|
||||||
|
STAGE = 1;
|
||||||
|
PARALLAXING = "out";
|
||||||
|
sfx("whoosh");
|
||||||
|
|
||||||
|
}),
|
||||||
|
subscribe("act4-in-2", function(){
|
||||||
|
|
||||||
|
// SHOW ACTION, HIDE CHARS
|
||||||
|
ALPHAS[6] = 0; // Bye Talk 1
|
||||||
|
|
||||||
|
// WHOOSH
|
||||||
|
STAGE = 2;
|
||||||
|
PARALLAXING = "in";
|
||||||
|
sfx("whoosh");
|
||||||
|
|
||||||
|
}),
|
||||||
|
subscribe("act4-out-3", function(){
|
||||||
|
|
||||||
|
// WHOOSH
|
||||||
|
STAGE = 3;
|
||||||
|
PARALLAXING = "out";
|
||||||
|
sfx("whoosh");
|
||||||
|
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
Loader.addSounds([
|
||||||
|
{ id:"music_party1", src:"sounds/music/party1.mp3" }
|
||||||
|
]);
|
||||||
|
|
||||||
|
SceneSetup.act4 = function(){
|
||||||
|
|
||||||
|
Game.resetScene();
|
||||||
|
|
||||||
|
// RESET HP
|
||||||
|
HP.reset();
|
||||||
|
|
||||||
|
// ATTACKS (TODO: ACT I, ACT II...???)
|
||||||
|
_.attack_harm = 0;
|
||||||
|
_.attack_alone = 0;
|
||||||
|
_.attack_bad = 0;
|
||||||
|
|
||||||
|
// Music
|
||||||
|
music('campus', {volume:0.5});
|
||||||
|
|
||||||
|
// Background
|
||||||
|
var bg = new BG_Act4();
|
||||||
|
Game.scene.children.push(bg);
|
||||||
|
|
||||||
|
// Hong
|
||||||
|
/*var hong = new Act1_Hong();
|
||||||
|
Game.scene.children.push(hong);
|
||||||
|
|
||||||
|
// Beebee
|
||||||
|
var beebee = new Act1_Beebee();
|
||||||
|
Game.scene.children.push(beebee);*/
|
||||||
|
|
||||||
|
};
|
|
@ -5,10 +5,12 @@ or maybe CA?
|
||||||
|
|
||||||
******************************/
|
******************************/
|
||||||
|
|
||||||
function BG_Anxiety(){
|
function BG_Anxiety(whiteMode){
|
||||||
|
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
|
self.whiteMode = whiteMode;
|
||||||
|
|
||||||
// Moving white boxes
|
// Moving white boxes
|
||||||
var BG_WIDTH = 360;
|
var BG_WIDTH = 360;
|
||||||
var BG_HEIGHT = 450;
|
var BG_HEIGHT = 450;
|
||||||
|
@ -80,7 +82,7 @@ function BG_Anxiety(){
|
||||||
|
|
||||||
};
|
};
|
||||||
self.drawBox = function(box, ctx){
|
self.drawBox = function(box, ctx){
|
||||||
ctx.fillStyle = "rgba(255,255,255,0.03)";
|
ctx.fillStyle = self.whiteMode ? "rgba(255,255,255,0.1)" : "rgba(255,255,255,0.03)";
|
||||||
ctx.fillRect(box.x, box.y, box.w, box.h);
|
ctx.fillRect(box.x, box.y, box.w, box.h);
|
||||||
};
|
};
|
||||||
for(var i=0; i<40; i++){
|
for(var i=0; i<40; i++){
|
||||||
|
@ -99,7 +101,7 @@ function BG_Anxiety(){
|
||||||
self.draw = function(ctx){
|
self.draw = function(ctx){
|
||||||
|
|
||||||
// A big ol' black box
|
// A big ol' black box
|
||||||
ctx.fillStyle = "#111111";
|
ctx.fillStyle = self.whiteMode ? "#dddddd" : "#111111";
|
||||||
ctx.fillRect(0,0, BG_WIDTH, BG_HEIGHT);
|
ctx.fillRect(0,0, BG_WIDTH, BG_HEIGHT);
|
||||||
|
|
||||||
// All-box alpha
|
// All-box alpha
|
||||||
|
|
|
@ -701,7 +701,7 @@ Game.executeWait = function(line){
|
||||||
var lastDigit = waitTimeString[waitTimeString.length-1];
|
var lastDigit = waitTimeString[waitTimeString.length-1];
|
||||||
var cantSkip = (lastDigit!="0"); // CAN'T SKIP.
|
var cantSkip = (lastDigit!="0"); // CAN'T SKIP.
|
||||||
|
|
||||||
if(!cantSkip && Game.CLICK_TO_ADVANCE && waitTime<999){ // hack: unless the wait is long.
|
if(!cantSkip && Game.CLICK_TO_ADVANCE && waitTime<=999){ // hack: unless the wait is long.
|
||||||
waitTime = 0;
|
waitTime = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ Loader.addScenes([
|
||||||
//"scenes/act1_end.md",
|
//"scenes/act1_end.md",
|
||||||
//"scenes/PROMO.md"
|
//"scenes/PROMO.md"
|
||||||
//"scenes/act2.md",
|
//"scenes/act2.md",
|
||||||
"scenes/act3.md",
|
"scenes/act4_test.md",
|
||||||
]);
|
]);
|
||||||
Loader.load(function(progress){
|
Loader.load(function(progress){
|
||||||
|
|
||||||
|
@ -28,6 +28,6 @@ subscribe("START_GAME", function(){
|
||||||
$("#loading").style.display = "none";
|
$("#loading").style.display = "none";
|
||||||
Game.start();
|
Game.start();
|
||||||
|
|
||||||
Game.goto("act3");
|
Game.goto("act4");
|
||||||
|
|
||||||
});
|
});
|
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 117 KiB |
After Width: | Height: | Size: 68 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 95 KiB |
After Width: | Height: | Size: 111 KiB |