Well, it's been a good 6 months or so, but version 2.71 is finally here! But was it worth the wait? Well, here's the changelog.
Please read this Upgrading to 2.71 page
to explain the String changes.
Changes in 2.71 UPDATE:
* Fixed CDAudio not being able to return values.
* Fixed type mismatch error attempting to use new-style global strings.
* Updated Christmas easter egg to allow you to continue and load the editor if you really want.
Full changelog from 2.7 to 2.71:
* Added friendly string support, and modified various built-in functions to return a String rather than requiring a buffer.
* Added option to compress the sprite file to reduce disk usage.
* Added editor sprite caching, to improve performance and reduce memory usage of the editor with large games.
* Increased max speech files per game to 10000.
* Added == and != operator support for strings.
* Added support for having pointer variables in structs.
* Added Clickable property to GUI controls to allow you to disable a control without affecting its appearance.
* Added new Dynamic Sprite features: CreateFromExistingSprite, CreateFromBackground, Crop, Resize, Rotate, Flip and SaveToFile functions; and ColorDepth, Width and Height properties.
* Added Game.GetMODPattern, ListBox.InsertItemAt and Maths.ArcTan2 script functions.
* Added Slider.Min and Slider.Max to allow the script to access these slider properties.
* Added Object.IgnoreScaling and Character.Scaling properties; renamed Character.IgnoreScaling to ManualScaling.
* Added const string support to prevent accidentally passing the parameters the wrong way round to functions like StrCopy.
* Added option to PlayFlic not to clear the screen before starting playback.
* Added "Adjust volume with scaling" character option and equivalent Character.ScaleVolume property.
* Editor now uses "Speech" and "Music" sub-folders to store speech and music files in to reduce the clutter in the main game folder.
* Added "New Run Script Action" to the right-click menu in the interaction editor, to allow you to quickly create a Run Script interaction without having to go through the interaction dialog.
* Added "noloopcheck" keyword to allow you to bypass the script loop checks.
* Added GP_ISFRAMEFLIPPED option to GetGameParameter.
* Editor now forces all background imports to the game's colour depth.
* Game now attempts to mute audio when alt+tabbing away to another application.
* Implemented lazy evaluation for && and || operators.
* Improved script compiler speed.
* Arrays and structs are now officially supported, and are documented in the manual.
* Ambient sound volume is now dropped along with the music volume while speech is being played.
* Added menu option to rebuild only the music or only the speech vox, since in large games rebuilding both could take a long time.
* If Sound is disabled in the game Setup, then it no longer plays in PlayVideo either.
* Insert and Delete keys now have allocated keycodes and are officially supported.
* Narrator speech now closes the Display() window when the voice finishes, if play.skip_display is set to auto-remove after time.
* Compiler now does type checking on return values from custom functions.
* Display command now obeys the SetVoiceMode setting.
* Pamela lip-sync now allows multiple phenomes per frame.
* "void" is now properly supported as a function return type.
* PgDn, PgUp, Home and End are now mapped to the ASCII codes of their equivalents on the numeric keypad, rather than duplicating arrow keys.
* Underscores can now be used in GUI and view names, and invalid names pasted into the box are now rejected.
* The hi-color Palette pane now displays the current colour number in a text box so that it can be copy & pasted easily, and allows you to type in a colour number and find out the RGB.
* Renamed the setup.exe in the AGS distribution to setup.dat to prevent unzip programs from trying to "install" it.
* Renamed "Player Enters Screen" events to "Player Enters Room" to use consistent terminology.
* If a dynamic sprite attached to an object is deleted, the engine now prints an error message rather than crashing.
* Setting game.close_mouth_end_speech_time to 0 now continues sierra- style speech animation indefinately, like it does with lucasarts speech.
* Removed "Target DOS" option from the menu, since the DOS engine is no longer available.
* Fixed compiler bug allowing enums to be redefined.
* Fixed compiler crash when declaring a large struct.
* Fixed engine error if Turn Before Walking was enabled and a character only had left/right loops.
* Fixed walk-to point getting randomly moved if you alt+tabbed back into AGS from another application.
* Fixed the Import Dumped Text option truncating dialog options to 70 characters.
* Fixed memory leak in GUI.SetSize/Width/Height methods.
* Fixed volume jump if a track was fading out and you changed rooms to a room with a louder volume setting.
* Fixed Overlay.X/Y properties returning wrong value for SayBackground overlays.
* Fixed editor crash when deleting sprite folders.
* Fixed editor crash when selecting a sprite for a GUI control.
* Fixed editor crash on Characters pane if the character's normal view had no frames in loop 0.
* Fixed crash rather than error message if script exceeded stack limit.
* Fixed Single GUI Import not updating GUI images properly, and allowing duplicate GUI control names to be imported.
* Fixed editor crash if you manually removed a #sectionend and then tried to edit that script function.
* Fixed colours in GUI editor showing up wrong in 32-bit colour games.
* Fixed SetCharacterIdle skipping the current frame if called while the character was moving or animating.
* Fixed + having a higher precedence than - and thus 5 - 3 + 2 giving 0 rather than 4.
* Fixed only one edge interaction being run if the player walked off two overlapping room edges.
* Fixed GIF import crash with some gif images.
* Fixed "out of memory" crash in game if you accidentally used a full-screen image as the talking view for sierra-style speech.
* Fixed CyclePalette not updating the screen when cycling backwards.
* Fixed compiler allowing built-in types to be used in struct definitions.
* Fixed Auto-Number Speech Lines starting from NARR0 rather than NARR1 for the narrator.
* Fixed GUI control event handler function names being incorrectly truncated.
* Fixed compiler to not allow a struct to be a member of itself.
* Fixed compiler not giving an error if you forgot a semicolon after an object method call.
* Fixed editor crash if you typed a string longer than 200 characters into a text property.
* Fixed character disappearing if it was tinted/lit and used an 8-bit sprite in a hi-color game.
* Fixed music not resuming after PlayVideo if crossfading was enabled.
* Fixed the player character's PreviousRoom property starting off as the first room number, rather than -1 as it said in the manual.
* Fixed static methods in plugin headers not being picked up by autocomplete.
* Fixed IsKeyPressed not working with backspace (ASCII code 8 ).
* Fixed voice speech not being played if a SkipUntilCharacterStops command was in effect when the speech was displayed.
* Fixed Restore Game occasionally corrupting the managed object pool.
* Fixed some usability issues in the Import Sprite dialog, where moving the mouse off the side of the image while right-dragging would cause the cursor to jump around.
* Fixed WAV music files not being picked up from MUSIC.VOX
* Fixed region light level picking up tint amount if you switched it from tint to light and then selected a different region.
* Fixed Out of Memory crash if you had a character off the bottom of the screen and a walkable area with continuous scaling touched the bottom of the screen.MAKE A BACKUP COPY OF YOUR GAME BEFORE UPGRADING, JUST IN CASE ANYTHING GOES WRONGhttp://www.bigbluecup.com/ags_271.zip?update
(Note: This version has the same file name as the previous version, but the latest version has editor version 2.71.631).