채팅에 초상화 표시하는 모듈을 Theatre Insert 모듈과 같이 사용하면 초상화가 안 나온다는 제보가 있었음.

Theatre Insert 모듈은 대화나 나레이션을 비주얼노벨 형식으로 보여주는 꽤 유용한 모듈이라 문제를 해결해 보려고 함



테스트해 보니까 실제로 안 나옴.



원인을 찾아보니까 Theatre Insert 모듈에서 채팅 메시지를 가로채서 내부 데이터를 날려버림. (actor, scene 항목)

그래놓고 채팅에 캐릭터 이름은 표시해야 하니까 표시 이름만 이기적으로 남겨 둠. (alias 항목)

초상화 표시하는 방식은 해당 채팅 메시지를 말한 액터를 찾아서 그 액터의 초상화를 할당하는 건데 액터를 못 찾으니 초상화가 안 나오는 것.



해당 모듈 개발자가 저거 고치지 않는 한 해결 안 되는 문제라서 편법으로 고쳤음.

뒤져도 뒤져도 일치하는 액터가 안 나오면 마지막 수단으로 전체 액터 목록에서 채팅 표시 이름(alias)과 이름이 같은 액터를 찾아서 해당 액터 정보를 사용하도록 함.


제대로 작동하지 않는 경우도 있는 기능이고(표시 이름이 같은 액터가 둘 이상이거나 액터 이름이 바뀐 경우 원하는 액터와 매칭되지 않을 수 있음)

일반적으로는 이런 경우는 없겠지만 액터 숫자가 매우 많고 한 번에 많은 양의 채팅 로그를 동시에 렌더링하는 경우(FVTT 패치로 동시에 랜더링하는 메시지 수가 100개로 제한되면서 이럴 일은 잘 없긴 함) 성능이 저하돼서 버벅거릴 수 있음.

그래서 이 기능은 별도 옵션으로 빼 둠.



옵션에서 모듈 설정 가서 "강제 이름 검색" 옵션을 켜면 됨.


켜면 일단은 제대로 나옴.


패치 올렸으니 모듈 업데이트 하면 적용됨.


** 테두리 모양 선택 기능도 추가함.



원형


테두리 없음