The NEW Build Your Own Arcade Controls
Main => Software Forum => Topic started by: IIOIOOIOO on July 15, 2003, 11:07:56 am
-
Howard, when you start DK up, does it cycle through the hWnds setting them to always_on_bottom or some such? It sure seems that way, because if I follow the following steps, I can consistently produce an odd result...
Restart machine.
Log in.
Open up any two application windows (I used IE and notepad.)
Start Dragon King
Enter any game
Exit Dragon King
After completing these steps, it is impossible to bring any of the previously opened windows to the foreground without minimizing all other windows. However, any window opened after that point (ie from launching a new app) will behave properly. I can also reproduce this effect myself using API calls, so I assume you are doing something similar, perhaps to prevent a random window from trying to take over the foreground while DK is running? If so, could you like... set them back? I assume that you take a stab at it, but (at least on my system) it seems to be missing some/all of the windows.
P.S... I'm on WinXP, and I do have the new XP transparency turned on in your .ini file.
-
No what I'm doing is removing the task bar and putting it back upon exit. What this does is makes the old windows get stuck behind the taskbar. There really isn't any way to fix this, but in all honesty I don't see why I would need too. While I know of people using dk as a desktop fe, it's designed primarily for a dedicated mame cab.
I feel your pain though and if I get time I'll look into it.
-
why do you hide the taskbar anyway?
-
I assume he's hiding it because sometimes windows wishing they could take focus will cause their portion of the bar to blink, which overwrites the screen on some full screen games (I've seen it happen in UT2003.)
This probably won't be an issue when I can finally get DK configurated fully enough to move to my cab, but considering that all configuration/skin building is handled externally, and that the VDirs need to be rescanned from within the program to test for success of PATHs and alt emulator configuration, and the documentation for DK being in a minimum of 2 places for each feature... well, the list goes on of reasons a person has to enter/exit DK repeatedly. And considering that bugs are still being fixed with Alt elements etc, the situation will continue for some time.
So yeah, if you get a chance, that would be swell. If you want, I could track down the code from an old program here at work where I had to do something similar, and there's def a way to cycle through the hWnds and pop them all back to fore.
-
I wanted to give you an update on this.... I've found a new api call which seems to actually hide the taskbar instead of moving it around (which is what causes the issue). It works much better.
On an unrelated note, do any of you programmer types know of a way to disable the windows keys and yet still have them work? (As in you press the windows key and the start menu doesn't pop up, but you can still define the key for other uses.)
-
Alas, I've recently moved more into high-level design/group management, but here's a couple of things to try...
You could implement a hook of type WH_KEYBOARD which would allow you to intercept ALL keypresses coming through and either discard them, or allow them to pass (which would eventually feed them back to your app through whatever input mechanism you're using.) IIRC, a system-wide hook takes precedence in reverse order of creation. So, assuming that your application is started last, no hotkeys programs will have a stab at any keys before you.
Alternatively, I'm sure you're familiar with the oft-suggest overwriting the scancode in the reg approach. That works, but I'm pretty much certain that you'll never be able to see they keypress anywhere. Now, if you're looking for the keypress to be recognized in OTHER programs than DK without triggering the special Windows Key functions (meaning a hook and discard within DK won't do the trick) you could try modifying this reg key from within your prog...
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\
There should be a DWORD value called NoWinKeys, if it doesn't exist... create it. Set the value to 1, and it def disables the winkeys special functionality. However, I've never tested to see if that also axes the keypress itself. On a single-user OS, you can create that Key, then the Value in HKEY_LOCAL_MACHINE\etc\etc same as above.
So there you go.
Hey, now I have a couple of questions for you.
1) Is there any way to tell DK to differentiate between artwork directories for say... snaps? It's my understanding that they would have to all be under <base_artwork_dir>\snap. However, if I had snaps for every game for every emu I use, that would be one BIG freaking directory. So will it/can it/does it recurse subdirectories, or am I basically hosed.
2) Is there a way to instruct DK to use a fall-back element type? Like say I want to ALWAYS display a snap, and then in a second location show EITHER a preview movie clip, or if that's unavailable, show one of crashtest's title snaps.
3) I see lot's of commands for controlling songs, but I can't figure out how to set up the music features. Is this currently just a stub, or am I grossly overlooking something?
-
Thanks for the code, most of it I've tried, but a few might be worth cheking out. I'll see what I can do.
Answering your questions:
1) Is there any way to tell DK to differentiate between artwork directories for say... snaps? It's my understanding that they would have to all be under <base_artwork_dir>\snap. However, if I had snaps for every game for every emu I use, that would be one BIG freaking directory. So will it/can it/does it recurse subdirectories, or am I basically hosed.
Your looking at it wrong. Your primary artwork dir is for mame.
So it should be in c:\mame\ with all of your folders named accordingly.
Your other emu paths should be put in the secondary aw dirs entry below it. And you put aplty named folders there too. You can have an infinate number of base dirs that way, it's just you can only have one for mame. The fe doesn't associate the base dirs with the emus in any way, so be sure to have a proper hierarcy setup as they are read in order. (with the mame base dir tacked on at the end as a last resort)
2) Is there a way to instruct DK to use a fall-back element type? Like say I want to ALWAYS display a snap, and then in a second location show EITHER a preview movie clip, or if that's unavailable, show one of crashtest's title snaps.
Fall back element type, no, but if you'll look at the skinner you will see that snaps already show a movie if available (if you've checked that option) and with togglesnap turned on they alternate between snap and titlesnap. Movies will always be associated with the snapshot exclusively as the movie is just a moving snapshot. :)
3) I see lot's of commands for controlling songs, but I can't figure out how to set up the music features. Is this currently just a stub, or am I grossly overlooking something?
Do you have a playlist for that skin? Check out the lazarus documentation, for this stuff.... it's suprisingly similar. That applies to most of your other questions as well. :)
But for the record, their aren't really any music features. It's just to control background music in case you have heard the currently playing tune one time too many.
-
Thanks, that works. I hadn't really looked at the skinner app at all (I didn't realise it was working), had just been looking at the ini (or was it cfg?) files inside the theme dirs. I'll play with that stuff when I get home.