AGS 3.3.0 Release Candidate

Started by Crimson Wizard, Thu 04/04/2013 19:16:28

Previous topic - Next topic

selmiak

hmmm, you got a point there. Haven't tried it and it might look strange when stopping one walkcycle in the middle of it and switching to the first frame of the other walkcycle but could work.

Crimson Wizard

Here's a build with a threaded audio fix by JJS:
http://www.mediafire.com/download/u5qu46pqhu466an/acwin1148plus_10dec2013.7z

Please tell if that improves music playback (overall, and on Windows 8 in particular).

Reminder: to enable threaded audio manually add this line beyond "[sound]" category in the acsetup.cfg:
Code: text
[sound]
threaded=1

AGD2

Just a couple of quick observations:

1) I have only tested a little bit so far. The lip-syncing in Al Emmo seems much more accurate now, though still not 100% like it is when multi-threading is disabled. Aside from that, I haven't noticed any issues with music stuttering yet.

2) Whenever I press ALT+X or QuitGame(); is called, I am presented with the Windows error message "Al Emmo has encoutnered a problem and needs to close" with the "Send Error Report" button at the bottom. This is on Win XP.

Radiant

We have an issue with voice clips being cut off. The vast majority of voice clips work fine, but we've encountered an issue where a voice clip is cut off near the end; the text and portrait animation is played properly for the correct amount of time, but the voice halts and cuts off the last few words. Here's a sample project that shows it; run the executable and press space bar to have EGO say something.

http://crystalshard.net/test/Voicetest.zip

JJS

#544
I could also reproduce this error with 3.21 and that particular ogg file. Interestingly the engine seems to fail at keeping the buffer filled. Eventually playback ends here: https://github.com/adventuregamestudio/ags/blob/master/Engine/libsrc/alogg/alogg.c#L1022

For me the speech never ends though. Audio cuts out and the speech line stays on screen forever.

Edit: Hmm, removing this "buffer underrun" branch causes the full clip to play. May be a bug in the underrun detection.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

deee

First of all, I love the changes, especially the proper alpha blending now possible.
But I probably found another bug.
Not sure if this has been mentioned before:
Setting an object's visibility to false does not seem to have any effect.


Crimson Wizard

Quote from: deee on Thu 12/12/2013 15:08:42
Setting an object's visibility to false does not seem to have any effect.

This works for me.
How do you do this? Maybe you have a mistake in script?

deee

Oh, sorry, I forgot to mention, this only affects the editor.
Setting the visibility through scripts perfectly works, and that is just my workaround (setting the object's visibility to false in room_load, for initially invisible objects).


Crimson Wizard

Quote from: deee on Thu 12/12/2013 18:02:30
Oh, sorry, I forgot to mention, this only affects the editor.
Setting the visibility through scripts perfectly works, and that is just my workaround (setting the object's visibility to false in room_load, for initially invisible objects).
You mean you set "Visible" property for the object to false in the editor, and on game start it is still visible? :-\ That's very weird.
Had anyone else seen such error?
Could be there's some line in your script that turns visibility back at game start? That's the only thing I can think of at this moment.
What will happen if you start a new game project, make 1 room with 1 object and set turn its Visibility down?

JJS

Quote from: Radiant on Thu 12/12/2013 12:00:43
We have an issue with voice clips being cut off. The vast majority of voice clips work fine, but we've encountered an issue where a voice clip is cut off near the end; the text and portrait animation is played properly for the correct amount of time, but the voice halts and cuts off the last few words. Here's a sample project that shows it; run the executable and press space bar to have EGO say something.

http://crystalshard.net/test/Voicetest.zip
I pushed a fix: https://github.com/adventuregamestudio/ags/commit/7fda041a715ff2792de7cc6d789929b4682716d7
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Radiant

#550
This is a bug: when Game.ChangeTranslation() encounters a problem, such as an invalid .tra file, then according to the manual it should return false. This is expected behavior, as it allows the game designer to deal with issues gracefully.

Instead, the function terminates the game when a Windows error popup ("the translation is not compatible with this game"). This is correct behavior if winsetup is used to select an incorrect translation, but not when changing it at runtime with ChangeTranslation().

Radiant

#551
The SetVoiceMode() function is meant to allow an in-game switch between playing voice samples, displaying subtitles, and both. However, doing SetVoiceMode(eSpeechTextOnly) will prevent Sierra-style portrait animation from playing; this strikes me as incorrect behavior (the text is shown normally, and the portrait is shown in its mouth-closed frame).

Crimson Wizard

OK, I'll look into those two.

deee

Okay, the object visibility issue seems to be caused by the smooth scrolling & parallax module (setting PxPos>0 leads to always visible objects, unless you script it), and does not have to do anything with 3.3.0 beta.
I apologize.


Billbis

You're really doing great job, thank you all! :-*

Just signaling a minor editor bug:
1. Open a project
2. Double click on Sprite
3. Expend GUIs and double click on a GUI
4. Close the open GUI panel
5. Close the Sprite panel
6. Double click on Sprite: the Sprite panel won't open anymore.

Grim

Quote from: deee on Fri 13/12/2013 14:15:16
Okay, the object visibility issue seems to be caused by the smooth scrolling & parallax module (setting PxPos>0 leads to always visible objects, unless you script it), and does not have to do anything with 3.3.0 beta.
I apologize.

And if you really need to make them invisible just go for object.Transparency=100; That's the only way to "switch off" objects with parallax.

Crimson Wizard

I have an interesting question. Right now I am rewriting how the logging works in AGS: the log will only be written if it is enabled by cmd line argument or in config file, and choosing the sane path for every platform (like home/.ags on Linux). And I am not sure what path to use on Windows.
Writing to the exe folder is not a very good idea, because it won't work if the game is installed on system drive (like in Program Files).

Of course, the logging is not useful for everyone, and many users simply won't bother, but those who do, where they will expect to look for one? Is it "Documents", or some "AppData", or else?

tzachs

I searched for the same thing when I needed a place to save the layout file.
From what I read then, best place is in the non-roaming user's local app data folder.
Code: csharp

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);

Radiant

Quote from: Crimson Wizard on Sun 15/12/2013 21:03:52
Of course, the logging is not useful for everyone, and many users simply won't bother, but those who do, where they will expect to look for one? Is it "Documents", or some "AppData", or else?
The same location as your saved games; it's more convenient to use one folder instead of two.

"Documents" is intended for files that the user created and saved, which logfiles are not; AppData is intended for data files that aren't read by the user (and accordingly, this folder is made hard to find on Windows machines), which logfiles aren't either. So just put it in the known central location :)

Radiant

By the way, if you're rewriting logging, please make sure that every log gets a line number. I've found warnings in the past like "ChangeCharacterView was used while the view was fixed", or "FollowCharacter called but the sheep is currently animating looped" or "StopDialog called, but was not in a dialog" and found that these are very hard to locate in 10,000+ lines of game script.

SMF spam blocked by CleanTalk