AGS 3.6.0 - Beta 15

Started by Crimson Wizard, Sun 20/03/2022 20:23:39

Previous topic - Next topic

Crimson Wizard

#40
Updated to Beta 3
(use download links in the first post)

Common:
- Discontinued "Windows Game Explorer" support in both Editor and Engine.

Editor:
- Editor will now create an empty spriteset file (acsprset.spr) if one is missing in the game project. Any existing sprite descriptions in the project will be kept, letting user to reimport these from sources.
- Added "File -> Restore all sprites from sources" menu command.
- Added "Apply" button on editor's Preferences dialog.
- Fixed blank rooms not assigned a default mask resolution.

Script API:
- Added GUIControl.Transparency property. This lets change individual transparency to any gui controls.
- Made Overlay.Width and Height properties settable, that let you freely scale existing Overlay.
- Added readonly Overlay.GraphicWidth and GraphicHeight properties that let read original overlay's graphic size (in exchange for Overlay.Width and Height).

Engine:
- Engine now renders GUI controls as separate textures when using hardware accelerated renderers. This may significantly improve perfomance in the high-resolution games and games with large number of GUI elements on screen.
- Fixed on_key_press not called sometimes.
- Fixed special engine key combos not working if the new style key handling was on.
- Fixed non-clickable controls stealing mouse clicks.
- Fixed ListBox items drawn over scrollbar in gui clipping mode.
- Fixed TextBox duplicating letter input.
- Fixed 16-bit sprite pixel corruption in 32-bit games.

Linux:
- Fixed engine failing to find game data in paths other than current working dir.

vga256

#41
There appears to be a bug with b3, or a change in implementation that has rendered my BackgroundImages for GUIs to be completely transparent (or non-existent, not sure which). I can confirmed that all of my GUI windows have a proper BackgroundImage set. This was working fine with b2. Am I missing something obvious?

(FWIW - the Modem Dialer window uses a button with a background image as a background, not a GUI.BackgroundImage, which is why it appears correct)

Screenshot:

Crimson Wizard

#42
Quote from: vga256 on Sat 16/04/2022 19:55:04
There appears to be a bug with b3, or a change in implementation that has rendered my BackgroundImages for GUIs to be completely transparent (or non-existent, not sure which). I can confirmed that all of my GUI windows have a proper BackgroundImage set. This was working fine with b2. Am I missing something obvious?

(FWIW - the Modem Dialer window uses a button with a background image as a background, not a GUI.BackgroundImage, which is why it appears correct)

Screenshot:

Please, can you give have some info about the game: color depth, which renderer do you run, and so on?

EDIT: actually yes, it does not work and displays a black rectangle instead of the image. This version is not working, I will have to fix and re-release.

EDIT2 it happens with some GUI but not the others, I am not exactly sure why yet.

vga256

#43
Game is in 32-bit mode (sprites are imported in 32 bit mode as well), and behaviour is consistent across all renderers (OpenGL/D3D9/SDL2).
GUI Alpha rendering style: proper alpha blending
GUI controls clip their contents: false
Pixel-perfect click detection: true
Sprite alpha rendering style: proper alpha blending
When player interface is disabled, GUIs should: Display normally

I re-imported the affected background images just in case there was a problem with the sprite file, but this had no effect. Background displays properly in-Editor.

Update: I have https://vga256.com/ags/test-noguibg.zip created a demo project for your convenience here which has a white background PNG image used for the GUI.

Crimson Wizard

This happens if the image has an alpha channel.

Crimson Wizard



Crimson Wizard

We definitely need more testers. This mistake was made by a most recent change which I forgot to double check with all possible variants. Too bad that I dont have a good test game which would group similar functionality, like everything related to GUIs.
Or perhaps I should post temporary builds here to let someone try, instead of making a release?

vga256

Happy to test out new early 3.6.x builds for you as I am using it exclusively. (Or can just send you my current AGS project which is extremely GUI-heavy).

Crimson Wizard

Please note: the Beta 3 has been reuploaded with a fix

The download links are all the same. I apologize for inconvenience.

Did this mostly because this was found within 24 hours; for any further problems i'd be making new releases as proper.

FanOfHumor

Not that I like to harp on this but do you think you might soon allow dragging folders in the sprite menu?If i'm being annoying just say the word and i'll zip my lip. :X

Hobbes

Updated to latest beta yet again! So far, things seem to be running smoothly on my end. Once we're out of beta, I'm happy to compile an empty MacOS AGS (Silicon & Intel) application for people to stick their games into. I've got them right now, but not much use for the wider community I think, since we're in beta.

Keep up the great work! (As always)

eri0o

Hey Hobbes, can you test if the binary here works for you? https://cirrus-ci.com/task/6135298751987712 (it's the one named ags, the others are unreleased things for now)

Crimson Wizard

Quote from: Pajama Sam on Sun 17/04/2022 03:35:55
Not that I like to harp on this but do you think you might soon allow dragging folders in the sprite menu?

Do you mean dragging around the list, or drag & drop whole folders from the file explorer to import sprites?

abstauber

I just started porting my quite old game project from AGS 3.4 to 3.6b3.

It already compiles, but crashes with the following exception.
Since I replaced a lot of Viewports and System.ScreenHeights, I can't exactly tell you, what did cause this crash.

Code: ags

An exception 0xC0000094 occurred in ACWIN.EXE at EIP = 0x0050A95E; program pointer is +373, ACI version 3.6.0.23, gtags (663,20)



I hope it still somewhat helps.

Crimson Wizard

#55
Quote from: abstauber on Sun 17/04/2022 22:39:53
Code: ags

An exception 0xC0000094 occurred in ACWIN.EXE at EIP = 0x0050A95E; program pointer is +373, ACI version 3.6.0.23, gtags (663,20)


0xC0000094 is "division by zero". "program pointer is +373" is around the gui controls drawing. I think "gtags" should contain ID.

Does it still crash? If yes, may I have a compiled game for a test?

EDIT: Hmm, the only suspicious division i could find is in Slider, when MaxValue - MinValue = 0

abstauber

I've just PM'ed the link to the project. It could also be very possible that I did something stupid, as I haven't spent much time porting the code yet.
Oh and the keyboard controls seem to be different now too. At least the arrow keys don't work anymore.
Thanks for looking into this.

Crimson Wizard

Quote from: abstauber on Sun 17/04/2022 23:40:52
I've just PM'ed the link to the project. It could also be very possible that I did something stupid, as I haven't spent much time porting the code yet.

The above is not a scripting mistake, but a engine error. Program should not crash like that even if script is wrong.

Quote from: abstauber on Sun 17/04/2022 23:40:52
Oh and the keyboard controls seem to be different now too. At least the arrow keys don't work anymore.

If the "General Settings -> Backwards Compatibility -> Use old-style key handling" is set to true, then nothing should change; so there may be a engine bug too.

FanOfHumor

#58
QuoteDo you mean dragging around the list, or drag & drop whole folders from the file explorer to import sprites?
Yes ,I meant to say to drag and drop whole folders within  the sprite panel(as in to be able to organize the sprite folders).

Crimson Wizard

Quote from: abstauber on Sun 17/04/2022 22:39:53
Code: ags

An exception 0xC0000094 occurred in ACWIN.EXE at EIP = 0x0050A95E; program pointer is +373, ACI version 3.6.0.23, gtags (663,20)



So, this happens when any gui control has width or height = 0.
There's a temp fixed build here (installer and archive):
https://cirrus-ci.com/task/4575886656667648

SMF spam blocked by CleanTalk