View Issue Details

IDProjectCategoryView StatusLast Update
0000460FSSCPspeechpublic2005-06-30 01:35
ReporterGoober5000 Assigned ToGoober5000  
PriorityhighSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Summary0000460: Simulated speech doesn't override the "beep"
DescriptionMost campaigns without voices use "beep" messages to indicate a message is being played. However simulated speech won't happen in these instances because it sees that a voice file is assigned. It should pre-empt these files instead.
TagsNo tags attached.

Activities

phreak

2005-06-27 01:49

developer   ~0002691

can we have it play the beep and the speech at the same time?

taylor

2005-06-27 07:03

administrator   ~0002692

I can't say that I like the idea of doing a filename check to determine if it uses one of these files, if that's what you are suggesting. How many filenames would we allow for this since some may use other names or alternate spellings. If we force them to use just these two then why not just make mission makers not use any wavs for this in the first place (the code allows for "none" and skips it)? A pain I know but this isn't a bug in the code and just seems like a trick mission makers do to not have zero cue that a new briefing stage is up.

I'm not into mission making though so there could be reasons that I'm not aware of. If we do add an extra check for a filename other than "none" then lets just pick one and that would be a one line change to handle. Or really two lines since we would probably want to do this in debrief too.


@phreak: The beep is used as a voice so it assumes that it's a full voice file and so doesn't know that it's only a beep. In such a case it won't use speech since you should be hearing a voice file.

Goober5000

2005-06-27 15:34

administrator   ~0002693

@taylor: I'm not sure you're getting what this is. This won't be for briefing/debriefing, it's for in-mission messages.

The standard procedure for unvoiced missions is to set the 'pause' button on the briefing and to use cuevoice, generic, emptymsg, or msgstart (I forgot about those last two) for in-mission. And the wave file name is *always* one of those four; they've been available on various FRED download pages ever since FS1 came out. The latter two are even included in the FRED2 walkthrough. :)

The problem with mission designers putting "none" is that without a sound delay the messages scroll by too fast. The empty message wav files are there to prevent that. That's common FREDding practice.

taylor

2005-06-27 17:47

administrator   ~0002694

Ahhh, that makes a lot more sense. I've seen people do that with the briefings which is why I initially thought that's what you meant. So are you looking more at skipping play of those files and just using speech or playing both. I see problems with both methods since the speech call is instaneous and it wouldn't know to wait for completion before moving to the next message.

Is there an is_playing method for speech? I don't know the API but a quick look at MSDN and I assume that a IspVoice::GetStatus() call with a ulInputSentPos/ulInputSentLen check could simulate snd_get_time_remaining() so perhaps we could do that? Course I've got my head buried in other bugs right now so I still may not be looking at this right.

Goober5000

2005-06-27 17:56

administrator   ~0002695

Since there's no quote button here...

First paragraph: If the message specifies one of the four "beep" filenames, and simulated speech is active, it should play the speech instead of the beep.

Second paragraph: The snd_get_time_remaining function should have been extended for speech when speech was first implemented. :-/ I'm not sure exactly how that should be done but your suggestion sounds just as good as any.

Goober5000

2005-06-30 01:35

administrator   ~0002717

It turns out that the code doesn't need to know how much time is remaining in the simulated speech, it just needs to know whether or not it's speaking. So that made the problem a little easier.

That's been fixed, and the "beep" pre-emption has also been fixed.

Issue History

Date Modified Username Field Change
2005-06-26 19:07 Goober5000 New Issue
2005-06-27 01:49 phreak Note Added: 0002691
2005-06-27 07:03 taylor Note Added: 0002692
2005-06-27 15:34 Goober5000 Note Added: 0002693
2005-06-27 15:34 Goober5000 Description Updated
2005-06-27 17:47 taylor Note Added: 0002694
2005-06-27 17:56 Goober5000 Note Added: 0002695
2005-06-27 17:57 Goober5000 Severity trivial => minor
2005-06-30 01:35 Goober5000 Status assigned => resolved
2005-06-30 01:35 Goober5000 Resolution open => fixed
2005-06-30 01:35 Goober5000 Note Added: 0002717