-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "Zoomed" mod #19791
base: master
Are you sure you want to change the base?
Add "Zoomed" mod #19791
Conversation
|
playtested this a bit, as i thought it has issues with bounding on tablets ( and apparently on mouse now that ive tried it) , im perosnally fine with offscreen circles i think its interesting learning them, but not being able to hit circles at all because you run up against the playfield border is no fun at all. i think it should remain as it right now but allowing you to extend out of your main tablet area to the whole playfield size, this ofcourse poses an issue for full area players but i think thats a compromise that will have to be made |
And we can't forget about the mobile players who just want to tap the circles directly. |
very good point but i think theyll have to make do with playfield scaling cant see how else one could work it out, kind of like how no scope will never really work on mobile |
Would "Cursor Focus" be a good naming? |
Something like "Zoomed In" (similar to peppy's suggestion) would probably be better imo. |
for reference, McOsu has an fps mod which doesn't have any delay in the screen tracking, which to me seems more reasonable https://youtu.be/-o32vwQoyv4 |
Defaulting to zero delay would be my preference. It can still exist as a setting to give customisation. |
I just did a Zero Delay local version and the screens feels too shaky, i am not sure but if you want i guess it is ok |
I am not sure if this should be the default though.
I've done a (mostly rider-automated) code style pass because your naming, styling and everything between was wrong. Please check the contribution guidelines and read more existing code to make sure you get things right in the future. I'm not reviewing this further because you've made changes outside the mod class (to Mod PRs should only touch the mod class. |
Visual pass: At 1.95x zoom (and 2x zoom), the playfield keeps scaling in to what I assume is the final scale even though I have delay and final zoom at combo set to 0. This happens with both autoplay on and off: 2022-08-31.16-51-36.mp4At 2x zoom, this is completely broken with autoplay: DON'T WATCH IF EPILEPTIChttps://user-images.githubusercontent.com/1329837/187622259-21a11487-9fe1-4e9f-b08e-9b0763c8e8bc.mp4 |
So basically that's the same feedback loop I was looking to avoid, but it turns out to not be so simple to do so (the To explain, the mod is moving the playfield, which means even with a stationary cursor, the cursor's actual position will change based on the repositioning / scaling. Will go back to the drawing board. May have to unapply the playfield's transform matrix. |
I implemented this originally but doing that is out of scope of this pr because it would require to change some classes that are out of the mods scope, but this could be done in a separate pr. |
That's one of the main challenges i had to fight while trying to make a setting for the cursor to be centered, it would be a really nice option but thinking on a way to actually make this implementable is hard |
After looking a bit at the code i figured out on why is that so, although zoom is being set to the final combo if the Final Combo at is set to 0, it still interpolates the playfield from scale 1 to the final scale, this could be fixed by not using |
The delay was intentional for the scale to smooth things off. I'll change that for the case of |
The above mentioned feedback issue is due to this function: osu/osu.Game/Rulesets/UI/DrawableRuleset.cs Lines 319 to 320 in 27569e2
This is run by the JetBrains.Rider.2022-09-02.at.10.02.10.mp4Before attempting to fix this, I wanted to bring up something of concern, which is that this also means replays under this mod (or any other mod which adjusts the playfield) would still have replay data cursor positions stored relative to the playfield. I'm not sure if this is what we want? It will change the path to fixing this issue, so I'll wait for opinions before continuing. |
If cursor is stored relative to playfield, we can "disable" mods (#19925) just by disabling them. It's logical to store cursor absolutely, where a player pointed it. But having it stored not in hitobjects' coordinate space may complicate some calculations now or in future, so maybe it's better to leave things as they is. |
I've fixed the jumping issue by moving the update call to I can still get a bit of weird stuttering when the window isn't focused specifically, but that might be something to do with frame stability. Maybe this is okay for now? |
This seems to be the best solution for that in my oppinion, simply because this doesn't require any mod specific code and should work for any future mod that ends up doing something similar. |
This issue still hasn't been fixed. |
that's weird it worked correct for me, must be what i saw with frame stability. does it work if you set your frame limiter lower? |
Doesn't seem to. I've tested all the way down to 60fps. |
@smoogipoo can you take a look into the issue? i've added a test that repro's 100% (i think when i thought i fixed it yesterday i was testing on 1.8x instead of 2x, and apparently that's not enough to trigger it?). Here's some pointer to the things which are interacting to cause the issue:
osu/osu.Game/Rulesets/UI/Playfield.cs Line 246 in ca05333
It feels like there's a delay in |
This mod is based on a concept i made up myself.
The game reduces your "FOV (Field of View)" and you move your cursor across the playfield "Blind traveling" across the playfield.
blind-travel-showcase.mp4
A few notable changes included with this pr is the exposure of a mouse position in
ParallaxContainer
this is used because the Blind Travel mod changes the background parallax so it is more "immersible" when using auto mod. and the exposure ofOsuScreenStack
'sparallaxContainer
.I am pretty new to pull requests so any heads up will help and
I don't have c# experience so feel free to correct mebut personally everything feels sane.Update
The mod now is called "Zoomed"
The game zooms in the screen to your cursor, tracking it accordingly. The game scales the zoom even further the more you raise your combo.