pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

ags: update to ags-

Module Name:	pkgsrc-wip
Committed By:	Yorick Hardy <>
Pushed By:	yhardy
Date:		Sat Jun 5 20:15:01 2021 +0200
Changeset:	57832a863266aa478ce486bd4b35e7273e59fefa

Modified Files:

Log Message:
ags: update to ags-


VERSION 3.5.1, June 2021

 - Added "Attach game data to exe" option to General Settings. This lets you to package game data
   separately from the game.exe (only important on Windows at the moment).
 - Deprecated "Limit display mode to 16-bit" property in Runtime Setup as it's no longer
   used by the engine.
 - Display aspect ratio in game resolution dialog.
 - Implemented classic Color Picker dialog for the Color type values in the property grid,
   instead of the default one which does not allow user-defined colors.
 - Improved tab switching performance for script windows.
 - Editor will now enforce full game rebuild after upgrading an older project, this ensures
   that all scripts are recompiled with the new version rules.
 - Fixed room lists in property editor were not updated after room number is changed.
 - Fixed importing pre-3.* projects broken by incorrect assignment of "Game file name" property.
 - Fixed importing Characters and GUI without sprites still created empty sprite folders.
 - Fixed crash when exporting/importing Characters with no Normal View.
 - Fixed translation compiler did not correctly save some of the escaped sequences, such as "\n".

 - Implemented correct parsing of a "const string" function return type.
 - Fixed implementing imported functions was forbidden in the room scripts.

Script API:
 - Added GUI.Shown readonly property that tells whether GUI is active on screen. This is primarily
   for GUIs with "Popup At Y" style, because they hide themselves regardless of Visible property.
   Note that since 3.5.0 GUI.Visible only tells a script-set value.
 - File.Open() now supports $CONFIGFILE$ tag which will try to open user config file for reading or
   writing regardless of where config is located on disk.
 - Added System.SaveConfigToFile() which writes current engine settings to the user config file.
   Only the options that can be changed at runtime are written back at the moment.
 - GetTranslation() now returns "const string" (was "string"). This is to prevent modifying
   returned string using old-style string functions, such as StrCat(), as this string may be
   allocated in the internal engine memory for its own use.

 - Support loading audio and video from data packages larger than 2 GB.
 - Improved game data loading times by introducing buffered file stream. Initial tests
   showed 3-4 times faster file reading.
 - Improved game perfomance by not reupdating all of the GUIs each time anything changes, instead
   only affected GUI will be updated each time.
 - Some improvement to general script perfomance.
 - Some improvement to script Dictionary and Set types perfomance.
 - Room Object's Graphic property now can be assigned a sprite with index over 32767 and
   up to 65535. This restriction is due to internal data format, which cannot be fully fixed
   without breaking compatibility with plugin API. This may still be worked around by assigning
   a View, as View's frames may contain sprites of any index available.
 - Similarily, Object's View, Loop and Frame can now be assigned a value over 32767 and
   up to 65535; not that this was ever an issue...
 - Removed arbitrary limit of 1000000 dynamic array elements (now supports over 2 billion).
 - Dialogs with no enabled options left will be now stopped, instead of raising script error.
 - Engine will not longer quit the game when failing to write a save, but simply display an
   error on screen (...why this was a thing in the first place?!).
 - When restoring a save engine will now try to match game GUID pack rather than exe/pack name.
   This resolves potential problems when game package may have different name in distribution
   to another system. Also makes saves in multi-game collections more reliable.
 - In Debug game mode allow to toggle infinite FPS mode (prior it could not be turned off).
 - Expanded text parser error messages for easier debugging.
 - Adjusted all the command-line options to have consistent prefix convention, where all full-name
   options must be preceded by double-dash, and one-letter options by single dash.
 - Added "--localuserconf" command and similar global config option which tells engine to read and
   write user config in the game's directory rather than using standard platform path.
   Game dir must be writeable for this to work.
 - Added "--conf" command which forces engine to read only explicit config file on startup.
 - Added "--user-data-dir" and "--shared-data-dir" commands for setting save game directory and
   shared app data directory from command line (this corresponds to existing options in config).
 - Fully configurable log output (in both game config and command line) allows to set up which
   message types and groups are printed by which output methods (sinks), including: file,
   system console, in-game console. "warnings.log" is now created only if file log was not
   requested by user.
 - Added "--log-" set of command line options for setting up log output.
 - Added "--tell-filepath" option for printing known engine's and game's file locations.
 - Added "--tell-gameproperties" option for printing some of the game's general settings.
 - Support proper lookup for Allegro 4 library resources (such as its own config and digital MIDI
   patches) in the game directory.
 - Engine will no longer precreate directories for common files: saves, user config, and so forth,-
   before actually writing them.
 - Fixed running game from another directory by passing its relative filename as command-line
   argument: in this case engine was incorrectly using its own directory to search for external
   game data, opening files for reading by script command, and so on.
 - Fixed some of the engine's own hotkeys (such windowed/fullscreen mode toggle) not working
   during certain skippable game states.
 - Fixed overlay was set to wrong position if it were using TextWindow gui and either its text
   or X, Y properties got changed.
 - Fixed crash occuring when the speech is using text window gui with zero Padding and the speech
   text is an empty line.
 - Fixed characters and room objects were not updating their looks if their current graphic was
   a Dynamic Sprite, and that sprite was modified with ChangeCanvasSize, CopyTransparencyMask,
   Crop, Flip, Resize, Rotate or Tint function.
 - Fixed Views' frames keeping reference to deleted Dynamic Sprites.
 - Fixed engine crash when button's graphic is set to sprite out of range.
 - Fixed animated cursor's normal graphic reappearing in between animation frames if mouse mode
   is being repeatedly reassigned, for example in rep-exec script.
 - Fixed certain interactions did not work with GUI if it was made fully transparent.
 - Fixed ListBox.FillSaveGameList() search pattern, it included files which contain save filename
   pattern but do not exactly match; for example: "agssave.001_".
 - Fixed engine was ignoring audio files in game directory when running games which use
   old audio system.
 - Fixed crash in Direct3D and OpenGL renderers that occured if game uses a plugin that performs
   software drawing on screen, and one of the rooms is smaller than the game's resolution.
 - Fixed Direct3D was assigning wrong fullscreen refresh rate sometimes, slowing alt-tabbing.
 - Fixed "--test" mode was lost upon restoring a save.

Engine Plugin API:
 - Added IAGSEngine::GetRenderStageDesc() function which returns current render stage parameters.
   As of this version these parameters include 3 transformation matrixes, allowing any 3D render
   plugin to stay compliant to engine's scene rendering.

 - Fixed engine was trying to read unnecessary data when loading pre-2.72 games.
 - Fixed "upscale" mode for old games (was broken in 3.5.0). Also engine will now try to detect
   if "upscale" mode wanted by reading old config options (if they are present).
 - Fixed GUI.Visible not returning expected values for GUIs with "Popup At Y" style in
   pre-3.5.0 games, breaking some older games logic.
 - Fixed potential buffer overflow when reading pre-3.1.0 games with old dialog script texts.
 - Fixed engine was applying player's position too early when ChangeRoom was called for 2.72 and
   earlier games, which could result in wrong placement in the new room if the character was
   walking right before the transition.

 - Corrected game scanning in AGS launcher, now it will work consistently with the desktop ports,
   and detect any compatible game data files named "*.ags" or "*.exe".

 - When looking for game files engine will no longer use hardcoded filename, will search for any
   compatible pack file instead.

 - Windows version of the engine now reads global configuration file. It is looked up in
   "%USERPROFILE%/Saved Games/Adventure Game Studio/acsetup.cfg"
 - Default log file location is now also in "%USERPROFILE%/Saved Games/Adventure Game Studio".
 - Added "--no-message-box" command line option to hide message boxes when alerts are raised.
 - Added "--console-attach" command line option to try attach to the parent process's console.

 - Fixed changing fullscreen mode from "use current desktop" to explicit resolution on save.

VERSION 3.5.0 - Patch 10, May 2021

 - Fixed managed handle error that occured if you would copy an element of any string array
   returned by Dictionary.GetKeysAsArray(), GetValuesAsArray() and Set.GetItemsAsArray();
   for example: assign array's element to a local variable.

To see a diff of this commit:;a=commitdiff;h=57832a863266aa478ce486bd4b35e7273e59fefa

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

 ags/Makefile                                 |  2 +-
 ags/distinfo                                 | 10 +++++-----
 ags/patches/patch-Engine_Makefile-defs.linux | 25 ++++++++++++-------------
 3 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/ags/Makefile b/ags/Makefile
index f8efc926bb..3b283a1aef 100644
--- a/ags/Makefile
+++ b/ags/Makefile
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile,v 1.2 2015/09/14 22:26:14 yhardy Exp $
 MASTER_SITES=	${MASTER_SITE_GITHUB:=adventuregamestudio/}
diff --git a/ags/distinfo b/ags/distinfo
index 8461c9ab45..4cb57973a8 100644
--- a/ags/distinfo
+++ b/ags/distinfo
@@ -1,10 +1,10 @@
-SHA1 (ags- = fd68ba60aba9f59efcfd5503e3f28620b9d9fe8a
-RMD160 (ags- = b8f8a853167a9106b3513c480bff9aca867d37be
-SHA512 (ags- = 8cc58698a5b024275543b8231738add676d3451d604b48c7bd5074838f69fb4a0dcafb39df73d2235b5266bd63fa3c4edbeed85b1cc6c36d8d022621de9b649e
-Size (ags- = 7615172 bytes
+SHA1 (ags- = bc0df7e1d2d47cc1aa79d3f446efc81095cd6f73
+RMD160 (ags- = acfb10370ae337ceb4a3a8b3c73683129ba39504
+SHA512 (ags- = 0f5e655f3e701ba6af73e8567993b719da1811aa60c966ea568ca83805ae38f38d4342f0249f85a0de848b6efb2ee7aac2a1cdc53c77d911279ab3a396123e45
+Size (ags- = 7638322 bytes
 SHA1 (patch-Common_core_platform.h) = 393ae8b7e90601cfab0b11ecb185693db6a24ee1
 SHA1 (patch-Engine_Makefile) = 849759ce98a4e4cdb5bf2d1ebb961295169ab170
-SHA1 (patch-Engine_Makefile-defs.linux) = 9461a89b4c2c956206abe584a9fca155440870e2
+SHA1 (patch-Engine_Makefile-defs.linux) = f283deedc28ca4c720cad52579f849668e86a30c
 SHA1 (patch-Engine_libsrc_libcda-0.5_linux.c) = f4f2bd480b36c1c47aa724b29b620b27a4ad392b
diff --git a/ags/patches/patch-Engine_Makefile-defs.linux b/ags/patches/patch-Engine_Makefile-defs.linux
index f54d1fb867..7c0c716ca3 100644
--- a/ags/patches/patch-Engine_Makefile-defs.linux
+++ b/ags/patches/patch-Engine_Makefile-defs.linux
@@ -3,7 +3,7 @@ $NetBSD$
 Use appropriate options for dlopen.
 Link pkgsrc libdumb, libaldmb and freetype2.
---- Engine/Makefile-defs.linux.orig	2020-12-29 21:18:54.000000000 +0000
+--- Engine/Makefile-defs.linux.orig	2021-06-04 16:22:11.000000000 +0000
 +++ Engine/Makefile-defs.linux
 @@ -1,7 +1,7 @@
@@ -14,7 +14,7 @@ Link pkgsrc libdumb, libaldmb and freetype2.
  INCDIR = ../Engine ../Common ../Common/libinclude ../Common/libsrc/alfont-2.0.9 ../Plugins ../Engine/libsrc/glad/include
-@@ -25,6 +25,8 @@ LIBS += $(shell pkg-config --libs allegr
+@@ -24,6 +24,8 @@ LIBS += $(shell pkg-config --libs allegr
  LIBS += $(shell pkg-config --libs x11)
  LIBS += $(shell pkg-config --libs ogg)
  LIBS += $(shell pkg-config --libs theora)
@@ -23,22 +23,21 @@ Link pkgsrc libdumb, libaldmb and freetype2.
  ifeq ($(USE_TREMOR), 1)
    LIBS += -lvorbisidec
-@@ -33,11 +35,16 @@ else
-   LIBS += $(shell pkg-config --libs vorbis)
- endif
- LIBS += $(shell pkg-config --libs vorbisfile)
--LIBS += -ldl -lpthread -lc -lm -lstdc++
-+LIBS += -lpthread -lc -lm -lstdc++
-+LIBS += $(DL_LIBS)
+@@ -35,10 +37,15 @@ LIBS += $(shell pkg-config --libs vorbis
  ifneq ($(USE_BUILT_IN_LIBSRC), 1)
--LIBS += -Wl,--push-state,-Bstatic -laldmb -ldumb -Wl,--pop-state
+-LIBS += -laldmb -ldumb
 +LIBS += $(shell pkg-config --libs dumb)
 +LIBS += -laldmb
+-LIBS += -ldl -lpthread -lm
++LIBS += -lpthread -lm
++LIBS += $(DL_LIBS)
  ifeq ($(ALLEGRO_MAGIC_DRV), 1)

Home | Main Index | Thread Index | Old Index