Adventure Game Studio

AGS Support => Advanced Technical Forum => Topic started by: Pumaman on Sun 18/12/2005 13:04:22

Title: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Sun 18/12/2005 13:04:22
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 (http://www.adventuregamestudio.co.uk/manual/UpgradingTo271.htm) 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 WRONG

http://www.adventuregamestudio.co.uk/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).
Title: Re: AGS 2.71 now released!
Post by: Gord10 on Sun 18/12/2005 13:11:22
Great :D  Downloading right now.
Title: Re: AGS 2.71 now released!
Post by: monkey0506 on Sun 18/12/2005 22:19:25
I'm glad that AGS 2.71 is official now.  The String type is one of my favorite new features, and it's so much easier than the old-style strings.  I'm off to download the new AGS!
Title: Re: AGS 2.71 now released!
Post by: Wretched on Mon 19/12/2005 00:54:04
Just testing 2.71 on one of my games and get the following odd crash, this happened before and after I rebuilt all rooms.

---------------------------
Adventure Game Studio
---------------------------
An internal error has occured. Please note down the following information.
If the problem persists, contact Chris Jones.
(ACI version 2.70.861)

Error: run_text_script1: error -6 running function 'room_a':
Error: invalid instruction 70 found in code stream
in Global script (line 32)
from Room script (line 13)


---------------------------
OK   
---------------------------

and the innocuous offending line in global script

29  //Real Room
30  function GS_RealRoom(int RoomRef)
31  {
32    if (RoomRef==32 || //Babe Magazine
33        RoomRef==44)   //Love letter
34    {
35      return(false);
36    }
37       
38    return(true);
39  }
Title: Re: AGS 2.71 now released!
Post by: strazer on Mon 19/12/2005 02:39:18
If you really need a line break in there, try

32    if (RoomRef==32 || /* Babe magazine */
33        RoomRef==44)   //Love letter

Otherwise I'd suggest something like

32    if (RoomRef==32 /* Babe magazine */ || RoomRef==44 /* Love letter */)
33    {
Title: Re: AGS 2.71 now released!
Post by: Candle on Mon 19/12/2005 02:51:23
So the // line breaks are broken? or were removed in this release?
Title: Re: AGS 2.71 now released!
Post by: Gilbert on Mon 19/12/2005 03:05:14
I think the problem was that the comment broke halfway through an expression, but if that worked previously I couldn't understand why it won't work anymore.
Title: Re: AGS 2.71 now released!
Post by: Pumaman on Mon 19/12/2005 16:47:22
Quote(ACI version 2.70.861)

Error: run_text_script1: error -6 running function 'room_a':
Error: invalid instruction 70 found in code stream
in Global script (line 32)
from Room script (line 13)

You've got an old version of the engine. Make sure there's no ACWIN.EXE lurking in your game's folder.
If there isn't, make sure you extracted the full 2.71 zip file to a new folder.

QuoteWhen does the main site get updated with this, btw?

Once it's had a few days for people to find any errors (there's always something that crops up when the masses start to use a new official version), and also to give some time for the linux & mac engines to catch up if they need to.
Title: Re: AGS 2.71 now released!
Post by: Wretched on Mon 19/12/2005 18:46:03
Ok thanks, I assumed that since CTRL_T built the exe file it would play the game using the exe thus bypassing the old acwin.exe I had in the root dir.

Anyway all works as before except for a couple of times, when after a cutscene the cursor 'stuck' in the Wait mode when before it would go back to one of the standard cursor modes. If you need more info I can track this down to the scripts.
Title: Re: AGS 2.71 now released!
Post by: Rui 'Trovatore' Pires on Tue 20/12/2005 20:50:38
InputBox still seems to accept only "string"s.

EDIT - And this seems not to work anymore - @GIx@. The GlobalInt tokens.

I'm only mentioning these things because they seem to be leftovers which aren0t much used anymore and as such may have been looked over in the engine's updates.
Title: Re: AGS 2.71 now released!
Post by: bullfrog on Thu 22/12/2005 13:53:14
When I set a global string,

QuoteGame.GlobalStrings[1] = "blablabla";

I get a compling error:
QuoteType mismatch: cannot convert 'String*' to '____dummy__sym0*'

SetGlobalString
and
String = Game.GlobalStrings

work fine...


Title: Re: AGS 2.71 now released!
Post by: simulacra on Sat 24/12/2005 07:57:34
Woow! Glad to see this.
Title: Re: AGS 2.71 now released!
Post by: Dusk on Tue 27/12/2005 23:00:16
I have converted all my SOTE scripts from AGS 2.62 to 2.71, but now I get this exception when I launch the game:

---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x00447F39 ; program pointer is -42, ACI version 2.71.894, gtags (426,164)

The error appeared at the first compiling with the global script totally cleaned up from non-object oriented scripting. But now I get the same exception if I compile unchecking the "Enforce object-based-scripting", too.
What could have gone wrong?
After that I also converted the room scripts to the new oo-syntax and did a full room rebuild, but it didn't help.
Note: I'm still using old style strings (next step programmed in the script conversion, but now I'd like to solve this problem first).

I did something very stupid, I feel it. Help! :)

bye, thanks
Title: Re: AGS 2.71 now released!
Post by: Pumaman on Wed 04/01/2006 14:06:18
Quote from: Wretched on Mon 19/12/2005 18:46:03
Anyway all works as before except for a couple of times, when after a cutscene the cursor 'stuck' in the Wait mode when before it would go back to one of the standard cursor modes. If you need more info I can track this down to the scripts.

Can you provide more information? Is this still a problem?

QuoteInputBox still seems to accept only "string"s.

Did you use Game.InputBox?

QuoteWhen I set a global string,

Game.GlobalStrings[1] = "blablabla";

I get a compling error:

Type mismatch: cannot convert 'String*' to '____dummy__sym0*'

Hmm thanks for pointing that out, I'll look into it.

QuoteI have converted all my SOTE scripts from AGS 2.62 to 2.71, but now I get this exception when I launch the game:

Hmm, what is the contents of your game_start function? This error could occur if you try to do anything room-specific such as manipulating objects within the game_start function (when no room is loaded).
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Wed 04/01/2006 22:03:20
Ok, since that Type Mismatch bug was fairly serious, I've posted an updated version that fixes it, and the CDAudio problem.

Hopefully this should finally be the final version.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Traveler on Thu 05/01/2006 12:35:32
You shouldn't have fixed the Christmas easter egg, it was a fun (and unique) "feature" :)
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Thu 05/01/2006 14:12:25
Hehe yes, I was in two minds about whether to change it.

But really, the first year it was funny, the second year it was kinda funny, and this year it was "oh no, not more people moaning about that" ;)

So the egg is still there, it's just that it will now allow you to load the editor anyway :)
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Rui 'Trovatore' Pires on Thu 05/01/2006 15:08:37
QuoteDid you use Game.InputBox?

Whoops. I hadn't noticed that one. Gonna have to pay extra attention now... functions I used to know now have another name but still appear in auto-complete.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: monkey0506 on Thu 05/01/2006 22:20:46
Hmm...enforcing OO-scripting removes old functions like GUIOn & GUIOff...but enforcing new style strings doesn't remove functions like InputBox (although you can't use it, it is still part of the game...).
Title: Re: AGS 2.71 now released!
Post by: Dusk on Fri 06/01/2006 00:23:25
Quote
QuoteI have converted all my SOTE scripts from AGS 2.62 to 2.71, but now I get this exception when I launch the game:

Hmm, what is the contents of your game_start function? This error could occur if you try to do anything room-specific such as manipulating objects within the game_start function (when no room is loaded).

Thankyou CJ, solved that. :)
I think that the problem (in a function called from game_start as you suggested) originated changing a brutal 2.62 character[who].room = ROOM_CONSTANT with a character[who].ChangeRoom(..)  (due to the fact that Character.Room is readonly).

Thanks again,
D.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: monkey0506 on Sat 07/01/2006 02:06:11
Quote from: monkey_05_06 on Thu 05/01/2006 22:20:46
Hmm...enforcing OO-scripting removes old functions like GUIOn & GUIOff...but enforcing new style strings doesn't remove functions like InputBox (although you can't use it, it is still part of the game...).

I can't even seem to find a #define to declare whether or not new style Strings are enforced (there obviously is one declared internally, I just don't know what it's called), so for the purposes of my example, I'll use the assumed definition: #define STRICT_STRINGS.  Then basically, as far as I can tell, all that would have to be added would be:
#ifndef STRICT_STRINGS
// OLD STRING BUFFER FUNCTIONS
import void SetGlobalString(int stringID, const string newValue);
import void GetGlobalString(int stringID, string buffer);
import void InputBox(const string prompt, string buffer);
import int  GetTranslationName (string buffer);
import int  GetSaveSlotDescription(int slot, string buffer);
import void GetLocationName(int x, int y, string buffer);
import void GetRoomPropertyText(const string property, string buffer);
// string functions
import void StrCat(string main, const string newbit);
import int  StrCaseComp(const string str1, const string str2);
import int  StrComp(const string str1, const string str2);
import void StrCopy(string dest, const string source);
import void StrFormat(string dest, const string format, ...);
import int  StrLen(const string);
import int  StrGetCharAt (const string, int position);
import void StrSetCharAt (string, int position, int newChar);
import void StrToLowerCase (string);
import void StrToUpperCase (string);
import int  StrContains (const string haystack, const string needle);
import void ParseText (const string);
import int  Said (const string text);
import int  SaidUnknownWord (string buffer);
import void GetMessageText (int messageNumber, string buffer);
#define strcmp StrComp
#define strlen StrLen
#define strcpy StrCopy
#define strcat StrCat
#endif

Of course, the check would have to be added in a few other places...but that's the main area where it would be important.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Radiant on Sat 07/01/2006 10:43:06
Trivial bug: if you open the "animating backgrounds" menu, the room is marked as dirty even if you don't actually save anything. *edit* I mean if you don't change anything.

It would be nice to have a button to copy the additional backgrounds to the clipboard, just like you can copy the main background to the clipboard.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: strazer on Sat 07/01/2006 16:11:06
monkey: It's AGS_NEW_STRINGS and I don't think it will work since the #ifdef/#ifndef stuff only works at compile time and is not recognized by the autocomplete.

Radiant: http://www.adventuregamestudio.co.uk/tracker.php?action=detail&id=177
(and check your PMs please)
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: monkey0506 on Sat 07/01/2006 17:09:58
No...I wasn't referring to that.

AGS_NEW_STRINGS simply says that new style strings (Strings) exist, not that they are enforced.

And the #if(n)def stuff does work with autocomplete when it's used internally...for example:

Quote#ifndef STRICT
// OBSOLETE STUFF
...
EDITED BY CJ to remove huge copy & Paste

#endif

All of these functions only autocomplete if OO-scripting isn't enforced.Ã,  The same principle should apply to new style strings being enforced (with old style string functions not autocompleting).
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Sat 07/01/2006 18:06:09
Quote from: monkey_05_06 on Sat 07/01/2006 02:06:11
Hmm...enforcing OO-scripting removes old functions like GUIOn & GUIOff...but enforcing new style strings doesn't remove functions like InputBox (although you can't use it, it is still part of the game...).

Yes, I never got round to doing that. Thanks for reminding me, I need to remember to do it for the next version.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Radiant on Sat 07/01/2006 21:48:14
Quote from: strazer on Sat 07/01/2006 16:11:06
Radiant: (and check your PMs please)

Ah yes, must have missed that. Regarding the older crash-with-soundplay bug, it seems to no longer occur on the latest full build of AGS. Since it was a heisenbug I can't fully guarantee it, but I've tested it long enough to be 99% certain.


By the way I found this change, not sure if it's intentional... you can no longer quit AGS games by pressing Alt+F4. Since you can quit just about anything else in Windows with those keys, it's pretty much a habit of mine, and it's more convenient than c-a-del.

Title: Re: AGS 2.71 *UPDATE* now released!
Post by: monkey0506 on Sat 07/01/2006 22:29:26
Aww Chris...all those obsolete functions were definitely necessary. :P

I guess I didn't realize how long it was.  Glad to hear it will be implemented in the new version.  How long till we see the next beta? :=  Just kidding.  I'll keep an eye out for it.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Radiant on Mon 09/01/2006 11:35:02
When I put my game in windowed mode, for some reason the songs that are MP3s don't play, but those that are MIDIs do.


The following code has an error (the last line should be "ObjectOff (0)" instead), which triggers at runtime. However, AGS reports the top line (the one with "random (2)" in it) as the line in which the error occurs. The error being an invalid object number, by the way.


    if (Random (2) == 0) {
      ObjectOn      (0);
      SetObjectView (0, BIRDIE);
      AnimateObject (0, 4, 6, 1);
    } else ObjectOff (1);

Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Rocco on Wed 11/01/2006 21:34:54
maybe a little bug:
i made a template from an existing game in 2.71 with music and speech files in the new folders.
if i use this template the music and speech folders are empty and the soundfiles are gone.

if i copy the soundfiles in the standard directory -
i get this messages

---------------------------
AGS Editor
---------------------------
AGS now uses a 'Speech' folder to read your speech files from. This is to help cut down the clutter in your main game folder. Your existing speech files will now be moved.
---------------------------
OKÃ,  Ã, 
---------------------------
---------------------------
AGS Editor
---------------------------
AGS now uses a 'Music' folder to read your music files from. This is to help cut down the clutter in your main game folder. Your existing music files will now be moved.
---------------------------
OKÃ,  Ã, 
---------------------------

and it works fine
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Wed 11/01/2006 22:51:02
Quote from: Radiant on Sat 07/01/2006 21:48:14
By the way I found this change, not sure if it's intentional... you can no longer quit AGS games by pressing Alt+F4. Since you can quit just about anything else in Windows with those keys, it's pretty much a habit of mine, and it's more convenient than c-a-del.

Hmm, that is strange, must be due to upgrading Allegro. I'll look into it.

QuoteWhen I put my game in windowed mode, for some reason the songs that are MP3s don't play, but those that are MIDIs do.

Really? I can't see any reason why changing from full-screen to windowed would have any effect on the music ... if you switch back to full-screen does it start working again?

QuoteThe following code has an error (the last line should be "ObjectOff (0)" instead), which triggers at runtime. However, AGS reports the top line (the one with "random (2)" in it) as the line in which the error occurs. The error being an invalid object number, by the way.

I wonder if this is true of all "else" clauses, I'll look into it.

Quotei made a template from an existing game in 2.71 with music and speech files in the new folders.
if i use this template the music and speech folders are empty and the soundfiles are gone.

Good point, Music and Speech files will no longer be compiled into the template because of the new folders. I guess I kinda assumed that templates would be simple enough not to include music or speech, but that's a bad assumption to make, so I'll see about getting it fixed.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Radiant on Thu 12/01/2006 14:29:26
Quote from: Pumaman on Wed 11/01/2006 22:51:02
QuoteWhen I put my game in windowed mode, for some reason the songs that are MP3s don't play, but those that are MIDIs do.
Really? I can't see any reason why changing from full-screen to windowed would have any effect on the music ... if you switch back to full-screen does it start working again?

Yes.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Gilbert on Fri 13/01/2006 01:09:54
I bet it's possibly something with DirectX drivers that somehow the graphics interferred with the audio (and vice versa) for some unknown reasons in some circumstances.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Sat 14/01/2006 21:55:13
Quote from: Radiant on Mon 09/01/2006 11:35:02
The following code has an error (the last line should be "ObjectOff (0)" instead), which triggers at runtime. However, AGS reports the top line (the one with "random (2)" in it) as the line in which the error occurs. The error being an invalid object number, by the way.

This is because the "else" is on the same line as the "}", so the way that the code gets compiled it only puts the line-number change into the code stream for the "if" and not the "else".

Basically, the fix would be rather cumbersome and I'm not really sure it's worth the effort.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Aquilo on Sat 14/01/2006 22:46:11
The version 2.71 is a great update (but will there be a final release of the scripting syntax? Features are getting obsolete quicker than some people get accustomed to them) ;)
A question from a newbie: the Snow/Rain plugin (available for download from this site) worked fine with the previous AGS 2.70 release, but refuses to work with the new 2.71 engine. It generates no error messages (except when "Force OO-based scripting" is ticked: then "undefined object XXX" messages begin to appear, but it happened with 2.70 as well), the demo game runs nicely... except that there is no snow or rain. ??? Is it due to the major changes in scripting from 2.70 to 2.71 or it needs the update of the plugin DLLs from the developer? I think other plugins should also be tested  for compatibility, but my question concerns for now this one. Thanks.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Sat 14/01/2006 22:52:56
Yes, it has already been noted that the Snow/Rain plugin no longer works with 2.71.

We're not sure why, it needs the plugin developer to look into it; unfortunately he's been absent from the forums for a while, but hopefully when he returns he can take a look.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: monkey0506 on Sun 15/01/2006 15:10:04
Quote from: Aquilo on Sat 14/01/2006 22:46:11The version 2.71 is a great update (but will there be a final release of the scripting syntax? Features are getting obsolete quicker than some people get accustomed to them) ;)

AGS is currently in a transitory phase.  Chris is (quite literally) constantly working on it.  I wouldn't be surprized if strazer, m0ds, and AGA have all combined their superpowers to overcome the God of the Onion Rings, chain him to a wall, and force him work on it. :P

Chris is trying to perfect the scripting language, but it's a very extensive language, and it has been one of his goals during the changes to allow as much backwards compatiblity as he can.  Unless you see a new feature that you need, you can always just stick with the version that suits you best.
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Aquilo on Mon 16/01/2006 00:01:19
Ah, Chris is not simply a great perfectionist, he seems to be the GREATEST of them all ;D (but a great game deserves a great engine, no doubt about that, and AGS is a small marvel in itself for that purpose :D ) Backward compatibility is a crucial matter, for serious game development takes from months to years, and AGS versions change in course of that time, but what concerns me is: can it be that support of "everything at once" may lead to "bad" scripting style, when chunks of code written with "obsolete" syntax stuff will neighbor "new-fashioned" sections, which may lead to confusion of sorts, and possible runtime errors, especially with a programming rookie like me? (For a good game is impossible without scripting, even with AGS, and intricate scripting at that. I am studying it thoroughly a few weeks already, before attempting to start something wothwhile of my own, otherwise it would be only a waste of time). I mean, PERHAPS it would be better to retain backward compatibility on an "invisible" level, when the engine understands the "obsolete" script when importing a game created with a previous version, and automatically tries to CONVERT the code into new syntax, but no more allows to use the "obsolete" stuff directly when starting from scratch. In any case, that's only an IMHO, Chris doing a tremendous job to satisfy the needs of everyone who gets involved with AGS. And that's quite a number of different people who should be thankful to him as am I among many others :D
Title: Re: AGS 2.71 *UPDATE* now released!
Post by: Pumaman on Mon 16/01/2006 19:43:02
Quotecan it be that support of "everything at once" may lead to "bad" scripting style, when chunks of code written with "obsolete" syntax stuff will neighbor "new-fashioned" sections, which may lead to confusion of sorts, and possible runtime errors

That is possible, yes. However, that's simply the price of change and improvement.

You can continue to write script using old-style commands, as they are still supported, so if you were to find a clash of styles a problem then you could simply continue using old-style commands.

QuoteI mean, PERHAPS it would be better to retain backward compatibility on an "invisible" level, when the engine understands the "obsolete" script when importing a game created with a previous version, and automatically tries to CONVERT the code into new syntax, but no more allows to use the "obsolete" stuff directly when starting from scratch.

It would be nice for AGS to automatically convert the script, however this process would be so fraught with possible errors that it's really not a good idea. I'd rather just leave the old commands in, than face the wrath of you guys telling me that upgrading AGS has suddenly broken all your scripts :P

Also, if you are starting a new game from scratch, there is a "Enforce object-based scripting" checkbox on the settings tab which will disable the obsolete commands.