Skip to content
This repository was archived by the owner on Feb 21, 2025. It is now read-only.

Commit 32e8783

Browse files
committed
Update 0.9.6
1 parent f1f23c4 commit 32e8783

13 files changed

Lines changed: 127 additions & 52 deletions

File tree

ProSwapperNetCore.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<PropertyGroup>
1515
<OutputType>WinExe</OutputType>
1616
<TargetFramework>net5.0-windows</TargetFramework>
17-
<Version>0.0.9.5</Version>
17+
<Version>0.0.9.6</Version>
1818
<Company>Pro Swapper</Company>
1919
<Authors>Pro Swapper</Authors>
2020
<Product>Pro Swapper</Product>
@@ -25,7 +25,7 @@ https://proswapper.xyz</Description>
2525
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
2626
<PackageProjectUrl>https://proswapper.xyz</PackageProjectUrl>
2727
<NeutralLanguage>en</NeutralLanguage>
28-
<PackageLicenseExpression></PackageLicenseExpression>
28+
<PackageLicenseExpression>MIT License</PackageLicenseExpression>
2929
<PackageLicenseFile></PackageLicenseFile>
3030
</PropertyGroup>
3131

Properties/PublishProfiles/FolderProfile.pubxml.user

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
44
-->
55
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
66
<PropertyGroup>
7-
<History>True|2021-10-10T06:58:05.7451017Z;True|2021-10-10T17:56:17.8759729+11:00;True|2021-10-10T17:50:08.4323651+11:00;True|2021-09-23T12:09:29.6117163+10:00;True|2021-09-23T12:07:28.7086188+10:00;True|2021-09-23T11:24:43.3059181+10:00;True|2021-09-23T11:24:09.6924440+10:00;True|2021-09-23T11:23:18.5990470+10:00;True|2021-09-23T11:21:46.3683739+10:00;True|2021-09-23T11:21:22.6569365+10:00;False|2021-09-23T11:21:15.1477071+10:00;True|2021-09-23T11:20:56.6817090+10:00;True|2021-09-23T11:20:36.9947513+10:00;True|2021-09-23T11:19:58.3993126+10:00;True|2021-09-23T11:19:23.7110527+10:00;True|2021-09-23T11:19:02.4950688+10:00;True|2021-09-23T11:16:20.4936425+10:00;True|2021-09-23T11:10:19.1998482+10:00;True|2021-09-16T21:35:33.5993894+10:00;True|2021-09-16T21:34:53.9246237+10:00;True|2021-09-16T21:33:33.8188512+10:00;True|2021-09-16T21:31:38.1319241+10:00;True|2021-09-12T17:29:04.0050517+10:00;False|2021-09-12T17:27:39.5485891+10:00;True|2021-08-22T15:28:51.8956088+10:00;True|2021-08-22T15:28:35.4327033+10:00;True|2021-08-09T07:31:17.0313249+10:00;True|2021-08-09T07:30:33.4773731+10:00;True|2021-08-08T13:19:14.9318317+10:00;True|2021-08-07T09:47:42.2380479+10:00;True|2021-08-07T09:44:15.7556843+10:00;True|2021-08-07T09:43:24.8791601+10:00;True|2021-08-07T09:42:40.0153901+10:00;True|2021-08-07T08:37:52.6588995+10:00;True|2021-08-07T08:33:04.4418657+10:00;True|2021-08-07T07:21:32.4617544+10:00;True|2021-07-31T17:39:15.0131315+10:00;True|2021-07-31T17:38:01.2404138+10:00;True|2021-07-31T17:37:12.7546145+10:00;True|2021-07-31T17:30:14.3945147+10:00;True|2021-07-31T17:28:58.7763627+10:00;True|2021-07-31T17:28:43.3400502+10:00;True|2021-07-31T17:27:34.4886752+10:00;True|2021-06-10T21:09:38.6172669+10:00;True|2021-06-10T21:04:46.0146872+10:00;True|2021-06-05T15:01:43.2548593+10:00;True|2021-06-05T15:01:08.4990500+10:00;True|2021-06-05T12:20:39.8038624+10:00;True|2021-06-05T12:19:39.7875578+10:00;True|2021-06-05T12:18:35.0782623+10:00;True|2021-06-05T12:16:23.4178977+10:00;True|2021-06-03T20:44:36.3268966+10:00;False|2021-06-03T20:43:47.6172066+10:00;True|2021-06-03T20:31:57.2891741+10:00;True|2021-06-03T20:24:17.5271595+10:00;False|2021-06-03T20:23:32.1551067+10:00;True|2021-06-01T21:41:54.6469940+10:00;True|2021-06-01T21:41:32.8203704+10:00;True|2021-05-30T21:16:40.1619720+10:00;True|2021-05-30T21:16:18.7262187+10:00;True|2021-05-30T20:42:08.5125841+10:00;True|2021-05-30T17:35:42.1810331+10:00;True|2021-05-30T17:35:27.2108782+10:00;True|2021-05-30T17:33:28.8056733+10:00;False|2021-05-30T17:33:09.5307735+10:00;True|2021-05-30T17:31:04.4951019+10:00;True|2021-05-30T17:28:38.6215363+10:00;True|2021-05-28T17:50:27.1703401+10:00;True|2021-05-28T17:37:47.4101889+10:00;True|2021-05-28T17:28:05.6606064+10:00;True|2021-05-28T17:03:18.5821095+10:00;True|2021-05-28T17:01:27.3058220+10:00;True|2021-05-28T17:00:27.5529666+10:00;False|2021-05-28T17:00:08.2271926+10:00;True|2021-05-28T16:59:26.5886036+10:00;True|2021-05-28T16:58:25.4183696+10:00;True|2021-05-28T16:56:35.9734469+10:00;True|2021-05-28T16:54:07.1450090+10:00;True|2021-05-28T16:52:35.4711236+10:00;True|2021-05-28T16:49:11.5403560+10:00;True|2021-05-28T16:47:32.4477854+10:00;True|2021-05-28T16:46:56.7882804+10:00;True|2021-05-28T16:04:33.9049718+10:00;True|2021-05-28T16:02:08.1681666+10:00;True|2021-05-28T16:00:55.2009610+10:00;True|2021-05-28T16:00:16.9727002+10:00;True|2021-05-28T15:58:50.6379862+10:00;True|2021-05-28T15:58:21.6271707+10:00;True|2021-05-28T15:54:43.2793506+10:00;True|2021-05-28T15:51:01.3486874+10:00;True|2021-05-28T15:49:31.3383634+10:00;True|2021-05-28T15:44:46.4377814+10:00;True|2021-05-28T15:38:50.5161577+10:00;True|2021-05-28T15:35:49.3728609+10:00;False|2021-05-28T15:35:02.3338385+10:00;True|2021-05-28T15:32:40.4040946+10:00;True|2021-05-26T20:43:07.5378923+10:00;True|2021-05-26T20:42:21.0274720+10:00;True|2021-05-26T20:37:54.0221996+10:00;True|2021-05-26T20:16:46.9782325+10:00;</History>
7+
<History>True|2021-10-17T08:51:00.7007913Z;True|2021-10-10T17:58:05.7451017+11:00;True|2021-10-10T17:56:17.8759729+11:00;True|2021-10-10T17:50:08.4323651+11:00;True|2021-09-23T12:09:29.6117163+10:00;True|2021-09-23T12:07:28.7086188+10:00;True|2021-09-23T11:24:43.3059181+10:00;True|2021-09-23T11:24:09.6924440+10:00;True|2021-09-23T11:23:18.5990470+10:00;True|2021-09-23T11:21:46.3683739+10:00;True|2021-09-23T11:21:22.6569365+10:00;False|2021-09-23T11:21:15.1477071+10:00;True|2021-09-23T11:20:56.6817090+10:00;True|2021-09-23T11:20:36.9947513+10:00;True|2021-09-23T11:19:58.3993126+10:00;True|2021-09-23T11:19:23.7110527+10:00;True|2021-09-23T11:19:02.4950688+10:00;True|2021-09-23T11:16:20.4936425+10:00;True|2021-09-23T11:10:19.1998482+10:00;True|2021-09-16T21:35:33.5993894+10:00;True|2021-09-16T21:34:53.9246237+10:00;True|2021-09-16T21:33:33.8188512+10:00;True|2021-09-16T21:31:38.1319241+10:00;True|2021-09-12T17:29:04.0050517+10:00;False|2021-09-12T17:27:39.5485891+10:00;True|2021-08-22T15:28:51.8956088+10:00;True|2021-08-22T15:28:35.4327033+10:00;True|2021-08-09T07:31:17.0313249+10:00;True|2021-08-09T07:30:33.4773731+10:00;True|2021-08-08T13:19:14.9318317+10:00;True|2021-08-07T09:47:42.2380479+10:00;True|2021-08-07T09:44:15.7556843+10:00;True|2021-08-07T09:43:24.8791601+10:00;True|2021-08-07T09:42:40.0153901+10:00;True|2021-08-07T08:37:52.6588995+10:00;True|2021-08-07T08:33:04.4418657+10:00;True|2021-08-07T07:21:32.4617544+10:00;True|2021-07-31T17:39:15.0131315+10:00;True|2021-07-31T17:38:01.2404138+10:00;True|2021-07-31T17:37:12.7546145+10:00;True|2021-07-31T17:30:14.3945147+10:00;True|2021-07-31T17:28:58.7763627+10:00;True|2021-07-31T17:28:43.3400502+10:00;True|2021-07-31T17:27:34.4886752+10:00;True|2021-06-10T21:09:38.6172669+10:00;True|2021-06-10T21:04:46.0146872+10:00;True|2021-06-05T15:01:43.2548593+10:00;True|2021-06-05T15:01:08.4990500+10:00;True|2021-06-05T12:20:39.8038624+10:00;True|2021-06-05T12:19:39.7875578+10:00;True|2021-06-05T12:18:35.0782623+10:00;True|2021-06-05T12:16:23.4178977+10:00;True|2021-06-03T20:44:36.3268966+10:00;False|2021-06-03T20:43:47.6172066+10:00;True|2021-06-03T20:31:57.2891741+10:00;True|2021-06-03T20:24:17.5271595+10:00;False|2021-06-03T20:23:32.1551067+10:00;True|2021-06-01T21:41:54.6469940+10:00;True|2021-06-01T21:41:32.8203704+10:00;True|2021-05-30T21:16:40.1619720+10:00;True|2021-05-30T21:16:18.7262187+10:00;True|2021-05-30T20:42:08.5125841+10:00;True|2021-05-30T17:35:42.1810331+10:00;True|2021-05-30T17:35:27.2108782+10:00;True|2021-05-30T17:33:28.8056733+10:00;False|2021-05-30T17:33:09.5307735+10:00;True|2021-05-30T17:31:04.4951019+10:00;True|2021-05-30T17:28:38.6215363+10:00;True|2021-05-28T17:50:27.1703401+10:00;True|2021-05-28T17:37:47.4101889+10:00;True|2021-05-28T17:28:05.6606064+10:00;True|2021-05-28T17:03:18.5821095+10:00;True|2021-05-28T17:01:27.3058220+10:00;True|2021-05-28T17:00:27.5529666+10:00;False|2021-05-28T17:00:08.2271926+10:00;True|2021-05-28T16:59:26.5886036+10:00;True|2021-05-28T16:58:25.4183696+10:00;True|2021-05-28T16:56:35.9734469+10:00;True|2021-05-28T16:54:07.1450090+10:00;True|2021-05-28T16:52:35.4711236+10:00;True|2021-05-28T16:49:11.5403560+10:00;True|2021-05-28T16:47:32.4477854+10:00;True|2021-05-28T16:46:56.7882804+10:00;True|2021-05-28T16:04:33.9049718+10:00;True|2021-05-28T16:02:08.1681666+10:00;True|2021-05-28T16:00:55.2009610+10:00;True|2021-05-28T16:00:16.9727002+10:00;True|2021-05-28T15:58:50.6379862+10:00;True|2021-05-28T15:58:21.6271707+10:00;True|2021-05-28T15:54:43.2793506+10:00;True|2021-05-28T15:51:01.3486874+10:00;True|2021-05-28T15:49:31.3383634+10:00;True|2021-05-28T15:44:46.4377814+10:00;True|2021-05-28T15:38:50.5161577+10:00;True|2021-05-28T15:35:49.3728609+10:00;False|2021-05-28T15:35:02.3338385+10:00;True|2021-05-28T15:32:40.4040946+10:00;True|2021-05-26T20:43:07.5378923+10:00;True|2021-05-26T20:42:21.0274720+10:00;True|2021-05-26T20:37:54.0221996+10:00;True|2021-05-26T20:16:46.9782325+10:00;</History>
88
</PropertyGroup>
99
</Project>

src/Classes/EpicGamesLauncher.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,22 @@ public class Root
2424
{
2525
public List<InstallationList> InstallationList { get; set; }
2626
}
27-
public static void FindPakFiles()
27+
public static bool FindPakFiles()
2828
{
29-
if (File.Exists(LauncherJson))
29+
try
3030
{
31-
try
31+
if (File.Exists(LauncherJson))
3232
{
33+
3334
Root launcherdata = JsonConvert.DeserializeObject<Root>(File.ReadAllText(LauncherJson));
3435
string InstallLocation = launcherdata.InstallationList.First(x => x.AppName == "Fortnite").InstallLocation;
3536
global.CurrentConfig.Paks = InstallLocation + @"\FortniteGame\Content\Paks";
3637
global.SaveConfig();
37-
}
38-
catch
39-
{
40-
MessageBox.Show("Could not find your pak files! Please select them manually!", "Pro Swapper", MessageBoxButtons.OK, MessageBoxIcon.Error);
38+
return true;
4139
}
4240
}
41+
catch { }
42+
return false;
4343
}
4444

4545

src/Classes/RPC.cs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,20 @@
22
using DiscordRPC;
33
namespace Pro_Swapper
44
{
5-
public class RPC
5+
public static class RPC
66
{
77
public static DiscordRpcClient client;
8-
public static Timestamps rpctimestamp { get; set; }
9-
private static RichPresence presence;
108
public static void InitializeRPC()
119
{
1210
client = new DiscordRpcClient("697579712653819985");
1311
client.Initialize();
1412
Button[] buttons = { new Button() { Label = "Discord", Url = API.api.apidata.discordurl }, new Button() { Label = "YouTube", Url = "https://youtube.com/proswapperofficial"} };
1513

16-
presence = new RichPresence()
14+
client.SetPresence(new RichPresence()
1715
{
1816
Details = "Pro Swapper | " + global.version,
1917
State = "Idle",
20-
Timestamps = rpctimestamp,
18+
Timestamps = Timestamps.Now,
2119
Buttons = buttons,
2220

2321
Assets = new Assets()
@@ -27,7 +25,7 @@ public static void InitializeRPC()
2725
SmallImageKey = "proswapperman",
2826
SmallImageText = "Made by Kye#5000"
2927
}
30-
};
28+
});
3129
SetState("Idle");
3230
}
3331
public static void SetState(string state, bool watching = false)
@@ -36,8 +34,7 @@ public static void SetState(string state, bool watching = false)
3634
if (watching)
3735
state = "Watching " + state;
3836

39-
presence.State = state;
40-
client.SetPresence(presence);
37+
client.UpdateState(state);
4138
}
4239
}
4340
}

src/Classes/Swap.cs

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,13 @@ namespace Pro_Swapper
1212
public static class Swap
1313
{
1414
private static string PaksLocation = global.CurrentConfig.Paks;
15-
public static async Task SwapItem(api.Item item, bool Converting)
15+
public static bool SwapItem(api.Item item, bool Converting)
1616
{
1717
const string ProSwapperPakFolder = ".ProSwapper";
18-
Directory.CreateDirectory(PaksLocation + $"\\{ProSwapperPakFolder}");
1918
List<string> UsingFiles = new List<string>();
2019
UsingFiles.AddRange(item.Asset.Select(x => Path.GetFileNameWithoutExtension(x.UcasFile)).Distinct());
21-
if (UsingFiles.Count > 2)
22-
{
23-
DialogResult result = MessageBox.Show("This swap modifies more than 2 files which can lead to kicking, continue?", "Continue the Swap?", MessageBoxButtons.YesNo);
24-
if (result == DialogResult.No)
25-
return;
26-
}
20+
if (!global.CanSwap(UsingFiles))
21+
return false;
2722

2823
foreach (string file in UsingFiles)
2924
{
@@ -66,10 +61,14 @@ public static async Task SwapItem(api.Item item, bool Converting)
6661
// Directory.CreateDirectory("Exports");
6762

6863
string smallname = Path.GetFileName(asset.AssetPath);
69-
// File.WriteAllBytes($"Exports\\Exported_{smallname}.pak", exportasset);//Just simple export
64+
#if DEBUG
65+
File.WriteAllBytes($"Exports\\Exported_{smallname}.pak", exportasset);//Just simple export
66+
#endif
7067
if (EditAsset(ref exportasset, asset, Converting))
7168
{
72-
//File.WriteAllBytes($"Exports\\Edited_{smallname}.pak", exportasset);//Edited export
69+
#if DEBUG
70+
File.WriteAllBytes($"Exports\\Edited_{smallname}.pak", exportasset);//Edited export
71+
#endif
7372
exportasset = Oodle.OodleClass.Compress(exportasset);
7473
//Logging stuff for devs hehe
7574
// File.WriteAllBytes($"Exports\\Compressed{smallname}.pak", exportasset);//Compressed edited export
@@ -79,6 +78,8 @@ public static async Task SwapItem(api.Item item, bool Converting)
7978
Provider.Dispose();
8079
foreach (FinalPastes pastes in finalPastes)
8180
PasteInLocationBytes(pastes);
81+
82+
return true;
8283
}
8384

8485

@@ -177,6 +178,7 @@ public static bool EditAsset(ref byte[] file, api.Asset Asset, bool Converting)
177178
{
178179
if (Converting)
179180
{
181+
180182
stream.Position = SearchOffset;
181183
byte[] ConvertCheck = stream.ToArray();
182184
if (ConvertCheck[SearchOffset + 2] == Convert.ToByte(0))
@@ -219,13 +221,16 @@ public static bool EditAsset(ref byte[] file, api.Asset Asset, bool Converting)
219221
}
220222

221223

222-
224+
223225
}
224226
else
225227
{
226228
//Just paste in the replace
227-
stream.Position = ReplaceOffset;
228-
stream.Write(FillEnd(searchB, replaceB.Length), 0, replaceB.Length);
229+
if (ReplaceOffset != -1)
230+
{
231+
stream.Position = ReplaceOffset;
232+
stream.Write(FillEnd(searchB, replaceB.Length), 0, replaceB.Length);
233+
}
229234
continue;
230235
}
231236
}

src/Classes/global.cs

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,38 @@ public static void DeleteFile(string filepath)
6565
}
6666
}
6767

68+
public static bool CanSwap(List<string> UsingFiles)
69+
{
70+
Directory.CreateDirectory(CurrentConfig.Paks + $"\\Pro Swapper Lobby");
71+
Directory.CreateDirectory(CurrentConfig.Paks + $"\\.ProSwapper");
72+
if (CurrentConfig.AntiKick)
73+
{
74+
List<string> files = Directory.GetFiles($"{CurrentConfig.Paks}\\.ProSwapper", "*.pak").ToList();
75+
List<string> filesLobby = Directory.GetFiles($"{CurrentConfig.Paks}\\Pro Swapper Lobby", "*.pak").ToList();
76+
files = files.Select(x => Path.GetFileNameWithoutExtension(x)).ToList();
77+
filesLobby = filesLobby.Select(x => Path.GetFileNameWithoutExtension(x)).ToList();
78+
files.AddRange(filesLobby);
79+
files.AddRange(UsingFiles);
80+
81+
if (files.Distinct().Count() > 2)
82+
{
83+
DialogResult result = MessageBox.Show("Converting this next swap will kick you out of Fortnite. Would you like to revert your previous swap(s) and convert this swap?", "Revert All and Continue Swap?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
84+
if (result == DialogResult.Yes)
85+
{
86+
Lobby.RevertAllLobbySwaps(true);
87+
Settings.RevertAllSwaps();
88+
CurrentConfig.swaplogs = "";
89+
SaveConfig();
90+
return true;
91+
}
92+
else
93+
return false;
94+
}
95+
return true;
96+
}
97+
else
98+
return true;
99+
}
68100

69101
public static string GetPaksList
70102
{
@@ -166,6 +198,7 @@ public class ConfigObj
166198
public double LobbyLastOpened { get; set; }
167199
public string swaplogs { get; set; } = "";
168200
public string ManualAESKey { get; set; } = "";
201+
public bool AntiKick { get; set; } = true;
169202
public API.api.AESSource AESSource { get; set; } = API.api.AESSource.FortniteAPIV1;
170203
}
171204
#endregion

src/Program.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,18 @@ private static void Main()
4040
if (!File.Exists(global.CurrentConfig.Paks + @"\pakchunk0-WindowsClient.sig"))
4141
{
4242
logger.Log("Fortnite paks have not been found! Searching for paks now");
43-
EpicGamesLauncher.FindPakFiles();
44-
if (global.CurrentConfig.Paks.Contains("Paks"))
43+
if (EpicGamesLauncher.FindPakFiles() && global.CurrentConfig.Paks.Contains("Paks"))
4544
{
4645
logger.Log($"Found paks folder -> {global.CurrentConfig.Paks}");
4746
}
4847
else
4948
{
5049
logger.Log($"ERROR -> Paks folder could not be found!");
50+
MessageBox.Show("Your Fortnite install location could not be found! Please make sure you have Fortnite installed!","Pro Swapper", MessageBoxButtons.OK, MessageBoxIcon.Warning);
5151
}
5252
}
5353
logger.Log(global.GetPaksList);
54-
55-
54+
5655
if (!File.Exists(oodledll))
5756
{
5857
if (EpicGamesLauncher.GetOodleDll(out string oodleFilePath))

src/UI/Dashboard.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public Dashboard()
3131
newstext.Font = newstext.Font = new System.Drawing.Font("Segoe UI", float.Parse(api.apidata.newstext.Split(';')[1]), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
3232

3333
string AutoPatchNotes = string.Empty;
34-
foreach (api.Item item in api.apidata.items.Skip(145))
34+
foreach (api.Item item in api.apidata.items.Skip(153))
3535
{
3636
AutoPatchNotes += $"Added {item.SwapsFrom} to {item.SwapsTo}\n";
3737
}

src/UI/Main.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ public Main(UI.Splash splash)
5757
global.ItemsBG = theme[1];
5858
global.Button = theme[2];
5959
global.TextColor = theme[3];
60-
RPC.rpctimestamp = Timestamps.Now;
6160
RPC.InitializeRPC();
6261

6362
Icon = appIcon;

src/UI/OodleSwap.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,18 @@ private async void ButtonbgWorker(bool Converting)
6868

6969
Stopwatch s = Stopwatch.StartNew();
7070
Program.logger.Log($"(OodleSwap.cs) (Converting = {Converting}) Starting to convert {this.Text}");
71-
await Swap.SwapItem(ThisItem, Converting);
71+
bool Swapped = Task.Run(() => Swap.SwapItem(ThisItem, Converting)).Result;
72+
73+
if (!Swapped)
74+
{
75+
ConvertB.Invoke(new Action(() => { ConvertB.Enabled = true; }));
76+
RevertB.Invoke(new Action(() => { RevertB.Enabled = true; }));
77+
label3.Invoke(new Action(() => { label3.Text = "OFF"; label3.ForeColor = Color.Red; }));
78+
Log("[/] Canceled Swap");
79+
s.Stop();
80+
return;
81+
}
82+
7283
s.Stop();
7384
ConvertB.Invoke(new Action(() => { ConvertB.Enabled = true; }));
7485
RevertB.Invoke(new Action(() => { RevertB.Enabled = true; }));

0 commit comments

Comments
 (0)