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

Upstream1902 #1123

Merged
merged 269 commits into from
Feb 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
269 commits
Select commit Hold shift + click to select a range
b13ccfe
poke tests
ElectroJr Jan 18, 2025
02f7dad
Thou shall not map items with "do not map" suffix
Killerqu00 Jan 28, 2025
d15a770
convert it to entity category
Killerqu00 Jan 29, 2025
32f7ea6
slight text adjustment
Killerqu00 Jan 29, 2025
e876bef
Merge branch 'master' into DONOTMAPTEST
Killerqu00 Feb 4, 2025
9d48f66
Create a Armor CoeffientQuery (#35024)
poklj Feb 10, 2025
54aeceb
Vulture test server config (#35005)
Errant-4 Feb 10, 2025
dc1edbe
Amber Armory Restock (#35045)
ToxicSonicFan04 Feb 10, 2025
4b58d7a
Fland Armory Restock (#35044)
Nox38 Feb 10, 2025
2219487
Wizard Fix - Rod Polymorph - Prevent gibbing & slows speed (#34992)
keronshb Feb 10, 2025
36bf554
Fix pacified players attacking with mechs (#34954)
themias Feb 10, 2025
724f87e
Automatic changelog update
PJBot Feb 10, 2025
d849a04
Fix character menu button not untoggling when window closes (#33712)
SpaceManiac Feb 11, 2025
0560834
Don't force-show storage windows when their contents change (#35048)
sowelipililimute Feb 11, 2025
371a513
Automatic changelog update
PJBot Feb 11, 2025
4abadf9
Display radio frequencies with a decimal place (#35046)
Tayrtahn Feb 11, 2025
a8715dc
Automatic changelog update
PJBot Feb 11, 2025
d351f32
Fix multiple research consoles exploit (#34334)
themias Feb 11, 2025
0cfcbde
Automatic changelog update
PJBot Feb 11, 2025
976172b
Replace DoorVisuals.Powered with PowerDeviceVisuals.Powered (#34646)
ShadowCommander Feb 11, 2025
08e5362
Purges uses of TransformComponent.WorldRotation (#34946)
TemporalOroboros Feb 11, 2025
a30fe60
Purge uses of TransformComponent.GetWorldPositionRotation... variants…
TemporalOroboros Feb 11, 2025
1f0d68c
Grenade resprites part 1, stinger sound change, projectile grenade an…
K-Dynamic Feb 11, 2025
a393c15
Automatic changelog update
PJBot Feb 11, 2025
eb1f846
Pulled item interaction fix (#34587)
themias Feb 11, 2025
224a95b
Automatic changelog update
PJBot Feb 11, 2025
66ff1aa
Fix references to obsolete TryGetContainingContainer override (#34912)
TemporalOroboros Feb 11, 2025
a2ac503
Sentry turrets - Part 1: Art assets (#35025)
chromiumboy Feb 11, 2025
16149f1
Put screwdrivers in the vendomat (#35059)
Nox38 Feb 11, 2025
e023c78
Automatic changelog update
PJBot Feb 11, 2025
8d51a1f
buff python (#33306)
pheenty Feb 11, 2025
dbcd86a
Automatic changelog update
PJBot Feb 11, 2025
4122310
Fix 38 non-obsolete warnings (#33794)
SpaceManiac Feb 11, 2025
5eceaf3
Remove batong etc from emagged autolathe (#35014)
deltanedas Feb 11, 2025
dc67a5a
Purges uses of TransformComponent.WorldMatrix and TransformComponent.…
TemporalOroboros Feb 11, 2025
b0cacc7
fix conveyor belt default linking (#32688)
qwerltaz Feb 11, 2025
9db50c9
Add additional holiday gear to jobs (#34207)
minus1over12 Feb 11, 2025
0feeaba
Increase the price of bulletproof armor. (#34541)
centcomofficer24 Feb 11, 2025
c699bd9
Automatic changelog update
PJBot Feb 11, 2025
a62ffdc
Move contraband text to a separate examine tab (#32250)
Killerqu00 Feb 11, 2025
527f4ae
make interrogator lamp security contraband (#35064)
pheenty Feb 11, 2025
c197d3d
Automatic changelog update
PJBot Feb 11, 2025
15b2893
Add loadout names (#31303)
metalgearsloth Feb 11, 2025
0b2d700
Update BuildChecker.csproj (#35072)
Winkarst-cpu Feb 11, 2025
7b38a99
give CE atmos gas mask (#35063)
pheenty Feb 11, 2025
5c598ae
Automatic changelog update
PJBot Feb 11, 2025
78c951c
Fixed trooper uniform sprite (#35065)
justdie12 Feb 11, 2025
2c728dc
Make Advanced Spray more tolerable to use (#34209)
Terraspark4941 Feb 11, 2025
fa020ce
Automatic changelog update
PJBot Feb 11, 2025
46b1929
Fix followers getting sent to nullspace when target is polymorphed (#…
Tayrtahn Feb 11, 2025
072d2f4
Automatic changelog update
PJBot Feb 11, 2025
bf20b6b
Convex update (#35086)
Spessmann Feb 11, 2025
a849d2c
ancient jumpsuit copyright info (#35061)
robinthedragon Feb 11, 2025
4603b47
Limit maximum capacity of fillable cluster grenades (#34281)
Tayrtahn Feb 11, 2025
4e39481
Automatic changelog update
PJBot Feb 11, 2025
daad17c
Add fultons as a T2 research (#34567)
beck-thompson Feb 12, 2025
4dfe1c1
Automatic changelog update
PJBot Feb 12, 2025
5b394c2
Fix energy katana resolve error (#35082)
Winkarst-cpu Feb 12, 2025
129bcdf
Deathsquad revolver ammo fix (#34910)
Nox38 Feb 12, 2025
c588498
Automatic changelog update
PJBot Feb 12, 2025
5c98da4
Update submodule to 244.0.0 (#35094)
metalgearsloth Feb 12, 2025
75727db
Add new freezer atmos devices and fix freezer fixgridatmos marker (#3…
ArtisticRoomba Feb 12, 2025
0d7ff79
update the announce command (#34889)
MilonPL Feb 12, 2025
107f472
Automatic changelog update
PJBot Feb 12, 2025
773159d
Add datafield comments to PlantHolderComponent (#35099)
Partmedia Feb 12, 2025
0d33e61
Split ``ReplacementAccentPrototype`` and ``ReplacementAccentComponen…
Winkarst-cpu Feb 12, 2025
47cb8a0
RoomSpawner mask (#33110)
TheShuEd Feb 12, 2025
859918f
light brown fibers (#35111)
Ghagliiarghii Feb 12, 2025
0bb6f19
Automatic changelog update
PJBot Feb 12, 2025
9fad863
Wizard Staff of Animation (#34649)
ActiveMammmoth Feb 13, 2025
382cd71
Use screen local north for buckling/unbuckling layering, plus #31625 …
SaphireLattice Feb 13, 2025
25de99e
Automatic changelog update
PJBot Feb 13, 2025
f6a1fd5
add missing base calls to several BUIs (#35124)
MilonPL Feb 13, 2025
8f96c77
Slime plushie now squishes (#33554)
Minemoder5000 Feb 13, 2025
d44d48e
Automatic changelog update
PJBot Feb 13, 2025
3c8fb2e
Grilled Cheese Sandwich Entity and Recipe (#33807)
AgentSmithRadio Feb 13, 2025
6fe531d
Automatic changelog update
PJBot Feb 13, 2025
2515371
Fix "Manage Laws" button appearing with insufficient permissions (#35…
Simyon264 Feb 13, 2025
87f2071
Make experimental welding tool less harmful to eyes (#34792)
themias Feb 13, 2025
eb8b265
Automatic changelog update
PJBot Feb 13, 2025
0c4e8f6
Fix thrusters not dealing damage (#35088)
Winkarst-cpu Feb 13, 2025
2caf594
Automatic changelog update
PJBot Feb 13, 2025
be8702e
Fix intercom key deletion but for real this time (#34911)
Booblesnoot42 Feb 13, 2025
ba472d4
Automatic changelog update
PJBot Feb 13, 2025
7495081
Paramedic Void Suit update (#34657)
Velken Feb 13, 2025
3e17995
Automatic changelog update
PJBot Feb 13, 2025
fcc6688
Filter prototypes checked by NoStaticPriceAndStackPrice test and skip…
Tayrtahn Feb 13, 2025
c0dd8ed
Move the soles of the feet on the backward facing part of the RD's vo…
notquitehadouken Feb 13, 2025
a804628
Fix fax spamming (#35135)
themias Feb 13, 2025
35aa544
Automatic changelog update
PJBot Feb 13, 2025
7056c60
Fix dev server crashes caused by putting pills in drinks, depositing …
MossyGreySlope Feb 13, 2025
562a41c
Vote kicks now ban the target's ip (#35131)
nikthechampiongr Feb 13, 2025
dcfcd89
Automatic changelog update
PJBot Feb 13, 2025
cdf5069
Vote kicks now ban the target's ip (#35131)
nikthechampiongr Feb 13, 2025
1210523
High Heel Boots do the Clicky Clacky (#35083)
Centronias Feb 13, 2025
b07633d
Automatic changelog update
PJBot Feb 13, 2025
3b14289
minor thruster system cleanup (#35143)
slarticodefast Feb 13, 2025
26deb4c
Update engine to v245.0.0 (#35146)
ElectroJr Feb 14, 2025
782b979
Update staging engine to v245.0.0 (#35147)
ElectroJr Feb 14, 2025
c55e6aa
HOTFIX Vote kicks now ban the target's ip (#35131) (#35139)
slarticodefast Feb 14, 2025
0227afe
Fix: showfluids command activates for everyone (#35155)
Winkarst-cpu Feb 14, 2025
244d7a6
Fix embeddable projectiles dissapearing (reopening) (#35153)
TheShuEd Feb 14, 2025
498440d
make chameleon verb predicted (#35156)
MilonPL Feb 14, 2025
db732a2
Supermatter Grenade Rework (#35122)
keronshb Feb 14, 2025
63b9255
Automatic changelog update
PJBot Feb 14, 2025
862a2a7
Predicted dice rolls (#34863)
Plykiya Feb 14, 2025
ef4f5cf
Engineering guidebook improvements (#34695)
ArtisticRoomba Feb 15, 2025
b45613a
Automatic changelog update
PJBot Feb 15, 2025
51a56e0
Separate Udder examine into ExamineableHunger (#35164)
Tayrtahn Feb 15, 2025
9042827
Automatic changelog update
PJBot Feb 15, 2025
3d1970f
Merge staging into master, bump engine to v245.0.0 on master (#35154)
Simyon264 Feb 15, 2025
4474727
Fix air devices ignoring settings after power cycle (#34887)
VerinSenpai Feb 15, 2025
97d6111
Automatic changelog update
PJBot Feb 15, 2025
71b5133
Fix colornetwork command not checking for correct permissions (#35180)
Simyon264 Feb 15, 2025
0cb1124
Store Refund - Add more disable scenerios & time to disable refund. (…
keronshb Feb 15, 2025
d798d4d
Update StaticFieldValidationTest (#34287)
ElectroJr Feb 15, 2025
831dbef
move a colon to the localization string (#35192)
VerinSenpai Feb 16, 2025
e97d687
remove usages of obsolete EntityUid method variants (#35106)
MilonPL Feb 16, 2025
5e45de0
Update Credits (#35196)
github-actions[bot] Feb 16, 2025
fb1d180
Docking allocs reduc (#34965)
metalgearsloth Feb 16, 2025
eedc992
Merge branch 'master' of https://github.com/space-wizards/space-stati…
ElectroJr Feb 16, 2025
19dee8a
Update submodule to 245.1.0 (#35198)
metalgearsloth Feb 16, 2025
e3a636a
fix relic
ElectroJr Feb 16, 2025
3668e55
Update submodule to 245.1.0 (#35198)
metalgearsloth Feb 16, 2025
b6ee183
Add planet lighting (#32522)
metalgearsloth Feb 16, 2025
46b8169
Automatic changelog update
PJBot Feb 16, 2025
5e2015e
Update submodule to 246.0.0 (#35202)
metalgearsloth Feb 16, 2025
29029d2
Add ability for admins to change certain cvars via command. (#35105)
Simyon264 Feb 16, 2025
3551eb0
[STAGING] Update submodule to 245.1.0 (#35198) (#35201)
ElectroJr Feb 16, 2025
2bd7bb1
Refactor map loading & saving (#34020)
ElectroJr Feb 16, 2025
a556f03
Merge branch 'master' of https://github.com/space-wizards/space-stati…
ElectroJr Feb 16, 2025
bcb82fc
Update permissions for engine toolshed PR (#34029)
ElectroJr Feb 16, 2025
7d42b2b
Update engine to v247.0.0
ElectroJr Feb 16, 2025
4169a6d
Update engine to v247.0.0 (#35204)
ElectroJr Feb 16, 2025
afc4194
Merge branch 'master' of https://github.com/space-wizards/space-stati…
ElectroJr Feb 16, 2025
81ff9bd
Fix merge conflict
ElectroJr Feb 16, 2025
b43cb06
Expand whitelist
ElectroJr Feb 16, 2025
a9f900c
"DO NOT MAP" items integration test (#34711)
ElectroJr Feb 16, 2025
ead32b5
Apply RoofOverlay per-grid not per-map + fix lighting quality (#35207)
metalgearsloth Feb 16, 2025
8a68548
Automatic changelog update
PJBot Feb 16, 2025
bc3517f
Uncomment blur (#35213)
metalgearsloth Feb 16, 2025
7eebb96
Automatic changelog update
PJBot Feb 16, 2025
1984235
Ignore weather on rooved tiles (#35214)
metalgearsloth Feb 16, 2025
4f14871
Automatic changelog update
PJBot Feb 16, 2025
ca9479f
Fix hitscan visuals (#34515)
ElectroJr Feb 16, 2025
3d5943a
Automatic changelog update
PJBot Feb 16, 2025
95908c6
Stable merge
VasilisThePikachu Feb 16, 2025
aa7f26b
Stable merge (#35216)
VasilisThePikachu Feb 16, 2025
5fb60f3
fix sync issue with paramed siren (#35203)
Velken Feb 16, 2025
904c933
Automatic changelog update
PJBot Feb 16, 2025
a82b234
fix use in hand for uplink items (#35218)
slarticodefast Feb 16, 2025
a695616
Automatic changelog update
PJBot Feb 16, 2025
489876a
Change `visualize` command perms to VarEdit instead of Admin (#35221)
Simyon264 Feb 16, 2025
7bf33ff
Wizard Fix - Summon Ghost Event no longer shows Admin Ghosts or Reven…
keronshb Feb 16, 2025
5ecb623
Update ContentLocalizationManager.cs
VerinSenpai Feb 16, 2025
f6fda97
I'm gonna do something drastic I swear.
VerinSenpai Feb 16, 2025
3628161
[ADMIN] Adds missing accesses to universal access config (#35229)
ScarKy0 Feb 16, 2025
732bd20
Automatic changelog update
PJBot Feb 16, 2025
a980922
Replaced Bulldog beanbag drum with lethals drum (#34945)
semensponge Feb 16, 2025
a7bebef
Automatic changelog update
PJBot Feb 16, 2025
04c88e8
Fix debug assert in ScoopableSolution (#35225)
Tayrtahn Feb 17, 2025
0fbacd7
Update ContentLocalizationManager.cs
VerinSenpai Feb 17, 2025
1c05108
ConfirmableAction for DNA Scrambler implant (#35232)
psykana Feb 17, 2025
b55ef7d
Automatic changelog update
PJBot Feb 17, 2025
1d36095
made requested changes.
VerinSenpai Feb 17, 2025
cf38814
General storage fixes (#34845)
metalgearsloth Feb 17, 2025
890ad45
Don't count lobby players for latejoin antag ratio (#35209)
Errant-4 Feb 17, 2025
4118e70
Centcomm 3: Beyond Thunderdome (#35240)
Emisse Feb 17, 2025
ee534f1
Automatic changelog update
PJBot Feb 17, 2025
879a3e9
Fix role timer string formatting. (#35227)
VasilisThePikachu Feb 17, 2025
183438c
centcomm fix (#35244)
Emisse Feb 17, 2025
c1b3577
init
ScarKy0 Feb 17, 2025
d71b469
slightly lighter
ScarKy0 Feb 17, 2025
5ffe14e
i cant decide
ScarKy0 Feb 17, 2025
2069f14
Re-implement world gen (space debris) across all servers (#34795)
Sparlight Feb 17, 2025
88a98df
Automatic changelog update
PJBot Feb 17, 2025
fc67396
Centcomm 3: Beyond Thunderdome Update (#35251)
Emisse Feb 17, 2025
eb930f5
blue
ScarKy0 Feb 17, 2025
03c56ef
New Feature: Votekick bans distinguish themselves as votekicks (#35258)
Winkarst-cpu Feb 17, 2025
a9b487e
Automatic changelog update
PJBot Feb 17, 2025
241d0e1
Fix SuperSlippery And StepTriggers persisting when UpdateSlip is call…
poklj Feb 17, 2025
5ccea54
Automatic changelog update
PJBot Feb 17, 2025
3d7e7e8
Make AllowedEmotes bypass whitelists and fix syndiborg ability to lau…
lzk228 Feb 17, 2025
6b8ac70
Automatic changelog update
PJBot Feb 17, 2025
918767b
Magical contraband type (#35254)
ScarKy0 Feb 18, 2025
2764638
Minor station AI code cleanup (#34476)
chromiumboy Feb 18, 2025
3200ba8
Add ability for +VVEDIT users to scale damage/healing in the game (#3…
SlamBamActionman Feb 18, 2025
66a1b80
Automatic changelog update
PJBot Feb 18, 2025
42ce083
Add CentComm Comms Console + Change admin announcement color (#35248)
VasilisThePikachu Feb 18, 2025
0f4ab0e
Automatic changelog update
PJBot Feb 18, 2025
eff2581
[ChangeCVarCommand] Mapping Command (#35239)
Simyon264 Feb 18, 2025
deef592
Automatic changelog update
PJBot Feb 18, 2025
2396342
[Bugfix] ContrabandSystem checks jobs correctly (#35228)
Killerqu00 Feb 18, 2025
6bb19d8
Automatic changelog update
PJBot Feb 18, 2025
e09ef5a
Fix MappingCommand grid loading (#35233)
ElectroJr Feb 18, 2025
d171057
UseInHandEvent cleanup (#35231)
slarticodefast Feb 18, 2025
834e11a
fix observer ghost spawn error (#35253)
Errant-4 Feb 18, 2025
6d1cdd8
Added a test for the MagazineVisualsComponent and fixed found issues …
Ian321 Feb 18, 2025
556c36f
Automatic changelog update
PJBot Feb 18, 2025
aca846c
Fix build ghosts not being placeable on a new round. (#35097)
VerinSenpai Feb 18, 2025
f39587c
Small loadout window improvement (#35171)
lzk228 Feb 18, 2025
63f640d
Make ``ShuttleGunBase`` child of ``BaseStructure`` (#35085)
Winkarst-cpu Feb 18, 2025
e8199c5
Remove unnecessary prototype reloading in integration tests (#35199)
ElectroJr Feb 18, 2025
c0e5c18
Add radiation shielding to metal crates (#35168)
minus1over12 Feb 18, 2025
bfd824b
Automatic changelog update
PJBot Feb 18, 2025
6b265b4
Remove inaccessible code from SharedDoAfterSystem (#35089)
Winkarst-cpu Feb 18, 2025
b85253d
Fix contraband parenting defaulting to security. (#35281)
BramvanZijp Feb 18, 2025
20efb94
Automatic changelog update
PJBot Feb 18, 2025
0df6bfb
Crusher Dagger Knife Component (#35259)
Pronana Feb 18, 2025
73796b1
Automatic changelog update
PJBot Feb 18, 2025
b3cea81
add ShowJobIcons to AiHeldIntellicard (#35282)
lizelive Feb 18, 2025
543b482
Automatic changelog update
PJBot Feb 18, 2025
e0d911b
Wizard Recall shows Disappearing text at Coordinate (#35272)
CooperWallace Feb 19, 2025
ff78940
Automatic changelog update
PJBot Feb 19, 2025
eefed62
loop latejoin hotfix (#35260)
TytosB Feb 19, 2025
60306dd
centcomm update (#35293)
Emisse Feb 19, 2025
2a124ad
Fix some emotes not respecting pronounces (#35289)
lzk228 Feb 19, 2025
5642d7c
Saxophone fix (#35257)
SpaceLizard24 Feb 19, 2025
c62ed86
Automatic changelog update
PJBot Feb 19, 2025
f241c90
Merge branch 'master' of https://github.com/space-wizards/space-stati…
Schrodinger71 Feb 19, 2025
1903db8
fix(src, proto): Фиксы всех наших систем после рефактора LoadMap. Eva…
Schrodinger71 Feb 19, 2025
9e734c7
fix(proto): Изменяю везде parent: с ClothingHeadHardsuitWithLightBase…
Schrodinger71 Feb 19, 2025
47bb999
fix(src): Фикс загрузки админ арен. Теперь это работает
Schrodinger71 Feb 20, 2025
45e540b
fix(src, map): Исправлен спавн ГостБара, карта calm_ghostly_bar.yml т…
Schrodinger71 Feb 20, 2025
355cd60
Merge branch 'master' into upstream1902
Schrodinger71 Feb 20, 2025
1a95fb7
fix(src, map): починена команда sendert, теперь происходит загрузка ч…
Schrodinger71 Feb 20, 2025
f92f071
fix(src): Фикс в PiratesRuleSystem, коректная загрузка грида шаттла п…
Schrodinger71 Feb 20, 2025
4e8d5ce
remove(src): Удалены лишние using в SendERTCommand.cs
Schrodinger71 Feb 20, 2025
6c21fcf
fix(src): По идее починена загрузка лаваленда
Schrodinger71 Feb 21, 2025
477f993
fix(src): Убрана лишняя проверка для загрузки лавалэнда
Schrodinger71 Feb 21, 2025
4c460da
fix(proto): Fix YAML Linter. id: ClothingHeadHelmetHardsuitCap fix pa…
Schrodinger71 Feb 21, 2025
982e2fa
fix(proto): SupermatterGrenade заменено SingularityGrenade
Schrodinger71 Feb 21, 2025
9017c4e
Merge branch 'master' into upstream1902
Schrodinger71 Feb 21, 2025
ae854ea
fix(src): Пофикшено, AdditionalMap снова работает
Schrodinger71 Feb 21, 2025
e7d0b39
tweak(proto): откатываю DEv тест штуки
Schrodinger71 Feb 21, 2025
2e7c8e4
fix(map): ФИКс /Resources/Maps/loop.yml
Schrodinger71 Feb 21, 2025
6301190
fix(map): Фикс линтера гридов
Schrodinger71 Feb 21, 2025
15f6009
fix(map): id: BloodMinerDungeMarker закоменчен везде
Schrodinger71 Feb 21, 2025
6254fb3
fix(proto): у ClothingOuterArmorAirsoftRed и ClothingOuterArmorAirsof…
Schrodinger71 Feb 21, 2025
1370ff8
merge
Schrodinger71 Feb 22, 2025
5a6ea71
fix(map): Fix packed
Schrodinger71 Feb 22, 2025
ba4df46
fix(map): corvax_centcomm.yml сохранен как грид, Misc/terminal.yml со…
Schrodinger71 Feb 22, 2025
ff77843
fix(map): corvax_centcomm.yml небольшие правки в прототипе
Schrodinger71 Feb 22, 2025
966bb8e
fix(map): опять правки в терминале
Schrodinger71 Feb 22, 2025
7ffe20b
tweak(proto): закомменчен magazinevisual в WeaponDragonBreath
Schrodinger71 Feb 22, 2025
fd75e5e
fix(proto): фикс скафандра ОСЩ
Schrodinger71 Feb 22, 2025
308631c
fix(proto): ADTWeaponEnergyCrossbow, добавлен AppearanceComponent
Schrodinger71 Feb 22, 2025
851f83a
fix(proto): Фиксы скафандров, и энерго арбалетов
Schrodinger71 Feb 23, 2025
c12a634
Переработчик руды имеет кнопку для получения очков
Schrodinger71 Feb 23, 2025
a54a858
Merge branch 'master' into upstream1902
Schrodinger71 Feb 23, 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
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions BuildChecker/BuildChecker.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ You want to handle the Build, Clean and Rebuild tasks to prevent missing task er
If you want to learn more about these kinds of things, check out Microsoft's official documentation about MSBuild:
https://docs.microsoft.com/en-us/visualstudio/msbuild/msbuild
-->
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Python>python3</Python>
<Python Condition="'$(OS)'=='Windows_NT' Or '$(OS)'=='Windows'">py -3</Python>
<ProjectGuid>{C899FCA4-7037-4E49-ABC2-44DE72487110}</ProjectGuid>
<TargetFrameworkMoniker>.NETFramework, Version=v4.7.2</TargetFrameworkMoniker>
<TargetFramework>net4.7.2</TargetFramework>
<RestorePackages>false</RestorePackages>
</PropertyGroup>
<PropertyGroup>
Expand Down
12 changes: 6 additions & 6 deletions Content.Benchmarks/ComponentQueryBenchmark.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@
using Content.Shared.Clothing.Components;
using Content.Shared.Doors.Components;
using Content.Shared.Item;
using Robust.Server.GameObjects;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.EntitySerialization;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Map.Components;
using Robust.Shared.Random;
using Robust.Shared.Utility;

namespace Content.Benchmarks;

Expand All @@ -32,7 +33,6 @@ public class ComponentQueryBenchmark

private TestPair _pair = default!;
private IEntityManager _entMan = default!;
private MapId _mapId = new(10);
private EntityQuery<ItemComponent> _itemQuery;
private EntityQuery<ClothingComponent> _clothingQuery;
private EntityQuery<MapComponent> _mapQuery;
Expand All @@ -54,10 +54,10 @@ public void Setup()
_pair.Server.ResolveDependency<IRobustRandom>().SetSeed(42);
_pair.Server.WaitPost(() =>
{
var success = _entMan.System<MapLoaderSystem>().TryLoad(_mapId, Map, out _);
if (!success)
var map = new ResPath(Map);
var opts = DeserializationOptions.Default with {InitializeMaps = true};
if (!_entMan.System<MapLoaderSystem>().TryLoadMap(map, out _, out _, opts))
throw new Exception("Map load failed");
_pair.Server.MapMan.DoMapInitialize(_mapId);
}).GetAwaiter().GetResult();

_items = new EntityUid[_entMan.Count<ItemComponent>()];
Expand Down
19 changes: 10 additions & 9 deletions Content.Benchmarks/MapLoadBenchmark.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@
using Content.IntegrationTests;
using Content.IntegrationTests.Pair;
using Content.Server.Maps;
using Robust.Server.GameObjects;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;

namespace Content.Benchmarks;

Expand All @@ -20,7 +21,7 @@ public class MapLoadBenchmark
{
private TestPair _pair = default!;
private MapLoaderSystem _mapLoader = default!;
private IMapManager _mapManager = default!;
private SharedMapSystem _mapSys = default!;

[GlobalSetup]
public void Setup()
Expand All @@ -36,7 +37,7 @@ public void Setup()
.ToDictionary(x => x.ID, x => x.MapPath.ToString());

_mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();
_mapManager = server.ResolveDependency<IMapManager>();
_mapSys = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<SharedMapSystem>();
}

[GlobalCleanup]
Expand All @@ -52,27 +53,27 @@ public async Task Cleanup()
public string Map;

public Dictionary<string, string> Paths;
private MapId _mapId;

[Benchmark]
public async Task LoadMap()
{
var mapPath = Paths[Map];
var mapPath = new ResPath(Paths[Map]);
var server = _pair.Server;
await server.WaitPost(() =>
{
var success = _mapLoader.TryLoad(new MapId(10), mapPath, out _);
var success = _mapLoader.TryLoadMap(mapPath, out var map, out _);
if (!success)
throw new Exception("Map load failed");
_mapId = map.Value.Comp.MapId;
});
}

[IterationCleanup]
public void IterationCleanup()
{
var server = _pair.Server;
server.WaitPost(() =>
{
_mapManager.DeleteMap(new MapId(10));
}).Wait();
server.WaitPost(() => _mapSys.DeleteMap(_mapId))
.Wait();
}
}
11 changes: 6 additions & 5 deletions Content.Benchmarks/PvsBenchmark.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@
using Content.IntegrationTests.Pair;
using Content.Server.Mind;
using Content.Server.Warps;
using Robust.Server.GameObjects;
using Robust.Shared;
using Robust.Shared.Analyzers;
using Robust.Shared.EntitySerialization;
using Robust.Shared.EntitySerialization.Systems;
using Robust.Shared.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Player;
using Robust.Shared.Random;
using Robust.Shared.Utility;

namespace Content.Benchmarks;

Expand All @@ -34,7 +36,6 @@ public class PvsBenchmark

private TestPair _pair = default!;
private IEntityManager _entMan = default!;
private MapId _mapId = new(10);
private ICommonSession[] _players = default!;
private EntityCoordinates[] _spawns = default!;
public int _cycleOffset = 0;
Expand Down Expand Up @@ -65,10 +66,10 @@ private async Task SetupAsync()
_pair.Server.ResolveDependency<IRobustRandom>().SetSeed(42);
await _pair.Server.WaitPost(() =>
{
var success = _entMan.System<MapLoaderSystem>().TryLoad(_mapId, Map, out _);
if (!success)
var path = new ResPath(Map);
var opts = DeserializationOptions.Default with {InitializeMaps = true};
if (!_entMan.System<MapLoaderSystem>().TryLoadMap(path, out _, out _, opts))
throw new Exception("Map load failed");
_pair.Server.MapMan.DoMapInitialize(_mapId);
});

// Get list of ghost warp positions
Expand Down
1 change: 1 addition & 0 deletions Content.Client/Actions/ActionsSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ private void OnEntityTargetHandleState(EntityUid uid, EntityTargetActionComponen
return;

component.Whitelist = state.Whitelist;
component.Blacklist = state.Blacklist;
component.CanTargetSelf = state.CanTargetSelf;
BaseHandleState<EntityTargetActionComponent>(uid, component, state);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ public AtmosAlertsComputerBoundUserInterface(EntityUid owner, Enum uiKey) : base

protected override void Open()
{
base.Open();

_menu = new AtmosAlertsComputerWindow(this, Owner);
_menu.OpenCentered();
_menu.OnClose += Close;
Expand Down
3 changes: 2 additions & 1 deletion Content.Client/Atmos/EntitySystems/GasTileOverlaySystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public sealed class GasTileOverlaySystem : SharedGasTileOverlaySystem
[Dependency] private readonly IResourceCache _resourceCache = default!;
[Dependency] private readonly IOverlayManager _overlayMan = default!;
[Dependency] private readonly SpriteSystem _spriteSys = default!;
[Dependency] private readonly SharedTransformSystem _xformSys = default!;

private GasTileOverlay _overlay = default!;

Expand All @@ -25,7 +26,7 @@ public override void Initialize()
SubscribeNetworkEvent<GasOverlayUpdateEvent>(HandleGasOverlayUpdate);
SubscribeLocalEvent<GasTileOverlayComponent, ComponentHandleState>(OnHandleState);

_overlay = new GasTileOverlay(this, EntityManager, _resourceCache, ProtoMan, _spriteSys);
_overlay = new GasTileOverlay(this, EntityManager, _resourceCache, ProtoMan, _spriteSys, _xformSys);
_overlayMan.AddOverlay(_overlay);
}

Expand Down
12 changes: 8 additions & 4 deletions Content.Client/Atmos/Overlays/GasTileOverlay.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public sealed class GasTileOverlay : Overlay
{
private readonly IEntityManager _entManager;
private readonly IMapManager _mapManager;
private readonly SharedTransformSystem _xformSys;

public override OverlaySpace Space => OverlaySpace.WorldSpaceEntities | OverlaySpace.WorldSpaceBelowWorld;
private readonly ShaderInstance _shader;
Expand All @@ -46,10 +47,11 @@ public sealed class GasTileOverlay : Overlay

public const int GasOverlayZIndex = (int) Shared.DrawDepth.DrawDepth.Effects; // Under ghosts, above mostly everything else

public GasTileOverlay(GasTileOverlaySystem system, IEntityManager entManager, IResourceCache resourceCache, IPrototypeManager protoMan, SpriteSystem spriteSys)
public GasTileOverlay(GasTileOverlaySystem system, IEntityManager entManager, IResourceCache resourceCache, IPrototypeManager protoMan, SpriteSystem spriteSys, SharedTransformSystem xformSys)
{
_entManager = entManager;
_mapManager = IoCManager.Resolve<IMapManager>();
_xformSys = xformSys;
_shader = protoMan.Index<ShaderPrototype>("unshaded").Instance();
ZIndex = GasOverlayZIndex;

Expand Down Expand Up @@ -158,7 +160,8 @@ protected override void Draw(in OverlayDrawArgs args)
_fireFrameCounter,
_shader,
overlayQuery,
xformQuery);
xformQuery,
_xformSys);

var mapUid = _mapManager.GetMapEntityId(args.MapId);

Expand All @@ -180,15 +183,16 @@ protected override void Draw(in OverlayDrawArgs args)
int[] fireFrameCounter,
ShaderInstance shader,
EntityQuery<GasTileOverlayComponent> overlayQuery,
EntityQuery<TransformComponent> xformQuery) state) =>
EntityQuery<TransformComponent> xformQuery,
SharedTransformSystem xformSys) state) =>
{
if (!state.overlayQuery.TryGetComponent(uid, out var comp) ||
!state.xformQuery.TryGetComponent(uid, out var gridXform))
{
return true;
}

var (_, _, worldMatrix, invMatrix) = gridXform.GetWorldPositionRotationMatrixWithInv();
var (_, _, worldMatrix, invMatrix) = state.xformSys.GetWorldPositionRotationMatrixWithInv(gridXform);
state.drawHandle.SetTransform(worldMatrix);
var floatBounds = invMatrix.TransformBox(state.WorldBounds).Enlarged(grid.TileSize);
var localBounds = new Box2i(
Expand Down
53 changes: 51 additions & 2 deletions Content.Client/Buckle/BuckleSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,24 @@
using Content.Shared.Buckle.Components;
using Content.Shared.Rotation;
using Robust.Client.GameObjects;
using Robust.Shared.GameStates;
using Robust.Client.Graphics;

namespace Content.Client.Buckle;

internal sealed class BuckleSystem : SharedBuckleSystem
{
[Dependency] private readonly RotationVisualizerSystem _rotationVisualizerSystem = default!;
[Dependency] private readonly IEyeManager _eye = default!;
[Dependency] private readonly SharedTransformSystem _xformSystem = default!;

public override void Initialize()
{
base.Initialize();

SubscribeLocalEvent<BuckleComponent, AppearanceChangeEvent>(OnAppearanceChange);
SubscribeLocalEvent<StrapComponent, MoveEvent>(OnStrapMoveEvent);
SubscribeLocalEvent<BuckleComponent, BuckledEvent>(OnBuckledEvent);
SubscribeLocalEvent<BuckleComponent, UnbuckledEvent>(OnUnbuckledEvent);
}

private void OnStrapMoveEvent(EntityUid uid, StrapComponent component, ref MoveEvent args)
Expand All @@ -28,13 +32,21 @@ private void OnStrapMoveEvent(EntityUid uid, StrapComponent component, ref MoveE
// This code is garbage, it doesn't work with rotated viewports. I need to finally get around to reworking
// sprite rendering for entity layers & direction dependent sorting.

// Future notes:
// Right now this doesn't handle: other grids, other grids rotating, the camera rotation changing, and many other fun rotation specific things
// The entire thing should be a concern of the engine, or something engine helps to implement properly.
// Give some of the sprite rotations their own drawdepth, maybe as an offset within the rsi, or something like this
// And we won't ever need to set the draw depth manually

if (args.NewRotation == args.OldRotation)
return;

if (!TryComp<SpriteComponent>(uid, out var strapSprite))
return;

var isNorth = Transform(uid).LocalRotation.GetCardinalDir() == Direction.North;
var angle = _xformSystem.GetWorldRotation(uid) + _eye.CurrentEye.Rotation; // Get true screen position, or close enough

var isNorth = angle.GetCardinalDir() == Direction.North;
foreach (var buckledEntity in component.BuckledEntities)
{
if (!TryComp<BuckleComponent>(buckledEntity, out var buckle))
Expand All @@ -45,6 +57,7 @@ private void OnStrapMoveEvent(EntityUid uid, StrapComponent component, ref MoveE

if (isNorth)
{
// This will only assign if empty, it won't get overwritten by new depth on multiple calls, which do happen easily
buckle.OriginalDrawDepth ??= buckledSprite.DrawDepth;
buckledSprite.DrawDepth = strapSprite.DrawDepth - 1;
}
Expand All @@ -56,6 +69,42 @@ private void OnStrapMoveEvent(EntityUid uid, StrapComponent component, ref MoveE
}
}

/// <summary>
/// Lower the draw depth of the buckled entity without needing for the strap entity to rotate/move.
/// Only do so when the entity is facing screen-local north
/// </summary>
private void OnBuckledEvent(Entity<BuckleComponent> ent, ref BuckledEvent args)
{
if (!TryComp<SpriteComponent>(args.Strap, out var strapSprite))
return;

if (!TryComp<SpriteComponent>(ent.Owner, out var buckledSprite))
return;

var angle = _xformSystem.GetWorldRotation(args.Strap) + _eye.CurrentEye.Rotation; // Get true screen position, or close enough

if (angle.GetCardinalDir() != Direction.North)
return;

ent.Comp.OriginalDrawDepth ??= buckledSprite.DrawDepth;
buckledSprite.DrawDepth = strapSprite.DrawDepth - 1;
}

/// <summary>
/// Was the draw depth of the buckled entity lowered? Reset it upon unbuckling.
/// </summary>
private void OnUnbuckledEvent(Entity<BuckleComponent> ent, ref UnbuckledEvent args)
{
if (!TryComp<SpriteComponent>(ent.Owner, out var buckledSprite))
return;

if (!ent.Comp.OriginalDrawDepth.HasValue)
return;

buckledSprite.DrawDepth = ent.Comp.OriginalDrawDepth.Value;
ent.Comp.OriginalDrawDepth = null;
}

private void OnAppearanceChange(EntityUid uid, BuckleComponent component, ref AppearanceChangeEvent args)
{
if (!TryComp<RotationVisualsComponent>(uid, out var rotVisuals))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,11 @@ public List<ReagentSourceData> GetReagentSources(string id)
{
return _reagentSources.GetValueOrDefault(id) ?? new List<ReagentSourceData>();
}

// Is handled on server and updated on client via ReagentGuideRegistryChangedEvent
public override void ReloadAllReagentPrototypes()
{
}
}

/// <summary>
Expand Down
1 change: 1 addition & 0 deletions Content.Client/Construction/ConstructionGhostComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ namespace Content.Client.Construction
[RegisterComponent]
public sealed partial class ConstructionGhostComponent : Component
{
public int GhostId { get; set; }
[ViewVariables] public ConstructionPrototype? Prototype { get; set; }
}
}
9 changes: 8 additions & 1 deletion Content.Client/Construction/ConstructionSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,12 @@ public override void Initialize()
.Register<ConstructionSystem>();

SubscribeLocalEvent<ConstructionGhostComponent, ExaminedEvent>(HandleConstructionGhostExamined);
SubscribeLocalEvent<ConstructionGhostComponent, ComponentShutdown>(HandleGhostComponentShutdown);
}

private void HandleGhostComponentShutdown(EntityUid uid, ConstructionGhostComponent component, ComponentShutdown args)
{
ClearGhost(component.GhostId);
}

private void OnConstructionGuideReceived(ResponseConstructionGuide ev)
Expand Down Expand Up @@ -205,8 +211,9 @@ public bool TrySpawnGhost(
ghost = EntityManager.SpawnEntity("constructionghost", loc);
var comp = EntityManager.GetComponent<ConstructionGhostComponent>(ghost.Value);
comp.Prototype = prototype;
comp.GhostId = ghost.GetHashCode();
EntityManager.GetComponent<TransformComponent>(ghost.Value).LocalRotation = dir.ToAngle();
_ghosts.Add(ghost.GetHashCode(), ghost.Value);
_ghosts.Add(comp.GhostId, ghost.Value);
var sprite = EntityManager.GetComponent<SpriteComponent>(ghost.Value);
sprite.Color = new Color(48, 255, 48, 128);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,7 @@
StyleClasses="LabelBig" />
<BoxContainer Orientation="Horizontal"
Margin="0 0 0 5">
<Label Text="{Loc 'crew-monitoring-user-interface-job'}:"
FontColorOverride="DarkGray" />
<Label Text=":"
<Label Text="{Loc 'crew-monitoring-user-interface-job'}"
FontColorOverride="DarkGray" />
<TextureRect Name="PersonJobIcon"
TextureScale="2 2"
Expand Down
Loading
Loading