Page 1 of 3

[WIP] libZDGUI v0.0.1 - ZDoom GUI widgets library for mods

Posted: Wed Apr 27, 2011 2:40 pm
by cybermind
New version of libZDGUI powered by GDCC is released. Currently it remains in alpha stage and should not be used for real projects.

Image

About libZDGUI.
libZDGUI is a graphical user interface (GUI) widget toolkit for use in mods for ZDoom-based games. It provides an extensible event-driven framework and a set of default widgets like buttons, windows, listboxes etc.

Features:
- Generic widget framework which could run any kind of widget combinations.
- Easy creation of new widgets.
- Mouse control (supports dragging)
- Easy addition of new fonts and cursors.
- Graphics system which uses clipping rectangles to draw overlapping widgets of any complexity, including support for scaled images.
- Widget focusing system which is able to set a modal focus for widgets.
- Utility module with C++ STL-like vectors, lists, queues and strings.

Default widgets:
- Window (basic resizable and draggable window)
- Button (generic image button)
- Label (with word wrapping)
- Container (could include any kind of other widgets, including other containers)
- Scrolling box (provides scroll bars to display content not fit on screen)
- List box (containing string values)
- Checkbox
- Radiobutton (grouped in containers)
- Slider (horizontal and vertical)
- Image (any image)


Additional information and how-to is in README.md file

GitHub: https://github.com/Mistranger/libzdgui

Old post about tech demo:
Spoiler:

Re: [WIP] GUI Library 0.1

Posted: Wed Apr 27, 2011 3:32 pm
by The_Funktasm
That's incredibly interesting, and I'm going to have to look into some of the code later.

Re: [WIP] GUI Library 0.1

Posted: Wed Apr 27, 2011 4:43 pm
by MetalPapat
That's so cool. There is a lot of possibilities for this kind of thing. Like a map or status screen or just inventory system.

Re: [WIP] GUI Library 0.1

Posted: Sun Feb 12, 2012 9:17 am
by Nash
I like how you select which windows draw in front, and clicking on a window will properly select that particular window.

Any chance of seeing the source on this?

Re: [WIP] GUI Library 0.1

Posted: Sun Feb 12, 2012 1:42 pm
by wildweasel
Nash wrote:I like how you select which windows draw in front, and clicking on a window will properly select that particular window.

Any chance of seeing the source on this?
Holy topic-bump, Nash. =P

But yeah, I'm sure the source to this would be useful. If not, then I know of a certain in-development project that might serve as an adequate replacement...though I'm unsure if I'm at liberty to discuss the details.

Re: [WIP] GUI Library 0.1

Posted: Sun Feb 12, 2012 2:35 pm
by Nash
Yeah sorry for the bump... it's just that this thread doesn't have any feedback so I'm afraid the OP assumes there's no interest. So I bumped it in the hope that he sees it and considers releasing the source...

Re: [WIP] GUI Library 0.1

Posted: Sun Feb 12, 2012 3:22 pm
by Captain Proof
I just noticed this, I am gonna try it out as soon as I finish catching up on Walking Dead.

EDIT:The code needs to be released, with some work done it might be really useful.

Re: [WIP] GUI Library 0.1

Posted: Sun Feb 12, 2012 9:03 pm
by Sarah
I'm all on board for the source to be released. I'm studying this and a couple other gui mods in lieu of creating my own. I'd like to see how this is accomplished and a compiled acs file isn't helping.

So bump away!

Re: [WIP] GUI Library 0.1

Posted: Sun Feb 12, 2012 11:57 pm
by Angelofthefallen
I'd love to get a look at this code. Been looking to make an RPG mod, this could really help with the inventory system.

Re: [WIP] GUI Library 0.1

Posted: Mon Feb 13, 2012 8:50 am
by Captain Proof
Angelofthefallen wrote:I'd love to get a look at this code. Been looking to make an RPG mod, this could really help with the inventory system.
I didn't even think of that, I was thinking of making a Space Hulk style Motion Detector.

Re: [WIP] GUI Library 0.1

Posted: Mon Feb 13, 2012 10:37 am
by Ravick
Can't take a look now, but i will when I get home. Just a question: Is there a way to allow player to type a string in game?

Re: [WIP] GUI Library 0.1

Posted: Mon Feb 13, 2012 5:55 pm
by Sarah
In what context specifically?

Re: [WIP] GUI Library 0.1

Posted: Tue Feb 14, 2012 1:32 pm
by Ravick
Well, I'm doing a mod that has its own maps, and also allows "gameplay modding" if playing the IWAD maps, or loading it with other map mod.

So the menu has an 'episode' that loads a map where player can choose options in a console and specify what IWAD he is using and other stuff. The IWAD specification is just to set the map names to be loaded when player leaves the map. But there is also mods with custom map names, so I want to allow player to specify the map name format.

Would also be very useful to create a way to player to write something in the game, specially because there is a lot of 'usable' computers in my mod, so I could make more variable stuff with it.

I know Blue Shadow's numbers console, but if i'd use the same method it would be hard to make all the letters of the keyboard.

Re: [WIP] GUI Library 0.1

Posted: Wed Feb 15, 2012 8:05 pm
by cq75
It seems like there is no way to get all of the letters of the keyboard See [wiki]GetPlayerInput[/wiki]

What you could do, though, is bring up an on-screen keyboard and have the player move a cursor to a key using the movement keys and pressing FIRE to select it. That's how I made the floor selection screen for the elevator of my Blake Stone mod, the player would move the cursor to floor 1-9 and hit fire. Your system would be a lot bigger, and likely more tedious to use, though.

Re: [WIP] GUI Library 0.1

Posted: Thu Feb 16, 2012 5:57 am
by Ravick
Yeah, I was afraid of that :(

I've seem the same idea of the on screen keyboard in Blue Shadow's doom3 keypad, I didn't know your mod (Can you post a link, please? :) )

Yes, it'd be tedious to use (and code!), it's 26, and more other characters. I think I will make a 'slot' system, that changes the characters in order by the "foward" and "backward" keys, but just to type map names, not to use in the computers.