diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 3e721fd262..f6926b3eb3 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -8,8 +8,6 @@ import io.anuke.arc.entities.impl.EffectEntity; import io.anuke.arc.entities.trait.DrawTrait; import io.anuke.arc.files.FileHandle; import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.geom.Vector2; -import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.mindustry.core.*; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; @@ -29,29 +27,39 @@ import java.util.Locale; @SuppressWarnings("unchecked") public class Vars{ + /**main application name, capitalized*/ public static final String appName = "Mindustry"; + /**URL for discord invite.*/ public static final String discordURL = "https://discord.gg/mindustry"; + /**URL for Github API for releases*/ public static final String releasesURL = "https://api.github.com/repos/Anuken/Mindustry/releases"; + /**URL for Github API for contributors*/ public static final String contributorsURL = "https://api.github.com/repos/Anuken/Mindustry/contributors"; + /**URL for sending crash reports to*/ public static final String crashReportURL = "http://mindustry.us.to/report"; - //time between waves in frames (on normal mode) + /**time between waves in ticks (on normal mode)*/ public static final float wavespace = 60 * 60 * 1.5f; - + /**maximum distance between mine and core that supports automatic transferring*/ public static final float mineTransferRange = 220f; - //set ridiculously high for now + /**maximum distance from core that the player can be before it is no longer used for building*/ public static final float coreBuildRange = 999999f; - //team of the player by default + /**team of the player by default*/ public static final Team defaultTeam = Team.blue; - //team of the enemy in waves + /**team of the enemy in waves/sectors*/ public static final Team waveTeam = Team.red; - public static final float unlockResourceScaling = 1f; + /**max chat message length*/ public static final int maxTextLength = 150; + /**max player name length in bytes*/ public static final int maxNameLength = 40; + /**displayed item size when ingame, TODO remove.*/ public static final float itemSize = 5f; + /**size of tiles in units*/ public static final int tilesize = 8; + /**size of sectors in tiles*/ public static final int sectorSize = 256; + /**specific number indicating 'invalid' sector*/ public static final int invalidSector = Integer.MAX_VALUE; - public static Locale[] locales; + /**all choosable player colors in join/host dialog*/ public static final Color[] playerColors = { Color.valueOf("82759a"), Color.valueOf("c0c1c5"), @@ -70,31 +78,35 @@ public class Vars{ Color.valueOf("4b5ef1"), Color.valueOf("2cabfe"), }; - //server port + /**default server port*/ public static final int port = 6567; + /**if true, UI is not drawn*/ public static boolean disableUI; + /**if true, game is set up in mobile mode, even on desktop. used for debugging*/ public static boolean testMobile; - //shorthand for whether or not this is running on android or ios + /**whether the game is running on a mobile device*/ public static boolean mobile; + /**whether the game is running on an iOS device*/ public static boolean ios; + /**whether the game is running on an Android device*/ public static boolean android; - //main data directory + /**whether the game is running on a headless server*/ + public static boolean headless; + /**application data directory, equivalent to {@link io.anuke.arc.Settings#getDataDirectory()}*/ public static FileHandle dataDirectory; - //subdirectory for screenshots + /**data subdirectory used for screenshots*/ public static FileHandle screenshotDirectory; - //directory for user-created map data + /**data subdirectory used for custom mmaps*/ public static FileHandle customMapDirectory; - //save file directory + /**data subdirectory used for saves*/ public static FileHandle saveDirectory; - public static String mapExtension = "mmap"; - public static String saveExtension = "msav"; - //camera zoom displayed on startup - public static int baseCameraScale; - public static boolean showBlockDebug = false; - public static boolean showFog = true; - public static boolean headless = false; - public static float controllerMin = 0.25f; - public static float baseControllerSpeed = 11f; + /**map file extension*/ + public static final String mapExtension = "mmap"; + /**save file extension*/ + public static final String saveExtension = "msav"; + + /**list of all locales that can be switched to*/ + public static Locale[] locales; public static ContentLoader content; public static GameState state; @@ -107,8 +119,6 @@ public class Vars{ public static NetServer netServer; public static NetClient netClient; - public static Player[] players = {}; - public static EntityGroup playerGroup; public static EntityGroup tileGroup; public static EntityGroup bulletGroup; @@ -119,7 +129,8 @@ public class Vars{ public static EntityGroup fireGroup; public static EntityGroup[] unitGroups; - public static final Vector2[] tmptr = new Vector2[]{new Vector2(), new Vector2(), new Vector2(), new Vector2()}; + /**all local players, currently only has one player. may be used for local co-op in the future*/ + public static Player[] players = {}; public static void init(){ Serialization.init(); @@ -175,6 +186,5 @@ public class Vars{ screenshotDirectory = dataDirectory.child("screenshots/"); customMapDirectory = dataDirectory.child("maps/"); saveDirectory = dataDirectory.child("saves/"); - baseCameraScale = Math.round(Unit.dp.scl(4)); } } diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 67b75156c3..68868ccda6 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -236,7 +236,7 @@ public class Control implements ApplicationListener{ Recipe recipe = content.recipes().get(i); if(!recipe.isHidden() && recipe.requirements != null){ for(ItemStack stack : recipe.requirements){ - if(!entity.items.has(stack.item, Math.min((int) (stack.amount * unlockResourceScaling), 2000))) continue outer; + if(!entity.items.has(stack.item, Math.min((int) (stack.amount), 2000))) continue outer; } if(unlocks.unlockContent(recipe)){ diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 1b227cb416..3e910c4892 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -42,8 +42,8 @@ public class Renderer implements ApplicationListener{ public final OverlayRenderer overlays = new OverlayRenderer(); private Color clearColor; - private float targetscale = baseCameraScale; - private float camerascale = baseCameraScale; + private float targetscale = io.anuke.arc.scene.ui.layout.Unit.dp.scl(4); + private float camerascale = targetscale; private Rectangle rect = new Rectangle(), rect2 = new Rectangle(); private Vector2 avgPosition = new Vector2(); private float shakeIntensity, shaketime; diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 0933a9db79..153d21ea37 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -12,6 +12,7 @@ import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.util.Time; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; @@ -44,6 +45,7 @@ import static io.anuke.mindustry.Vars.*; */ public interface BuilderTrait extends Entity{ //these are not instance variables! + Vector2[] tmptr = new Vector2[]{new Vector2(), new Vector2(), new Vector2(), new Vector2()}; float placeDistance = 150f; float mineDistance = 70f; Array removal = new Array<>();