Adventure Game Studio | Forums

AGS Support => AGS Engine & Editor Releases => Topic started by: Crimson Wizard on 09 Apr 2017, 22:02

Title: AGS 3.4.1 - RC 3 (new release candidate)
Post by: Crimson Wizard on 09 Apr 2017, 22:02
AGS 3.4.1 - RC3 released
Current release number: 3.4.1.10


*** Download as installer *** (http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-RC3/AGS-3.4.1-rc-3.exe)
*** Download as ZIP archive *** (http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-RC3/AGS-3.4.1-rc-3.zip)
--- NO-MP3 engine variant --- (http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-RC3/AGS-3.4.1-rc-3-noMP3.zip)
Linux build package (Editor component) as ZIP archive (https://github.com/adventuregamestudio/ags/releases/download/v.3.4.1.10/AGS.3.4.1.10.Editor.Linux.Pack.zip)

AGS source code central repository (https://github.com/adventuregamestudio/ags)
Debug symbols database (for analysing crash dumps) (http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-RC3/AGS-3.4.1-rc-3-PDB.zip)


Released: 12th December 2017

Previous stable version: AGS 3.4.0 forum thread (http://www.adventuregamestudio.co.uk/forums/index.php?topic=54631.0)


This release is brought to you by:

- Alan v. Drake
- ChamberOfFear
- Crimson Wizard
- Gurok
- monkey0506
- Ryan O'Connor (one bug fix contribution)
- Scorpiorus (improvements to plugin drawing system)


What is new in 3.4.1

Common features:
 - Upgraded Windows version of AGS with Allegro v4.4 library (previously v4.2).
 - Implemented "RenderAtScreenResolution" game setting. When enabled, characters and objects are scaled in screen pixels rather than game pixels. (NOTE: it was always enabled for Direct3D in the past, but now you can set it to your liking)
 - Implemented VerticalOffset and LineSpacing properties for fonts.
 - Removed limit on Dialog Topics (was 500 topics per game).
 - Removed length limit on the names of Inventory, GUI and GUI Controls.
 - Removed length limit on the names of Hotspots and Objects.
 - Removed length limit on event handler names.

Editor:
 - Removed legacy game compiler.
 - Raw compiled game data is now saved in "Compiled\Data" folder, as opposed to just "Compiled".
 - The speech.vox file is now not recompiled if game is quick-run (using F5). Engine is supposed to find newer files in the Speech folder.
 - Editor can now import games older than 2.72, and newer too (3.*) if you have extracted data files from compiled executable.
 - ScriptAPIVersion and ScriptCompatibilityLevel settings now have "Highest" option, which is meant for automatically enabling newest script API when upgrading old project in a newer editor.
 - Added new "Default Setup" pane, which works similarily to "General Settings" and lets you configure default values for game setup.
 - Added "Font Height (pixels)" readonly property to the Font's pane, which works for both WFN and TTF fonts and may be used as a reference.
 - Made Editor correctly detect modern versions of MS Windows for display on About dialog and when sending anonymous statistics.
 - New application icon to comply with 3.4.0 splash screen.
 - Fixed crash when importing old games which have extended editor version string saved in the project files.
 - Fixed unhandled exception occuring when user types "#undef", "#ifdef" or "#ifndef" on the last line of the script.
 - Fixed #ifver and #ifnver not working properly if version number had only one component (major version).
 - Few improvements to the game compilation made in hope to reduce occasional data corruption.

Script:
 - Fixed local variables not working in the switch's case expressions.
 - Fixed Strings in switch, making them compare by value again.
 - Fixed compiler mistakes caused by the use of objects of empty type (that is - struct without any variables in it).
 - Fixed few cases of possible compiler crashing when there is an unfinished statement in the end of the script.

Script API:
 - A new parameter StopMovementStyle is added to following functions: LockView, LockViewAligned, LockViewFrame, LockViewOffset, UnlockView. This parameter can be eStopMoving (default) or eKeepMoving.
 - DynamicSprite.CreateFromFile and SaveToFile now support path tokens and comply to the new file path rules (no writing files to the game's installation directory).
 - Added missing readonly properties to get Lighting/Tinting parameters for Character and Object: HasExplicitLight, HasExplicitTint, LightLevel, TintBlue, TintGreen, TintRed, TintSaturation, TintLuminance.
 - Added Mouse.SelectPreviousMode() and Mouse.IsModeEnabled(CursorMode) functions.
 - Added readonly properties to get Button's animation state: Button.Animating, Button.Frame, Button.Loop, Button.View.
 - Added GetFontHeight(FontType) and GetFontLineSpacing(FontType) functions.
 - Added setter for System.Windowed property, letting to change it at runtime, switching between windowed and fullscreen modes.
 - Added System.RenderAtScreenResolution property to change sprite rendering mode at runtime.

Engine:
 - Added OpenGL renderer to Windows version.
 - Added support for switching between fullscreen and windowed modes at runtime using Alt+Enter key combination.
 - All supported hardware-accelerated graphic drivers (Direct3D and OpenGL) now run every game in 32-bit display mode by default, and convert game's graphics on load if that is required. This fixes loss of green hue precision in 16-bit games and allows to run 8-bit games, although latter is only partially supported: there are color mismatches and dynamic palette cycling is not working.
 - Partial support for plugins drawing on screen for hardware-accelerated renderers (Direct3D, OpenGL).
 - Added support for global configuration file, which works as configuration for all games and overrides default game's config file. Individual game user's config overrides global one in its turn. Global config's location is platform-dependent (this feature is currently disabled on Windows).
 - Implemented separate config option for game's shared data path, to keep it distinct from user-defined saves path.
 - Engine saves last Windowed and RenderAtScreenResolution mode states to the user config file.
 - Engine no longer writes and reads gamma level in saves, meaning that gamma keeps its current value when restoring a saved game.
 - Removed arbitrary limit on number of sprites rendered at the same time for hardware-accelerated renderers (Direct3D and OpenGL) (was 75), and another limit imposed on drawing entries for all drivers (was 200).
 - Engine now tries to get voice files from the Speech folder first, if one exists, and speech.vox later when quick-run from the Editor.
 - Fixed speech portrait was displayed below GUI, contrary to speech text.
 - Fixed ShakeScreen command was causing graphic artifacts when game is run with software renderer.
 - Fixed calling Character.ChangeView during idle animation results in new view being animated.
 - Fixed Speech.SkipStyle getter return value for eSkipTime case.
 - Fixed Speech.VoiceMode not returning correct values when speech.vox is not enabled/present.
 - Fixed AdjustVolumeWithScaling character's property not working with the new audio system.
 - Fixed volume drop was not applied to audio clips which begin playing during speech voice-over.
 - Fixed Game.SetAudioTypeSpeechVolumeDrop did not affect currently playing clips until next voice-over begins.
 - Fixed Game.TranslationFilename returning "default" instead of empty string if no translation is set.
 - Fixed engine was trying to locate "My Documents" folder on Windows Vista and higher even though it did not need it, and reporting internal error if such folder was not found, even though "Saved Games" folder is used instead.
 - Properly toggle console upon play.debug_mode variable change in script.
 - Added missing stubs for agsjoy plugin.

WinSetup:
 - Fixed display mode selection was missing certain items.




KNOWN ISSUES, TODOs and other notes (to be updated)

- Need to make mobile ports (Android, iOS) work with this version.
- When using Direct3D, game misses 1 bottom row and 1 rightmost column of pixels of game image when "Render sprites at screen resolution" is OFF. This also might cause slight image distortion.
NOTE: there's a suspicion that that is a bug in Microsoft's Direct3D driver since Windows 7.
- When running game in OpenGL fullscreen system cursor is visible when over black borders.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 09 Apr 2017, 22:51
I had to reupload the whole thing, finding that Editor was not properly built and could cause crash when running game for test.

If you have downloaded this recently, please download/install again.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: abstauber on 11 Apr 2017, 10:33
Thanks for the effort! I haven't experienced any problems yet, all my projects compile and run fine so far.
I also already updated the 9-verbs MI Style template.
http://shatten.sonores.de/wp-content/uploads/2017/04/9-verb-MI-style_154.zip
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Dave Gilbert on 11 Apr 2017, 15:34
Awesome! Downloading now...
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: abstauber on 12 Apr 2017, 09:51
Found a bug triggered by Art of Dying 1.1.
I'm pretty sure, that this didn't happen in 3.4.0

Unfortunately the sourcecode of Art of Dying is currently gone for good. But I still might have a copy at home which I can upload later on.

---------------------------
Adventure Game Studio
---------------------------
An internal error has occurred. Please note down the following information.
If the problem persists, post the details on the AGS Technical Forum.
(ACI version 3.4.1.3)

Error: SpriteCache::removeOldest: Attempted to remove sprite 64 that does not exist

---------------------------
OK   
---------------------------


The error message is right, there is no sprite 64. But I also haven't found evidence that the ever code refers to sprite 64. There is also no GUI, View or anything refering to a sprite 64.

Edit: I've manually added a dummy sprite at slot 64, now it is complaining about sprite 65.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 12 Apr 2017, 10:11
The error message is right, there is no sprite 64. But I also haven't found evidence that the ever code refers to sprite 64. There is also no GUI, View or anything refering to a sprite 64.

Edit: I've manually added a dummy sprite at slot 64, now it is complaining about sprite 65.
It could be dynamic sprite?

I need more details about script and how to reproduce this.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: abstauber on 12 Apr 2017, 10:32
As I was about to prepare an upload for further investigations, I deleted the compiled folder and guess what: the error is gone.

Maybe the compiled resource files got corrupted somehow during the upgrade from 3.4.0 to 3.4.1? On the other hand I'm upgrading this project since 2014 so the corruption might have happened a long time ago.

I suppose, there's nothing to worry about.

Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 12 Apr 2017, 10:43
It may also happen that game was only partially rebuilt, and some rooms kept old compiled scripts while script modules got updated. This may result in various glitches, like wrong script function being called instead of intended one.

It is necessary to completely rebuild project (Build -> Rebuild all files) after you upgraded to another version of AGS.

Deletion of Compiled folder also forces full rebuild.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: NicolaGs on 10 May 2017, 23:03
I don't know if it's an expected behaviour or not, but my native screen resolution is not available aymore with the latest engine version (beta 3 : 3.4.1.3).
With betas 1 and 2 : I've got the "desktop native resolution" available at the top of the list.
With beta 3 : "desktop native resolution" is unavailable and the available resolutions don't fit my screen resolution (it's 1600x900 and I got 1440x900 as the closest choice).
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 10 May 2017, 23:31
I don't know if it's an expected behaviour or not, but my native screen resolution is not available aymore with the latest engine version (beta 3 : 3.4.1.3).
With betas 1 and 2 : I've got the "desktop native resolution" available at the top of the list.
With beta 3 : "desktop native resolution" is unavailable and the available resolutions don't fit my screen resolution (it's 1600x900 and I got 1440x900 as the closest choice).

Something that I changed in Beta 3 is that winsetup no longer shows "desktop resolution" and "native game resolution" choices without testing if they are actually supported by graphics driver first. I did this after I found that it can display "native game" size (320x200) although such mode is not supported by gfx card.

You may try running game with "--log" argument from command line. In the "%USERPROFILE%/Saved Games/.ags" there will be "ags.log". AGS writes all detected gfx modes there on startup.
We need to compare these with the list shown in winsetup.



EDIT:
Another thing that you could try. Go to "%USERPROFILE%/Saved Games/<Your game name>/" and modify acsetup.cfg by hand (https://github.com/adventuregamestudio/ags/blob/master/OPTIONS.md).
Make sure following options are set:
Quote
[graphics]
screen_def = explicit
screen_width = 1600
screen_height = 900

Then run the game, press Ctrl+Alt+V in game to check what resolution was actually initialized.


The question is whether there is a bug in winsetup, bug in engine, or Direct3D simply does not support that resolution on your system.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: NicolaGs on 11 May 2017, 17:22
Thanks for your reply.

Here's what I got in the ags.log :

Code: Adventure Game Studio
  1. Initializing resolution settings
  2. Game native resolution: 320 x 200 (32 bit)
  3. Device display resolution: 1600 x 900
  4. Game settings: windowed = no, screen def: explicit, screen size: 1440 x 900, match device ratio: ignore, game scale: max_round
  5. Built library path: d3d9.dll
  6. Using graphics factory: D3D9
  7. Created graphics driver: Direct3D 9
  8. Supported gfx modes (32-bit):
  9.         320x200;320x240;400x300;512x384;640x400;640x480;800x600;1024x768;
  10.         1152x864;1280x600;1280x720;1280x768;1280x800;1360x768;1366x768;1440x900;
  11.         1600x900;
  12. Attempting to find nearest supported resolution for screen size 1440 x 900 (32-bit) fullscreen
  13. Attempt to switch gfx mode to 1440 x 900 (32-bit) fullscreen
  14. Succeeded. Using gfx mode 1440 x 900 (32-bit) fullscreen
  15.  

And here are the available choices I see in the winsetup interface :
Code: Adventure Game Studio
  1. Native game resolution (320x200)
  2. 320x240
  3. 400x300
  4. 512x384
  5. 640x400
  6. 800x600
  7. 1024x768
  8. 1152x864
  9. 1280x600
  10. 1360x768
  11. 1440x900       
  12.  

And so, the following choices are only present in the log:
Code: Adventure Game Studio
  1. 640x480
  2. 1280x720
  3. 1280x768
  4. 1280x800
  5. 1366x768
  6. 1600x900
  7.  
Which is odd, because they are quite common standard resolutions...


When I modify %USERPROFILE%/Saved Games/<my name>, by replacing 1440 by 1600, the game runs fine and ctrl-V reports 1600x900 as expected.

So I would guess it's a Winsetup issue... ?

Edit : I tested the very latest version with OpenGL support ; the issue is the same...
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 11 May 2017, 17:28
Thank you, there is clearly some mistake in setup program, and I have an idea of what that could be...
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: NicolaGs on 11 May 2017, 17:42
Thank you...

I came across another issue (sorry !) :

When using Allegro/DX5 + Stretch to fit screen (or Stretch to fit screen (preserving aspect ratio) + Run in a window, the game runs fullscreen.
When you set Max round multiplier, it runs correctly in a window.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Alan v.Drake on 12 May 2017, 19:15
Could it be that the multiplier matches your screen resolution? IIRC allegro used to run borderless fullscreen if the windowed window is the same size.

- Alan
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: NicolaGs on 12 May 2017, 21:03
Could it be that the multiplier matches your screen resolution?
No, it's not :
Game resolution : 320x200
Screen resolution : 1600x900
Scaled resolution (with stretch to fit screen preserving aspect ratio) : 1406x879

Edit : ...and, logically, when it switches fullscreen, there's a black frame around the game screen...
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 12 May 2017, 22:56
NicolaGs, could you post log for these stretch cases, same as you did before?
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: NicolaGs on 13 May 2017, 08:53
Here it is :

The Settings used:
Code: Adventure Game Studio
  1. Driver : Allegro/DX5
  2. Run in a window instead of fullscreen
  3. Scaling : Stretch to fit screen (preserve aspect ratio)

Here's the log's video section :
Code: Adventure Game Studio
  1. Initializing resolution settings
  2. Game native resolution: 320 x 200 (32 bit)
  3. Device display resolution: 1600 x 900
  4. Game settings: windowed = yes, screen def: scaling, screen size: 320 x 240, match device ratio: ignore, game scale: proportional
  5. Using graphics factory: DX5
  6. Created graphics driver: Allegro/DX5
  7. Supported gfx modes (32-bit):
  8.         320x200;320x240;400x300;512x384;640x400;640x480;800x600;1024x768;
  9.         1152x864;1280x600;1280x720;1280x768;1280x800;1360x768;1366x768;1440x900;
  10.         1600x900;
  11. Attempting to find nearest supported resolution for screen size 1406 x 879 (32-bit) windowed
  12. Attempt to switch gfx mode to 1406 x 879 (32-bit) windowed
  13. Failed to init gfx mode. Unable to find a suitable graphics driver
  14. Attempt to switch gfx mode to 1600 x 900 (32-bit) windowed
  15. Failed to init gfx mode. Resolution not supported
  16. Attempting to find nearest supported resolution for screen size 1600 x 900 (32-bit) fullscreen
  17. Attempt to switch gfx mode to 1600 x 900 (32-bit) fullscreen
  18. Succeeded. Using gfx mode 1600 x 900 (32-bit) fullscreen
  19. Render frame set, render dest (160, 50, 1439, 849 : 1280 x 800)

The game is displayed fullscreen with a black frame around it (so, not stretched to the screen resolution...)

The culprit seems to be there :
Code: Adventure Game Studio
  1. Attempt to switch gfx mode to 1406 x 879 (32-bit) windowed
  2. Failed to init gfx mode. Unable to find a suitable graphics driver
  3. Attempt to switch gfx mode to 1600 x 900 (32-bit) windowed
  4. Failed to init gfx mode. Resolution not supported

By contrast, the same settings but with OpenGL driver give :
Code: Adventure Game Studio
  1. Attempt to switch gfx mode to 1406 x 879 (32-bit) windowed
  2. Succeeded. Using gfx mode 1406 x 879 (32-bit) windowed
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Gurok on 13 May 2017, 11:57
Hi,

Apologies for duplicating the display mode bug in the other thread.

I noticed another bug that seems to be common to 3.4.1 builds of acwin.exe. I'm testing with a 320x200 game and DirectX 9 in windowed mode. Row 199 (the last row) appears to be clipped to one pixel. The same is true for column 319.

See here: http://i.imgur.com/pPl016H.png

This doesn't happen with DirectDraw.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Moresco on 15 May 2017, 11:26
Not sure if this counts as a bug or anything, but when using DirectX 3D9, you can indeed switch using alt+enter, but only if you use the left alt key. Using the right alt key, which is how I prefer it in most games, does nothing.  Can that be fixed?

Also when using the Allegro driver alt-enter doesn't work, it attempts to switch to a window but then jumps back to fullscreen followed by the cursor "painting" in the graphics from a black screen.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 16 May 2017, 00:30
@Gurok, can you confirm that clipping and strange row/column duplication occurs only if "Render sprites at screen resolution" is off? Both of those issues seem to relate to drawing on backbuffer texture before scaling to whole screen. I am looking into that now.
EDIT: actually, OpenGL seem to be missing top and right row in either case. Its top as opposed to bottom maybe because OpenGL's screen coordinates are inverted.



Not sure if this counts as a bug or anything, but when using DirectX 3D9, you can indeed switch using alt+enter, but only if you use the left alt key. Using the right alt key, which is how I prefer it in most games, does nothing.  Can that be fixed?
Yes, missed the right alt key.

Also when using the Allegro driver alt-enter doesn't work, it attempts to switch to a window but then jumps back to fullscreen followed by the cursor "painting" in the graphics from a black screen.
I cannot tell why it does not stay in window. Maybe there is a problem initializing certain window modes. That renderer works worse and worse with every new Windows update. Or maybe the window size is selected wrong. Can you enable log, like I explained to NicolaGs several posts above, and record your switching actions?

I fixed the cursor painting bug though, this was simply because screen was not repainted after mode switches.
Title: Re: AGS 3.4.1 - Beta 3 -- new unstable version
Post by: Crimson Wizard on 19 May 2017, 19:33
I've met a curious bug in 3.4.0 today, which is not happening in 3.4.1. I've never heard about such problem before; either it is too rare, or nobody reported.

The situation was that there is a room with a wall, which is also walkbehind, and there is a painting on that wall, which is an object with baseline = walkbehind's baseline + 1.
This painting is visible all time, because its baseline is higher than the one of the wall's, but when certain other unrelated object gets its visibility changed the painting suddenly drops through the walkbehind and appears behind it (although baseline is supposed to stay the same, it is never changed in scripts).

Setting baseline to (walkbehind's baseline + 5) fixed this, but why was it happening at first place? I was breaking my head, until I checked same game with 3.4.1 and the bug was not recurring there.

Then I remembered that for 3.4.1 I changed the code that was sorting room elements by their Z order, from C-style sorting (using qsort) to C++ STL sorting (using std::sort). Can that be that some ancient bug was fixed along this change?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 22 May 2017, 15:27
AGS 3.4.1 Beta 4
http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-Beta4/AGS-3.4.1-beta-4.zip
(also updated first post)

Changes since Beta 3:

Common features:
 - Removed limit on the script names of Inventory Items, GUI and GUI Controls, as well as GUI event function names.

BTW, something I forgot to mention prior, Dialog script names are also not limited to like 20 letters since previous Beta.

Editor:
 - Made Editor correctly detect modern versions of MS Windows for display on About dialog and when sending anonymous statistics.
 - New application icon to comply with 3.4.0 splash screen.
 - Fixed #ifver and #ifnver not working properly if version number had only one component (major version).

Script API:
 - DynamicSprite.CreateFromFile and SaveToFile now support path tokens and comply to the new file path rules (no writing files to the game's installation directory).

Engine
 - Added OpenGL renderer to Windows version.
 - Implemented separate config option for game's shared data path, to keep it distinct from user-defined saves path. (You can set it up separately in the Default Setup page in your game project)
 - Fixed Game.TranslationFilename returning "default" instead of empty string if no translation is set.
 - Support Right Alt for Alt+Enter (switch fullscreen/windowed) and  Alt+Ctrl (lock/unlock mouse in window) combinations.
 - Fixed screen not getting repainted in software (DirectDraw 5) mode when switching from fullscreen to windowed (or vice versa).
 - Fixed FLIC playback. (Was broken after update to Allegro 4.4)

WinSetup:
 - Fixed display mode selection was missing certain items.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: NicolaGs on 22 May 2017, 17:00
I tested the resolution fix in WinSetup... and it seems OK ! Thanks...

But I noticed another problem... To be able to test the previous issue, I had to fix errors in my script (e.g : change "default" to "" for Game.TranslationFilename).
But to detect them, I had to use the latest stable Editor version with the latest beta ACWin.exe...

If using editor + acwin 3.4.1.4 : I only get a generic error message, without the error line number (the error says about this : object reference not defined by an object instance).
If using editor 3.4.0.16 + acwin 3.4.1.4 : I get a more detailed error message, with the error line number (the error says : null pointer referenced).

So, the 3.4.1.4 Editor is less verbose and it's very difficult to find the error source...


Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 22 May 2017, 17:35
If using editor + acwin 3.4.1.4 : I only get a generic error message, without the error line number (the error says about this : object reference not defined by an object instance).
If using editor 3.4.0.16 + acwin 3.4.1.4 : I get a more detailed error message, with the error line number (the error says : null pointer referenced).

Do you mean compilation errors or runtime errors you get during debugging?
Can you give an example of script line that you were dealing with?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: NicolaGs on 22 May 2017, 18:37
Do you mean compilation errors or runtime errors you get during debugging?
Can you give an example of script line that you were dealing with?

I'm embarassed because I can't find the source of the error message I get in the beta version.
The 3.4.0.16 editor gives me errors... but I don't know for sure if it's the same errors the errors that cause the beta not to run the game...

In order to troubleshoot this, I can't do better than proceeding chronologically. So it will be a long post, sorry :-D

1) my project runs fine with version 3.4.0.16
2) I tried 3.4.1.4 editor : compiling and running both failed, with getting a "generic" error message, without any more informations.
3) I tried 3.4.0.16 editor alongside acwin 3.4.1.4 : compiling and running work ; I got a "documented" error only when the faulty line was reached (null pointer referenced, with line number).
My code was :
Global script :
Code: Adventure Game Studio
  1. GUI *gStart_Screen;
  2. export gStart_Screen;
  3. ...
  4. function game_start()
  5. {
  6.         if (Game.TranslationFilename == "default")
  7.         {
  8.                 gStart_Screen = gStart_Screen_FR;
  9.         }
  10. }

Room script :
Code: Adventure Game Studio
  1. function room_Load()
  2. {
  3.         gStart_Screen.Visible = true;
  4.         acMusic_start = aMenu.Play();
  5. }
The error pointed to line 3 : gStart_Screen.Visible = true; of course, since Game.TranslationFilename == "default" was impossible. Error fixed.

4) Still with 3.4.0.16 editor + 3.4.1.4 acwin, the game compiles and F5 runs OK... and then, a new error ("Null pointer referenced"). Here is the code:

This is the first room (welcome screen):
Code: Adventure Game Studio
  1. AudioChannel *acMusic_start;
  2.  
  3.  
  4. function room_Load()
  5. {
  6.         gStart_Screen.Visible = true;
  7.         acMusic_start = aMenu.Play();
  8. }
  9.  
  10.  
  11. function room_Leave()
  12. {
  13.         FadeOut(3);
  14.        
  15.         int Volume_fading_speed = 1;
  16.        
  17.         while (acMusic_start.Volume > 0) <- THIS LINE CAUSES THE ERROR
  18.         {
  19.                 if (acMusic_start.Volume - Volume_fading_speed >= 0  )
  20.                 {
  21.                         acMusic_start.Volume = acMusic_start.Volume - Volume_fading_speed;
  22.                 }
  23.                 else
  24.                 {
  25.                         acMusic_start.Volume = 0;
  26.                 }
  27.                 Wait(1);
  28.         }
  29.         if (acMusic_start.IsPlaying != true)
  30.         {
  31.                 acMusic_start.Stop();
  32.         }
  33.        
  34.  
  35.         gStart_Screen.Visible = false;
  36. }
The error is at line 17.


At this point, I'm lost:  the compiled game (step 4) runs fine (the affected script creates a music fade out) while when run inside the editor with F5, it causes the error...


5) Trying 3.4.1.4 editor and acwin : game does not compile, does not run / generic error message



To know more about the error with the beta version, I must fix this new error but I do not find its cause (since acMusic_start was defined at the top of the script and did not cause any problem prior in the script - but there are many chances the error is my fault).

Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 22 May 2017, 18:47
One thing I can tell at this point, you cannot use 3.4.1 acwin.exe with 3.4.0 Editor, because 3.4.1 engine cannot find audio files in debug mode without additional parameters passed from 3.4.1 Editor. This was probably the reason you were getting null pointer errors with acMusic_start, since no music played and channel pointer remained unassigned.

5) Trying 3.4.1.4 editor and acwin : game does not compile, does not run / generic error message

What is this "generic error message"?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: NicolaGs on 22 May 2017, 20:20
the error says about this : object reference not defined by an object instance
The message appears in french (OS language...). It's a rough translation... (tbh, the sentence in french is not entirely intellegible...)

Quote from: Crimson Wizard
This was probably the reason you were getting null pointer errors with acMusic_start
So, for the moment, I'm stuck, as I cannot know the origin of the error...
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 22 May 2017, 20:57
There is too little information. Can you just copy whole error message, or post screenshot whatever is easier for you?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: NicolaGs on 22 May 2017, 22:19
There is too little information
Yes, I know... that's the problem : I don't know where to start !
Here's a screen cap (be prepared to be disappointed) :

(http://i.imgur.com/o4fhZS0.png)

I've got nothing more than that. When I hit F5, when I "Build EXE", when I "Rebuild all files"...
By double clicking on the error in the message list, it doesn't do anything.


I re-tested beta 3 :
- this behaviour does not happens.
- There is still the issue with the "acMusic_start"... But : when I first "Rebuild all files", it works fine...

edit : I'll try to investigate further by disabling this audiochanel reference when I'll have time... It's very possible there's a flaw in my script.
edit 2 : I deleted all reference to audiochanel. It's the same.
edit 3 : My translation of the message may be wrong. I try again : "The object reference is not defined/referenced for one object". I'll search all those references...
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 22 May 2017, 22:38
This is not script error, this is program error, which occurs during creation of game files. Therefore there is no line number.
This kinds of errors are not very informative in AGS Editor.

Is it possible for you to send me the failing game project? That would be fastest way to find out what's wrong.
Alternatively, I will change the way such error messages are printed to see more details.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 22 May 2017, 23:33
I fixed couple of errors, please try this build:
http://www.mediafire.com/file/b64dl48vvvqk3kl/AGSEditor_3.4.1.4--fix.zip

E: Reuploaded beta version.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: NicolaGs on 22 May 2017, 23:42
Yes, it works, now !

On my way, I just saw another thing (why would I stop to bug you... ? (laugh)) : alt-enter sometimes restart the game (like F9 does) instead of switching between fullscreen / windowed modes.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 22 May 2017, 23:50
On my way, I just saw another thing (why would I stop to bug you... ? (laugh)) : alt-enter sometimes restart the game (like F9 does) instead of switching between fullscreen / windowed modes.

LeftAlt + Enter gives same key code as F9. I thought I made it not go into scripts, but probably it still does.

Problem is that I cannot reproduce this anymore.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 23 May 2017, 15:45
Hi CW . I can't open my game :
(http://s6.uplod.ir/i/00881/js9936sx22xt_t.jpg) (http://uplod.ir/js9936sx22xt/Untitled-1.png.htm)

Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 25 May 2017, 12:20
Anyone have this error too? Is it possibleI fix it ?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 25 May 2017, 16:02
This error happens when compiling the speech file. I usually test with games without speech, so I could miss it.

I will test this today, but if I won't be able to reproduce the error, then there are two options left:

1) Option 1. If you send me your FULL project, then I will be able to catch the error under debugger. This is ideal for me, but if I remember right you do not like to upload big data because your internet connection is not good enough?
2) Option 2. I can make editor to write a log of its progress during speech.vox compilation, and see at which point it breaks. Maybe that will give some hint.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 25 May 2017, 16:12
Hi CW

Problem solved . I had a .wav speech in Speech folder that I didn't used into the game . I removed it and works fine.  Thanks a lot  ;)
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 25 May 2017, 16:43
Problem solved . I had a .wav speech in Speech folder that I didn't used into the game . I removed it and works fine.  Thanks a lot  ;)

Wait! It is not solved!
There is clearly and error inside the Editor, and I need to find out what it is. What if it happens again to someone else?!
Can you send me that wav file just in case? How was it named at least?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: arj0n on 25 May 2017, 20:08
The generated acsetup.cfg in Compiled>Windows contains wrong/old content, for example the driver is set to DX5.

Reproduction scenario:
Open the project with AGS Build 3.4.0.16:
In General settings set Default graphics driver to DirectDraw 5 (default)
Save game and close editor

Backup the project
Delete folder 'Compiled'
Delete any content of the savefolder in C:\Users\<user>\Saved Games\)

Open the project with AGS Build 3.4.1.4 ** BETA VERSION **
in Default setup set Graphics driver to 'Software driver'
Save and compile game

* The file acsetup.cfg in Compiled>Windows (and Compiled>Data) shows 'driver = DX5' (this is incorrect, DX5 is not an option)
* When running winsetup.exe, the selected Driver is 'Direct3D 9'

Change Driver to OpenGL and save
* The file acsetup.cfg in the savefolder shows 'driver = OpenGL' (correct)

So the editor creates the 'old' acsetup.cfg, but the winsetup creates the correct cfg.

Content of generated acsetup.cfg in compiled/windows folder:
Code: Adventure Game Studio
  1. [sound]
  2. digiid=-1
  3. midiid=-1
  4. digiwin=-1
  5. midiwin=-1
  6. digiindx=0
  7. midiindx=0
  8. digiwinindx=0
  9. midiwinindx=0
  10. [misc]
  11. game_width=320
  12. game_height=200
  13. gamecolordepth=16
  14. antialias=0
  15. notruecolor=0
  16. cachemax=128
  17. user_data_dir=
  18. shared_data_dir=
  19. titletext=SRAM 2 - CINOMEH'S REVENGE (demo) Setup
  20. [graphics]
  21. driver=DX5
  22. windowed=0
  23. game_scale=max_round
  24. filter=stdscale
  25. vsync=0
  26. render_at_screenres=0
  27. [language]
  28. translation=
  29. [mouse]
  30. auto_lock=0
  31. speed=1
  32.  

Content of acsetup.cfg in savegame folder after saving via winsetup.exe:
Code: Adventure Game Studio
  1. [graphics]
  2. driver=OGL
  3. filter=StdScale
  4. game_scale=max_round
  5. refresh=0
  6. render_at_screenres=0
  7. screen_def=explicit
  8. screen_height=1080
  9. screen_width=1920
  10. vsync=0
  11. windowed=0
  12. [language]
  13. translation=
  14. [misc]
  15. antialias=0
  16. cachemax=131072
  17. notruecolor=0
  18. user_data_dir=
  19. [mouse]
  20. auto_lock=0
  21. speed=1.0
  22. [sound]
  23. digiwinindx=0
  24. midiwinindx=0
  25. usespeech=1
  26.  
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 26 May 2017, 12:55
Wait! It is not solved!
There is clearly and error inside the Editor, and I need to find out what it is. What if it happens again to someone else?!
Can you send me that wav file just in case? How was it named at least?

Sorry I'm late for answer
OK. Name of sound is 'EGO1.wav'  . It was in Speech folder . When I put it again I have same error and when I remove it works fine . My code is:

Code: Adventure Game Studio
  1. cEgo.Say("&1 nd,hv");  // I use Persian font

Where is my wrong?

Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 26 May 2017, 13:06
OK. Name of sound is 'EGO1.wav'  . It was in Speech folder . When I put it again I have same error and when I remove it works fine . My code is:

IDK, the code and everything looks fine, unless I miss something.
Could you send me this file? Maybe there is something wrong with it...

Another question, how many files in total do you have in the Speech folder? And how large is the folder (in megabytes)? You can check this withing folder properties in Windows Explorer.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 26 May 2017, 13:20
My game is so large and sorry I can't send it for you. But I sent a PM as EGO1.wav for you .

Speech folder is complete empty.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 26 May 2017, 14:02
Speech folder is complete empty.

... this is news to me. So you do not have any speech in your game except for 1 file that was left there by mistake?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 29 May 2017, 12:26

I made a build exe and after that play game works without that message . It seems OK now .
Another problem :  On another computer I did this way and work too but after close AGS and open that it doesn't open my project at all and say path is incorrect !!! . I only have this problem on one computer.   
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 29 May 2017, 14:45
Regarding the speech file. I tested with it and had no error, sadly, so I have no way to find error fast.

I was investigating the code during the course of the last two days, and I found couple of things that MAY cause similar error if you are very unlucky. I am currently making program a bit safer, but that's just a blind shot from me this time.

Another problem :  On another computer I did this way and work too but after close AGS and open that it doesn't open my project at all and say path is incorrect !!!
Can you show full message? There was a mistake related to custom save paths in Default Setup, but I tink I fixed them. Depends on what version of editor you are using.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 29 May 2017, 16:44
By the way, can someone confirm that speech is not playing in 3.4.1? I've seem to find a bug that makes engine look into wrong place for speech file.
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 31 May 2017, 12:13
Another problem :  On another computer I did this way and work too but after close AGS and open that it doesn't open my project at all and say path is incorrect !!!
Can you show full message? There was a mistake related to custom save paths in Default Setup, but I tink I fixed them. Depends on what version of editor you are using.

Sorry for late answer . Here you are :
(http://uupload.ir/files/vcyd_agserror.png) (http://uupload.ir/)
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Crimson Wizard on 31 May 2017, 13:20
I think that's the one I fixed additionally, and reuploaded the version.
http://www.adventuregamestudio.co.uk/forums/index.php?topic=54681.msg636561499#msg636561499

If you installed 3.4.1 before that day, can you try downloading editor again?
Title: Re: AGS 3.4.1 - Beta 4 -- new unstable version
Post by: Mehrdad on 01 Jun 2017, 14:30
I think that's the one I fixed additionally, and reuploaded the version.
http://www.adventuregamestudio.co.uk/forums/index.php?topic=54681.msg636561499#msg636561499

If you installed 3.4.1 before that day, can you try downloading editor again?

OK. I overwrite 3.4.1 zip file and problem solved
I always get installer instead zip file and both was 3.4.1 beta4 . Maybe you edit installer version a few minutes after get me.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 07 Jun 2017, 17:36
AGS 3.4.1 Beta 5
http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-Beta5/AGS-3.4.1-beta-5.zip
(also updated first post)

Changes since Beta 4:

Common features:
 - Removed limit on the length of names of Room hotspots and objects.
 - Removed limit on the length of names of all event handlers.

Editor:
 - Fixed Default Setup did not save correct software driver ID to config.
 - Few improvements to the game compilation made in hope to reduce occasional data corruption.

Engine
 - Partial support for plugins drawing on screen for hardware-accelerated renderers (Direct3D, OpenGL). Added with suggestions from Scorpiorus.
   Now plugins like Rain/snow plugin by Scorpiorus should work with D3D and OpenGL.
 - Fixed making screenshots with D3D always used "scale sprites in native resolution" mode, instead of referring to actual renderer mode.
 - Fixed voice file could not be found.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Mehrdad on 08 Jun 2017, 05:54
Thanks a lot CW . Great update!!!. It's very good news for plugins Rain/snow and so on.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 10 Jun 2017, 02:11
Uhhhh... looks like voice-over is still not completely fixed, Beta 5 does not play (cannot find) voice files if they are not WAVE (ogg or mp3). I will make another update soon.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 14 Jun 2017, 14:16
Bit slow on testing this. I wanted to get a playable build for testers before breaking things with the new version! Will be trying it out soon. Can't wait to see what OpenGL is like.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 14 Jun 2017, 21:04
Sorry for the double post. Just wanna say that OpenGL (so far) works BEAUTIFULLY.

Pressing Alt-enter moves the game seamlessly in and out of windowed mode. It feels like a modern game now! EXCELLENT work!!

Alt-tabbing from fullscreen mode also works nice, but the game's music infinitely stutters until I re-select the game. Then it plays normally.

Another thing that makes me happy: THE STEAM OVERLAY WORKS PERFECTLY IN FULLSCREEN MODE!!

Would it be at all possible to move the game in and out of windowed mode via SCRIPT? That way I can add "switch to windowed mode" in the game's option menu? That would put me over the moon.

Anyway, I haven't done a detailed playthrough of my game yet but so far I am very very happy. Again, awesome work.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Snarky on 14 Jun 2017, 21:28
Alt-tabbing from fullscreen mode also works nice, but the game's music infinitely stutters until I re-select the game. Then it plays normally.

There's a game setting somewhere for "run loops in background" or something like that, which usually controls whether the game runs when not in focus. Have you tried that?
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 14 Jun 2017, 21:41
Would it be at all possible to move the game in and out of windowed mode via SCRIPT? That way I can add "switch to windowed mode" in the game's option menu? That would put me over the moon.

A long while ago there were plans to make new set of script commands to change display settings, but I forgot about it since not really willing to do much work on AGS. But switching mechanic can be triggered by any event, so that should be trivial to add script command for this individual setting.

I am thinking about maybe using System.Windowed for now, since such property already exists (read-only). Later someone could even make script properties for other display parameters if want.

One note I need to make though, when Nick Sonneveld introduced windowed/fs switch for OSX port, he created separate mode changing method which has no ties to other parts of the engine. So it won't work on OSX until someone makes command "transition" to the OSX specific part of the engine code.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 14 Jun 2017, 21:57
Alt-tabbing from fullscreen mode also works nice, but the game's music infinitely stutters until I re-select the game. Then it plays normally.

There's a game setting somewhere for "run loops in background" or something like that, which usually controls whether the game runs when not in focus. Have you tried that?

I can't seem to find this. There's a "run loops in background while dialog options are displayed" option, which is set to true, but I assume that's not what you are referring to.

This didn't happen to me, but one of my testers told me that the game's dialog text started to zoom by at a very fast speed after alt-tabbing.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: NicolaGs on 14 Jun 2017, 22:01
I think what you're looking for may be SetMultitaskingMode.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 14 Jun 2017, 22:07
I think what you're looking for may be SetMultitaskingMode.

Yes this worked. I set it to 1 and the music continued to play. If it's set to 0 (the default) the music and sound stutters.

Quote
But switching mechanic can be triggered by any event, so that should be trivial to add script command for this individual setting.

Awesome. 8-)
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 15 Jun 2017, 00:00
Did a bit more testing. I noticed that alt-enter does NOT work when a dialog menu is on the screen.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 15 Jun 2017, 00:19
Did a bit more testing. I noticed that alt-enter does NOT work when a dialog menu is on the screen.

Actually I recall I've seen couple of states when keyboard presses get intercepted. Video playback is another one.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Snarky on 15 Jun 2017, 03:15
This didn't happen to me, but one of my testers told me that the game's dialog text started to zoom by at a very fast speed after alt-tabbing.

This sounds possibly related to something I recently experienced (in an earlier 3.4 build): When I tried to use Alt-X to kill the game during a cutscene, it instead started racing through all the dialog. Only when the cutscene was over was I able to force-quit the game with Alt-X.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 15 Jun 2017, 03:42
This didn't happen to me, but one of my testers told me that the game's dialog text started to zoom by at a very fast speed after alt-tabbing.

Oh, I missed this one.

This problem exists in AGS for ages. I remember seeing it the year I came on these forums, and it was reported many times since.
I hoped the situation may improve with 3.4.1 which has upgraded Allegro library, which in turn includes some fixes towards how ALT key works. But that's yet to be confirmed (or refuted).
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 15 Jun 2017, 15:01
Hmm. A number of users also reported the speed up problem after activating the steam overlay, which is activated using shift-tab. Maybe it's a tab thing rather than an ALT thing?

I've also been told that pressing the space bar fixes the problem. This isn't something I can confirm, as I never experience the problem myself.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 15 Jun 2017, 17:05
To be presice, that's not speeding up, that's key press not being unregistered, and this every following speech gets skipped by a "key press".
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 15 Jun 2017, 19:02
So I've noticed that tinting no longer works in OpenGL mode:

Direct3D (how it's supposed to look):
(http://www.wadjeteyegames.com/temp/notint.png)

OpenGL:
(http://www.wadjeteyegames.com/temp/yestint.png)

The two figures on the left are an object and I used the command: oPlayer.Tint(0, 0, 0,100, 0);
The figure on the right is a character and I used the command: cEli.Tint(0, 0, 0, 80, 0);

Is tinting broken or has the syntax for using the command changed? I tried looking through the thread but didn't find any mention of it.

Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: monkey0506 on 18 Jun 2017, 14:27
A number of users also reported the speed up problem after activating the steam overlay, which is activated using shift-tab.

To be presice, that's not speeding up, that's key press not being unregistered, and this every following speech gets skipped by a "key press".

Dave, I've sent you (via Facebook) a modified build of the Steam plugin that should completely ignore any keyboard input (to AGS) if the Steam overlay is active. Let me know if that helps, and I'll push out the revision for everyone else, thanks!
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: rmonic79 on 18 Jun 2017, 23:33
i'm trying the last build and speech doesn't run (they are all in ogg format and in gameroot/speech folder)
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 18 Jun 2017, 23:33
i'm trying the last build and speech doesn't run (they are all in ogg format and in gameroot/speech folder)

Voice over does not work in 3.4.1, this will be fixed soon.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: AGD2 on 19 Jun 2017, 06:46
Great work on the new update, guys. A lot of excellent improvements here!

I've just tested this latest beta with Mage's Initiation. Apologies if any of this has already been reported - I haven't read the entire thread yet - but here are a few issues I ran into, as well as some questions:

1)

The first time I loaded the game into the editor and hit F5 to test compile, I got the following editor error messages. (I was able to resolve them by pressing F7 to rebuild the files, but figured I should report it anyway):

Error: Failed to open data file for writing: 'Compiled\Data\speech.vox'
Version: AGS 3.4.1.5

AGS.Types.AGSEditorException: Failed to open data file for writing: 'Compiled\Data\speech.vox'
   at ThrowManagedException(SByte* message)
   at make_old_style_data_file(String* , vector<AGS::Common::String const \,std::allocator<AGS::Common::String const > >* )
   at AGS.Native.NativeMethods.CreateVOXFile(String fileName, String[] fileList)
   at AGS.Editor.Components.SpeechComponent.R ebuildVOXFileIfRequired(String voxFileName, String[] filesOnDisk, Dictionary`2 sourceFileTimes)
   at AGS.Editor.Components.SpeechComponent._ agsEditor_ExtraOutputCreationStep()
   at AGS.Editor.AGSEditor.CreateMiniEXEForDe bugging(CompileMessages errors)
   at AGS.Editor.AGSEditor.CompileGame(Boolean forceRebuild, Boolean createMiniExeForDebug)
   at AGS.Editor.Components.BuildCommandsComp onent.TestGame(Boolean withDebugger)
   at AGS.Editor.Components.BuildCommandsComp onent.CommandClick(String controlID)
   at AGS.Editor.GUIController._mainForm_OnMe nuClick(String menuItemID)
   at AGS.Editor.MainMenuManager.MenuEventHan dler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.Rais eEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem. OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.Hand leClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.Fire EventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.Fire Event(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripMenuItem. ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ToolStripManager.P rocessShortcut(Message& m, Keys shortcut)
   at System.Windows.Forms.ToolStripManager.P rocessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.PreProcess Message(Message& msg)
   at System.Windows.Forms.Control.PreProcess ControlMessageInternal(Control target, Message& msg)
   at System.Windows.Forms.Application.Thread Context.PreTranslateMessage(MSG& msg)
AND:
A serious error occurred and the AGS Editor may now be in an unstable state. You are STRONGLY ADVISED to shut down the editor and restart it. Before saving your work, make a backup copy of your game folder in case any data has been corrupted.

Error: AGS.Types.AGSEditorException: Failed to open data file for writing: 'Compiled\Data\speech.vox'
   at ThrowManagedException(SByte* message)
   at make_old_style_data_file(String* , vector<AGS::Common::String const \,std::allocator<AGS::Common::String const > >* )
   at AGS.Native.NativeMethods.CreateVOXFile(String fileName, String[] fileList)
   at AGS.Editor.Components.SpeechComponent.R ebuildVOXFileIfRequired(String voxFileName, String[] filesOnDisk, Dictionary`2 sourceFileTimes)
   at AGS.Editor.Components.SpeechComponent._ agsEditor_ExtraOutputCreationStep()
   at AGS.Editor.AGSEditor.CreateMiniEXEForDe bugging(CompileMessages errors)
   at AGS.Editor.AGSEditor.CompileGame(Boolean forceRebuild, Boolean createMiniExeForDebug)
   at AGS.Editor.Components.BuildCommandsComp onent.TestGame(Boolean withDebugger)
   at AGS.Editor.Components.BuildCommandsComp onent.CommandClick(String controlID)
   at AGS.Editor.GUIController._mainForm_OnMe nuClick(String menuItemID)
   at AGS.Editor.MainMenuManager.MenuEventHan dler(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.Rais eEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem. OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.Hand leClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.Fire EventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.Fire Event(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripMenuItem. ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ToolStripManager.P rocessShortcut(Message& m, Keys shortcut)
   at System.Windows.Forms.ToolStripManager.P rocessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.P rocessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmd Key(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.PreProcess Message(Message& msg)
   at System.Windows.Forms.Control.PreProcess ControlMessageInternal(Control target, Message& msg)
   at System.Windows.Forms.Application.Thread Context.PreTranslateMessage(MSG& msg)

2)

With RenderAtScreenResolution, is it currently possible to adjust this setting via the script when it's set to "User Defined" in the general settings pane? If so, how?

3)

In 3.4.1.5, I noticed that the mouse cursor gets locked to a very small corner at top-left of the screen on start-up if you put a Display() message in the game_start function. When you move the mouse while this Display message is visible, the white Windows system mouse pointer flickers, but the in-game mouse cursor doesn't move. This didn't used to happen in 3.4.0 and earlier AGS versions.

4)

For me, pressing ALT+ENTER to make the game enter full-screen mode doesn't work properly with the Direct3D driver. I just get a black screen. Pressing ALT+ENTER to put the game back to windowed mode makes the game screen visible again. (Note that it DOES work with both the Software and Open GL drivers - only Direct3D has the problem). My video card is a relatively recent ROG STRIX- GeForce GTX 1080 with the latest drivers, so it shouldn't have any issues.

5)

This issue existed in 3.4.0, but I didn't get around to reporting it earlier:  If a queued music piece starts playing while character speech audio is in progress, the music volume will jump back up to the normal volume level (in the middle of speech), rather than adhering to the SetAudioTypeSpeechVolumeDrop value.

6)

The Escape key doesn’t work after you press CTRL. To re-enable the escape key, you need to press any other key in-game, other than CTRL.

I know this was an issue with Allegro 4. So, I just wanted to check if it's been resolved in Allegro 4.4 and whether a possible solution is now available after upgrading AGS to that version?

Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 19 Jun 2017, 16:23
With RenderAtScreenResolution, is it currently possible to adjust this setting via the script when it's set to "User Defined" in the general settings pane? If so, how?
No, but in theory it should be trivial to make such command, and even save in-game changes to config.

For me, pressing ALT+ENTER to make the game enter full-screen mode doesn't work properly with the Direct3D driver. I just get a black screen. Pressing ALT+ENTER to put the game back to windowed mode makes the game screen visible again. (Note that it DOES work with both the Software and Open GL drivers - only Direct3D has the problem). My video card is a relatively recent ROG STRIX- GeForce GTX 1080 with the latest drivers, so it shouldn't have any issues.
Does fullscreen mode work from the start if you set it in winsetup?
Also, what is your operating system? Earlier we found that D3D may not work well on Windows 10.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: AGD2 on 19 Jun 2017, 19:57
Quote
No, but in theory it should be trivial to make such command, and even save in-game changes to config.

Great, that would be useful.

Quote
Does fullscreen mode work from the start if you set it in winsetup?
Also, what is your operating system? Earlier we found that D3D may not work well on Windows 10.

No, it doesn't seem to work if I set it in winsetup.exe and then run the game from there, either. I'm using Windows 10 64-Bit.

Is it possible that the RenderAtScreenResolution can be made to work with Open GL so that higher resolution character sprites can be used? That would bypass the need to use D3D.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 19 Jun 2017, 20:56
Is it possible that the RenderAtScreenResolution can be made to work with Open GL so that higher resolution character sprites can be used? That would bypass the need to use D3D.

It should work with OpenGL already, does not it for you? I do not remember if I tested that properly though.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: AGD2 on 20 Jun 2017, 12:35
It should work with OpenGL already, does not it for you? I do not remember if I tested that properly though.

Oh, right, sorry, I just tested it and yes it does. I had mistaken it for the entry that said "OpenGL renderer does not support individual sprite tinting and light levels."

Any word on the other issues/bugs, particularly 3, 5, and 6? If you need more info about any of those, or need to know how to replicate them, let me know.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 20 Jun 2017, 22:43
One small inconsistency I noticed. Switching to windowed mode usually - but not always - puts the game in a window that is much smaller than the one I specified in Winsetup.exe. I can't reproduce this 100% of the time yet, but this definitely does happen.

I am also noticing that when I add new music, the music never plays. I have to choose the "REBUILT ALL FILES" option before the game will actually play the music. The music plays fine when I select it in the editor. I haven't tried this with sound effects yet.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 20 Jun 2017, 23:13
I am also noticing that when I add new music, the music never plays. I have to choose the "REBUILT ALL FILES" option before the game will actually play the music. The music plays fine when I select it in the editor. I haven't tried this with sound effects yet.

This probably means that game cannot find files in AudioCache when running from editor, but takes it from audio.vox always.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 21 Jun 2017, 13:33
Weird. Importing new music seems to be working as designed now. So... ignore that feedback unless it comes up again.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 21 Jun 2017, 17:01
Trying to make character tinting work in OpenGL... kinda like how the Unavowed dialog options fit the failed OpenGL shader experiment...

(http://i.imgur.com/I17zTK3.png)



Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 21 Jun 2017, 21:54
Looks fine to me! :-D
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 22 Jun 2017, 01:35
3 hours of head banging later, when I was beginning to think everything is futile........

(http://i.imgur.com/UrH8N5Y.png)

Just kidding with the teal color; using actual tint's RGB is not a problem. But I need to understand how to use use saturation in this calculations...

But geez, that it so hard to find a right solution even on Internet when you have 0% knowledge of things, and people post tutorials always forgetting to explain some nuance.
That would certainly be easier if I could spare more time learning this shaders stuff properly, which I cannot do right now :(.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 22 Jun 2017, 12:11
Hah. Awesome. Getting closer at least!

Seriously. Thank you for this. Sorry this is such a tricky problem!
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 22 Jun 2017, 12:44
I brought this on myself.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: AGD2 on 22 Jun 2017, 14:55
Another thing I noticed is that pressing the Tilde (~) key to bring up the console results in a blank white console with no text in it. This happens for all three graphics drivers (D3D. OpenGL, and software).

Also, in addition to ogg vorbis speech audio files not playing, .ogv theora movie files aren't playing either when I run the compiled game from my Compiled/Windows directory. Strangely enough theora movies do play if I hit F5 to test the game from the editor. But ogg vorbis speech files don't play on either occassion.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 22 Jun 2017, 19:14
The problem with tinting is that there is no precise formula of what AGS is using in the code.
Software renderer uses Allegro blenders for tinting, but part of their implementation is written in ASM, which I do not know too well.
Direct3D uses shaders, but we only have them in compiled form (machine code). Perhaps if Chris Jones added original shader program text, but I am not seeing it anywhere in repositories.
I only know for certain that they work with HSV color instead of RGB. But for everything else I have to make guesses.

This is my current result so far:
(http://i.imgur.com/lcgXUnS.png)
Top is Direct3D, bottom is OpenGL.

At first I was changing only Hue part, and thought I got it right, you may see that in Roger's head and arms. But his white/grey body requires Saturation shift too (I guess), but most direct approach did not work well yet. It looks like there is a color "overflow" somewhere, but can't find mistake atm.

For the reference, this is my shader program:

Code: C++
  1. #version 130
  2. out vec4 gl_FragColor;
  3. uniform sampler2D textID;
  4. uniform vec3 tintHSV;       // this is HSV of a tint color (converted from RGB)
  5. uniform vec3 tintAmnTrsLum; // this is tint's Amount, custom Translucence and tint's Luminocity (last two are not used yet)
  6.  
  7. // Two functions which convert between HSV and RGB, I copied them from some tutorial
  8. vec3 rgb2hsv(vec3 c)
  9. {
  10.         vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
  11.         vec4 p = mix(vec4(c.bg, K.wz), vec4(c.gb, K.xy), step(c.b, c.g));
  12.         vec4 q = mix(vec4(p.xyw, c.r), vec4(c.r, p.yzx), step(p.x, c.r));
  13.         float d = q.x - min(q.w, q.y);
  14.         float e = 1.0e-10;
  15.         return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
  16. }
  17.  
  18. vec3 hsv2rgb(vec3 c)
  19. {
  20.         vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
  21.         vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
  22.         return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
  23. }
  24.  
  25. // Main process
  26. void main()
  27. {
  28.         vec2 coords = gl_TexCoord[0].xy;
  29.         vec4 src_col = texture2D(textID, coords); // this is the original sprite color
  30.         vec3 src_hsv = rgb2hsv(src_col.xyz); // we convert original sprite color to HSV
  31.  
  32.         // Here we change Hue, and I **think** that this part is correct;
  33.         // although maybe not very optimized with the if/else
  34.         if (abs(tintHSV.x - src_hsv.x) > 0.5)
  35.                 src_hsv.x = fract(src_hsv.x + (tintHSV.x + 1.0 - src_hsv.x) * tintAmnTrsLum.x);
  36.         else
  37.                 src_hsv.x = abs(fract(src_hsv.x + (tintHSV.x - src_hsv.x) * tintAmnTrsLum.x));
  38.         // Here I tried to change Saturation same way, but it did not work well yet
  39.         src_hsv.y = src_hsv.y + (tintHSV.y - src_hsv.y) * tintAmnTrsLum.x;
  40.  
  41.         // Final color is a combination of the transformed color and original Alpha (because we must keep same sprite's shape)
  42.         vec3 new_col = hsv2rgb(vec3(src_hsv.x, src_hsv.y, src_hsv.z));
  43.         gl_FragColor = vec4(new_col, src_col.w);
  44. }
  45.  
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Scorpiorus on 22 Jun 2017, 19:30
I've just found two shader source files in the repository that seem related to tinting.
Or is there any additional source code that's missing?

https://github.com/adventuregamestudio/ags/blob/master/Engine/resource/tintshader.fx
https://github.com/adventuregamestudio/ags/blob/master/Engine/resource/tintshaderLegacy.fx
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 22 Jun 2017, 19:32
I've just found two shader source files in the repository that seem related to tinting.
Or is there any additional source code that's missing?

https://github.com/adventuregamestudio/ags/blob/master/Engine/resource/tintshader.fx
https://github.com/adventuregamestudio/ags/blob/master/Engine/resource/tintshaderLegacy.fx

Oh crud, that's it. I mistook them for "fxo", which is compiled format.
I'll take a look, thank you!

Argh, if I'd just notice them in time that would save me couple of days...
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 22 Jun 2017, 20:54
Ok, thanks goodness, this seem be working now:

(http://i.imgur.com/i30TCva.png)



EDIT: Build download:
http://www.mediafire.com/file/ovoayko4qfe7p2m/acwin-3.4.1--opengl--tinting.zip

I will make a proper new release after fixing few more bugs.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Scorpiorus on 22 Jun 2017, 21:21
Awesome!
And great work with implementing and polishing the OpenGL graphics renderer!
I sense it may well become a primary renderer, seeing as people are starting to have issues with using the 9th version of Direct3D API on the recent versions of MS Windows, somewhat similar to how it was with DirectDraw in the past.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 22 Jun 2017, 21:25
Just tested tinting and it works perfectly in OpenGL!

Tinted dark!
(http://www.wadjeteyegames.com/temp/tintdark.png)

Tinted purple!
(http://www.wadjeteyegames.com/temp/tintpurple.png)

Tinted yellow!
(http://www.wadjeteyegames.com/temp/tintyellow.png)

Many thanks. :)
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 23 Jun 2017, 22:12
So I just got some new music and the issue I reported before has definitely resurfaced. Newly imported music will NOT play unless I select "rebuilt all files" first. This definitely didn't happen before.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 24 Jun 2017, 23:19
Build with OpenGL supporting both tinting and light levels: http://www.mediafire.com/file/0cseqkeom9jtsva/acwin-3.4.1--opengl--tinting2.zip

That was scary to find out that those were not implemented, but OpenGL covers most of drawing now. There is still one function that does not work in OpenGL, which is supposed to clear black screen. I think that may be an issue only when ShakeScreen is used.

Now I will be addressing other bugs reported above.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 25 Jun 2017, 00:04
Hm. I use shakescreen quite often in Unavowed, and I haven't seen any problems.

Thanks again for your hard work!
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 25 Jun 2017, 00:23
Hm. I use shakescreen quite often in Unavowed, and I haven't seen any problems.

I think someone reported this in yours bugs thread couple of days ago, that there are black lines remaining on screen after shaking, or something like that.

Anyway, I think you need to have black borders to see a difference (run fullscreen without stretching game to max somehow, for example).

EDIT: Hmm, actually, disregard that. OpenGL does viewport clipping, so nothing from the game could be drawn over black borders.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 25 Jun 2017, 05:01
Also, in addition to ogg vorbis speech audio files not playing, .ogv theora movie files aren't playing either when I run the compiled game from my Compiled/Windows directory. Strangely enough theora movies do play if I hit F5 to test the game from the editor.

This is the same problem as we had with FLIC videos after upgrade of Allegro library. It cannot read the video file if it is embedded in EXE. Temporary workaround is to place the file near game's exe.


EDIT: this build should have OGV fixed, hopefully -
http://www.mediafire.com/file/h6pfs813w7sc57t/acwin-3.4.1--theora-fixed.zip
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: AGD2 on 25 Jun 2017, 10:48
Yes, I can confirm that the latest acwin.exe fixes the issue with Theora videos not playing. Thanks!
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 27 Jun 2017, 12:31
Does it make sense to save windowed/fullscreen mode to config if it was changed in game? I have certain doubts of whether that will be convenient. One case is if there is an in-game menu where you can change it, but another is when user toggles it using key combination. Currently there is no way to distinguish these.

Why do people toggle mode at all?
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: monkey0506 on 27 Jun 2017, 13:47
I may toggle a game to a window from fullscreen if I want quick/easy access to my music player, Facebook, or something else which is distracting me from my distractions. I may wish to switch back to fullscreen for a more immersive experience though.

Personally, I don't think it should be persisted across save games, if that's what you're asking, but it does make sense to save that setting to the configuration file.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Crimson Wizard on 27 Jun 2017, 13:57
Personally, I don't think it should be persisted across save games, if that's what you're asking, but it does make sense to save that setting to the configuration file.

No, I mean configuration of course!
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: monkey0506 on 27 Jun 2017, 14:43
I figured that's what you meant, but just clarifying. :)
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 27 Jun 2017, 16:20
AGS 3.4.1 Beta 6
http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-Beta6/AGS-3.4.1-beta-6.zip
(also updated first post)

Changes since Beta 5:

Editor:
 - The speech.vox file is now not recompiled if game is quick-run (using F5). Engine is supposed to find newer files in the Speech folder.

Script:
 - Fixed few cases of possible compiler crashing when there is an unfinished statement in the end of the script (by Gurok).
 
Script API:
 - Added setter for System.Windowed property, letting to change it at runtime, switching between windowed and fullscreen modes.
 - Added System.RenderAtScreenResolution property to change sprite rendering mode at runtime.

Engine:
 - Made Tint and LightLevel work with OpenGL. NOTE: you need OpenGL 3.0 or higher support for these to work (you probably have it if your system's last update is not older than year 2008).
 - Fixed OpenGL had one extra row and column of black pixels displayed if "RenderAtScreenResolution" is disabled. (this was a recurring problem, that hopefully fixed for good)
 - Engine now tries to get voice files from the Speech folder first, and speech.vox later, when quick-run from the Editor.
 - Engine saves last Windowed and RenderAtScreenResolution mode states to user config file.
 - Fixed voice-over cannot be found if it is MP3 or OGG type.
 - Fixed audio clip could not be found in some cases if its bundled in audio.vox and game is quick-run from the Editor.
 - Fixed Theora OGV videos not playing if compiled into game EXE.
 - Fixed plugin API's function BlitSpriteTranslucent for software driver (by Scorpiorus).
 - Fixed in-game mouse cursor was restricted to the left-top corner of the screen during execution of game_start() script function.


Known issues still:

- In Direct3D mode, if RenderAtScreenResolution is OFF, the game misses one rightmost column and bottom row of pixels (since it is still stretched to proper rectangle, this might also cause minor image distortion). I know approximately where this bug is coming from, but could not yet find a correct way to fix it.
Title: Re: AGS 3.4.1 - Beta 5 -- new unstable version
Post by: Dave Gilbert on 27 Jun 2017, 16:22
The updates are coming fast and furious. THANKS! Dutifully downloading.

edit: or rather, I would be downloading if the link worked. :(
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 27 Jun 2017, 16:24
Fixed typo in the link. :tongue:
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: AGD2 on 28 Jun 2017, 04:11
Thanks for the update! These Open GL tint improvements are excellent. Gave it a test and most things seem to be resolved.

I did, however, notice that two issues are still outstanding:

1)

This issue existed in 3.4.0, but I didn't get around to reporting it earlier:  If a queued music piece starts playing while character speech audio is in progress, the music volume will jump back up to the normal volume level (in the middle of speech), rather than adhering to the SetAudioTypeSpeechVolumeDrop value.


This one's still happening. Here's a video demonstrating it.

https://youtu.be/Oe0UlOpH6po

At around 15 seconds, the female character starts speaking. The currently playing music has almost reached its end, and another music piece has already been queued to play after it. At 18 seconds, the character is still speaking, and the music ends. The new queued piece immediately kicks in and it spikes back up to normal (loud) volume, instead of detecting that speech is still playing and making the new music adhere to the value of SetAudioTypeSpeechVolumeDrop.


2)

The Escape key doesn’t work after you press CTRL. To re-enable the escape key, you need to press any other key in-game, other than CTRL.

I know this was an issue with Allegro 4. So, I just wanted to check if it's been resolved in Allegro 4.4 and whether a possible solution is now available after upgrading AGS to that version?


This has been an irritating quirk for some time in AGS. I presume this one hasn't yet been resolved in Allegro 4.4?

--EDIT--

Oh, and also this one's still an issue:

3)

Another thing I noticed is that pressing the Tilde (~) key to bring up the console results in a blank white console with no text in it. This happens for all three graphics drivers (D3D. OpenGL, and software).


And:

Quote from: Crimson Wizard
Quote from: AGD2
For me, pressing ALT+ENTER to make the game enter full-screen mode doesn't work properly with the Direct3D driver. I just get a black screen. Pressing ALT+ENTER to put the game back to windowed mode makes the game screen visible again. (Note that it DOES work with both the Software and Open GL drivers - only Direct3D has the problem). My video card is a relatively recent ROG STRIX- GeForce GTX 1080 with the latest drivers, so it shouldn't have any issues.

Does fullscreen mode work from the start if you set it in winsetup?
Also, what is your operating system? Earlier we found that D3D may not work well on Windows 10.

Something weird I just discovered when testing this again with the D3D driver, is that even if I run the game from winsetup.exe and leave the checkbox unmarked to run in windowed mode, it launches into the game in full-screen mode and the screen is entirely black from the get go... even without me pressing ALT+TAB to toggle.  This didn't used to happen in previous versions of AGS. Running the game from winsetup.exe would always display properly in with windowed and full-screen mode under D3D, even on Windows 10. Seems that something exclusive to this version has stopped full-screen D3D from working.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 28 Jun 2017, 16:44
Another thing I noticed is that pressing the Tilde (~) key to bring up the console results in a blank white console with no text in it. This happens for all three graphics drivers (D3D. OpenGL, and software).

That works for me. But console is printed with the predefined font number (0). What kind of font0 do you have in your game? Have you modified any of the new advanced parameters for it (like line spacing and vertical offset)?
Also, what is your game's color depth (just in case)?



Regarding everything else, I must take a break from AGS now for a couple of weeks. I will be able to look into these only after.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Alan v.Drake on 28 Jun 2017, 21:47
- In Direct3D mode, if RenderAtScreenResolution is OFF, the game misses one rightmost column and bottom row of pixels (since it is still stretched to proper rectangle, this might also cause minor image distortion). I know approximately where this bug is coming from, but could not yet find a correct way to fix it.

I tried taking a look, it seems those new SetupViewport() calls are somehow disrupting StretchRect making so it resizes incorrectly only giving 1 pixel on the last column and row.
I don't see why that should happen, I guess I'm missing something, I'm giving up for now...

Wait, I was wrong, the mishap happens somewhere when "OnSetNativeSize()" is called by D3DGraphicsDriver::SetNativeSize()...

- Alan
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 28 Jun 2017, 22:40
the mishap happens somewhere when "OnSetNativeSize()" is called by D3DGraphicsDriver::SetNativeSize()...
Could you elaborate, please?

I also found that if surface is not stretched at all (game is run in window of native game's size), this problem does not occur. So this is a problem of pixels translating into backbuffer.

I was wondering, if it is particular row and column affected, so I tried increasing native surface by few pixels, but result was practically same, last row of game pixels is drawn as a very thin line. So I am hesitating between surface stretching and sprite rendering on native surface.

There is also such thing as texel-to-pixel translation which is addressed by using "pixelOffset" variables. I noticed that they are used wrongly in case of native surface (they must be equal to 0.5,0.5 always in that case), but fixing that did not fix the problem, so there is something else.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Alan v.Drake on 28 Jun 2017, 23:17
the mishap happens somewhere when "OnSetNativeSize()" is called by D3DGraphicsDriver::SetNativeSize()...
Could you elaborate, please?

Try commenting OnSetNativeSize() and see the result, it should look right (check also what happens on fadescreen).
I didn't try on the latest build, I need to update the libraries for the "play_fli_pf" support, I'll give it another try tomorrow.

I can't figure why there should be coordinate translations on a StretchBlt, in theory it should just stretch the surface from a to b. This is way more complicated than it should be.

- Alan
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 28 Jun 2017, 23:38
I can't figure why there should be coordinate translations on a StretchBlt, in theory it should just stretch the surface from a to b. This is way more complicated than it should be.

Are you referring to how software filter works?... because only that filter uses coordinate translation before calling StretchBlt.
That translation is also applying offset if e.g. image is centered on larger screen. Since same coordinate conversion was used in few places in the engine (also in mouse routines) I decided to pick these conversions out into translation class.

...As for why this conversion is performed on every function call - that is an interesting question... That code is rather old, I wrote it when implementing free display modes. Back then I did not understand everything there well, so I was experimenting, moving functionality between renderer and filter classes, and could leave something silly there by mistake...
All this depends on whether that function may receive differently sized bitmaps and different coordinates in arguments. If they are always guaranteed to be of same size and position, then it is better to use precalculated rectangles instead.


Try commenting OnSetNativeSize() and see the result, it should look right (check also what happens on fadescreen).

But I can confirm that not calling OnSetNativeSize() makes the issue go away. Cannot understand why yet though.

EDIT: Ummmm.... actually.... it "works" because when you comment OnSetNativeSize out, Direct3D fails to initialize, and one of the other renderers initializes instead (OpenGL has priority in the latest build), which do not have same problem.
OnSetNativeSize sets _srcRect variable which is important for successful work of a renderer.


UPD: There is either something wrong with direct3ddevice->StretchRect call, or the complex issue which depends on several effects.
For example, if I make it always stretch to same native size (1:1) then it draws it correctly with no pixels missing.
The fraction of "lost" pixel also varies. If stretching is 1:2, then mistake equals to half of pixel, if it is 1:3 and higher, then it's more (until only a tiny part of pixel remains).
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: AGD2 on 29 Jun 2017, 01:54
Quote
That works for me. But console is printed with the predefined font number (0). What kind of font0 do you have in your game? Have you modified any of the new advanced parameters for it (like line spacing and vertical offset)?
Also, what is your game's color depth (just in case)?

Font 0 is a pretty small TTF font, but it's there. In previous versions, I'm sure it used the larger Font 3 (TTF), which is the same font I had set up in the editor for the "Custom text-window GUI" setting. I haven't since modified any of the new advanced font parameters. Maybe having a way to set the console font independent of any other font would work best? The color depth is 32-bit.

Quote
Regarding everything else, I must take a break from AGS now for a couple of weeks. I will be able to look into these only after.

No worries!
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Alan v.Drake on 29 Jun 2017, 07:45
EDIT: Ummmm.... actually.... it "works" because when you comment OnSetNativeSize out, Direct3D fails to initialize, and one of the other renderers initializes instead (OpenGL has priority in the latest build), which do not have same problem.
OnSetNativeSize sets _srcRect variable which is important for successful work of a renderer.

Well, back to square one then. This stuff used to work, so the answer lies here somewhere

- Alan
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: monkey0506 on 29 Jun 2017, 10:15
This stuff used to work, so the answer lies here somewhere

(http://img12.deviantart.net/4f88/i/2010/268/7/7/the_truth_is_out_there_by_thyrring-d2zg8fp.jpg)
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 29 Jun 2017, 14:07
Well, back to square one then. This stuff used to work, so the answer lies here somewhere

Can you point out a commit where it was working? Or was it your Draconian edition? I did not have time to look much back in history yet.

E: I am using this room background to test this issue (it also helped to see pixel distortion when I was working on OpenGL):
(http://i.imgur.com/zdinoKy.png)

Also, I suggest moving the technical discussion to Engine development forum, or Github issue tracker; this place is to announce releases and receive user feedback.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Dave Gilbert on 29 Jun 2017, 14:46
Another thing I noticed is that pressing the Tilde (~) key to bring up the console results in a blank white console with no text in it. This happens for all three graphics drivers (D3D. OpenGL, and software).[/b]
always display properly in with windowed and full-screen mode under D3D, even on Windows 10. Seems that something exclusive to this version has stopped full-screen D3D from working.

This works fine for me on all drivers, but stab in the dark idea. Is it somehow possible to accidentally set the text color of the console window text to WHITE?
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 29 Jun 2017, 15:54
This works fine for me on all drivers, but stab in the dark idea. Is it somehow possible to accidentally set the text color of the console window text to WHITE?

That was my first guess, but it looks like it has hardcoded black-on-white colors.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Dave Gilbert on 01 Jul 2017, 00:15
Unsure if this is the right place to post this, but I discovered an issue with the OpenGL driver and the current Steam plugin. While the Steam overlay runs fine, the usual popups do not appear.

Here's an example of what I mean. This is my opening splash screen running in Direct3D mode:

(http://www.wadjeteyegames.com/temp/steamoverlay.jpg)
(full sized version here (http://www.wadjeteyegames.com/temp/steamoverlay.jpg))

It's hard to see in this image, but the popup in the lower right is what Steam users expect to see when they launch a game. Achievements also appear the same way. With the OpenGL driver enabled, it doesn't appear.

I will also point Michael Rittenhouse to this post, since he wrote the steam plugin!
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 01 Jul 2017, 04:33
Unsure if this is the right place to post this, but I discovered an issue with the OpenGL driver and the current Steam plugin. While the Steam overlay runs fine, the usual popups do not appear.

This depends on whether this overlay is drawn upon AGS window, or in its own overlaying window. In the first case plugin may be responsible for this, but guess only plugin author can tell.
In the second case that may be an issue with windows Z-order.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: monkey0506 on 01 Jul 2017, 06:14
AGSteam doesn't do anything special in showing the overlay/pop-ups, that is handled entirely by the Steamworks backend. You may check how GOG Galaxy draws its overlay, though honestly I have no idea if it's the same as Steam (the Steamworks API doesn't include access to the sorce code, just the interface). That said, if it works on one DirectX, I don't see why it shouldn't work on OpenGL. Tons of Steam games use OpenGL. I'll ask about it in the private Steamworks dev forums and see if anyone has had similar symptoms.

P.S. Dave, to clarify, the overlay itself still works, just not the pop-ups?
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Dave Gilbert on 01 Jul 2017, 11:45
Huh. I loaded up my game this morning to check and... it works perfectly now? I double checked and it IS in openGL mode. This seems to be a recurring issue with me. Maybe my computer just needed a reboot. Very strange. Sorry to waste your time with this.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: monkey0506 on 01 Jul 2017, 14:25
Glad to hear that it's working, but "intermittent" is the bane of my existence. :-X Let me know if it resurfaces.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 25 Jul 2017, 22:05
Hello, just wanted to say that I got very much distracted from AGS in this month. I will be back to finish this beta starting from this week, and hopefully that won't take much. I recall there were just couple of bugs I wanted to look into, need to remember what they were first.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Crimson Wizard on 11 Aug 2017, 21:27
This issue existed in 3.4.0, but I didn't get around to reporting it earlier:  If a queued music piece starts playing while character speech audio is in progress, the music volume will jump back up to the normal volume level (in the middle of speech), rather than adhering to the SetAudioTypeSpeechVolumeDrop value.[/b]

This one's still happening. Here's a video demonstrating it.

https://youtu.be/Oe0UlOpH6po

At around 15 seconds, the female character starts speaking. The currently playing music has almost reached its end, and another music piece has already been queued to play after it. At 18 seconds, the character is still speaking, and the music ends. The new queued piece immediately kicks in and it spikes back up to normal (loud) volume, instead of detecting that speech is still playing and making the new music adhere to the value of SetAudioTypeSpeechVolumeDrop.

This seem to be an old issue, from the looks of the code it occurs when any sound starts playing during the voice-over, because volume drop is only applied to clips playing at the moment when speech starts.
For example, even if you start a new music with .Play() during voice-over it won't be applied. Also, if you adjust volume drop property during voice-over, it also won't be applied until next line.
Title: Re: AGS 3.4.1 - Beta 6 -- new unstable version
Post by: Dave Gilbert on 11 Aug 2017, 22:09
I originally posted this in the wrong thread!

One odd glitch I'm noticing. If my computer has been on for a very long time (say, I leave it on overnight) and then I compile and run my game, the game will not accept ANY keyboard input. No escape, no press-key-to-advance-dialog, no nothing. I can't even type in names for save files. The only input it accepts is the mouse button. Rebooting my computer fixes the problem every time.

This could be an issue with my computer, but it's a problem that only surfaced with AGS 3.4.0. As a test I switched over to to a game compiled with earlier versions (before I rebooted, obviously) and they accepted keyboard inputs just fine.
Title: Re: AGS 3.4.1 - Beta 7 -- new unstable version
Post by: Crimson Wizard on 21 Aug 2017, 17:05
A very small update, fixing few recently reported bugs. I think this should be the last beta, want to make final release already. There are few known minor issues, but these may be addressed in future patches, whoever makes them.

AGS 3.4.1 Beta 7
http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-Beta7/AGS-3.4.1-beta-7.zip
(also updated first post)

Changes since Beta 6:

Engine:
 - Fixed volume drop was not applied to audio clips which begin playing during speech voice-over (a very old bug).
 - Fixed Game.SetAudioTypeSpeechVolumeDrop did not affect currently playing clips until next voice-over begins.
 - Fixed engine was trying to locate "My Documents" folder on Windows Vista and higher even though it did not need it, and reporting internal error if such folder was not found, even though "Saved Games" folder is used instead.
 - Added missing stubs for agsjoy plugin.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: NicolaGs on 21 Aug 2017, 17:39
Thanks Crimson for this release.

I'd like to report an issue with OpenGL (don't know if it's a bug) : VSync seems to be ineffective.

While using VSync with Direct3D/Internal renderer allows to get rid of tearing effect quite perfectly, but this tearing effect is always present with OpenGL (best seen on scrollings), VSync ON or OFF...
I tried it on 3 different PC (Win 7 each time), and always got "not smooth" scrollings.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 21 Aug 2017, 17:57
I'd like to report an issue with OpenGL (don't know if it's a bug) : VSync seems to be ineffective.

While using VSync with Direct3D/Internal renderer allows to get rid of tearing effect quite perfectly, but this tearing effect is always present with OpenGL (best seen on scrollings), VSync ON or OFF...
I tried it on 3 different PC (Win 7 each time), and always got "not smooth" scrollings.

Hmm, maybe it was not implemented, I will look into this.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 21 Aug 2017, 21:12
Thanks for the update, CW! I've tested it briefly, and I'm still running into a few issues. Here are my latest findings:

1)
Quote
- Fixed volume drop was not applied to audio clips which begin playing during speech voice-over (a very old bug).
 - Fixed Game.SetAudioTypeSpeechVolumeDrop did not affect currently playing clips until next voice-over begins.

These fixes aren't working on my end. In this new build, the music volume doesn't drop at all, prior to (or during) character speech. It remains the same volume throughout.

2)
On Windows 10, I'm still getting a black screen when running the game in full-screen mode with the Direct3D driver. I can hear the music and sound, but I get no visuals - like the canvas is black. It happens both when running in full-screen mode initially, and also when toggling to full-screen from windowed mode with Alt+Enter. It displays fine in Direct3D windowed mode, just not in full-screen mode. Direct3D full-screen mode definitely used to work on Win10 in the previous AGS editor version, prior to OpenGL support being added, so it's got to be something specific to this build.

3)
Quote
The Escape key doesn’t work after you press CTRL. To re-enable the escape key, you need to press any other key in-game, other than CTRL.

This now seems to be fixed. I didn't see it listed in your post above, but thanks a million! Was it an intentional fix or a side-effect? In any case, it was a source of much frustration, so I'm glad to see it gone after plaguing me for a decade. :)

4)
Still getting the issue with the debug console text not being present. To recap: The game's color depth is 32-bit. Font 0 is a pretty small TTF font, but it's there. In previous versions, I'm sure it used the larger Font 3 (TTF), which is the same font I had set up in the editor for the "Custom text-window GUI" setting. I haven't since modified any of the new advanced font parameters. Maybe adding a way for users to set a specific console font/color in game_start function would be best?

It was also suggested in an earlier post that perhaps the font was set to white. Is that possible?

Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 21 Aug 2017, 21:26
1)
Quote
- Fixed volume drop was not applied to audio clips which begin playing during speech voice-over (a very old bug).
 - Fixed Game.SetAudioTypeSpeechVolumeDrop did not affect currently playing clips until next voice-over begins.

These fixes aren't working on my end. In this new build, the music volume doesn't drop at all, prior to (or during) character speech. It remains the same volume throughout.

What drop value you have set for audio type, and do you change it in script somewhere?
I tested again, it works for me. Could anyone else try this out?


Direct3D full-screen mode definitely used to work on Win10 in the previous AGS editor version, prior to OpenGL support being added, so it's got to be something specific to this build.
Does it work now when you use 3.4.0 or previous 3.4.1 beta?


Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 21 Aug 2017, 23:05
Quote from: Crimson Wizard
What drop value you have set for audio type, and do you change it in script somewhere?
I tested again, it works for me. Could anyone else try this out?

I have this line in both the game_start function and in the on_event eEventRestoreGame script:

Code: Adventure Game Studio
  1. Game.SetAudioTypeSpeechVolumeDrop(eAudioTypeMusic, 45);

Quote from: Crimson Wizard
Does it work now when you use 3.4.0 or previous 3.4.1 beta?

Hmmm I just loaded up 3.4.0 and can confirm that it didn't work in that build either. I recall it working relatively recently, so I'm not sure what the issue could be. Probably something related to my own system, though.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 21 Aug 2017, 23:10
Quote from: Crimson Wizard
Does it work now when you use 3.4.0 or previous 3.4.1 beta?

Hmmm I just loaded up 3.4.0 and can confirm that it didn't work in that build either. I recall it working relatively recently, so I'm not sure what the issue could be. Probably something related to my own system, though.

There were multiple reports up to date that Direct3D 9 mode just does not work well on Windows 10, with any AGS games.
Do you have VSync enabled? I heard a suggestion before that it may help. Not sure myself.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 22 Aug 2017, 21:33
Yeah, the V-sync setting seems to make no difference at all in regards to this issue.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 25 Aug 2017, 02:41
@AGD2, regarding the console problem you are having, do you actually build your game in debug mode? Just wanted to double check that.
Also, I do not remember if I asked before, have you tried replacing font 0 to something else (another TTF or WFN font) and see if that would work?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: monkey0506 on 25 Aug 2017, 04:15
Running Beta 7 on Windows XP, I get the following crash when closing a window using the red 'X' in the corner of the window:

Quote
---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x081019EF ; program pointer is +9904, ACI version , gtags (0,12)

AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and post the details on the AGS Technical Forum.



Most versions of Windows allow you to press Ctrl+C now to copy this entire message to the clipboard for easy reporting.

An error file CrashInfo.dmp has been created. You may be asked to upload this file when reporting this problem on the AGS Forums. (code 0)
---------------------------
OK   
---------------------------

This is Heroine's Quest on Steam, I'm investigating the overlay not appearing when running from the 3.3.0 engine with either renderer. I get nearly the same error if exiting the game from the title menu, except it references a line in the GlobalScript.asc.

Unless I'm mistaken "program pointer is +9904" is only set immediately before calling "exit(EXIT_NORMAL);", so why would this be crashing? I can upload the crash dump if it's helpful.

Edit: If it's relevant, I've completely removed the code from AGS_EngineShutdown in the plugin and still got the same error.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 25 Aug 2017, 08:36
I'm curious if there are any updates on the issue that the DirectX 9 driver doesn't work on certain Windows 10 systems?
Title: Re: AGS 3.4.1 - Beta 7 -- new unstable version
Post by: Vincent on 25 Aug 2017, 11:21
I am sorry for asking, what it is addiction about?

- Added missing stubs for agsjoy plugin.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 25 Aug 2017, 14:49
I am sorry for asking, what it is addiction about?

- Added missing stubs for agsjoy plugin.

It makes game run if plugin is missing, although joystick won't work. This is mainly useful for Linux, where plugin does not work yet.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: morganw on 26 Aug 2017, 13:36
I'm curious if there are any updates on the issue that the DirectX 9 driver doesn't work on certain Windows 10 systems?
I've not tested it out, but apparently installing the full DirectX 9 runtime package can restore compatibility with Windows 10.
https://www.microsoft.com/en-us/download/details.aspx?id=8109 (https://www.microsoft.com/en-us/download/details.aspx?id=8109)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 26 Aug 2017, 22:56
@AGD2, regarding the console problem you are having, do you actually build your game in debug mode? Just wanted to double check that.
Also, I do not remember if I asked before, have you tried replacing font 0 to something else (another TTF or WFN font) and see if that would work?

Interesting. I had been compiling the game with debug mode off, but I have a keycode in-game that allows me to set game.debug_mode to true, so that I can enable/disable it at will, while testing.

I just tried changing the "Enable Debug Mode" setting to "true" in the editor, and then re-compiling. This fixed the issue. (I didn't need to re-import or change any fonts). So I can confirm that the problem only surfaces if you compile with debug mode off and then turn it on in-game and then invoke the console... which is still an issue.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 27 Aug 2017, 21:53
Just downloaded the new version! Will test it in more detail later, but just wanted to say that the unresponsive keyboard issue I reported earlier still remains. As before, rebooting my computer fixes the problem.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 31 Aug 2017, 08:58
I had been compiling the game with debug mode off, but I have a keycode in-game that allows me to set game.debug_mode to true, so that I can enable/disable it at will, while testing.

I just tried changing the "Enable Debug Mode" setting to "true" in the editor, and then re-compiling. This fixed the issue. (I didn't need to re-import or change any fonts). So I can confirm that the problem only surfaces if you compile with debug mode off and then turn it on in-game and then invoke the console...

Aaaah, yes, this is what I suspected. Well, that should not be a problem to fix then.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Monsieur OUXX on 31 Aug 2017, 09:16
Thanks a lot for your gigantic work CW.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 04 Sep 2017, 00:11
Can anyone else tell if volume drop during voice-over works in the latest build, or not?

I could not reproduce the issue. I tried -
1) Setting volume drop in audio properties.
2) Changing volume drop value in game_start with script command.
3) Changing volume drop to random values in repeatedly_execute_always (with timer), which also changed it during voice-over.

It works for me in all cases.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 04 Sep 2017, 18:19
I think I've narrowed it down.

If I move the line:

Code: Adventure Game Studio
  1. Game.SetAudioTypeSpeechVolumeDrop(eAudioTypeMusic, 45);

...from the globalscipt's game_start function, into my Title-Screen's room script (room_Load function), then everything works as intended with no issues at all.

It seems that the game bypasses Game.SetAudioTypeSpeechVolumeDrop commands if they're put in game_start function.

I also have a Game.SetAudioTypeSpeechVolumeDrop line that calls SetAudioTypeSpeechVolumeDrop in the on_event eEventRestoreGame script, which doesn't seem to work either. Might want to check that, too.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 04 Sep 2017, 18:29
Meanwhile, I made a fix to console, but that required a tricky workaround, because it has to detect dynamic change to "game.debug_mode" variable, so I thought I better upload it for quick test:
http://www.mediafire.com/file/j59xyk20jev3lx7/acwin_dynamicconsole_fix.zip



If I move the line:

Code: Adventure Game Studio
  1. Game.SetAudioTypeSpeechVolumeDrop(eAudioTypeMusic, 45);

...from the globalscipt's game_start function, into my Title-Screen's room script (room_Load function), then everything works as intended with no issues at all.

It seems that the game bypasses Game.SetAudioTypeSpeechVolumeDrop commands if they're put in game_start function.

I also have a Game.SetAudioTypeSpeechVolumeDrop line that calls SetAudioTypeSpeechVolumeDrop in the on_event eEventRestoreGame script, which doesn't seem to work either. Might want to check that, too.

Well, it works for me when I set it in game_start...
Could you send me a compiled game which has this issue?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 05 Sep 2017, 06:59
Meanwhile, I made a fix to console, but that required a tricky workaround, because it has to detect dynamic change to "game.debug_mode" variable, so I thought I better upload it for quick test:
http://www.mediafire.com/file/j59xyk20jev3lx7/acwin_dynamicconsole_fix.zip

Just tried it and yes, this resolves the issue. Thanks!

Well, it works for me when I set it in game_start...
Could you send me a compiled game which has this issue?

Check your PMs.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 05 Sep 2017, 09:26
Well, it works for me when I set it in game_start...
Could you send me a compiled game which has this issue?

Check your PMs.

Alright, I did a little debugging, and this is what I got. There are several changes to audio drop made since game start:
- Audio type 2 set to drop 20 from game_start in module #7 (module index is zero-based).
- Audio type 3 set to drop 20 from game_start in module #7.
- Audio type 1 set to drop 20 from game_start in module #7.
- Audio type 2 set to drop 45 from game_start in module #37
- Audio type 2 set to drop 0 from room_AfterFadeIn function (room #99).

If audio type 2 is music, then that explains why it does not drop in the start.


PS. Completely unrelated, but engine also logs thousands of sprite cache errors while running this game. There is some bugs in the sprite system of AGS which were never properly attended, they do not seem to cause any direct issues, but I am a bit worried. It seem to start behave strangely when a very big sprites are loaded and then unloaded during the game (probably dynamic sprites). Setting sprite cache to higher values (I tried 512 MB) made those errors go away.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 05 Sep 2017, 16:31
Interesting. I usually always hold the escape key to skip the introduction sequence (room 99), which must have bypassed the Game.SetAudioTypeSpeechVolumeDrop call in that location (it was located inside a StartCutscene/Endcutscene block) and thus, I didn't notice it before. The recent betas must have started calling the function, despite me still holding the Escape key to skip past it. I've now shuffled some of the lines around to work around this.

Anyhow, after resolving that, I'm still getting the issue with the music audio volume level spiking back up, when a queued music piece starts playing, rather than staying at the value set in Game.SetAudioTypeSpeechVolumeDrop(eAudioTypeMusic). I'll PM you some instructions on where to test that.

Quote
PS. Completely unrelated, but engine also logs thousands of sprite cache errors while running this game. There is some bugs in the sprite system of AGS which were never properly attended, they do not seem to cause any direct issues, but I am a bit worried. It seem to start behave strangely when a very big sprites are loaded and then unloaded during the game (probably dynamic sprites). Setting sprite cache to higher values (I tried 512 MB) made those errors go away.

Yeah, this is probably due to the combat system, as it uses a lot of dynamic sprites. I'll just distribute the game with the sprite cache set to the highest possible value by default.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 05 Sep 2017, 17:11
My problem was that the music in that room is not very loud on its own so it was hard for me to tell if volume changes or not. I will try with the new test shortly.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 05 Sep 2017, 17:31
If your speakers have independent volume controls, try turning those up (or otherwise in Windows). Works for me.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Edmundito on 06 Sep 2017, 06:20
Hello, I had an issue with the OpenGL driver that may be worth investigating. I had some of the unusual conditions.

- I was testing a graphically intense game for the usual AGS standard: 60fps, 640x480, occasional full screen animation effects, The game was running in windowed mode.
- I was running on a Windows VM inside a mac laptop (using Parallels desktop), keep in mind that I've been playing AGS games this way for the past 5 years without any problems.
- Laptop is about 6 years old, AMD Radeon HD 6750M graphics processor with 512MB of GDDR5

The graphics "card" burned out. This could be coincidental as the laptop was old, but this was the first time I was playing a game with the OpenGL driver.

If you would like more info, please feel free to DM me here or find me in the AGS discord.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 06 Sep 2017, 09:48
Hello, I had an issue with the OpenGL driver that may be worth investigating. I had some of the unusual conditions.
<...>
If you would like more info, please feel free to DM me here or find me in the AGS discord.

I do not even know what I can do with this information. How am I supposed to investigate that, I am clueless.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 06 Sep 2017, 13:50
Found a weird logical issue in how volume is applied to the sound clips in AGS. For some reason any kind of preset modifiers are ignored when the playback starts. Since I would not like to make any drastic changes to that code at the moment, I just modified the order at which volume drop is set to queued clip (rightt after playback started, as opposed to just before it started):

http://www.mediafire.com/file/9uw56dp9jlixfo3/acwin_queuedmusicdrop_fix.zip
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 06 Sep 2017, 17:06
Thanks for your diligence in investigating this issue, CW. This fix works like a charm, and the music drop volume seems to now transition across perfectly in all the locations I have tried it in.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: selmiak on 06 Sep 2017, 19:10
Talking about audio in AGS... is it possible to somehow cache or buffer some 5-10 seconds of the current music playing when a screen transition is about to happen? This music stuttering when changing rooms is making me uncomfortably angry every time :P
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 06 Sep 2017, 19:40
Talking about audio in AGS... is it possible to somehow cache or buffer some 5-10 seconds of the current music playing when a screen transition is about to happen? This music stuttering when changing rooms is making me uncomfortably angry every time :P

It is possible in theory, but I am not doing that now when this release is long overdue.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 06 Sep 2017, 21:02
Talking about audio in AGS... is it possible to somehow cache or buffer some 5-10 seconds of the current music playing when a screen transition is about to happen? This music stuttering when changing rooms is making me uncomfortably angry every time :P
This should not normally be necessary; unless your computer is already heavily overloaded and/or obsolete or you're doing something really weird with AGS memory requirements, I've never had complaints about music stuttering on a room change.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: NicolaGs on 06 Sep 2017, 21:17
I encountered sound stuttering in many AGS games and on several PC, not being old. And I've seen several threads talking about this issue. (but it seems indeed normal not to add another modification to this current version)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: selmiak on 06 Sep 2017, 21:32
hehe, just mentioning it, in the wrong place though :P
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Snarky on 06 Sep 2017, 22:23
It's a known AGS issue, but it occurs mainly in DirectDraw mode. With the recent fixes to Direct3D and with the OpenGL renderer, it should be increasingly irrelevant.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: selmiak on 07 Sep 2017, 11:12
oh nice. Though increasingly irrelevant is not fixed ;)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 07 Sep 2017, 11:14
It's a known AGS issue, but it occurs mainly in DirectDraw mode. With the recent fixes to Direct3D and with the OpenGL renderer, it should be increasingly irrelevant.

I doubt driver selection will change anything about stutter during room transition, because that stutter is caused by loading next room data rather than displaying anything.

Stutter may be resolved by enabling audio processing on the separate thread (manually adding "threaded=1" into [sound] section of config), but that may cause desynchronization issues if game script is relying on audio position (also if music is playing during video playback, as a separate layer).
(Also its current implementation is causing issues on Linux)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 07 Sep 2017, 12:05
I'm curious if there are any updates on the issue that the DirectX 9 driver doesn't work on certain Windows 10 systems?
I've not tested it out, but apparently installing the full DirectX 9 runtime package can restore compatibility with Windows 10.
https://www.microsoft.com/en-us/download/details.aspx?id=8109 (https://www.microsoft.com/en-us/download/details.aspx?id=8109)

Just thought I should mention that I installed this and it didn't resolve the black screen issue for me with the AGS Direct 3D driver under Windows 10.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Snarky on 07 Sep 2017, 12:49
I doubt driver selection will change anything about stutter during room transition, because that stutter is caused by loading next room data rather than displaying anything.

I can't test now, but I did some pretty extensive testing (http://www.adventuregamestudio.co.uk/forums/index.php?topic=43383.msg605290#msg605290) back in the day, and concluded:

it doesn't happen if the graphics driver is set to Direct3D, and it happens far less (not at all in most games, barely at all in Egress) if the game is set to run in a window instead of full-screen.

Others have reported skipping on Direct3D, though, so there may be differences between computers in this respect. In any case, it clearly does matter (I have observed the difference), for whatever reason.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 07 Sep 2017, 15:43
I can't test now, but I did some pretty extensive testing (http://www.adventuregamestudio.co.uk/forums/index.php?topic=43383.msg605290#msg605290) back in the day, and concluded:

it doesn't happen if the graphics driver is set to Direct3D, and it happens far less (not at all in most games, barely at all in Egress) if the game is set to run in a window instead of full-screen.

Might be related to fade-in, although I've got and impression that blackout animation works slower with Direct3D.
In any case all this is very strange, because music position is kept updated every tick during fade effect.

Also, if you are running games with extensive animations, rising sprite cache size may help to reduce slowdowns.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: morganw on 07 Sep 2017, 20:49
I had the stuttering issue on room change when I used Windows 7, but the same games were fine once using Windows 10. I also thought it was a graphics driver issue, as I would get some general performance issues with anything using Direct3D. Using the threaded audio mode would fix it, or using WAV files for audio, so I think the issue was that the buffer for MP3 and OGG decoding wasn't updating before the next engine tick.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Edmundito on 08 Sep 2017, 06:00
Hello, I had an issue with the OpenGL driver that may be worth investigating. I had some of the unusual conditions.
<...>
If you would like more info, please feel free to DM me here or find me in the AGS discord.

I do not even know what I can do with this information. How am I supposed to investigate that, I am clueless.

Me neither. Would it help to have get a copy of the game to run any graphical performance monitoring?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 08 Sep 2017, 10:18
Me neither. Would it help to have get a copy of the game to run any graphical performance monitoring?

I can run it, but I do not know if that will help. Even if I see it overheats GPU or something, I would not even know what to do.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: morganw on 08 Sep 2017, 23:05
I would imagine the CPU and GPU share a heatsink, it might have just been an issue with Parallels.
http://kb.parallels.com/en/123268
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 10 Sep 2017, 05:46
One of our team members is having an issue with sound and music not playing in games compiled with the latest AGS betas. It used to work in previous builds (3.4.0 and earlier), and still works in older AGS games (he tested it with some titles).

He doesn't have a sound card, just an on-board one. And he's already tried changing all the different sound and music-related settings in winsetup, to no avail. Has anything changed in the latest 3.4.1 that might cause this?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 10 Sep 2017, 12:37
He doesn't have a sound card, just an on-board one. And he's already tried changing all the different sound and music-related settings in winsetup, to no avail. Has anything changed in the latest 3.4.1 that might cause this?

I do not recall any significant changes to audio playback itself. There were number of bugs related to engine not being to find particular clips in *.VOX, these errors fixed in 3.4.1.5 or *.6.
Is it the very latest beta game is compiled with? Does it matter if sound is WAV, ogg or mp3?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 10 Sep 2017, 17:03
I know it happened in the beta version before this current one. But I don't think he tried the game that was compiled in any earlier 3.4.1 builds. He had tried it under the the 3.4.0 compiled version, with no sound/music issues, though.

I don't think it makes a difference what kind of sound file it is (ogg, wav, mp3), because he was getting a pop-up message when running the game from winsetup, regardless of which combination of audios settings he selected. He had to change it to the "no Music" and "no Sound" winsetup options to prevent that message from appearing every time he launches the game.  I know he's running Windows 10 now, but may have previously been running Windows 7 when it last worked. I thought it may have been a windows 10 incompatibility/driver issue with his on-board sound card, but that doesn't explain why old (3.4.0 and earlier) AGS games still work on his system with full sound and music...
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 10 Sep 2017, 17:56
I don't think it makes a difference what kind of sound file it is (ogg, wav, mp3), because he was getting a pop-up message when running the game from winsetup, regardless of which combination of audios settings he selected. He had to change it to the "no Music" and "no Sound" winsetup options to prevent that message from appearing every time he launches the game.
What "popup message"?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Monsieur OUXX on 11 Sep 2017, 10:11
oh nice. Though increasingly irrelevant is not fixed ;)

Welp. Dave Gilbert said to never EVER use Direct Draw (and he said that severeal years ago). Since Dave Gilbert is like AGS-Jesus, you'll never catch me using Direct Draw anymore.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Snarky on 11 Sep 2017, 11:52
As a proud DirectDrawer, I had a tiny bit of schadenfreude when Direct3D stopped working on some people's computers (because of Windows 10, I think) and he had to tell them to switch to DirectDraw.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 11 Sep 2017, 20:00
As a proud DirectDrawer, I had a tiny bit of schadenfreude when Direct3D stopped working on some people's computers (because of Windows 10, I think) and he had to tell them to switch to DirectDraw.

Yep. Happy to eat my words here. Back in ye olde days of 2011, I would always tell people to ignore DirectDraw completely and focus on Direct3D, since DirectDraw was completely unsupported and didn't work on a large number of computers. The problem was so severe that I advocated removing DirectDraw completely from AGS. I'm happy I was ignored, because now... the opposite is true. Direct3D completely chokes on a number of computers and the only recourse is to switch to DirectDraw, which works completely fine. Why this happened is a mystery, especially when you consider that DirectDraw is STILL not supported and is positively ancient.

That said, now I'm an unrepentant OpenGLer. It works BEAUTIFULLY on everyone's system (so far)! I'm never going back! :D
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 12 Sep 2017, 07:51
So the previous big release of AGS was in the Windows 8 era, and correspondingly the editor splash page and icon were re-drawn in the style of Windows 8. Since we're currently at Windows 10 instead, for the upcoming release I suggest changing the splash and icon to either something resembling the Windows 10 style. We have plenty of good artists in the community, after all :)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 12 Sep 2017, 10:33
So the previous big release of AGS was in the Windows 8 era, and correspondingly the editor splash page and icon were re-drawn in the style of Windows 8. Since we're currently at Windows 10 instead, for the upcoming release I suggest changing the splash and icon to either something resembling the Windows 10 style. We have plenty of good artists in the community, after all :)

Too late for this release. Also there are people with opposite opinion:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=54726.msg636560198#msg636560198
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 12 Sep 2017, 13:28
Too late for this release. Also there are people with opposite opinion:
http://www.adventuregamestudio.co.uk/forums/index.php?topic=54726.msg636560198#msg636560198
Interesting. In that thread, Peter and Danvzare suggest a more retro-style icon (and nobody in the thread objects to that). I agree that that's a better choice.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Monsieur OUXX on 13 Sep 2017, 09:56
That said, now I'm an unrepentant OpenGLer.

What do you mean by that? It's possible to run AGS engine with OpenGL instead of DirectX ?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 13 Sep 2017, 11:01
Yes Monsieur OUXX, try this beta! 8-)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Grundislav on 13 Sep 2017, 17:51
Is it possible to increase the number of objects per room? I've hit the 40 object limit (map screen with several location icons) and could really benefit from bumping the limit up. It would make it a lot easier than using characters for icons, or making a duplicate room!
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 13 Sep 2017, 18:01
Heh. I ran into this problem a LOT in Puzzle Bots. Large levels with lots and lots of room objects. I'd find myself re-purposing older objects from earlier in the scene that weren't in use anymore. A drawbridge object that got blown up at the beginning of a level was then giving a new graphic and became a haystack that you found at the end. Fun times.

Anyway. Yeah. What Francisco said.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 13 Sep 2017, 18:04
Too late for this release! I am not adding anything else. I hoped to finish this six months ago.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Grundislav on 13 Sep 2017, 18:35
Fair enough! Could it maybe be fixed in a patch or the next update?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Snarky on 13 Sep 2017, 20:22
It'd probably be fairly easy, though quite tedious, to make a module for unlimited pseudo-objects (using Drawing Surfaces onto either the background or a holder object) with most/all of the same capabilities as real objects. The only thing that might be a bit challenging is the Z-order/baseline, but if all your objects have the same depth (or if depth doesn't matter, which it probably doesn't on a map screen) that won't be necessary.

Obviously if the limit is going to be lifted in the near future, this would be totally wasted effort.

If you don't have characters moving on your map screen, another alternative would be to use a GUI with buttons instead of a room with objects (since GUI controls are now unlimited), like in this thread (http://www.adventuregamestudio.co.uk/forums/index.php?topic=55179.0). The main drawback is probably having to recreate what you've already done from scratch.

Edit: Fixed fucked-up formatting.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Grundislav on 13 Sep 2017, 21:36
Nah, for now Dave's workaround is fine. Since not all the icons are visible at the same time, it's not a problem to just re-position them and change their graphics.

I doubt it'll be very common for anyone to have 40 objects in a room, so this isn't a high priority issue, but it might be something to consider for the future (and I'm glad it's no longer a 25 object limit like it was in the old days!)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Fribbi on 14 Sep 2017, 09:04
Click on this link > Error in fonts (https://imgur.com/a/11qFj)

As you can the little font "w" looks very weird in the speech fonts. 
I hope this will be fixed in the the update.

Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 14 Sep 2017, 10:16
Click on this link > Error in fonts (https://imgur.com/a/11qFj)

As you can the little font "w" looks very weird in the speech fonts. 
I hope this will be fixed in the the update.

Can you give the link to the font so that I could check it?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Fribbi on 14 Sep 2017, 18:39
The fonts are included with the latest AGS
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 14 Sep 2017, 20:50
The fonts are included with the latest AGS

Does this happen to every font, or particular font in some template? Are you using fonts exactly as they come with template, or reimported it, for example - to change the font size?
Do you have this issue in the editor only, or in game too?

I checked every template included with AGS. Font on your pic looks most like font0 from 9-verb template, but I do not experience same issue. Have anyone else seen something like that before?
E: Also, looking more at the screenshot above, I notice other letters drawn little distorted too.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 16 Sep 2017, 19:45
Someone (I forgot who) told me that VSync does not work with OpenGL, so I implemented that.
Here is a test build: http://www.mediafire.com/file/md36vkorpigl4g2/acwin-opengl-vsync.zip

Is there anyone who has an opportunity to test this out? I do not have any prepared test game for such issue.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: NicolaGs on 17 Sep 2017, 10:57
Someone (I forgot who) told me that VSync does not work with OpenGL, so I implemented that.
Here is a test build: http://www.mediafire.com/file/md36vkorpigl4g2/acwin-opengl-vsync.zip

Is there anyone who has an opportunity to test this out? I do not have any prepared test game for such issue.
Yep, that would be me. I test that asap.

Edit : test... And sorry, but it doesn't change anything.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 17 Sep 2017, 13:03
Edit : test... And sorry, but it doesn't change anything.

Do you run it windowed or fullscreen?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: NicolaGs on 17 Sep 2017, 14:18
Do you run it windowed or fullscreen?
I tested both.

I tested beta 6 for reference (with v-sync ON and v-sync OFF) both fullscreen (at screen resolution : 1920x1080) and windowed
I tested beta 7 v-sync test version (with v-sync ON and v-sync OFF) both fullscreen and windowed

I got the same result in both cases (beta 6 / beta + vsync test version).

The behaviour/appearance is slightly different between windowed mode and fullscreen:
- in windowed mode : the scrolling is a bit stuttering
- in fullscreen : there's a strong tearing effect

With D3D, both fullscreen and windowed mode, the scrollings are perfectly smooth.


Edit : If you want to test it, I made a simple room with a vertical scrolling (it's a part of the intro of my current project) : compiled.zip (http://chorale-populaire-de-paris.com/iwo/compiled.zip)
It's 60 fps (and maybe it increases the effect). I included both Windows compiled and the "raw" data. (compiled in beta 7 + acwin with v-sync test)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 17 Sep 2017, 16:34
Edit : If you want to test it, I made a simple room with a vertical scrolling (it's a part of the intro of my current project) : compiled.zip (http://chorale-populaire-de-paris.com/iwo/compiled.zip)
It's 60 fps (and maybe it increases the effect). I included both Windows compiled and the "raw" data. (compiled in beta 7 + acwin with v-sync test)

This is interesting, I tried both D3D and OpenGL and they have similar results: strong tearing effect without vsync and barely noticeable occasional tearing (could me my imagination) with vsync.

Since OpenGL perfomance largely depends on installed libraries and video drivers, it is possible that your system does not support required extensions. I've made another build, which logs out warnings if some extensions are not found. Could you write "log=1" line under "[misc]" in acsetup.cfg and test game again? Log should appear in the common AGS save games place, in ".ags" subdirectory (%USERPROFILE%/Saved Games/.ags).
https://www.dropbox.com/s/i5en4586vnr03yg/acwin-opengl-vsync2.zip?dl=0

Also, could someone else test this game on their machines?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: NicolaGs on 17 Sep 2017, 16:49
Here are two lines from the log :

Code: Adventure Game Studio
  1. Running OpenGL: 4.0.0 - Build 9.17.10.2932
  2. WARNING: OpenGL extension 'WGL_EXT_swap_control' not supported, vertical sync will be disabled.

So you guessed right...
My PC is not an oldie... but maybe not up to date either...

Full log if necessary :
Code: Adventure Game Studio
  1. Adventure Game Studio v3.4 Interpreter
  2. Copyright (c) 1999-2011 Chris Jones and 2011-2017 others
  3. ACI version 3.4.1.7
  4.  
  5. Installing exception handler
  6. Initializing allegro
  7. Reading configuration
  8. Looking for game data file
  9. Located game data file: d:/Temp/Compiled/Windows/V-SYNC~1.EXE
  10.  
  11. Opened game data file: game28.dta
  12. Game data version: 49
  13. Compiled with: 3.4.1.7
  14. Setting up window
  15. Initializing TTF renderer
  16. Initializing mouse: number of buttons reported is 5
  17. Checking memory
  18. Data directory: d:/Temp/Compiled/Windows
  19. Initializing keyboard
  20. Install timer
  21. Initialize sound drivers
  22. Sound settings: digital driver ID: 'AXA ' (0x41584120), MIDI driver ID: 'Auto' (0xffffffff)
  23. Installed digital driver ID: 'AXA ' (0x41584120), MIDI driver ID: 'W32M' (0x5733324d)
  24. Install exit handler
  25. Initialize path finder library
  26. Load game data
  27. Game GUI version: 118
  28. Requested script API: v3.4.1 (5), compat level: v3.4.0 (4)
  29. Game title: 'V-Sync test'
  30. Checking for disk space
  31. Initializing MOD/XM player
  32. Initializing resolution settings
  33. Game native resolution: 320 x 200 (32 bit)
  34. Device display resolution: 1920 x 1080
  35. Game settings: windowed = no, screen def: explicit, screen size: 1920 x 1080, match device ratio: ignore, game scale: max_round
  36. Using graphics factory: OGL
  37. Created graphics driver: OpenGL
  38. Supported gfx modes (32-bit):
  39.         320x200;320x240;400x300;512x384;640x400;640x480;800x600;1024x768;
  40.         1152x864;1280x600;1280x720;1280x768;1280x800;1280x960;1280x1024;1360x768;
  41.         1366x768;1400x1050;1440x900;1600x900;1600x1200;1680x1050;1920x1080;
  42. Attempting to find nearest supported resolution for screen size 1920 x 1080 (32-bit) fullscreen
  43. Attempt to switch gfx mode to 1920 x 1080 (32-bit) fullscreen
  44. Running OpenGL: 4.0.0 - Build 9.17.10.2932
  45. WARNING: OpenGL extension 'WGL_EXT_swap_control' not supported, vertical sync will be disabled.
  46. Succeeded. Using gfx mode 1920 x 1080 (32-bit) fullscreen
  47. Render frame set, render dest (160, 40, 1759, 1039 : 1600 x 1000)
  48. Requested gfx filter: StdScale
  49. Graphics filter set: 'StdScale', filter dest (160, 40, 1759, 1039 : 1600 x 1000)
  50. Using gfx filter: StdScale
  51. Mouse control: on, base: 1.000000, speed: 1.000000
  52. Mouse confined: (160,40)-(1759,1039) (1600x1000)
  53. Check for preload image
  54. Initialize sprites
  55. Initialize game settings
  56. Prepare to start game
  57. Audio is processed on the main thread
  58. Checking replay status
  59. Engine initialization complete
  60. Starting game
  61. ***** ENGINE HAS SHUTDOWN

Edit : v-sync works in OpenGL mode in other games (e.g Doom with GZDoom) on the same PC. Maybe is there another way to "call" a v-sync function ?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 17 Sep 2017, 17:02
Something that I just found, it appears that vsync is toggled on by default on my machine. It works always if I "emulate" failure to register the necessary extension.
So, actually, what I implemented was not vsync on its own but rather means to enable and disable it from game setup.

Also this is what I found in OpenGL documentation (https://www.khronos.org/opengl/wiki/Swap_Interval):
Quote
Video drivers can override these values, forcing a swap interval of 1 or 0 depending on settings the user provided in the video card's control panel.



EDIT:
Edit : v-sync works in OpenGL mode in other games (e.g Doom with GZDoom) on the same PC. Maybe is there another way to "call" a v-sync function ?

Maybe, this is something to research, I guess. I also remember suggestion to test for extension differently, I may try that first.


EDIT2:
I also found one worrying thing, that OpenGL has two types of extension functions, one tagged as EXT and another ARB. ARB are extensions that are generically supported (as standard, just not yet in the list of core functionality) and EXT are extensions that are supported only by few GPU vendors (kind of early experiments). And our OpenGL implementation imports only EXT functionality, while it should probably use ARB one...
Although, not sure how much difference that makes. I noticed that some functions are only declared as EXT ones, even though they could already be reported as ARB extension... This all is completely new field of science for me, where I have no knowledge whatsoever.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: NicolaGs on 17 Sep 2017, 17:42
Following this, I searched for settings in my nVidia control panel.
I was able to force v-sync for this specific AGS program or by default for all applications. And it works !

The problem here is that I use a laptop which has (as often) an integrated video card and a 3D accelerated chip.
I can choose to either :
- force nVidia "high perf GPU"
- force Intel "low perf GPU" (for lowest power consumption, I assume)
- leave the choice to the system

What I see :
- forcing nVidia let me use V-Sync. The ON/OFF toggle in Winsetup works fine.
- forcing Intel does not allow me to use V-Sync (either it is ON or OFF).
- leaving in auto seems to use the Intel chip.

With nVidia, the log now reports :
Code: Adventure Game Studio
  1. Running OpenGL: 4.5.0 NVIDIA 355.60


Conclusion :
V-Sync implementation seems to work, but you've got to be sure to use the correct chip on a laptop, that is the one with the correct OpenGL libraries...

Edit : I'll test on other systems if I can...
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 17 Sep 2017, 17:55
Could you run one more test with the logging on? This build searches for extension ID using 3 available methods and writes down 3 results. I am curious to know if particular method may report extension even if other do not.
https://www.dropbox.com/s/0axbgd20t3bqlaw/acwin-opengl-vsync3.zip?dl=0
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: morganw on 17 Sep 2017, 18:05
It looks like you can force applications to default to the higher performance options by exporting a flag that the driver looks for (https://github.com/IntelRealSense/librealsense/blob/66e42069837ed6e0eb46351cc4aa2acca49a4728/examples/third_party/glfw/src/win32_init.c#L34-L48).
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: NicolaGs on 17 Sep 2017, 18:15
Guess you had a hit !

Here is the OpenGL part of the log when I use the Intel "low spec" video card or the "Auto setting":
Code: Adventure Game Studio
  1. Running OpenGL: 4.0.0 - Build 9.17.10.2932
  2. OpenGL: WGL_EXT_swap_control NOT found in GL_EXTENSIONS
  3. OpenGL: WGL_EXT_swap_control found in WGL_EXTENSIONS
  4. OpenGL: WGL_EXT_swap_control found in WGL_EXTENSIONS (ARB)
  5. OpenGL: wglSwapIntervalEXT imported successfully

Here with the nVidia video card either with video card setting "V-Sync forced" or "Let the 3D application decide":
Code: Adventure Game Studio
  1. Running OpenGL: 4.5.0 NVIDIA 355.60
  2. OpenGL: WGL_EXT_swap_control found in GL_EXTENSIONS
  3. OpenGL: WGL_EXT_swap_control found in WGL_EXTENSIONS
  4. OpenGL: WGL_EXT_swap_control found in WGL_EXTENSIONS (ARB)
  5. OpenGL: wglSwapIntervalEXT imported successfully


Enabling V-Sync in Winsetup now works whatever is my setting in the video card control panel. It works with the nVidia AND the Intel card. Great !
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 17 Sep 2017, 18:51
That said, now I'm an unrepentant OpenGLer. It works BEAUTIFULLY on everyone's system (so far)! I'm never going back! :D

So are you using this on production builds now? If so I may switch to this version even if it's technically a beta :)
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 17 Sep 2017, 23:00
Hey, I know this maybe too late for this, but on dialogs I seem to have the speech text draw on top of GUIs while the portraits are drawn behind the GUIs.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 17 Sep 2017, 23:14
Hey, I know this maybe too late for this, but on dialogs I seem to have the speech text draw on top of GUIs while the portraits are drawn behind the GUIs.
This bug is as old as AGS... I may look into this, but cannot make any promises, because speech is one of the ugliest part of the engine code.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 18 Sep 2017, 04:35
Hey, I have no idea how to compile this, but in line 2648 of character.cpp, you do: ovr_type = OVER_PICTURE;
So your overlay will be of that type. In draw.cpp, in line 2215, you define the function draw_screen_overlay.
In this function, you will threat differently the overlay types OVER_COMPLETE and OVER_TEXTMSG, and you will draw they only later.
You can either set the ovr_type in character.cpp of the Sierra portrait to OVER_TEXTMSG or in draw.cpp, threat OVER_PICTURE the same adding:

    // draw overlays, except text boxes
    for (gg=0;gg<numscreenover;gg++) {
        // complete overlay draw in non-transparent mode
        if (screenover[gg].type == OVER_COMPLETE)
            add_thing_to_draw(screenover[gg].bmp, screenover[gg].x, screenover[gg].y, TRANS_OPAQUE, false);
        else if (screenover[gg].type != OVER_TEXTMSG && screenover[gg].type != OVER_PICTURE) {
            int tdxp, tdyp;
            get_overlay_position(gg, &tdxp, &tdyp);
            add_thing_to_draw(screenover[gg].bmp, tdxp, tdyp, 0, screenover[gg].hasAlphaChannel);
        }
    }


And then the end of the function doing


    // draw text boxes (so that they appear over GUIs)
    for (gg=0;gg<numscreenover;gg++)
    {
        if (screenover[gg].type == OVER_TEXTMSG || screenover[gg].type == OVER_PICTURE )
        {
            int tdxp, tdyp;
            get_overlay_position(gg, &tdxp, &tdyp);
            add_thing_to_draw(screenover[gg].bmp, tdxp, tdyp, 0, false);
        }
    }

EDIT: Actually, I think doing that will maybe screw portrait alpha transparency?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 18 Sep 2017, 14:36
Thank you for pointing these places out, but I will have to do research first anyway. When I said "ugly code", I meant not only that it is not very clean, often there are strange connections between variables and parameters, you change something in one place and it suddenly breaks something seemingly unrelated...
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 18 Sep 2017, 18:40
That said, now I'm an unrepentant OpenGLer. It works BEAUTIFULLY on everyone's system (so far)! I'm never going back! :D

So are you using this on production builds now? If so I may switch to this version even if it's technically a beta :)

Probably not the best idea, but it will be a long time before my game is done, so I assume 4.1 will be made final (or close to it) before that. In the meantime, I want to take advantage of the new features. So here I am.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 18 Sep 2017, 20:16
Probably not the best idea, but it will be a long time before my game is done, so I assume 4.1 will be made final (or close to it) before that.

Actually that's a good idea because it makes more extensive testing and serious issues may be dealt with earlier :).

As for the final 3.4.1, I really was going to finish it with OpenGL's vsync, but now since eri0o reminded of that old bug with portrait positions, I might as well try to make a fix to it too.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Fribbi on 18 Sep 2017, 22:41
Quote
1. Does this happen to every font, or particular font in some template? 2. Are you using fonts exactly as they come with template, or reimported it, for example - to change the font size?
3. Do you have this issue in the editor only, or in game too?

1. Only in Speech. 
2. Reimported.
3. Both.

This is not a issue to me now. I have imported another font for the speech fonts and it works fine.

Edit: Well I figured out why I got this strange "w" letter in the speech.  I only needed to change the font size after I imported it from 9 to 10, that's all.


But there is a another issue I always get when I test my game. I get this message very often then.
I can only fix this when I click "Build my game".

Quote
Unexpected error: Cannot create a file when that file already exists.





Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 29 Sep 2017, 19:11
@eri0o, sorry for delay (I've been very busy lately), I just tried the changes you suggested in regards to the portrait overlay over GUI, and it seems to be working.
EDIT: I tested with alpha channels too.

Here is a build for test: https://www.dropbox.com/s/k5nru425997onez/acwin--portrait-over-gui.zip?dl=0

I think I am practically done here, just need to update the manual.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 29 Sep 2017, 21:12
@CrimsonWizard

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

Hurray! It works! Above is an image comparison between 3.4.0 and this new engine you've uploaded on dropbox. Apparently haven't broke anything else.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: BunnyDeFluff on 01 Oct 2017, 07:31
Thank you Crimson Wizard and everyone else that made this new release possible. Been a bit busy(and lazy) to code any game but I am still grateful for all the amazing bug fixes to the editor. Thanks.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: AGD2 on 03 Oct 2017, 08:10
I don't think it makes a difference what kind of sound file it is (ogg, wav, mp3), because he was getting a pop-up message when running the game from winsetup, regardless of which combination of audios settings he selected. He had to change it to the "no Music" and "no Sound" winsetup options to prevent that message from appearing every time he launches the game.
What "popup message"?

Sorry, just a follow-up on this issue. The person who was experiencing the issue said that it seemed to resolve itself after he downloaded an older AGS game (i.e. compiled with an earlier editor version) and ran that. The sound worked in the older game, and then when he went back to try running the game compiled in this latest beta, it suddenly started working (using exactly the same audio winsetup settings that didn't work before).

The error message he had been receiving was: "Unable to initialise audio hardware. Problem:" That's it. No details given.

He also said, regarding the issue with sound not playing, that the game would sometimes crash out on the title-screen with a scripting error message. The line being referenced in the crash was a simple instance of AudioClip.Stop();.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 06 Oct 2017, 21:01
I've been encountering an odd problem. I've been distributing beta builds that are set to use the OpenGL driver, but when the users unzip the game and run it on their computer, the game is set to Direct3D by default. I do include the agsetup.cfg file inside the zip. This is a big problem lately because of all the Direct3D issues that people have been having with Windows 10.

Is there any way of avoiding this?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 06 Oct 2017, 21:09
I've been encountering an odd problem. I've been distributing beta builds that are set to use the OpenGL driver, but when the users unzip the game and run it on their computer, the game is set to Direct3D by default. I do include the agsetup.cfg file inside the zip. This is a big problem lately because of all the Direct3D issues that people have been having with Windows 10.

Is there any way of avoiding this?

Make sure you're using Default Setup panel in the editor, not winsetup. Winsetup writes config to user profile, not game directory.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 06 Oct 2017, 21:24
Is... that new? Have I been doing it completely wrong this whole time? 8-0

I can't seem to find any setup panel within the editor. Where is it?

Edit: Found it! I could swear I never saw this before. Is "Software driver" the correct choice? I don't see an option for OpenGL.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 06 Oct 2017, 21:29
Dave is correct, the OpenGL option doesn't show up in the default setup menu.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 06 Oct 2017, 21:37
Edit: Found it! I could swear I never saw this before.
Well, it was added only earlier this year.


Dave is correct, the OpenGL option doesn't show up in the default setup menu.

Ah, darn, I just fixed it few days ago, but it is not in the release yet. Brb, I will upload temp build.

EDIT: https://www.dropbox.com/s/ttcx0fwt7344n8h/ags--opengl-in-default-setup.zip?dl=0
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 06 Oct 2017, 21:51
Edit: Found it! I could swear I never saw this before.
Well, it was added only earlier this year.


Oh. PHEW. :-D

Downloading new build now!
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 06 Oct 2017, 22:00
Make sure you're using Default Setup panel in the editor, not winsetup. Winsetup writes config to user profile, not game directory.

So 'default setup' is what winsetup used to do, and the new winsetup is something else?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 06 Oct 2017, 22:10
Win setup sets the configuration for the current user - AppLocalData or something. Default setup sets the config on first game start - that I believe is copied to AppData if it's empty for Game Name. I think to force it to use the new default on first boot again you need to change game name.

EDIT: Read below for the correct statement. I need to stop writing stuff on the phone away from computer. :X
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 06 Oct 2017, 23:39
Make sure you're using Default Setup panel in the editor, not winsetup. Winsetup writes config to user profile, not game directory.

So 'default setup' is what winsetup used to do, and the new winsetup is something else?

Well... I guess you may put it that way too. It's just that acsetup.cfg that Winsetup saves is now located in user directory.

I had to add Default Setup page into editor because of that, so that you could generate default acsetup.cfg for you game. Otherwise you'd have to copy it from saved games.

The current config system and file locations are explained in the OPTIONS.md in our repository (https://github.com/adventuregamestudio/ags/blob/master/OPTIONS.md), here's the excrept:
Quote
Three configuration files are supported by the engine, which are read in the order listed below, every next overriding previous one:

* Default config file, found in the game's installation directory, applied for the game loaded from that directory;
* Current user's global config file, applied for any AGS game.
* Current user's game config file, applied for only game of given title. This config file is also the one being written to when the engine or setup application (Windows only) modifies game configuration.
Locations of two latter files differ between running platforms:

Linux:
* user's global config: $XDG_DATA_HOME/ags/acsetup.cfg
* user's game config: $XDG_DATA_HOME/ags/GAMENAME/acsetup.cfg
NOTE: if $XDG_DATA_HOME is not defined, then "$HOME/.local/share" is used instead.
Windows:
* user's global config: %USERPROFILE%/Saved Games/.ags/acsetup.cfg
* user's game config: %USERPROFILE%/Saved Games/GAMENAME/acsetup.cfg

Note, the "global config" was asked by Linux users, IDK if it is useful for Windows users; personally I use it to set up config for debugging purposes. There is also no way at the moment to generate it using GUI, you have to make one by hand.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 07 Oct 2017, 02:47


Hey @Crimson Wizard, in this new build, changing to openGL makes the Scaling Filter empty for me and it crashes when I click on the dropdown button of Scaling Filter. Granted I run AGS on Wine, but this is my first crash of it on Wine. :O
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 07 Oct 2017, 02:53
Hey @Crimson Wizard, in this new build, changing to openGL makes the Scaling Filter empty for me and it crashes when I click on the dropdown button of Scaling Filter. Granted I run AGS on Wine, but this is my first crash of it on Wine. :O

Completely forgot about filter selection. Well, I will fix this tomorrow then.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 07 Oct 2017, 08:14
It's just that acsetup.cfg that Winsetup saves is now located in user directory.
Well that makes sense, as program files is not guaranteed to be writable.

Quote
* Current user's global config file, applied for any AGS game.
This strikes me as problematic, though, as settings for one game are not guaranteed to work for another. For instance, suppose I normally play games in 320x200 and have set the DEFAULT config to scale at 3x. Then I play a 1024x768 game, and it won't initialize because at scale x3 this doesn't fit on my screen. So now a file that most users won't know about may cause other games to not work. I understand you're using it for debug purposes but I don't think this fits in a release version.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 07 Oct 2017, 15:48
Quote
* Current user's global config file, applied for any AGS game.
This strikes me as problematic, though, as settings for one game are not guaranteed to work for another. For instance, suppose I normally play games in 320x200 and have set the DEFAULT config to scale at 3x. Then I play a 1024x768 game, and it won't initialize because at scale x3 this doesn't fit on my screen. So now a file that most users won't know about may cause other games to not work. I understand you're using it for debug purposes but I don't think this fits in a release version.

It is only being used if you created one. And you cannot create it unknowingly, you should go to appropriate location on your HDD, create text file and write something into it.
Then, if display mode config is unusable for the game, engine will automatically adjust settings at startup. In your example the game window will be reduced to fit the screen.
Lastly, it were Linux people who asked for this and they are using it with release version.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Radiant on 07 Oct 2017, 15:57
It is only being used if you created one. And you cannot create it unknowingly,
I think that the installer script for Game A could create a global config that is incompatible with Game B. It shouldn't but it can.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 07 Oct 2017, 16:04
Very well, I will remove it on Windows.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 07 Oct 2017, 19:13
https://www.dropbox.com/s/l7xzerukbcnjnst/ags--07-oct-2017-fixes.zip?dl=0

- Fixed scaling filters selection in default setup
- Disabled global config reading on Windows
- Fixed ShakeScreen for software renderer.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 08 Oct 2017, 14:32
(https://i.imgur.com/ePTf8TY.png)

Hey @Crimson Wizard, I get the above error on launch (double clicking the AGS icon) with this new build. :(

I just copy pasted the files in the c:\Program Files\Adventure Game Studio 3.4.1\ folder, over the latest 3.4.1-7 files, and ran AGS.

Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 08 Oct 2017, 15:15
Don't know what's going on.
https://www.dropbox.com/s/swxnulucqaylbhv/ags--08-oct-2017-fixes.zip?dl=0
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 08 Oct 2017, 15:24
@Crimson Wizard these now works flawlessly apparently, including the filters on Default Setup. I built my game using it and it worked. ;-D

You are awesome. :-*
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 09 Oct 2017, 16:49
Ditto! Thanks CW!
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: eri0o on 13 Oct 2017, 22:00
Hey,is there any difference between this version and whats expected to be final release?
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 13 Oct 2017, 22:30
Hey,is there any difference between this version and whats expected to be final release?

Basically, I just need to finish updating the manual, but I was unexpectedly busy in last weeks and could not get to it yet.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Dave Gilbert on 16 Oct 2017, 17:20
I originally posted this in the wrong thread!

One odd glitch I'm noticing. If my computer has been on for a very long time (say, I leave it on overnight) and then I compile and run my game, the game will not accept ANY keyboard input. No escape, no press-key-to-advance-dialog, no nothing. I can't even type in names for save files. The only input it accepts is the mouse button. Rebooting my computer fixes the problem every time.

This could be an issue with my computer, but it's a problem that only surfaced with AGS 3.4.0. As a test I switched over to to a game compiled with earlier versions (before I rebooted, obviously) and they accepted keyboard inputs just fine.


Bit of an update regarding this. It turns out the problem was completely on my end. It had to do with using the Steam plugin under a VERY specific set of circumstances. I spoke to Michael Rittenhouse about it and he has fixed the plugin for me.
Title: Re: AGS 3.4.1 - Beta 7 -- upcoming new version
Post by: Crimson Wizard on 30 Oct 2017, 21:30
Sorry for all the delay again. I am in an annoying situation when some job takes much of your time and you don't feel like doing anything else. Finally I am able to continue updating manual, and hope to create the "Release Candidate" of 3.4.1 maybe later this week.

Since people were asking about this before: current version is like 99.99% what final release suppose to be, so it should be safe to use now. On the other hand I won't be adding anything to it unless a critical error requires fixing (anything else goes into next development stage, whatever that would be).
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 05 Nov 2017, 20:31
AGS 3.4.1 RC1
http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-RC1/AGS-3.4.1-rc-1.zip
(also updated first post)

Changes since Beta 7:

Editor:
 - Removed "this is beta!" warning.
 - Added missing OpenGL driver selection to Default Setup.
 - Fixed crash when importing old games which have extended editor version string saved in the project files.

Engine:
 - Implemented vertical sync for OpenGL renderer.
 - Actually fixed audio volume drop when new music starts playing during voice-over.
 - Fixed speech portrait was displayed below GUI, contrary to speech text (thanks to eri0o for the tip).
 - Properly toggle console upon play.debug_mode variable change in script.
 - Fixed Speech.SkipStyle getter did not return correct value if it is set to eSkipTime.
 - Disabled the use of the global AGS games config on Windows, by request.
 - Fixed ShakeScreen command was causing graphic artifacts when game is run with software renderer.

* Updated the Manual.


EDIT: I just realized that forgot to add Linux build component to the Editor. Will do in couple of days (its just the matter of compiling Linux engine and libs).
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: CaptainD on 06 Nov 2017, 11:12
I just wanted to pop into this thread to tell CW that's he's awesome and his hard work is massively appreciated.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: selmiak on 06 Nov 2017, 16:16
what the captain said!

+ I love reading your changelogs :D

- Actually fixed ...
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: eri0o on 06 Nov 2017, 16:19
Hey CW, I checked and things appear to build successfully and Vsync with OpenGL appears to work. Haven't checked the manual yet.

EDIT: Got some time to read the included help file and I saw the new default setup, the updates in global settings regarding script compatibility, the windowed property and to me the manual seems to be updated. (nod)
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Dave Gilbert on 06 Nov 2017, 17:27
Sweet! Downloading now.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: proximity on 09 Nov 2017, 09:55
Nice release :wink: I hope we will see smooth cursor movement soon :smiley:
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 09 Nov 2017, 12:37
I hope we will see smooth cursor movement soon :smiley:
What is it about smooth cursor movement?
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: MiteWiseacreLives! on 09 Nov 2017, 17:04
Quote
What is it about smooth cursor movement?
I was just searching for an answer on this 8-0
AGS 3.4.0
For the last week or two, I've been experiencing really bad "lag??" with my cursor. I'll type something or move the cursor and it takes 30-60sec to register, all the drop down menus pop up clear and after a painfully long time they populate.. just every click and keypress takes a really long time to process. I've been running antivirus, ad-removal etc. trying to clean up my system, but seems to be isolated to AGS.
EDIT: opened WordPad and it is having same issues, its likely an issue with my system.. Which I would love to resolve....
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 10 Nov 2017, 11:43
I found a mistake in latest RC1. When fixing reading projects with unusual version number, I actually made another mistake, and now it does not read version number properly in most cases, it just does not crash because of that.
As a result, Editor may do unnecessary "upgrade" to project settings. Currently the only noteable action is that it sets "Script compatibility level" to v.3.2.1 (meaning that some of the old functions become enabled again).


E: Another problem that I noticed is that typing "#undef" on the last line in script causes crash.
There was a similar problem with "#define", which was fixed back in year 2014 by tzachs (commit hash 129e22ee009683d5654d4e2c7f801c9e13cbe9a f ). I wonder if this is same problem, and if same fix may be applied to "#undef". (And maybe other macros?)
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Snarky on 10 Nov 2017, 14:00
This could be related:

I was just experiencing something that seemed a bit weird with #endregion macros on the last line of a script. I remembered my globalscript ending with two #endregion lines (one region was nested inside another), but when I loaded it again there were three. I thought maybe I had forgotten to close another #region tag higher up and AGS inserted a close at the end of the file, but I didn't look into it further.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: proximity on 11 Nov 2017, 09:36
Quote
What is it about smooth cursor movement?

It's like mouse cursor (in a game) doesn't move properly like Windows cursor. It's slower and laggy. This exists since v. 2.72.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: eri0o on 11 Nov 2017, 09:38
Mouse cursor moves correctly if the game fps is 60fps
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 11 Nov 2017, 11:07
Quote
What is it about smooth cursor movement?

It's like mouse cursor (in a game) doesn't move properly like Windows cursor. It's slower and laggy. This exists since v. 2.72.

Some of the mouse issues were fixed in the past, and I did not hear much about them after that, except for issues with very particular devices.
So either not much people are having them, or they don't talk much about this...
There was this old thread opened in 2013, but too little details were provided to investigate: http://www.adventuregamestudio.co.uk/forums/index.php?issue=459.0

Also, recently someone had a weird issue, which they fixed turning "enhance pointer precision" off in Windows.
https://github.com/adventuregamestudio/ags/issues/416#issuecomment-326890796
Personally, I've never experienced nothing similar.

What does your issue look like? Do these problems occur in fullscreen or windowed mode? Do they depend on game resolution and graphics mode, game speed? Did you try increasing mouse speed in winsetup? More information is required.


EDIT:
Mouse cursor moves correctly if the game fps is 60fps

If the problem is related to mouse cursor slowing down at lower game speeds, then the solution would be to make AGS update mouse cursor in fixed frequency regardless of game speed parameter.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: proximity on 11 Nov 2017, 14:36
It isn't a speed issue. The issue is the mouse cursor is laggy all the time regardless what FPS the game has (windowed or full screen). It looks like the mouse cursor is fixed to 15-20 FPS. I even tried incredible game speeds like 250 FPS. The game was fluent but the mouse cursor was still the same. I last tried it with AGS 3.4.0. I always use 32-bit colors and alpha blending in my games, so I actually don't know what the result is in old school games like 256 colors palette and very low resolutions. May be most of the developers here use old school techniques so they may not have an issue like this and they don't see any problem to report.

I also tried UpdateCursor() function and it didn't help.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 11 Nov 2017, 16:37
I last tried it with AGS 3.4.0.
Could you specify which 3.4.0 exactly (what is the fourth version number)? The mouse fix I was referring to was added somewhere in the midst of 3.4.0 development.

Just in case I opened ticket for this issue: http://www.adventuregamestudio.co.uk/forums/index.php?issue=849.0

Although, first of all set of conditions has to be established. For example, you are saying that you use 32-bit color gfx - and I assume - high resolutions? - in your game. Do other people who play your game experience same problem? Or, on contrary, do you have same issue when you run low-res games made by other people?
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: henrikes on 12 Nov 2017, 09:53
Hi,

Im using AGS 3.4.1, when i try to change from window to fullscreen (alt + f4) the image doesnt fill the screen? it stays he same size but with black all around, shouldnt the image fill the screen?

Game is at 1280x720
Screen at 1680x1050

(https://i.imgur.com/7AtjNe9.jpg)



Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 12 Nov 2017, 14:19
Im using AGS 3.4.1, when i try to change from window to fullscreen (alt + f4) the image doesnt fill the screen?

You mean "alt + enter"? ;)

That's probably because you have "Maximal round scaling" mode set in setup (this option scales game only by integer multipliers like x2, x3 etc), change that to "Stretch to full screen" or "Stretch proportionally".

BTW, that reminds me that I wanted to make "Stretch proportionally" be default setting, since people keep stumbling into this problem.

PS. The reason for "maximal round scaling" option to exist is that when you scale 2D games unevenly (by non-integer factor) some of the original pixels may be scaled less than others. This is not an issue for hi-res games, but may become noticeable if you play low-res games.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: henrikes on 12 Nov 2017, 14:39
Yes i meant "alt + enter" :-[

I have tried the options "Stretch to full screen" or "Stretch proportionally" and they only work when i run the game outside the game studio (run the game exe).
But also choosing those modes when in window mode it resizes the window to almost fullscreen? I was expecting the window to maintain tbe scale but apparently it changes the scale while in window mode...

Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 12 Nov 2017, 14:48
I have tried the options "Stretch to full screen" or "Stretch proportionally" and they only work when i run the game outside the game studio (run the game exe).
This might be a mistake in AGS... Do you set this option in winsetup or "Default Setup" pane in the editor?

But also choosing those modes when in window mode it resizes the window to almost fullscreen? I was expecting the window to maintain tbe scale but apparently it changes the scale while in window mode...
This option works for both modes same way, it does not separate them. Is this a problem? I was not sure what is the better way to implement this. Maybe I could make it have separate scaling option for windowed and fullscreen, will it be convenient for players to set up?
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: NicolaGs on 12 Nov 2017, 14:58
Maybe I could make it have separate scaling option for windowed and fullscreen, will it be convenient for players to set up?
By reading the previous posts I was wondering the same thing.
It would then be possible to have proportionally stretched fullscreen image and a maximum round multiplier windowed mode, for example.
Indeed, sometimes, by stretching the windowed mode, you have some parts of the window hidden behind desktop elements (e.g. taskbar). This way, it would look "cleaner" in windowed mode while retaining a "real" fullscreen mode.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: henrikes on 12 Nov 2017, 15:00
I have tried the options "Stretch to full screen" or "Stretch proportionally" and they only work when i run the game outside the game studio (run the game exe).
This might be a mistake in AGS... Do you set this option in winsetup or "Default Setup" pane in the editor?

When i set the option in "Default Setup" and try to Run the game (F5) doesnt scale the game, if i do it in winsetup it does scale the game.


But also choosing those modes when in window mode it resizes the window to almost fullscreen? I was expecting the window to maintain tbe scale but apparently it changes the scale while in window mode...
This option works for both modes same way, it does not separate them. Is this a problem? I was not sure what is the better way to implement this. Maybe I could make it have separate scaling option for windowed and fullscreen, will it be convenient for players to set up?

I was expecting that in window mode the game wouldn't be scaled, and would only scale in fullscreen mode, but again that is what I was expecting :D
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 12 Nov 2017, 15:08
When i set the option in "Default Setup" and try to Run the game (F5) doesnt scale the game, if i do it in winsetup it does scale the game.
That's because there is a user config for your game (edited by winsetup) that overrides values from Default Setup. Default Setup - this is what game uses only after it was installed on computer for the first time.
If you want to test how Default Setup works, go to "Saved Games" system folder (you can use "%USERPROFILE%\Saved Games" in windows explorer), find folder with the name of your game and delete acsetup.cfg there.


I was expecting that in window mode the game wouldn't be scaled, and would only scale in fullscreen mode, but again that is what I was expecting :D
Well, in your case that would make sense, since you have 1280x720 game, but if the game is 320x200 not scaling its window would make it look very small, so games do have some scaling option applied most of time.

Maybe I could make it have separate scaling option for windowed and fullscreen, will it be convenient for players to set up?
By reading the previous posts I was wondering the same thing.
It would then be possible to have proportionally stretched fullscreen image and a maximum round multiplier windowed mode, for example.
This way, it would look "cleaner" in windowed mode while retaining a "real" fullscreen mode.

That might be possible to do... Not sure how well it look in winsetup; probably it will need to remember both scaling options and switch between them when you tick/untick the "Windowed" checkbox.

Indeed, sometimes, by stretching the windowed mode, you have some parts of the window hidden behind desktop elements (e.g. taskbar).
Hmm, I thought it takes taskbar into account when calculating max window size. Probably not working perfect all times.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: NicolaGs on 12 Nov 2017, 15:19
Hmm, I thought it takes taskbar into account when calculating max window size. Probably not working perfect all times.
No... You're absolutely right! I should have been more precise...
It's the window "decoration" (by this, I mean the frame, according to the theme you use) which is not displayed. In fact, the top of the window (with the minimize/close buttons) can be off screen as well.
It seems that only the game video frame size is used to calculate its size...
In fact, it just really is a cosmetic issue... not very important!

I can guess that creating such a new option could make the winsetup more complexe to understand...
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 12 Nov 2017, 17:13
I can guess that creating such a new option could make the winsetup more complexe to understand...

Well, something has to be done here, or people will keep having this problem.
I have changed how this work so many times, and every time I seem to do this wrong.

The first variant was this: when you switch from fullscreen to windowed it chooses maximal round scaling, and if you run windowed first and switch to fullscreen - then it chooses proprtional stretch. Then someone told me that's not good, because they expected scaling mode to be kept, so I made it they way it is now.

Will having two separate scaling options - for windowed and fullscreen mode - make it too complicated? Otherwise I just have no idea.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: NicolaGs on 12 Nov 2017, 17:24
The real problem is that we're never happy with what we've got... :-D

Edit:
Could it be something like that?
(https://i.imgur.com/W2Nk1Q0.png)
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Radiant on 12 Nov 2017, 18:28
Yes, that does sound too complicated for the average user... It strikes me that most players want to fill their screen as much as possible, stretching where necessary; and that most artists want to maintain aspect ratio. Find a middle road between these and you're good to go.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: proximity on 12 Nov 2017, 19:07
I last tried it with AGS 3.4.0.
Could you specify which 3.4.0 exactly (what is the fourth version number)? The mouse fix I was referring to was added somewhere in the midst of 3.4.0 development.

Just in case I opened ticket for this issue: http://www.adventuregamestudio.co.uk/forums/index.php?issue=849.0

Although, first of all set of conditions has to be established. For example, you are saying that you use 32-bit color gfx - and I assume - high resolutions? - in your game. Do other people who play your game experience same problem? Or, on contrary, do you have same issue when you run low-res games made by other people?

I tried other AGS games and I realized that cursor movement is better at 60 FPS. I also changed my speed to 60 and cursor is better now. AGS 3.4.0.13. eri0o was right. Thanks.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 12 Nov 2017, 19:58
Could it be something like that?
(https://i.imgur.com/W2Nk1Q0.png)

I can do that, if that's actually seem convenient. Is it?
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Radiant on 12 Nov 2017, 20:04
That's three pull downs that most players will not understand. So I don't think it's convenient.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: NicolaGs on 12 Nov 2017, 20:13
Could this behaviour be set in the editor (default setup) and made enabled or disabled in the Winsetup.
That way, the game creator could set what option he/she thinks is the best for the game and forbid this parameter to be modified by the player (the option(s) would be greyed out in the Winsetup) ?
The player then would could have only "important" options visible in the main Winsetup screen : language, fullscreen+resolution/windowed, driver.

Could the ability to disable some winsetup options from within the editor a solution to both problems :
- simplicity for the player (as much as the game creator intend it)
- versatility of the settings, to make every game maker happy ?

edit : I add that it's not really a request from my part. The current situation suits me perfectly...
edit2 : it should be a post-3.4.1 discussion, right?
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: henrikes on 12 Nov 2017, 20:29
(https://i.imgur.com/W2Nk1Q0.png)

:)
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 12 Nov 2017, 22:08
This situation has no solution without separate scaling setting for windowed mode.

For example, many people complained that the game is not stretched to whole fullscreen. For that reason I was considering to make "proportional stretch" be default scaling. But if I do that, then the people who prefer to play in windowed mode will complain that window is too large by default.

And the preference about how the game should behave if mode is switched during runtime (which scaling option used for alternate mode) also may be different.

edit2 : it should be a post-3.4.1 discussion, right?

There are already complains and confusion about this, and who knows when next version will be.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Snarky on 13 Nov 2017, 07:16
That's three pull downs that most players will not understand. So I don't think it's convenient.

This situation has no solution without separate scaling setting for windowed mode.

Good design makes things as simple as possible, and no simpler. The best thing would be to be able to resize windowed mode on the fly, but as long as that's not possible, yeah, we do need separate settings.
Title: Re: AGS 3.4.1 - RC 1 (new release candidate)
Post by: Crimson Wizard on 13 Nov 2017, 15:48
I guess I should leave this until next (minor) update or patch. This is not the only thing that makes me concerned, to be honest, another one is new file paths restrictions: at first they seemed to be logical, but I have doubts about usability (they became stronger when I actually tried to create a game with AGS).

I would need to discuss this before changing anything again.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 13 Nov 2017, 23:17
AGS 3.4.1 RC2
http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-RC2/AGS-3.4.1-rc-2.zip
(also updated first post)

Changes since RC 1:

Editor:
 - Fixed unhandled exception occuring when user types "#undef", "#ifdef" or "#ifndef" on the last line of the script.
 - Fixed "Script compatibility level" option was incorrectly set to "v3.2.1" every time a project is loaded. (Bug introduced in RC1)

* Also included Linux build pack (https://github.com/adventuregamestudio/ags/releases/download/v.3.4.1.9/AGS.3.4.1.9.Editor.Linux.Pack.zip).


If no critical issue is found in the course of this week, I guess we may call it a final release.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: eri0o on 15 Nov 2017, 12:07
where should I place the Linux Build Pack? I created a folder named Linux on Program Files/Adventure Game Studio 3.4.1 with the contents of the attached folder, but Linux build didn't work. :/ (Compiled/Linux is slightly empty)
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 15 Nov 2017, 12:13
where should I place the Linux Build Pack? I created a folder named Linux on Program Files/Adventure Game Studio 3.4.1 with the contents of the attached folder, but Linux build didn't work. :/ (Compiled/Linux is slightly empty)

Hmm, things to check: -

1) These files should be in Adventure Game Studio 3.4.1\Linux\, meaning not Adventure Game Studio 3.4.1\Linux\Linux\
2) "Linux" checkbox should be ticked in General Settings - Compiler - Build target platform
3) Run Build Exe.

Quote
(Compiled/Linux is slightly empty)
Do you mean the folder was created but no files inside? Was that folder there before or just appeared?
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: eri0o on 15 Nov 2017, 17:11
:/ it appears I don't have the command takeown in my system for some reason, will try to figure out why.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 15 Nov 2017, 17:54
:/ it appears I don't have the command takeown in my system for some reason, will try to figure out why.

I could add this to exceptions, in which case AGS will fallback to copying the files (it does that in case of lack of permissions).

EDIT: Actually... I realized do not know what I should do; first need to investigate why it needs this command exactly, and whether there is a way around without it.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: eri0o on 15 Nov 2017, 18:49
Hey CW, don't hold back the update because of this, it's working fine and this wasn't working previously already.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: morganw on 15 Nov 2017, 19:01
I'm not sure why it needs to do anything regarding ownership or ACLs. If you aren't running as an elevated process then you cannot take ownership, but even if you could, I'm not sure why it tries to make the files writable for all users. If two users need to edit on the same machine, you would just put the game folder somewhere where they can both write and take the default inheritance from that location, and if someone does set an ACL you wouldn't want to have the build process modify it.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 17 Nov 2017, 14:29
http://www.adventuregamestudio.co.uk/forums/index.php?topic=55474.msg636575300

This is happening too often, people use default settings and get unexpected results, that they do not know how to fix in settings. This means that "stretch" must be default.

This is it, I am adding separate scaling settings for windowed and fullscreen modes.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 22 Nov 2017, 11:03
This is it, I am adding separate scaling settings for windowed and fullscreen modes.

I am sorry, this is going to take longer than expected.

The engine code related to config is based on assumption that config options are only used once to create graphics mode for the first time. Also it will take more than just add one variable. There is also several cases which may be affected (starting with config, without config, from legacy config, from command line parameters).

I've been rewriting this gfx init / config code for so many times in past few years, and still cannot make it proper for some reason. I need to think very well before making changes again.

Unfortunately, I made mistake to participate in MAGS this month, and need to focus on one task at time.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 26 Nov 2017, 00:15
Another note, after giving this some thought, I would like to return back the ability to tell AGS to write files into game directory.

Normally this should be advised against, because users may run the game from somewhere where writing is forbidden (either by system permissions, or physically). But I found on my own that there may be at least one case where you may need this ability: when you have a "development" mode in your game to create game data right from inside the game. Currently you'd have to temporarily set custom "APPDATADIR" path in config for the development time, and reset it later before distribution.

To write to game's directory one would have to explicitly use $INSTALLDIR$ token in the file path. File paths without any token will be rerouted to $APPDATADIR$ as they are currently. Manual must contain a warning that one should not write to $INSTALLDIR$ without serious need, because that may prevent some users from running the game normally.
Writing into $INSTALLDIR$ won't have same meaning as writing to $APPDATADIR$ or $SAVEGAMEDIR$ even if these are set to game directory in config, because, obviously, one may always remap the last two onto another location, while $INSTALLDIR$ is always $INSTALLDIR$, so to speak.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 26 Nov 2017, 14:05
Also, I just realized a terrible thing. When AGS reads a savedgame it also checks for the colour depth the game was running on, because DynamicSprites and some other things may depend on active color depth.
Since now Direct3D and OpenGL always run in 32-bit, 16-bit games have different saves depending on whether they were run with Software renderer (which still in mode matching game's original color depth) or Direct3D/OpenGL, and you cannot read your own saves if you switch renderer.

This is actually a critical issue that must be solved, I cannot make a release this such problem.

At first it should be found it if DynamicSprites really should rely on renderer's color depth, and not native game's one. This logic was carried over from older AGS, and maybe had sense for software renderer, but since Direct3D/OpenGL convert native gfx to their 32-bit textures anyway, a different approach may be required; that is - distinct native color depth (in which all scripted drawing is performed) and rendering color depth.

To think more about this, this had to be done in the first place, because now running 16-bit game on Direct3D (which runs 32-bit) may cause some scripted 16-bit drawing operations produce different results...

Looks like I was too hasty when making this change, there's whole layer of issues in there that I did not notice.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Dave Gilbert on 26 Nov 2017, 19:40
Is it even worth maintaining 16 bit mode to begin with? Speaking as a commercial developer, releasing a 16 bit game in 2017 is kind of laughable. Copying the LOOK and FEEL of a 16 bit game is one thing, but making an actual/literal 16 bit game is just asking for compatibility trouble. I know that we had no end of issues when we released the 16 bit Gemini Rue even back in 2011. Maintaining this just seems like a lot of effort for something that fewer and fewer people are using.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 26 Nov 2017, 19:45
Is it even worth maintaining 16 bit mode to begin with?

Running old games, that was always about running old games. It is still supported in this engine.
Also, if AGS will ever be running 8-bit games properly in Direct3D, it will meet same issue.

Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Dave Gilbert on 26 Nov 2017, 19:58
By running old games, you really mean COMPILING old games, right? It will still be a 16 bit game no matter what, which will still run into the same compatibility issues above. And can't the latest version of AGS convert 16 bit graphics to 32 bit anyway? Or am I misremembering?

Edit: To expand on what I mean; I recently took the 16 bit Gemini Rue, imported it into the most recent version of AGS, changed the color depth in "general settings" to 32 bit, and recompiled. Does that make the game 32 bit? I know that I no longer have the same compatibility issues that the game used to have.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 26 Nov 2017, 20:01
By running old games, you really mean COMPILING old games, right?

No, I meant running old games with the new engine. But that could be compiling old games too, if you like.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 26 Nov 2017, 20:03
Looks like we are talking about different things. I cannot follow you.

I was speaking about ENGINE running 16-bit games. Not Editor.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Dave Gilbert on 26 Nov 2017, 20:13
Sorry CW! As always I approach these things from a commercial dev perspective, so what seems obvious to me might not be obvious to everyone else. My question is basically why bother supporting 16 bit games to begin with, since games are no longer made that way (and haven't since 2004) and barely run on modern computers. Wouldn't it be easier to just drop 16 bit support altogether? If we draw a line under that and just make every game 32 bit (or make all games compile to 32 bit), then this ceases to be an issue. Unless there's a reason for this that I'm totally missing.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 26 Nov 2017, 20:15
Sorry CW! As always I approach these things from a commercial dev perspective, so what seems obvious to me might not be obvious to everyone else. My question is basically why bother supporting 16 bit games to begin with, since games are no longer made that way (and haven't since 2004) and barely run on modern computers. Wouldn't it be easier to just drop 16 support altogether? If we draw a line under that and just make every game 32 bit (or make all games compile to 32 bit), then this ceases to be an issue. Unless there's a reason for this that I'm totally missing.

I don't know why??? I was not going to myself at first, but been doing old games support for 4+ years, because since JJS left, Linux people were asking me to make engine run them. Because they wanted to run old AGS games on Linux without using windows versions.

Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Dave Gilbert on 26 Nov 2017, 20:17
Fair enough! Like I said, my perspective is different. If people are actively asking for it and genuinely want it, then that answers my question.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 26 Nov 2017, 20:25
I don't know how I am going to fix this. The whole system is messed up. If software renderer is running 16-bit game in 16-bit and creates 16-bit dynamic sprite, but for example OpenGl renderer runs 16-bit in 32-bit mode it will create 32-bit dynamic sprite... If I will make dynamic sprite conversion when restoring save, may that screw things up, like change the looks of the game if a person switches renderer during play?

To think of this, even the idea of choosing different depth of dynamic sprite depending on display mode is bad, because game may be scripted having one range of colors in mind, and instead gets another range.



UPD: Maybe I could actually make Software renderer run in 32-bit mode too for both 32-bit and 16-bit games. I guess there's hardly a system that cannot do that.
It's just that I am not sure how well that will work with 16-bit gfx, and it will have to do all the conversions on fly while being slower renderer already.
Also, plugins like SnowRain may break again...



EDIT: I will see if what will happen if engine will do dynamic sprite conversion on save game restore first. Code-wise that should be easiest path, unless I am missing something else.
If the results are visually acceptable, I could leave it like that.

(Although the whole thing about DynamicSprites being created in non-native color depth is still absolutely wrong. But changing that would require bigger rewrite I would not like to do now)


EDIT2: The ridiculousness of this is that with 16-bit games run in 32-bit mode you can even create dynamic sprites with alpha transparency in 16-bit games (because AGS checks for display mode, not native property).
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: m0ds on 27 Nov 2017, 16:36
A +1 for "goodbye" to 16 bit. Maybe put it in some other version but eradicate it from the main public one. Among the reasons Windows 8 and 10 don't like 16 bit, and it's always good to kill things players might complain about at their source, the Steam API won't work with a game set to 16 bit (notification window doesn't work in 16 bit).

It's a breeze to update from 16 bit to 32 bit over newer engines (if you've got a 16 bit game in an older iteration of the engine). Going forward though I agree with Dave, it's dodgy supporting it out to end users, except in perhaps very special cases (I wouldn't know what they are, surely you can emulate 16 bit within 32 bit graphics if you must).

With all that said, the most recent winsetup is pretty good! But I wanted to ask, I have dead space in fullscreen mode because my game is 320x200. Dead space I mean black bars at top and bottom. Now, the Steam notification thingy, cannot write into that space (or whatever it does, to clear its notifications) because it's not game (being drawn) space. I was wondering if the "Enable Borders" might help, if it in effect is creating a draw area (not too sure how to describe this sorry), but it is gone from winsetup now. Of course, I can stretch my game out nicely to resolution with winsetup, so the game draw space fills entire screen and the Steam notifications clear away fine. But game looks nasty and I don't think I can update the build resolution at this late stage.

Could there be another way to... well I don't know how to describe it... Have black bars that are refreshing like the game draw area does? Or any other solution for this effect of Steam notifications not clear away? I realize this may be tied to monkeys dll HOWEVER I've seen this in numerous engines when you play letterbox. I have a feeling Unity have recently done something to prevent it happening, I have no idea what but after updating game in a new version of Unity, I can play letterbox and they now disappear (they didn't used to). So wondering what solution we might find for AGS which also suffers it?
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Danvzare on 27 Nov 2017, 18:18
A +1 for "goodbye" to 16 bit. Maybe put it in some other version but eradicate it from the main public one. Among the reasons Windows 8 and 10 don't like 16 bit, and it's always good to kill things players might complain about at their source, the Steam API won't work with a game set to 16 bit (notification window doesn't work in 16 bit).
While I'm also ok with killing 16-bit, since nowadays it seems to serve no purpose other than to cause problems for people who didn't think about setting their game to 32-bit when they started making their game. I can't help but feel that we might be shooting ourselves in the foot if 16-bit was just straight up removed. Why? Well we thought about removing DirectDraw, but for some strange reason it's become more compatible than Direct3D within recent years, so it was a damn good thing that we didn't remove it.

Perhaps having 32-bit as the default, and having the engine strongly recommend against setting it to 16-bit might be the better option. Unless everyone here is in agreement that removing 16-bit will have no negative side effects now or in the near future.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 27 Nov 2017, 18:20
Danvzare, do you realize that option to set game's color depth in the editor 16-bit and engine running the game in 16-bit are different things?

Dave Gilbert above was probably talking about removing game's 16-bit option. I was talking about runtime display mode. Not sure which one MJL was talking about, maybe both.

Removing 16-bit option from the game settings will make people use 32-bit gfx, but it does not mean that the game cannot be run in 16-bit mode. Even today you can force engine to run 32-bit games in 16-bit mode at the cost of decreasing graphics quality (there is such option in config).
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Dave Gilbert on 27 Nov 2017, 18:34
If you removed the 16-bit option from the settings, why would there even be an option to run the game in 16-bit mode in the first place? <hides>

Danzvare: I think 32-bit color depth is the default now. At least, it was the default when I just did a test.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 27 Nov 2017, 18:41
If you removed the 16-bit option from the settings, why would there even be an option to run the game in 16-bit mode in the first place?

It does not have to be, but it is technically possible to have one. For example, AGS still have enforced 16-bit mode, probably to run games on slow machines with ancient graphics cards.
I am trying to say that even if games are made with 32-bit graphics, the engine may still be running them in 16-bit mode if that would be required on some systems.
In other words, removing 16-bit setting from the Editor does not prevent from having a 16-bit runtime mode, if such unusual need will appear.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 28 Nov 2017, 10:47
I believe I found a bug related to the translation file.

My project was done with 3.4.0 untill now.
I installed RC2.
I "cleaned" my project folder by deleting the "compiled" folder.
I compiled my project with the RC2 : compilation failed and got an error message : "..\compiled\English.tra" not found.

Full error message :
Code: Adventure Game Studio
  1. Error: Impossible de trouver une partie du chemin d'accès (= "impossible to find a part of the access path") '***my_path***\I_want_out!\Compiled\Data\English.tra'.
  2. Version: AGS 3.4.1.9
  3.  
  4. System.IO.DirectoryNotFoundException: Impossible de trouver une partie du chemin d'accès '***my_path***\I_want_out!\Compiled\Data\English.tra'.
  5.   à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
  6.    à System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)
  7.    à System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access)
  8.    à AGS.Editor.Components.TranslationsComponent.CompileTranslation(Translation translation, CompileMessages errors)
  9.    à AGS.Editor.Components.TranslationsComponent.AGSEditor_PreCompileGame(PreCompileGameEventArgs evArgs)
  10.    à AGS.Editor.AGSEditor.PreCompileGameHandler.Invoke(PreCompileGameEventArgs evArgs)
  11.    à AGS.Editor.AGSEditor.CompileGame(Boolean forceRebuild, Boolean createMiniExeForDebug)
  12.    à AGS.Editor.Components.BuildCommandsComponent.CompileGame(Boolean forceRebuild)
  13.    à AGS.Editor.Components.BuildCommandsComponent.CommandClick(String controlID)
  14.    à AGS.Editor.GUIController._mainForm_OnMenuClick(String menuItemID)
  15.    à AGS.Editor.MainMenuManager.MenuEventHandler(Object sender, EventArgs e)
  16.    à System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
  17.    à System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
  18.    à System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
  19.    à System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
  20.    à System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
  21.    à System.Windows.Forms.ToolStripMenuItem.ProcessCmdKey(Message& m, Keys keyData)
  22.    à System.Windows.Forms.ToolStripManager.ProcessShortcut(Message& m, Keys shortcut)
  23.    à System.Windows.Forms.ToolStripManager.ProcessCmdKey(Message& m, Keys keyData)
  24.    à System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
  25.    à System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
  26.    à System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
  27.    à System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
  28.    à System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
  29.    à System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
  30.    à System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
  31.    à System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
  32.    à System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
  33.    à System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
  34.    à System.Windows.Forms.Control.PreProcessMessage(Message& msg)
  35.    à System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
  36.    à System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)

The only way I found to be able to compile was :
- making a back-up of my .TRS file
- deleting the translation in the editor
- creating a new translation (with the same name) in the editor
- replace the newly created .TRS file with my backup
- compile

But, each time I delete the compiled\data folder, or just the .TRA file... the message comes back.

Version 3.4.0 was able to re-create TRA file each time if needed.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 28 Nov 2017, 10:56
I found another issue :

If you set the Graphic Driver in the editor (in Default Setup) to be OpenGL, it sets "driver=OpenGL" in the acsetup.cfg file, whereas it should be "driver=OGL" to work correctly.

EDIT :
In the same department :
Sprite cache size is not correctly written : editor writes "cachemax=128" instead of "cachemax=131072" (MB vs KB).
This has direct consequences on the game performance... (in my game, it dropped the frame rate from 60 to around  30).

Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Radiant on 29 Nov 2017, 12:06
Unfortunately, I made mistake to participate in MAGS this month, and need to focus on one task at time.
I for one think it's great that you're working on a game in the engine you've spent so much time on. Go for it!
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 29 Nov 2017, 16:36
@NicolaGs, please try this update: https://www.dropbox.com/s/enevvalninme7cn/ags-editor-3.4.1--pre-rc3.zip?dl=0
Translation error was related to "Data" subfolder not created in time.
Also fixed config problems.


Unfortunately, I made mistake to participate in MAGS this month, and need to focus on one task at time.
I for one think it's great that you're working on a game in the engine you've spent so much time on. Go for it!

Yeah, well, working on the game is one thing, but competition with a deadline had messed up my normal routine.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 29 Nov 2017, 17:28
@NicolaGs, please try this update: https://www.dropbox.com/s/enevvalninme7cn/ags-editor-3.4.1--pre-rc3.zip?dl=0
I confirm that both issues have been fixed! Good job ;) Thanks...
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 04 Dec 2017, 19:14
I encountered weird bugs with the fullscreen switch.

With Direct3D : no issue
With the Software Renderer : when going from fullscreen to windowed, the window loses the focus and so the sound jitters (not that important... but doesn't look clean).
With OpenGL :
- windowed to fullscreen : OK
- fullscreen to windowed : frame stays in fullscreen and is only resized (the frame gets what should be its windowed size and is moved at the bottom left corner... so there's a black background above and on the right of the frame).

The OpenGL issue does not happen everytime (it works fine on my older laptop and issue has been seen on two different computers...)

Windows 7 x64
AGS 3.4.1 + pre-RC3 fix.
Game is 320x200 and displayed at screen resolution.


Edit : another observation about the OpenGL bug. I used TeamViewer to access the PCs with the issue. I tried to switch from fullscreen to windowed mode.
What was visible on the "real" screen : the game stayed in fullscreen, stick to the bottom-left border of the screen, with black bars above and on the left.
What was visible on the TeamViewer screen : the game was in a window... I can even move it and close it by clicking X button...

So it seems the game correctly switches to windowed mode but the screen is not displayed correctly.

It's the same on both PCs...
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 06 Dec 2017, 17:35
I made an experimental version with separate windowed and fullscreen scaling options in winsetup:
https://www.dropbox.com/s/krukpwznaymhy0t/acwin-3.4.1--pre-rc3.zip?dl=0

I'd really like to know people's opinion on this.
Now there are two options for scaling type called "Fullscreen scale" and "Windowed scale" (also renamed some option names to make them shorter and simplier, IMO). Filter stays one for both (I guess that makes sense).

Also noticed and fixed one bug related to switching from fullscreen. Not sure if that's the one you experienced, NicolaGs, because the symptoms were different, but may be worth to test again.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 06 Dec 2017, 21:37
I tested it.

The "bug" related to switching to windowed mode not being in focus with Software Renderer is fixed.
The bug related to switching to windowed mode not being displayed correctly with OpenGL is still here.

I like the new options for scaling modes. It works fine and looks "cleaner" than the previous behaviour.
The option names seem fine.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: henrikes on 06 Dec 2017, 21:53
Tested it also, the setup looks and feels right.

The changes from fullscreen to window mode work as i would expect it to work.

One thing i wasn't expecting the fact that now we can resize the window at runtime, unfortunatly it doesnt maintanin aspect ratio :(
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 06 Dec 2017, 22:16
One thing i wasn't expecting the fact that now we can resize the window at runtime, unfortunatly it doesnt maintanin aspect ratio :(

Neither did I... :confused: What OS are you running?
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: henrikes on 06 Dec 2017, 22:23
win 10 :)
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 07 Dec 2017, 18:58
win 10 :)
I don't see this behaviour in Win 7.

Edit : do you use a software that tweaks windows management ? (some can change some Windows object behaviours like minimizing every window in the tray, add or remove windows buttons...)
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 07 Dec 2017, 19:19
The bug related to switching to windowed mode not being displayed correctly with OpenGL is still here.


I found something else in the code that restores windowed mode after fullscreen, but not sure if that's even relevant.
I made two versions this time for the testing; there are different arguments that may be passed to system function, but I am not sure if there's even any difference in our case:
https://www.dropbox.com/s/krukpwznaymhy0t/acwin-3.4.1--pre-rc3.zip?dl=0
https://www.dropbox.com/s/yymp9ufhbj5qvpm/acwin-3.4.1--pre-rc3--variant2.zip?dl=0

(I do not have same bug with OpenGL, so cannot test this issue out directly)
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: henrikes on 07 Dec 2017, 20:51
Here are examples of what Im saying....
Normal one
(https://i.imgur.com/AyxGA3Gl.jpg)

Resized window
(https://i.imgur.com/AR7FeDwl.jpg)

I dont recall the previous version having the maximize button.


Edit : do you use a software that tweaks windows management ? (some can change some Windows object behaviours like minimizing every window in the tray, add or remove windows buttons...)
Not that I know of :)
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 07 Dec 2017, 21:07
I dont recall the previous version having the maximize button.
This is something went wrong with the recent fixes I did.

AGS is currently not able to detect when the window size was changed without its consent (because it was believed that resizing is not working well with Allegro 4 library, and also I am not sure if there is a proper way to get operating system notifications through Allegro).
I do not know how it even keeps resizing game image with the window, maybe Windows 10 has a window mode when the resizing window just stretches any image drawn inside? I heard they have something like that on OSX (unless I misunderstood).

In theory I could make AGS test if window size had changed every update and resize the game accordingly... but if it does what I described above, then it probably won't help.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 07 Dec 2017, 21:27
I made two versions this time for the testing; there are different arguments that may be passed to system function, but I am not sure if there's even any difference in our case:
https://www.dropbox.com/s/krukpwznaymhy0t/acwin-3.4.1--pre-rc3.zip?dl=0
https://www.dropbox.com/s/yymp9ufhbj5qvpm/acwin-3.4.1--pre-rc3--variant2.zip?dl=0
Unfortunately, that does not work :(.
The first build works like the previous one.
The second build works worse : fullscreen -> window gives a black screen, that isn't recovered by going back to fullscreen (it's only a display issue, so the game still runs, and it's fortunately easy to exit...).
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 07 Dec 2017, 21:48
I want to give up and release this version. I know so little about OpenGL, that would not even know where to begin looking. I keep spending lots of time inefficiently trying to do things that I have zero expertise in, while I could do something else and get more results.
People around here should really hire someone who knows how to code these things.

AGS should have been moved to SDL2 or Allegro 5 years ago, then all this won't be even required.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 07 Dec 2017, 21:58
I want to give up and release this version.
It's not even an important issue. This shouldn't indeed prevent you to release a new version.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 07 Dec 2017, 22:30
I want to give up and release this version.
It's not even an important issue. This shouldn't indeed prevent you to release a new version.

I think it is, because OpenGL and switching modes is part of this release.
I hope it will work for most people for the time being, then someone will find a way to fix remaining problems.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 08 Dec 2017, 10:45
Yes... I meant it's not a bug that prevent AGS to run... it doesn't crash the game and it's not even visible on every computer....
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 08 Dec 2017, 11:52
Another quick update, now fixed "maximize" button appearing after switching from fullscreen to windowed mode:
https://www.dropbox.com/s/krukpwznaymhy0t/acwin-3.4.1--pre-rc3.zip?dl=0

EDIT: forgot to add separate scaling options to Editor's default setup pane.

Actually, I found (and fixed) that AGS does unnecessary manipulations in winsetup too... the gfx renderer classes are initialized there under hood to read some properties from them, and when they are destroyed they try to "restore" setup window style (thinking it's the game's window) and system's display mode, even though it was never changed.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: cat on 08 Dec 2017, 16:54
I just upgraded to RC2 that is linked in the first post. First of all: Thank you for your hard work, guys!

I have two questions:

1) I opened and compiled an old game and get the following warning when running the game:
"Warning: this game requests a higher version of AGS script API, it may not run correctly or run at all.
The game itself works just fine, but the message box is annoying.

2) What is the best default graphic driver? Software, D3D, OGL? D3D is default now, but should I choose OGL instead for best compability?
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 08 Dec 2017, 17:13
1) I opened and compiled an old game and get the following warning when running the game:
"Warning: this game requests a higher version of AGS script API, it may not run correctly or run at all.
The game itself works just fine, but the message box is annoying.

Ahhh, that's one weird bug I was planning to fix, but kept forgetting to. I will try again in following days.

2) What is the best default graphic driver? Software, D3D, OGL? D3D is default now, but should I choose OGL instead for best compability?

I guess this question is for commercial game developers, since they get most feedback on this topic. The only difference I personally noticed is that OpenGL initializes a little slower on my system.
In regards to software driver opinions seem to divide, personally I try not to use it because it runs badly with newest video card/drivers I have. But it is still the only renderer that is 100% compatible with 8-bit games.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: cat on 08 Dec 2017, 17:33
Ahhh, that's one weird bug I was planning to fix, but kept forgetting to. I will try again in following days.
Is there a quick workaround for this? Is there a version number hidden in one of the game files that I can edit manually to fix it?

Quote
I guess this question is for commercial game developers, since they get most feedback on this topic. The only difference I personally noticed is that OpenGL initializes a little slower on my system.
Ok, I'll try OpenGL and see what the testers say.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 08 Dec 2017, 17:35
Ahhh, that's one weird bug I was planning to fix, but kept forgetting to. I will try again in following days.
Is there a quick workaround for this? Is there a version number hidden in one of the game files that I can edit manually to fix it?

I think it goes away if you do "Rebuild all files", but that's not confirmed.
The warning itself is related to the variable in compiled data that cannot be fixed by hand (well, technically can be, but you'd need to know exact offset).
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: cat on 08 Dec 2017, 17:46
I think it goes away if you do "Rebuild all files", but that's not confirmed.
Sadly, it does not. I even renamed the compiled folder and rebuilt all, but I still get that message box.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 08 Dec 2017, 18:10
I think it goes away if you do "Rebuild all files", but that's not confirmed.
Sadly, it does not. I even renamed the compiled folder and rebuilt all, but I still get that message box.

Ok, I got it. Workaround is: go to General Settings, Backwards compatibility, open "Script API version" drop-down list and just close it (leave value unchanged), then compile again.
There is a value that does not initialize correctly until this setting is set to something.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: cat on 08 Dec 2017, 18:53
Workaround is: go to General Settings, Backwards compatibility, open "Script API version" drop-down list and just close it (leave value unchanged), then compile again.
Thanks, that did it!
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 09 Dec 2017, 02:21
Updated again (will probably release RC3 on this weekend):
https://www.dropbox.com/s/oh22daiy6zkp5be/ags-3.4.1--pre-rc3.zip?dl=0
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: eri0o on 09 Dec 2017, 11:09
Hey Crimson Wizard. The PDB files you told... I am trying to debug one of those 0xC0000005 exceptions: in a specific computer, running Windows 7, selecting the OpenGL driver gets an exception, program pointer +5, but it works for Direct3D - https://i.imgur.com/BBN6mxs.png . I used the beta that was available on 29 November ( https://www.dropbox.com/s/enevvalninme7cn/ags-editor-3.4.1--pre-rc3.zip?dl=0 ). Please release those with RC3. My game Dungeon Hands was executed by more than 40 people, and it worked without errors on Windows 10 - at least no one reported.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 09 Dec 2017, 12:34
Hi, sorry to bother you again.
I found another small issue with the management of dual scaling for Windowed/fullscreen mode.

Make a game with default settings :
- fullscreen scaling mode = strech, preserving ratio
- windowed mode scaling mode = max round multiplier
- fullscreen

Run the game : it works as expected, i.e. fullscreen, stretched with good ratio.

Now, switch to windowed mode : it works as expected, with max round multiplier

Then exit the game

Then launch the game again : it runs in a window, but with stretch-precerbing-ratio mode instead of max round multiplier.

The .cfg in"saved games" only store "windowed=" and not the scaling mode... could it be the source of the issue?
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 09 Dec 2017, 16:55
The .cfg in"saved games" only store "windowed=" and not the scaling mode... could it be the source of the issue?
No, these scaling modes can be read from default config too.

All these issues are because the system was not originally designed to switch at runtime. So now it saves only one variable when exits game (windowed or fullscreen mode) but does not save actual window size.

This build contains fixes
https://www.dropbox.com/s/enevvalninme7cn/ags-editor-3.4.1--pre-rc3.zip?dl=0

Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 10 Dec 2017, 10:57
This build contains fixes...
Yes! That did it :)
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 10 Dec 2017, 13:26
It seems that fixed multipliers in windowed mode do not work.
If you set up your game with windowed mode and e.g. x2, the game runs at its original size...
If you set up your game with fullscreen with e.g. x2 for windowed mode, when swithcing from fullscreen to windowed mode, you get a max multiplier...
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 10 Dec 2017, 13:57
It seems that fixed multipliers in windowed mode do not work.
If you set up your game with windowed mode and e.g. x2, the game runs at its original size...
If you set up your game with fullscreen with e.g. x2 for windowed mode, when swithcing from fullscreen to windowed mode, you get a max multiplier...

The old code that I was fixing is back, I did mistake when merging changes to repository.
https://www.dropbox.com/s/enevvalninme7cn/ags-editor-3.4.1--pre-rc3.zip?dl=0
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 10 Dec 2017, 15:21
The scaling when starting the game in windowed mode is fixed !
But not when you first start the game in fullscreen mode : when you then switch to windowed mode, it uses max multiplier... and not the one you set in the winsetup.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 10 Dec 2017, 15:43
Well, that's because I did not code the main functionality, that was first reason of this change. I don't know how this happened, probably I do not understand what I am doing anymore.
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 10 Dec 2017, 15:56
If you're not comfortable with it, maybe you can drop this from 3.4.1 and put it on the to-do list for the next version ? I'm sure everybody here can live without this feature... ;)
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: Crimson Wizard on 10 Dec 2017, 17:44
I am not comfortable without adding it either.

Made fix:
https://www.dropbox.com/s/oh22daiy6zkp5be/ags-3.4.1--pre-rc3.zip?dl=0
Title: Re: AGS 3.4.1 - RC 2 (new release candidate)
Post by: NicolaGs on 10 Dec 2017, 17:50
You made it... It works fine! ;)
Title: Re: AGS 3.4.1 - RC 3 (new release candidate)
Post by: Crimson Wizard on 11 Dec 2017, 22:16
AGS 3.4.1 RC3
http://www.adventuregamestudio.co.uk/releases/betas/AGS-3.4.1-RC3/AGS-3.4.1-rc-3.zip
(also updated first post)

Few last-minute changes had to be made to improve usability of this release.

Changes since RC 2:

Editor:
 - Fixed TRS files could not be compiled if Compiled/Data folder is not present.
 - Fixed some incorrectly written values in default config.
 - Fixed script API options were not properly initialized when upgrading old games, which caused warnings appear on game launch.

Engine:
 - Now supports separate scaling options for fullscreen and windowed modes.

* Linux build pack (https://github.com/adventuregamestudio/ags/releases/download/v.3.4.1.10/AGS.3.4.1.10.Editor.Linux.Pack.zip).

Title: Re: AGS 3.4.1 - RC 3 (new release candidate)
Post by: NicolaGs on 12 Dec 2017, 16:38
Thanks, CW.
It works great!
Title: Re: AGS 3.4.1 - RC 3 (new release candidate)
Post by: cat on 12 Dec 2017, 20:13
I just want to say that I love the new Default Setup page and with the last RC it also works correctly!
Title: Re: AGS 3.4.1 - RC 3 (new release candidate)
Post by: Vincent on 15 Dec 2017, 11:43
Superlative work Crimson Wizard, thank you very much!
Title: Re: AGS 3.4.1 - RC 3 (new release candidate)
Post by: Chicky on 18 Dec 2017, 17:10
Hey fantastic work Crimson! I've been trying out the RC2 (and now RC3) release after using 3.2 for for the past 3 years and the improvements are so good! I love how smooth alt-tab and alt-enter is now and the updated winsetup is perfect.

Today I've upgraded from the original RC2 release to this new RC3 release and I'm getting the follow errors when trying to build the game:

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

Note: Ignore the GUI related one, that's just AGS being silly (and has been there forever).

Am I doing something wrong? I deleted the compiled folder and tried rebuilding all files just to make sure, but alas, same output. Seems the game compiles successfully and I'm able to run it.

Could this be an anti-virus issue? I've added exceptions for the folder in which RC3 resides.
Title: Re: AGS 3.4.1 - RC 3 (new release candidate)
Post by: Crimson Wizard on 18 Dec 2017, 17:12
Today I've upgraded from the original RC2 release to this new RC3 release and I'm getting the follow errors when trying to build the game:

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

Note: Ignore the GUI related one, that's just AGS being silly (and has been there forever).

Am I doing something wrong? I deleted the compiled folder and tried rebuilding all files just to make sure, but alas, same output. Seems the game compiles successfully and I'm able to run it.

Could this be an anti-virus issue? I've added exceptions for the folder in which RC3 resides.

Do you actually have Windows Game Explorer integration enabled?
BTW, maybe you need to add exceptions for game project's folder, not Editor's folder.
Title: Re: AGS 3.4.1 - RC 3 (new release candidate)
Post by: Chicky on 18 Dec 2017, 17:26
Thanks for the speedy reply! I already had anti-virus exceptions for the game project folder in place from using previous versions of AGS, so I don't think that's the cause.

In AGS 'enable Game Explorer integration' is set to false.

*edit: Okay, I have no idea how but restarting my PC fixed the issue. Maybe the anti-virus exception didn't kick in until reboot. Sorry to waste your time and thanks again for these amazing updates!