Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / DarkGDK OOP GUI

Author
Message
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 4th May 2008 03:38 Edited at: 4th May 2008 03:39
Hi folks, I still have a ways to go... but I wanted to hear any thoughts so far - So I'm posting an AVI movie... of the GUI in action.

I modeled it after XP Windows, No themes as a starting point... its message driven.. and the FPS is only low due to the video recording software... which makes compression related artifacts.. (blurring etc)

But tell me what you think if you have a minute!

Thanx!

http://forumfiles.thegamecreators.com/?i=1489709

Best Regards,
Jason P Sage

Attachments

Login to view attachments
david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 4th May 2008 04:51
@Jason p sage

That is some really amazing windows control you have going on there. The controls are spot-on and it looks exactly like it is suppose to and behaves perfectly. Excellent job.
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 4th May 2008 07:57
Thanx David W!

... I have Still Shot for those who don't wish to download the movie ... Or at least want to see something before downloading an 8meg AVI movie.


(Click the download Button to view the Full Size)

Attachments

Login to view attachments
Core2uu
16
Years of Service
User Offline
Joined: 15th Mar 2008
Location: Saskatoon, SK, Canada
Posted: 4th May 2008 07:59
Definitely looks very cool... As I said before, can't wait to see it when it is finished...

~~It's not who you are underneath, but what you do that defines you.~~
Pixel Perfect
17
Years of Service
User Offline
Joined: 21st Feb 2007
Location: UK
Posted: 4th May 2008 10:41
Very impressive Jason ... well done!

Mine is still in its infancy but was never as grand design as yours appears to be. It's looking like the most sophisticated DarkGDK GUI system yet. Like Core2uu above ... can't wait to see it when its finished!

No matter how good your code is, someone will improve on it
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 4th May 2008 19:35
Thanx Guys...

I just spent the first half of the day doing QA on every window, with the Window Magnifier on - tedious... (getting it pixel Perfect as a matter of fact LOL )

Now I'm thinking about how to gets labels and Edit boxes to work so they don't take to to long to process. Word Wrap, Proper Clipping etc.

Ultimately I want a form Designer Tool.. I've TRIED to make everything "inheritance" based where I could and it didn't causes circular issue that C++ just didn't like...

I'm not going to write a billion controls... But I'm going to try to cover some basics like: Label and Edit Box (with multi-line note-padish functionality.. maybe even cut-n-paste LOL), Checkbox, Make Button more configuarable, Combo, List, Slider, and Progress bars... Maybe a tab Control.. Oh Radio Buttons and ToolBar like Buttons I hope too.

Menus are ALMOST a completely different animal... and I need to design those components like a "widget" also.

In My Design, the SCREEN isn't REally the owner of the GUI... its actually a "bare" widget that has size and position info, and by default adopts the screen metrics... So Adding a "Task Bar" for games/editors should be pretty simple to do.. I could even make a task bar "frame" around the entire dislay... like a Fancy TV with buttons all around the CRT LOL...

Well.. this is a TON of work - Like the Work Pixel Perfect did with the 3dws loader... I can't WAIT until the form designer is writing out source code to "Recreate" custom GUI you "Saved to Source". I want the GUI Designer to allow you to save in an "editable" format.. but then be able to crank out CPP source files (header and *.cpp) so you can just include each "gui form" as a source file... I even want it to make the EVENT Stubs in a Separate file... so subsequent "Save to Source" doesn't KILL your event code you may have written that far...

<sigh..lot a work> I'll do my best!

Core2uu
16
Years of Service
User Offline
Joined: 15th Mar 2008
Location: Saskatoon, SK, Canada
Posted: 4th May 2008 20:33
Well best of luck and I'm definitely gonna try it out when it's finifhed...

~~It's not who you are underneath, but what you do that defines you.~~
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 5th May 2008 07:03
@Core2uu Cool! (Might be awhile <sigh>

I had to show you guys this pic. I have an "After Paint" Event that gets fired directly from the Window PaintWindow Function... you Message Handler then can look for it.. and do whatever... I was just horsing around with it and testing and what not.. so I made a spinning CUBE... and I make that cube just rotate around blah blah... but... I trapped this event and made it use the last "rendered Image"...

Which works out timing wise to be the last window that got focus... And I thought it funny because I was clicking buttons and I could see the Clicking happen on the textured cube! Look carefuly at I think button 7... in the GUI I'm holding the button down.. and the image is rendered verbatum on the cube... simple... but looks so cool!

Attachments

Login to view attachments
Core2uu
16
Years of Service
User Offline
Joined: 15th Mar 2008
Location: Saskatoon, SK, Canada
Posted: 5th May 2008 07:33
Sweet... Now I REALLY can't wait try it out!

~~It's not who you are underneath, but what you do that defines you.~~
Niels Henriksen
20
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 5th May 2008 10:42
@jason - very nice work... maybe I should try C++ one more time

Niels Henriksen
Working on a (MMO)RPG right now in LightEngine (thanks kBessa): www.tales-of-the-realms.com
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 13th May 2008 17:46
Guy's I'm packing up a New DarkGDK OOP Release - WITH the GUI as it stands now... The Stats:

My oop library is over 1.25 mega bytes of source code
96 Files of just source code
Over 32,000 lines of Code!

GUI now has working Text Boxes, with cut-n-paste, highlight text, etc.. pretty standard controls.. Pixel Perfect Cursor Control On Bitmap Fonts Fixed or Variable width.

(though these "special" key combos are a little sluggish.. I wonder if I can't sub class the DarkGDK window to capture that sort of thing.... like SHIFT+TAB, SHIFT+HOME, etc... CNTL+C (copy) etc.)

Has a check box, Bitmap Font Text Control, and just purrs decently so far..

So anyways.. I'm bundling a final release... source code etc.. I think its a decent community contribution.... Its a lot of work in dem-dar-hills...

after that I'm stepping up to DarkGDK Commecial License soon because the next step is some really fancy editor stuff, RAD Form Designer, Level Editor, Dark Physics tools... etc.. all geared ultimately at Iron Infantry.... That's the road map in short

Niels Henriksen
20
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 13th May 2008 18:56
giveme giveme giveme..... Im waiting for that

Niels Henriksen
www.tales-of-the-realms.com
Indie Rock 13
20
Years of Service
User Offline
Joined: 1st Sep 2004
Location:
Posted: 13th May 2008 19:28
That's pretty awesome. For learning purposes I wanted to try to make a GUI system with DarkGDK but it kind of feels pointless with great examples like this.

I'm really glad you decided to start making stuff for DarkGDK since that's the direction I've decided to go. What sort of Dark Physics tools do you have in mind?

eVGA 780i Mobo :: Intel C2D E8400 OC'ed @ 4.0Ghz :: Tuniq Tower 120 heatsink :: 2GB Kensington 1066Mhz DDR2 RAM :: 2 x eVGA 8800 GT KO 512MB SLi :: m-Audio Audiophile 192 :: Vista Ultimate x86
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 13th May 2008 20:41
@Neils and Indie.. Thanx guys.. I'm working dilligently to have a release that's not only improved with gui "stuff" in it.. but easier to get started with. Though I really am looking for someone to help doc this stuff LOL... WOW... there's a lot in it.. I'm thinking WIKI...

@Indie - Well.. writing one is still important to do for learning sake... and my code is certainly not the end-all-be-all gift for DarkGDK! You might have a different flare or flavored GUI... use mine as a reference if ya need to learn from ..

I used a lot of OOP techniques and such, but I also deviated from "mainstream" in a few areas to keep speeding along with developmnet of usuable product. Example: Homebrew Dynamic Array Class - no templates - so I type cast... Mainstream? Mainstream would use vector.h of the STDLIB, and its template based. Another example? Strings. I wrote my own string class.. I love it.... Mainstream? Um.. string class STDLIB..

another couple days MAX before release.... Note.. Doc's? Read the Main !README.txt and the little "project" !readme's to start. One feature you might like is the logging system for errors.. makes it real easy to tell why your media is hosed... tells you files not found, etc etc.. plus use in your programs for your own error logging...

Oh.. what kind of Dark Physics Tools? Well.. I'm a noob at Dark Physics... but in my testing and learning it so far.. it takes a lot of time to get materials right, weights right, gravity setting right... I'd like to make an interactive suite of tools so that you can experiment without needing to write code each iteration of tests and wait for a compile, reload media etc etc.

Also.. My DarkGDK OOP lib has LOD... 3 levels I think... and there is ALSO a "PHYSICS" object reference... So... in my lib you can have 1 "Object" made of 1,2,3 and even 4 (4th one for the physics end of things) objects/models.

You control 1 OBJECT... LOD handles which one gets displayed.... and the way the physobj reference works.. is the phyobjref can be your object itself, or another model that's hidden and used for physics only (think convex models for dynamic bodies).... in short... my lib automatically handles the orientation,position, LOD (& billboard orientation) display of PHYSICS driven and normal DarkGDK "objects" (just about) auto-magically.

I plan to make this configuration in my editor as well to make it easy as possible without writing a 3d modeller from scratch or something insane like that.

So... the next and last free "installment" coming soon... REALLY SOON.. just packaging and "testing" the demos etc... I'm changing how the vs2008 Solution works.. so looking at the demos is point click - wait a minute - run

jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 15th May 2008 05:09
Ok - I have GOOD NEWS and I have Not so Good NEWS!!!!

The good news is that the GUI is now Available:
http://code.google.com/p/darkgdkoop/

The not so good news is that on SOME video cards, the bitmap fonts look whack, but on others, no problem! I need generous people to try things for themselves, see how things go, and report back so I can make any final adjustments.

Are you game? Thanx in advance to all who are.

(Posting this in two places only - the two threads where this is discussed a bit.. this lib and this gui)

jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 15th May 2008 08:49
Niels Henriksen
20
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 15th May 2008 10:12
jason - you are just my santa thanks... now my wife will not like you... I will use all my time aviable to play with this ....

Niels Henriksen
www.tales-of-the-realms.com
Core2uu
16
Years of Service
User Offline
Joined: 15th Mar 2008
Location: Saskatoon, SK, Canada
Posted: 16th May 2008 07:20
Finally...

GDK's use by me may have just become more than game programming...

~~It's not who you are underneath, but what you do that defines you.~~
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 18th May 2008 01:38 Edited at: 18th May 2008 01:39
@Neils! LOL - Glad you like... I have news though....

@Core2uu - Glad to hear it....

@All - I decided to make a dedicated thread, a program annoucement - as the OOP thread is only me now lately, I hope AndrewT is ok... and I think having separate threads might be silly now that this is one consolidated and somewhat mature code lib.

If you downloaded before - Please grab Version 1.0 - (I hate DL'ing too but) It has some new demos added to serve as how to etc. more explainations [edit]And a GUI code change[/edit]:

http://forum.thegamecreators.com/?m=forum_view&t=129759&b=5&p=0#m1499572

Elspin
16
Years of Service
User Offline
Joined: 30th Mar 2008
Location:
Posted: 19th May 2008 07:52
None of these demos work for me, they just crash as soon as it tries to resize. Is there any libraries I need?
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 3rd Jul 2008 04:50 Edited at: 3rd Jul 2008 04:52
Quote: "None of these demos work for me, they just crash as soon as it tries to resize. Is there any libraries I need?"


I responded to this in a similiar thread - and I never heard back - email me directly - I'm sure I can help you get it working - maybe I'll remote to your desktop and see if I can't help. I've helped quite a few people on a occasion using a remote desktop

[edit] I checked - This lib is over 600 downloads - and that number keeps growing yet this is the only real issue I've heard reported - so - it must be something simple and not a shabby release of code or anything... there has to be something awry [/edit]

dbGamerX
16
Years of Service
User Offline
Joined: 23rd Nov 2007
Location:
Posted: 3rd Jul 2008 16:07
This looks really amazing, Jason! Exactly what can you do with it? Do I need to distribute any extra files to the game buyer? I'm d/l the video right now.

jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 3rd Jul 2008 16:50
No, you just downlaod and open the solution and go! Now for resdistribution - you MIGHT want to preserve the "media" directory structure I used and distribute that - especially if you use the GUI stuff. There are some gfx there you might want to preserve. The best unsung feature is that if you look in the log file - it will tell you any file that wasn't loaded right - good for debuggin

Let me know how this pans out for you!
--Jason

jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 3rd Jul 2008 17:00
Edit sorry for double post - this assures it reaches your email though - um - I overlooked dbGamerX's question about "what can you do with it"

The answer must be "ALOT!" Why? Because it is the result of trying to build a toolset for my planned game "Iron Infantry" and I basically roamed every corner of the DarkGDK and Wrote a Object Oriented "foundation" for it as I went. this code has gone through 3 MAJOR iterations of design rewrite and I think this current version is pretty solid.

There has been alot of work in the terrain and "plyable mesh" department.. meaning there are 2 main (terrain'ish) mesh classes - each with their niche.

There is the whole GUI implementation. There is a class for timers, the clock, object class, image class, bitmap class, sound class, music class, etc... There is a class for making bitmap fonts and class called PIXELGRID which is akin to a basic "in memory" ms-paint - its makes the bitmap fonts work and allows shaderless texture/image blanding and filtering etc... all via memory block manipulation.

There is a home brew set of typed vector'ish classes - for x,y or xyz in float or int..... There is a dynamic linked list class - and a dynamic array class (Now template based - I forget if its template based in this release)

dbGamerX
16
Years of Service
User Offline
Joined: 23rd Nov 2007
Location:
Posted: 3rd Jul 2008 23:30
This is awesome!! Thanks!!! So I can use this absolutely for free, right?

jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 4th Jul 2008 00:24
Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 09:31
I just looked over some of the code in jgc_gui.cpp, and I must say, I'm amazed. 4,000 lines of code for that one file!
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 7th Jul 2008 12:56
Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 17:47
I could tell.
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 12th Jul 2008 01:45
Thanx for checking it out. I hope its helpful!

Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 12th Jul 2008 07:51
I'll make sure to go over it more soon. I haven't spent much time with C++ at all lately. Been busy.

Login to post a reply

Server time is: 2024-11-20 15:36:16
Your offset time is: 2024-11-20 15:36:16