Update 0.1.7
Upcoming release — not released yet. This page describes additions planned for G1R:MP 0.1.7. They are not part of the public 0.1.6 packages.
Built-in game audio
Client resources can play Gothic Remake's own sound effects, music and localized dialogue using catalog keys. See Game audio for examples, ownership, asynchronous results and limitations. Game dialogue catalog contains the complete list of 34,795 dialogue identifiers, split into browsable pages.
New client functions:
- playSoundFromGame and playSound3DFromGame
- stopGameSound
- setGameSoundVolume and setGameSoundPaused
- setGameSound3DPosition and setGameSound3DMinMaxDistance
- getGameSoundState
- preloadGameSound and getGameSoundInfo
- getGameSoundCatalog
New client event: onClientGameSoundResult.
Dialogues follow the game's selected voice language. Audio handles are resource-owned and automatically cleaned up when their resource/lifecycle ends. Playback is client-local; a server script chooses listeners through targeted client events. Existing resource-file audio and voice chat remain separate and unchanged.
Request acceptance is not playback confirmation. Dialogue preload is requested rather than independently confirmed; no automatic music replacement, cross-client timeline synchronization or late-join replay is implied. See the game-audio limits before integrating.
Optional server TTS (upcoming 0.1.7)
Not released yet; not part of public 0.1.6. Server-side speech generation with Chatterbox Multilingual V3 in 23 supported languages. Ukrainian is additionally supported through the separate StyleTTS2 engine and requires a reference sample; no OmniVoice backend. Default off, lazy model loading, one normal server launcher, Windows/Linux CPU package variants with models and without.
See Server TTS for the complete API, pre-rendering and remote playback, TTS configuration for setup/dependencies, and TTS voices for permitted downloaded samples, own voices, languages and presets. Saved recordings and verified client caches avoid repeating unchanged work/downloads. Server-owned 2D, 3D and NPC/player-attached audio includes coordinated playback and optional late join. Existing game audio/resource audio are separate APIs.
33 new server functions (from 0.1.7)
- cancelTtsJob
- cloneTtsPreset
- createTtsPreset
- createTtsVoice
- deleteTtsPreset
- deleteTtsVoice
- exportTtsPresets
- generateTts
- getTtsAudioInfo
- getTtsCapabilities
- getTtsJobState
- getTtsLanguages
- getTtsPlaybackState
- getTtsPreset
- getTtsPresets
- getTtsVoice
- getTtsVoices
- importTtsPresets
- isTtsAvailable
- loadTtsAudio
- playTts
- playTts3D
- playTtsAttached
- preloadTtsAudio
- releaseTtsJob
- renderTts
- setTtsDistance
- setTtsPaused
- setTtsPosition
- setTtsVolume
- stopTts
- updateTtsPreset
- updateTtsVoice
4 new server events (from 0.1.7)
NPC melee skill tiers (upcoming 0.1.7)
The functions themselves remain available since 0.1.5. Only the additions below are new in upcoming 0.1.7; they are not available in public 0.1.6.
- setNpcCombatConfig accepts optional
meleeSkillTier: integer 0 (untrained, default), 1 (trained) or 2 (master). getNpcCombatConfig includes this field in its result table. skillTierremains the separate ranged-combat tier. Changing the melee tier does not overwrite ranged settings. Omitted fields keep their existing values; invalid/unknown fields reject the entire change.- This selects ordinary melee presentation/timing for the NPC's equipped family, not its weapon or damage. It does not enable combat, select a target or increase strength/damage. Existing resource ownership and combat controls still apply.
- A strike already admitted keeps its captured animation/impact deadline. A melee-only or unchanged update does not restart unrelated projectile preparation; changing ranged settings still affects that separate configuration.
- Use matching updated client/server support to see the new tier presentation, including observers and late join. Players continue using the existing setPlayerSkill API; no new setPlayerCombatStyle function was added.
-- npcId is an existing NPC owned by this server resource.
local ok = setNpcCombatConfig(npcId, {meleeSkillTier=2})
if ok then
local config = getNpcCombatConfig(npcId)
if config then outputDebugString("NPC melee tier: " .. config.meleeSkillTier) end
end
Other upcoming presentation improvements
- More complete ordinary melee family/skill-tier presentation and smoother transitions for remote players and NPCs. Existing player skill APIs remain in use; no new player-style setter is introduced.
- Reduced repeated NPC appearance/animation/ground work in populated scenes. This is a client performance improvement, not a guarantee of a particular FPS or an unlimited number of NPCs at no cost.
These improvements are planned for 0.1.7, not included in the public 0.1.6 packages. They do not add separate Lua functions.