diff --git a/ChromaSDK/ChromaSDK.csproj b/ChromaSDK/ChromaSDK.csproj
index ddfef2e..eb2104f 100644
--- a/ChromaSDK/ChromaSDK.csproj
+++ b/ChromaSDK/ChromaSDK.csproj
@@ -1,8 +1,8 @@
-
net8.0
x64;ARM64
+ embedded
@@ -16,9 +16,8 @@
-
- Always
-
+
+ Always
+
-
diff --git a/Compatible/Compatible.cs b/Compatible/Compatible.cs
index 76840b4..45c10bd 100644
--- a/Compatible/Compatible.cs
+++ b/Compatible/Compatible.cs
@@ -3,7 +3,6 @@
using Ionic.Zip;
using System.Data;
using System.Data.SQLite;
-using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using YamlDotNet.RepresentationModel;
@@ -1023,8 +1022,6 @@
}
}
- static int ModifyInt(object o) => Convert.ToInt32(o, CultureInfo.InvariantCulture);
-
static string GetText(YamlNode yamlNode, string target, string defaultValue = null)
{
if ((yamlNode as YamlMappingNode)?.Children?.TryGetValue(new YamlScalarNode(target), out var value) == true)
diff --git a/Compatible/Compatible.csproj b/Compatible/Compatible.csproj
index 68a70f6..48848f1 100644
--- a/Compatible/Compatible.csproj
+++ b/Compatible/Compatible.csproj
@@ -2,8 +2,8 @@
net8.0
x64;ARM64
- enable
embedded
+ enable
diff --git a/FMODCoreAPI/FMODCoreAPI.csproj b/FMODCoreAPI/FMODCoreAPI.csproj
index cf867e7..d4141c4 100644
--- a/FMODCoreAPI/FMODCoreAPI.csproj
+++ b/FMODCoreAPI/FMODCoreAPI.csproj
@@ -1,8 +1,8 @@
-
net8.0
x64;ARM64
+ embedded
diff --git a/Igniter/App.config b/Igniter/App.config
index 0db15cf..34f296c 100644
--- a/Igniter/App.config
+++ b/Igniter/App.config
@@ -1,7 +1,7 @@
-
+
diff --git a/Igniter/Igniter.csproj b/Igniter/Igniter.csproj
index 9237ff7..3615967 100644
--- a/Igniter/Igniter.csproj
+++ b/Igniter/Igniter.csproj
@@ -8,7 +8,7 @@
WinExe
Igniter
Igniter
- v4.7.2
+ v4.8
512
{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
4
@@ -161,7 +161,7 @@
1.16.0
- 8.0.2
+ 8.0.3
diff --git a/Igniter/Properties/AssemblyInfo.cs b/Igniter/Properties/AssemblyInfo.cs
index e930068..ccdcb0b 100644
--- a/Igniter/Properties/AssemblyInfo.cs
+++ b/Igniter/Properties/AssemblyInfo.cs
@@ -12,7 +12,7 @@
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("불로그")]
[assembly: AssemblyProduct("Igniter")]
-[assembly: AssemblyCopyright("Copyright © 불로그 2023")]
+[assembly: AssemblyCopyright("Copyright © 불로그 2024")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/Igniter/Properties/Settings.Designer.cs b/Igniter/Properties/Settings.Designer.cs
index fecebf4..b4800df 100644
--- a/Igniter/Properties/Settings.Designer.cs
+++ b/Igniter/Properties/Settings.Designer.cs
@@ -12,7 +12,7 @@
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.8.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/Language/Language.cs b/Language/Language.cs
index b024fba..07e9e44 100644
--- a/Language/Language.cs
+++ b/Language/Language.cs
@@ -10,10 +10,7 @@
{
IncludeFields = true
};
-var assetsClientJSON = JsonSerializer.Deserialize(await File.ReadAllBytesAsync(Path.Combine(AppContext.BaseDirectory, "Assets", "Client.json")), new JsonSerializerOptions
-{
- IncludeFields = true
-});
+var assetsClientJSON = JsonSerializer.Deserialize(await File.ReadAllBytesAsync(Path.Combine(AppContext.BaseDirectory, "Assets", "Client.json")), defaultJSONConfigure);
wwwClient.DefaultRequestHeaders.Add("X-NCP-APIGW-API-KEY-ID", assetsClientJSON.nhnID);
wwwClient.DefaultRequestHeaders.Add("X-NCP-APIGW-API-KEY", assetsClientJSON.nhnPw);
diff --git a/Language/Language.csproj b/Language/Language.csproj
index ec0fe85..940ddc4 100644
--- a/Language/Language.csproj
+++ b/Language/Language.csproj
@@ -3,6 +3,7 @@
Exe
net8.0
x64;ARM64
+ embedded
enable
enable
diff --git a/LedCSharp/LedCSharp.csproj b/LedCSharp/LedCSharp.csproj
index 96063ff..1fb17bf 100644
--- a/LedCSharp/LedCSharp.csproj
+++ b/LedCSharp/LedCSharp.csproj
@@ -1,14 +1,13 @@
-
net8.0
x64;ARM64
+ embedded
-
- Always
-
+
+ Always
+
-
diff --git a/Protobuf/Protobuf.csproj b/Protobuf/Protobuf.csproj
index e6882f0..cc1fa2f 100644
--- a/Protobuf/Protobuf.csproj
+++ b/Protobuf/Protobuf.csproj
@@ -2,9 +2,10 @@
net8.0
x64;ARM64
+ embedded
-
+
diff --git a/Qwilight/Assets/Drawing/TV 1.png b/Qwilight/Assets/Drawing/TV 1.png
index 0bafe6d..ae5a654 100644
--- a/Qwilight/Assets/Drawing/TV 1.png
+++ b/Qwilight/Assets/Drawing/TV 1.png
Binary files differ
diff --git a/Qwilight/Assets/Language.json b/Qwilight/Assets/Language.json
index 1eb36ba..9931ebf 100644
--- a/Qwilight/Assets/Language.json
+++ b/Qwilight/Assets/Language.json
@@ -3043,6 +3043,10 @@
"ko-KR": "리버브 활성화",
"en-US": "Enable Reverb"
},
+ "SignedInContents": {
+ "ko-KR": "{0}님 환영합니다.",
+ "en-US": "Welcome, {0}!"
+ },
"SignIn": {
"ko-KR": "로그인",
"en-US": "Login"
@@ -3191,10 +3195,6 @@
"ko-KR": "강제 중단",
"en-US": "Forced stop"
},
- "SuccessfullySignedInContents": {
- "ko-KR": "{0}님 환영합니다.",
- "en-US": "Welcome, {0}!"
- },
"SymmetricModeContents": {
"ko-KR": "노트를 반전시킵니다. (미러)",
"en-US": "Mirror mode"
diff --git a/Qwilight/Compute/DefaultCompute.cs b/Qwilight/Compute/DefaultCompute.cs
index d85285b..53d4b89 100644
--- a/Qwilight/Compute/DefaultCompute.cs
+++ b/Qwilight/Compute/DefaultCompute.cs
@@ -11,6 +11,7 @@
using Qwilight.ViewModel;
using Qwilight.XOR;
using System.Collections.Concurrent;
+using System.Collections.Frozen;
using System.Diagnostics;
using System.IO;
using System.Windows.Media;
@@ -74,12 +75,9 @@
IsHandling = false;
}
- public bool Elapse(double millisLoopUnit, bool isElapsing)
+ public bool Elapse(double millisLoopUnit)
{
- if (isElapsing)
- {
- Wait = Math.Max(0.0, Wait - millisLoopUnit);
- }
+ Wait = Math.Max(0.0, Wait - millisLoopUnit);
IsLevyed = true;
var isElapsed = IsHandling && Wait == 0.0;
IsHandling = Wait > 0.0;
@@ -87,7 +85,7 @@
}
}
- public Dictionary PostableItemStatusMap { get; } = new();
+ public FrozenDictionary PostableItemStatusMap { get; }
public Dictionary PostedItemFaints { get; } = new()
{
@@ -1520,10 +1518,7 @@
{
PostableItemFaints[i] = new();
}
- for (var i = PostableItem.Values.Length - 1; i >= 0; --i)
- {
- PostableItemStatusMap[PostableItem.Values[i]] = new();
- }
+ PostableItemStatusMap = Enumerable.Range(0, PostableItem.Values.Length).ToFrozenDictionary(i => PostableItem.Values[i], i => new PostableItemStatus());
for (var i = _paintEventsGAS.Length - 1; i >= 0; --i)
{
_paintEventsGAS[i] = new();
@@ -1633,7 +1628,6 @@
void HandleNotes()
{
- var postableItemBand = 0;
var lastMultiplier = ModeComponentValue.Multiplier;
var lastAudioMultiplier = AudioMultiplier;
var isValidLoopingCounter = true;
@@ -1666,6 +1660,9 @@
var commentAudioMultiplierID = 0;
var randomDefaultInputs = Component.DefaultInputs[(int)InputMode].ToArray();
var inputCount = Component.InputCounts[(int)InputMode];
+ var postableItemBand = 0;
+ var postableHitPointsCount = 0;
+ var postableJudgmentCount = 0;
_valueComponent = new(NoteFile.LevyingBPM, Comment.LoopUnit);
var handleAudioNotesImpl = new Action>((waitModified, audioNotes) =>
@@ -1934,208 +1931,237 @@
}
}
- lock (PostableItemStatusMap)
+ foreach (var (postableItem, postableItemStatus) in PostableItemStatusMap)
{
- foreach (var (postableItem, postableItemStatus) in PostableItemStatusMap)
+ switch (postableItem.VarietyValue)
{
- var isElapsing = true;
- switch (postableItem.VarietyValue)
+ case PostableItem.Variety.PositiveHitPoints when HitPoints.TargetValue == 1.0:
+ case PostableItem.Variety.NegativeHitPoints when HitPoints.TargetValue == double.Epsilon:
+ continue;
+ }
+ if (postableItemStatus.IsHandling)
+ {
+ if (!postableItemStatus.IsLevyed)
{
- case PostableItem.Variety.PositiveHitPoints when HitPoints.TargetValue == 1.0:
- isElapsing = false;
- break;
- }
- if (postableItemStatus.IsHandling)
- {
- if (!postableItemStatus.IsLevyed)
+ switch (postableItem.VarietyValue)
{
- switch (postableItem.VarietyValue)
- {
- case PostableItem.Variety.PositiveHitPointsLevel:
- ModeComponentValue.HitPointsModeValue = ModeComponent.HitPointsMode.Lowest;
- break;
- case PostableItem.Variety.NegativeHitPointsLevel:
- ModeComponentValue.HitPointsModeValue = ModeComponent.HitPointsMode.Higher;
- break;
- case PostableItem.Variety.NegativeFaint:
- ModeComponentValue.FaintNoteModeValue = ModeComponent.FaintNoteMode.Faint;
- break;
- case PostableItem.Variety.NegativeFading:
- ModeComponentValue.FaintNoteModeValue = ModeComponent.FaintNoteMode.Fading;
- break;
- case PostableItem.Variety.Negative4D:
- ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode._4D;
- break;
- case PostableItem.Variety.NegativeZip:
- ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode.Zip;
- break;
- case PostableItem.Variety.LowerAudioMultiplier:
- postedAudioMultiplier = 0.5;
- break;
- case PostableItem.Variety.HigherAudioMultiplier:
- postedAudioMultiplier = 1.5;
- break;
- case PostableItem.Variety.Pause:
- AudioSystem.Instance.Pause(this, true);
- MediaSystem.Instance.Pause(this, true);
- SetPause = true;
- IsPausing = true;
- break;
- }
- }
- else
- {
- switch (postableItem.VarietyValue)
- {
- case PostableItem.Variety.PositiveHitPoints:
- HitPoints.TargetValue = Math.Min(HitPoints.TargetValue + millisLoopUnit / 1000.0 / (1000.0 / 60.0), 1.0);
- break;
- case PostableItem.Variety.NegativeHitPoints:
- HitPoints.TargetValue = Math.Max(double.Epsilon, HitPoints.TargetValue - millisLoopUnit / 1000.0 / (1000.0 / 60.0));
- break;
- case PostableItem.Variety.NegativeTrapNotes:
- postedTrapNotesMillis += millisLoopUnit;
- while (postedTrapNotesMillis >= 60.0)
- {
- postedTrapNotesMillis -= 60.0;
- var input = Utility.GetSaltedValue(randomDefaultInputs);
- var wait = Math.Floor(Math.Min(LoopingCounter + 1000.0 * Random.Shared.Next(1000 / 60) / (1000 / 60), Length + Component.QuitWait));
- var isTrapNote = true;
- foreach (var handlingNote in _handlingNotes)
- {
- if (input == handlingNote.TargetInput && (handlingNote.Wait - 60.0 <= wait && wait < handlingNote.Wait + handlingNote.LongWait + 60.0))
- {
- isTrapNote = false;
- }
- }
- if (isTrapNote)
- {
- var trapNote = new TrapNote(WaitLogicalYMap[wait], wait, Array.Empty(), input, true)
- {
- ID = -1
- };
- trapNote.InitY(logicalY);
- _handlingNotes.Add(trapNote);
- lock (PaintedNotes)
- {
- PaintedNotes.Add(trapNote);
- }
- }
- }
- break;
- case PostableItem.Variety.NegativeAutoableNotes:
- postedAutoableNotesMillis += millisLoopUnit;
- while (postedAutoableNotesMillis >= 60.0)
- {
- postedAutoableNotesMillis -= 60.0;
- foreach (var handlingNote in _handlingNotes)
- {
- if (handlingNote.HasStand && handlingNote.Judged == Component.Judged.Not && handlingNote.IsVisibleHalf(this) && handlingNote.TargetInput == handlingNote.LevyingInput)
- {
- var isAutoableNote = true;
- foreach (var note in _handlingNotes)
- {
- if (note.TargetInput == 1 && handlingNote.IsCollided(note))
- {
- isAutoableNote = false;
- }
- }
- if (isAutoableNote)
- {
- handlingNote.TargetInput = 1;
- handlingNote.SetLayer(this);
- break;
- }
- }
- }
- }
- break;
- case PostableItem.Variety.NegativeSalt:
- postedSaltNotesMillis += millisLoopUnit;
- while (postedSaltNotesMillis >= 60.0)
- {
- postedSaltNotesMillis -= 60.0;
- var input = Utility.GetSaltedValue(randomDefaultInputs);
- foreach (var handlingNote in _handlingNotes)
- {
- if (handlingNote.HasStand && handlingNote.Judged == Component.Judged.Not && handlingNote.IsVisibleHalf(this) && handlingNote.TargetInput == handlingNote.LevyingInput)
- {
- var isSaltedNote = true;
- foreach (var note in _handlingNotes)
- {
- if (note.TargetInput == input && handlingNote.IsCollided(note))
- {
- isSaltedNote = false;
- }
- }
- if (isSaltedNote)
- {
- handlingNote.TargetInput = input;
- handlingNote.SetLayer(this);
- break;
- }
- }
- }
- }
- break;
- }
+ case PostableItem.Variety.PositiveHitPointsLevel:
+ ModeComponentValue.HitPointsModeValue = ModeComponent.HitPointsMode.Lowest;
+ break;
+ case PostableItem.Variety.NegativeHitPointsLevel:
+ ModeComponentValue.HitPointsModeValue = ModeComponent.HitPointsMode.Higher;
+ break;
+ case PostableItem.Variety.NegativeFaint:
+ ModeComponentValue.FaintNoteModeValue = ModeComponent.FaintNoteMode.Faint;
+ break;
+ case PostableItem.Variety.NegativeFading:
+ ModeComponentValue.FaintNoteModeValue = ModeComponent.FaintNoteMode.Fading;
+ break;
+ case PostableItem.Variety.Negative4D:
+ ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode._4D;
+ break;
+ case PostableItem.Variety.NegativeZip:
+ ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode.Zip;
+ break;
+ case PostableItem.Variety.LowerAudioMultiplier:
+ postedAudioMultiplier = 0.5;
+ break;
+ case PostableItem.Variety.HigherAudioMultiplier:
+ postedAudioMultiplier = 1.5;
+ break;
+ case PostableItem.Variety.Pause:
+ AudioSystem.Instance.Pause(this, true);
+ MediaSystem.Instance.Pause(this, true);
+ SetPause = true;
+ IsPausing = true;
+ break;
}
}
else
{
switch (postableItem.VarietyValue)
{
- case PostableItem.Variety.NegativeFading:
- if (FaintCosine == 1.0 && ModeComponentValue.FaintNoteModeValue == ModeComponent.FaintNoteMode.Fading)
- {
- ModeComponentValue.FaintNoteModeValue = ModeComponent.FaintNoteMode.Default;
- }
+ case PostableItem.Variety.PositiveHitPoints:
+ HitPoints.TargetValue = Math.Min(HitPoints.TargetValue + millisLoopUnit / 1000.0 / (1000.0 / 60.0), 1.0);
break;
- case PostableItem.Variety.NegativeZip:
- if (NoteMobilityCosine == 1.0 && ModeComponentValue.NoteMobilityModeValue == ModeComponent.NoteMobilityMode.Zip)
- {
- ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode.Default;
- }
- break;
- case PostableItem.Variety.Negative4D:
- if (NoteMobilityValue == 0.0 && ModeComponentValue.NoteMobilityModeValue == ModeComponent.NoteMobilityMode._4D)
- {
- ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode.Default;
- }
+ case PostableItem.Variety.NegativeHitPoints:
+ HitPoints.TargetValue = Math.Max(double.Epsilon, HitPoints.TargetValue - millisLoopUnit / 1000.0 / (1000.0 / 60.0));
break;
}
}
- if (postableItemStatus.Elapse(millisLoopUnit, isElapsing))
+ switch (postableItem.VarietyValue)
{
- switch (postableItem.VarietyValue)
- {
- case PostableItem.Variety.PositiveHitPointsLevel:
- case PostableItem.Variety.NegativeHitPointsLevel:
- ModeComponentValue.HitPointsModeValue = ModeComponent.HitPointsMode.Default;
- break;
- case PostableItem.Variety.NegativeFaint:
+ case PostableItem.Variety.PositiveHitPointsLevel:
+ case PostableItem.Variety.NegativeHitPointsLevel:
+ while (postableHitPointsCount > 0)
+ {
+ --postableHitPointsCount;
+ if (postableItemStatus.Elapse(1000.0 / 60))
+ {
+ ModeComponentValue.HitPointsModeValue = ModeComponent.HitPointsMode.Default;
+ postableHitPointsCount = 0;
+ break;
+ }
+ }
+ break;
+ case PostableItem.Variety.PositiveJudgment:
+ case PostableItem.Variety.NegativeJudgment:
+ while (postableJudgmentCount > 0)
+ {
+ --postableJudgmentCount;
+ if (postableItemStatus.Elapse(1000.0 / 60))
+ {
+ postableJudgmentCount = 0;
+ break;
+ }
+ }
+ break;
+ case PostableItem.Variety.NegativeFaint:
+ if (postableItemStatus.Elapse(millisLoopUnit))
+ {
ModeComponentValue.FaintNoteModeValue = ModeComponent.FaintNoteMode.Default;
- break;
- case PostableItem.Variety.LowerAudioMultiplier:
- case PostableItem.Variety.HigherAudioMultiplier:
+ }
+ break;
+ case PostableItem.Variety.LowerAudioMultiplier:
+ case PostableItem.Variety.HigherAudioMultiplier:
+ if (postableItemStatus.Elapse(millisLoopUnit))
+ {
postedAudioMultiplier = 1.0;
- break;
- case PostableItem.Variety.Pause:
+ }
+ break;
+ case PostableItem.Variety.Pause:
+ if (postableItemStatus.Elapse(millisLoopUnit))
+ {
AudioSystem.Instance.Pause(this, false);
MediaSystem.Instance.Pause(this, false);
SetPause = false;
IsPausing = false;
- break;
- }
+ }
+ break;
+ case PostableItem.Variety.NegativeTrapNotes:
+ postedTrapNotesMillis += millisLoopUnit;
+ while (postedTrapNotesMillis >= 60.0)
+ {
+ postedTrapNotesMillis -= 60.0;
+ var input = Utility.GetSaltedValue(randomDefaultInputs);
+ var wait = Math.Floor(Math.Min(LoopingCounter + 1000.0 * Random.Shared.Next(1000) / 1000, Length + Component.QuitWait));
+ var isTrapNote = true;
+ foreach (var handlingNote in _handlingNotes)
+ {
+ if (input == handlingNote.TargetInput && (handlingNote.Wait - 60.0 <= wait && wait < handlingNote.Wait + handlingNote.LongWait + 60.0))
+ {
+ isTrapNote = false;
+ }
+ }
+ if (isTrapNote)
+ {
+ var trapNote = new TrapNote(WaitLogicalYMap[wait], wait, Array.Empty(), input, true)
+ {
+ ID = -1
+ };
+ trapNote.InitY(logicalY);
+ _handlingNotes.Add(trapNote);
+ lock (PaintedNotes)
+ {
+ PaintedNotes.Add(trapNote);
+ }
+ postableItemStatus.Elapse(1000.0 / 60);
+ }
+ }
+ break;
+ case PostableItem.Variety.NegativeAutoableNotes:
+ postedAutoableNotesMillis += millisLoopUnit;
+ while (postedAutoableNotesMillis >= 60.0)
+ {
+ postedAutoableNotesMillis -= 60.0;
+ foreach (var handlingNote in _handlingNotes)
+ {
+ if (handlingNote.HasStand && handlingNote.Judged == Component.Judged.Not && handlingNote.IsVisibleHalf(this) && handlingNote.TargetInput == handlingNote.LevyingInput)
+ {
+ var isAutoableNote = true;
+ foreach (var note in _handlingNotes)
+ {
+ if (note.TargetInput == 1 && handlingNote.IsCollided(note))
+ {
+ isAutoableNote = false;
+ }
+ }
+ if (isAutoableNote)
+ {
+ handlingNote.TargetInput = 1;
+ handlingNote.SetLayer(this);
+ postableItemStatus.Elapse(1000.0 / 60);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ case PostableItem.Variety.NegativeSalt:
+ postedSaltNotesMillis += millisLoopUnit;
+ while (postedSaltNotesMillis >= 60.0)
+ {
+ postedSaltNotesMillis -= 60.0;
+ var input = Utility.GetSaltedValue(randomDefaultInputs);
+ foreach (var handlingNote in _handlingNotes)
+ {
+ if (handlingNote.HasStand && handlingNote.Judged == Component.Judged.Not && handlingNote.IsVisibleHalf(this) && handlingNote.TargetInput == handlingNote.LevyingInput)
+ {
+ var isSaltedNote = true;
+ foreach (var note in _handlingNotes)
+ {
+ if (note.TargetInput == input && handlingNote.IsCollided(note))
+ {
+ isSaltedNote = false;
+ }
+ }
+ if (isSaltedNote)
+ {
+ handlingNote.TargetInput = input;
+ handlingNote.SetLayer(this);
+ postableItemStatus.Elapse(1000.0 / 60);
+ break;
+ }
+ }
+ }
+ }
+ break;
+ default:
+ postableItemStatus.Elapse(millisLoopUnit);
+ break;
+ }
+ }
+ else
+ {
+ switch (postableItem.VarietyValue)
+ {
+ case PostableItem.Variety.NegativeFading:
+ if (FaintCosine == 1.0 && ModeComponentValue.FaintNoteModeValue == ModeComponent.FaintNoteMode.Fading)
+ {
+ ModeComponentValue.FaintNoteModeValue = ModeComponent.FaintNoteMode.Default;
+ }
+ break;
+ case PostableItem.Variety.NegativeZip:
+ if (NoteMobilityCosine == 1.0 && ModeComponentValue.NoteMobilityModeValue == ModeComponent.NoteMobilityMode.Zip)
+ {
+ ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode.Default;
+ }
+ break;
+ case PostableItem.Variety.Negative4D:
+ if (NoteMobilityValue == 0.0 && ModeComponentValue.NoteMobilityModeValue == ModeComponent.NoteMobilityMode._4D)
+ {
+ ModeComponentValue.NoteMobilityModeValue = ModeComponent.NoteMobilityMode.Default;
+ }
+ break;
}
}
}
+ }
- ModeComponentValue.AudioMultiplier += Utility.GetMove(postedAudioMultiplier, ModeComponentValue.AudioMultiplier, 1000.0 / millisLoopUnit);
- for (var i = 1; i >= -1; --i)
- {
- PostedItemFaints[i] += Utility.GetMove(0.0, PostedItemFaints[i], 1000.0 / millisLoopUnit);
- }
+ ModeComponentValue.AudioMultiplier += Utility.GetMove(postedAudioMultiplier, ModeComponentValue.AudioMultiplier, 1000.0 / millisLoopUnit);
+ for (var i = 1; i >= -1; --i)
+ {
+ PostedItemFaints[i] += Utility.GetMove(0.0, PostedItemFaints[i], 1000.0 / millisLoopUnit);
}
if (IsPausing)
@@ -2838,10 +2864,12 @@
var judged = judgedNoteDataValue.Judged;
if (judged != Component.Judged.Lowest && PostableItemStatusMap[PostableItem.Values[(int)PostableItem.Variety.PositiveJudgment]].IsHandling)
{
+ ++postableJudgmentCount;
judged = Component.Judged.Highest;
}
- if (judged != Component.Judged.Highest && judged != Component.Judged.Higher && PostableItemStatusMap[PostableItem.Values[(int)PostableItem.Variety.NegativeJudgment]].IsHandling)
+ if (judged != Component.Judged.Highest && PostableItemStatusMap[PostableItem.Values[(int)PostableItem.Variety.NegativeJudgment]].IsHandling)
{
+ ++postableJudgmentCount;
judged = Component.Judged.Lowest;
}
switch (judgedNoteDataValue.IDValue)
@@ -3804,6 +3832,10 @@
break;
}
}
+ if (PostableItemStatusMap[PostableItem.Values[(int)PostableItem.Variety.PositiveHitPointsLevel]].IsHandling || PostableItemStatusMap[PostableItem.Values[(int)PostableItem.Variety.NegativeHitPointsLevel]].IsHandling)
+ {
+ ++postableHitPointsCount;
+ }
LastJudged = judged;
Point.TargetValue = (SavedPoint += Component.PointMap[(int)_pointMapDate, (int)judged]) / (TotalPoint += Component.PointMap[(int)_pointMapDate, (int)Component.Judged.Highest]);
switch (_standModeDate)
diff --git a/Qwilight/JSON.cs b/Qwilight/JSON.cs
index 58916c8..8a8ff59 100644
--- a/Qwilight/JSON.cs
+++ b/Qwilight/JSON.cs
@@ -605,9 +605,9 @@
public struct TwilightCallNetSiteComments
{
public long date;
- public CallNetSIteCommentItem[] data;
+ public CallNetSiteCommentItem[] data;
- public struct CallNetSIteCommentItem
+ public struct CallNetSiteCommentItem
{
public int avatarNetStatus;
public string avatarID;
@@ -841,10 +841,10 @@
{
public int avatarLevelVSCount;
public int targetLevelVSCount;
- public LevelVSItem[] avatarLevelVSItems;
- public LevelVSItem[] targetLevelVSItems;
+ public LevelVSitem[] avatarLevelVSitems;
+ public LevelVSitem[] targetLevelVSitems;
- public sealed class LevelVSItem : Computing
+ public sealed class LevelVSitem : Computing
{
public int stand;
public int levelVSStand;
diff --git a/Qwilight/PostableItem.cs b/Qwilight/PostableItem.cs
index 5f919c7..890f512 100644
--- a/Qwilight/PostableItem.cs
+++ b/Qwilight/PostableItem.cs
@@ -34,22 +34,22 @@
{
VarietyValue = Variety.PositiveJudgment,
IsPositive = true,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
},
new PostableItem
{
VarietyValue = Variety.PositiveHitPoints,
IsPositive = true,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.PositiveHitPointsLevel,
IsPositive = true,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
},
new PostableItem
{
@@ -62,89 +62,89 @@
{
VarietyValue = Variety.NegativeFaint,
IsPositive = false,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeFading,
IsPositive = false,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeJudgment,
IsPositive = false,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeHitPoints,
IsPositive = false,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeHitPointsLevel,
IsPositive = false,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
},
new PostableItem
{
VarietyValue = Variety.Negative4D,
IsPositive = false,
- LowestWait = 500.0,
- HighestWait = 2000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeZip,
IsPositive = false,
- LowestWait = 500.0,
- HighestWait = 2000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeTrapNotes,
IsPositive = false,
- LowestWait = 500.0,
- HighestWait = 2000.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeAutoableNotes,
IsPositive = false,
- LowestWait = 500.0,
- HighestWait = 2000.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
},
new PostableItem
{
VarietyValue = Variety.NegativeSalt,
IsPositive = false,
- LowestWait = 500.0,
- HighestWait = 2000.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
},
new PostableItem
{
VarietyValue = Variety.LowerAudioMultiplier,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.HigherAudioMultiplier,
- LowestWait = 2000.0,
- HighestWait = 8000.0
+ LowestWait = 1000.0,
+ HighestWait = 6000.0
},
new PostableItem
{
VarietyValue = Variety.Pause,
- LowestWait = 125.0,
- HighestWait = 500.0
+ LowestWait = 60.0,
+ HighestWait = 1000.0
}
};
diff --git a/Qwilight/Qwilight.csproj b/Qwilight/Qwilight.csproj
index 6bb1284..b8e0e58 100644
--- a/Qwilight/Qwilight.csproj
+++ b/Qwilight/Qwilight.csproj
@@ -10,9 +10,7 @@
Qwilight.ico
Taehui
불로그
- 1.16.18.576
- 1.16.18.576
- 1.16.18
+ 1.16.18
true
enable
true
@@ -21,6 +19,7 @@
Qwilight.View.QwilightClass
app.manifest
true
+ embedded
@@ -46,13 +45,12 @@
-
+
all
-
diff --git a/Qwilight/System/AudioSystem/AudioSystem.cs b/Qwilight/System/AudioSystem/AudioSystem.cs
index 4393dfe..ade540a 100644
--- a/Qwilight/System/AudioSystem/AudioSystem.cs
+++ b/Qwilight/System/AudioSystem/AudioSystem.cs
@@ -3,6 +3,7 @@
using Qwilight.Utilities;
using Qwilight.ViewModel;
using System.Collections.Concurrent;
+using System.Collections.Frozen;
using System.Collections.ObjectModel;
using System.IO;
using System.Runtime.InteropServices;
@@ -13,89 +14,59 @@
{
static readonly string FaultEntryPath = Path.Combine(QwilightComponent.FaultEntryPath, nameof(AudioSystem));
- static readonly Dictionary _audioConfigureValues = new()
+ static readonly FrozenDictionary _audioConfigureValues = new[]
{
+ KeyValuePair.Create("Beats Flex", new AudioConfigure
{
- "Beats Flex",
- new()
- {
- AudioWait = -173.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -173.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("Buds2 Pro", new AudioConfigure
{
- "Buds2 Pro",
- new()
- {
- AudioWait = -250.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -250.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("Buds2 Stereo", new AudioConfigure
{
- "Buds2 Stereo",
- new()
- {
- AudioWait = -250.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -250.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("direm W1", new AudioConfigure
{
- "direm W1",
- new()
- {
- AudioWait = -48.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -48.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("Galaxy Buds Pro", new AudioConfigure
{
- "Galaxy Buds Pro",
- new()
- {
- AudioWait = -337.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -337.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("MOMENTUM 4", new AudioConfigure
{
- "MOMENTUM 4",
- new()
- {
- AudioWait = -249.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -249.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("Razer Hammerhead TWS (2nd Gen)", new AudioConfigure
{
- "Razer Hammerhead TWS (2nd Gen)",
- new()
- {
- AudioWait = -275.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -275.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("Razer Hammerhead TWS Pro", new AudioConfigure
{
- "Razer Hammerhead TWS Pro",
- new()
- {
- AudioWait = -259.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -259.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("WF-1000XM5", new AudioConfigure
{
- "WF-1000XM5",
- new()
- {
- AudioWait = -216.0,
- HandleInputAudio = false
- }
- },
+ AudioWait = -216.0,
+ HandleInputAudio = false
+ }),
+ KeyValuePair.Create("WH-1000XM5", new AudioConfigure
{
- "WH-1000XM5",
- new()
- {
- AudioWait = -216.0,
- HandleInputAudio = false
- }
- }
- };
+ AudioWait = -216.0,
+ HandleInputAudio = false
+ })
+ }.ToFrozenDictionary();
public static readonly AudioSystem Instance = QwilightComponent.GetBuiltInData(nameof(AudioSystem));
diff --git a/Qwilight/System/DrawingSystem/DrawingSystem.cs b/Qwilight/System/DrawingSystem/DrawingSystem.cs
index 9ec38bc..03ea6da 100644
--- a/Qwilight/System/DrawingSystem/DrawingSystem.cs
+++ b/Qwilight/System/DrawingSystem/DrawingSystem.cs
@@ -197,7 +197,8 @@
{
targetSession.Clear(Colors.Transparent);
}
- var defaultClearedDrawing = BitmapSource.Create(1, 1, 96.0, 96.0, PixelFormats.Pbgra32, null, new[] { 0, 0, 0, 0 }, 4);
+ var pxs = new[] { 0, 0, 0, 0 };
+ var defaultClearedDrawing = BitmapSource.Create(1, 1, 96.0, 96.0, PixelFormats.Pbgra32, null, pxs, 4);
defaultClearedDrawing.Freeze();
ClearedDrawing = new()
{
@@ -3383,7 +3384,7 @@
}
}
- static ImageSource LoadDefault(Stream s)
+ static BitmapImage LoadDefault(Stream s)
{
s.Position = 0;
var defaultDrawing = new BitmapImage();
diff --git a/Qwilight/System/IlluminationSystem/AuraSystem.cs b/Qwilight/System/IlluminationSystem/AuraSystem.cs
index 9fddc92..315ce81 100644
--- a/Qwilight/System/IlluminationSystem/AuraSystem.cs
+++ b/Qwilight/System/IlluminationSystem/AuraSystem.cs
@@ -10,112 +10,112 @@
{
public static readonly AuraSystem Instance = new();
- static readonly Dictionary _inputMap = new();
-
- static AuraSystem()
+ static VirtualKey GetInput(ushort rawInput) => rawInput switch
{
- _inputMap[1] = VirtualKey.Escape;
- _inputMap[2] = VirtualKey.Number1;
- _inputMap[3] = VirtualKey.Number2;
- _inputMap[4] = VirtualKey.Number3;
- _inputMap[5] = VirtualKey.Number4;
- _inputMap[6] = VirtualKey.Number5;
- _inputMap[7] = VirtualKey.Number6;
- _inputMap[8] = VirtualKey.Number7;
- _inputMap[9] = VirtualKey.Number8;
- _inputMap[10] = VirtualKey.Number9;
- _inputMap[11] = VirtualKey.Number0;
- _inputMap[12] = (VirtualKey)189;
- _inputMap[13] = (VirtualKey)187;
- _inputMap[14] = VirtualKey.Back;
- _inputMap[15] = VirtualKey.Tab;
- _inputMap[16] = VirtualKey.Q;
- _inputMap[17] = VirtualKey.W;
- _inputMap[18] = VirtualKey.E;
- _inputMap[19] = VirtualKey.R;
- _inputMap[20] = VirtualKey.T;
- _inputMap[21] = VirtualKey.Y;
- _inputMap[22] = VirtualKey.U;
- _inputMap[23] = VirtualKey.I;
- _inputMap[24] = VirtualKey.O;
- _inputMap[25] = VirtualKey.P;
- _inputMap[26] = (VirtualKey)219;
- _inputMap[27] = (VirtualKey)221;
- _inputMap[28] = VirtualKey.Enter;
- _inputMap[29] = VirtualKey.LeftControl;
- _inputMap[30] = VirtualKey.A;
- _inputMap[31] = VirtualKey.S;
- _inputMap[32] = VirtualKey.D;
- _inputMap[33] = VirtualKey.F;
- _inputMap[34] = VirtualKey.G;
- _inputMap[35] = VirtualKey.H;
- _inputMap[36] = VirtualKey.J;
- _inputMap[37] = VirtualKey.K;
- _inputMap[38] = VirtualKey.L;
- _inputMap[39] = (VirtualKey)186;
- _inputMap[40] = (VirtualKey)222;
- _inputMap[41] = (VirtualKey)192;
- _inputMap[42] = VirtualKey.LeftShift;
- _inputMap[43] = (VirtualKey)220;
- _inputMap[44] = VirtualKey.Z;
- _inputMap[45] = VirtualKey.X;
- _inputMap[46] = VirtualKey.C;
- _inputMap[47] = VirtualKey.V;
- _inputMap[48] = VirtualKey.B;
- _inputMap[49] = VirtualKey.N;
- _inputMap[50] = VirtualKey.M;
- _inputMap[51] = (VirtualKey)188;
- _inputMap[52] = (VirtualKey)190;
- _inputMap[53] = (VirtualKey)191;
- _inputMap[54] = VirtualKey.RightShift;
- _inputMap[55] = VirtualKey.Multiply;
+ 1 => VirtualKey.Escape,
+ 2 => VirtualKey.Number1,
+ 3 => VirtualKey.Number2,
+ 4 => VirtualKey.Number3,
+ 5 => VirtualKey.Number4,
+ 6 => VirtualKey.Number5,
+ 7 => VirtualKey.Number6,
+ 8 => VirtualKey.Number7,
+ 9 => VirtualKey.Number8,
+ 10 => VirtualKey.Number9,
+ 11 => VirtualKey.Number0,
+ 12 => (VirtualKey)189,
+ 13 => (VirtualKey)187,
+ 14 => VirtualKey.Back,
+ 15 => VirtualKey.Tab,
+ 16 => VirtualKey.Q,
+ 17 => VirtualKey.W,
+ 18 => VirtualKey.E,
+ 19 => VirtualKey.R,
+ 20 => VirtualKey.T,
+ 21 => VirtualKey.Y,
+ 22 => VirtualKey.U,
+ 23 => VirtualKey.I,
+ 24 => VirtualKey.O,
+ 25 => VirtualKey.P,
+ 26 => (VirtualKey)219,
+ 27 => (VirtualKey)221,
+ 28 => VirtualKey.Enter,
+ 29 => VirtualKey.LeftControl,
+ 30 => VirtualKey.A,
+ 31 => VirtualKey.S,
+ 32 => VirtualKey.D,
+ 33 => VirtualKey.F,
+ 34 => VirtualKey.G,
+ 35 => VirtualKey.H,
+ 36 => VirtualKey.J,
+ 37 => VirtualKey.K,
+ 38 => VirtualKey.L,
+ 39 => (VirtualKey)186,
+ 40 => (VirtualKey)222,
+ 41 => (VirtualKey)192,
+ 42 => VirtualKey.LeftShift,
+ 43 => (VirtualKey)220,
+ 44 => VirtualKey.Z,
+ 45 => VirtualKey.X,
+ 46 => VirtualKey.C,
+ 47 => VirtualKey.V,
+ 48 => VirtualKey.B,
+ 49 => VirtualKey.N,
+ 50 => VirtualKey.M,
+ 51 => (VirtualKey)188,
+ 52 => (VirtualKey)190,
+ 53 => (VirtualKey)191,
+ 54 => VirtualKey.RightShift,
+ 55 => VirtualKey.Multiply,
- _inputMap[57] = VirtualKey.Space;
- _inputMap[58] = VirtualKey.CapitalLock;
- _inputMap[59] = VirtualKey.F1;
- _inputMap[60] = VirtualKey.F2;
- _inputMap[61] = VirtualKey.F3;
- _inputMap[62] = VirtualKey.F4;
- _inputMap[63] = VirtualKey.F5;
- _inputMap[64] = VirtualKey.F6;
- _inputMap[65] = VirtualKey.F7;
- _inputMap[66] = VirtualKey.F8;
- _inputMap[67] = VirtualKey.F9;
- _inputMap[68] = VirtualKey.F10;
- _inputMap[69] = VirtualKey.NumberKeyLock;
- _inputMap[70] = VirtualKey.Scroll;
- _inputMap[71] = VirtualKey.NumberPad7;
- _inputMap[72] = VirtualKey.NumberPad8;
- _inputMap[73] = VirtualKey.NumberPad9;
+ 57 => VirtualKey.Space,
+ 58 => VirtualKey.CapitalLock,
+ 59 => VirtualKey.F1,
+ 60 => VirtualKey.F2,
+ 61 => VirtualKey.F3,
+ 62 => VirtualKey.F4,
+ 63 => VirtualKey.F5,
+ 64 => VirtualKey.F6,
+ 65 => VirtualKey.F7,
+ 66 => VirtualKey.F8,
+ 67 => VirtualKey.F9,
+ 68 => VirtualKey.F10,
+ 69 => VirtualKey.NumberKeyLock,
+ 70 => VirtualKey.Scroll,
+ 71 => VirtualKey.NumberPad7,
+ 72 => VirtualKey.NumberPad8,
+ 73 => VirtualKey.NumberPad9,
- _inputMap[75] = VirtualKey.NumberPad4;
- _inputMap[76] = VirtualKey.NumberPad5;
- _inputMap[77] = VirtualKey.NumberPad6;
+ 75 => VirtualKey.NumberPad4,
+ 76 => VirtualKey.NumberPad5,
+ 77 => VirtualKey.NumberPad6,
- _inputMap[79] = VirtualKey.NumberPad1;
- _inputMap[80] = VirtualKey.NumberPad2;
- _inputMap[81] = VirtualKey.NumberPad3;
- _inputMap[82] = VirtualKey.NumberPad0;
+ 79 => VirtualKey.NumberPad1,
+ 80 => VirtualKey.NumberPad2,
+ 81 => VirtualKey.NumberPad3,
+ 82 => VirtualKey.NumberPad0,
- _inputMap[87] = VirtualKey.F11;
- _inputMap[88] = VirtualKey.F12;
+ 87 => VirtualKey.F11,
+ 88 => VirtualKey.F12,
- _inputMap[157] = VirtualKey.RightControl;
+ 157 => VirtualKey.RightControl,
- _inputMap[197] = VirtualKey.Pause;
- _inputMap[199] = VirtualKey.Home;
- _inputMap[200] = VirtualKey.Up;
- _inputMap[201] = VirtualKey.PageUp;
- _inputMap[203] = VirtualKey.Left;
- _inputMap[205] = VirtualKey.Right;
- _inputMap[207] = VirtualKey.End;
- _inputMap[208] = VirtualKey.Down;
- _inputMap[209] = VirtualKey.PageDown;
- _inputMap[210] = VirtualKey.Insert;
- _inputMap[211] = VirtualKey.Delete;
- _inputMap[219] = VirtualKey.LeftWindows;
- _inputMap[221] = VirtualKey.Application;
- }
+ 197 => VirtualKey.Pause,
+ 199 => VirtualKey.Home,
+ 200 => VirtualKey.Up,
+ 201 => VirtualKey.PageUp,
+ 203 => VirtualKey.Left,
+ 205 => VirtualKey.Right,
+ 207 => VirtualKey.End,
+ 208 => VirtualKey.Down,
+ 209 => VirtualKey.PageDown,
+ 210 => VirtualKey.Insert,
+ 211 => VirtualKey.Delete,
+ 219 => VirtualKey.LeftWindows,
+ 221 => VirtualKey.Application,
+
+ _ => VirtualKey.None
+ };
readonly Dictionary> _statusItems = new();
readonly Dictionary> _inputItems = new();
@@ -150,7 +150,8 @@
{
foreach (IAuraRgbKey ledItem in auraInput.Keys)
{
- if (_inputMap.TryGetValue(ledItem.Code, out var input))
+ var input = GetInput(ledItem.Code);
+ if (input != VirtualKey.None)
{
Utility.NewValue(_inputItems, input, auraInput.Key[ledItem.Code]);
}
diff --git a/Qwilight/System/IlluminationSystem/K70System.cs b/Qwilight/System/IlluminationSystem/K70System.cs
index 9a9ff67..0c4281b 100644
--- a/Qwilight/System/IlluminationSystem/K70System.cs
+++ b/Qwilight/System/IlluminationSystem/K70System.cs
@@ -10,7 +10,7 @@
{
public static readonly K70System Instance = new();
- static CorsairLedId GetInput(VirtualKey input) => input switch
+ static CorsairLedId GetInput(VirtualKey rawInput) => rawInput switch
{
VirtualKey.Escape => CorsairLedId.KeyboardEscape,
VirtualKey.F1 => CorsairLedId.KeyboardF1,
diff --git a/Qwilight/System/IlluminationSystem/LSSystem.cs b/Qwilight/System/IlluminationSystem/LSSystem.cs
index bfd2300..6ce14e9 100644
--- a/Qwilight/System/IlluminationSystem/LSSystem.cs
+++ b/Qwilight/System/IlluminationSystem/LSSystem.cs
@@ -11,7 +11,7 @@
{
public static readonly LSSystem Instance = new();
- static keyboardNames GetInput(VirtualKey input) => input switch
+ static keyboardNames GetInput(VirtualKey rawInput) => rawInput switch
{
VirtualKey.Escape => keyboardNames.ESC,
VirtualKey.F1 => keyboardNames.F1,
@@ -109,7 +109,7 @@
VirtualKey.PageUp => keyboardNames.PAGE_UP,
VirtualKey.End => keyboardNames.END,
VirtualKey.PageDown => keyboardNames.PAGE_DOWN,
- _ => 0
+ _ => default
};
readonly keyboardNames[] _inputs = (Enum.GetValues(typeof(keyboardNames)) as keyboardNames[]);
@@ -142,7 +142,7 @@
public override void SetInputColor(VirtualKey rawInput, uint value)
{
var input = GetInput(rawInput);
- if (input != 0)
+ if (input != default)
{
_illuminatedIDs[input] = value;
}
diff --git a/Qwilight/System/LanguageSystem/LanguageSystem.g.cs b/Qwilight/System/LanguageSystem/LanguageSystem.g.cs
index 97ca905..a58793b 100644
--- a/Qwilight/System/LanguageSystem/LanguageSystem.g.cs
+++ b/Qwilight/System/LanguageSystem/LanguageSystem.g.cs
@@ -763,6 +763,7 @@
public string SetTotalText { get; set; }
public string SFXContents { get; set; }
public string SFXText { get; set; }
+ public string SignedInContents { get; set; }
public string SignIn { get; set; }
public string SignUp { get; set; }
public string SilentSiteAvatarContents { get; set; }
@@ -800,7 +801,6 @@
public string StopSavingAsBundleContents { get; set; }
public string StopSavingBundleContents { get; set; }
public string StopSiteNetText { get; set; }
- public string SuccessfullySignedInContents { get; set; }
public string SymmetricModeContents { get; set; }
public string TestHitPointsModeContents { get; set; }
public string TestHitPointsModeWarning { get; set; }
diff --git a/Qwilight/System/TwilightSystem.cs b/Qwilight/System/TwilightSystem.cs
index bc4e223..2ba96c1 100644
--- a/Qwilight/System/TwilightSystem.cs
+++ b/Qwilight/System/TwilightSystem.cs
@@ -301,7 +301,7 @@
AvatarName = twilightSignIn.avatarName;
TwilightSituation = SignedIn;
NotifyAvatarWwwValue();
- NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.OK, NotifySystem.NotifyConfigure.Default, string.Format(LanguageSystem.Instance.SuccessfullySignedInContents, GetAvatarName()), false, "Sign in");
+ NotifySystem.Instance.Notify(NotifySystem.NotifyVariety.OK, NotifySystem.NotifyConfigure.Default, string.Format(LanguageSystem.Instance.SignedInContents, GetAvatarName()), false, "Sign in");
BaseUI.Instance.HandleEvent(BaseUI.EventItem.SignIn);
AutoEnter(autoEnter => autoEnter != AutoEnterSite.WaitSite);
break;
@@ -679,29 +679,29 @@
var twilightCallNetSiteComments = Utility.GetJSON(eventItemText);
if (twilightCallNetSiteComments != null)
{
- var netSIteCommentItemCollection = new Dictionary();
+ var netSiteCommentItemCollection = new Dictionary();
foreach (var twilightCallNetSiteComment in twilightCallNetSiteComments)
{
var date = twilightCallNetSiteComment.date;
- if (!netSIteCommentItemCollection.TryGetValue(date, out var netSiteCommentItems))
+ if (!netSiteCommentItemCollection.TryGetValue(date, out var netSiteCommentItems))
{
netSiteCommentItems = new()
{
- NetSiteCommentItems = new(),
+ Values = new(),
Date = date
};
}
foreach (var toCallNetSiteCommentItem in twilightCallNetSiteComment.data)
{
- netSiteCommentItems.NetSiteCommentItems.Add(new(toCallNetSiteCommentItem));
+ netSiteCommentItems.Values.Add(new(toCallNetSiteCommentItem));
}
- netSIteCommentItemCollection[date] = netSiteCommentItems;
+ netSiteCommentItemCollection[date] = netSiteCommentItems;
}
var netSiteCommentItemsCollection = netSiteCommentViewModel.NetSiteCommentItemsCollection;
UIHandler.Instance.HandleParallel(() =>
{
netSiteCommentItemsCollection.Clear();
- foreach (var date in netSIteCommentItemCollection.Values)
+ foreach (var date in netSiteCommentItemCollection.Values)
{
netSiteCommentItemsCollection.Add(date);
}
diff --git a/Qwilight/UIComponent/NetSIteCommentItems.cs b/Qwilight/UIComponent/NetSIteCommentItems.cs
index f5b7351..cd13064 100644
--- a/Qwilight/UIComponent/NetSIteCommentItems.cs
+++ b/Qwilight/UIComponent/NetSIteCommentItems.cs
@@ -1,8 +1,8 @@
namespace Qwilight.UIComponent
{
- public struct NetSIteCommentItems
+ public struct NetSiteCommentItems
{
- public List NetSiteCommentItems { get; init; }
+ public List Values { get; init; }
public long Date { get; set; }
diff --git a/Qwilight/UIComponent/NetSiteCommentItem.cs b/Qwilight/UIComponent/NetSiteCommentItem.cs
index 86cf135..20f5b11 100644
--- a/Qwilight/UIComponent/NetSiteCommentItem.cs
+++ b/Qwilight/UIComponent/NetSiteCommentItem.cs
@@ -41,7 +41,7 @@
public ImageSource QuitDrawing => BaseUI.Instance.QuitDrawings[(int)Utility.GetQuitStatusValue(PointValue, StandValue, AvatarNetStatus == Event.Types.AvatarNetStatus.Failed ? 0.0 : 1.0, 1)][LowestJudgmentValue > 0 ? 0 : 1]?.DefaultDrawing;
- public NetSiteCommentItem(JSON.TwilightCallNetSiteComments.CallNetSIteCommentItem toCallNetSiteCommentItem)
+ public NetSiteCommentItem(JSON.TwilightCallNetSiteComments.CallNetSiteCommentItem toCallNetSiteCommentItem)
{
AvatarID = toCallNetSiteCommentItem.avatarID;
AvatarWwwValue = new AvatarWww(AvatarID);
diff --git a/Qwilight/View/MainWindow/LoadingView.xaml.cs b/Qwilight/View/MainWindow/LoadingView.xaml.cs
index 37e06b8..0bcab82 100644
--- a/Qwilight/View/MainWindow/LoadingView.xaml.cs
+++ b/Qwilight/View/MainWindow/LoadingView.xaml.cs
@@ -1,6 +1,7 @@
using CommunityToolkit.Mvvm.Messaging;
using Qwilight.MSG;
using System.Windows;
+using System.Windows.Controls;
using System.Windows.Media.Animation;
namespace Qwilight.View
@@ -18,9 +19,9 @@
};
var fadingViewComputer = new Storyboard();
fadingViewComputer.Children.Add(fadingElement);
- Storyboard.SetTarget(fadingElement, this);
- Storyboard.SetTargetProperty(fadingElement, new PropertyPath(OpacityProperty));
- fadingViewComputer.Completed += (sender, e) => Visibility = Visibility.Collapsed;
+ Storyboard.SetTarget(fadingElement, recipient as DependencyObject);
+ Storyboard.SetTargetProperty(fadingElement, new(OpacityProperty));
+ fadingViewComputer.Completed += (sender, e) => (Parent as Panel).Children.Remove(this);
fadingViewComputer.Begin();
}));
}
diff --git a/Qwilight/View/MainWindow/WPFView.xaml b/Qwilight/View/MainWindow/WPFView.xaml
index d21973b..6970a19 100644
--- a/Qwilight/View/MainWindow/WPFView.xaml
+++ b/Qwilight/View/MainWindow/WPFView.xaml
@@ -28,7 +28,7 @@
-
+
diff --git a/Qwilight/View/NetSiteCommentWindow.xaml b/Qwilight/View/NetSiteCommentWindow.xaml
index 5e0db76..0ad0872 100644
--- a/Qwilight/View/NetSiteCommentWindow.xaml
+++ b/Qwilight/View/NetSiteCommentWindow.xaml
@@ -1,5 +1,5 @@
InitializeComponent();
+ public NetSiteCommentWindow() => InitializeComponent();
}
}
\ No newline at end of file
diff --git a/Qwilight/View/SiteView.xaml b/Qwilight/View/SiteView.xaml
index 7b9bce2..5c97c66 100644
--- a/Qwilight/View/SiteView.xaml
+++ b/Qwilight/View/SiteView.xaml
@@ -289,7 +289,7 @@
-
+
diff --git a/Qwilight/ViewModel/AvatarViewModel.cs b/Qwilight/ViewModel/AvatarViewModel.cs
index 0b3784a..ef7582f 100644
--- a/Qwilight/ViewModel/AvatarViewModel.cs
+++ b/Qwilight/ViewModel/AvatarViewModel.cs
@@ -363,14 +363,14 @@
if (value != null)
{
var twilightWwwAvatarLevelVS = _twilightWwwAvatarLevelVSMap[value.LevelID];
- foreach (var data in twilightWwwAvatarLevelVS.avatarLevelVSItems)
+ foreach (var data in twilightWwwAvatarLevelVS.avatarLevelVSitems)
{
LevelVSMyAvatarComputingCollection.Add(new(_avatarID, data)
{
FittedText = string.Format(LanguageSystem.Instance.LevelVSStandContents, data.stand.ToString("#,##0"), data.levelVSStand.ToString("+#,##0;-#,##0"))
});
}
- foreach (var data in twilightWwwAvatarLevelVS.targetLevelVSItems)
+ foreach (var data in twilightWwwAvatarLevelVS.targetLevelVSitems)
{
LevelVSTargetAvatarComputingCollection.Add(new(_avatarID, data)
{
diff --git a/Qwilight/ViewModel/BaseViewModel.cs b/Qwilight/ViewModel/BaseViewModel.cs
index 36f5375..b7dba19 100644
--- a/Qwilight/ViewModel/BaseViewModel.cs
+++ b/Qwilight/ViewModel/BaseViewModel.cs
@@ -50,10 +50,7 @@
{
get => _faint;
- set
- {
- SetProperty(ref _faint, value, nameof(Faint));
- }
+ set => SetProperty(ref _faint, value, nameof(Faint));
}
public int Zvalue
diff --git a/Qwilight/ViewModel/MainViewModel.cs b/Qwilight/ViewModel/MainViewModel.cs
index 18878a3..e1d3cce 100644
--- a/Qwilight/ViewModel/MainViewModel.cs
+++ b/Qwilight/ViewModel/MainViewModel.cs
@@ -13,6 +13,7 @@
using SharpCompress.Archives.SevenZip;
using System.Buffers;
using System.Collections.Concurrent;
+using System.Collections.Frozen;
using System.Collections.Immutable;
using System.Collections.ObjectModel;
using System.Data;
@@ -31,6 +32,7 @@
using Windows.System;
using Windows.Win32.UI.WindowsAndMessaging;
using Clipboard = Windows.ApplicationModel.DataTransfer.Clipboard;
+using Timer = System.Timers.Timer;
namespace Qwilight.ViewModel
{
@@ -77,7 +79,7 @@
EnableRaisingEvents = true
};
long _randomMillis = Environment.TickCount64;
- DispatcherTimer _fadeInHandler;
+ Timer _fadeInHandler;
bool _isAvailable = true;
string _twilightCommentText0 = string.Empty;
string _twilightCommentText1 = string.Empty;
@@ -2190,8 +2192,8 @@
var isWantLevelSystem = Configure.Instance.WantLevelSystem;
var isNotWantLevelItem = wantLevelIDs.Length == 0;
var isNotWantHellBPM = !Configure.Instance.WantHellBPM;
- var levelID128s = new Dictionary(LevelSystem.Instance.LevelID128s);
- var levelID256s = new Dictionary(LevelSystem.Instance.LevelID256s);
+ var levelID128s = LevelSystem.Instance.LevelID128s.ToFrozenDictionary();
+ var levelID256s = LevelSystem.Instance.LevelID256s.ToFrozenDictionary();
var levelID128NoteFiles = new Dictionary(LevelSystem.Instance.LevelID128NoteFiles);
var levelID256NoteFiles = new Dictionary(LevelSystem.Instance.LevelID256NoteFiles);
var logicalNoteFiles = new HashSet();
@@ -2396,7 +2398,8 @@
var millis = BaseUI.Instance.FadingProperties[(int)ModeValue]?[FadingValue.Layer]?.Millis;
var fadingCounter = Stopwatch.StartNew();
- new DispatcherTimer(QwilightComponent.StandardFrametime, DispatcherPriority.Render, (sender, e) =>
+ var fadeHandler = new Timer(QwilightComponent.StandardFrametime);
+ fadeHandler.Elapsed += (sender, e) =>
{
if (millis > 0)
{
@@ -2410,14 +2413,15 @@
if (FadingValue.Status == 1.0)
{
- (sender as DispatcherTimer).Stop();
+ (sender as Timer).Dispose();
FadingValue.Layer = 0;
- onFade();
+ UIHandler.Instance.HandleParallel(onFade);
var millis = BaseUI.Instance.FadingProperties[(int)ModeValue]?[FadingValue.Layer]?.Millis;
fadingCounter.Restart();
- _fadeInHandler = new(QwilightComponent.StandardFrametime, DispatcherPriority.Render, (sender, e) =>
+ _fadeInHandler = new Timer(QwilightComponent.StandardFrametime);
+ _fadeInHandler.Elapsed += (sender, e) =>
{
if (millis > 0)
{
@@ -2431,14 +2435,16 @@
if (FadingValue.Status == 0.0)
{
- (sender as DispatcherTimer).Stop();
+ (sender as Timer).Dispose();
IsAvailable = true;
StrongReferenceMessenger.Default.Send();
}
- }, UIHandler.Instance.Handler);
+ };
+ _fadeInHandler.Start();
}
- }, UIHandler.Instance.Handler);
+ };
+ fadeHandler.Start();
}
public void InitMultiplierUnit()
diff --git a/Qwilight/ViewModel/NetSiteCommentViewModel.cs b/Qwilight/ViewModel/NetSiteCommentViewModel.cs
index c4b99f7..e096cbc 100644
--- a/Qwilight/ViewModel/NetSiteCommentViewModel.cs
+++ b/Qwilight/ViewModel/NetSiteCommentViewModel.cs
@@ -7,11 +7,11 @@
{
public sealed class NetSiteCommentViewModel : BaseViewModel
{
- NetSIteCommentItems? _netSiteCommentItems;
+ NetSiteCommentItems? _netSiteCommentItems;
public ObservableCollection NetSiteCommentItemCollection { get; } = new();
- public ObservableCollection NetSiteCommentItemsCollection { get; } = new();
+ public ObservableCollection NetSiteCommentItemsCollection { get; } = new();
public override double TargetLength => 0.6;
@@ -19,7 +19,7 @@
public override VerticalAlignment HeightSystem => VerticalAlignment.Top;
- public NetSIteCommentItems? NetSiteCommentItemsValue
+ public NetSiteCommentItems? NetSiteCommentItemsValue
{
get => _netSiteCommentItems;
@@ -27,7 +27,7 @@
{
if (SetProperty(ref _netSiteCommentItems, value, nameof(NetSiteCommentItemsValue)))
{
- var netSiteCommentItems = value?.NetSiteCommentItems;
+ var netSiteCommentItems = value?.Values;
if (netSiteCommentItems != null)
{
NetSiteCommentItemCollection.Clear();
diff --git a/Qwilight/ViewModel/SiteViewModel.cs b/Qwilight/ViewModel/SiteViewModel.cs
index 39753e9..5888426 100644
--- a/Qwilight/ViewModel/SiteViewModel.cs
+++ b/Qwilight/ViewModel/SiteViewModel.cs
@@ -226,7 +226,7 @@
void OnSetValidHunterMode() => TwilightSystem.Instance.SendParallel(Event.Types.EventID.SetValidHunterMode, SiteID);
[RelayCommand]
- void OnNetSIteComments() => TwilightSystem.Instance.SendParallel(Event.Types.EventID.CallNetSiteComments, SiteID);
+ void OnNetSiteComments() => TwilightSystem.Instance.SendParallel(Event.Types.EventID.CallNetSiteComments, SiteID);
[RelayCommand]
void OnSetSiteName()
diff --git a/Test/Test.csproj b/Test/Test.csproj
index 658c32b..9637759 100644
--- a/Test/Test.csproj
+++ b/Test/Test.csproj
@@ -1,11 +1,12 @@
net8.0-windows10.0.22621.0
+ x64;ARM64
+ embedded
enable
enable
false
true
- x64;ARM64
true
true
@@ -20,7 +21,7 @@
$(DefineConstants);ARM64
ARM64
win-arm64
-
+
@@ -30,7 +31,7 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
all
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all