Adventure Game Studio | Forums

AGS Support => AGS Engine & Editor Releases => Topic started by: Crimson Wizard on 21 Feb 2018, 13:52

Title: AGS 3.5.0 - alpha 9 - next WIP version
Post by: Crimson Wizard on 21 Feb 2018, 13:52
AGS 3.5.0 - Alpha 9

Download 3.5.0 (Alpha 9) as a .zip archive (http://www.mediafire.com/file/xnwsm03opg0g10t/AGS-3.5.0-alpha9.zip/file)
Download Dark UI Theme for the editor (https://github.com/adventuregamestudio/ags/files/1613027/VisualStudioDark.zip)

AGS source code central repository (https://github.com/adventuregamestudio/ags/tree/ags3)

ACHTUNG!
(http://i.imgur.com/3gHhXIz.png)
This is a development version of AGS 3.5.0.
Use at your own risk. Please back up any games before opening them in this version of AGS.
New settings in this version may make your project files unusable in previous versions after saving with this version.

Last updated: 8th of January, 2019
Has all content from AGS 3.4.1.15.

NOTE: this version was previously known as 3.4.2, but we decided to rename it to 3.5.0 to indicate the significance of some changes.


This release is brought to you by:

- Alan v. Drake
- ChamberOfFear
- Crimson Wizard
- Martin Sedlak (new pathfinding)
- morganw
- rofl0r
- tzachs



What is new in 3.5.0

Common features:
 - Support for large files: compiled game, sprite set, room files now may exceed 2 GB.
 - Removed font 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.

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.
 - Game and room templates are now by default saved in AppData/Local/AGS folder. Editor finds them in both program folder and AppData.
 - 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.
 - New sprite export dialog that lets you configure some export preferences, including remapping sprite source paths.
 - 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.
 - Allow room size to be smaller than the game's resolution.
 - 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.
 - Display audio clip length on the preview pane without starting playback.
 - 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.
 - Don't modify filesystem permissions in Compiled directory when compiling the game. Editor no longer requires non-standard "takeown.exe" utility.
 - Corrected .NET version query for the anonymous statistics report.
 - 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 TextWindow GUI's elements could be deleted or moved in the editor with key controls.
 - Fixed GUI or Room editors sometimes allowed to scroll beyond necessary limits.
 - 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 rooms not being rebuilt when running game just created from a template.
 - Fixed translations were not available for the test run if game was not fully rebuilt yet.
 - Fixed Windows Explorer was sometimes locking the game files during compilation.

Script API:
 - Introduced new managed struct Point describing (x,y) coordinates.
 - 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 a reference to the primary Viewport. Deprecated System's ScreenWidth, ScreenHeight, ViewportWidth and ViewportHeight in favor of Screen's properties.
 - Added Room.Camera property that references primary room camera.
 - 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.

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.
 - Prevent game from crashing if there was an attempt to draw text with a non-existing font.
 - Removed restriction preventing GUIs to be larger than the game's screen.
 - 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.
 - On Linux improved CPU yield function, this supposedly may reduce CPU usage.
 - Made engine fallback to defaults if config contains invalid game scaling setting.
 - Fixed some compilers could instigate a crash in the on_event callback with no loaded room.
 - Fixed old-style string functions like StrCopy could crash the game if user managed object's member is passed as an argument into them.
 - Fixed a new crash issue with the legacy InventoryScreen() command.
 - Fixed crash in the Software renderer which was occuring if it failed anytime after setting display mode but prior to initializing scaling filter.
 - Fixed graphic artifacts looking like thin vertical lines around sprites when running OpenGL renderer (aka "texel leaking").
 - Fixed 8-bit sprites could have broken colours if game is run using Direct3D or OpenGL.
 - Fixed broken colours during fade-in and fade-out in 16-bit games.
 - Fixed 'warnings.log' could never be created (was broken in earlier versions).

Linux:
 - Fixes Linux game launch script (fixes issues with itch.io client).

Windows:
 - Windows version of AGS is now built with MSVS 2015 and higher.


KNOWN ISSUES:

- There's some weird sprite scaling bug in the room editor described in the thread below. According to user reports it may be fixed by restarting the editor. Unfortunately I was still unable to reproduce it on my own...



On color themes

After launching the Editor, go to File - Preferences. In the "Editor Appearance" group box you will find "Color Theme" setting. If you haven't installed any themes yet the selection list will be empty. Press "Import Color Theme" and select appropriate JSON file, containing theme configuration.
Sample color theme: Dark UI Theme (https://github.com/adventuregamestudio/ags/files/1613027/VisualStudioDark.zip).

There is no specification on theme creation yet, but I hope there will be one at some point. For now you may copy and modify existing one. Themes are in JSON format, which you may edit in most simple text editors. If the theme is broken, the editor will report an error and reset to Default theme on startup.
ChamberOfFear also suggested creating a repository for the themes to let people upload their own and improve existing ones, which we may do in a future.



On new navigation bar in the room editor

This was made by tzachs back in 2014, but got into the editor only now. The feature is working, but may need polishing.

Screenshots (warning - big size):
Spoiler: ShowHide

(http://i.imgur.com/dSAbGb3.png)
(http://i.imgur.com/Fk4YLkw.png)
(http://i.imgur.com/CPkUOwA.png)


Quoting tzachs (from his old thread) -

- Room Layers

This feature allows you to view (and edit) walkable areas/walk-behinds/hotspots/regions/characters/objects/edges in the same time (as opposed to only seeing one of them at a time, like we've seen before).
Well, not entirely though: walkable areas/walk-behinds/hotspots/regions still can't be seen together (as they use masks and is part of the natives dll so I skipped it for now) but they can be seen along objects, characters, and edges.

- Visibility

Each layer can be made visible/hidden by the push of a button. In addition, for the objects/characters/edges layers each item in the layer can also be made visible/hidden by the push of a button. This will only affect the editor, not the actual game.

- Locking

Each layer can be locked/unlocked by the push of a button. In addition, for each layer, each item in the layer can also be locked/unlocked by the push of a button.
A locked item cannot be moved until it is unlocked, useful to prevent mistakes when designing the room. This will only affect the editor, not the actual game.



On new room viewport and camera commands

This release changes the way AGS handles room viewport. Originally room view was covering whole screen and always drawn 1:1. 3.5.0 separates old viewport into viewport and camera, also changing the meaning of viewport term.

In 3.5.0:
Viewport is a place on screen where room is drawn, defined in game coordinates (e.g. 0,0 - 320x200).
Camera is a place in room which is being drawn, defined in room coordinates

The part of the room "seen" by camera is being copied to the viewport on screen, scaled up or down if necessary.
For example, if you set camera's size twice as small than the viewport, then room will appear zoomed in x2. If you set camera's size twice as big than the viewport, room will appear zoomed out x2.
NOTE: you cannot set camera size larger than the room's background.

To access viewport and camera use new properties: Screen.Viewport and Room.Camera.
Screen.AutoSizeViewportOnLoad boolean value turns automatic viewport adjustment on room load. It is ON by default which corresponds to normal room view you are used to.

Since the relation between screen and room is now more complicated new functions were added to help convert between screen and room coordinates: Screen.ScreenToRoomPoint(), Viewport.ScreenToRoomPoint() and Viewport.RoomToScreenPoint(). These functions return an object of Point type containing (x,y) coordinates.
Screen.ScreenToRoomPoint() returns null if there is no Viewport on screen under these coordinates. This is because if there will be multiple viewports supported in the future then engine simply won't know which to choose having none under these coords.
Both Viewport.ScreenToRoomPoint() and Viewport.RoomToScreenPoint() have 'clipViewport' parameter which tells whether they should return null if the coordinates lie outside of the visible part of the room.


Old viewport functions are now deprecated, they may still be enabled if you set "Script compatibility level" to v3.4.1 or lower.
Here's correspondence between old and new functions:

Old commandNew commad(s)
SetViewport(x, y);Room.Camera.SetAt(x, y);
ReleaseViewport();Room.Camera.AutoTracking = true;
GetViewportX();Room.Camera.X;
GetViewportY();Room.Camera.Y;

As you may see, what was known as "viewport" earlier is now called "camera", and "new viewport" is something that was never supported before.


On savegame format

AGS 3.5.0 introduces new savegame format. This had to be done for several reasons, mostly internal ones, because existing format was too difficult to maintain and expand.
From the user's perspective, the notable change is that save file will be somewhat smaller, because redundant data is no longer written there (I did some tests in the past, and iirc depending on circumstances the size reduction was about 20-40%, but this awaits confirmation).

The new format is completely non-compatible with the old one. This means that if you run some existing game with the new engine, and save a game, that save can't be loaded by previous engine.
On the other hand, new engine can still load old saves. Old saves support is temporarily and may be removed in future.
Keep these two points in mind if you plan on upgrading existing game to AGS 3.5.0.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Cassiebsg on 21 Feb 2018, 17:43
Ohh... can't wait to try this version, so many goodies I have long longer for! (nod)

Great work everyone and big big thanks!
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: eri0o on 21 Feb 2018, 18:31
I can't wait until I come home to try this! Awesome release! :O
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Joseph DiPerla on 22 Feb 2018, 12:25
Nicely done!
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Crimson Wizard on 22 Feb 2018, 14:06
So... does it at least run? Still waiting for confirmation (lol).
I have a suspicion that we will need to make some adjustments to make it run on Windows XP, or even maybe make a separate build for Windows XP. Did not try myself yet.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Cassiebsg on 22 Feb 2018, 17:56
I can confirm it runs (on win7 64bit) and reads the dark theme just fine. (nod)
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: eri0o on 22 Feb 2018, 23:46
Hey CW! It worked great here!

Steps for Linux using Play On Linux (I use Ubuntu 16.04):
- Create a new Play On Linux drive, I used wine x86 3.1 .
- On Play On Linux, go to the virtual drive, and under Install Components, install Microsoft Core Fonts.
- After, still under Install Components, install dotnet40
- I created a folder in Program Files called Adventure Game Studio 3.4.2
- Copy the downloaded AGS files and extract the content in the Adventure Game Studio 3.4.2 folder.
- I placed the VisualStudioDark.json theme there too.
- On Play On Linux interface, click create shortcut from this virtual drive, select AGSEditor.exe, I named the shortcut AGS342.
- done! Just run the previously created shortcut! 8-)

I added a spoiler tag in the image below because it's big.
Spoiler: ShowHide

342 default theme
(https://i.imgur.com/X3QUy6M.png)

with dark theme
(https://i.imgur.com/lw3mG1F.png)


(my Wine is emulating Windows XP environment!)
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: m0rph84 on 23 Feb 2018, 20:06
I'm testing it with my current game, installed the dark theme and running it on Win 10 64bit.
So far so good!
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Cassiebsg on 24 Feb 2018, 21:49
Uhm... was trying this, but I got an issue, not sure if it's just me.

I started a new project using the BASS template, change res, color depth, proper alpha blending, imported some sprites, created a few views, created 2 new characters, added them to room 1, change the BG in room 1... thus I now have 3 characters in room yet. Yet in the editor I can only see the original character. 8-0
And yes the characters are on the screen and I added a walkable area. If I run F5 I can move my new character and see the other two.

Edit: Okay, I closed the editor and opened it again. Now the characters are shown in the editor. Using the "rebuild all files" doesn't solve it either. Seems like only restarting the editor does. :~(
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Crimson Wizard on 24 Feb 2018, 21:55
Edit: Okay, I closed the editor and opened it again. Now the characters are shown in the editor. Using the "rebuild all files" doesn't solve it either. Seems like only restarting the editor does. :~(

"Rebuild all files" compiles the game and does not affect what you see in the editor, so it's natural that it does not fix anything.

To clarify: in the editor you do not see the characters that you have added to the room until you restart the editor? What about closing and reopening room tab?
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Cassiebsg on 24 Feb 2018, 22:47
To clarify: Closing and opening the room tab doesn't help. so far only restarting the editor has solved the problem.
Maybe some others could try this just to see if it's just me or a bug?
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Privateer Puddin' on 25 Feb 2018, 00:07
My test on it:

Open Room X
Change Character to Room X
Character is not seen on Room X, but you can pick it from the list of characters in Properties for that room
Closing and opening the room tab doesn't show the character

Opening another room and then going back to Room X will now show the character (don't need to restart the editor)
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Cassiebsg on 25 Feb 2018, 01:09
Funny, I can't choose the character from list either (using the dark theme, if that makes a difference).
But can confirm that opening a new room and then returning will fix the character showing. (nod)
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Crimson Wizard on 25 Feb 2018, 01:17
Funny, I can't choose the character from list either (using the dark theme, if that makes a difference).
But can confirm that opening a new room and then returning will fix the character showing. (nod)

Do you mean the list in the upper bar? Does it get shown there after changing rooms?
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Cassiebsg on 25 Feb 2018, 01:27
I mean the bar where it shows Room > Characters > cName
If I add a new character to the room and open the room, the character will neither be seen nor be available in that drop down list (is there another place to see which characters are in the room?). opening a new room and then returning will show the character in the room and in the list. Removing the character from the room (or moving it to another room) will remove it from the editor show but still show it on the drop down list. Again these are fixed with opening another room and returning.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Privateer Puddin' on 25 Feb 2018, 01:36
(http://www.tom-simpson.com/agschar.png)

cMarket moved to Room 1. I can select them from Properties on the right (and their dotted line box is shown on the background) but I can't see them or select them from the Edit this room's > Room > Characters bit that I can once I reload the room
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Lord Vetinari on 01 Mar 2018, 09:09
Editor:
 - Editor uses (and requires) .NET 4.0 and C# 6.0.

Does this means that in the new version we'll be scripting in C#? Nice.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: ChamberOfFear on 01 Mar 2018, 10:11
Does this means that in the new version we'll be scripting in C#? Nice.

Sorry to disappoint but that's not what that means. It's probably a little open to interpretation since Crimson Wizard mentioned C# version which isn't relevant to the end user. Anyway, the Editor is made in C# .NET, and we recently upgraded the .NET version, so now users need to make sure they have the corresponding .NET version, that's all.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Snarky on 01 Mar 2018, 10:56
I just installed AGS on a fresh Win10 machine, and had to go through an extra step of tracking down and installing .NET 2.0 (which is actually part of the 3.5 package) first. That's the bit that should no longer be needed, since newer versions of Windows cone with newer versions of .NET.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Crimson Wizard on 01 Mar 2018, 13:13

I just installed AGS on a fresh Win10 machine, and had to go through an extra step of tracking down and installing .NET 2.0 (which is actually part of the 3.5 package) first. That's the bit that should no longer be needed, since newer versions of Windows cone with newer versions of .NET.

Which version of AGS did you install?
This new version should not be requiring .NET 2.0 anymore, at least not supposed to.
.NET 2.0 is included in 3.5, I think, but it is not included into the higher versions of .NET (4.0+).


Does this means that in the new version we'll be scripting in C#? Nice.

Sorry to disappoint but that's not what that means. It's probably a little open to interpretation since Crimson Wizard mentioned C# version which isn't relevant to the end user. Anyway, the Editor is made in C# .NET, and we recently upgraded the .NET version, so now users need to make sure they have the corresponding .NET version, that's all.

I will rephrase this line in the changes.txt to make it clear we are talking about .NET requirements.

As for scripting in C#, there was a plugin for that once.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Snarky on 01 Mar 2018, 14:36
Sorry if unclear, I was expanding on ChamberOfFear's answer to explain the reason for/benefit of the update.

I was installing AGS v3.4.1 (latest stable). Doing so required me to install .Net 2.0 first. However, 2.0 isn't actually available as a standalone any more: you have to install 3.5, which includes 2.0. The whole process is therefore a bit confusing. I assume that with 3.4.2 I would just have been able to install AGS without any other steps.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: Crimson Wizard on 01 Mar 2018, 14:38
Sorry if unclear, I was expanding on ChamberOfFear's answer to explain the reason for/benefit of the update.

Oh, okay, I thought there was some problem with this version.
Title: Re: AGS 3.4.2 - next WIP version (unstable)
Post by: declerfayt on 01 Mar 2018, 17:27
Hey guys! ;-D

First of all, congrats for those new cool features! The Dark UI theme and the ability to lock room's layers and individual items brings lots of comfort! Great job! :smiley:

Quick question: as this new alpha focus mainly on the editor and save games, is a game made with this AGS 3.4.2 - Alpha 1 would still be compatible with AGS 3.4.1 - Patch 1 (the latest stable version)?

If not, would you think it's reasonable to start working with this alpha (I guess games made with this version will work on the forthcoming stable AGS 3.4.2)?

I worked with a lot of beta versions previously (from the Custom Resolution build based on 3.3.0 / 3.3.1 to 3.4.1 - Beta 7) and never had any problems or crashes with those versions.

Thanks a lot - and again, congrats for your fantastic job! ;-D
Title: Re: AGS 3.4.2 - next WIP version
Post by: Crimson Wizard on 13 May 2018, 20:18
Hmm, somehow I missed this last post in March.

Quick question: as this new alpha focus mainly on the editor and save games, is a game made with this AGS 3.4.2 - Alpha 1 would still be compatible with AGS 3.4.1 - Patch 1 (the latest stable version)?

If you mean, whether it is possible to move back from 3.4.2 to 3.4.1, then probably yes, for now, because there were not any changes to game format. But there is no guarantee that this will remain so.

If not, would you think it's reasonable to start working with this alpha (I guess games made with this version will work on the forthcoming stable AGS 3.4.2)?

I guess that this release may be pretty stable. Actually I just removed "unstable" word from the title, because it may confuse people to think that it is crashing, etc. It's WIP, but should be relatively safe. Then again, even the releases that we call "stable" do have mistakes sometimes.
Also, in theory there are always ways to move your project back to previous version of AGS.
Title: Re: AGS 3.4.2 - next WIP version
Post by: Cassiebsg on 14 May 2018, 13:30
I'm building my MAGS on this version, and I just noticed the manual isn't included in the zip... (roll) At first I thought I had accidentally deleted it, but then saw it's not included in the zip... no big deal, I'll just open it from a previous version... just wondered why it wasn't included (morganw suggested it might be cause it's an "unstable/WIP" version...). Just thought I would mentioned it.
Title: Re: AGS 3.4.2 - next WIP version
Post by: Crimson Wizard on 14 May 2018, 13:34
just wondered why it wasn't included

The most logical reason is that I forgot to copy the file there.
Title: Re: AGS 3.4.2 - next WIP version
Post by: proximity on 16 May 2018, 20:03
Great job CW as always. Is there a limit of number of module scripts you can create ? Sorry if it was removed before. I couldn't follow it on the previous versions.
Title: Re: AGS 3.4.2 - next WIP version
Post by: Crimson Wizard on 16 May 2018, 20:06
Is there a limit of number of module scripts you can create ? Sorry if it was removed before. I couldn't follow it on the previous versions.
It was removed, back in 3.4.0 I think.
Title: Re: AGS 3.4.2 - next WIP version
Post by: Dave Gilbert on 16 May 2018, 22:08
I'm too close to launch to update to this WIP version. But hypothetically speaking, if I later decide to upgrade, saves created in 3.4.1 should be compatible (assuming I don't do anything that breaks saves)? That's amazing.
Title: Re: AGS 3.4.2 - next WIP version
Post by: Crimson Wizard on 16 May 2018, 22:11
But hypothetically speaking, if I later decide to upgrade, saves created in 3.4.1 should be compatible (assuming I don't do anything that breaks saves)?

3.4.1 --> 3.4.2 saves are compatible, because we are keeping legacy save format for some time, in case someone upgrades the actual game or moves to the new version of engine port.
3.4.2 --> 3.4.1 saves are NOT compatible.
Title: Re: AGS 3.4.2 - next WIP version
Post by: Dave Gilbert on 16 May 2018, 22:15
Yep. That's what I'm talking about. Sweet. Thanks!
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 20 May 2018, 17:55
I still did not have a chance to look into the reported bug about characters not displayed in the room editor until you reload the room.

Here's the update though.

AGS 3.4.2 - Alpha 2

Zip archive: http://www.mediafire.com/file/r988x5g4rxg5259/AGS-3.4.2-alpha2.zip

Updated with all changes from AGS 3.4.1 - Patch 2. Also brings some new stuff:

Editor
- Editor preferences are now stored using .NET configuration model, instead of the Windows registry.
- Added "Export mask to file" tool button to the Room Editor.
- Added "Always"choice to "Popup message on compile" preference. Successful compilation popup will only be displayed if "Always" choice is selected.
- 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 TextWindow GUI's elements could be deleted or moved in the editor with key controls.

Engine
- New pathfinder based on the A* jump point search. (by Martin Sedlak)
- Expanded some of the error messages providing more information to end-user and developers.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Snarky on 20 May 2018, 18:49
- Fixed sprite folders collapsing after assigning sprite to a View frame or an object.

Woohoo! ;-D

Quote
- New pathfinder based on the A* jump point search. (by Martin Sedlak)

Interesting! Does it behave any differently, or is it just a matter of performance?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 20 May 2018, 19:15
Quote
- New pathfinder based on the A* jump point search. (by Martin Sedlak)

Interesting! Does it behave any differently, or is it just a matter of performance?

Perfomance mostly, it is way faster, but requires few extra MB of memory to build a nodes grid. Probably latter could be optimized on per game basis by implementing some options.

It also fixes certain bugs AGS had with complex walkable areas with lots of curves, but that's may also be because the list of of checkpoints was increased.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Privateer Puddin' on 21 May 2018, 01:36
Do I need anything additional installed for this alpha?

I have .NET Framework 4.0 installed. (and 3.5 / 2.0)

Get this error on opening AGSEditor:

(http://tom-simpson.com/agserror.png)

Alpha 1 opens fine.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 21 May 2018, 02:17
1 file was missing, reuploaded.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Privateer Puddin' on 21 May 2018, 02:27
Thanks!
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Gurok on 21 May 2018, 03:23
The clickable areas on the new-fangled object/character/everything selector bother me. They're too small to navigate quickly.
I get that it's based on the Windows Explorer address bar, but that is arguably a secondary navigation bar (and I've never found it the mouse navigation intuitive).
Could we have the name and the arrow be one clickable area that shows a menu? The name currently makes it possible to navigate back up the hierarchy, but I don't think that's needed. i.e. There's no specific view associated with having "Room" selected on its own.
I don't know, what do other people think?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 21 May 2018, 03:27
Could we have the name and the arrow be one clickable area that shows a menu? The name currently makes it possible to navigate back up the hierarchy, but I don't think that's needed. i.e. There's no specific view associated with having "Room" selected on its own.
I don't know, what do other people think?

Yes, I wanted to suggest this too.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Mehrdad on 21 May 2018, 06:24
- New pathfinder based on the A* jump point search. (by Martin Sedlak)

I test it now. New pathfinding is cool. It's similar to way system now. Performance is better too. It's a great update. Thanks a lot guys.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Cassiebsg on 21 May 2018, 14:46
Uhm... I'll try it on my MAGS game (yes, I'll make a backup of the current state in alpha 1) :)

Some good stuff in here, thanks all involved!
Looking forward to try that pathfinder on this maze.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 21 May 2018, 14:55
Looking forward to try that pathfinder on this maze.

Testing pathfinder is encouraged! So far it was tested by few people only in limited number of games.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Privateer Puddin' on 21 May 2018, 15:08
Looking forward to try that pathfinder on this maze.

Testing pathfinder is encouraged! So far it was tested by few people only in limited number of games.

Testing as well but is it worth (if feasible) having an editor setting to switch between old and new in case something unexpected pops up later?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 21 May 2018, 15:12
Testing as well but is it worth (if feasible) having an editor setting to switch between old and new in case something unexpected pops up later?

Hmm... no. :/
It would be possible to restore the old one from the git history if something goes wrong. Then figure out how to make a switch in the engine.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Cassiebsg on 22 May 2018, 11:46
Uhm, pathfinder seems to be doing fine

But I just discovered that when you put a new object in a room it turns all objects visible. :~( I also started a blank project and added a BG and a couple sprites, then added them as objects. does the same. This is a very big bother, as I have a few big sprites that cover everything...
Also it's rather annoying that when you create a new object in a room it doesn't automaticly jump to it's settings/properties, so you can name it and adjust it... you need to actively find it in the list of objects and click on it.

EDIT: And seems like changing the Name of the object does the same thing. :~(

EDIT2: Doesn't help to lock the state of the objects either.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 30 May 2018, 21:36
Testing as well but is it worth (if feasible) having an editor setting to switch between old and new in case something unexpected pops up later?

Hmm... no. :/
It would be possible to restore the old one from the git history if something goes wrong. Then figure out how to make a switch in the engine.

I've found that switching between the engine builds can leave characters in a different position after walking, with the old pathfinder moving the character further (which was then causing a bounds check to fail). I probably need to re-test without the smooth scrolling module, but the difference in player.x was enough to cause me an issue.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Cassiebsg on 01 Jun 2018, 18:30
My "Explore Project" has accidentaly moved out from the right panel, now every time I open AGS editor the pane is placed in the middle, and I need to manually move itback to it's place on the right pane.

Any way to force it to remember where I want it to be? Seems like me just moving it into the correct place and then closing the editor doesn't save settings like it should. :-\
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 01 Jun 2018, 19:59
I think one of the panels is flagged as a main one, and if that is in a strange position it can make the others go wrong. The settings are now independent of editor version, and get upgraded to the next version (so what you set in 3.4.2 doesn't affect anything older). You can find the user.config file by running this at a command prompt:

Code: DOS
  1. dir /b /s %USERPROFILE%\AppData\Local\AGS\*user.config

Just delete it to reset the settings, although if you can send me a copy I'll double check what the settings are doing.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 01 Jun 2018, 20:06
The settings are now independent of editor version, and get upgraded to the next version (so what you set in 3.4.2 doesn't affect anything older). You can find the user.config file by running this at a command prompt:

Code: DOS
  1. dir /b /s %USERPROFILE%\AppData\Local\AGS\*user.config

Just delete it to reset the settings, although if you can send me a copy I'll double check what the settings are doing.

Is panel layout also saved to that config file?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Cassiebsg on 01 Jun 2018, 20:27
Uhm... :-\

well, deleting the file did nothing to alter the problem. The project window is still opening in the "middle", and the room/scripts I open next will be open in the same pane... (in the middle)... so, still not a solution (and now I learned I have a new stupid named folder on my c drive... :( )

EDIT:
Oh, wait. I just noticed there's a "layout->save" option under Window... I'll try that.

EDIT2: That seems to have done it. (nod) Unless the fact that I reloaded the dark theme at the same time did it... (roll)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 01 Jun 2018, 21:19
The settings are now independent of editor version, and get upgraded to the next version (so what you set in 3.4.2 doesn't affect anything older). You can find the user.config file by running this at a command prompt:

Code: DOS
  1. dir /b /s %USERPROFILE%\AppData\Local\AGS\*user.config

Just delete it to reset the settings, although if you can send me a copy I'll double check what the settings are doing.

Is panel layout also saved to that config file?

...I may have confused it with the overall window positioning, so possibly not.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 01 Jun 2018, 21:21
The actual layour file is probably still %USERPROFILE%\AppData\Local\AGS\Layout.xml
Title: Re: AGS 3.4.2 - next WIP version
Post by: declerfayt on 01 Jun 2018, 21:32
Hmm, somehow I missed this last post in March.

Quick question: as this new alpha focus mainly on the editor and save games, is a game made with this AGS 3.4.2 - Alpha 1 would still be compatible with AGS 3.4.1 - Patch 1 (the latest stable version)?

If you mean, whether it is possible to move back from 3.4.2 to 3.4.1, then probably yes, for now, because there were not any changes to game format. But there is no guarantee that this will remain so.

If not, would you think it's reasonable to start working with this alpha (I guess games made with this version will work on the forthcoming stable AGS 3.4.2)?

I guess that this release may be pretty stable. Actually I just removed "unstable" word from the title, because it may confuse people to think that it is crashing, etc. It's WIP, but should be relatively safe. Then again, even the releases that we call "stable" do have mistakes sometimes.
Also, in theory there are always ways to move your project back to previous version of AGS.

Thanks a lot for your response CW (and again great work!). With the new patch you just released, I think I'm gonna switch to the new WIP version next week :)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 02 Jun 2018, 12:32
Thanks a lot for your response CW (and again great work!). With the new patch you just released, I think I'm gonna switch to the new WIP version next week :)

There were a number of inconveniences in new editor interface found since, so idk if that's a good idea until we fix them.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: declerfayt on 06 Jun 2018, 18:13
There were a number of inconveniences in new editor interface found since, so idk if that's a good idea until we fix them.

Thanks CW ! Maybe I'll wait a bit - tbh, the new interface is pretty cool to manage the parralax effet and the different layers of object, but it's not super urgent, I can wait for a few weeks :) Thanks for your advice :)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Martin Sedlak on 08 Jun 2018, 22:09
I've found that switching between the engine builds can leave characters in a different position after walking, with the old pathfinder moving the character further (which was then causing a bounds check to fail). I probably need to re-test without the smooth scrolling module, but the difference in player.x was enough to cause me an issue.
This can happen if you click on a non-walkable area, the new pathfinder tries to get you as close as possible (unlike the old one).
Also the new pathfinder is pixel-perfect, old pathfinder did something like 3x3 pixel downsampling (or actually jumping over 3 pixels - I don't remember exactly),
so even one pixel gap is no longer walkable.
However, I think these features are actually useful and desired - even if it means adjusting game code when switching to the new engine, I hope it's still worth it :)
The new algorithm also does bidirectional path filtering when extracting waypoints, so the final paths should look a bit more natural (especially the last few segments),
old code did something similar but only in forward direction, probably not a big deal and barely noticeable.

The only drawback of the new pathfinder is increased memory usage (traded memory for performance), namely 8 times more than old pathfinder (read 8 bytes per walkable pixel),
so for example if your largest background is 3k times 1k pixels, the old pathfinder used 3 megabytes where the new uses 24.
This is still ok even on todays mobiles unless you use really huge backgrounds, but it's always good to understand the implications.
On the other hand, large (hires) areas is where the new algorithm really shines in terms of performance compared to the old one.

One potential solution would be to use lowres walkable bitmap, saving 4 times the memory by 2x downsampling in each direction, but I've no idea how much work it'd represent
in the editor and pathfinder glue code.
Maybe the best solution would be to switch to navmeshes instead, but this would add new challenges of its own and it would be a substantial amount of work, completely breaking backward compatibility...
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 08 Jun 2018, 22:31
I've found that switching between the engine builds can leave characters in a different position after walking, with the old pathfinder moving the character further (which was then causing a bounds check to fail). I probably need to re-test without the smooth scrolling module, but the difference in player.x was enough to cause me an issue.
<...>
However, I think these features are actually useful and desired - even if it means adjusting game code when switching to the new engine, I hope it's still worth it :)

The issue here is that sometimes people are upgrading their nearly completed games to the new version of AGS, and they do not want to be surprised by extra work added when they do. So it is fair to warn them about these possible complications.

Also, something that I forgot to consider when reviewing your pull request, if pathfinder acts differently (even if better), there is a slight but real theoretical possibility that some old game breaks, if it were relying on exact places where character walks. We had similar problems in the past (not with pathfinder), when game creators were too much relying on particular quirks of the engine, and when engine got fixed or improved that broke these games. We have couple of places in the engine where less correct behavior had to be simulated under condition that the old game is being run.

Since we decided to split AGS into "backwards compatible" and "future" versions recently, we are currently considering (https://github.com/adventuregamestudio/ags/issues/448#issuecomment-394000925) what to do with pathfinder in "compatible" branch: whether to keep your new pathfinder, revert to old one, or have both with a way to switch between them in config.
This is not very critical, in my opinion, since we don't know if there is such game that would be broken by new pathfinder in practice (making it impossible to walkthrough), but has to be decided at some point.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: KyriakosCH on 10 Jun 2018, 10:58
Hi, sorry if this was answered - i was away for a while :)

Is there any plan to implement CW's excellent "typewriter" text animation (ala jrpgs) in a future version of the engine?
Because i am sure it would get a lot of use.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Martin Sedlak on 10 Jun 2018, 11:06
Since we decided to split AGS into "backwards compatible" and "future" versions recently, we are currently considering (https://github.com/adventuregamestudio/ags/issues/448#issuecomment-394000925) what to do with pathfinder in "compatible" branch: whether to keep your new pathfinder, revert to old one, or have both with a way to switch between them in config.
This is not very critical, in my opinion, since we don't know if there is such game that would be broken by new pathfinder in practice (making it impossible to walkthrough), but has to be decided at some point.
I see, I never thought that the new engine may be used to run old games. For WIP games close to release it's probably never a good idea to switch to new engine anyway,
no matter what has changed.
Of course if a script relies on a certain behaviour of the pathfinder then it can break existing games.
Also since old pathfinder allowed you to walk over 1px/2px gaps in some cases, such games (with incorrect walkable areas) may break as well.
It's impossible to make the new pathfinder behave like the old one simply because it may choose more or less different paths, so if full backward compatibility is a concern,
the only option is to either revert or make the two coexist, because you can never get rid of the old pathfinder in that case.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 10 Jun 2018, 12:30
Is there any plan to implement CW's excellent "typewriter" text animation (ala jrpgs) in a future version of the engine?
Because i am sure it would get a lot of use.

Personally I was against it, because I always believed the engine should provide basic building blocks and get extended with script modules.
There is too many ways text typing could be customized, too much to add it all to the engine, IMO, so sooner or later you would need a script module anyway.
Perhaps it would be a better option to extend script event system and ease customizing text output in the script. Like allow easier scripting speech speech style, something that we were discussing in the past.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: KyriakosCH on 10 Jun 2018, 13:02
Ok, thanks 8-)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: eri0o on 10 Jun 2018, 14:11
A box where I could type which function my game would use for speech, so Dialog, Voice Script and Translations would know :O
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 10 Jun 2018, 15:14
A box where I could type which function my game would use for speech, so Dialog, Voice Script and Translations would know :O
Roughly something like that, yes.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 12 Jun 2018, 20:03
Is there a chance to remove or up the font limit that's currently 30 fonts, it's something that I'd personally really need, cause we're trying to integrate a bunch of translations into a project atm.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 12 Jun 2018, 20:10
Is there a chance to remove or up the font limit that's currently 30 fonts, it's something that I'd personally really need, cause we're trying to integrate a bunch of translations into a project atm.

Should be trivial, that's strange, no idea why it was not removed yet.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 12 Jun 2018, 22:18
Not sure if removing the limit it is doable, but please please up it up?
Also can AGS change the text Alignment of a label/button/ui control via code, or no (this is a minor thing, not really that important).

Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 12 Jun 2018, 22:35
Also can AGS change the text Alignment of a label/button/ui control via code, or no (this is a minor thing, not really that important).

Hmm, does not look like it can right now. It's a matter of adding script property and adding variable to save format.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: abstauber on 21 Jun 2018, 10:46
Would it be possible to update the 9 verb template? The one shipped is a tad outdated. Also I would love to see the Tumbleweed template included as well.

http://shatten.sonores.de/wp-content/uploads/2018/06/9-verb-MI-style_163.zip
http://shatten.sonores.de/wp-content/uploads/2018/06/tumbleweed_1.0.zip
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 21 Jun 2018, 12:33
I'm updating the existing ones at the moment, the suggestion was to include yours as a submodule.
https://github.com/adventuregamestudio/ags-template-source/issues/2 (https://github.com/adventuregamestudio/ags-template-source/issues/2)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: abstauber on 21 Jun 2018, 21:30
I honestly haven't worked with submodules yet, but from what I've read it seems like a good solution. Of course I'd have to start with using tags, releases and such :)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 21 Jun 2018, 21:49
I honestly haven't worked with submodules yet, but from what I've read it seems like a good solution. Of course I'd have to start with using tags, releases and such :)

We could refer to particular commit too, but tags are more user-friendly.

That would be super cool to have a stand-alone game compiler (something that was talked about back in 2011-12), so that we could build all templates from script (like in Python script), but alas...
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 07 Jul 2018, 10:10
Not sure if removing the limit it is doable, but please please up it up?
Also can AGS change the text Alignment of a label/button/ui control via code, or no (this is a minor thing, not really that important).



Sorry to ask again, any luck on prioritizing or working on this, or any progress?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 07 Jul 2018, 12:23
Not sure if removing the limit it is doable, but please please up it up?
Also can AGS change the text Alignment of a label/button/ui control via code, or no (this is a minor thing, not really that important).



Sorry to ask again, any luck on prioritizing or working on this, or any progress?

I was distracted by number of bugs in the 3.4.1, for which plan to release a patch on this weekend (or first days of the next week latest).
After that I will merge 3.4.1 to 3.4.2 again, and finally begin resolving issues in 3.4.2.

Since font limit sounds trivial (need to check again though), that could the first thing.
Other stuff in my personal plans:
1. bugs with the new editor UI which make it hard to work with;
2. properties that cannot be set at runtime.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 09 Jul 2018, 12:11
Here's a test build with unlimited fonts:
https://www.dropbox.com/s/odfqfs0di9ax48d/ags-3.4.2-wip--unlimited-fonts.zip?dl=0

You may copy it over 3.4.2 release.
Warning: it raises project version number, so you won't be able to open same project with previous version after you save.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 14:10
First test works, I can up the limit! Now onto testing a tad more!
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 14:21
I'm trying to load the project that is using the Speech Plugin https://skydrive.live.com/redir.aspx?cid=a031d4a2c1add700&resid=A031D4A2C1ADD700!111&parid=A031D4A2C1ADD700!110&authkey=!AJ9otK4Z8fEy_9I

And it's giving me an error, when I start the AGSEditor exe, since now I put the dll on the editor's directory.
https://ibb.co/mgUEp8
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 09 Jul 2018, 14:31
I'm trying to load the project that is using the Speech Plugin https://skydrive.live.com/redir.aspx?cid=a031d4a2c1add700&resid=A031D4A2C1ADD700!111&parid=A031D4A2C1ADD700!110&authkey=!AJ9otK4Z8fEy_9I

And it's giving me an error, when I start the AGSEditor exe, since now I put the dll on the editor's directory.
https://ibb.co/mgUEp8


Is this related to this particular version, or any AGS?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 14:51
This happens to this version, other versions of ags prior to 3.4.2 seemed to have no issues.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 14:56
The error appears when the editor loads, not when I'm trying to load a project, the speech plugin seems to be denied.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 09 Jul 2018, 15:08
The error message seem to refer to difference in .NET Framework versions. This wip version now uses .NET Framework 4.0, previous ones used 2.0.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 15:21
So would installing 4.0 fix this?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 15:23
I have 4.6 installed
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 15:26
I wonder if it needs a specific thing out of framework 4.0
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: tzachs on 09 Jul 2018, 15:28
Try checking if the file is blocked, see this: https://stackoverflow.com/questions/18016315/an-attempt-was-made-to-load-an-assembly-from-a-network-location-which-would-have

Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 15:52
It is, fixed that thankfully, but now getting this

https://ibb.co/eSoACT
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 09 Jul 2018, 16:26
It is, fixed that thankfully, but now getting this

https://ibb.co/eSoACT

I do not know why plugin is counted "mixed assembly", maybe it was referencing AGS.Native.dll? Just a guess.
Plugin's author started coming on forum again recently (http://www.adventuregamestudio.co.uk/forums/index.php?topic=45622.msg636588275#msg636588275), perhaps it's a good chance to ask him to look into this too. Maybe plugin has to be upgraded.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: tzachs on 09 Jul 2018, 16:43
Right, getting a version of the plugin compiled with dotnet 4.0 is probably the best solution.
However, working with the old version might also be possible by setting "useLegacyV2RuntimeActivationPolicy" in the editor's config file (see here: https://stackoverflow.com/questions/6425707/mixed-mode-assembly-is-built-against-version-v2-0-50727-of-the-runtime).
It seems that the editor's config file is not part of the release zip though (I think it should be), but I think (not sure) you can just create an "AGSEditor.exe.config" file and it will be picked up.
So you can try creating that file and putting this inside and see if it works:

Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true"><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 16:54
Alright making the AGSEditor.exe.config file with the content that tzachs suggested fixes the issue. It also requires irrKlang.NET2.0.dll but now it works just fine!
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 09 Jul 2018, 16:55
It also requires irrKlang.NET2.0.dll but now it works just fine!
What does, plugin or AGS Editor?
irrKlang is the audio playing library, I think. irrKlang.NET2.0.dll was used by AGS before, now it supposed to use irrKlang.NET4.dll.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 17:08
The plugin needs the 2.0.dll
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 09 Jul 2018, 17:14
Alright this seems to be working!
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 11 Jul 2018, 12:16
I'm done with 3.4.1 for good, hopefully, and now thinking about fixing UI problems reported here.
To sum up what was mentioned:

1. Character not appearing in room bug, reported by Cassiebsg and Privateer Puddin':
Open Room X
Change Character to Room X
Character is not seen on Room X, but you can pick it from the list of characters in Properties for that room
Closing and opening the room tab doesn't show the character

Opening another room and then going back to Room X will now show the character (don't need to restart the editor)
I mean the bar where it shows Room > Characters > cName
If I add a new character to the room and open the room, the character will neither be seen nor be available in that drop down list (is there another place to see which characters are in the room?). opening a new room and then returning will show the character in the room and in the list. Removing the character from the room (or moving it to another room) will remove it from the editor show but still show it on the drop down list. Again these are fixed with opening another room and returning.

2. Usability issue, reported by Gurok:
The clickable areas on the new-fangled object/character/everything selector bother me. They're too small to navigate quickly.
I get that it's based on the Windows Explorer address bar, but that is arguably a secondary navigation bar (and I've never found it the mouse navigation intuitive).
Could we have the name and the arrow be one clickable area that shows a menu? The name currently makes it possible to navigate back up the hierarchy, but I don't think that's needed. i.e. There's no specific view associated with having "Room" selected on its own.

3. Another problem(s), reported by Cassiebsg:
I just discovered that when you put a new object in a room it turns all objects visible. :~( I also started a blank project and added a BG and a couple sprites, then added them as objects. does the same. This is a very big bother, as I have a few big sprites that cover everything...
Also it's rather annoying that when you create a new object in a room it doesn't automaticly jump to it's settings/properties, so you can name it and adjust it... you need to actively find it in the list of objects and click on it.

EDIT: And seems like changing the Name of the object does the same thing. :~(

EDIT2: Doesn't help to lock the state of the objects either.


Also there was this feature request from eri0o, although that may be a larger task:
A box where I could type which function my game would use for speech, so Dialog, Voice Script and Translations would know :O
But we've discussed very similar thing with Scavenger recently on Discord, and I suddenly realized that implementing this at least for Dialogs may be not that complicated.

But UI fixes go first.

PS. Also, maybe we should rename this version to 3.5.0, because of changes to editor's GUI.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 17 Jul 2018, 10:02
So, I was looking into problems 1) and 3) from above, and it appears that I'd need to modify some of the tzach's code to make this work correctly.


Technical things aside, my two big questions are:

1) Should the Visible/Locked states be saved in between editor sessions (and room's closing/reopening)? I guess answer is yes...

2) If it should be saved, should this information be saved as a part of the game project, or as a separate "editing state" config? What I mean, game project stores object properties related to the game in Game.agf, but there is another file called Game.agf.user that saves what is called "workspace state" which has some service info about last usage of editor which is not required to build the game itself (I guess we could also move few options, such as "Build Targets" there.
Anyway, the point of having Visible/Locked-in-the-editor setup in a separate config is to specify these properties as non related to the game itself, and if for example game is worked on by multiple users they may have separate design-time configs which are not shared between them when you sync the project.


NOTE: before this new navigation bar was introduced Room Objects already had Locked property that was saved in the room data and kept with the game.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 17 Jul 2018, 10:36
I'd say that, if the interface is good and you aren't in the middle of a long-winded task that locks other editor components, you wouldn't expect the state to be saved and restored.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Snarky on 17 Jul 2018, 11:54
1) Should the Visible/Locked states be saved in between editor sessions (and room's closing/reopening)? I guess answer is yes...

Yes. Locked in particular (otherwise it's nigh-useless).

2) If it should be saved, should this information be saved as a part of the game project, or as a separate "editing state" config? What I mean, game project stores object properties related to the game in Game.agf, but there is another file called Game.agf.user that saves what is called "workspace state" which has some service info about last usage of editor which is not required to build the game itself (I guess we could also move few options, such as "Build Targets" there.
Anyway, the point of having Visible/Locked-in-the-editor setup in a separate config is to specify these properties as non related to the game itself, and if for example game is worked on by multiple users they may have separate design-time configs which are not shared between them when you sync the project.

Given your explanation, probably the editing state (Game.agf.user). This doesn't seem that important, though; either would be fine.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 17 Jul 2018, 12:52
1) Should the Visible/Locked states be saved in between editor sessions (and room's closing/reopening)? I guess answer is yes...
Yes. Locked in particular (otherwise it's nigh-useless).

Personally I would say, saving the state is just a workaround for not being able to open more than one room for editing. If opening up the room data is on the to-do list anyway, and storing settings may restrict any future changes (you'll either have to validate them or drop them all), storing more data just seems to add more restrictions in the long run.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 17 Jul 2018, 13:15
I'd say that, if the interface is good and you aren't in the middle of a long-winded task that locks other editor components, you wouldn't expect the state to be saved and restored.
Personally I would say, saving the state is just a workaround for not being able to open more than one room for editing.

It seems we have very contradictory views on what user expects from the editor... Nearly every contemporary editor I've seen saves layer visibility in the document - game editors and image editors alike, and I had an impression users usually want to see the scene in the same state they had it when closed editor last time.

Being able to edit several rooms at once does not change much in this regard, because you may close and and reopen editing panes, and restart Editor eventually too.

Does your opinion originate from concern about difficulty of implementation, or you actually do not think having state restored is needed, or even expect these settings to be reset every time you launch the Editor because that complies to your personal work habits?

In the example given above by Cassiebsg she has large objects covering whole room, and she wants them to be invisible in the editor to be able to work with the rest of the room. Without these settings saved every time she opens an editing session she would have to adjust their visibility over and over again.
Same will happen if you want to lock things. Usually people would lock objects that are already in place and should not be touched anymore or edited by mistake.

To slightly adjust my original question: do users expect these settings to be saved in between editing sessions, like in: reopening editor next day?


If opening up the room data is on the to-do list anyway, and storing settings may restrict any future changes (you'll either have to validate them or drop them all), storing more data just seems to add more restrictions in the long run.

I have no idea when opening room data or having multiple rooms at once will be done. If we are to make this state saved only as a temporary solution until these times, they may be saved in a "workstate config", as mentioned above, and later simply discarded. I believe they won't cause much trouble in such case. (I fear more trouble will be caused by implementing this serialization, because you need to sync it with existing rooms...)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Cassiebsg on 17 Jul 2018, 14:21
Yes, I expect the logic thing is for the editor to remember what I wish locked/unlocked and visible/not visible, even after closing and reopening the editor. (nod)
Having to set it up again every single time is really a pain. 8-0

I think saving it in the user profile is probably best. (nod)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 17 Jul 2018, 14:29
Does your opinion originate from concern about difficulty of implementation, or you actually do not think having state restored is needed, or even expect these settings to be reset every time you launch the Editor because that complies to your personal work habits?
I guess that I'm saying, having to store the state is something you would need when applying the changes you need is taking too long or is overly complicated. With the example of hiding multiple objects in a room, I'd rather make it easier to multi select objects and apply any setting, rather than leave awkward controls in place and store the settings to avoid frustration.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 17 Jul 2018, 14:50
I guess that I'm saying, having to store the state is something you would need when applying the changes you need is taking too long or is overly complicated. With the example of hiding multiple objects in a room, I'd rather make it easier to multi select objects and apply any setting, rather than leave awkward controls in place and store the settings to avoid frustration.

But aren't these are different problems that require different solutions? I did not mean the state saving as a solution to not able to select multiple objects.
When people are working on a game, they may open same room many times. Even if there are not multiple objects that need to be turned off but only one, or if there is a convenient way to multiselect, even then they'd probably rather keep that convenient state saved than change it same way over and over.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Snarky on 17 Jul 2018, 14:52
morganw, I don't see setting these settings as something you do just for a single room editing session, but rather:

Locked - This is something I would set once I have positioned an object precisely, to ensure that I don't accidentally move it while editing other things in the room. Once this setting is set, I never want it to be unset again (unless I explicitly turn it off). If I come back to the room in two months (to add another object, for example), I expect it to still be locked.

Visible - This is something I would set for objects that wouldn't normally be visible in the room and that cover up important parts of the background (for example, an object that shows an animation of an explosion). If I turn it off, I want it to remain off (unless I explicitly make it visible again), because to do almost any other editing to the room I would otherwise have to turn it off again every time.

Basically, the reasons I flipped these settings in the first place still apply the next time I come back to the room editor, and it would be annoying to have to set them again every time.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 17 Jul 2018, 16:50
But aren't these are different problems that require different solutions? I did not mean the state saving as a solution to not able to select multiple objects.
When people are working on a game, they may open same room many times. Even if there are not multiple objects that need to be turned off but only one, or if there is a convenient way to multiselect, even then they'd probably rather keep that convenient state saved than change it same way over and over.
Yes, I think there are probably three separate issues here. I only mention my point of view for storing state, as in my opinion , the workflow issues that make the persistent state desirable are related to only being able to edit one room at a time (so state cannot persist in the tab) and the existing controls are not particular streamlined (changing the settings is too involved a process). If it is easy to implement and doesn't restrict future changes or rolling back to previous versions, then it wouldn't be an issue.

Basically, the reasons I flipped these settings in the first place still apply the next time I come back to the room editor, and it would be annoying to have to set them again every time.
Yes, but to make the settings persist through Editor upgrades this isn't just simple a serialize/deserialize. It would probably have to be linked to the project upgrade process and I don't know if that even considers per project user preferences rather than just project data. Having had to rewrite the whole preference system for the Editor just so I could add an option to suppress a message box, I wouldn't want these new settings to be trivially added and create a similar problem down the line.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 17 Jul 2018, 17:27
Yes, but to make the settings persist through Editor upgrades this isn't just simple a serialize/deserialize. It would probably have to be linked to the project upgrade process and I don't know if that even considers per project user preferences rather than just project data. Having had to rewrite the whole preference system for the Editor just so I could add an option to suppress a message box, I wouldn't want these new settings to be trivially added and create a similar problem down the line.

The Game.agf.user is loaded through same serialization mechanism as the main game data in Game.agf, that allows using reflection (with help from attributes) to serialize classes.
This mechanism considers possibility of new, deprecated, renamed properties, and the change in the value range (this is also why I was suggesting using it for general preferences earlier). If something is lacking or suboptimal there, it may be improved.
EDIT: entry point is LoadUserDataFile() in AGSEditor.cs. The serializer is class SerializeUtils in AGS.Types.dll.

On the other hand, for rooms we may consider creating separate similar config files, one per room. It's just that since that may clutter project folder, they are better saved in "Rooms" subfolder already, so not sure.



PS. I honestly did not want to discuss implementation details in this "release" thread. I posted here to know user's opinion. Code problems may be discussed in related forum section, or even on github.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: morganw on 17 Jul 2018, 19:07
If there is already a mechanism to do it, then it isn't an issue. I just didn't want to get locked into the existing controls indefinitely; as a user the workflow is more of a problem to me than restoring the end result.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 17 Jul 2018, 19:21
If there is already a mechanism to do it, then it isn't an issue. I just didn't want to get locked into the existing controls indefinitely;

No, of course not. This definitely should be saved in such way that makes it possible to even discard if control scheme changes cardinally.

This is also the reason (among few others) I changed my mind on keeping these flags in game classes as I initially thought: while much simplier code-wise, that could become a problem if UI or set of design-time properties changes. So currently I am trying to reimplement tzach's solution into a kind of data table in the Room managers, which corresponds set of editor-only properties to game objects. TBH the current code structure is not perfect for this (receiving updates about object changes is bit clunky), but hopefully I will be able to find good way to sync them.
After that next step will be serialization...
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Cassiebsg on 17 Jul 2018, 20:33
As an "end user", I just want to add that resetting these flags after updating the Editor (new version, if that's what you mean) would not bother me. I doubt most of us don't upgrade the editor several times during the developing of a game for it to become a serious issue. Then again, I'm just doing small games that do not take that long to make, so not sure about devs that want to have the latest release for their big and long developing game (and eventually commercial release, when you might want the best working version).
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 18 Jul 2018, 09:11
Run into this weird bug, whereas doing

PDAList2.Font=14;

(Pdalist2 is a Listbox) doesn't work. I searched for the entire project (to see if I set .Font on anything), and even put that line on repeatedly_execute_always but it won't go through.
I'm using the "custom version", can't check the specific project on previous versions
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 18 Jul 2018, 15:43
Also not sure if this is how it's supposed to be but

When I do

if (Game.DoOnceOnly("open cutscenetwo")) {

//code A
}

The code A within the if condition gets to run every time because the if condition always returns true, however when I do

if (Game.DoOnceOnly("open_cutscenetwo")) {

Adding a _ seems to make it work properly!




Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 18 Jul 2018, 16:02
Run into this weird bug, whereas doing

PDAList2.Font=14;

(Pdalist2 is a Listbox) doesn't work. I searched for the entire project (to see if I set .Font on anything), and even put that line on repeatedly_execute_always but it won't go through.
I'm using the "custom version", can't check the specific project on previous versions

By "doesn't work" you mean font looks do not change, or some error showing up?
What will happen if you do Display("%d", PDAList2.Font) afterwards?
Does this happen only with particular font or any, and does same font apply to ther things like buttons, speech etc?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 18 Jul 2018, 16:11
Everything else seems to be working fine, I think it's the listbox specifically that I can't change its font in runtime. It's always font 7 (which is the one on the editor). I can't change the font of that listbox in runtime, and there's no other code that reverts it to its original (font 7)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 18 Jul 2018, 16:39
Everything else seems to be working fine, I think it's the listbox specifically that I can't change its font in runtime. It's always font 7 (which is the one on the editor). I can't change the font of that listbox in runtime, and there's no other code that reverts it to its original (font 7)

Yes I can confirm that changing ListBox.Font does not work in 3.4.2 Alpha. Changing other GUI fonts seem to work.

This may be related to GUI refactoring too, it was done a while ago. I will investigate.

EDIT: lol, a classic case of naming function argument like class member leads to assigning local variable to itself:
https://github.com/adventuregamestudio/ags/blob/master/Common/gui/guilistbox.cpp#L197
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 18 Jul 2018, 17:21
@Dualnames, here is the updated version, with ListBox.Font fixed:
https://www.dropbox.com/s/w5838ngizahlblt/ags-3.4.2-wip2.zip?dl=0


When I do

if (Game.DoOnceOnly("open cutscenetwo")) {

//code A
}

The code A within the if condition gets to run every time because the if condition always returns true, however when I do

if (Game.DoOnceOnly("open_cutscenetwo")) {

Adding a _ seems to make it work properly!

I could not reproduce this, tried in 3.2.1, 3.4.1, 3.4.2. Could you double-check with the updated version?
Also, may be a long shot, but do you use a translation? (Not that it should be translated, but maybe some bug appeared)
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 18 Jul 2018, 19:28
I doubt all the translators translated it, but i can check maybe the token is invalid if it has spaces within the string?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 18 Jul 2018, 19:34
The update fixes the listbox issue! Gonna check on the string as well, see whats up with it.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 20 Jul 2018, 18:25
I've tried to rewrite Room Editor, hopefully fixing reported problems: one with Character's not appearing in the list, all objects becoming visible at once when a new one is added or renamed, and maybe few others.

https://www.dropbox.com/s/5aeh3oku9d35aeg/ags-3.4.2-wip3-roomed.zip?dl=0

This is work in progress, there may be new bugs, which I will be fixing.

Note, the state of these settings still is not saved in-between edit sessions, this is in TODO list.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 21 Jul 2018, 18:36
I'm pretty sure that if (Game.DoOnceOnly("")) is having some sort of issues cause I used them mostly for stuff that happen when you first load a room, and then I'm being reported issues that are only able to be replicated if the lines within the relative condition are executed again. Is that something that has been fixed on the zip files you just posted?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 21 Jul 2018, 19:14
I'm pretty sure that if (Game.DoOnceOnly("")) is having some sort of issues cause I used them mostly for stuff that happen when you first load a room, and then I'm being reported issues that are only able to be replicated if the lines within the relative condition are executed again. Is that something that has been fixed on the zip files you just posted?

No, I did not change anything because I could not reproduce this with the example you've posted earlier. Is there any chance I could get your game for a test?
If not, I may investigate the engine code and see if there is something suspicious.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 21 Jul 2018, 21:42
I updated the test build another time, link is same:
https://www.dropbox.com/s/5aeh3oku9d35aeg/ags-3.4.2-wip3-roomed.zip?dl=0

Now fixed whole room layer getting reset when you add/rename an object.
Looks like all is working now, but please try out yourselves.

PS. I removed the behavior when Characters, Room Objects and Walkable areas are all were made visible by default. Was not sure if that's really what users asked for, but tzachs simply made it so. Now it's reverted back to old AGS behavior when only background is visible at startup.

When room editor state will be saved all the existing rooms will reopen in the way you left them, but new rooms will begin with only background.
Question: does this still need an option in preferences?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 22 Jul 2018, 01:16
I'm pretty sure that if (Game.DoOnceOnly("")) is having some sort of issues cause I used them mostly for stuff that happen when you first load a room, and then I'm being reported issues that are only able to be replicated if the lines within the relative condition are executed again. Is that something that has been fixed on the zip files you just posted?

No, I did not change anything because I could not reproduce this with the example you've posted earlier. Is there any chance I could get your game for a test?
If not, I may investigate the engine code and see if there is something suspicious.

Is there maybe something to do with translations interfering with gamedo once onlys?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 23 Jul 2018, 12:22
I'm 200% there's an issue with GameDoOnceOnly,(I'm using 1327 or so unique tokens, maybe that is an issue), anyhow, I replaced 2 of them, and then 2 others started malfunctioning, so I've made a custom function that does exactly what GameDoOnceOnly does, I'll let you know if that faulters, if it does it's something else.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 23 Jul 2018, 12:26
I'm 200% there's an issue with GameDoOnceOnly,(I'm using 1327 or so unique tokens, maybe that is an issue), anyhow, I replaced 2 of them, and then 2 others started malfunctioning, so I've made a custom function that does exactly what GameDoOnceOnly does, I'll let you know if that faulters, if it does it's something else.

Is there really no way for you to send me a game? Then I could run it under debugger. If there is some bug in AGS, it could be caused by multiple reasons combined.
If you are worried about your game security, I will just delete it from my pc afterwards (I also don't have spare time to play adventure games now :)).

Otherwise I'd have to have exact steps to reproduce this problems, which are not known at this time, it seems.
Right, I have promised to investigate the engine code, I will try doing that today.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 23 Jul 2018, 21:17
Right, I have promised to investigate the engine code, I will try doing that today.

Hmm, alright, I looked there, and don't see anything curious right away.

Couple of notes:
1) The length of the string is limited to 199.
2) Strings are case-sensitive ("DoOnlyOnce" is not equal to "doonlyonce").

It has no connection to translation, or anything else.

PS. By the way, even the manual gives an example with the space in the string:
Quote
if (Game.DoOnceOnly("open cupboard")) {
  GiveScore(5);
}
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 24 Jul 2018, 06:31
it's gonna take me a long time to upload, but I will if this reappears, for now I've replaced the function with a custom one.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 25 Jul 2018, 06:01
I've made a custom function to replace Game.DoOnceOnly and all the related bugs disappeared!
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 25 Jul 2018, 09:17
I've made a custom function to replace Game.DoOnceOnly and all the related bugs disappeared!

I don't know if you expect me to reply something... Like I said, I cannot do anything without a test case that would let me reproduce this error.

E: May this be a result of restoring a saved game? Did this begin only after upgrading to 3.4.2?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 25 Jul 2018, 12:35
Sorry, if I'm frustrating you, don't intend to do that. The game files are over 4gb, and my upload speed is at 40kbps. This only begun after upgrading to 3.4.2 yes, not the result of a saved game, what seemed to be the case, is that the game seemed to pick 2 instances (the first two of Game.DoOnceOnly) and those didn't work. I can send you the script files, but not the sprite files, if you want.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 25 Jul 2018, 12:38
This only begun after upgrading to 3.4.2 yes, not the result of a saved game, what seemed to be the case, is that the game seemed to pick 2 instances (the first two of Game.DoOnceOnly) and those didn't work. I can send you the script files, but not the sprite files, if you want.

Hmm, yes please, there is a chance the erroneous situation could be recreated from these.

E: Maybe silly question, but did you do "Rebuild all files" after upgrading to 3.4.2?
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Dualnames on 25 Jul 2018, 23:27
Yes, have done the rebuild all files

Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Crimson Wizard on 31 Jul 2018, 17:58
New update

AGS 3.4.2 - Alpha 3

Zip archive: http://www.mediafire.com/file/5ijbdfd6ydcikpu/AGS-3.4.2-alpha3.zip/file

Common features
 - Removed font limit.

Editor
 - Fixed navigation bar settings in the Room Editor get reset when objects are added/removed/renamed.
 - Fixed characters do not get updated in the Room Editor when their StartingRoom property is changed.
 - Improved how Room zoom slider works, now supports downscale.
 - Build autocomplete table a little faster.
 - Fixed rooms not being rebuilt when running game just created from a template.

Engine
 - Fixed setting ListBox.Font did not work (regression).
 - Prevent game from crashing if there was an attempt to draw text with a non-existing font.

KNOWN ISSUES: Room Editor's navigation bar settings still get reset when you close the room.
Title: Re: AGS 3.4.2 - alpha 2 - next WIP version
Post by: Cassiebsg on 31 Jul 2018, 18:07
/me clicks download link and then runs and gives a big hug to CW!

Thanks for all the hard work. :-D
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Crimson Wizard on 31 Jul 2018, 18:08
/me clicks download link and then runs and gives a big hug to CW!

Yeah, well, better try how that works first :P... I had to change quite a lot of things in code there.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Cassiebsg on 31 Jul 2018, 18:41
Well. if it works or not is a little besides the point you still put up for the hard work. :)

The bad news is that... ermm... seems to be more broken than it was. :-[
I have opened an older project (Stable Pete) opened one of the rooms, turned on characters & objects.
I locked and hid one of the objects. I added a new object and the hidden object popped back up to being visible... :( But when looking at the list where to pick them, it still shows the object as being locked and hidden. ??? Changing the name of the object also makes the hidden object to become visible (but not the icon state it shows on the drop down menu).

Have not tested more.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Crimson Wizard on 31 Jul 2018, 20:03
I probably fixed it: http://www.mediafire.com/file/5ijbdfd6ydcikpu/AGS-3.4.2-alpha3.zip/file
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Cassiebsg on 31 Jul 2018, 21:27
Yes, looks like you did. :-D (nod)
Tested and seems to be working as expected. :-D Now it just needs to remember how we left things last time we edited the room. But currently a lot less annoying than versions 2 was. Thanks bunch! (nod)
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Crimson Wizard on 09 Aug 2018, 19:30
Test build that saves/loads room editor config:
https://www.dropbox.com/s/pxtn3kffuhod7fv/ags-3.4.2-wip5--roomedsaved.zip?dl=0

Now it saves visible/locked data in extra files called "roomXXX.crm.user" (xml format).
These files are safe to delete, and even break, Editor should simply warn about not being able to restore room state, but continue working as usual.

Please test and see if there are any problems with this.

I will be opening pull request for review soon.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Cassiebsg on 09 Aug 2018, 20:41
Will give it a test run tomorrow once I get home from work. (nod)

Thanks again, and hope I don't break it like I usually do. ;) :-[
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Neo_One on 13 Aug 2018, 15:12
AGS with PlayOnLinux works quite well, but it has a problem: if you click on Run (F5) the game doesn't start most of the time because Wine gives an error.
To be able to run it, compile it all and execute the setup and press on Save and Run.

Also, sometimes the function selector does not appear.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: morganw on 13 Aug 2018, 17:49
AGS with PlayOnLinux works quite well, but it has a problem: if you click on Run (F5) the game doesn't start most of the time because Wine gives an error.
To be able to run it, compile it all and execute the setup and press on Save and Run.
I've also seen this on WINE, and it seems the file is still being written when the engine tries to open it. I thought it didn't happen on AGS 3.4.2 builds though; which specific version are you seeing this with?

Also, sometimes the function selector does not appear.
There is also an issue the autocomplete on WINE, which I think is also related to having something in the clipboard. Is this what you mean by function selector?
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Neo_One on 13 Aug 2018, 21:06
AGS with PlayOnLinux works quite well, but it has a problem: if you click on Run (F5) the game doesn't start most of the time because Wine gives an error.
To be able to run it, compile it all and execute the setup and press on Save and Run.
I've also seen this on WINE, and it seems the file is still being written when the engine tries to open it. I thought it didn't happen on AGS 3.4.2 builds though; which specific version are you seeing this with?

Also, sometimes the function selector does not appear.
There is also an issue the autocomplete on WINE, which I think is also related to having something in the clipboard. Is this what you mean by function selector?
I am with the current stable (3.4.1). I don't know if it's the same with 3.4.2.
In the clipboard I don't have anything open, you could be that PlayOnLinux itself is the cause.

I wish I could make a native version of AGS for Linux to get rid of Windows, all the programs I use are open source and AGS is the only one that is not for Linux :_(
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: morganw on 13 Aug 2018, 21:29
I am with the current stable (3.4.1). I don't know if it's the same with 3.4.2.
In the clipboard I don't have anything open, you could be that PlayOnLinux itself is the cause.
It would be interesting to see if you had the same issue running the game with 3.4.2. I've found that the Editor's autocomplete would crash on Gnome 3, but I've never been sure that I've got WINE setup correctly.

I wish I could make a native version of AGS for Linux to get rid of Windows, all the programs I use are open source and AGS is the only one that is not for Linux :_(
Yes, me too. The editor itself will actually run, but the majority of the functionality to edit a game are currently in a library that is not cross-platform.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Neo_One on 14 Aug 2018, 15:27
I am with the current stable (3.4.1). I don't know if it's the same with 3.4.2.
In the clipboard I don't have anything open, you could be that PlayOnLinux itself is the cause.
It would be interesting to see if you had the same issue running the game with 3.4.2. I've found that the Editor's autocomplete would crash on Gnome 3, but I've never been sure that I've got WINE setup correctly.

I wish I could make a native version of AGS for Linux to get rid of Windows, all the programs I use are open source and AGS is the only one that is not for Linux :_(
Yes, me too. The editor itself will actually run, but the majority of the functionality to edit a game are currently in a library that is not cross-platform.

I tried it on Linux Mint, but PlayOnLinux failed a lot. I don't know how it will go with Debian (or another distro) and a desktop like XFCE or KDE.

I think that for the next versions of the engine they should work on multiplatform (Linux and Mac). That and pass to 64 bits the file where the sprites are stored to remove the restriction of the maximum 2GB. I suppose the core will have to be very fine-tuned, but it will be beneficial for the future.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Crimson Wizard on 17 Aug 2018, 16:21
pass to 64 bits the file where the sprites are stored to remove the restriction of the maximum 2GB.

I began working on this.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: eri0o on 19 Aug 2018, 01:23
Ok I decided to test the AGS 3.4.2. I am on Ubuntu 16.04, used Playonlinux.

The FIRST TIME I opened, I got an Error from Playonlinux/Wine, but I didn't pay attention to it. After clicking ok, the AGS Editor proceed to open normally. Now I can close and open it, and all works.

I created a project using it, I selected Default Template, and it created TWO projects with the name of my project, one called Default Game, and one called new_test_game, but both are the same project?

(https://i.imgur.com/MxmICTp.png)

Other than this I did some more testing and it appears to work. All I have to say is that I REAAAALLY like being able to see Walkable areas together with the characters. This is the greatest thing in here.

Other than this, in all ags versions I have, it doesn't build the Linux version on Wine. I thought this one would be different because you had removed the takeown thing, but somehow something else must be blocking (I don't know yet what though).

Oh yeah, I loaded and built my game successfully. I really like the new Room Editor, it's much much better, being able to hide things is great because I have lots of object that I only use when loading a room and then get rig of them.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: morganw on 19 Aug 2018, 14:04
I created a project using it, I selected Default Template, and it created TWO projects with the name of my project, one called Default Game, and one called new_test_game, but both are the same project?
It was tricky to differentiate between the recent game entries, as the data was just a collections of string (so external to a change of project name). I'm not sure how making a new project would show two entries, but potentially it could have migrated one of them from an old entry, from an older Editor version.

The comparison between entries is pretty basic, for the moment:
https://github.com/adventuregamestudio/ags/blob/master/Editor/AGS.Editor/Entities/EditorPreferences.cs#L58-L61 (https://github.com/adventuregamestudio/ags/blob/master/Editor/AGS.Editor/Entities/EditorPreferences.cs#L58-L61)

If it deduplicated by path, the correct project name needs to come from somewhere.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Cassiebsg on 19 Aug 2018, 15:37
Actually I had noticed this, but for some reason I had forgotten to mention it. :-[

It does it on windows too (Win7 anyway), in fact it not only duplicated the project names for a new game, but also for the ones that were already done. It only shows on the start window to pick a recent project, it doesn't actually duplicate the folder (unless it's duplicating it some other place other than where I save them...)
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Crimson Wizard on 19 Aug 2018, 20:45
Believe it or not, but it looks like I made support for files over 2GB.

Tested with 4.5 GB of sprites.

Test build: https://www.dropbox.com/s/a2pbghz4zsrfvl8/ags-3.4.2-wip6--64bitfiles.zip?dl=0
Source branch: https://github.com/ivan-mogilko/ags-refactoring/tree/ags3--file64updates

WARNING: this version modifies data format of some files, and you won't be able to use saved sprite file with older editor even if it's smaller than 2GB, so don't open your real project yet without a backup.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: eri0o on 19 Aug 2018, 21:46
Hey, when I modify the project, build, and exit, and click yes to save, it crashes PlayOnLinux. Weird thing is doing the same running PlayOnLinux on Debug DOESN'T crash it.

playonlinux log output (https://gist.github.com/ericoporto/e32e6af8d18c2cbb3770360de4965154)

Other than this I have no assets to test the limits of more than 2GB :-\ , so I only quickly tested for regressions...

Oh reading the log I get it why it doesn't work the Linux build, instead of just copying the files, AGS creates hardlinks - and fails. I would prefer it just copied the files over - or gave me an option somewhere to do this instead.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Crimson Wizard on 19 Aug 2018, 22:19
Other than this I have no assets to test the limits of more than 2GB :-\ , so I only quickly tested for regressions...
There is more than just 64-bit file support in this test build, compared to latest officially released one there is also room design state serialization. Is there a way to know better what causes the crash? I do not understand the log, it posts a lot of warnings there.

Oh reading the log I get it why it doesn't work the Linux build, instead of just copying the files, AGS creates hardlinks - and fails. I would prefer it just copied the files over - or gave me an option somewhere to do this instead.
Normally it should fallback to copying if hardlink fails. Again, is it possible to find out at which point in code it fails?
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: morganw on 20 Aug 2018, 09:53
Perhaps this explains what I saw, when the file was still being written whilst the engine was trying to open it. It might be the attempt to create a hardlink is triggering a copy as a fallback, but it isn't a blocking operation.
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Crimson Wizard on 20 Aug 2018, 19:27
I have a question: does anyone use this version already to make the real game?

Assuming I may change savegame format a little without assigning it a new version index, breaking saves in this WIP version, because I don't want to keep and support the previous incorrect variant, would that be a problem to anyone?
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: eri0o on 21 Aug 2018, 05:18
Hey CW, sorry, I really have no idea how to get more insightful logs from playonlinux and wine. I am sea visiting family this week, but once I get home I should probably also test on wine on Mac to see how it's working there too.

I don't know if it was clear, but on Linux the crash I got was after closing ags. Apparently nothing got corrupted, so things are fine, but if something changed on the closing of ags since previous version it would worth a look.

Also I am on 3.4.1 and will be for some time.
Title: Re: AGS 3.5.0 - alpha 4 - next WIP version
Post by: Crimson Wizard on 25 Aug 2018, 19:45
Following the previously made suggestions from the few people, this version is now called 3.5.0, and since we decided to drop WinXP support there is a strong reason for a distinct major version.

AGS 3.5.0 - Alpha 4

Zip archive: http://www.mediafire.com/file/9bqybwn6g46hcn7/AGS-3.5.0-alpha4.zip/file

Common features
 - Support for large files: single game package, sprite file, room files now may exceed 2 GB.

Editor
 - Editor requires .NET Framework 4.5 to run. Dropped Windows XP support.
 - Fixed editor preferences were saved separately for editor installed in different folders. Now they are shared between all installations of same version of AGS regardless of the program path.
 - Save room editor's design-time config (item Visible and Locked states). These settings are saved in the special roomXXX.crm.user files and loaded when you open room in the editor.
 - Removed Locked property from the Room Object, objects are now locked by the navbar.

Engine
 - SetMouseBounds() no longer crashes the game if it is called with arguments out of range, these parameters are corrected and a warning logged instead.
 - Fixed 'warnings.log' could never be created (was broken somewhere in 3.4.1 probably).


IMPORTANT WARNING: because of added >2GB file support some of the data formats were updated. Most importantly rooms and sprite file will become incompatible with previous versions of the Editor.
Also savegame format changed slightly and I dropped support for the savegames made by 3.4.2, because that version was never actually finalized. That could be get back, but only if it's really-really necessary.

Please make backups of your games before opening them in this version, and tell if something does not load up after this update (except 3.4.2 savedgames).
Title: Re: AGS 3.4.2 - alpha 3 - next WIP version
Post by: Neo_One on 27 Aug 2018, 11:52
pass to 64 bits the file where the sprites are stored to remove the restriction of the maximum 2GB.

I began working on this.
THANKS! :);-D;-D;-D;-D:-D:-D:-D:-D:-D:-D
Title: Re: AGS 3.5.0 - alpha 4 - next WIP version
Post by: SpeechCenter on 10 Sep 2018, 23:15
I recently had trouble to run the existing editor plugin with the 3.5.0 release.
The reason seems to be that all the AGS .net assemblies were changed to strong names. This is a breaking change, as the plugin compiled with an existing assembly (e.g. the plugin references AGS.Types) with a weak name is not compatible with the new one compiled with a strong name (see the following link https://stackoverflow.com/questions/15092577/weak-assembly-changed-to-strong-assembly for more details).

Is there a particular reason the assemblies now use a strong name?
Title: Re: AGS 3.5.0 - alpha 4 - next WIP version
Post by: Crimson Wizard on 13 Sep 2018, 09:12
I recently had trouble to run the existing editor plugin with the 3.5.0 release.
The reason seems to be that all the AGS .net assemblies were changed to strong names. This is a breaking change, as the plugin compiled with an existing assembly (e.g. the plugin references AGS.Types) with a weak name is not compatible with the new one compiled with a strong name (see the following link https://stackoverflow.com/questions/15092577/weak-assembly-changed-to-strong-assembly for more details).

Is there a particular reason the assemblies now use a strong name?


I moved the discussion of the strongname and settings problem to the Editor development board, because it may take some time to resolve:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=56457.0
Title: Re: AGS 3.5.0 - alpha 4 - next WIP version
Post by: Crimson Wizard on 16 Sep 2018, 22:47
A small note, the latest Alpha 4 made in August has number of mistakes that may prevent building game correctly under certain circumstances: noteably building speech.vox or audio.vox (I was actually surprised no one reported these, but guess not much people actually test this version yet).
I was going to upload an update that fixes them, but decided to wait a few days more to see if the above issue with editor plugins will resolve.
Title: Re: AGS 3.5.0 - alpha 4 - next WIP version
Post by: Monsieur OUXX on 19 Sep 2018, 10:50
Thanks a lot! :cheesy::cheesy::cheesy::cheesy:
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Crimson Wizard on 19 Sep 2018, 21:06
AGS 3.5.0 - Alpha 5

Zip archive: http://www.mediafire.com/file/51bicep52px9ilp/AGS-3.5.0-alpha5.zip/file

Has all content from AGS 3.4.1.14 (Patch 4).

Common features
 - Raised imported sprites count limit to 90000* and removed total sprite count limit (this means you may have around 2 billions of dynamic sprites).

Editor
 - (needs more testing) Fixed that existing Editor plugins could not load up with the new Editor.
 - Don't display missing games in the "recent games" list.
 - Fixed crash when deleting a room object.
 - Fixed audio.vox and speech.vox not building correctly.


KNOWN ISSUES: Editor crashes on exit. This may be same bug eri0o reported a short while ago. The crash takes place only after game is saved and window closing and seem to not make it loose any changes.

(*) Technically engine now can handle up to 2 billion of sprites, but there is certain problem that makes non-trivial to allow user to set very large custom index to sprite (for example, have sprites number 1,2,3,4 and then 1000000). For the time being I found compromise in increasing the limit of imported sprites to some reasonable number (still 3 times higher than before). FYI the details of this problem are explained here: https://github.com/adventuregamestudio/ags/pull/499
The total number of sprites (imported + dynamic sprites) are now limited only by number stored in 32-bit signed integer (over 2 billion).
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: SpeechCenter on 22 Sep 2018, 02:32
Thanks for taking care of the plugin probllem so quickly. I'll test this next week, based on the other thread, I believe the devised solution would work.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: SpeechCenter on 27 Sep 2018, 14:39
Just got around to test it with the latest plugin and it works.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: morganw on 27 Sep 2018, 19:34
Thanks for testing!
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Vikram Vicky on 30 Sep 2018, 14:12
Hello Everyone,

I'm new to AGS and I'm having an error while trying to use two or more backgrounds in the same room (AGS 3.5.0 alpha5).

1) Create a new game
2) Import two or more background in the same room
3) press f5
https://ibb.co/dapQde

4) background can be removed after the error but if the editor is restarted then....
5) press f5
https://ibb.co/dapQde
6) edit room
https://ibb.co/kX2Lde
7) press close
https://ibb.co/kd7gjK



Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Crimson Wizard on 30 Sep 2018, 14:44
Hello, Vikram Vicky. I can actually see same error, this means that multiple backgrounds are broken in 3.5.0 WIP version.

Since you are only starting making new game I recommend using latest stable version instead for now, which is AGS 3.4.1:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=56452.0
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Vikram Vicky on 30 Sep 2018, 15:38
Thank you, Crimson Wizard.
Is there any way to convert text editor of AGS 3.4.1 dark because I can convert AGS 3.4.1 to dark except the text editor...
https://ibb.co/gk3qTe ( AGS 3.4.1 dark using windows color scheme)

The only solution I can think of is using AGS 3.5.0 for coding only and copying that code in AGS 3.4.1.
What do you think? Is there a better way because I need code completion etc etc etc...
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Crimson Wizard on 30 Sep 2018, 15:54
Alright, I'll try to release the fixed version today.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Vikram Vicky on 30 Sep 2018, 15:58
Awesome!!!
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Crimson Wizard on 30 Sep 2018, 17:32
This is a (supposedly) fixed editor, you only need to copy files over the 3.5.0:
https://www.dropbox.com/s/08meilogunyyasn/AGS-3.5.0-alpha5--fix.zip?dl=0

There will be proper release post later, in few days perhaps.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Vikram Vicky on 30 Sep 2018, 18:12
Thanks a lot, Crimson Wizard.
It's really the greatest welcome someone can get, multiple backgrounds are running smooth.
I was downloading your game when I saw your message.
Thanks again.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: proximity on 15 Oct 2018, 01:27
90k imported sprites and more than 2 GB files? Wow! That was my dream and I knew it that one day my dream would become reality. If I make a new game, I will definitely import more than 30k sprites. Thanks a lot, Crimson.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: cdavenport on 18 Oct 2018, 16:59
Is there an installer for 3.5.0 and is it stable enough to begin using for development, I'm approaching the limits of 3.4.1 2GB cap and I've been looking forward to moving over to this to continue development?
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: Crimson Wizard on 19 Oct 2018, 21:34
Is there an installer for 3.5.0 and is it stable enough to begin using for development, I'm approaching the limits of 3.4.1 2GB cap and I've been looking forward to moving over to this to continue development?

I haven't made an installer yet, there's only zip archive (linked in the first post), which contents should be enough to run the editor and build Windows version of the game. I may add Linux component and/or Android APK for download if there's demand.

Frankly I do not know how stable it is. I do not make any games with it myself, and have spare time to only test newest added functions, so at most times rely on people's feedback to know if there are any problems. Earlier there were some serious bugs when the room editor got updated, which I fixed, but I haven't heard anything specific from users in the last couple of months.

Most important thing is that this version is still in active development. IDK about other contributors, but I personally have at least two big features planned before final release. Because of that each new update will have a chance to break something. I am ready to fix errors as soon as they are noticed, but since some changes may potentially break game project (making it unusable) my STRONGEST ADVISE is to make a full backup of your game whenever you install a new update of this WIP version.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 20 Oct 2018, 15:55
AGS 3.5.0 - Alpha 6

This is a big update to GUI properties, both in the editor and script.

WARNING: makes changes to the game source format, please make a backup of your important game project before using this update!


Zip archive: http://www.mediafire.com/file/31534tckncjped5/AGS-3.5.0-alpha6.zip/file

Has all content from AGS 3.4.1.15 (Patch 4).

Common features
 - Removed length limit on the Button and TextBox text.

Editor
 - Split GUI's Visibility property into PopupStyle and Visible properties.
   NOTE: so instead of selecting "Normal GUI, initially on" and "initally off" you now choose "Normal GUI" then set Visible to whatever you need.
 - Added Clickable, Enabled and Visible properties to GUI Controls.
 - Fixed writing room with multiple backgrounds (regression).

Script API
 - 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.
   NOTE: Alignment and HorizontalAlignment values are fully compatible, in the sense that you may use either. HorizontalAlignment is made mostly in sake of convenient autocomplete and backwards compatibility.
 - Added new script class TextWindowGUI, which extends GUI class and is meant to access text-window specific properties: TextColor and TextPadding.
   NOTE: you get TextWindowGUI* pointer using GUI.AsTextWindow property (this works similar to GUIControl.AsButton etc).
 - 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.

Engine:
 - Removed restriction preventing GUIs to be larger than the game's screen.
 - 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.

Linux:
 - Fixes Linux game launch script (fixes issues with itch.io client).



KNOWN ISSUES: Editor crashes on exit. This may be same bug eri0o reported a short while ago. The crash takes place only after game is saved and window closing and seem to not make it loose any changes.
Unfortunately, I forgot to investigate this issue, will try to do soon.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: morganw on 21 Oct 2018, 15:29
IDK about other contributors, but I personally have at least two big features planned before final release

Personally, I only want to look at improving tiled sprite import (just the interface, as someone opened a ticket for it).
If you wanted to make a to-do list for release, it would be useful, to check for any overlap.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 21 Oct 2018, 16:07
If you wanted to make a to-do list for release, it would be useful, to check for any overlap.

Right, we may use the "Milestone" tag in github issues, I've just created the "3.5.0" milestone that may be assigned to tickets.
Title: Re: AGS 3.5.0 - alpha 5 - next WIP version
Post by: cdavenport on 21 Oct 2018, 17:28
Is there an installer for 3.5.0 and is it stable enough to begin using for development, I'm approaching the limits of 3.4.1 2GB cap and I've been looking forward to moving over to this to continue development?

Most important thing is that this version is still in active development. IDK about other contributors, but I personally have at least two big features planned before final release. Because of that each new update will have a chance to break something. I am ready to fix errors as soon as they are noticed, but since some changes may potentially break game project (making it unusable) my STRONGEST ADVISE is to make a full backup of your game whenever you install a new update of this WIP version.

Thanks Crimson Wizard I can't think of any bigger feature for AGS to improve on besides allowing users to make bigger games but excited to see how it evolves and begin using it. :)
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: morganw on 21 Oct 2018, 22:55
Right, we may use the "Milestone" tag in github issues, I've just created the "3.5.0" milestone that may be assigned to tickets.
Okay, I've added mine. If anyone wants to see the list, it is here (https://github.com/adventuregamestudio/ags/milestone/3).
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Jack on 22 Oct 2018, 12:36
Hello AGS dev team.

First I want to say that you guys have been doing great work, and while I never took the time to really say it, I am very appreciative of the work you have been doing, especially the ones who kept the project going for years when no one was paying attention.

I have a question about this version, which represents the future of AGS. The editor now cannot be run without the latest .NET patch, and we have lost support for an entire OS to have this privilege. Unless these parts are rewritten for future ports, it means these ports would have to be compatible with .NET, having to use something like mono. Is this new direction in the roadmap for the future of AGS? As you know there is monoAGS (AGS.NET) which is completely reliant on Microsoft frameworks. Is this the future of AGS too?
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 22 Oct 2018, 13:18
The editor now cannot be run without the latest .NET patch, and we have lost support for an entire OS to have this privilege. Unless these parts are rewritten for future ports, it means these ports would have to be compatible with .NET, having to use something like mono. Is this new direction in the roadmap for the future of AGS?

Are you speaking of editor ports (do they exist or are planned?). (Engine nor engine ports never required .NET, and still do not.)
I don't think there is anything new in this direction, developers were continiously talking about porting Editor to Mono years before, so I guess this is where we were aiming at, although the progress was slow.
But neither game source format nor compiled game data have links to .NET, so in theory it's possible to write a program without .NET that would work with exactly same game sources and compile exactly same games.

As you know there is monoAGS (AGS.NET) which is completely reliant on Microsoft frameworks. Is this the future of AGS too?

Hmm, I do not know how to answer this question, not sure what do you imply with it. MonoAGS is completely different program with no relevance to original AGS except for some gameplay concepts. I guess it will develop on its own in the way tzachs wants. Whether it will succeed old AGS and fully replace it depends mostly on what this community will want.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Monsieur OUXX on 22 Oct 2018, 13:59
Could someone direct me to discussions regarding the new pathfinder? Who has tried it? Has anyone witnessed enhancements? If so, in which specific cases? I know I have small pathfinding issues in some specific rooms of my game and I'm curious if I might fall in the scenarios where there is improvement, or what I should change in my end to fix the issues.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 22 Oct 2018, 14:09
Could someone direct me to discussions regarding the new pathfinder? Who has tried it? Has anyone witnessed enhancements? If so, in which specific cases? I know I have small pathfinding issues in some specific rooms of my game and I'm curious if I might fall in the scenarios where there is improvement, or what I should change in my end to fix the issues.

Here's a discussion, which includes test results: https://github.com/adventuregamestudio/ags/pull/438, and specifically here (https://github.com/adventuregamestudio/ags/pull/438#issuecomment-379552909) I did several tests with unusual walkable areas.

Note that I've found a serious bug recently: https://github.com/adventuregamestudio/ags/issues/523
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: bx83 on 01 Nov 2018, 09:49
Okay I've tried the editor - incredibly easy and fast, very useuful for viewing several layers at once, exceptional :)

However, I have a suggestion for 'export' function for hotspot/walkbehind/whatever/etc; it's 90% the way there.

I'm trying to convert hotspots/walkable area masks etc. to a new size screen.
My old background was 1024x768; my new background is 1366x768 (this is the 16:9 ratio screen of the old 1024 5:4 size).
The transparent map that the .bmp (or some other format) I'm saving in is not the screen size; instead, it's edges are defined by the limits of the walkbehind/whatever
So all exported resources come out a different size, and also, a different proportion... :/ (position is for my purposes, not important).
When I open them in paint.net, and alter canvas size to be the dimensions of the screen, the eg. hotspot ends up being a different position on-screen (and different proportions).

I don't understand how the proportion problem could have happened; I only increased canvas size, not changed image size.

See my photos for proof:
the widescreen version with too-small hotspot (http://redrom.ltd/img/1366wide.gif)
the original size and hotspot (http://redrom.ltd/img/1024wide.gif)

A simple solution would be to print all hotspots/walkable area/etc. on to one image, that's the size of the screen it came from; and somehow, the correct proportions.

Note: I have only used .bmp images.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 01 Nov 2018, 10:33
My old background was 1024x768; my new background is 1366x768 (this is the 16:9 ratio screen of the old 1024 5:4 size).
The transparent map that the .bmp (or some other format) I'm saving in is not the screen size; instead, it's edges are defined by the limits of the walkbehind/whatever
So all exported resources come out a different size, and also, a different proportion... :/ (position is for my purposes, not important).

The purpose of the export operation is to print the actual bitmap as it is stored in the room you export from. It is only wrong if the result does not match the room it is exported from. In other words, for the test you should be able to import the same mask back into the same room and keep the original looks.

Then, if I got it correctly, you are exporting masks from the rooms which had one resolution and then trying to import them into the new rooms that have different resolution (with also different aspect ratio). Is it so, or something else?
If that's the case, correcting proportions is not what the export operation should do, but rather import operation. Because at the time of export the program has no idea what are you going to do with these images (and should not -- that's not its concern to know that).

BTW, you keep saying "screen size", do you actually mean game resolution? I was pretty confused by this earlier.


So all exported resources come out a different size, and also, a different proportion... :/ (position is for my purposes, not important).
When I open them in paint.net, and alter canvas size to be the dimensions of the screen, the eg. hotspot ends up being a different position on-screen (and different proportions).

I don't understand how the proportion problem could have happened; I only increased canvas size, not changed image size.

If you have imported the masks from the 1024x768 room into 1366x768 room without modifying the image size, then it is only logical that proportions do not match the proportions of the background picture. You'd probably need to change mask size, stretching the proportions. But, that really depends on how much your backgrounds have changed. If they are like 1:1 only with different proportions, then stretching original mask should work; maybe will require a bit of adjustment by hand to correct loose pixels.

Could you upload some room (*.crm file) you do export from for me to test it out? Actually - both rooms, a pair of old and new ones.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: proximity on 03 Nov 2018, 17:35
Crimson, I've been tampering 3.5.0 alpha 5 and I have a problem. How do we draw any line or fill the area in the room editor? Nothing seems to work.  I can draw a filled rectangle but it renders the rectangle too away from my click point.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 03 Nov 2018, 17:59
Crimson, I've been tampering 3.5.0 alpha 5 and I have a problem. How do we draw any line or fill the area in the room editor? Nothing seems to work.  I can draw a filled rectangle but it renders the rectangle too away from my click point.

Nothing has changed in regards to the mask drawing. The room zooming/scrolling code has changed, but I've just tested this in a random game and painting works.
Could you give more details of what you do? What's your game resolution, room size, do you use room zoom? what kind of mask mode are you in and what is the area ID?
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: proximity on 03 Nov 2018, 18:09
I've just tried it with patch 6 and the result is the same. There is a huge offset between clicking point and drawing point. Offset amount is like a half of the screen. Drawing tools are broken for walkable areas and regions and hotspots. Walk behinds work properly.

Test resolution : 1920*1080
Room resolution : 1920*1080
Tried with zoom : 100%
Broken modes : Walkable areas, regions. hotspots (ID 1,2,3)
Working modes : Walk behinds
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: proximity on 03 Nov 2018, 18:23
Check this image. The blue line on the roof is mouse position and the other lines below are actual drawn lines. There is a huge gap between them.

https://ibb.co/ct02YL
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 03 Nov 2018, 18:50
Yes, this is technically because in hires games all masks except Walk behinds are 2 times smaller than the room size (has 2 times less resolution/precision).
Probably the coordinate conversion is broken at some point, I am looking into this now.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: proximity on 03 Nov 2018, 19:39
Understood. I can test it after fix if you need me.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: Crimson Wizard on 04 Nov 2018, 00:28
Understood. I can test it after fix if you need me.

Please try following build (copy over latest 3.5.0 installation):
https://www.dropbox.com/s/zune9gln285sozt/AGSEditor-3.5.0.2--roompaintfix.zip?dl=0

There is also one strange issue I noticed, when the editor's scroll position is not 0, the rectangles you paint end up shifted by 1 pixel right/down. Not yet sure if this was also caused by recent changes in this version. This may also be related to coordinate rounding.
Title: Re: AGS 3.5.0 - alpha 6 - next WIP version
Post by: proximity on 04 Nov 2018, 10:11
I pasted them to both patch 5 and patch 6. All drawing tools work now. Rectangle tool draws to 1 pixel right-down as you said. I think you should update these files on patch 6. Thanks for quick update :)
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: Crimson Wizard on 05 Nov 2018, 09:46
AGS 3.5.0 - Alpha 7

This is a very small bug-fixing update, mainly  to counter recently found problems with the room editor.

Zip archive: http://www.mediafire.com/file/b0sa0425evh77p2/AGS-3.5.0-alpha7.zip/file

Editor:
- Fixed same game appeared multiple times in the "Recent games" list if the game's title was changed (regression).
- Fixed room masks drawing in the high-resolution games (regression).
- Fixed drawing operations on the room masks were sometimes off by 1 pixel (regression).

Engine:
- Made engine fallback to defaults if config contains invalid game scaling setting.
- Fixed crash in the Software renderer which was occuring when any other renderers are tried prior to Software one but failed to initialize for any reason.



KNOWN ISSUES:
- Editor crashes on exit. The crash takes place only after game is saved and window closing and seem to not make it loose any changes.
- New pathfinder crashes when the destination lies outside of the room: https://github.com/adventuregamestudio/ags/issues/523
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: proximity on 12 Nov 2018, 22:53
Hello Crimson. There are serious problems with the engine:

* The Room pane gets broken over time and you can't access it, and it's too slow, nearly uneditable.
* Object or character images on the room seem bigger than original size, like two times bigger.(in the editor).
* GetWalkableAreaAt script command doesn't work anymore. The engine knows the player is on a walkable area but doesn't execute the command.
* Character.Frame property also seems broken. Whatever the character frame is, the engine thinks it is always true.
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: Crimson Wizard on 12 Nov 2018, 23:14
* The Room pane gets broken over time and you can't access it,
Can you give any details?

and it's too slow, nearly uneditable.
Is this related to the zooming? (it's still may not be optimised for high-resolution games)

* GetWalkableAreaAt script command doesn't work anymore. The engine knows the player is on a walkable area but doesn't execute the command.
Only to make sure, are you passing screen coordinates or room coordinates in there?

* Character.Frame property also seems broken. Whatever the character frame is, the engine thinks it is always true.
Not sure what you mean here? Character.Frame is integer, so its always "true" (in boolean sense) if its above 0. How do you use it?
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: proximity on 13 Nov 2018, 12:43
Okay. Here are details :

* The Room pane on the top of the window gets unselectable over some time. When you select it, nothing happens. Just a window frame that represents the Room window and its inside is blank, or not blank really, its inside is the screen of the last window you visited. It's like an error from Windows 98 era. Do you visualize what I described? If not, I can take a screenshot.

* It's not related to zooming because I tried it with 100% zoom. It's much slower than 3.4.1.

* GetWalkableAreaAt I just migrated my test project from 3.4.1 to 3.5.0 and it was working on 3.4.1. Coordinates are player.x and player.y. I think they are room coordinates?

* I can explain it with an easy example :
Code: Adventure Game Studio
  1. if (cChar.Frame == 35) {
  2. cChar.ChangeView(X);
  3. }

In this simple code, the engine doesn't wait to change the view till the frame number 35. Instead, It changes the view immediately. Whatever the the actual frame number is, the engine thinks It's 35 and executes the command. And believe me, I know what I'm doing :) I didn't test every single script command. There may be more broken scripts like Character.Frame and GetWalkableAreaAt.
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: Crimson Wizard on 13 Nov 2018, 13:53
* GetWalkableAreaAt I just migrated my test project from 3.4.1 to 3.5.0 and it was working on 3.4.1. Coordinates are player.x and player.y. I think they are room coordinates?

According to the manual, GetWalkableAreaAt requires screen coordinates, so in scrolling room it will require adjustment with GetViewportX()/Y().
I will test that myself soon though, I recall we had some problem with detecting walkable areas (although that could have been another version).

* I can explain it with an easy example :
Code: Adventure Game Studio
  1. if (cChar.Frame == 35) {
  2. cChar.ChangeView(X);
  3. }

In this simple code, the engine doesn't wait to change the view till the frame number 35. Instead, It changes the view immediately. Whatever the the actual frame number is, the engine thinks It's 35 and executes the command.

But that's technically impossible if only Character.Frame is not working, it's about how "==" operator is working then, because Character.Frame itself cannot know what number you are comparing to. Either things are completely messed up in the engine, or there is something else in the script that affects that.
Could you for example log the current frame value somewhere, like print on a GUI label and see how it changes?
EDIT: I did a very simple test, which looks like this:
Code: Adventure Game Studio
  1. function repeatedly_execute_always() {
  2.   lblScore.Text = String.Format("Frame: %d", player.Frame);
  3.   if (player.Frame == 6)
  4.   {
  5.     lblScore.Text = lblScore.Text.Append("+");
  6.   }
  7. }
  8.  
This prints character's frame value on label, and adds "+" only if it's particular frame.
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: proximity on 13 Nov 2018, 14:53
Of course, I will check the frames with label to see If they are right and share the results. May be other things cause this. Did you change something in the global script page? I don't have deep knowledge but I feel something is not right about scripting.
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: proximity on 13 Nov 2018, 15:26
I checked the frames with GUI label and everything looks normal. Probably I messed something in repeatedly_execute. So forget about Char.Frame :smiley:
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: Crimson Wizard on 16 Nov 2018, 14:39
In theory there is only one big feature (http://www.adventuregamestudio.co.uk/forums/index.php?topic=56565.0) left for me to complete, so I will hopefully find more spare time soon and begin fixing all the reported problems.
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: Crimson Wizard on 03 Dec 2018, 17:53
Hello Crimson. There are serious problems with the engine:

* Object or character images on the room seem bigger than original size, like two times bigger.(in the editor).

I am trying to replicate this now, and it does not seem to happen to me.

Does this still happen to you? Can you tell more details about this, like -
- what is the size of the room;
- what is the actual size of character or object sprite;
- if you choose sprite, what is "Resolution" field sais in its properties?
- do you have any walkable areas with scaling in the room?
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: proximity on 07 Dec 2018, 21:15
Hello Crimson. There are serious problems with the engine:

* Object or character images on the room seem bigger than original size, like two times bigger.(in the editor).

I am trying to replicate this now, and it does not seem to happen to me.

Does this still happen to you? Can you tell more details about this, like -
- what is the size of the room;
- what is the actual size of character or object sprite;
- if you choose sprite, what is "Resolution" field sais in its properties?
- do you have any walkable areas with scaling in the room?

Sorry for the late response. The bug occured when I first create an object or a character in a room. After closing and reloading the project, the sprites look normal now. I tried small and big sprites. The room is a wide scrolling room, 13000*1080. Sprites are all "high" resolution on the properties. Walkable area scaling is 70% but the characters and objects don't stand on it.
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: cdavenport on 08 Dec 2018, 12:42
Hello Crimson. There are serious problems with the engine:

* Object or character images on the room seem bigger than original size, like two times bigger.(in the editor).

I am trying to replicate this now, and it does not seem to happen to me.

Does this still happen to you? Can you tell more details about this, like -
- what is the size of the room;
- what is the actual size of character or object sprite;
- if you choose sprite, what is "Resolution" field sais in its properties?
- do you have any walkable areas with scaling in the room?

This just happened to me too, yesterday I began working with my game in the new engine and this morning in one of the rooms the objects and Characters were showing two-or-more sizes bigger than they were created at, in the room editor pane. I took a screenshot but I don't have a different site to host it on yet so I can link it up here. It seemed to occur after I imported a bunch of sprites to create an object animation, and deleted some old ones, then running the game to test it. I think it occurred after I ran the game, and when I went back to the editor, somehow the sprites were showing in the editor enlarged like they do when you run the game and it scales them up. I checked other rooms, and the objects, ect. in those too were two to three times bigger in the editing pane as well. Then I exited, and restarted the engine and everything went back to normal for the time being.

May game's resolution is 640x360 and I've begun using the latest AGS 3.5.0 which I got from the first page in this thread.

UPDATE: It was working fine after restarting, but after I began fiddling around by moving Objects and Characters around on screen (changing X,Y, coordinates to position them here and there) and testing the game repeatedly, it happened again and now all the objects and characters are enlarged two to three times again in the editor pane making it impossible to work on.

UPDATE 12-11-2018: This bug happens consistently for me, after I import some sprites, assign them a view, and then place an object in a room using the sprites I just imported, when I return to the room editor most of the time everything is blown up in size against the background, as in previous posts. Saving the game and then restarting the engine fixes it until I have to do those steps again. It doesn't seem to happen every single time I do those steps, but quite often.

My room sizes are 640x360. The size of the object or sprite is always different, depending on what I import. Resolution of sprites is High (above 320x240). All of my rooms have Walkable areas with different scaling factors.
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: Crimson Wizard on 17 Dec 2018, 17:09
Hmm, so I was trying to reproduce this object scaling bug you were talking about, and so far the only time I was able to get anything similar was when I zoomed out room very far, then small objects were scaling down at first but after certain zoom threshold they became larger instead. Idk if it's the same situation as you had but hopefully there is something common there. I will investigate this now, as well as the slowdown problem.

UPD: I've fixed few errors I found so far, and will be preparing new update soon, it will contain some major stuff...
Title: Re: AGS 3.5.0 - alpha 7 - next WIP version
Post by: cdavenport on 17 Dec 2018, 21:57
Hmm, so I was trying to reproduce this object scaling bug you were talking about, and so far the only time I was able to get anything similar was when I zoomed out room very far, then small objects were scaling down at first but after certain zoom threshold they became larger instead. Idk if it's the same situation as you had but hopefully there is something common there. I will investigate this now, as well as the slowdown problem.

For me, the object scaling issue always occurs after importing new sprites and assigning them a view. Most of the time the sprites are large, and there's a large number of them (up to 100 at times). Whenever I do that, I have to close and restart to be able to continue to work. I log hours daily working on the engine and this is the only issue that's come up from me.
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: Crimson Wizard on 17 Dec 2018, 23:48
I am still looking into this scaling bug reported above, but there are two major features completed recently, and we needed to post a new update to let people test them.



AGS 3.5.0 - Alpha 8

This update include two new major features:

1) New revamped sprite import dialog. We would really like to have a feedback on this.
2) Custom room viewport & camera script commands that let you configure position and scaling of your room on game screen.


Zip archive: http://www.mediafire.com/file/6bak3fncw1dg3ef/AGS-3.5.0-alpha8.zip/file


Editor:
- Game and room templates are now by default saved in AppData/Local/AGS folder. Editor finds them in both program folder and AppData.
- New revamped sprite import window.
- Sprites that were created using tiled import can now be properly reimported from source.
- Allow room size to be smaller than the game's resolution.
- Fixed wrong game may be loaded from Recent Games list if one of them was deleted in the past.
- Fixed crash when creating room template after doing full game rebuild or just after creating new game.
- Fixed room editor working very slow after new zooming slider was introduced (should be about as fast as before now).
- Fixed room sprites did not draw scaled down with zoom < 100%.
- Fixed GUI or Room editors sometimes allowed to scroll beyond necessary limits.
- Fixed translations were not available for the test run if game was not fully rebuilt yet.
- Fixed Windows Explorer was sometimes locking the game files during compilation.
- (Probably) fixed crash on Editor shutdown.

ScriptAPI:
- Implemented Viewport and Camera script classes which control how room is displayed on screen.
- Added properties Game.AutoSizeViewportOnRoomLoad, Game.RoomViewport, Room.Camera.

Engine:
- Fixed new pathfinder was crashing if target location lies beyond room borders.
- Fixed old-style string functions like StrCopy could crash the game if user managed object's member is passed as an argument into them.
- Fixed 8-bit sprites could have broken colours if game is run using Direct3D or OpenGL.
- Fixed broken colours during fade-in and fade-out in 16-bit games.



KNOWN ISSUES:
- Some weird sprite scaling bug in the room editor, described in the posts above. According to user reports it may be fixed by restarting the editor.




How to use room viewport commands in script.

This requires proper documentation, but for a short explanation:

Viewport is a place on screen where room is drawn, defined in game coordinates (e.g. 0,0 - 320x200).
Camera is a place in room which is being drawn. Camera size may be determined in two ways:
a) explicitly setting Width and Height, which tells actual rectangle in the room;
b) setting ScaleX and ScaleY properties to automatically adjust displayed room relative to the viewport's size.
For example, if you set ScaleX/Y to 2.0, then room will appear zoomed in twice as large as the viewport's size. If you set ScaleX/Y to 0.5, it will appear twice as small (zoomed out).
NOTE: you cannot set camera size larger than the room's background.

To access viewport and camera use new properties: Game.RoomViewport and Room.Camera.
Game.AutoSizeViewportOnLoad boolean value turns automatic viewport adjustment on room load. It is ON by default which corresponds to normal room view you are used to.

Old viewport functions are now deprecated, they may still be enabled if you set "Script compatibility level" to v3.4.1 or lower.
Here's correspondence between old and new functions:

* SetViewport(x, y); ===> Room.Camera.X = x; Room.Camera.Y = y; Room.Camera.AutoTracking = false;
* ReleaseViewport(); ===> Room.Camera.AutoTracking = true;
* GetViewportX(); ===> Room.Camera.X;
* GetViewportY(); ===> Room.Camera.Y;

Basically, as you may see, what was known as "viewport" earlier is now called "camera", and "new viewport" is something that was never supported before.
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: Crimson Wizard on 20 Dec 2018, 01:31
Something I just realized, although the sprite limit was raised, room objects save the sprite index as 16-bit value which means you cannot assign anything above 32767 to them. This would need an extra fix.
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: eri0o on 22 Dec 2018, 14:22
I am testing on wine the new sprite import. It feels easier, and apparently works! I like I can by default import a ton of sprites at the same time! This is cool!!!

I like the new progress bar addition, I think previously AGS just stood there unresponsive, in a folder with too many sprites, this is nice.

On the tiled sprite import, one minor thing, it loads with a number in x,y position, I think the default should be 0,0 (imagining I have a single sheet png, with each images of the same size).

The is an option to copy a sprite to the clipboard on the sprite navigator, I don't know if that was there before, but when I click, it does nothing.

Feature requests for the sprite GUI!:

- I have Aseprite triggering as my external editor, and it opens lightning fast, but a way to view and zoom a imported sprite, in AGS, would be cool.
- sprite GUI, has all things available through the right click on white space, adding a small bar on top of the GUI, with the same functions, would easier. I prefer inside the tab instead of the main toolbar like the rest of AGS, but both would work - one favor low resolution monitor and the other bigger resolution monitors.
- totally new feature: import folder -> would import a folder with pngs, and if a folder with png is inside that folder, recreate the folder structure inside AGS. I think is unneeded as project normally evolve slowly but could enable really fast use of ready made graphics from graphic asset packages.

____

Script Compatibility seem kinda broken since BASS template doesn't work anymore.
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: morganw on 22 Dec 2018, 15:29
Thank you for testing this, eri0o.

I like the new progress bar addition, I think previously AGS just stood there unresponsive, in a folder with too many sprites, this is nice.
To be honest, it was more a debug tool that was left in. It turns out that majority time whilst the Editor was in hung state was spent modifying the GUI control in a loop, and nothing to do with the import actions at all. This should be fixed now, so you should see a massive performance increase as well as the progress bar.

On the tiled sprite import, one minor thing, it loads with a number in x,y position, I think the default should be 0,0 (imagining I have a single sheet png, with each images of the same size).
I think you are right, and just leaving it on 0,0 makes more sense in practice. I'll change it.

The is an option to copy a sprite to the clipboard on the sprite navigator, I don't know if that was there before, but when I click, it does nothing.
I don't think this was modified, but it doesn't seem to work for me either, so I'll have a look.

Feature requests for the sprite GUI!:

- I have Aseprite triggering as my external editor, and it opens lightning fast, but a way to view and zoom a imported sprite, in AGS, would be cool.
- sprite GUI, has all things available through the right click on white space, adding a small bar on top of the GUI, with the same functions, would easier. I prefer inside the tab instead of the main toolbar like the rest of AGS, but both would work - one favor low resolution monitor and the other bigger resolution monitors.
- totally new feature: import folder -> would import a folder with pngs, and if a folder with png is inside that folder, recreate the folder structure inside AGS. I think is unneeded as project normally evolve slowly but could enable really fast use of ready made graphics from graphic asset packages.
Personally, I'm still aiming for just having sprites on the disk, and 'importing' is just defining the import options for each image. So I would hope that the final result would just be a 'project browser' instead of a 'sprite manager', and you could choose some action on any type of file or folder, or hand-off to any external program. I think the toolbar has a lot of issues anyway, in that things magically appear there depending on what you are editing (since they also include the paint controls), and it contains functions that aren't available in any other place (probably makes sense for choosing a paint brush, but not for mask import/export).

Script Compatibility seem kinda broken since BASS template doesn't work anymore.
I tried the one in the archive and it seemed to work. If it was an error for 'ProcessClick' it could have been an older copy of the template that hadn't had the fixes made. I think the plan is to release the final version of 3.5 with the templates from here (https://github.com/adventuregamestudio/ags-template-source).
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: Crimson Wizard on 22 Dec 2018, 16:12
Script Compatibility seem kinda broken since BASS template doesn't work anymore.

Script compatibility is controlled by two switches in the General Settings called "Script API version" and "Script compatibility level". What were they set to and what were the errors?
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: eri0o on 22 Dec 2018, 16:38
It complained of SetViewport something, but maybe, I had some code from the first iteration of the camera functions. I will try a clean project later.
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: Crimson Wizard on 22 Dec 2018, 19:00
It complained of SetViewport something, but maybe, I had some code from the first iteration of the camera functions. I will try a clean project later.

SetViewport is a standard AGS function, which is now deprecated. I warned about this in my recent release post: http://www.adventuregamestudio.co.uk/forums/index.php?topic=55829.msg636599086#msg636599086

You may get it back by setting script compat level to 3.4.1.

PS. By the way, I have a thought about changing it slightly once more time in the next update (have Game.RoomViewport moved to something like Screen class).
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: ArsCreativa on 24 Dec 2018, 06:41
As info that might be useful, I'm testing alpha 8 with my game. I have changed the first "GetViewportX()" the compiler finds for "Room.Camera.X" (which is located in the Tween module), and then I get this message:
"must have an instance of the struct to access a non-static member".
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: Crimson Wizard on 24 Dec 2018, 10:19
As info that might be useful, I'm testing alpha 8 with my game. I have changed the first "GetViewportX()" the compiler finds for "Room.Camera.X" (which is located in the Tween module), and then I get this message:
"must have an instance of the struct to access a non-static member".

This is true, AGS has a bug that it cannot correctly parse long sequence of "x.x.x" if the second x is a static attribute or function. This is irritating and I am planning to look into fixing this if possible. If not, maybe I even move camera and viewport and make them global variables as a last resort.

For the moment workarounds is:
Code: Adventure Game Studio
  1. Camera *c = Room.Camera; something = c.X;
It's possible to write new version of "GetViewportX":
Code: Adventure Game Studio
  1. int GetCameraX() { Camera *c = Room.Camera; return c.X; }
  2.  


Also I am planning on adding few extra functions to camera and viewport which will speed up typing most common commands, like setting X&Y position at once.
Title: Re: AGS 3.5.0 - alpha 8 - next WIP version
Post by: eri0o on 25 Dec 2018, 15:44
moved camera questions here (http://www.adventuregamestudio.co.uk/forums/index.php?topic=56565.msg636599439#msg636599439)

@morganw , the new tiled import GUI is amazing, did the below characters import to view in less then 10 min (find sprite in open game art, import sprite, view, assign view to characters), before importing tiled was a real pain.

Spoiler: ShowHide
(https://i.imgur.com/Vi5EPJw.png)

(https://i.imgur.com/NT3hPWv.png)
Title: Re: AGS 3.5.0 - alpha 9 - next WIP version
Post by: Crimson Wizard on 08 Jan 2019, 16:39
AGS 3.5.0 - Alpha 9

WARNING: there was a major internal modification to the Rooms code. Although I did a lot of testing with existing games and created ones for the test to make sure that everything is working like before, still please make a full backup of your project before upgrading to this version and report if you notice anything wrong with how your rooms are saved and loaded in the editor and run within the game.

WARNING 2: There was a change to recently added Viewports & Cameras script API, with some of the properties REMOVED and some moved to other struct and/or renamed. Keep in mind that you might have to edit your scripts once again. I apologize for this inconvenience.


Zip archive: http://www.mediafire.com/file/xnwsm03opg0g10t/AGS-3.5.0-alpha9.zip/file


Changes since 3.5.0 alpha 8:


Editor:
- Improvements and fixes to the new sprite import dialog. Allowed to drag the tile selection in the up-left direction.
- Added context menu command to open sprite's source file location.
- New sprite export dialog that lets you configure some export preferences, including remapping sprite source paths.
- Display audio clip length on the preview pane without starting playback.
- Fixed room mask export was saving masks as 8-bit PNGs instead of indexed bitmaps (which made them impossible to import back to the room as-is).
- 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 Debug build failed if no Compiled/Windows folder exists (regression).

Script API:
- REMOVED ScaleX and ScaleY properties from Camera.
- Introduced new managed struct Point describing (x,y) coordinates.
- Implemented new Screen struct featuring static Width and Height properties and ScreenToRoomPoint() function.
- Moved AutoSizeViewportOnRoomLoad and Viewport from Game to Screen struct.
- Deprecated System.ScreenWidth, ScreenHeight, ViewportWidth and ViewportHeight in favor of Screen.Width/Height and Viewport.
- Added new functions to Viewport struct: GetAtScreenXY(), SetPosition(), ScreenToRoomPoint(), RoomToScreenPoint().
- Added new functions to Camera struct: SetAt() and SetSize().

Engine:
- Fixed graphic artifacts looking like thin vertical lines around sprites when running OpenGL renderer (aka "texel leaking").
- Fixed a new crash issue with the legacy InventoryScreen() command (appeared in somewhere around 3.4.1).
- Fixed some compilers (e.g. gcc 6.0 on Linux) could instigate a crash in the on_event callback with no loaded room.
- Fixed screen-to-room conversion not updated if viewport's location was changed but size remained the same.
- Fixed software renderer working with 16-bit rooms (regression).
- Fixed Debug(2) and Debug(5) overlays not drawn correctly in custom room viewports (regression).
- Fixed overlays that were positioned relative to the room not displayed correctly (regression).
- Fixed software renderer crashes when switching between fullscreen and windowed modes (regression).



NOTES:

Screen.ScreenToRoomPoint returns null if there is no room Viewport under these coordinates. If there will be multiple viewports supported in the future engine simply won't know which to choose if there's none directly there.
Both Viewport.ScreenToRoomPoint and Viewport.RoomToScreenPoint have 'clipViewport' parameter which tells whether they should return null if the coordinates lie outside of the visible part of the room.



KNOWN ISSUES:

- Some weird sprite scaling bug in the room editor described in the posts above. According to user reports it may be fixed by restarting the editor. Unfortunately I was still unable to reproduce it on my own...
Title: Re: AGS 3.5.0 - alpha 9 - next WIP version
Post by: Dualnames on 15 Jan 2019, 16:18
I may be missing the line/function but is there a way to change the color of a listbox (for the selected and the non selected) during run-time. If not, and sorry to ask, but you think it'd be too complicated to implement, it's okay if it is, I'll work around it, just wondering.
Title: Re: AGS 3.5.0 - alpha 9 - next WIP version
Post by: Crimson Wizard on 15 Jan 2019, 16:33
I may be missing the line/function but is there a way to change the color of a listbox (for the selected and the non selected) during run-time. If not, and sorry to ask, but you think it'd be too complicated to implement, it's okay if it is, I'll work around it, just wondering.

Following was implemented in 3.5.0:
ListBox.SelectedBackColor
ListBox.SelectedTextColor
ListBox.TextColor.

Full list of script additions is under "Script API" section in the first post.

PS. You must have either v3.5.0 or "Highest" set in the "Script API version" option of the General Settings.
Title: Re: AGS 3.5.0 - alpha 9 - next WIP version
Post by: Dualnames on 15 Jan 2019, 21:14
Wonderful, will update to this once it's stable!