Skip to content

SDL Clickable Node#459

Draft
Hoikas wants to merge 3 commits into
H-uru:masterfrom
Hoikas:sdl_clickable_node
Draft

SDL Clickable Node#459
Hoikas wants to merge 3 commits into
H-uru:masterfrom
Hoikas:sdl_clickable_node

Conversation

@Hoikas

@Hoikas Hoikas commented Jul 16, 2026

Copy link
Copy Markdown
Member

This is the "SDL Clickable" node shown in #458. The node takes an SDL variable and a single clickable and enable/disables the clickable's hotspot based on whether or not the SDL variable matches the list of integers provided. The underlying script is xAgeSDLIntActEnabler.

The problem with this is that xAgeSDLIntActEnabler basically takes control of the clickable's physical to turn it on or off. That means the user could get surprising results if they use the same clickable object with different SDL variables. Required reading - the LOS probe that finds clickables disables the hotspot if it finds any disabled LogicMods attached to the physical's target. The clickable node tries to ensure no one links another condition directly to it if an "SDL Clickable" node is attached, but that can be worked around by just adding another clickable node. To be honest, though, having multiple clickables with different settings attached to the same collider would probably not work as expected and is something that Korman should prevent, potentially be poisoning an object once it's used as a clickable.

All that to say, I think this is a good idea, but I feel like it also opens the door to too many surprises for now.

Hoikas added 3 commits July 17, 2026 16:26
This will be a bit niche, but some nodes may need to expose a key for
themselves and keys that they want notified. For notify messages, we
want to notify the former and not the latter. Sometimes those buckets
are the same, sometimes not.
The old socket and node type validation is useful most of the time, but
some nodes will need to have more complex validation logic, so allow
them to do so.
This node enable/disables the clickable hotspot based on the value of
the attached SDL variable. When this node is linked to a clickable, it
takes ownership of the clickable and all downstream nodes triggered by
the clickable must be linked to it instead of the clickable itself. I
did attempt to allow simultaneous access to the clickable and the
conditional clickable, but I found that engine limitation made that
impractical without modifying plActivatorActivatorConditionalObject.
@Hoikas
Hoikas force-pushed the sdl_clickable_node branch from a7e0a78 to 4e32f47 Compare July 17, 2026 21:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant