Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - SpeechCenter

#21
Update: due to a fix in AGS 3.5 Alpha, the plugin now works with this release. The only caveat is speech playback is not working at the moment with that particular AGS release (this should work fine with AGS 3.4), I'll work on a fix for that, but everything else should function as normal.
#22
New release (2.1.0) is now available here

1. Updated parser to include all new capabilities of AGS 3.4.0
2. Added ability to add methods to custom speech function
3. Added DisplayTopBar to the list of speech functions
4. It is now possible to display dialog option text even if it is not used for display or speech in the game
5. Playback of <Player> text will use the configured player character

Note that the minimum AGS version required for this plugin is 3.4.0.
At the moment the plugin does not work with the current implementation of AGS 3.5.0 Alpha.
#23
Some updates:
1. Updated parser to include all new capabilities of AGS 3.4.0
2. Added ability to add methods to custom speech function
3. Added DisplayTopBar to the list of speech functions
4. Playback of <Player> text will use the configured player character

Will release in the next few days, just finalizing some tests.

@Dave Gilbert:
1. I plan to include an option to show in the grid dialog text that is not shown or spoken, this it will be visible in the VO script. I'd like to release all changes above soon, will try to include that as well, if that won't happen now, will have another minor release with this change.
2. I reproduced the problem you reported of build while editing text. The changes are applied prior to the build, so nothing is lost, only that the edit box remains visible. The workaround is to go back again to edit mode and then cancel to get rid of that edit box. I"m still not sure what's the source of the problem, I'll work on it, seems to be related to the grid I used. It will take some time to work this out, but for now at least there's a workaround.
3. The fact that AGS ignores '");' at the end seems odd, I doubt it was done in AGS intentionally. However, if this is somehow officially supported I'll work to include that as well in the parser. If this behavior is just an artifact of some AGS parsing code, recreating this behavior in a different parser is going to be difficult, plus I assume AGS can break this behavior if it's not part of the official support.

Also note that at the moment the plugin will not work with AGS 3.5.0 Alpha version, there's a discussion in another thread regarding that issue.
#24
Quote from: Chicky on Tue 12/06/2018 15:09:22
I've been playing around with Speech Centre and it's such a time saver!

However, I've run into a snag. We use custom hotspot properties for base responses that don't need specific code, whenever the character responds with just a line of dialogue.

If defaultInteract or defaultLook is set to True, it uses the lines provided below.



Looks like Speech Centre doesn't pickup on these lines (those speech file numbers were added manually), I guess this isn't how most people handle default responses but it seemed like a nice tidy way of doing it when we started.

Anyway, we have 80+ rooms setup like this...

I guess my question is: Is this something SC might be able to support in the future? I really don't fancy going through and adding all of these to room script :~(
It's a very interesting way to implement, I'll have to look at whether there is an easy way to access the hotspot properties. It does sound like a very specific way to implement this (interesting to know if others are using this or something similar), so I'll likely try to first look at options that allow extracting data from other sources a bit more generically.
Since I first want to ensure to get the plugin back to working condition, this use case will go to the backlog for now.
#25
Huge apologies for the long time being away... too many things happened in real life and only now I have seen all the messages so I wasn't aware this was going on. These issues certainly need to be addressed as well as the requests which are overdue, the goal of the plugin is to improve the productivity and I'd like to ensure this is maintained.
I'm going to see what I can do, will take me a bit to figure all this out. If I see I don't have the capacity to handle then I'll look for other options to address.

Again, sorry for the delay in my response.
#26
Quote from: Dave Gilbert on Thu 23/06/2016 15:57:57
So I have been using this plugin for four years now and had no problems. I would seriously be lost without it. Today, sadly, I have hit a snag.

My game has a lot of background conversations (e.g., non-blocking). It got very complex very quickly, so I created a system that generates them fairly quickly. I've created an array of structs called bgConv, with each struct in the array containing the character, the line to be spoken, and the audiofile name (currently "null" until I get the VO in). I created a command, attached to the struct, called "convSetup" which is used like this:

Code: ags

    BGconv VillageEye2;

    function BGsetup()
    {
        VillageEye2.convSetup(cEli, "Do these drawings on the wall mean anything to you, Mandana?",null);
        VillageEye2.convSetup(cMandana, "I can not decipher their meaning, but I do get a sense of... reverence?",null);
        VillageEye2.convSetup(cEli, "Reverence. Like worship?",null);
        VillageEye2.convSetup(cMandana, "It is only a feeling.",null);
    }  


The plugin can pick up dialog that is called by global functions, but that doesn't seem to apply to functions that are subcommands of other objects (like structs).  Is there a way to enable Speech Center to pick up these conversations? Or should I cut my losses and just redo how the function works? In hindsight, I probably should have tested this out long before now.
Hi Dave, long time :)
I checked and indeed this option is not covered. I'll try to find some time to update this, but I cannot really say at the moment when I'll be able to do that. Is it possible for you to use a global function for now?
#27
Quote from: Nixxon on Thu 23/06/2016 00:39:47
Can I just say that this is bloody amazing. Not sure where I would go from here without this plugin.

Top work.
Cool, glad you liked it and found it useful.
#28
Version 2.0.4 is out and available here.
Fixes a parsing error in some specific scenarios.
#29
General note:
If you are using the AGS 3.3.0 beta and the plugin, please make sure to use beta 12 (build 3.3.0.1152) or above.
This release should fix any compatibility issues associated with editor plugins that existed in some earlier beta versions.
If you do find any problems with the plugin while testing the beta release then let me know.

If you are using the current release version (AGS 3.2.1), no action is required at this time.
#30
Yes, makes sense.
Currently the actual file per character does display the duplicate lines differently, but the index is just the total of all the lines.
It shouldn't be difficult to add to the index that since the information is already generated.

As a workaround you can filter duplicate lines in the plugin and export only the displayed line. It should generate the index file with the correct number of lines.
If you want to have the full scripts with the index file just copy the file to the same directory as the other scripts. The two options should generate the VO scripts in different folders so you don't need to rename things between the two actions.

Please see if the workaround gives you what you need.
#31
The steps are:
1. open the project without the numbering and translation
2. Open Speech Center plugin
3. optionally filter out lines you don't want to number
4. Go to edit mode
5. Choose to number lines without numbering
6. Save game
7. Update translation file

Thinking about it a bit, if you have done all steps till 6 and closed the project then it's possible that when opening it again this new translation information was not saved because the file was not updated. Will have to check that.
If there's another reason it doesn't display the translation anymore need to understand what was done, it worked in my tests.
#32
Hey Mods,

AFAIK, AGS uses the full text with the &number as the key in order to determine the translation. If the original file does not contain the number in the original (Italian) line then it won't find the correct English line. So what needs to be done is to update the translation file (from AGS, not the plugin). I make sure to copy the translation with the new number into the translation data structure so when you update the translation it should be in there with the correct values. After that it should work.

You will actually see after updating that the translation file that it contains two sets, the original ones and the numbered ones (probably the original in the beginning and the numbered in the second half). This is an AGS behavior, it would be the same if you were to go to the script manually and change the line numbers on your own. It's not something major, it just means your translation file is bigger and has irrelevant lines. I think the right place to add cleanup is in the translation component since it's the one generating the file. It's probably possible to think of a script that removes the unnecessary lines in your specific case.

Still, it should work after you update the translation file, so it's best to start by verifying that.
#33
Quote from: monkey_05_06 on Thu 10/10/2013 09:37:31
Edit: I pushed a fix for the reported issue, by updating the interface of the Scripts collection. It now operates directly on ScriptAndHeader objects exclusively. For scripts without an associated header, the Header property returns null. This may break some of the functionality you were using, because I've removed/replaced some of the exposed functions.
I just looked at the class and it would certainly break any plugin that runs on the beta but compiled with the release version, including mine.
So I don't think it's a good fix because everything in AGS.Types is exposed to the plugin. How am I supposed to support those who decide to use the beta? And if I change it, then those would use AGS 3.2.1 will not be able to use the plugin.
I also believe you can still have a backwards compatible enumerators and items accessor for the Scripts class even if the internal implementation changed to ScriptAndHeader. Then at least you don't break those that access the class. It's not extremely complex, but it will require some attention to some details.

So please don't leave this change as-is, it's going to be hell to maintain plugins if the interface breaks like that.
#34
Quote from: Mods on Thu 10/10/2013 08:39:30
QuoteThis version fixes the automatic numbering with translation problem

Ooh. Is that a fix on the issue I was having with it or someone elses?
Should fix the issue you reported. Let me know if it worked out :)
#35
Version 2.0.3 is now released here.
This version fixes the automatic numbering with translation problem and a workaround for the script count problem in AGS 3.3.0 beta.
#36
Quote from: Dhelayan on Wed 09/10/2013 22:32:15
I just noticed a bug (is it?) when using 2.0.2 with AGS 3.3.0 Beta..

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.

#37
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.
#38
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.
#39
Version 2.0.2 released. Includes a bug fix that prevented exporting VA scripts in some cases.
#40
Greetings,

I uploaded a minor update with a few fixes. Download link remains the same.

Feel free to comment or suggest additional improvements.
SMF spam blocked by CleanTalk