Empty dialog options clickable?

Started by Honza, Sat 31/05/2025 06:40:06

Previous topic - Next topic

Honza

In my game, I would sometimes use empty dialog options so that once the player has exhausted all the visible options, the game automatically proceeds with the "invisible" option, like this:



In this example, once the player has clicked options 1 - 4, the game would automatically run option 5, because it would be the only one remaining active (the other options are switched off once the player selects them).

My problem is that in the previous versions of AGS, the empty option was not displayed even when its "show" box was checked - it wasn't possible to actively select it, it was only run once the other options were exhausted. In version 3.6.2.10, the empty option is selectable - there is an empty line in the dialog options box and if the player clicks the empty space, the "hidden" option runs.

Is this an intentional change to how dialog works? The way it was before made my life much easier, now a lot of the dialogue in the game is broken, and it looks like fixing it means scripting checks for how many dialog options are still active at the end of each option.

Crimson Wizard

#1
The behavior of empty options was never documented, so I never thought about them.

I just tried this in various versions of AGS, starting with 3.2.1, and in 3.2.1 you could still select an empty option if you click on a 1-pixel high location after the options. Somewhere between 3.2.1 and 3.6.0 it changed to not being clickable. In 3.6.2 empty options are displayed in full line height even if they are in the middle of other options.

Not displaying them seems reasonable, and they were already used in older games, then I must revert this, and document this behavior in the manual.


Honza

Quote from: Crimson Wizard on Sat 31/05/2025 18:00:13Ok, here's a link to yet another test build:
https://cirrus-ci.com/task/5506729732997120

Thanks! The empty option is now hidden, but it also behaves as if it was completely switched off. In my example, if I click options 2, 3 and 4, option 1 runs automatically (the game sees it as the only remaining one) and then the dialogue ends without option 5 being triggered.

Crimson Wizard

#4
Quote from: Honza on Sat 31/05/2025 20:06:08Thanks! The empty option is now hidden, but it also behaves as if it was completely switched off. In my example, if I click options 2, 3 and 4, option 1 runs automatically (the game sees it as the only remaining one) and then the dialogue ends without option 5 being triggered.

I tested this several times, and it worked when I did.

I have 6 options, 1 of them without a name. Only 5 are visible, I click these in any order, and neither of them is run automatically. After the 5th are switched off, the 6th invisible one is run on its own.

Where can I see this dialog in your game?

Honza

Quote from: Crimson Wizard on Sat 31/05/2025 21:03:46I tested this several times, and it somehow worked when I did.

I have 6 options, 1 of them without a name. Only 5 are visible, I click these in any order, and neither of them is run automatically. After the 5th are switched off, the 6th invisible one is run on its own.

Where can I see this dialog in your game?

Right after the intro sequence. Start the game, then keep pressing Esc if you want to skip the story, until you reach unskippable dialogue. After a few more lines of exposition, you should get the dialogue options from the example.

Crimson Wizard

#6
I tried this (using the engine exe from the new build) an cannot reproduce the problem.
I choose options 2,3,4 as you mentioned, and option 1 is still displayed afterwards and not run automatically.
After I run option 1, it goes into "search room" sequence.

Unfortunately, I do not see the script for the first option, and dFoundVictim3 dialog, so cannot tell if the dialog proceeded correctly after that.

Honza

#7
Quote from: Crimson Wizard on Sat 31/05/2025 21:18:32I tried this (using the engine exe from the new build) an cannot reproduce the problem.
I choose options 2,3,4 as you mentioned, and option 1 is still displayed afterwards and not run automatically.
After I run option 1, it goes into "search room" sequence.

Unfortunately, I do not see the script for the first option, and dFoundVictim3 dialog, so cannot tell if the dialog proceeded correctly after that.

You're right, I tried again and it worked correctly this time - no idea where I went wrong before, I swear I had the game window open next to the dialogue to check if the lines match, and ran it twice this way with the result I described. In any case, it really seems to be working perfectly now. Thank you once again for the fix, hope this is the last of my series of post-upgrade complaints :).

Crimson Wizard

If there are problems then it's better to find them early.
We don't have a lot of testers, and people are usually reluctant to use a beta version unless they start a new game, so every time there's a new version release we expect more bugs to be found as larger number of users finally upgrade to it.

Danvzare

Wait, what if you press the keyboard key corresponding to the empty dialog option?

I get the feeling it'd be possible to sequence skip with that. So perhaps that should also be disabled if the dialog option has no text.

Crimson Wizard

Quote from: Danvzare on Sun 01/06/2025 12:15:05Wait, what if you press the keyboard key corresponding to the empty dialog option?

I get the feeling it'd be possible to sequence skip with that. So perhaps that should also be disabled if the dialog option has no text.

This is already done. Engine keeps a list of the currently displayed options, and all actions only affect this list.

SMF spam blocked by CleanTalk