Files
2026-07-09 05:24:11 -04:00

106 lines
3.9 KiB
PowerShell

param(
[string]$OutDir,
[string]$ProjectDir
)
Write-Host "PS3 Postbuild script started. Output Directory: $OutDir, Project Directory: $ProjectDir"
$directories = @(
"PS3_GAME\USRDIR\music",
"PS3_GAME\USRDIR\DLC",
"PS3_GAME\USRDIR\Common\Media",
"PS3_GAME\USRDIR\Common\res",
"PS3_GAME\USRDIR\PS3\Tutorial",
"PS3_GAME\USRDIR\PS3\Sound"
)
foreach ($dir in $directories) {
New-Item -ItemType Directory -Path (Join-Path $OutDir $dir) -Force | Out-Null
}
$folderCopies = @(
@{ Source = "music"; Dest = "PS3_GAME\USRDIR\music" },
@{ Source = "Common\Media"; Dest = "PS3_GAME\USRDIR\Common\Media" },
@{ Source = "Common\res"; Dest = "PS3_GAME\USRDIR\Common\res" },
@{ Source = "PS3Media\DLC"; Dest = "PS3_GAME\USRDIR\DLC" },
@{ Source = "PS3\Sound"; Dest = "PS3_GAME\USRDIR\PS3\Sound" },
@{ Source = "PSVita\Tutorial"; Dest = "PS3_GAME\USRDIR\PS3\Tutorial" }
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\LICDIR"; Dest = "PS3_GAME\LICDIR" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\TROPDIR"; Dest = "PS3_GAME\TROPDIR" }
)
foreach ($copy in $folderCopies) {
$src = Join-Path $ProjectDir $copy.Source
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
}
}
$fileCopies = @(
@{ Source = "PS3\PS3ProductCodes.bin"; Dest = "PS3_GAME\USRDIR\PS3\PS3ProductCodes.bin" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_DISC.SFB"; Dest = "PS3_DISC.SFB" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\ICON0.PNG"; Dest = "PS3_GAME\ICON0.PNG" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\PARAM.SFO"; Dest = "PS3_GAME\PARAM.SFO" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\PIC1.PNG"; Dest = "PS3_GAME\PIC1.PNG" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\PS3GAME.BG0"; Dest = "PS3_GAME\PS3GAME.BG0" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\PS3GAME.BG1"; Dest = "PS3_GAME\PS3GAME.BG1" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\PS3GAME.VR0"; Dest = "PS3_GAME\PS3GAME.VR0" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\PS3LOGO.DAT"; Dest = "PS3_GAME\PS3GAME.DAT" },
@{ Source = "Common\Postbuilds\Contents\PS3\PS3_GAME\SND0.AT3"; Dest = "PS3_GAME\SND0.AT3" }
)
foreach ($copy in $fileCopies) {
$src = Join-Path $ProjectDir $copy.Source
$dst = Join-Path $OutDir $copy.Dest
if (Test-Path $src) {
Copy-Item -Path $src -Destination $dst -Force
}
}
$builtFile = Join-Path $OutDir "Minecraft.Client.self"
$newName = "EBOOT.BIN"
$destDir = Join-Path $OutDir "PS3_GAME\USRDIR"
$destPath = Join-Path $destDir $newName
if (Test-Path $builtFile) {
New-Item -ItemType Directory -Path $destDir -Force | Out-Null
Move-Item -Path $builtFile -Destination $destPath -Force
}
$deleteDirs = @(
"PS3_GAME\USRDIR\Common\Media\Sound",
"PS3_GAME\USRDIR\Common\Media\Graphics",
"PS3_GAME\USRDIR\Common\Media\de-DE",
"PS3_GAME\USRDIR\Common\Media\es-ES",
"PS3_GAME\USRDIR\Common\Media\fr-FR",
"PS3_GAME\USRDIR\Common\Media\it-IT",
"PS3_GAME\USRDIR\Common\Media\ja-JP",
"PS3_GAME\USRDIR\Common\Media\ko-KR",
"PS3_GAME\USRDIR\Common\Media\pt-BR",
"PS3_GAME\USRDIR\Common\Media\pt-PT",
"PS3_GAME\USRDIR\Common\Media\zh-CHT"
)
foreach ($dir in $deleteDirs) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Remove-Item $path -Recurse -Force -ErrorAction SilentlyContinue
}
}
$delDirs = @(
"Common\Media",
"Common\Media\font"
)
foreach ($dir in $delDirs) {
if ($delDirs -contains $dir) {
$path = Join-Path $OutDir $dir
if (Test-Path $path) {
Get-ChildItem -Path $path -Recurse -Include *.swf, *.txt, *.resx, *.xml, *.loc, *.lang, *.col, *.h, *.xui, *.abc, "Mojang Font_7.ttf", "Mojang Font_11.ttf", MediaDurango.arc, MediaWindows64.arc, MediaOrbis.arc, MediaPSVita.arc -File |
Remove-Item -Force -ErrorAction SilentlyContinue
}
}
}