AGS 3.5.1 - Beta 7

Started by Crimson Wizard, 22 Mar 2021, 18:19

« previous - next »


It would be bad to block the process from closing when it wasn't expected. I think how it works now may not be convenient but it is logical and correct given that this is not a console application and it doesn't know exactly where the output handles are pointing. These are the same reasons that it doesn't attempt to attach by default, which is very convenient but also introduces edge cases where it does the wrong thing.


Other idea, add a little help text about this console-attach in winsetup (I don't remember if winsetup had a bar on top with things like file, about, ...), since it's a thing that happens only windows, could maybe help with discoverability. Again, not sure if a good idea, but it's the graphical accessible place I can think of.

Crimson Wizard

Quote from: eri0o on 09 Apr 2021, 17:07
Other idea, add a little help text about this console-attach in winsetup (I don't remember if winsetup had a bar on top with things like file, about, ...), since it's a thing that happens only windows, could maybe help with discoverability. Again, not sure if a good idea, but it's the graphical accessible place I can think of.

I am afraid we are making this too complicated. What is the purpose and use case of this anyway? If the idea is to provide technical information, then the manual is the first choice.
If the person is using command line, then they might be savvy enough to search in documentation if something did not work.

Of course having a message appear with a hint would be nice, but then there's a question whether this may prevent other options from working. This may be interesting to investigate more later, although not a priority imho.

On winsetup, console commands are unrelated thing, and placing them in setup GUI would look confusing to majority of people who use it. For instance, in the past commercial game developers were requesting to remove or hide numerous parameters in winsetup, because they were strange to most players who made mistakes trying to change them.
I'd even say setup app could have all these arguments as options under some "Expert" tab instead, because it's purpose is to provide graphical interface to these things.

Crimson Wizard

BTW, I just wanted to mention this somewhere because people are keep stumbling into this problem, here's finally an article on breaking savegames with game updates and some ways to work around that:

(this will be included in the manual too)


Sorry for having caused such discussion. I think a manual entry should be enough. I searched the manual but couldn't find any info on how to use acwin.exe to run a game. Just a single manual page (that can be found when searching acwin) should be enough.

Crimson Wizard

Well I just realized we have a command-line explanation but it's in a big article called "Runtime Engine":
It was quick remake from an older article, and has random bunch information put there. Also commands are not updated to latest 3.5.1 beta yet.

Crimson Wizard

Updated to Beta 4
(use download links in the first post)

- Added "Attach game data to exe" option to General Settings. This lets you to package game data separately from the game.exe (only important on Windows at the moment).

Script API:
- Added GUI.Shown readonly property that tells whether GUI is active on screen. This is primarily for GUIs with "Popup At Y" style, because they hide themselves regardless of Visible property.
Note that since 3.5.0 GUI.Visible only tells a script-set value.

- Added "--localuserconf" command and similar global config option which tells engine to read and write user config in the game's directory rather than using standard platform path. Game dir must be writeable for this to work.
- Added "--conf" command which forces engine to read only explicit config file on startup.
- Added "--user-data-dir" and "--shared-data-dir" commands for setting save game directory and shared app data directory from command line (this corresponds to existing options in config).
- Fixed engine crash when button's graphic is set to sprite out of range.
- Fixed certain interactions did not work with GUI if it was made fully transparent. (This appears to be a regression since 3.5.0)

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

- Fixed GUI.Visible not returning expected values for GUIs with "Popup At Y" style in pre-3.5.0 games, breaking some older games logic.
- Fixed potential buffer overflow when reading pre-3.1.0 games with old dialog script texts.

- Windows version of the engine now reads global configuration file. It is looked up in "%USERPROFILE%/Saved Games/Adventure Game Studio/acsetup.cfg"
- Default log file location is now also in "%USERPROFILE%/Saved Games/Adventure Game Studio".

New config and command-line options are documented in They have to be added to manual eventually.

I think this is coming close to final release. Most of the things planned for this update has been added, as well as few things that were not planned initially.

Crimson Wizard

Updated to Beta 5
(use download links in the first post)

Script API:
- File.Open() now supports $CONFIGFILE$ tag which will try to open user config file for reading or writing regardless of where config is located on disk.
- Added System.SaveConfigToFile() which writes current engine settings to the user config file. Only the options that can be changed at runtime are written back at the moment.

The above was added mainly to complement new setting that lets player to have user config in the game directory, and also the fact that engine does not save config automatically on exit (this behavior was present in a previous version, but was causing confusion to people in some situations). This way if you script changing certain config options in your game you may write these back to standard user config without guessing where it's located. Note that assuming that it is always located in "$SAVEGAMEDIR$" would be incorrect now.

For those who would like to work with config file, there's a good IniFile module that can load and save it back in a correct format.

New config and command-line options are documented in They have to be added to manual eventually.

I think this may be the last update that *adds* new things. Currently only updating the manual is in plans. And of course bug fixing, if someone finds anything serious.

Crimson Wizard

I'm duplicating this message from another thread hoping to increase amount of feedback.

Current Color Picker for the properties in the Editor is almost useless because it provides selection among some standard lists of colours only. Selmiak was nagging us to make a better one, so I made this in an experimental "ags4" branch as a test.
The new one is a classic Colour Picker you see in Paint, for example, with full range of colours, and even ability to save colours (except they don't save between Editor launches).

The code changes were rather minor, so I also thought about porting these to 3.5.1 release, but it slipped out of my mind.

I'd like to receive some feedback before doing this though, because existing Picker appears as a non-modal panel below the Color property, but the new one is a modal dialog (requires to press OK).

This is a custom build of a 3.5.1 Editor with this colour picker (you may copy these files over 3.5.1 installation):

If for some reason you think that's a too radical change and improvements are necessary before it may be used, we could also leave this for 3.6.0.

Crimson Wizard

Updated to Beta 6
(use download links in the first post)

- Implemented classic Color Picker dialog for the Color type values in the property grid,instead of the default one which does not allow user-defined colors.

Crimson Wizard

Updated to Beta 7
(use download links in the first post)

Updated with fixes from

- Fixed translation compiler did not correctly save some of the escaped sequences, such as "\n".

- Fixed crash occuring when the speech is using text window gui with zero Padding and the speech text is an empty line.
- Fixed crash in Direct3D and OpenGL renderers that occured if game uses a plugin that performs software drawing on screen, and one of the rooms is smaller than the game's resolution.
- Fixed "--test" mode was lost upon restoring a save.

- Fixed engine was applying player's position too early when ChangeRoom was called for 2.72 and earlier games, which could result in wrong placement in the new room if the character was walking right before the transition.

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

Crimson Wizard

This version seems to be stable enough to declare a release:

The release also contains a fix to a serious problem of this version not pausing when player switches away from a window. There were no other new problems found since though.

SMF spam blocked by CleanTalk