diff --git a/Project.xml b/Project.xml index 5f89f10..49c1a80 100644 --- a/Project.xml +++ b/Project.xml @@ -2,7 +2,7 @@ - + diff --git a/assets/preload/images/gallery/JOE_CAT_OMG.png b/assets/preload/images/gallery/JOE_CAT_OMG.png new file mode 100644 index 0000000..81798ae Binary files /dev/null and b/assets/preload/images/gallery/JOE_CAT_OMG.png differ diff --git a/assets/preload/images/gallery/joecry.png b/assets/preload/images/gallery/joecry.png new file mode 100644 index 0000000..d826ad8 Binary files /dev/null and b/assets/preload/images/gallery/joecry.png differ diff --git a/example_mods/data/porphyrophobia/porphyrophobia.json b/example_mods/data/porphyrophobia/porphyrophobia.json index 518007d..7a54139 100644 --- a/example_mods/data/porphyrophobia/porphyrophobia.json +++ b/example_mods/data/porphyrophobia/porphyrophobia.json @@ -1,170 +1,170 @@ { "song": { "player1": "bf", - "player2": "joeseph-pissy", + "bfTrails": true, "notes": [ { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 150, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 150 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 150, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 150 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 22588.2352941176, @@ -287,15 +287,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 24000, @@ -934,15 +934,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 25411.7647058824, @@ -1035,15 +1035,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 26823.5294117647, @@ -1466,15 +1466,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 28235.2941176471, @@ -1583,15 +1583,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 29647.0588235294, @@ -1794,15 +1794,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 31058.8235294118, @@ -1875,15 +1875,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 32470.5882352941, @@ -2066,15 +2066,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 33882.3529411765, @@ -2328,15 +2328,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 35294.1176470588, @@ -2477,15 +2477,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 36705.8823529412, @@ -2752,15 +2752,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 38117.6470588235, @@ -2991,15 +2991,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 39529.4117647059, @@ -3157,15 +3157,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 40941.1764705882, @@ -3333,15 +3333,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 42352.9411764706, @@ -3594,15 +3594,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 43764.7058823529, @@ -3835,15 +3835,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 45176.4705882353, @@ -3901,15 +3901,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 46588.2352941176, @@ -3992,15 +3992,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 48000, @@ -4083,15 +4083,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 49941.1764705882, @@ -4149,15 +4149,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 50823.5294117647, @@ -4270,15 +4270,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 52235.294117647, @@ -4331,15 +4331,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 53647.0588235294, @@ -4412,15 +4412,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 55058.8235294117, @@ -4513,15 +4513,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 57176.4705882353, @@ -4579,15 +4579,15 @@ 264.705882352941 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 57882.3529411764, @@ -4670,15 +4670,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 59294.1176470588, @@ -4761,15 +4761,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 61235.294117647, @@ -4822,15 +4822,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 62117.6470588235, @@ -4943,15 +4943,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 63529.4117647058, @@ -5004,15 +5004,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 64941.1764705882, @@ -5085,15 +5085,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 66352.9411764705, @@ -5186,15 +5186,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 67764.7058823529, @@ -5292,15 +5292,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 69176.4705882352, @@ -5358,15 +5358,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 70588.2352941176, @@ -5429,15 +5429,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 71999.9999999999, @@ -5530,15 +5530,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 73411.7647058823, @@ -5591,15 +5591,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 74823.5294117646, @@ -5722,15 +5722,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 76235.294117647, @@ -5783,15 +5783,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 77647.0588235293, @@ -5894,15 +5894,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 79058.8235294117, @@ -6000,15 +6000,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 80470.588235294, @@ -6066,15 +6066,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 81882.3529411764, @@ -6137,15 +6137,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 83294.1176470587, @@ -6238,15 +6238,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 84705.8823529411, @@ -6299,15 +6299,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 86117.6470588234, @@ -6430,15 +6430,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 87529.4117647058, @@ -6491,15 +6491,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 88941.1764705881, @@ -6602,15 +6602,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 90352.9411764705, @@ -6768,15 +6768,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 91764.7058823528, @@ -7097,15 +7097,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 93176.4705882352, @@ -7198,15 +7198,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 94588.2352941175, @@ -7593,15 +7593,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 95999.9999999999, @@ -7729,15 +7729,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 97411.7647058822, @@ -7885,15 +7885,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 98823.5294117646, @@ -8011,15 +8011,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 100235.294117647, @@ -8342,15 +8342,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 101647.058823529, @@ -8604,15 +8604,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 103058.823529412, @@ -9191,15 +9191,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 104470.588235294, @@ -9328,15 +9328,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 105882.352941176, @@ -9537,15 +9537,15 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 107294.117647059, @@ -9668,15 +9668,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 108705.882352941, @@ -9939,15 +9939,15 @@ 88.2352941176471 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 110117.647058823, @@ -10070,15 +10070,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 111529.411764706, @@ -10266,15 +10266,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 112941.176470588, @@ -10342,15 +10342,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 115235.294117647, @@ -10453,15 +10453,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 115764.705882353, @@ -10554,15 +10554,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 117176.470588235, @@ -10615,15 +10615,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 118588.235294117, @@ -10726,15 +10726,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 120000, @@ -10827,15 +10827,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 121411.764705882, @@ -10878,15 +10878,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 122823.529411764, @@ -10949,15 +10949,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 124235.294117647, @@ -11025,15 +11025,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 126529.411764706, @@ -11136,15 +11136,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 127058.823529412, @@ -11237,15 +11237,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 128470.588235294, @@ -11298,15 +11298,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 129882.352941176, @@ -11409,15 +11409,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 131294.117647059, @@ -11510,15 +11510,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 132705.882352941, @@ -11561,15 +11561,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 134117.647058823, @@ -11632,15 +11632,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 135529.411764706, @@ -11758,15 +11758,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 136941.176470588, @@ -11849,15 +11849,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 138352.94117647, @@ -11980,15 +11980,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 139764.705882353, @@ -12071,15 +12071,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 141176.470588235, @@ -12172,15 +12172,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 142588.235294117, @@ -12283,15 +12283,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 144000, @@ -12334,15 +12334,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 145411.764705882, @@ -12385,15 +12385,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 146823.529411764, @@ -12511,15 +12511,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 148235.294117647, @@ -12602,15 +12602,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 149647.058823529, @@ -12733,15 +12733,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 151058.823529412, @@ -12824,15 +12824,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 152470.588235294, @@ -12925,15 +12925,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 153882.352941176, @@ -13036,15 +13036,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 155294.117647059, @@ -13087,15 +13087,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 156705.882352941, @@ -13148,15 +13148,15 @@ 0 ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [ [ 158117.647058823, @@ -13187,22 +13187,42 @@ "Alt Animation" ] ], - "sectionBeats": 4, - "altAnim": false, + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { - "typeOfSection": 0, + "sectionBeats": 4, "sectionNotes": [], + "typeOfSection": 0, + "gfSection": false, + "altAnim": false, + "mustHitSection": false, + "changeBPM": false, + "bpm": 170 + }, + { "sectionBeats": 4, + "sectionNotes": [], + "typeOfSection": 0, + "gfSection": false, "altAnim": false, + "mustHitSection": false, + "changeBPM": false, + "bpm": 170 + }, + { + "sectionBeats": 4, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": false, "changeBPM": false, - "mustHitSection": false + "bpm": 170 }, { "typeOfSection": 0, @@ -13212,7 +13232,7 @@ "gfSection": false, "bpm": 170, "changeBPM": false, - "mustHitSection": false + "mustHitSection": true }, { "typeOfSection": 0, @@ -13222,17 +13242,17 @@ "gfSection": false, "bpm": 170, "changeBPM": false, - "mustHitSection": false + "mustHitSection": true }, { - "sectionBeats": 4, - "sectionNotes": [], "typeOfSection": 0, - "gfSection": false, + "sectionNotes": [], + "sectionBeats": 4, "altAnim": false, - "mustHitSection": true, + "gfSection": false, + "bpm": 170, "changeBPM": false, - "bpm": 170 + "mustHitSection": true }, { "sectionBeats": 4, @@ -13295,84 +13315,84 @@ "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { - "typeOfSection": 0, - "sectionNotes": [], "sectionBeats": 4, - "altAnim": false, + "sectionNotes": [], + "typeOfSection": 0, "gfSection": false, - "bpm": 170, + "altAnim": false, + "mustHitSection": true, "changeBPM": false, - "mustHitSection": true + "bpm": 170 }, { "typeOfSection": 0, @@ -13515,15 +13535,15 @@ "mustHitSection": true } ], - "bfTrails": true, + "player2": "joeseph-pissy", "disableAntiMash": false, "splashSkin": "noteSplashes", "songInstVolume": 1, - "song": "porphyrophobia", - "characterTrails": true, - "validScore": true, - "arrowSkin": "", + "song": "Porphyrophobia", "disableDebugButtons": false, + "arrowSkin": "", + "validScore": true, + "characterTrails": true, "speed": 3.2, "swapStrumLines": false, "events": [ @@ -15065,10 +15085,10 @@ ], "gfVersion": "gf", "healthdrainKill": false, - "healthdrain": 1, "cameraMoveOnNotes": false, - "needsVoices": true, + "healthdrain": 1, "stage": "Galaxy Background", + "needsVoices": true, "bpm": 170 } } \ No newline at end of file diff --git a/source/ClientPrefs.hx b/source/ClientPrefs.hx index 117cca4..c3c7f93 100644 --- a/source/ClientPrefs.hx +++ b/source/ClientPrefs.hx @@ -32,6 +32,7 @@ class ClientPrefs { public static var hitsoundVolume:Float = 0; public static var pauseMusic:String = 'Tea Time'; public static var checkForUpdates:Bool = true; + public static var skipIntro:Bool = false; public static var gameplaySettings:Map = [ 'scrollspeed' => 1.0, 'scrolltype' => 'multiplicative', @@ -128,6 +129,7 @@ class ClientPrefs { FlxG.save.data.hitsoundVolume = hitsoundVolume; FlxG.save.data.pauseMusic = pauseMusic; FlxG.save.data.checkForUpdates = checkForUpdates; + FlxG.save.data.skipIntro = skipIntro; FlxG.save.flush(); @@ -259,6 +261,9 @@ class ClientPrefs { { checkForUpdates = FlxG.save.data.checkForUpdates; } + if(FlxG.save.data.skipIntro != null) { + skipIntro = FlxG.save.data.skipIntro; + } var save:FlxSave = new FlxSave(); save.bind('controls_v2', 'ninjamuffin99'); diff --git a/source/CreditsState.hx b/source/CreditsState.hx index 5d82fe4..7471989 100644 --- a/source/CreditsState.hx +++ b/source/CreditsState.hx @@ -13,6 +13,7 @@ import flixel.text.FlxText; import flixel.util.FlxColor; import flixel.tweens.FlxTween; import flixel.tweens.FlxEase; +import lime.app.Application; #if MODS_ALLOWED import sys.FileSystem; import sys.io.File; @@ -44,6 +45,8 @@ class CreditsState extends MusicBeatState DiscordClient.changePresence("In the Menus", null); #end + Application.current.window.title = Main.applicationTitle + ' || ' + 'The ones who made this possible.'; + persistentUpdate = true; bg = new FlxSprite().loadGraphic(Paths.image('menuDesat')); add(bg); diff --git a/source/Discord.hx b/source/Discord.hx index adb081b..b36f429 100644 --- a/source/Discord.hx +++ b/source/Discord.hx @@ -17,7 +17,7 @@ class DiscordClient { trace("Discord Client starting..."); DiscordRpc.start({ - clientID: "863222024192262205", + clientID: "1206741846219432056", onReady: onReady, onError: onError, onDisconnected: onDisconnected @@ -45,7 +45,7 @@ class DiscordClient details: "In the Menus", state: null, largeImageKey: 'icon', - largeImageText: "Psych Engine" + largeImageText: "Vs Joeseph" }); } @@ -82,7 +82,7 @@ class DiscordClient details: details, state: state, largeImageKey: 'icon', - largeImageText: "Engine Version: " + MainMenuState.psychEngineVersion, + largeImageText: "Mod Version: " + MainMenuState.joesephVersion, smallImageKey : smallImageKey, // Obtained times are in milliseconds so they are divided so Discord can use it startTimestamp : Std.int(startTimestamp / 1000), diff --git a/source/FreeplayState.hx b/source/FreeplayState.hx index 8c512ad..e041bf6 100644 --- a/source/FreeplayState.hx +++ b/source/FreeplayState.hx @@ -18,6 +18,7 @@ import flixel.util.FlxColor; import flixel.tweens.FlxTween; import flixel.tweens.FlxEase; import lime.utils.Assets; +import lime.app.Application; import flixel.system.FlxSound; import openfl.utils.Assets as OpenFlAssets; import WeekData; @@ -89,6 +90,8 @@ class FreeplayState extends MusicBeatState DiscordClient.changePresence("In the Menus", null); #end + Application.current.window.title = Main.applicationTitle + ' || ' + 'In the menus'; + for (i in 0...WeekData.weeksList.length) { if(weekIsLocked(WeekData.weeksList[i])) continue; diff --git a/source/GalleryState.hx b/source/GalleryState.hx index 310e231..7d3f35c 100644 --- a/source/GalleryState.hx +++ b/source/GalleryState.hx @@ -12,6 +12,7 @@ import flixel.util.FlxColor; import flixel.util.FlxTimer; import flixel.tweens.FlxEase; import flixel.tweens.FlxTween; +import lime.app.Application; class GalleryState extends MusicBeatState //awesome.. { @@ -146,6 +147,16 @@ class GalleryState extends MusicBeatState //awesome.. 'Joeseph Art 8', 'FIRE', 'joseph vs johnathan who will won? (Made by Ethan)' + ], + [ + 'Joeseph Art 9', + 'joecry', + 'joecry (Made by Shell)' + ], + [ + 'cat joeseph', + 'JOE_CAT_OMG', + 'blink twice if you need help (Made by Ethan)' ] ]; @@ -185,6 +196,8 @@ class GalleryState extends MusicBeatState //awesome.. override function create() { + Application.current.window.title = Main.applicationTitle + ' || ' + 'Viewing antiques'; + bg = new FlxSprite().loadGraphic(Paths.image('menuNegated')); bg.antialiasing = ClientPrefs.globalAntialiasing; bg.color = 0xCC5AD0; diff --git a/source/Main.hx b/source/Main.hx index 8c1684c..4885cbd 100644 --- a/source/Main.hx +++ b/source/Main.hx @@ -35,6 +35,7 @@ class Main extends Sprite var skipSplash:Bool = true; // Whether to skip the flixel splash screen that appears in release mode. var startFullscreen:Bool = false; // Whether to start the game in fullscreen on desktop targets public static var fpsVar:FPS; + public static var applicationTitle:String = "Friday Night Funkin' - Vs Joeseph"; // You can pretty much ignore everything from here on - your code should go in your states. @@ -84,6 +85,8 @@ class Main extends Sprite ClientPrefs.loadDefaultKeys(); addChild(new FlxGame(gameWidth, gameHeight, initialState, zoom, framerate, framerate, skipSplash, startFullscreen)); + windows.WindowsAPI.setDarkMode(true); + #if !mobile fpsVar = new FPS(10, 3, 0xFFFFFF); addChild(fpsVar); diff --git a/source/MainMenuState.hx b/source/MainMenuState.hx index fdfea34..f76b96c 100644 --- a/source/MainMenuState.hx +++ b/source/MainMenuState.hx @@ -28,6 +28,7 @@ using StringTools; class MainMenuState extends MusicBeatState { public static var psychEngineVersion:String = '0.6.2'; //This is also used for Discord RPC + public static var joesephVersion:String = 'DEMO 1'; //this is also also used for rpc public static var curSelected:Int = 0; var menuItems:FlxTypedGroup; @@ -55,6 +56,8 @@ class MainMenuState extends MusicBeatState #end WeekData.loadTheFirstEnabledMod(); + Application.current.window.title = Main.applicationTitle + ' || ' + 'In the menus'; + FlxG.mouse.visible = true; #if desktop @@ -171,6 +174,10 @@ class MainMenuState extends MusicBeatState FlxG.camera.follow(camFollowPos, null, 1); + var versionShit:FlxText = new FlxText(12, FlxG.height - 64, 0, "Vs Joeseph " + joesephVersion, 12); + versionShit.scrollFactor.set(); + versionShit.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); + add(versionShit); var versionShit:FlxText = new FlxText(12, FlxG.height - 44, 0, "Psych Engine v" + psychEngineVersion, 12); versionShit.scrollFactor.set(); versionShit.setFormat("VCR OSD Mono", 16, FlxColor.WHITE, LEFT, FlxTextBorderStyle.OUTLINE, FlxColor.BLACK); diff --git a/source/PlayState.hx b/source/PlayState.hx index 9a0b466..6ab2f27 100644 --- a/source/PlayState.hx +++ b/source/PlayState.hx @@ -40,6 +40,7 @@ import flixel.util.FlxStringUtil; import flixel.util.FlxTimer; import haxe.Json; import lime.utils.Assets; +import lime.app.Application; import openfl.Lib; import openfl.display.BlendMode; import openfl.display.Shader; @@ -338,6 +339,8 @@ class PlayState extends MusicBeatState { Paths.clearStoredMemory(); + Application.current.window.title = Main.applicationTitle + ' || ' + SONG.song + ' - ' + FreeplayState.curDiff.toUpperCase(); + // for lua instance = this; diff --git a/source/SplashState.hx b/source/SplashState.hx index 5e4097b..27c0cd0 100644 --- a/source/SplashState.hx +++ b/source/SplashState.hx @@ -33,11 +33,24 @@ class SplashState extends MusicBeatState // plays joeseph splash screen then goe override function create() { - #if VIDEOS_ALLOWED - playSplashVideo(splashVideoName); - #else - MusicBeatState.switchState(new TitleState()); // cuz no videos allowed!! - #end + Paths.clearStoredMemory(); + Paths.clearUnusedMemory(); + + PlayerSettings.init(); + + FlxG.save.bind('funkin', 'ninjamuffin99'); + + ClientPrefs.loadPrefs(); + + #if VIDEOS_ALLOWED + if (!ClientPrefs.skipIntro) { + playSplashVideo(splashVideoName); + } else { + MusicBeatState.switchState(new TitleState()); + } + #else + MusicBeatState.switchState(new TitleState()); // cuz no videos allowed!! + #end /* skipText = new FlxText(10, FlxG.height - 42, FlxG.width, "Press ENTER to skip", 32); diff --git a/source/TitleState.hx b/source/TitleState.hx index 4b251ae..c67affe 100644 --- a/source/TitleState.hx +++ b/source/TitleState.hx @@ -92,6 +92,8 @@ class TitleState extends MusicBeatState Paths.clearStoredMemory(); Paths.clearUnusedMemory(); + Application.current.window.title = Main.applicationTitle + ' || ' + 'Title screen'; + #if LUA_ALLOWED Paths.pushGlobalMods(); #end @@ -130,9 +132,9 @@ class TitleState extends MusicBeatState swagShader = new ColorSwap(); super.create(); - FlxG.save.bind('funkin', 'ninjamuffin99'); + // FlxG.save.bind('funkin', 'ninjamuffin99'); - ClientPrefs.loadPrefs(); + // ClientPrefs.loadPrefs(); #if CHECK_FOR_UPDATES if(ClientPrefs.checkForUpdates && !closedState) { diff --git a/source/editors/CharacterEditorState.hx b/source/editors/CharacterEditorState.hx index c95a940..deaa186 100644 --- a/source/editors/CharacterEditorState.hx +++ b/source/editors/CharacterEditorState.hx @@ -28,6 +28,7 @@ import flixel.ui.FlxSpriteButton; import openfl.net.FileReference; import openfl.events.Event; import openfl.events.IOErrorEvent; +import lime.app.Application; import haxe.Json; import Character; import flixel.system.debug.interaction.tools.Pointer.GraphicCursorCross; @@ -343,7 +344,7 @@ class CharacterEditorState extends MusicBeatState "fps": 24, "anim": "idle", "indices": [], - "name": "Dad idle dance" + "name": "idle" }, { "offsets": [ @@ -354,7 +355,7 @@ class CharacterEditorState extends MusicBeatState "fps": 24, "anim": "singLEFT", "loop": false, - "name": "Dad Sing Note LEFT" + "name": "left" }, { "offsets": [ @@ -365,7 +366,7 @@ class CharacterEditorState extends MusicBeatState "fps": 24, "anim": "singDOWN", "loop": false, - "name": "Dad Sing Note DOWN" + "name": "down" }, { "offsets": [ @@ -376,7 +377,7 @@ class CharacterEditorState extends MusicBeatState "fps": 24, "anim": "singUP", "loop": false, - "name": "Dad Sing Note UP" + "name": "up" }, { "offsets": [ @@ -387,7 +388,7 @@ class CharacterEditorState extends MusicBeatState "fps": 24, "anim": "singRIGHT", "loop": false, - "name": "Dad Sing Note RIGHT" + "name": "right" } ], "no_antialiasing": false, @@ -1083,6 +1084,8 @@ class CharacterEditorState extends MusicBeatState // Updating Discord Rich Presence DiscordClient.changePresence("Character Editor", "Character: " + daAnim, leHealthIcon.getCharacter()); #end + + Application.current.window.title = Main.applicationTitle + ' || ' + 'Editing character: ' + daAnim; } override function update(elapsed:Float) diff --git a/source/editors/ChartingState.hx b/source/editors/ChartingState.hx index 9345236..d86e158 100644 --- a/source/editors/ChartingState.hx +++ b/source/editors/ChartingState.hx @@ -42,6 +42,7 @@ import openfl.net.FileReference; import openfl.utils.ByteArray; import openfl.utils.Assets as OpenFlAssets; import lime.media.AudioBuffer; +import lime.app.Application; import haxe.io.Bytes; import flash.geom.Rectangle; import flixel.util.FlxSort; @@ -235,6 +236,8 @@ class ChartingState extends MusicBeatState DiscordClient.changePresence("Chart Editor", StringTools.replace(_song.song, '-', ' ')); #end + Application.current.window.title = Main.applicationTitle + ' || Charting "' + StringTools.replace(_song.song, '-', ' ') + '"'; + vortex = FlxG.save.data.chart_vortex; ignoreWarnings = FlxG.save.data.ignoreWarnings; var bg:FlxSprite = new FlxSprite().loadGraphic(Paths.image('menuDesat')); diff --git a/source/editors/DialogueCharacterEditorState.hx b/source/editors/DialogueCharacterEditorState.hx index c812a7f..3a23e8f 100644 --- a/source/editors/DialogueCharacterEditorState.hx +++ b/source/editors/DialogueCharacterEditorState.hx @@ -23,6 +23,7 @@ import flixel.ui.FlxButton; import openfl.net.FileReference; import openfl.events.Event; import openfl.events.IOErrorEvent; +import lime.app.Application; import flash.net.FileFilter; import haxe.Json; import DialogueBoxPsych; @@ -467,6 +468,8 @@ class DialogueCharacterEditorState extends MusicBeatState // Updating Discord Rich Presence DiscordClient.changePresence("Dialogue Character Editor", "Editting: " + character.jsonFile.image); #end + + Application.current.window.title = Main.applicationTitle + ' || Editing: ' + character.jsonFile.image; } function updateTextBox() { diff --git a/source/editors/DialogueEditorState.hx b/source/editors/DialogueEditorState.hx index 4b64597..f2d12d7 100644 --- a/source/editors/DialogueEditorState.hx +++ b/source/editors/DialogueEditorState.hx @@ -23,6 +23,7 @@ import flixel.ui.FlxButton; import openfl.net.FileReference; import openfl.events.Event; import openfl.events.IOErrorEvent; +import lime.app.Application; import flash.net.FileFilter; import haxe.Json; import DialogueBoxPsych; @@ -259,6 +260,8 @@ class DialogueEditorState extends MusicBeatState if(rpcText.length < 3) rpcText += ' '; //Fixes a bug on RPC that triggers an error when the text is too short DiscordClient.changePresence("Dialogue Editor", rpcText); #end + + Application.current.window.title = Main.applicationTitle + ' || Editing dialogue'; } override function getEvent(id:String, sender:Dynamic, data:Dynamic, ?params:Array) { diff --git a/source/editors/MasterEditorMenu.hx b/source/editors/MasterEditorMenu.hx index 5ea6d29..1485c7f 100644 --- a/source/editors/MasterEditorMenu.hx +++ b/source/editors/MasterEditorMenu.hx @@ -12,6 +12,7 @@ import flixel.math.FlxMath; import flixel.text.FlxText; import flixel.util.FlxColor; import flixel.system.FlxSound; +import lime.app.Application; #if MODS_ALLOWED import sys.FileSystem; #end @@ -43,6 +44,8 @@ class MasterEditorMenu extends MusicBeatState DiscordClient.changePresence("Editors Main Menu", null); #end + Application.current.window.title = Main.applicationTitle + ' || In the master editor'; + var bg:FlxSprite = new FlxSprite().loadGraphic(Paths.image('menuDesat')); bg.scrollFactor.set(); bg.color = 0xFF353535; diff --git a/source/editors/MenuCharacterEditorState.hx b/source/editors/MenuCharacterEditorState.hx index e16be2c..e08e431 100644 --- a/source/editors/MenuCharacterEditorState.hx +++ b/source/editors/MenuCharacterEditorState.hx @@ -24,6 +24,7 @@ import MenuCharacter; import openfl.net.FileReference; import openfl.events.Event; import openfl.events.IOErrorEvent; +import lime.app.Application; import flash.net.FileFilter; import haxe.Json; #if sys @@ -53,6 +54,8 @@ class MenuCharacterEditorState extends MusicBeatState DiscordClient.changePresence("Menu Character Editor", "Editting: " + characterFile.image); #end + Application.current.window.title = Main.applicationTitle + ' || Editing a menu character: ' + characterFile.image; + grpWeekCharacters = new FlxTypedGroup(); for (char in 0...3) { diff --git a/source/editors/WeekEditorState.hx b/source/editors/WeekEditorState.hx index f99a70a..76731e4 100644 --- a/source/editors/WeekEditorState.hx +++ b/source/editors/WeekEditorState.hx @@ -24,6 +24,7 @@ import flixel.ui.FlxButton; import openfl.net.FileReference; import openfl.events.Event; import openfl.events.IOErrorEvent; +import lime.app.Application; import flash.net.FileFilter; import lime.system.Clipboard; import haxe.Json; @@ -369,6 +370,8 @@ class WeekEditorState extends MusicBeatState // Updating Discord Rich Presence DiscordClient.changePresence("Week Editor", "Editting: " + weekFileName); #end + + Application.current.window.title = Main.applicationTitle + ' || Editing a week: ' + weekFileName; } override function getEvent(id:String, sender:Dynamic, data:Dynamic, ?params:Array) { diff --git a/source/options/ModSettingsSubState.hx b/source/options/ModSettingsSubState.hx new file mode 100644 index 0000000..3375065 --- /dev/null +++ b/source/options/ModSettingsSubState.hx @@ -0,0 +1,48 @@ +package options; + +#if desktop +import Discord.DiscordClient; +#end +import flash.text.TextField; +import flixel.FlxCamera; +import flixel.FlxG; +import flixel.FlxSprite; +import flixel.addons.display.FlxGridOverlay; +import flixel.group.FlxGroup.FlxTypedGroup; +import flixel.math.FlxMath; +import flixel.text.FlxText; +import flixel.util.FlxColor; +import lime.utils.Assets; +import flixel.FlxSubState; +import flash.text.TextField; +import flixel.FlxG; +import flixel.FlxSprite; +import flixel.util.FlxSave; +import haxe.Json; +import flixel.tweens.FlxEase; +import flixel.tweens.FlxTween; +import flixel.util.FlxTimer; +import flixel.input.keyboard.FlxKey; +import flixel.graphics.FlxGraphic; +import Controls; +import openfl.Lib; + +using StringTools; + +class ModSettingsSubState extends BaseOptionsMenu +{ + public function new() + { + title = 'Mod'; + rpcTitle = 'Mod Settings Menu'; //for Discord Rich Presence + + var option:Option = new Option('Skip Splash Screen', + 'If checked, the splash screen that plays when launching\nthe mod will be disabled.', + 'skipIntro', + 'bool', + false); + addOption(option); + + super(); + } +} \ No newline at end of file diff --git a/source/options/OptionsState.hx b/source/options/OptionsState.hx index 131974f..034236c 100644 --- a/source/options/OptionsState.hx +++ b/source/options/OptionsState.hx @@ -29,7 +29,7 @@ using StringTools; class OptionsState extends MusicBeatState { - var options:Array = ['Note Colors', 'Controls', 'Adjust Delay and Combo', 'Graphics', 'Visuals and UI', 'Gameplay']; + var options:Array = ['Note Colors', 'Controls', 'Adjust Delay and Combo', 'Graphics', 'Visuals and UI', 'Gameplay', 'Mod']; private var grpOptions:FlxTypedGroup; private static var curSelected:Int = 0; public static var menuBG:FlxSprite; @@ -46,6 +46,8 @@ class OptionsState extends MusicBeatState openSubState(new options.VisualsUISubState()); case 'Gameplay': openSubState(new options.GameplaySettingsSubState()); + case 'Mod': + openSubState(new options.ModSettingsSubState()); case 'Adjust Delay and Combo': LoadingState.loadAndSwitchState(new options.NoteOffsetState()); } diff --git a/source/windows/WinAPI.hx b/source/windows/WinAPI.hx new file mode 100644 index 0000000..4fac9f6 --- /dev/null +++ b/source/windows/WinAPI.hx @@ -0,0 +1,64 @@ +package windows; + +import windows.WindowsAPI.MessageBoxIcon; +#if windows +@:buildXml(' + + + + + + + +') + +// majority is taken from microsofts doc +@:cppFileCode(' +#include "mmdeviceapi.h" +#include "combaseapi.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define SAFE_RELEASE(punk) \\ + if ((punk) != NULL) \\ + { (punk)->Release(); (punk) = NULL; } + +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 // supported in Windows 11 (Build 22000 and higher) +#endif + +static long lastDefId = 0; +') +@:dox(hide) +class WinAPI { // i have no idea how cpp works, but these functions don't affect any other platforms + @:functionCode(' + #if defined(HX_WINDOWS) // makes it only work on Windows platforms + int darkMode = enable ? 1 : 0; + HWND window = GetActiveWindow(); + if (S_OK != DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, reinterpret_cast(&darkMode), sizeof(darkMode))) { + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, reinterpret_cast(&darkMode), sizeof(darkMode)); + } + #endif + ') + public static function setDarkMode(enable:Bool) { + return true; + } + + #if windows + @:functionCode(' + int result = MessageBox(GetActiveWindow(), message, caption, icon | MB_SETFOREGROUND); + ') + public static function showMessageBox(caption:String, message:String, icon:MessageBoxIcon = MSG_WARNING) { + // nothing + } + #end +} +#end diff --git a/source/windows/WindowsAPI.hx b/source/windows/WindowsAPI.hx new file mode 100644 index 0000000..86b1ab9 --- /dev/null +++ b/source/windows/WindowsAPI.hx @@ -0,0 +1,39 @@ +package windows; + +import windows.WinAPI; + +/** + * Class for Windows-only functions, such as transparent windows, message boxes, and more. + * Does not have any effect on other platforms. + */ +class WindowsAPI { + /** + * Sets the window titlebar to dark mode + */ + public static function setDarkMode(enable:Bool) { + #if windows + WinAPI.setDarkMode(enable); + #end + // temporary solution for dark mode + lime.app.Application.current.window.borderless = true; + lime.app.Application.current.window.borderless = false; + } + + /** + * Shows a message box + */ + public static function showMessageBox(caption:String, message:String, icon:MessageBoxIcon = MSG_WARNING) { + #if windows + WinAPI.showMessageBox(caption, message, icon); + #else + lime.app.Application.current.window.alert(message, caption); + #end + } +} + +@:enum abstract MessageBoxIcon(Int) { + var MSG_ERROR:MessageBoxIcon = 0x00000010; + var MSG_QUESTION:MessageBoxIcon = 0x00000020; + var MSG_WARNING:MessageBoxIcon = 0x00000030; + var MSG_INFORMATION:MessageBoxIcon = 0x00000040; +} \ No newline at end of file