AGS 3.4.1 - Patch 2

Started by Crimson Wizard, Sun 13/05/2018 20:30:39

Previous topic - Next topic

Crimson Wizard

AGS 3.4.1 - Patch 2 released
Current release number: 3.4.1.13



For Android
Spoiler

For developers
Spoiler


Released: 13th May 2018

Previous stable version: AGS 3.4.0 forum thread


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)

And artists of the new Sierra-style template:
- CaesarCub
- Hobo
- Jim Reed
- ProgZmax
- Selmiak



Changes in the Patch 2:

Templates:
1. Now includes new "Sierra-style" template which substitutes elderly "Default" template and contains new age graphics.
Template topic: http://www.adventuregamestudio.co.uk/forums/index.php?topic=54703.0
2. Made small fixes to the Verb Coin template to make it compatible with 3.4.1 out of the box.

Editor:
- Font's line spacing and offset are now used when displaying GUI previews.

Engine:
- Removed limit on maximal asset files in a game package. (Now you may have over 10k voice files in speech.vox)
- Fixed game refused to start at all if speech.vox has bad format.
- Fixed DynamicSprite.SaveToFile() was not appending default  "bmp" extension if user did not specify one.

Android:
- Updated port to work with 3.4.1 engine. Software renderer works again too (was broken in 3.4.0).



Changes in the Patch 1:

Engine:
- Removed game error reported when GUI coordinates were off the room limits.
- Fixed crash in Direct3D renderer when alt+tabbing out of fullscreen mode.
- Fixed OpenGL fullscreen mode was not minimized when you alt+tab from it.
- Fixed Direct3D and OpenGL renderers unnecessarily applied anti-aliasing on utility sprites (used for transition effects) when "smooth scaled sprites" option was enabled.



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 (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 may be visible when over black borders.

horusr

I am having problem with android port.

First of all, it didn't installed. Crimson Wizard sent me debug version and I installed it.

Second problem is hardware renderer doesn't work. So I switched to software renderer and games kinda worked. Let me show game's name and screenshots:

Disgust
It didn't show menu GUI. Crimson Wizard said windows version on 3.4.1 engine also showed same problem. It also didn't work on older android port.
Spoiler
[close]

Sleeping Beauty
This also ran too slow on older port. Here it runs extremely slow and I think that purple part on right too is GUI.
Spoiler
[close]

Trilby's Notes
I have no explanation on this.
Spoiler
[close]

Crimson Wizard downloaded both Disgust and Trilby's Notes and got same result. So I downloaded the game I played before and I am sure it worked before.

A Landlord'd Dream
It only show black screen but plays music on hardware renderer but works fine in software renderer(idk if there is a problem with colors, GUI is showing but it is not readable). I installed old apk(3.4.1_debug) and it only showed black screen with sounds on both hardware and software renderers. That apk also didn't play other games at all.
Spoiler
[close]

Also I couldn't complete A Landlord's Dream before because there is no keyboard option in app but there is a par set puzzle on game.

Crimson Wizard

#2
Quote from: horusr on Sun 13/05/2018 23:08:10
First of all, it didn't installed. Crimson Wizard sent me debug version and I installed it. 

I replaced the APK here already. Decided to try making one built in "release" configuration, but it seems to be compiled unaligned and unsigned. Not sure what it is intended for.



The test results show that Android port is still not completely fixed. Hardware renderer does not work for all people. Perhaps depends on a device.
There were too many changes, both in engine core code, and in how Android port is built, so reasons are hard to tell.


As for the pink colors glitch, this is a general issue that happens on Windows too. It may be caused by a combination of 16-bit games and transparent GUI background (just a guess for now). It is most probably caused by all renderers running in 32-bit display mode now, so 16-bit gfx get converted at runtime.

Monsieur OUXX

#3
I just fell victim of "No Edit-->Undo after saving a script file" which made me lose hours of work EDIT: After two years using Dropbox, its "history" feature finally came to the rescue :P .
I know it's a known behaviour but it infuriates me.
 

Crimson Wizard

#4
Quote from: Monsieur OUXX on Tue 03/07/2018 15:13:49
I just fell victim of "No Edit-->Undo after saving a script file" which made me lose hours of work.
I know it's a known behaviour but it infuriates me.

This is the first time I hear about this, is there an issue opened in the tracker? How do you reproduce it at least?

Monsieur OUXX

Quote from: Crimson Wizard on Tue 03/07/2018 15:22:38
This is the first time I hear about this, is there an issue opened in the tracker? How do you reproduce it at least?

Last time I mentionned it, Monkey0506 said "but why don't you comment the code instead of changing it directly and relying on Ctrl+Z?". It's definitely a thing, and it has been for many, many versions.

Scenario :
- Open an script (any script)
- change anything in it
- Do Ctrl+S
- As soon as the file gets saved, you cannot "Undo". All the undo steps get flushed.
 

Crimson Wizard

Quote from: Monsieur OUXX on Tue 03/07/2018 15:37:33
Scenario :
- Open an script (any script)
- change anything in it
- Do Ctrl+S
- As soon as the file gets saved, you cannot "Undo". All the undo steps get flushed.

Hmm yes, this is not right. I can see undo arrow enabled, but clicking on it does nothing.

Monsieur OUXX

QuoteHmm yes, this is not right.

There's definitely a history on this in the forums, even if I can't fond it right now.
 

Crimson Wizard

Quote from: Monsieur OUXX on Tue 03/07/2018 15:48:13
There's definitely a history on this in the forums, even if I can't fond it right now.

The problem is that for a long time people keep posting bugs on forums in different threads. Even if I've seen this some time ago, I won't remember now. And I do not read every topic.

Cassiebsg

Uhm, did not knew that.
I have noticed that sometimes the arrow is not enabled, but Ctr-Z still works (right after testing the game). For a long time that made me believe that I could not undo, so I never again deleted any code, unless I'm sure I don't need it. I just comment it out, test the new code and if all is working right, I'll delete the old code.
There are those who believe that life here began out there...

SMF spam blocked by CleanTalk