Thread: Rpcs3

Page 19 of 19 FirstFirst ... 9141516171819
Results 361 to 366 of 366
  1. Collapse Details
    Re: Rpcs3 
    Junior Member
    MainSecondary
    Join Date
    May 2020
    Posts
    2
    Contribute If you enjoy reading the
    content here, click the below
    image to support our site.
    Click Here To Contribute To Our Site
    Do you have a snippet of where that code statement is place? I am running into the same closing issue

    - - - Updated - - -

    I am setting up my RPCS3 and I have read through this forum. What is the current module version for this? I saw a v1.1.0 download a few posts back but then several mention of code changes along the way but with no new download. I wanted to make sure I was working with the most current version.
    Last edited by subretro ; 05-21-2020 at 05:18 PM.
     

  2. Collapse Details
    Re: Rpcs3 
    Junior Member
    MainSecondary
    Join Date
    May 2020
    Posts
    2
    Ok so I have been working with the latest RPCS3 Module and so far I am able to get it to work with 2 out of the 3 Methods. For the 1st Method for archiving can you provide a little more detail as to what is compressed and where the games need to be placed are? I am constantly getting an error about RL can't find the bin file in the USRDIR. I have ensured that those settings are in place.

    This is the info that is in the README portion of the AHK.

    ; METHOD 1: Archives: Use this method if you will be compressing your games to save space.
    ; 1) Archive your game folders, rename the archive to the title of the game, place all the archives within the same folder, and then add that folder as a romPath in RocketLauncher.
    ; 2) Add the archive's extension ("7z", "rar", "zip", etc.) 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.
     

  3. Collapse Details
    Re: Rpcs3 
    Junior Member
    MainSecondary
    Join Date
    Dec 2016
    Posts
    9
    hi guys I have a problem with the rpcs3 module, when running the game from hiperspin the emulator is not hidden, it would be possible to make the emulator not show until the game is launched. In rocketlauncher setting is activate hidden emulator.

    Thanks for the help.
     

  4. Collapse Details
    Re: Rpcs3 
    Junior Member
    MainSecondary
    Join Date
    Dec 2014
    Posts
    10
    Anybody else having exiting issues? Today, rpcs3 updated like three times today and the ESC button is not closing rpcs3 and is only taking it out of fullscreen into windowed so the exiting fade hangs up until you alt+f4 the emulator.
     

  5. Collapse Details
    Re: Rpcs3 
    Member
    MainSecondary
    Join Date
    Mar 2015
    Posts
    95
    No, it's just you. Just updated and exits and plays fine.
     

  6. Collapse Details
    Re: Rpcs3 
    Junior Member
    MainSecondary
    Join Date
    Jan 2018
    Posts
    12
    Quote Originally Posted by slashin8r View Post
    Hmmmm.... I think I can simply remove this error now. Try the code below.

    Code:
    MEmu := "RPCS3"
    MEmuV := "v0.0.8-9342-ad845861 Alpha"
    MURL := ["https://rpcs3.net"]
    MAuthor := ["slashin8r", "wallmachine", "jviegas", "brolly", "aurel102001"]
    MVersion := "1.1.6"
    MDate := "2020-01-07"
    MCRC := ""
    iCRC := ""
    MID := ""
    MSystem := ["Sony Playstation 3"]
    ;----------------------------------------------------------------------------
    ; Notes:
    ; [IMPORTANT]
    ; There are three methods for using this module.
    ; 
    ; METHOD 1: Archives: Use this method if you will be compressing your games to save space.
    ; 1) Archive your game folders, rename the archive to the title of the game, place all the archives within the same folder, and then add that folder as a romPath in RocketLauncher.
    ; 2) Add the archive's extension ("7z", "rar", "zip", etc.) 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.
    ; 
    ; METHOD 2: Shortcuts: Use this method if you will be installing your games directly into RPCS3. Can also be used if you will be storing your non-archive games outside of the RPCS3 installation directories.
    ; 1) Create shortcuts of your EBOOT.BIN files, rename them to the title of the game, 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.
    ; 
    ; METHOD 3: Text Files: Use this method if you are converting over from a RPCS3 module prior to version 1.0.2.
    ; 1) Place game folders all within the same folder. You can rename these folders to whatever you like, usually the title of the game. (e.g. "Rune Factory - Oceans (Europe) [BLES01550]")
    ; 2) Create a text file for every game with the same name as its game folder. (e.g. "Rune Factory - Oceans (Europe) [BLES01550]")
    ; 3) Place these text files within the folder storing your games.
    ; [If you wish to have the text files in a separate folder, edit the "GamesDirectory" variable, found within your RPCS3.ini file, to match the full path of the folder storing your games]
    ; 4) Add the folder containing your text files as a romPath in RocketLauncher.
    ; 5) Add the "txt" extension for the RPCS3 emulator within RocketLauncher.
    ; 6) Generate a new database based on the new rom path.
    ; 7) 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 it is enabled in your RPCS3.ini file.
    ; PPU file saved in: %romPath%\cache\%romName%_%A_ComputerName%.7z (PPU files are hardware specific, so the computer name is added to the end of the filename)
    ; Game Data file saved in: %romPath%\data\%romName%_data.7z ("_data" added to the end of the filename so there is no conflict with the rom name)
    ; 
    ; 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")
    ; 
    ; 
    ; 
    ; Known Issues:
    ; 1) Additional progress bar appears just before the game is extracted/loaded (after the PPU and/or DATA archives are extracted). This problem is not specific to this module.
    ; 2) Unable to run PSN games with the emulator stored on a network drive.
    ; 
    ; 
    ; 
    ; Coming Soon:
    ; 1) Allow PSN games to run from the installed path.
    ;----------------------------------------------------------------------------
    
    StartModule()
    BezelGUI()
    FadeInStart()
    
    primaryExe := new Emulator(emuPath . "\" . executable)
    primaryWindowClassName := "Qt5QWindowIcon"
    emuPrimaryWindow := new Window(new WindowTitle(,primaryWindowClassName, executable))
    
    ; 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.")
    
    textGameFolder := moduleIni.Read("Settings", "GamesDirectory","",,1)
    archivePPUFolder := moduleIni.Read("Settings", "PPUDirectory",".\cache",,1)
    archiveDATAFolder := moduleIni.Read("Settings", "DATADirectory",".\data",,1)
    archiveCACHESFolder := moduleIni.Read("Settings", "CACHESDirectory",".\data\caches",,1)
    archivePPU := moduleIni.Read("Settings", "ArchivePPU","false",,1)
    archiveDATA := moduleIni.Read("Settings", "ArchiveDATA","false",,1)
    archiveCACHES := moduleIni.Read("Settings", "ArchiveCACHES","false",,1)
    removePPU := moduleIni.Read("Settings", "RemovePPU","false",,1)
    removeDATA := moduleIni.Read("Settings", "RemoveDATA","false",,1)
    removeCACHES := moduleIni.Read("Settings", "RemoveCACHES","false",,1)
    
    ; Convert relative paths into full paths.
    textGameFolder := RelativeToFull(textGameFolder, romPath)
    archivePPUFolder := RelativeToFull(archivePPUFolder, romPath)
    archiveDATAFolder := RelativeToFull(archiveDATAFolder, romPath)
    archiveCACHESFolder := RelativeToFull(archiveCACHESFolder, romPath)
    
    BezelStart()
    
    hideEmuObj := Object(emuPrimaryWindow,1)
    HideAppStart(hideEmuObj,hideEmu)
    
    ; Set variables
    gameType := ""
    gameSerial := ""
    gameDirectoryJunction := "false"
    gamePPU := "false"
    gamePPUarchive := archivePPUFolder . "\" . romName . "_" . A_ComputerName . ".7z"
    gamePPUromPath := archivePPUFolder
    gamePPUromName := romName . "_" . A_ComputerName
    gamePPUromExtension := ".7z"
    gamePPUemuPath := emuPath . "\cache"
    gameDATA := "false"
    gameDATAarchive := archiveDATAFolder . "\" . romName . "_data.7z"
    gameDATAromPath := archiveDATAFolder
    gameDATAromName := romName . "_data"
    gameDATAromExtension := "7z"
    gameDATAemuPath := emuPath . "\dev_hdd0\game"
    gameCACHES := "false"
    gameCACHESarchive := archiveCACHESFolder . "\" . romName . "_hdd1.7z"
    gameCACHESromPath := archiveCACHESFolder
    gameCACHESromName := romName . "_hdd1"
    gameCACHESromExtension := "7z"
    gameCACHESemuPath := emuPath . "\dev_hdd1\caches"
    textRomFolder := ""
    
    If (romExtension = ".txt")
    {
      FileReadLine, textRomFolder, %romPath%\%romName%%romExtension%, 1
      If (textGameFolder = "")
      {
        If (textRomFolder = "")
        {
          gameSerial := romName
          If (Fileexist(romPath . "\" . romName . "\PS3_GAME\USRDIR\EBOOT.BIN"))
          {
            gameType := "disc"
            romPath := romPath . "\" . romName . "\PS3_GAME\USRDIR"
          }
          Else If (Fileexist(romPath . "\" . romName . "\USRDIR\EBOOT.BIN"))
          {
            gameType := "game"
            romPath := romPath . "\" . romName . "\USRDIR"
          }
          Else
          {
            ScriptError("Unable to find EBOOT.BIN within the folder: """ . romPath . "\" . romName . "\""")
          }
        }
        Else
        {
          gameSerial := textRomFolder
          If (Fileexist(romPath . "\" . textRomFolder . "\PS3_GAME\USRDIR\EBOOT.BIN"))
          {
            gameType := "disc"
            romPath := romPath . "\" . textRomFolder . "\PS3_GAME\USRDIR"
          }
          Else If (Fileexist(romPath . "\" . textRomFolder . "\USRDIR\EBOOT.BIN"))
          {
            gameType := "game"
            romPath := romPath . "\" . textRomFolder . "\USRDIR"
          }
          Else
          {
            ScriptError("Unable to find EBOOT.BIN within the folder: """ . romPath . "\" . textRomFolder . "\""")
          }
        }
      }
      Else
      {
        If (textRomFolder = "")
        {
          gameSerial := romName
          If (Fileexist(textGameFolder . "\" . romName . "\PS3_GAME\USRDIR\EBOOT.BIN"))
          {
            gameType := "disc"
            romPath := textGameFolder . "\" . romName . "\PS3_GAME\USRDIR"
          }
          Else If (Fileexist(textGameFolder . "\" . romName . "\USRDIR\EBOOT.BIN"))
          {
            gameType := "game"
            romPath := textGameFolder . "\" . romName . "\USRDIR"
          }
          Else
          {
            ScriptError("Unable to find EBOOT.BIN within the folder: """ . textGameFolder . "\" . romName . "\""")
          }
        }
        Else
        {
          gameSerial := textRomFolder
          If (Fileexist(textGameFolder . "\" . textRomFolder . "\PS3_GAME\USRDIR\EBOOT.BIN"))
          {
            gameType := "disc"
            romPath := textGameFolder . "\" . textRomFolder . "\PS3_GAME\USRDIR"
          }
          Else If (Fileexist(textGameFolder . "\" . textRomFolder . "\USRDIR\EBOOT.BIN"))
          {
            gameType := "game"
            romPath := textGameFolder . "\" . textRomFolder . "\USRDIR"
          }
          Else
          {
            ScriptError("Unable to find EBOOT.BIN within the folder: """ . textGameFolder . "\" . textRomFolder . "\""")
          }
        }
      }
    }
    Else If (romExtension = ".lnk" && Fileexist(romPath . "\" . romName . romExtension))
    {
      FileGetShortCut, %romPath%\%romName%%romExtension%, shortcutTarget
      StringReplace, romPath, shortcutTarget, \EBOOT.BIN
    }
    Else If (InStr(sevenZFormats, romExtension)) {
      gameSerial := RLObject.getZipRootFolder(romPath . "\" . romName . romExtension)
    }
    
    ; Store old values for later
    originalRomPath := romPath
    originalRomName := romName
    originalRomExtension := romExtension
    originalSevenZRomPath := sevenZRomPath
    originalGameName := gameInfo["Name"].Value
    
    ; Extract PPU files if they exist
    If (archivePPU = "true" && Fileexist(gamePPUarchive))
    {
      gameInfo["Name"].Value := "EXTRACTING COMPILED PPU FILES"
      romExPercentage := 0
      layer3Percentage := 0
      rootFolder := RLObject.getZipRootFolder(gamePPUarchive)
      romExSize := RLObject.getZipExtractedSize(gamePPUarchive)
      sevenZRomPath := gamePPUemuPath . "\" . rootFolder
      use7zAnimation := "true"
      Gdip_GraphicsClear(Fade_G5)
      Gosub, UpdateFadeFor7z
    ;  7z(gamePPUromPath, gamePPUromName, gamePPUromExtension, gamePPUemuPath)
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gamePPUarchive%" -aos -o"%gamePPUemuPath%", sevenZPID, Hide
      gamePPU := "true"
    }
    
    ; Extract Game Data files if they exist
    If (archiveDATA = "true" && Fileexist(gameDATAarchive))
    {
      gameInfo["Name"].Value := "EXTRACTING ADDITIONAL GAME DATA"
      romExPercentage := 0
      layer3Percentage := 0
      rootFolder := RLObject.getZipRootFolder(gameDATAarchive)
      romExSize := RLObject.getZipExtractedSize(gameDATAarchive)
      sevenZRomPath := gameDATAemuPath . "\" . rootFolder
      use7zAnimation := "true"
      Gdip_GraphicsClear(Fade_G5)
      Gosub, UpdateFadeFor7z
    ;  7z(gameDATAromPath, gameDATAromName, gameDATAromExtension, gameDATAemuPath)
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gameDATAarchive%" -aos -o"%gameDATAemuPath%", sevenZPID, Hide
      gameDATA := "true"
    }
    
    ; Extract Game Data files if they exist
    If (archiveCACHES = "true" && Fileexist(gameCACHESarchive))
    {
      gameInfo["Name"].Value := "EXTRACTING ADDITIONAL GAME CACHES"
      romExPercentage := 0
      layer3Percentage := 0
      rootFolder := RLObject.getZipRootFolder(gameCACHESarchive)
      romExSize := RLObject.getZipExtractedSize(gameCACHESarchive)
      sevenZRomPath := gameCACHESemuPath . "\" . rootFolder
      use7zAnimation := "true"
      Gdip_GraphicsClear(Fade_G5)
      Gosub, UpdateFadeFor7z
    ;  7z(gameCACHESromPath, gameCACHESromName, gameCACHESromExtension, gameCACHESemuPath)
      RunWait, %ComSpec% /c ""%sevenZPath%" x "%gameCACHESarchive%" -aos -o"%gameCACHESemuPath%", sevenZPID, Hide
      gameCACHES := "true"
    }
    
    If (gamePPU := "true" || gameDATA := "true" || gameCACHES := "true")
    {
      sevenZRomPath := originalSevenZRomPath
      gameInfo["Name"].Value := originalGameName
      Gdip_GraphicsClear(Fade_G5)
    }
    romPath := originalRomPath
    romName := originalRomName
    romExtension := originalRomExtension
    romExPercentage := 0
    layer3Percentage := 0
    romExSize := 1000000000
    use7zAnimation := "true"
    Gosub, UpdateFadeFor7z
    
    7z(romPath, romName, romExtension, sevenZExtractPath)
    
    IfInString, romPath, \USRDIR
    {
      FoundPos := InStr(romPath, "\USRDIR") + 6
      StringLeft, romPath, romPath, %FoundPos%
    }
    
    romFolder := romPath
    
    ; Find the game location and determine the type of game (disc or hdd)
    StringRight, stringTest, romFolder, 6
    If (stringTest = "USRDIR")
    {
      StringReplace, romFolder, romFolder, \USRDIR
      paramFile := romFolder . "\PARAM.SFO"
      FileRead, data, *c %paramFile%
      offset := StrLen(data)-24
      SetFormat, IntegerFast, hex
      offset += 0
      offset .= ""
      SetFormat, IntegerFast, d
      gameSerial := StrGet(&data + offset, "UTF-8")
      StringLeft, stringTest, gameSerial, 2
      If (stringTest = "NP")
      {
        gameType := "game"
      }
      Else
      {
        gameType := "disc"
      }
      
      ; Create the directory junction
      If (gameSerial != "" && gameType != "")
      {
        If (!Fileexist(emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial))
        {
          StringReplace, romFolder, romFolder, \PS3_GAME
          RunWait, %ComSpec% /c "mklink /J "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%romFolder%", , Hide
          RunWait, %ComSpec% /c "mklink /D "%emuPath%\dev_hdd0\%gameType%\%gameSerial%" "%romFolder%", , Hide
          gameDirectoryJunction := "true"
        }
      }
    }
    Else
    {
      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%
    
    ; Run the game
    If (gameType = "game")
    {
      primaryExe.Run(" """ . emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\USRDIR\EBOOT.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(romPath . "\PS3_GAME\USRDIR\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . romPath . "\PS3_GAME\USRDIR\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\EBOOT.BIN"))
    {
      primaryExe.Run(" """ . romPath . "\EBOOT.BIN""")
    }
    Else If (Fileexist(romPath . "\" . romName . ".BIN"))
    {
      primaryExe.Run(" """ . romPath . "\" . romName . ".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()
    
    ; Waiting up to 5 seconds to see if compiling window appears
    If (gameSerial != "" && gamePPU != "true")
    {
      Loop, 5
      {
        WinHide, Compiling
        WinWait, Compiling, , 1
        If (!ErrorLevel)
        {
          gameInfo["Name"].Value := "COMPILING PPU FILES"
          use7zAnimation := "true"
          Gdip_GraphicsClear(Fade_G5)
          Gosub, UpdateFadeFor7z
          WinHide, Compiling
          WinWaitClose, Compiling
          gameInfo["Name"].Value := originalGameName
          use7zAnimation := "true"
          Gdip_GraphicsClear(Fade_G5)
          Gosub, UpdateFadeFor7z
          Break
        }
      }
    }
    
    BezelDraw()
    HideAppEnd(hideEmuObj,hideEmu)
    FadeInExit()
    primaryExe.Process("WaitClose")
    
    ; Remove the PPU files if they were extracted or creates PPU archive file if needed
    If ((archivePPU = "true" || removePPU = "true") && gameSerial != "")
    {
      IfExist, %gamePPUemuPath%\%gameSerial%
      {
        If (archivePPU = "true")
        {
          IfNotExist, %gamePPUarchive%
          {
            FadeInStart()
            gameInfo["Name"].Value := "ARCHIVING COMPILED PPU FILES"
            romExPercentage := 0
            layer3Percentage := 0
            use7zAnimation := "true"
            Gdip_GraphicsClear(Fade_G5)
            Gosub, UpdateFadeFor7z
            RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUarchive%" "%gamePPUemuPath%\%gameSerial%", , Hide
            FadeInExit()
          }
          Else
          {
            MostRecentTime := 0
            Loop, %gamePPUemuPath%\%gameSerial%\*, 2
            {
              If (A_LoopFileTimeModified > MostRecentTime)
              {
                MostRecentTime := A_LoopFileTimeModified
              }
            }
            FileGetTime, gamePPUtime, %gamePPUarchive%, M
            If (MostRecentTime > gamePPUtime)
            {
              FadeInStart()
              gameInfo["Name"].Value := "ARCHIVING COMPILED PPU FILES"
              romExPercentage := 0
              layer3Percentage := 0
              use7zAnimation := "true"
              Gdip_GraphicsClear(Fade_G5)
              Gosub, UpdateFadeFor7z
              RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUarchive%" "%gamePPUemuPath%\%gameSerial%", , Hide
              FadeInExit()
            }
          }
        }
        If (removePPU = "true")
        {
          FileRemoveDir, %gamePPUemuPath%\%gameSerial%, 1
        }
      }
      Else
      {
        MostRecentTime := 0
        MostRecentFile := ""
        MostRecentName := ""
        Loop, %gamePPUemuPath%\*, 2
        {
          If (A_LoopFileTimeModified > MostRecentTime)
          {
            MostRecentTime := A_LoopFileTimeModified
            MostRecentFile := A_LoopFileLongPath
            MostRecentName := A_LoopFileName
          }
        }
        If (StrLen(MostRecentName) = 9)
        {
          If (archivePPU = "true")
          {
            IfNotExist, %gamePPUarchive%
            {
              FadeInStart()
              gameInfo["Name"].Value := "ARCHIVING COMPILED PPU FILES"
              romExPercentage := 0
              layer3Percentage := 0
              use7zAnimation := "true"
              Gdip_GraphicsClear(Fade_G5)
              Gosub, UpdateFadeFor7z
              RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUarchive%" "%MostRecentFile%", , Hide
              FadeInExit()
            }
            Else
            {
              MostRecentTime := 0
              Loop, %gamePPUemuPath%\%MostRecentName%\*, 2
              {
                If (A_LoopFileTimeModified > MostRecentTime)
                {
                  MostRecentTime := A_LoopFileTimeModified
                }
              }
              FileGetTime, gamePPUtime, %gamePPUarchive%, M
              If (MostRecentTime > gamePPUtime)
              {
                FadeInStart()
                gameInfo["Name"].Value := "ARCHIVING COMPILED PPU FILES"
                romExPercentage := 0
                layer3Percentage := 0
                use7zAnimation := "true"
                Gdip_GraphicsClear(Fade_G5)
                Gosub, UpdateFadeFor7z
                RunWait, %ComSpec% /c ""%sevenZPath%" a "%gamePPUarchive%" "%MostRecentFile%", , Hide
                FadeInExit()
              }
            }
          }
          If (removePPU = "true")
          {
            FileRemoveDir, %MostRecentFile%, 1
          }
        }
      }
    }
    
    ; Remove the Game Data files if they were extracted or creates Game Data archive file if needed
    If ((archiveDATA = "true" || removeDATA = "true") && gameSerial != "" && gameType = "disc")
    {
      archiveFileArray := []
      archiveFileCount := 0
      Loop, %gameDATAemuPath%\*, 2
      {
        IfInString, A_LoopFileName, %gameSerial%
        {
          archiveFileCount := archiveFileCount + 1
          archiveFileArray[archiveFileCount] := A_LoopFileLongPath
        }
      }
      MostRecentTime := 0
      MostRecentFile := ""
      MostRecentName := ""
      Loop, %gameDATAemuPath%\*, 2
      {
        If (A_LoopFileTimeModified > MostRecentTime)
        {
          MostRecentTime := A_LoopFileTimeModified
          MostRecentFile := A_LoopFileLongPath
          MostRecentName := A_LoopFileName
        }
      }
      fileOne := MostRecentFile . "\ICON0.PNG"
      fileTwo := emuPath . "\dev_hdd0\" . gameType . "\" . gameSerial . "\PS3_GAME\ICON0.PNG"
      FileGetSize, dataSizeOne, %fileOne%
      FileGetSize, dataSizeTwo, %fileTwo%
      FileGetVersion, dataVersionOne, %fileOne%
      FileGetVersion, dataVersionTwo, %fileTwo%
      StringLeft, testRecentFour, MostRecentName, 4
      StringLeft, testSerialFour, gameSerial, 4
      If (dataSizeOne = dataSizeTwo && dataVersionOne = dataVersionTwo && MostRecentName != ".locks" && MostRecentName != "TEST12345" && testRecentFour = testSerialFour)
      {
        If !HasVal(archiveFileArray, MostRecentFile)
        {
          archiveFileCount := archiveFileCount + 1
          archiveFileArray[archiveFileCount] := MostRecentFile
        }
      }
      If (archiveFileCount > 0)
      {
        archiveFileString := ""
        Loop % archiveFileCount
        {
          If (archiveFileString != "")
          {
            archiveFileString := archiveFileString . " "
          }
          archiveFileString := archiveFileString . """" . archiveFileArray[A_Index] . """"
        }
        If (archiveDATA = "true")
        {
          IfNotExist, %gameDATAarchive%
          {
            FadeInStart()
            gameInfo["Name"].Value := "ARCHIVING ADDITIONAL GAME DATA"
            romExPercentage := 0
            layer3Percentage := 0
            use7zAnimation := "true"
            Gdip_GraphicsClear(Fade_G5)
            Gosub, UpdateFadeFor7z
            RunWait, %ComSpec% /c ""%sevenZPath%" a -mx=0 "%gameDATAarchive%" %archiveFileString%, , Hide
            FadeInExit()
          }
          Else
          {
            Loop % archiveFileCount
            {
              archiveElement := archiveFileArray[A_Index]
              MostRecentTime := 0
              Loop, %archiveElement%\*, 2
              {
                If (A_LoopFileTimeModified > MostRecentTime)
                {
                  MostRecentTime := A_LoopFileTimeModified
                }
              }
              FileGetTime, gameDATAtime, %gameDATAarchive%, M
              FileGetTime, gameDATAarchiveTime, %archiveElement%, M
              If (MostRecentTime > gameDATAtime || gameDATAarchiveTime > gameDATAtime)
              {
                FadeInStart()
                gameInfo["Name"].Value := "ARCHIVING ADDITIONAL GAME DATA"
                romExPercentage := 0
                layer3Percentage := 0
                use7zAnimation := "true"
                Gdip_GraphicsClear(Fade_G5)
                Gosub, UpdateFadeFor7z
                RunWait, %ComSpec% /c ""%sevenZPath%" a -mx=0 "%gameDATAarchive%" %archiveFileString%, , Hide
                FadeInExit()
                Break
              }
            }
          }
        }
        If (removeDATA = "true")
        {
          Loop % archiveFileCount
          {
            archiveElement := archiveFileArray[A_Index]
            FileRemoveDir, %archiveElement%, 1
          }
        }
      }
    }
    
    ; Remove the Game Caches if they were extracted or creates Game Caches archive file if needed
    If ((archiveCACHES = "true" || removeCACHES = "true") && gameSerial != "")
    {
      archiveFileArray := []
      archiveFileCount := 0
      Loop, %gameCACHESemuPath%\*, 2
      {
        IfInString, A_LoopFileName, %gameSerial%
        {
          archiveFileCount := archiveFileCount + 1
          archiveFileArray[archiveFileCount] := A_LoopFileLongPath
        }
      }
      MostRecentTime := 0
      MostRecentFile := ""
      MostRecentName := ""
      Loop, %gameCACHESemuPath%\*, 2
      {
        If (A_LoopFileTimeModified > MostRecentTime)
        {
          MostRecentTime := A_LoopFileTimeModified
          MostRecentFile := A_LoopFileLongPath
          MostRecentName := A_LoopFileName
        }
      }
      StringLeft, testRecentFour, MostRecentName, 4
      StringLeft, testSerialFour, gameSerial, 4
      If (MostRecentName != ".locks" && MostRecentName != "TEST12345" && testRecentFour = testSerialFour)
      {
        If !HasVal(archiveFileArray, MostRecentFile)
        {
          archiveFileCount := archiveFileCount + 1
          archiveFileArray[archiveFileCount] := MostRecentFile
        }
      }
      If (archiveFileCount > 0)
      {
        archiveFileString := ""
        Loop % archiveFileCount
        {
          If (archiveFileString != "")
          {
            archiveFileString := archiveFileString . " "
          }
          archiveFileString := archiveFileString . """" . archiveFileArray[A_Index] . """"
        }
        If (archiveCACHES = "true")
        {
          IfNotExist, %gameCACHESarchive%
          {
            FadeInStart()
            gameInfo["Name"].Value := "ARCHIVING ADDITIONAL GAME CACHES"
            romExPercentage := 0
            layer3Percentage := 0
            use7zAnimation := "true"
            Gdip_GraphicsClear(Fade_G5)
            Gosub, UpdateFadeFor7z
            RunWait, %ComSpec% /c ""%sevenZPath%" a -mx=0 "%gameCACHESarchive%" %archiveFileString%, , Hide
            FadeInExit()
          }
          Else
          {
            Loop % archiveFileCount
            {
              archiveElement := archiveFileArray[A_Index]
              MostRecentTime := 0
              Loop, %archiveElement%\*, 2
              {
                If (A_LoopFileTimeModified > MostRecentTime)
                {
                  MostRecentTime := A_LoopFileTimeModified
                }
              }
              FileGetTime, gameCACHEStime, %gameCACHESarchive%, M
              FileGetTime, gameCACHESarchiveTime, %archiveElement%, M
              If (MostRecentTime > gameCACHEStime || gameCACHESarchiveTime > gameCACHEStime)
              {
                FadeInStart()
                gameInfo["Name"].Value := "ARCHIVING ADDITIONAL GAME CACHES"
                romExPercentage := 0
                layer3Percentage := 0
                use7zAnimation := "true"
                Gdip_GraphicsClear(Fade_G5)
                Gosub, UpdateFadeFor7z
                RunWait, %ComSpec% /c ""%sevenZPath%" a -mx=0 "%gameCACHESarchive%" %archiveFileString%, , Hide
                FadeInExit()
                Break
              }
            }
          }
        }
        If (removeCACHES = "true")
        {
          Loop % archiveFileCount
          {
            archiveElement := archiveFileArray[A_Index]
            FileRemoveDir, %archiveElement%, 1
          }
        }
      }
    }
    
    ; Remove the directory junction
    If (gameDirectoryJunction = "true")
    {
      RunWait, %ComSpec% /c "rmdir "%emuPath%\dev_hdd0\%gameType%\%gameSerial%", , Hide
    }
    
    7zCleanUp()
    BezelExit()
    FadeOutExit()
    ExitModule()
    
    CloseProcess:
      FadeOutStart()
      emuPrimaryWindow.Close()
      Process, Close, %executable%
    Return
    
    BezelLabel:
      disableHideBorder := "true"
      disableHideTitleBar := "true"
      disableHideToggleMenu := "true"
    Return
    
    HasVal(haystack, needle) {
      for index, value in haystack
        if (value = needle)
          return index
      if !(IsObject(haystack))
        throw Exception("Bad haystack!", -1, haystack)
      return 0
    }
    
    RelativeToFull(relativePath, relativeOf) {
      StringLeft, stringTest, relativePath, 2
      If (stringTest = ".\")
      {
        StringTrimLeft, relativePath, relativePath, 1
        relativePath := relativeOf . relativePath
      }
      Else If (stringTest = "..")
      {
        StringSplit, relativePaths, relativePath, "\"
        relativePathsCount := 0
        tempPath := ""
        Loop, %relativePaths0%
        {
          element := relativePaths%A_Index%
          If (element = "..")
          {
            relativePathsCount := relativePathsCount + 1
          }
          Else
          {
            tempPath := tempPath . element
            If (A_Index != relativePaths0)
            {
              tempPath := tempPath . "\"
            }
          }
        }
        relativePath := tempPath
        StringSplit, relativeOfFolders, relativeOf, "\"
        romGameFoldersCount := relativeOfFolders0 - relativePathsCount
        If (romGameFoldersCount > 0)
        {
          tempPath := ""
          Loop, %romGameFoldersCount%
          {
            element := relativeOfFolders%A_Index%
            tempPath := tempPath . element . "\"
          }
          relativePath := tempPath . relativePath
        }
      }
      return relativePath
    }
    Thanks for this module, it works perfectly ! However, the game folder is not deleted in the "dev_hdd0\game\" folder. Thank you in advance.
     

Posting Permissions

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