Thread: Rpcs3

Page 15 of 17 FirstFirst ... 51011121314151617 LastLast
Results 281 to 300 of 334
  1. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Contribute If you enjoy reading the
    content here, click the below
    image to support our site.
    Click Here To Contribute To Our Site
    Quote Originally Posted by Yardley View Post
    That would be great. With the 7z compression method the emulator won’t be able to audit the games correct?
    Add the archive extension to RPCS3 in RLUI and it will be able to audit the games. For example, I have 7z|rar|zip as the first 3 extensions for almost all systems that have 7z enabled.

    Edit: You may be able to use the shortcut method and still have 7z enabled to allow for the PPU compression. I have not tested this and am afraid it may delete the wrong files. Please backup your files if you plan to test this out.
    Last edited by slashin8r ; 11-16-2019 at 07:04 PM.
     

  2. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Quote Originally Posted by oldhag270 View Post
    With this latest version I am having the emulator not close along with the fade,but everything loads correctly.BTW I'm using the shortcut method.
    Would you happen to have 7z enabled? It sounds like it is in the process of compressing the PPU files and/or Game Data files.
     

  3. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Aug 2014
    Posts
    58
    No 7z is not enabled.
     

  4. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    I'm not sure what is going on with the closing process. It might be hanging on trying to find the game window or is not picking up the correct gameID.

    Does this happen for all games you run?
     

  5. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Aug 2014
    Posts
    58
    Just checked it now both games that are located in game and disc within dev_hdd0 all load correctly,but when I hit escape the fade is still running and the emulator gets minimized as well.
     

  6. Collapse Details
    Re: Rpcs3 
    Senior Member

    MainSecondary
    Join Date
    Jan 2015
    Posts
    158
    Ive actually had 7z enabled the whole time. Hasnít caused any issues. I meant auditing not working in RPCS3 not RL.
     

  7. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Quote Originally Posted by oldhag270 View Post
    Just checked it now both games that are located in game and disc within dev_hdd0 all load correctly,but when I hit escape the fade is still running and the emulator gets minimized as well.
    After hitting escape, if you let the fade screen sit for a few minutes does it give you an error?

    Quote Originally Posted by Yardley View Post
    Ive actually had 7z enabled the whole time. Hasn’t caused any issues. I meant auditing not working in RPCS3 not RL.
    That is good to know. Yeah, RPCS3 will not be able to list archived games.
     

  8. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Aug 2014
    Posts
    58
    I have to hit Q&S to close it ,it's been sitting for like 5 minutes now.
     

  9. Collapse Details
    Re: Rpcs3 
    Junior Member
    MainSecondary
    Join Date
    Nov 2019
    Posts
    8
    Hello everybody, i'm new on emulation and hyperspin, so sorry if i ask you for things that seems to be easy for you
    I've setup a system for my bartop and everything is ok except the PS3 emulator in hyperspin and rocketlauncher. The emulator itself is perfectly working and games i've selected and included in my config.
    But i don't understand how to integrate it in rocketlauncher and hyperspin. I've undertsand there is so many possible configurations.
    Mine works with originals PS3 game folders like "dev_hdd0\game\..." or "dev_hdd0\disc\..." there is no 7z file or something like this.
    My problem is i don't understand how ahk modules are working. I can't found an exemple or concrete case i can copy for understanding.
    I've made the biggest part of the config i hope but on launching a game on rocketlauncher i've an error
    If someone could explain how to configure all this it would be great.

    Thanks a lot for your help
     

  10. Collapse Details
    Re: Rpcs3 
    Senior Member

    MainSecondary
    Join Date
    Jan 2015
    Posts
    158
    I'm having the same problem as oldhag270 with the fade screen staying onscreen after quitting the emulator. I have to force quit RL and then manually close RPCS3. Looks like when pressing Esc instead of quitting, RPCS3 comes out of fullscreen and goes to the background. The module from post #262 doesn't have this problem. Here's what I noticed though:

    If you start a game for the first time and it takes long to compile, fade works correctly and stays on the screen until the emulator loads. Exit works correctly and the emulator is closed, fade doesn't remain on the screen. If you start the same game a second time, this time it loads faster because the PPU is already compiled but this is when exit doesn't work and the emulator comes out of fullscreen, goes to the background and fade remains on the screen.
     

  11. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Looks like the only major difference is that I added code to check the target of the sortcut. Not quite sure how this would affect the emulator as it is called before the game is launched and it seems like the module is starting the games no problem.

    Anyways, I added more error checking to make sure the shortcut exists before trying to find its target.

    Code:
    MEmu := "RPCS3"
    MEmuV := "v0.0.7-9142-9a8c59a1 Alpha"
    MURL := ["https://rpcs3.net"]
    MAuthor := ["slashin8r", "wallmachine", "jviegas", "brolly", "aurel102001"]
    MVersion := "1.0.16"
    MDate := "2019-11-18"
    MCRC := ""
    iCRC := ""
    MID := ""
    MSystem := ["Sony Playstation 3"]
    ;----------------------------------------------------------------------------
    ; Notes:
    ; [IMPORTANT]
    ; To run games without the use of 7z
    ; 
    ; 1) Create shortcuts of your EBOOT.BIN files, rename them to the name of the game, and place them all within the same folder then add that folder as a romPath in RocketLauncher.
    ; 2) Add the "lnk" (LNK) extension for the RPCS3 emulator within RocketLauncher.
    ; 3) Generate a new database based on the new rom path.
    ; 4) Audit all games for the system and enjoy.
    ; [IMPORTANT]
    ; 
    ; 
    ;  
    ; To save additional space, this module now automatically compresses each game's PPU folder and Game Data folder (if exists) as long as 7z is enabled.
    ; PPU file saved in: %romPath%\cache\%romName%_%A_ComputerName%.7z
    ; Game Data file saved in: %romPath%\data\%romName%_data.7z
    ; 
    ; Example:
    ; Rom File = "D:\PS3\PS3 Test Game.rar"
    ; A_ComputerName = "PC001"
    ; 
    ; PPU File = "D:\PS3\cache\PS3 Test Game_PC001.7z")
    ; Game Data File = "D:\PS3\data\PS3 Test Game_data.7z")
    ;----------------------------------------------------------------------------
    
    StartModule()
    BezelGUI()
    FadeInStart()
    
    primaryExe := new Emulator(emuPath . "\" . executable)
    primaryWindowClassName := "Qt5QWindowIcon"
    emuPrimaryWindow := new Window(new WindowTitle(,primaryWindowClassName, executable))
    emuGameWindow := new Window(new WindowTitle("FPS"))
    
    ; Finding emulator config file
    Rpcs3config := new File(emuPath . "\config.yml")
    Rpcs3config.CheckFile("Could not find RPCS3 config.yml! Run your emulator, go to Settings and save them.")
    
    ; Finding emulator games file
    Rpcs3games := new File(emuPath . "\games.yml")
    Rpcs3games.CheckFile("Could not find RPCS3 games.yml! Update this file with your list of game serials and game installation directories.")
    
    BezelStart()
    
    hideEmuObj := Object(emuPrimaryWindow,1)
    HideAppStart(hideEmuObj,hideEmu)
    
    ; Find game location
    gameFolder := romPath
    If (sevenZEnabled = "true")
    {
      gameFolder := sevenZExtractPath . "\" . romName
      If (sevenZAttachSystemName = "true")
      {
        gameFolder := sevenZExtractPath . "\" . systemName . "\" . romName
      }
    }
    
    ; Set variables
    gameType := ""
    gameSerial := ""
    originalRomPath := romPath
    gameDirectoryJunction := "false"
    gamePPU := "false"
    gamePPUromPath := romPath . "\cache\" . romName . "_" . A_ComputerName . ".7z"
    gamePPUemuPath := emuPath . "\cache"
    gameDATA := "false"
    gameDATAromPath := romPath . "\data\" . romName . "_data.7z"
    gameDATAemuPath := emuPath . "\dev_hdd0\game"
    
    ; Extract PPU files if they exist
    If (sevenZEnabled = "true" && Fileexist(gamePPUromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gamePPUromPath%" -aos -o"%gamePPUemuPath%", , Hide
      gamePPU := "true"
    }
    
    ; Extract Game Data files if they exist
    If (sevenZEnabled = "true" && Fileexist(gameDATAromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gameDATAromPath%" -aos -o"%gameDATAemuPath%", , Hide
      gameDATA := "true"
    }
    
    7z(romPath, romName, romExtension, sevenZExtractPath)
    
    If (romExtension = ".lnk" && Fileexist(romPath . "\" . romName . romExtension))
    {
      FileGetShortCut, %romPath%\%romName%%romExtension%, shortcutTarget
      StringReplace, romPath, shortcutTarget, \EBOOT.BIN
    }
    
    ; Find the game location and determine the type of game (disc or hdd)
    StringRight, stringTest, romPath, 6
    If (stringTest = "USRDIR")
    {
      gameType := "game"
      StringReplace, gameFolder, romPath, \USRDIR
      StringRight, stringTest, gameFolder, 8
      If (stringTest = "PS3_GAME")
      {
        gameType := "disc"
        StringReplace, gameFolder, gameFolder, \PS3_GAME
      }
      If (sevenZEnabled != "true")
      {
        StringRight, gameSerial, gameFolder, 9
        
        ; Create the directory junction
        If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
        {
          If (gameSerial != "" && gameType != "")
          {
            RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
            gameDirectoryJunction := "true"
          }
          Else
          {
            ScriptError("Game serial not found. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
          }
        }
      }
    }
    Else If (sevenZEnabled = "true" && (romPath = originalRomPath || romPath = ""))
    {
      ScriptError("Rom was not found in the USRDIR directory. Please make sure ""bin"" is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    MsgBox, romPath: %romPath%`nromName: %romName%`nromExtension: %romExtension%`ngameType: %gameType%`ngameSerial: %gameSerial%`ngameDirectoryJunction: %gameDirectoryJunction%`ngamePPU: %gamePPU%`ngameDATA: %gameDATA%
    
    ; Run the game
    If (Fileexist(romPath . "\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . romPath . "\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . ".BIN"))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . ".BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN"))
    {
        primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . romExtension))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . romExtension . """")
    }
    Else
    {
      ScriptError("Unable to find EBOOT.BIN file. Please make sure ""bin"" (and ""lnk"" [LNK] if you are loading from shortcuts) is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    ; Waiting for main emulator window
    emuPrimaryWindow.Wait()
    emuPrimaryWindow.Active()
    emuPrimaryWindow.WaitActive()
    
    If (sevenZEnabled = "true")
    {
      ; Find the game serial
      If (Fileexist(emuPath . "\games.yml") && gameSerial = "")
      {
        Loop, read, %emuPath%\games.yml
        {
          StringReplace, gameLine, A_LoopReadLine, /, \, All
          IfInString, gameLine, %gameFolder%
          {
            StringLeft, gameSerial, gameLine, 9
            break
          }
        }
      }
    
      ; Create the directory junction
      If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
      {
        If (gameSerial != "" && gameType != "")
        {
          RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
          gameDirectoryJunction := "true"
        }
        Else
        {
          ScriptError("Game serial not found in your RPCS3 games.yml file. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
        }
      }
    }
    
    ; Waiting 5 seconds to see if compiling window appears
    If (gameSerial != "" && gamePPU != "true")
    {
      WinWait, Compiling, , 5000
      If (!ErrorLevel)
      {
        WinWaitClose, Compiling
      }
    }
    
    ; Waiting for emulator game window
    emuGameWindow.Wait()
    emuGameWindow.Active()
    emuGameWindow.WaitActive()
    
    BezelDraw()
    HideAppEnd(hideEmuObj,hideEmu)
    FadeInExit()
    primaryExe.Process("WaitClose")
    7zCleanUp()
    
    ; Remove the directory junction
    If (gameDirectoryJunction = "true")
    {
      RunWait, %ComSpec% /c "rmdir "%emuPath%\dev_hdd0\%gameType%\%gameSerial%", , Hide
    }
    
    ; Remove the PPU files if they were extracted or creates PPU compressed file if needed
    If (gamePPU = "true")
    {
      If (gameSerial != "")
      {
        FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
      }
    }
    Else If (sevenZEnabled = "true")
    {
      IfExist, %gamePPUemuPath%\%gameSerial%
      {
        IfNotExist, %gamePPUromPath%
        {
          If (gameSerial != "")
          {
            RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUromPath%" "%gamePPUemuPath%\%gameSerial%", , Hide
            FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
          }
        }
      }
    }
    
    ; Remove the Game Data files if they were extracted or creates Game Data compressed file if needed
    If (gameDATA = "true")
    {
      If (gameSerial != "")
      {
        IfExist, %gameDATAemuPath%\%gameSerial%
        {
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
        }
        IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
        {
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
        }
      }
    }
    Else If (sevenZEnabled = "true")
    {
      If (gameSerial != "")
      {
        IfExist, %gameDATAemuPath%\%gameSerial%
        {
          IfNotExist, %gameDATAromPath%
          {
            RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%" -mx=0, , Hide
          }
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
        }
        IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
        {
          IfNotExist, %gameDATAromPath%
          {
            RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%GAMEDATA" -mx=0, , Hide
          }
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
        }
      }
    }
    
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
      FadeOutStart()
      emuGameWindow.Close()
      emuPrimaryWindow.Close()
      Process, Close, %executable%
    Return
    
    BezelLabel:
      disableHideBorder := "true"
      disableHideTitleBar := "true"
      disableHideToggleMenu := "true"
    return
    I added a message box to get a list of the variables from anyone who is experiencing problems. Please screenshot this message box and post for me to take a look. Thanks.

    To remove the message box: Search for "MsgBox" (should be line 139) and either add a semi-colon at the beginning of that line (i.e. ";MsgBox, ...") or delete the line.
     

  12. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Quote Originally Posted by doopsnoop View Post
    Hello everybody, i'm new on emulation and hyperspin, so sorry if i ask you for things that seems to be easy for you
    I've setup a system for my bartop and everything is ok except the PS3 emulator in hyperspin and rocketlauncher. The emulator itself is perfectly working and games i've selected and included in my config.
    But i don't understand how to integrate it in rocketlauncher and hyperspin. I've undertsand there is so many possible configurations.
    Mine works with originals PS3 game folders like "dev_hdd0\game\..." or "dev_hdd0\disc\..." there is no 7z file or something like this.
    My problem is i don't understand how ahk modules are working. I can't found an exemple or concrete case i can copy for understanding.
    I've made the biggest part of the config i hope but on launching a game on rocketlauncher i've an error
    If someone could explain how to configure all this it would be great.

    Thanks a lot for your help
    Which error are you receiving?

    Most of the module code has comments explaining what it is trying to accomplish. Basically any RL module will be utilizing the basic features of RL (Fade, Bezel, 7z, MountCD, etc.) while also loading the game using the emulator through a command-line script. All other code is to make it start up as smoothly as possible for as many people as possible.

    You can find this particular module within your RL folder under "Modules\RPCS3\RPCS3.ahk". Copy the most current code, paste it over the code within your current module, and give it a run. There will be a message box in the most current code, please screenshot this and post it in a reply if you are running into other problems. Thanks.
     

  13. Collapse Details
    Re: Rpcs3 
    Senior Member

    MainSecondary
    Join Date
    Jan 2015
    Posts
    158
    Here's a screenshot of the message box. This time I noticed that if fade is off, pressing Esc will close the emulator properly but RL will stay running. If fade is on, pressing Esc takes the emulator out of fullscreen and hides it behind fade (same as before). box.jpg
     

  14. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Quote Originally Posted by Yardley View Post
    Here's a screenshot of the message box. This time I noticed that if fade is off, pressing Esc will close the emulator properly but RL will stay running. If fade is on, pressing Esc takes the emulator out of fullscreen and hides it behind fade (same as before). box.jpg
    Looks like all the variables are correct. Try using the code below. I added some more message boxes to test and removed the variable list message box. Let me know if you get a message box after pressing Esc. Thanks.

    Code:
    MEmu := "RPCS3"
    MEmuV := "v0.0.7-9142-9a8c59a1 Alpha"
    MURL := ["https://rpcs3.net"]
    MAuthor := ["slashin8r", "wallmachine", "jviegas", "brolly", "aurel102001"]
    MVersion := "1.0.16"
    MDate := "2019-11-18"
    MCRC := ""
    iCRC := ""
    MID := ""
    MSystem := ["Sony Playstation 3"]
    ;----------------------------------------------------------------------------
    ; Notes:
    ; [IMPORTANT]
    ; To run games without the use of 7z
    ; 
    ; 1) Create shortcuts of your EBOOT.BIN files, rename them to the name of the game, and place them all within the same folder then add that folder as a romPath in RocketLauncher.
    ; 2) Add the "lnk" (LNK) extension for the RPCS3 emulator within RocketLauncher.
    ; 3) Generate a new database based on the new rom path.
    ; 4) Audit all games for the system and enjoy.
    ; [IMPORTANT]
    ; 
    ; 
    ;  
    ; To save additional space, this module now automatically compresses each game's PPU folder and Game Data folder (if exists) as long as 7z is enabled.
    ; PPU file saved in: %romPath%\cache\%romName%_%A_ComputerName%.7z
    ; Game Data file saved in: %romPath%\data\%romName%_data.7z
    ; 
    ; Example:
    ; Rom File = "D:\PS3\PS3 Test Game.rar"
    ; A_ComputerName = "PC001"
    ; 
    ; PPU File = "D:\PS3\cache\PS3 Test Game_PC001.7z")
    ; Game Data File = "D:\PS3\data\PS3 Test Game_data.7z")
    ;----------------------------------------------------------------------------
    
    StartModule()
    BezelGUI()
    FadeInStart()
    
    primaryExe := new Emulator(emuPath . "\" . executable)
    primaryWindowClassName := "Qt5QWindowIcon"
    emuPrimaryWindow := new Window(new WindowTitle(,primaryWindowClassName, executable))
    emuGameWindow := new Window(new WindowTitle("FPS"))
    
    ; Finding emulator config file
    Rpcs3config := new File(emuPath . "\config.yml")
    Rpcs3config.CheckFile("Could not find RPCS3 config.yml! Run your emulator, go to Settings and save them.")
    
    ; Finding emulator games file
    Rpcs3games := new File(emuPath . "\games.yml")
    Rpcs3games.CheckFile("Could not find RPCS3 games.yml! Update this file with your list of game serials and game installation directories.")
    
    BezelStart()
    
    hideEmuObj := Object(emuPrimaryWindow,1)
    HideAppStart(hideEmuObj,hideEmu)
    
    ; Find game location
    gameFolder := romPath
    If (sevenZEnabled = "true")
    {
      gameFolder := sevenZExtractPath . "\" . romName
      If (sevenZAttachSystemName = "true")
      {
        gameFolder := sevenZExtractPath . "\" . systemName . "\" . romName
      }
    }
    
    ; Set variables
    gameType := ""
    gameSerial := ""
    originalRomPath := romPath
    gameDirectoryJunction := "false"
    gamePPU := "false"
    gamePPUromPath := romPath . "\cache\" . romName . "_" . A_ComputerName . ".7z"
    gamePPUemuPath := emuPath . "\cache"
    gameDATA := "false"
    gameDATAromPath := romPath . "\data\" . romName . "_data.7z"
    gameDATAemuPath := emuPath . "\dev_hdd0\game"
    
    ; Extract PPU files if they exist
    If (sevenZEnabled = "true" && Fileexist(gamePPUromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gamePPUromPath%" -aos -o"%gamePPUemuPath%", , Hide
      gamePPU := "true"
    }
    
    ; Extract Game Data files if they exist
    If (sevenZEnabled = "true" && Fileexist(gameDATAromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gameDATAromPath%" -aos -o"%gameDATAemuPath%", , Hide
      gameDATA := "true"
    }
    
    7z(romPath, romName, romExtension, sevenZExtractPath)
    
    If (romExtension = ".lnk" && Fileexist(romPath . "\" . romName . romExtension))
    {
      FileGetShortCut, %romPath%\%romName%%romExtension%, shortcutTarget
      StringReplace, romPath, shortcutTarget, \EBOOT.BIN
    }
    
    ; Find the game location and determine the type of game (disc or hdd)
    StringRight, stringTest, romPath, 6
    If (stringTest = "USRDIR")
    {
      gameType := "game"
      StringReplace, gameFolder, romPath, \USRDIR
      StringRight, stringTest, gameFolder, 8
      If (stringTest = "PS3_GAME")
      {
        gameType := "disc"
        StringReplace, gameFolder, gameFolder, \PS3_GAME
      }
      If (sevenZEnabled != "true")
      {
        StringRight, gameSerial, gameFolder, 9
        
        ; Create the directory junction
        If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
        {
          If (gameSerial != "" && gameType != "")
          {
            RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
            gameDirectoryJunction := "true"
          }
          Else
          {
            ScriptError("Game serial not found. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
          }
        }
      }
    }
    Else If (sevenZEnabled = "true" && (romPath = originalRomPath || romPath = ""))
    {
      ScriptError("Rom was not found in the USRDIR directory. Please make sure ""bin"" is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    ;MsgBox, romPath: %romPath%`nromName: %romName%`nromExtension: %romExtension%`ngameType: %gameType%`ngameSerial: %gameSerial%`ngameDirectoryJunction: %gameDirectoryJunction%`ngamePPU: %gamePPU%`ngameDATA: %gameDATA%
    
    ; Run the game
    If (Fileexist(romPath . "\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . romPath . "\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . ".BIN"))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . ".BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN"))
    {
        primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . romExtension))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . romExtension . """")
    }
    Else
    {
      ScriptError("Unable to find EBOOT.BIN file. Please make sure ""bin"" (and ""lnk"" [LNK] if you are loading from shortcuts) is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    ; Waiting for main emulator window
    emuPrimaryWindow.Wait()
    emuPrimaryWindow.Active()
    emuPrimaryWindow.WaitActive()
    
    If (sevenZEnabled = "true")
    {
      ; Find the game serial
      If (Fileexist(emuPath . "\games.yml") && gameSerial = "")
      {
        Loop, read, %emuPath%\games.yml
        {
          StringReplace, gameLine, A_LoopReadLine, /, \, All
          IfInString, gameLine, %gameFolder%
          {
            StringLeft, gameSerial, gameLine, 9
            break
          }
        }
      }
    
      ; Create the directory junction
      If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
      {
        If (gameSerial != "" && gameType != "")
        {
          RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
          gameDirectoryJunction := "true"
        }
        Else
        {
          ScriptError("Game serial not found in your RPCS3 games.yml file. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
        }
      }
    }
    
    ; Waiting 5 seconds to see if compiling window appears
    If (gameSerial != "" && gamePPU != "true")
    {
      WinWait, Compiling, , 5000
      If (!ErrorLevel)
      {
        WinWaitClose, Compiling
      }
    }
    
    ; Waiting for emulator game window
    emuGameWindow.Wait()
    emuGameWindow.Active()
    emuGameWindow.WaitActive()
    
    BezelDraw()
    HideAppEnd(hideEmuObj,hideEmu)
    FadeInExit()
    primaryExe.Process("WaitClose")
    7zCleanUp()
    
    ; Remove the directory junction
    If (gameDirectoryJunction = "true")
    {
      RunWait, %ComSpec% /c "rmdir "%emuPath%\dev_hdd0\%gameType%\%gameSerial%", , Hide
    }
    
    ; Remove the PPU files if they were extracted or creates PPU compressed file if needed
    If (gamePPU = "true")
    {
      If (gameSerial != "")
      {
        FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
      }
    }
    Else If (sevenZEnabled = "true")
    {
      IfExist, %gamePPUemuPath%\%gameSerial%
      {
        IfNotExist, %gamePPUromPath%
        {
          If (gameSerial != "")
          {
            MsgBox, Archiving PPU files.
            RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUromPath%" "%gamePPUemuPath%\%gameSerial%", , Hide
            FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
          }
        }
      }
    }
    
    ; Remove the Game Data files if they were extracted or creates Game Data compressed file if needed
    If (gameDATA = "true")
    {
      If (gameSerial != "")
      {
        IfExist, %gameDATAemuPath%\%gameSerial%
        {
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
        }
        IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
        {
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
        }
      }
    }
    Else If (sevenZEnabled = "true")
    {
      If (gameSerial != "")
      {
        IfExist, %gameDATAemuPath%\%gameSerial%
        {
          IfNotExist, %gameDATAromPath%
          {
            MsgBox, Archiving DATA files.
            RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%" -mx=0, , Hide
          }
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
        }
        IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
        {
          IfNotExist, %gameDATAromPath%
          {
            MsgBox, Archiving GAMEDATA files.
            RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%GAMEDATA" -mx=0, , Hide
          }
          FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
        }
      }
    }
    
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
      FadeOutStart()
      emuGameWindow.Close()
      emuPrimaryWindow.Close()
      Process, Close, %executable%
    Return
    
    BezelLabel:
      disableHideBorder := "true"
      disableHideTitleBar := "true"
      disableHideToggleMenu := "true"
    return
     

  15. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    It is getting hung up on the PPU window. When it compiles PPU files, it works as expected, but if it doesn't compile, then it gets stuck without being able to find the game window. Might just need to skip the game window check.... Gonna test it out a bit more.

    Edit: Wow, I feel like an idiot. WinWait timeout is in seconds, not milliseconds like every other function uses.... Making the fix and testing, then will post it. Makes sense that waiting 5000 seconds would take some time, haha.

    Edit2: Also looks like 7z gets disabled by default if you use the shortcut method. Even when it is enabled in RLUI, when the module runs the 7z function and finds out the rom extension does not match, then it sets it to false. Will create a workaround until I get a settings file up and running.
    Last edited by slashin8r ; 11-18-2019 at 09:58 AM.
     

  16. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Code:
    MEmu := "RPCS3"
    MEmuV := "v0.0.7-9142-9a8c59a1 Alpha"
    MURL := ["https://rpcs3.net"]
    MAuthor := ["slashin8r", "wallmachine", "jviegas", "brolly", "aurel102001"]
    MVersion := "1.0.17"
    MDate := "2019-11-18"
    MCRC := ""
    iCRC := ""
    MID := ""
    MSystem := ["Sony Playstation 3"]
    ;----------------------------------------------------------------------------
    ; Notes:
    ; [IMPORTANT]
    ; To run games without the use of 7z
    ; 
    ; 1) Create shortcuts of your EBOOT.BIN files, rename them to the name of the game, and place them all within the same folder then add that folder as a romPath in RocketLauncher.
    ; 2) Add the "lnk" (LNK) extension for the RPCS3 emulator within RocketLauncher.
    ; 3) Generate a new database based on the new rom path.
    ; 4) Audit all games for the system and enjoy.
    ; [IMPORTANT]
    ; 
    ; 
    ; 
    ; To save additional space, this module now automatically compresses each game's PPU folder and Game Data folder (if exists) as long as 7z is enabled.
    ; PPU file saved in: %romPath%\cache\%romName%_%A_ComputerName%.7z
    ; Game Data file saved in: %romPath%\data\%romName%_data.7z
    ; 
    ; Example:
    ; Rom File = "D:\PS3\PS3 Test Game.rar"
    ; A_ComputerName = "PC001"
    ; 
    ; PPU File = "D:\PS3\cache\PS3 Test Game_PC001.7z")
    ; Game Data File = "D:\PS3\data\PS3 Test Game_data.7z")
    ;----------------------------------------------------------------------------
    
    StartModule()
    BezelGUI()
    FadeInStart()
    
    primaryExe := new Emulator(emuPath . "\" . executable)
    primaryWindowClassName := "Qt5QWindowIcon"
    emuPrimaryWindow := new Window(new WindowTitle(,primaryWindowClassName, executable))
    emuGameWindow := new Window(new WindowTitle("FPS"))
    
    ; Finding emulator config file
    Rpcs3config := new File(emuPath . "\config.yml")
    Rpcs3config.CheckFile("Could not find RPCS3 config.yml! Run your emulator, go to Settings and save them.")
    
    ; Finding emulator games file
    Rpcs3games := new File(emuPath . "\games.yml")
    Rpcs3games.CheckFile("Could not find RPCS3 games.yml! Update this file with your list of game serials and game installation directories.")
    
    BezelStart()
    
    hideEmuObj := Object(emuPrimaryWindow,1)
    HideAppStart(hideEmuObj,hideEmu)
    
    ; Find game location
    gameFolder := romPath
    If (sevenZEnabled = "true" && romExtension != ".lnk")
    {
      gameFolder := sevenZExtractPath . "\" . romName
      If (sevenZAttachSystemName = "true")
      {
        gameFolder := sevenZExtractPath . "\" . systemName . "\" . romName
      }
    }
    
    ; Set variables
    gameSevenZEnabled := sevenZEnabled
    gameType := ""
    gameSerial := ""
    originalRomPath := romPath
    gameDirectoryJunction := "false"
    gamePPU := "false"
    gamePPUromPath := romPath . "\cache\" . romName . "_" . A_ComputerName . ".7z"
    gamePPUemuPath := emuPath . "\cache"
    gameDATA := "false"
    gameDATAromPath := romPath . "\data\" . romName . "_data.7z"
    gameDATAemuPath := emuPath . "\dev_hdd0\game"
    
    MsgBox, gamePPUromPath: %gamePPUromPath%`ngamePPUemuPath: %gamePPUemuPath%`ngameDATAromPath: %gameDATAromPath%`ngameDATAemuPath: %gameDATAemuPath%
    
    ; Extract PPU files if they exist
    If (gameSevenZEnabled = "true" && Fileexist(gamePPUromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gamePPUromPath%" -aos -o"%gamePPUemuPath%", , Hide
      gamePPU := "true"
    }
    
    ; Extract Game Data files if they exist
    If (gameSevenZEnabled = "true" && Fileexist(gameDATAromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gameDATAromPath%" -aos -o"%gameDATAemuPath%", , Hide
      gameDATA := "true"
    }
    
    7z(romPath, romName, romExtension, sevenZExtractPath)
    
    If (romExtension = ".lnk" && Fileexist(romPath . "\" . romName . romExtension))
    {
      FileGetShortCut, %romPath%\%romName%%romExtension%, shortcutTarget
      StringReplace, gameFolder, shortcutTarget, \EBOOT.BIN
    }
    
    ; Find the game location and determine the type of game (disc or hdd)
    StringRight, stringTest, gameFolder, 6
    If (stringTest = "USRDIR")
    {
      gameType := "game"
      StringReplace, gameFolder, gameFolder, \USRDIR
      StringRight, stringTest, gameFolder, 8
      If (stringTest = "PS3_GAME")
      {
        gameType := "disc"
        StringReplace, gameFolder, gameFolder, \PS3_GAME
      }
      If (sevenZEnabled != "true")
      {
        StringRight, gameSerial, gameFolder, 9
        
        ; Create the directory junction
        If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
        {
          If (gameSerial != "" && gameType != "")
          {
            RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
            gameDirectoryJunction := "true"
          }
          Else
          {
            ScriptError("Game serial not found. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
          }
        }
      }
    }
    Else If (sevenZEnabled = "true" && (romPath = originalRomPath || romPath = ""))
    {
      ScriptError("Rom was not found in the USRDIR directory. Please make sure ""bin"" is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    MsgBox, romPath: %romPath%`nromName: %romName%`nromExtension: %romExtension%`ngameType: %gameType%`ngameSerial: %gameSerial%`ngameDirectoryJunction: %gameDirectoryJunction%`ngamePPU: %gamePPU%`ngameDATA: %gameDATA%`nsevenZEnabled: %sevenZEnabled%`ngameSevenZEnabled: %gameSevenZEnabled%
    
    ; Run the game
    If (Fileexist(romPath . "\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . romPath . "\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . ".BIN"))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . ".BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN"))
    {
        primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . romExtension))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . romExtension . """")
    }
    Else
    {
      ScriptError("Unable to find EBOOT.BIN file. Please make sure ""bin"" (and ""lnk"" [LNK] if you are loading from shortcuts) is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    ; Waiting for main emulator window
    emuPrimaryWindow.Wait()
    emuPrimaryWindow.Active()
    emuPrimaryWindow.WaitActive()
    
    If (sevenZEnabled = "true")
    {
      ; Find the game serial
      If (Fileexist(emuPath . "\games.yml") && gameSerial = "")
      {
        Loop, read, %emuPath%\games.yml
        {
          StringReplace, gameLine, A_LoopReadLine, /, \, All
          IfInString, gameLine, %gameFolder%
          {
            StringLeft, gameSerial, gameLine, 9
            break
          }
        }
      }
    
      ; Create the directory junction
      If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
      {
        If (gameSerial != "" && gameType != "")
        {
          RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
          gameDirectoryJunction := "true"
        }
        Else
        {
          ScriptError("Game serial not found in your RPCS3 games.yml file. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
        }
      }
    }
    
    ; Waiting 5 seconds to see if compiling window appears
    If (gameSerial != "" && gamePPU != "true")
    {
      WinWait, Compiling, , 5
      If (!ErrorLevel)
      {
        WinWaitClose, Compiling
      }
    }
    
    ; Waiting for emulator game window
    emuGameWindow.Wait()
    emuGameWindow.Active()
    emuGameWindow.WaitActive()
    
    BezelDraw()
    HideAppEnd(hideEmuObj,hideEmu)
    FadeInExit()
    primaryExe.Process("WaitClose")
    7zCleanUp()
    
    ; Remove the directory junction
    If (gameDirectoryJunction = "true")
    {
      RunWait, %ComSpec% /c "rmdir "%emuPath%\dev_hdd0\%gameType%\%gameSerial%", , Hide
    }
    
    ; Remove the PPU files if they were extracted or creates PPU compressed file if needed
    If (gamePPU = "true" && gameSerial != "")
    {
      IfExist, %gamePPUemuPath%\%gameSerial%
      {
        FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
      }
    }
    Else If (gameSevenZEnabled = "true" && gameSerial != "")
    {
      IfExist, %gamePPUemuPath%\%gameSerial%
      {
        IfNotExist, %gamePPUromPath%
        {
          RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUromPath%" "%gamePPUemuPath%\%gameSerial%", , Hide
          FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
        }
      }
    }
    
    ; Remove the Game Data files if they were extracted or creates Game Data compressed file if needed
    If (gameDATA = "true" && gameSerial != "" && gameType = "disc" && romExtension != ".lnk")
    {
      IfExist, %gameDATAemuPath%\%gameSerial%
      {
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
      }
      IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
      {
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
      }
    }
    Else If (gameSevenZEnabled = "true" && gameSerial != "" && gameType = "disc")
    {
      IfExist, %gameDATAemuPath%\%gameSerial%
      {
        IfNotExist, %gameDATAromPath%
        {
          RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%" -mx=0, , Hide
        }
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
      }
      IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
      {
        IfNotExist, %gameDATAromPath%
        {
          RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%GAMEDATA" -mx=0, , Hide
        }
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
      }
    }
    
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
      FadeOutStart()
      emuGameWindow.Close()
      emuPrimaryWindow.Close()
      Process, Close, %executable%
    Return
    
    BezelLabel:
      disableHideBorder := "true"
      disableHideTitleBar := "true"
      disableHideToggleMenu := "true"
    return
    I think I got everything working now. Shortcut users can even get the PPU files and extra game data files to automatically archive if they have 7z enabled. Had a problem when using shortcuts where the game could be deleted, but I added more error checking and made it so only disc games will be allowed to archive the extra game data files.
     

  17. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Aug 2014
    Posts
    58
    Just tried the new version and all it does is hang on the fade screen.
     

  18. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Sorry, forgot to remove my testing message boxes. Try this code.

    Code:
    MEmu := "RPCS3"
    MEmuV := "v0.0.7-9142-9a8c59a1 Alpha"
    MURL := ["https://rpcs3.net"]
    MAuthor := ["slashin8r", "wallmachine", "jviegas", "brolly", "aurel102001"]
    MVersion := "1.0.17"
    MDate := "2019-11-18"
    MCRC := ""
    iCRC := ""
    MID := ""
    MSystem := ["Sony Playstation 3"]
    ;----------------------------------------------------------------------------
    ; Notes:
    ; [IMPORTANT]
    ; To run games without the use of 7z
    ; 
    ; 1) Create shortcuts of your EBOOT.BIN files, rename them to the name of the game, and place them all within the same folder then add that folder as a romPath in RocketLauncher.
    ; 2) Add the "lnk" (LNK) extension for the RPCS3 emulator within RocketLauncher.
    ; 3) Generate a new database based on the new rom path.
    ; 4) Audit all games for the system and enjoy.
    ; [IMPORTANT]
    ; 
    ; 
    ; 
    ; To save additional space, this module now automatically compresses each game's PPU folder and Game Data folder (if exists) as long as 7z is enabled.
    ; PPU file saved in: %romPath%\cache\%romName%_%A_ComputerName%.7z
    ; Game Data file saved in: %romPath%\data\%romName%_data.7z
    ; 
    ; Example:
    ; Rom File = "D:\PS3\PS3 Test Game.rar"
    ; A_ComputerName = "PC001"
    ; 
    ; PPU File = "D:\PS3\cache\PS3 Test Game_PC001.7z")
    ; Game Data File = "D:\PS3\data\PS3 Test Game_data.7z")
    ;----------------------------------------------------------------------------
    
    StartModule()
    BezelGUI()
    FadeInStart()
    
    primaryExe := new Emulator(emuPath . "\" . executable)
    primaryWindowClassName := "Qt5QWindowIcon"
    emuPrimaryWindow := new Window(new WindowTitle(,primaryWindowClassName, executable))
    emuGameWindow := new Window(new WindowTitle("FPS"))
    
    ; Finding emulator config file
    Rpcs3config := new File(emuPath . "\config.yml")
    Rpcs3config.CheckFile("Could not find RPCS3 config.yml! Run your emulator, go to Settings and save them.")
    
    ; Finding emulator games file
    Rpcs3games := new File(emuPath . "\games.yml")
    Rpcs3games.CheckFile("Could not find RPCS3 games.yml! Update this file with your list of game serials and game installation directories.")
    
    BezelStart()
    
    hideEmuObj := Object(emuPrimaryWindow,1)
    HideAppStart(hideEmuObj,hideEmu)
    
    ; Find game location
    gameFolder := romPath
    If (sevenZEnabled = "true" && romExtension != ".lnk")
    {
      gameFolder := sevenZExtractPath . "\" . romName
      If (sevenZAttachSystemName = "true")
      {
        gameFolder := sevenZExtractPath . "\" . systemName . "\" . romName
      }
    }
    
    ; Set variables
    gameSevenZEnabled := sevenZEnabled
    gameType := ""
    gameSerial := ""
    originalRomPath := romPath
    gameDirectoryJunction := "false"
    gamePPU := "false"
    gamePPUromPath := romPath . "\cache\" . romName . "_" . A_ComputerName . ".7z"
    gamePPUemuPath := emuPath . "\cache"
    gameDATA := "false"
    gameDATAromPath := romPath . "\data\" . romName . "_data.7z"
    gameDATAemuPath := emuPath . "\dev_hdd0\game"
    
    ; Extract PPU files if they exist
    If (gameSevenZEnabled = "true" && Fileexist(gamePPUromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gamePPUromPath%" -aos -o"%gamePPUemuPath%", , Hide
      gamePPU := "true"
    }
    
    ; Extract Game Data files if they exist
    If (gameSevenZEnabled = "true" && Fileexist(gameDATAromPath))
    {
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gameDATAromPath%" -aos -o"%gameDATAemuPath%", , Hide
      gameDATA := "true"
    }
    
    7z(romPath, romName, romExtension, sevenZExtractPath)
    
    If (romExtension = ".lnk" && Fileexist(romPath . "\" . romName . romExtension))
    {
      FileGetShortCut, %romPath%\%romName%%romExtension%, shortcutTarget
      StringReplace, gameFolder, shortcutTarget, \EBOOT.BIN
    }
    
    ; Find the game location and determine the type of game (disc or hdd)
    StringRight, stringTest, gameFolder, 6
    If (stringTest = "USRDIR")
    {
      gameType := "game"
      StringReplace, gameFolder, gameFolder, \USRDIR
      StringRight, stringTest, gameFolder, 8
      If (stringTest = "PS3_GAME")
      {
        gameType := "disc"
        StringReplace, gameFolder, gameFolder, \PS3_GAME
      }
      If (sevenZEnabled != "true")
      {
        StringRight, gameSerial, gameFolder, 9
        
        ; Create the directory junction
        If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
        {
          If (gameSerial != "" && gameType != "")
          {
            RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
            gameDirectoryJunction := "true"
          }
          Else
          {
            ScriptError("Game serial not found. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
          }
        }
      }
    }
    Else If (sevenZEnabled = "true" && (romPath = originalRomPath || romPath = ""))
    {
      ScriptError("Rom was not found in the USRDIR directory. Please make sure ""bin"" is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    ; Run the game
    If (Fileexist(romPath . "\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . romPath . "\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . ".BIN"))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . ".BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN"))
    {
        primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . romExtension))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . romExtension . """")
    }
    Else
    {
      ScriptError("Unable to find EBOOT.BIN file. Please make sure ""bin"" (and ""lnk"" [LNK] if you are loading from shortcuts) is an RPCS3 extension and also verify the folder structure of your rom.")
    }
    
    ; Waiting for main emulator window
    emuPrimaryWindow.Wait()
    emuPrimaryWindow.Active()
    emuPrimaryWindow.WaitActive()
    
    If (sevenZEnabled = "true")
    {
      ; Find the game serial
      If (Fileexist(emuPath . "\games.yml") && gameSerial = "")
      {
        Loop, read, %emuPath%\games.yml
        {
          StringReplace, gameLine, A_LoopReadLine, /, \, All
          IfInString, gameLine, %gameFolder%
          {
            StringLeft, gameSerial, gameLine, 9
            break
          }
        }
      }
    
      ; Create the directory junction
      If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
      {
        If (gameSerial != "" && gameType != "")
        {
          RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%gameFolder%", , Hide
          gameDirectoryJunction := "true"
        }
        Else
        {
          ScriptError("Game serial not found in your RPCS3 games.yml file. If this is your first time loading this game, please check that its game serial and path were added to the games.yml file and try running again.")
        }
      }
    }
    
    ; Waiting 5 seconds to see if compiling window appears
    If (gameSerial != "" && gamePPU != "true")
    {
      WinWait, Compiling, , 5
      If (!ErrorLevel)
      {
        WinWaitClose, Compiling
      }
    }
    
    ; Waiting for emulator game window
    emuGameWindow.Wait()
    emuGameWindow.Active()
    emuGameWindow.WaitActive()
    
    BezelDraw()
    HideAppEnd(hideEmuObj,hideEmu)
    FadeInExit()
    primaryExe.Process("WaitClose")
    7zCleanUp()
    
    ; Remove the directory junction
    If (gameDirectoryJunction = "true")
    {
      RunWait, %ComSpec% /c "rmdir "%emuPath%\dev_hdd0\%gameType%\%gameSerial%", , Hide
    }
    
    ; Remove the PPU files if they were extracted or creates PPU compressed file if needed
    If (gamePPU = "true" && gameSerial != "")
    {
      IfExist, %gamePPUemuPath%\%gameSerial%
      {
        FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
      }
    }
    Else If (gameSevenZEnabled = "true" && gameSerial != "")
    {
      IfExist, %gamePPUemuPath%\%gameSerial%
      {
        IfNotExist, %gamePPUromPath%
        {
          RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUromPath%" "%gamePPUemuPath%\%gameSerial%", , Hide
          FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
        }
      }
    }
    
    ; Remove the Game Data files if they were extracted or creates Game Data compressed file if needed
    If (gameDATA = "true" && gameSerial != "" && gameType = "disc" && romExtension != ".lnk")
    {
      IfExist, %gameDATAemuPath%\%gameSerial%
      {
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
      }
      IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
      {
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
      }
    }
    Else If (gameSevenZEnabled = "true" && gameSerial != "" && gameType = "disc")
    {
      IfExist, %gameDATAemuPath%\%gameSerial%
      {
        IfNotExist, %gameDATAromPath%
        {
          RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%" -mx=0, , Hide
        }
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%, 1
      }
      IfExist, %gameDATAemuPath%\%gameSerial%GAMEDATA
      {
        IfNotExist, %gameDATAromPath%
        {
          RunWait, %ComSpec% /c ""%sevenZPath%" a "%gameDATAromPath%" "%gameDATAemuPath%\%gameSerial%GAMEDATA" -mx=0, , Hide
        }
        FileRemoveDir, %gameDATAemuPath%\%gameSerial%GAMEDATA, 1
      }
    }
    
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
      FadeOutStart()
      emuGameWindow.Close()
      emuPrimaryWindow.Close()
      Process, Close, %executable%
    Return
    
    BezelLabel:
      disableHideBorder := "true"
      disableHideTitleBar := "true"
      disableHideToggleMenu := "true"
    return
     

  19. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Aug 2014
    Posts
    58
    For me it's working well with the shortcut method,have not tested it with other methods.Keep up the good work.
     

  20. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Jul 2016
    Posts
    80
    Quote Originally Posted by oldhag270 View Post
    For me it's working well with the shortcut method,have not tested it with other methods.Keep up the good work.
    I actually found out it is not working for 7z method now. Will be fixing that and then posting the module soon.
     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •