diff --git a/CI.cmd b/CI.cmd index 29d87db..aef668e 100644 --- a/CI.cmd +++ b/CI.cmd @@ -10,6 +10,8 @@ "%MSBUILD%" -t:Build -p:Configuration=Release,Platform=x64 Igniter\Igniter.csproj Robocopy Igniter\bin\x64\Release Qwilight\Assets\x64 Igniter.exe +"%MSBUILD%" -t:Build -p:Configuration=Release,Platform=ARM64 Igniter\Igniter.csproj +Robocopy Igniter\bin\ARM64\Release Qwilight\Assets\ARM64 Igniter.exe "%MSBUILD%" -t:Build -p:Configuration=Release,Platform=x64 NVIDIA\NVIDIA.vcxproj Robocopy NVIDIA\x64\Release Qwilight\Assets\x64 NVIDIA.dll diff --git a/FMODCoreAPI/Assets/ARM64/fmod.dll b/FMODCoreAPI/Assets/ARM64/fmod.dll new file mode 100644 index 0000000..bf5ab72 --- /dev/null +++ b/FMODCoreAPI/Assets/ARM64/fmod.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8eb9efe9a638343814ff0f545fb9baa50ef055582cfb2a6d2e2d6ab36016c7f +size 1419264 diff --git a/FMODCoreAPI/Assets/x64/fmod.dll b/FMODCoreAPI/Assets/x64/fmod.dll index cd047aa..290f57a 100644 --- a/FMODCoreAPI/Assets/x64/fmod.dll +++ b/FMODCoreAPI/Assets/x64/fmod.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:74c82920da14ea8a84491d49d6aa80831e1910fefbb5308dc823af21b9587db2 +oid sha256:205cf4342eb47eb9b5905242b1a5d17fd51a1621bb011782e67b39804db24247 size 1851904 diff --git a/FMODCoreAPI/FMODCoreAPI.csproj b/FMODCoreAPI/FMODCoreAPI.csproj index d4141c4..7bb7c7c 100644 --- a/FMODCoreAPI/FMODCoreAPI.csproj +++ b/FMODCoreAPI/FMODCoreAPI.csproj @@ -10,4 +10,10 @@ Always + + + + Always + + diff --git a/FMODCoreAPI/fmod.cs b/FMODCoreAPI/fmod.cs index 78302c6..5b88ec1 100644 --- a/FMODCoreAPI/fmod.cs +++ b/FMODCoreAPI/fmod.cs @@ -1,6 +1,6 @@ /* ======================================================================================== */ /* FMOD Core API - C# wrapper. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2023. */ +/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */ /* */ /* For more detail visit: */ /* https://fmod.com/docs/2.02/api/core-api.html */ @@ -19,7 +19,7 @@ */ public partial class VERSION { - public const int number = 0x00020220; + public const int number = 0x00020221; #if !UNITY_2019_4_OR_NEWER public const string dll = "fmod"; #endif diff --git a/FMODCoreAPI/fmod_dsp.cs b/FMODCoreAPI/fmod_dsp.cs index 537fe5c..804f97f 100644 --- a/FMODCoreAPI/fmod_dsp.cs +++ b/FMODCoreAPI/fmod_dsp.cs @@ -1,6 +1,6 @@ /* ======================================================================================== */ /* FMOD Core API - DSP header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2023. */ +/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */ /* */ /* Use this header if you are wanting to develop your own DSP plugin to use with FMODs */ /* dsp system. With this header you can make your own DSP plugin that FMOD can */ diff --git a/FMODCoreAPI/fmod_errors.cs b/FMODCoreAPI/fmod_errors.cs index f86fb95..5276112 100644 --- a/FMODCoreAPI/fmod_errors.cs +++ b/FMODCoreAPI/fmod_errors.cs @@ -1,6 +1,6 @@ /* ============================================================================================== */ /* FMOD Core / Studio API - Error string header file. */ -/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2023. */ +/* Copyright (c), Firelight Technologies Pty, Ltd. 2004-2024. */ /* */ /* Use this header if you want to store or display a string version / english explanation */ /* of the FMOD error codes. */ diff --git a/Igniter/Igniter.csproj b/Igniter/Igniter.csproj index 3615967..33b013d 100644 --- a/Igniter/Igniter.csproj +++ b/Igniter/Igniter.csproj @@ -138,6 +138,7 @@ ResXFileCodeGenerator Resources.Designer.cs + Designer diff --git a/Protobuf/Protobuf.csproj b/Protobuf/Protobuf.csproj index cc1fa2f..9a3419d 100644 --- a/Protobuf/Protobuf.csproj +++ b/Protobuf/Protobuf.csproj @@ -6,6 +6,6 @@ - + diff --git a/Protobuf/protoc.exe b/Protobuf/protoc.exe index 36ff0b8..23a26a7 100644 --- a/Protobuf/protoc.exe +++ b/Protobuf/protoc.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c3739364aba9b9a89bbbc6133d4d6f27b9e1f9ce0082c76d76433c0d339cc1ee -size 11554025 +oid sha256:7a356b5c7a45b76252d2fc83015a1fca0a29537eccc358a13a17302c8d275034 +size 11783121 diff --git a/Qwilight.cmd b/Qwilight.cmd index 0e19a26..ffd0f62 100644 --- a/Qwilight.cmd +++ b/Qwilight.cmd @@ -6,7 +6,9 @@ SET MSBUILD=%VS2022%\Msbuild\Current\Bin\MSBuild.exe SET BANDIZIP=%PROGRAMFILES%\Bandizip\bz.exe SET WINX64=bin\x64\Release\net8.0-windows10.0.22621.0\win-x64 -SET PUBLISH=Qwilight\%WINX64%\publish +SET WINARM64=bin\ARM64\Release\net8.0-windows10.0.22621.0\win-arm64 +SET WINX64PUBLISH=Qwilight\%WINX64%\publish +SET WINARM64PUBLISH=Qwilight\%WINARM64%\publish DEL Qwilight.zip @@ -29,11 +31,11 @@ ) ) -RMDIR /S /Q %PUBLISH% +RMDIR /S /Q %WINX64PUBLISH% dotnet publish Qwilight\Qwilight.csproj -c Release -p:Platform=x64 -"%BANDIZIP%" c -storeroot:no Qwilight.zip %PUBLISH% +"%BANDIZIP%" c -storeroot:no Qwilight.zip %WINX64PUBLISH% -powershell $(CertUtil -hashfile %PUBLISH%\Qwilight.dll SHA512)[1] > Qwilight.dll.sha512sum +powershell $(CertUtil -hashfile %WINX64PUBLISH%\Qwilight.dll SHA512)[1] > Qwilight.dll.sha512sum SET /P BUILD= < Qwilight.dll.sha512sum DEL Qwilight.dll.sha512sum diff --git a/Qwilight.sln b/Qwilight.sln index eb41704..531f7df 100644 --- a/Qwilight.sln +++ b/Qwilight.sln @@ -81,11 +81,9 @@ {F2BA185C-449D-4CC6-81AB-6F6D54F90FD7}.Release|x64.ActiveCfg = Release|x64 {F2BA185C-449D-4CC6-81AB-6F6D54F90FD7}.Release|x64.Build.0 = Release|x64 {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Debug|ARM64.Build.0 = Debug|ARM64 {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Debug|x64.ActiveCfg = Debug|x64 {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Debug|x64.Build.0 = Debug|x64 {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Release|ARM64.ActiveCfg = Release|ARM64 - {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Release|ARM64.Build.0 = Release|ARM64 {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Release|x64.ActiveCfg = Release|x64 {F4391BFA-AC83-4BDC-A552-F6CE1AAF5014}.Release|x64.Build.0 = Release|x64 {448E8FC9-B6AC-4309-A315-D6CB9B464843}.Debug|ARM64.ActiveCfg = Debug|ARM64 @@ -105,19 +103,15 @@ {9E9B7E8A-2617-4CCE-8431-34B97550E75B}.Release|x64.ActiveCfg = Release|x64 {9E9B7E8A-2617-4CCE-8431-34B97550E75B}.Release|x64.Build.0 = Release|x64 {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Debug|ARM64.Build.0 = Debug|ARM64 {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Debug|x64.ActiveCfg = Debug|x64 {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Debug|x64.Build.0 = Debug|x64 {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Release|ARM64.ActiveCfg = Release|ARM64 - {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Release|ARM64.Build.0 = Release|ARM64 {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Release|x64.ActiveCfg = Release|x64 {DB5E7D3B-3BAC-4AD8-B434-B20BDEDDEF6E}.Release|x64.Build.0 = Release|x64 {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Debug|ARM64.Build.0 = Debug|ARM64 {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Debug|x64.ActiveCfg = Debug|x64 {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Debug|x64.Build.0 = Debug|x64 {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Release|ARM64.ActiveCfg = Release|ARM64 - {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Release|ARM64.Build.0 = Release|ARM64 {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Release|x64.ActiveCfg = Release|x64 {BBC3B632-3A18-4A09-B203-C1026F347DAB}.Release|x64.Build.0 = Release|x64 {99FA193F-D634-4706-AC10-D22722B45166}.Debug|ARM64.ActiveCfg = Debug|ARM64 diff --git a/Qwilight/Assets/UI/@Default/@Default.yaml b/Qwilight/Assets/UI/@Default/@Default.yaml index b0eed19..b62eabe 100644 --- a/Qwilight/Assets/UI/@Default/@Default.yaml +++ b/Qwilight/Assets/UI/@Default/@Default.yaml @@ -126,8 +126,9 @@ stopAuto: CommentViewLength(-12), InputNoteCountViewPosition1(5), 24, 24, 1, 1, 0 saltAuto: CommentViewLength(-12), InputNoteCountViewPosition1(39), 24, 24, 1, 1, 0 - + handledWallLength: 8 + handledWallCommentLength: 8 entryItemHeight: 48 commentItemHeight: 48 diff --git a/Qwilight/JSON.cs b/Qwilight/JSON.cs index 8a8ff59..f086be2 100644 --- a/Qwilight/JSON.cs +++ b/Qwilight/JSON.cs @@ -154,7 +154,6 @@ { public bool? favor; public int totalFavor; - public BaseNoteFile.Handled? handled; public Comment[] comments; public int commentPlace; public int totalComments; @@ -176,6 +175,7 @@ public ModeComponent.InputFavorMode inputFavorMode; public ModeComponent.NoteModifyMode noteModifyMode; public ModeComponent.LowestJudgmentConditionMode lowestJudgmentConditionMode; + public BaseNoteFile.Handled handled; public int stand; public int band; public bool isP; diff --git a/Qwilight/Qwilight.csproj b/Qwilight/Qwilight.csproj index b8e0e58..9352e5b 100644 --- a/Qwilight/Qwilight.csproj +++ b/Qwilight/Qwilight.csproj @@ -53,15 +53,18 @@ - - - + + + + + + diff --git a/Qwilight/System/BaseUI/BaseUI.cs b/Qwilight/System/BaseUI/BaseUI.cs index 859e476..b1fd0bb 100644 --- a/Qwilight/System/BaseUI/BaseUI.cs +++ b/Qwilight/System/BaseUI/BaseUI.cs @@ -125,6 +125,8 @@ public ImageSource[] HandledWallDrawings { get; } = new ImageSource[8]; + public ImageSource[] HandledWallCommentDrawings { get; } = new ImageSource[8]; + public ImageSource[] DefaultEntryDrawings { get; } = new ImageSource[5]; public ImageSource[] SaltAutoDrawings { get; } = new ImageSource[2]; @@ -339,6 +341,8 @@ public double HandledWallLength { get; set; } + public double HandledWallCommentLength { get; set; } + public double EntryItemHeight { get; set; } public double CommentItemHeight { get; set; } @@ -941,6 +945,7 @@ StopAutoPoint = GetDrawingPoint(pointNode, "stopAuto"); HandledWallLength = GetCalledValue(pointNode, "handledWallLength", "10"); + HandledWallCommentLength = GetCalledValue(pointNode, "handledWallCommentLength", "8"); EntryItemHeight = GetCalledValue(pointNode, "entryItemHeight", "60"); CommentItemHeight = GetCalledValue(pointNode, "commentItemHeight", "48"); CommentItemAvatarHeight = CommentItemHeight + 2 * CommentItemHeight * Levels.EdgeXY + 2 * 1.0; @@ -1725,6 +1730,9 @@ case "W": HandledWallDrawings[Utility.ToInt32(fileNameContents[1])] = defaultDrawing; break; + case "WC": + HandledWallCommentDrawings[Utility.ToInt32(fileNameContents[1])] = defaultDrawing; + break; } break; case "Avatar Configure": @@ -2041,6 +2049,11 @@ QuitDrawings[i][1] ??= QuitDrawings[i][0]; } + for (var i = (int)BaseNoteFile.Handled.AssistClear; i >= (int)BaseNoteFile.Handled.Not; --i) + { + HandledWallCommentDrawings[i] ??= HandledWallDrawings[i]; + } + for (var i = PaintProperties.Length - 1; i >= 0; --i) { var paintProperty = PaintProperties[i]; diff --git a/Qwilight/System/TwilightSystem.cs b/Qwilight/System/TwilightSystem.cs index 2ba96c1..6e085d4 100644 --- a/Qwilight/System/TwilightSystem.cs +++ b/Qwilight/System/TwilightSystem.cs @@ -211,7 +211,6 @@ public void HandleSystem() { var mainViewModel = ViewModels.Instance.MainValue; - var signInViewModel = ViewModels.Instance.SignInValue; var bundleViewModel = ViewModels.Instance.BundleValue; var ubuntuViewModel = ViewModels.Instance.UbuntuValue; var toNotifyViewModel = ViewModels.Instance.NotifyValue; @@ -294,7 +293,7 @@ } break; case Event.Types.EventID.SignIn: - signInViewModel.Close(); + ViewModels.Instance.SignInValue.Close(); var twilightSignIn = Utility.GetJSON(eventItemText); Totem = twilightSignIn.totem; AvatarID = twilightSignIn.avatarID; diff --git a/Qwilight/UIComponent/CommentItem.cs b/Qwilight/UIComponent/CommentItem.cs index 8a8948e..ccd93b9 100644 --- a/Qwilight/UIComponent/CommentItem.cs +++ b/Qwilight/UIComponent/CommentItem.cs @@ -1,4 +1,5 @@ using Qwilight.Compute; +using Qwilight.NoteFile; using Qwilight.Utilities; using System.Windows.Media; @@ -23,6 +24,8 @@ public string CommentPlace1Text { get; set; } + public BaseNoteFile.Handled? HandledValue { get; set; } + public Brush StandPaint => ModeComponentValue.HitPointsModeValue switch { ModeComponent.HitPointsMode.Lowest => BaseUI.Instance.LevelPaints[1], @@ -71,13 +74,15 @@ public bool IsPaused { get; init; } - public bool DefaultControllerComputed => (_inputFlags & DefaultCompute.InputFlag.DefaultController) == DefaultCompute.InputFlag.DefaultController; + public bool HasDefaultControllerFlag => (_inputFlags & DefaultCompute.InputFlag.DefaultController) == DefaultCompute.InputFlag.DefaultController; - public bool ControllerComputed => (_inputFlags & DefaultCompute.InputFlag.Controller) == DefaultCompute.InputFlag.Controller; + public bool HasControllerFlag => (_inputFlags & DefaultCompute.InputFlag.Controller) == DefaultCompute.InputFlag.Controller; - public bool MIDIComputed => (_inputFlags & DefaultCompute.InputFlag.MIDI) == DefaultCompute.InputFlag.MIDI; + public bool HasMIDIFlag => (_inputFlags & DefaultCompute.InputFlag.MIDI) == DefaultCompute.InputFlag.MIDI; - public bool PointerComputed => (_inputFlags & DefaultCompute.InputFlag.Pointer) == DefaultCompute.InputFlag.Pointer; + public bool HasPointerFlag => (_inputFlags & DefaultCompute.InputFlag.Pointer) == DefaultCompute.InputFlag.Pointer; + + public ImageSource HandledWallCommentDrawing => HandledValue.HasValue ? BaseUI.Instance.HandledWallCommentDrawings[(int)HandledValue.Value] : null; public AvatarWww AvatarWwwValue { get; } diff --git a/Qwilight/Utilities/Utility.cs b/Qwilight/Utilities/Utility.cs index 085cb5c..9ba824f 100644 --- a/Qwilight/Utilities/Utility.cs +++ b/Qwilight/Utilities/Utility.cs @@ -385,6 +385,7 @@ }, Stand = data.stand, Band = data.band, + HandledValue = data.handled, IsP = data.isP, Point = data.point, TwilightCommentary = string.IsNullOrEmpty(data.commentary) ? string.Empty : $"💬 {data.commentary}", diff --git a/Qwilight/View/MainWindow/DefaultMode/CommentView.xaml b/Qwilight/View/MainWindow/DefaultMode/CommentView.xaml index 1a53a89..ad73dae 100644 --- a/Qwilight/View/MainWindow/DefaultMode/CommentView.xaml +++ b/Qwilight/View/MainWindow/DefaultMode/CommentView.xaml @@ -69,7 +69,7 @@