Is this an AGS issue or SpeechCenter's, that it writes its data into Game.agf even if not used in the particular game project?
What's the expected behavior if AGS loaded the plugin? It's possible it writes an empty node, but not sure what's the issue.
I never knew how editor plugins are expected to work in this regard. When you work with engine plugins, these may be turned on and off for the individual projects, but not editor plugins, it seems.
SpeechCenter writes a node into Game.agf whenever I save a game, even if I don't really use it in this project. This does not seem right, because Game.agf is a part of project source, and it's not supposed to have data that does not belong to the game.
This is not a critical issue, but may be an annoyance, because if I share project code with someone else, and they don't have SpeechCenter installed, they will keep getting warnings upon opening a project. Also, data will get lost and recreated, and these recurring changes become part of version control commits.
For the reference, here is what it adds:
<Component Name="SpeechCenter">
<SpeechCenter Version="2.1.0.0">
<Document Version="2.0.0.0">
<Settings>
<CustomFunctions />
<VoiceActorScripts NewParagraph="PER_FUNCTION">
<Format>
<Styles>
<CSSStyle CSSName="body" FontFamily="Cambria" Color="" FontStyle="inherit" FontWeight="inherit" />
<CSSStyle CSSName=".currentCharacter" FontFamily="" Color="" FontStyle="inherit" FontWeight="inherit" />
<CSSStyle CSSName=".otherCharacter" FontFamily="" Color="LightGray" FontStyle="inherit" FontWeight="inherit" />
<CSSStyle CSSName=".lineNumber" FontFamily="" Color="Firebrick" FontStyle="inherit" FontWeight="inherit" />
<CSSStyle CSSName=".duplicate" FontFamily="" Color="Thistle" FontStyle="inherit" FontWeight="inherit" />
<CSSStyle CSSName=".speechCorrect" FontFamily="" Color="MediumBlue" FontStyle="inherit" FontWeight="inherit" />
<CSSStyle CSSName=".speechIncorrect" FontFamily="" Color="Red" FontStyle="inherit" FontWeight="inherit" />
<CSSStyle CSSName=".filtered" FontFamily="" Color="LightSlateGray" FontStyle="italic" FontWeight="inherit" />
</Styles>
</Format>
</VoiceActorScripts>
<Translations EnableEditing="false" />
<Edit ShowWarning="true" ExitEditModeAfterSave="true" RefreshProjectAfterSave="Any" />
<DialogParsing ShowAllOoptionText="false" />
</Settings>
<SpeechLines />
<Translations />
</Document>
</SpeechCenter>
</Component>
What kind of data is this, as in, is this supposed to be a persistent data used in game, or "workspace data" used for plugin's work? I don't remember if AGS editor API provides good alternatives though. I know there's also *.agf.user file where optional workspace settings could be saved, but have no idea if it is suitable for SpeechCenter's needs.