File tree Expand file tree Collapse file tree 4 files changed +31
-7
lines changed
Expand file tree Collapse file tree 4 files changed +31
-7
lines changed Original file line number Diff line number Diff line change 3636 " utility"
3737 ],
3838 "settings" : {
39+ "zoom-sensitivity" : {
40+ "name" : " Zoom Speed" ,
41+ "description" : " The zoom sensitivity. Higher values zoom in faster." ,
42+ "type" : " float" ,
43+ "default" : 1 ,
44+ "min" : 0.1 ,
45+ "max" : 10 ,
46+ "control" : {
47+ "slider" : true
48+ },
49+ "platforms" : [" win" ]
50+ },
3951 "auto-hide-menu" : {
4052 "name" : " Auto Hide Menu" ,
4153 "description" : " Automatically hides the menu when you zoom in." ,
Original file line number Diff line number Diff line change @@ -31,6 +31,11 @@ void SettingsManager::init() {
3131 altDisablesZoom = enable;
3232 });
3333
34+ zoomSensitivity = Mod::get ()->getSettingValue <float >(" zoom-sensitivity" );
35+ listenForSettingChanges (" zoom-sensitivity" , [&](float sensitivity) {
36+ zoomSensitivity = sensitivity;
37+ });
38+
3439 BindManager::get ()->registerBindable ({
3540 " toggle_menu" _spr,
3641 " Toggle Pause Menu" ,
Original file line number Diff line number Diff line change @@ -9,5 +9,6 @@ class SettingsManager {
99 bool autoHideMenu;
1010 bool autoShowMenu;
1111 bool altDisablesZoom;
12+ float zoomSensitivity;
1213 #endif
1314};
Original file line number Diff line number Diff line change @@ -130,7 +130,9 @@ void WindowsZoomManager::onPause() {
130130
131131void WindowsZoomManager::onScroll (float y, float x) {
132132 if (!isPaused) return ;
133- if (SettingsManager::get ()->autoHideMenu ) setPauseMenuVisible (false );
133+
134+ CCNode* playLayer = CCScene::get ()->getChildByID (" PlayLayer" );
135+ if (!playLayer) return ;
134136
135137 if (SettingsManager::get ()->altDisablesZoom ) {
136138 auto kb = CCKeyboardDispatcher::get ();
@@ -139,15 +141,23 @@ void WindowsZoomManager::onScroll(float y, float x) {
139141 }
140142 }
141143
142- float zoomDelta = 0 .1f ;
144+ float zoomDelta = SettingsManager::get ()-> zoomSensitivity * 0 .1f ;
143145
144146 if (Loader::get ()->isModLoaded (" prevter.smooth-scroll" )) {
145- zoom (-y * 0 . 01f );
147+ zoom (-y * zoomDelta * 0 . 1f );
146148 } else if (y > 0 ) {
147149 zoom (-zoomDelta);
148150 } else {
149151 zoom (zoomDelta);
150152 }
153+
154+ if (y > 0 ) {
155+ if (SettingsManager::get ()->autoShowMenu && playLayer->getScale () <= 1 .01f ) {
156+ setPauseMenuVisible (true );
157+ }
158+ } else {
159+ if (SettingsManager::get ()->autoHideMenu ) setPauseMenuVisible (false );
160+ }
151161}
152162
153163void WindowsZoomManager::onScreenModified () {
@@ -156,10 +166,6 @@ void WindowsZoomManager::onScreenModified() {
156166
157167 clampPlayLayerPos (playLayer);
158168 if (!isPaused) return ;
159-
160- if (SettingsManager::get ()->autoShowMenu && playLayer->getScale () <= 1 .05f ) {
161- setPauseMenuVisible (true );
162- }
163169}
164170
165171class $modify(PauseLayer) {
You can’t perform that action at this time.
0 commit comments