Author Topic: AGS 3.4.0.6 (Alpha) - Builder Patch  (Read 91840 times)

Knox

  • Storm Behind The Badge
Re: AGS 3.4.0.0 Alpha 1 Free Resolutions
« Reply #20 on: 01 Oct 2014, 17:29 »
If I am currently using AGS 3.3.1 Alpha 2 Turbo, does this mean I can start using this version now or should I wait for the next alpha release of this version so I can use higher resolutions (1280x720)?
Wait for 1-2 weeks, I am doing last fixes to custom resolutions.

As for the 2013th "3.4.0 Alpha" with limits removal, would the next alpha release of this version potentially at least include unlimited GUI controls?
That's possible; I am reviewing my 2013th changes now to see which may be moved here without trouble.

Ok thanks I'll wait until the next release then. Great work guys, btw! :grin:
--All that is necessary for evil to triumph is for good men to do nothing.

Trapezoid

  • ?????????????
    • Trapezoid worked on one or more games that won an AGS Award!
    •  
    • Trapezoid worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.0 Alpha 1 Free Resolutions
« Reply #21 on: 08 Oct 2014, 05:54 »
Problem: Mouse.SetPosition behaves incorrectly when you have "filter_scaling:max" in the configuration. It seems to place the mouse's Y position 32 pixels below what you told it to.

Re: AGS 3.4.0.0 Alpha 1 Free Resolutions
« Reply #22 on: 08 Oct 2014, 08:49 »
Problem: Mouse.SetPosition behaves incorrectly when you have "filter_scaling:max" in the configuration. It seems to place the mouse's Y position 32 pixels below what you told it to.
Found a mistake, please check if this works for you:
http://www.mediafire.com/download/mysrp8t1r9nh4m7/acwin_3.4.0.0_fix.zip

Trapezoid

  • ?????????????
    • Trapezoid worked on one or more games that won an AGS Award!
    •  
    • Trapezoid worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.0 Alpha 1 Free Resolutions
« Reply #23 on: 08 Oct 2014, 17:56 »
Works just fine now, thanks!

Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolutions
« Reply #24 on: 22 Oct 2014, 20:30 »
AGS 3.4.0.1 Alpha 2 - Custom Game Resolutions

ZIP-archive
http://www.mediafire.com/download/icgb9mjp9cjj6u5/AGS_3.4.0.1-Alpha2-CustomGameRes.zip



What's new since 3.4.0.0 Alpha 1:

Common features
Custom game resolutions.
You can now set (almost) any game resolution, including both usual and unusual one. In practice, there are certain limits (upper and lower), also I cannot honestly guarantee all crazy kinds of numbers will work well. "Standard" resolutions should work.

Game resolution is now set not by simple drop-down list, but with a slightly more advanced dialog.
Spoiler: ShowHide


Select "Resolution" option and click on "..." button

In the dialog either choose one of the presets, or type in your own width & height, then press OK.




Removed limit of Controls on GUI.
Was: 30 -> Now: unlimited.
Also removed the limit of GUI script name length. Was: 20 characters -> Now: unlimited



Script API
Struct functions returning dynamic arrays.
It is now possible to define a member function of a struct, that returns dynamic array, like this:
Spoiler: ShowHide

Code: Adventure Game Studio
  1. struct MyClass
  2. {
  3.         int Max;
  4.         int Arr[];
  5.        
  6.         import void  InitArray(int max);
  7.         import int[] GetArray();
  8.         import int   GetArrayLength();
  9. };
  10.  
  11. void MyClass::InitArray(int max)
  12. {
  13.         this.Max = max;
  14.         this.Arr = new int[this.Max];
  15.         int i;
  16.         for (i = 0; i < this.Max; i++)
  17.                 this.Arr[i] = i;
  18. }
  19.  
  20. int[] MyClass::GetArray()
  21. {
  22.         return this.Arr;
  23. }
  24.  
  25. int MyClass::GetArrayLength()
  26. {
  27.         return this.Max;
  28. }
  29.  
  30. function game_start()
  31. {
  32.         MyClass my_obj;
  33.         my_obj.InitArray(5);
  34.         int get_arr[] = my_obj.GetArray();
  35.         int i;
  36.         for (i = 0; i < my_obj.GetArrayLength(); i++)
  37.                 Display("#%i = %i", i, get_arr[i]);
  38. }
  39.  



Engine
Bug Fixes
* Fixed WAVE audio not looping after restoring a game (from Draconian Edition)
* Fixed incorrectly set Y coordinate in Mouse.SetPosition() (was broken in 3.4.0.0)
* Setting your project to run fullscreen, then running in debug mode from the Editor will cause game to run in a very large black window covering most of your screen, instead of being the size of scaled game. Now this is fixed. (introduced in 3.4.0.0)
« Last Edit: 22 Oct 2014, 20:59 by Crimson Wizard »

Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #25 on: 25 Oct 2014, 16:55 »
I reuploaded the 3.4.0.1 package with a tiny but important fix (without changing version number).
The download link is the same.

It appears that since early versions of 3.3.1 branch there was a bug that incorrectly set sprite cache size to 20 KB instead of 20 MB by default (unless it was explicitly set to something else in setup).
This could cause slow downs in hires games, because sprites and animations would need to be re-loaded more often.

The earlier Custom Resolution builds based on 3.3.0 did not have this bug.

Knox

  • Storm Behind The Badge
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #26 on: 27 Oct 2014, 16:18 »
Testing this out now, thanks a lot for all your hard work!

EDIT:

Ok, so I tried to open my game with AGS 3.4.0.1 Alpha 2 CustomGameRes and I'm getting this error:
(My computer at work is in french but I can try at home later tonight if you need it in english)


I have these plugins/dlls manually added to this vesion of AGS:

« Last Edit: 27 Oct 2014, 17:38 by Knox »
--All that is necessary for evil to triumph is for good men to do nothing.

Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #27 on: 27 Oct 2014, 19:23 »
@Knox
According to the error message, this occurs when one of the scripts is being compiled. Too bad we don't have much means to test things that occur during compilation.

I made this "hackish" version that would dump details about game compilation to the "compile_log.txt" (should appear in your game project folder).
If you would be able to run your game and then PM me the resulting file, I would probably have bit more info on overall situation.
http://www.mediafire.com/download/1ti78s6mn4jn5sp/AGS.Native.dll.zip

Gurok

  • Rottwheelers
  • When life hands you lemons, combine them with the mop
    • I can help with AGS tutoring
    • Best Innovation Award Winner 2016, for improving and extending the AGS scripting language
    • I can help with proof reading
    • I can help with scripting
    • Gurok worked on one or more games that won an AGS Award!
    •  
    • Gurok worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #28 on: 27 Oct 2014, 21:54 »
Interesting. Maybe the code to allow returning of dynamic arrays has a bug in it?

Knox

  • Storm Behind The Badge
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #29 on: 27 Oct 2014, 23:59 »
@Knox
According to the error message, this occurs when one of the scripts is being compiled. Too bad we don't have much means to test things that occur during compilation.

I made this "hackish" version that would dump details about game compilation to the "compile_log.txt" (should appear in your game project folder).
If you would be able to run your game and then PM me the resulting file, I would probably have bit more info on overall situation.
http://www.mediafire.com/download/1ti78s6mn4jn5sp/AGS.Native.dll.zip

Here's the error in english:
Error: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Version: AGS 3.4.0.1

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
   at ccCompileText(SByte* , SByte* )
   at AGS.Native.NativeMethods.CompileScript(Script script, String[] preProcessedScripts, Game game, Boolean isRoomScript)
   at AGS.Editor.NativeProxy.CompileScript(Script script, String[] preProcessedData, Game game, Boolean isRoomScript)
   at AGS.Editor.AGSEditor.CompileScript(Script script, List`1 headers, CompileMessages errors, Boolean isRoomScript)
   at AGS.Editor.AGSEditor.CompileScripts(Object parameter)
   at AGS.Editor.BusyDialog.RunHandlerOnThrea d()
   --- End of inner exception stack trace ---
   at AGS.Editor.BusyDialog.Show(String message, ProcessingHandler handler, Object parameter)
   at AGS.Editor.AGSEditor.CompileGame(Boolean forceRebuild, Boolean createMiniExeForDebug)
   at AGS.Editor.Components.BuildCommandsComp onent.CompileGame(Boolean forceRebuild)
   at AGS.Editor.Components.BuildCommandsComp onent.CommandClick(String controlID)
   at AGS.Editor.GUIController._mainForm_OnMe nuClick(String menuItemID)
   at AGS.Editor.MainMenuManager.MenuEventHan dler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.Rais eEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem. OnClick(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.ToolStripDropDown. OnMouseUp(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.ToolStripDropDown. 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: I'm PMing you the log file soon.
--All that is necessary for evil to triumph is for good men to do nothing.

Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #30 on: 28 Oct 2014, 00:19 »
PS: I'm PMing you the log file soon.

I can tell that this happens on "StringPlus.asc".
Is it this module by monkey_05_06: http://www.adventuregamestudio.co.uk/forums/index.php?topic=20950.0 ?

Knox

  • Storm Behind The Badge
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #31 on: 28 Oct 2014, 00:43 »
PS: I'm PMing you the log file soon.

I can tell that this happens on "StringPlus.asc".
Is it this module by monkey_05_06: http://www.adventuregamestudio.co.uk/forums/index.php?topic=20950.0 ?


Wow that was quick Crimson...thanks a lot! I removed that module (to test), and the game runs perfectly. Should I contact Monkey to see if we can get his module to work with this version of AGS?
--All that is necessary for evil to triumph is for good men to do nothing.

Gurok

  • Rottwheelers
  • When life hands you lemons, combine them with the mop
    • I can help with AGS tutoring
    • Best Innovation Award Winner 2016, for improving and extending the AGS scripting language
    • I can help with proof reading
    • I can help with scripting
    • Gurok worked on one or more games that won an AGS Award!
    •  
    • Gurok worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #32 on: 28 Oct 2014, 01:01 »
Knox, please don't contact Monkey about making it compatible. It's a bug in the compiler introduced (presumably) by allowing function prototypes for member functions that return dynamic arrays. I'll look into it this evening, but it appears I've just been too lenient with where to parse such declarations or missed a check somewhere.

Here's a minimal test case:

Header:
Code: [Select]
import String[ ] MyFunc();
Module:
Code: [Select]
String[ ] MyFunc()
{
}
« Last Edit: 28 Oct 2014, 01:04 by Gurok »

Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #33 on: 28 Oct 2014, 08:39 »
Knox, please don't contact Monkey about making it compatible.

You may temporarily comment out following functions from script header:
Code: Adventure Game Studio
  1. /*
  2. ///StringPlus module: Splits the String into units no wider than WIDTH when displayed in FONT.
  3. import String[] SplitByWidth(this String*, int width, FontType font, String delimiters=0, bool caseSensitive=false);
  4. ///StringPlus module: Splits the String by instances of OTHERSTRING.
  5. import String[] SplitByString(this String*, String otherString, bool caseSensitive=false);
  6. ///StringPlus module: Splits the String by instances of anything from CHARACTERSET.
  7. import String[] SplitByCharacterSet(this String*, String characterSet, bool caseSensitive=false);
  8. */
  9.  

abstauber

  • Cavefish
  • Mittens Knight
  • still mowing the lawn
    • abstauber worked on one or more games that won an AGS Award!
    •  
    • abstauber worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #34 on: 28 Oct 2014, 11:32 »
I gave it a quick shot and my game still works totally fine. Even better, everything appears a lot smoother with the nearest neighbor filter (nod)
Great version so far.

Gurok

  • Rottwheelers
  • When life hands you lemons, combine them with the mop
    • I can help with AGS tutoring
    • Best Innovation Award Winner 2016, for improving and extending the AGS scripting language
    • I can help with proof reading
    • I can help with scripting
    • Gurok worked on one or more games that won an AGS Award!
    •  
    • Gurok worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #35 on: 28 Oct 2014, 12:07 »
CW, this is fixed now.

https://github.com/adventuregamestudio/ags/pull/203

The forward declaration stuff for dynamic user structs was to blame.

P.S. I will look at that change to the LastBuildConfiguration tomorrow night. I've unfortunately run out of time tonight. Sorry I've been out of action recently.
« Last Edit: 28 Oct 2014, 12:12 by Gurok »

Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #36 on: 28 Oct 2014, 14:33 »
P.S. I will look at that change to the LastBuildConfiguration tomorrow night. I've unfortunately run out of time tonight. Sorry I've been out of action recently.
There's no hurry; and this suggestion in particular is a very low priority anyway.

Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #37 on: 28 Oct 2014, 18:00 »
Related to dynamic arrays, have anyone considered adding some kind of "length_of" keyword to get the size of dynamic array? That would greatly simplify using them as return values...
« Last Edit: 28 Oct 2014, 19:11 by Crimson Wizard »

monkey0506

  • SEND PIZZA.
    • Best Innovation Award Winner 2017, for his work to help AGS games reach the widest possible audience - through popular distribution platforms (Steam, Galaxy) as well as other operating systems (Android, Linux)
    • monkey0506 worked on one or more games that won an AGS Award!
    •  
    • monkey0506 worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #38 on: 28 Oct 2014, 21:55 »
I actually did try looking into that, but I had no idea what I was doing mucking around in the compiler code. 8-)

My personal preference would be to add a Length member to dynamic array objects (or even static arrays too), but that might be more complicated, so I'll leave that for whoever has the ability to actually implement it.

Gurok

  • Rottwheelers
  • When life hands you lemons, combine them with the mop
    • I can help with AGS tutoring
    • Best Innovation Award Winner 2016, for improving and extending the AGS scripting language
    • I can help with proof reading
    • I can help with scripting
    • Gurok worked on one or more games that won an AGS Award!
    •  
    • Gurok worked on one or more games that was nominated for an AGS Award!
Re: AGS 3.4.0.1 Alpha 2 Custom Game Resolution
« Reply #39 on: 01 Nov 2014, 07:39 »
CW,

The weird maximised window bug is fixed. However, when running games directly from the editor, the current version seems to run games at max scaling regardless of what's listed in acsetup.cfg. It used to be that it would adhere to whatever value was listed there, e.g. 3x.