diff --git a/ChromaSDK/Assets/AMD64/CChromaEditorLibrary64.dll b/ChromaSDK/Assets/AMD64/CChromaEditorLibrary64.dll
index 608576a..ff5ce36 100644
--- a/ChromaSDK/Assets/AMD64/CChromaEditorLibrary64.dll
+++ b/ChromaSDK/Assets/AMD64/CChromaEditorLibrary64.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:14e5709b9de7c454ecfb0b9386591ed64f67af6e35be27b8b695bcafc8ac256a
-size 436112
+oid sha256:7523335cf3be105f73d0d60703af0bfd8bd5db1989218c682baf66346cd51634
+size 440720
diff --git a/Protobuf/Comment.cs b/Protobuf/Comment.cs
index da50332..163c2b2 100644
--- a/Protobuf/Comment.cs
+++ b/Protobuf/Comment.cs
@@ -563,7 +563,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -638,7 +642,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -952,7 +960,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -983,7 +995,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -1224,7 +1240,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -1251,7 +1271,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -1488,7 +1512,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -1515,7 +1543,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -1810,7 +1842,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -1845,7 +1881,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -2061,7 +2101,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -2084,7 +2128,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
diff --git a/Protobuf/Event.cs b/Protobuf/Event.cs
index f6b1e8e..f505a4d 100644
--- a/Protobuf/Event.cs
+++ b/Protobuf/Event.cs
@@ -1075,7 +1075,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -1263,7 +1267,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -1723,7 +1731,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -1746,7 +1758,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -2264,7 +2280,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -2334,7 +2354,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -4206,7 +4230,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -4456,7 +4484,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -5003,7 +5035,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -5042,7 +5078,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -5276,7 +5316,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -5299,7 +5343,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -5550,7 +5598,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -5581,7 +5633,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -5822,7 +5878,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -5849,7 +5909,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -6104,7 +6168,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -6135,7 +6203,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -6376,7 +6448,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -6403,7 +6479,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -6687,7 +6767,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -6722,7 +6806,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -6996,7 +7084,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -7027,7 +7119,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -7315,7 +7411,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -7350,7 +7450,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -7624,7 +7728,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -7655,7 +7763,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -7885,7 +7997,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -7912,7 +8028,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -8120,7 +8240,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -8143,7 +8267,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -8365,7 +8493,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -8392,7 +8524,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -8600,7 +8736,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -8623,7 +8763,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -8827,7 +8971,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -8850,7 +8998,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -9170,7 +9322,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -9209,7 +9365,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
@@ -9487,7 +9647,11 @@
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
@@ -9518,7 +9682,11 @@
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
- switch(tag) {
+ if ((tag & 7) == 4) {
+ // Abort on any end group tag.
+ return;
+ }
+ switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
diff --git a/Protobuf/Protobuf.csproj b/Protobuf/Protobuf.csproj
index 088c25b..872cad4 100644
--- a/Protobuf/Protobuf.csproj
+++ b/Protobuf/Protobuf.csproj
@@ -6,6 +6,6 @@
-
+
diff --git a/Protobuf/protoc.exe b/Protobuf/protoc.exe
index 5acc930..4004eb4 100644
--- a/Protobuf/protoc.exe
+++ b/Protobuf/protoc.exe
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:61d624c4d9f3c6b1a9790db047f8f19cd08f74c6bd5f0db582783e8142a88922
-size 11783121
+oid sha256:abb65a6f09a63314101cd66762a31492c4c79cf9f773ade350c8436dc9e2d40e
+size 12092052
diff --git a/Qwilight/Assets/AMD64/avcodec-61.dll b/Qwilight/Assets/AMD64/avcodec-61.dll
index fab630e..281358e 100644
--- a/Qwilight/Assets/AMD64/avcodec-61.dll
+++ b/Qwilight/Assets/AMD64/avcodec-61.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:253843a4ab34e608b253dbc3899036dc07e4157ede9c63cbfbb13bafaba7b7da
-size 82667520
+oid sha256:ce06365ca1e27c894023e2493f8300d06dac6d09c29077e3382f8f03730e09c1
+size 83920384
diff --git a/Qwilight/Assets/AMD64/avdevice-61.dll b/Qwilight/Assets/AMD64/avdevice-61.dll
index bb9bab8..dad66b7 100644
--- a/Qwilight/Assets/AMD64/avdevice-61.dll
+++ b/Qwilight/Assets/AMD64/avdevice-61.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c77afd1f787b548e758b87f8bf93662f336bc98f31e2ccaa4206eed67ca56603
-size 4424192
+oid sha256:2002fd0bf8dedc82400a31b97c7721ccf4992cf67ab07c06bd800dbd87f87a56
+size 4451840
diff --git a/Qwilight/Assets/AMD64/avfilter-10.dll b/Qwilight/Assets/AMD64/avfilter-10.dll
index 452fc07..7eba29e 100644
--- a/Qwilight/Assets/AMD64/avfilter-10.dll
+++ b/Qwilight/Assets/AMD64/avfilter-10.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7615b672af06710a04f5f476332153f3d95c2a917649aa5814e556d7b76e0b03
-size 40719872
+oid sha256:93c9e8cbb74353a24415f4859b01591e963905feba534e72d48ad3e18ba3a5d1
+size 40916992
diff --git a/Qwilight/Assets/AMD64/avformat-61.dll b/Qwilight/Assets/AMD64/avformat-61.dll
index a9081f3..620f386 100644
--- a/Qwilight/Assets/AMD64/avformat-61.dll
+++ b/Qwilight/Assets/AMD64/avformat-61.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f7a7d6ace9cc4aaa9865ee28de95c9897f92d31d7953134df65162f34e7f2509
-size 18246144
+oid sha256:b1ba36879fd29f31184472f7309dc2778bb9c208b0c4761e3d7fc0ee2e514781
+size 18280960
diff --git a/Qwilight/Assets/AMD64/avutil-59.dll b/Qwilight/Assets/AMD64/avutil-59.dll
index 2bfa128..2484bc8 100644
--- a/Qwilight/Assets/AMD64/avutil-59.dll
+++ b/Qwilight/Assets/AMD64/avutil-59.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6f02c1eea2970d8256bbb6979d617e3e96fa340aa374dc42bd548b730aec4ee1
-size 2701824
+oid sha256:41f85009ca115ab4da298558475fff346cd925080c8cc471f7fe008d57d1dac9
+size 2717696
diff --git a/Qwilight/Assets/AMD64/ffmpeg.exe b/Qwilight/Assets/AMD64/ffmpeg.exe
index b147c83..e3b91e7 100644
--- a/Qwilight/Assets/AMD64/ffmpeg.exe
+++ b/Qwilight/Assets/AMD64/ffmpeg.exe
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1eb21ec75b4fb18d4b804e2a2bc4b641e6f5731a43279591a99e6c18ba67fd48
-size 430592
+oid sha256:18c842fb2b88d36c882a3b852849b8ddd821a1816e863c69501052c7b2e4e052
+size 437248
diff --git a/Qwilight/Assets/AMD64/ffprobe.exe b/Qwilight/Assets/AMD64/ffprobe.exe
index a9f7866..6e3b3e4 100644
--- a/Qwilight/Assets/AMD64/ffprobe.exe
+++ b/Qwilight/Assets/AMD64/ffprobe.exe
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b7682303dcc91c28d03c4541b5fde378d87efff68ab7e54930aa2bc72e6a563c
-size 207360
+oid sha256:728f787d1dd9cf9280d6c64fa560617a3a6c58b810cf8454053fff9399e83961
+size 210432
diff --git a/Qwilight/Assets/AMD64/postproc-58.dll b/Qwilight/Assets/AMD64/postproc-58.dll
index 73ab1ad..2c15adf 100644
--- a/Qwilight/Assets/AMD64/postproc-58.dll
+++ b/Qwilight/Assets/AMD64/postproc-58.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:00dedfa6eaf4e10eaf14101e5aa922723f86541a5500ec7488316fa7c5e776f3
-size 86016
+oid sha256:9458f60fbcd5ca932367a1ad608b7861fbb6aa3e3d526bffc044207338071b89
+size 88576
diff --git a/Qwilight/Assets/AMD64/swresample-5.dll b/Qwilight/Assets/AMD64/swresample-5.dll
index 28d3e11..0963475 100644
--- a/Qwilight/Assets/AMD64/swresample-5.dll
+++ b/Qwilight/Assets/AMD64/swresample-5.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:00aaef5000537d1ba22ab2a792222f4e26439960fda8cd6386d368b5780fefb0
-size 434176
+oid sha256:7f191b6e26d83eafc3d8d5e4c7cbf13290b8bf3a710617a9901fcf3642c59eac
+size 435200
diff --git a/Qwilight/Assets/AMD64/swscale-8.dll b/Qwilight/Assets/AMD64/swscale-8.dll
index df400ea..494ac49 100644
--- a/Qwilight/Assets/AMD64/swscale-8.dll
+++ b/Qwilight/Assets/AMD64/swscale-8.dll
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e8f4706019a33ace0bee7d397c6dea5778d76f8fc2aecf4ab03cfd9369aba2ce
-size 643072
+oid sha256:5c04128bc81a7174380b52bdddb09e047c563c6e611f5a3d9bbd4430946eaf03
+size 646144
diff --git a/Qwilight/Assets/Language.json b/Qwilight/Assets/Language.json
index 5b8d512..9018dd1 100644
--- a/Qwilight/Assets/Language.json
+++ b/Qwilight/Assets/Language.json
@@ -280,8 +280,8 @@
"en-US": "Set automatic entry to Notification room"
},
"AutoEnterPlatformSiteContents": {
- "ko-KR": "디스코드 대화방에 자동으로 입장할지 설정합니다.",
- "en-US": "Set automatic entry to Discord chat room"
+ "ko-KR": "비공식 디스코드 대화방에 자동으로 입장할지 설정합니다.",
+ "en-US": "Set whether to automatically join unofficial Discord chat rooms."
},
"AutoHighlightContents": {
"ko-KR": "미리듣기를 하이라이트부터 시작합니다.",
@@ -2812,8 +2812,8 @@
"en-US": "Viewing results..."
},
"PlatformSiteName": {
- "ko-KR": "디스코드 대화방",
- "en-US": "Discord Chat Room"
+ "ko-KR": "비공식 디스코드 대화방",
+ "en-US": "Unofficial Discord Chat Room"
},
"PlatformText0": {
"ko-KR": "❕ 디스코드의 기본 캡처 설정을 사용하면 Qwilight과 충돌이 발생합니다.",
@@ -3800,8 +3800,8 @@
"en-US": "{0} Combo or less"
},
"WwwLevelClause": {
- "ko-KR": "본 도전과제와 클리어 보상들은 공식 디스코드에서 제보받은 사용자 지정 도전과제로 개발자와 무관합니다.",
- "en-US": "These challenges and clear rewards are custom challenges reported on the official Discord, independent of the developer."
+ "ko-KR": "본 도전과제와 클리어 보상들은 비공식 디스코드에서 제보받은 사용자 지정 도전과제로 개발자와 무관합니다.",
+ "en-US": "This challenge and clear rewards are custom challenges reported on unofficial Discord and have nothing to do with the developer."
},
"WwwLevelClearAvatars": {
"ko-KR": "클리어한 플레이어들",
diff --git a/Qwilight/Assets/MicrosoftEdgeWebview2Setup.exe b/Qwilight/Assets/MicrosoftEdgeWebview2Setup.exe
index d781d1a..abb9a9e 100644
--- a/Qwilight/Assets/MicrosoftEdgeWebview2Setup.exe
+++ b/Qwilight/Assets/MicrosoftEdgeWebview2Setup.exe
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a63d59b2af0c7b2be6984280386042a230dab928e3b426d51a0afb2eff5f98e9
-size 1632712
+oid sha256:c227208854734bbd38c9f74f39034111733da5c7ce71515b1610aedd79417f9f
+size 1636296
diff --git a/Qwilight/Assets/UI/@Default/@Default.lua b/Qwilight/Assets/UI/@Default/@Default.lua
index eea0ffd..9bc052b 100644
--- a/Qwilight/Assets/UI/@Default/@Default.lua
+++ b/Qwilight/Assets/UI/@Default/@Default.lua
@@ -1,5 +1,9 @@
-- https://taehui.ddns.net/qwilight/@assistLS
+function IsNoteFileModeBGI()
+ return configures[2] == 3
+end
+
function IsNoteFileModeBGA()
return configures[2] == 2
end
@@ -8,6 +12,10 @@
return configures[2] == 1
end
+function IsQuitModeBGI()
+ return configures[3] == 3
+end
+
function IsQuitModeBGA()
return configures[3] == 2
end
@@ -187,6 +195,8 @@
function PaintProperty0Variety()
if IsNoteFileModeBGA() then
return 2
+ elseif IsNoteFileModeBGI() then
+ return 1
else
return 11
end
@@ -195,6 +205,8 @@
function PaintProperty1Variety()
if IsNoteFileModeBGA() then
return 1
+ elseif IsNoteFileModeBGI() then
+ return 1
else
return 2
end
@@ -202,15 +214,17 @@
function PaintProperty0Etc()
if IsNoteFileModeUHD() then
- return "[UHD0.mp4, UHD1.mp4, UHD2.mp4, UHD3.mp4, UHD4.mp4, UHD5.mp4, UHD6.mp4, UHD7.mp4, UHD8.mp4, UHD9.mp4]"
+ return "[UHD0.mp4, UHD1.mp4, UHD2.mp4, UHD3.mp4, UHD4.mp4, UHD5.mp4, UHD6.mp4, UHD7.mp4, UHD8.mp4]"
else
- return "[HD0.mp4, HD1.mp4, HD2.mp4, HD3.mp4, HD4.mp4, HD5.mp4, HD6.mp4, HD7.mp4, HD8.mp4, HD9.mp4]"
+ return "[HD0.mp4, HD1.mp4, HD2.mp4, HD3.mp4, HD4.mp4, HD5.mp4, HD6.mp4, HD7.mp4, HD8.mp4]"
end
end
function PaintProperty3Variety()
if IsQuitModeBGA() then
return 2
+ elseif IsQuitModeBGI() then
+ return 1
else
return 11
end
@@ -219,6 +233,8 @@
function PaintProperty6Variety()
if IsQuitModeBGA() then
return 1
+ elseif IsQuitModeBGI() then
+ return 1
else
return 2
end
diff --git a/Qwilight/Assets/UI/@Default/@Default.yaml b/Qwilight/Assets/UI/@Default/@Default.yaml
index 1c027f7..0cfa5e5 100644
--- a/Qwilight/Assets/UI/@Default/@Default.yaml
+++ b/Qwilight/Assets/UI/@Default/@Default.yaml
@@ -13,15 +13,15 @@
lambda:
configure-0: 16:9, 16:10, 21:9, 32:9
- configure-comment-0: Select the screen ratio.
+ configure-comment-0: Select the aspect ratio.
configure-comment-0-1042: 화면 비율을 선택합니다.
- configure-1: Default (HD), Default (UHD), BGA
- configure-comment-1: Choose an animation. (Selection)
+ configure-1: Default (HD), Default (UHD), BGA, BGI
+ configure-comment-1: Select Animation. (Selection)
configure-comment-1-1042: 애니메이션을 선택합니다. (선곡)
- configure-2: Default (HD), Default (UHD), BGA
- configure-comment-2: Choose an animation. (Result)
+ configure-2: Default (HD), Default (UHD), BGA, BGI
+ configure-comment-2: Select Animation. (Result)
configure-comment-2-1042: 애니메이션을 선택합니다. (리절트)
paint:
@@ -289,7 +289,7 @@
bandQuit: StandQuitPosition0(0), StandQuitPosition1(2), 216, 48
bandContentsQuit: StandContentsQuitPosition0(), StandQuitPosition1(2), 168, 48, 30.0, 0, 2
- commentPlace: StandQuitPosition0(0), PaintProperty9Position1(0), 158, 48, 30.0
+ commentPlace: StandQuitPosition0(0), PaintProperty9Position1(0), 216, 48, 30.0
judgmentStageQuit: JudgmentStageQuitPosition0(0), JudgmentStageQuitPosition1(1), 45.87454, 12
judgmentStageContentsQuit: JudgmentStageQuitPosition0(50.87454), JudgmentStageQuitPosition1(1), JudgmentStageQuitLength(), 12, 9.0, 1, 2
diff --git a/Qwilight/Assets/UI/@Default/@Default.zip b/Qwilight/Assets/UI/@Default/@Default.zip
index 8249d07..6281a2a 100644
--- a/Qwilight/Assets/UI/@Default/@Default.zip
+++ b/Qwilight/Assets/UI/@Default/@Default.zip
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d09cc242a59a6b809ddb11a628854a978cd94af5c8b63ab5ca3d03cee10bc698
-size 535644861
+oid sha256:d1a03260980e866457933d631524ca63f29a05cf4ffc90a9734a75921dcde64f
+size 511501995
diff --git a/Qwilight/Compute/DefaultCompute.cs b/Qwilight/Compute/DefaultCompute.cs
index 5d3cd39..4f84e73 100644
--- a/Qwilight/Compute/DefaultCompute.cs
+++ b/Qwilight/Compute/DefaultCompute.cs
@@ -224,7 +224,7 @@
public Component.Judged LastJudged { get; set; } = Component.Judged.Not;
- public List NetItems { get; set; } = new();
+ public NetItem[] NetItems { get; set; } = [];
public List Notes { get; } = new();
@@ -737,10 +737,10 @@
public virtual void SetCommentPlaceText()
{
- if (NetItems.Count > 0)
+ if (_netItems.Count > 0)
{
- var i = NetItems.Single(netItem => netItem.IsMyNetItem).TargetPosition;
- CommentPlace0Text = i > 50 ? $"#>{i}" : $"#{i + 1}";
+ var i = Array.FindIndex(_netItems.OrderByDescending(netItem => netItem).ToArray(), netItem => netItem.IsMyNetItem);
+ CommentPlace0Text = i < 50 ? $"#{i + 1}" : "#>50";
CommentPlace1Text = $"/{_totalComments + 1}";
}
else
@@ -1423,7 +1423,7 @@
}
}
- public int SetNetItems(List netItems)
+ public void SetNetItems(List netItems)
{
if (Configure.Instance.HunterVarietyV2Value.Mode == HunterVariety.HunterVarietyFavor)
{
@@ -1433,14 +1433,13 @@
IsFavorNetItem = true
});
}
- var targetNetItems = netItems.OrderByDescending(netItem => netItem.StandValue).ToList();
- for (var i = targetNetItems.Count - 1; i >= 0; --i)
+ var targetNetItems = netItems.OrderByDescending(netItem => netItem).ToArray();
+ for (var i = targetNetItems.Length - 1; i >= 0; --i)
{
targetNetItems[i].DrawingPosition = i;
targetNetItems[i].TargetPosition = i;
}
NetItems = targetNetItems;
- return targetNetItems.Count;
}
public virtual void HandleWarning()
@@ -1676,9 +1675,9 @@
}
var areValidJudgmentMeters = new bool[3];
var waitBPMMap = new Queue>(WaitBPMMap);
- var waitAudioNoteMap = new Queue>>(WaitAudioNoteMap.ToList());
- var waitInputAudioMap = new Queue>>(WaitInputAudioMap.ToList());
- var waitMediaNoteMap = new Queue>>(WaitMediaNoteMap.ToList());
+ var waitAudioNoteMap = new Queue>>(WaitAudioNoteMap.ToArray());
+ var waitInputAudioMap = new Queue>>(WaitInputAudioMap.ToArray());
+ var waitMediaNoteMap = new Queue>>(WaitMediaNoteMap.ToArray());
var endNoteID = Notes.Count - 1;
var wasLastStatus = false;
var handlingNoteID = 0;
@@ -3389,7 +3388,7 @@
}
}
- if (NetItems.Count > 1)
+ if (NetItems.Length > 1)
{
var hunterVariety = Configure.Instance.HunterVarietyV2Value.Mode;
if (hunterVariety == HunterVariety.HunterVarietyMe)
@@ -4471,7 +4470,7 @@
NoteMobilityValue = IsPostableItemMode ? 0.0 : 1.0;
FaintCosine = 1.0;
FaintLayered = 0.0;
- MeterText = "#0";
+ MeterText = string.Empty;
ModeComponentValue.HandlingHitPointsModeValue = ModeComponentValue.HitPointsModeValue;
_failedDrawingMillis = 0.0;
_validJudgedNotes = 0;
@@ -4711,7 +4710,7 @@
var targetPosition = SetValidNetItems();
LevyingNetPosition = Math.Max(0, targetPosition - (Configure.Instance.NetItemCount - 1));
- QuitNetPosition = Math.Min(NetItems.Count - 1, LevyingNetPosition + Configure.Instance.NetItemCount - 1);
+ QuitNetPosition = Math.Min(NetItems.Length - 1, LevyingNetPosition + Configure.Instance.NetItemCount - 1);
}
int SetValidNetItems()
@@ -4745,7 +4744,7 @@
if (!_wasNetItems)
{
_wasNetItems = true;
- var netItem = new NetItem(AvatarID, AvatarName, DateTime.Now)
+ var netItemMe = new NetItem(AvatarID, AvatarName, DateTime.Now)
{
IsMyNetItem = true,
HitPointsModeValue = ModeComponentValue.HandlingHitPointsModeValue
@@ -4756,7 +4755,7 @@
{
SetNetItems(new()
{
- netItem
+ netItemMe
});
}
}
@@ -4782,7 +4781,7 @@
}
break;
}
- netItems.Add(netItem);
+ netItems.Add(netItemMe);
_netItems.AddRange(netItems);
lock (IsTwilightNetItemsCSX)
{
diff --git a/Qwilight/Compute/NetCompute.cs b/Qwilight/Compute/NetCompute.cs
index 83d66c8..d21f6db 100644
--- a/Qwilight/Compute/NetCompute.cs
+++ b/Qwilight/Compute/NetCompute.cs
@@ -132,7 +132,7 @@
public override void SetCommentPlaceText()
{
CommentPlace0Text = $"#{NetItems.Single(netItem => netItem.AvatarID == AvatarID).TargetPosition + 1}";
- CommentPlace1Text = $"/{NetItems.Count}";
+ CommentPlace1Text = $"/{NetItems.Length}";
}
public override void OnCompiled()
diff --git a/Qwilight/Qwilight.csproj b/Qwilight/Qwilight.csproj
index cfcd787..8309b88 100644
--- a/Qwilight/Qwilight.csproj
+++ b/Qwilight/Qwilight.csproj
@@ -45,10 +45,10 @@
-
+
-
+
all
diff --git a/Qwilight/System/DrawingSystem/DrawingSystem.cs b/Qwilight/System/DrawingSystem/DrawingSystem.cs
index be0a8f3..3cc9988 100644
--- a/Qwilight/System/DrawingSystem/DrawingSystem.cs
+++ b/Qwilight/System/DrawingSystem/DrawingSystem.cs
@@ -1069,7 +1069,7 @@
if (netItemFaint > 0F)
{
var netItems = defaultComputer.NetItems;
- if (netItems.Count > 0)
+ if (netItems.Length > 0)
{
var netItemFaintInt = (int)(100.0 * netItemFaint);
var levyingNetPosition = defaultComputer.LevyingNetPosition;
diff --git a/Qwilight/System/TwilightSystem.cs b/Qwilight/System/TwilightSystem.cs
index b75f01f..6fb29d7 100644
--- a/Qwilight/System/TwilightSystem.cs
+++ b/Qwilight/System/TwilightSystem.cs
@@ -644,7 +644,7 @@
var date = DateTime.Now;
defaultComputer.IsTwilightNetItems = true;
defaultComputer.LevyingNetPosition = 0;
- defaultComputer.QuitNetPosition = defaultComputer.SetNetItems(twilightCallNet.Data.Select((data, i) =>
+ defaultComputer.SetNetItems(twilightCallNet.Data.Select((data, i) =>
{
var avatarID = data.AvatarID;
return new NetItem(avatarID, data.AvatarName, date, data.Stand, data.Band, data.Point, data.HitPoints)
@@ -657,7 +657,8 @@
QuitValue = Utility.GetQuitStatusValue(data.Point, data.Stand, data.HitPoints, 1),
HitPointsModeValue = (ModeComponent.HitPointsMode)data.HitPointsMode
};
- }).ToList()) - 1;
+ }).ToList());
+ defaultComputer.QuitNetPosition = defaultComputer.NetItems.Length - 1;
}
}
}
diff --git a/Qwilight/UIComponent/NetItem.cs b/Qwilight/UIComponent/NetItem.cs
index c732370..2b9465e 100644
--- a/Qwilight/UIComponent/NetItem.cs
+++ b/Qwilight/UIComponent/NetItem.cs
@@ -122,6 +122,18 @@
return value;
}
+ value = PointValue.CompareTo(other.PointValue);
+ if (value != 0)
+ {
+ return value;
+ }
+
+ value = Date.CompareTo(other.Date);
+ if (value != 0)
+ {
+ return value;
+ }
+
return other.TargetPosition.CompareTo(TargetPosition);
}
}
diff --git a/Qwilight/View/Assets/UIAssets.xaml b/Qwilight/View/Assets/UIAssets.xaml
index 4c24e12..ec5205d 100644
--- a/Qwilight/View/Assets/UIAssets.xaml
+++ b/Qwilight/View/Assets/UIAssets.xaml
@@ -144,11 +144,12 @@
diff --git a/Qwilight/View/AssistWindow.xaml b/Qwilight/View/AssistWindow.xaml
index 9eb69e0..0673ad3 100644
--- a/Qwilight/View/AssistWindow.xaml
+++ b/Qwilight/View/AssistWindow.xaml
@@ -107,7 +107,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
@@ -128,7 +128,7 @@
-
+
@@ -139,7 +139,7 @@
-
+
@@ -150,7 +150,7 @@
-
+
@@ -161,7 +161,7 @@
-
+
@@ -180,7 +180,7 @@
-
+
@@ -191,7 +191,7 @@
-
+
@@ -202,7 +202,7 @@
-
+
@@ -213,7 +213,7 @@
-
+
@@ -233,7 +233,7 @@
-
+