1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2024-12-27 07:27:12 +00:00

...Okay it wasn't that simple

This commit is contained in:
dombomb64 2024-09-17 16:47:16 -04:00
parent 0706192cbe
commit 6e33cac9ec
3 changed files with 22 additions and 5 deletions

View file

@ -85,7 +85,8 @@ class StrumlineNote extends FlxSprite
noteStyle.applyStrumlineFrames(this); noteStyle.applyStrumlineFrames(this);
noteStyle.applyStrumlineAnimations(this, this.direction); noteStyle.applyStrumlineAnimations(this, this.direction);
this.scale.set(noteStyle.getStrumlineScale()); var scale = noteStyle.getStrumlineScale();
this.scale.set(scale, scale);
this.updateHitbox(); this.updateHitbox();
noteStyle.applyStrumlineOffsets(this); noteStyle.applyStrumlineOffsets(this);

View file

@ -87,6 +87,7 @@ class SustainTrail extends FlxSprite
public var bottomClip:Float = 0.9; public var bottomClip:Float = 0.9;
public var isPixel:Bool; public var isPixel:Bool;
public var noteStyleOffsets:Array<Float>;
var graphicWidth:Float = 0; var graphicWidth:Float = 0;
var graphicHeight:Float = 0; var graphicHeight:Float = 0;
@ -107,6 +108,7 @@ class SustainTrail extends FlxSprite
this.noteDirection = noteDirection; this.noteDirection = noteDirection;
setupHoldNoteGraphic(noteStyle); setupHoldNoteGraphic(noteStyle);
noteStyleOffsets = noteStyle.getHoldNoteOffsets();
indices = new DrawData<Int>(12, true, TRIANGLE_VERTEX_INDICES); indices = new DrawData<Int>(12, true, TRIANGLE_VERTEX_INDICES);
@ -137,7 +139,6 @@ class SustainTrail extends FlxSprite
zoom = 1.0; zoom = 1.0;
zoom *= noteStyle.fetchHoldNoteScale(); zoom *= noteStyle.fetchHoldNoteScale();
zoom *= 0.7;
// CALCULATE SIZE // CALCULATE SIZE
graphicWidth = graphic.width / 8 * zoom; // amount of notes * 2 graphicWidth = graphic.width / 8 * zoom; // amount of notes * 2
@ -202,7 +203,7 @@ class SustainTrail extends FlxSprite
{ {
width = graphicWidth; width = graphicWidth;
height = graphicHeight; height = graphicHeight;
offset.set(0, 0); offset.set(noteStyleOffsets[0], noteStyleOffsets[1]);
origin.set(width * 0.5, height * 0.5); origin.set(width * 0.5, height * 0.5);
} }

View file

@ -93,7 +93,8 @@ class NoteStyle implements IRegistryEntry<NoteStyleData>
buildNoteAnimations(target); buildNoteAnimations(target);
// Set the scale. // Set the scale.
target.scale.set(getNoteScale()); var scale = getNoteScale();
target.scale.set(scale, scale);
target.updateHitbox(); target.updateHitbox();
} }
@ -224,6 +225,13 @@ class NoteStyle implements IRegistryEntry<NoteStyleData>
return data?.scale ?? 1.0; return data?.scale ?? 1.0;
} }
public function getHoldNoteOffsets():Array<Float>
{
var data = _data?.assets?.holdNote;
if (data == null && fallback != null) return fallback.getHoldNoteOffsets();
return data?.offsets ?? [0.0, 0.0];
}
public function applyStrumlineFrames(target:StrumlineNote):Void public function applyStrumlineFrames(target:StrumlineNote):Void
{ {
// TODO: Add support for multi-Sparrow. // TODO: Add support for multi-Sparrow.
@ -304,9 +312,16 @@ class NoteStyle implements IRegistryEntry<NoteStyleData>
return thx.Arrays.filterNull(result); return thx.Arrays.filterNull(result);
} }
public function getStrumlineOffsets():Array<Float>
{
var data = _data?.assets?.noteStrumline;
if (data == null && fallback != null) return fallback.getStrumlineOffsets();
return data?.offsets ?? [0.0, 0.0];
}
public function applyStrumlineOffsets(target:StrumlineNote):Void public function applyStrumlineOffsets(target:StrumlineNote):Void
{ {
var offsets = _data?.assets?.noteStrumline?.offsets ?? [0.0, 0.0]; var offsets = getStrumlineOffsets();
target.x += offsets[0]; target.x += offsets[0];
target.y += offsets[1]; target.y += offsets[1];
} }