'reverbedit' aborts

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Post Reply
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

'reverbedit' aborts

Post by Graf Zahl »

I just got this while opening the reverb editor from a fullscreen OpenGL display:

Requested invalid render buffer sizes: screen = -2147483648x-2147483648
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: 'reverbedit' aborts

Post by Graf Zahl »

... and just thinking about this stuff, how about rewriting this as an internal menu? I do not see anything in there that cannot be done easily by ZDoom's own menu code.

Getting rid of this crusty old Windows GUI code might be a good thing - especially getting this working platform independently.
dpJudas
 
 
Posts: 3036
Joined: Sat May 28, 2016 1:01 pm

Re: 'reverbedit' aborts

Post by dpJudas »

I fixed the bug. But yeah, seems like that dialog might as well be rendered by gzd itself.
User avatar
Rachael
Posts: 13530
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: 'reverbedit' aborts

Post by Rachael »

Graf Zahl wrote:Getting rid of this crusty old Windows GUI code might be a good thing - especially getting this working platform independently.
Slightly off-topic, but related -

3DGE has been trying to implement an IWAD selector, and Coraline wanted to try it out in WinForms, to which I expressed my disgust for this very reason.

Yes, it's very convenient and Visual Studio even has its own editor for it, it's not cross-platform compatible.

We looked at implementing it in GTK but just getting that set up and working at all seems to be a pain in the ass. It's about 2 hours of finding the right libraries and the right version to compile with, all to grant functionality for about 20 or so lines of code.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: 'reverbedit' aborts

Post by Graf Zahl »

GTK on Windows is a mess and not recommended. I have no idea why so many libraries that started out in the Linux world are such a clusterfuck to set up. Apparently their makers never ever think about scenarios where someone has to do it manually.

I have lost count how many times I had this fight when trying to integrate some stuff into an Android or iOS app - because just linking in such an external dependency won't do.
User avatar
Rachael
Posts: 13530
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: 'reverbedit' aborts

Post by Rachael »

It looks like the only real workable/flexible solution will be to implement our own GUI code directly inside the application. And I am not sure how much I really want to do that.

Whatever we do, it has to work on Windows, Mac, Linux, as well as Dreamcast.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: 'reverbedit' aborts

Post by Graf Zahl »

I have been doing some research on GUIs that can render to OpenGL but sadly they all forget the most important thing: Keep it simple, i.e. they are just as inconvenient to set up as real GUI libraries and even harder to use, because most just want too much.
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: 'reverbedit' aborts

Post by _mental_ »

imgui or nanogui maybe?
Gez
 
 
Posts: 17833
Joined: Fri Jul 06, 2007 3:22 pm

Re: 'reverbedit' aborts

Post by Gez »

How about something like Nuklear? It boasts these features:
- Small codebase (~18kLOC)
- Focus on portability, efficiency and simplicity
- No dependencies (not even the standard library if not wanted)
- Low memory footprint with total memory control if needed or wanted
User avatar
Rachael
Posts: 13530
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: 'reverbedit' aborts

Post by Rachael »

Thank you, Gez and _mental_.

With the urgency of Coraline really wanting the IWAD selector feature, we will be investigating all of those toolkits, I'll be sure to let you guys know if we settle on one of them so that it may help with deciding what direction to go for GZDoom.
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: 'reverbedit' aborts

Post by _mental_ »

IWAD selection is a very special thing as it should display full fledged UI without relying on any external resources like fonts or textures.
Source port must carry all these assets with it.

Alternatively it can use underlying operating system UI which in most cases is quite feature rich.
However this requires substantial amount of platform/framework specific code.
User avatar
Chris
Posts: 2940
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: 'reverbedit' aborts

Post by Chris »

Just to throw ideas out there (not all of which may be feasible, but I'd be remiss not to mention).

What about Mono? It's pretty easy to get on most Linux distros and Windows pretty much comes with an equivalent. You could have a separate launcher app written in Mono so that the main executable is free of it. Note, I've never worked with Mono before beyond running some apps written in it, and though I realize this is probably a non-option, it's something to think of for handling cross-platform UIs.

Alternatively, Qt seems to be a lot easier to deal with on Windows than GTK and works just fine on Linux too. There's even tools to help create the window layouts visually, rather than having to write them manually in some soft of markup file or in code. This would be my go-to choice for cross-platform UIs that follow the system's windowing look.

The only "slave" GUI lib I've dealt with (one which renders to your surface on-demand and takes manually-supplied input events) is MyGUI. That's not been the most pleasant thing to deal with in my experience, but it has been relatively flexible in making it look as you want. It's also more for an in-game UI rather than a front-end UI, so may not be very relevant for a pre-game IWAD selector.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: 'reverbedit' aborts

Post by Graf Zahl »

Mono/.NET is out because it's an isolated environment.
Qt is out due to binary size which is wayyyy too large for our purposes. Same for wxWidgets. Both also have the severe disadvantage that they want to drive the app themselves instead of being driven from the outside.
Post Reply

Return to “Closed Bugs [GZDoom]”