Skip to content

Client distinguish between eye and mob for drawing, context menu, and verbs#2477

Open
Ruzihm wants to merge 37 commits into
OpenDreamProject:masterfrom
Ruzihm:mob-sight
Open

Client distinguish between eye and mob for drawing, context menu, and verbs#2477
Ruzihm wants to merge 37 commits into
OpenDreamProject:masterfrom
Ruzihm:mob-sight

Conversation

@Ruzihm

@Ruzihm Ruzihm commented Dec 15, 2025

Copy link
Copy Markdown
Contributor

Adds a network message sent from the server to client to notify of mob/eye updates (currently, the client uses the attached entity which is ambiguous). I wasn't sure of a better way to accomplish this but am looking for feedback.

The client then uses this info to distinguish between eye/mob for context menu, drawing, and verbs.

Closes #1581
Closes #2081

Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs Fixed
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamViewOverlay.cs Fixed
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs Fixed
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs Fixed
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs Outdated
@boring-cyborg boring-cyborg Bot added Client Involves the OpenDream client Runtime Involves the OpenDream server/runtime labels Dec 15, 2025
Comment thread OpenDreamShared/Network/Messages/MsgNotifyMobEyeUpdate.cs Outdated
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs Outdated
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs Outdated
Comment thread OpenDreamClient/DreamClientSystem.cs Fixed
Comment thread OpenDreamClient/DreamClientSystem.cs Fixed
Comment thread OpenDreamClient/DreamClientSystem.cs Fixed
Comment thread OpenDreamClient/DreamClientSystem.cs Fixed
Comment thread OpenDreamClient/DreamClientSystem.cs Fixed
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
Comment thread OpenDreamRuntime/Objects/Types/DreamObjectClient.cs Fixed
Comment thread OpenDreamRuntime/Objects/Types/DreamObjectClient.cs Fixed
Comment thread OpenDreamShared/Network/Messages/MsgNotifyMobEyeUpdate.cs Fixed
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
@Ruzihm Ruzihm requested a review from wixoaGit January 15, 2026 03:39
@Ruzihm

Ruzihm commented Jan 15, 2026

Copy link
Copy Markdown
Contributor Author

actually - one sec. z levels and mouse events are messed up when eye is a turf.

edit: should be good now

@Ruzihm Ruzihm marked this pull request as draft January 15, 2026 03:53
@Ruzihm Ruzihm marked this pull request as ready for review January 15, 2026 08:06
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamShared/Network/Messages/MsgNotifyMobEyeUpdate.cs Fixed
@Ruzihm

Ruzihm commented Jan 16, 2026

Copy link
Copy Markdown
Contributor Author

Setting eye to null will stop rendering - but since that's done by setting the eye position to be in nullspace, the viewport stops clearing the render target and you just get a frozen screen:

https://github.com/space-wizards/RobustToolbox/blob/aa5cca4c7f210f3ed7b7841735b5aadb533c9d88/Robust.Client/Graphics/Clyde/Clyde.HLR.cs#L494-L497

Does this warrant a pull request to RT to add a viewport option to allow target clearing if there is no eye/the eye is in null space?

@Ruzihm

Ruzihm commented May 8, 2026

Copy link
Copy Markdown
Contributor Author

@wixoaGit I think this PR is good for another look when you get a moment

@github-actions

github-actions Bot commented May 9, 2026

Copy link
Copy Markdown

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

Comment thread OpenDreamClient/ClientVerbSystem.cs Fixed
Comment thread OpenDreamClient/Interface/DreamInterfaceManager.cs
Comment thread OpenDreamClient/DreamClientSystem.cs Outdated
Comment thread OpenDreamClient/DreamClientSystem.cs Outdated
Comment thread OpenDreamRuntime/DreamConnection.cs Outdated
Comment thread OpenDreamShared/Network/Messages/MsgNotifyMobEyeUpdate.cs Outdated
Comment thread OpenDreamShared/Network/Messages/MsgNotifyMobEyeUpdate.cs Outdated
Comment thread OpenDreamClient/Rendering/DreamPlane.cs Outdated
Comment thread OpenDreamClient/Rendering/DreamViewOverlay.cs Outdated
@github-actions github-actions Bot added size/L and removed size/XL labels May 16, 2026
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
Comment thread OpenDreamRuntime/DreamConnection.cs Fixed
@github-actions github-actions Bot added size/XL and removed size/L labels May 17, 2026
Comment thread OpenDreamClient/Rendering/DreamClientEye.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamViewOverlay.cs Fixed
Comment thread OpenDreamShared/Network/Messages/MsgNotifyMobEyeUpdate.cs Fixed
Comment thread OpenDreamClient/Rendering/DreamViewOverlay.cs Fixed
@Ruzihm Ruzihm requested a review from wixoaGit May 23, 2026 19:38
@Ruzihm

Ruzihm commented May 23, 2026

Copy link
Copy Markdown
Contributor Author

@wixoaGit Okay, it should be good for another look when you're ready 👍

@github-actions

Copy link
Copy Markdown

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Client Involves the OpenDream client Merge Conflict Runtime Involves the OpenDream server/runtime size/XL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

client.eye can't be set to a turf Hopping into a locker lets you see ghosts

4 participants