Commit Graph

45 Commits

Author SHA1 Message Date
chromiumboy 4fd43751ce
Navmap rework (#26713)
* Optimized the drawing of lines and tracked entities

* Optimized nav map updating and added thin wall support

* Added support for thin doors

* Removed floor tile seams, more line drawing optimizations

* Fixed split grids not updating correctly

* Cleaned up NavMapControl code

* Fix nav map header

* Converted nav map updates from system network messages to delta-states

* Addressed review comments

* Fixed timing issue where NavMapSystem would update before AirtightSystem did

(cherry picked from commit 009d06d97833b7700bcfaa534b20575fdbbd7db5)
2024-04-21 22:05:45 +02:00
Nemanja 00589754f5
Use nav beacon locations for announcements (#26437)
* use nav beacon locations for announcements

* :thumbs_up:

(cherry picked from commit 766192f4b509ff6bfc02ee1c665f1ba5b1bdc831)
2024-04-07 14:07:12 +02:00
Tayrtahn 11eff87687
Code cleanup: Dirty(Comp) (#26238)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.

* Missed a few

* Revert changes to pulling

* No

(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
2024-03-24 00:04:13 +01:00
Pieter-Jan Briers ccea85136b
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
2024-02-18 23:02:29 +01:00
Errant 41eef79cd0
Beacon localization (#24138)
* localize beacons

* No not like that

* Tesla beacons were already depreciated, time to give the reaper their due

* Entity name fallback

* The real treasure was the far easier solution we missed along the way

* weh

* Shared mapinit

* fix RT version

* a single line break

(cherry picked from commit efdc6f8d4c5dc8c593b6403c6592f0ddc6212266)
2024-01-26 23:17:32 +01:00
Pieter-Jan Briers 56fb80ad34
BUI bugfixes / improvements (#23881)
* Fix ActivatableUIRequiresPowerCellComponent stopping power draw when one of two people closes the UI.

Also fixes it to check UiKey properly.

* Remove unnecessary CrewManifestViewer on PDAs

This is for a pop-up crew manifest UI, which the PDA doesn't use.

* Fix BoundUIClosedEvents that didn't check UI key/not correctly at least.

Uses the new helper method in engine.

* Fix drone (cargo shuttle) pilot console UI breaking if two people open it and one person closes it.

* Fixes for disposal router/tagger UI.

Code was badly copy pasted without changing identifiers, never worked.

Also cleaned up some of the logic (text trimming, sounds).

Also removed the "refuse to work if you have something in your active hand" check like why.

* Avoid running most ActivatableUIComponent logic when closing a UI via toggle

Activating the UI while it's already open closes it via toggle. Except it still ran 99% of the "attempting to open" logic which makes no sense.

This probably fixes a bug or some other dumb behavior somewhere.

* Bitch

(cherry picked from commit 123a4147dea2945f6c60fe9e4e0a3aa2da75e1dc)
2024-01-26 22:38:21 +01:00
Nemanja fa762bfa8e
Add doors to the station map (#23639)
* Add doors to the navmap

* tweaksies

* gah

* draw primitive

* draw primitive? at least take me out to dinner first!

* Update Content.Client/Pinpointer/UI/NavMapControl.cs

* casualties

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 1886941da6c807ec604cad902233a3ba559b2b25)
2024-01-26 22:27:10 +01:00
Leon Friedrich 3e3a0403f2
Fix NavMap exception (#23636)
(cherry picked from commit 4ddb3db1ecd300742992d2ebe445e085287a9ecf)
2024-01-26 22:03:44 +01:00
Jezithyr b678d14a87
Created Proximity Detection and Beeper Systems (#23177)
(cherry picked from commit c242e05cdea4dbc3e783659391f16dedf5662397)
2024-01-26 21:40:37 +01:00
Nemanja 4fd2ee722a
Station beacons (#23136)
* Station beacons

* crate

* remove navmap from warp points

* ack

* oh damn

* okay emisser

(cherry picked from commit 99d78c4b97aff1a5a0dad6804bac00d4bc425e1f)
2024-01-22 18:59:49 +01:00
chromiumboy a37bf27456
Power monitoring console overhaul (#20927)
* Prototyping whole station wire map

* More prototyping

* Added icons for the different power distributors and toggleable cable displays

* Power cable layouts are now only sent to the client when the power monitor is open

* UI prototyping

* Power monitors can now see the sprites of distant entities, long entity names are truncated

* Updated how network devices are added to the player's PVS

* More feature prototypes

* Added source / load symbols

* Final prototype! Time to actually code it properly...

* Start of code clean up

* Continuing code clean up

* Fixed UI appearance

* Code clean up complete

* Removed unnecessary changes

* Updated how power values are calculated, added UI warnings for power sinks and power net checks

* Updated how power values are calculated again, added support for portable generators

* Removed unnecessary files

* Map beacons start toggled off, console map now works outside the station, fixed substation icon

* Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected

* Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap

* Updated the colors/positions of HV cables and SMESes to improve contrast

* Fixed SMES color in map legend

* Partially fixed auto-scrolling on device selection, made sublists alphabetical

* Changed how auto-scroll is handled

* Changed the font color of the console warning messages

* Reduced the font size of beacon labels

* Added the station name to the console

* Organized references

* Removed unwanted changes to RobustToolbox

* Fix merge conflict

* Fix merge conflict, maybe

* Fix merge conflict

* Updated outdated reference

* Fixed portable_generator.yml

* Implemented a number of requested changes, move bit masks to a shared component

* Navigate listings via the navmap

* First attempt at improving efficiency

* Second attempt at optimization, entity grouping added for solar panels

* Finished solar panel entity joining

* Finished major revisions, code clean up needed

* Finializing optimizations

* Made requested changes

* Bug fix, removed obsolete code

* Bug fixes

* Bug fixes

* STarted revisions

* Further revisions

* More revision

* Finalizing revisions. Need to make RT PR

* Code tidying

* More code tidying

* Trying to avoid merge conflicts

* Trying to avoid merge conflicts

* Removed use of PVS

* Improving efficiency

* Addressed a bunch of outstanding issues

* Clear old data on console refresh

* UI adjustments

* Made node comparison more robust. More devices can be combined into one entry

* Added missing component 'dirty'

(cherry picked from commit 1de682e23fd3cb832fa3328a7e6c4bd4b1a858f7)
2024-01-22 18:28:33 +01:00
metalgearsloth b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
Leon Friedrich 1465c02a77 Move ActorComponent to shared (#21293) 2023-10-31 19:12:44 +01:00
TemporalOroboros 95fd2c421c Fix anomaly locators frantically beeping when entering detection range. (#21178)
* reset beep timer when out of range

* prevent deficit from impacting beep timing
2023-10-31 18:44:22 +01:00
DrSmugleaf 9cc8a7fc81 Remove 700 usages of Component.Owner (#21100) 2023-10-20 15:31:13 +02:00
deltanedas fde954d009 Add navmap beacon to armed nukes (#20394) 2023-09-27 21:59:12 +02:00
metalgearsloth d681c3d5d8 Add navmap beacons (#19388) 2023-09-27 21:59:12 +02:00
DrSmugleaf a88e747a0b
Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
metalgearsloth d4a85afb88
Update GetComponents for IEnumerable (#18395) 2023-07-30 03:34:41 +10:00
metalgearsloth 68480af109
Update content vectors to numerics (#17759) 2023-07-08 14:08:32 +10:00
Chief-Engineer 57cd8006f9
Add universal pinpointer (#13854)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2023-05-28 20:24:09 +10:00
metalgearsloth befb0900cf
Proximity beeper optimisation (#16507) 2023-05-17 23:55:25 +10:00
Nemanja 0708604dfe
Fix some misc anomaly locator bugs (#16488) 2023-05-16 10:19:39 +10:00
metalgearsloth 6417bb4fa0
Proto-kinetic crusher (#16277)
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2023-05-14 13:15:18 +10:00
Slava0135 dce7741b9d
Fix pinpointer flicker (#15452) 2023-05-07 18:20:43 +10:00
themias a7be595954
Handheld Crew Monitor and Station Map use power (#15983) 2023-05-05 10:52:40 -07:00
metalgearsloth d51d74d934
Content fixes for timeoffsets (#15934) 2023-05-01 14:49:25 +10:00
Nemanja bccad7d430
Fix instant power cell drainage (#15927) 2023-04-30 16:06:44 +10:00
metalgearsloth db0120ea62
Fix tests (#15682) 2023-04-23 17:20:19 +10:00
Nemanja fadee354db
Anomaly Locator (#15677) 2023-04-23 15:39:33 +10:00
metalgearsloth a4dfe8beed
Power cell slot QOL (#15373) 2023-04-23 12:25:12 +10:00
metalgearsloth 6a6d40c83f
Station map init (#15374) 2023-04-13 21:13:24 +10:00
metalgearsloth be4e69b0c0
Station maps (#13027) 2023-04-13 16:21:24 +10:00
metalgearsloth 6157dfa3c0
Salvage dungeons (#14520) 2023-03-10 16:41:22 +11:00
Alex Evgrashin 2ad9a5dfac
Better pinpointer accuracy + small cleanup (#12378) 2022-11-04 15:15:23 +11:00
Justin Trotter d4848a896a
active pinpointers finds targets upon map transition (#10241) 2022-08-08 14:27:30 +10:00
metalgearsloth 0318b6f9e5
Optimise pinpointer activation significantly (#7169) 2022-03-19 19:27:26 +01:00
metalgearsloth 836930e733
EntityLookup as a system for content (#6931) 2022-03-03 21:18:35 +11:00
Leon Friedrich f13f743c51
Make use-in-hand default to activation interactions. (#5951) 2022-01-05 00:23:01 +11:00
Vera Aguilera Puerto c8b65be747 Replace IEntityManager resolves in systems for cached EntityManager 2021-12-08 13:00:43 +01:00
Vera Aguilera Puerto 5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Vera Aguilera Puerto 1f9e1c033f EntityWhitelist uses EntityUid 2021-11-09 13:08:09 +01:00
Vera Aguilera Puerto e6e15b3728 Replace all ITransformComponent by TransformComponent 2021-11-08 12:37:32 +01:00
Alex Evgrashin c1cf22d97e
Pinpointer (#5131)
* Add pinpointer sprites

* Start working on pinpointer

* Updated pinpointer

* Working on visuals

* Working on a pinpointer and eye rotation

* Add client/server pinpointers systems

* Minor cleanup

* Add distance support

* Add nuke tag

* Remove redundant flag and add pinpointer to caps locker

* Disable rotation of pinpointer

* Fixed distance

Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
2021-11-03 14:35:34 -07:00