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

🎮 Walkie-talkie label with forwardable commands info & clickable buttons #3063

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

ohlidalp
Copy link
Member

@ohlidalp ohlidalp commented Jun 23, 2023

rorbotWalkieTalkie-wide

I played TrainValley recently and this idea came to mind. There are 2 changes:

  • When character attempts to forward commands to a sleeping actor (which is typical for on-map machinery), the actor wakes up. Note that forwarding commands from the character was possible before, but the actor had to be already awake.
  • When character is in a proximity to forward commands, a wakie-talkie label appears both at the character and on the actor - with a list of commands.

It's glitchy at the moment

  • actor label doesn't disappear or re-appear if asleep - I'll debug.
  • cannot be disabled - I'll add a setting.

Walkie talkie icon is from https://openclipart.org/image/800px/325344, scaled and colored by myself in GIMP.

Let me know what you think!

@CuriousMike56
Copy link
Collaborator

CuriousMike56 commented Jun 23, 2023

Nice concept! Some quick testing bug reports:

  • Labels appear huge for one frame on initial activation, minor visual bug
  • Character icon remains after entering any actor (easily reproduced by middle clicking an actor while icon is visible)

Feature suggestions:

  • Control any actor's commands by right clicking them, even if the actor doesn't feature importcommands/forwardcommands. This would, for example, allow players to open doors from outside the vehicle.
  • Add buttons to actor labels to activate commands using the mouse, would be useful for devices without a physical keyboard e.g. Steam Deck.

ohlidalp added 5 commits July 9, 2023 16:28
I played TrainValley recently and this idea came to mind. There are 2 changes:
* When character attempts to forward commands to a sleeping actor (which is typical for on-map machinery), the actor wakes up.
* When character is in a proximity to forward commands, a wakie-talkie label appears both at the character and on the actor - with a list of commands.

It's glitchy at the moment - actor label doesn't disappear or re-appear if asleep.

Walkie talkie icon is from https://openclipart.org/image/800px/325344, scaled and colored by myself in GIMP.
The title was present but completely ignored until this commit.
I tested OGRE13 branch recently and my ogre.cfg was incompatible - that's how I noticed this error reporting problem.
Features:
* InputEngine: added `setEventSimulatedValue()` allowing simulated input from UI or other programmatic source.
* GUIUtils: Extended `ImDrawEventHighlighted()` global helper to draw key hints as buttons which simulate input.
* GUIManager: added `RequestStaticMenusBlocking()` so that ad-hoc windows like the WalkieTalkie can block static menus like TopMenubar when hovered by mouse.
@ohlidalp ohlidalp changed the title 🎮 Walkie-talkie label with forwardable commands info 🎮 Walkie-talkie label with forwardable commands info & clickable buttons Jul 9, 2023
@ohlidalp
Copy link
Member Author

ohlidalp commented Jul 9, 2023

walkieTalkieClickable
Updates:

  • InputEngine: added setEventSimulatedValue() allowing simulated input from UI or other programmatic source.
  • GUIUtils: Extended ImDrawEventHighlighted() global helper to draw key hints as buttons which simulate input. This also retroactively enhances the Repair keys UI (🎮 Improved 'LiveRepair' (formerly 'interactive repair') #3066)
  • GUIManager: added RequestStaticMenusBlocking() so that ad-hoc windows like the WalkieTalkie can block static menus like TopMenubar when hovered by mouse.

Codechanges:
* drawing walkietalkie moved to new object GUI_SceneLabels
* drawing mousehover panel done using GUI_SceneLabels
* caching walkietalkie data moved to Actor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants