This commit is contained in:
KadeDeveloper
2021-08-13 18:45:12 -07:00
6 changed files with 94 additions and 65 deletions

View File

@ -452,7 +452,7 @@ class Character extends FlxSprite
/**
* FOR GF DANCING SHIT
*/
public function dance(forced:Bool = false)
public function dance(forced:Bool = false, altAnim:Bool = false)
{
if (!debugMode)
{
@ -476,13 +476,25 @@ class Character extends FlxSprite
else
playAnim('danceLeft');
default:
playAnim('idle', forced);
if (altAnim && animation.getByName('idle-alt') != null)
playAnim('idle-alt', forced);
else
playAnim('idle', forced);
}
}
}
public function playAnim(AnimName:String, Force:Bool = false, Reversed:Bool = false, Frame:Int = 0):Void
{
if (AnimName.endsWith('alt') && animation.getByName(AnimName) == null)
{
#if debug
FlxG.log.warn(['Such alt animation doesnt exist: ' + AnimName]);
#end
AnimName = AnimName.split('-')[0];
}
animation.play(AnimName, Force, Reversed, Frame);
var daOffset = animOffsets.get(AnimName);

View File

@ -301,7 +301,7 @@ class ChartingState extends MusicBeatState
{
var renderer = new SectionRender(0,640 * awfgaw,GRID_SIZE);
if (_song.notes[awfgaw] == null)
_song.notes.push(newSection(16,true,false));
_song.notes.push(newSection(16,true,false,false));
renderer.section = _song.notes[awfgaw];
sectionRenderes.add(renderer);
@ -1183,7 +1183,8 @@ class ChartingState extends MusicBeatState
var check_mustHitSection:FlxUICheckBox;
var check_changeBPM:FlxUICheckBox;
var stepperSectionBPM:FlxUINumericStepper;
var check_altAnim:FlxUICheckBox;
var check_p1AltAnim:FlxUICheckBox;
var check_p2AltAnim:FlxUICheckBox;
function addSectionUI():Void
{
@ -1267,8 +1268,11 @@ class ChartingState extends MusicBeatState
check_mustHitSection.checked = true;
// _song.needsVoices = check_mustHit.checked;
check_altAnim = new FlxUICheckBox(10, 340, null, null, "Alternate Animation", 100);
check_altAnim.name = 'check_altAnim';
check_p1AltAnim = new FlxUICheckBox(10, 340, null, null, "P1 Alternate Animation", 100);
check_p1AltAnim.name = 'check_p1AltAnim';
check_p2AltAnim = new FlxUICheckBox(200, 340, null, null, "P2 Alternate Animation", 100);
check_p2AltAnim.name = 'check_p2AltAnim';
var refresh = new FlxButton(10, 60, 'Refresh Section', function() {
var section = getSectionByTime(Conductor.songPosition);
@ -1277,7 +1281,8 @@ class ChartingState extends MusicBeatState
return;
check_mustHitSection.checked = section.mustHitSection;
check_altAnim.checked = section.altAnim;
check_p1AltAnim.checked = section.p1AltAnim;
check_p2AltAnim.checked = section.p2AltAnim;
});
var startSection:FlxButton = new FlxButton(10, 85, "Play Here", function() {
@ -1294,7 +1299,8 @@ class ChartingState extends MusicBeatState
//tab_group_section.add(stepperCopy);
//tab_group_section.add(stepperCopyLabel);
tab_group_section.add(check_mustHitSection);
tab_group_section.add(check_altAnim);
tab_group_section.add(check_p1AltAnim);
tab_group_section.add(check_p2AltAnim);
//tab_group_section.add(copyButton);
tab_group_section.add(clearSectionButton);
tab_group_section.add(swapSection);
@ -1511,8 +1517,10 @@ class ChartingState extends MusicBeatState
var label = check.getLabel().text;
switch (label)
{
case "Alternate Animation":
getSectionByTime(Conductor.songPosition).altAnim = check.checked;
case "P1 Alternate Animation":
getSectionByTime(Conductor.songPosition).p1AltAnim = check.checked;
case "P2 Alternate Animation":
getSectionByTime(Conductor.songPosition).p2AltAnim = check.checked;
}
}
else if (id == FlxUINumericStepper.CHANGE_EVENT && (sender is FlxUINumericStepper))
@ -2073,7 +2081,8 @@ class ChartingState extends MusicBeatState
{
lastUpdatedSection = weird;
check_mustHitSection.checked = weird.mustHitSection;
check_altAnim.checked = weird.altAnim;
check_p1AltAnim.checked = weird.p1AltAnim;
check_p2AltAnim.checked = weird.p2AltAnim;
}
}
@ -2547,13 +2556,14 @@ class ChartingState extends MusicBeatState
if (sec == null)
{
check_mustHitSection.checked = true;
check_altAnim.checked = false;
check_p1AltAnim.checked = false;
check_p2AltAnim.checked = false;
}
else
{
check_mustHitSection.checked = sec.mustHitSection;
check_altAnim.checked = sec.altAnim;
check_changeBPM.checked = sec.changeBPM;
check_p1AltAnim.checked = sec.p1AltAnim;
check_p2AltAnim.checked = sec.p2AltAnim;
}
}
@ -2681,7 +2691,9 @@ class ChartingState extends MusicBeatState
mustHitSection: true,
sectionNotes: [],
typeOfSection: 0,
altAnim: false
altAnim: false,
p1AltAnim: false,
p2AltAnim: false
};
_song.notes.push(sec);
@ -2792,7 +2804,7 @@ class ChartingState extends MusicBeatState
updateGrid();
}
private function newSection(lengthInSteps:Int = 16,mustHitSection:Bool = false,altAnim:Bool = true):SwagSection
private function newSection(lengthInSteps:Int = 16,mustHitSection:Bool = false,p1AltAnim:Bool = true, p2AltAnim:Bool = true):SwagSection
{
var daPos:Float = 0;
@ -2820,7 +2832,9 @@ class ChartingState extends MusicBeatState
mustHitSection: mustHitSection,
sectionNotes: [],
typeOfSection: 0,
altAnim: altAnim
altAnim: false,
p1AltAnim: p1AltAnim,
p2AltAnim: p2AltAnim
};
@ -2894,7 +2908,7 @@ class ChartingState extends MusicBeatState
}
for (daSection1 in 0..._song.notes.length)
{
newSong.push(newSection(16,_song.notes[daSection1].mustHitSection,_song.notes[daSection1].altAnim));
newSong.push(newSection(16,_song.notes[daSection1].mustHitSection,_song.notes[daSection1].p1AltAnim,_song.notes[daSection1].p2AltAnim));
}
for (daSection in 0...(_song.notes.length))
@ -2902,7 +2916,8 @@ class ChartingState extends MusicBeatState
var aimtosetsection = daSection+Std.int((totaladdsection));
if(aimtosetsection<0) aimtosetsection = 0;
newSong[aimtosetsection].mustHitSection = _song.notes[daSection].mustHitSection;
newSong[aimtosetsection].altAnim = _song.notes[daSection].altAnim;
newSong[aimtosetsection].p1AltAnim = _song.notes[daSection].p1AltAnim;
newSong[aimtosetsection].p2AltAnim = _song.notes[daSection].p2AltAnim;
//trace("section "+daSection);
for(daNote in 0...(_song.notes[daSection].sectionNotes.length))
{
@ -3021,7 +3036,7 @@ class ChartingState extends MusicBeatState
}
else
{
var note:Note = new Note(n.strumTime, n.noteData % 4,null,false,true);
var note:Note = new Note(n.strumTime, n.noteData % 4,null,false,true, n.isAlt);
note.rawNoteData = n.noteData;
note.sustainLength = noteSus;
note.setGraphicSize(Math.floor(GRID_SIZE), Math.floor(GRID_SIZE));

View File

@ -147,7 +147,9 @@ class Note extends FlxSprite
animation.add(dataColor[i] + 'holdend', [i + 4]); // Tails
}
setGraphicSize(Std.int(width * PlayState.daPixelZoom));
var widthSize = Std.int(PlayState.curStage.startsWith('school') ? (width * PlayState.daPixelZoom) : (isSustainNote ? (width * (PlayState.daPixelZoom - 1.5)) : (width * PlayState.daPixelZoom)));
setGraphicSize(widthSize);
updateHitbox();
default:
frames = Paths.getSparrowAtlas('NOTE_assets');

View File

@ -1438,21 +1438,17 @@ class PlayState extends MusicBeatState
var introAssets:Map<String, Array<String>> = new Map<String, Array<String>>();
introAssets.set('default', ['ready', "set", "go"]);
introAssets.set('school', ['weeb/pixelUI/ready-pixel', 'weeb/pixelUI/set-pixel', 'weeb/pixelUI/date-pixel']);
introAssets.set('schoolEvil', ['weeb/pixelUI/ready-pixel', 'weeb/pixelUI/set-pixel', 'weeb/pixelUI/date-pixel']);
introAssets.set('pixel', ['weeb/pixelUI/ready-pixel', 'weeb/pixelUI/set-pixel', 'weeb/pixelUI/date-pixel']);
var introAlts:Array<String> = introAssets.get('default');
var altSuffix:String = "";
var week6Bullshit:String = null;
for (value in introAssets.keys())
if (SONG.noteStyle == 'pixel')
{
if (value == curStage)
{
trace(value + " - " + curStage);
introAlts = introAssets.get(value);
if (curStage.contains('school'))
altSuffix = '-pixel';
}
introAlts = introAssets.get('pixel');
altSuffix = '-pixel';
week6Bullshit = 'week6';
}
switch (swagCounter)
@ -1461,11 +1457,11 @@ class PlayState extends MusicBeatState
case 0:
FlxG.sound.play(Paths.sound('intro3' + altSuffix), 0.6);
case 1:
var ready:FlxSprite = new FlxSprite().loadGraphic(Paths.image(introAlts[0]));
var ready:FlxSprite = new FlxSprite().loadGraphic(Paths.image(introAlts[0], week6Bullshit));
ready.scrollFactor.set();
ready.updateHitbox();
if (curStage.startsWith('school'))
if (SONG.noteStyle == 'pixel')
ready.setGraphicSize(Std.int(ready.width * daPixelZoom));
ready.screenCenter();
@ -1479,10 +1475,10 @@ class PlayState extends MusicBeatState
});
FlxG.sound.play(Paths.sound('intro2' + altSuffix), 0.6);
case 2:
var set:FlxSprite = new FlxSprite().loadGraphic(Paths.image(introAlts[1]));
var set:FlxSprite = new FlxSprite().loadGraphic(Paths.image(introAlts[1], week6Bullshit));
set.scrollFactor.set();
if (curStage.startsWith('school'))
if (SONG.noteStyle == 'pixel')
set.setGraphicSize(Std.int(set.width * daPixelZoom));
set.screenCenter();
@ -1496,10 +1492,10 @@ class PlayState extends MusicBeatState
});
FlxG.sound.play(Paths.sound('intro1' + altSuffix), 0.6);
case 3:
var go:FlxSprite = new FlxSprite().loadGraphic(Paths.image(introAlts[2]));
var go:FlxSprite = new FlxSprite().loadGraphic(Paths.image(introAlts[2], week6Bullshit));
go.scrollFactor.set();
if (curStage.startsWith('school'))
if (SONG.noteStyle == 'pixel')
go.setGraphicSize(Std.int(go.width * daPixelZoom));
go.updateHitbox();
@ -1997,7 +1993,7 @@ class PlayState extends MusicBeatState
switch (noteTypeCheck)
{
case 'pixel':
babyArrow.loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels'), true, 17, 17);
babyArrow.loadGraphic(Paths.image('weeb/pixelUI/arrows-pixels', 'week6'), true, 17, 17);
babyArrow.animation.add('green', [6]);
babyArrow.animation.add('red', [7]);
babyArrow.animation.add('blue', [5]);
@ -3064,7 +3060,7 @@ class PlayState extends MusicBeatState
if (SONG.notes[Math.floor(curStep / 16)] != null)
{
if (SONG.notes[Math.floor(curStep / 16)].altAnim)
if (SONG.notes[Math.floor(curStep / 16)].p1AltAnim)
altAnim = '-alt';
}
@ -3090,7 +3086,7 @@ class PlayState extends MusicBeatState
{
spr.animation.play('confirm', true);
}
if (spr.animation.curAnim.name == 'confirm' && !curStage.startsWith('school'))
if (spr.animation.curAnim.name == 'confirm' && SONG.noteStyle != 'pixel')
{
spr.centerOffsets();
spr.offset.x -= 13;
@ -3125,7 +3121,7 @@ class PlayState extends MusicBeatState
{
spr.animation.play('confirm', true);
}
if (spr.animation.curAnim.name == 'confirm' && !curStage.startsWith('school'))
if (spr.animation.curAnim.name == 'confirm' && SONG.noteStyle != 'pixel')
{
spr.centerOffsets();
spr.offset.x -= 13;
@ -3177,7 +3173,7 @@ class PlayState extends MusicBeatState
if (daNote.isSustainNote)
{
daNote.x += daNote.width / 2 + 20;
if (PlayState.curStage.startsWith('school'))
if (SONG.noteStyle == 'pixel')
daNote.x -= 11;
}
@ -3604,14 +3600,16 @@ class PlayState extends MusicBeatState
var pixelShitPart1:String = "";
var pixelShitPart2:String = '';
var pixelShitPart3:String = null;
if (curStage.startsWith('school'))
if (SONG.noteStyle == 'pixel')
{
pixelShitPart1 = 'weeb/pixelUI/';
pixelShitPart2 = '-pixel';
pixelShitPart3 = 'week6';
}
rating.loadGraphic(Paths.image(pixelShitPart1 + daRating + pixelShitPart2));
rating.loadGraphic(Paths.image(pixelShitPart1 + daRating + pixelShitPart2, pixelShitPart3));
rating.screenCenter();
rating.y -= 50;
rating.x = coolText.x - 125;
@ -3677,7 +3675,7 @@ class PlayState extends MusicBeatState
if (!PlayStateChangeables.botPlay || loadRep)
add(currentTimingShown);
var comboSpr:FlxSprite = new FlxSprite().loadGraphic(Paths.image(pixelShitPart1 + 'combo' + pixelShitPart2));
var comboSpr:FlxSprite = new FlxSprite().loadGraphic(Paths.image(pixelShitPart1 + 'combo' + pixelShitPart2, pixelShitPart3));
comboSpr.screenCenter();
comboSpr.x = rating.x;
comboSpr.y = rating.y + 100;
@ -3695,7 +3693,7 @@ class PlayState extends MusicBeatState
if (!PlayStateChangeables.botPlay || loadRep)
add(rating);
if (!curStage.startsWith('school'))
if (SONG.noteStyle != 'pixel')
{
rating.setGraphicSize(Std.int(rating.width * 0.7));
rating.antialiasing = FlxG.save.data.antialiasing;
@ -3741,13 +3739,13 @@ class PlayState extends MusicBeatState
var daLoop:Int = 0;
for (i in seperatedScore)
{
var numScore:FlxSprite = new FlxSprite().loadGraphic(Paths.image(pixelShitPart1 + 'num' + Std.int(i) + pixelShitPart2));
var numScore:FlxSprite = new FlxSprite().loadGraphic(Paths.image(pixelShitPart1 + 'num' + Std.int(i) + pixelShitPart2, pixelShitPart3));
numScore.screenCenter();
numScore.x = rating.x + (43 * daLoop) - 50;
numScore.y = rating.y + 100;
numScore.cameras = [camHUD];
if (!curStage.startsWith('school'))
if (SONG.noteStyle != 'pixel')
{
numScore.antialiasing = FlxG.save.data.antialiasing;
numScore.setGraphicSize(Std.int(numScore.width * 0.5));
@ -4029,7 +4027,7 @@ class PlayState extends MusicBeatState
{
spr.animation.play('confirm', true);
}
if (spr.animation.curAnim.name == 'confirm' && !curStage.startsWith('school'))
if (spr.animation.curAnim.name == 'confirm' && SONG.noteStyle != 'pixel')
{
spr.centerOffsets();
spr.offset.x -= 13;
@ -4058,7 +4056,7 @@ class PlayState extends MusicBeatState
if (!keys[spr.ID])
spr.animation.play('static', false);
if (spr.animation.curAnim.name == 'confirm' && !curStage.startsWith('school'))
if (spr.animation.curAnim.name == 'confirm' && SONG.noteStyle != 'pixel')
{
spr.centerOffsets();
spr.offset.x -= 13;
@ -4384,17 +4382,14 @@ class PlayState extends MusicBeatState
else
totalNotesHit += 1;
switch (note.noteData)
{
case 2:
boyfriend.playAnim('singUP', true);
case 3:
boyfriend.playAnim('singRIGHT', true);
case 1:
boyfriend.playAnim('singDOWN', true);
case 0:
boyfriend.playAnim('singLEFT', true);
}
var altAnim:String = "";
if (note.isAlt)
{
altAnim = '-alt';
trace("Alt note on BF");
}
boyfriend.playAnim('sing' + dataSuffix[note.noteData] + altAnim, true);
#if windows
if (luaModchart != null)
@ -4623,7 +4618,7 @@ class PlayState extends MusicBeatState
// Dad doesnt interupt his own notes
if ((!dad.animation.curAnim.name.startsWith("sing")) && dad.curCharacter != 'gf')
if ((curBeat % idleBeat == 0 || !idleToBeat) || dad.curCharacter == "spooky")
dad.dance(idleToBeat);
dad.dance(idleToBeat, SONG.notes[Math.floor(curStep / 16)].p1AltAnim);
}
// FlxG.log.add('change bpm' + SONG.notes[Std.int(curStep / 16)].changeBPM);
wiggleShit.update(Conductor.crochet);
@ -4657,7 +4652,7 @@ class PlayState extends MusicBeatState
if (!boyfriend.animation.curAnim.name.startsWith("sing") && (curBeat % idleBeat == 0 || !idleToBeat))
{
boyfriend.playAnim('idle', idleToBeat);
boyfriend.playAnim('idle' + ((SONG.notes[Math.floor(curStep / 16)].p2AltAnim && boyfriend.animation.getByName('idle-alt') != null) ? '-alt' : ''), idleToBeat);
}
/*if (!dad.animation.curAnim.name.startsWith("sing"))

View File

@ -11,6 +11,8 @@ typedef SwagSection =
var bpm:Float;
var changeBPM:Bool;
var altAnim:Bool;
var p1AltAnim:Bool;
var p2AltAnim:Bool;
}
class Section

View File

@ -125,7 +125,6 @@ class Song
if (song.eventObjects == null)
song.eventObjects = [];
for(i in song.eventObjects)
{
var name = Reflect.field(i,"name");
@ -176,7 +175,11 @@ class Song
// conversion stuff
for (section in swagShit.notes)
{
if (section.altAnim)
section.p1AltAnim = section.altAnim;
}
return swagShit;
}