question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Storyboard enum parsing inconsistent with stable

See original GitHub issue

Describe the bug:

Setting the Looptype parameter of a storyboard animation to a high integer works on stable, but behaves incorrectly on lazer.

Found on the SB of Feryquitous - (S).0ngs//—::compilation.[TQR-f3]: As an example, the counting units’ digit animation (01:55:238, .osb line 169448) is declared like this:

Animation,Foreground,Centre,"sb\HUD\timer\counter.png",330,240,10,108,16

with Looptype set to 16.

Moreover, manually changing say Foreground to 16 gives a parsing error on stable and deletes the sprite, but on lazer it imports fine and the animation is still visible. Changing Animation to 16 gives an error on stable and deletes the sprite, but on lazer it imports fine except that the animation disappears.

Probably the same bug, but the error handling is a different issue.

Screenshots or videos showing encountered issue:

Stable behaviour - all digits count properly, as if Looptype was LoopForever (note that it starts from 8 because of fade): stable

Lazer with auto mod - units’ digit counts to 9 only once, as if Looptype was LoopOnce (starts from 0, ignoring fade): auto

Lazer with cinema mod - same as previous except it properly starts from 8: cinema

I got the auto behaviour a few days ago and a couple times today, but now only the last behaviour happens. I think it’s just inconsistent and not specific to the mod.

osu!lazer version: Latest release 2020.1204.0 / 9064ca9

Logs:

N/A - tell me if they would help

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:9 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
bdachcommented, Dec 7, 2020

Right, 0 and 1 are also unambiguous, that’s what I meant. Fair enough, I guess an IsDefined check of whatever falls out of Enum.Parse should do.

1reaction
smoogipoocommented, Dec 7, 2020

To be clear, it’s not anything not a string value, it’s values outside of the valid range which in this case is {0, 1, LoopOnce, LoopForever}.

I don’t think logging will do much, so long as people use external tools to create storyboards (i.e. for as long as we don’t have a scripting language of our own) this is always going to be the case. It’s just going to be unnecessary verbosity in all regards, imo.

Read more comments on GitHub >

github_iconTop Results From Across the Web

c# - Why is Enum string value inconsistent?
You have made an enum in which two enum values stand in for the integer 0, and two values stand in for the...
Read more >
SwiftGen/CHANGELOG.md at stable
Fixes. Now swiftgen storyboards doesn't generate duplicate enum cases for identical segues (those having equal identifiers and shared custom class).
Read more >
Getting the name of a Swift enum value
I have an enum that represents some meta data columns added to a SQL table. The "dbName" property (ie, the SQL column name)...
Read more >
How to decode enums ignoring case in Swift Codable
The default behavior for enums decoding is case-sensitive comparison, meaning "MEMBER" and "Member" will fail our decoding. You will get a fatal ...
Read more >
Literal types and Enums - mypy 1.5.1 documentation
Literal types let you indicate that an expression is equal to some specific primitive value. For example, if we annotate a variable with...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found