Show Posts

You can view here all posts made by this member. Note that you can only see posts made in areas to which you currently have access.

Messages - SpeechCenter

Pages: [1] 2 3 ... 7
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.

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.

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: Adventure Game Studio
  1.     BGconv VillageEye2;
  3.     function BGsetup()
  4.     {
  5.         VillageEye2.convSetup(cEli, "Do these drawings on the wall mean anything to you, Mandana?",null);
  6.         VillageEye2.convSetup(cMandana, "I can not decipher their meaning, but I do get a sense of... reverence?",null);
  7.         VillageEye2.convSetup(cEli, "Reverence. Like worship?",null);
  8.         VillageEye2.convSetup(cMandana, "It is only a feeling.",null);
  9.     }  

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?

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.

Tools for developers are always a good thing.
Yes, the Speech Center plugin includes editing capability of translations. The standalone utility is there in case you'd like to edit the TRS file directly (e.g., your translator really doesn't know AGS or only interested in translating). Both options have value, depending on the use case.

Based on the description above, do I understand correctly that the plan is to use word-by-word translation in the auto-translation? In my experience dictionary is useful for lookup, but translating a whole sentence like that usually doesn't result with reasonable grammar.
In the past I considered integrating with online translation services, but most services I found required payment and/or had significant restrictions in their TOS, but maybe you found a service that is more useful.

Perhaps open a bug for at for libvorbis ( They'll probably be able to tell if this file is encoded incorrectly or if it's a software bug.
By the way, the file does play correctly on my VLC, but there's a problem to have it play from a different location than the beginning.

Regardless, it's a good idea to update the library, the current one is very old. It would also help building all dependencies from source, if one would like to do that.

The problem is that ov_read returns 0 even though it's not the end of file.
Indeed this is likely a bug in libvorbis. Check out reporting similar behavior. So if the Linux library uses libvorbis-1.2.2 or above it's likely to not reproduce there. Alternatively, update the library in Windows and see if it works.

Editor Development / Re: .NET version
« on: 16 Sep 2014, 20:27 »
Just a quick note, you can still compile the C++ portions with VC++ 2008 compiler while using newer VS IDEs. All you need is to install both VC++ 2008 and the newer VS. Then set the C++ projects to use the older compiler.

I've been using VS 2013 express for some time, including for privately testing my code against AGS compiled this way and it works just fine.
The downside is that it will require two installation of Visual Studio until those native projects will be upgraded. The upside is that the IDE is much better and the express version supports compiling both C# and C++ in the same solution. This was very useful on multiple occasions.

If, however, the consensus is to stay with VS 2008 IDE, moving to .net 3.5 is a good step forward.

Removing the headers is a good idea, but what about existing code? Will it continue to function or require conversion?

As for keywords, I would try to stick to C# as much as possible, as long as it makes sense. So perhaps 'public' can still be used.
(another reason to restrict the number of new keywords is that it increases the possibility someone uses this keyword in existing code and then the code won't compile)

* The new keyword internal should be added for structs that cannot be instanciated using keyword new
* internal structs should have access to a protected constructor, and should be able to return managed instances of the class by invoking it (e.g., via a static Create method, where appropriate)
AFAIK in C# (if we take one for analogies) "internal" structs are those that cannot be used by external module. Here we have a struct that may be used externally (in scripts) but cannot be created with "new" by scripts.
Also, as Gurok mentioned above, protected members should be (are?) accessible in extender functions.
Should not constructor be "internal" instead?
That would be confusing indeed. In C# static classes mean they cannot be instantiated ( So either support that or define private/protected constructor.

Given the many additions to the language specification, I suggest you keep a list of those changes either in the original post or a separate wiki page so it's easier to go through the final result.
It's also important to review those final decisions to ensure future compatibility.

By the way, I would still consider changing the classes to static to indicate classes that cannot be instantiated, assuming backwards compatibility can be maintained. Hence it would allow using a static class modifier in the language.

Version 2.0.4 is out and available here.
Fixes a parsing error in some specific scenarios.

Beginners' Technical Questions / Re: Translating
« on: 06 Apr 2014, 23:15 »
For external editing see if this tool helps
The Speech Center plugin also has translation editing, amongst other things

General note:
If you are using the AGS 3.3.0 beta and the plugin, please make sure to use beta 12 (build 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.

Editor Development / Re: Transition to .net 4?
« on: 28 Dec 2013, 22:56 »
Windows XP will reach end of support on April 2014, well before any expected release of 3.4.0, therefore I do not believe it's a concern any longer
Well, this does not mean people will stop using it...
On other hand, it is still possible to use previous version of AGS to create games. I heard some still use 2.72 :).
Your fallback is to not go beyond 4.0, but I think we are talking about far enough to the future to even consider going all the way. In any case, .net 4 can be done even if XP remains.

  • Ability to compile the entire solution with one instance of Visual Studio Express
We would need to break ties with precompiled allegro libraries to switch from MSVS 2008 completely.
I don't think there are other technical issues.
True, but it's something that needs to be resolved anyway.

Editor Development / Re: Transition to .net 4?
« on: 28 Dec 2013, 22:26 »
Given that 3.3.0 hasn't changed the .net version, I would like to propose this would be included in 3.4.0.
Windows XP will reach end of support on April 2014, well before any expected release of 3.4.0, therefore I do not believe it's a concern any longer (someone can be even brave and consider .net 4.5). Also transitioning to the latest IDE has its merits.

  • More modern IDE and compiler
  • Ability to use newer capabilities in .net
  • Ability to compile the entire solution with one instance of Visual Studio Express

Can we make sure this is included in the feature list of 3.4.0?

Not sure it's related, it sounds more likely a problem with different runtimes that were used in the engine and the plugin. If that's the case you can expect many different types of problems.

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.

To view what's in there start with an hex editor and see what you have there, if you see content it's possible to fix it to open with a text editor. Sometimes text editors don't show something with binary content, although it's more likely your file just contains zeros.

If you are using Windows 7 or above try to right click on the file, and choose "restore previous version", it may take several seconds until you see something. This has a chance if you worked within "my documents". You can also check previous versions for Game.agf.bak.

Editor Development / Re: AGS 3.3.0 Beta Release
« on: 08 Nov 2013, 08:18 »
It depends on the software that adds the file, any file can be marked with a different zone which will pop up the security warning if attempting to open it.
See this very thorough answer here

Pages: [1] 2 3 ... 7