Jump to content
LaunchBox Community Forums

Zombeaver

Moderators
  • Posts

    4,018
  • Joined

  • Last visited

  • Days Won

    54

Posts posted by Zombeaver

  1. 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.

  2. 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
    #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

    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.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

    Zoom()
    {
        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

     

     

  3. 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.

  4. 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

  5. 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::=

  6. 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

  7. 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.

  8. 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).

  9. I also tried this but that didn't work either.

    Spoiler

     

    #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

    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.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

     

     

  10. 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

  11. 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.

  12. 50 new games since the last batch.

    Spoiler

    Deadline (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 Party

    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.

    • Like 3
    • Thanks 2
  13. 50 new games since the last batch, bringing the total to 3400. A lot of Origin stuff in this one.

    Spoiler

    Adventureland
    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 Crown

    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.

    • Like 9
  14. 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

    • Thanks 1
  15. 50 new games since the last batch:

    Spoiler

    Alien
    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 Sandiego

    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:
    image.thumb.png.adfdcb5a9de33434d9fc17ea4aaa51e9.pngCBR:

    image.thumb.png.b537b91f3bc867c72fc38e4ca946ae03.png

    • Like 8
  16. 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

    • Like 1
×
×
  • Create New...