awesome_wotlk - NoM0Re/WeakAuras-WotLK GitHub Wiki
What is awesome_wotlk?
awesome_wotlk is a patch that adds modern retail-style nameplate API behavior and Text-to-Speech (TTS) to World of Warcraft WotLK 3.3.5.
What does awesome_wotlk do?
-
Nameplates
-
Adds improved nameplate sorting
-
Uses modern WoW Retail API nameplate functions such as:
C_NamePlate.GetNamePlatesC_NamePlate.GetNamePlateForUnit
-
Listens to new events:
NAME_PLATE_CREATEDNAME_PLATE_UNIT_ADDEDNAME_PLATE_UNIT_REMOVED
-
Introduces new CVars like
nameplateDistanceto better control nameplate visibility and distance
-
-
Text-to-Speech (TTS)
- Integrates Windows SAPI TTS, making it possible to output spoken messages from addons
- Provides new APIs, settings, events, and CVars
APIs
C_VoiceChat.SpeakTextC_VoiceChat.StopSpeakingTextC_VoiceChat.GetTtsVoicesC_VoiceChat.GetRemoteTtsVoicesC_TTSSettings.GetSpeechRate/C_TTSSettings.SetSpeechRateC_TTSSettings.GetSpeechVolume/C_TTSSettings.SetSpeechVolumeC_TTSSettings.GetSpeechVoiceIDC_TTSSettings.GetVoiceOptionNameC_TTSSettings.SetVoiceOption/C_TTSSettings.SetVoiceOptionByNameC_TTSSettings.SetDefaultSettingsC_TTSSettings.RefreshVoices
Events
VOICE_CHAT_TTS_PLAYBACK_STARTEDVOICE_CHAT_TTS_PLAYBACK_FINISHEDVOICE_CHAT_TTS_PLAYBACK_FAILEDVOICE_CHAT_TTS_VOICES_UPDATE
CVars
ttsVoicettsSpeedttsVolume
How are nameplates handled without awesome_wotlk?
Without this patch, addons rely on very inefficient methods to find nameplates.
They iterate through all existing frames every 0.5 seconds to locate nameplates, which is extremely inefficient. Additionally, you only get the nameplate frame object itself, but cannot use nameplate units with other WoW API functions like UnitName("nameplate1").
WeakAuras Integration
When this patch is enabled, WeakAuras adds the improved nameplate system and additional functionality, including TTS output for custom alerts.
That’s not all it can do:
For more details, see: awesome_wotlk Details
Download & Installation
Can be found here: https://github.com/someweirdhuman/awesome_wotlk?tab=readme-ov-file#installation
Stormforge ⚠️
Stormforge already ships a client with awesome_wotlk functionality injected by default. ➜ Do NOT install or use awesome_wotlk manually on Stormforge, as this can lead to conflicts or duplicate hooks. ➜ Text-to-Speech (TTS) is currently not supported in Stormforge’s client implementation.
Warmane ❌
Warmane does not permit modified or extended game executables. ➜ awesome_wotlk must NOT be used on Warmane. It will be detected and disconnect you.
Project Epoch ❌
Project Epoch does not allow client-side executable patching. ➜ awesome_wotlk must NOT be used on Project Epoch. Using a modified client may lead to account action, but can be appealed.
Important Notes / Troubleshooting
-
The WoW executable must be named one of the following (not case insensitive):
wow.exeWowCircle.exerun.exe
-
Some private servers block executable modifications, which prevents the patch from working. This is a server limitation.