I'm very happy to announce a new version of the Speech Center plugin. This release includes major changes:

Edit mode, now there's support for in-place text editing

Ability to add missing speech line numbers for the displayed lines

Display the script and highlight the line within the script of the current selected speech line

VA Scripts

Export only displayed lines

Option to group VA script lines by code block rather than by function

index.html is now created together with the voice scripts

Significantly improved refresh performance

Line info is displayed in the AGS properties window when selecting the line in the grid

New icons

It took a lot of effort to test this and to provide the best experience possible. Please let me know if you encounter any trouble. I also took many precautions in the edit feature and tested it with any source I could find. I still recommend you backup your game before editing, especially when using the feature for the first time.

The error message indicates that it failed to load the "System.Core.dll" which is part of the .NET Framework 3.5+. Do you have .NET 3.5 or higher installed? The AGS editor itself requires .NET 2.0, but it looks like the plugin requires a higher version of the framework.

m0ds

Ok, so next question... You have a complete game, with no voice acting attached yet. There are many, many lines spread over different rooms, dialogs and global script etc.

None of them have line numbers, &1, &2. I was under the impression Speech Center would be able to work through and number them all for me, but I guess this isn't the case?

Will I still have to go through every line of script and number them, &1, &2 etc? Is there a quick method of doing this? I was thinking maybe in the "number" box you could just add a number but it seems you have to double click to enter the script etc.

If this is the case, I guess sorting by character and working through it that way would be quickest? If anyone has any decent methods for working on it from a game that has no VA currently, it'd be a lot of help Sorry, I'm new to this, and need to find the quickest and simplest method.

The plugin does support automatic numbering of the game, you have to switch to edit mode and then in the edit dropdown you have an option to number all non-numbered lines. After that once you save the project it would apply the changes to your scripts/dialogs. The way it works is that it only numbers the lines currently displayed and not the ones you may have filtered out. It also only touches lines that don't have a number. The number is the lower available for the character. It also detects if a character has two different lines with the same text and if so it reuses the same number.

I had to add a specific edit mode due to the fact that the plugin interface doesn't have a way of notifying other components that an edit is in progress and no way of knowing if a script/dialog has pending changes. For this reason there's a dialog when entering edit mode and also upon save it closes all other windows and exits edit mode. However, you have full control over this behavior in the preferences because I didn't want these features to become nagging or annoying.

For the .net part, yes you guys are correct, I compiled it with 3.5 which is the highest .net version I can use while the editor is compiled with 2.0. Sticking to 2.0 for the plugin would have made some parts of the code overly complicated. My hope is that the editor would move to at least 4.0 at some point and then I'll make the same transition.

Currently aside from automatic numbering there's inline editing of the text itself. I didn't add an option to manually edit the number from the plugin. It's not impossible, but there are some details to take care of so it may take time to add it. Anyway, let me know if that feature has real use.

Please update if you managed to use the auto-number feature or whether something else needs to be worked out.

m0ds

The game's default language is Italian. It has an English translation. Being English, it's only viable for me to work with the English texts and voice scripts.

I can only auto number the lines to the default language (Italian).

Although it also numbers the lines of the English translation, it no longer displays any English, whether I select to view default or English translation, and so exporting the voice scripts always occurs in Italian.

From that point, attempting to switch to English nothing happens, it just remains all in Italian, as if it's overwritten the English or something.

So I'm back at square one

I don't want to set the translation (English) as the game default because that will overwrite and destroy the Italian text.

If there is no way around it, I guess that's the only option, turn it into an English only game.

I believe the source of the problem is that once you have a game with translation, the code doesn't update the existing translation key with the new string (the &number is considered part of the key when translating).So if you go to the translation you see Italian because the key for each line changed and there's no English translation for the new one.

The workaround you suggest will most likely work since the same lines will appear and will have the same order for both languages. However, I believe it will not work if you would like the compiled game to use the compiled translation file with this method.

I'll try to see if there's a quick fix for this.

Logged

m0ds

Thank you. I'm sure in time other commercial developers who deal with multiple languages may to need it to work like this too. Let me know if you come up with something. I don't really want to use the workaround, but deadlines...so will probably have to for now Other than that it certainly is a nifty thing!

When i edit some random line in edit mode, then press enter, save the game and hit refresh, the line is back to normal (i.e. without the edits)

It's more than just this edit. The bug is in the AGS editor beta code. AGS.Types.Scripts doesn't return the correct count. If I have 10 scripts (5 header and 5 code) it returns 5 as the count (multiplying by 2 is not a good solution since some scripts may not have both file types).This problem was introduced on July 24 or July 27 in the AGS Git code repository.

I changed my code to work around it and not rely on count, but this should be fixed in AGS.

AGS.Types.Scripts doesn't return the correct count. If I have 10 scripts (5 header and 5 code) it returns 5 as the count (multiplying by 2 is not a good solution since some scripts may not have both file types).

Out of curiosity, how? Doesn't the editor always create and remove headers and script files together?