Jibble

Author Topic: AGS 3.0 is now released!  (Read 47178 times)

Pumaman

  • Creator of AGS
  • Administrator
  • Mittens King
  • I sense danger.
    • Lifetime Achievement Award Winner
    • Pumaman worked on one or more games that won an AGS Award!
    •  
    • Pumaman worked on one or more games that was nominated for an AGS Award!
AGS 3.0 is now released!
« on: 26 Jan 2008, 12:14 »
Well, it's been a long time coming, but AGS 3.0 is finally here!

It features the following changes over 2.72:

* Rewritten editor from scratch; includes various new features such as ability to have more than one script open at a time
* Hardware accelerated graphics driver in game engine, which speeds up rooms with lots of sprites, alpha blended objects, and more.
* Full support for 256-character ASCII, so European languages like French and Spanish are now supported if you use a TTF font.
* Added script debugger
* Added integration with Windows Vista's Game Explorer and Enhanced Save Games
* Added support for script extender functions.
* Added support for dynamic arrays in script
* Added source control integration
* Added crash dump file when engine crashes, to enable faster fixing of bugs
* New .NET-based editor plugin API.
* Added Game.DoOnceOnly, Character.ChangeRoomAutoPosition, Game.FontCount,  Game.MouseCursorCount, DynamicSprite.GetDrawingSurface, DrawingSurface.*, DynamicSprite.Create script functions/properties.
* Added syntax highlighting for struct types
* Overhaul of RawDrawing functions, including ability to draw onto dynamic sprites and various new features.
* Removed limit on number of views, GUIs and characters
* Removed limits on number of frames per loop and loops per view
* Increased max objects per room to 40 and max hotspots to 50.
* Fonts have a script enum eFontXXX rather than having to use a number.
* Engine will now automatically try 640x400 for 320x200 games if the player's PC doesn't support 320x200 (since this is becoming more common)
* Improved performance of Character.PlaceOnWalkableArea in large rooms.
* Workaround for teleportation problem in scrolling rooms with right edge incorrectly set.
* Fixed String.Format crashing if the string length was more than 1200 characters.
* Fixed engine crashing on startup if it was unable to load a plugin.
* Fixed issue when combining CreateXXXOverlay and Overlay.CreateXXXX
* Fixed changes to ViewFrame.Graphic not always being persisted in save games
* Improved script garbage collection, so that calling String.Append in rep_exec doesn't keep eating up more and more memory until you save the game.

Head over to the download page and get yourself a copy!
« Last Edit: 26 Jan 2008, 12:44 by Pumaman »

Ghost

  • Guest
Re: AGS 3.0 is now released!
« Reply #1 on: 26 Jan 2008, 12:17 »
Congratulations! And a zip too, just like the old days! A toast to CJ!

Re: AGS 3.0 is now released!
« Reply #2 on: 26 Jan 2008, 12:37 »
Three cheers for Pumaman!

Thanks a lot, Chris! This is a great achievement. (Also, I'm happy about the zip as well).

ShiverMeSideways

  • AGS Baker
  • Fighting off monsters with my tears!
    • I can help with making music
    • I can help with scripting
    • I can help with translating
    • ShiverMeSideways worked on one or more games that won an AGS Award!
    •  
    • ShiverMeSideways worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.0 is now released!
« Reply #3 on: 26 Jan 2008, 14:16 »
Brilliant, I was just about to start a new project, perfect timing, CJ.

Also, good job and hip-hip-hooray!

Re: AGS 3.0 is now released!
« Reply #4 on: 26 Jan 2008, 19:11 »
I'm not sure if I should post this here or not, but I've found a very, very small bug. If you make a new string without assigning any text to it, then set, say, a GUI label's text to that string the game compiles then when that code is run crashes with "Error: Null string supplied to CheckForTranslations". Something to keep in mind for 3.01?

I've not found any other problems, but keep coming across stuff I really like. The new editor's fantastic CJ!

Re: AGS 3.0 is now released!
« Reply #5 on: 26 Jan 2008, 19:16 »
Just a quick question:

In the old editor I used *.pcx files for everything, but that appears to be obsolete now? Would *.png be the preferred extension of choice?

Re: AGS 3.0 is now released!
« Reply #6 on: 26 Jan 2008, 19:52 »
Congratulations! And a zip too, just like the old days! A toast to CJ!

Seconded to the highest degree! This is fantastic news. I'll get me some toast to go with CJ's Big Blue Cup of hot smoking goodness.
The Slowdown - A video game blog for those who spend more time thinking about gaming than gaming

Radiant

  • Mittens Knight
  • AGS Baker
  • Return once more to the Two Kingdoms!
    • I can help with publishing
    • I can help with story design
    • Radiant worked on one or more games that won an AGS Award!
    •  
    • Radiant worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.0 is now released!
« Reply #7 on: 26 Jan 2008, 19:59 »
Congratulations, CJ!

twin-moon

  • rank: forumdweller
    • I can help with translating
Re: AGS 3.0 is now released!
« Reply #8 on: 26 Jan 2008, 20:25 »
3.0 cheers for CJ!
                                    The Grey Zone

Ubel

Re: AGS 3.0 is now released!
« Reply #9 on: 26 Jan 2008, 21:53 »
I love the new editor, it's wonderful that it's finally complete! You've done a great job! :)

Also...

I'm not sure if I should post this here or not, but I've found a very, very small bug. If you make a new string without assigning any text to it, then set, say, a GUI label's text to that string the game compiles then when that code is run crashes with "Error: Null string supplied to CheckForTranslations". Something to keep in mind for 3.01?

I doubt that's a bug in the engine itself. Assigning a null value to anything, whether it's a string or an integer, would make the game crash, I believe. If you wish to assign an empty string to a label, give the string the value of "".

Re: AGS 3.0 is now released!
« Reply #10 on: 26 Jan 2008, 21:56 »
No, you missed my point. I understand where the crash comes from and how to fix it, it's the actual error message that's the problem:
"Error: Null string supplied to CheckForTranslations"
What I'm doing has nothing to do with checking for a translation file

Ghost

  • Guest
Re: AGS 3.0 is now released!
« Reply #11 on: 26 Jan 2008, 22:21 »
But still a check for translations would be made, wouldn't it, if only to check that there *are* no translations? And then the report of a null string is very careful, but still would make sense.

Ponch

  • AGS Baker
  • Ho ho ho!
    • Lifetime Achievement Award Winner
    • Ponch worked on one or more games that won an AGS Award!
    •  
    • Ponch worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.0 is now released!
« Reply #12 on: 26 Jan 2008, 22:24 »
CJ,

Downloaded it and played around with it a bit. It left me feeling tingly all over. Once all my ongoing (i.e. "old" AGS engines) projects are finished, I look forward to plunging into 3.0.

Thanks for all the hard work!  :D

- Ponch
*

Re: AGS 3.0 is now released!
« Reply #13 on: 26 Jan 2008, 23:45 »
But still a check for translations would be made, wouldn't it, if only to check that there *are* no translations? And then the report of a null string is very careful, but still would make sense.
So you're saying AGS goes through all my text to see if a translation is available, regardless of whether I have any translation files or requests for translation, and having a null string upsets that and not the label I'm passing the text to? This is all I'm doing...
Code: [Select]
String somestring;
somelabel.text=somestring;  //just a label on a GUI
If its not a bug then that's fine. As I said its not really a problem either way.

Pumaman

  • Creator of AGS
  • Administrator
  • Mittens King
  • I sense danger.
    • Lifetime Achievement Award Winner
    • Pumaman worked on one or more games that won an AGS Award!
    •  
    • Pumaman worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.0 is now released!
« Reply #14 on: 27 Jan 2008, 00:42 »
Quote
I'm not sure if I should post this here or not, but I've found a very, very small bug. If you make a new string without assigning any text to it, then set, say, a GUI label's text to that string the game compiles then when that code is run crashes with "Error: Null string supplied to CheckForTranslations". Something to keep in mind for 3.01?

Well, the message might be slightly misleading but the alternative would be to add an explicit null check and error message to every property/method that you can pass a string into. This would take a while to do and probably not be worth the hassle.

For information, the reason that you get this message is because when you attempt to display any text (for example, setting the text on a GUI label), AGS passes it through the translation system to see if it needs to be translated. If there is no active translation then this will just return a "no" response very quickly -- but it also happens to ensure that the string is not null first. This is a good thing, because if it didn't do this check, you'd have probably got an Illegal Exception error instead, which would be a Bad Thing.

Anyway, this is not specific to 3.0 and so if you'd like to continue this discussion, please start a separate thread about it.

mchammer

  • Can't touch it
Re: AGS 3.0 is now released!
« Reply #15 on: 27 Jan 2008, 16:50 »
I got this when I typed wrong brace to an enum and tried to save.
Code: [Select]
enum CharacterIcons [
};


Error: Index was outside the bounds of the array.
Version: AGS 3.0.0.23

System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at AGS.Editor.FastString.StartsWith(String text)
   at AGS.Editor.AutoComplete.ConstructCache(Script scriptToCache, Boolean isBackgroundThread)
   at AGS.Editor.ScriptEditor.SaveChanges()
   at AGS.Editor.Components.ScriptsComponent. BeforeSaveGame()
   at AGS.Editor.ComponentController.NotifyAb outToSaveGame()
   at AGS.Editor.ApplicationController._agsEd itor_PreSaveGame(PreSaveGameEventArgs evArgs)
   at AGS.Editor.AGSEditor.PreSaveGameHandler .Invoke(PreSaveGameEventArgs evArgs)
   at AGS.Editor.AGSEditor.SaveGameFiles()
   at AGS.Editor.Components.FileCommandsCompo nent.CommandClick(String controlID)
   at AGS.Editor.ToolBarManager.ToolbarEventH andler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.Rais eEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripButton.On Click(EventArgs e)
   at System.Windows.Forms.ToolStripItem.Hand leClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.Hand leMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.Fire EventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.Fire Event(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseU p(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl. WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNat iveWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNat iveWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callb ack(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Ps. Great job with 3.0  :)
My 40 bullets - An action/war game.

Pumaman

  • Creator of AGS
  • Administrator
  • Mittens King
  • I sense danger.
    • Lifetime Achievement Award Winner
    • Pumaman worked on one or more games that won an AGS Award!
    •  
    • Pumaman worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.0 is now released!
« Reply #16 on: 27 Jan 2008, 23:30 »
Hmm, I pasted that script into a script editor and saved the game, but I didn't get any errors. What were the lines of code before where you put that, and can you replicate the crash?

mchammer

  • Can't touch it
Re: AGS 3.0 is now released!
« Reply #17 on: 27 Jan 2008, 23:42 »
Did you paste it into a script header? I get the error by putting that code anywhere into a script header. It doesnt crash if I put the code into a main script.
My 40 bullets - An action/war game.

naltimari

  • Use the source, Luke.
    • I can help with scripting
    • I can help with translating
Re: AGS 3.0 is now released!
« Reply #18 on: 28 Jan 2008, 10:18 »
Well, it's been a long time coming, but AGS 3.0 is finally here!

Has anyone tried the new 3.0 editor on Linux+Mono? Is it worthwhile?

Ali

  • What will become of the baron?
    • Ali worked on one or more games that won an AGS Award!
    •  
    • Ali worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.0 is now released!
« Reply #19 on: 28 Jan 2008, 11:23 »
The new editor looks great, very inspiring.

Running the demo game I noticed something odd, which I don't think has been mentioned elsewhere. Black areas on the Save/Load GUI became invisible and during conversations, the mouse cursor 'painted' transparency onto the black of the dialogue GUI. This was using DX5.

I hope that's useful and not a waste of time!