Closed joleskins closed 1 year ago
Blank skin with gradient notes and copy pasted skin.ini for testing(but for whatever reason column lines appear and column 2 and 6 in 7k don't have working texture redirects?? the skin.ini is literally copy pasted, all i changed was the skin name. more issues to make i guess..)
osk is inside the zip gradient.zip
Would have been nice if you included your full skin so there as no guesswork.
I've got this working but cannot guarantee the timing is the same as stable. And i'm not sure we need / want to. But it's a starting point I guess.
Type
Game behaviour
Bug description
I'm no programmer so just a disclaimer - technical terms I'm using are purely guesses from what I can see in-game
In stable, when a note enters the screen space, its animation starts at frame 0 and then loops the animation. This happens separately for every single note so they all have local animation clocks
In lazer, it seems that instead of each note having their own clock, now it's each column that has a separate clock, and every note in a specific column follows the same clock. A column's clock starts when the first note in the column appears in a map. So if the map starts with, say, a 4-note chord in 4k, they sync up. If each column's first note starts at separate times, the clocks desync.
My skin has a gradient as the animation and the effect is very trippy when each column is at a different time in the animation. This is where I want to ask which behaviour is intended because stable is a bit non-traditional for VSRG note animations. Other games like StepMania use a global clock for note animations where the animation runs continuously regardless of notes spawning, and each column follows it so all notes sync up.
I strongly prefer the stable behaviour but obviously that's biased because my skin depends on it(that aside I also think it looks better for animations in general). Which behaviour is generally the one sought after? Right now the implementation falls somewhere in-between stable and the example from StepMania. Kinda global but still localised to each column so they can end up desynced. I'd say it makes more sense to have it be one or the other, so either a single global clock or a clock for each and every note(with strong preference to the latter).
Apologies if this is confusing to read.. It's not the easiest thing to explain through text
To summarise: stable note enters screen -> animation starts at frame 0 for each note lazer note enters screen -> follows clock for specific column which starts with the first note in that column during the map
Screenshots or videos
For clarity this is the animation sequence
Screenshot of difference (Video shows it better)
Stable vs lazer video https://streamable.com/05860x
Version
2023.403.1-lazer
Logs
legacy-ipc.log performance.log runtime.log updater.log database.log input.log