ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.34k stars 2.28k forks source link

Hit circles can appear partially off-screen in certain resolutions with barrel roll mod #13683

Open aitani9 opened 3 years ago

aitani9 commented 3 years ago

Describe the bug: Seems to only be a problem for hit circles placed near a corner of the playfield.

Screenshots or videos showing encountered issue:

https://user-images.githubusercontent.com/55509723/123685385-7c7cfe80-d803-11eb-8768-f5ced57b78ec.mp4

Beatmap in video: 7 star map of Chasers - Lost (ktgster).zip

osu!lazer version: commit a9084db6659840f1d074aec0e74168786f36e386

EVAST9919 commented 3 years ago

Resolution doesn't really matter: as long as lazer window is in landscape mode - it will happen. Potential solution is to use playfield diagonal length instead of max side length here https://github.com/ppy/osu/blob/5031707048eef6d529c9461dcb5328e910628c13/osu.Game/Rulesets/Mods/ModBarrelRoll.cs#L51-L54

But I'm not sure since playfield will become even smaller: master proposed solution
osu_2021-06-30_01-07-44 osu_2021-06-30_01-09-59
osu_2021-06-30_01-08-01 osu_2021-06-30_01-10-06
EVAST9919 commented 3 years ago

Another solution is to add virtual margin value, so it can be configurable per ruleset. So here we can just add this value to the maxSide. https://github.com/ppy/osu/blob/5031707048eef6d529c9461dcb5328e910628c13/osu.Game/Rulesets/Mods/ModBarrelRoll.cs#L53 For example, for osu it will be the circle size.