Author Topic: AGS 3.5.0 - Beta 5 (new upcoming version)  (Read 1943 times)

cat

  • Mittens Baronet
    • cat worked on a game that won an AGS Award!
    •  
    • cat worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 3 (new upcoming version)
« Reply #40 on: 04 Jun 2019, 20:14 »
Thanks! I made a build and sent it to VampireWombat for testing. Let's hope this works  :)

VampireWombat

  • Not a chupacabra
    • I can help with animation
    • I can help with backgrounds
    • I can help with characters
    • I can help with play testing
Re: AGS 3.5.0 - Beta 3 (new upcoming version)
« Reply #41 on: 04 Jun 2019, 22:11 »
So far so good. I'm too tired to play through at the moment, but it did at least open and let me get to a place with the save/load/quit gui.

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #42 on: 08 Jun 2019, 21:54 »
Update: AGS 3.5.0 - Beta 4

ZIP file: https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.13/AGS-3.5.0-Beta4.zip
Linux pack for the editor: https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.13/AGS.3.5.0.13.Editor.Linux.Pack.zip

Changes since Beta 3:

Common features:
 - Now using Allegro v4.4.3 library (previously v4.4.2).

Editor:
 - Adjusted saving sprite file to not cancel completely if only an optional step has failed (such as copying a backup file).
 - Disabled screenshot made when sending a crash report, for security reasons.
 - Fixed 32-bit sprite imported into 16-bit game was converted to 16-bit but wrongfully kept alpha channel flag.
 - Fixed saving game when number of sprites is zero.
 - Fixed newly created object was not selected in room editor.

Script API:
 - Introduced StringCompareStyle enum and replaced "caseSensitive" argument in String functions with argument of StringCompareStyle type.
 - Renamed Dictionary/Set's CaseSensitive property to CompareStyle and Sorted to SortStyle. Added SortStyle enum for them. Made both Dictionary and Set also accept these new enums instead of two booleans in Create function.

Engine:
 - Fixed old walk-behind cut-outs could be displayed on first update in a room if the room's  background was modified using raw drawing commands before fade-in.
  This happened only when running Direct3D or OpenGL renderer. Note that this bug was probably never noticed by players for a certain barely related reason.
 - Restored support for running games made with experimental 3.3.0 CR version.
 - Fixed character's blinking frames drawn incorrectly when legacy sprite blending mode was on.
 - Fixed increased CPU load when displaying built-in dialogs (save, restore etc).
 - Restored legacy InventoryScreen() behavior which picked sprites 0, 1, 2 for inventory dialog buttons when predefined 2041, 2042 and 2043 were not available.
 - Fixed unnecessary 100% CPU load (regression in 3.5.0).
 - Fixed camera related errors when loading older save formats (regression in 3.5.0).
 - Fixed sprite cache trying to dispose dynamic sprites and causing internal logic errors (regression in 3.5.0).
 - Fixed ProcessClick and some other related functions not working correctly in the scrolling rooms in backward compatible mode (if game was compiled with Script API < 3.5.0-final).

Windows:
 - Engine is marked as a DPI-aware application that supposed to prevent window scaling by system.

Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #43 on: 09 Jun 2019, 03:59 »
The link is broken for the first zip - Beta4 is named as Beta3. I downloaded and am using for Adventure Jam and it appears to work great  (nod)

Hey, I tried to build for Android the v.3.5.0.13 tag, buildall.sh went fine, but using ndkbuild on <SOURCE>/Android/library, I am hitting on an error for missing alfont.

Code: Adventure Game Studio
  1. [armeabi] Compile++ arm  : agsengine <= fonts_engine.cpp
  2. jni/../jni/../../../Engine/font/fonts_engine.cpp:19:10: fatal error: 'alfont.h' file not found
  3. #include <alfont.h>
  4.          ^~~~~~~~~~
  5.  
« Last Edit: 09 Jun 2019, 07:03 by eri0o »

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #44 on: 09 Jun 2019, 09:14 »
The link is broken for the first zip - Beta4 is named as Beta3. I downloaded and am using for Adventure Jam and it appears to work great  (nod)

That's a wrong file. It actually was Beta 3.
I reuploaded and now it's Beta 4 for real.

Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #45 on: 09 Jun 2019, 13:41 »
Is there any chance that in the future the editor will be native to Linux? I think it could be done with Mono.

Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #46 on: 09 Jun 2019, 14:17 »
Thanks CW! Great work this version  :-D

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #47 on: 09 Jun 2019, 15:13 »
Is there any chance that in the future the editor will be native to Linux? I think it could be done with Mono.

There is a chance, and this is "in plans" for the last 7 years, but this is as much as I can say at the moment.
Depends mostly on whether there will be people who like to work on that.

Dualnames

  • AGS Baker
  • Pretty Badass
    • Dualnames worked on a game that won an AGS Award!
    •  
    • Dualnames worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #48 on: 09 Jun 2019, 17:46 »
Confirming the FPS drop with dialogs has been resolved! Yay <3
No more military army stuff. I'm alive and back.

cat

  • Mittens Baronet
    • cat worked on a game that won an AGS Award!
    •  
    • cat worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #49 on: 09 Jun 2019, 20:50 »
Thank you for your work and taking into consideration the issues I had!

Dualnames

  • AGS Baker
  • Pretty Badass
    • Dualnames worked on a game that won an AGS Award!
    •  
    • Dualnames worked on a game that was nominated for an AGS Award!
No more military army stuff. I'm alive and back.

Monsieur OUXX

  • Mittens Half Initiate
    • I can help with proof reading
    • I can help with translating
    • I can help with voice acting
Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #51 on: 13 Jun 2019, 13:28 »
I know I'm a bit late to the party but

Spoiler: ShowHide


DICTIONARY AND SET

FINALLY






Those objects provide more or less arrays of pointers to arrays of Strings ( Set* s[] = new Set[100]; s[0] = Set.Create(), where s is the array of pointers, and s[0] is an array of Strings. )

This brings us closer to the awaited ability of manipulating arrays of pointers (or references, whatever) to arrays of int, which, for me, is the holy grail missing from AGS.
It's however still not possible because:
- Those two objects let us manipulate pointers to arrays of Strings, not arrays of int
- There's not "GetAt", even for unsorted sets.

If there was a "Set" object dedicated to storing int values, and if there was a "GetAt" function, then everything would be perfect.
I know that dynamic arrays of dynamic arrays containing int values are already possible if you use Strings as char arrays to store ints and then put those Strings into an array of their own, but that's super slow.
« Last Edit: 14 Jun 2019, 17:30 by Monsieur OUXX »
 

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 4 (new upcoming version)
« Reply #52 on: 16 Jun 2019, 19:37 »
Those objects provide more or less arrays of pointers to arrays of Strings ( Set* s[] = new Set[100]; s[0] = Set.Create(), where s is the array of pointers, and s[0] is an array of Strings. )

This brings us closer to the awaited ability of manipulating arrays of pointers (or references, whatever) to arrays of int, which, for me, is the holy grail missing from AGS.

Hmm, I don't think they are bringing any closer to this, because they are completely separate branch from that and have their own purpose. Adding them had no intention to substitute arrays of arrays etc.
Perhaps they could be used as a workaround, but that's a coincidence.

Apart from obvious convenience, another big reason to add these was that some of existing functionality may be replaced/recreated by a more universal Set or Dictionary of strings: such as Custom Properties, Game.DoOnceOnly, Translation dictionary, Word parser dictionary, and maybe something else

- There's not "GetAt", even for unsorted sets.

There are methods that convert contents of a dictionary or set into plain array. Dictionary.GetKeysAsArray, Dictionary.GetValuesAsArray and Set.GetItemsAsArray. You may then get an element by index from them if you like.


If there was a "Set" object dedicated to storing int values, and if there was a "GetAt" function, then everything would be perfect.

It won't be perfect IMO, firstly because it won't be a generic container. Without support for generic/template types in ags scripts we would have to implement each container for each type separately.
I was only persuaded to implement Dictionary and Set of strings because the strings are most universal of all basic types, and you can in theory encode anything in a string, even a reference to an object. So, my thinking was that in the abscence of generic types and in presence of remaining scripting limitations these two containers could provide some relief and workaround for a time being.

Secondly, I believe it's wrong to have the GetAt function in a "set". Set type has a very particular purpose; for ordered sets getting by index implementation will be pretty slow, and for unordered it will make almost no sense. GetAt would be a part of a "list" or "vector" type instead. Or array, fwiw.
For getting items by index you can reuse the functions that convert set to array, which I mentioned above.

PS. I wonder why there's no arrays of arrays in AGS though. From the engine's perspective there should not be any restriction, because dynamic arrays are managed objects, and dynamic arrays can already store references to managed objects. Maybe the only problem is again in AGS compiler not being smart enough to support the syntax.
« Last Edit: 16 Jun 2019, 20:01 by Crimson Wizard »

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 5 (new upcoming version)
« Reply #53 on: 16 Jun 2019, 19:48 »
Update: AGS 3.5.0 - Beta 5

ZIP file: https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.14/AGS-3.5.0-Beta5.zip
Linux pack for the editor: https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.14/AGS.3.5.0.14.Editor.Linux.Pack.zip

Changes since Beta 4:

Editor:
 - Added ImportAlphaChannel import setting to sprites
 - Fixed crash and corruption of project data when writing to full disk.

Script API:
 - Allowed to change Mouse.ControlEnabled property value at runtime.
 - Added Game.SimulateKeyPress().

Engine:
 - Added stubs for SpriteFont plugin.
 - Added missing stubs for agswadjetutil plugin.
 - Fixed fade-in effect for software renderer (regression in 3.5.0).
 - Fixed Dictionary.Get() return value causing errors in script.
« Last Edit: 16 Jun 2019, 20:00 by Crimson Wizard »

Re: AGS 3.5.0 - Beta 5 (new upcoming version)
« Reply #54 on: 17 Jun 2019, 05:12 »
Used this version during all day and had no problems with it!  :-D

Monsieur OUXX

  • Mittens Half Initiate
    • I can help with proof reading
    • I can help with translating
    • I can help with voice acting
Re: AGS 3.5.0 - Beta 5 (new upcoming version)
« Reply #55 on: 17 Jun 2019, 09:16 »
PS. I wonder why there's no arrays of arrays in AGS though. From the engine's perspective there should not be any restriction, because dynamic arrays are managed objects, and dynamic arrays can already store references to managed objects. Maybe the only problem is again in AGS compiler not being smart enough to support the syntax.

You suggested that in the past and I started looking into it, but I wasn't good enough to tweak the engine/editor code and make it work.

But really, all we need is a copy and paste of the "Set" object, called "Array", storing int, with basic functions like "Add", "Remove", "SetAt", "GetAt". The difference with a scripted struct being that you can pass pointers to these Arrays and store then in an array.
 

Re: AGS 3.5.0 - Beta 5 (new upcoming version)
« Reply #56 on: 17 Jun 2019, 10:09 »
The improvements in this version look amazing and I'm very tempted to start my new game directly on 3.5.0, especially because of the new viewport and camera.

However, I wanted to ask first if the new functions/commands/properties/whatnot are already documented in the help file/manual? For example, I read "If you set camera's size twice as big than the viewport...". How do you "set the camera size"? Is that what Game.Camera.X and Game.Camera.Y do? Can I find a list of these somewhere? (apart from the small table of equivalences between the old viewport and the new camera that CW posted).

Crimson Wizard

  • Local Moderator
    • Best Innovation Award Winner 2013, for spearheading the AGS 3.3.0 project
    • Lifetime Achievement Award Winner
    • Crimson Wizard worked on a game that won an AGS Award!
    •  
    • Crimson Wizard worked on a game that was nominated for an AGS Award!
Re: AGS 3.5.0 - Beta 5 (new upcoming version)
« Reply #57 on: 17 Jun 2019, 10:33 »
However, I wanted to ask first if the new functions/commands/properties/whatnot are already documented in the help file/manual?

These are not in the manual file yet.

For example, I read "If you set camera's size twice as big than the viewport...". How do you "set the camera size"? Is that what Game.Camera.X and Game.Camera.Y do?

No, it's Camera.Width and Camera.Height, as well as Viewport.Width and Viewport.Height.
« Last Edit: 17 Jun 2019, 10:38 by Crimson Wizard »

Re: AGS 3.5.0 - Beta 5 (new upcoming version)
« Reply #58 on: 17 Jun 2019, 10:36 »
Thank you CW! I might wait a bit then until everything is properly documented, given that I'm still pretty much a total newb :)