AGS 3.3.0 Release Candidate

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

Previous topic - Next topic

Crimson Wizard

#240
Quote from: cat on Sat 14/09/2013 14:36:52
Looks like the widths of the columns in the Output window cannot be changed. I had to copy the text to the clipboard to be able to read the text. Same goes for findresults.

Interesting; when the ListView is on docked panel, its column header becomes invisible. When I drag them and make them floating windows, the column header reappears and I can change column widths.

E: On further investigation I found that every dockable window has an extra margin at the top. It looks like it is left for the dragging "handle". Output and Find Results windows don't have these margins, and the dragging handle simply covers the column headers. Should be easy to fix, I guess.

EE: I wonder, though, why do Weifen Luo's docking panels require a premade padding? MSVS docking panels, for instance, do not require any preserved space, they seem to increase panel's size and add a drag handle similarly how window title is added.

EEE: Found a minor bug with "Find Usage" command: http://www.adventuregamestudio.co.uk/forums/index.php?issue=431.0

Intangible

I'm not sure if this is the right place to ask this, but is there an approximate time frame for when we should expect a general release of AGS 3.3.0? I'm planning to start some new projects soon, but if I can save myself a conversion by putting them off for a few weeks I don't mind. If we're talking months, though, I'll probably just go ahead with the current release and convert later. :)

Crimson Wizard

Quote from: Intangible on Tue 24/09/2013 23:23:01
I'm not sure if this is the right place to ask this, but is there an approximate time frame for when we should expect a general release of AGS 3.3.0?
I hoped to put couple more things in there which may take about a week. Then it will be a "release candidate" version, I think.
Anyway, there should not be anything that could prevent you from upgrading from beta to final release.

AGD2

#243
Here's a small test project I made with 3.3.0 beta 7 to demonstrate the issue.

Download Here

Open it in the editor and look in the Sprite Manager. You'll see I have created 3 new folders: SlotA, SlotB, and SlotA (again).

Go to the Views section and open the view called vTestView. There are two loops, each with 3 frames. Loop 0/frame 0 displays sprite slot 10 (from the first SlotA folder). And Loop 1/frame 0 displays sprite slot 11 (from the second SlotA folder).

If you double-click on Loop 0/Frame 0, it will open up the sprite manager and highlight the correct sprite in slot 11 (first SlotA folder). However, if you double-click on Loop 1/Frame 0, the Sprite Manager will open up the first SlotA folder instead of the second one, and no sprites will be highlighted.

In room 1, I also added an object with sprite slot 13 (from the second SlotA folder) to object 0. If you click to change the sprite number, it will make the Sprite Manager open the first SlotA folder and no sprites will be highlighted.

--EDIT--

QuoteImproved walking at 60%-80% zoom when using AdjustSpeedWithScaling and MovementLinkedToAnimation;

Also, was this feature from the Draconian edition, ever implemented into 3.3.0 ? If not, any chance of including that in the RC? Thanks!

Crimson Wizard

#244
Quote from: AGD2 on Wed 25/09/2013 03:54:16
Here's a small test project I made with 3.3.0 beta 7 to demonstrate the issue.

Download Here

Open it in the editor and look in the Sprite Manager. You'll see I have created 3 new folders: SlotA, SlotB, and SlotA (again).

Ohhh. No, there aren't two "SlotA" folders. There are two different folders: "SlotA" and "slotA". :D
Ironically, it works well with both of them having names in same case, but does not work with them having same name in different cases.
Anyway: fixed!


Regarding other requests: I did not set myself a deadline, I just would not want to start time-consuming tasks for 3.3.0. Otherwise this will become an endless process :(. And some most people don't like it when the version is "in development", they look for "official releases".
I'll check how much time will these things may take to implement.

Crimson Wizard

People with good english, anyone?
I am remaking one old parameter into OO-style property, and cannot invent a proper name. :)

Original name is a bit misleading: game.close_mouth_end_speech_time.
What it does: it stops speech animation N game ticks before the speech is supposed to end (i.e. automatic text removal).
So right now I am trying to figure out how to say that in short. Something like "StopAnimationBy(sp?)Time". Or maybe "AnimationEndMargin"...
Any ideas?

Ryan Timothy B

SpeechAnimationEndTime ?

Radiant

Could you please elaborate: suppose that for a line, the automatic text removal is after 3000 milliseconds, and I set this variable to 500 milliseconds. Would the speech portrait then be shown for 3500 ms (3000 ms speaking, 500 ms closed mouth), or for 3000 ms (2500 ms speaking, 500 ms closed mouth)?

Also, the documentation says that this doesn't work in voice mode; I think it would be useful in voice mode as well to allow for a gap between individual lines.

But to answer your question, I think SpeechAnimationMargin would catch the meaning well.

Crimson Wizard

#248
Quote from: Radiant on Thu 26/09/2013 13:51:30
Could you please elaborate: suppose that for a line, the automatic text removal is after 3000 milliseconds, and I set this variable to 500 milliseconds. Would the speech portrait then be shown for 3500 ms (3000 ms speaking, 500 ms closed mouth), or for 3000 ms (2500 ms speaking, 500 ms closed mouth)?
This option does not change automatic speech removal time. It only sets a time point at which the speech animation ends (T-minus). So, in your example:
The text & portrait will be displayed 3000 ms, but animation will play only 2500 ms.

Quote from: Radiant on Thu 26/09/2013 13:51:30
Also, the documentation says that this doesn't work in voice mode; I think it would be useful in voice mode as well to allow for a gap between individual lines.
Thing is that at the moment this all is totally irrelevant to voice mode, because there's no precalculated removal timer in voice mode (sort of a problem actually), so it is not known beforehand when the speech will end.
But even if the timer will take voice sound length as a reference, setting this parameter will make speech animation stop before voice finishes.

Perhaps this may have sense for some peculiar effects, but first the whole thing needs to be altered to allow timer use voice length as a reference.

MiteWiseacreLives!

SpeechAnimationTimeout ?

Radiant

Quote from: Crimson Wizard on Thu 26/09/2013 14:34:26
This option does not change automatic speech removal time. It only sets a time point at which the speech animation ends (T-minus). So, in your example:
The text & portrait will be displayed 3000 ms, but animation will play only 2500 ms.
Thanks. And I see that this makes no sense with voiced speech, and I don't see much of a reason to implement it for voices.

Snarky

But couldn't it be argued that a setting to provide "padding" after the speech animation would serve the same purpose, and could support both voiced and unvoiced cases?

Crimson Wizard

#252
Okay, let me show this in graphical way :).


Hypothetically, there are three processes, run in parallel:


Periods:
A - Portrait & text displayed on screen, but speech is not "played" (main timer not set and no voice).
B - Speech started playing, but special speech animation not started yet.
C - Animation stopped, but speech still playing (voice still plays at this point!)
D - Speech stopped playing, but both portrait & text are still shown.

At this moment, AGS only supports setting period C. This is done using aforementioned game.close_mouth_end_speech_time.

Radiant is asking to add something to set period D (I am working on this).

festilligambe

perhaps something like SpeechAnimationDuration  but it would only represent the length of the animation but I like that it rhymes.  Could also use term
New to programing, old school to adventure games

Snarky

And I'm saying if you can set D, you don't really need C, because C doesn't work when you have voice, and when you don't have voice the only thing that matters is C+D. So you can just get rid of C and always use D.

Crimson Wizard

#255
Quote from: Snarky on Thu 26/09/2013 17:32:15
And I'm saying if you can set D, you don't really need C, because C doesn't work when you have voice, and when you don't have voice the only thing that matters is C+D. So you can just get rid of C and always use D.
Hmm... this makes sense. I need to think about this.


EDIT: uhhh, it just that we cannot fully get rid of C, because, well, backwards compatibility.

EDIT2: By the way, I somehow forgot to mention: Radiant, you should set game.close_mouth_end_speech_time = 0, - this will fix the first of your speech problems (speech animation ending prematurely). Because it is 10 (game ticks) by default. And, that is 10 ticks not from the voice file end, but from text timer end, which is different (may be shorter). Yeah, it is pretty messed up there.

Radiant

#256
I agree with Snarky.

It's true that you can't fully get rid of it, but you could leave it a deprecated (and I'm betting, almost never used) game.foo variable, and then add a spiffy new function for D.

(edit) And thanks, I'll go do that.

Crimson Wizard

#257
Actually, I find it very strange that I don't remember anyone complaining about portrait animation ending too soon.
Perhaps that is because usually voice is faster than text reading timer?
I searched forums, and found only few mentioning of this var, most of them were feature announcements by CJ (in the new version threads).

Thing is that this variable ought to be adjusted if the voice is on, otherwise there will always be a chance that such problem arises.

EDIT:
It looks like the Lucas-arts style speech explicitly ignores close_mouth_end_speech_time in case voice is playing. Should add same fix for Sierra speech, since, as Snarky pointed out, this setting has no sense using with voice anyway.

Radiant

Well, the default is pretty close to zero, so it's probably not all that noticeable.

Plus I'd expect that most adventure games have their text speed set to "clickable" anyway.

Crimson Wizard

AGS 3.3.0 BETA 8 released (engine version 3.3.0.1144)
-------------------------------------------------------
Hopefully, the last Beta before the Release Candidate. Unless bugs are found, my only TODO is updating documentation.

-------------------------------------------------------
Changes from BETA 7:

Features:
- Increased maximal Font number from 15 to 30;
- Proper alpha blender for blending two 32-bit sprites with alpha channels. Used for:
  a) GUI controls
  b) Cursor crosshair sprite
  c) DrawingSurface.DrawImage()
  For gui set "Visual: GUI alpha rendering style" setting to "Multiplied Translucence, Blend Colors".
  For the last two ones set "Visual: Sprite alpha rendering style" setting to "Improved".
- Improved character walking at 60%-80% scaling (courtesy of Alan v. Drake).
- New function in the Dialog class:
Code: ags

/// Manually marks whether the option was chosen before or not.
void SetHasOptionBeenChosen(int option, bool chosen);

- New properties in the Speech class:
Code: ags

/// Stop speech animation this number of game loops before speech ends (text mode only)
int             AnimationStopTimeMargin;
/// Gets/sets extra time the speech will always stay on screen after its common time runs out
int             DisplayPostTimeMs;


** WARNING **
Deprecated one variable from "game" object:
Code: ags

int game.close_mouth_end_speech_time; // use Speech.AnimationStopTimeMargin


Compatibility:
- Properly handle null Strings passed into various formatting functions (Display, etc) for games built with AGS 3.1.2 and lower:
  In older versions of AGS engine printed "(null)" in such case; AGS 3.2 and higher raises error.
(This change is mainly important for the users of AGS ports, who cannot run originally built games)

Bug fixes:
- Fixed crash in the Editor, that occured when user added or deleted objects in room, then loaded another room (regression);
- Fixed "Output", "Call Stack" and "Find Results" panes, which had a pane's drag handle overlay the report table's header when in docked position;
- Fixed sprite lookup in folders, differing only by name case;
- Fixed text color for WFN fonts (regression);
- Fixed error which took place when user restored a game saved with background music playing, in case the music is not found in resources anymore;
- Fixed audio behavior during cutscenes (error caused audio volume to reset to default). Also AudioChannel.Volume will now return correct value when called from skipped cutscene.
- Fixed play.close_mouth_end_speech_time variable from making effect in voice mode and Sierra-style speech (which it wasn't supposed to do).


Templates:
- Fixed "Default Game" template to be compatible with 3.3.0;
- Updated "MI 9 verbs" template by abstauber;
- Added "Lightweight BASS" template by Ghost.

Download links (also updated at first page):
EXE:
http://www.adventuregamestudio.co.uk/betas/AGS-3.3.0-beta8.exe
ZIP:
http://www.adventuregamestudio.co.uk/betas/AGS-3.3.0-beta8.zip

SMF spam blocked by CleanTalk