diff --git a/ShiftOS.WinForms/Applications/Downloader.cs b/ShiftOS.WinForms/Applications/Downloader.cs
index ec071d2..b1b7ed9 100644
--- a/ShiftOS.WinForms/Applications/Downloader.cs
+++ b/ShiftOS.WinForms/Applications/Downloader.cs
@@ -167,14 +167,33 @@ namespace ShiftOS.WinForms.Applications
}
}
+ ///
+ /// Gets a Shiftnet download speed in bytes based on the user's subscription.
+ ///
+ /// Download speed in bytes.
+ public static int GetDownloadSpeed()
+ {
+ switch (SaveSystem.CurrentSave.ShiftnetSubscription)
+ {
+ case 0:
+ return 256/*B*/;
+ case 1:
+ return 1024 * 1024/*KB*/;
+ case 2:
+ return 1024 * 10240/*KB*/;
+ case 3:
+ return 1024 * 1024 * 1024/*MB*/;
+ }
+ return 256;
+ }
+
public static void StartDownload(Download down)
{
var t = new Thread(() =>
{
- int byteWrite = 256;
_downloads.Add(down);
DownloadStarted?.Invoke(down);
- for (int i = 0; i < down.Bytes.Length; i += byteWrite)
+ for (int i = 0; i < down.Bytes.Length; i += GetDownloadSpeed())
{
Thread.Sleep(1000);
_downloads[_downloads.IndexOf(down)].Progress = (int)((float)(i / down.Bytes.Length) * 100);
@@ -197,4 +216,25 @@ namespace ShiftOS.WinForms.Applications
public byte[] Bytes { get; set; }
public int Progress { get; set; }
}
+
+ [Namespace("dev")]
+ public static class DownloaderDebugCommands
+ {
+ [Command("setsubscription", description ="Use to set the current shiftnet subscription.", usage ="{value:int32}")]
+ [RequiresArgument("value")]
+ public static bool SetShiftnetSubscription(Dictionary args)
+ {
+ int val = 0;
+ if(int.TryParse(args["value"].ToString(), out val) == true)
+ {
+ SaveSystem.CurrentSave.ShiftnetSubscription = val;
+ SaveSystem.SaveGame();
+ }
+ else
+ {
+ Console.WriteLine("Not a valid 32-bit integer.");
+ }
+ return true;
+ }
+ }
}
diff --git a/ShiftOS.WinForms/Applications/ShiftLetters.cs b/ShiftOS.WinForms/Applications/ShiftLetters.cs
index 32a1ed4..8f05661 100644
--- a/ShiftOS.WinForms/Applications/ShiftLetters.cs
+++ b/ShiftOS.WinForms/Applications/ShiftLetters.cs
@@ -215,7 +215,7 @@ namespace ShiftOS.WinForms.Applications
if (!lblword.Text.Contains("_"))
{
int oldlives = lives;
- int cp = word.Length * oldlives;
+ int cp = (word.Length * oldlives) * 5;
SaveSystem.TransferCodepointsFrom("shiftletters", cp);
StartGame();
}
diff --git a/ShiftOS.WinForms/Applications/Shiftnet.cs b/ShiftOS.WinForms/Applications/Shiftnet.cs
index af0e6ad..3da7d6a 100644
--- a/ShiftOS.WinForms/Applications/Shiftnet.cs
+++ b/ShiftOS.WinForms/Applications/Shiftnet.cs
@@ -104,7 +104,10 @@ namespace ShiftOS.WinForms.Applications