Skip to content

StopSpeaking() causes speech to pause #2815

@Darkcyde13

Description

@Darkcyde13

What's Wrong (please be as specific as possible)

Expected

StopSpeaking() to stop current (and queued?) speech when it is executed, and new speech to proceed as normal.

Observed

The function does stop all speech as expected, however, it also 'pauses' the next speech until another speech is triggered. Then it continues as normal.

Steps to reproduce

  1. Have EDDI speak a long block of speech.
  2. Trigger another script that contains StopSpeaking().
  3. Observe the speech stops as expected, but any speech in the same script is 'paused'.
  4. Trigger another script.
  5. Observe the original speech in the script that has StopSpeaking() now starts from the point after the function is called. Then the speech in the second triggered script is spoken, and EDDI continues as normal.

Configuration

  • Version [Please give full version numbers here, not just "latest" or "current"]
    • EDDI Version: v5.0.1
    • VoiceAttack Version: [if applicable]
  • Localization [if applicable]
    • EDDI's language: [or the operating system language if EDDI's language setting is "Automatic"]
    • Voice: [Name and language]

My Investigation

Investigation Notes

I've noticed this happening as I'm using it to stop any long speech when jumping between systems.

I have StopSpeaking() in the 'FSD engaged' script just after the set reportsystem line in the Hyperspace section. When I'm doing body scans, sometimes I can go fast enough to queue up enough speech that sometimes it is still going when I jump to the next system. This is why I'm using StopSpeaking().

As the FSD engaged script is triggered, EDDI stops talking, just as expected. However, EDDI will not start speaking again, until another event triggers (in this case the Jumped script), at which point EDDI will continue from the point it stopped in the FSD engaged script; pausing the countdown 5 seconds and saying I'm enroute to the system.

As I'm watching the output in speechresponder.out, I can see EDDI add the speech OK, it's just that EDDI doesn't speak the words until the next event triggers. It's like StopSpeaking() adds a 'pause until more speech is added' after the function executes.

If there is no speech currently being spoken from my scans, then when I jump it all proceeds as normal. It only happens when speech is actually stopped.

EDDI Logs

None at the moment. I forgot to look the last time it happened, but will check next time.

Player journals

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions