Open khuonghoanghuy opened 2 months ago
This has been known for a good while and there's even a PR for it, yet the devs still haven't fixed it
You can fix that
go to ... yourmod/scripts/characters/
and create your character script yourcharactername.hxc
and copy this, but change names!
import funkin.play.character.SparrowCharacter;
class YourCharNameCharacter extends SparrowCharacter {
function new() {
super('yourcharacter');
}
// script by Nebula_Zorua
// retry fix by TormentedProgram
// please leave this credit in
override function set_animOffsets(value:Array<Float>) {
if(animOffsets == null)
animOffsets = [0, 0];
if(animOffsets[0] == value[0] && animOffsets[1] == value[1])
return value;
var scaleX = scale.x / (isPixel ? 6 : 1);
var scaleY = scale.y / (isPixel ? 6 : 1);
var scaledNewX = value[0] * scaleX;
var scaledNewY = value[1] * scaleY;
var scaledOldX = animOffsets[0] * scaleX;
var scaledOldY = animOffsets[1] * scaleY;
var xDiff = scaledOldX - scaledNewX;
var yDiff = scaledOldY - scaledNewY;
x = x + xDiff;
y = y + yDiff;
animOffsets[0] = value[0];
animOffsets[1] = value[1];
return value;
}
override function onCountdownStart(event) {
super.onCountdownStart(event);
setScale(_data.scale); //scale breaks on retry this fixes that
}
}
You can fix that
go to ...
yourmod/scripts/characters/
and create your character scriptyourcharactername.hxc
and copy this, but change names!
import funkin.play.character.SparrowCharacter; class YourCharNameCharacter extends SparrowCharacter { function new() { super('yourcharacter'); } // script by Nebula_Zorua // retry fix by TormentedProgram // please leave this credit in override function set_animOffsets(value:Array<Float>) { if(animOffsets == null) animOffsets = [0, 0]; if(animOffsets[0] == value[0] && animOffsets[1] == value[1]) return value; var scaleX = scale.x / (isPixel ? 6 : 1); var scaleY = scale.y / (isPixel ? 6 : 1); var scaledNewX = value[0] * scaleX; var scaledNewY = value[1] * scaleY; var scaledOldX = animOffsets[0] * scaleX; var scaledOldY = animOffsets[1] * scaleY; var xDiff = scaledOldX - scaledNewX; var yDiff = scaledOldY - scaledNewY; x = x + xDiff; y = y + yDiff; animOffsets[0] = value[0]; animOffsets[1] = value[1]; return value; } override function onCountdownStart(event) { super.onCountdownStart(event); setScale(_data.scale); //scale breaks on retry this fixes that } }
Is Working, Thank you so much! :D
Describe the bug
When i add the scale on bf.json (or many other characters) if seem like that character when hit note will change the postion
To Reproduce
"scale": 1.2
Expected behavior
it should be bigger and still in that postion
Screenshots/Video
https://github.com/FunkinCrew/Funkin/assets/63274635/09ed0d00-6f79-4642-9d89-685f6eefd76a
Desktop
Additional context