File tree 2 files changed +22
-14
lines changed
2 files changed +22
-14
lines changed Original file line number Diff line number Diff line change @@ -114,21 +114,22 @@ public static boolean farting(){
114
114
return settings .getBool ("pm-farting" , false );
115
115
}
116
116
117
+ public static void updateZoomRange (){
118
+ if (state .isGame ()){ //Zoom range
119
+ if (control .input .logicCutscene ){ //Dynamically change zoom range to not break cutscene zoom
120
+ renderer .minZoom = 1.5f ;
121
+ renderer .maxZoom = 6f ;
122
+ }else {
123
+ renderer .minZoom = 0.667f ;
124
+ renderer .maxZoom = Perspective .maxZoom ();
125
+ }
126
+ }
127
+ }
128
+
117
129
private static void setupZoom (){
118
- //TODO Adjust minZoom based on fov and scale to never result in a negative viewport z.
119
130
renderer .minZoom = Math .min (renderer .minZoom , 0.667f ); //Zoom out farther
120
131
renderer .maxZoom = Perspective .maxZoom (); //Get a closer look at yourself
121
132
122
- Events .run (Trigger .update , () -> {
123
- if (state .isGame ()){ //Zoom range
124
- if (control .input .logicCutscene ){ //Dynamically change zoom range to not break cutscene zoom
125
- renderer .minZoom = 1.5f ;
126
- renderer .maxZoom = 6f ;
127
- }else {
128
- renderer .minZoom = 0.667f ;
129
- renderer .maxZoom = Perspective .maxZoom ();
130
- }
131
- }
132
- });
133
+ Events .run (Trigger .update , ProgMats ::updateZoomRange );
133
134
}
134
135
}
Original file line number Diff line number Diff line change 4
4
import arc .math .*;
5
5
import arc .math .geom .*;
6
6
import mindustry .game .EventType .*;
7
+ import progressed .*;
7
8
import progressed .util .*;
8
9
9
10
import static arc .Core .*;
@@ -36,9 +37,15 @@ public class Perspective{
36
37
lastScale = renderer .getDisplayScale ();
37
38
fov = newFov ;
38
39
cameraZ = calcCameraZ ();
39
- viewportSize ();
40
+ updateViewportSize ();
40
41
}
41
42
});
43
+
44
+ Events .on (ResizeEvent .class , e -> app .post (() -> {
45
+ cameraZ = calcCameraZ ();
46
+ updateViewportSize ();
47
+ ProgMats .updateZoomRange ();
48
+ }));
42
49
}
43
50
}
44
51
@@ -142,7 +149,7 @@ public static float maxZoom(){
142
149
}
143
150
144
151
/** Calculates the size of the viewport. */
145
- private static void viewportSize (){
152
+ private static void updateViewportSize (){
146
153
float v1 = (float )(Math .tan (fov / 2f * Mathf .degRad ) * viewportOffset * 2f );
147
154
if (camera .width >= camera .height ){
148
155
float v2 = v1 * (camera .height / camera .width );
You can’t perform that action at this time.
0 commit comments