Skip to content

Commit f804fe0

Browse files
committed
WIP LBP RPCS3 patch
1 parent 923a335 commit f804fe0

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using Refresher.Core.Accessors;
2+
using Refresher.Core.Pipelines.Steps;
3+
4+
namespace Refresher.Core.Pipelines.Lbp;
5+
6+
public class LbpRPCS3PatchPipeline : Pipeline
7+
{
8+
public override string Id => "lbp-rpcs3-patch";
9+
public override string Name => "LBP RPCS3 Patch";
10+
11+
protected override Type SetupAccessorStepType => typeof(SetupEmulatorAccessorStep);
12+
public override bool ReplacesEboot => false;
13+
14+
public override string GuideLink => "https://docs.littlebigrefresh.com/rpcs3";
15+
16+
public override IEnumerable<string> GameNameFilters => ["littlebigplanet", "lbp"];
17+
18+
protected override List<Type> StepTypes =>
19+
[
20+
// Info gathering stage
21+
typeof(ValidateGameStep),
22+
typeof(DownloadParamSfoStep),
23+
typeof(DownloadGameEbootStep),
24+
typeof(ReadEbootContentIdStep),
25+
typeof(DownloadGameLicenseStep),
26+
27+
// Decryption and patch stage
28+
typeof(PrepareSceToolStep),
29+
typeof(DecryptGameEbootStep),
30+
typeof(ApplySprxPatchToEbootStep),
31+
32+
// Encryption and upload stage
33+
// FIXME: encrypting seems to break the elf in rpcs3?
34+
// typeof(EncryptGameEbootStep),
35+
// typeof(BackupGameEbootBeforeReplaceStep),
36+
typeof(UploadPatchworkSprxStep),
37+
typeof(UploadPatchworkConfigurationStep),
38+
typeof(UploadGameEbootElfStep), // upload EBOOT.elf for now
39+
];
40+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
using Refresher.Core.Pipelines.Steps;
2+
3+
namespace Refresher.Core.Pipelines.Lbp;
4+
5+
public class PatchworkRPCS3ConfigPipeline : PatchworkConfigPipeline
6+
{
7+
protected override string ConsoleName => "RPCS3";
8+
protected override Type? SetupAccessorStepType => typeof(SetupEmulatorAccessorStep);
9+
}

Refresher/UI/MainForm.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ public class MainForm : RefresherForm
1919
new Label { Text = "Welcome to Refresher! Please pick a patching method to continue." },
2020
new Label { Text = "LittleBigPlanet:" },
2121
this.PipelineButton<LbpPS3PatchPipeline>("Patch LBP1/2/3 for PS3"),
22-
23-
this.PipelineButton<PatchworkPs3ConfigPipeline>("Reconfigure Patch for PS3"),
22+
this.PipelineButton<PatchworkPS3ConfigPipeline>("Reconfigure Patch for PS3"),
23+
this.PipelineButton<LbpRPCS3PatchPipeline>("Patch LBP1/2/3 for RPCS3"),
24+
this.PipelineButton<PatchworkRPCS3ConfigPipeline>("Reconfigure Patch for RPCS3"),
2425
new Label { Text = "General (for non-LBP games):" },
2526
new Button((_, _) => this.ShowChild<FilePatchForm>()) { Text = "File Patch (using a .ELF)" },
2627
this.PipelineButton<RPCS3PatchPipeline>("Patch any RPCS3 game"),

0 commit comments

Comments
 (0)