View previous topic :: View next topic |
Author |
Message |
Ranger366

Joined: 18 Mar 2010 Posts: 72 Location: Berlin (Germany)
|
Posted: Mon Jun 28, 2010 4:39 pm Post subject: Quake One - Overlay as Menu |
|
|
Hello friends,
i recently came back to PC Engine coding for Quake, everything begun with one simple fix... And something let me think about the HL Menu, because the original Quake Menu is not really the best at all.
Valve used for Half-Life's Menu one Overlay
And i asked me if this is possible in the GLQuake Engine on C, i know that there are Dialogues/Forms ("Starting Quake..."), a little bit VB6 like Interface at editing, but its not possible to realize this with that. Does someone know howto makes such like this Overlay? such Visual basic 6 like. Its interesting for me, because this can be enhanced.
Just a question, i hope this is interesting for someone else here too... _________________
 |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Mon Jun 28, 2010 5:15 pm Post subject: |
|
|
if you want to make a menu in VB, you could theoretically do it using a dll. But then you'd end up with an ugly windows-only menu. :P
If you make a widgit system which builds a tree of items, with each item being of some pre-defined type, you can then make a config file or whatever that tells the engine what to create where. _________________ What's a signature? |
|
Back to top |
|
 |
Ranger366

Joined: 18 Mar 2010 Posts: 72 Location: Berlin (Germany)
|
Posted: Mon Jun 28, 2010 5:47 pm Post subject: |
|
|
Spike wrote: | if you want to make a menu in VB, you could theoretically do it using a dll. But then you'd end up with an ugly windows-only menu.
If you make a widgit system which builds a tree of items, with each item being of some pre-defined type, you can then make a config file or whatever that tells the engine what to create where. |
You know how it can work?
I mean, doing the overlay in the glquake.exe, or i think how valve did it (theory):
GLQuake Engine into one DLL, wich is read by an VB6 Application.
Im good in VB6, but not SO good for displaying this in the Frame!
OH WAIT!
I saw one program, where one active program has been displayed in the VB6 form, i asked for the SourceCode, but he did not replied to this...
This would be good enough for me... and my tests.
how amazing would be VB6 apps on PSP... _________________
 |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
Posted: Mon Jun 28, 2010 6:13 pm Post subject: |
|
|
a window handle is a window handle. you can pass them around as commandline arguments, and use them for your child app's parent window (this is how the preview of screensavers work).
Modify an engine to use that window handle for a parent window and voila, engine embedded in a VB6 app.
Better to use a DLL though. Just don't make it an ActiveX one. In practical terms, its easier to make the engine the DLL and the vb6 app the exe, as VB is a bit easier to interface with that way around.
Just make any UI-exposed functions be exported from your DLL and directly call them in VB, same as any windows api function.
But VB sucks. :P
VB6+PSP? no chance. Not going to happen.
Frankly, halflife having to do a mode switch every time you want to go to the menu is lame and slow. _________________ What's a signature? |
|
Back to top |
|
 |
Ranger366

Joined: 18 Mar 2010 Posts: 72 Location: Berlin (Germany)
|
Posted: Mon Jun 28, 2010 6:44 pm Post subject: |
|
|
Spike wrote: | a window handle is a window handle. you can pass them around as commandline arguments, and use them for your child app's parent window (this is how the preview of screensavers work).
Modify an engine to use that window handle for a parent window and voila, engine embedded in a VB6 app.
Better to use a DLL though. Just don't make it an ActiveX one. In practical terms, its easier to make the engine the DLL and the vb6 app the exe, as VB is a bit easier to interface with that way around.
Just make any UI-exposed functions be exported from your DLL and directly call them in VB, same as any windows api function.
But VB sucks.
VB6+PSP? no chance. Not going to happen.
Frankly, halflife having to do a mode switch every time you want to go to the menu is lame and slow. |
WOW!
You are truly my god! never worked with such, and my english isnt the best, but im trying now to find out how i will make this, my VB teacher self dont know how to do this.
Thanks Spike _________________
 |
|
Back to top |
|
 |
mh

Joined: 12 Jan 2008 Posts: 910
|
Posted: Mon Jun 28, 2010 7:16 pm Post subject: |
|
|
You can do it in .NET as well, or anything else that understands what a HWND is.
But Spike is absolutely bang on about that mode switch. I can just picture the Valve designers meeting: "we've got a cool game but I don't think we've done enough things to piss off the player in it yet." "Howabout displaying 'loading' for a few seconds every time you so much as enter a new room or turn a corner?" "Been done before, but it's always good for a giggle. OK, it's in. Anyone else?" "I KNOW! What about a mode switch every time you enter the menu?" "Brilliant! That'll have them swearing at their monitors in no time at all! Well done, have a bonus!" _________________ DirectQ Engine - New release 1.8.666a, 9th August 2010
MHQuake Blog (General)
Direct3D 8 Quake Engines |
|
Back to top |
|
 |
Ranger366

Joined: 18 Mar 2010 Posts: 72 Location: Berlin (Germany)
|
Posted: Mon Jun 28, 2010 7:58 pm Post subject: |
|
|
mh wrote: | You can do it in .NET as well, or anything else that understands what a HWND is.
But Spike is absolutely bang on about that mode switch. I can just picture the Valve designers meeting: "we've got a cool game but I don't think we've done enough things to piss off the player in it yet." "Howabout displaying 'loading' for a few seconds every time you so much as enter a new room or turn a corner?" "Been done before, but it's always good for a giggle. OK, it's in. Anyone else?" "I KNOW! What about a mode switch every time you enter the menu?" "Brilliant! That'll have them swearing at their monitors in no time at all! Well done, have a bonus!" |
HWND... now i searched everywhere and found documentation about scaling other windows, but nothing useful for displaying the data of one form in one VB6 form. _________________
 |
|
Back to top |
|
 |
Spike
Joined: 05 Nov 2004 Posts: 944 Location: UK
|
|
Back to top |
|
 |
Ranger366

Joined: 18 Mar 2010 Posts: 72 Location: Berlin (Germany)
|
Posted: Tue Jun 29, 2010 3:05 pm Post subject: |
|
|
Ok, i will use this as reference.
Thanks Spike and mh! _________________
 |
|
Back to top |
|
 |
|