ValveSoftware / Source-1-Games

Source 1 based games such as TF2 and Counter-Strike: Source
649 stars 75 forks source link

[all games] Behavior of "cc_captiontrace" does not match documentation when set to "2" #3946

Open lunalucadou opened 2 years ago

lunalucadou commented 2 years ago

I have left a similar bug report for Source SDK 2013: https://github.com/ValveSoftware/source-sdk-2013/issues/545

Per https://developer.valvesoftware.com/wiki/Console_Command_List#Commands_starting_with_letter_.22C.22 the behavior of cc_captiontrace should be:

Show missing closecaptions: (0 = no, 1 = devconsole, 2 = show in HUD)

However, in practice, missing captions are only printed to the console.

According to an archived version of the wiki, this behavior is not new: it was specified in the wiki all the way back in 2006.

To reproduce this error:

  1. Run TF2, HL2, HL2 Episode 1, or HL2 Episode 2
  2. Set cc_captiontrace 2 in the console
  3. Wait for or interact with the environment in such a way that a non-captioned sound is played, thus triggering the caption missing error (e.g. running into metal barrels in HL2)
  4. Notice how the error message is not printed to the HUD, as the wiki says it should be, but is instead printed to the dev console.

Running into barrels in HL2 Episode 2 (produces no caption error in HUD):

20220623164415_1

Opening the dev console immediately after collision (caption error is present there):

20220623164417_1

This bug is present:

I could not reproduce this issue in Half-Life: Source, Portal, or Portal 2 in the ~5 minutes I tested each one of them. That's not to say they aren't affected, just that none of them had any missing caption errors in the console during my testing so I couldn't test if they showed up on the HUD or not.

This also affects Black Mesa, so I believe this bug is present in the Source engine, rather than just a handful of games. I am not sure if it is present in Source 2, as the only game I have that uses it (Aperture Desk Job) only has subtitles, not closed captioning.

I stumbled across this bug while documenting caption issues in Black Mesa, and this being fixed would make my life a lot easier since I wouldn't have to open the console to figure out if a caption didn't trigger or if a sound just doesn't have an associated caption.

lunalucadou commented 2 years ago

Upon further investigation, cc_captiontrace 2 worked properly in the past.

I downloaded HL2 Old Engine from SourceRuns (runs in Source SDK 2006), and it prints caption errors to the caption box:

image

image

It only seems to produce one message per error (i.e. if the same uncaptioned sound is played multiple times, you only see the error once), but even this would be very helpful for my captioning work in Black Mesa.