AGS 2.72 Final 2 - World Cup Edition

Started by Pumaman, Sat 14/01/2006 22:47:30

Previous topic - Next topic

Pumaman

Right, let's get 2.72 out there.

Changes from Final to Final 2:
* Fixed the "adjust volume with scaling" option not being able to be un-ticked
* Rebuilt ACWIN.EXE without compression to fix icon replace corrupting the file

Changes from RC 2 to Final:
* Fixed bug in RC 2 where PlayMusicQueued didn't always respect the SetMusicRepeat setting
* Fixed PlayMusic not working if it was called whilst an old track was fading out but crossfading was now disabled
* Fixed String.Contains not working properly with strings >200 characters.

Changes from RC 2 to RC 2a:
* Fixed sound errors and crashes in RC 2. Oops!

Changes from RC 1 to RC 2:
* PlayMusicQueued now preloads the next track to provide a seamless transition between tracks.
* Added DirectSound Hardware Mixer option to Setup.
* Increased script editor line length limit from 300 to 500 characters.
* Disabled text boxes now do not draw the cursor.
* Fixed mouse.SetPosition and mouse.SetBounds not working properly with graphic filters.
* Fixed GUI import/export which broke on RC 1.
* Fixed crash if a dynamic sprite was deleted in game_start
* Fixed recursive calls to delayed-response functions like ProcessClick crashing the engine, instead an error is now generated

Changes from beta 7 to RC 1:
* Added GUI Control z-order support (right-click Bring To Front / Send To Back options in editor, as well as BringToFront/SendToBack script commands).
* Added Game.SetSaveGameDirectory command, including support for My Documents folder.
* Added Room.MusicOnLoad, Object.Loop, Object.Frame properties.
* PlayVideo now pauses the video if the player alt+tabs away from the game while it is playing.
* Fixed block comment parsing sometimes not working properly if /* was the last thing on a line
* Fixed plugin API waypoint functions crashing when the path id was > 1000
* Fixed autocomplete not picking up definitions of multiple variables on one line when one was an array.
* Removed Object.ManualScaling and Object.Scaling from autocomplete, since they do not actually exist

Changes from beta 6 to beta 7:
* Added Game.StopSound function, to allow you to easily stop all sound effects.
* Added Room.Width, Height, ColorDepth, LeftEdge, RightEdge, BottomEdge and TopEdge properties.
* Added System.Gamma and SupportsGammaControl; and replaced old system.* variables with new System. properties.
* Added plugin API AGSE_SPRITELOAD function to allow plugins to modify sprites as they are loaded into memory.
* Added new plugin API functions IncrementManagedObjectRefCount, DecrementManagedObjectRefCount, SetMousePosition, SimulateMouseClick, GetMovementPathWaypointCount, GetMovementPathLastWaypoint, GetMovementPathWaypointLocation, GetMovementPathWaypointSpeed.
* ListBox.AddItem and ListBox.InsertItemAt now return false rather than quitting the game, if you try to add too many items to the list.
* Deleting a dynamic sprite now flags any objects using it as dirty.
* Fixed issue where it was possible to characters to get stuck on top of each other.

Changes from beta 5 to beta 6:
* Added Game.Name and Game.FileName properties.
* Added AGS_SUPPORTS_IFVER predefined constant to enable script modules to avoid using #ifver on AGS versions before 2.72
* Added AGS_MAX_CONTROLS_PER_GUI constant.
* Editor view preview window will now play frame-linked sounds if they are in .WAV format.
* Obsoleted savegameindex[] array, and added ListBox.SaveGameSlots[] array instead. Additionally, raised the max save games from 20 to 50.
* Engine will look in Sound sub-folder for sound files if not running from the compiled exe, to allow you to run ACWIN.EXE from the game folder if you want to.
* The game can now be closed with the X button or Alt+X while a PlayVideo is playing.
* Fixed crash if you used Restore or Restart within a script module event handler.
* Fixed Mouse.SetPosition clipping the Y to 200, even in 320x240 games.
* Fixed PlayVideo and the box out transition not working with graphic filters.
* Fixed animated background export producing 100% transparent PNG files.
* Fixed FaceLocation not working properly if the character's current loop was not one of the normal walking loops.
* Fixed Global Messages pane not updating after Importing Dumped Text.

Changes from beta 4a to beta 5:
* Added cfg settings to disable graphic filter options in Setup. (see this KB article for more info).
* Added String.AsFloat property.
* Added system.Version property to return a new-style string.
* Added #ifver/#ifnver commands to allow script modules to determine which version of AGS is being used.
* Added game.read_dialog_option_color to allow you to set a different colour for dialog options which the player has already selected.
* View preview window now cycles through whole of multi-loop animations.
* Fixed ShakeScreen not working with graphic filters.
* Fixed ShakeScreen leaving artefacts in the black borders when running in letterbox mode.
* Fixed translation source not including strings from script modules.
* Fixed backwards compatibility issue with old templates.
* Fixed GUIControl.GetAtScreenXY to pick up un-clickable controls.
* Labels are now not clickable by default but this can be overriden with the Label.Clickable property.
* _blank.crm is now included when you make a template.
* _blank.crm will be checked for in editor folder if not found in game folder.
* Fixed editor crashing if a very large template.txt file was used when starting a game from a template.
* Fixed "too many events posted" error if several commands like Walk were used in quick succession.
* Fixed EndCutscene not always refreshing the screen properly.

Changes from beta 4 to beta 4a:
* Fixed beta 4 corrupting dialog options.
* Fixed beta 4 making dialog options transparent.
* Fixed beta 4 breaking TintScreen and FlipScreen.
* Fixed sierra-style speech screwing up if you used RemoveOverlay or SetTextOverlay in repeatedly_execute_always while the speech was displayed.

Changes from beta 3 to beta 4:
* Added support for graphic filters, and added a standard 2x and 3x scaler, along with Hq2x and Hq3x filters.
* Added ability to name dialog topics, and ported RunDialog/etc to OO-style functions. Additionally, dialog scripts can now use the topic names with goto-dialog rather than using the number.
* Removed 500 character limitation in Room.Messages[] property.
* ViewFrame.Graphic property is now writable, which allows you to change view graphics at run-time.
* Obsoleted SetFrameSound and made the ViewFrame.Sound property writable instead.


Changes from beta 2 to beta 3:
* Added shortcut keys Ctrl+Shift+1 through 9 for easy access to module headers.
* Added ability to use movement speeds slower than 1 (-2 is now 1/2, -3 is 1/3, etc)
* Added Region.TintRed, TintGreen, TintBlue, TintEnabled and TintSaturation properties to allow you to get the current region setting.
* Added Ctrl+S option to script editor, to save changes so far.
* Obsoleted GetGameParameter and added new functions and properties to replace it (see GetGameParameter in the help to redirect you to the new functions).
* Changed the default restart point to be just before the first room is loaded, in order to avoid problems with the restart point not working properly in some games.
* Moved GUI Clickable setting from the checkbox into the Properties window, since it more intuitively belongs there.
* Editor now shows each character's talking view as well as normal view in the Characters pane.
* Increased permitted length of GUI label text from 200 to 2048 characters.
* Increased editor performance when importing tiled sprites.
* Fixed character blinking not working properly once they had finished talking.
* Fixed text parser not handling an optional choice of words properly.
* Fixed text parser not handling a choice of words with spaces properly in Said().
* Fixed "Refresh list" option not working in the Room List if no room was selected.
* Fixed a few minor usability issues.

Changes from beta 1a to beta 2:
* Editor now uses "Sound" sub-folder to store sound files, like the way it currently works with Music and Speech.
* Added shortcut keys Ctrl+1 through Ctrl+9 and Module Scripts sub-menu for easy access to module scripts.
* Added Text Alignment option to GUI buttons and list boxes.
* Added option to Assign Sprites To View dialog to allow you to add the sprites in reverse order.
* Added game.keep_screen_during_instant_transition option for 8-bit colour modes.
* player.ChangeRoom in game_start is now allowed, and will change the room that the game starts in.
* Fixed game erroring out if you used Character.ChangeView to change from a 4-directional to a 2-directional view.
* Fixed GUI Labels to not absorb mouse clicks.
* Fixed script editor function calltips incorrectly parsing commas in previous string parameters.

Changes from beta 1 to beta 1a:
* Added option to export animated background frames, and added a confirmation message to the Delete Frame button.
* Old split resource files now get deleted if you disable splitting or reduce the number of split files.
* Fixed characters with only left/right loops sometimes using the wrong loop when moving.
* Fixed calltips not picking up member functions if you put a space before the opening bracket.
* Fixed Tiled Sprite Import allowing you to import over the edge of the image when zoomed in.
* Fixed PlayAmbientSound error occurring when using PlayVideo (bug introduced in beta 1).
* Fixed winsetup.exe not being generated properly if you used a custom icon (bug introduced in beta 1).

Changes from 2.71:
* Added ability to use any size/resolution of icon, if you save your game with Windows 2000/XP.
* Added Game.SpeechFont and Game.NormalFont properties to replace SetSpeechFont/SetNormalFont but also provide a way for you to get the current setting.
* Added ListBox.ScrollDown, ScrollUp, RowCount, HideBorder and HideScrollArrows. Added "Hide scroll arrows" setting to listboxes in GUI editor.
* Added Button.Font property.
* Added Mouse.GetModeGraphic to allow you to get the sprite slot of the cursor.
* Increased sound channels from 6 to 8, and you can now have more than 1 simultaneous ambient sound.
* Autocomplete now warns if you use an array index to access properties on a non-array, and vice versa.
* Mouse.SetBounds now actually locks the cursor within the bounds, rather than it moving invisibly within the locked out area.
* "Enforce new-style strings" now disables old-style string functions.
* Debug console now also writes its output to the Windows Debugger (which you can read with an application like DebugView); useful if the debug console normally flies past too quickly to be useful.
* Fixed template creation to work with Music and Speech sub-folders.
* Fixed agsedit.log timestamp having the wrong month.
* Fixed a backwards compatibility issue with game.num_inv_items.

REMEMBER, ALWAYS BACK UP YOUR GAME BEFORE TRYING OUT A BETA

http://www.adventuregamestudio.co.uk/ags272final2.zip

Rui 'Trovatore' Pires

...I can't believe it. Don't you ever rest? :D

I see lots of goodies on this one! Thanks muchly!
Reach for the moon. Even if you miss, you'll land among the stars.

Kneel. Now.

Never throw chicken at a Leprechaun.

Kinoko

I have no idea whether you consider this somthing that needs "fixing"... it's a silly thing.

I noticed when I was typing a function (using it, not creating it), and the "auto-complete" box came up, if I then scrolled up and down the page, the box stayed there, hovering over all the other text.

As I said, this may be on purpose, I have no idea. Just surprised me :)

EDIT: I second the shock at how fast you do this stuff!

monkey0506

Not sure how easy it might be to implement/fix, but what with my recent cross-version module creation, I've noticed that if I do something like this in a script header:

Code: ags
#ifndef AGS_NEW_STRINGS  
import void DoSomething(string text, string buffer);
#endif                               
#ifdef AGS_NEW_STRINGS   
import String DoSomething(String Text);
#endif                               


Then both functions autocomplete.  So long as the correct parameter list is used, then the game will compile fine, as there is only one version of the function actually compiled.  But I just wanted to ask if there was any way that autocomplete could ignore functions that aren't compiled in the game (kind of like the way built-in functions don't autocomplete unless they are actually implemented).

Oh, and BTW, I love the fact that you implemented STRICT_STRINGS exactly the way I suggested :D.

DoorKnobHandle

Something small that experienced with every version > 2.7 yet:

The autocomplete will only pop up to show you the possible function parameters if you open your bracket right next to the function name. If there is a space in between it won't work.

Example:

Code: ags

testfunction( // ... );

This will open the autocomplete help....

Code: ags

testfunction ( // ... );

But this won't.

I know that many people write in this style ( "cEgo.Say("Test");" ), but I really hate that and love to make the code clearer by seperating characters with a space inbetween them ( "cEgo.Say ( "Test" );" )...

Pumaman

QuoteI noticed when I was typing a function (using it, not creating it), and the "auto-complete" box came up, if I then scrolled up and down the page, the box stayed there, hovering over all the other text.

Hehe yeah, the autocomplete box works ok, but the function calltip just hovers if you scroll the window. I quite like this "feature" actually, I think I'll leave it :)

QuoteThen both functions autocomplete.  So long as the correct parameter list is used, then the game will compile fine, as there is only one version of the function actually compiled.  But I just wanted to ask if there was any way that autocomplete could ignore functions that aren't compiled in the game (kind of like the way built-in functions don't autocomplete unless they are actually implemented).

Well, at the moment autocomplete is built-in to recognise STRICT and STRICT_STRINGS, but to make it work for all #defines it would have to have a mini-compiler built in to go through all the module headers etc and work out whether there was a #define for the token or not. So it's not really viable.

QuoteOh, and BTW, I love the fact that you implemented STRICT_STRINGS exactly the way I suggested

Ah yes, I think I forgot to add that to the changelog. Silly me :)

QuoteThe autocomplete will only pop up to show you the possible function parameters if you open your bracket right next to the function name. If there is a space in between it won't work.

That is a bit strange, it will pick up global functions, but not member functions. I'll take a look at it.

Oh, finally, there's a bug with PlayVideo in this beta where you can get strange PlayAmbientSound errors when you use PlayVideo -- it'll be fixed for beta 2.

proximity

Wooooow ! 8 sound channels and different ambient sounds at the same time ! This is exactly what i wanted ! Thanks Chris
Proximity Entertainment

edmundito

No way, chris. You're a madman!

Quote* Added ability to use any size/resolution of icon, if you save your game with Windows 2000/XP.

Wohoo! For those who want to know how to make XP icons: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwxp/html/winxpicons.asp
The Tween Module now supports AGS 3.6.0!

Radiant

Small bug: if you import a sprite using the "tiled sprite import" option, you can import things that are out of bounds of the sprite. For instance, set the import tile to 10x10 pixels (using the right mouse button) and then import three tiles horizontally. If the sprite size was e.g. 28x10 pixels, you'll import two columns of out of bounds pixels. These should probably be transparent or disallowed. At present they're undefined.

monkey0506

Quote from: Pumaman on Sun 15/01/2006 17:27:48
QuoteI noticed when I was typing a function (using it, not creating it), and the "auto-complete" box came up, if I then scrolled up and down the page, the box stayed there, hovering over all the other text.

Hehe yeah, the autocomplete box works ok, but the function calltip just hovers if you scroll the window. I quite like this "feature" actually, I think I'll leave it :)

QuoteThen both functions autocomplete.  So long as the correct parameter list is used, then the game will compile fine, as there is only one version of the function actually compiled.  But I just wanted to ask if there was any way that autocomplete could ignore functions that aren't compiled in the game (kind of like the way built-in functions don't autocomplete unless they are actually implemented).

Well, at the moment autocomplete is built-in to recognise STRICT and STRICT_STRINGS, but to make it work for all #defines it would have to have a mini-compiler built in to go through all the module headers etc and work out whether there was a #define for the token or not. So it's not really viable.

That's understandable.  I'll keep my eyes open for this feature, but won't get my hopes up too high.

Aquilo

2.71: Two thumbs up! 2.72: promises to be even better (as it should be, with such a devoted team and its Master Chris  :) )
Just a small suggestion: the implementing of sub-folders for speech and music files was a great relief, could it be carried even further: a separate sub-folder for in-game sounds - in a good game they could count by dozens, cluttering the parent folder considerably. And with the new extended sound possibilities of the engine it is a thing to expect in games being created from scratch via new versions of AGS - ambience, object interaction responses etc. Maybe the imported TTF fonts deserve their own folder as well, in order to have everything sorted nicely/ It would be a minor change, but a helpful one.
Good job, Chris! An impressive start for the new year!

Traveler


Kinoko

Quote from: Pumaman on Sun 15/01/2006 17:27:48
QuoteI noticed when I was typing a function (using it, not creating it), and the "auto-complete" box came up, if I then scrolled up and down the page, the box stayed there, hovering over all the other text.

Hehe yeah, the autocomplete box works ok, but the function calltip just hovers if you scroll the window. I quite like this "feature" actually, I think I'll leave it :)

Heh, I feel stupid for pointing it out ^_^; Like I said, it only surprised me because I'd never noticed it before, but there's certainly nothing wrong with it and it could definitely be useful.

Quote from: Traveler on Mon 16/01/2006 02:00:46
"Master Chris" is THE team. :)

He should make that his signature or something. Only I'd say, Master Chris is the TEAM!. Then I'd go around telling everyone how I was "so the TEAM".

But that's me.

SSH

[yoda]Always two there are, a master and an apprentice. But this was which?[/yoda]
12

Colxfile

Minor: On the tidbits and snippets page, there are details for how to open your .ags file by double-clicking on it. If you do that, then that game isn't bumped to the top of the 'Recent Games' dialog box if you open the editor in the conventional manner.

Also, the manual makes quite a few references to the DOS engine that should be removed.
Always carry a UV marker pen with you. When you go to a shop or a friend's house, if you see something you like, put your name and postcode on it. If it gets stolen and subsequently recovered, the police will get in touch with you so that they can 'return' it.

monkey0506

If you try to copy and paste an invalid name into the "GUI name:" text box, the error message is a bit misleading.  It says that it can't change the name because:

Quote---------------------------
AGS Editor Warning
---------------------------
Unable to change the name of the GUI, because another GUI, Character or View already has this name.
---------------------------
OK   
---------------------------

I didn't know I had another GUI/Character/View with the name of "-05us". :P

TheMagician

8 sound channels and more than 1 ambiant sound at a time!!  Great stuff!!! Thanks very much, CJ!!  :D

I see that you are very dedicated to the Listboxes so may I ask for an offset-feature between the items?

And I second Aquilo's request regarding the Sound subfolder. I really like to keep my game root directory clean, but with 100+ sounds that's pretty hard to do. And now that we have a Music and Speech subfolder, Sound would just be consistent  ;)

Thanks again for the update and all your work for this engine!!
Stefan

SSH

Loading a game from a pre 2.71 version should alos reming the user that they may need to move their multimedia files in order for them to work...
12

Fribbi AGDI joker

I get a new error now after I start my demogame with this message:

Error: PlayAmbientSound: invalid channel number

And I am kicked out of the game.

But I never got this message in AGS 27.1 before only in new AGS 27.2 version.


It has something to do with this function.

PlayVideo ("intro.wmv", 1, 1);Ã,  Ã, 
}

Any suggestion what I should do pumaman?

I have no ambient sound function the same room this message pop up.

Do I have to use different command now in this new beta version to make the video file work ok now?

Pumaman

QuoteSmall bug: if you import a sprite using the "tiled sprite import" option, you can import things that are out of bounds of the sprite. For instance, set the import tile to 10x10 pixels (using the right mouse button) and then import three tiles horizontally. If the sprite size was e.g. 28x10 pixels, you'll import two columns of out of bounds pixels. These should probably be transparent or disallowed. At present they're undefined.

Ah, this only happens if the zoom level is > 1, I'll look into it.

QuoteJust a small suggestion: the implementing of sub-folders for speech and music files was a great relief, could it be carried even further: a separate sub-folder for in-game sounds

Yep, it's a reasonable request and has been suggested before, so I"ll certainly consider it.

QuoteMinor: On the tidbits and snippets page, there are details for how to open your .ags file by double-clicking on it. If you do that, then that game isn't bumped to the top of the 'Recent Games' dialog box if you open the editor in the conventional manner.

I just tried this and it worked fine for me. Remember that the Recent Games list is only updated when you close the editor, so if you open another copy of the editor in the meantime, it won't have updated.

QuoteAlso, the manual makes quite a few references to the DOS engine that should be removed

Well, the DOS engine may make a comeback one day, so I don't want to completely remove all reference to it. I will remove the Wavetable Synth Driver section though, because that's pretty irrelevant these days.

QuoteIf you try to copy and paste an invalid name into the "GUI name:" text box, the error message is a bit misleading.  It says that it can't change the name because:

Ok, I'll add "or the name is invalid" to the end of the error :P

QuoteI see that you are very dedicated to the Listboxes so may I ask for an offset-feature between the items?

Would anyone else find that useful?

QuoteLoading a game from a pre 2.71 version should alos reming the user that they may need to move their multimedia files in order for them to work...

How do you mean? It already does warn about the new Speech/Music folders.

QuoteI get a new error now after I start my demogame with this message:

Error: PlayAmbientSound: invalid channel number

Please see my previous post:

Quote from: Pumaman on Sun 15/01/2006 17:27:48
Oh, finally, there's a bug with PlayVideo in this beta where you can get strange PlayAmbientSound errors when you use PlayVideo -- it'll be fixed for beta 2.

SMF spam blocked by CleanTalk