File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -114,21 +114,22 @@ public static boolean farting(){
114114 return settings .getBool ("pm-farting" , false );
115115 }
116116
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+
117129 private static void setupZoom (){
118- //TODO Adjust minZoom based on fov and scale to never result in a negative viewport z.
119130 renderer .minZoom = Math .min (renderer .minZoom , 0.667f ); //Zoom out farther
120131 renderer .maxZoom = Perspective .maxZoom (); //Get a closer look at yourself
121132
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 );
133134 }
134135}
Original file line number Diff line number Diff line change 44import arc .math .*;
55import arc .math .geom .*;
66import mindustry .game .EventType .*;
7+ import progressed .*;
78import progressed .util .*;
89
910import static arc .Core .*;
@@ -36,9 +37,15 @@ public class Perspective{
3637 lastScale = renderer .getDisplayScale ();
3738 fov = newFov ;
3839 cameraZ = calcCameraZ ();
39- viewportSize ();
40+ updateViewportSize ();
4041 }
4142 });
43+
44+ Events .on (ResizeEvent .class , e -> app .post (() -> {
45+ cameraZ = calcCameraZ ();
46+ updateViewportSize ();
47+ ProgMats .updateZoomRange ();
48+ }));
4249 }
4350 }
4451
@@ -142,7 +149,7 @@ public static float maxZoom(){
142149 }
143150
144151 /** Calculates the size of the viewport. */
145- private static void viewportSize (){
152+ private static void updateViewportSize (){
146153 float v1 = (float )(Math .tan (fov / 2f * Mathf .degRad ) * viewportOffset * 2f );
147154 if (camera .width >= camera .height ){
148155 float v2 = v1 * (camera .height / camera .width );
You can’t perform that action at this time.
0 commit comments