etternagame / etterna

Advanced cross-platform rhythm game focused on keyboard play
https://etternaonline.com/
MIT License
507 stars 136 forks source link

[Bug]: Displayed Xmod scroll speed in player options doesn't adapt to rate changes #1136

Closed hitonisan closed 2 years ago

hitonisan commented 2 years ago

Is there an existing issue for this?

Contact Details

Hito#6677

Version Info

Latest available release

What operating system are you seeing the problem on?

Windows

Bug Behavior

On the player options screen before a song, the player's scroll speed and song rate can be changed. The player's current scroll speed is constantly displayed in the upper-left.

However, if the song rate is changed on the options screen (thus changing the song's BPMs), if the player's scroll is set to an Xmod format, the displayed scroll speed in the options menu won't adapt to the song rate changes unless the player exits the options menu after applying the song rate changes.

This can result in an Xmod player being ambushed by a much slower or much faster scroll speed than they were expecting, since the upper-left scroll speed didn't change with the song rate.

Expected Behavior

The scroll speed displayed in the upper left should take requested song rate changes into consideration, and dynamically adjust accordingly without the player needing to leave the options to see the changes.

Reproduction Steps

  1. Enter the player options menu on any song, prior to launching that song for play.
  2. Set your scroll type to Xmod (if this is not currently the selected scroll type).
  3. Change the song rate while in the player options.
  4. Note the current scroll speed in the upper-left, then enter the song by exiting player options.
  5. View the active scroll speed in the song. It should not be the value stated in the upper-left of the options moments ago.
  6. Exit the song, then return to the player options for the same song. The upper-left scroll speed should now have updated to the correct value.

Anything else?

Here is the starting set of options I used. This song is 95 BPM at 1x rate, and is thus 76 BPM at 0.8x rate. The resulting scroll speed of 817 is correctly displayed in the upper-left.

2022-02-13_175855

The song rate has been changed via this options menu to 0.9x rate (85.5 BPM). The scroll speed in the upper-left has not changed despite this.

2022-02-13_175902

After entering the song, then returning to the player options for this song, the scroll speed in the upper-left has updated to 925. (This seems to be from rounding: 85.5 -> 86 BPM * 10.75 = 924.5 -> 925)

2022-02-13_175910

poco0317 commented 2 years ago

done 27aee322c4ebbe675a04268d7b496e38fa630bde