Adventure Game Studio

AGS Support => AGS Engine & Editor Releases => Topic started by: Crimson Wizard on Mon 24/02/2020 21:45:17

Title: AGS 3.5.0 - Patch 2
Post by: Crimson Wizard on Mon 24/02/2020 21:45:17
AGS 3.5.0 - Patch 2
Full release number: 3.5.0.24

Download AGS 3.5.0 P2 installer (https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.24/AGS-3.5.0.24-P2.exe)
Download AGS 3.5.0 P2 as a .zip archive (https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.24/AGS-3.5.0.24-P2.zip)

For Editor
Spoiler

VC 2015 redistributable needed for AGS Editor on Windows (https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x86.exe)
Download Dark UI Theme for the editor (https://github.com/adventuregamestudio/ags/files/1613027/VisualStudioDark.zip)
[close]

For Android
Spoiler

Android launcher (APK signed with Debug key), suitable for running any compatible AGS game (https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.24/AGS-3.5.0.24-debug.apk)
Native engine libraries, for making your own signed APKs (https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.24/AGS-3.5.0.24-android-libs.zip)
[close]

For Engine/Editor developers
Spoiler

AGS source code central repository (https://github.com/adventuregamestudio/ags/tree/release-3.5.0)
Debug symbols database (for analysing crash dumps) (https://github.com/adventuregamestudio/ags/releases/download/v.3.5.0.24/AGS-3.5.0.24-pdb.zip)
[close]

Released: 25th February 2020

Previous stable version: AGS 3.4.3 P1 forum thread (https://www.adventuregamestudio.co.uk/forums/index.php?topic=56887.0)


This release is brought to you by:

- Alan v. Drake
- BigMC (fixes to building on some Linux systems)
- ChamberOfFear (Editor's Color Themes)
- Crimson Wizard
- John Steele Scott (OpenGL support on Linux)
- eri0o (documentation updates and work on CI system)
- Martin Sedlak (new pathfinding)
- Matthew Gambrell (better threaded audio support and bug fixes)
- monkey0506 (steam/gog plugin stubs)
- morganw
- rofl0r (bug fixes)
- scottchiefbaker (fixes to building on some Linux systems)
- sonneveld
- tzachs (new navigation bar for the Room Editor)



Foreword

AGS 3.5.0 has brought a number of completely new features and changed few older things. Make sure to read "Upgrade to AGS 3.5" topic (and corresponding topics for previous versions) in the manual to learn more about these changes. If something is not clear or missing, please tell about it and we will add necessary information. (Online version: https://github.com/adventuregamestudio/ags-manual/wiki/UpgradeTo35)
Note that now we have a new manual project, where the source is in Wiki format that everyone with github account can edit here: https://github.com/adventuregamestudio/ags-manual/wiki . We will appreciate any help in expanding and improving the manual, because AGS documentation had been lacking clear info about many things for too long.
We may be updating this release with patches to manual too as it is being amended.



Changes in the Patch 2:

Editor:
- Fixed mouse cursor flicker above the script editor, again (was fixed first for 3.3.5, but then reverted by mistake).
- Fixed bitmap palette was not remapped to game or room palette for 8-bit sprites if they were imported with "Leave as-is" transparency setting.
- Fixed an imported palette did not really apply to sprites until reopening a game in the editor.

Engine:
- Fixed crash when saving in a game which contains Set or Dictionary in script.
- Fixed crash caused by a 32-bit sprite with alpha channel in a 8-bit game.
- Fixed occasional regression (since 3.4.3) in OpenGL renderer that caused graphic artifacts at the borders of sprites, but only when nearest-neighbour filter is used.

Windows:
- Fixed keyboard and mouse not working when game is run under Wine (or, potentially, particular Windows setups too).
- Fixed maximal allowed window size deduction, which works better on Windows 8 and higher.
- Fixed game becoming minimized when quitting with error from the fullscreen mode, requiring player to switch back in order to read the error message.

WinSetup:
- Fixed crash occuring if the chosen graphics driver does not support any modes for the current game's color depth.



Changes in the Patch 1:

Editor:
- Fixed changing Audio Clip ID or deleting a clip could break sound links in view frames.
- Fixed importing an older version project during the same editor session, in which one game was already opened, could assign previous game's GameFileName property to the next one.
- Fixed some fonts may be not drawn on GUI preview after any font with lower ID was modified.
- Fixed Pause and Stop buttons were enabled when first opening an audio clip preview, and clicking these could lead to a crash.
- Fixed a potential crash during audio clip preview (related to irrKlang .NET library we use).
- Fixed a potential resource leak in the sprite preview.

Engine:
- Fixed IsKeyPressed script function returning values other than 0 or 1 (broke some scripts).
- Fixed grey-out effect over disabled GUI controls was drawn at the wrong coordinates.

Templates:
- Updated Tumbleweed template to v1.3.



What is new in 3.5.0

NOTE: Following list also contains changes made in AGS 3.4.4, they are fully integrated into 3.5.0, of course. 3.4.4 version was never formally released on forums, because it was mainly quick update for Linux port (and there were some other issues with the release process).


Common features:
- Now using Allegro v4.4.3 library (previously v4.4.2).
- Support for large files: compiled game, sprite set, room files now may exceed 2 GB.
- Deprecated relative assets resolutions: now sprites, rooms and fonts are considered to match game's resolution by default and not resized, unless running in backwards-compatibility mode.
- Allow room size to be smaller than the game's resolution.
- Removed fonts count limit.
- Raised imported sprites count limit to 90000 and removed total sprite count limit (this means you may have around 2 billions of dynamic sprites).
- Removed length limit on the Button and TextBox text (was 50 and 200 respectively).
- Removed limit on ListBox item count (was 200).

Editor:
- Editor requires .NET Framework 4.5 to run. Dropped Windows XP support.
- Editor preferences are now stored using .NET configuration model, instead of the Windows registry.
- Added support for custom UI color themes.
- Added "Window" - "Layout" submenu with commands for saving and loading panel layout.
- Game and room templates are now by default saved in AppData/Local/AGS folder. Editor finds them in both program folder and AppData.
- Allow to change IDs of most of the game items in the project tree by swapping two existing items. This is done by calling a context menu and choosing "Change ID".
- Added "Game file name" option to let users easily set compiled game file's name.
- Added "Allow relative asset resolutions" option to "Backwards Compatibility" section. Disabled by default, it makes game treat all sprites and rooms resolution as real one.
- Added "Custom Say/Narrate function in dialog scripts" options which determine what functions are used when converting character lines in dialog scripts to real script.
   Important: this does not work with the "Say" checkbox. The workaround is to duplicate option text as a first cue in the dialog script.
- New revamped sprite import window.
- Sprites that were created using tiled import can now be properly reimported from source.
- Added context menu command to open sprite's source file location.
- Using Magick.NET library as a GIF loader. This should fix faulty GIF imports.
- New sprite export dialog that lets you configure some export preferences, including remapping sprite source paths.
- Sprites have "Real" resolution type by default. "Low" and "High resolution" are kept for backwards compatibility only. When importing older games resolution type will be promoted to "Real" whenever it matches the game.
- New navigation bar in the room editor, which allows to select any room object or region for editing, show/hide and lock room objects and regions in any combination. These settings are saved in the special roomXXX.crm.user files.
- Improved how Room zoom slider works, now supports downscale.
- Added "Export mask to file" tool button to the Room Editor.
- Added MaskResolution property to Rooms. It ranges from 1:1 to 1:4 and lets you define the precision of Hotspot, Regions and Walkable Areas relative to room background.
- Added "Default room mask resolution" to General Settings, which value will be applied to any room opened for editing in this game for the first time.
- Added "Scale movement speed with room's mask resolution" to General Settings.
- Removed Locked property from the Room Object, objects are now locked by the navbar.
- Split GUI's Visibility property into PopupStyle and Visible properties.
- Added Clickable, Enabled and Visible properties to GUI Controls.
- "Import over font" command now supports importing WFN fonts too.
- Removed "Fonts designed for high resolution" option from General Settings. Instead added individual SizeMultiplier property to Fonts.
- Alphabetically sort audio clips in the drop lists.
- Display audio clip length on the preview pane without starting playback.
- Sync variable type selector in Global Variables pane with the actual list of supported script types.
- Added ThreadedAudio property to Default Setup.
- In preferences added an option telling whether to automatically reload scripts changed externally.
- Added "Always" choice to "Popup message on compile" preference. Successful compilation popup will only be displayed if "Always" choice is selected.
- Added shortcut key combination (Shift + F5) for stopping a game's debug run.
- Don't display missing games in the "recent games" list.
- Build autocomplete table a little faster.
- Disabled sending crash reports and anonymous statistics, because of the AGS server issues.
- Disabled screenshot made when sending a crash report, for security reasons.
- Corrected .NET version query for the anonymous statistics report.
- Fixed Default Setup was not assigned a proper Title derived of a new game name.
- Fixed crash and corruption of project data when writing to full disk.
- Fixed saving sprite file to not cancel completely if only an optional step has failed (such as copying a backup file).
- Fixed changing character's starting room did not update list of characters on property pane of a room editor until user switches editing mode or reloads the room.
- Fixed room editor kept displaying selection box over character after its starting room has changed.
- Fixed room editor not suggesting user to save the room after changing object's sprite by double-clicking on it.
- Fixed sprite folders collapsing after assigning sprite to a View frame or an object.
- Fixed view loops displayed with offset if the view panel area was scrolled horizontally prior to their creation.
- Fixed MIDI audio preview was resetting all instruments to default (piano) after pausing and resuming playback.
- Fixed MIDI audio preview had wrong control states set when pausing a playback.
- Fixed autocomplete not showing up correctly if user has multiple monitors.
- Fixed autocomplete crashing with empty /// comments.
- Fixed script compiler could leave extra padding inside the compiled scripts filled with random garbage if script strings contained escaped sequences like "\n" (this was not good for source control).
- Fixed Audio folders were displaying internal "AllItemsFlat" property on property grid.
- Fixed crash when editor was updating file version in compiled EXE but failed and tried to report about that.

Scripting:
- Fixed compiler was not allowing to access regular properties after type's static properties in a sequence (for example: DateTime.Now.Hour).

Script API:
- Introduced new managed struct Point describing (x,y) coordinates.
- Introduced StringCompareStyle enum and replaced "caseSensitive" argument in String functions with argument of StringCompareStyle type.
- Implemented Dictionary and Set script classes supporting storage and lookup of strings and key/value pairs in sorted or unsorted way. Added SortStyle enum for use with them.
- Implemented Viewport and Camera script classes which control how room is displayed on screen.
- Implemented Screen struct with a number of static functions and properties, which notably features references to the existing Viewports. Deprecated System's ScreenWidth, ScreenHeight   ViewportWidth and ViewportHeight in favor of Screen's properties.
- Added Game.Camera, Game.Cameras and Game.CameraCount properties.
- All functions that find room objects under screen coordinates are now being clipped by the viewport (fail if there's no room viewport at these coordinates). This refers to: GetLocationName, GetLocationType, IsInteractionAvailable, Room.ProcessClick, GetWalkableAreaAt and all of the GetAtScreenXY functions (and corresponding deprecated functions).
- Added Character.GetAtRoomXY, Hotspot.GetAtRoomXY, Object.GetAtRoomXY, Region.GetAtScreenXY, replaced GetWalkableAreaAt with GetWalkableAreaAtScreen and added GetWalkableAreaAtRoom.
- Replaced Alignment enum with a new one which has eight values from TopLeft to BottomRight.
- Renamed old Alignment enum to HorizontalAlignment, intended for parameters that are only allowed to be Left, Center or Right.
- Added new script class TextWindowGUI, which extends GUI class and is meant to access text-window specific properties: TextColor and TextPadding.
- Added new properties to GUI class: AsTextWindow (readonly), BackgroundColor, BorderColor, PopupStyle (readonly), PopupYPos.
- Added Button.TextAlignment and Label.TextAlignment.
- Added missing properties for ListBox: SelectedBackColor, SelectedTextColor, TextAlignment, TextColor.
- Replaced ListBox.HideBorder and HideArrows with ShowBorder and ShowArrows.
- Added TextBox.ShowBorder.
- Added AudioClip.ID which corresponds to clip's position in Game.AudioClips array.
- Added Game.PlayVoiceClip() for playing non-blocking voice.
- Added SkipCutscene() and eSkipScriptOnly cutscene mode.
- Allowed to change Mouse.ControlEnabled property value at runtime.
- Added Game.SimulateKeyPress().
- Added optional "frame" parameter to Character.Animate and Object.Animate, letting you begin animation from any frame in the loop.
- Deprecated "system" object (not System struct!).
- Deprecated Character.IgnoreWalkbehinds and Object.IgnoreWalkbehinds.
- Deprecated DrawingSurface.UseHighResCoordinates. Also, assigning it will be ignored if game's "Allow relative asset resolutions" option is disabled.

Engine:
- New pathfinder based on the A* jump point search.
- Implemented new savegame format. Much cleaner than the old one, and easier to extend, it should also reduce the size of the save files.
   The engine is still capable of loading older saves, temporarily.
- Implemented support for sprite batch transformations.
- Implemented custom room viewport and camera.
- Removed limits on built-in text wrapping (was 50 lines of 200 chars max each).
- Removed 200 chars limit for DoOnceOnly token length.
- Try to create all subdirectories when calling File.Open() for writing, DynamicSprite.SaveToFile() and Game.SetSaveGameDirectory().
- Reimplemented threaded audio, should now work correctly on all platforms.
- Made debug overlay (console and fps counter) display above any game effects (tint, fade, etc)
- Made fps display more stable and timing correct when framerate is maxed out for test purposes.
- Print debug overlay text using Game.NormalFont (was hard-coded to default speech font).
- Improved performance of hardware-accelerated renderers by not preparing a stage bitmap for plugins unless any plugin hooked for the particular drawing events.
- Reimplemented FRead and FWrite plugin API functions, should now work in 64-bit mode too.
- Support "--gfxdriver" command line argument that overrides graphics driver in config.
- Implemented "--tell" set of commands that print certain engine and/or game data to stdout.
- Use "digiid" and "midiid" config options to be used on all platforms alike and allow these to represent driver ID as a plain string and encoded as an integer value (for compatibility).
- Completely removed old and unsupported record/replay functionality.
- Replaced number of fatal errors reported for incorrectly called script functions with a warning to the warnings.log instead. This is done either when arguments may be fixed automatically, or script command simply cannot be executed under current circumstances.
- Expanded some of the error messages providing more information to end-user and developers.
- Fixed engine could not locate game data if relative path was passed in command line.
- Fixed potential bug which could cause DoOnceOnly tokens to be read incorrectly from a savedgame.
- Fixed engine crashing with "division by zero" error if user set InventoryWindow's ItemWidth or ItemHeight to 0.
- Fixed engine crashing if Object.SetView is called with a view that does not have any loops.
- 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.
- Fixed BlackBox-in transition done by software renderer could have wrong aspect ratio.
- Fixed Direct3D and OpenGL displayed pink (255, 0, 255) fade as transparent.
- Fixed Direct3D was slightly distorting game image in pixel perfect mode.
- Fixed Direct3D was not clearing black borders in fullscreen, which could cause graphical artifacts remaining after the Steam overlay, for example.
- Fixed potential crash that could happen when switching between fullscreen and windowed mode, or switching back into game window (only observed on Linux for some reason).
- Fixed a bug in mp3/ogg decoder where it assumed creating an audiostream succeeded without actually testing one.
- Fixed increased CPU load when displaying built-in dialogs (save, restore etc).
- Fixed Character.DestinationY telling incorrect values beyond Y = 255.
- Fixed DynamicSprite.SaveToFile() not appending ".bmp" if no extension was specified.
- Fixed IsMusicVoxAvailable() not working correctly in old games which use 'music.vox'.
- 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.
- Restored legacy InventoryScreen() behavior which picked sprites 0, 1, 2 for inventory dialog buttons when predefined 2041, 2042 and 2043 were not available.
- Fixed negative "cachemax" value in config could lock the engine at startup.
- Added Scavenger's palgorithms plugin to the list of builtins, for ports that use ones.
- Added stubs for monkey0506's Steam and GoG plugins to let run games on systems that do not have Steam/GoG installed (all related functionality will be disabled though).
- Added stubs for SpriteFont plugin.
- Added missing stubs for agswadjetutil plugin.

Linux:
- Support for OpenGL renderer.
- Use same FreeType library sources as Windows version, which suppose to fix TTF font glitches.
- Re-enabled threaded audio setting.
- $APPDATADIR$ script paths are now mapped to "$XDG_DATA_HOME/ags-common", making sure it is a writeable location.

Windows:
- Windows version of AGS is now built with MSVS 2015 and higher.
- Engine is marked as a DPI-aware application that supposed to prevent window scaling by system.

WinSetup:
- Added "Enable threaded audio" checkbox.





Thanks to everyone who contributed to and tested this version!



Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: greg on Sat 14/03/2020 18:46:16
Thanks for this patch, Crimson Wizard!

Based on tester feedback, I noticed that File.Open("foo.txt") or File.Open("$INSTALLDIR$/foo.txt") fails to find foo.txt when the game exe is launched via the Windows 10 search bar (next to the Start button).

If the game exe is launched directly or from a shortcut (whether the shortcut was created manually or pinned to the Start menu or search bar), File.Open() finds the file successfully.

However, File.Open() finds "$SAVEGAMEDIR$/bar.txt" successfully, even if the exe was launched via the search bar.

PS: I haven't tested this with AGS 3.4, so I'm not sure if this is a regression or the behavior has been there all along.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Sat 14/03/2020 19:19:28
Quote from: greg on Sat 14/03/2020 18:46:16
Based on tester feedback, I noticed that File.Open("foo.txt") or File.Open("$INSTALLDIR$/foo.txt") fails to find foo.txt when the game exe is launched via the Windows 10 search bar (next to the Start button).

This is probably because the "current working directory" points to the wrong location. This is a sort of known issue (but is not noticed too often). We have an open ticket about it.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: greg on Sun 15/03/2020 15:28:26
QuoteThis is probably because the "current working directory" points to the wrong location. This is a sort of known issue (but is not noticed too often). We have an open ticket about it.

Thanks for the pointer!  I subscribed to the ticket you mention* and will follow along there.

* - https://github.com/adventuregamestudio/ags/issues/966
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Fri 27/03/2020 17:19:50
Hello,

I hope this is the right thread for reporting a problem in version 3.5.0.24 of AGS.

Whenever I put a walk-behind area in a room, save the room, and later edit it again, it says:

"Unable to read the room design-time preferences. This should not affect the actual game data, but the design time-state of all room items will be reset."

Also, there is this error information, which it says to post on the AGS forum:

"Error: Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein.
Parametername: index
Version: AGS 3.5.0.24

System.ArgumentOutOfRangeException: Der Index lag außerhalb des Bereichs. Er darf nicht negativ und kleiner als die Sammlung sein.
Parametername: index
   bei System.Collections.ArrayList.get_Item(Int32 index)
   bei System.Windows.Forms.ToolStripItemCollection.get_Item(Int32 index)
   bei AddressBarExt.Controls.AddressBarExt.AddOrUpdateOverflow()
   bei AddressBarExt.Controls.AddressBarExt.UpdateBar()
   bei AddressBarExt.Controls.AddressBarExt.set_CurrentNode(IAddressNode value)
   bei AGS.Editor.RoomSettingsEditor.SelectOldNode(IAddressNode currentNode)
   bei AGS.Editor.RoomSettingsEditor.RefreshLayersTree()
   bei AGS.Editor.Components.RoomsComponent.CreateRoomSettings(DockData previousDockData)
   bei AGS.Editor.Components.RoomsComponent.LoadDifferentRoom(UnloadedRoom newRoom)
   bei AGS.Editor.Components.RoomsComponent.LoadRoom(String controlID)
   bei AGS.Editor.Components.RoomsComponent.ItemCommandClick(String controlID)
   bei AGS.Editor.Components.BaseComponentWithFolders`2.CommandClick(String controlID)
   bei AGS.Editor.ProjectTree.ProcessClickOnNode(String nodeID, MouseButtons button)
   bei AGS.Editor.ProjectTree.projectTree_NodeMouseDoubleClick(Object sender, TreeNodeMouseClickEventArgs e)
   bei System.Windows.Forms.TreeView.OnNodeMouseDoubleClick(TreeNodeMouseClickEventArgs e)
   bei System.Windows.Forms.TreeView.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)"

In the room, I then can't select anything from the "Edit this room's" window. When I test the room, it still works fine though.

Thanks in advance for any help with this, and sorry if this isn't the right thread.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Fri 27/03/2020 20:09:54
Quote from: Lord C on Fri 27/03/2020 17:19:50
Whenever I put a walk-behind area in a room, save the room, and later edit it again, it says:

"Unable to read the room design-time preferences. This should not affect the actual game data, but the design time-state of all room items will be reset."

Also, there is this error information, which it says to post on the AGS forum:

Does this depend on how do you add an area? Like, do you always draw it by hand in the editor, or do you import it from bitmap?

Could you upload the room file (roomXXX.crm) and corresponding *.crm.user file if it exists? (after you added a walkable area and saved)

Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: morganw on Fri 27/03/2020 20:25:09
I've opened a ticket here: https://github.com/adventuregamestudio/ags/issues/1054
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Sat 28/03/2020 08:32:50
Quote from: Crimson Wizard on Fri 27/03/2020 20:09:54

Does this depend on how do you add an area? Like, do you always draw it by hand in the editor, or do you import it from bitmap?

Could you upload the room file (roomXXX.crm) and corresponding *.crm.user file if it exists? (after you added a walkable area and saved)

When I import it from bitmap, it seems to work fine. When I draw it in the editor, the error appears.

Here are the room files:

https://drive.google.com/file/d/127JFPyzBlrGmXdaU8Y9_Rj1TLN1ZDlyX/view?usp=sharing (https://drive.google.com/file/d/127JFPyzBlrGmXdaU8Y9_Rj1TLN1ZDlyX/view?usp=sharing)

https://drive.google.com/file/d/1lfaSL7O18LWxOtCPGG6KehzyFJiIHN_1/view?usp=sharing (https://drive.google.com/file/d/1lfaSL7O18LWxOtCPGG6KehzyFJiIHN_1/view?usp=sharing)
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Sat 28/03/2020 11:32:01
Quote from: morganw on Fri 27/03/2020 20:25:09
I've opened a ticket here: https://github.com/adventuregamestudio/ags/issues/1054

Thank you!
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Fri 03/04/2020 01:17:12
Quote from: Lord C on Sat 28/03/2020 08:32:50
When I import it from bitmap, it seems to work fine. When I draw it in the editor, the error appears.

Here are the room files:

https://drive.google.com/file/d/127JFPyzBlrGmXdaU8Y9_Rj1TLN1ZDlyX/view?usp=sharing (https://drive.google.com/file/d/127JFPyzBlrGmXdaU8Y9_Rj1TLN1ZDlyX/view?usp=sharing)

https://drive.google.com/file/d/1lfaSL7O18LWxOtCPGG6KehzyFJiIHN_1/view?usp=sharing (https://drive.google.com/file/d/1lfaSL7O18LWxOtCPGG6KehzyFJiIHN_1/view?usp=sharing)

I tried importing these, and they work fine, also drawing walkbehind works fine for me, so there might be some other condition that is unknown.

Could you tell, when this error message appears, -
"Unable to read the room design-time preferences. This should not affect the actual game data, but the design time-state of all room items will be reset."
- is there any additional text below that indicates actual reason?

I have a slight suspicion what if this happens if the file was read partially, but I was not able to recreate such scenario yet.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: javixblack on Mon 06/04/2020 04:00:20
Well done fellas!

Imagine when the 4.0 version will be released... that's a dream
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Mon 06/04/2020 11:54:34
QuoteCould you tell, when this error message appears, -
"Unable to read the room design-time preferences. This should not affect the actual game data, but the design time-state of all room items will be reset."
- is there any additional text below that indicates actual reason?

It also says: "Index was out of range. Must be non-negative and less than the size of the collection. Paramater name: index"
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Mon 06/04/2020 13:10:54
Quote from: Lord C on Mon 06/04/2020 11:54:34
QuoteCould you tell, when this error message appears, -
"Unable to read the room design-time preferences. This should not affect the actual game data, but the design time-state of all room items will be reset."
- is there any additional text below that indicates actual reason?

It also says: "Index was out of range. Must be non-negative and less than the size of the collection. Paramater name: index"

Hmm, so it is actually the same as the exception message you receive afterwards?

Could you tell, does it happen only with walk-behinds, or anything else (other areas? objects?)
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Mon 06/04/2020 22:44:59
Quote from: Crimson Wizard on Mon 06/04/2020 13:10:54

Hmm, so it is actually the same as the exception message you receive afterwards?

Could you tell, does it happen only with walk-behinds, or anything else (other areas? objects?)

Yes, it's the same message. It happens only with walk-behinds. Hotspots, walkable areas and regions work fine.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Tue 07/04/2020 00:01:34
Quote from: Lord C on Mon 06/04/2020 22:44:59
Yes, it's the same message. It happens only with walk-behinds. Hotspots, walkable areas and regions work fine.

I have a weird idea, maybe it does not like word "Walk-behinds" (with dash) in XML under some system locales... I will try to investigate further.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: rongel on Mon 13/04/2020 17:58:10
Quote from: Crimson Wizard on Tue 07/04/2020 00:01:34
Quote from: Lord C on Mon 06/04/2020 22:44:59
Yes, it's the same message. It happens only with walk-behinds. Hotspots, walkable areas and regions work fine.

I have a weird idea, maybe it does not like word "Walk-behinds" (with dash) in XML under some system locales... I will try to investigate further.

I just stumbled into this problem too, at least it seems to be connected. I got a similar error message, and couldn't edit the room after it in the editor. The error happened when I was using an object as a walkbehind in a large room. I had a streetlamp-object called oStreetlamp_Walkbehind. Everything was working, but when I exited the program, started it again and double-clicked the "Edit room" text, I got the error message. After that the room is uneditable, and I had to use a backup of it.

When I created the object again and named it just to "oStreetlamp", no error messages! So it looks that the editor doesn't like the word "Walkbehind" in an object...

By the way, I'm using the previous 3.5.0.23 build.

EDIT: Ofcourse it might also be connected to the lenght of the name...
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Mon 13/04/2020 18:18:08
Quote from: rongel on Mon 13/04/2020 17:58:10Everything was working, but when I exited the program, started it again and double-clicked the "Edit room" text, I got the error message. After that the room is uneditable, and I had to use a backup of it.

Have you tried just deleting roomXXX.crm.user file? CRM file must be proper, and *.crm.user" file contains only temporary info, like, last selected item. There should not be any need to reset room to backup because of this.

OTOH there seem to be two problems here: first is that it cannot load this info under certain conditions, and second is that when failing it prevents room from being edited further. Room has to remain editable when *crm.user load fails.

I was busy, but I'll try to find time soon and look more into this.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: rongel on Mon 13/04/2020 19:05:28
Quote from: Crimson Wizard on Mon 13/04/2020 18:18:08
Have you tried just deleting roomXXX.crm.user file? CRM file must be proper, and *.crm.user" file contains only temporary info, like, last selected item. There should not be any need to reset room to backup because of this.

No, didn't try that...  I was wondering what the .user-file is. But the backup is working fine, and I didn't lost almost any work because of the error.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Mon 13/04/2020 19:10:25
Quote from: rongel on Mon 13/04/2020 19:05:28
No, didn't try that...  I was wondering what the .user-file is.

RoomXXX.crm.user contains room editor information, such as which objects are seen (in editor, not game), which are locked, and last selected item, for respective room. They are supposed to be safe to delete, as that only resets this non-essential editor state.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Cassiebsg on Sat 18/04/2020 09:10:57
I was importing sprites last night and made a mistake with the 1st one. I forgot to change the transparent color from "top left" to "leave as is". No problem I thought, I'll just re-import the sprite... only the setting on the sprite did not got the new imported setting, but kept the old one. I did this 3 times, before I realize there was now a nice dropdown menu that lets you change this. While this is a very cool feature, I think that re-importing a new sprite (I used the "Import new sprite(s) from files...") should get the new imported setting, and not keep the old one.

Changing 1 sprite is faster by using the dropdown than re-importing it, yes, but it would be a pain to have to manually have to change 100 sprites later in the development, when you noticed they had the wrong setting on import.

Edit: New bug?

I changed my characters ID, to help with code.
- ID 2 -> 0 and then ID 2 -> 1 (player character). Only when I tested the game to see how it was working, I was all of a sudden controlling the character ID 0, instead of ID 1.  :-\ And even though the character ID 1 was selected as player character.
Closing and opening the editor fixed it. (I did not try to change the player character from one to the other and then back in the editor, though).
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Sat 18/04/2020 11:47:09
Quote from: Cassiebsg on Sat 18/04/2020 09:10:57
I was importing sprites last night and made a mistake with the 1st one. I forgot to change the transparent color from "top left" to "leave as is". No problem I thought, I'll just re-import the sprite... only the setting on the sprite did not got the new imported setting, but kept the old one. I did this 3 times, before I realize there was now a nice dropdown menu that lets you change this. While this is a very cool feature, I think that re-importing a new sprite (I used the "Import new sprite(s) from files...") should get the new imported setting, and not keep the old one.

To double check, you were doing "Import new sprite", and not "reimport from source", thus creating a completely new sprite, but it retained old properties? Do you mean that you deleted old sprite first, and the new sprite got same number?

Quote from: Cassiebsg on Sat 18/04/2020 09:10:57
Changing 1 sprite is faster by using the dropdown than re-importing it, yes, but it would be a pain to have to manually have to change 100 sprites later in the development, when you noticed they had the wrong setting on import.

Do you imply it needs changing multiple sprite settings at once, or something different?
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Cassiebsg on Sat 18/04/2020 12:24:17
Oops, I meant "Replace sprite from file..."  , not "Import new sprite(s) from files..."

Sorry.

I just did a few tests, and can't reproduce it anymore. Now it seems to be working right.  (wtf) Maybe I did something wrong and selected a wrong setting somewhere.  (roll)
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Sat 18/04/2020 12:32:14
Quote from: Cassiebsg on Sat 18/04/2020 12:24:17
Oops, I meant "Replace sprite from file..."  , not "Import new sprite(s) from files..."

"Replace from source" (it really should read "update from source") should retain old properties. "Replace from file" must let you set new ones, as it implies creating a completely new sprite entry in place of old one.

EDIT: Okay, I now remembered, after testing, - when you do "Replace from file" it sets up initial values in the import window to be equal to values from previous import. Frankly, not sure why, as you may want to replace with completely different sprite... but then again, AGS sprite import logic is a bit flawed.
Maybe there was a user request to do so, but I forgot the details.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Monsieur OUXX on Sat 18/04/2020 15:05:23
Has something changed with the encoding of translation files between 3.4.x and 3.5.0 patch 2? All my special characters in all my translations (French, Italian , Spanish...) are now displayed as several random characters. For example, è is now displayed as ï¿Ö even though I do have è in my font. Did we switch to full-blown Unicode or something?
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Sat 18/04/2020 15:28:12
Quote from: Monsieur OUXX on Sat 18/04/2020 15:05:23
Has something changed with the encoding of translation files between 3.4.x and 3.5.0 patch 2? All my special characters in all my translations (French, Italian , Spanish...) are now displayed as several random characters. For example, è is now displayed as ï¿Ö even though I do have è in my font. Did we switch to full-blown Unicode or something?

I don't think anything changed in that regard. Please double check that TRS files are saved as ANSI, not UTF8 etc.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Mon 20/04/2020 00:55:15
Lord C, rongel and Lukey J, I finally managed to reproduce the problem you were having, or at least I think it has same root.

The crashes begin if you make the text in the object selection field too long. I don't know how did you do that, maybe this depends on monitor settings too (different resolution, font sizes, and so on), but what I did was creating a room object and giving it a very long name, something like "AAAAA_BBBBB_CCCCCCC_DDDDDDDD_FFFFFFFFF".

If the line is too long this control begins to wrap it, replacing words with "...", and eventually glitches begin to occur (selection not working, crashes, and so on).
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: rongel on Mon 20/04/2020 15:51:05
Quote from: Crimson Wizard on Mon 20/04/2020 00:55:15
Lord C, rongel and Lukey J, I finally managed to reproduce the problem you were having, or at least I think it has same root.

I think you're right. I made a quick test too, created a new game, added an object, and gave it a name "oStreetlamp_Walkbehind" (same name that I had trouble with before). Everything seems to work, but when I close the program and start again, I get the error when trying to edit the room in editor. This time I tested to remove the .user file, and it works, until I close the program again.

Looks like the allowed number of letters is only around 21, "oStreetlamp_Walkbehin" works without error message. Weirdly "oStreetlamp_Walkbehinx" works too, but "oStreetlamp_WalkbehinX" with a capital X doesn't...
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Mon 20/04/2020 18:41:57
Quote from: rongel on Mon 20/04/2020 15:51:05
Looks like the allowed number of letters is only around 21, "oStreetlamp_Walkbehin" works without error message. Weirdly "oStreetlamp_Walkbehinx" works too, but "oStreetlamp_WalkbehinX" with a capital X doesn't...

This is because it is not related to number of characters, but the graphical width of the full text line in the GUI, in pixels.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Tue 28/04/2020 18:11:13
Quote from: Crimson Wizard on Mon 20/04/2020 00:55:15
Lord C, rongel and Lukey J, I finally managed to reproduce the problem you were having, or at least I think it has same root.

The crashes begin if you make the text in the object selection field too long. I don't know how did you do that, maybe this depends on monitor settings too (different resolution, font sizes, and so on), but what I did was creating a room object and giving it a very long name, something like "AAAAA_BBBBB_CCCCCCC_DDDDDDDD_FFFFFFFFF".

If the line is too long this control begins to wrap it, replacing words with "...", and eventually glitches begin to occur (selection not working, crashes, and so on).

Thanks for getting back to us!

But when I create a walk-behind area, I don't give it a name, it just has an ID.
Regardless, when I delete the RoomXXX.crm.user file after the error occurs, it seems to be fixed and I can edit the room again.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Tue 28/04/2020 18:29:09
Quote from: Lord C on Tue 28/04/2020 18:11:13
But when I create a walk-behind area, I don't give it a name, it just has an ID.

I don't know, it's the only way so far that I was able to reproduce similar error.
We are currently looking into this, and maybe when there's a fix you could try and tell if that was fixed for you too.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Thu 30/04/2020 18:03:18
Okay, thank you very much in advance!
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Thu 28/05/2020 00:56:09
Lord C, rongel and Lukey J, sorry for long wait. There's a temp build prepared that you may download here: https://cirrus-ci.com/task/4504037129191424
(choose either installer or archive)

Please tell if this version fixes the room "user file" problem for you.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: rongel on Sat 30/05/2020 08:03:33
Thanks! I'm away for the weekend, but will test this next week.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: rongel on Tue 02/06/2020 08:12:07
Tested the fix now, and yes, it seems to work! I could give long names (I tested using "oStreetlamp_Walkbehind") to objects without errors. When I tried opening the project with version 3.5.0.23, I got the warning, and couldn't edit the room. When I re-opened it with the temp build, it opened nicely without any problems.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Wed 03/06/2020 02:33:46
Here's a latest patch update, if anyone would like to test/use: https://cirrus-ci.com/task/6527904739753984
(choose either installer or archive)

I think there might be at least one more fix later though.

Changes already in the patch:
Quote
Editor:
- In room editor adjusted the object selection bar's visual style, made dropdown buttons larger
   and easier to click on.
- Fixed room editor failing to initialize if currently selected object's name exceeded navigation
   bar's width.
- Fixed some panels were not upscaling sprite previews in low-resolution projects as intended.
- Fixed ViewFrame's default Sound value set as "-1 (unknown)" (should be "none").

Engine:
- RunAGSGame() will now automatically reset translation to Default before starting new game,
   to prevent situations when new game will be trying to init a translation from previous game.
- Character speech will be now displayed relative to the first found viewport the character is
   seen in, or the one which camera is closest to the character in the room.
- Fixed Viewport.Camera not handling set null pointer properly (should disable viewport now).
- Fixed Screen.RoomToScreenPoint()/ScreenToRoomPoint() functions were converting coordinates
   always through camera #0, instead of a camera actually linked to the primary viewport.
- Fixed Screen.AutoSizeViewportOnRoomLoad property was forcing always camera #0 to align itself
   to the new room, instead of a camera actually linked to the primary viewport.
- Fixed speech vertical position was not correctly calculated if the room camera is zoomed.

Windows:
- Again fixed game becoming minimized when quitting with error from the Direct3D fullscreen.

As you may notice these are mostly related to new room editor selector and cameras.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Monsieur OUXX on Wed 03/06/2020 16:22:56
Thanks! The language fix removes a weight from my shoulders.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Sat 06/06/2020 00:39:08
Idk how I missed it (can swear I was testing this), but "Change ID" does not work correctly until you restart the editor and rebuild game once more. Will have to fix that too.
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Lord C on Mon 08/06/2020 10:12:20
Quote from: Crimson Wizard on Thu 28/05/2020 00:56:09
Lord C, rongel and Lukey J, sorry for long wait. There's a temp build prepared that you may download here: https://cirrus-ci.com/task/4504037129191424
(choose either installer or archive)

Please tell if this version fixes the room "user file" problem for you.

Thank you very much, it works fine now! I can draw walk-behind areas with the rectangle tool and no error messages appear. Thank you!
Title: Re: AGS 3.5.0 - Patch 2 -- latest official version
Post by: Crimson Wizard on Tue 14/07/2020 00:02:14
The Patch 3 is available here: https://www.adventuregamestudio.co.uk/forums/index.php?topic=58276