AGS 3.6.0 - Release Candidate (RC 11)

Started by Crimson Wizard, Fri 07/10/2022 00:21:56

Previous topic - Next topic

rongel

Looks like I managed to reproduce it in a new test game. I made a button with all the different graphics, then when I click it, it does this:

Code: ags
function btn1_OnClick(GUIControl *control, MouseButton button)
{
  btn1.Visible = false;
  Wait(40);
  btn1.Visible = true;
}

If I move the cursor from top of the button while the game is paused, it's still has the mouse over graphic when it becomes visible again. I tested it by hiding the GUI (instead of the button), and it works normally (the button has the default graphics). I can send my test game if you need it.

Dreams in the Witch House on Steam & GOG

Crimson Wizard

Quote from: rongel on Wed 11/01/2023 18:09:48Looks like I managed to reproduce it in a new test game. I made a button with all the different graphics, then when I click it, it does this:

Code: ags
function btn1_OnClick(GUIControl *control, MouseButton button)
{
  btn1.Visible = false;
  Wait(40);
  btn1.Visible = true;
}

Yes I see now; looks like I fixed one thing but broke another... This happens in both 3.5.1 and 3.6.0.

Crimson Wizard

#62
I seem to have fixed this, the temp build download will appear here, in about 1 hour:
https://cirrus-ci.com/task/6686114136719360

EDIT: should be available now.

rongel

#63
Quote from: Crimson Wizard on Wed 11/01/2023 21:17:58I seem to have fixed this, the temp build download will appear here, in about 1 hour:
https://cirrus-ci.com/task/6686114136719360

Thanks for the fix! I tested this and it works in my simple test game situation. Unfortunately, it didn't fix the button issues in my own game. I did more testing and it seems the issue is also connected to the Tween Module and fading in and out. I use a lot of quick fades, and my own fade gui. The problem remains when ever they are used with a button click. Some examples of the wrong button behaviour:

Code: ags
function btn1_OnClick(GUIControl *control, MouseButton button)
{
  gGUI1.TweenFadeOut(0.1); // gGUI1 has btn1 in it
  Wait(40); // Move mouse away from the button while game is paused
  gGUI1.TweenFadeIn(0.1);
}


Code: ags
function btn1_OnClick(GUIControl *control, MouseButton button)
{
  gFadeGui.TweenFadeIn(0.1); // My custom fade, black screen
  Wait(40); // Move mouse away from the button while game is paused
  gFadeGui.TweenFadeOut(0.1);
}

EDIT: Ok, even this causes the issue (I removed the Tween Module, so that doesn't cause it):

Code: ags
function btn1_OnClick(GUIControl *control, MouseButton button)
{
  gGUI2.Visible = true; // Opens another Gui
  Wait(40); // Move mouse away from the button while game is paused
}
Dreams in the Witch House on Steam & GOG

Crimson Wizard

As far as I know, TweenFadeOut calls Visible = false secretly when transparency reaches 100, so that's same case in practice.

So, you are making whole GUI invisible, not just the button?

rongel

Quote from: Crimson Wizard on Thu 12/01/2023 11:23:04So, you are making whole GUI invisible, not just the button?
Yes, I've tested that too. The results seem a bit weird and hard to explain, but here's what I've found out:

Things that work:
- Making the GUI (that has the button) invisible and visible
- Making the button invisible and visible (with the new fix)

Things that don't work:
- Fading out and fading back in the GUI (that has the button) with Tween Module
- Making another GUI visible after clicking the button (no Tween Module, no fades). This seems the most strange one to me.

I can send my test game if it's easier to see what I mean.
Dreams in the Witch House on Steam & GOG

Crimson Wizard

Quote from: rongel on Thu 12/01/2023 12:11:36Things that don't work:
- Fading out and fading back in the GUI (that has the button) with Tween Module
- Making another GUI visible after clicking the button (no Tween Module, no fades). This seems the most strange one to me.

I can send my test game if it's easier to see what I mean.

I could not reproduce this using the temp 3.6.0 build (which I linked above). I guess I will have to see this in your game...

Crimson Wizard

So, all of this is not related to fading, or making GUIs visible, even following triggers the problem:
Code: ags
function btn1_OnClick(GUIControl *control, MouseButton button)
{
  Wait(40); // Move mouse away from the button while game is paused
}

I noticed that you have a setting that when interface is disabled, GUI should "display normally". This may be an essential difference between yours and my test games.


rongel

Quote from: Crimson Wizard on Thu 12/01/2023 21:29:24@rongel
Another update: https://cirrus-ci.com/task/5986584122621952

Quick testing looks really promising, all of my buttons seem to be working properly now, and the map screen behaves like it used to. Thanks so much for these quick fixes CW!
Dreams in the Witch House on Steam & GOG

Crimson Wizard

Updated to RC6 (3.6.0.41)
(use download links in the first post)

Editor:
- Fixed syncdata.dat (lipsync) output file getting parsed like Papagayo source;
- Fixed GUI.Visible property was resetting to false when PopupStyle is switched to Modal;

Engine:
- Fixed GUI sorting for cases when ZOrder is equal (this could cause both regression in drawing order, and click detection mistakes);
- Fixed GUI buttons could retain mouse-over pic after interface is disabled then enabled (this is a regression since recent update).
- Fixed memory leak occuring when the TTF font is drawn partially outside the DrawingSurface.
- Fixed few mistakes occuring after restoring much older saves in a game that was upgraded to 3.6.0.
- Fixed crash occuring if a plugin tried to call SetVirtualScreen().



Reported issues remaining:
* Direct3D is said to still be not fully stable when alt+tabbing in exclusive fullscreen mode: https://www.adventuregamestudio.co.uk/forums/ags-engine-editor-releases/ags-3-6-0-release-candidate-rc1/msg636650995/#msg636650995

jumpjack

Sorry if it's a silly question, but why also in 3.6.0 there is no "New" button/menu to create a new game without exiting the editor?

Apart from this, I just opened an issue about a "text bug" I recently discovered in RC3 but still present:

https://github.com/adventuregamestudio/ags/issues/1900

Crimson Wizard

#72
Quote from: jumpjack on Thu 19/01/2023 07:51:29Sorry if it's a silly question, but why also in 3.6.0 there is no "New" button/menu to create a new game without exiting the editor?

It never existed in AGS Editor (at least since 3.0). This is one of those problems that never get addressed, mostly because people don't ask about them often (if ever).


Matti

I would also like to have a "new" button  :) More than that though I would really like to have a "save as" option to create a new/seperate project. But it's true, I never asked about that!


Manu

#75
Hello
I found this bug on my game compiled with AGS 3.6.0.41. It can be easily reproduced:
1) Play the game in full screen
2) Press Alt+Tab to switch to another program (the game gets minimized in the taskbar)
3) Click the game title in the taskbar to restart playing.

The game crashes badly. This is the error:
Code: ags
---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occurred in ACWIN.EXE at EIP = 0x0051578E; program pointer is +5, ACI version 3.6.0.41, gtags (7,8)

AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and contact the game author for support or post these 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  
---------------------------

dmp can be downloaded here

Is it just my game or it's a general problem?

EDIT: It doesn't happen if I use "driver=OGL" in the config

eri0o

@Manu can you share your crash dump again? The file disappeared from the host.

Crimson Wizard

#77
The crash is trivially reproduced in any game that has a GUI. It is related to gui textures getting disposed when the display mode changes. I'm not completely certain yet, but either something is not reinitialized correctly, or this may happen in the middle of the render pass (and then renderer happen to access a deleted texture).

eri0o

#78
It's probably something not reinitialized correct, if I remember the code display mode change should cause a device lost exception which then causes the reinitialization of the textures. Or in the middle of the render pass would not be trivial to reproduce - it doesn't take that long and alt+tabbing in it would be hard.

Edit: for some reason I can't reproduce this specific issue at all.

Edit2: ok, if I set the fullscreen = native in acsetup.cfg I don't get a crash but it hangs AGS, and because of the low resolution I can't figure a way to exit it. But I think this is the previously reported direct3d alt+tab issue.

lapsking

#79
First of all thanks for AGS 3.6, great job guys. I just have a suggestion or better to say request, is it possible after converting game to apk for Android and turning the phone screen into horizontal the game also becomes horizontal, like most Android apps. The screen will be much bigger and playing the game will be much more practical on phone, though it's fine on bigger tablets but still most of screen is wasted, texts are much smaller and some hard to read, more difficult to click on smaller objects and of course playing on a bigger screen is much more fun. Or if it's not possible for screen to turn with phone maybe just converting it horizontal by default since the games are made on PC for a horizontal screen, like other adventure games on Android which are horizontal by default. I don't know if that's possible.

SMF spam blocked by CleanTalk