AGS 3.1.2 Final - Obama Edition

Started by Pumaman, Sun 04/01/2009 00:02:55

Previous topic - Next topic

Pumaman

What better way to celebrate the start of Obama's 6 months to save the world than with this new beta:

Because of the Vista new game crashing bug in 3.1.1, I'll try to make this release on a fairly short cycle to get the fixes out there.

Changes in 3.1.2 Final:

* Improved performance of Theora video playing
* Changed error to warning if you use Mouse.ChangeModeGraphic on the inventory cursor, to assist backwards compatibility
* Fixed object positions getting corrupted when importing a hi-res game from AGS 2.72 (bug introduced by 3.1)
* Fixed editor's room area undo buffer not being cleared when a different room was loaded


Changes in 3.1.2 RC 2:

* When changing the game resolution, the editor will now offer to automatically resize all your GUIs to compensate.
* "Letterbox Mode" option in General Settings is now only shown if the game resolution is 320x200 or 640x400
* Added plugin API event AGS_EngineInitGfx and methods GetDirectInputKeyboard, GetDirectInputMouse and ReplaceFontRenderer.
* Improved rendering of View Editor at 120 DPI
* Fixed DisplayAtY, GUI.SetSize and Mouse.SetPosition not checking Y co-ordinate correctly in 320x240 and 640x480 games when using native co-ordinates
* Fixed DX5 driver problem switching a GUI background graphic from one with to one without alpha channel
* Fixed potential crash on fadeout with DX5 Nearest Neighbour filters

Changes in 3.1.2 RC 1:

* Added support for using Transparency properties with alpha-channel sprites
* Added Error Reporting feature to editor, to send error information to AGS website if the editor crashes
* Added eKey* enum for use with on_key_press and IsKeyPressed, to make script more readable
* Added Show Start Page option to Help menu to allow you to access Tips if you have the start page disabled at startup
* Made some stability improvements to how the editor handles the sprite file
* Translations are now automatically recompiled if you change the game name, to ensure that they still work
* Moved the "You are currently using the eraser" tooltip further away from the cursor so it doesn't obscure what you're doing
* Improved the editor error message if the game folder had unicode characters in it
* Fixed game.screenshot_height not allowing 240/480 in games of those resolutions
* Fixed Vista Game Explorer integration appearing as "Play" in the start menu recent list
* Fixed GUI button being set to wrong size if you changed its image in the editor to a low-res sprite in a hi-res game



Changes in 3.1.2 beta 1:

* Added inventory item CursorImage property to allow you to set a different image for the mouse cursor to the inventory window
* Added Character.SpeechAnimationDelay property which replaces the old game.talkanim_speed setting and also works with Sierra-style speech. A new General Settings option is provided to enable/disable backwards compatibility.
* Added Game.TextReadingSpeed and Game.MinimumTextDisplayTime properties; obsoleted game.text_speed
* Templates are now stored in a "Templates" sub-folder to satisfy Vista permissions
* Moved the character SpeechColor property from the Movement to the Appearance section in the editor, where it belongs!
* DynamicSprite.Resize now won't allow new image to be over 25 MB to help spot mistakes in size calculations
* Mouse.ChangeModeGraphic now won't allow you to change the graphic of the Inventory cursor if "Use selected inventory graphic for cursor" is enabled
* Fixed crash in Vista creating a new game in the editor
* Fixed dynamic sprites sometimes being discarded by the sprite cache
* Fixed dialog script compiler bug if you used "this" in a string within a normal scripting command
* Fixed custom dialog options not working properly when using transparent background
* Fixed colour corruption if you imported an 8-bit sprite into a hi-color game and palette slot 0 of the sprite was not black
* Fixed save games not persisting the walking state of the highest-numbered character
* Fixed Dialog.GetOptionText returning original English text when a translation was in use
* Fixed PlayAmbientSound screwing up audio if it was used on a channel where a normal PlaySound command was still playing
* Fixed PlayVideo not working properly when DX5 graphics filter was in use
* Fixed button ClipImage property clipping 1 pixel too many in high-res games
* Fixed script editor crash if you deleted a block of code, then hovered the mouse over a script variable.
* Fixed editor not allowing you to rename a script to a different capitalization of the same name
* Fixed editor crash if you tried to rename a script file to contain  or :


THIS IS A BETA. MAKE A BACKUP OF YOUR GAME BEFORE TRYING IT OUT. DO NOT RELY ON A BETA FOR DISTRIBUTING YOUR GAME.

http://www.adventuregamestudio.co.uk/AGS-3.1.2-Final.exe

Shane 'ProgZmax' Stevens

Hooray!  Hopefully all my sprite import problems are fixed now!

Ryan Timothy B

QuoteFixed PlayAmbientSound screwing up audio if it was used on a channel where a normal PlaySound command was still playing
Excellent work my boy! Excellent work.  Very fast too.  :P  Thanks

Dualnames

Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

Snarky

Great! If you're changing the text speed system, any chance you could take a look at this suggestion (with ensuing discussion)?

Basically, I'm asking for a way to disable the text skip button(s) for a short moment right after a line change, but only if the previous line timed out. Thereby ensuring that if the line you want to skip times out just as you're clicking, you don't miss the next line. Personally, this is a feature I wish all games had. (If I finish reading a line a bit early, I'm often afraid to click to skip it, because this might happen and I'll miss the next one.)

The simplest way would probably be something like a TextSkipDisableTimeMs property, by default set to 0 to maintain backwards compatibility. However, a callback function like on_mouse_click() for whenever a line of text goes away, with an argument indicating if it timed out or was skipped, would also enable this functionality (at more work for the game developer), and could potentially be more flexible.

Another thing: In the manual, it'd probably be helpful if game.skip_speech_specific_key, SetSkipSpeech, TextReadingSpeed property, and MinimumTextDisplayTimeMs property all linked to each other under "see also."

Shane 'ProgZmax' Stevens

Hey CJ, I noticed the Character.InventoryDisplayed property doesn't show up at all in the manual, and I think it's the first time I've noticed it (I don't pay attention to auto-complete usually).

subspark

QuoteThereby ensuring that if the line you want to skip times out just as you're clicking, you don't miss the next line.
Good suggestion Snarky. I second that. Too long have I been haunted by the unpredictable window of time that text is displayed and how long I have before I can skip it before it times out. Perhaps AGS could be the first engine to specifically support a feature to counter this undesirable behavior.

Cheers,
Sparx.

Pumaman

Quote from: Snarky on Sun 04/01/2009 03:26:12
Great! If you're changing the text speed system, any chance you could take a look at this suggestion (with ensuing discussion)?

Basically, I'm asking for a way to disable the text skip button(s) for a short moment right after a line change, but only if the previous line timed out. Thereby ensuring that if the line you want to skip times out just as you're clicking, you don't miss the next line. Personally, this is a feature I wish all games had. (If I finish reading a line a bit early, I'm often afraid to click to skip it, because this might happen and I'll miss the next one.)

That is a very good idea actually, I have the same problem when playing games. I'll look into it.

QuoteAnother thing: In the manual, it'd probably be helpful if game.skip_speech_specific_key, SetSkipSpeech, TextReadingSpeed property, and MinimumTextDisplayTimeMs property all linked to each other under "see also."

Good point, thanks, I'll do that.

QuoteHey CJ, I noticed the Character.InventoryDisplayed property doesn't show up at all in the manual, and I think it's the first time I've noticed it (I don't pay attention to auto-complete usually).

There is no such property. Perhaps you're using a script module that has added it as an extender function?

Nickydude

Wow! Another update already :)

* Added Character.SpeechAnimationDelay property which replaces the old game.talkanim_speed setting and also works with Sierra-style speech. A new General Settings option is provided to enable/disable backwards compatibility.
* Added Game.TextReadingSpeed and Game.MinimumTextDisplayTime properties; obsoleted game.text_speed

Fantastic!
Best Regards,
Nickydude
www.madladdesigns.co.uk

AGS Beginner's Guide - All you'll ever need!

Shane 'ProgZmax' Stevens


Nickydude

Now I'm probably being picky here  ;D

But could you possibly put something in to specify the length of pauses in dialogue / speech?

I have dialog that has many 1 / 2 word sentences and in order to keep them on screen long enough I'm using Game.MinimumTextDisplayTimeMs = 3000; which is just about right, the problem is I'm using '...' as pauses which means there's nothing on screen for 3 seconds. I'd like the pauses to be shorter, about 1 second, is there a way round that?
Best Regards,
Nickydude
www.madladdesigns.co.uk

AGS Beginner's Guide - All you'll ever need!

Pumaman

How about using Wait() for your pauses instead of player.Say("...")?

Nickydude

That should do it, thanks :)

Just so you know, all these questions I ask will only be asked once as they are going into the guide.

Best Regards,
Nickydude
www.madladdesigns.co.uk

AGS Beginner's Guide - All you'll ever need!

TheMagician

Thanks for the new Beta Version  :D
In my 640x480 game, the biggest value I can set the Game Variable game.screenshot_hight to is 400. Is it possible to change it to the full 480 pixels?

F1ak3r

There's a bug in the dialogue editor. Any if statement used (indented, properly laid out and all) will give a "parse error at '-'", even if '-' doesn't even appear in the statement.

At first I thought it was just me doing something wrong, but once I'd tried everything I could think of to fix it, and failed, I became convinced it was a bug.

Of course, there's always a chance that it's just me, so yeah.

Pumaman

Quote from: TheMagician on Mon 05/01/2009 20:49:04
In my 640x480 game, the biggest value I can set the Game Variable game.screenshot_hight to is 400. Is it possible to change it to the full 480 pixels?

I'll look into this. However, do you really need save game screenshots to be of that size?

QuoteThere's a bug in the dialogue editor. Any if statement used (indented, properly laid out and all) will give a "parse error at '-'", even if '-' doesn't even appear in the statement.

How about you post the dialog script that's causing the problem? "if" statements seem to work fine for me.

monkey0506

I'm sporadically getting an error where if I have a room opened for editing and I test the game (with or without debugger) the colors in the room go all wacky...I have to switch off the tab then back for it to correct the colors. If needed I'll post a screenshot.

Also, is the official fix for games with no dialog_request just simply for the editor to create the function? Maybe it's just me but it's been bugging me that a function that serves no real purpose anymore (because we can put the scripts directly into the dialog script) (not to mention the fact that it's an empty function) keeps appearing every time I try and add a new interaction function.

TheMagician

QuoteI'll look into this. However, do you really need save game screenshots to be of that size?

I know that the savegames increase in size when they include bigger screenshots. However, in my current (non-adventure) game I use the screenshots for an important fullscreen special effect while loading the game.
Of course I'll give the user the possibility to disable the effect to save disc space but it would be a great feature.

F1ak3r

Well, that's embarrassing. Turns out I left out a "return". =) Oops...

abstauber

Yay, thanks for fixing that dialog gui thing! :)

Mantra of Doom

#20
I got this error message while running the game from the editor:



I'm running Vista 64 if that matters. I believe the only thing that changed since the time that worked was that I added a few sprites and set those sprites to some Gui buttons. I know there is probably a fix already posted, but I thought since I was using the beta I'd better report it.

Everything else is wonderful though!

EDIT: I got my game working again. I renamed backup_ACSPRSET.SPR to ACSPRSET.SPR, closed the editor, reopened it and re-imported my last sprite. It works now, just scared the crap out of me since I did a lot of things today.
"Imitation is the sincerest form of imitation."

Pumaman

Quote from: MantraofDoom on Sun 11/01/2009 22:31:21
I got this error message while running the game from the editor:

Hmm that's strange, has anyone else had a problem like this?

When that problem happened, if you closed the editor and loaded it again were the sprites still intact?

Mantra of Doom

The only one that wasn't was the last sprite that I imported and it showed a blue cup. All I did was replace that image and it worked fine.
"Imitation is the sincerest form of imitation."

Pumaman

Was that after you renamed the sprite file, or before?

After renaming the backup file, I'd expect that to happen -- but before you renamed the file back, could the editor still open the game successfully and were the sprites there?

Has anyone else experienced this problem with the beta, or indeed with any other version?

Mantra of Doom

Before I renamed the file, nothing really looked right, especially the last gui I was working on. Several random sprites were missing and the game wouldn't run at all. After I renamed the file the editor opened everything except the last one I'd imported. I haven't had any problems since.

On an unrelated note, over the weekend, I plan on loading the Beta of Windows 7, so I'll let you know how AGS handles on the new OS.
"Imitation is the sincerest form of imitation."

marajin

Quote from: MantraofDoom on Tue 13/01/2009 04:53:57
On an unrelated note, over the weekend, I plan on loading the Beta of Windows 7, so I'll let you know how AGS handles on the new OS.

Already gave this a shot myself, worked fine here for Windows 7 32bit on my UMPC. For most respects windows 7 should be almost entirely compatible with Vista stuff so no worries.

Pumaman

Quote from: MantraofDoom on Tue 13/01/2009 04:53:57
Before I renamed the file, nothing really looked right, especially the last gui I was working on. Several random sprites were missing and the game wouldn't run at all. After I renamed the file the editor opened everything except the last one I'd imported. I haven't had any problems since.

Did you get any errors when it was trying to save the game just before the problem happened, that might shed some light on what caused it?
If not, then please do let me know if it happens again.

Mantra of Doom

I got the error initially when I was trying to run the game from the editor. I believe it also happened when I tried to save it. But I haven't gotten it since, so I think it might have been a one-time glitch. I will let you know if I get any more errors.
"Imitation is the sincerest form of imitation."

Pumaman

Ok thanks, well I've added a couple of extra checks into the editor for RC1 so hopefully it should have a better chance of spotting any sprite corruption.

Anyway, RC1 is now up. As I said, because of the Vista crash in the 3.1.1 editor, I want to get this out ASAP, so it's straight to RC now.

Joseph DiPerla

#29
Chris, its been a while since I used AGS and my PC crapped out so I am using this version of AGS for my game. I am having an issue with my simpsons game. I have an idle view for homer. I exported a sprite from the sprite folder. I then edited it and imported it and set it to an idle view.

In the room he is in, the walkable area is set to 63 on the scaling(The game is 640x400 and the sprite is 62x152). And the character uses room scaling. But when the idle animation kicks in, the character shrinks considerably. I cant get the setting right on this. Is this a bug or am I doing something wrong? Or do idle views ignore scaling?

EDIT: Nevermind. I am an idiot. I just had to change the resolution of the new sprite. Sorry. Thanks for all the hard work!
Joseph DiPerla--- http://www.adventurestockpile.com
Play my Star Wars MMORPG: http://sw-bfs.com
See my Fiverr page for translation and other services: https://www.fiverr.com/josephdiperla
Google Plus Adventure Community: https://plus.google.com/communities/116504865864458899575

Pumaman

Hehe, glad you sorted it.

Anyway, RC 2 is now up. This is planned to be the final release of 3.1.2 unless any bugs are found -- so please give it a go and make sure your games are still working!

HammerBlade

Thanks for taking out the letterbox option for 320x240 / 640x480 resolution games!  For a second, it had me convinced my game was messed up.

monkey0506

By the way Chris, thanks so much for the bug fix with the alpha transparency. You're the greatest!

Dataflashsabot

i also would be very interested in the anti-speech-skip thing.

Laukku

A minor bug I just found in 3.1.1 : I had  edited a region (filled rectangular outlines to make a rectangular area) in room 3 and then loaded room 7. I noticed that the newly loaded room had the undo command visible, although I hadn't made any changes yet. I pressed it, and the room's walkable areas were replaced with the rectangular region outlines from room 3! Apparently AGS thought that I was still editing the  region in room 3 and tried to undo my region outline fill. I managed to get the walkable areas back by closing the room without saving.

Sorry if this does not actually belong here, but I didn't see it fixed in the changelist so I thought it still is valid.
You are standing in an open field west of a white house, with a boarded front door.
>WIN GAME
Congratulations! You just won! You got 0 out of 500 points.

Shane 'ProgZmax' Stevens

#35
Code: ags
mouse.ChangeModeGraphic(eModeUseinv, 80);


Calls like this one generate the following error in the latest release:

Quote
Mouse.ChangeModeGraphic cannot be used on the Inventory cursor when the cursor is linked to the active inventory item

I really hope you can return support for the previous behavior since I use this method to change what the inventory cursor looks like on the fly in many, many places in my game.  I realize this is a side-effect of adding the convenient cursor mode icon support to inventory items, but in my game I change the cursor mode image depending on certain circumstances (say if you fill a cup with coffee, or water, or empty it) and this prevents me from doing so now :(.

Pumaman

Quote from: HammerBlade on Fri 23/01/2009 17:05:41
Thanks for taking out the letterbox option for 320x240 / 640x480 resolution games!  For a second, it had me convinced my game was messed up.

Hehe in fact it was your thread that led me to put in that change, because it is quite confusing!

QuoteBy the way Chris, thanks so much for the bug fix with the alpha transparency. You're the greatest!

A pleasure! Glad it's working for you.

QuoteA minor bug I just found in 3.1.1 : I had  edited a region (filled rectangular outlines to make a rectangular area) in room 3 and then loaded room 7. I noticed that the newly loaded room had the undo command visible, although I hadn't made any changes yet. I pressed it, and the room's walkable areas were replaced with the rectangular region outlines from room 3! Apparently AGS thought that I was still editing the  region in room 3 and tried to undo my region outline fill. I managed to get the walkable areas back by closing the room without saving.

Thanks for spotting this, I'll get it fixed.

QuoteI really hope you can return support for the previous behavior since I use this method to change what the inventory cursor looks like on the fly in many, many places in my game.  I realize this is a side-effect of adding the convenient cursor mode icon support to inventory items, but in my game I change the cursor mode image depending on certain circumstances (say if you fill a cup with coffee, or water, or empty it) and this prevents me from doing so now

Why can't you just do something like:

iCup.CursorGraphic = SPRITE_NUMBER_OF_EMPTY_CUP;

However, I do agree that this could cause some backwards compatibility problems with playing older games, so I'll look into making it a warning instead of an error.

woot52

but will the games work better on vista ???

Pumaman

Quote from: woot52 on Tue 27/01/2009 23:25:10
but will the games work better on vista ???

What do you mean? What problem are you having on Vista?

Dualnames

This must be a newbie question but wondering if my code is like this:

A)
Code: ags

if (player.Room==12)  cEgo.Say("Ok."); return;
//functions


B)
Code: ags

if (player.Room==12) {
cEgo.Say("Ok."); 
return;
}
//functions
[code/]


Only case B stops at return. That's supposed to happen, right?

Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

woot52

no no no... I mean ALL the games I download won't work unless I set the resolution to 600x400... then when I try to make a game with 600x400 I can't test it, it only works with 320x200, THEN when I compile it, it doesn't work

even when the downloads work in 600x400, they take like 30 seconds to start, and they keep flashing on the screen before even working

Khris

Dualnames:
In case A the return will always be executed. The compiler doesn't care about line breaks.
Case A is equivalent to:
Code: ags
1.
if (player.Room==12)  cEgo.Say("Ok.");
return;

2.
if (player.Room==12) {
  cEgo.Say("Ok.");
}
return;

3.
if (player.Room==
12)  cEgo.Say("Ok."); return;


woot52:
Run the winsetup.exe and either set the filter to x2 or play the game windowed (using x3).
Downloaded games could have been made with older (or really, really old) versions, so if there's no filter option, playing the game windowed is a safe bet.
Only change the resolution as a last resort.
Recent gfx cards and Vista don't support 320/fullscreen btw.

woot52


Pumaman

Ok, 3.1.2 Final is now up in installer-only format. If no serious issues are found, this will become the official 3.1.2 release -- so please, make sure your games still work!

Shane 'ProgZmax' Stevens

#44
Thanks for that backwards compatibility fix, CJ.  It will give me some time to fix all the inventory items :).  Oh, and I can verify that the sprite importer seems to be selecting whichever transparent index was saved in the gif now.  My sprites with palette index 255 reserved for transparency are importing perfectly.

Dualnames

I'm afraid I still haven't got the time to check AGS 3.1.2...due to time-related issues..I'll give it a shot asap though.
Worked on Strangeland, Primordia, Hob's Barrow, The Cat Lady, Mage's Initiation, Until I Have You, Downfall, Hunie Pop, and every game in the Wadjet Eye Games catalogue (porting)

freshpaint

I'm glad you put this new (3.12 final) out there.  I'd been using 3.12 RC1, had just created a new room (my first in many releases!) and found many problems with highlighting/erasing hotspots, walkables, walkbehinds, etc.  I'd been about ready to post some bugs when the new version appeared.  Thanks!

So far, the latest ("Final") seems to have fixed the marking/unmarking problems I'd had.  Will be working on the room today and will report back as soon as I can if I find anything new.

SMF spam blocked by CleanTalk