Skip to content

Conversation

@Fildrance
Copy link
Contributor

@Fildrance Fildrance commented Apr 7, 2025

About the PR

door remotes now use radial menu to chenge modes. Previously they used cycling over modes using 'use' keybind.

Why / Balance

fixing #31977
abusing new easy to create radials. neat stuff!

Technical details

Moved DoorRemote code from server to shared, mostly untouched, changed calls to doors system to use prediction and passed actual user uid (was using remote device as user).

Media

door-remote-radial-colored.mp4

Requirements

Breaking changes

Changelog

🆑 Fildrance

  • tweak: Door remotes now have a radial menu for changing modes.

pa.pecherskij and others added 30 commits October 5, 2024 16:12
…on. Radial menu position setting into was moved to OverrideArrange to not being called on every frame
… menu buttons with sectors, RadialContainer Radius renamed and now actually changed control radius.
…converted to and from sRGB in property getter-setters
@github-actions
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Oct 20, 2025
@slarticodefast
Copy link
Member

I fixed the merge conflicts and pushed some small cleanup.
Two things:

  • The BUI uses StyleNano, which is now deprecated.
  • Do we maybe want to keep the Status Control UI?

@Fildrance
Copy link
Contributor Author

Changed to use new Palette, looks the same in game, changed it for ling too - less references of obsolete, less warnings! now about status control. I would like to keep it - it seems like we want more of those. But amount of boilerplate boggles me! I will look at it.

@Fildrance
Copy link
Contributor Author

ItemStatusControl mispredicts awkwardly, no idea why. Will have to sleep with that thought.

@slarticodefast
Copy link
Member

slarticodefast commented Oct 20, 2025

ItemStatusControl mispredicts awkwardly, no idea why. Will have to sleep with that thought.

Probably because it uses a frameupdate loop, which does randomly show whatever prediction is currently calculating.
Try instead making it event based, and add a IsFirstTimePredicted check for the UI change.

@Fildrance
Copy link
Contributor Author

Well the FrameUpdate loop part was kinda obvious, but the problem with StatusControls is that they are all kinda doing updates in that loop - none of them are doing proper event-based stuff. This is kinda disgusting, but at the same time it means we dont get proper infrastructure to plug events in, unless we will commit several war crimes, like storing nullable control object inside system. Other controls avoid mispredict by exposing extra fields in component, that dictate state specifically for StatusControl. Thats an option, i guess, but... hell thats ugly...

@Fildrance
Copy link
Contributor Author

Fixed mispredicts, but codewise its a small bloat of boilerplate, annoying AH. StatusControl stuff looks like it needs a refactor for a way to plug events in, but this PR is obviously not good place to start that.

Copy link
Member

@slarticodefast slarticodefast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With only the auto handle state subscription update the status control won't show when picking it up, only when you first change the setting.

@PJBot PJBot added S: Awaiting Changes Status: Changes are required before another review can happen and removed S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. labels Oct 21, 2025
@PJBot PJBot added S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. and removed S: Awaiting Changes Status: Changes are required before another review can happen labels Oct 21, 2025
Copy link
Member

@slarticodefast slarticodefast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, this is so much more convenient to use!

@PJBot PJBot added the S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. label Oct 21, 2025
@slarticodefast slarticodefast added this pull request to the merge queue Oct 21, 2025
Merged via the queue into space-wizards:master with commit 0a0806a Oct 21, 2025
11 of 12 checks passed
@Fildrance Fildrance deleted the feature/door-remote-radial branch October 21, 2025 12:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A: Accessibility Area: Accessibility settings and features. D3: Low Difficulty: Some codebase knowledge required. P2: Raised Priority: Item has a raised priority, indicating it might get increased maintainer attention. S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. size/M Denotes a PR that changes 100-999 lines. T: New Feature Type: New feature or content, or extending existing content T: UI / UX Improvement Type: UI and player facing interactive graphical interfaces

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants