-
Notifications
You must be signed in to change notification settings - Fork 2
Introduction
This program is for source games ONLY. Also please note that captions will look different if you have a custom HUD or modified how captions are displayed.
In Source, a voicecommand is a predefined call that can display text in chat and sends an audible version.
A voicemenu is a selection of voicecommands that appears generally to your left.
Like this:

An emulated voicemenu is a type of voicemenu that is simulated using captions and scripting.
Like this:

± - Negligible benefit.
∓ - Negligible downside.
? - Dependent on context.
✓ Benefit.
❌ Downside.
| Criteria | Source Voicemeus | Emulated voicemenus |
|---|---|---|
| Quick to setup | ✓ | ? Dependent on complexity. |
| Localized Strings | ± Users need your custom resource file to see your localized strings. | ∓ Can be mimicked by cycling other voicemenus. |
| Assignable gestures | ± Yes | ∓ No |
| Command whitelist | ❌ Only voicecommands. | ✓ Any command. |
| Maximum VMs usable | ❌ 9 | ✓ Infinite |
| Maximum Voicecommands per menu | ❌ 9 | ✓ Infinite |
| Formattable? | ❌ No | ✓ Yes |
| Cooldown? | ❌ Cooldown increases over spam. | ∓ Only affected by chat cooldown. |
Valid with sv_pure? |
❌ No | ✓ Yes |
| Adaptability | ✓ Adaptable | ? Dependent on complexity. |
The voicemenu in Source games do work. However, not everyone is satisfied with them, so the general response is to modify it. Voicemenus are defined in a file called voicecommands.txt, and you can modify it.
Unfortunately however, voicecommands.txt is not in any sv_pure level. As a result, you can only remove voicecommands. There is another way though: We can use captions and scripting to emulate a voicemenu.
Emulated voicemenus have a number of advantages. They can be formatted, execute any command (not just voicemenu), have infinite commands to choose from, and works in any sv_pure level. (It's technically possible to localize for other languages, just not automatically.)
One problem however, is that it can take a long time to actually make an emulated voicemenu from scratch. First it needs to be efficient and usable, which requires planning. Then you have to figure out how to make an emulated voicemenu. Next you have to write the cfg files neccessary. Finally you have to rigorously test it. This process can take a long time to complete depending on how complex your emulated voicemenu will be.
This is why this generator was made: To reduce wasted time on making emulated voicemenus, so that you only have to focus on the first step mentioned above. I originally made a remote repository for this program to function as a backup, but seeing as how it is public anyways, I decided to touch it up for end-users.