AGS 3.4.1 - RC 3 (new release candidate)

Started by Crimson Wizard, Sun 09/04/2017 22:02:10

Previous topic - Next topic

Radiant

Quote from: Dave Gilbert on Mon 11/09/2017 20:00:02
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 :)

eri0o

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.

Crimson Wizard

Quote from: eri0o on Sun 17/09/2017 23:00: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.
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.

eri0o

#203
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, dxp, dyp);
            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, dxp, dyp);
            add_thing_to_draw(screenover[gg].bmp, tdxp, tdyp, 0, false);
        }
    }

EDIT: Actually, I think doing that will maybe screw portrait alpha transparency?

Crimson Wizard

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...

Dave Gilbert

Quote from: Radiant on Sun 17/09/2017 18:51:54
Quote from: Dave Gilbert on Mon 11/09/2017 20:00:02
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.

Crimson Wizard

Quote from: Dave Gilbert on Mon 18/09/2017 18:40:50
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.

Meystari F

#207
Quote1. 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".

QuoteUnexpected error: Cannot create a file when that file already exists.






Crimson Wizard

#208
@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.

eri0o

@CrimsonWizard



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.

BunnyDeFluff

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.

AGD2

Quote from: Crimson Wizard on Sun 10/09/2017 17:56:34
Quote from: AGD2 on Sun 10/09/2017 17:03:23
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();.

Dave Gilbert

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?

Crimson Wizard

Quote from: Dave Gilbert on Fri 06/10/2017 21:01:22
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.

Dave Gilbert

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.

eri0o

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

Crimson Wizard

#216
Quote from: Dave Gilbert on Fri 06/10/2017 21:24:15
Edit: Found it! I could swear I never saw this before.
Well, it was added only earlier this year.


Quote from: eri0o on Fri 06/10/2017 21:29:28
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

Dave Gilbert

Quote from: Crimson Wizard on Fri 06/10/2017 21:37:08
Quote from: Dave Gilbert on Fri 06/10/2017 21:24:15
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!

Radiant

Quote from: Crimson Wizard on Fri 06/10/2017 21:09:40
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?

eri0o

#219
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

SMF spam blocked by CleanTalk