Merge branch 'master' into fix-fixin-fixes
This commit is contained in:
commit
048e167ca8
@ -1290,7 +1290,7 @@ class ChartingState extends MusicBeatState
|
||||
FlxG.sound.music.stop();
|
||||
if (!PlayState.isSM)
|
||||
vocals.stop();
|
||||
PlayState.startTime = lastUpdatedSection.startTime;
|
||||
PlayState.startTime = _song.notes[curSection].startTime;
|
||||
LoadingState.loadAndSwitchState(new PlayState());
|
||||
});
|
||||
|
||||
@ -1842,6 +1842,7 @@ class ChartingState extends MusicBeatState
|
||||
{
|
||||
if (i.overlaps(selectBox) && !i.charterSelected)
|
||||
{
|
||||
trace("seleting " + i.strumTime);
|
||||
selectNote(i, false);
|
||||
}
|
||||
}
|
||||
@ -2141,20 +2142,14 @@ class ChartingState extends MusicBeatState
|
||||
|
||||
if (playClaps)
|
||||
{
|
||||
curRenderedNotes.forEach(function(note:Note)
|
||||
for(note in shownNotes)
|
||||
{
|
||||
if (FlxG.sound.music.playing)
|
||||
if (note.strumTime <= Conductor.songPosition && !claps.contains(note) && FlxG.sound.music.playing)
|
||||
{
|
||||
if (strumLine.overlaps(note))
|
||||
{
|
||||
if(!claps.contains(note))
|
||||
{
|
||||
claps.push(note);
|
||||
FlxG.sound.play(Paths.sound('SNAP'));
|
||||
}
|
||||
}
|
||||
claps.push(note);
|
||||
FlxG.sound.play(Paths.sound('SNAP'));
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
/*curRenderedNotes.forEach(function(note:Note) {
|
||||
if (strumLine.overlaps(note) && strumLine.y == note.y) // yandere dev type shit
|
||||
@ -2240,7 +2235,7 @@ class ChartingState extends MusicBeatState
|
||||
{
|
||||
if (FlxG.keys.pressed.CONTROL)
|
||||
{
|
||||
selectNote(note);
|
||||
selectNote(note, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2717,26 +2712,31 @@ class ChartingState extends MusicBeatState
|
||||
selectedBoxes.members.remove(selectedBoxes.members[0]);
|
||||
}
|
||||
|
||||
for (i in getSectionByTime(note.strumTime).sectionNotes)
|
||||
for(sec in _song.notes)
|
||||
{
|
||||
if (i[0] == note.strumTime && i[1] == note.rawNoteData)
|
||||
swagNum = 0;
|
||||
for(i in sec.sectionNotes)
|
||||
{
|
||||
curSelectedNote = getSectionByTime(note.strumTime).sectionNotes[swagNum];
|
||||
if (curSelectedNoteObject != null)
|
||||
curSelectedNoteObject.charterSelected = false;
|
||||
|
||||
curSelectedNoteObject = note;
|
||||
if (!note.charterSelected)
|
||||
if (i[0] == note.strumTime && i[1] == note.rawNoteData)
|
||||
{
|
||||
var box = new ChartingBox(note.x,note.y,note);
|
||||
box.connectedNoteData = i;
|
||||
selectedBoxes.add(box);
|
||||
curSelectedNoteObject.charterSelected = true;
|
||||
curSelectedNote = sec.sectionNotes[swagNum];
|
||||
if (curSelectedNoteObject != null)
|
||||
curSelectedNoteObject.charterSelected = false;
|
||||
|
||||
curSelectedNoteObject = note;
|
||||
if (!note.charterSelected)
|
||||
{
|
||||
var box = new ChartingBox(note.x,note.y,note);
|
||||
box.connectedNoteData = i;
|
||||
selectedBoxes.add(box);
|
||||
note.charterSelected = true;
|
||||
curSelectedNoteObject.charterSelected = true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
swagNum += 1;
|
||||
}
|
||||
|
||||
swagNum += 1;
|
||||
}
|
||||
|
||||
updateNoteUI();
|
||||
@ -2775,18 +2775,14 @@ class ChartingState extends MusicBeatState
|
||||
if (note.sustainLength > 0)
|
||||
curRenderedSustains.remove(note.noteCharterObject);
|
||||
|
||||
if (note.charterSelected)
|
||||
for(i in 0...selectedBoxes.members.length)
|
||||
{
|
||||
note.charterSelected = false;
|
||||
for(i in 0...selectedBoxes.members.length)
|
||||
var box = selectedBoxes.members[i];
|
||||
if (box.connectedNote == note)
|
||||
{
|
||||
var box = selectedBoxes.members[i];
|
||||
if (box.connectedNote == note)
|
||||
{
|
||||
selectedBoxes.members.remove(box);
|
||||
box.destroy();
|
||||
return;
|
||||
}
|
||||
selectedBoxes.members.remove(box);
|
||||
box.destroy();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -67,6 +67,7 @@ class FreeplayState extends MusicBeatState
|
||||
|
||||
override function create()
|
||||
{
|
||||
clean();
|
||||
var initSonglist = CoolUtil.coolTextFile(Paths.txt('data/freeplaySonglist'));
|
||||
|
||||
//var diffList = "";
|
||||
@ -398,6 +399,7 @@ class FreeplayState extends MusicBeatState
|
||||
PlayState.isSM = false;
|
||||
#end
|
||||
LoadingState.loadAndSwitchState(new PlayState());
|
||||
clean();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,4 @@
|
||||
import flixel.FlxG;
|
||||
import flixel.math.FlxMath;
|
||||
|
||||
class HelperFunctions
|
||||
|
@ -49,6 +49,7 @@ class MainMenuState extends MusicBeatState
|
||||
|
||||
override function create()
|
||||
{
|
||||
clean();
|
||||
#if windows
|
||||
// Updating Discord Rich Presence
|
||||
DiscordClient.changePresence("In the Menus", null);
|
||||
|
@ -1,5 +1,6 @@
|
||||
package;
|
||||
|
||||
import flixel.FlxBasic;
|
||||
#if windows
|
||||
import Discord.DiscordClient;
|
||||
#end
|
||||
@ -22,6 +23,26 @@ class MusicBeatState extends FlxUIState
|
||||
inline function get_controls():Controls
|
||||
return PlayerSettings.player1.controls;
|
||||
|
||||
private var assets:Array<FlxBasic> = [];
|
||||
|
||||
override function add(Object:flixel.FlxBasic):flixel.FlxBasic
|
||||
{
|
||||
if (FlxG.save.data.optimize)
|
||||
assets.push(Object);
|
||||
return super.add(Object);
|
||||
}
|
||||
|
||||
public function clean()
|
||||
{
|
||||
if (FlxG.save.data.optimize)
|
||||
{
|
||||
for(i in assets)
|
||||
{
|
||||
remove(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override function create()
|
||||
{
|
||||
TimingStruct.clearTimings();
|
||||
|
@ -86,6 +86,7 @@ class OptionsMenu extends MusicBeatState
|
||||
var blackBorder:FlxSprite;
|
||||
override function create()
|
||||
{
|
||||
clean();
|
||||
instance = this;
|
||||
var menuBG:FlxSprite = new FlxSprite().loadGraphic(Paths.image("menuDesat"));
|
||||
|
||||
@ -139,7 +140,9 @@ class OptionsMenu extends MusicBeatState
|
||||
if (acceptInput)
|
||||
{
|
||||
if (controls.BACK && !isCat)
|
||||
{
|
||||
FlxG.switchState(new MainMenuState());
|
||||
}
|
||||
else if (controls.BACK)
|
||||
{
|
||||
isCat = false;
|
||||
|
@ -209,6 +209,7 @@ class PauseSubState extends MusicBeatSubstate
|
||||
{
|
||||
var daSelected:String = menuItems[curSelected];
|
||||
|
||||
|
||||
switch (daSelected)
|
||||
{
|
||||
case "Resume":
|
||||
@ -221,6 +222,7 @@ class PauseSubState extends MusicBeatSubstate
|
||||
PlayState.instance.remove(PlayState.instance.videoSprite);
|
||||
PlayState.instance.removedVideo = true;
|
||||
}
|
||||
PlayState.instance.clean();
|
||||
FlxG.resetState();
|
||||
case "Exit to menu":
|
||||
PlayState.startTime = 0;
|
||||
@ -247,6 +249,8 @@ class PauseSubState extends MusicBeatSubstate
|
||||
if (FlxG.save.data.fpsCap > 290)
|
||||
(cast (Lib.current.getChildAt(0), Main)).setFPSCap(290);
|
||||
|
||||
PlayState.instance.clean();
|
||||
|
||||
if (PlayState.isStoryMode)
|
||||
FlxG.switchState(new StoryMenuState());
|
||||
else
|
||||
|
@ -1061,6 +1061,46 @@ class PlayState extends MusicBeatState
|
||||
}
|
||||
}
|
||||
|
||||
if (startTime != 0)
|
||||
{
|
||||
var toBeRemoved = [];
|
||||
for(i in 0...notes.members.length)
|
||||
{
|
||||
var dunceNote:Note = notes.members[i];
|
||||
|
||||
if (dunceNote.strumTime - startTime <= 0)
|
||||
toBeRemoved.push(dunceNote);
|
||||
else
|
||||
{
|
||||
if (PlayStateChangeables.useDownscroll)
|
||||
{
|
||||
if (dunceNote.mustPress)
|
||||
dunceNote.y = (playerStrums.members[Math.floor(Math.abs(dunceNote.noteData))].y
|
||||
+ 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
|
||||
2)) - dunceNote.noteYOff;
|
||||
else
|
||||
dunceNote.y = (strumLineNotes.members[Math.floor(Math.abs(dunceNote.noteData))].y
|
||||
+ 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
|
||||
2)) - dunceNote.noteYOff;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dunceNote.mustPress)
|
||||
dunceNote.y = (playerStrums.members[Math.floor(Math.abs(dunceNote.noteData))].y
|
||||
- 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
|
||||
2)) + dunceNote.noteYOff;
|
||||
else
|
||||
dunceNote.y = (strumLineNotes.members[Math.floor(Math.abs(dunceNote.noteData))].y
|
||||
- 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
|
||||
2)) + dunceNote.noteYOff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(i in toBeRemoved)
|
||||
notes.members.remove(i);
|
||||
}
|
||||
|
||||
trace('generated');
|
||||
|
||||
// add(strumLine);
|
||||
@ -1362,34 +1402,7 @@ class PlayState extends MusicBeatState
|
||||
//generateStaticArrows(0);
|
||||
//generateStaticArrows(1);
|
||||
|
||||
if (startTime != 0)
|
||||
{
|
||||
var toBeRemoved = [];
|
||||
for(i in 0...unspawnNotes.length)
|
||||
{
|
||||
var dunceNote:Note = unspawnNotes[i];
|
||||
|
||||
if (dunceNote.strumTime - startTime <= 0)
|
||||
toBeRemoved.push(dunceNote);
|
||||
else if (dunceNote.strumTime - startTime < 3500)
|
||||
{
|
||||
notes.add(dunceNote);
|
||||
|
||||
if (dunceNote.mustPress)
|
||||
dunceNote.y = (playerStrums.members[Math.floor(Math.abs(dunceNote.noteData))].y
|
||||
+ 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
|
||||
2)) - dunceNote.noteYOff;
|
||||
else
|
||||
dunceNote.y = (strumLineNotes.members[Math.floor(Math.abs(dunceNote.noteData))].y
|
||||
+ 0.45 * (startTime - dunceNote.strumTime) * FlxMath.roundDecimal(PlayStateChangeables.scrollSpeed == 1 ? SONG.speed : PlayStateChangeables.scrollSpeed,
|
||||
2)) - dunceNote.noteYOff;
|
||||
toBeRemoved.push(dunceNote);
|
||||
}
|
||||
}
|
||||
|
||||
for(i in toBeRemoved)
|
||||
unspawnNotes.remove(i);
|
||||
}
|
||||
|
||||
#if windows
|
||||
// pre lowercasing the song name (startCountdown)
|
||||
@ -2430,6 +2443,7 @@ class PlayState extends MusicBeatState
|
||||
{
|
||||
trace('GITAROO MAN EASTER EGG');
|
||||
FlxG.switchState(new GitarooPause());
|
||||
clean();
|
||||
}
|
||||
else
|
||||
openSubState(new PauseSubState(boyfriend.getScreenPosition().x, boyfriend.getScreenPosition().y));
|
||||
@ -2451,7 +2465,9 @@ class PlayState extends MusicBeatState
|
||||
#if windows
|
||||
DiscordClient.changePresence("Chart Editor", null, null, true);
|
||||
#end
|
||||
|
||||
FlxG.switchState(new ChartingState());
|
||||
clean();
|
||||
FlxG.stage.removeEventListener(KeyboardEvent.KEY_DOWN, handleInput);
|
||||
FlxG.stage.removeEventListener(KeyboardEvent.KEY_UP, releaseInput);
|
||||
#if windows
|
||||
@ -2505,6 +2521,7 @@ class PlayState extends MusicBeatState
|
||||
}
|
||||
|
||||
FlxG.switchState(new AnimationDebug(SONG.player2));
|
||||
clean();
|
||||
FlxG.stage.removeEventListener(KeyboardEvent.KEY_DOWN, handleInput);
|
||||
FlxG.stage.removeEventListener(KeyboardEvent.KEY_UP, releaseInput);
|
||||
#if windows
|
||||
@ -2519,6 +2536,7 @@ class PlayState extends MusicBeatState
|
||||
if (FlxG.keys.justPressed.ZERO)
|
||||
{
|
||||
FlxG.switchState(new AnimationDebug(SONG.player1));
|
||||
clean();
|
||||
FlxG.stage.removeEventListener(KeyboardEvent.KEY_DOWN, handleInput);
|
||||
FlxG.stage.removeEventListener(KeyboardEvent.KEY_UP, releaseInput);
|
||||
#if windows
|
||||
@ -3379,6 +3397,7 @@ class PlayState extends MusicBeatState
|
||||
FlxG.sound.playMusic(Paths.music('freakyMenu'));
|
||||
offsetTesting = false;
|
||||
LoadingState.loadAndSwitchState(new OptionsMenu());
|
||||
clean();
|
||||
FlxG.save.data.offset = offsetTest;
|
||||
}
|
||||
else
|
||||
@ -3416,6 +3435,7 @@ class PlayState extends MusicBeatState
|
||||
FlxG.sound.playMusic(Paths.music('freakyMenu'));
|
||||
Conductor.changeBPM(102);
|
||||
FlxG.switchState(new StoryMenuState());
|
||||
clean();
|
||||
}
|
||||
|
||||
#if windows
|
||||
@ -3470,6 +3490,7 @@ class PlayState extends MusicBeatState
|
||||
FlxG.sound.music.stop();
|
||||
|
||||
LoadingState.loadAndSwitchState(new PlayState());
|
||||
clean();
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -3490,7 +3511,10 @@ class PlayState extends MusicBeatState
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxG.switchState(new FreeplayState());
|
||||
clean();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -218,6 +218,7 @@ class ResultsScreen extends FlxSubState
|
||||
}
|
||||
else
|
||||
FlxG.switchState(new FreeplayState());
|
||||
PlayState.instance.clean();
|
||||
}
|
||||
|
||||
if (FlxG.keys.justPressed.F1 && !PlayState.loadRep)
|
||||
@ -288,6 +289,7 @@ class ResultsScreen extends FlxSubState
|
||||
PlayState.isStoryMode = false;
|
||||
PlayState.storyDifficulty = PlayState.rep.replay.songDiff;
|
||||
LoadingState.loadAndSwitchState(new PlayState());
|
||||
PlayState.instance.clean();
|
||||
}
|
||||
|
||||
if (FlxG.keys.justPressed.F2 && !PlayState.loadRep)
|
||||
@ -324,6 +326,7 @@ class ResultsScreen extends FlxSubState
|
||||
PlayState.isStoryMode = false;
|
||||
PlayState.storyDifficulty = PlayState.storyDifficulty;
|
||||
LoadingState.loadAndSwitchState(new PlayState());
|
||||
PlayState.instance.clean();
|
||||
}
|
||||
|
||||
super.update(elapsed);
|
||||
|
@ -99,8 +99,10 @@ class TitleState extends MusicBeatState
|
||||
|
||||
#if FREEPLAY
|
||||
FlxG.switchState(new FreeplayState());
|
||||
clean();
|
||||
#elseif CHARTING
|
||||
FlxG.switchState(new ChartingState());
|
||||
clean();
|
||||
#else
|
||||
#if !cpp
|
||||
new FlxTimer().start(1, function(tmr:FlxTimer)
|
||||
@ -305,16 +307,19 @@ class TitleState extends MusicBeatState
|
||||
OutdatedSubState.needVer = returnedData[0];
|
||||
OutdatedSubState.currChanges = returnedData[1];
|
||||
FlxG.switchState(new OutdatedSubState());
|
||||
clean();
|
||||
}
|
||||
else
|
||||
{
|
||||
FlxG.switchState(new MainMenuState());
|
||||
clean();
|
||||
}
|
||||
}
|
||||
|
||||
http.onError = function (error) {
|
||||
trace('error: $error');
|
||||
FlxG.switchState(new MainMenuState()); // fail but we go anyway
|
||||
clean();
|
||||
}
|
||||
|
||||
http.request();
|
||||
|
Loading…
x
Reference in New Issue
Block a user