spotting scope updates (#5880)

* add tanoha forces spotting scopes and add preview picture

* factory standard preview picture...

* spotting scope damage materials, hide damage anim, buff hp

* delete unused model

* make ai call out spotting scope, proper thread and cost, better icon

* spotting scope death effects

* disable smoke effect
This commit is contained in:
commy2 2017-12-10 19:01:27 +01:00 committed by PabstMirror
parent 5fa0179d06
commit a38afac04b
18 changed files with 748 additions and 264 deletions

View File

@ -18,6 +18,14 @@ class CfgVehicles {
};
};
class ThingX;
class ACE_SpottingScope_Tube: ThingX {
author = ECSTRING(common,ACETeam);
scope = 1;
displayName = CSTRING(DisplayName);
model = QPATHTOF(data\ace_spottingscope_tube.p3d);
};
class LandVehicle;
class StaticWeapon: LandVehicle {
class Turrets;
@ -74,6 +82,21 @@ class CfgVehicles {
getOutAction = "PlayerProne";
editorSubcategory = "EdSubcat_Turrets";
threat[] = {0.7, 0.3, 0};
accuracy = 0.12;
cost = 10000;
icon = "\A3\Static_F_Gamma\data\UI\map_StaticTurret_AT_CA.paa";
class SpeechVariants {
class Default {
speechSingular[] = {"veh_infantry_SF_s"};
speechPlural[] = {"veh_infantry_SF_p"};
};
};
textSingular = "$STR_A3_nameSound_veh_infantry_SF_s";
textPlural = "$STR_A3_nameSound_veh_infantry_SF_p";
nameSound = "veh_infantry_SF_s";
class Turrets: Turrets {
class MainTurret: MainTurret {
minTurn = -45;
@ -123,6 +146,26 @@ class CfgVehicles {
opticsDisablePeripherialVision = 1;
};
};
// damage handling
armor = 80;
class Damage {
tex[] = {};
mat[] = {
QPATHTO_R(data\ace_spottingscope_metal.rvmat),
QPATHTO_R(data\ace_spottingscope_metal_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_metal_destruct.rvmat),
QPATHTO_R(data\ace_spottingscope_glass.rvmat),
QPATHTO_R(data\ace_spottingscope_glass_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_glass_destruct.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber_damage.rvmat),
QPATHTO_R(data\ace_spottingscope_rubber_damage.rvmat)
};
};
editorPreview = QPATHTOF(data\preview_spottingscope.jpg);
};
class ACE_B_SpottingScope: ACE_SpottingScopeObject {
@ -152,6 +195,24 @@ class CfgVehicles {
crew = "I_spotter_F";
};
class ACE_B_T_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_B_T_SpottingScope";
scope = 2;
side = 1;
faction = "BLU_T_F";
crew = "B_T_Spotter_F";
};
class ACE_O_T_SpottingScope: ACE_SpottingScopeObject {
author = ECSTRING(common,ACETeam);
_generalMacro = "ACE_O_T_SpottingScope";
scope = 2;
side = 0;
faction = "OPF_T_F";
crew = "O_T_Spotter_F";
};
class Item_Base_F;
class ACE_Item_SpottingScope: Item_Base_F {
author[] = {"Rocko", "Scubaman3D"};
@ -159,6 +220,9 @@ class CfgVehicles {
scopeCurator = 2;
displayName = CSTRING(DisplayName);
vehicleClass = "Items";
editorCategory = "EdCat_Equipment";
editorSubcategory = "EdSubcat_InventoryItems";
editorPreview = QPATHTOF(data\preview_spottingscope.jpg);
class TransportItems {
MACRO_ADDITEM(ACE_SpottingScope,1);
};

View File

@ -6,4 +6,14 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
["ACE_SpottingScopeObject", "killed", {
params ["_wreck"];
private _tube = "ACE_SpottingScope_tube" createVehicle [0,0,0];
_tube setDir (getDir _wreck - 180);
_tube setPosASL AGLToASL (_wreck modelToWorld (_wreck selectionPosition "destructionEffect"));
_tube setVelocity [1 - random 2, 1 - random 2, 4];
_tube addTorque (vectorNormalized [1 - random 2, 1 - random 2, 1 - random 2] vectorMultiply 4);
}] call CBA_fnc_addClassEventHandler;
ADDON = true;

View File

@ -3,7 +3,7 @@
class CfgPatches {
class ADDON {
name = COMPONENT_NAME;
units[] = {"ACE_B_SpottingScope", "ACE_O_SpottingScope", "ACE_I_SpottingScope", "ACE_Item_SpottingScope"};
units[] = {"ACE_B_SpottingScope", "ACE_O_SpottingScope", "ACE_I_SpottingScope", "ACE_B_T_SpottingScope", "ACE_O_T_SpottingScope", "ACE_Item_SpottingScope"};
weapons[] = {"ACE_SpottingScope"};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_apl", "ace_interaction"};

View File

@ -1,7 +1,7 @@
class StageTI
{
class StageTI {
texture = "a3\data_f\Default_ti_ca.paa";
};
ambient[] = {0.301,0.63999999,0.68000001,1};
diffuse[] = {0.301,0.63999999,0.68000001,1};
forcedDiffuse[] = {0.2,0.34999999,0.2,0};
@ -10,84 +10,77 @@ specular[]={0.67450982,0.64313728,0.50196081,1};
specularPower = 550;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {6,0,0};
up[] = {0,6,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7
{
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};

View File

@ -0,0 +1,84 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.1,0.1,0.1,1};
specularPower = 1000;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "a3\data_f\destruct\damage_glass_laminated_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,2,0};
up[] = {-2,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,dt)";
uvSource = "tex";
class uvTransform {
aside[] = {2,2,0};
up[] = {-2,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\damage_glass_laminated_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage4 {
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,1};
};
};
class Stage5 {
texture = "a3\data_f\destruct\damage_glass_laminated_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.1,0.4)";
uvSource = "none";
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,1};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,78 @@
class StageTI {
texture = "a3\data_f\default_ti_ca.paa";
};
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.1,0.1,0.1,1};
specularPower = 1000;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "a3\data_f\destruct\damage_glass_tempered_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,2,0};
up[] = {-2,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\damage_glass_tempered_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\damage_glass_tempered_ca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {-0.05,0.7,0};
};
};
class Stage4 {
texture = "#(argb,8,8,3)color(1,1,1,1,AS)";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,1};
pos[] = {0,0,1};
};
};
class Stage5 {
texture = "a3\data_f\destruct\damage_glass_tempered_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.1,0.4)";
uvSource = "none";
};
class Stage7 {
useWorldEnvMap = "true";
texture = "a3\data_f\env_land_ca.paa";
uvSource="none";
};

View File

@ -6,84 +6,77 @@ specular[]={0.2,0.2,0.2,0};
specularPower = 100;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {6,0,0};
up[] = {0,6,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7
{
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};

View File

@ -0,0 +1,85 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.2,0.2,0.2,0};
specularPower = 100;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\damage_metal_cdt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {5,0,0};
up[] = {0,5,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\damage_metal_mc.paa";
uvSource = "tex";
class uvTransform {
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,0};
};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

View File

@ -0,0 +1,85 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.2,0.2,0.2,0};
specularPower = 100;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\destruct_rust_cdt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {8,8,0};
up[] = {-8,8,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "a3\data_f\destruct\destruct_rust_mca.paa";
uvSource = "tex";
class uvTransform {
aside[] = {2,0,0};
up[] = {0,2,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,32,128,1)fresnel(4.01,2.86)";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

View File

@ -6,77 +6,71 @@ specular[]={0.25,0.25,0.25,1};
specularPower = 90;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1
{
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2
{
class Stage2 {
texture = "#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {6,0,0};
up[] = {0,6,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3
{
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage4
{
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5
{
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6
{
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.5,1.22)";
uvSource = "none";
};
class Stage7
{
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform
{
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};

View File

@ -0,0 +1,79 @@
ambient[] = {1,1,1,1};
diffuse[] = {1,1,1,1};
forcedDiffuse[] = {0,0,0,0};
emmisive[] = {0,0,0,1};
specular[] = {0.25,0.25,0.25,1};
specularPower = 90;
PixelShaderID = "Super";
VertexShaderID = "Super";
class Stage1 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_nohq.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage2 {
texture = "a3\data_f\destruct\destr_rubber_half_dt.paa";
uvSource = "tex";
class uvTransform {
aside[] = {5,0,0};
up[] = {0,5,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage3 {
texture = "#(argb,8,8,3)color(0,0,0,0,MC)";
uvSource = "tex";
class uvTransform {
aside[] = {3,0,0};
up[] = {0,3,0};
dir[] = {0,0,0};
pos[] = {0.1,0.23,0};
};
};
class Stage4 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_as.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage5 {
texture = "z\ace\addons\spottingscope\data\ace_spottingscope_smdi.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};
class Stage6 {
texture = "#(ai,64,64,1)fresnel(1.5,1.22)";
uvSource = "none";
};
class Stage7 {
texture = "a3\data_f\env_land_co.paa";
uvSource = "tex";
class uvTransform {
aside[] = {1,0,0};
up[] = {0,1,0};
dir[] = {0,0,0};
pos[] = {0,0,0};
};
};

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,10 @@
class CfgSkeletons
{
class CfgSkeletons {
class Default {
isDiscrete = 1;
skeletonInherit = "";
skeletonBones[] = {};
};
class ace_spottingscope_skeleton: Default {
isDiscrete = 1;
skeletonInherit = "Default";
@ -13,19 +13,23 @@ class CfgSkeletons
"main_gun","main_turret",
"leg_01","",
"leg_02","",
"leg_03",""
"leg_03","",
"hideTurret",""
};
};
};
class CfgModels {
class Default {
sectionsInherit = "";
sections[] = {};
skeletonName = "";
};
class ace_spottingscope: Default {
skeletonName = "ace_spottingscope_skeleton";
sectionsInherit = "Default";
class animations {
class mainTurret {
type = "rotationY";
@ -65,6 +69,21 @@ class CfgModels {
selection = "leg_03";
axis = "leg_03_axis";
};
class hideTube {
type = "hide";
source = "damage";
selection = "main_gun";
minValue = 0.0;
maxValue = 1.0;
hideValue = 1.0;
animPeriod = 0.0;
initPhase = 0.0;
};
};
};
class ace_spottingscope_tube: Default {
skeletonName = "ace_spottingscope_skeleton";
sectionsInherit = "Default";
};
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB