-
Posts
4,018 -
Joined
-
Last visited
-
Days Won
54
Content Type
Profiles
Forums
Articles
Downloads
Gallery
Blogs
Posts posted by Zombeaver
-
-
Said there was an unexpected { at line 129. This one (in red):
MyFunction: IF ProcessExist("Retroarch.exe") { IF ProcessExist("CDisplayEX.exe") {} Else { Gui, Hide run, nomousy.exe Sleep, 500 Process, Close, nomousy.exe ExitApp } } Else { Winclose, Cdisplayex Gui, Hide run, nomousy.exe Sleep, 500 Process, Close, nomousy.exe ExitApp } } return
I tried taking it out but then it said that the Else had no matching If statement.
-
Hmm, okay I tried but no luck at the moment. The good news is that everything else is still working so that's a plus!
Maybe I've done something wrong. I appreciate the help.
Spoiler#SingleInstance Force
#WinActivateForceGui, +AlwaysOnTop
Gui, -Caption ;removes caption and border
Gui, color, Black ; sets window color
Gui, Add, Picture, W%A_ScreenWidth% H%A_ScreenHeight%,
Gui, Show, , BlockerSetTitleMatchMode, 2
WinWait, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
WinWait, RetroArch VICE
WinActivate, RetroArch VICE
Sleep, 200
Gui, -AlwaysOnTop
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function1Loop
{
IF ProcessExist("Retroarch.exe")
{
IF ProcessExist("CDisplayEX.exe")
{}
Else
{
Gui, Hide
run, nomousy.exe
Sleep, 500
Process, Close, nomousy.exe
ExitApp
}
}
Else
{
Winclose, Cdisplayex
Gui, Hide
run, nomousy.exe
Sleep, 500
Process, Close, nomousy.exe
ExitApp
}
Sleep, 1500
}ProcessExist(Name){
Process,Exist,%Name%
return Errorlevel
}Return
Loop
{
if WinActive("ahk_exe Cdisplayex.exe")
{
Zoom()
}
}Function1:
run, nomousy.exe /hide
Gui, Show, , Blocker
SetTitleMatchMode, 2
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
WinActivate, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, Off, ahk_exe CDisplayEx.exe
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function2
Gui, Show, NA, Blocker
WinSet, AlwaysOnTop, Off, ahk_exe CDisplayEx.exeReturn
Function2:
SetTitleMatchMode, 2
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Gui +AlwaysOnTop
Sleep, 250
WinActivate, RetroArch VICE
Sleep, 250
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
Gui -AlwaysOnTop
Gui, Hide
run, nomousy.exe
Hotkey, ~NumpadSub & NumpadEnter, Function1
ReturnZoom()
{
if (GetKeyState("1Joy5") == 1)
{
Send -
KeyWait 1Joy5
}
if (GetKeyState("1Joy6") == 1)
{
Send =
KeyWait 1Joy6
}
if (GetKeyState("2Joy5") == 1)
{
Send -
KeyWait 2Joy5
}
if (GetKeyState("2Joy6") == 1)
{
Send =
KeyWait 2Joy6
}
if (GetKeyState("3Joy5") == 1)
{
Send -
KeyWait 3Joy5
}
if (GetKeyState("3Joy6") == 1)
{
Send =
KeyWait 3Joy6
}
if (GetKeyState("4Joy5") == 1)
{
Send -
KeyWait 4Joy5
}
if (GetKeyState("4Joy6") == 1)
{
Send =
KeyWait 4Joy6
}
if (GetKeyState("5Joy5") == 1)
{
Send -
KeyWait 5Joy5
}
if (GetKeyState("5Joy6") == 1)
{
Send =
KeyWait 5Joy6
}
if (GetKeyState("6Joy5") == 1)
{
Send -
KeyWait 6Joy5
}
if (GetKeyState("6Joy6") == 1)
{
Send =
KeyWait 6Joy6
}
if (GetKeyState("7Joy5") == 1)
{
Send -
KeyWait 7Joy5
}
if (GetKeyState("7Joy6") == 1)
{
Send =
KeyWait 7Joy6
}
if (GetKeyState("8Joy5") == 1)
{
Send -
KeyWait 8Joy5
}
if (GetKeyState("8Joy6") == 1)
{
Send =
KeyWait 8Joy6
}
}
return -
7 minutes ago, JoeViking245 said:
Note, the Return is not necessary. Even with the 8 controllers. When a hotkey is assigned all on one line, a Return is implied. (just read that one too.) ?
Ah okay, good to know.
7 minutes ago, JoeViking245 said:And as for you messy mess..... Ugh. lol There might be a way to somehow OR all those. (Not sure exactly how off the top of my head) Maybe even a For Loop... For x = 1 through 8, Do xJoy5, xjoy6.....
Yeah, I'm kindof at a loss. I wish a simple "Joy5" and "Joy6" would work, but it doesn't, at least not consistently in my experience. The way AHK handles Joystick inputs is kindof garbage, and if you have multiple controllers connected at once (which many people do) then there's no way to know what it's going to call each one so I'm just adding in 8 to cover my bases (I figure if you have more than that at once you're on your own lol).
I feel like you should be able to put all of them into some kind of IF loop for WinActive but I haven't gotten that to work correctly. It basically just turned them on and left them on when I messed with it before.
I do have an additional script that always runs parallel, whether the manual script runs or not, so I could put them in that, but I feel kindof dirty about adding in code that's specifically for use with the manual stuff if the manual script isn't even being used. That just seems wrong.
-
The below does what I need it to do, it's just a matter of how to work it into the script. It works if I put it in a separate script, but I'd like to keep everything involving the manuals in the manual script if possible (and not have 10+ lines for every single one of these).
#if WinActive("ahk_exe Cdisplayex.exe")
1Joy5::-
1Joy6::=
2Joy5::-
2Joy6::=
3Joy5::-
3Joy6::=
4Joy5::-
4Joy6::=
5Joy5::-
5Joy6::=
6Joy5::-
6Joy6::=
7Joy5::-
7Joy6::=
8Joy5::-
8Joy6::=
Return -
Even if that would work that's going to get real messy real quick since in reality the actual hotkey is going to be something like:
1Joy5::-
1Joy6::=
2Joy5::-
2Joy6::=
3Joy5::-
3Joy6::=
4Joy5::-
4Joy6::=
5Joy5::-
5Joy6::=
6Joy5::-
6Joy6::=
7Joy5::-
7Joy6::=
8Joy5::-
8Joy6::= -
I'm not having any luck putting it anywhere. It's essentially blocking everything that comes after it and stopping the other hotkeys from functioning no matter where it's located.
If I put it in a completely separate script running alongside it's fine. I feel like there should be a way to make it work in the same script though.
I simplified it even further to:
#if WinActive("ahk_exe Cdisplayex.exe")
:*:z::-
:*:x::=
Return -
If I put it at the top, the blocker, the watchdog loop, etc. don't start correctly, and the hotkey to swap to CDisplayEx doesn't work.
If I put it above Function1 the hotkey to swap to CDisplayEx doesn't work correctly.
If I put it in Function 1 above the swap hotkey, the hotkey to swap to CDisplayEx doesn't work correctly.
If I put it at the bottom the hotkey to swap to CDisplayEx doesn't work correctly.
-
Yeah, that does not work. That borks the whole rest of the script.
-
I think I actually tried that, honestly. I tried the loop after not using one didn't work. We'll see.
-
Worst case scenario I can bake it into other scripts that I'm running in parallel anyway, but I would prefer to keep it all self-contained if possible (which it seems like it should be).
-
I also tried this but that didn't work either.
Spoiler#SingleInstance Force
#WinActivateForceGui, +AlwaysOnTop
Gui, -Caption ;removes caption and border
Gui, color, Black ; sets window color
Gui, Add, Picture, W%A_ScreenWidth% H%A_ScreenHeight%,
Gui, Show, , BlockerSetTitleMatchMode, 2
WinWait, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
WinWait, RetroArch VICE
WinActivate, RetroArch VICE
Sleep, 200
Gui, -AlwaysOnTop
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function1Loop
{
IF ProcessExist("Retroarch.exe")
{
IF ProcessExist("CDisplayEX.exe")
{}
Else
{
Gui, Hide
run, nomousy.exe
Sleep, 500
Process, Close, nomousy.exe
ExitApp
}
}
Else
{
Winclose, Cdisplayex
Gui, Hide
run, nomousy.exe
Sleep, 500
Process, Close, nomousy.exe
ExitApp
}
Sleep, 1500
}ProcessExist(Name){
Process,Exist,%Name%
return Errorlevel
}Return
Loop
{
#if WinActive("ahk_exe Cdisplayex.exe")
:*:z::-
Return#if WinActive("ahk_exe Cdisplayex.exe")
:*:x::=
Return
}Return
Function1:
run, nomousy.exe /hide
Gui, Show, , Blocker
SetTitleMatchMode, 2
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
WinActivate, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, Off, ahk_exe CDisplayEx.exe
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function2
Gui, Show, NA, Blocker
WinSet, AlwaysOnTop, Off, ahk_exe CDisplayEx.exeReturn
Function2:
SetTitleMatchMode, 2
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Gui +AlwaysOnTop
Sleep, 250
WinActivate, RetroArch VICE
Sleep, 250
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
Gui -AlwaysOnTop
Gui, Hide
run, nomousy.exe
Hotkey, ~NumpadSub & NumpadEnter, Function1
Return -
Okay, so, the next question is, where exactly would I put that in the existing code? I tried putting it above the Function1 section but that didn't work (breaks the rest of it).
#SingleInstance Force
#WinActivateForceGui, +AlwaysOnTop
Gui, -Caption ;removes caption and border
Gui, color, Black ; sets window color
Gui, Add, Picture, W%A_ScreenWidth% H%A_ScreenHeight%,
Gui, Show, , BlockerSetTitleMatchMode, 2
WinWait, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
WinWait, RetroArch VICE
WinActivate, RetroArch VICE
Sleep, 200
Gui, -AlwaysOnTop
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function1Loop
{
IF ProcessExist("Retroarch.exe")
{
IF ProcessExist("CDisplayEX.exe")
{}
Else
{
Gui, Hide
run, nomousy.exe
Sleep, 500
Process, Close, nomousy.exe
ExitApp
}
}
Else
{
Winclose, Cdisplayex
Gui, Hide
run, nomousy.exe
Sleep, 500
Process, Close, nomousy.exe
ExitApp
}
Sleep, 1500
}ProcessExist(Name){
Process,Exist,%Name%
return Errorlevel
}Return
Function1:
run, nomousy.exe /hide
Gui, Show, , Blocker
SetTitleMatchMode, 2
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
WinActivate, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, Off, ahk_exe CDisplayEx.exe
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function2
Gui, Show, NA, Blocker
WinSet, AlwaysOnTop, Off, ahk_exe CDisplayEx.exeReturn
Function2:
SetTitleMatchMode, 2
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Gui +AlwaysOnTop
Sleep, 250
WinActivate, RetroArch VICE
Sleep, 250
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
Gui -AlwaysOnTop
Gui, Hide
run, nomousy.exe
Hotkey, ~NumpadSub & NumpadEnter, Function1
Return -
Okay, got it. Using ahk_exe Cdisplayex.exe instead of ahk_class Cdisplayex works. Thanks!
- 1
-
Nope, still nothing.
-
Yeah that's not working either.
I have - set to zoom out and = set to zoom in. It's not doing either though with the hotkey.
-
The window title literally does just say "Cdisplayex" that's why I went with that. I'll try this way though.
-
Back again.
Okay, so I'm trying to work out how to do some dynamic hotkeys based on the currently active window; i.e. if CDisplayEx is active, I want them to do one thing, and if it's not I want them to do nothing/behave as they would normally.
These aren't the specific keys (I'm actually going to be using Joy buttons) but I just want to get it working first before moving on to that.
$z::
if WinActive, Cdisplayex
{
Send, -
}
Else
{
Send, z
}
Return$x::
if WinActive, Cdisplayex
{
Send, =
}
Else
{
Send, x
}
ReturnThe "Else" portion of these seem to be working because they're sending z and x, but the problem is that they're still sending just z and x even when Cdisplayex is active.
-
50 new games since the last batch.
SpoilerDeadline (Infocom)
Declem
Jet Set Willy
Jet Set Willy II - The Final Frontier
Jet-Boot Jack
Jetan - Martian Chess
Jetboys
Jewel Thief
Jewels of Babylon
Jewels of Darkness
Jihad - Raid Over Baghdad
Jimbo
Jinks
Jinn-Genie
Jinxter
Job Race
Jocky Wilson's Darts Challenge
Jocky Wilson's Darts Compendium
Joe (CP Verlag)
Joe Dick - Private Investigator
John Elway's Quarterback
John Lowe's Ultimate Darts
Jolly Roger
Jonah Barrington's Squash
Jonathan
Jonny Quest in Doctor Zim's Underworld
Josh
Judge Dredd (Virgin Mastertronic)
Juice!
Juke Box
Julius Caesar
Jump Machine
Jumpin Jack
Jumpin' Jimmy
JumpJets
Jungle Drums
Jungle Jack
Jungle Patrol
Jungle Quest
Jungle Raid
Jungle Trouble
Junkyard
Junkyard Jalopies
Monopoly Deluxe
Muppet Adventure - Chaos at the Carnival
Rally Speedway II
Shamus Case II
Uchi Mata
V.I.O.S.
Zombie PartyI've also finished parsing through the "J" folder. A couple titles near the end of it didn't make this list but will be in the next one.
I've added 360 manuals now. I'm hoping for 500 by release but I don't know for sure if I'll be able to scrape together that many - pickings are starting to get more slim. It'll be 400 at least.
- 3
- 2
-
Hover Bovver is already in the collection.
-
Thanks for the help y'all! I ended up going with @JoeViking245's code and that's working like a champ. If anyone's curious what this looks like in practice you can see it here. This is the manual switcher.
- 1
- 1
-
50 new games since the last batch, bringing the total to 3400. A lot of Origin stuff in this one.
SpoilerAdventureland
Army Moves
Aussie Games
Autoduel
Breakthru
Centauri Alliance
Crush, Crumble & Chomp
Darkhorn
Demon's Winter
Destruct
Jasg
Jason of the Argonauts
Java Jim in Square Shaped Trouble
Jaws (Box Office Software)
Jaws (Outlaw-Emix Software)
Jaws (Screen 7)
Jax
Jed's Journey
Jeep Command
Jeep Command II
Jeffy
Jessy the Worm
Jet Power Jack
Knights of Legend
Macbeth
Mask of the Sun, The
Maxwell Manor - The Skull of Doom
Moebius
Moebius - The Orb of Celestial Harmony
Nightwalker
Not a Penny More, Not a Penny Less
Omega - Neural Cybertank Design & Simulation
Phantasie
Phantasie II
Phantasie III
Questron
Questron II
Robin of Sherwood - The Touchstones of Rhiannon
Robots of Dawn
Rogue
Saracen
Sentinel Worlds I - Future Magic
Silicon Warrior
Standing Stones, The
Tangled Tales - The Misadventures of a Wizard's Apprentice
Ultima I - The First Age of Darkness
Ultima II - The Revenge of the Enchantress!
Ultima VI - The False Prophet
Windwalker - A Tale from Moebius
Wizard's CrownI've also spent a lot of hours over the last week improving the code for the manuals and custom music and adding more features. You can see a quick demonstration here:
I've also continued to convert, clean up, and add more manuals. 279 have been added so far. Thanks to @jophran I've got a couple new sources for these as well.
I also created an additional watchdog app which essentially functions as a failsafe in case something goes wrong with Retroarch's launch for any reason. It waits 15 seconds for Retroarch to start, and if it hasn't started by then it closes any running scripts/apps that were launched - I thought this was prudent since there are a number of scripts and apps that are launched in conjunction with Retroarch now to facilitate the manuals and music. These ordinarily close upon Retroarch closing but, in the event that something weird happens and for some reason Retroarch doesn't start to begin with, they don't have that trigger and will otherwise remain open; the watchdog acts as a failsafe for this so that you don't have a bunch of stuff still running in the event that Retroarch doesn't start correctly for whatever reason; if Retroarch is open once the 15 seconds are up (and it certainly should be, that's plenty of time) the watchdog closes itself; in case your PC is just an absolute potato and it takes it longer than 15 seconds for Retroarch to start, I've included an alternate version that waits 30 seconds in C64 Dreams\C64 Dreams\Retroarch\!Startup Watchdog - it takes about 2 seconds on my PC and it's about 7 years old now so I can't imagine many/any people needing this but you never know.
- 9
-
So this has evolved quite a bit since my last post in here, and basically everything is working as intended except for one specific thing. It's not a huge deal because it's essentially a failsafe but it's annoying me that it's not working nevertheless, so I'm hoping someone has some ideas. The section in red is the problem. Essentially what I want is for the entire script to clean up and shut down if Retroarch or CDisplayEx closes. As it is, it only happens when Retroarch closes. I've tried using SetTimer to alternate between the two Process, WaitClose functions but didn't have any luck there. I've tried placing it under the hotkey for Function2 but then that hotkey no longer worked. This seems like it should be something simple but I've just been beating my head against a wall on this one.
#SingleInstance Force
#WinActivateForceGui, +AlwaysOnTop
Gui, -Caption ;removes caption and border
Gui, color, Black ; sets window color
Gui, Add, Picture, W%A_ScreenWidth% H%A_ScreenHeight%,
Gui, Show, , BlockerSetTitleMatchMode, 2
WinWait, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
WinWait, RetroArch VICE
WinActivate, RetroArch VICE
Sleep, 200
Gui, -AlwaysOnTop
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function1Process, WaitClose, Retroarch.exe
Winclose, Cdisplayex
Gui, Hide
run, nomousy.exe
Process, Close, nomousy.exe
ExitAppProcess, WaitClose, CDisplayEx.exe
Gui, Hide
run, nomousy.exe
Process, Close, nomousy.exe
ExitAppReturn
Function1:
run, nomousy.exe /hide
Gui, Show, , Blocker
SetTitleMatchMode, 2
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
WinActivate, Cdisplayex
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, Off, ahk_exe CDisplayEx.exe
Gui, Hide
Hotkey, ~NumpadSub & NumpadEnter, Function2Return
Function2:
Gui, Show, NA, Blocker
SetTitleMatchMode, 2
WinSet, Transparent, 240, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 220, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 200, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 180, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 160, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 140, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 120, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 100, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 80, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 60, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 40, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 20, ahk_exe CDisplayEx.exe
Sleep, 10
WinSet, Transparent, 0, ahk_exe CDisplayEx.exe
Gui +AlwaysOnTop
Sleep, 250
WinActivate, RetroArch VICE
Sleep, 250
WinSet, AlwaysOnTop, On, ahk_exe CDisplayEx.exe
Gui -AlwaysOnTop
Gui, Hide
run, nomousy.exe
Hotkey, ~NumpadSub & NumpadEnter, Function1
Return- 1
-
50 new games since the last batch:
SpoilerAlien
Garrison
Gateway to Apshai
I-Wizard
I-Xera
Ice Temple, The
Impossible Game, The
Incredible Laboratory, The
Inheritance, The
Inheritance, The - Chaos in Scotland
Inheritance, The - Panic in Las Vegas
Institute, The
Iron Horse
Island of Dr. Destructo, The
ISS - Incredible Shrinking Sphere
Issuar
It's a Knockout
It's Only Rock n' Roll
Italy 1990
Jack and the Beanstalk
Jack Bullet
Jack Charlton's Match Fishing
Jack Nicklaus Championship Golf
Jack The Ripper
Jackal (Imagine)
Jackal (Konami)
Jackal II
Jahangir Khan Squash
Jai Alai
Jail Break
Jail War
Jailbreak (Michael Lalonde)
Jam It!
James Bond
JANI
JANI 2
Jara-Tava - The Isle of Fire
Journey to the Centre of the Earth, A
Last Fight, The
Lurking Horror, The
Muncher Eats Chewits, The
Neptune Lander Elite
Over The Net
Planetfall
Puffy's Saga
Tau Ceti
Ultima V
Where in Europe is Carmen Sandiego
Where in the USA is Carmen Sandiego
Where in Time is Carmen SandiegoMore significantly, however, is a lot of other work that's gone on since the last update.
All the audits are complete. New SID (+40 / total of 100), Demonscene (+10 / total of 60), Magazines (+19 / total of 110) and Diskmags (+25 / total of 25) are now complete.
I've also come up with a way to enable quick-swapping between the game and manuals with a key/button combo (numpad minus + numpad enter or back + R3) and navigate them with either keyboard or controller so that's pretty exciting. I have to enable this on a game by game basis one at a time though. I've gotten 150 manuals added so far. I'm not sure how many I'll do for the release but I'm sure it'll be at least 200. At the very least I want to get all the SSI, Origin, Infocom, and a few other outfits that tended to include fairly elaborate documentation. It wouldn't be quite as time consuming were it not for the fact that I'm parsing through about 5 different sources to find the best version of a manual available and then to make matters more difficult (because why wouldn't I?) I've been converting most of them from .pdf to .cbr (which involves extracting all the pages and then combining into an archive) because they look noticeably better in the reader (CDisplayEx) in the majority of cases. This also allows me to combine multiple docs like manual + reference card + story booklet etc. into a single doc. It's time-consuming but, as they say, anything worth doing...
You have to view these at full size to see the difference but it's clear as day if I have both open and alt-tab between the two. For some reason it just handles scaling a lot better with .cbrs and makes it much sharper.
- 8
-
Alright, think I figured it out. This seems to be working.
Hotkey, ~NumpadSub & NumpadEnter, Function1
Process, WaitClose, Retroarch.exe
Process, Close, Cdisplayex.exe
ExitApp
ReturnFunction1:
SetTitleMatchMode, 2
WinActivate, Cdisplayex
Hotkey, ~NumpadSub & NumpadEnter, Function2
ReturnFunction2:
SetTitleMatchMode, 2
WinActivate, RetroArch VICE
Hotkey, ~NumpadSub & NumpadEnter, Function1
Return- 1
Auto Hotkey Scripts
in Noobs
Posted
Hmm... progress! Not quite though. No errors and Joy5 is working (which corresponds to - which tells CDisplayEx to zoom out). Joy6 (= / zoom in) isn't working though.