More radar tweaks
@ -53,7 +53,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StatsWeb", "Plugins\Web\Sta
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AutomessageFeed", "Plugins\AutomessageFeed\AutomessageFeed.csproj", "{F5815359-CFC7-44B4-9A3B-C04BACAD5836}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LiveRadar", "Plugins\LiveRadar\LiveRadar.csproj", "{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LiveRadar", "Plugins\LiveRadar\LiveRadar.csproj", "{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -363,8 +363,8 @@ Global
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Prerelease|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Prerelease|Any CPU.Build.0 = Debug|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Prerelease|Any CPU.ActiveCfg = Prerelease|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Prerelease|Any CPU.Build.0 = Prerelease|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Prerelease|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Prerelease|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{F5815359-CFC7-44B4-9A3B-C04BACAD5836}.Prerelease|x64.ActiveCfg = Debug|Any CPU
|
||||
@ -387,8 +387,8 @@ Global
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Prerelease|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Prerelease|Any CPU.Build.0 = Debug|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Prerelease|Any CPU.ActiveCfg = Prerelease|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Prerelease|Any CPU.Build.0 = Prerelease|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Prerelease|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Prerelease|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{00A1FED2-2254-4AF7-A5DB-2357FA7C88CD}.Prerelease|x64.ActiveCfg = Debug|Any CPU
|
||||
|
@ -4,6 +4,7 @@
|
||||
<TargetFramework>netcoreapp2.2</TargetFramework>
|
||||
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
|
||||
<LangVersion>7.1</LangVersion>
|
||||
<Configurations>Debug;Release;Prerelease</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -51,8 +51,7 @@ namespace LiveRadar.Configuration
|
||||
Right = 968, // pxmax
|
||||
Bottom = 864, // pymax
|
||||
Top = 160, // pymin
|
||||
CenterX = 0,
|
||||
CenterY = 0
|
||||
ViewPositionRotation = 180,
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
@ -60,12 +59,12 @@ namespace LiveRadar.Configuration
|
||||
Name = "mp_estate",
|
||||
Top = 52,
|
||||
Bottom = 999,
|
||||
Left= 173,
|
||||
Left = 173,
|
||||
Right = 942,
|
||||
MaxTop = 2103,
|
||||
MaxBottom = -5077,
|
||||
MaxLeft = 4437,
|
||||
MaxRight = -1240,
|
||||
MaxTop = 2103, // x max
|
||||
MaxBottom = -5077, //x min
|
||||
MaxLeft = 4437, // ymax
|
||||
MaxRight = -1240, // y min
|
||||
Rotation = 143,
|
||||
CenterX = -1440,
|
||||
CenterY = 1920,
|
||||
@ -148,8 +147,7 @@ namespace LiveRadar.Configuration
|
||||
Left = 130,
|
||||
Right = 892,
|
||||
Top = 210,
|
||||
Bottom = 829,
|
||||
ViewPositionRotation = 180
|
||||
Bottom = 829
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
@ -215,7 +213,138 @@ namespace LiveRadar.Configuration
|
||||
Right = 978,
|
||||
Top = 157,
|
||||
Bottom = 944
|
||||
}
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_abandon",
|
||||
MaxBottom = -1290,
|
||||
MaxTop = 3855,
|
||||
MaxRight = -2907,
|
||||
MaxLeft = 2723,
|
||||
Left = 6,
|
||||
Right = 1016,
|
||||
Top = 32,
|
||||
Bottom = 945
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_compact",
|
||||
MaxBottom = 0,
|
||||
MaxTop = 4264,
|
||||
MaxRight = -1552,
|
||||
MaxLeft = 3344,
|
||||
Left = 35,
|
||||
Right = 1003,
|
||||
Top = 94,
|
||||
Bottom = 935
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_complex",
|
||||
MaxBottom = -2869,
|
||||
MaxTop = 2867,
|
||||
MaxRight = -4204,
|
||||
MaxLeft = -1218,
|
||||
Left = 282,
|
||||
Right = 749,
|
||||
Top = 48,
|
||||
Bottom = 991
|
||||
},
|
||||
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_crash",
|
||||
MaxBottom = -953,
|
||||
MaxTop = 1811,
|
||||
MaxRight = -2129,
|
||||
MaxLeft = 2277,
|
||||
Left = 52,
|
||||
Right = 1017,
|
||||
Top = 201,
|
||||
Bottom = 807
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_fuel2",
|
||||
MaxBottom = -2218,
|
||||
MaxTop = 4324,
|
||||
MaxRight = -3115,
|
||||
MaxLeft = 3193,
|
||||
Left = 39,
|
||||
Right = 888,
|
||||
Top = 24,
|
||||
Bottom = 906
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_overgrown",
|
||||
MaxBottom = -2052,
|
||||
MaxTop = 3236,
|
||||
MaxRight = -5393,
|
||||
MaxLeft = 808,
|
||||
Left = 17,
|
||||
Right = 1024,
|
||||
Top = 0,
|
||||
Bottom = 847
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_storm",
|
||||
MaxBottom = -2317,
|
||||
MaxTop = 2537,
|
||||
MaxRight = -2223,
|
||||
MaxLeft = 2097,
|
||||
Left = 79,
|
||||
Right = 932,
|
||||
Top = 20,
|
||||
Bottom = 995
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_strike",
|
||||
MaxBottom = -2504,
|
||||
MaxTop = 3359,
|
||||
MaxRight = -3105,
|
||||
MaxLeft = 2822,
|
||||
Left = 40,
|
||||
Right = 969,
|
||||
Top = 36,
|
||||
Bottom = 955
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_trailerpark",
|
||||
MaxBottom = -2709,
|
||||
MaxTop = 2027,
|
||||
MaxRight = -1719,
|
||||
MaxLeft = 1666,
|
||||
Left = 152,
|
||||
Right = 785,
|
||||
Top = 50,
|
||||
Bottom = 931
|
||||
},
|
||||
|
||||
new MapInfo()
|
||||
{
|
||||
Name = "mp_vacant",
|
||||
MaxBottom = -2089,
|
||||
MaxTop = 1652,
|
||||
MaxRight = -1393,
|
||||
MaxLeft = 1789,
|
||||
Left = 122,
|
||||
Right = 909,
|
||||
Top = 16,
|
||||
Bottom = 951
|
||||
},
|
||||
};
|
||||
|
||||
return this;
|
||||
|
@ -2,7 +2,10 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netcoreapp2.2</TargetFramework>
|
||||
<RazorCompileOnBuild Condition="'$(CONFIG)'!='Debug'">true</RazorCompileOnBuild>
|
||||
<RazorCompiledOnPublish Condition="'$(CONFIG)'!='Debug'">true</RazorCompiledOnPublish>
|
||||
<Version>0.1.0.0</Version>
|
||||
<Configurations>Debug;Release;Prerelease</Configurations>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -7,6 +7,7 @@ namespace LiveRadar
|
||||
public class MapInfo
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Alias { get; set; }
|
||||
// distance from the edge of the minimap image
|
||||
// to the "playable" area
|
||||
public int Top { get; set; }
|
||||
|
@ -28,6 +28,7 @@ namespace LiveRadar.Web.Controllers
|
||||
var server = Manager.GetServers().FirstOrDefault();
|
||||
|
||||
var map = Plugin.Config.Configuration().Maps.FirstOrDefault(_map => _map.Name == server.CurrentMap.Name);
|
||||
map.Alias = server.CurrentMap.Alias;
|
||||
|
||||
return Json(map);
|
||||
}
|
||||
|
@ -26,7 +26,7 @@
|
||||
</div>
|
||||
|
||||
<!-- images used by canvas -->
|
||||
<img class="hide" id="hud_death" src="~/images/hud_weapons/hud_death.png" />
|
||||
<img class="hide" id="hud_death" src="~/images/death.png" />
|
||||
|
||||
|
||||
@section scripts {
|
||||
@ -131,13 +131,14 @@
|
||||
|
||||
function drawText(context, x, y, text, size, fillColor, strokeColor, alignment = 'left') {
|
||||
context.beginPath();
|
||||
context.font = `bold ${size * stateInfo.imageScaler}px verdana`;
|
||||
context.save();
|
||||
context.font = `bold ${Math.max(12, size * stateInfo.imageScaler)}px courier new`;
|
||||
context.fillStyle = fillColor;
|
||||
context.strokeStyle = strokeColor;
|
||||
context.lineWidth = 1 * stateInfo.imageScaler;
|
||||
context.shadowColor = strokeColor;
|
||||
context.shadowBlur = 4;
|
||||
context.textAlign = alignment;
|
||||
context.fillText(text, x, y);
|
||||
context.strokeText(text, x, y);
|
||||
context.restore();
|
||||
context.closePath();
|
||||
}
|
||||
|
||||
@ -163,11 +164,12 @@
|
||||
}
|
||||
|
||||
stateInfo.imageScaler = (stateInfo.canvas.width() / 1024)
|
||||
stateInfo.mapScaler = ((stateInfo.mapInfo.right - stateInfo.mapInfo.left) / stateInfo.mapInfo.width) * stateInfo.imageScaler;
|
||||
stateInfo.mapScalerY =((stateInfo.mapInfo.bottom - stateInfo.mapInfo.top) / stateInfo.mapInfo.height) * stateInfo.imageScaler;
|
||||
stateInfo.mapScalerX = (((stateInfo.mapInfo.right * stateInfo.imageScaler) - (stateInfo.mapInfo.left * stateInfo.imageScaler)) / stateInfo.mapInfo.width);
|
||||
stateInfo.mapScalerY = (((stateInfo.mapInfo.bottom * stateInfo.imageScaler) - (stateInfo.mapInfo.top * stateInfo.imageScaler)) / stateInfo.mapInfo.height);
|
||||
stateInfo.mapScaler = (stateInfo.mapScalerX + stateInfo.mapScalerY) / 2
|
||||
|
||||
stateInfo.forwardDistance = 500.0 * ((stateInfo.mapInfo.right - stateInfo.mapInfo.left) / stateInfo.mapInfo.width) * stateInfo.imageScaler;
|
||||
stateInfo.fovWidth = 32.5 * ((stateInfo.mapInfo.right - stateInfo.mapInfo.left) / stateInfo.mapInfo.width);
|
||||
stateInfo.forwardDistance = 500.0;
|
||||
stateInfo.fovWidth = 40;
|
||||
}
|
||||
|
||||
function calculateViewPosition(x, y, distance) {
|
||||
@ -175,7 +177,7 @@
|
||||
let ny = Math.sin(x) * Math.cos(y);
|
||||
let nz = Math.sin(360.0 - y);
|
||||
|
||||
return { x: nx * distance, y: ny * distance, z: nz * distance};
|
||||
return { x: (nx * distance) * stateInfo.mapScaler, y: (ny * distance) * stateInfo.mapScaler, z: (nz * distance) * stateInfo.mapScaler };
|
||||
}
|
||||
|
||||
function lerp(start, end, complete) {
|
||||
@ -238,7 +240,7 @@
|
||||
name = "none";
|
||||
}
|
||||
|
||||
return `../images/hud_weapons/hud_${weapons[name]}.png`;
|
||||
return `../images/radar/hud_weapons/hud_${weapons[name]}.png`;
|
||||
}
|
||||
|
||||
function updatePlayerData() {
|
||||
@ -266,9 +268,8 @@
|
||||
<span class="align-self-center oi oi-target pr-1"></span>
|
||||
<div class="pr-3 ">${player.deaths == 0 ? player.kills.toFixed(2) : (player.kills / player.deaths).toFixed(2)}</div>
|
||||
<span class="align-self-center oi oi-graph pr-1"></span>
|
||||
<div>${Math.round(player.score / (player.playTime / 60))}</div>
|
||||
<div>${ player.playTime == 0 ? '—' : Math.round(player.score / (player.playTime / 60))}</div>
|
||||
</div>`);
|
||||
//<img style="height: 1.5rem;" src="${weaponImageForWeapon(player.weapon)}"/>
|
||||
});
|
||||
|
||||
$('.player-data-left').delay(1000).animate({opacity: 1}, 500);
|
||||
@ -340,11 +341,10 @@
|
||||
// we switch out the items to
|
||||
previousRadarData = newRadarData;
|
||||
|
||||
$('#map_name').html(stateInfo.mapInfo.name);
|
||||
$('#map_list').css('background-image', `url(../images/radar/minimaps/compass_map_${stateInfo.mapInfo.name}@('@')2x.png)`);
|
||||
$('#map_name').html(stateInfo.mapInfo.alias);
|
||||
$('#map_list').css('background-image', `url(../images/radar/minimaps/compass_map_${stateInfo.mapInfo.name}@('@')2x.jpg)`);
|
||||
checkCanvasSize(stateInfo.canvas, stateInfo.ctx, $('#map_list'), stateInfo.mapInfo);
|
||||
updatePlayerData();
|
||||
window.requestAnimationFrame(updateMap);
|
||||
}
|
||||
|
||||
function updateMap() {
|
||||
@ -385,8 +385,8 @@
|
||||
const endX = ((stateInfo.mapInfo.maxLeft - rotatedCurrentLocation.y) * stateInfo.mapScaler) + (stateInfo.mapInfo.left * stateInfo.imageScaler);
|
||||
const endY = ((stateInfo.mapInfo.maxTop - rotatedCurrentLocation.x) * stateInfo.mapScalerY) + (stateInfo.mapInfo.top * stateInfo.imageScaler);
|
||||
|
||||
let teamColor = value.team == 'allies' ? 'rgba(0, 122, 204, 1)' : 'rgba(255,69,69,.85)';
|
||||
let fovColor = value.team == 'allies' ? 'rgba(0, 122, 204, 0.2)' : 'rgba(255,69,69,.2)';
|
||||
let teamColor = value.team == 'allies' ? 'rgb(0, 122, 204, 1)' : 'rgb(255, 69, 69)';
|
||||
let fovColor = value.team == 'allies' ? 'rgba(0, 122, 204, 0.2)' : 'rgba(255, 69, 69, 0.2)';
|
||||
|
||||
// this takes care of moving past the roll-over point of yaw/pitch (ie 360->0)
|
||||
const rollAngleFix = fixRollAngles(value.previous.radianAngles, value.radianAngles);
|
||||
@ -395,8 +395,8 @@
|
||||
const radianLerpY = lerp(value.previous.radianAngles.y, rollAngleFix.y, completionPercent);
|
||||
|
||||
// this is some jankiness to get the fov to point the right direction
|
||||
let firstVertex = calculateViewPosition((Math.PI / 2) + toRadians(stateInfo.mapInfo.rotation + stateInfo.mapInfo.viewPosRotation) - radianLerpX - (Math.PI + stateInfo.fovWidth), radianLerpY, stateInfo.forwardDistance);
|
||||
let secondVertex = calculateViewPosition((Math.PI / 2) + toRadians(stateInfo.mapInfo.rotation + stateInfo.mapInfo.viewPosRotation) - radianLerpX + (Math.PI + stateInfo.fovWidth), radianLerpY, stateInfo.forwardDistance);
|
||||
let firstVertex = calculateViewPosition(toRadians(stateInfo.mapInfo.rotation + stateInfo.mapInfo.viewPositionRotation - 90) - radianLerpX + toRadians(stateInfo.fovWidth), radianLerpY, stateInfo.forwardDistance);
|
||||
let secondVertex = calculateViewPosition(toRadians(stateInfo.mapInfo.rotation + stateInfo.mapInfo.viewPositionRotation - 90) - radianLerpX - toRadians(stateInfo.fovWidth), radianLerpY, stateInfo.forwardDistance);
|
||||
|
||||
let currentX = lerp(startX, endX, completionPercent);
|
||||
let currentY = lerp(startY, endY, completionPercent);
|
||||
@ -409,14 +409,13 @@
|
||||
currentX = lerp(centerX, currentX, stateInfo.mapInfo.scaler);
|
||||
currentY = lerp(centerY, currentY, stateInfo.mapInfo.scaler);
|
||||
|
||||
drawCircle(ctx, centerX, centerY, 'green');
|
||||
drawCircle(ctx, currentX, currentY, teamColor);
|
||||
drawTriangle(ctx,
|
||||
{ x: currentX, y: currentY },
|
||||
{ x: currentX + firstVertex.x, y: currentY + firstVertex.y },
|
||||
{ x: currentX + secondVertex.x, y: currentY + secondVertex.y },
|
||||
fovColor);
|
||||
drawText(ctx, currentX, currentY - textOffset, value.name, 24, 'white', teamColor, 'center')
|
||||
drawText(ctx, currentX, currentY - (textOffset * stateInfo.imageScaler), value.name, 16, 'white', teamColor, 'center')
|
||||
});
|
||||
|
||||
const completedIcons = [];
|
||||
@ -449,7 +448,8 @@
|
||||
$.getJSON('@Url.Action("Map", "Radar", null)', function (_map) {
|
||||
stateInfo.mapInfo = _map;
|
||||
updateRadarData();
|
||||
setInterval(updateRadarData, stateInfo.updateFrequency);
|
||||
setInterval(updateRadarData, stateInfo.updateFrequency);
|
||||
window.requestAnimationFrame(updateMap);
|
||||
});
|
||||
})
|
||||
|
||||
|
Before Width: | Height: | Size: 594 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 952 B |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |