NuggoDEV / CountersPlus

A combination of widely-used counters, all configurable in one Beat Saber mod.
MIT License
131 stars 33 forks source link

Few smaller bugs #58

Closed oksoff closed 3 years ago

oksoff commented 4 years ago

Describe the Bug 1) In some cases custom rank color (maybe default one is affected too. Didn't check) stays white for all ranks 2) Miss counter doesn't count bad cut as a miss 3) Counters don't work in replay (at least miss count and cut score)

Attach or Link Files

Log files when I managed to reproduce (1) on T.R.Y revolution last diff in 100% of cases ( https://beatsaver.com/beatmap/b642 ) _latest.log 2020.08.25.22.26.43.log If I don't use intro skip then SS and other ranks stay white up to the end of the level. If I do use intro skip SS and other ranks use my defined custom color Guess it has something to do with long level beginning without any notes.

(2) and (3) are 100% reproducible under any conditions.

Probable Culprit I guess it's really Counters+ for this one.

Screenshots or Video It's not required there I guess

Additional context Feel free to ask for any extra info you might need

Vinyl Scratch

Caeden117 commented 4 years ago

I'm gonna address these out of order, because I really need to get the last bug out of my chest first.

  1. Counters don't work in replay (at least miss count and cut score)

I'm stuck between a rock and a hard place on this one because Counters+, at this point in time, will never be 100% fully compatible with Noodle Extensions or ScoreSaber.

There's really only two points in time where Counters+ can hook into events relating to hitting or missing a note:

  1. (Used in Counters+ 1.9.0 and below) The first point, which happens early in the chain, means ScoreSaber will not block the events during a replay. However, Noodle Extensions does not cancel this event from triggering on a fake note, so Counters+ will treat a fake note as a true note. This issue can be observed on maps like Analyz, where the Missed counter will display over 1800+ misses when the map is over.

  2. (Used in Counters+ 2.0.0) The second point happens early enough to where Noodle Extensions properly blocks a fake note from triggering Counters+. However, ScoreSaber completely blocks this second point from executing in a replay, hence the issue you are seeing today.

I've been struggling to get a hold of Umbranox to see if he can fix this on ScoreSaber's end, so what that'll probably mean is that I'll have to bug Aeroluna to fix this on Noodle Extension's end, or create a Pull Request and fix it myself.

  1. Miss counter doesn't count bad cut as a miss

This is a simple fix, but I will add a toggle for this behavior, since I've been getting flak from both sides of this.

  1. In some cases custom rank color (maybe default one is affected too. Didn't check) stays white for all ranks

I will investigate this and come back if I find the cause and solution

Caeden117 commented 4 years ago

Quick update on this issue:

  1. Counters don't work in replay (at least miss count and cut score)

This has been resolved via a merged pull request to Noodle Extensions, but needs to be uploaded to BeatMods. The Release Candidate version has the fix on Counters+'s side, but until Noodle Extensions is updated, you'd be seeing larger than normal miss counts on Extra Sensory maps.

  1. Miss counter doesn't count bad cut as a miss

In the Release Candidate build (linked above), this functionality was added back as a toggle, and will include bad cuts by default.

  1. In some cases custom rank color (maybe default one is affected too. Didn't check) stays white for all ranks

I believe this was also fixed in the Release Candidate build, I'll need confirmation on it though

oksoff commented 4 years ago

Is it fine if I keep reporting stuff that I find to this ticket?

Version tested: [INFO @ 21:38:29 | IPA] Counters+ (Counters+): 2.0.0-rc1 [INFO @ 21:38:29 | IPA] Beat Saber IPA (BSIPA): 4.1.0 [INFO @ 21:38:29 | IPA] SiraUtil (SiraUtil): 0.3.0

New stuff:

  1. Setting nofail multiplies PB accuracy by two https://streamable.com/54rmyc

  2. I managed to get a bsml hangup (?). I couldn't press any buttons but game was not frozen. _latest.log 2020.08.30.21.39.15.log

  3. Counters right panel is invisible until you manually select the counter https://streamable.com/84mhzx

bonus: s/effected/affected image

Old stuff:

  1. Miss counter doesn't count bad cut as a miss

In the Release Candidate build (linked above), this functionality was added back as a toggle, and will include bad cuts by default.

First bad cut of a map is not counted as a miss https://streamable.com/i9kkd5 - 1st bad cut is not counted towards miss https://streamable.com/vd27ns - 1st bad cut is not counted towards miss and neither towards hit

  1. In some cases custom rank color (maybe default one is affected too. Didn't check) stays white for all ranks

I believe this was also fixed in the Release Candidate build, I'll need confirmation on it though

Didn't manage to reproduce it after update so I guess it is, indeed, fixed

Caeden117 commented 4 years ago
  1. Setting nofail multiplies PB accuracy by two

This is intentional, since your percentage is relative to the maximum score, multiplied by any modifiers you have. No Fail adds a whopping 0.5x modifier to your final score, which is reflected in the Personal Best. Your Personal Best with No Fail will often be over 100%, which coincides with the fact that the highest score you can get is only 50% of what it usually is.

When using a stack of positive modifiers, like Faster Song and Ghost Notes, you'll notice your Personal Best actually decrease in percentage. Again, with the added bonuses, you are able to achieve a much higher score than in regular play, so it's reflected.

  1. I managed to get a bsml hangup (?). I couldn't press any buttons but game was not frozen.

I've changed a little bit of code in hopes to get around this, but I cant actually reproduce it myself so I'm not sure if it's still here.

  1. Counters right panel is invisible until you manually select the counter

The intention here was that no counter was selected by default, which would leave the settings panel closed, so I've fixed this so that Missed counter isn't selected by default.