Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 3/2/2025 #134

Merged
merged 65 commits into from
Mar 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
24fae22
Mind Role Entities (#31318)
Errant-4 Oct 10, 2024
3121315
Merge branch 'master' into Cherrypick-Mind-Role-Entities
VMSolidus Feb 15, 2025
d33bf89
Fix error
sleepyyapril Feb 15, 2025
a50fed2
Update SharedContentIoC.cs
sleepyyapril Feb 15, 2025
93eba08
Port And Update Cybersun Stealth Hardsuit (#866) (#1807)
VMSolidus Feb 20, 2025
52654a2
Automatic Changelog Update (#1807)
SimpleStation14 Feb 20, 2025
eca4197
Cherrypick Wizden Pr 29151 (#1825)
VMSolidus Feb 20, 2025
f3679f4
Muted Tweaks and Fixes (#1823)
GNUtopia Feb 20, 2025
36a4390
Automatic Changelog Update (#1823)
SimpleStation14 Feb 20, 2025
778ee23
Update pebble.yml (#1826)
VMSolidus Feb 20, 2025
18db872
Apply RoofOverlay Per-Grid Not Per-Map + Fix Lighting Quality (#35207…
sleepyyapril Feb 21, 2025
d2ac137
Automatic Changelog Update (#1829)
SimpleStation14 Feb 21, 2025
45905b2
Fix Singulo (#1830)
VMSolidus Feb 21, 2025
77159c2
Automatic Changelog Update (#1830)
SimpleStation14 Feb 21, 2025
88ed6c3
Let Humans Have Long Ears! (#1818)
Sarahon Feb 21, 2025
8134953
Automatic Changelog Update (#1818)
SimpleStation14 Feb 21, 2025
4b1cc70
Some More BSO Options (#1816)
VMSolidus Feb 21, 2025
d46cc6a
Automatic Changelog Update (#1816)
SimpleStation14 Feb 21, 2025
719f837
More Gunsmithing (#1810)
VMSolidus Feb 21, 2025
16c6959
Automatic Changelog Update (#1810)
SimpleStation14 Feb 21, 2025
3014a0d
Renamable Component (#1821)
Timfa2112 Feb 21, 2025
be2fa99
Automatic Changelog Update (#1821)
SimpleStation14 Feb 21, 2025
5602211
Plantbot (#1831)
Timfa2112 Feb 21, 2025
2063b01
Automatic Changelog Update (#1831)
SimpleStation14 Feb 21, 2025
4bb15a1
Experimental Welder Rework (#1832)
EctoplasmIsGood Feb 22, 2025
b104fe5
Automatic Changelog Update (#1832)
SimpleStation14 Feb 22, 2025
a7760a6
Allow Weldbot to Fix Specific Structures (#1838)
Timfa2112 Feb 22, 2025
321243e
Automatic Changelog Update (#1838)
SimpleStation14 Feb 22, 2025
482d4ac
Update Credits (#1839)
github-actions[bot] Feb 23, 2025
23e332e
Allow Tricordrazine to Heal Minor Accidental Exposures (#1840)
Timfa2112 Feb 24, 2025
8f5f699
Automatic Changelog Update (#1840)
SimpleStation14 Feb 24, 2025
4fb870d
Fix War Declarator (#1842)
VMSolidus Feb 24, 2025
ecf8e35
Add Clothwraps to Hands Loadouts (#1841)
Timfa2112 Feb 25, 2025
e3edfe8
Automatic Changelog Update (#1841)
SimpleStation14 Feb 25, 2025
7cb0456
Holoparasite Buff (#1843)
EctoplasmIsGood Feb 25, 2025
3e073ae
Automatic Changelog Update (#1843)
SimpleStation14 Feb 25, 2025
c03b719
Minor Fixes to My Two Traits PR. (#1833)
Diggy0 Feb 25, 2025
330fa0c
Automatic Changelog Update (#1833)
SimpleStation14 Feb 25, 2025
2cb054e
Fix Tendons Damage (#1835)
LaryNevesPR Feb 25, 2025
9722225
Automatic Changelog Update (#1835)
SimpleStation14 Feb 25, 2025
e45008d
More Tajaran Markings (#1834)
Tonk-GCR Feb 27, 2025
0091c1e
Automatic Changelog Update (#1834)
SimpleStation14 Feb 27, 2025
a480c66
Cybernetics Trait Changes (#1828)
Raikyr0 Feb 27, 2025
365dd43
Automatic Changelog Update (#1828)
SimpleStation14 Feb 27, 2025
fb3d000
Shadowkin Age Fixes & Plus Plushies (#1684)
SixplyDev Feb 27, 2025
caf8572
Automatic Changelog Update (#1684)
SimpleStation14 Feb 27, 2025
b1acdc4
Trait Add Tag (#1846)
Raikyr0 Feb 27, 2025
9622d44
Automatic Changelog Update (#1846)
SimpleStation14 Feb 27, 2025
ff4146f
Arachne SpiderCrafting (#1847)
Raikyr0 Feb 27, 2025
91d4048
Automatic Changelog Update (#1847)
SimpleStation14 Feb 27, 2025
143d249
Add Centcom Disabler (#1845)
Timfa2112 Feb 27, 2025
7ca0757
Automatic Changelog Update (#1845)
SimpleStation14 Feb 27, 2025
c0a5637
dragon antag refactor (#28217)
deltanedas May 31, 2024
585e261
Cultist Mind Roles
VMSolidus Feb 28, 2025
30508ce
Merge branch 'master' into Cherrypick-Mind-Role-Entities
VMSolidus Feb 28, 2025
b78d24c
Update midround.yml
VMSolidus Feb 28, 2025
0afda17
Merge branch 'Cherrypick-Mind-Role-Entities' of https://github.com/VM…
VMSolidus Feb 28, 2025
22df750
Update ghost_roles.yml
VMSolidus Feb 28, 2025
47a5540
Plant Analyzer Port (#1849)
Timfa2112 Mar 1, 2025
4da1efd
Automatic Changelog Update (#1849)
SimpleStation14 Mar 1, 2025
c0c8e41
CherryPick Mind Role Entities (#1791)
sleepyyapril Mar 1, 2025
6d91903
Solarian Alliance Content (#1851)
VMSolidus Mar 1, 2025
ffaf99c
Automatic Changelog Update (#1851)
SimpleStation14 Mar 1, 2025
8893eed
Merge remote-tracking branch 'EE-Master/master' into Update-3/2/2025
VMSolidus Mar 2, 2025
b790eed
Update Deep-Space-Central-Command.yml
VMSolidus Mar 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
using Content.Shared.Botany.PlantAnalyzer;
using JetBrains.Annotations;
using Robust.Client.UserInterface;

namespace Content.Client.Botany.PlantAnalyzer;

[UsedImplicitly]
public sealed class PlantAnalyzerBoundUserInterface : BoundUserInterface
{
[ViewVariables]
private PlantAnalyzerWindow? _window;

public PlantAnalyzerBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
{
}

protected override void Open()
{
base.Open();
_window = this.CreateWindow<PlantAnalyzerWindow>();
_window.Title = EntMan.GetComponent<MetaDataComponent>(Owner).EntityName;
_window.Print.OnPressed += _ => Print();
}

protected override void ReceiveMessage(BoundUserInterfaceMessage message)
{
if (_window is null
|| message is not PlantAnalyzerScannedUserMessage cast)
return;

_window.Populate(cast);
}

private void Print()
{
SendMessage(new PlantAnalyzerPrintMessage());
if (_window is null)
return;

_window.Print.Disabled = true;
}
}
121 changes: 121 additions & 0 deletions Content.Client/Botany/PlantAnalyzer/PlantAnalyzerWindow.xaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
<controls:FancyWindow
xmlns="https://spacestation14.io"
xmlns:controls="clr-namespace:Content.Client.UserInterface.Controls"
MinWidth="320"
MaxWidth="320">
<ScrollContainer
Margin="5 5 5 5"
ReturnMeasure="True"
VerticalExpand="True"
HorizontalExpand="False">
<BoxContainer
Name="RootContainer"
VerticalExpand="True"
Orientation="Vertical">
<BoxContainer
Name="DataContainer"
Margin="0 0 0 5"
Orientation="Vertical">
<BoxContainer Orientation="Horizontal" Margin="0 0 0 5">
<SpriteView OverrideDirection="South" Scale="2 2" Name="SpriteView" Access="Public" SetSize="64 64" />
<TextureRect Name="NoDataIcon" Access="Public" SetSize="64 64" Visible="false" Stretch="KeepAspectCentered" TexturePath="/Textures/Interface/Misc/health_analyzer_out_of_range.png"/>
<BoxContainer Margin="5 0 0 0" Orientation="Vertical" VerticalAlignment="Top">
<RichTextLabel Name="SeedLabel" SetWidth="150"
Text="{Loc 'generic-unknown'}"/>
<Label Name="ContainerLabel" VerticalAlignment="Top" StyleClasses="LabelSubText"
Text="{Loc 'generic-unknown'}"/>
</BoxContainer>
<Label Margin="0 0 5 0" HorizontalExpand="True" HorizontalAlignment="Right" VerticalExpand="True"
VerticalAlignment="Top" Name="ScanModeLabel"
Text="{Loc 'health-analyzer-window-entity-unknown-text'}" />
</BoxContainer>
<PanelContainer StyleClasses="LowDivider" />
<BoxContainer Name="PlantDataTags" Margin="5 5 0 0" Orientation="Horizontal" Visible="false">
<RichTextLabel Margin="0 0 8 0" Name="Alive" Visible="false" Text="{Loc 'plant-analyzer-component-alive'}" />
<RichTextLabel Margin="0 0 8 0" Name="Dead" Visible="false" Text="{Loc 'plant-analyzer-component-dead'}" />
<RichTextLabel Margin="0 0 8 0" Name="Unviable" Visible="false" Text="{Loc 'plant-analyzer-component-unviable'}" />
<RichTextLabel Margin="0 0 8 0" Name="Kudzu" Visible="false" Text="{Loc 'plant-analyzer-component-kudzu'}" />
<RichTextLabel Margin="0 0 8 0" Name="Mutating" Visible="false" Text="{Loc 'plant-analyzer-component-mutating'}" />
</BoxContainer>
<GridContainer Name="PlantDataGrid" Margin="0 0 0 5" Columns="6" Visible="false">
<Label Text=" · " />
<Label Text="{Loc 'plant-analyzer-component-health'}" />
<Label SetWidth="8" />
<Label HorizontalAlignment="Right" Name="Health" />
<Label Text=" / " />
<Label HorizontalAlignment="Right" Name="Endurance" />
<Label Text=" · " />
<Label Text="{Loc 'plant-analyzer-component-age'}" />
<Label SetWidth="8" />
<Label HorizontalAlignment="Right" Name="Age" />
<Label Text=" / " />
<Label HorizontalAlignment="Right" Name="Lifespan" />
</GridContainer>
<PanelContainer Name="PlantDataDivider" Visible="false" StyleClasses="LowDivider" />
<GridContainer Name="ContainerGrid" Margin="0 5" Columns="8" Visible="false">
<!-- Max values from `PlantHolderSystem.CheckLevelSanity` -->
<Label Text=" · " />
<Label Text="{Loc 'plant-analyzer-component-water'}" />
<Label SetWidth="8" />
<Label FontColorOverride="cyan" HorizontalAlignment="Right" Name="WaterLevelLabel" />
<Label Text=" / " />
<Label HorizontalAlignment="Right" Text="100.00" />
<Label Margin="12 0 0 0" Name="GtFieldIfTolerances1" />
<Label HorizontalAlignment="Right" Name="WaterConsumptionLabel" />
<Label Text=" · " />
<Label Text="{Loc 'plant-analyzer-component-nutrition'}" />
<Label SetWidth="8" />
<Label FontColorOverride="orange" HorizontalAlignment="Right" Name="NutritionLevelLabel" />
<Label Text=" / " />
<Label HorizontalAlignment="Right" Text="100.00" />
<Label Margin="12 0 0 0" Name="GtFieldIfTolerances2" />
<Label HorizontalAlignment="Right" Name="NutritionConsumptionLabel" />
<Label Text=" · " />
<Label Text="{Loc 'plant-analyzer-component-toxins'}" />
<Label SetWidth="8" />
<Label FontColorOverride="yellowgreen" HorizontalAlignment="Right" Name="ToxinsLabel" />
<Label Text=" / " />
<Label HorizontalAlignment="Right" Text="100.00" />
<Label Margin="12 0 0 0" Name="LtFieldIfTolerances1" />
<Label HorizontalAlignment="Right" Name="ToxinsResistanceLabel" />
<Label Text=" · " />
<Label Text="{Loc 'plant-analyzer-component-pests'}" />
<Label SetWidth="8" />
<Label FontColorOverride="magenta" HorizontalAlignment="Right" Name="PestLevelLabel" />
<Label Text=" / " />
<Label HorizontalAlignment="Right" Text="10.00" />
<Label Margin="12 0 0 0" Name="LtFieldIfTolerances2" />
<Label HorizontalAlignment="Right" Name="PestResistanceLabel" />
<Label Text=" · " />
<Label Text="{Loc 'plant-analyzer-component-weeds'}" />
<Label SetWidth="8" />
<Label FontColorOverride="red" HorizontalAlignment="Right" Name="WeedLevelLabel" />
<Label Text=" / " />
<Label HorizontalAlignment="Right" Text="10.00" />
<Label Margin="12 0 0 0" Name="LtFieldIfTolerances3" />
<Label HorizontalAlignment="Right" Name="WeedResistanceLabel" />
</GridContainer>
<PanelContainer Name="ContainerDivider" Visible="false" StyleClasses="LowDivider" />
<BoxContainer Name="ChemicalsInWaterBox" Visible="false" Orientation="Horizontal" Margin="5">
<RichTextLabel Name="ChemicalsInWaterLabel" SetWidth="290" />
</BoxContainer>
<PanelContainer Name="ChemicalsInWaterDivider" Visible="false" StyleClasses="LowDivider" />
<BoxContainer Name="EnvironmentBox" Visible="false" Orientation="Horizontal" Margin="5">
<RichTextLabel Name="EnvironmentLabel" SetWidth="290" />
</BoxContainer>
<PanelContainer Name="EnvironmentDivider" Visible="false" StyleClasses="LowDivider" />
<BoxContainer Name="ProduceBox" Visible="false" Orientation="Horizontal" Margin="5">
<RichTextLabel Name="ProduceLabel" SetWidth="290" />
</BoxContainer>
<PanelContainer Name="ProduceDivider" Visible="false" StyleClasses="LowDivider" />
<Button Name="Print"
TextAlign="Center"
HorizontalExpand="True"
Access="Public"
Disabled="True"
Margin="0 5 0 0"
Text="{Loc 'plant-analyzer-print'}" />
</BoxContainer>
</BoxContainer>
</ScrollContainer>
</controls:FancyWindow>
207 changes: 207 additions & 0 deletions Content.Client/Botany/PlantAnalyzer/PlantAnalyzerWindow.xaml.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
using System.Linq;
using Content.Client.UserInterface.Controls;
using Content.Shared.Botany.PlantAnalyzer;
using Content.Shared.IdentityManagement;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML;
using Robust.Shared.Prototypes;
using Robust.Shared.Timing;

namespace Content.Client.Botany.PlantAnalyzer;

[GenerateTypedNameReferences]
public sealed partial class PlantAnalyzerWindow : FancyWindow
{
private readonly IEntityManager _entityManager;
private readonly IPrototypeManager _prototypeManager;
private readonly IGameTiming _gameTiming;

public PlantAnalyzerWindow()
{
RobustXamlLoader.Load(this);

var dependencies = IoCManager.Instance!;
_entityManager = dependencies.Resolve<IEntityManager>();
_prototypeManager = dependencies.Resolve<IPrototypeManager>();
_gameTiming = dependencies.Resolve<IGameTiming>();
}

public void Populate(PlantAnalyzerScannedUserMessage msg)
{
Print.Disabled = !msg.ScanMode.GetValueOrDefault(false)
|| msg.PrintReadyAt.GetValueOrDefault(TimeSpan.MaxValue) > _gameTiming.CurTime
|| msg.PlantData is null;

if (!_entityManager.TryGetEntity(msg.TargetEntity, out var target) || target is null)
return;

// Section 1: Icon and basic information.
SpriteView.SetEntity(target.Value);
SpriteView.Visible = msg.ScanMode.HasValue && msg.ScanMode.Value;
NoDataIcon.Visible = !SpriteView.Visible;

ScanModeLabel.Text = msg.ScanMode.HasValue
? msg.ScanMode.Value
? Loc.GetString("plant-analyzer-window-scan-mode-active")
: Loc.GetString("plant-analyzer-window-scan-mode-inactive")
: Loc.GetString("plant-analyzer-window-entity-unknown-text");
ScanModeLabel.FontColorOverride = msg.ScanMode.HasValue && msg.ScanMode.Value ? Color.Green : Color.Red;

SeedLabel.Text = msg.PlantData == null
? Loc.GetString("plant-analyzer-component-no-seed")
: Loc.GetString(msg.PlantData.SeedDisplayName);

ContainerLabel.Text = _entityManager.HasComponent<MetaDataComponent>(target.Value)
? Identity.Name(target.Value, _entityManager)
: Loc.GetString("generic-unknown");

// Section 2: Information regarding the plant.
if (msg.PlantData is not null)
{
Health.Text = msg.PlantData.Health.ToString("0.00");
Endurance.Text = msg.PlantData.Endurance.ToString("0.00");
Age.Text = msg.PlantData.Age.ToString("0.00");
Lifespan.Text = msg.PlantData.Lifespan.ToString("0.00");

// These mostly exists to prevent shifting of the text.
Dead.Visible = msg.PlantData.Dead;
Alive.Visible = !Dead.Visible;

Unviable.Visible = !msg.PlantData.Viable;
Mutating.Visible = msg.PlantData.Mutating;
Kudzu.Visible = msg.PlantData.Kudzu;

PlantDataGrid.Visible = true;
}
else
{
PlantDataGrid.Visible = false;
}
PlantDataTags.Visible = PlantDataGrid.Visible;
PlantDataDivider.Visible = PlantDataGrid.Visible;

// Section 3: Input
if (msg.TrayData is not null)
{
WaterLevelLabel.Text = msg.TrayData.WaterLevel.ToString("0.00");
NutritionLevelLabel.Text = msg.TrayData.NutritionLevel.ToString("0.00");
ToxinsLabel.Text = msg.TrayData.Toxins.ToString("0.00");
PestLevelLabel.Text = msg.TrayData.PestLevel.ToString("0.00");
WeedLevelLabel.Text = msg.TrayData.WeedLevel.ToString("0.00");

// Section 3.1: Tolerances part 1.
if (msg.TolerancesData is not null)
{
GtFieldIfTolerances1.Text = ">";
LtFieldIfTolerances1.Text = "<";

WaterConsumptionLabel.Text = msg.TolerancesData.WaterConsumption.ToString("0.00");
NutritionConsumptionLabel.Text = msg.TolerancesData.NutrientConsumption.ToString("0.00");
// Technically would be "x + epsilon" for toxin and pest.
// But it makes no difference here since I only display two digits.
ToxinsResistanceLabel.Text = msg.TolerancesData.ToxinsTolerance.ToString("0.00");
PestResistanceLabel.Text = msg.TolerancesData.PestTolerance.ToString("0.00");
WeedResistanceLabel.Text = msg.TolerancesData.WeedTolerance.ToString("0.00");
}
else
{
GtFieldIfTolerances1.Text = "";
LtFieldIfTolerances1.Text = "";

WaterConsumptionLabel.Text = "";
NutritionConsumptionLabel.Text = "";
ToxinsResistanceLabel.Text = "";
PestResistanceLabel.Text = "";
WeedResistanceLabel.Text = "";
}
GtFieldIfTolerances2.Text = GtFieldIfTolerances1.Text;
LtFieldIfTolerances2.Text = LtFieldIfTolerances1.Text;
LtFieldIfTolerances3.Text = LtFieldIfTolerances1.Text;

ContainerGrid.Visible = true;
}
else
{
ContainerGrid.Visible = false;
}
ContainerDivider.Visible = ContainerGrid.Visible;


// Section 3.5: They are putting chemicals in the water!
if (msg.TrayData?.Chemicals != null)
{
var count = msg.TrayData.Chemicals.Count;
var holder = ContainerLabel.Text;
var chemicals = PlantAnalyzerLocalizationHelper.ChemicalsToLocalizedStrings(msg.TrayData.Chemicals, _prototypeManager);
if (count == 0)
ChemicalsInWaterLabel.Text = Loc.GetString("plant-analyzer-soil-empty", ("holder", holder));
else
ChemicalsInWaterLabel.Text = Loc.GetString("plant-analyzer-soil", ("count", count), ("holder", holder), ("chemicals", chemicals));

ChemicalsInWaterBox.Visible = true;
}
else
{
ChemicalsInWaterBox.Visible = false;
}
ChemicalsInWaterDivider.Visible = ChemicalsInWaterBox.Visible;

// Section 4: Tolerances part 2.
if (msg.TolerancesData is not null)
{
(string, string)[] parameters = [
("seedName", SeedLabel.Text),
("gases", PlantAnalyzerLocalizationHelper.GasesToLocalizedStrings(msg.TolerancesData.ConsumeGasses, _prototypeManager)),
("kpa", msg.TolerancesData.IdealPressure.ToString("0.00")),
("kpaTolerance", msg.TolerancesData.PressureTolerance.ToString("0.00")),
("temp", msg.TolerancesData.IdealHeat.ToString("0.00")),
("tempTolerance", msg.TolerancesData.HeatTolerance.ToString("0.00")),
("lightLevel", msg.TolerancesData.IdealLight.ToString("0.00")),
("lightTolerance", msg.TolerancesData.LightTolerance.ToString("0.00"))
];
EnvironmentLabel.Text = msg.TolerancesData.ConsumeGasses.Count == 0
? msg.TolerancesData.IdealHeat - msg.TolerancesData.HeatTolerance <= 0f && msg.TolerancesData.IdealPressure - msg.TolerancesData.PressureTolerance <= 0f
? Loc.GetString("plant-analyzer-component-environment-void", [.. parameters])
: Loc.GetString("plant-analyzer-component-environment", [.. parameters])
: Loc.GetString("plant-analyzer-component-environment-gas", [.. parameters]);

EnvironmentBox.Visible = true;
}
else
{
EnvironmentBox.Visible = false;
}
EnvironmentDivider.Visible = EnvironmentBox.Visible;

// Section 5: Output
if (msg.ProduceData is not null)
{
var gases = PlantAnalyzerLocalizationHelper.GasesToLocalizedStrings(msg.ProduceData.ExudeGasses, _prototypeManager);
var (produce, producePlural) = PlantAnalyzerLocalizationHelper.ProduceToLocalizedStrings(msg.ProduceData.Produce, _prototypeManager);
var chemicals = PlantAnalyzerLocalizationHelper.ChemicalsToLocalizedStrings(msg.ProduceData.Chemicals, _prototypeManager);

(string, object)[] parameters = [
("yield", msg.ProduceData.Yield),
("gasCount", msg.ProduceData.ExudeGasses.Count),
("gases", gases),
("potency", Loc.GetString(msg.ProduceData.Potency)),
("seedless", msg.ProduceData.Seedless),
("firstProduce", msg.ProduceData.Produce.FirstOrDefault() ?? ""),
("produce", produce),
("producePlural", producePlural),
("chemCount", msg.ProduceData.Chemicals.Count),
("chemicals", chemicals),
("nothing", "")
];

ProduceLabel.Text = Loc.GetString("plant-analyzer-output", [.. parameters]);
ProduceBox.Visible = true;
}
else
{
ProduceBox.Visible = false;
}
ProduceDivider.Visible = ProduceBox.Visible;
}
}
3 changes: 0 additions & 3 deletions Content.Client/IoC/ClientContentIoC.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,10 @@
using Content.Shared.Administration.Logs;
using Content.Client.Lobby;
using Content.Client.Players.RateLimiting;
using Content.Client.Replay;
using Content.Shared.Administration.Managers;
using Content.Shared.Chat;
using Content.Shared.Players.PlayTimeTracking;
using Content.Shared.Players.RateLimiting;
using Robust.Client.GameObjects;

namespace Content.Client.IoC
{
internal static class ClientContentIoC
Expand Down
3 changes: 2 additions & 1 deletion Content.Client/Light/AfterLightTargetOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ protected override void Draw(in OverlayDrawArgs args)
var bounds = args.WorldBounds;

// at 1-1 render scale it's mostly fine but at 4x4 it's way too fkn big
var newScale = viewport.RenderScale / 2f;
var lightScale = viewport.LightRenderTarget.Size / (Vector2) viewport.Size;
var newScale = viewport.RenderScale / (Vector2.One / lightScale);

var localMatrix =
viewport.LightRenderTarget.GetWorldToLocalMatrix(viewport.Eye, newScale);
Expand Down
Loading
Loading