diff --git a/src/acs/call-funcs.cpp b/src/acs/call-funcs.cpp index d87f2756e..f7354723d 100644 --- a/src/acs/call-funcs.cpp +++ b/src/acs/call-funcs.cpp @@ -2082,13 +2082,18 @@ bool CallFunc_DialogueSetCustomSpeaker(ACSVM::Thread *thread, const ACSVM::Word patchStr = map->getString(argV[1]); patchName = patchStr->str; - patch = static_cast( W_CachePatchName(patchName, PU_CACHE) ); colorStr = map->getString(argV[2]); colorName = colorStr->str; - if (ACS_GetColorFromString(colorName, &colorID) == true) + + if (patchName && patchName[0]) { - colormap = R_GetTranslationColormap(TC_DEFAULT, colorID, GTC_CACHE); + patch = static_cast( W_CachePatchName(patchName, PU_CACHE) ); + + if (ACS_GetColorFromString(colorName, &colorID) == true) + { + colormap = R_GetTranslationColormap(TC_DEFAULT, colorID, GTC_CACHE); + } } voiceStr = map->getString(argV[3]);