Opened 9 years ago

Closed 5 months ago

#7769 closed enhancement (fixed)

DRASCULA: Add pause mode

Reported by: SF/simsaw Owned by: criezy
Priority: normal Component: Engine: Drascula
Keywords: Cc:
Game: Drascula

Description

In the translated versions of Drascula, the subtitles are often hard to read in the short time they are displayed on the screen. Therefore, I would be glad if someone could add a pause mode activated and disabled by the pause key so that one can take as many time as he wants to read the text above the characters' heads.

Ticket imported from: #3009133. Ticket imported from: feature-requests/585.

Change History (6)

comment:1 Changed 17 months ago by csnover

Component: Engine: Drascula
Game: Drascula

comment:2 Changed 17 months ago by criezy

I actually implemented this back in march, but didn't merge it or even push it to my fork back then for a few reasons, and then forgot about it.

One of the reason was that it was the GSoC application period and a student was considering this task for his application PR. This was actually the reason why I implemented (I wanted to check that I was understanding the code correctly and that my ideas would work in case he had questions). But I didn't push it to let the student have the opportunity to work on it himself (in the end he didn't do it).

That reason is now obsolete, but the other two reasons are still valid and are:

  • I used the space key as I don't have a pause key on my keyboard (and I assume I would not be the only one). The space key is used by other engines for pause (at least scumm) so seemed a good candidate. However I am aware if other games using the space key for exactly the opposite: cut short the speech/text display. What do you think? Is space a good key for this (in addition to the pause key)?
  • I was wondering if instead of a pause key it might not be better to have a text speed setting. The subtitles are timed by the speech (even when using subtitles only, the speech is still played but muted), so the current timing would be the faster we can get (having a setting that automatically cuts short speech would be strange I think), but we could easily add a delay after the speech ends to get longer subtitle display.

One difficulty with the text speed setting is that currently extra engine gui options can only be booleans (true or false). So we would either have to only allow setting it by editing the scummvm.ini file (which would make it more difficult to know about, set or change) or we would need to turn it into a "slower subtitles" boolean that would control whether to use a hardcoded delay or none. Or possibly the two could be combined with the "slower subtitles" option having a default delay that could be changed in the scummvm.ini.

What do you think of all this?

comment:3 Changed 5 months ago by digitall

@criezy: Since you have a patch for this, could you push this to a branch in your fork? It can maybe be rebased / fixed up and then open a PR for this.

comment:4 Changed 5 months ago by criezy

Pushed: https://github.com/criezy/scummvm/commit/5667ded
I am still not sure that is the best solution, as explained in my previous comment, but it should work (at least it was working back when I wrote that code).

comment:5 Changed 5 months ago by digitall

@criezy: Thanks for pushing that public. It looks pretty self-explanatory and self-contained. I think it would be worth opening this as a Pull Request for discussion / merging... at least this bug is now 8 years old, so maybe add at least some fix and it can always be improved / reworked in future if a better solution emerges.

comment:6 Changed 5 months ago by criezy

Owner: set to criezy
Resolution: fixed
Status: newclosed

I have decided to push my commit. We can always improve the implementation later if we feel the need for it.

Note: See TracTickets for help on using tickets.