Skip to content

Commit 34116d6

Browse files
authored
Merge pull request #550 from 4sval/on-hold
On hold
2 parents 75e4028 + 4c790af commit 34116d6

File tree

13 files changed

+96
-106
lines changed

13 files changed

+96
-106
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
using RestSharp;
2+
using RestSharp.Interceptors;
23

34
namespace FModel.ViewModels.ApiEndpoints;
45

56
public abstract class AbstractApiProvider
67
{
78
protected readonly RestClient _client;
9+
protected readonly Interceptor _interceptor;
810

911
protected AbstractApiProvider(RestClient client)
1012
{
1113
_client = client;
14+
_interceptor = new CompatibilityInterceptor
15+
{
16+
OnBeforeDeserialization = resp => { resp.ContentType = "application/json; charset=utf-8"; }
17+
};
1218
}
1319
}

FModel/ViewModels/ApiEndpoints/DynamicApiEndpoint.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public async Task<JToken> GetRequestBody(CancellationToken token, string url)
6666
{
6767
var request = new FRestRequest(url)
6868
{
69-
OnBeforeDeserialization = resp => { resp.ContentType = "application/json; charset=utf-8"; }
69+
Interceptors = [_interceptor]
7070
};
7171
var response = await _client.ExecuteAsync(request, token).ConfigureAwait(false);
7272
Log.Information("[{Method}] [{Status}({StatusCode})] '{Resource}'", request.Method, response.StatusDescription, (int) response.StatusCode, response.ResponseUri?.OriginalString);

FModel/ViewModels/ApiEndpoints/FortniteCentralApiEndpoint.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public async Task<Dictionary<string, Dictionary<string, string>>> GetHotfixesAsy
1515
{
1616
var request = new FRestRequest("https://fortnitecentral.genxgames.gg/api/v1/hotfixes")
1717
{
18-
OnBeforeDeserialization = resp => { resp.ContentType = "application/json; charset=utf-8"; }
18+
Interceptors = [_interceptor]
1919
};
2020
request.AddParameter("lang", language);
2121
var response = await _client.ExecuteAsync<Dictionary<string, Dictionary<string, string>>>(request, token).ConfigureAwait(false);

FModel/ViewModels/BackupManagerViewModel.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ await _threadWorkerView.Begin(_ =>
6666
var backupFolder = Path.Combine(UserSettings.Default.OutputDirectory, "Backups");
6767
var fileName = $"{_gameName}_{DateTime.Now:MM'_'dd'_'yyyy}.fbkp";
6868
var fullPath = Path.Combine(backupFolder, fileName);
69-
var func = new Func<GameFile, bool>(x => !x.Path.EndsWith(".uexp") && !x.Path.EndsWith(".ubulk") && !x.Path.EndsWith(".uptnl"));
69+
var func = new Func<GameFile, bool>(x => !x.IsUePackagePayload);
7070

7171
using var fileStream = new FileStream(fullPath, FileMode.Create);
7272
using var compressedStream = LZ4Stream.Encode(fileStream, LZ4Level.L00_FAST);
@@ -80,7 +80,7 @@ await _threadWorkerView.Begin(_ =>
8080
if (!func(asset)) continue;
8181
writer.Write(asset.Size);
8282
writer.Write(asset.IsEncrypted);
83-
writer.Write($"/{asset.Path.ToLower()}");
83+
writer.Write(asset.Path);
8484
}
8585

8686
SaveCheck(fullPath, fileName, "created", "create");
@@ -121,6 +121,7 @@ public enum EBackupVersion : byte
121121
{
122122
BeforeVersionWasAdded = 0,
123123
Initial,
124+
PerfectPath, // no more leading slash and ToLower
124125

125126
LatestPlusOne,
126127
Latest = LatestPlusOne - 1

FModel/ViewModels/Commands/LoadCommand.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
182182
{
183183
case ELoadingMode.AllButNew:
184184
{
185-
var paths = new HashSet<string>();
185+
var paths = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
186186
var magic = archive.Read<uint>();
187187
if (magic != BackupManagerViewModel.FBKP_MAGIC)
188188
{
@@ -192,7 +192,7 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
192192
cancellationToken.ThrowIfCancellationRequested();
193193

194194
archive.Position += 29;
195-
paths.Add(archive.ReadString().ToLower()[1..]);
195+
paths.Add(archive.ReadString()[1..]);
196196
archive.Position += 4;
197197
}
198198
}
@@ -205,7 +205,10 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
205205
cancellationToken.ThrowIfCancellationRequested();
206206

207207
archive.Position += sizeof(long) + sizeof(byte);
208-
paths.Add(archive.ReadString().ToLower()[1..]);
208+
var fullPath = archive.ReadString();
209+
if (version < EBackupVersion.PerfectPath) fullPath = fullPath[1..];
210+
211+
paths.Add(fullPath);
209212
}
210213
}
211214

@@ -233,7 +236,7 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
233236
var uncompressedSize = archive.Read<long>();
234237
var isEncrypted = archive.ReadFlag();
235238
archive.Position += 4;
236-
var fullPath = archive.ReadString().ToLower()[1..];
239+
var fullPath = archive.ReadString()[1..];
237240
archive.Position += 4;
238241

239242
AddEntry(fullPath, uncompressedSize, isEncrypted, entries);
@@ -249,7 +252,8 @@ private List<GameFile> ParseBackup(string path, ELoadingMode mode, CancellationT
249252

250253
var uncompressedSize = archive.Read<long>();
251254
var isEncrypted = archive.ReadFlag();
252-
var fullPath = archive.ReadString().ToLower()[1..];
255+
var fullPath = archive.ReadString();
256+
if (version < EBackupVersion.PerfectPath) fullPath = fullPath[1..];
253257

254258
AddEntry(fullPath, uncompressedSize, isEncrypted, entries);
255259
}

FModel/Views/Snooper/Animations/Animation.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ public Animation(UObject export)
3535
_export = export;
3636
Path = _export.GetPathName();
3737
Name = _export.Name;
38-
Sequences = Array.Empty<Sequence>();
38+
Sequences = [];
3939
Framing = new Dictionary<int, float>();
40-
AttachedModels = new List<FGuid>();
40+
AttachedModels = [];
4141
}
4242

4343
public Animation(UObject export, CAnimSet animSet) : this(export)

FModel/Views/Snooper/Animations/TimeTracker.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class TimeTracker : IDisposable
2020
public bool IsActive;
2121
public float ElapsedTime;
2222
public float MaxElapsedTime;
23-
public int TimeMultiplier;
23+
public float TimeMultiplier;
2424

2525
public TimeTracker()
2626
{
@@ -51,7 +51,7 @@ public void Reset(bool doMet = true)
5151
if (doMet)
5252
{
5353
MaxElapsedTime = 0.01f;
54-
TimeMultiplier = 1;
54+
TimeMultiplier = 1f;
5555
}
5656
}
5757

FModel/Views/Snooper/Models/SkeletalModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public override void RenderCollision(Shader shader)
153153

154154
GL.Disable(EnableCap.DepthTest);
155155
GL.Disable(EnableCap.CullFace);
156-
GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line);
156+
GL.PolygonMode(TriangleFace.FrontAndBack, PolygonMode.Line);
157157
foreach (var collision in Collisions)
158158
{
159159
var boneMatrix = Matrix4x4.Identity;
@@ -162,7 +162,7 @@ public override void RenderCollision(Shader shader)
162162

163163
collision.Render(shader, boneMatrix);
164164
}
165-
GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill);
165+
GL.PolygonMode(TriangleFace.FrontAndBack, PolygonMode.Fill);
166166
GL.Enable(EnableCap.CullFace);
167167
GL.Enable(EnableCap.DepthTest);
168168
}

FModel/Views/Snooper/Models/StaticModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,12 @@ public override void RenderCollision(Shader shader)
148148
base.RenderCollision(shader);
149149

150150
GL.Disable(EnableCap.CullFace);
151-
GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line);
151+
GL.PolygonMode(TriangleFace.FrontAndBack, PolygonMode.Line);
152152
foreach (var collision in Collisions)
153153
{
154154
collision.Render(shader, Matrix4x4.Identity);
155155
}
156-
GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Fill);
156+
GL.PolygonMode(TriangleFace.FrontAndBack, PolygonMode.Fill);
157157
GL.Enable(EnableCap.CullFace);
158158
}
159159
}

0 commit comments

Comments
 (0)