diff --git a/Files/Games/A Link to the Past/Downgrade/vc_to_rev0.bps b/Files/Games/A Link to the Past/Downgrade/vc_to_rev0.bps new file mode 100644 index 00000000..68a2b6f6 Binary files /dev/null and b/Files/Games/A Link to the Past/Downgrade/vc_to_rev0.bps differ diff --git a/Files/Games/Games.json b/Files/Games/Games.json index 13eed514..15de9729 100644 --- a/Files/Games/Games.json +++ b/Files/Games/Games.json @@ -298,9 +298,14 @@ "support_vc" : 1, "console" : "SNES", "version" : [ { - "hash" : "3F4D2B3C92B6308BEB1AF2CE15C29DEB", + "hash" : "608C22B8FF930C62DC2DE54BCD6EBA72", "rev" : "Revision 0", "region" : "North America / NTSC-U" + }, { + "file" : "vc_to_rev0.bps", + "hash" : "3F4D2B3C92B6308BEB1AF2CE15C29DEB", + "rev" : "Virtual Console", + "region" : "North America / NTSC-U" } ], "patches" : 1, "rom_title" : "THE LEGEND OF ZELDA", diff --git a/Files/Scripts/Main.psm1 b/Files/Scripts/Main.psm1 index d399442b..843cddf9 100644 --- a/Files/Scripts/Main.psm1 +++ b/Files/Scripts/Main.psm1 @@ -178,7 +178,7 @@ function CreateMainDialog() { # Custom VC Title $CustomHeader.VCTitleLabel = CreateLabel -X ($CustomHeader.EnableHeader.Right) -Y (DPISize 22) -Width (DPISize 75) -Height (DPISize 15) -Text "Channel Title:" - $CustomHeader.VCTitle = CreateTextBox -X ($CustomHeader.VCTitleLabel.Right) -Y (DPISize 20) -Width (DPISize 250) -Height (DPISize 22) -Length 40 + $CustomHeader.VCTitle = CreateTextBox -X ($CustomHeader.VCTitleLabel.Right) -Y (DPISize 20) -Width (DPISize 250) -Height (DPISize 22) -Length $VCTitleLength # Custom VC GameID (N64 only) $CustomHeader.VCGameIDLabel = CreateLabel -X ($CustomHeader.VCTitle.Right + (DPISize 10)) -Y (DPISize 22) -Width (DPISize 50) -Height (DPISize 15) -Text "GameID:" -Info "--- WARNING ---`nRequires four characters for acceptance`nChanging the GameID causes Dolphin to recognize the VC title as a separate save file`n`n--- REGION CODES ---`nE = USA`nJ = Japan`nP = PAL`nK = Korea" diff --git a/Files/Scripts/Patch.psm1 b/Files/Scripts/Patch.psm1 index 45ee2f5d..3d99e79c 100644 --- a/Files/Scripts/Patch.psm1 +++ b/Files/Scripts/Patch.psm1 @@ -104,7 +104,7 @@ function MainFunction([string]$Command, [string]$PatchedFileName) { } # Check if ROM is getting patched - if ( (IsChecked $Patches.Options) -or (IsChecked $Patches.Redux) -or (IsChecked $Patches.Downgrade) -or (IsSet $GamePatch.file) ) { $PatchROM = $True } else { $PatchROM = $False } + if ( (IsChecked $Patches.Options) -or (IsChecked $Patches.Redux) -or (IsChecked $Patches.Downgrade) -or (IsSet $GamePatch.patch) ) { $PatchROM = $True } else { $PatchROM = $False } # GO! if ($Settings.NoCleanup.Checked -ne $True -and $IsWiiVC) { RemovePath $Paths.Temp } # Remove the temp folder first to avoid issues @@ -281,12 +281,12 @@ function WriteDebug([string]$Command, [String[]]$Header, [string]$PatchedFileNam WriteToConsole WriteToConsole WriteToConsole "--- Start Misc Settings Info ---" - WriteToConsole ("Ignore Input Checksum: " + $GeneralSettings.IgnoreChecksum) - WriteToConsole ("Lite Options GUI: " + $GeneralSettings.LiteGUI) - WriteToConsole ("Force Show Options: " + $GeneralSettings.ForceOptions) - WriteToConsole ("Use Local Temp Folder: " + $GeneralSettings.LocalTempFolder) - WriteToConsole ("Change Widescreen: " + $GeneralSettings.ChangeWidescreen) - WriteToConsole ("Switch Decompressor: " + $GeneralSettings.AltDecompress) + WriteToConsole ("Ignore Input Checksum: " + $GeneralSettings.IgnoreChecksum.Checked) + WriteToConsole ("Lite Options GUI: " + $GeneralSettings.LiteGUI.Checked) + WriteToConsole ("Force Show Options: " + $GeneralSettings.ForceOptions.Checked) + WriteToConsole ("Use Local Temp Folder: " + $GeneralSettings.LocalTempFolder.Checked) + WriteToConsole ("Change Widescreen: " + $GeneralSettings.ChangeWidescreen.Checked) + WriteToConsole ("Switch Decompressor: " + $GeneralSettings.AltDecompress.Checked) WriteToConsole "--- End Misc Settings Info ---" WriteToConsole WriteToConsole @@ -553,7 +553,7 @@ function ConvertROM([string]$Command) { # Convert ROM if needed if ($GameConsole.mode -eq "SNES") { - if ((Get-Item -LiteralPath $GamePath).length/1KB % 2 -ne 0) { + if ((Get-Item -LiteralPath $GetROM.run).length/1KB % 2 -ne 0) { UpdateStatusLabel "Removing header from ROM..." $array = $array[512..$array.length] } diff --git a/Files/Scripts/VC.psm1 b/Files/Scripts/VC.psm1 index 5579f4d4..28c478f9 100644 --- a/Files/Scripts/VC.psm1 +++ b/Files/Scripts/VC.psm1 @@ -397,10 +397,10 @@ function ExtractWADFile([string]$PatchedFileName) { Push-Location $Paths.Temp # Run the program to extract the wad file - $ErrorActionPreference = 'SilentlyContinue' + $ErrorActionPreference = $WarningPreference = 'SilentlyContinue' try { (& $Files.tool.wadunpacker $GamePath) | Out-Null } catch { } - $ErrorActionPreference = 'Continue' + $ErrorActionPreference = $WarningPreference = 'Continue' # Doesn't matter, but return to where we were Pop-Location diff --git a/Info/Changelog.txt b/Info/Changelog.txt index cd67f84c..75afd0bc 100644 --- a/Info/Changelog.txt +++ b/Info/Changelog.txt @@ -1,3 +1,9 @@ +v14.1.1 +- Fixed issue with "A Link to the Past" hashsums +- Fixed issue with VC SNES titles removing the header when they shouldn't +- Fixed issue with custom titles for Wii VC mode +- Fixed issue with patches not applying + v14.1.0 - Added new "Hylian Shield" alternative for OoT - Added new "Master Sword (Beta)" option for OoT diff --git a/Patcher64+ Tool.ps1 b/Patcher64+ Tool.ps1 index 65dbd70d..67bebea0 100644 --- a/Patcher64+ Tool.ps1 +++ b/Patcher64+ Tool.ps1 @@ -24,13 +24,14 @@ Add-Type -AssemblyName 'System.Drawing' # Setup global variables $global:ScriptName = "Patcher64+ Tool" -$global:VersionDate = "2021-06-05" +$global:VersionDate = "2021-06-06" $global:Version = "v14.1.0" $global:SystemDate = Get-Date -Format yyyy-MM-dd-HH-mm-ss $global:CommandType = $MyInvocation.MyCommand.CommandType.ToString() $global:Definition = $MyInvocation.MyCommand.Definition.ToString() +$global:VCTitleLength = 40 $global:GameConsole = $global:GameType = $global:GamePatch = $global:CheckHashSum = $null $global:GameFiles = $global:Settings = @{} $global:IsWiiVC = $global:MissingFiles = $False