-
Posts
4,018 -
Joined
-
Last visited
-
Days Won
54
Content Type
Profiles
Forums
Articles
Downloads
Gallery
Blogs
Everything posted by Zombeaver
-
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.
-
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.
-
Ah okay, good to know. 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.
-
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 #WinActivateForce Gui, +AlwaysOnTop Gui, -Caption ;removes caption and border Gui, color, Black ; sets window color Gui, Add, Picture, W%A_ScreenWidth% H%A_ScreenHeight%, Gui, Show, , Blocker SetTitleMatchMode, 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, Function1 Loop { 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.exe Return 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!
-
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 } Return The "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. I'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.
-
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.
-
50 new games since the last batch, bringing the total to 3400. A lot of Origin stuff in this one. I'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.
-
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 #WinActivateForce Gui, +AlwaysOnTop Gui, -Caption ;removes caption and border Gui, color, Black ; sets window color Gui, Add, Picture, W%A_ScreenWidth% H%A_ScreenHeight%, Gui, Show, , Blocker SetTitleMatchMode, 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, Function1 Process, WaitClose, Retroarch.exe Winclose, Cdisplayex Gui, Hide run, nomousy.exe Process, Close, nomousy.exe ExitApp Process, WaitClose, CDisplayEx.exe Gui, Hide run, nomousy.exe Process, Close, nomousy.exe ExitApp 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 Return 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
-
50 new games since the last batch: More 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. PDF: CBR:
-
Alright, think I figured it out. This seems to be working. Hotkey, ~NumpadSub & NumpadEnter, Function1 Process, WaitClose, Retroarch.exe Process, Close, Cdisplayex.exe ExitApp Return Function1: SetTitleMatchMode, 2 WinActivate, Cdisplayex Hotkey, ~NumpadSub & NumpadEnter, Function2 Return Function2: SetTitleMatchMode, 2 WinActivate, RetroArch VICE Hotkey, ~NumpadSub & NumpadEnter, Function1 Return