From cabcfc7136d538a39c59d9f3558de7d9fa85cdc6 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 20 Dec 2018 11:49:32 -0500 Subject: [PATCH 01/16] Initial creation of Arc port --- android/AndroidManifest.xml | 1 + android/build.gradle | 1 - .../mindustry/PatchedAndroidApplication.java | 2 +- build.gradle | 20 +++++----- core/src/io/anuke/mindustry/Vars.java | 16 ++++---- .../io/anuke/mindustry/ai/BlockIndexer.java | 4 +- .../src/io/anuke/mindustry/ai/Pathfinder.java | 8 ++-- .../io/anuke/mindustry/ai/WaveSpawner.java | 2 +- .../src/io/anuke/mindustry/content/Items.java | 2 +- .../io/anuke/mindustry/content/Liquids.java | 2 +- .../src/io/anuke/mindustry/content/Mechs.java | 6 +-- .../io/anuke/mindustry/content/UnitTypes.java | 4 +- .../mindustry/content/blocks/Blocks.java | 2 +- .../content/blocks/CraftingBlocks.java | 2 +- .../mindustry/content/blocks/DebugBlocks.java | 2 +- .../mindustry/content/blocks/OreBlocks.java | 2 +- .../content/blocks/ProductionBlocks.java | 2 +- .../content/blocks/TurretBlocks.java | 4 +- .../content/bullets/MissileBullets.java | 2 +- .../content/bullets/StandardBullets.java | 2 +- .../content/bullets/TurretBullets.java | 2 +- .../content/bullets/WeaponBullets.java | 2 +- .../anuke/mindustry/content/fx/BlockFx.java | 2 +- .../anuke/mindustry/content/fx/BulletFx.java | 2 +- .../mindustry/content/fx/EnvironmentFx.java | 2 +- .../mindustry/content/fx/ExplosionFx.java | 2 +- .../src/io/anuke/mindustry/content/fx/Fx.java | 2 +- .../anuke/mindustry/content/fx/ShootFx.java | 2 +- .../anuke/mindustry/core/ContentLoader.java | 6 +-- core/src/io/anuke/mindustry/core/Control.java | 8 ++-- core/src/io/anuke/mindustry/core/Logic.java | 2 +- .../io/anuke/mindustry/core/NetClient.java | 12 +++--- .../io/anuke/mindustry/core/NetServer.java | 16 ++++---- .../src/io/anuke/mindustry/core/Platform.java | 16 ++++---- .../src/io/anuke/mindustry/core/Renderer.java | 28 ++++++------- .../anuke/mindustry/core/ThreadHandler.java | 10 ++--- core/src/io/anuke/mindustry/core/UI.java | 26 ++++++------ core/src/io/anuke/mindustry/core/World.java | 6 +-- .../anuke/mindustry/editor/DrawOperation.java | 4 +- .../io/anuke/mindustry/editor/EditorTool.java | 2 +- .../io/anuke/mindustry/editor/MapEditor.java | 2 +- .../mindustry/editor/MapEditorDialog.java | 24 +++++------ .../anuke/mindustry/editor/MapInfoDialog.java | 2 +- .../anuke/mindustry/editor/MapLoadDialog.java | 2 +- .../anuke/mindustry/editor/MapRenderer.java | 12 +++--- .../io/anuke/mindustry/editor/MapView.java | 20 +++++----- .../mindustry/editor/OperationStack.java | 2 +- .../io/anuke/mindustry/entities/Damage.java | 6 +-- .../io/anuke/mindustry/entities/Player.java | 12 +++--- .../io/anuke/mindustry/entities/Predict.java | 2 +- .../mindustry/entities/StatusController.java | 4 +- .../anuke/mindustry/entities/TileEntity.java | 8 ++-- .../src/io/anuke/mindustry/entities/Unit.java | 8 ++-- .../io/anuke/mindustry/entities/Units.java | 4 +- .../entities/bullet/BasicBulletType.java | 4 +- .../mindustry/entities/bullet/Bullet.java | 2 +- .../entities/bullet/FlakBulletType.java | 2 +- .../entities/bullet/LiquidBulletType.java | 4 +- .../entities/bullet/MissileBulletType.java | 2 +- .../mindustry/entities/effect/Decal.java | 2 +- .../anuke/mindustry/entities/effect/Fire.java | 6 +-- .../entities/effect/ItemTransfer.java | 4 +- .../mindustry/entities/effect/Lightning.java | 8 ++-- .../mindustry/entities/effect/Puddle.java | 10 ++--- .../entities/effect/ScorchDecal.java | 2 +- .../entities/traits/BuilderTrait.java | 10 ++--- .../mindustry/entities/traits/TypeTrait.java | 4 +- .../mindustry/entities/units/BaseUnit.java | 4 +- .../mindustry/entities/units/FlyingUnit.java | 2 +- .../mindustry/entities/units/GroundUnit.java | 4 +- .../anuke/mindustry/entities/units/Squad.java | 2 +- .../mindustry/entities/units/UnitType.java | 6 +-- .../entities/units/types/AlphaDrone.java | 2 +- .../mindustry/entities/units/types/Drone.java | 2 +- core/src/io/anuke/mindustry/game/Saves.java | 10 ++--- core/src/io/anuke/mindustry/game/Team.java | 2 +- core/src/io/anuke/mindustry/game/Teams.java | 2 +- .../mindustry/game/UnlockableContent.java | 2 +- core/src/io/anuke/mindustry/game/Unlocks.java | 4 +- core/src/io/anuke/mindustry/game/Version.java | 10 ++--- core/src/io/anuke/mindustry/game/Waves.java | 2 +- .../mindustry/graphics/BlockRenderer.java | 6 +-- .../anuke/mindustry/graphics/CacheLayer.java | 2 +- .../mindustry/graphics/FloorRenderer.java | 18 ++++----- .../anuke/mindustry/graphics/FogRenderer.java | 24 +++++------ .../mindustry/graphics/MinimapRenderer.java | 18 ++++----- .../mindustry/graphics/OverlayRenderer.java | 10 ++--- .../io/anuke/mindustry/graphics/Palette.java | 2 +- .../io/anuke/mindustry/graphics/Shaders.java | 10 ++--- .../io/anuke/mindustry/graphics/Trail.java | 6 +-- .../mindustry/input/DefaultKeybinds.java | 6 +-- .../anuke/mindustry/input/DesktopInput.java | 38 +++++++++--------- .../anuke/mindustry/input/InputHandler.java | 12 +++--- .../io/anuke/mindustry/input/MobileInput.java | 40 +++++++++---------- .../io/anuke/mindustry/io/BundleLoader.java | 10 ++--- .../src/io/anuke/mindustry/io/Changelogs.java | 6 +-- .../io/anuke/mindustry/io/Contributors.java | 6 +-- core/src/io/anuke/mindustry/io/MapIO.java | 12 +++--- .../anuke/mindustry/io/SaveFileVersion.java | 2 +- core/src/io/anuke/mindustry/io/SaveIO.java | 8 ++-- core/src/io/anuke/mindustry/io/TypeIO.java | 2 +- .../anuke/mindustry/io/versions/Save16.java | 2 +- core/src/io/anuke/mindustry/maps/Map.java | 4 +- core/src/io/anuke/mindustry/maps/MapMeta.java | 4 +- .../io/anuke/mindustry/maps/MapTileData.java | 2 +- core/src/io/anuke/mindustry/maps/Maps.java | 14 +++---- core/src/io/anuke/mindustry/maps/Sector.java | 4 +- .../anuke/mindustry/maps/SectorPresets.java | 2 +- core/src/io/anuke/mindustry/maps/Sectors.java | 18 ++++----- .../anuke/mindustry/maps/TutorialSector.java | 2 +- .../maps/generation/FortressGenerator.java | 10 ++--- .../maps/generation/WorldGenerator.java | 10 ++--- .../maps/missions/BattleMission.java | 4 +- .../maps/missions/LineBlockMission.java | 6 +-- .../mindustry/maps/missions/Mission.java | 4 +- .../missions/MissionWithStartingCore.java | 4 +- .../mindustry/maps/missions/Missions.java | 2 +- .../mindustry/maps/missions/WaveMission.java | 2 +- .../anuke/mindustry/net/Administration.java | 6 +-- .../io/anuke/mindustry/net/Interpolator.java | 4 +- core/src/io/anuke/mindustry/net/Net.java | 18 ++++----- .../src/io/anuke/mindustry/net/NetworkIO.java | 6 +-- core/src/io/anuke/mindustry/net/Packet.java | 2 +- core/src/io/anuke/mindustry/net/Packets.java | 2 +- .../io/anuke/mindustry/net/Registrator.java | 2 +- core/src/io/anuke/mindustry/type/Item.java | 6 +-- core/src/io/anuke/mindustry/type/Liquid.java | 4 +- core/src/io/anuke/mindustry/type/Mech.java | 4 +- core/src/io/anuke/mindustry/type/Recipe.java | 8 ++-- .../io/anuke/mindustry/type/StatusEffect.java | 4 +- core/src/io/anuke/mindustry/type/Weapon.java | 2 +- .../io/anuke/mindustry/ui/BorderImage.java | 6 +-- .../io/anuke/mindustry/ui/ContentDisplay.java | 4 +- core/src/io/anuke/mindustry/ui/GridImage.java | 4 +- .../src/io/anuke/mindustry/ui/ImageStack.java | 2 +- core/src/io/anuke/mindustry/ui/ItemImage.java | 2 +- core/src/io/anuke/mindustry/ui/Links.java | 2 +- .../src/io/anuke/mindustry/ui/MenuButton.java | 4 +- core/src/io/anuke/mindustry/ui/Minimap.java | 4 +- .../io/anuke/mindustry/ui/MobileButton.java | 2 +- .../mindustry/ui/dialogs/AboutDialog.java | 12 +++--- .../mindustry/ui/dialogs/ChangelogDialog.java | 8 ++-- .../mindustry/ui/dialogs/ColorPickDialog.java | 4 +- .../mindustry/ui/dialogs/ControlsDialog.java | 4 +- .../ui/dialogs/CustomGameDialog.java | 10 ++--- .../mindustry/ui/dialogs/DiscordDialog.java | 10 ++--- .../mindustry/ui/dialogs/FileChooser.java | 18 ++++----- .../mindustry/ui/dialogs/FloatingDialog.java | 10 ++--- .../mindustry/ui/dialogs/GenViewDialog.java | 14 +++---- .../mindustry/ui/dialogs/HostDialog.java | 2 +- .../mindustry/ui/dialogs/JoinDialog.java | 6 +-- .../mindustry/ui/dialogs/LoadDialog.java | 8 ++-- .../ui/dialogs/LocalPlayerDialog.java | 2 +- .../mindustry/ui/dialogs/MapsDialog.java | 4 +- .../mindustry/ui/dialogs/PausedDialog.java | 2 +- .../mindustry/ui/dialogs/SectorsDialog.java | 12 +++--- .../ui/dialogs/SettingsMenuDialog.java | 20 +++++----- .../mindustry/ui/dialogs/UnlocksDialog.java | 2 +- .../ui/fragments/BackgroundFragment.java | 7 ++-- .../ui/fragments/BlockConfigFragment.java | 10 ++--- .../ui/fragments/BlockConsumeFragment.java | 12 +++--- .../ui/fragments/BlockInventoryFragment.java | 8 ++-- .../mindustry/ui/fragments/ChatFragment.java | 20 +++++----- .../mindustry/ui/fragments/HudFragment.java | 16 ++++---- .../mindustry/ui/fragments/MenuFragment.java | 8 ++-- .../ui/fragments/PlacementFragment.java | 8 ++-- .../ui/fragments/PlayerListFragment.java | 6 +-- .../src/io/anuke/mindustry/world/BarType.java | 2 +- .../io/anuke/mindustry/world/BaseBlock.java | 2 +- core/src/io/anuke/mindustry/world/Block.java | 8 ++-- core/src/io/anuke/mindustry/world/Build.java | 6 +-- .../io/anuke/mindustry/world/ColorMapper.java | 6 +-- core/src/io/anuke/mindustry/world/Edges.java | 4 +- .../io/anuke/mindustry/world/ItemBuffer.java | 2 +- .../mindustry/world/LegacyColorMapper.java | 4 +- core/src/io/anuke/mindustry/world/Tile.java | 6 +-- .../mindustry/world/blocks/BuildBlock.java | 2 +- .../anuke/mindustry/world/blocks/Floor.java | 10 ++--- .../mindustry/world/blocks/LiquidBlock.java | 2 +- .../mindustry/world/blocks/OreBlock.java | 4 +- .../io/anuke/mindustry/world/blocks/Rock.java | 2 +- .../world/blocks/SelectionTrait.java | 2 +- .../world/blocks/defense/DeflectorWall.java | 6 +-- .../mindustry/world/blocks/defense/Door.java | 4 +- .../world/blocks/defense/ForceProjector.java | 4 +- .../world/blocks/defense/MendProjector.java | 8 ++-- .../blocks/defense/OverdriveProjector.java | 8 ++-- .../defense/turrets/ArtilleryTurret.java | 2 +- .../blocks/defense/turrets/ItemTurret.java | 2 +- .../blocks/defense/turrets/LiquidTurret.java | 2 +- .../world/blocks/defense/turrets/Turret.java | 8 ++-- .../world/blocks/distribution/Conduit.java | 2 +- .../world/blocks/distribution/Conveyor.java | 6 +-- .../world/blocks/distribution/ItemBridge.java | 10 ++--- .../world/blocks/distribution/Junction.java | 2 +- .../distribution/LiquidExtendingBridge.java | 2 +- .../blocks/distribution/LiquidJunction.java | 2 +- .../world/blocks/distribution/MassDriver.java | 8 ++-- .../world/blocks/distribution/Router.java | 2 +- .../world/blocks/power/FusionReactor.java | 4 +- .../world/blocks/power/ItemGenerator.java | 4 +- .../world/blocks/power/NuclearReactor.java | 4 +- .../world/blocks/power/PowerGraph.java | 8 ++-- .../world/blocks/power/PowerNode.java | 2 +- .../world/blocks/production/Compressor.java | 4 +- .../world/blocks/production/Cultivator.java | 4 +- .../world/blocks/production/Drill.java | 8 ++-- .../world/blocks/production/Fracker.java | 2 +- .../blocks/production/GenericCrafter.java | 2 +- .../world/blocks/production/Incinerator.java | 2 +- .../world/blocks/production/PhaseWeaver.java | 2 +- .../production/PlastaniumCompressor.java | 2 +- .../world/blocks/production/PowerSmelter.java | 4 +- .../world/blocks/production/Pulverizer.java | 2 +- .../world/blocks/production/Pump.java | 4 +- .../world/blocks/production/Separator.java | 4 +- .../world/blocks/production/Smelter.java | 2 +- .../world/blocks/production/SolidPump.java | 2 +- .../world/blocks/storage/CoreBlock.java | 2 +- .../world/blocks/storage/SortedUnloader.java | 2 +- .../world/blocks/units/CommandCenter.java | 6 +-- .../mindustry/world/blocks/units/MechPad.java | 2 +- .../world/blocks/units/Reconstructor.java | 2 +- .../world/blocks/units/RepairPoint.java | 6 +-- .../world/blocks/units/UnitFactory.java | 2 +- .../mindustry/world/consumers/Consume.java | 2 +- .../world/consumers/ConsumeItemFilter.java | 2 +- .../world/consumers/ConsumeLiquidFilter.java | 2 +- .../mindustry/world/consumers/Consumers.java | 4 +- .../anuke/mindustry/world/meta/BlockBars.java | 2 +- .../mindustry/world/meta/BlockStats.java | 4 +- .../world/meta/values/ItemFilterValue.java | 2 +- .../world/meta/values/LiquidFilterValue.java | 2 +- .../mindustry/world/modules/PowerModule.java | 2 +- settings.gradle | 10 +++-- 235 files changed, 698 insertions(+), 695 deletions(-) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index b0e4475812..989b5dd893 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -17,6 +17,7 @@ android:appCategory="game" android:label="@string/app_name" android:theme="@style/GdxTheme" android:fullBackupContent="@xml/backup_rules"> + { if(mobile){ - Gdx.app.postRunnable(() -> Core.camera.position.set(players[0].x, players[0].y, 0)); + Core.app.postRunnable(() -> Core.camera.position.set(players[0].x, players[0].y, 0)); } }); diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index 5f7035cb7e..9eb2fbf86a 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index bf124f9be2..721b6e9bfc 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.Base64Coder; -import com.badlogic.gdx.utils.IntSet; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.Base64Coder; +import io.anuke.arc.utils.IntSet; +import io.anuke.arc.utils.TimeUtils; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.PacketPriority; import io.anuke.annotations.Annotations.Remote; @@ -369,7 +369,7 @@ public class NetClient extends Module{ ui.loadfrag.hide(); ui.join.hide(); Net.setClientLoaded(true); - Gdx.app.postRunnable(Call::connectConfirm); + Core.app.postRunnable(Call::connectConfirm); Timers.runTask(40f, Platform.instance::updateRPC); } diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index a88ea19301..59fd981986 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Colors; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntMap; -import com.badlogic.gdx.utils.ObjectSet; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.Colors; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntMap; +import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.utils.TimeUtils; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.Mechs; diff --git a/core/src/io/anuke/mindustry/core/Platform.java b/core/src/io/anuke/mindustry/core/Platform.java index 0064c066c3..0199948965 100644 --- a/core/src/io/anuke/mindustry/core/Platform.java +++ b/core/src/io/anuke/mindustry/core/Platform.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.Base64Coder; +import io.anuke.arc.Core; +import io.anuke.arc.Input.Keys; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.utils.Base64Coder; import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Settings; import io.anuke.ucore.core.Timers; @@ -39,8 +39,8 @@ public abstract class Platform { .visible(() -> !use[0].getSelection().isEmpty()).width(65f); dialog.content().addImageButton("icon-paste", "clear", 16*3, () -> - use[0].paste(Gdx.app.getClipboard().getContents(), false)) - .visible(() -> Gdx.app.getClipboard() != null && Gdx.app.getClipboard().getContents() != null && !Gdx.app.getClipboard().getContents().isEmpty()).width(65f); + use[0].paste(Core.app.getClipboard().getContents(), false)) + .visible(() -> Core.app.getClipboard() != null && Core.app.getClipboard().getContents() != null && !Core.app.getClipboard().getContents().isEmpty()).width(65f); TextField to = dialog.content().addField(field.getText(), t-> {}).pad(15).width(250f).get(); to.setMaxLength(maxLength); @@ -53,14 +53,14 @@ public abstract class Platform { field.appendText(to.getText()); field.change(); dialog.hide(); - Gdx.input.setOnscreenKeyboardVisible(false); + Core.input.setOnscreenKeyboardVisible(false); }).width(90f).name("okb"); dialog.show(); Timers.runTask(1f, () -> { to.setCursorPosition(to.getText().length()); Core.scene.setKeyboardFocus(to); - Gdx.input.setOnscreenKeyboardVisible(true); + Core.input.setOnscreenKeyboardVisible(true); }); }); } diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index df097fc0f9..2fccf2c520 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -1,16 +1,16 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Pixmap; -import com.badlogic.gdx.graphics.PixmapIO; -import com.badlogic.gdx.graphics.g2d.SpriteBatch; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.BufferUtils; -import com.badlogic.gdx.utils.ScreenUtils; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.Core; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.Pixmap; +import io.anuke.arc.graphics.PixmapIO; +import io.anuke.arc.graphics.g2d.SpriteBatch; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.BufferUtils; +import io.anuke.arc.utils.ScreenUtils; +import io.anuke.arc.utils.TimeUtils; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -173,11 +173,11 @@ public class Renderer extends RendererModule{ camera.position.set((int) camera.position.x, (int) camera.position.y, 0); } - if(Gdx.graphics.getHeight() / Core.cameraScale % 2 == 1){ + if(Core.graphics.getHeight() / Core.cameraScale % 2 == 1){ camera.position.add(0, -0.5f, 0); } - if(Gdx.graphics.getWidth() / Core.cameraScale % 2 == 1){ + if(Core.graphics.getWidth() / Core.cameraScale % 2 == 1){ camera.position.add(-0.5f, 0, 0); } @@ -187,7 +187,7 @@ public class Renderer extends RendererModule{ } if(!ui.chatfrag.chatOpen()){ - renderer.record(); //this only does something if GdxGifRecorder is on the class path, which it usually isn't + renderer.record(); //this only does something if CoreGifRecorder is on the class path, which it usually isn't } } diff --git a/core/src/io/anuke/mindustry/core/ThreadHandler.java b/core/src/io/anuke/mindustry/core/ThreadHandler.java index 700b816a92..c427be3788 100644 --- a/core/src/io/anuke/mindustry/core/ThreadHandler.java +++ b/core/src/io/anuke/mindustry/core/ThreadHandler.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.Core; +import io.anuke.arc.utils.TimeUtils; import io.anuke.ucore.core.Settings; import io.anuke.ucore.core.Timers; @@ -10,7 +10,7 @@ public class ThreadHandler{ public ThreadHandler(){ Timers.setDeltaProvider(() -> { - float result = Gdx.graphics.getDeltaTime() * 60f; + float result = Core.graphics.getDeltaTime() * 60f; return Float.isNaN(result) || Float.isInfinite(result) ? 1f : Math.min(result, 60f / 10f); }); } @@ -24,11 +24,11 @@ public class ThreadHandler{ } public void runDelay(Runnable r){ - Gdx.app.postRunnable(r); + Core.app.postRunnable(r); } public long getFrameID(){ - return Gdx.graphics.getFrameId(); + return Core.graphics.getFrameId(); } public void handleBeginRender(){ diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 27e8fd3569..c631a1aaf1 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -1,14 +1,14 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Colors; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; -import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; -import com.badlogic.gdx.math.Interpolation; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.Core; +import io.anuke.arc.Input.Keys; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.Colors; +import io.anuke.arc.graphics.g2d.BitmapFont; +import io.anuke.arc.graphics.g2d.freetype.FreeTypeFontGenerator; +import io.anuke.arc.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.utils.Align; import io.anuke.mindustry.editor.MapEditorDialog; import io.anuke.mindustry.game.EventType.ResizeEvent; import io.anuke.mindustry.graphics.Palette; @@ -70,7 +70,7 @@ public class UI extends SceneModule{ Dialog.setShowAction(() -> sequence( alpha(0f), originCenter(), - moveToAligned(Gdx.graphics.getWidth() / 2f, Gdx.graphics.getHeight() / 2f, Align.center), + moveToAligned(Core.graphics.getWidth() / 2f, Core.graphics.getHeight() / 2f, Align.center), scaleTo(0.0f, 1f), parallel( scaleTo(1f, 1f, 0.1f, Interpolation.fade), @@ -96,7 +96,7 @@ public class UI extends SceneModule{ } void generateFonts(){ - generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/pixel.ttf")); + generator = new FreeTypeFontGenerator(Core.files.internal("fonts/pixel.ttf")); FreeTypeFontParameter param = new FreeTypeFontParameter(); param.size = (int)(14*2 * Math.max(Unit.dp.scl(1f), 0.5f)); param.shadowColor = Color.DARK_GRAY; @@ -113,7 +113,7 @@ public class UI extends SceneModule{ protected void loadSkin(){ skin = new Skin(Core.atlas); generateFonts(); - skin.load(Gdx.files.internal("ui/uiskin.json")); + skin.load(Core.files.internal("ui/uiskin.json")); for(BitmapFont font : skin.getAll(BitmapFont.class).values()){ font.setUseIntegerPositions(true); @@ -139,7 +139,7 @@ public class UI extends SceneModule{ float scl = Unit.dp.scl(3f); - Draw.rect("controller-cursor", input.getMouseX(), Gdx.graphics.getHeight() - input.getMouseY(), 16 * scl, 16 * scl); + Draw.rect("controller-cursor", input.getMouseX(), Core.graphics.getHeight() - input.getMouseY(), 16 * scl, 16 * scl); } } diff --git a/core/src/io/anuke/mindustry/core/World.java b/core/src/io/anuke/mindustry/core/World.java index 58dedd6e2a..d1f880678b 100644 --- a/core/src/io/anuke/mindustry/core/World.java +++ b/core/src/io/anuke/mindustry/core/World.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.core; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.ai.BlockIndexer; import io.anuke.mindustry.ai.Pathfinder; import io.anuke.mindustry.ai.WaveSpawner; diff --git a/core/src/io/anuke/mindustry/editor/DrawOperation.java b/core/src/io/anuke/mindustry/editor/DrawOperation.java index d2b434e21f..55b57cf7af 100755 --- a/core/src/io/anuke/mindustry/editor/DrawOperation.java +++ b/core/src/io/anuke/mindustry/editor/DrawOperation.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntSet; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntSet; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; import io.anuke.ucore.util.Bits; diff --git a/core/src/io/anuke/mindustry/editor/EditorTool.java b/core/src/io/anuke/mindustry/editor/EditorTool.java index 6eca7e8fd4..4a89d6f6a7 100644 --- a/core/src/io/anuke/mindustry/editor/EditorTool.java +++ b/core/src/io/anuke/mindustry/editor/EditorTool.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.utils.IntArray; +import io.anuke.arc.utils.IntArray; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.maps.MapTileData.DataPosition; diff --git a/core/src/io/anuke/mindustry/editor/MapEditor.java b/core/src/io/anuke/mindustry/editor/MapEditor.java index 532e720622..ee0420df3d 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditor.java +++ b/core/src/io/anuke/mindustry/editor/MapEditor.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.editor.DrawOperation.TileOperation; diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index 1fe31ead15..8a64da0a5f 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -1,15 +1,15 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Pixmap; -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Disposable; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.Core; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.Pixmap; +import io.anuke.arc.graphics.g2d.Batch; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.Disposable; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.core.Platform; @@ -341,8 +341,8 @@ public class MapEditorDialog extends Dialog implements Disposable{ public void build(){ float amount = 10f, baseSize = 60f; - float size = mobile ? (int) (Math.min(Gdx.graphics.getHeight(), Gdx.graphics.getWidth()) / amount / Unit.dp.scl(1f)) : - Math.min(Gdx.graphics.getDisplayMode().height / amount, baseSize); + float size = mobile ? (int) (Math.min(Core.graphics.getHeight(), Core.graphics.getWidth()) / amount / Unit.dp.scl(1f)) : + Math.min(Core.graphics.getDisplayMode().height / amount, baseSize); clearChildren(); table(cont -> { diff --git a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java index 6f4a046d45..92b647738a 100644 --- a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.ucore.core.Settings; diff --git a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java index c819cd0a3a..14c0f2d7d0 100644 --- a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.utils.Scaling; +import io.anuke.arc.utils.Scaling; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.ui.BorderImage; import io.anuke.mindustry.ui.dialogs.FloatingDialog; diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index bd4b7b8f43..abe1509da3 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.Disposable; -import com.badlogic.gdx.utils.IntSet; -import com.badlogic.gdx.utils.IntSet.IntSetIterator; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.Disposable; +import io.anuke.arc.utils.IntSet; +import io.anuke.arc.utils.IntSet.IntSetIterator; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index baa0edca5c..c5dc74451b 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -1,15 +1,15 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.Input.Buttons; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.input.GestureDetector; -import com.badlogic.gdx.input.GestureDetector.GestureListener; -import com.badlogic.gdx.math.Bresenham2; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.Input.Buttons; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Batch; +import io.anuke.arc.input.GestureDetector; +import io.anuke.arc.input.GestureDetector.GestureListener; +import io.anuke.arc.math.Bresenham2; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.editor.DrawOperation.TileOperation; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.GridImage; diff --git a/core/src/io/anuke/mindustry/editor/OperationStack.java b/core/src/io/anuke/mindustry/editor/OperationStack.java index 402da3cf5e..6824083279 100755 --- a/core/src/io/anuke/mindustry/editor/OperationStack.java +++ b/core/src/io/anuke/mindustry/editor/OperationStack.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; public class OperationStack{ private final static int maxSize = 10; diff --git a/core/src/io/anuke/mindustry/entities/Damage.java b/core/src/io/anuke/mindustry/entities/Damage.java index 23f00d7e10..54e3b157a1 100644 --- a/core/src/io/anuke/mindustry/entities/Damage.java +++ b/core/src/io/anuke/mindustry/entities/Damage.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.content.bullets.TurretBullets; import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.content.fx.Fx; diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index fe59b17711..5c03efb4bc 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.entities; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.GlyphLayout; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Queue; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.GlyphLayout; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Queue; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.Mechs; diff --git a/core/src/io/anuke/mindustry/entities/Predict.java b/core/src/io/anuke/mindustry/entities/Predict.java index 09d589bffd..e38be8b2ba 100644 --- a/core/src/io/anuke/mindustry/entities/Predict.java +++ b/core/src/io/anuke/mindustry/entities/Predict.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.ucore.util.Mathf; diff --git a/core/src/io/anuke/mindustry/entities/StatusController.java b/core/src/io/anuke/mindustry/entities/StatusController.java index 2df186d4c8..b7d0927b4a 100644 --- a/core/src/io/anuke/mindustry/entities/StatusController.java +++ b/core/src/io/anuke/mindustry/entities/StatusController.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.entities.traits.Saveable; import io.anuke.mindustry.type.ContentType; diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index 7df1e6d659..e5f7d8f5d3 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.entities; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.fx.Fx; diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index 198d44b283..50f4b27b73 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.entities; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.traits.*; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/entities/Units.java b/core/src/io/anuke/mindustry/entities/Units.java index 0d0584371c..b0749ce0f2 100644 --- a/core/src/io/anuke/mindustry/entities/Units.java +++ b/core/src/io/anuke/mindustry/entities/Units.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java index d130585cae..32288ef16d 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.bullet; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.traits.TargetTrait; diff --git a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java index f918d6ce8b..5b1b461f3a 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java +++ b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.bullet; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.entities.Unit; diff --git a/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java index 6d5f272836..03328db49c 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.bullet; -import com.badlogic.gdx.math.Rectangle; +import io.anuke.arc.math.Rectangle; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.Units; import io.anuke.ucore.core.Timers; diff --git a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java index fa8b7164ee..70b52f385c 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.bullet; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.GridPoint2; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.GridPoint2; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.effect.Fire; diff --git a/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java index 7e75370183..2106e34628 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.bullet; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.graphics.Palette; import io.anuke.ucore.core.Effects; diff --git a/core/src/io/anuke/mindustry/entities/effect/Decal.java b/core/src/io/anuke/mindustry/entities/effect/Decal.java index 64c9facba6..6001c8b1e2 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Decal.java +++ b/core/src/io/anuke/mindustry/entities/effect/Decal.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.effect; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.mindustry.entities.traits.BelowLiquidTrait; import io.anuke.ucore.entities.EntityGroup; import io.anuke.ucore.entities.impl.TimedEntity; diff --git a/core/src/io/anuke/mindustry/entities/effect/Fire.java b/core/src/io/anuke/mindustry/entities/effect/Fire.java index bf6e58c698..d7a689c7fc 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fire.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fire.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities.effect; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.IntMap; -import com.badlogic.gdx.utils.Pool.Poolable; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.IntMap; +import io.anuke.arc.utils.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.StatusEffects; diff --git a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java index 90e35dd496..8569d4d0f4 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java +++ b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.effect; -import com.badlogic.gdx.math.Interpolation; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.entities.Unit; diff --git a/core/src/io/anuke/mindustry/entities/effect/Lightning.java b/core/src/io/anuke/mindustry/entities/effect/Lightning.java index 1cf162f286..cda35eeaeb 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Lightning.java +++ b/core/src/io/anuke/mindustry/entities/effect/Lightning.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.entities.effect; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntSet; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.bullets.TurretBullets; diff --git a/core/src/io/anuke/mindustry/entities/effect/Puddle.java b/core/src/io/anuke/mindustry/entities/effect/Puddle.java index ce9dfc4926..d0c762d407 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Puddle.java +++ b/core/src/io/anuke/mindustry/entities/effect/Puddle.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.entities.effect; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.utils.IntMap; -import com.badlogic.gdx.utils.Pool.Poolable; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.utils.IntMap; +import io.anuke.arc.utils.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.Liquids; diff --git a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java index 7bfc3e369e..6585352c4a 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.effect; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Angles; diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index d4aad07db6..4f0bacda4d 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.entities.traits; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Queue; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.Queue; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.BlockFx; @@ -251,7 +251,7 @@ public interface BuilderTrait extends Entity{ } if(!current.initialized){ - Gdx.app.postRunnable(() -> Events.fire(new BuildSelectEvent(tile, unit.getTeam(), this, current.breaking))); + Core.app.postRunnable(() -> Events.fire(new BuildSelectEvent(tile, unit.getTeam(), this, current.breaking))); current.initialized = true; } } diff --git a/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java b/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java index 774b2b4143..958a0cb319 100644 --- a/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.traits; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectIntMap; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectIntMap; import io.anuke.ucore.function.Supplier; public interface TypeTrait{ diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index f40e21c2c2..900736e9a4 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.units; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Rectangle; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Rectangle; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index e72390c51e..5fe497d4ba 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.units; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.traits.CarriableTrait; diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index db01ba1ab1..d6beb9935a 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.units; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/entities/units/Squad.java b/core/src/io/anuke/mindustry/entities/units/Squad.java index 1068de0a6b..645ea3bdea 100644 --- a/core/src/io/anuke/mindustry/entities/units/Squad.java +++ b/core/src/io/anuke/mindustry/entities/units/Squad.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.units; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Vector2; import io.anuke.ucore.util.Translator; import static io.anuke.mindustry.Vars.threads; diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index c18928262b..c3fc8e2df4 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities.units; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.entities.traits.TypeTrait; diff --git a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java index 478854cfc0..cca7b7c45a 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.units.types; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/entities/units/types/Drone.java b/core/src/io/anuke/mindustry/entities/units/types/Drone.java index b47215d4ea..64aa4b799b 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Drone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Drone.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.units.types; -import com.badlogic.gdx.utils.Queue; +import io.anuke.arc.utils.Queue; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/game/Saves.java b/core/src/io/anuke/mindustry/game/Saves.java index 9e40b65e3c..487e78ca69 100644 --- a/core/src/io/anuke/mindustry/game/Saves.java +++ b/core/src/io/anuke/mindustry/game/Saves.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.game; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntArray; -import com.badlogic.gdx.utils.IntMap; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntArray; +import io.anuke.arc.utils.IntMap; +import io.anuke.arc.utils.TimeUtils; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.io.SaveIO; diff --git a/core/src/io/anuke/mindustry/game/Team.java b/core/src/io/anuke/mindustry/game/Team.java index 2bace764e2..52f2990618 100644 --- a/core/src/io/anuke/mindustry/game/Team.java +++ b/core/src/io/anuke/mindustry/game/Team.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.ucore.util.Bundles; public enum Team{ diff --git a/core/src/io/anuke/mindustry/game/Teams.java b/core/src/io/anuke/mindustry/game/Teams.java index 7b004b37d2..a02fe973cd 100644 --- a/core/src/io/anuke/mindustry/game/Teams.java +++ b/core/src/io/anuke/mindustry/game/Teams.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.Vars; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.util.EnumSet; diff --git a/core/src/io/anuke/mindustry/game/UnlockableContent.java b/core/src/io/anuke/mindustry/game/UnlockableContent.java index fc90949927..e82afc00a6 100644 --- a/core/src/io/anuke/mindustry/game/UnlockableContent.java +++ b/core/src/io/anuke/mindustry/game/UnlockableContent.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.ucore.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.control; diff --git a/core/src/io/anuke/mindustry/game/Unlocks.java b/core/src/io/anuke/mindustry/game/Unlocks.java index 04109296ca..9970b33ba4 100644 --- a/core/src/io/anuke/mindustry/game/Unlocks.java +++ b/core/src/io/anuke/mindustry/game/Unlocks.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.game; -import com.badlogic.gdx.utils.ObjectMap; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.game.EventType.UnlockEvent; import io.anuke.mindustry.type.ContentType; import io.anuke.ucore.core.Events; diff --git a/core/src/io/anuke/mindustry/game/Version.java b/core/src/io/anuke/mindustry/game/Version.java index 44d4aac4b1..b44ca5deb1 100644 --- a/core/src/io/anuke/mindustry/game/Version.java +++ b/core/src/io/anuke/mindustry/game/Version.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.game; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.ObjectMap; -import com.badlogic.gdx.utils.PropertiesUtils; +import io.anuke.arc.Core; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.utils.PropertiesUtils; import io.anuke.ucore.util.Strings; import java.io.IOException; @@ -22,7 +22,7 @@ public class Version{ public static void init(){ try{ - FileHandle file = Gdx.files.internal("version.properties"); + FileHandle file = Core.files.internal("version.properties"); ObjectMap map = new ObjectMap<>(); PropertiesUtils.load(map, file.reader()); diff --git a/core/src/io/anuke/mindustry/game/Waves.java b/core/src/io/anuke/mindustry/game/Waves.java index 12fe04c959..2241916c3a 100644 --- a/core/src/io/anuke/mindustry/game/Waves.java +++ b/core/src/io/anuke/mindustry/game/Waves.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.UnitTypes; diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index 5b679ccdf4..644145ff35 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntSet; -import com.badlogic.gdx.utils.Sort; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntSet; +import io.anuke.arc.utils.Sort; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; diff --git a/core/src/io/anuke/mindustry/graphics/CacheLayer.java b/core/src/io/anuke/mindustry/graphics/CacheLayer.java index 4a13487541..978454bac5 100644 --- a/core/src/io/anuke/mindustry/graphics/CacheLayer.java +++ b/core/src/io/anuke/mindustry/graphics/CacheLayer.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Graphics; import io.anuke.ucore.graphics.Draw; diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index 36510734d7..8bec526285 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.GL20; -import com.badlogic.gdx.graphics.OrthographicCamera; -import com.badlogic.gdx.utils.IntArray; -import com.badlogic.gdx.utils.IntSet; -import com.badlogic.gdx.utils.IntSet.IntSetIterator; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.GL20; +import io.anuke.arc.graphics.OrthographicCamera; +import io.anuke.arc.utils.IntArray; +import io.anuke.arc.utils.IntSet; +import io.anuke.arc.utils.IntSet.IntSetIterator; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.world.Tile; @@ -106,7 +106,7 @@ public class FloorRenderer{ cbatch.setProjectionMatrix(Core.camera.combined); cbatch.beginDraw(); - Gdx.gl.glEnable(GL20.GL_BLEND); + Core.gl.glEnable(GL20.GL_BLEND); } public void endDraw(){ diff --git a/core/src/io/anuke/mindustry/graphics/FogRenderer.java b/core/src/io/anuke/mindustry/graphics/FogRenderer.java index 7c920c78b0..f913f4f2b4 100644 --- a/core/src/io/anuke/mindustry/graphics/FogRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FogRenderer.java @@ -1,14 +1,14 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.GL20; -import com.badlogic.gdx.graphics.Pixmap.Format; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.graphics.glutils.FrameBuffer; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Disposable; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.GL20; +import io.anuke.arc.graphics.Pixmap.Format; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.glutils.FrameBuffer; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.Disposable; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; @@ -72,8 +72,8 @@ public class FogRenderer implements Disposable{ buffer.begin(); pixelBuffer.position(0); - Gdx.gl.glPixelStorei(GL20.GL_PACK_ALIGNMENT, 1); - Gdx.gl.glReadPixels(0, 0, world.width(), world.height(), GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, pixelBuffer); + Core.gl.glPixelStorei(GL20.GL_PACK_ALIGNMENT, 1); + Core.gl.glReadPixels(0, 0, world.width(), world.height(), GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, pixelBuffer); pixelBuffer.position(0); for(int i = 0; i < world.width() * world.height(); i++){ @@ -162,7 +162,7 @@ public class FogRenderer implements Disposable{ Graphics.shader(); Graphics.setScreen(); - Core.batch.draw(renderer.pixelSurface.texture(), 0, Gdx.graphics.getHeight(), Gdx.graphics.getWidth(), -Gdx.graphics.getHeight()); + Core.batch.draw(renderer.pixelSurface.texture(), 0, Core.graphics.getHeight(), Core.graphics.getWidth(), -Core.graphics.getHeight()); Graphics.end(); } diff --git a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java index e900b2feef..c8ebde6790 100644 --- a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Pixmap; -import com.badlogic.gdx.graphics.Pixmap.Format; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Disposable; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Pixmap; +import io.anuke.arc.graphics.Pixmap.Format; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.Disposable; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.game.EventType.TileChangeEvent; @@ -41,7 +41,7 @@ public class MinimapRenderer implements Disposable{ }); //make sure to call on the graphics thread - Events.on(TileChangeEvent.class, event -> Gdx.app.postRunnable(() -> update(event.tile))); + Events.on(TileChangeEvent.class, event -> Core.app.postRunnable(() -> update(event.tile))); } public Texture getTexture(){ diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index 3c070132fa..67ca88fae8 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.MathUtils; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.MathUtils; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/graphics/Palette.java b/core/src/io/anuke/mindustry/graphics/Palette.java index 437a36034c..0ffcf551be 100644 --- a/core/src/io/anuke/mindustry/graphics/Palette.java +++ b/core/src/io/anuke/mindustry/graphics/Palette.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; public class Palette{ public static final Color diff --git a/core/src/io/anuke/mindustry/graphics/Shaders.java b/core/src/io/anuke/mindustry/graphics/Shaders.java index 254234f419..9c1dd13176 100644 --- a/core/src/io/anuke/mindustry/graphics/Shaders.java +++ b/core/src/io/anuke/mindustry/graphics/Shaders.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; @@ -54,8 +54,8 @@ public class Shaders{ public void apply(){ time = time % 158; - shader.setUniformf("u_resolution", Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); - shader.setUniformi("u_time", (int)(time += Gdx.graphics.getDeltaTime() * 60f)); + shader.setUniformf("u_resolution", Core.graphics.getWidth(), Core.graphics.getHeight()); + shader.setUniformi("u_time", (int)(time += Core.graphics.getDeltaTime() * 60f)); shader.setUniformf("u_uv", Draw.getBlankRegion().getU(), Draw.getBlankRegion().getV()); shader.setUniformf("u_scl", Unit.dp.scl(1f)); shader.setUniformf("u_uv2", Draw.getBlankRegion().getU2(), Draw.getBlankRegion().getV2()); diff --git a/core/src/io/anuke/mindustry/graphics/Trail.java b/core/src/io/anuke/mindustry/graphics/Trail.java index bd34dc7002..cde3f9ae98 100644 --- a/core/src/io/anuke/mindustry/graphics/Trail.java +++ b/core/src/io/anuke/mindustry/graphics/Trail.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.graphics; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.FloatArray; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.FloatArray; import io.anuke.ucore.core.Timers; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/input/DefaultKeybinds.java b/core/src/io/anuke/mindustry/input/DefaultKeybinds.java index 19639b7466..d3e0c9d969 100644 --- a/core/src/io/anuke/mindustry/input/DefaultKeybinds.java +++ b/core/src/io/anuke/mindustry/input/DefaultKeybinds.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.input; -import com.badlogic.gdx.Application.ApplicationType; -import com.badlogic.gdx.Gdx; +import io.anuke.arc.Application.ApplicationType; +import io.anuke.arc.Core; import io.anuke.ucore.core.Inputs.Axis; import io.anuke.ucore.core.Inputs.DeviceType; import io.anuke.ucore.core.KeyBinds; @@ -31,7 +31,7 @@ public class DefaultKeybinds{ "zoom_hold", Input.CONTROL_LEFT, "zoom", new Axis(Input.SCROLL), "zoom_minimap", new Axis(Input.MINUS, Input.PLUS), - "menu", Gdx.app.getType() == ApplicationType.Android ? Input.BACK : Input.ESCAPE, + "menu", Core.app.getType() == ApplicationType.Android ? Input.BACK : Input.ESCAPE, "pause", Input.SPACE, "toggle_menus", Input.C, "screenshot", Input.P, diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index d6881fc58a..5eaa5ee32c 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.input; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -71,8 +71,8 @@ public class DesktopInput extends InputHandler{ @Override public void drawOutlined(){ - int cursorX = tileX(Gdx.input.getX()); - int cursorY = tileY(Gdx.input.getY()); + int cursorX = tileX(Core.input.getX()); + int cursorY = tileY(Core.input.getY()); //draw selection(s) if(mode == placing && recipe != null){ @@ -169,7 +169,7 @@ public class DesktopInput extends InputHandler{ rotation = Mathf.mod(rotation + (int) Inputs.getAxisTapped(section, "rotate"), 4); - Tile cursor = tileAt(Gdx.input.getX(), Gdx.input.getY()); + Tile cursor = tileAt(Core.input.getX(), Core.input.getY()); if(player.isDead()){ cursorType = normal; @@ -199,9 +199,9 @@ public class DesktopInput extends InputHandler{ } void pollInput(){ - Tile selected = tileAt(Gdx.input.getX(), Gdx.input.getY()); - int cursorX = tileX(Gdx.input.getX()); - int cursorY = tileY(Gdx.input.getY()); + Tile selected = tileAt(Core.input.getX(), Core.input.getY()); + int cursorX = tileX(Core.input.getX()); + int cursorY = tileY(Core.input.getY()); if(Inputs.keyTap(section, "deselect")){ player.setMineTile(null); @@ -232,8 +232,8 @@ public class DesktopInput extends InputHandler{ }else if(Inputs.keyTap(section, "break") && !ui.hasMouse()){ //is recalculated because setting the mode to breaking removes potential multiblock cursor offset mode = breaking; - selectX = tileX(Gdx.input.getX()); - selectY = tileY(Gdx.input.getY()); + selectX = tileX(Core.input.getX()); + selectY = tileY(Core.input.getY()); } @@ -278,12 +278,12 @@ public class DesktopInput extends InputHandler{ @Override public float getMouseX(){ - return !controlling ? Gdx.input.getX() : controlx; + return !controlling ? Core.input.getX() : controlx; } @Override public float getMouseY(){ - return !controlling ? Gdx.input.getY() : controly; + return !controlling ? Core.input.getY() : controly; } @Override @@ -295,7 +295,7 @@ public class DesktopInput extends InputHandler{ public void updateController(){ //TODO no controller support //TODO move controller input to new class, ControllerInput - boolean mousemove = Gdx.input.getDeltaX() > 1 || Gdx.input.getDeltaY() > 1; + boolean mousemove = Core.input.getDeltaX() > 1 || Core.input.getDeltaY() > 1; if(state.is(State.menu)){ droppingItem = false; @@ -316,22 +316,22 @@ public class DesktopInput extends InputHandler{ controlling = true; if(player.playerIndex == 0){ - Gdx.input.setCursorCatched(true); + Core.input.setCursorCatched(true); } Inputs.getProcessor().touchDragged((int) getMouseX(), (int) getMouseY(), player.playerIndex); } - controlx = Mathf.clamp(controlx, 0, Gdx.graphics.getWidth()); - controly = Mathf.clamp(controly, 0, Gdx.graphics.getHeight()); + controlx = Mathf.clamp(controlx, 0, Core.graphics.getWidth()); + controly = Mathf.clamp(controly, 0, Core.graphics.getHeight()); }else{ controlling = false; - Gdx.input.setCursorCatched(false); + Core.input.setCursorCatched(false); } if(!controlling){ - controlx = Gdx.input.getX(); - controly = Gdx.input.getY(); + controlx = Core.input.getX(); + controly = Core.input.getY(); } } diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index ac8007737c..dec9bd29d5 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.input; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.InputAdapter; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.Core; +import io.anuke.arc.InputAdapter; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.blocks.Blocks; @@ -130,11 +130,11 @@ public abstract class InputHandler extends InputAdapter{ } public float getMouseX(){ - return Gdx.input.getX(); + return Core.input.getX(); } public float getMouseY(){ - return Gdx.input.getY(); + return Core.input.getY(); } public void resetCursor(){ diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index f4272a40cb..8eb82433e7 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -1,16 +1,16 @@ package io.anuke.mindustry.input; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.input.GestureDetector; -import com.badlogic.gdx.input.GestureDetector.GestureListener; -import com.badlogic.gdx.math.Interpolation; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.input.GestureDetector; +import io.anuke.arc.input.GestureDetector.GestureListener; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.core.GameState.State; @@ -321,8 +321,8 @@ public class MobileInput extends InputHandler implements GestureListener{ //Draw lines if(lineMode){ - int tileX = tileX(Gdx.input.getX()); - int tileY = tileY(Gdx.input.getY()); + int tileX = tileX(Core.input.getX()); + int tileY = tileY(Core.input.getY()); //draw placing if(mode == placing && recipe != null){ @@ -615,7 +615,7 @@ public class MobileInput extends InputHandler implements GestureListener{ lineScale = Mathf.lerpDelta(lineScale, 1f, 0.1f); //When in line mode, pan when near screen edges automatically - if(Gdx.input.isTouched(0) && lineMode){ + if(Core.input.isTouched(0) && lineMode){ float screenX = Graphics.mouse().x, screenY = Graphics.mouse().y; float panX = 0, panY = 0; @@ -624,19 +624,19 @@ public class MobileInput extends InputHandler implements GestureListener{ panX = -(edgePan - screenX); } - if(screenX >= Gdx.graphics.getWidth() - edgePan){ - panX = (screenX - Gdx.graphics.getWidth()) + edgePan; + if(screenX >= Core.graphics.getWidth() - edgePan){ + panX = (screenX - Core.graphics.getWidth()) + edgePan; } if(screenY <= edgePan){ panY = -(edgePan - screenY); } - if(screenY >= Gdx.graphics.getHeight() - edgePan){ - panY = (screenY - Gdx.graphics.getHeight()) + edgePan; + if(screenY >= Core.graphics.getHeight() - edgePan){ + panY = (screenY - Core.graphics.getHeight()) + edgePan; } - vector.set(panX, panY).scl((Core.camera.viewportWidth * Core.camera.zoom) / Gdx.graphics.getWidth()); + vector.set(panX, panY).scl((Core.camera.viewportWidth * Core.camera.zoom) / Core.graphics.getWidth()); vector.limit(maxPanSpeed); //pan view @@ -663,7 +663,7 @@ public class MobileInput extends InputHandler implements GestureListener{ if(!canPan) return false; //can't pan in line mode with one finger or while dropping items! - if((lineMode && !Gdx.input.isTouched(1)) || droppingItem){ + if((lineMode && !Core.input.isTouched(1)) || droppingItem){ return false; } diff --git a/core/src/io/anuke/mindustry/io/BundleLoader.java b/core/src/io/anuke/mindustry/io/BundleLoader.java index 53643dc81f..b6fa4b2084 100644 --- a/core/src/io/anuke/mindustry/io/BundleLoader.java +++ b/core/src/io/anuke/mindustry/io/BundleLoader.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.io; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.I18NBundle; +import io.anuke.arc.Core; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.utils.I18NBundle; import io.anuke.mindustry.Vars; import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Settings; @@ -42,7 +42,7 @@ public class BundleLoader{ I18NBundle.setExceptionOnMissingKey(false); try{ //try loading external bundle - FileHandle handle = Gdx.files.local("bundle"); + FileHandle handle = Core.files.local("bundle"); Locale locale = Locale.ENGLISH; Core.bundle = I18NBundle.createBundle(handle, locale); @@ -54,7 +54,7 @@ public class BundleLoader{ }catch(Throwable e){ //no external bundle found - FileHandle handle = Gdx.files.internal("bundles/bundle"); + FileHandle handle = Core.files.internal("bundles/bundle"); Locale locale = getLocale(); Locale.setDefault(locale); diff --git a/core/src/io/anuke/mindustry/io/Changelogs.java b/core/src/io/anuke/mindustry/io/Changelogs.java index e1b28c71ed..a9f634f4b5 100644 --- a/core/src/io/anuke/mindustry/io/Changelogs.java +++ b/core/src/io/anuke/mindustry/io/Changelogs.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.io; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.JsonReader; -import com.badlogic.gdx.utils.JsonValue; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.JsonReader; +import io.anuke.arc.utils.JsonValue; import io.anuke.mindustry.net.Net; import io.anuke.ucore.function.Consumer; diff --git a/core/src/io/anuke/mindustry/io/Contributors.java b/core/src/io/anuke/mindustry/io/Contributors.java index f7c6e0f4b1..a03fc5f39c 100644 --- a/core/src/io/anuke/mindustry/io/Contributors.java +++ b/core/src/io/anuke/mindustry/io/Contributors.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.io; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.JsonReader; -import com.badlogic.gdx.utils.JsonValue; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.JsonReader; +import io.anuke.arc.utils.JsonValue; import io.anuke.mindustry.net.Net; import io.anuke.ucore.function.Consumer; diff --git a/core/src/io/anuke/mindustry/io/MapIO.java b/core/src/io/anuke/mindustry/io/MapIO.java index 7dea904ef3..ee7b909916 100644 --- a/core/src/io/anuke/mindustry/io/MapIO.java +++ b/core/src/io/anuke/mindustry/io/MapIO.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.io; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.Pixmap; -import com.badlogic.gdx.graphics.Pixmap.Format; -import com.badlogic.gdx.utils.IntIntMap; -import com.badlogic.gdx.utils.ObjectMap; -import com.badlogic.gdx.utils.ObjectMap.Entry; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.Pixmap; +import io.anuke.arc.graphics.Pixmap.Format; +import io.anuke.arc.utils.IntIntMap; +import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.utils.ObjectMap.Entry; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/io/SaveFileVersion.java b/core/src/io/anuke/mindustry/io/SaveFileVersion.java index 0b4b40f5d2..488e5e3ade 100644 --- a/core/src/io/anuke/mindustry/io/SaveFileVersion.java +++ b/core/src/io/anuke/mindustry/io/SaveFileVersion.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.io; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.entities.traits.SaveTrait; diff --git a/core/src/io/anuke/mindustry/io/SaveIO.java b/core/src/io/anuke/mindustry/io/SaveIO.java index c13fe96662..960d4cf20b 100644 --- a/core/src/io/anuke/mindustry/io/SaveIO.java +++ b/core/src/io/anuke/mindustry/io/SaveIO.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.io; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntArray; -import com.badlogic.gdx.utils.IntMap; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntArray; +import io.anuke.arc.utils.IntMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.versions.Save16; diff --git a/core/src/io/anuke/mindustry/io/TypeIO.java b/core/src/io/anuke/mindustry/io/TypeIO.java index 2d0f9feb08..535f0fd0fc 100644 --- a/core/src/io/anuke/mindustry/io/TypeIO.java +++ b/core/src/io/anuke/mindustry/io/TypeIO.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.io; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.annotations.Annotations.ReadClass; import io.anuke.annotations.Annotations.WriteClass; import io.anuke.mindustry.entities.Player; diff --git a/core/src/io/anuke/mindustry/io/versions/Save16.java b/core/src/io/anuke/mindustry/io/versions/Save16.java index 7a4fc1e79e..f705cd1b4b 100644 --- a/core/src/io/anuke/mindustry/io/versions/Save16.java +++ b/core/src/io/anuke/mindustry/io/versions/Save16.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.io.versions; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.utils.TimeUtils; import io.anuke.mindustry.game.Difficulty; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.Version; diff --git a/core/src/io/anuke/mindustry/maps/Map.java b/core/src/io/anuke/mindustry/maps/Map.java index 1ad60c0e1d..95f7399608 100644 --- a/core/src/io/anuke/mindustry/maps/Map.java +++ b/core/src/io/anuke/mindustry/maps/Map.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.utils.ObjectMap; import io.anuke.ucore.function.Supplier; import java.io.InputStream; diff --git a/core/src/io/anuke/mindustry/maps/MapMeta.java b/core/src/io/anuke/mindustry/maps/MapMeta.java index 2f13ee59b9..934800c752 100644 --- a/core/src/io/anuke/mindustry/maps/MapMeta.java +++ b/core/src/io/anuke/mindustry/maps/MapMeta.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.utils.IntIntMap; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.utils.IntIntMap; +import io.anuke.arc.utils.ObjectMap; import io.anuke.ucore.util.Bundles; public class MapMeta{ diff --git a/core/src/io/anuke/mindustry/maps/MapTileData.java b/core/src/io/anuke/mindustry/maps/MapTileData.java index e48b902032..b6a15ac1c0 100644 --- a/core/src/io/anuke/mindustry/maps/MapTileData.java +++ b/core/src/io/anuke/mindustry/maps/MapTileData.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.utils.IntIntMap; +import io.anuke.arc.utils.IntIntMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/maps/Maps.java b/core/src/io/anuke/mindustry/maps/Maps.java index 74936f00f8..b383ccc534 100644 --- a/core/src/io/anuke/mindustry/maps/Maps.java +++ b/core/src/io/anuke/mindustry/maps/Maps.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Disposable; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.Core; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.Disposable; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.io.MapIO; import io.anuke.ucore.function.Supplier; import io.anuke.ucore.util.Log; @@ -62,7 +62,7 @@ public class Maps implements Disposable{ public void load(){ try { for (String name : defaultMapNames) { - FileHandle file = Gdx.files.internal("maps/" + name + "." + mapExtension); + FileHandle file = Core.files.internal("maps/" + name + "." + mapExtension); loadMap(file.nameWithoutExtension(), file::read, false); } }catch (IOException e){ diff --git a/core/src/io/anuke/mindustry/maps/Sector.java b/core/src/io/anuke/mindustry/maps/Sector.java index e184409ae1..b9a42dd922 100644 --- a/core/src/io/anuke/mindustry/maps/Sector.java +++ b/core/src/io/anuke/mindustry/maps/Sector.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.utils.Array; import io.anuke.annotations.Annotations.Serialize; import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.mindustry.game.SpawnGroup; diff --git a/core/src/io/anuke/mindustry/maps/SectorPresets.java b/core/src/io/anuke/mindustry/maps/SectorPresets.java index 08fa7f1b19..abf3d9eaa3 100644 --- a/core/src/io/anuke/mindustry/maps/SectorPresets.java +++ b/core/src/io/anuke/mindustry/maps/SectorPresets.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.Mechs; diff --git a/core/src/io/anuke/mindustry/maps/Sectors.java b/core/src/io/anuke/mindustry/maps/Sectors.java index b2d4b6cb1b..0a1fef1a8b 100644 --- a/core/src/io/anuke/mindustry/maps/Sectors.java +++ b/core/src/io/anuke/mindustry/maps/Sectors.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Pixmap; -import com.badlogic.gdx.graphics.Pixmap.Format; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Array.ArrayIterable; -import com.badlogic.gdx.utils.async.AsyncExecutor; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Pixmap; +import io.anuke.arc.graphics.Pixmap.Format; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.Array.ArrayIterable; +import io.anuke.arc.utils.async.AsyncExecutor; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Difficulty; @@ -307,7 +307,7 @@ public class Sectors{ } } - Gdx.app.postRunnable(() -> { + Core.app.postRunnable(() -> { sector.texture = new Texture(pixmap); pixmap.dispose(); }); diff --git a/core/src/io/anuke/mindustry/maps/TutorialSector.java b/core/src/io/anuke/mindustry/maps/TutorialSector.java index b597cc9ec0..bdb835a370 100644 --- a/core/src/io/anuke/mindustry/maps/TutorialSector.java +++ b/core/src/io/anuke/mindustry/maps/TutorialSector.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.CraftingBlocks; import io.anuke.mindustry.content.blocks.ProductionBlocks; diff --git a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java index def5cf1e0c..11d3c7c3db 100644 --- a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.maps.generation; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntIntMap; -import com.badlogic.gdx.utils.Predicate; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntIntMap; +import io.anuke.arc.utils.Predicate; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.blocks.*; diff --git a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java index 8686b6c80d..575f69325e 100644 --- a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.maps.generation; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntArray; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntArray; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.OreBlocks; diff --git a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java index e1f5bc5614..175e79c9de 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java b/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java index 918788b55c..26a1b5c01c 100644 --- a/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.maps.missions; -import com.badlogic.gdx.math.Bresenham2; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.math.Bresenham2; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.world.Block; public class LineBlockMission extends Mission{ diff --git a/core/src/io/anuke/mindustry/maps/missions/Mission.java b/core/src/io/anuke/mindustry/maps/missions/Mission.java index eba443be21..01921dc03e 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Mission.java +++ b/core/src/io/anuke/mindustry/maps/missions/Mission.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.UnlockableContent; diff --git a/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java b/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java index a134891329..405946f2cd 100644 --- a/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java +++ b/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.Generation; diff --git a/core/src/io/anuke/mindustry/maps/missions/Missions.java b/core/src/io/anuke/mindustry/maps/missions/Missions.java index bc0b139185..8ba6e71e8e 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Missions.java +++ b/core/src/io/anuke/mindustry/maps/missions/Missions.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps.missions; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java index e31120af00..34308789b2 100644 --- a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps.missions; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/net/Administration.java b/core/src/io/anuke/mindustry/net/Administration.java index 1f7d2288af..97bbf3e6ab 100644 --- a/core/src/io/anuke/mindustry/net/Administration.java +++ b/core/src/io/anuke/mindustry/net/Administration.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.net; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectMap; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.utils.ObjectSet; import io.anuke.annotations.Annotations.Serialize; import io.anuke.ucore.core.Settings; diff --git a/core/src/io/anuke/mindustry/net/Interpolator.java b/core/src/io/anuke/mindustry/net/Interpolator.java index b184875d88..950310c30d 100644 --- a/core/src/io/anuke/mindustry/net/Interpolator.java +++ b/core/src/io/anuke/mindustry/net/Interpolator.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.net; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.TimeUtils; import io.anuke.ucore.util.Mathf; public class Interpolator{ diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index 13548a2872..d0dce9ef8d 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.net; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Net.HttpRequest; -import com.badlogic.gdx.Net.HttpResponse; -import com.badlogic.gdx.Net.HttpResponseListener; -import com.badlogic.gdx.net.HttpRequestBuilder; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntMap; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.Core; +import io.anuke.arc.Net.HttpRequest; +import io.anuke.arc.Net.HttpResponse; +import io.anuke.arc.Net.HttpResponseListener; +import io.anuke.arc.net.HttpRequestBuilder; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntMap; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Packets.KickReason; @@ -347,7 +347,7 @@ public class Net{ HttpRequest req = new HttpRequestBuilder().newRequest() .method(method).url(url).content(body).build(); - Gdx.net.sendHttpRequest(req, new HttpResponseListener(){ + Core.net.sendHttpRequest(req, new HttpResponseListener(){ @Override public void handleHttpResponse(HttpResponse httpResponse){ listener.accept(httpResponse.getResultAsString()); diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index f8a9a5ddbe..5bd6581bc2 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.net; -import com.badlogic.gdx.utils.ObjectMap; -import com.badlogic.gdx.utils.ObjectMap.Entry; -import com.badlogic.gdx.utils.TimeUtils; +import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.utils.ObjectMap.Entry; +import io.anuke.arc.utils.TimeUtils; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.GameMode; diff --git a/core/src/io/anuke/mindustry/net/Packet.java b/core/src/io/anuke/mindustry/net/Packet.java index ef34666dbb..ee80bbbebe 100644 --- a/core/src/io/anuke/mindustry/net/Packet.java +++ b/core/src/io/anuke/mindustry/net/Packet.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.net; -import com.badlogic.gdx.utils.Pool.Poolable; +import io.anuke.arc.utils.Pool.Poolable; import java.nio.ByteBuffer; diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index 1d3ef834e7..f9015ad45d 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.net; -import com.badlogic.gdx.utils.Base64Coder; +import io.anuke.arc.utils.Base64Coder; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.io.TypeIO; import io.anuke.ucore.util.Bundles; diff --git a/core/src/io/anuke/mindustry/net/Registrator.java b/core/src/io/anuke/mindustry/net/Registrator.java index 1fd12cca26..a3d9462e11 100644 --- a/core/src/io/anuke/mindustry/net/Registrator.java +++ b/core/src/io/anuke/mindustry/net/Registrator.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.net; -import com.badlogic.gdx.utils.ObjectIntMap; +import io.anuke.arc.utils.ObjectIntMap; import io.anuke.mindustry.net.Packets.*; import io.anuke.ucore.function.Supplier; diff --git a/core/src/io/anuke/mindustry/type/Item.java b/core/src/io/anuke/mindustry/type/Item.java index 62e91451ed..0cd980d3f1 100644 --- a/core/src/io/anuke/mindustry/type/Item.java +++ b/core/src/io/anuke/mindustry/type/Item.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.type; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; diff --git a/core/src/io/anuke/mindustry/type/Liquid.java b/core/src/io/anuke/mindustry/type/Liquid.java index 3dbb52fbe9..3af469d385 100644 --- a/core/src/io/anuke/mindustry/type/Liquid.java +++ b/core/src/io/anuke/mindustry/type/Liquid.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.type; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.ui.ContentDisplay; diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index 744bf11be1..95e1fa21d2 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.type; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.UnlockableContent; diff --git a/core/src/io/anuke/mindustry/type/Recipe.java b/core/src/io/anuke/mindustry/type/Recipe.java index daa84726e7..5637addaa2 100644 --- a/core/src/io/anuke/mindustry/type/Recipe.java +++ b/core/src/io/anuke/mindustry/type/Recipe.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.type; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectMap; -import com.badlogic.gdx.utils.OrderedMap; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.utils.OrderedMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.UnlockableContent; diff --git a/core/src/io/anuke/mindustry/type/StatusEffect.java b/core/src/io/anuke/mindustry/type/StatusEffect.java index 1d8282354b..88fcaa7021 100644 --- a/core/src/io/anuke/mindustry/type/StatusEffect.java +++ b/core/src/io/anuke/mindustry/type/StatusEffect.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.type; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.entities.StatusController.StatusEntry; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.Content; diff --git a/core/src/io/anuke/mindustry/type/Weapon.java b/core/src/io/anuke/mindustry/type/Weapon.java index 1a4e9159cd..44a44733bb 100644 --- a/core/src/io/anuke/mindustry/type/Weapon.java +++ b/core/src/io/anuke/mindustry/type/Weapon.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.type; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/ui/BorderImage.java b/core/src/io/anuke/mindustry/ui/BorderImage.java index 66d3913500..ce88ddfa79 100644 --- a/core/src/io/anuke/mindustry/ui/BorderImage.java +++ b/core/src/io/anuke/mindustry/ui/BorderImage.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.graphics.g2d.Batch; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Palette; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Lines; diff --git a/core/src/io/anuke/mindustry/ui/ContentDisplay.java b/core/src/io/anuke/mindustry/ui/ContentDisplay.java index 25da82eaa8..07db66f19f 100644 --- a/core/src/io/anuke/mindustry/ui/ContentDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ContentDisplay.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.OrderedMap; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.OrderedMap; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.Item; diff --git a/core/src/io/anuke/mindustry/ui/GridImage.java b/core/src/io/anuke/mindustry/ui/GridImage.java index 01792f5fbb..f41f4c8762 100644 --- a/core/src/io/anuke/mindustry/ui/GridImage.java +++ b/core/src/io/anuke/mindustry/ui/GridImage.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.Batch; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.scene.Element; diff --git a/core/src/io/anuke/mindustry/ui/ImageStack.java b/core/src/io/anuke/mindustry/ui/ImageStack.java index 2ca0063e48..d443b5f877 100644 --- a/core/src/io/anuke/mindustry/ui/ImageStack.java +++ b/core/src/io/anuke/mindustry/ui/ImageStack.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.ucore.scene.ui.Image; import io.anuke.ucore.scene.ui.layout.Stack; diff --git a/core/src/io/anuke/mindustry/ui/ItemImage.java b/core/src/io/anuke/mindustry/ui/ItemImage.java index 64007340af..1d466af4ce 100644 --- a/core/src/io/anuke/mindustry/ui/ItemImage.java +++ b/core/src/io/anuke/mindustry/ui/ItemImage.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.type.ItemStack; import io.anuke.ucore.function.Supplier; import io.anuke.ucore.scene.ui.Image; diff --git a/core/src/io/anuke/mindustry/ui/Links.java b/core/src/io/anuke/mindustry/ui/Links.java index 891e44f7f8..a875d85e78 100644 --- a/core/src/io/anuke/mindustry/ui/Links.java +++ b/core/src/io/anuke/mindustry/ui/Links.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.ucore.util.Bundles; public class Links{ diff --git a/core/src/io/anuke/mindustry/ui/MenuButton.java b/core/src/io/anuke/mindustry/ui/MenuButton.java index a7e1062bfc..27f37c72fa 100644 --- a/core/src/io/anuke/mindustry/ui/MenuButton.java +++ b/core/src/io/anuke/mindustry/ui/MenuButton.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.Align; import io.anuke.ucore.scene.ui.TextButton; public class MenuButton extends TextButton{ diff --git a/core/src/io/anuke/mindustry/ui/Minimap.java b/core/src/io/anuke/mindustry/ui/Minimap.java index ae87725d75..2c8463f857 100644 --- a/core/src/io/anuke/mindustry/ui/Minimap.java +++ b/core/src/io/anuke/mindustry/ui/Minimap.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.graphics.Texture.TextureFilter; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Texture.TextureFilter; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Shaders; import io.anuke.ucore.core.Core; import io.anuke.ucore.core.Graphics; diff --git a/core/src/io/anuke/mindustry/ui/MobileButton.java b/core/src/io/anuke/mindustry/ui/MobileButton.java index 68999a260c..39fbea8778 100644 --- a/core/src/io/anuke/mindustry/ui/MobileButton.java +++ b/core/src/io/anuke/mindustry/ui/MobileButton.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.utils.Align; import io.anuke.ucore.scene.ui.ImageButton; public class MobileButton extends ImageButton{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java index 4cfa262779..c6d5e0ff8e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.io.Contributors; import io.anuke.mindustry.io.Contributors.Contributor; @@ -69,9 +69,9 @@ public class AboutDialog extends FloatingDialog{ }).padLeft(8); table.addImageButton("icon-link", 14 * 3, () -> { - if(!Gdx.net.openURI(link.link)){ + if(!Core.net.openURI(link.link)){ ui.showError("$text.linkfail"); - Gdx.app.getClipboard().setContents(link.link); + Core.app.getClipboard().setContents(link.link); } }).size(h - 5, h); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java index 9d2e094eb1..5c09c574eb 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.Core; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.Changelogs; import io.anuke.mindustry.io.Changelogs.VersionInfo; @@ -28,10 +28,10 @@ public class ChangelogDialog extends FloatingDialog{ if(!ios && !OS.isMac){ Changelogs.getChangelog(result -> { versions = result; - Gdx.app.postRunnable(this::setup); + Core.app.postRunnable(this::setup); }, t -> { Log.err(t); - Gdx.app.postRunnable(this::setup); + Core.app.postRunnable(this::setup); }); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java index a9c282b065..6856373967 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.Input.Keys; +import io.anuke.arc.graphics.Color; import io.anuke.ucore.function.Consumer; import io.anuke.ucore.scene.ui.Dialog; import io.anuke.ucore.scene.ui.ImageButton; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java index c9c2901a6b..b5ee366047 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.Input.Keys; +import io.anuke.arc.utils.Align; import io.anuke.mindustry.graphics.Palette; import io.anuke.ucore.scene.ui.Image; import io.anuke.ucore.scene.ui.KeybindDialog; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java index 1a5f218489..434fae859e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Scaling; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.Scaling; import io.anuke.mindustry.game.Difficulty; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.maps.Map; @@ -38,7 +38,7 @@ public class CustomGameDialog extends FloatingDialog{ ScrollPane pane = new ScrollPane(maps); pane.setFadeScrollBars(false); - int maxwidth = (Gdx.graphics.getHeight() > Gdx.graphics.getHeight() ? 2 : 4); + int maxwidth = (Core.graphics.getHeight() > Core.graphics.getHeight() ? 2 : 4); Table selmode = new Table(); ButtonGroup group = new ButtonGroup<>(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java index e4571b2447..603925df1f 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.ucore.scene.ui.Dialog; @@ -40,12 +40,12 @@ public class DiscordDialog extends Dialog{ buttons().addButton("$text.back", this::hide); buttons().addButton("$text.copylink", () -> { - Gdx.app.getClipboard().setContents(discordURL); + Core.app.getClipboard().setContents(discordURL); }); buttons().addButton("$text.openlink", () -> { - if(!Gdx.net.openURI(discordURL)){ + if(!Core.net.openURI(discordURL)){ ui.showError("$text.linkfail"); - Gdx.app.getClipboard().setContents(discordURL); + Core.app.getClipboard().setContents(discordURL); } }); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java index b608f3527c..3c0a578b41 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.graphics.g2d.GlyphLayout; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.Core; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.graphics.g2d.GlyphLayout; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; import io.anuke.ucore.core.Core; @@ -27,8 +27,8 @@ public class FileChooser extends FloatingDialog{ public static Predicate jpegFilter = file -> file.extension().equalsIgnoreCase("png") || file.extension().equalsIgnoreCase("jpg") || file.extension().equalsIgnoreCase("jpeg"); public static Predicate defaultFilter = file -> true; private Table files; - private FileHandle homeDirectory = Gdx.files.absolute(OS.isMac ? OS.getProperty("user.home") + "/Downloads/" : - Gdx.files.getExternalStoragePath()); + private FileHandle homeDirectory = Core.files.absolute(OS.isMac ? OS.getProperty("user.home") + "/Downloads/" : + Core.files.getExternalStoragePath()); private FileHandle directory = homeDirectory; private ScrollPane pane; private TextField navigation, filefield; @@ -82,7 +82,7 @@ public class FileChooser extends FloatingDialog{ pane = new ScrollPane(files){ public float getPrefHeight(){ - return Gdx.graphics.getHeight(); + return Core.graphics.getHeight(); } }; pane.setOverscroll(false, false); @@ -142,7 +142,7 @@ public class FileChooser extends FloatingDialog{ content.add(icontable).expandX().fillX(); content.row(); - content.center().add(pane).width(UIUtils.portrait() ? Gdx.graphics.getWidth() / Unit.dp.scl(1) : Gdx.graphics.getWidth() / Unit.dp.scl(2)).colspan(3).grow(); + content.center().add(pane).width(UIUtils.portrait() ? Core.graphics.getWidth() / Unit.dp.scl(1) : Core.graphics.getWidth() / Unit.dp.scl(2)).colspan(3).grow(); content.row(); if(!open){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java index 600c59c193..72fff36dbb 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.Core; +import io.anuke.arc.Input.Keys; +import io.anuke.arc.utils.Align; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.ResizeEvent; import io.anuke.mindustry.graphics.Palette; @@ -43,7 +43,7 @@ public class FloatingDialog extends Dialog{ boolean[] done = {false}; - shown(() -> Gdx.app.postRunnable(() -> + shown(() -> Core.app.postRunnable(() -> forEach(child -> { if(done[0]) return; @@ -68,7 +68,7 @@ public class FloatingDialog extends Dialog{ keyDown(key -> { if(key == Keys.ESCAPE || key == Keys.BACK) { - Gdx.app.postRunnable(this::hide); + Core.app.postRunnable(this::hide); } }); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java index 64a8a21bec..39776323f3 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Pixmap; -import com.badlogic.gdx.graphics.Pixmap.Format; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.async.AsyncExecutor; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Pixmap; +import io.anuke.arc.graphics.Pixmap.Format; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.async.AsyncExecutor; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.WorldGenerator.GenResult; @@ -89,7 +89,7 @@ public class GenViewDialog extends FloatingDialog{ pixmap.drawPixel(i, sectorSize - 1 - j, ColorMapper.colorFor(result.floor, result.wall, Team.none, result.elevation, (byte)0)); } } - Gdx.app.postRunnable(() -> map.put(wx, wy, new Texture(pixmap))); + Core.app.postRunnable(() -> map.put(wx, wy, new Texture(pixmap))); return pixmap; }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java index b896ec75fd..f172df25e5 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.net.Net; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index 853f758f57..c8b63c73e6 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.MathUtils; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.MathUtils; +import io.anuke.arc.utils.Array; import io.anuke.annotations.Annotations.Serialize; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index d402ed9eeb..eb4e69b78c 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.Core; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.Platform; @@ -98,7 +98,7 @@ public class LoadDialog extends FloatingDialog{ }, false, saveExtension); }else{ try{ - FileHandle file = Gdx.files.local("save-" + slot.getName() + "." + Vars.saveExtension); + FileHandle file = Core.files.local("save-" + slot.getName() + "." + Vars.saveExtension); slot.exportFile(file); Platform.instance.shareFile(file); }catch(Exception e){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java index 7ef5786ee3..e7374dfed8 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.utils.Scaling; +import io.anuke.arc.utils.Scaling; import io.anuke.mindustry.entities.Player; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.scene.ui.Image; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java index bed08f9954..a300403c4d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.Scaling; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.Scaling; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.io.MapIO; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java index fc6b0ad57a..c794b3b1d8 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Input.Keys; +import io.anuke.arc.Input.Keys; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.net.Net; import io.anuke.ucore.scene.style.Drawable; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java index c38cfc31f6..72983830fd 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Align; import io.anuke.mindustry.Vars; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.maps.Sector; @@ -118,7 +118,7 @@ public class SectorsDialog extends FloatingDialog{ }).pad(-5).growX().padTop(0); table.pack(); - table.act(Gdx.graphics.getDeltaTime()); + table.act(Core.graphics.getDeltaTime()); } public Sector getSelected(){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index c088808401..fbb9631aff 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.files.FileHandle; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.Core; +import io.anuke.arc.Input.Keys; +import io.anuke.arc.files.FileHandle; +import io.anuke.arc.utils.Align; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.graphics.Palette; @@ -178,7 +178,7 @@ public class SettingsMenuDialog extends SettingsDialog{ file.deleteDirectory(); } - Gdx.app.exit(); + Core.app.exit(); }); }); dialog.content().row(); @@ -192,18 +192,18 @@ public class SettingsMenuDialog extends SettingsDialog{ graphics.sliderPref("fpscap", 125, 5, 125, 5, s -> (s > 120 ? Bundles.get("setting.fpscap.none") : Bundles.format("setting.fpscap.text", s))); if(!mobile){ - graphics.checkPref("vsync", true, b -> Gdx.graphics.setVSync(b)); + graphics.checkPref("vsync", true, b -> Core.graphics.setVSync(b)); graphics.checkPref("fullscreen", false, b -> { if(b){ - Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode()); + Core.graphics.setFullscreenMode(Core.graphics.getDisplayMode()); }else{ - Gdx.graphics.setWindowedMode(600, 480); + Core.graphics.setWindowedMode(600, 480); } }); - Gdx.graphics.setVSync(Settings.getBool("vsync")); + Core.graphics.setVSync(Settings.getBool("vsync")); if(Settings.getBool("fullscreen")){ - Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode()); + Core.graphics.setFullscreenMode(Core.graphics.getDisplayMode()); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java index a1d58ea766..cd8c1e212d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.UnlockableContent; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java index ab5cfec300..25bebe7e7f 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; @@ -18,7 +18,6 @@ public class BackgroundFragment extends Fragment{ @Override public void build(Group parent){ - Core.scene.table().addRect((a, b, w, h) -> { Draw.colorl(0.1f); Fill.crect(0, 0, w, h); @@ -28,7 +27,7 @@ public class BackgroundFragment extends Fragment{ Graphics.shader(); Draw.color(); - boolean portrait = Gdx.graphics.getWidth() < Gdx.graphics.getHeight(); + boolean portrait = Core.graphics.getWidth() < Core.graphics.getHeight(); float logoscl = (int) Unit.dp.scl(7) * (portrait ? 5f / 7f : 1f); TextureRegion logo = Core.skin.getRegion("logotext"); float logow = logo.getRegionWidth() * logoscl; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java index b122811e16..017a51700d 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.math.Interpolation; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Align; +import io.anuke.arc.Core; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Align; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.input.InputHandler; @@ -75,7 +75,7 @@ public class BlockConfigFragment extends Fragment{ } public boolean hasConfigMouse(){ - Element e = Core.scene.hit(Gdx.input.getX(), Gdx.graphics.getHeight() - Gdx.input.getY(), true); + Element e = Core.scene.hit(Core.input.getX(), Core.graphics.getHeight() - Core.input.getY(), true); return e != null && (e == table || e.isDescendantOf(table)); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java index 78ec16761b..e11950af82 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Palette; @@ -91,7 +91,7 @@ public class BlockConsumeFragment extends Fragment{ table.setPosition(v.x, v.y, Align.topRight); }); - table.act(Gdx.graphics.getDeltaTime()); + table.act(Core.graphics.getDeltaTime()); } public void hide(){ diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index e193b04ed2..7c6dbb2cd8 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.math.Interpolation; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.IntSet; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.IntSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.core.GameState.State; diff --git a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java index 3d96883b34..a5a2256eb8 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.Input.Keys; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.BitmapFont; -import com.badlogic.gdx.graphics.g2d.GlyphLayout; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.Core; +import io.anuke.arc.Input.Keys; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Batch; +import io.anuke.arc.graphics.g2d.BitmapFont; +import io.anuke.arc.graphics.g2d.GlyphLayout; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.gen.Call; @@ -129,7 +129,7 @@ public class ChatFragment extends Table{ chatfield.appendText(to.getText()); chatfield.change(); dialog.hide(); - Gdx.input.setOnscreenKeyboardVisible(false); + Core.input.setOnscreenKeyboardVisible(false); toggle(); }).width(90f).name("okb"); @@ -137,7 +137,7 @@ public class ChatFragment extends Table{ Timers.runTask(1f, () -> { to.setCursorPosition(to.getText().length()); Core.scene.setKeyboardFocus(to); - Gdx.input.setOnscreenKeyboardVisible(true); + Core.input.setOnscreenKeyboardVisible(true); }); }); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index 9037574c38..a65ea01936 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -1,12 +1,12 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Interpolation; -import com.badlogic.gdx.utils.Align; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.Scaling; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.utils.Align; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.Scaling; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.game.Team; @@ -134,7 +134,7 @@ public class HudFragment extends Fragment{ IntFormat fps = new IntFormat("text.fps"); IntFormat tps = new IntFormat("text.tps"); IntFormat ping = new IntFormat("text.ping"); - t.label(() -> fps.get(Gdx.graphics.getFramesPerSecond())).padRight(10); + t.label(() -> fps.get(Core.graphics.getFramesPerSecond())).padRight(10); t.row(); if(Net.hasClient()){ t.label(() -> ping.get(Net.getPing())).visible(Net::client).colspan(2); diff --git a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java index 7272968b4f..c9b4309c58 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.Gdx; +import io.anuke.arc.Core; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.game.EventType.ResizeEvent; @@ -50,7 +50,7 @@ public class MenuFragment extends Fragment{ private void buildMobile(){ container.clear(); - container.setSize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); + container.setSize(Core.graphics.getWidth(), Core.graphics.getHeight()); float size = 120f; float isize = 14f * 4; @@ -66,7 +66,7 @@ public class MenuFragment extends Fragment{ unlocks = new MobileButton("icon-unlocks", isize, "$text.unlocks", ui.unlocks::show), donate = new MobileButton("icon-donate", isize, "$text.donate", Platform.instance::openDonations); - if(Gdx.graphics.getWidth() > Gdx.graphics.getHeight()){ + if(Core.graphics.getWidth() > Core.graphics.getHeight()){ container.add(play); container.add(join); container.add(load); @@ -134,7 +134,7 @@ public class MenuFragment extends Fragment{ out.row(); - out.add(new MenuButton("icon-exit", "$text.quit", Gdx.app::exit)).width(bw).colspan(2); + out.add(new MenuButton("icon-exit", "$text.quit", Core.app::exit)).width(bw).colspan(2); }); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java index 378e212125..b533fa2b4d 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Interpolation; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java index d9876ef1b3..affab2d0fb 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.fragments; -import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.graphics.g2d.Batch; +import io.anuke.arc.Core; +import io.anuke.arc.graphics.g2d.Batch; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Palette; @@ -39,7 +39,7 @@ public class PlayerListFragment extends Fragment{ if(visible && timer.get(20)){ rebuild(); content.pack(); - content.act(Gdx.graphics.getDeltaTime()); + content.act(Core.graphics.getDeltaTime()); //TODO hack Core.scene.act(0f); } diff --git a/core/src/io/anuke/mindustry/world/BarType.java b/core/src/io/anuke/mindustry/world/BarType.java index e5ed5a6d3b..e36a7f4def 100644 --- a/core/src/io/anuke/mindustry/world/BarType.java +++ b/core/src/io/anuke/mindustry/world/BarType.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; public enum BarType{ health(Color.SCARLET), diff --git a/core/src/io/anuke/mindustry/world/BaseBlock.java b/core/src/io/anuke/mindustry/world/BaseBlock.java index 804f12703c..91515e7ea1 100644 --- a/core/src/io/anuke/mindustry/world/BaseBlock.java +++ b/core/src/io/anuke/mindustry/world/BaseBlock.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.fx.EnvironmentFx; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 0e574b0303..a1027732a3 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntArray; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntArray; import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index 991f747387..0cf6fd8b50 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.game.EventType.BlockBuildBeginEvent; diff --git a/core/src/io/anuke/mindustry/world/ColorMapper.java b/core/src/io/anuke/mindustry/world/ColorMapper.java index 6d3bdea310..a82a232668 100644 --- a/core/src/io/anuke/mindustry/world/ColorMapper.java +++ b/core/src/io/anuke/mindustry/world/ColorMapper.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.IntMap; -import com.badlogic.gdx.utils.ObjectIntMap; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.IntMap; +import io.anuke.arc.utils.ObjectIntMap; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.type.ContentType; diff --git a/core/src/io/anuke/mindustry/world/Edges.java b/core/src/io/anuke/mindustry/world/Edges.java index 3ccae39ba1..33aee6b85c 100644 --- a/core/src/io/anuke/mindustry/world/Edges.java +++ b/core/src/io/anuke/mindustry/world/Edges.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Vector2; import io.anuke.ucore.util.Geometry; import io.anuke.ucore.util.Mathf; diff --git a/core/src/io/anuke/mindustry/world/ItemBuffer.java b/core/src/io/anuke/mindustry/world/ItemBuffer.java index ff257db381..0a174a36d0 100644 --- a/core/src/io/anuke/mindustry/world/ItemBuffer.java +++ b/core/src/io/anuke/mindustry/world/ItemBuffer.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.utils.NumberUtils; +import io.anuke.arc.utils.NumberUtils; import io.anuke.mindustry.type.Item; import io.anuke.ucore.core.Timers; import io.anuke.ucore.util.Bits; diff --git a/core/src/io/anuke/mindustry/world/LegacyColorMapper.java b/core/src/io/anuke/mindustry/world/LegacyColorMapper.java index bf35c27995..c61a608652 100644 --- a/core/src/io/anuke/mindustry/world/LegacyColorMapper.java +++ b/core/src/io/anuke/mindustry/world/LegacyColorMapper.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.utils.IntMap; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.utils.IntMap; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.OreBlocks; diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index 9bf67eb13e..73ee2cd19e 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world; -import com.badlogic.gdx.math.GridPoint2; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.traits.TargetTrait; diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index 2d23ec889b..1e8bb26562 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.fx.ExplosionFx; diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index 87dc7b630b..5b744d3513 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.world.blocks; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.MathUtils; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.IntIntMap; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.MathUtils; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.IntIntMap; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.type.Liquid; diff --git a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java index 1d640466c6..aa7d75f263 100644 --- a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; diff --git a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java index 5fcaeb9765..9b1b08833c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.MathUtils; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.MathUtils; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/blocks/Rock.java b/core/src/io/anuke/mindustry/world/blocks/Rock.java index aecca1b444..1d809e74d3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Rock.java +++ b/core/src/io/anuke/mindustry/world/blocks/Rock.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.graphics.Draw; diff --git a/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java b/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java index 8d31879965..88d7fc324b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java +++ b/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.type.Item; import io.anuke.ucore.function.Consumer; import io.anuke.ucore.function.Supplier; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java index a8aa57e19a..9a7431544c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world.blocks.defense; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.math.Rectangle; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java index 1c17e6e9d0..198fa371a1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.defense; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Rectangle; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Rectangle; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java index 343faa4a9e..848db83e92 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.defense; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 80cff5f2d5..1de6d18e18 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world.blocks.defense; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.IntSet; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.IntSet; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index a19d6c9649..4f8d706abf 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world.blocks.defense; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.IntSet; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.IntSet; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java index 0dd8aa1e2e..3143c2cbb2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.type.AmmoType; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java index 283c155c3a..ae6938bc1f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.type.AmmoEntry; import io.anuke.mindustry.type.AmmoType; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java index 4d71e00681..b535e639eb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets; -import com.badlogic.gdx.utils.ObjectMap; +import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.type.Item; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 5026064b88..3f8dac221e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world.blocks.defense.turrets; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Vector2; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java index 1abaf16411..8f6237e664 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index 2812a79a43..20de6aebb0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.LongArray; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.LongArray; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.graphics.Layer; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java index 5d15e6ae9c..d99a116992 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.IntArray; -import com.badlogic.gdx.utils.IntSet; -import com.badlogic.gdx.utils.IntSet.IntSetIterator; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.IntArray; +import io.anuke.arc.utils.IntSet; +import io.anuke.arc.utils.IntSet.IntSetIterator; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.entities.Player; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java index 88359454cc..1428184a67 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.utils.NumberUtils; +import io.anuke.arc.utils.NumberUtils; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java index 7f28ea8ec5..5ca2ccedda 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.utils.IntSet.IntSetIterator; +import io.anuke.arc.utils.IntSet.IntSetIterator; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Pos; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java index ac779754bc..ce10cda6ba 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Tile; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java index 2c901785c1..6c2c390688 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.ObjectSet; -import com.badlogic.gdx.utils.Pool.Poolable; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.utils.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.bullets.TurretBullets; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java index 1705c812db..0524f7b000 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.distribution; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.BarType; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java index d8959d0038..34c6b4b014 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.power; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java index 285cebb5fc..ab69434175 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.power; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java index 5ea084d47a..a6cac3e1eb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.power; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.content.fx.ExplosionFx; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java index af6bdb543b..c1e59a9431 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world.blocks.power; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.IntSet; -import com.badlogic.gdx.utils.ObjectSet; -import com.badlogic.gdx.utils.Queue; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.IntSet; +import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.utils.Queue; import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.threads; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index 3ac43cc98d..5cd5634709 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.power; -import com.badlogic.gdx.math.Vector2; +import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.entities.Player; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java index 189dfd1456..f6a0eafc27 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; import io.anuke.ucore.graphics.Draw; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java index b3a7c6ef8d..21ae7112a8 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.Fx; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java index 212a71168b..53acab914b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Array; -import com.badlogic.gdx.utils.ObjectIntMap; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.Array; +import io.anuke.arc.utils.ObjectIntMap; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java index 4c8fd24934..200fb4c965 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java index a0e08537f3..5a5fd41e03 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java index 0076498e26..a9ca1a7b84 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java index c14533d27f..f6249686c3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.Vars; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java index 6b8a931b1c..a88f0a9e55 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.util.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java index a1e587315a..f4d0abceb0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java index 72f80e138b..dd7d87d4ac 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.ucore.graphics.Draw; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java index 939587fa60..b8de5fc2e4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java index 50ab3fa2cb..4fe5637f97 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java index e0481663f8..f1b7200598 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java index 46a30bca31..26c5390307 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.production; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.TileEntity; diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index 33f98fd2ce..72da901159 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.storage; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java index 7db33b0cac..72c5da2b88 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.storage; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.entities.Player; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java index f8ca2beb6a..2c81810d7e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world.blocks.units; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.utils.ObjectSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.fx.BlockFx; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java index e2c226a348..3e7f247d57 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.units; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java index 128c962086..b728892c01 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.units; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java index c581103634..a3757c1049 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world.blocks.units; -import com.badlogic.gdx.graphics.Color; -import com.badlogic.gdx.graphics.g2d.TextureRegion; -import com.badlogic.gdx.math.Rectangle; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Rectangle; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java index d7856bf1b3..211d7b5494 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.units; -import com.badlogic.gdx.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.Vars; diff --git a/core/src/io/anuke/mindustry/world/consumers/Consume.java b/core/src/io/anuke/mindustry/world/consumers/Consume.java index f8456fc9e9..754ffcf9c4 100644 --- a/core/src/io/anuke/mindustry/world/consumers/Consume.java +++ b/core/src/io/anuke/mindustry/world/consumers/Consume.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.consumers; -import com.badlogic.gdx.graphics.Color; +import io.anuke.arc.graphics.Color; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java index c7c24114a4..7c5621bace 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.consumers; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java index 03750ffa3b..3562f4c1c5 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.consumers; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/consumers/Consumers.java b/core/src/io/anuke/mindustry/world/consumers/Consumers.java index 5ebf1dd1cd..bbac912e22 100644 --- a/core/src/io/anuke/mindustry/world/consumers/Consumers.java +++ b/core/src/io/anuke/mindustry/world/consumers/Consumers.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.consumers; -import com.badlogic.gdx.utils.ObjectMap; -import com.badlogic.gdx.utils.ObjectSet; +import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Liquid; diff --git a/core/src/io/anuke/mindustry/world/meta/BlockBars.java b/core/src/io/anuke/mindustry/world/meta/BlockBars.java index 35507b616b..39e7078e15 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockBars.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockBars.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.world.BarType; public class BlockBars{ diff --git a/core/src/io/anuke/mindustry/world/meta/BlockStats.java b/core/src/io/anuke/mindustry/world/meta/BlockStats.java index 105222cf7a..ae3de7eb86 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockStats.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockStats.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.meta; -import com.badlogic.gdx.utils.ObjectMap.Entry; -import com.badlogic.gdx.utils.OrderedMap; +import io.anuke.arc.utils.ObjectMap.Entry; +import io.anuke.arc.utils.OrderedMap; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Liquid; diff --git a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java index 0f917dda71..c75c26c8b2 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta.values; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.ui.ItemDisplay; import io.anuke.mindustry.world.meta.StatValue; diff --git a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java index 7c5d638be9..efafdba7a8 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta.values; -import com.badlogic.gdx.utils.Array; +import io.anuke.arc.utils.Array; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.ui.LiquidDisplay; import io.anuke.mindustry.world.meta.StatValue; diff --git a/core/src/io/anuke/mindustry/world/modules/PowerModule.java b/core/src/io/anuke/mindustry/world/modules/PowerModule.java index b2a7342e84..84a31a2df1 100644 --- a/core/src/io/anuke/mindustry/world/modules/PowerModule.java +++ b/core/src/io/anuke/mindustry/world/modules/PowerModule.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.modules; -import com.badlogic.gdx.utils.IntArray; +import io.anuke.arc.utils.IntArray; import io.anuke.mindustry.world.blocks.power.PowerGraph; import java.io.DataInput; diff --git a/settings.gradle b/settings.gradle index e788ba34a4..88ac45956d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -15,11 +15,13 @@ if(new File(settingsDir, 'local.properties').exists()){ } if(System.properties["release"] == null || System.properties["release"] == "false"){ - if (new File(settingsDir, '../uCore').exists()) { - include ':uCore' - project(':uCore').projectDir = new File(settingsDir, '../uCore') + if (new File(settingsDir, '../Arc').exists()) { + //ARC ARC ARC ARC ARC + include ':Arc' + project(':Arc').projectDir = new File(settingsDir, '../Arc') + include ':Arc:core' + project(':Arc:core').projectDir = new File(settingsDir, '../Arc/core') } - if (new File(settingsDir, '../GDXGifRecorder').exists()) { include ':GDXGifRecorder' project(':GDXGifRecorder').projectDir = new File(settingsDir, '../GDXGifRecorder') From 94908bc599455d2591cc5b6bd18fb0e7a7263576 Mon Sep 17 00:00:00 2001 From: Anuken Date: Thu, 20 Dec 2018 12:38:27 -0500 Subject: [PATCH 02/16] =?UTF-8?q?=F0=9F=94=A5=F0=9F=94=A5=F0=9F=94=A5?= =?UTF-8?q?=F0=9F=94=A5=F0=9F=94=A5=F0=9F=94=A5maximum=20breakage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/anuke/mindustry/AndroidLauncher.java | 12 +-- .../annotations/RemoteWriteGenerator.java | 2 +- .../SerializeAnnotationProcessor.java | 8 +- core/src/io/anuke/mindustry/Mindustry.java | 64 +++++++++----- core/src/io/anuke/mindustry/Vars.java | 16 ++-- .../io/anuke/mindustry/ai/BlockIndexer.java | 12 +-- .../src/io/anuke/mindustry/ai/Pathfinder.java | 10 +-- .../io/anuke/mindustry/ai/WaveSpawner.java | 8 +- .../src/io/anuke/mindustry/content/Mechs.java | 18 ++-- .../mindustry/content/StatusEffects.java | 20 ++--- .../mindustry/content/blocks/Blocks.java | 10 +-- .../mindustry/content/blocks/DebugBlocks.java | 8 +- .../content/blocks/TurretBlocks.java | 6 +- .../content/bullets/FlakBullets.java | 2 +- .../content/bullets/MissileBullets.java | 8 +- .../content/bullets/TurretBullets.java | 20 ++--- .../content/bullets/WeaponBullets.java | 2 +- .../anuke/mindustry/content/fx/BlockFx.java | 16 ++-- .../anuke/mindustry/content/fx/BulletFx.java | 12 +-- .../mindustry/content/fx/EnvironmentFx.java | 10 +-- .../mindustry/content/fx/ExplosionFx.java | 12 +-- .../src/io/anuke/mindustry/content/fx/Fx.java | 10 +-- .../anuke/mindustry/content/fx/ShootFx.java | 14 +-- .../io/anuke/mindustry/content/fx/UnitFx.java | 12 +-- .../anuke/mindustry/core/ContentLoader.java | 13 ++- core/src/io/anuke/mindustry/core/Control.java | 85 +++++++++---------- .../io/anuke/mindustry/core/GameState.java | 2 +- core/src/io/anuke/mindustry/core/Logic.java | 18 ++-- .../io/anuke/mindustry/core/NetClient.java | 36 ++++---- .../io/anuke/mindustry/core/NetServer.java | 32 +++---- .../src/io/anuke/mindustry/core/Platform.java | 20 ++--- .../src/io/anuke/mindustry/core/Renderer.java | 50 +++++------ .../anuke/mindustry/core/ThreadHandler.java | 54 ------------ core/src/io/anuke/mindustry/core/UI.java | 36 ++++---- core/src/io/anuke/mindustry/core/World.java | 20 ++--- .../anuke/mindustry/editor/DrawOperation.java | 2 +- .../io/anuke/mindustry/editor/EditorTool.java | 6 +- .../io/anuke/mindustry/editor/MapEditor.java | 6 +- .../mindustry/editor/MapEditorDialog.java | 46 +++++----- .../anuke/mindustry/editor/MapInfoDialog.java | 12 +-- .../anuke/mindustry/editor/MapLoadDialog.java | 10 +-- .../anuke/mindustry/editor/MapRenderer.java | 14 +-- .../mindustry/editor/MapResizeDialog.java | 10 +-- .../anuke/mindustry/editor/MapSaveDialog.java | 6 +- .../io/anuke/mindustry/editor/MapView.java | 30 +++---- .../io/anuke/mindustry/entities/Damage.java | 22 ++--- .../io/anuke/mindustry/entities/Player.java | 38 ++++----- .../io/anuke/mindustry/entities/Predict.java | 2 +- .../mindustry/entities/StatusController.java | 10 +-- .../anuke/mindustry/entities/TileEntity.java | 22 ++--- .../src/io/anuke/mindustry/entities/Unit.java | 40 ++++----- .../io/anuke/mindustry/entities/Units.java | 12 +-- .../entities/bullet/ArtilleryBulletType.java | 6 +- .../entities/bullet/BasicBulletType.java | 12 +-- .../mindustry/entities/bullet/Bullet.java | 22 ++--- .../mindustry/entities/bullet/BulletType.java | 8 +- .../entities/bullet/FlakBulletType.java | 4 +- .../entities/bullet/LiquidBulletType.java | 10 +-- .../entities/bullet/MissileBulletType.java | 8 +- .../mindustry/entities/effect/Decal.java | 10 +-- .../anuke/mindustry/entities/effect/Fire.java | 34 ++++---- .../entities/effect/GroundEffectEntity.java | 14 +-- .../entities/effect/ItemTransfer.java | 26 +++--- .../mindustry/entities/effect/Lightning.java | 16 ++-- .../mindustry/entities/effect/Puddle.java | 46 +++++----- .../entities/effect/RubbleDecal.java | 4 +- .../entities/effect/ScorchDecal.java | 6 +- .../entities/traits/AbsorbTrait.java | 4 +- .../entities/traits/BuilderTrait.java | 44 +++++----- .../entities/traits/CarriableTrait.java | 2 +- .../mindustry/entities/traits/CarryTrait.java | 4 +- .../mindustry/entities/traits/SaveTrait.java | 2 +- .../entities/traits/ShooterTrait.java | 4 +- .../mindustry/entities/traits/SyncTrait.java | 6 +- .../entities/traits/TargetTrait.java | 6 +- .../mindustry/entities/traits/TeamTrait.java | 2 +- .../mindustry/entities/traits/TypeTrait.java | 6 +- .../mindustry/entities/units/BaseUnit.java | 14 +-- .../mindustry/entities/units/FlyingUnit.java | 20 ++--- .../mindustry/entities/units/GroundUnit.java | 24 +++--- .../anuke/mindustry/entities/units/Squad.java | 2 +- .../mindustry/entities/units/UnitCommand.java | 4 +- .../mindustry/entities/units/UnitDrops.java | 2 +- .../mindustry/entities/units/UnitType.java | 18 ++-- .../entities/units/types/AlphaDrone.java | 6 +- .../mindustry/entities/units/types/Drone.java | 10 +-- .../io/anuke/mindustry/game/Difficulty.java | 4 +- .../io/anuke/mindustry/game/EventType.java | 2 +- .../src/io/anuke/mindustry/game/GameMode.java | 6 +- core/src/io/anuke/mindustry/game/Saves.java | 34 ++++---- core/src/io/anuke/mindustry/game/Team.java | 4 +- core/src/io/anuke/mindustry/game/Teams.java | 4 +- .../mindustry/game/UnlockableContent.java | 2 +- core/src/io/anuke/mindustry/game/Unlocks.java | 12 +-- core/src/io/anuke/mindustry/game/Version.java | 2 +- .../mindustry/graphics/BlockRenderer.java | 14 +-- .../anuke/mindustry/graphics/CacheLayer.java | 8 +- .../mindustry/graphics/FloorRenderer.java | 24 +++--- .../anuke/mindustry/graphics/FogRenderer.java | 12 +-- .../mindustry/graphics/MinimapRenderer.java | 16 ++-- .../mindustry/graphics/OverlayRenderer.java | 26 +++--- .../io/anuke/mindustry/graphics/Shaders.java | 16 ++-- .../io/anuke/mindustry/graphics/Trail.java | 12 +-- .../src/io/anuke/mindustry/input/Binding.java | 44 ++++++++++ .../io/anuke/mindustry/input/CursorType.java | 2 +- .../mindustry/input/DefaultKeybinds.java | 71 ---------------- .../anuke/mindustry/input/DesktopInput.java | 20 ++--- .../anuke/mindustry/input/InputHandler.java | 31 +++---- .../io/anuke/mindustry/input/MobileInput.java | 26 +++--- .../io/anuke/mindustry/input/PlaceUtils.java | 2 +- .../io/anuke/mindustry/io/BundleLoader.java | 16 ++-- .../src/io/anuke/mindustry/io/Changelogs.java | 2 +- .../io/anuke/mindustry/io/Contributors.java | 2 +- core/src/io/anuke/mindustry/io/MapIO.java | 4 +- .../anuke/mindustry/io/SaveFileVersion.java | 8 +- core/src/io/anuke/mindustry/io/TypeIO.java | 6 +- core/src/io/anuke/mindustry/maps/Map.java | 2 +- core/src/io/anuke/mindustry/maps/MapMeta.java | 4 +- .../io/anuke/mindustry/maps/MapTileData.java | 4 +- core/src/io/anuke/mindustry/maps/Maps.java | 6 +- core/src/io/anuke/mindustry/maps/Sector.java | 2 +- .../anuke/mindustry/maps/SectorPresets.java | 4 +- core/src/io/anuke/mindustry/maps/Sectors.java | 12 +-- .../anuke/mindustry/maps/TutorialSector.java | 2 +- .../maps/generation/FortressGenerator.java | 10 +-- .../mindustry/maps/generation/Generation.java | 4 +- .../maps/generation/WorldGenerator.java | 12 +-- .../maps/missions/ActionMission.java | 4 +- .../maps/missions/BattleMission.java | 4 +- .../maps/missions/BlockLocMission.java | 18 ++-- .../maps/missions/CommandMission.java | 4 +- .../maps/missions/ConditionMission.java | 2 +- .../maps/missions/ContentMission.java | 4 +- .../mindustry/maps/missions/ItemMission.java | 6 +- .../mindustry/maps/missions/MechMission.java | 4 +- .../mindustry/maps/missions/Mission.java | 10 +-- .../mindustry/maps/missions/UnitMission.java | 4 +- .../maps/missions/VictoryMission.java | 2 +- .../mindustry/maps/missions/WaveMission.java | 8 +- .../anuke/mindustry/net/Administration.java | 26 +++--- .../io/anuke/mindustry/net/Interpolator.java | 2 +- core/src/io/anuke/mindustry/net/Net.java | 28 +++--- .../src/io/anuke/mindustry/net/NetworkIO.java | 10 +-- core/src/io/anuke/mindustry/net/Packets.java | 6 +- .../io/anuke/mindustry/net/Registrator.java | 2 +- .../src/io/anuke/mindustry/type/AmmoType.java | 2 +- core/src/io/anuke/mindustry/type/Item.java | 16 ++-- core/src/io/anuke/mindustry/type/Liquid.java | 10 +-- core/src/io/anuke/mindustry/type/Mech.java | 10 +-- core/src/io/anuke/mindustry/type/Recipe.java | 10 +-- core/src/io/anuke/mindustry/type/Weapon.java | 14 +-- .../io/anuke/mindustry/ui/BorderImage.java | 8 +- .../io/anuke/mindustry/ui/ContentDisplay.java | 46 +++++----- core/src/io/anuke/mindustry/ui/GridImage.java | 4 +- .../src/io/anuke/mindustry/ui/ImageStack.java | 4 +- core/src/io/anuke/mindustry/ui/IntFormat.java | 4 +- .../io/anuke/mindustry/ui/ItemDisplay.java | 2 +- core/src/io/anuke/mindustry/ui/ItemImage.java | 8 +- core/src/io/anuke/mindustry/ui/Links.java | 4 +- .../io/anuke/mindustry/ui/LiquidDisplay.java | 4 +- .../src/io/anuke/mindustry/ui/MenuButton.java | 2 +- core/src/io/anuke/mindustry/ui/Minimap.java | 14 +-- .../io/anuke/mindustry/ui/MobileButton.java | 2 +- .../mindustry/ui/dialogs/AboutDialog.java | 18 ++-- .../mindustry/ui/dialogs/AdminsDialog.java | 4 +- .../mindustry/ui/dialogs/BansDialog.java | 4 +- .../mindustry/ui/dialogs/ChangelogDialog.java | 20 ++--- .../mindustry/ui/dialogs/ColorPickDialog.java | 8 +- .../ui/dialogs/ContentInfoDialog.java | 4 +- .../mindustry/ui/dialogs/ControlsDialog.java | 4 +- .../ui/dialogs/CustomGameDialog.java | 22 ++--- .../mindustry/ui/dialogs/DiscordDialog.java | 2 +- .../mindustry/ui/dialogs/FileChooser.java | 24 +++--- .../mindustry/ui/dialogs/FloatingDialog.java | 12 +-- .../mindustry/ui/dialogs/GenViewDialog.java | 16 ++-- .../mindustry/ui/dialogs/HostDialog.java | 26 +++--- .../mindustry/ui/dialogs/JoinDialog.java | 80 ++++++++--------- .../mindustry/ui/dialogs/LanguageDialog.java | 24 +++--- .../mindustry/ui/dialogs/LoadDialog.java | 44 +++++----- .../ui/dialogs/LocalPlayerDialog.java | 8 +- .../mindustry/ui/dialogs/MapsDialog.java | 24 +++--- .../mindustry/ui/dialogs/MissionDialog.java | 4 +- .../mindustry/ui/dialogs/PausedDialog.java | 10 +-- .../mindustry/ui/dialogs/RestartDialog.java | 6 +- .../mindustry/ui/dialogs/SaveDialog.java | 10 +-- .../mindustry/ui/dialogs/SectorsDialog.java | 34 ++++---- .../ui/dialogs/SettingsMenuDialog.java | 46 +++++----- .../mindustry/ui/dialogs/TraceDialog.java | 20 ++--- .../mindustry/ui/dialogs/UnlocksDialog.java | 12 +-- .../ui/fragments/BackgroundFragment.java | 12 +-- .../ui/fragments/BlockConfigFragment.java | 12 +-- .../ui/fragments/BlockConsumeFragment.java | 8 +- .../ui/fragments/BlockInventoryFragment.java | 28 +++--- .../mindustry/ui/fragments/ChatFragment.java | 30 +++---- .../mindustry/ui/fragments/Fragment.java | 2 +- .../mindustry/ui/fragments/HudFragment.java | 44 +++++----- .../ui/fragments/LoadingFragment.java | 10 +-- .../mindustry/ui/fragments/MenuFragment.java | 8 +- .../ui/fragments/OverlayFragment.java | 2 +- .../ui/fragments/PlacementFragment.java | 26 +++--- .../ui/fragments/PlayerListFragment.java | 22 ++--- .../io/anuke/mindustry/world/BaseBlock.java | 18 ++-- core/src/io/anuke/mindustry/world/Block.java | 22 ++--- core/src/io/anuke/mindustry/world/Build.java | 8 +- core/src/io/anuke/mindustry/world/Edges.java | 4 +- .../io/anuke/mindustry/world/ItemBuffer.java | 10 +-- core/src/io/anuke/mindustry/world/Tile.java | 8 +- .../mindustry/world/blocks/BuildBlock.java | 16 ++-- .../anuke/mindustry/world/blocks/Floor.java | 14 +-- .../mindustry/world/blocks/LiquidBlock.java | 2 +- .../mindustry/world/blocks/OreBlock.java | 4 +- .../io/anuke/mindustry/world/blocks/Rock.java | 4 +- .../world/blocks/SelectionTrait.java | 12 +-- .../world/blocks/defense/DeflectorWall.java | 12 +-- .../mindustry/world/blocks/defense/Door.java | 6 +- .../world/blocks/defense/ForceProjector.java | 26 +++--- .../world/blocks/defense/MendProjector.java | 18 ++-- .../blocks/defense/OverdriveProjector.java | 20 ++--- .../world/blocks/defense/ShockMine.java | 6 +- .../world/blocks/defense/SurgeWall.java | 2 +- .../defense/turrets/ArtilleryTurret.java | 2 +- .../blocks/defense/turrets/BurstTurret.java | 6 +- .../blocks/defense/turrets/ChargeTurret.java | 12 +-- .../blocks/defense/turrets/CooledTurret.java | 10 +-- .../blocks/defense/turrets/DoubleTurret.java | 2 +- .../blocks/defense/turrets/LaserTurret.java | 12 +-- .../blocks/defense/turrets/LiquidTurret.java | 2 +- .../world/blocks/defense/turrets/Turret.java | 18 ++-- .../distribution/BufferedItemBridge.java | 2 +- .../world/blocks/distribution/Conduit.java | 4 +- .../world/blocks/distribution/Conveyor.java | 8 +- .../distribution/ExtendingItemBridge.java | 10 +-- .../world/blocks/distribution/ItemBridge.java | 16 ++-- .../world/blocks/distribution/Junction.java | 8 +- .../blocks/distribution/LiquidBridge.java | 8 +- .../distribution/LiquidExtendingBridge.java | 8 +- .../blocks/distribution/LiquidJunction.java | 2 +- .../world/blocks/distribution/MassDriver.java | 18 ++-- .../blocks/distribution/OverflowGate.java | 6 +- .../world/blocks/distribution/Router.java | 4 +- .../world/blocks/distribution/Sorter.java | 8 +- .../world/blocks/power/FusionReactor.java | 18 ++-- .../world/blocks/power/ItemGenerator.java | 12 +-- .../blocks/power/ItemLiquidGenerator.java | 6 +- .../world/blocks/power/LiquidGenerator.java | 8 +- .../world/blocks/power/NuclearReactor.java | 18 ++-- .../world/blocks/power/PowerGenerator.java | 2 +- .../world/blocks/power/PowerNode.java | 22 ++--- .../world/blocks/power/SolarGenerator.java | 6 +- .../world/blocks/production/Compressor.java | 4 +- .../world/blocks/production/Cultivator.java | 12 +-- .../world/blocks/production/Drill.java | 16 ++-- .../world/blocks/production/Fracker.java | 2 +- .../blocks/production/GenericCrafter.java | 12 +-- .../world/blocks/production/Incinerator.java | 14 +-- .../world/blocks/production/LiquidMixer.java | 2 +- .../world/blocks/production/PhaseWeaver.java | 8 +- .../production/PlastaniumCompressor.java | 4 +- .../world/blocks/production/PowerSmelter.java | 20 ++--- .../world/blocks/production/Pulverizer.java | 2 +- .../world/blocks/production/Pump.java | 2 +- .../world/blocks/production/Separator.java | 6 +- .../world/blocks/production/Smelter.java | 18 ++-- .../world/blocks/production/SolidPump.java | 8 +- .../world/blocks/storage/CoreBlock.java | 16 ++-- .../world/blocks/storage/SortedUnloader.java | 6 +- .../world/blocks/units/CommandCenter.java | 14 +-- .../mindustry/world/blocks/units/MechPad.java | 16 ++-- .../world/blocks/units/Reconstructor.java | 20 ++--- .../world/blocks/units/RepairPoint.java | 20 ++--- .../world/blocks/units/UnitFactory.java | 12 +-- .../mindustry/world/consumers/Consume.java | 4 +- .../world/consumers/ConsumeItem.java | 2 +- .../world/consumers/ConsumeItemFilter.java | 4 +- .../world/consumers/ConsumeItems.java | 2 +- .../world/consumers/ConsumeLiquid.java | 2 +- .../world/consumers/ConsumeLiquidFilter.java | 4 +- .../world/consumers/ConsumePower.java | 2 +- .../mindustry/world/consumers/Consumers.java | 4 +- .../anuke/mindustry/world/meta/BlockStat.java | 4 +- .../mindustry/world/meta/BlockStats.java | 8 +- .../anuke/mindustry/world/meta/StatUnit.java | 4 +- .../anuke/mindustry/world/meta/StatValue.java | 2 +- .../world/meta/values/BooleanValue.java | 2 +- .../world/meta/values/ItemFilterValue.java | 4 +- .../world/meta/values/ItemListValue.java | 2 +- .../world/meta/values/ItemValue.java | 2 +- .../world/meta/values/LiquidFilterValue.java | 4 +- .../world/meta/values/LiquidValue.java | 2 +- .../world/meta/values/NumberValue.java | 4 +- .../world/meta/values/StringValue.java | 4 +- .../anuke/mindustry/desktop/CrashHandler.java | 8 +- .../mindustry/desktop/DesktopPlatform.java | 6 +- ios/robovm.xml | 2 +- ios/src/io/anuke/mindustry/IOSLauncher.java | 10 +-- .../src/io/anuke/kryonet/ByteSerializer.java | 4 +- kryonet/src/io/anuke/kryonet/KryoClient.java | 10 +-- kryonet/src/io/anuke/kryonet/KryoCore.java | 4 +- kryonet/src/io/anuke/kryonet/KryoServer.java | 12 +-- .../anuke/mindustry/server/CrashHandler.java | 8 +- .../mindustry/server/MindustryServer.java | 2 +- .../anuke/mindustry/server/ServerControl.java | 70 +++++++-------- .../mindustry/server/ServerLauncher.java | 6 +- tests/src/test/java/ApplicationTests.java | 24 +++--- .../io/anuke/mindustry/BundleLauncher.java | 4 +- tools/src/io/anuke/mindustry/Generators.java | 4 +- tools/src/io/anuke/mindustry/Image.java | 2 +- .../src/io/anuke/mindustry/ImageContext.java | 16 ++-- .../io/anuke/mindustry/PackerLauncher.java | 8 +- 309 files changed, 1883 insertions(+), 1951 deletions(-) delete mode 100644 core/src/io/anuke/mindustry/core/ThreadHandler.java create mode 100644 core/src/io/anuke/mindustry/input/Binding.java delete mode 100644 core/src/io/anuke/mindustry/input/DefaultKeybinds.java diff --git a/android/src/io/anuke/mindustry/AndroidLauncher.java b/android/src/io/anuke/mindustry/AndroidLauncher.java index c75b6af249..07fb4ce0c0 100644 --- a/android/src/io/anuke/mindustry/AndroidLauncher.java +++ b/android/src/io/anuke/mindustry/AndroidLauncher.java @@ -8,7 +8,7 @@ import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.provider.Settings.Secure; +import android.provider.Core.settings.Secure; import android.telephony.TelephonyManager; import android.util.Log; import com.badlogic.gdx.Gdx; @@ -26,10 +26,10 @@ import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.ui.dialogs.FileChooser; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Strings; import java.io.File; import java.io.FileInputStream; @@ -171,7 +171,7 @@ public class AndroidLauncher extends PatchedAndroidApplication{ SaveSlot slot = control.saves.importSave(file); ui.load.runLoadSave(slot); }catch(IOException e){ - ui.showError(Bundles.format("text.save.import.fail", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.save.import.fail", Strings.parseException(e, false))); } }else{ ui.showError("$text.save.import.invalid"); diff --git a/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java b/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java index 51845d0900..4ee8aec0df 100644 --- a/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java +++ b/annotations/src/main/java/io/anuke/annotations/RemoteWriteGenerator.java @@ -129,7 +129,7 @@ public class RemoteWriteGenerator{ method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")"); //add statement to create packet from pool - method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "io.anuke.mindustry.net.Packets.InvokePacket", "io.anuke.ucore.util.Pooling"); + method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "io.anuke.mindustry.net.Packets.InvokePacket", "io.anuke.arc.util.Pooling"); //assign buffer method.addStatement("packet.writeBuffer = TEMP_BUFFER"); //assign priority diff --git a/annotations/src/main/java/io/anuke/annotations/SerializeAnnotationProcessor.java b/annotations/src/main/java/io/anuke/annotations/SerializeAnnotationProcessor.java index e42b877495..2fad06df7c 100644 --- a/annotations/src/main/java/io/anuke/annotations/SerializeAnnotationProcessor.java +++ b/annotations/src/main/java/io/anuke/annotations/SerializeAnnotationProcessor.java @@ -53,7 +53,7 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{ TypeSpec.Builder serializer = TypeSpec.anonymousClassBuilder("") .addSuperinterface(ParameterizedTypeName.get( - ClassName.bestGuess("io.anuke.ucore.io.TypeSerializer"), type)); + ClassName.bestGuess("io.anuke.arc.io.TypeSerializer"), type)); MethodSpec.Builder writeMethod = MethodSpec.methodBuilder("write") .returns(void.class) @@ -84,8 +84,8 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{ writeMethod.addStatement("stream.write" + capName + "(object." + name + ")"); readMethod.addStatement("object." + name + "= stream.read" + capName + "()"); }else{ - writeMethod.addStatement("io.anuke.ucore.core.Settings.getSerializer(" + typeName+ ".class).write(stream, object." + name + ")"); - readMethod.addStatement("object." + name + " = (" +typeName+")io.anuke.ucore.core.Settings.getSerializer(" + typeName+ ".class).read(stream)"); + writeMethod.addStatement("io.anuke.arc.core.Core.settings.getSerializer(" + typeName+ ".class).write(stream, object." + name + ")"); + readMethod.addStatement("object." + name + " = (" +typeName+")io.anuke.arc.core.Core.settings.getSerializer(" + typeName+ ".class).read(stream)"); } } @@ -94,7 +94,7 @@ public class SerializeAnnotationProcessor extends AbstractProcessor{ serializer.addMethod(writeMethod.build()); serializer.addMethod(readMethod.build()); - method.addStatement("io.anuke.ucore.core.Settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.build()); + method.addStatement("io.anuke.arc.core.Core.settings.setSerializer($N, $L)", Utils.elementUtils.getBinaryName(elem).toString().replace('$', '.') + ".class", serializer.build()); } classBuilder.addMethod(method.build()); diff --git a/core/src/io/anuke/mindustry/Mindustry.java b/core/src/io/anuke/mindustry/Mindustry.java index ce5c64e8bb..c0ad31f3eb 100644 --- a/core/src/io/anuke/mindustry/Mindustry.java +++ b/core/src/io/anuke/mindustry/Mindustry.java @@ -1,20 +1,28 @@ package io.anuke.mindustry; +import io.anuke.arc.ApplicationListener; +import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.Settings; +import io.anuke.arc.utils.Log; +import io.anuke.arc.utils.Time; +import io.anuke.arc.utils.TimeUtils; import io.anuke.mindustry.core.*; import io.anuke.mindustry.game.EventType.GameLoadEvent; import io.anuke.mindustry.io.BundleLoader; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.modules.ModuleCore; -import io.anuke.ucore.util.Log; import static io.anuke.mindustry.Vars.*; -public class Mindustry extends ModuleCore{ +public class Mindustry implements ApplicationListener{ + private long lastFrameTime; - @Override - public void init(){ - Timers.mark(); + public Mindustry(){ + Time.setDeltaProvider(() -> { + float result = Core.graphics.getDeltaTime() * 60f; + return Float.isNaN(result) || Float.isInfinite(result) ? 1f : Math.min(result, 60f / 10f); + }); + + Time.mark(); Vars.init(); @@ -22,26 +30,40 @@ public class Mindustry extends ModuleCore{ BundleLoader.load(); content.load(); - module(logic = new Logic()); - module(world = new World()); - module(control = new Control()); - module(renderer = new Renderer()); - module(ui = new UI()); - module(netServer = new NetServer()); - module(netClient = new NetClient()); + Core.app.addListener(logic = new Logic()); + Core.app.addListener(world = new World()); + Core.app.addListener(control = new Control()); + Core.app.addListener(renderer = new Renderer()); + Core.app.addListener(ui = new UI()); + Core.app.addListener(netServer = new NetServer()); + Core.app.addListener(netClient = new NetClient()); } @Override - public void postInit(){ - Log.info("Time to load [total]: {0}", Timers.elapsed()); + public void init(){ + Log.info("Time to load [total]: {0}", Time.elapsed()); Events.fire(new GameLoadEvent()); } @Override - public void render(){ - threads.handleBeginRender(); - super.render(); - threads.handleEndRender(); + public void update(){ + lastFrameTime = TimeUtils.millis(); + + //TODO ??render it all?? + + int fpsCap = Core.settings.getInt("fpscap", 125); + + if(fpsCap <= 120){ + long target = 1000/fpsCap; + long elapsed = TimeUtils.timeSinceMillis(lastFrameTime); + if(elapsed < target){ + try{ + Thread.sleep(target - elapsed); + }catch(InterruptedException e){ + e.printStackTrace(); + } + } + } } } diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 676f6be729..4fa818fa9c 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -17,13 +17,13 @@ import io.anuke.mindustry.game.Version; import io.anuke.mindustry.gen.Serialization; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.entities.Entities; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.EffectEntity; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Settings; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.EffectEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Translator; import java.util.Arrays; import java.util.Locale; @@ -173,7 +173,7 @@ public class Vars{ ios = Core.app.getType() == ApplicationType.iOS; android = Core.app.getType() == ApplicationType.Android; - dataDirectory = Settings.getDataDirectory(appName); + dataDirectory = Core.settings.getDataDirectory(appName); screenshotDirectory = dataDirectory.child("screenshots/"); customMapDirectory = dataDirectory.child("maps/"); saveDirectory = dataDirectory.child("saves/"); diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index 81cc149e96..3277e53e5c 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -11,12 +11,12 @@ import io.anuke.mindustry.game.Teams.TeamData; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.util.EnumSet; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.ThreadArray; +import io.anuke.arc.core.Events; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.util.EnumSet; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.ThreadArray; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ai/Pathfinder.java b/core/src/io/anuke/mindustry/ai/Pathfinder.java index 2d85629476..ac7a07c727 100644 --- a/core/src/io/anuke/mindustry/ai/Pathfinder.java +++ b/core/src/io/anuke/mindustry/ai/Pathfinder.java @@ -11,10 +11,10 @@ import io.anuke.mindustry.game.Teams.TeamData; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Structs; import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.world; @@ -168,7 +168,7 @@ public class Pathfinder{ } private void clear(){ - Timers.mark(); + Time.mark(); paths = new PathData[Team.all.length]; blocked.clear(); diff --git a/core/src/io/anuke/mindustry/ai/WaveSpawner.java b/core/src/io/anuke/mindustry/ai/WaveSpawner.java index eea73cea0d..8a80641e57 100644 --- a/core/src/io/anuke/mindustry/ai/WaveSpawner.java +++ b/core/src/io/anuke/mindustry/ai/WaveSpawner.java @@ -9,10 +9,10 @@ import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Waves; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.util.GridBits; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.core.Events; +import io.anuke.arc.util.GridBits; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Structs; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/content/Mechs.java b/core/src/io/anuke/mindustry/content/Mechs.java index 8d99633814..839cfd1290 100644 --- a/core/src/io/anuke/mindustry/content/Mechs.java +++ b/core/src/io/anuke/mindustry/content/Mechs.java @@ -17,12 +17,12 @@ import io.anuke.mindustry.maps.TutorialSector; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Mech; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.unitGroups; @@ -100,7 +100,7 @@ public class Mechs implements ContentList{ Effects.shake(1f, 1f, player); Effects.effect(UnitFx.landShock, player); for(int i = 0; i < 8; i++){ - Timers.run(Mathf.random(8f), () -> Lightning.create(player.getTeam(), Palette.lancerLaser, 17f, player.x, player.y, Mathf.random(360f), 14)); + Time.run(Mathf.random(8f), () -> Lightning.create(player.getTeam(), Palette.lancerLaser, 17f, player.x, player.y, Mathf.random(360f), 14)); } } } @@ -205,7 +205,7 @@ public class Mechs implements ContentList{ float alpha = Core.batch.getColor().a; Shaders.build.progress = player.shootHeat; Shaders.build.region = armorRegion; - Shaders.build.time = Timers.time() / 10f; + Shaders.build.time = Time.time() / 10f; Shaders.build.color.set(Palette.accent).a = player.shootHeat; Graphics.shader(Shaders.build); Draw.alpha(1f); @@ -257,7 +257,7 @@ public class Mechs implements ContentList{ @Override public void updateAlt(Player player){ float scl = scld(player); - if(Mathf.chance(Timers.delta() * (0.15*scl))){ + if(Mathf.chance(Time.delta() * (0.15*scl))){ Effects.effect(BulletFx.hitLancer, Palette.lancerLaser, player.x, player.y); Lightning.create(player.getTeam(), Palette.lancerLaser, 10f, player.x + player.getVelocity().x, player.y + player.getVelocity().y, player.rotation, 14); diff --git a/core/src/io/anuke/mindustry/content/StatusEffects.java b/core/src/io/anuke/mindustry/content/StatusEffects.java index 62e1de504f..de817c5568 100644 --- a/core/src/io/anuke/mindustry/content/StatusEffects.java +++ b/core/src/io/anuke/mindustry/content/StatusEffects.java @@ -6,9 +6,9 @@ import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; public class StatusEffects implements ContentList{ public static StatusEffect none, burning, freezing, wet, melting, tarred, overdrive, shielded, shocked; @@ -38,7 +38,7 @@ public class StatusEffects implements ContentList{ public void update(Unit unit, float time){ unit.damagePeriodic(0.04f); - if(Mathf.chance(Timers.delta() * 0.2f)){ + if(Mathf.chance(Time.delta() * 0.2f)){ Effects.effect(EnvironmentFx.burning, unit.x + Mathf.range(unit.getSize() / 2f), unit.y + Mathf.range(unit.getSize() / 2f)); } } @@ -54,7 +54,7 @@ public class StatusEffects implements ContentList{ @Override public void update(Unit unit, float time){ - if(Mathf.chance(Timers.delta() * 0.15f)){ + if(Mathf.chance(Time.delta() * 0.15f)){ Effects.effect(EnvironmentFx.freezing, unit.x + Mathf.range(unit.getSize() / 2f), unit.y + Mathf.range(unit.getSize() / 2f)); } } @@ -79,7 +79,7 @@ public class StatusEffects implements ContentList{ @Override public void update(Unit unit, float time){ - if(Mathf.chance(Timers.delta() * 0.15f)){ + if(Mathf.chance(Time.delta() * 0.15f)){ Effects.effect(EnvironmentFx.wet, unit.x + Mathf.range(unit.getSize() / 2f), unit.y + Mathf.range(unit.getSize() / 2f)); } } @@ -105,7 +105,7 @@ public class StatusEffects implements ContentList{ public void update(Unit unit, float time){ unit.damagePeriodic(0.3f); - if(Mathf.chance(Timers.delta() * 0.2f)){ + if(Mathf.chance(Time.delta() * 0.2f)){ Effects.effect(EnvironmentFx.melting, unit.x + Mathf.range(unit.getSize() / 2f), unit.y + Mathf.range(unit.getSize() / 2f)); } } @@ -118,7 +118,7 @@ public class StatusEffects implements ContentList{ @Override public void update(Unit unit, float time){ - if(Mathf.chance(Timers.delta() * 0.15f)){ + if(Mathf.chance(Time.delta() * 0.15f)){ Effects.effect(EnvironmentFx.oily, unit.x + Mathf.range(unit.getSize() / 2f), unit.y + Mathf.range(unit.getSize() / 2f)); } } @@ -143,9 +143,9 @@ public class StatusEffects implements ContentList{ @Override public void update(Unit unit, float time){ //idle regen boosted - unit.health += 0.01f * Timers.delta(); + unit.health += 0.01f * Time.delta(); - if(Mathf.chance(Timers.delta() * 0.25f)){ + if(Mathf.chance(Time.delta() * 0.25f)){ Effects.effect(EnvironmentFx.overdriven, unit.x + Mathf.range(unit.getSize() / 2f), unit.y + Mathf.range(unit.getSize() / 2f), 0f, unit); } } diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index b28d0ce587..87d863b07f 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -10,10 +10,10 @@ import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.*; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; public class Blocks extends BlockList implements ContentList{ public static Block air, blockpart, spawn, space, metalfloor, deepwater, water, lava, tar, stone, @@ -41,7 +41,7 @@ public class Blocks extends BlockList implements ContentList{ public void draw(Tile tile){ Draw.color(Color.SCARLET); - Lines.circle(tile.worldx(), tile.worldy(), 4f +Mathf.absin(Timers.time(), 6f, 6f)); + Lines.circle(tile.worldx(), tile.worldy(), 4f +Mathf.absin(Time.time(), 6f, 6f)); Draw.color(); } }; diff --git a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java index b22c30a8f1..e0e56e5d3f 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java @@ -17,10 +17,10 @@ import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.blocks.distribution.Sorter; import io.anuke.mindustry.world.blocks.power.PowerNode; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.layout.Table; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java index 8654d5bd5b..600f8d21e2 100644 --- a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java @@ -8,9 +8,9 @@ import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.defense.turrets.*; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; public class TurretBlocks extends BlockList implements ContentList{ public static Block duo, /*scatter,*/ diff --git a/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java index 158c4240fa..fcb4d41055 100644 --- a/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.entities.bullet.FlakBulletType; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; public class FlakBullets extends BulletList implements ContentList{ public static BulletType plastic, explosive, surge; diff --git a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java index eef5a08fd0..e5b2bc39d2 100644 --- a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java @@ -8,8 +8,8 @@ import io.anuke.mindustry.entities.bullet.MissileBulletType; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; public class MissileBullets extends BulletList implements ContentList{ public static BulletType explosive, incindiary, surge, javelin, swarm; @@ -92,7 +92,7 @@ public class MissileBullets extends BulletList implements ContentList{ @Override public void update(Bullet b){ super.update(b); - b.getVelocity().rotate(Mathf.sin(Timers.time() + b.id * 4422, 8f, 2f)); + b.getVelocity().rotate(Mathf.sin(Time.time() + b.id * 4422, 8f, 2f)); } }; @@ -117,7 +117,7 @@ public class MissileBullets extends BulletList implements ContentList{ @Override public void update(Bullet b){ super.update(b); - b.getVelocity().rotate(Mathf.sin(Timers.time() + b.id * 4422, 8f, 2f)); + b.getVelocity().rotate(Mathf.sin(Time.time() + b.id * 4422, 8f, 2f)); } }; } diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 9f89f4e926..685613814e 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -18,11 +18,11 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverBulletData; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.*; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.*; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.world; @@ -105,18 +105,18 @@ public class TurretBullets extends BulletList implements ContentList{ @Override public void update(Bullet b){ - if(Mathf.chance(0.04 * Timers.delta())){ + if(Mathf.chance(0.04 * Time.delta())){ Tile tile = world.tileWorld(b.x, b.y); if(tile != null){ Fire.create(tile); } } - if(Mathf.chance(0.1 * Timers.delta())){ + if(Mathf.chance(0.1 * Time.delta())){ Effects.effect(EnvironmentFx.fireballsmoke, b.x, b.y); } - if(Mathf.chance(0.1 * Timers.delta())){ + if(Mathf.chance(0.1 * Time.delta())){ Effects.effect(EnvironmentFx.ballfire, b.x, b.y); } } @@ -213,10 +213,10 @@ public class TurretBullets extends BulletList implements ContentList{ Lines.lineAngle(b.x, b.y, b.angle(), baseLen); for(int s = 0; s < colors.length; s++){ - Draw.color(tmpColor.set(colors[s]).mul(1f + Mathf.absin(Timers.time(), 1f, 0.1f))); + Draw.color(tmpColor.set(colors[s]).mul(1f + Mathf.absin(Time.time(), 1f, 0.1f))); for(int i = 0; i < tscales.length; i++){ vector.trns(b.angle() + 180f, (lenscales[i] - 1f) * 35f); - Lines.stroke((9f + Mathf.absin(Timers.time(), 0.8f, 1.5f)) * b.fout() * strokes[s] * tscales[i]); + Lines.stroke((9f + Mathf.absin(Time.time(), 0.8f, 1.5f)) * b.fout() * strokes[s] * tscales[i]); Lines.lineAngle(b.x + vector.x, b.y + vector.y, b.angle(), baseLen * lenscales[i], CapStyle.none); } } diff --git a/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java b/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java index e1c6d5b27d..67d51f3899 100644 --- a/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/content/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java index 167f80b8ef..5155ae9d20 100644 --- a/core/src/io/anuke/mindustry/content/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -4,14 +4,14 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Tmp; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Tmp; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/content/fx/BulletFx.java b/core/src/io/anuke/mindustry/content/fx/BulletFx.java index 5cfc74454b..dffe6b4357 100644 --- a/core/src/io/anuke/mindustry/content/fx/BulletFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BulletFx.java @@ -3,12 +3,12 @@ package io.anuke.mindustry.content.fx; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; public class BulletFx extends FxList implements ContentList{ public static Effect hitBulletSmall, hitFuse, hitBulletBig, hitFlameSmall, hitLiquid, hitLaser, hitLancer, hitMeltdown, despawn, flakExplosion, blastExplosion, plasticExplosion, diff --git a/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java b/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java index 7a8e4e367f..8dadc54f43 100644 --- a/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java +++ b/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java @@ -5,11 +5,11 @@ import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.Item; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; public class EnvironmentFx extends FxList implements ContentList{ public static Effect burning, fire, smoke, steam, fireballsmoke, ballfire, freezing, melting, wet, oily, overdriven, dropItem; diff --git a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java index 56b904e2e3..e0f16caa55 100644 --- a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java @@ -3,12 +3,12 @@ package io.anuke.mindustry.content.fx; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; public class ExplosionFx extends FxList implements ContentList{ public static Effect shockwave, bigShockwave, nuclearShockwave, explosion, blockExplosion, blockExplosionSmoke; diff --git a/core/src/io/anuke/mindustry/content/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java index dad54c2726..9879a13b86 100644 --- a/core/src/io/anuke/mindustry/content/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -3,11 +3,11 @@ package io.anuke.mindustry.content.fx; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/content/fx/ShootFx.java b/core/src/io/anuke/mindustry/content/fx/ShootFx.java index 9c2741b65d..9d7a8b37af 100644 --- a/core/src/io/anuke/mindustry/content/fx/ShootFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ShootFx.java @@ -4,13 +4,13 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.graphics.Shapes; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.Shapes; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; public class ShootFx extends FxList implements ContentList{ public static Effect shootSmall, shootHeal, shootSmallSmoke, shootBig, shootBig2, shootBigSmoke, shootBigSmoke2, shootSmallFlame, shootLiquid, shellEjectSmall, shellEjectMedium, shellEjectBig, lancerLaserShoot, lancerLaserShootSmoke, lancerLaserCharge, lancerLaserChargeBegin, lightningCharge, lightningShoot; diff --git a/core/src/io/anuke/mindustry/content/fx/UnitFx.java b/core/src/io/anuke/mindustry/content/fx/UnitFx.java index 9efcb08699..a8850b30ce 100644 --- a/core/src/io/anuke/mindustry/content/fx/UnitFx.java +++ b/core/src/io/anuke/mindustry/content/fx/UnitFx.java @@ -3,12 +3,12 @@ package io.anuke.mindustry.content.fx; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; public class UnitFx extends FxList implements ContentList{ public static Effect vtolHover, unitDrop, unitPickup, unitLand, pickup, healWave, heal, landShock; diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index 29bd394ff5..4d4c25bacc 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -1,8 +1,10 @@ package io.anuke.mindustry.core; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.utils.Log; import io.anuke.mindustry.content.*; import io.anuke.mindustry.content.blocks.*; import io.anuke.mindustry.content.bullets.*; @@ -24,9 +26,6 @@ import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.LegacyColorMapper; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.ThreadArray; /** * Loads all game content. @@ -114,7 +113,7 @@ public class ContentLoader{ registerTypes(); for(ContentType type : ContentType.values()){ - contentMap[type.ordinal()] = new ThreadArray<>(); + contentMap[type.ordinal()] = new Array<>(); contentNameMap[type.ordinal()] = new ObjectMap<>(); } diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 76fe798042..20d35591e2 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -1,7 +1,17 @@ package io.anuke.mindustry.core; +import io.anuke.arc.ApplicationListener; import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.Settings; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.TextureAtlas; +import io.anuke.arc.input.KeyCode; +import io.anuke.arc.utils.Interval; +import io.anuke.arc.utils.Strings; +import io.anuke.arc.utils.Time; import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -11,7 +21,7 @@ import io.anuke.mindustry.game.EventType.*; import io.anuke.mindustry.game.Saves; import io.anuke.mindustry.game.Unlocks; import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.input.DefaultKeybinds; +import io.anuke.mindustry.input.Binding; import io.anuke.mindustry.input.DesktopInput; import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.input.MobileInput; @@ -20,16 +30,10 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.ucore.core.*; -import io.anuke.ucore.entities.EntityQuery; -import io.anuke.ucore.modules.Module; -import io.anuke.ucore.util.Atlas; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Strings; -import io.anuke.ucore.util.Timer; import java.io.IOException; +import static io.anuke.arc.Core.scene; import static io.anuke.mindustry.Vars.*; /** @@ -38,11 +42,11 @@ import static io.anuke.mindustry.Vars.*; * Should not handle any logic-critical state. * This class is not created in the headless server. */ -public class Control extends Module{ +public class Control implements ApplicationListener{ public final Saves saves; public final Unlocks unlocks; - private Timer timerRPC = new Timer(), timerUnlock = new Timer(); + private Interval timerRPC = new Interval(), timerUnlock = new Interval(); private boolean hiscore = false; private boolean wasPaused = false; private InputHandler[] inputs = {}; @@ -52,22 +56,18 @@ public class Control extends Module{ saves = new Saves(); unlocks = new Unlocks(); - Inputs.useControllers(true); - - Core.input.setCatchBackKey(true); + Core.input.setCatch(KeyCode.BACK, true); Effects.setShakeFalloff(10000f); content.initialize(Content::init); - Core.atlas = new Atlas("sprites.atlas"); - Core.atlas.setErrorRegion("error"); + Core.atlas = new TextureAtlas("sprites.atlas"); content.initialize(Content::load); unlocks.load(); - DefaultKeybinds.load(); - - Settings.defaultList( + Core.settings.setAppName(appName); + Core.settings.defaults( "ip", "localhost", "color-0", Color.rgba8888(playerColors[8]), "color-1", Color.rgba8888(playerColors[11]), @@ -77,15 +77,13 @@ public class Control extends Module{ "lastBuild", 0 ); - KeyBinds.load(); - addPlayer(0); saves.load(); Events.on(StateChangeEvent.class, event -> { if((event.from == State.playing && event.to == State.menu) || (event.from == State.menu && event.to != State.menu)){ - Timers.runTask(5f, Platform.instance::updateRPC); + Time.runTask(5f, Platform.instance::updateRPC); } }); @@ -99,7 +97,7 @@ public class Control extends Module{ Events.on(WorldLoadGraphicsEvent.class, event -> { if(mobile){ - Core.app.postRunnable(() -> Core.camera.position.set(players[0].x, players[0].y, 0)); + Core.app.post(() -> Core.camera.position.set(players[0])); } }); @@ -115,11 +113,11 @@ public class Control extends Module{ Events.on(WaveEvent.class, event -> { - int last = Settings.getInt("hiscore" + world.getMap().name, 0); + int last = Core.settings.getInt("hiscore" + world.getMap().name, 0); if(state.wave > last && !state.mode.infiniteResources && !state.mode.disableWaveTimer && world.getSector() == null){ - Settings.putInt("hiscore" + world.getMap().name, state.wave); - Settings.save(); + Core.settings.put("hiscore" + world.getMap().name, state.wave); + Core.settings.save(); hiscore = true; } @@ -131,12 +129,9 @@ public class Control extends Module{ if(world.getSector() != null && world.getSector().hasSave()){ world.getSector().getSave().delete(); } - - threads.runGraphics(() -> { - Effects.shake(5, 6, Core.camera.position.x, Core.camera.position.y); - //the restart dialog can show info for any number of scenarios - Call.onGameOver(event.winner); - }); + Effects.shake(5, 6, Core.camera.position.x, Core.camera.position.y); + //the restart dialog can show info for any number of scenarios + Call.onGameOver(event.winner); }); //autohost for pvp sectors @@ -146,8 +141,8 @@ public class Control extends Module{ Net.host(port); players[0].isAdmin = true; }catch(IOException e){ - ui.showError(Bundles.format("text.server.error", Strings.parseException(e, false))); - threads.runDelay(() -> state.set(State.menu)); + ui.showError(Core.bundle.format("text.server.error", Strings.parseException(e, false))); + Core.app.post(() -> state.set(State.menu)); } } }); @@ -171,9 +166,9 @@ public class Control extends Module{ Player setTo = (index == 0 ? null : players[0]); Player player = new Player(); - player.name = Settings.getString("name"); + player.name = Core.settings.getString("name"); player.mech = mobile ? Mechs.starterMobile : Mechs.starterDesktop; - player.color.set(Settings.getInt("color-" + index)); + player.color.set(Core.settings.getInt("color-" + index)); player.isLocal = true; player.playerIndex = index; player.isMobile = mobile; @@ -196,7 +191,7 @@ public class Control extends Module{ } inputs[index] = input; - Inputs.addProcessor(input); + Core.input.addInputProcessor(input); } public void removePlayer(){ @@ -287,14 +282,14 @@ public class Control extends Module{ Platform.instance.updateRPC(); - if(!Settings.getBool("4.0-warning-2", false)){ + if(!Core.settings.getBool("4.0-warning-2", false)){ - Timers.run(5f, () -> { + Time.run(5f, () -> { FloatingDialog dialog = new FloatingDialog("[accent]WARNING![]"); dialog.buttons().addButton("$text.ok", () -> { dialog.hide(); - Settings.putBool("4.0-warning-2", true); - Settings.save(); + Core.settings.put("4.0-warning-2", true); + Core.settings.save(); }).size(100f, 60f); dialog.content().add("Reminder: The beta version you are about to play is very unstable, and is [accent]not representative of the final 4.0 release.[]\n\n " + "\nThere is currently[scarlet] no sound implemented[]; this is intentional.\n" + @@ -344,26 +339,26 @@ public class Control extends Module{ } } - if(Inputs.keyTap("pause") && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){ + if(Core.input.keyTap(Binding.pause) && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){ state.set(state.is(State.playing) ? State.paused : State.playing); } - if(Inputs.keyTap("menu") && !ui.restart.isShown()){ + if(Core.input.keyTap(Binding.menu) && !ui.restart.isShown()){ if(ui.chatfrag.chatOpen()){ ui.chatfrag.hide(); - }else if(!ui.paused.isShown() && !ui.hasDialog()){ + }else if(!ui.paused.isShown() && !scene.hasDialog()){ ui.paused.show(); state.set(State.paused); } } - if(!mobile && Inputs.keyTap("screenshot") && !ui.chatfrag.chatOpen()){ + if(!mobile && Core.input.keyTap(Binding.screenshot) && !ui.chatfrag.chatOpen()){ renderer.takeMapScreenshot(); } }else{ if(!state.isPaused()){ - Timers.update(); + Time.update(); } } } diff --git a/core/src/io/anuke/mindustry/core/GameState.java b/core/src/io/anuke/mindustry/core/GameState.java index 96a36fad8a..6d9e71b2e7 100644 --- a/core/src/io/anuke/mindustry/core/GameState.java +++ b/core/src/io/anuke/mindustry/core/GameState.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.Teams; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Events; +import io.anuke.arc.core.Events; import static io.anuke.mindustry.Vars.unitGroups; import static io.anuke.mindustry.Vars.waveTeam; diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index 9eb2fbf86a..97bc5de319 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -16,12 +16,12 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.Entities; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.EntityQuery; -import io.anuke.ucore.modules.Module; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.modules.Module; import static io.anuke.mindustry.Vars.*; @@ -85,7 +85,7 @@ public class Logic extends Module{ state.gameOver = false; state.teams = new Teams(); - Timers.clear(); + Time.clear(); Entities.clear(); TileEntity.sleepingEntities = 0; @@ -179,10 +179,10 @@ public class Logic extends Module{ if(!state.is(State.menu)){ if(!state.isPaused()){ - Timers.update(); + Time.update(); if(!state.mode.disableWaveTimer && !state.mode.disableWaves && !state.gameOver){ - state.wavetime -= Timers.delta(); + state.wavetime -= Time.delta(); } if(!Net.client() && state.wavetime <= 0 && !state.mode.disableWaves){ diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index 721b6e9bfc..6efafcb511 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -25,16 +25,16 @@ import io.anuke.mindustry.net.Packets.*; import io.anuke.mindustry.net.ValidateException; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.Entities; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.io.ReusableByteArrayInputStream; -import io.anuke.ucore.modules.Module; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Timer; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.io.ReusableByteArrayInputStream; +import io.anuke.arc.modules.Module; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Timer; import java.io.DataInputStream; import java.io.IOException; @@ -114,7 +114,7 @@ public class NetClient extends Module{ Net.handleClient(Disconnect.class, packet -> { if(quiet) return; - Timers.runTask(3f, ui.loadfrag::hide); + Time.runTask(3f, ui.loadfrag::hide); state.set(State.menu); @@ -347,7 +347,7 @@ public class NetClient extends Module{ }else if(!connecting){ Net.disconnect(); }else{ //...must be connecting - timeoutTime += Timers.delta(); + timeoutTime += Time.delta(); if(timeoutTime > dataTimeout){ Log.err("Failed to load data!"); ui.loadfrag.hide(); @@ -369,8 +369,8 @@ public class NetClient extends Module{ ui.loadfrag.hide(); ui.join.hide(); Net.setClientLoaded(true); - Core.app.postRunnable(Call::connectConfirm); - Timers.runTask(40f, Platform.instance::updateRPC); + Core.app.post(Call::connectConfirm); + Time.runTask(40f, Platform.instance::updateRPC); } private void reset(){ @@ -437,14 +437,14 @@ public class NetClient extends Module{ } String getUsid(String ip){ - if(Settings.getString("usid-" + ip, null) != null){ - return Settings.getString("usid-" + ip, null); + if(Core.settings.getString("usid-" + ip, null) != null){ + return Core.settings.getString("usid-" + ip, null); }else{ byte[] bytes = new byte[8]; new Random().nextBytes(bytes); String result = new String(Base64Coder.encode(bytes)); - Settings.putString("usid-" + ip, result); - Settings.save(); + Core.settings.putString("usid-" + ip, result); + Core.settings.save(); return result; } } diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 59fd981986..0978b87899 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -25,18 +25,18 @@ import io.anuke.mindustry.net.*; import io.anuke.mindustry.net.Administration.PlayerInfo; import io.anuke.mindustry.net.Packets.*; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.Entities; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.EntityQuery; -import io.anuke.ucore.entities.trait.Entity; -import io.anuke.ucore.io.ByteBufferOutput; -import io.anuke.ucore.io.CountableByteArrayOutputStream; -import io.anuke.ucore.modules.Module; -import io.anuke.ucore.util.Structs; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.io.ByteBufferOutput; +import io.anuke.arc.io.CountableByteArrayOutputStream; +import io.anuke.arc.modules.Module; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Mathf; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -256,7 +256,7 @@ public class NetServer extends Module{ private static void scheduleSnapshot(Runnable r){ if(debugSnapshots){ if(!Mathf.chance(snapshotDropchance)){ - Timers.run(maxSnapshotDelay / 1000f * 60f, r); + Time.run(maxSnapshotDelay / 1000f * 60f, r); } }else{ r.run(); @@ -437,7 +437,7 @@ public class NetServer extends Module{ if(!headless && !closing && Net.server() && state.is(State.menu)){ closing = true; threads.runGraphics(() -> ui.loadfrag.show("$text.server.closing")); - Timers.runTask(5f, () -> { + Time.runTask(5f, () -> { Net.closeServer(); ui.loadfrag.hide(); closing = false; @@ -474,7 +474,7 @@ public class NetServer extends Module{ Call.onKick(connection, reason); - Timers.runTask(2f, con::close); + Time.runTask(2f, con::close); admins.save(); } @@ -618,7 +618,7 @@ public class NetServer extends Module{ if(!player.timer.get(Player.timerSync, serverSyncTime) || !connection.hasConnected) continue; //reset stream to begin writing - Timers.mark(); + Time.mark(); syncStream.reset(); writeSnapshot(player, dataStream); diff --git a/core/src/io/anuke/mindustry/core/Platform.java b/core/src/io/anuke/mindustry/core/Platform.java index 0199948965..6616a8e557 100644 --- a/core/src/io/anuke/mindustry/core/Platform.java +++ b/core/src/io/anuke/mindustry/core/Platform.java @@ -4,12 +4,12 @@ import io.anuke.arc.Core; import io.anuke.arc.Input.Keys; import io.anuke.arc.files.FileHandle; import io.anuke.arc.utils.Base64Coder; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.scene.ui.Dialog; -import io.anuke.ucore.scene.ui.TextField; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.scene.ui.Dialog; +import io.anuke.arc.scene.ui.TextField; import java.util.Random; @@ -57,7 +57,7 @@ public abstract class Platform { }).width(90f).name("okb"); dialog.show(); - Timers.runTask(1f, () -> { + Time.runTask(1f, () -> { to.setCursorPosition(to.getText().length()); Core.scene.setKeyboardFocus(to); Core.input.setOnscreenKeyboardVisible(true); @@ -76,13 +76,13 @@ public abstract class Platform { } /**Must be a base64 string 8 bytes in length.*/ public String getUUID(){ - String uuid = Settings.getString("uuid", ""); + String uuid = Core.settings.getString("uuid", ""); if(uuid.isEmpty()){ byte[] result = new byte[8]; new Random().nextBytes(result); uuid = new String(Base64Coder.encode(result)); - Settings.putString("uuid", uuid); - Settings.save(); + Core.settings.putString("uuid", uuid); + Core.settings.save(); return uuid; } return uuid; diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 2fccf2c520..47ca4db461 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -23,30 +23,30 @@ import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.entities.EntityDraw; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.EffectEntity; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.entities.trait.Entity; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.graphics.Surface; -import io.anuke.ucore.modules.RendererModule; -import io.anuke.ucore.scene.utils.Cursors; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Pooling; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Settings; +import io.anuke.arc.entities.EntityDraw; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.EffectEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.Surface; +import io.anuke.arc.modules.RendererModule; +import io.anuke.arc.scene.utils.Cursors; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Pooling; +import io.anuke.arc.util.Translator; import static io.anuke.mindustry.Vars.*; -import static io.anuke.ucore.core.Core.batch; -import static io.anuke.ucore.core.Core.camera; +import static io.anuke.arc.core.Core.batch; +import static io.anuke.arc.core.Core.camera; public class Renderer extends RendererModule{ public final Surface effectSurface; @@ -69,7 +69,7 @@ public class Renderer extends RendererModule{ Core.cameraScale = baseCameraScale; Effects.setEffectProvider((effect, color, x, y, rotation, data) -> { if(effect == Fx.none) return; - if(Settings.getBool("effects")){ + if(Core.settings.getBool("effects")){ Rectangle view = rect.setSize(camera.viewportWidth, camera.viewportHeight) .setCenter(camera.position.x, camera.position.y); Rectangle pos = rect2.setSize(effect.size).setCenter(x, y); @@ -381,7 +381,7 @@ public class Renderer extends RendererModule{ } public void clampScale(){ - float s = io.anuke.ucore.scene.ui.layout.Unit.dp.scl(1f); + float s = io.anuke.arc.scene.ui.layout.Unit.dp.scl(1f); targetscale = Mathf.clamp(targetscale, Math.round(s * 2), Math.round(s * 5)); } @@ -422,7 +422,7 @@ public class Renderer extends RendererModule{ pixelSurface.setSize(pw, ph, false); Graphics.getEffectSurface().setSize(pw, ph, false); - ui.showInfoFade(Bundles.format("text.screenshot", file.toString())); + ui.showInfoFade(Core.bundle.format("text.screenshot", file.toString())); } } diff --git a/core/src/io/anuke/mindustry/core/ThreadHandler.java b/core/src/io/anuke/mindustry/core/ThreadHandler.java deleted file mode 100644 index c427be3788..0000000000 --- a/core/src/io/anuke/mindustry/core/ThreadHandler.java +++ /dev/null @@ -1,54 +0,0 @@ -package io.anuke.mindustry.core; - -import io.anuke.arc.Core; -import io.anuke.arc.utils.TimeUtils; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; - -public class ThreadHandler{ - private long lastFrameTime; - - public ThreadHandler(){ - Timers.setDeltaProvider(() -> { - float result = Core.graphics.getDeltaTime() * 60f; - return Float.isNaN(result) || Float.isInfinite(result) ? 1f : Math.min(result, 60f / 10f); - }); - } - - public void run(Runnable r){ - r.run(); - } - - public void runGraphics(Runnable r){ - r.run(); - } - - public void runDelay(Runnable r){ - Core.app.postRunnable(r); - } - - public long getFrameID(){ - return Core.graphics.getFrameId(); - } - - public void handleBeginRender(){ - lastFrameTime = TimeUtils.millis(); - } - - public void handleEndRender(){ - int fpsCap = Settings.getInt("fpscap", 125); - - if(fpsCap <= 120){ - long target = 1000/fpsCap; - long elapsed = TimeUtils.timeSinceMillis(lastFrameTime); - if(elapsed < target){ - try{ - Thread.sleep(target - elapsed); - }catch(InterruptedException e){ - e.printStackTrace(); - } - } - } - } - -} diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index c631a1aaf1..b63e5cc59f 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -15,23 +15,23 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.ui.dialogs.*; import io.anuke.mindustry.ui.fragments.*; -import io.anuke.ucore.core.*; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.modules.SceneModule; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.Skin; -import io.anuke.ucore.scene.actions.Actions; -import io.anuke.ucore.scene.ui.Dialog; -import io.anuke.ucore.scene.ui.TextField; -import io.anuke.ucore.scene.ui.TextField.TextFieldFilter; -import io.anuke.ucore.scene.ui.TooltipManager; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.*; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.modules.SceneModule; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.Skin; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.ui.Dialog; +import io.anuke.arc.scene.ui.TextField; +import io.anuke.arc.scene.ui.TextField.TextFieldFilter; +import io.anuke.arc.scene.ui.TooltipManager; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Strings; import static io.anuke.mindustry.Vars.*; -import static io.anuke.ucore.scene.actions.Actions.*; +import static io.anuke.arc.scene.actions.Actions.*; public class UI extends SceneModule{ private FreeTypeFontGenerator generator; @@ -87,7 +87,7 @@ public class UI extends SceneModule{ TooltipManager.getInstance().animations = false; - Settings.setErrorHandler(() -> Timers.run(1f, () -> showError("[crimson]Failed to access local storage.\nSettings will not be saved."))); + Core.settings.setErrorHandler(() -> Time.run(1f, () -> showError("[crimson]Failed to access local storage.\nSettings will not be saved."))); Dialog.closePadR = -1; Dialog.closePadT = 5; @@ -202,7 +202,7 @@ public class UI extends SceneModule{ public void loadGraphics(String text, Runnable call){ loadfrag.show(text); - Timers.runTask(7f, () -> { + Time.runTask(7f, () -> { call.run(); loadfrag.hide(); }); @@ -214,7 +214,7 @@ public class UI extends SceneModule{ public void loadLogic(String text, Runnable call){ loadfrag.show(text); - Timers.runTask(7f, () -> + Time.runTask(7f, () -> threads.run(() -> { call.run(); threads.runGraphics(loadfrag::hide); diff --git a/core/src/io/anuke/mindustry/core/World.java b/core/src/io/anuke/mindustry/core/World.java index d1f880678b..c1cb55ea7e 100644 --- a/core/src/io/anuke/mindustry/core/World.java +++ b/core/src/io/anuke/mindustry/core/World.java @@ -18,11 +18,11 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityQuery; -import io.anuke.ucore.modules.Module; -import io.anuke.ucore.util.*; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.modules.Module; +import io.anuke.arc.util.*; import static io.anuke.mindustry.Vars.*; @@ -209,8 +209,8 @@ public class World extends Module{ currentSector = sector; state.difficulty = sectors.getDifficulty(sector); state.mode = sector.currentMission().getMode(); - Timers.mark(); - Timers.mark(); + Time.mark(); + Time.mark(); logic.reset(); @@ -247,7 +247,7 @@ public class World extends Module{ Log.err(e); if(!headless){ ui.showError("$text.map.invalid"); - threads.runDelay(() -> state.set(State.menu)); + Core.app.post(() -> state.set(State.menu)); invalidMap = true; } generating = false; @@ -277,13 +277,13 @@ public class World extends Module{ invalidMap = false; } - if(invalidMap) threads.runDelay(() -> state.set(State.menu)); + if(invalidMap) Core.app.post(() -> state.set(State.menu)); } public void notifyChanged(Tile tile){ if(!generating){ - threads.runDelay(() -> Events.fire(new TileChangeEvent(tile))); + Core.app.post(() -> Events.fire(new TileChangeEvent(tile))); } } diff --git a/core/src/io/anuke/mindustry/editor/DrawOperation.java b/core/src/io/anuke/mindustry/editor/DrawOperation.java index 55b57cf7af..ed5b95bcef 100755 --- a/core/src/io/anuke/mindustry/editor/DrawOperation.java +++ b/core/src/io/anuke/mindustry/editor/DrawOperation.java @@ -4,7 +4,7 @@ import io.anuke.arc.utils.Array; import io.anuke.arc.utils.IntSet; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; -import io.anuke.ucore.util.Bits; +import io.anuke.arc.util.Bits; public class DrawOperation{ /** diff --git a/core/src/io/anuke/mindustry/editor/EditorTool.java b/core/src/io/anuke/mindustry/editor/EditorTool.java index 4a89d6f6a7..4117fb6746 100644 --- a/core/src/io/anuke/mindustry/editor/EditorTool.java +++ b/core/src/io/anuke/mindustry/editor/EditorTool.java @@ -7,9 +7,9 @@ import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.ucore.function.IntPositionConsumer; -import io.anuke.ucore.util.Structs; -import io.anuke.ucore.util.Bits; +import io.anuke.arc.function.IntPositionConsumer; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.ui; diff --git a/core/src/io/anuke/mindustry/editor/MapEditor.java b/core/src/io/anuke/mindustry/editor/MapEditor.java index ee0420df3d..7a873307c6 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditor.java +++ b/core/src/io/anuke/mindustry/editor/MapEditor.java @@ -10,9 +10,9 @@ import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.ucore.util.Structs; -import io.anuke.ucore.util.Bits; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Bits; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.content; public class MapEditor{ public static final int[] brushSizes = {1, 2, 3, 4, 5, 9, 15}; diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index 8a64da0a5f..83702fb54e 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -21,23 +21,23 @@ import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Inputs; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.input.Input; -import io.anuke.ucore.scene.actions.Actions; -import io.anuke.ucore.scene.ui.*; -import io.anuke.ucore.scene.ui.layout.Stack; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.scene.utils.UIUtils; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Inputs; +import io.anuke.arc.core.Timers; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.input.Input; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.ui.*; +import io.anuke.arc.scene.ui.layout.Stack; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Strings; import java.io.DataInputStream; import java.io.InputStream; @@ -106,7 +106,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ editor.beginEdit(data, meta.tags, false); view.clearStack(); }catch(Exception e){ - ui.showError(Bundles.format("text.editor.errorimageload", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.editor.errorimageload", Strings.parseException(e, false))); Log.err(e); } }), true, mapExtension), @@ -120,7 +120,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ editor.beginEdit(data, editor.getTags(), false); view.clearStack(); }catch (Exception e){ - ui.showError(Bundles.format("text.editor.errorimageload", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.editor.errorimageload", Strings.parseException(e, false))); Log.err(e); } }), true, "png") @@ -139,7 +139,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ } MapIO.writeMap(result.write(false), editor.getTags(), editor.getMap()); }catch(Exception e){ - ui.showError(Bundles.format("text.editor.errorimagesave", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.editor.errorimagesave", Strings.parseException(e, false))); Log.err(e); } }); @@ -175,7 +175,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ editor.beginEdit(data, meta.tags, false); view.clearStack(); }catch(Exception e){ - ui.showError(Bundles.format("text.editor.errormapload", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.editor.errormapload", Strings.parseException(e, false))); Log.err(e); } })); @@ -214,7 +214,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ } shownWithMap = false; - Timers.runTask(10f, Platform.instance::updateRPC); + Time.runTask(10f, Platform.instance::updateRPC); }); hidden(() -> { @@ -311,7 +311,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ show(); }catch(Exception e){ Log.err(e); - ui.showError(Bundles.format("text.editor.errorimageload", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.editor.errorimageload", Strings.parseException(e, false))); } }); } diff --git a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java index 92b647738a..14ba9ea2c3 100644 --- a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java @@ -3,9 +3,9 @@ package io.anuke.mindustry.editor; import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.scene.ui.TextArea; -import io.anuke.ucore.scene.ui.TextField; +import io.anuke.arc.core.Settings; +import io.anuke.arc.scene.ui.TextArea; +import io.anuke.arc.scene.ui.TextField; public class MapInfoDialog extends FloatingDialog{ private final MapEditor editor; @@ -53,10 +53,10 @@ public class MapInfoDialog extends FloatingDialog{ content().add("$text.editor.author").padRight(8).left(); - author = content().addField(tags.get("author", Settings.getString("mapAuthor", "")), text -> { + author = content().addField(tags.get("author", Core.settings.getString("mapAuthor", "")), text -> { tags.put("author", text); - Settings.putString("mapAuthor", text); - Settings.save(); + Core.settings.putString("mapAuthor", text); + Core.settings.save(); }).size(400, 55f).get(); author.setMessageText("$text.unknown"); diff --git a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java index 14c0f2d7d0..37a5ad9257 100644 --- a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java @@ -4,11 +4,11 @@ import io.anuke.arc.utils.Scaling; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.ui.BorderImage; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index abe1509da3..036eea3bfa 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -9,13 +9,13 @@ import io.anuke.arc.utils.IntSet.IntSetIterator; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.world.Block; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.IndexedRenderer; -import io.anuke.ucore.util.Structs; -import io.anuke.ucore.util.Bits; -import io.anuke.ucore.util.Geometry; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.IndexedRenderer; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Bits; +import io.anuke.arc.util.Geometry; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/editor/MapResizeDialog.java b/core/src/io/anuke/mindustry/editor/MapResizeDialog.java index 84f2ae4d51..77cd201a69 100644 --- a/core/src/io/anuke/mindustry/editor/MapResizeDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapResizeDialog.java @@ -2,11 +2,11 @@ package io.anuke.mindustry.editor; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.ucore.function.BiConsumer; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.function.BiConsumer; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Mathf; public class MapResizeDialog extends FloatingDialog{ int[] validMapSizes = {200, 300, 400, 500}; diff --git a/core/src/io/anuke/mindustry/editor/MapSaveDialog.java b/core/src/io/anuke/mindustry/editor/MapSaveDialog.java index a8a377b921..1b2f2de543 100644 --- a/core/src/io/anuke/mindustry/editor/MapSaveDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapSaveDialog.java @@ -3,9 +3,9 @@ package io.anuke.mindustry.editor; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.TextField; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.TextField; import static io.anuke.mindustry.Vars.ui; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index c5dc74451b..d82e820b88 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -13,20 +13,20 @@ import io.anuke.arc.utils.Array; import io.anuke.mindustry.editor.DrawOperation.TileOperation; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.GridImage; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Inputs; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.event.InputEvent; -import io.anuke.ucore.scene.event.InputListener; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.TextField; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Tmp; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Inputs; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.event.InputEvent; +import io.anuke.arc.scene.event.InputListener; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.TextField; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Tmp; import static io.anuke.mindustry.Vars.mobile; import static io.anuke.mindustry.Vars.ui; @@ -214,7 +214,7 @@ public class MapView extends Element implements GestureListener{ super.act(delta); if(Core.scene.getKeyboardFocus() == null || !(Core.scene.getKeyboardFocus() instanceof TextField) && - !Inputs.keyDown(io.anuke.ucore.input.Input.CONTROL_LEFT)){ + !Inputs.keyDown(io.anuke.arc.input.Input.CONTROL_LEFT)){ float ax = Inputs.getAxis("move_x"); float ay = Inputs.getAxis("move_y"); offsetx -= ax * 15f / zoom; diff --git a/core/src/io/anuke/mindustry/entities/Damage.java b/core/src/io/anuke/mindustry/entities/Damage.java index 54e3b157a1..42905e4648 100644 --- a/core/src/io/anuke/mindustry/entities/Damage.java +++ b/core/src/io/anuke/mindustry/entities/Damage.java @@ -13,14 +13,14 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Physics; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Physics; +import io.anuke.arc.util.Translator; import static io.anuke.mindustry.Vars.*; @@ -34,19 +34,19 @@ public class Damage{ public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, Color color){ for(int i = 0; i < Mathf.clamp(power / 20, 0, 6); i++){ int branches = 5 + Mathf.clamp((int) (power / 30), 1, 20); - Timers.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.none, Palette.power, 3, + Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.none, Palette.power, 3, x, y, Mathf.random(360f), branches + Mathf.range(2))); } for(int i = 0; i < Mathf.clamp(flammability / 4, 0, 30); i++){ - Timers.run(i / 2f, () -> Call.createBullet(TurretBullets.fireball, x, y, Mathf.random(360f))); + Time.run(i / 2f, () -> Call.createBullet(TurretBullets.fireball, x, y, Mathf.random(360f))); } int waves = Mathf.clamp((int) (explosiveness / 4), 0, 30); for(int i = 0; i < waves; i++){ int f = i; - Timers.run(i * 2f, () -> { + Time.run(i * 2f, () -> { threads.run(() -> Damage.damage(x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f)); Effects.effect(ExplosionFx.blockExplosionSmoke, x + Mathf.range(radius), y + Mathf.range(radius)); }); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 5c03efb4bc..283cc2dd9e 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -24,13 +24,13 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.storage.CoreBlock.CoreEntity; -import io.anuke.ucore.core.*; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.EntityQuery; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.*; +import io.anuke.arc.core.*; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; @@ -150,7 +150,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } if(interpolator.target.dst(interpolator.last) > 1f){ - walktime += Timers.delta(); + walktime += Time.delta(); } } @@ -365,7 +365,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra public void drawStats(){ float x = snappedX(), y = snappedY(); - Draw.color(Color.BLACK, team.color, healthf() + Mathf.absin(Timers.time(), healthf() * 5f, 1f - healthf())); + Draw.color(Color.BLACK, team.color, healthf() + Mathf.absin(Time.time(), healthf() * 5f, 1f - healthf())); Draw.alpha(hitTime / hitDuration); Draw.rect(getPowerCellRegion(), x + Angles.trnsx(rotation, mech.cellTrnsY, 0f), y + Angles.trnsy(rotation, mech.cellTrnsY, 0f), rotation - 90); Draw.color(); @@ -400,7 +400,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra boolean ints = Core.font.usesIntegerPositions(); Core.font.setUseIntegerPositions(false); - Draw.tscl(0.25f / io.anuke.ucore.scene.ui.layout.Unit.dp.scl(1f)); + Draw.tscl(0.25f / io.anuke.arc.scene.ui.layout.Unit.dp.scl(1f)); layout.setText(Core.font, name); Draw.color(0f, 0f, 0f, 0.3f); Draw.rect("blank", x, y + 8 - layout.height / 2, layout.width + 2, layout.height + 3); @@ -435,7 +435,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.color(Palette.removeBack); - float rad = Mathf.absin(Timers.time(), 7f, 1f) + block.size * tilesize / 2f - 1; + float rad = Mathf.absin(Time.time(), 7f, 1f) + block.size * tilesize / 2f - 1; Lines.square( request.x * tilesize + block.offset(), @@ -454,7 +454,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.color(Palette.accentBack); - float rad = Mathf.absin(Timers.time(), 7f, 1f) - 2f + request.recipe.result.size * tilesize / 2f; + float rad = Mathf.absin(Time.time(), 7f, 1f) - 2f + request.recipe.result.size * tilesize / 2f; Lines.square( request.x * tilesize + request.recipe.result.offset(), @@ -479,7 +479,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra @Override public void update(){ - hitTime -= Timers.delta(); + hitTime -= Time.delta(); if(Float.isNaN(x) || Float.isNaN(y)){ velocity.set(0f, 0f); @@ -611,7 +611,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra pointerY = vec.y; updateShooting(); - movement.limit(speed).scl(Timers.delta()); + movement.limit(speed).scl(Time.delta()); if(getCarrier() == null){ if(!ui.chatfrag.chatOpen()){ @@ -701,10 +701,10 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra isBoosting = EntityQuery.collisions().overlapsTile(rect) || distanceTo(targetX, targetY) > 85f; - velocity.add(movement.scl(Timers.delta())); + velocity.add(movement.scl(Time.delta())); if(velocity.len() <= 0.2f && mech.flying){ - rotation += Mathf.sin(Timers.time() + id * 99, 10f, 1f); + rotation += Mathf.sin(Time.time() + id * 99, 10f, 1f); }else if(target == null){ rotation = Mathf.slerpDelta(rotation, velocity.angle(), velocity.len() / 10f); } @@ -715,8 +715,8 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra if(mech.flying){ //hovering effect - x += Mathf.sin(Timers.time() + id * 999, 25f, 0.08f); - y += Mathf.cos(Timers.time() + id * 999, 25f, 0.08f); + x += Mathf.sin(Time.time() + id * 999, 25f, 0.08f); + y += Mathf.cos(Time.time() + id * 999, 25f, 0.08f); } //update shooting if not building, not mining and there's ammo left @@ -726,7 +726,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra if(mobile){ if(target == null){ isShooting = false; - if(Settings.getBool("autotarget")){ + if(Core.settings.getBool("autotarget")){ target = Units.getClosestTarget(team, x, y, getWeapon().getAmmo().getRange()); if(mech.canHeal && target == null){ diff --git a/core/src/io/anuke/mindustry/entities/Predict.java b/core/src/io/anuke/mindustry/entities/Predict.java index e38be8b2ba..6e94d0620f 100644 --- a/core/src/io/anuke/mindustry/entities/Predict.java +++ b/core/src/io/anuke/mindustry/entities/Predict.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.entities; import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.traits.TargetTrait; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; /** * Class for predicting shoot angles based on velocities of targets. diff --git a/core/src/io/anuke/mindustry/entities/StatusController.java b/core/src/io/anuke/mindustry/entities/StatusController.java index b7d0927b4a..d08e32e23d 100644 --- a/core/src/io/anuke/mindustry/entities/StatusController.java +++ b/core/src/io/anuke/mindustry/entities/StatusController.java @@ -6,10 +6,10 @@ import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.entities.traits.Saveable; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Pooling; -import io.anuke.ucore.util.ThreadArray; -import io.anuke.ucore.util.Tmp; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Pooling; +import io.anuke.arc.util.ThreadArray; +import io.anuke.arc.util.Tmp; import java.io.DataInput; import java.io.DataOutput; @@ -88,7 +88,7 @@ public class StatusController implements Saveable{ removals.clear(); for(StatusEntry entry : statuses){ - entry.time = Math.max(entry.time - Timers.delta(), 0); + entry.time = Math.max(entry.time - Time.delta(), 0); if(entry.time <= 0){ Pooling.free(entry); diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index e5f7d8f5d3..86c69b2cfc 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -20,13 +20,13 @@ import io.anuke.mindustry.world.modules.ConsumeModule; import io.anuke.mindustry.world.modules.ItemModule; import io.anuke.mindustry.world.modules.LiquidModule; import io.anuke.mindustry.world.modules.PowerModule; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.BaseEntity; -import io.anuke.ucore.entities.trait.HealthTrait; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Timer; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.BaseEntity; +import io.anuke.arc.entities.trait.HealthTrait; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Timer; import java.io.DataInput; import java.io.DataOutput; @@ -89,12 +89,12 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ /**Scaled delta.*/ public float delta(){ - return Timers.delta() * timeScale; + return Time.delta() * timeScale; } /**Call when nothing is happening to the entity. This increments the internal sleep timer.*/ public void sleep(){ - sleepTime += Timers.delta(); + sleepTime += Time.delta(); if(!sleeping && sleepTime >= timeToSleep){ remove(); sleeping = true; @@ -265,12 +265,12 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ public void update(){ //TODO better smoke effect, this one is awful if(health != 0 && health < tile.block().health && !(tile.block() instanceof Wall) && - Mathf.chance(0.009f * Timers.delta() * (1f - health / tile.block().health))){ + Mathf.chance(0.009f * Time.delta() * (1f - health / tile.block().health))){ Effects.effect(Fx.smoke, x + Mathf.range(4), y + Mathf.range(4)); } - timeScaleDuration -= Timers.delta(); + timeScaleDuration -= Time.delta(); if(timeScaleDuration <= 0f || !tile.block().canOverdrive){ timeScale = 1f; } diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index 50f4b27b73..fd9c50e7bd 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -15,16 +15,16 @@ import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.impl.DestructibleEntity; -import io.anuke.ucore.entities.trait.DamageTrait; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.entities.trait.SolidTrait; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.impl.DestructibleEntity; +import io.anuke.arc.entities.trait.DamageTrait; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.entities.trait.SolidTrait; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -235,11 +235,11 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ status.update(this); - velocity.limit(getMaxVelocity()).scl(1f + (status.getSpeedMultiplier()-1f) * Timers.delta()); + velocity.limit(getMaxVelocity()).scl(1f + (status.getSpeedMultiplier()-1f) * Time.delta()); if(isFlying()){ - x += velocity.x * Timers.delta(); - y += velocity.y * Timers.delta(); + x += velocity.x * Time.delta(); + y += velocity.y * Time.delta(); }else{ boolean onLiquid = floor.isLiquid; @@ -255,7 +255,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ } } - if(onLiquid && velocity.len() > 0.4f && Mathf.chance((velocity.len() * floor.speedMultiplier) * 0.06f * Timers.delta())){ + if(onLiquid && velocity.len() > 0.4f && Mathf.chance((velocity.len() * floor.speedMultiplier) * 0.06f * Time.delta())){ Effects.effect(floor.walkEffect, floor.liquidColor, x, y); } @@ -268,8 +268,8 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ } if(onLiquid && floor.drownTime > 0){ - drownTime += Timers.delta() * 1f / floor.drownTime; - if(Mathf.chance(Timers.delta() * 0.05f)){ + drownTime += Time.delta() * 1f / floor.drownTime; + if(Mathf.chance(Time.delta() * 0.05f)){ Effects.effect(floor.drownUpdateEffect, floor.liquidColor, x, y); } }else{ @@ -283,12 +283,12 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ } float px = x, py = y; - move(velocity.x * floor.speedMultiplier * Timers.delta(), velocity.y * floor.speedMultiplier * Timers.delta()); + move(velocity.x * floor.speedMultiplier * Time.delta(), velocity.y * floor.speedMultiplier * Time.delta()); if(Math.abs(px - x) <= 0.0001f) velocity.x = 0f; if(Math.abs(py - y) <= 0.0001f) velocity.y = 0f; } - velocity.scl(Mathf.clamp(1f - getDrag() * (isFlying() ? 1f : floor.dragMultiplier) * Timers.delta())); + velocity.scl(Mathf.clamp(1f - getDrag() * (isFlying() ? 1f : floor.dragMultiplier) * Time.delta())); } public void applyEffect(StatusEffect effect, float intensity){ @@ -297,7 +297,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ } public void damagePeriodic(float amount){ - damage(amount * Timers.delta(), hitTime <= -20 + hitDuration); + damage(amount * Time.delta(), hitTime <= -20 + hitDuration); } public void damage(float amount, boolean withEffect){ @@ -317,7 +317,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ } public void drawStats(){ - Draw.color(Color.BLACK, team.color, healthf() + Mathf.absin(Timers.time(), healthf()*5f, 1f - healthf())); + Draw.color(Color.BLACK, team.color, healthf() + Mathf.absin(Time.time(), healthf()*5f, 1f - healthf())); Draw.alpha(hitTime); Draw.rect(getPowerCellRegion(), x, y, rotation - 90); Draw.color(); diff --git a/core/src/io/anuke/mindustry/entities/Units.java b/core/src/io/anuke/mindustry/entities/Units.java index b0749ce0f2..3ef0c60ac6 100644 --- a/core/src/io/anuke/mindustry/entities/Units.java +++ b/core/src/io/anuke/mindustry/entities/Units.java @@ -7,12 +7,12 @@ import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.EntityQuery; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.util.EnumSet; -import io.anuke.ucore.util.Geometry; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.util.EnumSet; +import io.anuke.arc.util.Geometry; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java index e0c9af0c27..9d2b578f02 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.entities.bullet; import io.anuke.mindustry.content.fx.BulletFx; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; //TODO scale velocity depending on fslope() public class ArtilleryBulletType extends BasicBulletType{ diff --git a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java index 32288ef16d..e56799f5a7 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java @@ -6,11 +6,11 @@ import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; /** * A BulletType for most ammo-based bullets shot from turrets and units. @@ -69,7 +69,7 @@ public class BasicBulletType extends BulletType{ if(homingPower > 0.0001f){ TargetTrait target = Units.getClosestTarget(b.getTeam(), b.x, b.y, homingRange); if(target != null){ - b.getVelocity().setAngle(Angles.moveToward(b.getVelocity().angle(), b.angleTo(target), homingPower * Timers.delta())); + b.getVelocity().setAngle(Angles.moveToward(b.getVelocity().angle(), b.angleTo(target), homingPower * Time.delta())); } } } diff --git a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java index 5b1b461f3a..3825fb6a58 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java +++ b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java @@ -10,15 +10,15 @@ import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.entities.traits.TeamTrait; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.BulletEntity; -import io.anuke.ucore.entities.trait.Entity; -import io.anuke.ucore.entities.trait.SolidTrait; -import io.anuke.ucore.entities.trait.VelocityTrait; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Pooling; -import io.anuke.ucore.util.Timer; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.BulletEntity; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.entities.trait.SolidTrait; +import io.anuke.arc.entities.trait.VelocityTrait; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Pooling; +import io.anuke.arc.util.Timer; import java.io.DataInput; import java.io.DataOutput; @@ -69,7 +69,7 @@ public class Bullet extends BulletEntity implements TeamTrait, SyncT bullet.type = type; bullet.lifeScl = lifetimeScl; - bullet.set(x - bullet.velocity.x * Timers.delta(), y - bullet.velocity.y * Timers.delta()); + bullet.set(x - bullet.velocity.x * Time.delta(), y - bullet.velocity.y * Time.delta()); bullet.add(); return bullet; @@ -236,7 +236,7 @@ public class Bullet extends BulletEntity implements TeamTrait, SyncT @Override protected void updateLife(){ - time += Timers.delta() * 1f/(lifeScl); + time += Time.delta() * 1f/(lifeScl); time = Mathf.clamp(time, 0, type.lifetime()); if(time >= type.lifetime){ diff --git a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java index b6220dd9dd..61a34a3f47 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java @@ -6,10 +6,10 @@ import io.anuke.mindustry.game.Content; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.entities.impl.BaseBulletType; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.impl.BaseBulletType; +import io.anuke.arc.util.Translator; public abstract class BulletType extends Content implements BaseBulletType{ public float lifetime; diff --git a/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java index 03328db49c..a85ac932e2 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.entities.bullet; import io.anuke.arc.math.Rectangle; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.Units; -import io.anuke.ucore.core.Timers; +import io.anuke.arc.core.Timers; public abstract class FlakBulletType extends BasicBulletType{ protected static Rectangle rect = new Rectangle(); @@ -29,7 +29,7 @@ public abstract class FlakBulletType extends BasicBulletType{ if(unit.distanceTo(b) < explodeRange){ b.setData(0); - Timers.run(5f, () -> { + Time.run(5f, () -> { if(b.getData() instanceof Integer){ b.time(b.lifetime()); } diff --git a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java index 70b52f385c..fc65f14008 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java @@ -8,11 +8,11 @@ import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java index 2106e34628..7e17680011 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java @@ -3,9 +3,9 @@ package io.anuke.mindustry.entities.bullet; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; public class MissileBulletType extends BasicBulletType{ protected Color trailColor = Palette.missileYellowBack; @@ -21,7 +21,7 @@ public class MissileBulletType extends BasicBulletType{ public void update(Bullet b){ super.update(b); - if(Mathf.chance(Timers.delta() * 0.2)){ + if(Mathf.chance(Time.delta() * 0.2)){ Effects.effect(BulletFx.missileTrail, trailColor, b.x, b.y, 2f); } } diff --git a/core/src/io/anuke/mindustry/entities/effect/Decal.java b/core/src/io/anuke/mindustry/entities/effect/Decal.java index 6001c8b1e2..e4504f028a 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Decal.java +++ b/core/src/io/anuke/mindustry/entities/effect/Decal.java @@ -2,11 +2,11 @@ package io.anuke.mindustry.entities.effect; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.entities.traits.BelowLiquidTrait; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.TimedEntity; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.TimedEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.groundEffectGroup; diff --git a/core/src/io/anuke/mindustry/entities/effect/Fire.java b/core/src/io/anuke/mindustry/entities/effect/Fire.java index d7a689c7fc..6c261114fa 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fire.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fire.java @@ -16,14 +16,14 @@ import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.TimedEntity; -import io.anuke.ucore.util.Structs; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Pooling; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.TimedEntity; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Pooling; import java.io.DataInput; import java.io.DataOutput; @@ -76,7 +76,7 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable{ */ public static void extinguish(Tile tile, float intensity){ if(tile != null && map.containsKey(tile.pos())){ - map.get(tile.pos()).time += intensity * Timers.delta(); + map.get(tile.pos()).time += intensity * Time.delta(); } } @@ -92,11 +92,11 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable{ @Override public void update(){ - if(Mathf.chance(0.1 * Timers.delta())){ + if(Mathf.chance(0.1 * Time.delta())){ Effects.effect(EnvironmentFx.fire, x + Mathf.range(4f), y + Mathf.range(4f)); } - if(Mathf.chance(0.05 * Timers.delta())){ + if(Mathf.chance(0.05 * Time.delta())){ Effects.effect(EnvironmentFx.smoke, x + Mathf.range(4f), y + Mathf.range(4f)); } @@ -104,7 +104,7 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable{ return; } - time = Mathf.clamp(time + Timers.delta(), 0, lifetime()); + time = Mathf.clamp(time + Time.delta(), 0, lifetime()); if(time >= lifetime() || tile == null){ Call.onFireRemoved(getID()); @@ -118,7 +118,7 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable{ float flammability = baseFlammability + puddleFlammability; if(!damage && flammability <= 0){ - time += Timers.delta() * 8; + time += Time.delta() * 8; } if(baseFlammability < 0 || block != tile.block()){ @@ -127,20 +127,20 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable{ } if(damage){ - lifetime += Mathf.clamp(flammability / 8f, 0f, 0.6f) * Timers.delta(); + lifetime += Mathf.clamp(flammability / 8f, 0f, 0.6f) * Time.delta(); } - if(flammability > 1f && Mathf.chance(spreadChance * Timers.delta() * Mathf.clamp(flammability / 5f, 0.3f, 2f))){ + if(flammability > 1f && Mathf.chance(spreadChance * Time.delta() * Mathf.clamp(flammability / 5f, 0.3f, 2f))){ GridPoint2 p = Mathf.select(Geometry.d4); Tile other = world.tile(tile.x + p.x, tile.y + p.y); create(other); - if(Mathf.chance(fireballChance * Timers.delta() * Mathf.clamp(flammability / 10.0))){ + if(Mathf.chance(fireballChance * Time.delta() * Mathf.clamp(flammability / 10.0))){ Call.createBullet(TurretBullets.fireball, x, y, Mathf.random(360f)); } } - if(Mathf.chance(0.1 * Timers.delta())){ + if(Mathf.chance(0.1 * Time.delta())){ Puddle p = Puddle.getPuddle(tile); if(p != null){ puddleFlammability = p.getFlammability() / 3f; diff --git a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java index ceaceb8ba7..d7f69f7510 100644 --- a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java +++ b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java @@ -2,12 +2,12 @@ package io.anuke.mindustry.entities.effect; import io.anuke.mindustry.Vars; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.impl.EffectEntity; -import io.anuke.ucore.core.Effects.EffectRenderer; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.impl.EffectEntity; +import io.anuke.arc.core.Effects.EffectRenderer; +import io.anuke.arc.util.Mathf; /** * A ground effect contains an effect that is rendered on the ground layer as opposed to the top layer. @@ -20,7 +20,7 @@ public class GroundEffectEntity extends EffectEntity{ GroundEffect effect = (GroundEffect) this.effect; if(effect.isStatic){ - time += Timers.delta(); + time += Time.delta(); time = Mathf.clamp(time, 0, effect.staticLife); diff --git a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java index 8569d4d0f4..69ad25e106 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java +++ b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java @@ -1,23 +1,23 @@ package io.anuke.mindustry.entities.effect; -import io.anuke.arc.math.Interpolation; -import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.TimedEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.entities.trait.PosTrait; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Vector2; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Pooling; +import io.anuke.arc.utils.Time; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.TimedEntity; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.entities.trait.PosTrait; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Pooling; import static io.anuke.mindustry.Vars.effectGroup; import static io.anuke.mindustry.Vars.threads; @@ -51,7 +51,7 @@ public class ItemTransfer extends TimedEntity implements DrawTrait{ public static void transferItemTo(Item item, int amount, float x, float y, Tile tile){ if(tile == null || tile.entity == null || tile.entity.items == null) return; for(int i = 0; i < Mathf.clamp(amount / 3, 1, 8); i++){ - Timers.run(i * 3, () -> create(item, x, y, tile, () -> { + Time.run(i * 3, () -> create(item, x, y, tile, () -> { })); } tile.entity.items.add(item, amount); diff --git a/core/src/io/anuke/mindustry/entities/effect/Lightning.java b/core/src/io/anuke/mindustry/entities/effect/Lightning.java index cda35eeaeb..9f096ef9b7 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Lightning.java +++ b/core/src/io/anuke/mindustry/entities/effect/Lightning.java @@ -14,14 +14,14 @@ import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.TimedEntity; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.entities.trait.PosTrait; -import io.anuke.ucore.entities.trait.TimeTrait; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.*; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.TimedEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.entities.trait.PosTrait; +import io.anuke.arc.entities.trait.TimeTrait; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/entities/effect/Puddle.java b/core/src/io/anuke/mindustry/entities/effect/Puddle.java index d0c762d407..be2ab5e2b6 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Puddle.java +++ b/core/src/io/anuke/mindustry/entities/effect/Puddle.java @@ -19,18 +19,18 @@ import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.impl.SolidEntity; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Pooling; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.SolidEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Pooling; import java.io.DataInput; import java.io.DataOutput; @@ -85,10 +85,10 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai Puddle p = map.get(tile.pos()); - if(generation == 0 && p != null && p.lastRipple <= Timers.time() - 40f){ + if(generation == 0 && p != null && p.lastRipple <= Time.time() - 40f){ Effects.effect(BlockFx.ripple, tile.floor().liquidDrop.color, (tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f); - p.lastRipple = Timers.time(); + p.lastRipple = Time.time(); } return; } @@ -108,9 +108,9 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai }else if(p.liquid == liquid){ p.accepting = Math.max(amount, p.accepting); - if(generation == 0 && p.lastRipple <= Timers.time() - 40f && p.amount >= maxLiquid / 2f){ + if(generation == 0 && p.lastRipple <= Time.time() - 40f && p.amount >= maxLiquid / 2f){ Effects.effect(BlockFx.ripple, p.liquid.color, (tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f); - p.lastRipple = Timers.time(); + p.lastRipple = Time.time(); } }else{ p.amount += reactPuddle(p.liquid, liquid, amount, p.tile, p.x, p.y); @@ -176,13 +176,13 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai //update code float addSpeed = accepting > 0 ? 3f : 0f; - amount -= Timers.delta() * (1f - liquid.viscosity) / (5f + addSpeed); + amount -= Time.delta() * (1f - liquid.viscosity) / (5f + addSpeed); amount += accepting; accepting = 0f; if(amount >= maxLiquid / 1.5f && generation < maxGeneration){ - float deposited = Math.min((amount - maxLiquid / 1.5f) / 4f, 0.3f) * Timers.delta(); + float deposited = Math.min((amount - maxLiquid / 1.5f) / 4f, 0.3f) * Time.delta(); for(GridPoint2 point : Geometry.d4){ Tile other = world.tile(tile.x + point.x, tile.y + point.y); if(other != null && other.block() == Blocks.air && !other.hasCliffs()){ @@ -214,14 +214,14 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai } }); - if(liquid.temperature > 0.7f && tile.entity != null && Mathf.chance(0.3 * Timers.delta())){ + if(liquid.temperature > 0.7f && tile.entity != null && Mathf.chance(0.3 * Time.delta())){ Fire.create(tile); } updateTime = 20f; } - updateTime -= Timers.delta(); + updateTime -= Time.delta(); } @Override @@ -233,10 +233,10 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai float sscl = 20f; Draw.color(Hue.shift(tmp.set(liquid.color), 2, -0.05f)); - Fill.circle(x + Mathf.sin(Timers.time() + seeds * 532, sscl, smag), y + Mathf.sin(Timers.time() + seeds * 53, sscl, smag), f * 8f); + Fill.circle(x + Mathf.sin(Time.time() + seeds * 532, sscl, smag), y + Mathf.sin(Time.time() + seeds * 53, sscl, smag), f * 8f); Angles.randLenVectors(id, 3, f * 6f, (ex, ey) -> { - Fill.circle(x + ex + Mathf.sin(Timers.time() + seeds * 532, sscl, smag), - y + ey + Mathf.sin(Timers.time() + seeds * 53, sscl, smag), f * 5f); + Fill.circle(x + ex + Mathf.sin(Time.time() + seeds * 532, sscl, smag), + y + ey + Mathf.sin(Time.time() + seeds * 53, sscl, smag), f * 5f); seeds++; }); Draw.color(); diff --git a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java index 8fb5dedf98..7bc874d861 100644 --- a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; public class RubbleDecal extends Decal{ private int size; diff --git a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java index 6585352c4a..fd5df78b11 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java @@ -2,9 +2,9 @@ package io.anuke.mindustry.entities.effect; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/entities/traits/AbsorbTrait.java b/core/src/io/anuke/mindustry/entities/traits/AbsorbTrait.java index 445533dda3..7c6520364c 100644 --- a/core/src/io/anuke/mindustry/entities/traits/AbsorbTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/AbsorbTrait.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.traits; -import io.anuke.ucore.entities.trait.DamageTrait; -import io.anuke.ucore.entities.trait.Entity; +import io.anuke.arc.entities.trait.DamageTrait; +import io.anuke.arc.entities.trait.Entity; public interface AbsorbTrait extends Entity, TeamTrait, DamageTrait{ void absorb(); diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 4f0bacda4d..1fb1aff758 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -21,16 +21,16 @@ import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.trait.Entity; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.graphics.Shapes; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.Shapes; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -240,9 +240,9 @@ public interface BuilderTrait extends Entity{ if(!Net.client()){ //deconstructing is 2x as fast if(current.breaking){ - entity.deconstruct(unit, core, 2f / entity.buildCost * Timers.delta() * getBuildPower(tile)); + entity.deconstruct(unit, core, 2f / entity.buildCost * Time.delta() * getBuildPower(tile)); }else{ - entity.construct(unit, core, 1f / entity.buildCost * Timers.delta() * getBuildPower(tile)); + entity.construct(unit, core, 1f / entity.buildCost * Time.delta() * getBuildPower(tile)); } current.progress = entity.progress(); @@ -251,7 +251,7 @@ public interface BuilderTrait extends Entity{ } if(!current.initialized){ - Core.app.postRunnable(() -> Events.fire(new BuildSelectEvent(tile, unit.getTeam(), this, current.breaking))); + Core.app.post(() -> Events.fire(new BuildSelectEvent(tile, unit.getTeam(), this, current.breaking))); current.initialized = true; } } @@ -268,7 +268,7 @@ public interface BuilderTrait extends Entity{ Item item = tile.floor().drops.item; unit.rotation = Mathf.slerpDelta(unit.rotation, unit.angleTo(tile.worldx(), tile.worldy()), 0.4f); - if(Mathf.chance(Timers.delta() * (0.06 - item.hardness * 0.01) * getMinePower())){ + if(Mathf.chance(Time.delta() * (0.06 - item.hardness * 0.01) * getMinePower())){ if(unit.distanceTo(core) < mineTransferRange && core.tile.block().acceptStack(item, 1, core.tile, unit) == 1){ Call.transferItemTo(item, 1, @@ -282,7 +282,7 @@ public interface BuilderTrait extends Entity{ } } - if(Mathf.chance(0.06 * Timers.delta())){ + if(Mathf.chance(0.06 * Time.delta())){ Effects.effect(BlockFx.pulverizeSmall, tile.worldx() + Mathf.range(tilesize / 2f), tile.worldy() + Mathf.range(tilesize / 2f), 0f, item.color); @@ -309,7 +309,7 @@ public interface BuilderTrait extends Entity{ } Draw.color(Palette.accent); - float focusLen = 3.8f + Mathf.absin(Timers.time(), 1.1f, 0.6f); + float focusLen = 3.8f + Mathf.absin(Time.time(), 1.1f, 0.6f); float px = unit.x + Angles.trnsx(unit.rotation, focusLen); float py = unit.y + Angles.trnsy(unit.rotation, focusLen); @@ -332,7 +332,7 @@ public interface BuilderTrait extends Entity{ Lines.line(px, py, x1, y1); Lines.line(px, py, x3, y3); - Fill.circle(px, py, 1.6f + Mathf.absin(Timers.time(), 0.8f, 1.5f)); + Fill.circle(px, py, 1.6f + Mathf.absin(Time.time(), 0.8f, 1.5f)); Draw.color(); } @@ -343,22 +343,22 @@ public interface BuilderTrait extends Entity{ if(tile == null) return; - float focusLen = 4f + Mathf.absin(Timers.time(), 1.1f, 0.5f); + float focusLen = 4f + Mathf.absin(Time.time(), 1.1f, 0.5f); float swingScl = 12f, swingMag = tilesize / 8f; float flashScl = 0.3f; float px = unit.x + Angles.trnsx(unit.rotation, focusLen); float py = unit.y + Angles.trnsy(unit.rotation, focusLen); - float ex = tile.worldx() + Mathf.sin(Timers.time() + 48, swingScl, swingMag); - float ey = tile.worldy() + Mathf.sin(Timers.time() + 48, swingScl + 2f, swingMag); + float ex = tile.worldx() + Mathf.sin(Time.time() + 48, swingScl, swingMag); + float ey = tile.worldy() + Mathf.sin(Time.time() + 48, swingScl + 2f, swingMag); - Draw.color(Color.LIGHT_GRAY, Color.WHITE, 1f - flashScl + Mathf.absin(Timers.time(), 0.5f, flashScl)); + Draw.color(Color.LIGHT_GRAY, Color.WHITE, 1f - flashScl + Mathf.absin(Time.time(), 0.5f, flashScl)); Shapes.laser("minelaser", "minelaser-end", px, py, ex, ey); if(unit instanceof Player && ((Player) unit).isLocal){ Draw.color(Palette.accent); - Lines.poly(tile.worldx(), tile.worldy(), 4, tilesize / 2f * Mathf.sqrt2, Timers.time()); + Lines.poly(tile.worldx(), tile.worldy(), 4, tilesize / 2f * Mathf.sqrt2, Time.time()); } Draw.color(); diff --git a/core/src/io/anuke/mindustry/entities/traits/CarriableTrait.java b/core/src/io/anuke/mindustry/entities/traits/CarriableTrait.java index 296b782154..3755245e8e 100644 --- a/core/src/io/anuke/mindustry/entities/traits/CarriableTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/CarriableTrait.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.traits; -import io.anuke.ucore.entities.trait.SolidTrait; +import io.anuke.arc.entities.trait.SolidTrait; public interface CarriableTrait extends TeamTrait, TargetTrait, SolidTrait{ diff --git a/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java b/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java index fdc052f787..fe0efd79ee 100644 --- a/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java @@ -5,8 +5,8 @@ import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.fx.UnitFx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.gen.Call; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.entities.trait.SolidTrait; +import io.anuke.arc.core.Effects; +import io.anuke.arc.entities.trait.SolidTrait; public interface CarryTrait extends TeamTrait, SolidTrait, TargetTrait{ diff --git a/core/src/io/anuke/mindustry/entities/traits/SaveTrait.java b/core/src/io/anuke/mindustry/entities/traits/SaveTrait.java index 4e7009771e..bcf357f4e5 100644 --- a/core/src/io/anuke/mindustry/entities/traits/SaveTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/SaveTrait.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.traits; -import io.anuke.ucore.entities.trait.Entity; +import io.anuke.arc.entities.trait.Entity; /** * Marks an entity as serializable. diff --git a/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java b/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java index 12df85dda1..3e93fe85af 100644 --- a/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities.traits; import io.anuke.mindustry.type.Weapon; -import io.anuke.ucore.entities.trait.VelocityTrait; -import io.anuke.ucore.util.Timer; +import io.anuke.arc.entities.trait.VelocityTrait; +import io.anuke.arc.util.Timer; public interface ShooterTrait extends VelocityTrait, TeamTrait, InventoryTrait{ diff --git a/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java b/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java index 9509e4eb68..a0d4ecee27 100644 --- a/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java @@ -2,9 +2,9 @@ package io.anuke.mindustry.entities.traits; import io.anuke.mindustry.core.NetClient; import io.anuke.mindustry.net.Interpolator; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.entities.trait.Entity; -import io.anuke.ucore.util.Tmp; +import io.anuke.arc.core.Core; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.util.Tmp; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/entities/traits/TargetTrait.java b/core/src/io/anuke/mindustry/entities/traits/TargetTrait.java index bdeea6ea33..e599356017 100644 --- a/core/src/io/anuke/mindustry/entities/traits/TargetTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/TargetTrait.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.entities.traits; import io.anuke.mindustry.game.Team; -import io.anuke.ucore.entities.trait.PosTrait; -import io.anuke.ucore.entities.trait.SolidTrait; -import io.anuke.ucore.entities.trait.VelocityTrait; +import io.anuke.arc.entities.trait.PosTrait; +import io.anuke.arc.entities.trait.SolidTrait; +import io.anuke.arc.entities.trait.VelocityTrait; /** * Base interface for targetable entities. diff --git a/core/src/io/anuke/mindustry/entities/traits/TeamTrait.java b/core/src/io/anuke/mindustry/entities/traits/TeamTrait.java index 3c7cbf7dd3..6954258423 100644 --- a/core/src/io/anuke/mindustry/entities/traits/TeamTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/TeamTrait.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.traits; import io.anuke.mindustry.game.Team; -import io.anuke.ucore.entities.trait.Entity; +import io.anuke.arc.entities.trait.Entity; public interface TeamTrait extends Entity{ Team getTeam(); diff --git a/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java b/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java index 958a0cb319..663575bb5f 100644 --- a/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/TypeTrait.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities.traits; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectIntMap; -import io.anuke.ucore.function.Supplier; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectIntMap; +import io.anuke.arc.function.Supplier; public interface TypeTrait{ int[] lastRegisteredID = {0}; diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index 900736e9a4..54de336546 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -24,11 +24,11 @@ import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.units.CommandCenter.CommandCenterEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.*; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; @@ -77,7 +77,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ Effects.shake(2f, 2f, unit); //must run afterwards so the unit's group is not null when sending the removal packet - threads.runDelay(unit::remove); + Core.app.post(unit::remove); } @Override @@ -282,7 +282,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ @Override public void update(){ - hitTime -= Timers.delta(); + hitTime -= Time.delta(); if(isDead()){ updateRespawning(); diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index 5fe497d4ba..37d20ac539 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -10,9 +10,9 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.*; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.*; import static io.anuke.mindustry.Vars.world; @@ -99,7 +99,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ }); if(target != null){ - circle(60f + Mathf.absin(Timers.time() + id * 23525, 70f, 1200f)); + circle(60f + Mathf.absin(Time.time() + id * 23525, 70f, 1200f)); } } }, @@ -200,11 +200,11 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ protected void wobble(){ if(Net.client()) return; - x += Mathf.sin(Timers.time() + id * 999, 25f, 0.08f)*Timers.delta(); - y += Mathf.cos(Timers.time() + id * 999, 25f, 0.08f)*Timers.delta(); + x += Mathf.sin(Time.time() + id * 999, 25f, 0.08f)*Time.delta(); + y += Mathf.cos(Time.time() + id * 999, 25f, 0.08f)*Time.delta(); if(velocity.len() <= 0.05f){ - rotation += Mathf.sin(Timers.time() + id * 99, 10f, 2.5f)*Timers.delta(); + rotation += Mathf.sin(Time.time() + id * 99, 10f, 2.5f)*Time.delta(); } } @@ -225,7 +225,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ vec.rotate((circleLength - vec.len()) / circleLength * 180f); } - vec.setLength(speed * Timers.delta()); + vec.setLength(speed * Time.delta()); velocity.add(vec); } @@ -237,7 +237,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ float length = circleLength <= 0.001f ? 1f : Mathf.clamp((distanceTo(target) - circleLength) / 100f, -1f, 1f); - vec.setLength(type.speed * Timers.delta() * length); + vec.setLength(type.speed * Time.delta() * length); if(length < 0) vec.rotate(180f); velocity.add(vec); @@ -255,7 +255,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ vec.setAngle(Mathf.slerpDelta(velocity.angle(), vec.angle(), 0.44f)); } - vec.setLength(type.speed * Timers.delta()); + vec.setLength(type.speed * Time.delta()); velocity.add(vec); } diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index d6beb9935a..9c646a146e 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -12,11 +12,11 @@ import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Translator; import java.io.DataInput; import java.io.DataOutput; @@ -119,14 +119,14 @@ public abstract class GroundUnit extends BaseUnit{ public void update(){ super.update(); - stuckTime = !vec.set(x, y).sub(lastPosition()).isZero(0.0001f) ? 0f : stuckTime + Timers.delta(); + stuckTime = !vec.set(x, y).sub(lastPosition()).isZero(0.0001f) ? 0f : stuckTime + Time.delta(); if(!velocity.isZero()){ baseRotation = Mathf.slerpDelta(baseRotation, velocity.angle(), 0.05f); } if(stuckTime < 1f){ - walkTime += Timers.delta(); + walkTime += Time.delta(); } } @@ -238,12 +238,12 @@ public abstract class GroundUnit extends BaseUnit{ } protected void patrol(){ - vec.trns(baseRotation, type.speed * Timers.delta()); + vec.trns(baseRotation, type.speed * Time.delta()); velocity.add(vec.x, vec.y); vec.trns(baseRotation, type.hitsizeTile); Tile tile = world.tileWorld(x + vec.x, y + vec.y); if((tile == null || tile.solid() || tile.floor().drownTime > 0) || stuckTime > 10f){ - baseRotation += Mathf.sign(id % 2 - 0.5f) * Timers.delta() * 3f; + baseRotation += Mathf.sign(id % 2 - 0.5f) * Time.delta() * 3f; } rotation = Mathf.slerpDelta(rotation, velocity.angle(), type.rotatespeed); @@ -258,7 +258,7 @@ public abstract class GroundUnit extends BaseUnit{ vec.rotate((circleLength - vec.len()) / circleLength * 180f); } - vec.setLength(type.speed * Timers.delta()); + vec.setLength(type.speed * Time.delta()); velocity.add(vec); } @@ -272,7 +272,7 @@ public abstract class GroundUnit extends BaseUnit{ float angle = angleTo(targetTile); - velocity.add(vec.trns(angleTo(targetTile), type.speed*Timers.delta())); + velocity.add(vec.trns(angleTo(targetTile), type.speed*Time.delta())); rotation = Mathf.slerpDelta(rotation, angle, type.rotatespeed); } @@ -296,7 +296,7 @@ public abstract class GroundUnit extends BaseUnit{ float angle = angleTo(targetTile); - velocity.add(vec.trns(angleTo(targetTile), type.speed*Timers.delta())); + velocity.add(vec.trns(angleTo(targetTile), type.speed*Time.delta())); rotation = Mathf.slerpDelta(rotation, angle, type.rotatespeed); } } diff --git a/core/src/io/anuke/mindustry/entities/units/Squad.java b/core/src/io/anuke/mindustry/entities/units/Squad.java index 645ea3bdea..2c08a12a1e 100644 --- a/core/src/io/anuke/mindustry/entities/units/Squad.java +++ b/core/src/io/anuke/mindustry/entities/units/Squad.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.units; import io.anuke.arc.math.Vector2; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.util.Translator; import static io.anuke.mindustry.Vars.threads; diff --git a/core/src/io/anuke/mindustry/entities/units/UnitCommand.java b/core/src/io/anuke/mindustry/entities/units/UnitCommand.java index a6e8c2a005..7aec3e2798 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitCommand.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitCommand.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.units; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public enum UnitCommand{ attack, retreat, patrol; @@ -8,7 +8,7 @@ public enum UnitCommand{ private final String localized; UnitCommand(){ - localized = Bundles.get("command." + name()); + localized = Core.bundle.get("command." + name()); } public String localized(){ diff --git a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java index 3780465876..4b304ef6f1 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.content.Items; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.type.Item; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; public class UnitDrops{ private static Item[] dropTable; diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index c3fc8e2df4..55ec6464a7 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -12,12 +12,12 @@ import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.ucore.function.Supplier; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.function.Supplier; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; public class UnitType extends UnlockableContent{ protected final Supplier constructor; @@ -51,11 +51,11 @@ public class UnitType extends UnlockableContent{ public UnitType(String name, Class type, Supplier mainConstructor){ this.name = name; this.constructor = mainConstructor; - this.description = Bundles.getOrNull("unit." + name + ".description"); + this.description = Core.bundle.getOrNull("unit." + name + ".description"); TypeTrait.registerType(type, mainConstructor); - if(!Bundles.has("unit." + this.name + ".name")){ + if(!Core.bundle.has("unit." + this.name + ".name")){ Log.err("Warning: unit '" + name + "' is missing a localized name. Add the follow to bundle.properties:"); Log.err("unit." + this.name + ".name=" + Strings.capitalize(name.replace('-', '_'))); } @@ -68,7 +68,7 @@ public class UnitType extends UnlockableContent{ @Override public String localizedName(){ - return Bundles.get("unit." + name + ".name"); + return Core.bundle.get("unit." + name + ".name"); } @Override diff --git a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java index cca7b7c45a..0621869780 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java @@ -15,8 +15,8 @@ import io.anuke.mindustry.entities.units.UnitState; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.AmmoType; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -72,7 +72,7 @@ public class AlphaDrone extends FlyingUnit { if(drone == null) return; Effects.effect(UnitFx.pickup, drone); //must run afterwards so the unit's group is not null when sending the removal packet - threads.runDelay(drone::remove); + Core.app.post(drone::remove); } @Override diff --git a/core/src/io/anuke/mindustry/entities/units/types/Drone.java b/core/src/io/anuke/mindustry/entities/units/types/Drone.java index 64aa4b799b..8f0a7b0942 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Drone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Drone.java @@ -20,11 +20,11 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.core.Events; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Structs; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/game/Difficulty.java b/core/src/io/anuke/mindustry/game/Difficulty.java index bfbbdd1e90..18b92b4e09 100644 --- a/core/src/io/anuke/mindustry/game/Difficulty.java +++ b/core/src/io/anuke/mindustry/game/Difficulty.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public enum Difficulty{ training(3f, 3f), @@ -24,7 +24,7 @@ public enum Difficulty{ @Override public String toString(){ if(value == null){ - value = Bundles.get("setting.difficulty." + name()); + value = Core.bundle.get("setting.difficulty." + name()); } return value; } diff --git a/core/src/io/anuke/mindustry/game/EventType.java b/core/src/io/anuke/mindustry/game/EventType.java index 0724be398a..037f996902 100644 --- a/core/src/io/anuke/mindustry/game/EventType.java +++ b/core/src/io/anuke/mindustry/game/EventType.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.game; +import io.anuke.arc.Events.Event; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.traits.BuilderTrait; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Events.Event; public class EventType{ diff --git a/core/src/io/anuke/mindustry/game/GameMode.java b/core/src/io/anuke/mindustry/game/GameMode.java index cd4057012a..ac14a3949c 100644 --- a/core/src/io/anuke/mindustry/game/GameMode.java +++ b/core/src/io/anuke/mindustry/game/GameMode.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public enum GameMode{ waves, @@ -33,12 +33,12 @@ public enum GameMode{ public float respawnTime = 60 * 4; public String description(){ - return Bundles.get("mode." + name() + ".description"); + return Core.bundle.get("mode." + name() + ".description"); } @Override public String toString(){ - return Bundles.get("mode." + name() + ".name"); + return Core.bundle.get("mode." + name() + ".name"); } } diff --git a/core/src/io/anuke/mindustry/game/Saves.java b/core/src/io/anuke/mindustry/game/Saves.java index 487e78ca69..e78dc44334 100644 --- a/core/src/io/anuke/mindustry/game/Saves.java +++ b/core/src/io/anuke/mindustry/game/Saves.java @@ -10,11 +10,11 @@ import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.io.SaveMeta; import io.anuke.mindustry.maps.Map; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Strings; -import io.anuke.ucore.util.ThreadArray; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Strings; +import io.anuke.arc.util.ThreadArray; import java.io.IOException; import java.text.SimpleDateFormat; @@ -47,7 +47,7 @@ public class Saves{ public void load(){ saves.clear(); - IntArray slots = Settings.getObject("save-slots", IntArray.class, IntArray::new); + IntArray slots = Core.settings.getObject("save-slots", IntArray.class, IntArray::new); for(int i = 0; i < slots.size; i ++){ int index = slots.get(i); @@ -77,11 +77,11 @@ public class Saves{ } if(!state.is(State.menu) && !state.gameOver && current != null && current.isAutosave()){ - time += Timers.delta(); - if(time > Settings.getInt("saveinterval") * 60){ + time += Time.delta(); + if(time > Core.settings.getInt("saveinterval") * 60){ saving = true; - Timers.runTask(2f, () -> { + Time.runTask(2f, () -> { try{ current.save(); }catch(Exception e){ @@ -146,8 +146,8 @@ public class Saves{ IntArray result = new IntArray(saves.size); for(int i = 0; i < saves.size; i++) result.add(saves.get(i).index); - Settings.putObject("save-slots", result); - Settings.save(); + Core.settings.putObject("save-slots", result); + Core.settings.save(); } public class SaveSlot{ @@ -201,12 +201,12 @@ public class Saves{ } public String getName(){ - return Settings.getString("save-" + index + "-name", "untittled"); + return Core.settings.getString("save-" + index + "-name", "untittled"); } public void setName(String name){ - Settings.putString("save-" + index + "-name", name); - Settings.save(); + Core.settings.putString("save-" + index + "-name", name); + Core.settings.save(); } public int getBuild(){ @@ -226,12 +226,12 @@ public class Saves{ } public boolean isAutosave(){ - return Settings.getBool("save-" + index + "-autosave", true); + return Core.settings.getBool("save-" + index + "-autosave", true); } public void setAutosave(boolean save){ - Settings.putBool("save-" + index + "-autosave", save); - Settings.save(); + Core.settings.putBool("save-" + index + "-autosave", save); + Core.settings.save(); } public void importFile(FileHandle file) throws IOException{ diff --git a/core/src/io/anuke/mindustry/game/Team.java b/core/src/io/anuke/mindustry/game/Team.java index 52f2990618..dfbc4bd777 100644 --- a/core/src/io/anuke/mindustry/game/Team.java +++ b/core/src/io/anuke/mindustry/game/Team.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.game; import io.anuke.arc.graphics.Color; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public enum Team{ none(Color.valueOf("4d4e58")), @@ -21,6 +21,6 @@ public enum Team{ } public String localized(){ - return Bundles.get("team." + name() + ".name"); + return Core.bundle.get("team." + name() + ".name"); } } diff --git a/core/src/io/anuke/mindustry/game/Teams.java b/core/src/io/anuke/mindustry/game/Teams.java index a02fe973cd..194f5af30c 100644 --- a/core/src/io/anuke/mindustry/game/Teams.java +++ b/core/src/io/anuke/mindustry/game/Teams.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.game; import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.Vars; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.util.EnumSet; -import io.anuke.ucore.util.ThreadSet; +import io.anuke.arc.util.EnumSet; +import io.anuke.arc.util.ThreadSet; /** * Class for various team-based utilities. diff --git a/core/src/io/anuke/mindustry/game/UnlockableContent.java b/core/src/io/anuke/mindustry/game/UnlockableContent.java index e82afc00a6..cd8e068af4 100644 --- a/core/src/io/anuke/mindustry/game/UnlockableContent.java +++ b/core/src/io/anuke/mindustry/game/UnlockableContent.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.game; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.control; diff --git a/core/src/io/anuke/mindustry/game/Unlocks.java b/core/src/io/anuke/mindustry/game/Unlocks.java index 9970b33ba4..aa5811b006 100644 --- a/core/src/io/anuke/mindustry/game/Unlocks.java +++ b/core/src/io/anuke/mindustry/game/Unlocks.java @@ -4,8 +4,8 @@ import io.anuke.arc.utils.ObjectMap; import io.anuke.arc.utils.ObjectSet; import io.anuke.mindustry.game.EventType.UnlockEvent; import io.anuke.mindustry.type.ContentType; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Settings; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Settings; /**Stores player unlocks. Clientside only.*/ public class Unlocks{ @@ -13,7 +13,7 @@ public class Unlocks{ private boolean dirty; static{ - Settings.setSerializer(ContentType.class, (stream, t) -> stream.writeInt(t.ordinal()), stream -> ContentType.values()[stream.readInt()]); + Core.settings.setSerializer(ContentType.class, (stream, t) -> stream.writeInt(t.ordinal()), stream -> ContentType.values()[stream.readInt()]); } /** Returns whether or not this piece of content is unlocked yet.*/ @@ -67,12 +67,12 @@ public class Unlocks{ @SuppressWarnings("unchecked") public void load(){ - unlocked = Settings.getObject("unlockset", ObjectMap.class, ObjectMap::new); + unlocked = Core.settings.getObject("unlockset", ObjectMap.class, ObjectMap::new); } public void save(){ - Settings.putObject("unlockset", unlocked); - Settings.save(); + Core.settings.putObject("unlockset", unlocked); + Core.settings.save(); } } diff --git a/core/src/io/anuke/mindustry/game/Version.java b/core/src/io/anuke/mindustry/game/Version.java index b44ca5deb1..baa484f4f1 100644 --- a/core/src/io/anuke/mindustry/game/Version.java +++ b/core/src/io/anuke/mindustry/game/Version.java @@ -4,7 +4,7 @@ import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; import io.anuke.arc.utils.ObjectMap; import io.anuke.arc.utils.PropertiesUtils; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.util.Strings; import java.io.IOException; diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index 644145ff35..ea4caa66fe 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -9,15 +9,15 @@ import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Surface; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Surface; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; -import static io.anuke.ucore.core.Core.camera; +import static io.anuke.arc.core.Core.camera; public class BlockRenderer{ private final static int initialRequests = 32 * 32; diff --git a/core/src/io/anuke/mindustry/graphics/CacheLayer.java b/core/src/io/anuke/mindustry/graphics/CacheLayer.java index 978454bac5..8d4c1fed33 100644 --- a/core/src/io/anuke/mindustry/graphics/CacheLayer.java +++ b/core/src/io/anuke/mindustry/graphics/CacheLayer.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.graphics.Color; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Shader; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Shader; import static io.anuke.mindustry.Vars.renderer; diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index 8bec526285..e0009c47e1 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -12,16 +12,16 @@ import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.CacheBatch; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.CacheBatch; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Structs; import java.util.Arrays; @@ -214,7 +214,7 @@ public class FloorRenderer{ cache = new Chunk[chunksx][chunksy]; cbatch = new CacheBatch(world.width() * world.height() * 4 * 4); - Timers.mark(); + Time.mark(); for(int x = 0; x < chunksx; x++){ for(int y = 0; y < chunksy; y++){ @@ -225,7 +225,7 @@ public class FloorRenderer{ } } - Log.info("Time to cache: {0}", Timers.elapsed()); + Log.info("Time to cache: {0}", Time.elapsed()); } private class Chunk{ diff --git a/core/src/io/anuke/mindustry/graphics/FogRenderer.java b/core/src/io/anuke/mindustry/graphics/FogRenderer.java index f913f4f2b4..92e36d9261 100644 --- a/core/src/io/anuke/mindustry/graphics/FogRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FogRenderer.java @@ -13,12 +13,12 @@ import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.entities.EntityDraw; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.entities.EntityDraw; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; import java.nio.ByteBuffer; diff --git a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java index c8ebde6790..3bc143ee93 100644 --- a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java @@ -14,13 +14,13 @@ import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Pixmaps; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.ThreadArray; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Pixmaps; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.ThreadArray; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; @@ -41,7 +41,7 @@ public class MinimapRenderer implements Disposable{ }); //make sure to call on the graphics thread - Events.on(TileChangeEvent.class, event -> Core.app.postRunnable(() -> update(event.tile))); + Events.on(TileChangeEvent.class, event -> Core.app.post(() -> update(event.tile))); } public Texture getTexture(){ diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index 67ca88fae8..68d312a282 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -13,15 +13,15 @@ import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Tmp; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Tmp; import static io.anuke.mindustry.Vars.*; @@ -52,7 +52,7 @@ public class OverlayRenderer{ public void drawTop(){ for(Player player : playerGroup.all()){ - if(Settings.getBool("indicators") && player != players[0] && player.getTeam() == players[0].getTeam()){ + if(Core.settings.getBool("indicators") && player != players[0] && player.getTeam() == players[0].getTeam()){ if(!rect.setSize(Core.camera.viewportWidth * Core.camera.zoom * 0.9f, Core.camera.viewportHeight * Core.camera.zoom * 0.9f) .setCenter(Core.camera.position.x, Core.camera.position.y).contains(player.x, player.y)){ @@ -91,7 +91,7 @@ public class OverlayRenderer{ if(dst < state.mode.enemyCoreBuildRadius * 1.5f){ Draw.color(Color.DARK_GRAY); Lines.poly(core.drawx(), core.drawy() - 2, 200, state.mode.enemyCoreBuildRadius); - Draw.color(Palette.accent, enemy.color, 0.5f + Mathf.absin(Timers.time(), 10f, 0.5f)); + Draw.color(Palette.accent, enemy.color, 0.5f + Mathf.absin(Time.time(), 10f, 0.5f)); Lines.poly(core.drawx(), core.drawy(), 200, state.mode.enemyCoreBuildRadius); } } @@ -185,14 +185,14 @@ public class OverlayRenderer{ float size = 8; Draw.rect(player.inventory.getItem().item.region, v.x, v.y, size, size); Draw.color(Palette.accent); - Lines.circle(v.x, v.y, 6 + Mathf.absin(Timers.time(), 5f, 1f)); + Lines.circle(v.x, v.y, 6 + Mathf.absin(Time.time(), 5f, 1f)); Draw.reset(); Tile tile = world.tileWorld(v.x, v.y); if(tile != null) tile = tile.target(); if(tile != null && tile.getTeam() == player.getTeam() && tile.block().acceptStack(player.inventory.getItem().item, player.inventory.getItem().amount, tile, player) > 0){ Draw.color(Palette.place); - Lines.square(tile.drawx(), tile.drawy(), tile.block().size * tilesize / 2f + 1 + Mathf.absin(Timers.time(), 5f, 1f)); + Lines.square(tile.drawx(), tile.drawy(), tile.block().size * tilesize / 2f + 1 + Mathf.absin(Time.time(), 5f, 1f)); Draw.color(); } } diff --git a/core/src/io/anuke/mindustry/graphics/Shaders.java b/core/src/io/anuke/mindustry/graphics/Shaders.java index 9c1dd13176..efb19cb27c 100644 --- a/core/src/io/anuke/mindustry/graphics/Shaders.java +++ b/core/src/io/anuke/mindustry/graphics/Shaders.java @@ -3,11 +3,11 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Shader; -import io.anuke.ucore.scene.ui.layout.Unit; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Shader; +import io.anuke.arc.scene.ui.layout.Unit; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; @@ -143,7 +143,7 @@ public class Shaders{ shader.setUniformf("u_color", color); shader.setUniformf("u_uv", region.getU(), region.getV()); shader.setUniformf("u_uv2", region.getU2(), region.getV2()); - shader.setUniformf("u_time", Timers.time()); + shader.setUniformf("u_time", Time.time()); shader.setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); } } @@ -173,7 +173,7 @@ public class Shaders{ @Override public void apply(){ shader.setUniformf("u_dp", Unit.dp.scl(1f)); - shader.setUniformf("u_time", Timers.time() / Unit.dp.scl(1f)); + shader.setUniformf("u_time", Time.time() / Unit.dp.scl(1f)); shader.setUniformf("u_offset", Core.camera.position.x - Core.camera.viewportWidth / 2 * Core.camera.zoom, Core.camera.position.y - Core.camera.viewportHeight / 2 * Core.camera.zoom); @@ -195,7 +195,7 @@ public class Shaders{ Core.camera.position.y - Core.camera.viewportHeight / 2 * Core.camera.zoom); shader.setUniformf("screensize", Core.camera.viewportWidth* Core.camera.zoom, Core.camera.viewportHeight * Core.camera.zoom); - shader.setUniformf("time", Timers.time()); + shader.setUniformf("time", Time.time()); } } } diff --git a/core/src/io/anuke/mindustry/graphics/Trail.java b/core/src/io/anuke/mindustry/graphics/Trail.java index cde3f9ae98..0258e5ee53 100644 --- a/core/src/io/anuke/mindustry/graphics/Trail.java +++ b/core/src/io/anuke/mindustry/graphics/Trail.java @@ -3,11 +3,11 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.Vector2; import io.anuke.arc.utils.FloatArray; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; /** * Class that renders a colored trail. @@ -29,7 +29,7 @@ public class Trail{ points.add(curx, cury); - while(points.size > (int)(length * 2 / Math.min(Timers.delta(), 1f))){ + while(points.size > (int)(length * 2 / Math.min(Time.delta(), 1f))){ float[] items = points.items; System.arraycopy(items, 2, items, 0, points.size - 2); points.size -= 2; diff --git a/core/src/io/anuke/mindustry/input/Binding.java b/core/src/io/anuke/mindustry/input/Binding.java new file mode 100644 index 0000000000..fb98b686be --- /dev/null +++ b/core/src/io/anuke/mindustry/input/Binding.java @@ -0,0 +1,44 @@ +package io.anuke.mindustry.input; + +import io.anuke.arc.Application.ApplicationType; +import io.anuke.arc.Core; +import io.anuke.arc.KeyBinds.Axis; +import io.anuke.arc.KeyBinds.KeyBind; +import io.anuke.arc.KeyBinds.KeybindValue; +import io.anuke.arc.input.InputDevice.DeviceType; +import io.anuke.arc.input.KeyCode; + +public enum Binding implements KeyBind{ + move_x(new Axis(KeyCode.A, KeyCode.D), "general"), + move_y(new Axis(KeyCode.S, KeyCode.W)), + select(KeyCode.MOUSE_LEFT), + deselect(KeyCode.MOUSE_RIGHT), + break_block(KeyCode.MOUSE_RIGHT), + rotate(new Axis(KeyCode.SCROLL)), + dash(KeyCode.SHIFT_LEFT), + drop_unit(KeyCode.SHIFT_LEFT), + gridMode(KeyCode.CONTROL_LEFT), + gridModeShift(KeyCode.SHIFT_LEFT), + zoom_hold(KeyCode.CONTROL_LEFT, "view"), + zoom(new Axis(KeyCode.SCROLL)), + zoom_minimap(new Axis(KeyCode.MINUS, KeyCode.PLUS)), + menu(Core.app.getType() == ApplicationType.Android ? KeyCode.BACK : KeyCode.ESCAPE), + pause(KeyCode.SPACE), + toggle_menus(KeyCode.C), + screenshot(KeyCode.P), + player_list(KeyCode.TAB, "multiplayer"), + chat(KeyCode.ENTER), + chat_history_prev(KeyCode.UP), + chat_history_next(KeyCode.DOWN), + chat_scroll(new Axis(KeyCode.SCROLL)) + ; + + private final KeybindValue defaultValue; + private final String category; + + Binding(KeybindValue defaultValue, String category){ this.defaultValue = defaultValue; this.category = category; } + Binding(KeybindValue defaultValue){ this(defaultValue, null); } + + @Override public KeybindValue defaultValue(DeviceType type){ return defaultValue; } + @Override public String category(){ return category; } +} diff --git a/core/src/io/anuke/mindustry/input/CursorType.java b/core/src/io/anuke/mindustry/input/CursorType.java index fa26e5f0e9..ac81306ff1 100644 --- a/core/src/io/anuke/mindustry/input/CursorType.java +++ b/core/src/io/anuke/mindustry/input/CursorType.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.input; -import io.anuke.ucore.scene.utils.Cursors; +import io.anuke.arc.scene.utils.Cursors; /** * Type of cursor for displaying on desktop. diff --git a/core/src/io/anuke/mindustry/input/DefaultKeybinds.java b/core/src/io/anuke/mindustry/input/DefaultKeybinds.java deleted file mode 100644 index d3e0c9d969..0000000000 --- a/core/src/io/anuke/mindustry/input/DefaultKeybinds.java +++ /dev/null @@ -1,71 +0,0 @@ -package io.anuke.mindustry.input; - -import io.anuke.arc.Application.ApplicationType; -import io.anuke.arc.Core; -import io.anuke.ucore.core.Inputs.Axis; -import io.anuke.ucore.core.Inputs.DeviceType; -import io.anuke.ucore.core.KeyBinds; -import io.anuke.ucore.core.KeyBinds.Category; -import io.anuke.ucore.input.Input; - -public class DefaultKeybinds{ - - public static void load(){ - String[] sections = {"player_1"}; - - for(String section : sections){ - - KeyBinds.defaultSection(section, DeviceType.keyboard, - new Category("general"), - "move_x", new Axis(Input.A, Input.D), - "move_y", new Axis(Input.S, Input.W), - "select", Input.MOUSE_LEFT, - "deselect", Input.MOUSE_RIGHT, - "break", Input.MOUSE_RIGHT, - "rotate", new Axis(Input.SCROLL), - "dash", Input.SHIFT_LEFT, - "drop_unit", Input.SHIFT_LEFT, - "gridMode", Input.CONTROL_LEFT, - "gridModeShift", Input.SHIFT_LEFT, - new Category("view"), - "zoom_hold", Input.CONTROL_LEFT, - "zoom", new Axis(Input.SCROLL), - "zoom_minimap", new Axis(Input.MINUS, Input.PLUS), - "menu", Core.app.getType() == ApplicationType.Android ? Input.BACK : Input.ESCAPE, - "pause", Input.SPACE, - "toggle_menus", Input.C, - "screenshot", Input.P, - new Category("multiplayer"), - "player_list", Input.TAB, - "chat", Input.ENTER, - "chat_history_prev", Input.UP, - "chat_history_next", Input.DOWN, - "chat_scroll", new Axis(Input.SCROLL) - ); - - KeyBinds.defaultSection(section, DeviceType.controller, - new Category("general"), - "move_x", new Axis(Input.CONTROLLER_L_STICK_HORIZONTAL_AXIS), - "move_y", new Axis(Input.CONTROLLER_L_STICK_VERTICAL_AXIS), - "cursor_x", new Axis(Input.CONTROLLER_R_STICK_HORIZONTAL_AXIS), - "cursor_y", new Axis(Input.CONTROLLER_R_STICK_VERTICAL_AXIS), - //"select", Input.CONTROLLER_R_BUMPER, - //"break", Input.CONTROLLER_L_BUMPER, - //"shoot", Input.CONTROLLER_R_TRIGGER, - "dash", Input.CONTROLLER_Y, - "rotate_alt", new Axis(Input.CONTROLLER_DPAD_RIGHT, Input.CONTROLLER_DPAD_LEFT), - "rotate", new Axis(Input.CONTROLLER_A, Input.CONTROLLER_B), - new Category("view"), - "zoom_hold", Input.ANY_KEY, - "zoom", new Axis(Input.CONTROLLER_DPAD_DOWN, Input.CONTROLLER_DPAD_UP), - "menu", Input.CONTROLLER_X, - "pause", Input.CONTROLLER_L_TRIGGER, - new Category("multiplayer"), - "player_list", Input.CONTROLLER_START - ); - - } - - KeyBinds.setSectionAlias("default", "player_1"); - } -} diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 5eaa5ee32c..77a378f509 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -11,15 +11,15 @@ import io.anuke.mindustry.input.PlaceUtils.NormalizeResult; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Inputs; -import io.anuke.ucore.core.Inputs.DeviceType; -import io.anuke.ucore.core.KeyBinds; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Inputs; +import io.anuke.arc.core.Inputs.DeviceType; +import io.anuke.arc.core.KeyBinds; +import io.anuke.arc.core.Settings; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.input.CursorType.*; @@ -310,7 +310,7 @@ public class DesktopInput extends InputHandler{ float ya = Inputs.getAxis(section, "cursor_y"); if(Math.abs(xa) > controllerMin || Math.abs(ya) > controllerMin){ - float scl = Settings.getInt("sensitivity", 100) / 100f * Unit.dp.scl(1f); + float scl = Core.settings.getInt("sensitivity", 100) / 100f * Unit.dp.scl(1f); controlx += xa * baseControllerSpeed * scl; controly -= ya * baseControllerSpeed * scl; controlling = true; diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index dec9bd29d5..e318911da7 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -1,11 +1,16 @@ package io.anuke.mindustry.input; -import io.anuke.arc.Core; -import io.anuke.arc.InputAdapter; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.scene.event.InputListener; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.utils.Time; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.EnvironmentFx; import io.anuke.mindustry.entities.Player; @@ -21,23 +26,15 @@ import io.anuke.mindustry.ui.fragments.OverlayFragment; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Build; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Inputs; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Translator; import static io.anuke.mindustry.Vars.*; -public abstract class InputHandler extends InputAdapter{ +public abstract class InputHandler implements InputListener{ /**Used for dropping items.*/ final static float playerSelectRange = mobile ? 17f : 11f; /**Maximum line length.*/ final static int maxLength = 100; - final static Translator stackTrns = new Translator(); + final static Vector2 stackTrns = new Vector2(); /**Distance on the back from where items originate.*/ final static float backTrns = 3f; @@ -89,12 +86,12 @@ public abstract class InputHandler extends InputAdapter{ for(int i = 0; i < sent; i++){ boolean end = i == sent - 1; - Timers.run(i * 3, () -> { + Time.run(i * 3, () -> { tile.block().getStackOffset(item, tile, stackTrns); ItemTransfer.create(item, - player.x + Angles.trnsx(player.rotation + 180f, backTrns), player.y + Angles.trnsy(player.rotation + 180f, backTrns), - new Translator(tile.drawx() + stackTrns.x, tile.drawy() + stackTrns.y), () -> { + player.x + Mathf.trnsx(player.rotation + 180f, backTrns), player.y + Mathf.trnsy(player.rotation + 180f, backTrns), + new Vector2(tile.drawx() + stackTrns.x, tile.drawy() + stackTrns.y), () -> { if(tile.block() != block || tile.entity == null || tile.entity.items == null) return; tile.block().handleStack(item, removed, tile, player); diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 8eb82433e7..9ef5172771 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -27,11 +27,11 @@ import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.*; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.*; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.input.PlaceMode.*; @@ -41,7 +41,7 @@ public class MobileInput extends InputHandler implements GestureListener{ private static final float maxPanSpeed = 1.3f; private static Rectangle r1 = new Rectangle(), r2 = new Rectangle(); /** Distance to edge of screen to start panning. */ - private final float edgePan = io.anuke.ucore.scene.ui.layout.Unit.dp.scl(60f); + private final float edgePan = io.anuke.arc.scene.ui.layout.Unit.dp.scl(60f); //gesture data private Vector2 vector = new Vector2(); @@ -191,15 +191,15 @@ public class MobileInput extends InputHandler implements GestureListener{ } void showGuide(String type){ - if(!guides.contains(type) && !Settings.getBool(type, false)){ + if(!guides.contains(type) && !Core.settings.getBool(type, false)){ FloatingDialog dialog = new FloatingDialog("$text." + type + ".title"); dialog.addCloseButton(); dialog.content().left(); dialog.content().add("$text." + type).growX().wrap(); dialog.content().row(); dialog.content().addCheck("$text.showagain", false, checked -> { - Settings.putBool(type, checked); - Settings.save(); + Core.settings.putBool(type, checked); + Core.settings.save(); }).growX().left().get().left(); dialog.show(); guides.add(type); @@ -397,8 +397,8 @@ public class MobileInput extends InputHandler implements GestureListener{ float radius = Interpolation.swingIn.apply(crosshairScale); - Lines.poly(target.getX(), target.getY(), 4, 7f * radius, Timers.time() * 1.5f); - Lines.spikes(target.getX(), target.getY(), 3f * radius, 6f * radius, 4, Timers.time() * 1.5f); + Lines.poly(target.getX(), target.getY(), 4, 7f * radius, Time.time() * 1.5f); + Lines.spikes(target.getX(), target.getY(), 3f * radius, 6f * radius, 4, Time.time() * 1.5f); } Draw.reset(); @@ -697,9 +697,9 @@ public class MobileInput extends InputHandler implements GestureListener{ @Override public boolean zoom(float initialDistance, float distance){ - if(Math.abs(distance - initialDistance) > io.anuke.ucore.scene.ui.layout.Unit.dp.scl(100f) && !zoomed){ + if(Math.abs(distance - initialDistance) > io.anuke.arc.scene.ui.layout.Unit.dp.scl(100f) && !zoomed){ int amount = (distance > initialDistance ? 1 : -1); - renderer.scaleCamera(Math.round(io.anuke.ucore.scene.ui.layout.Unit.dp.scl(amount))); + renderer.scaleCamera(Math.round(io.anuke.arc.scene.ui.layout.Unit.dp.scl(amount))); zoomed = true; return true; } diff --git a/core/src/io/anuke/mindustry/input/PlaceUtils.java b/core/src/io/anuke/mindustry/input/PlaceUtils.java index b74b5b31a8..8e95995554 100644 --- a/core/src/io/anuke/mindustry/input/PlaceUtils.java +++ b/core/src/io/anuke/mindustry/input/PlaceUtils.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.input; import io.anuke.mindustry.world.Block; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/io/BundleLoader.java b/core/src/io/anuke/mindustry/io/BundleLoader.java index b6fa4b2084..765802ea05 100644 --- a/core/src/io/anuke/mindustry/io/BundleLoader.java +++ b/core/src/io/anuke/mindustry/io/BundleLoader.java @@ -4,10 +4,10 @@ import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; import io.anuke.arc.utils.I18NBundle; import io.anuke.mindustry.Vars; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Log; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Log; import java.util.Locale; @@ -16,13 +16,13 @@ import static io.anuke.mindustry.Vars.headless; public class BundleLoader{ public static void load(){ - Settings.defaults("locale", "default"); - Settings.load(Vars.appName, headless ? "io.anuke.mindustry.server" : "io.anuke.mindustry"); + Core.settings.defaults("locale", "default"); + Core.settings.load(Vars.appName, headless ? "io.anuke.mindustry.server" : "io.anuke.mindustry"); loadBundle(); } private static Locale getLocale(){ - String loc = Settings.getString("locale"); + String loc = Core.settings.getString("locale"); if(loc.equals("default")){ return Locale.getDefault(); }else{ @@ -49,7 +49,7 @@ public class BundleLoader{ Log.info("NOTE: external translation bundle has been loaded."); if(!headless){ - Timers.run(10f, () -> Vars.ui.showInfo("Note: You have successfully loaded an external translation bundle.")); + Time.run(10f, () -> Vars.ui.showInfo("Note: You have successfully loaded an external translation bundle.")); } }catch(Throwable e){ //no external bundle found diff --git a/core/src/io/anuke/mindustry/io/Changelogs.java b/core/src/io/anuke/mindustry/io/Changelogs.java index a9f634f4b5..44d707c7bc 100644 --- a/core/src/io/anuke/mindustry/io/Changelogs.java +++ b/core/src/io/anuke/mindustry/io/Changelogs.java @@ -4,7 +4,7 @@ import io.anuke.arc.utils.Array; import io.anuke.arc.utils.JsonReader; import io.anuke.arc.utils.JsonValue; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.function.Consumer; +import io.anuke.arc.function.Consumer; import static io.anuke.mindustry.Vars.releasesURL; diff --git a/core/src/io/anuke/mindustry/io/Contributors.java b/core/src/io/anuke/mindustry/io/Contributors.java index a03fc5f39c..6fe95d3fc5 100644 --- a/core/src/io/anuke/mindustry/io/Contributors.java +++ b/core/src/io/anuke/mindustry/io/Contributors.java @@ -4,7 +4,7 @@ import io.anuke.arc.utils.Array; import io.anuke.arc.utils.JsonReader; import io.anuke.arc.utils.JsonValue; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.function.Consumer; +import io.anuke.arc.function.Consumer; import static io.anuke.mindustry.Vars.contributorsURL; diff --git a/core/src/io/anuke/mindustry/io/MapIO.java b/core/src/io/anuke/mindustry/io/MapIO.java index ee7b909916..2ee32dbf19 100644 --- a/core/src/io/anuke/mindustry/io/MapIO.java +++ b/core/src/io/anuke/mindustry/io/MapIO.java @@ -19,8 +19,8 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.LegacyColorMapper; import io.anuke.mindustry.world.LegacyColorMapper.LegacyBlock; -import io.anuke.ucore.util.Bits; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.util.Bits; +import io.anuke.arc.util.Structs; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/core/src/io/anuke/mindustry/io/SaveFileVersion.java b/core/src/io/anuke/mindustry/io/SaveFileVersion.java index 488e5e3ade..74273b1662 100644 --- a/core/src/io/anuke/mindustry/io/SaveFileVersion.java +++ b/core/src/io/anuke/mindustry/io/SaveFileVersion.java @@ -13,10 +13,10 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; -import io.anuke.ucore.entities.Entities; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.trait.Entity; -import io.anuke.ucore.util.Bits; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.util.Bits; import java.io.DataInputStream; import java.io.DataOutputStream; diff --git a/core/src/io/anuke/mindustry/io/TypeIO.java b/core/src/io/anuke/mindustry/io/TypeIO.java index 535f0fd0fc..2587c3c334 100644 --- a/core/src/io/anuke/mindustry/io/TypeIO.java +++ b/core/src/io/anuke/mindustry/io/TypeIO.java @@ -20,9 +20,9 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.entities.Entities; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Entities; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/maps/Map.java b/core/src/io/anuke/mindustry/maps/Map.java index 95f7399608..ae40f59fad 100644 --- a/core/src/io/anuke/mindustry/maps/Map.java +++ b/core/src/io/anuke/mindustry/maps/Map.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.maps; import io.anuke.arc.graphics.Texture; import io.anuke.arc.utils.ObjectMap; -import io.anuke.ucore.function.Supplier; +import io.anuke.arc.function.Supplier; import java.io.InputStream; diff --git a/core/src/io/anuke/mindustry/maps/MapMeta.java b/core/src/io/anuke/mindustry/maps/MapMeta.java index 934800c752..2bdfa05c16 100644 --- a/core/src/io/anuke/mindustry/maps/MapMeta.java +++ b/core/src/io/anuke/mindustry/maps/MapMeta.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.maps; import io.anuke.arc.utils.IntIntMap; import io.anuke.arc.utils.ObjectMap; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public class MapMeta{ public final int version; @@ -31,7 +31,7 @@ public class MapMeta{ } public String tag(String name){ - return tags.containsKey(name) && !tags.get(name).trim().isEmpty() ? tags.get(name): Bundles.get("text.unknown"); + return tags.containsKey(name) && !tags.get(name).trim().isEmpty() ? tags.get(name): Core.bundle.get("text.unknown"); } public boolean hasOreGen(){ diff --git a/core/src/io/anuke/mindustry/maps/MapTileData.java b/core/src/io/anuke/mindustry/maps/MapTileData.java index b6a15ac1c0..44789f31eb 100644 --- a/core/src/io/anuke/mindustry/maps/MapTileData.java +++ b/core/src/io/anuke/mindustry/maps/MapTileData.java @@ -4,8 +4,8 @@ import io.anuke.arc.utils.IntIntMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.world.Block; -import io.anuke.ucore.util.Bits; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.util.Bits; +import io.anuke.arc.util.Structs; import java.nio.ByteBuffer; diff --git a/core/src/io/anuke/mindustry/maps/Maps.java b/core/src/io/anuke/mindustry/maps/Maps.java index b383ccc534..6d63f6cc4c 100644 --- a/core/src/io/anuke/mindustry/maps/Maps.java +++ b/core/src/io/anuke/mindustry/maps/Maps.java @@ -7,9 +7,9 @@ import io.anuke.arc.utils.Array; import io.anuke.arc.utils.Disposable; import io.anuke.arc.utils.ObjectMap; import io.anuke.mindustry.io.MapIO; -import io.anuke.ucore.function.Supplier; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.ThreadArray; +import io.anuke.arc.function.Supplier; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.ThreadArray; import java.io.DataInputStream; import java.io.IOException; diff --git a/core/src/io/anuke/mindustry/maps/Sector.java b/core/src/io/anuke/mindustry/maps/Sector.java index b9a42dd922..59e19fac78 100644 --- a/core/src/io/anuke/mindustry/maps/Sector.java +++ b/core/src/io/anuke/mindustry/maps/Sector.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.maps.missions.*; import io.anuke.mindustry.type.ItemStack; -import io.anuke.ucore.util.Bits; +import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.control; import static io.anuke.mindustry.Vars.headless; diff --git a/core/src/io/anuke/mindustry/maps/SectorPresets.java b/core/src/io/anuke/mindustry/maps/SectorPresets.java index abf3d9eaa3..9e1cd27924 100644 --- a/core/src/io/anuke/mindustry/maps/SectorPresets.java +++ b/core/src/io/anuke/mindustry/maps/SectorPresets.java @@ -12,8 +12,8 @@ import io.anuke.mindustry.content.blocks.UpgradeBlocks; import io.anuke.mindustry.entities.units.UnitCommand; import io.anuke.mindustry.maps.missions.*; import io.anuke.mindustry.type.Item; -import io.anuke.ucore.util.GridMap; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.util.GridMap; +import io.anuke.arc.util.Structs; import static io.anuke.mindustry.Vars.mobile; diff --git a/core/src/io/anuke/mindustry/maps/Sectors.java b/core/src/io/anuke/mindustry/maps/Sectors.java index 0a1fef1a8b..c8b6d755c5 100644 --- a/core/src/io/anuke/mindustry/maps/Sectors.java +++ b/core/src/io/anuke/mindustry/maps/Sectors.java @@ -27,8 +27,8 @@ import io.anuke.mindustry.type.Recipe.RecipeVisibility; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.defense.Wall; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.util.*; +import io.anuke.arc.core.Settings; +import io.anuke.arc.util.*; import static io.anuke.mindustry.Vars.*; @@ -161,7 +161,7 @@ public class Sectors{ } grid.clear(); - Array out = Settings.getObject("sector-data-2", Array.class, Array::new); + Array out = Core.settings.getObject("sector-data-2", Array.class, Array::new); for(Sector sector : out){ @@ -190,8 +190,8 @@ public class Sectors{ } } - Settings.putObject("sector-data-2", out); - Settings.save(); + Core.settings.putObject("sector-data-2", out); + Core.settings.save(); } private void initSector(Sector sector){ @@ -307,7 +307,7 @@ public class Sectors{ } } - Core.app.postRunnable(() -> { + Core.app.post(() -> { sector.texture = new Texture(pixmap); pixmap.dispose(); }); diff --git a/core/src/io/anuke/mindustry/maps/TutorialSector.java b/core/src/io/anuke/mindustry/maps/TutorialSector.java index bdb835a370..fb88e20bfc 100644 --- a/core/src/io/anuke/mindustry/maps/TutorialSector.java +++ b/core/src/io/anuke/mindustry/maps/TutorialSector.java @@ -62,7 +62,7 @@ public class TutorialSector{ new BlockMission(ProductionBlocks.mechanicalDrill).setMessage("$tutorial.generatordrill"), new BlockMission(PowerBlocks.powerNode).setMessage("$tutorial.node"), //TODO fix positions - new ConditionMission(Bundles.get("text.mission.linknode"), () -> world.tile(54, 52).entity != null && world.tile(54, 52).entity.power != null && world.tile(54, 52).entity.power.amount >= 0.01f) + new ConditionMission(Core.bundle.get("text.mission.linknode"), () -> world.tile(54, 52).entity != null && world.tile(54, 52).entity.power != null && world.tile(54, 52).entity.power.amount >= 0.01f) .setMessage("$tutorial.nodelink"), new ItemMission(Items.silicon, 70).setMessage("$tutorial.silicon"), diff --git a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java index 11d3c7c3db..1606430bf6 100644 --- a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java @@ -29,11 +29,11 @@ import io.anuke.mindustry.world.blocks.power.SolarGenerator; import io.anuke.mindustry.world.blocks.storage.CoreBlock; import io.anuke.mindustry.world.blocks.storage.StorageBlock; import io.anuke.mindustry.world.blocks.units.UnitFactory; -import io.anuke.ucore.function.BiFunction; -import io.anuke.ucore.function.IntPositionConsumer; -import io.anuke.ucore.function.TriFunction; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.function.BiFunction; +import io.anuke.arc.function.IntPositionConsumer; +import io.anuke.arc.function.TriFunction; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/maps/generation/Generation.java b/core/src/io/anuke/mindustry/maps/generation/Generation.java index 3929a160ad..0c40b71e20 100644 --- a/core/src/io/anuke/mindustry/maps/generation/Generation.java +++ b/core/src/io/anuke/mindustry/maps/generation/Generation.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.Drill; -import io.anuke.ucore.util.Structs; -import io.anuke.ucore.util.SeedRandom; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.SeedRandom; public class Generation{ public final Sector sector; diff --git a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java index 575f69325e..e76aad927d 100644 --- a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java @@ -21,12 +21,12 @@ import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.ucore.noise.RidgedPerlin; -import io.anuke.ucore.noise.Simplex; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.SeedRandom; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.noise.RidgedPerlin; +import io.anuke.arc.noise.Simplex; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.SeedRandom; +import io.anuke.arc.util.Structs; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/maps/missions/ActionMission.java b/core/src/io/anuke/mindustry/maps/missions/ActionMission.java index 55710aa1ff..668232c12d 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ActionMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ActionMission.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.threads; @@ -27,6 +27,6 @@ public class ActionMission extends Mission{ @Override public String displayString(){ - return Bundles.get("text.loading"); + return Core.bundle.get("text.loading"); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java index 175e79c9de..2e53faa50b 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.FortressGenerator; import io.anuke.mindustry.maps.generation.Generation; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -43,7 +43,7 @@ public class BattleMission extends MissionWithStartingCore{ @Override public String displayString(){ - return Bundles.get("text.mission.battle"); + return Core.bundle.get("text.mission.battle"); } @Override diff --git a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java index 00a596e81a..7b7e35eebb 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java @@ -2,12 +2,12 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.players; import static io.anuke.mindustry.Vars.tilesize; @@ -36,10 +36,10 @@ public class BlockLocMission extends Mission{ Lines.stroke(2f); Draw.color(Palette.accentBack); - Lines.square(x * tilesize + block.offset(), y * tilesize + block.offset() - 1f, block.size * tilesize/2f + 1f+ Mathf.absin(Timers.time(), 6f, 2f)); + Lines.square(x * tilesize + block.offset(), y * tilesize + block.offset() - 1f, block.size * tilesize/2f + 1f+ Mathf.absin(Time.time(), 6f, 2f)); Draw.color(Palette.accent); - Lines.square(x * tilesize + block.offset(), y * tilesize + block.offset(), block.size * tilesize/2f + 1f+ Mathf.absin(Timers.time(), 6f, 2f)); + Lines.square(x * tilesize + block.offset(), y * tilesize + block.offset(), block.size * tilesize/2f + 1f+ Mathf.absin(Time.time(), 6f, 2f)); if(block.rotate){ @@ -67,6 +67,6 @@ public class BlockLocMission extends Mission{ @Override public String displayString(){ - return Bundles.format("text.mission.block", block.formalName); + return Core.bundle.format("text.mission.block", block.formalName); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/CommandMission.java b/core/src/io/anuke/mindustry/maps/missions/CommandMission.java index a25f5e04f5..44c2ca59e7 100644 --- a/core/src/io/anuke/mindustry/maps/missions/CommandMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/CommandMission.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.UnitCommand; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public class CommandMission extends Mission{ private final UnitCommand command; @@ -24,6 +24,6 @@ public class CommandMission extends Mission{ @Override public String displayString(){ - return Bundles.format("text.mission.command", command.localized()); + return Core.bundle.format("text.mission.command", command.localized()); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/ConditionMission.java b/core/src/io/anuke/mindustry/maps/missions/ConditionMission.java index 68e141633b..1926b44229 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ConditionMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ConditionMission.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.ucore.function.BooleanProvider; +import io.anuke.arc.function.BooleanProvider; public class ConditionMission extends Mission{ private final BooleanProvider complete; diff --git a/core/src/io/anuke/mindustry/maps/missions/ContentMission.java b/core/src/io/anuke/mindustry/maps/missions/ContentMission.java index c4a85afd26..1b93ebe1da 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ContentMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ContentMission.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.game.UnlockableContent; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public class ContentMission extends Mission { private final UnlockableContent content; @@ -30,6 +30,6 @@ public class ContentMission extends Mission { @Override public String displayString() { - return Bundles.format("text.mission.create", content.localizedName()); + return Core.bundle.format("text.mission.create", content.localizedName()); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/ItemMission.java b/core/src/io/anuke/mindustry/maps/missions/ItemMission.java index a65eb4bc31..2b628828a3 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ItemMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ItemMission.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.state; @@ -32,11 +32,11 @@ public class ItemMission extends Mission{ public String displayString(){ TileEntity core = Vars.players[0].getClosestCore(); if(core == null) return "imminent doom"; - return Bundles.format("text.mission.resource", item.localizedName(), core.items.get(item), amount); + return Core.bundle.format("text.mission.resource", item.localizedName(), core.items.get(item), amount); } @Override public String menuDisplayString(){ - return Bundles.format("text.mission.resource.menu", item.localizedName(), amount); + return Core.bundle.format("text.mission.resource.menu", item.localizedName(), amount); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/MechMission.java b/core/src/io/anuke/mindustry/maps/missions/MechMission.java index f59710a698..645891a7d6 100644 --- a/core/src/io/anuke/mindustry/maps/missions/MechMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/MechMission.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.type.Mech; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public class MechMission extends Mission{ private final Mech mech; @@ -24,6 +24,6 @@ public class MechMission extends Mission{ @Override public String displayString(){ - return Bundles.format("text.mission.mech", mech.localizedName()); + return Core.bundle.format("text.mission.mech", mech.localizedName()); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/Mission.java b/core/src/io/anuke/mindustry/maps/missions/Mission.java index 01921dc03e..9bebea354a 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Mission.java +++ b/core/src/io/anuke/mindustry/maps/missions/Mission.java @@ -7,9 +7,9 @@ import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.maps.generation.Generation; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.core.Timers; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -76,12 +76,12 @@ public abstract class Mission{ } public void onBegin(){ - Timers.runTask(60f, this::showMessage); + Time.runTask(60f, this::showMessage); } public void onComplete(){ if(showComplete && !headless){ - threads.runGraphics(() -> ui.hudfrag.showToast("[LIGHT_GRAY]"+menuDisplayString() + ":\n" + Bundles.get("text.mission.complete"))); + threads.runGraphics(() -> ui.hudfrag.showToast("[LIGHT_GRAY]"+menuDisplayString() + ":\n" + Core.bundle.get("text.mission.complete"))); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/UnitMission.java b/core/src/io/anuke/mindustry/maps/missions/UnitMission.java index efe097a687..09465a1644 100644 --- a/core/src/io/anuke/mindustry/maps/missions/UnitMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/UnitMission.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.UnitType; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public class UnitMission extends Mission{ private final UnitType type; @@ -24,6 +24,6 @@ public class UnitMission extends Mission{ @Override public String displayString(){ - return Bundles.format("text.mission.unit", type.localizedName()); + return Core.bundle.format("text.mission.unit", type.localizedName()); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/VictoryMission.java b/core/src/io/anuke/mindustry/maps/missions/VictoryMission.java index 46b6153dff..8a4851190b 100644 --- a/core/src/io/anuke/mindustry/maps/missions/VictoryMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/VictoryMission.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.game.GameMode; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class VictoryMission extends Mission{ @Override diff --git a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java index 34308789b2..74c9fae8d8 100644 --- a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Waves; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.maps.generation.Generation; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -59,16 +59,16 @@ public class WaveMission extends MissionWithStartingCore{ @Override public String displayString(){ return state.wave > target ? - Bundles.format( + Core.bundle.format( state.enemies() > 1 ? "text.mission.wave.enemies" : "text.mission.wave.enemy", target, target, state.enemies()) : - Bundles.format("text.mission.wave", state.wave, target, (int)(state.wavetime/60)); + Core.bundle.format("text.mission.wave", state.wave, target, (int)(state.wavetime/60)); } @Override public String menuDisplayString(){ - return Bundles.format("text.mission.wave.menu", target); + return Core.bundle.format("text.mission.wave.menu", target); } @Override diff --git a/core/src/io/anuke/mindustry/net/Administration.java b/core/src/io/anuke/mindustry/net/Administration.java index 97bbf3e6ab..1c573dd62b 100644 --- a/core/src/io/anuke/mindustry/net/Administration.java +++ b/core/src/io/anuke/mindustry/net/Administration.java @@ -4,7 +4,7 @@ import io.anuke.arc.utils.Array; import io.anuke.arc.utils.ObjectMap; import io.anuke.arc.utils.ObjectSet; import io.anuke.annotations.Annotations.Serialize; -import io.anuke.ucore.core.Settings; +import io.anuke.arc.core.Settings; import static io.anuke.mindustry.Vars.headless; @@ -15,7 +15,7 @@ public class Administration{ private Array bannedIPs = new Array<>(); public Administration(){ - Settings.defaultList( + Core.settings.defaultList( "strict", true ); @@ -23,21 +23,21 @@ public class Administration{ } public void setStrict(boolean on){ - Settings.putBool("strict", on); - Settings.save(); + Core.settings.putBool("strict", on); + Core.settings.save(); } public boolean getStrict(){ - return Settings.getBool("strict"); + return Core.settings.getBool("strict"); } public boolean allowsCustomClients(){ - return Settings.getBool("allow-custom", !headless); + return Core.settings.getBool("allow-custom", !headless); } public void setCustomClients(boolean allowed){ - Settings.putBool("allow-custom", allowed); - Settings.save(); + Core.settings.putBool("allow-custom", allowed); + Core.settings.save(); } /**Call when a player joins to update their information here.*/ @@ -256,15 +256,15 @@ public class Administration{ } public void save(){ - Settings.putObject("player-info", playerInfo); - Settings.putObject("banned-ips", bannedIPs); - Settings.save(); + Core.settings.putObject("player-info", playerInfo); + Core.settings.putObject("banned-ips", bannedIPs); + Core.settings.save(); } @SuppressWarnings("unchecked") private void load(){ - playerInfo = Settings.getObject("player-info", ObjectMap.class, ObjectMap::new); - bannedIPs = Settings.getObject("banned-ips", Array.class, Array::new); + playerInfo = Core.settings.getObject("player-info", ObjectMap.class, ObjectMap::new); + bannedIPs = Core.settings.getObject("banned-ips", Array.class, Array::new); } @Serialize diff --git a/core/src/io/anuke/mindustry/net/Interpolator.java b/core/src/io/anuke/mindustry/net/Interpolator.java index 950310c30d..63a8589040 100644 --- a/core/src/io/anuke/mindustry/net/Interpolator.java +++ b/core/src/io/anuke/mindustry/net/Interpolator.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.net; import io.anuke.arc.math.Vector2; import io.anuke.arc.utils.TimeUtils; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; public class Interpolator{ //used for movement diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index d0dce9ef8d..9c7e2e6c27 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -14,12 +14,12 @@ import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.net.Packets.StreamBegin; import io.anuke.mindustry.net.Packets.StreamChunk; import io.anuke.mindustry.net.Streamable.StreamBuilder; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.function.BiConsumer; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Pooling; +import io.anuke.arc.core.Timers; +import io.anuke.arc.function.BiConsumer; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Pooling; import java.io.IOException; @@ -60,20 +60,20 @@ public class Net{ String type = t.getClass().toString().toLowerCase(); if(error.equals("mismatch")){ - error = Bundles.get("text.error.mismatch"); + error = Core.bundle.get("text.error.mismatch"); }else if(error.contains("port out of range") || error.contains("invalid argument") || (error.contains("invalid") && error.contains("address"))){ - error = Bundles.get("text.error.invalidaddress"); + error = Core.bundle.get("text.error.invalidaddress"); }else if(error.contains("connection refused") || error.contains("route to host") || type.contains("unknownhost")){ - error = Bundles.get("text.error.unreachable"); + error = Core.bundle.get("text.error.unreachable"); }else if(type.contains("timeout")){ - error = Bundles.get("text.error.timedout"); + error = Core.bundle.get("text.error.timedout"); }else if(error.equals("alreadyconnected")){ - error = Bundles.get("text.error.alreadyconnected"); + error = Core.bundle.get("text.error.alreadyconnected"); }else if(!error.isEmpty()){ - error = Bundles.get("text.error.any"); + error = Core.bundle.get("text.error.any"); } - ui.showText("", Bundles.format("text.connectfail", error)); + ui.showText("", Core.bundle.format("text.connectfail", error)); ui.loadfrag.hide(); if(Net.client()){ @@ -126,7 +126,7 @@ public class Net{ active = true; server = true; - Timers.runTask(60f, Platform.instance::updateRPC); + Time.runTask(60f, Platform.instance::updateRPC); } /** diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index 5bd6581bc2..13d1603246 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -14,10 +14,10 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.maps.MapMeta; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.Entities; -import io.anuke.ucore.util.Bits; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.util.Bits; import java.io.*; import java.nio.ByteBuffer; @@ -151,7 +151,7 @@ public class NetworkIO{ Player player = players[0]; try(DataInputStream stream = new DataInputStream(is)){ - Timers.clear(); + Time.clear(); //general state byte mode = stream.readByte(); diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index f9015ad45d..d93860032e 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.net; import io.anuke.arc.utils.Base64Coder; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.io.TypeIO; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import java.nio.ByteBuffer; @@ -28,11 +28,11 @@ public class Packets{ @Override public String toString(){ - return Bundles.get("text.server.kicked." + name()); + return Core.bundle.get("text.server.kicked." + name()); } public String extraText(){ - return Bundles.getOrNull("text.server.kicked." + name() + ".text"); + return Core.bundle.getOrNull("text.server.kicked." + name() + ".text"); } } diff --git a/core/src/io/anuke/mindustry/net/Registrator.java b/core/src/io/anuke/mindustry/net/Registrator.java index a3d9462e11..97920d478d 100644 --- a/core/src/io/anuke/mindustry/net/Registrator.java +++ b/core/src/io/anuke/mindustry/net/Registrator.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.net; import io.anuke.arc.utils.ObjectIntMap; import io.anuke.mindustry.net.Packets.*; -import io.anuke.ucore.function.Supplier; +import io.anuke.arc.function.Supplier; public class Registrator{ private static ClassEntry[] classes = { diff --git a/core/src/io/anuke/mindustry/type/AmmoType.java b/core/src/io/anuke/mindustry/type/AmmoType.java index 2244a09a1d..00fab82ace 100644 --- a/core/src/io/anuke/mindustry/type/AmmoType.java +++ b/core/src/io/anuke/mindustry/type/AmmoType.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.type; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.game.Content; -import io.anuke.ucore.core.Effects.Effect; +import io.anuke.arc.core.Effects.Effect; public class AmmoType extends Content { /**The item used. Always null if liquid isn't.*/ diff --git a/core/src/io/anuke/mindustry/type/Item.java b/core/src/io/anuke/mindustry/type/Item.java index 0cd980d3f1..6c1c844f98 100644 --- a/core/src/io/anuke/mindustry/type/Item.java +++ b/core/src/io/anuke/mindustry/type/Item.java @@ -7,11 +7,11 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; public class Item extends UnlockableContent implements Comparable{ public final String name; @@ -46,9 +46,9 @@ public class Item extends UnlockableContent implements Comparable{ public Item(String name, Color color){ this.name = name; this.color = color; - this.description = Bundles.getOrNull("item." + this.name + ".description"); + this.description = Core.bundle.getOrNull("item." + this.name + ".description"); - if(!Bundles.has("item." + this.name + ".name")){ + if(!Core.bundle.has("item." + this.name + ".name")){ Log.err("Warning: item '" + name + "' is missing a localized name. Add the following to bundle.properties:"); Log.err("item." + this.name + ".name=" + Strings.capitalize(name.replace('-', '_'))); } @@ -70,7 +70,7 @@ public class Item extends UnlockableContent implements Comparable{ @Override public String localizedName(){ - return Bundles.get("item." + this.name + ".name"); + return Core.bundle.get("item." + this.name + ".name"); } @Override diff --git a/core/src/io/anuke/mindustry/type/Liquid.java b/core/src/io/anuke/mindustry/type/Liquid.java index 3af469d385..d143b7cbba 100644 --- a/core/src/io/anuke/mindustry/type/Liquid.java +++ b/core/src/io/anuke/mindustry/type/Liquid.java @@ -5,9 +5,9 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; public class Liquid extends UnlockableContent{ public final Color color; @@ -36,7 +36,7 @@ public class Liquid extends UnlockableContent{ public Liquid(String name, Color color){ this.name = name; this.color = new Color(color); - this.description = Bundles.getOrNull("liquid." + name + ".description"); + this.description = Core.bundle.getOrNull("liquid." + name + ".description"); } public boolean canExtinguish(){ @@ -55,7 +55,7 @@ public class Liquid extends UnlockableContent{ @Override public String localizedName(){ - return Bundles.get("liquid." + this.name + ".name"); + return Core.bundle.get("liquid." + this.name + ".name"); } @Override diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index 95e1fa21d2..cad0baf650 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -7,9 +7,9 @@ import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; public class Mech extends UnlockableContent{ public final String name; @@ -44,11 +44,11 @@ public class Mech extends UnlockableContent{ public Mech(String name, boolean flying){ this.flying = flying; this.name = name; - this.description = Bundles.get("mech." + name + ".description"); + this.description = Core.bundle.get("mech." + name + ".description"); } public String localizedName(){ - return Bundles.get("mech." + name + ".name"); + return Core.bundle.get("mech." + name + ".name"); } public void updateAlt(Player player){} diff --git a/core/src/io/anuke/mindustry/type/Recipe.java b/core/src/io/anuke/mindustry/type/Recipe.java index 5637addaa2..1bcd79306a 100644 --- a/core/src/io/anuke/mindustry/type/Recipe.java +++ b/core/src/io/anuke/mindustry/type/Recipe.java @@ -12,10 +12,10 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.ContentStatValue; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; import java.util.Arrays; @@ -118,7 +118,7 @@ public class Recipe extends UnlockableContent{ @Override public void init(){ - if(!Bundles.has("block." + result.name + ".name")){ + if(!Core.bundle.has("block." + result.name + ".name")){ Log.err("WARNING: Recipe block '{0}' does not have a formal name defined. Add the following to bundle.properties:", result.name); Log.err("block.{0}.name={1}", result.name, Strings.capitalize(result.name.replace('-', '_'))); }/*else if(result.fullDescription == null){ diff --git a/core/src/io/anuke/mindustry/type/Weapon.java b/core/src/io/anuke/mindustry/type/Weapon.java index 44a44733bb..4c1e3dfe27 100644 --- a/core/src/io/anuke/mindustry/type/Weapon.java +++ b/core/src/io/anuke/mindustry/type/Weapon.java @@ -11,13 +11,13 @@ import io.anuke.mindustry.entities.traits.ShooterTrait; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Translator; public class Weapon extends Content{ public final String name; diff --git a/core/src/io/anuke/mindustry/ui/BorderImage.java b/core/src/io/anuke/mindustry/ui/BorderImage.java index ce88ddfa79..e03b40887f 100644 --- a/core/src/io/anuke/mindustry/ui/BorderImage.java +++ b/core/src/io/anuke/mindustry/ui/BorderImage.java @@ -4,10 +4,10 @@ import io.anuke.arc.graphics.Texture; import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.layout.Unit; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.layout.Unit; public class BorderImage extends Image{ private float thickness = 3f; diff --git a/core/src/io/anuke/mindustry/ui/ContentDisplay.java b/core/src/io/anuke/mindustry/ui/ContentDisplay.java index 07db66f19f..a47311da63 100644 --- a/core/src/io/anuke/mindustry/ui/ContentDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ContentDisplay.java @@ -13,10 +13,10 @@ import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.StatCategory; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Strings; public class ContentDisplay{ @@ -88,13 +88,13 @@ public class ContentDisplay{ table.left().defaults().fillX(); - table.add(Bundles.format("text.item.explosiveness", (int) (item.explosiveness * 100 * 2f))); + table.add(Core.bundle.format("text.item.explosiveness", (int) (item.explosiveness * 100 * 2f))); table.row(); - table.add(Bundles.format("text.item.flammability", (int) (item.flammability * 100 * 2f))); + table.add(Core.bundle.format("text.item.flammability", (int) (item.flammability * 100 * 2f))); table.row(); - table.add(Bundles.format("text.item.radioactivity", (int) (item.radioactivity * 100 * 2f))); + table.add(Core.bundle.format("text.item.radioactivity", (int) (item.radioactivity * 100 * 2f))); table.row(); - table.add(Bundles.format("text.item.fluxiness", (int) (item.fluxiness * 100 * 2f))); + table.add(Core.bundle.format("text.item.fluxiness", (int) (item.fluxiness * 100 * 2f))); table.row(); } @@ -121,15 +121,15 @@ public class ContentDisplay{ table.left().defaults().fillX(); - table.add(Bundles.format("text.item.explosiveness", (int) (liquid.explosiveness * 100 * 2f))); + table.add(Core.bundle.format("text.item.explosiveness", (int) (liquid.explosiveness * 100 * 2f))); table.row(); - table.add(Bundles.format("text.item.flammability", (int) (liquid.flammability * 100 * 2f))); + table.add(Core.bundle.format("text.item.flammability", (int) (liquid.flammability * 100 * 2f))); table.row(); - table.add(Bundles.format("text.liquid.heatcapacity", (int) (liquid.heatCapacity * 100))); + table.add(Core.bundle.format("text.liquid.heatcapacity", (int) (liquid.heatCapacity * 100))); table.row(); - table.add(Bundles.format("text.liquid.temperature", (int) (liquid.temperature * 100))); + table.add(Core.bundle.format("text.liquid.temperature", (int) (liquid.temperature * 100))); table.row(); - table.add(Bundles.format("text.liquid.viscosity", (int) (liquid.viscosity * 100))); + table.add(Core.bundle.format("text.liquid.viscosity", (int) (liquid.viscosity * 100))); table.row(); } @@ -155,23 +155,23 @@ public class ContentDisplay{ table.left().defaults().fillX(); - if(Bundles.has("mech." + mech.name + ".weapon")){ - table.add(Bundles.format("text.mech.weapon", Bundles.get("mech." + mech.name + ".weapon"))); + if(Core.bundle.has("mech." + mech.name + ".weapon")){ + table.add(Core.bundle.format("text.mech.weapon", Core.bundle.get("mech." + mech.name + ".weapon"))); table.row(); } - if(Bundles.has("mech." + mech.name + ".ability")){ - table.add(Bundles.format("text.mech.ability", Bundles.get("mech." + mech.name + ".ability"))); + if(Core.bundle.has("mech." + mech.name + ".ability")){ + table.add(Core.bundle.format("text.mech.ability", Core.bundle.get("mech." + mech.name + ".ability"))); table.row(); } - table.add(Bundles.format("text.mech.armor", mech.armor)); + table.add(Core.bundle.format("text.mech.armor", mech.armor)); table.row(); - table.add(Bundles.format("text.mech.itemcapacity", mech.itemCapacity)); + table.add(Core.bundle.format("text.mech.itemcapacity", mech.itemCapacity)); table.row(); if(mech.drillPower > 0){ - table.add(Bundles.format("text.mech.minespeed", (int) (mech.mineSpeed * 10))); + table.add(Core.bundle.format("text.mech.minespeed", (int) (mech.mineSpeed * 10))); table.row(); - table.add(Bundles.format("text.mech.minepower", mech.drillPower)); + table.add(Core.bundle.format("text.mech.minepower", mech.drillPower)); table.row(); } } @@ -198,9 +198,9 @@ public class ContentDisplay{ table.left().defaults().fillX(); - table.add(Bundles.format("text.unit.health", unit.health)); + table.add(Core.bundle.format("text.unit.health", unit.health)); table.row(); - table.add(Bundles.format("text.unit.speed", Strings.toFixed(unit.speed, 1))); + table.add(Core.bundle.format("text.unit.speed", Strings.toFixed(unit.speed, 1))); table.row(); table.row(); } diff --git a/core/src/io/anuke/mindustry/ui/GridImage.java b/core/src/io/anuke/mindustry/ui/GridImage.java index f41f4c8762..0815041e06 100644 --- a/core/src/io/anuke/mindustry/ui/GridImage.java +++ b/core/src/io/anuke/mindustry/ui/GridImage.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.Element; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.Element; public class GridImage extends Element{ private int imageWidth, imageHeight; diff --git a/core/src/io/anuke/mindustry/ui/ImageStack.java b/core/src/io/anuke/mindustry/ui/ImageStack.java index d443b5f877..7552ceccd0 100644 --- a/core/src/io/anuke/mindustry/ui/ImageStack.java +++ b/core/src/io/anuke/mindustry/ui/ImageStack.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.layout.Stack; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.layout.Stack; public class ImageStack extends Stack{ diff --git a/core/src/io/anuke/mindustry/ui/IntFormat.java b/core/src/io/anuke/mindustry/ui/IntFormat.java index 6c4431a4b0..2dd7eccaa6 100644 --- a/core/src/io/anuke/mindustry/ui/IntFormat.java +++ b/core/src/io/anuke/mindustry/ui/IntFormat.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; /** * A low-garbage way to format bundle strings. @@ -17,7 +17,7 @@ public class IntFormat{ public CharSequence get(int value){ if(lastValue != value){ builder.setLength(0); - builder.append(Bundles.format(text, value)); + builder.append(Core.bundle.format(text, value)); } lastValue = value; return builder; diff --git a/core/src/io/anuke/mindustry/ui/ItemDisplay.java b/core/src/io/anuke/mindustry/ui/ItemDisplay.java index 4530d606f0..ff5b6153f3 100644 --- a/core/src/io/anuke/mindustry/ui/ItemDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ItemDisplay.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; /**An item image with text.*/ public class ItemDisplay extends Table{ diff --git a/core/src/io/anuke/mindustry/ui/ItemImage.java b/core/src/io/anuke/mindustry/ui/ItemImage.java index 1d466af4ce..e13026658f 100644 --- a/core/src/io/anuke/mindustry/ui/ItemImage.java +++ b/core/src/io/anuke/mindustry/ui/ItemImage.java @@ -2,10 +2,10 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.type.ItemStack; -import io.anuke.ucore.function.Supplier; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.layout.Stack; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Supplier; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.layout.Stack; +import io.anuke.arc.scene.ui.layout.Table; public class ItemImage extends Stack{ diff --git a/core/src/io/anuke/mindustry/ui/Links.java b/core/src/io/anuke/mindustry/ui/Links.java index a875d85e78..747a7ef213 100644 --- a/core/src/io/anuke/mindustry/ui/Links.java +++ b/core/src/io/anuke/mindustry/ui/Links.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.Color; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public class Links{ private static LinkEntry[] links; @@ -33,7 +33,7 @@ public class Links{ public LinkEntry(String name, String link, Color color){ this.name = name; this.color = color; - this.description = Bundles.getNotNull("text.link." + name + ".description"); + this.description = Core.bundle.getNotNull("text.link." + name + ".description"); this.link = link; } } diff --git a/core/src/io/anuke/mindustry/ui/LiquidDisplay.java b/core/src/io/anuke/mindustry/ui/LiquidDisplay.java index f639dfe1c5..442707408e 100644 --- a/core/src/io/anuke/mindustry/ui/LiquidDisplay.java +++ b/core/src/io/anuke/mindustry/ui/LiquidDisplay.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui; import io.anuke.mindustry.type.Liquid; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.layout.Table; /**An ItemDisplay, but for liquids.*/ public class LiquidDisplay extends Table{ diff --git a/core/src/io/anuke/mindustry/ui/MenuButton.java b/core/src/io/anuke/mindustry/ui/MenuButton.java index 27f37c72fa..8eab27c59f 100644 --- a/core/src/io/anuke/mindustry/ui/MenuButton.java +++ b/core/src/io/anuke/mindustry/ui/MenuButton.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.Color; import io.anuke.arc.utils.Align; -import io.anuke.ucore.scene.ui.TextButton; +import io.anuke.arc.scene.ui.TextButton; public class MenuButton extends TextButton{ diff --git a/core/src/io/anuke/mindustry/ui/Minimap.java b/core/src/io/anuke/mindustry/ui/Minimap.java index 2c8463f857..90811ef6ef 100644 --- a/core/src/io/anuke/mindustry/ui/Minimap.java +++ b/core/src/io/anuke/mindustry/ui/Minimap.java @@ -3,13 +3,13 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.Texture.TextureFilter; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Shaders; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.event.InputEvent; -import io.anuke.ucore.scene.event.InputListener; -import io.anuke.ucore.scene.ui.layout.Container; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.event.InputEvent; +import io.anuke.arc.scene.event.InputListener; +import io.anuke.arc.scene.ui.layout.Container; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/MobileButton.java b/core/src/io/anuke/mindustry/ui/MobileButton.java index 39fbea8778..d6716fdca0 100644 --- a/core/src/io/anuke/mindustry/ui/MobileButton.java +++ b/core/src/io/anuke/mindustry/ui/MobileButton.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; import io.anuke.arc.utils.Align; -import io.anuke.ucore.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.ImageButton; public class MobileButton extends ImageButton{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java index c6d5e0ff8e..57674967f9 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java @@ -9,14 +9,14 @@ import io.anuke.mindustry.io.Contributors; import io.anuke.mindustry.io.Contributors.Contributor; import io.anuke.mindustry.ui.Links; import io.anuke.mindustry.ui.Links.LinkEntry; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.layout.Cell; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.utils.UIUtils; -import io.anuke.ucore.util.OS; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Timers; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.layout.Cell; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.OS; +import io.anuke.arc.util.Strings; import static io.anuke.mindustry.Vars.ios; import static io.anuke.mindustry.Vars.ui; @@ -78,7 +78,7 @@ public class AboutDialog extends FloatingDialog{ in.add(table).size(w, h).padTop(5).row(); } - shown(() -> Timers.run(1f, () -> Core.scene.setScrollFocus(pane))); + shown(() -> Time.run(1f, () -> Core.scene.setScrollFocus(pane))); content().add(pane).growX(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java index 31496a5e3a..5c1733ba78 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AdminsDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.net.Administration.PlayerInfo; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java index 1a3d8369d7..cc4a5c5fdc 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/BansDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.net.Administration.PlayerInfo; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java index 5c09c574eb..2c95c7dfb8 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java @@ -6,11 +6,11 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.Changelogs; import io.anuke.mindustry.io.Changelogs.VersionInfo; import io.anuke.mindustry.game.Version; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.OS; +import io.anuke.arc.core.Settings; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.OS; import static io.anuke.mindustry.Vars.ios; @@ -28,10 +28,10 @@ public class ChangelogDialog extends FloatingDialog{ if(!ios && !OS.isMac){ Changelogs.getChangelog(result -> { versions = result; - Core.app.postRunnable(this::setup); + Core.app.post(this::setup); }, t -> { Log.err(t); - Core.app.postRunnable(this::setup); + Core.app.post(this::setup); }); } } @@ -77,10 +77,10 @@ public class ChangelogDialog extends FloatingDialog{ table.add(in).width(vw).pad(8).row(); } - int lastid = Settings.getInt("lastBuild"); + int lastid = Core.settings.getInt("lastBuild"); if(lastid != 0 && versions.peek().build > lastid){ - Settings.putInt("lastBuild", versions.peek().build); - Settings.save(); + Core.settings.putInt("lastBuild", versions.peek().build); + Core.settings.save(); show(); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java index 6856373967..4e3ced97d2 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java @@ -2,10 +2,10 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Input.Keys; import io.anuke.arc.graphics.Color; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.scene.ui.Dialog; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.scene.ui.Dialog; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.playerColors; import static io.anuke.mindustry.Vars.players; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ContentInfoDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ContentInfoDialog.java index 50a2f4cf78..b513ec0800 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ContentInfoDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ContentInfoDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.game.UnlockableContent; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.layout.Table; public class ContentInfoDialog extends FloatingDialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java index b5ee366047..2e4639819c 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Input.Keys; import io.anuke.arc.utils.Align; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.KeybindDialog; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.KeybindDialog; public class ControlsDialog extends KeybindDialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java index 434fae859e..b8ef727427 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java @@ -8,15 +8,15 @@ import io.anuke.mindustry.game.Difficulty; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.ui.BorderImage; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Settings; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; @@ -104,7 +104,7 @@ public class CustomGameDialog extends FloatingDialog{ image.row(); image.add("[accent]" + map.getDisplayName()).pad(3f).growX().wrap().get().setAlignment(Align.center, Align.center); image.row(); - image.label((() -> Bundles.format("text.level.highscore", Settings.getInt("hiscore" + map.name, 0)))).pad(3f); + image.label((() -> Core.bundle.format("text.level.highscore", Core.settings.getInt("hiscore" + map.name, 0)))).pad(3f); BorderImage border = new BorderImage(map.texture, 3f); border.setScaling(Scaling.fit); @@ -135,7 +135,7 @@ public class CustomGameDialog extends FloatingDialog{ } private void displayGameModeHelp(){ - FloatingDialog d = new FloatingDialog(Bundles.get("mode.text.help.title")); + FloatingDialog d = new FloatingDialog(Core.bundle.get("mode.text.help.title")); d.setFillParent(false); Table table = new Table(); table.defaults().pad(1f); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java index 603925df1f..f37c2156c7 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/DiscordDialog.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.scene.ui.Dialog; +import io.anuke.arc.scene.ui.Dialog; import static io.anuke.mindustry.Vars.discordURL; import static io.anuke.mindustry.Vars.ui; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java index 3c0a578b41..d2b44d6d52 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java @@ -7,17 +7,17 @@ import io.anuke.arc.utils.Align; import io.anuke.arc.utils.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.*; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.scene.utils.UIUtils; -import io.anuke.ucore.util.OS; -import io.anuke.ucore.util.Pooling; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Timers; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.*; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.OS; +import io.anuke.arc.util.Pooling; import java.util.Arrays; @@ -264,7 +264,7 @@ public class FileChooser extends FloatingDialog{ @Override public Dialog show(){ - Timers.runTask(2f, () -> { + Time.runTask(2f, () -> { content().clear(); setupWidgets(); super.show(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java index 72fff36dbb..4b2e76a892 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.ResizeEvent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.scene.ui.Dialog; -import io.anuke.ucore.scene.ui.ScrollPane; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Events; +import io.anuke.arc.scene.ui.Dialog; +import io.anuke.arc.scene.ui.ScrollPane; import static io.anuke.mindustry.Vars.state; @@ -43,7 +43,7 @@ public class FloatingDialog extends Dialog{ boolean[] done = {false}; - shown(() -> Core.app.postRunnable(() -> + shown(() -> Core.app.post(() -> forEach(child -> { if(done[0]) return; @@ -68,7 +68,7 @@ public class FloatingDialog extends Dialog{ keyDown(key -> { if(key == Keys.ESCAPE || key == Keys.BACK) { - Core.app.postRunnable(this::hide); + Core.app.post(this::hide); } }); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java index 39776323f3..98d1f55df9 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java @@ -11,13 +11,13 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.WorldGenerator.GenResult; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.ColorMapper; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.event.InputEvent; -import io.anuke.ucore.scene.event.InputListener; -import io.anuke.ucore.scene.utils.Cursors; -import io.anuke.ucore.util.GridMap; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.event.InputEvent; +import io.anuke.arc.scene.event.InputListener; +import io.anuke.arc.scene.utils.Cursors; +import io.anuke.arc.util.GridMap; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.sectorSize; import static io.anuke.mindustry.Vars.world; @@ -89,7 +89,7 @@ public class GenViewDialog extends FloatingDialog{ pixmap.drawPixel(i, sectorSize - 1 - j, ColorMapper.colorFor(result.floor, result.wall, Team.none, result.elevation, (byte)0)); } } - Core.app.postRunnable(() -> map.put(wx, wy, new Texture(pixmap))); + Core.app.post(() -> map.put(wx, wy, new Texture(pixmap))); return pixmap; }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java index f172df25e5..79c6515947 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java @@ -4,11 +4,11 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Strings; import java.io.IOException; @@ -27,18 +27,18 @@ public class HostDialog extends FloatingDialog{ content().table(t -> { t.add("$text.name").padRight(10); - t.addField(Settings.getString("name"), text -> { + t.addField(Core.settings.getString("name"), text -> { player.name = text; - Settings.put("name", text); - Settings.save(); + Core.settings.put("name", text); + Core.settings.save(); ui.listfrag.rebuild(); }).grow().pad(8).get().setMaxLength(40); ImageButton button = t.addImageButton("white", "clear-full", 40, () -> { new ColorPickDialog().show(color -> { player.color.set(color); - Settings.putInt("color-0", Color.rgba8888(color)); - Settings.save(); + Core.settings.putInt("color-0", Color.rgba8888(color)); + Core.settings.save(); }); }).size(54f).get(); button.update(() -> button.getStyle().imageUpColor = player.color); @@ -49,18 +49,18 @@ public class HostDialog extends FloatingDialog{ content().add().width(65f); content().addButton("$text.host", () -> { - if(Settings.getString("name").trim().isEmpty()){ + if(Core.settings.getString("name").trim().isEmpty()){ ui.showInfo("$text.noname"); return; } ui.loadfrag.show("$text.hosting"); - Timers.runTask(5f, () -> { + Time.runTask(5f, () -> { try{ Net.host(Vars.port); player.isAdmin = true; }catch(IOException e){ - ui.showError(Bundles.format("text.server.error", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.server.error", Strings.parseException(e, false))); } ui.loadfrag.hide(); hide(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index c8b63c73e6..553ad8346e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -10,15 +10,15 @@ import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Host; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.style.Drawable; -import io.anuke.ucore.scene.ui.*; -import io.anuke.ucore.scene.ui.layout.Cell; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.utils.UIUtils; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.scene.style.Drawable; +import io.anuke.arc.scene.ui.*; +import io.anuke.arc.scene.ui.layout.Cell; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Strings; import static io.anuke.mindustry.Vars.*; @@ -47,9 +47,9 @@ public class JoinDialog extends FloatingDialog{ add = new FloatingDialog("$text.joingame.title"); add.content().add("$text.joingame.ip").padRight(5f).left(); - TextField field = add.content().addField(Settings.getString("ip"), text -> { - Settings.putString("ip", text); - Settings.save(); + TextField field = add.content().addField(Core.settings.getString("ip"), text -> { + Core.settings.putString("ip", text); + Core.settings.save(); }).size(320f, 54f).get(); Platform.instance.addDialog(field, 100); @@ -60,19 +60,19 @@ public class JoinDialog extends FloatingDialog{ add.buttons().addButton("$text.ok", () -> { if(renaming == null){ Server server = new Server(); - server.setIP(Settings.getString("ip")); + server.setIP(Core.settings.getString("ip")); servers.add(server); saveServers(); setupRemote(); refreshRemote(); }else{ - renaming.setIP(Settings.getString("ip")); + renaming.setIP(Core.settings.getString("ip")); saveServers(); setupRemote(); refreshRemote(); } add.hide(); - }).disabled(b -> Settings.getString("ip").isEmpty() || Net.active()); + }).disabled(b -> Core.settings.getString("ip").isEmpty() || Net.active()); add.shown(() -> { add.getTitleLabel().setText(renaming != null ? "$text.server.edit" : "$text.server.add"); @@ -145,23 +145,23 @@ public class JoinDialog extends FloatingDialog{ void refreshServer(Server server){ server.content.clear(); - server.content.label(() -> Bundles.get("text.server.refreshing") + Strings.animated(4, 11, ".")); + server.content.label(() -> Core.bundle.get("text.server.refreshing") + Strings.animated(4, 11, ".")); Net.pingHost(server.ip, server.port, host -> { String versionString; if(host.version == -1){ - versionString = Bundles.format("text.server.version", Bundles.get("text.server.custombuild"), ""); + versionString = Core.bundle.format("text.server.version", Core.bundle.get("text.server.custombuild"), ""); }else if(host.version == 0){ - versionString = Bundles.get("text.server.outdated"); + versionString = Core.bundle.get("text.server.outdated"); }else if(host.version < Version.build && Version.build != -1){ - versionString = Bundles.get("text.server.outdated") + "\n" + - Bundles.format("text.server.version", host.version, ""); + versionString = Core.bundle.get("text.server.outdated") + "\n" + + Core.bundle.format("text.server.version", host.version, ""); }else if(host.version > Version.build && Version.build != -1){ - versionString = Bundles.get("text.server.outdated.client") + "\n" + - Bundles.format("text.server.version", host.version, ""); + versionString = Core.bundle.get("text.server.outdated.client") + "\n" + + Core.bundle.format("text.server.version", host.version, ""); }else{ - versionString = Bundles.format("text.server.version", host.version, host.versionType); + versionString = Core.bundle.format("text.server.version", host.version, host.versionType); } server.content.clear(); @@ -169,12 +169,12 @@ public class JoinDialog extends FloatingDialog{ server.content.table(t -> { t.add(versionString).left(); t.row(); - t.add("[lightgray]" + Bundles.format("text.server.hostname", host.name)).left(); + t.add("[lightgray]" + Core.bundle.format("text.server.hostname", host.name)).left(); t.row(); - t.add("[lightgray]" + (host.players != 1 ? Bundles.format("text.players", host.players) : - Bundles.format("text.players.single", host.players))).left(); + t.add("[lightgray]" + (host.players != 1 ? Core.bundle.format("text.players", host.players) : + Core.bundle.format("text.players.single", host.players))).left(); t.row(); - t.add("[lightgray]" + Bundles.format("text.save.map", host.mapname) + " / " + Bundles.format("text.save.wave", host.wave)).left(); + t.add("[lightgray]" + Core.bundle.format("text.save.map", host.mapname) + " / " + Core.bundle.format("text.save.wave", host.wave)).left(); }).expand().left().bottom().padLeft(12f).padBottom(8); }, e -> { @@ -204,17 +204,17 @@ public class JoinDialog extends FloatingDialog{ content().clear(); content().table(t -> { t.add("$text.name").padRight(10); - t.addField(Settings.getString("name"), text -> { + t.addField(Core.settings.getString("name"), text -> { player.name = text; - Settings.put("name", text); - Settings.save(); + Core.settings.put("name", text); + Core.settings.save(); }).grow().pad(8).get().setMaxLength(maxNameLength); ImageButton button = t.addImageButton("white", "clear-full", 40, () -> { new ColorPickDialog().show(color -> { player.color.set(color); - Settings.putInt("color-0", Color.rgba8888(color)); - Settings.save(); + Core.settings.putInt("color-0", Color.rgba8888(color)); + Core.settings.save(); }); }).size(54f).get(); button.update(() -> button.getStyle().imageUpColor = player.color); @@ -248,7 +248,7 @@ public class JoinDialog extends FloatingDialog{ local.clear(); local.background((Drawable)null); - local.table("button", t -> t.label(() -> "[accent]" + Bundles.get("text.hosts.discovering") + Strings.animated(4, 10f, ".")).pad(10f)).growX(); + local.table("button", t -> t.label(() -> "[accent]" + Core.bundle.get("text.hosts.discovering") + Strings.animated(4, 10f, ".")).pad(10f)).growX(); Net.discoverServers(this::addLocalHost, this::finishLocalHosts); } @@ -278,12 +278,12 @@ public class JoinDialog extends FloatingDialog{ .width(w).height(80f).pad(4f).get(); button.left(); button.row(); - button.add("[lightgray]" + (host.players != 1 ? Bundles.format("text.players", host.players) : - Bundles.format("text.players.single", host.players))).padBottom(5); + button.add("[lightgray]" + (host.players != 1 ? Core.bundle.format("text.players", host.players) : + Core.bundle.format("text.players.single", host.players))).padBottom(5); } void connect(String ip, int port){ - if(Settings.getString("name").trim().isEmpty()){ + if(Core.settings.getString("name").trim().isEmpty()){ ui.showInfo("$text.noname"); return; } @@ -295,7 +295,7 @@ public class JoinDialog extends FloatingDialog{ netClient.disconnectQuietly(); }); - Timers.runTask(2f, () -> { + Time.runTask(2f, () -> { Vars.netClient.beginConnecting(); Net.connect(ip, port, () -> { hide(); @@ -310,12 +310,12 @@ public class JoinDialog extends FloatingDialog{ @SuppressWarnings("unchecked") private void loadServers(){ - servers = Settings.getObject("server-list", Array.class, Array::new); + servers = Core.settings.getObject("server-list", Array.class, Array::new); } private void saveServers(){ - Settings.putObject("server-list", servers); - Settings.save(); + Core.settings.putObject("server-list", servers); + Core.settings.save(); } @Serialize diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java index a7a05f4433..dece4b9e89 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Log; +import io.anuke.arc.core.Settings; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Log; import java.util.Locale; @@ -33,8 +33,8 @@ public class LanguageDialog extends FloatingDialog{ TextButton button = new TextButton(loc.getDisplayName(loc), "toggle"); button.clicked(() -> { if(getLocale().equals(loc)) return; - Settings.putString("locale", loc.toString()); - Settings.save(); + Core.settings.putString("locale", loc.toString()); + Core.settings.save(); Log.info("Setting locale: {0}", loc.toString()); ui.showInfo("$text.language.restart"); }); @@ -45,7 +45,7 @@ public class LanguageDialog extends FloatingDialog{ } public Locale getLocale(){ - String loc = Settings.getString("locale"); + String loc = Core.settings.getString("locale"); if(loc.equals("default")){ findClosestLocale(); @@ -67,7 +67,7 @@ public class LanguageDialog extends FloatingDialog{ //check exact locale for(Locale l : locales){ if(l.equals(Locale.getDefault())){ - Settings.putString("locale", l.toString()); + Core.settings.putString("locale", l.toString()); return; } } @@ -75,11 +75,11 @@ public class LanguageDialog extends FloatingDialog{ //find by language for(Locale l : locales){ if(l.getLanguage().equals(Locale.getDefault().getLanguage())){ - Settings.putString("locale", l.toString()); + Core.settings.putString("locale", l.toString()); return; } } - Settings.putString("locale", new Locale("en").toString()); + Core.settings.putString("locale", new Locale("en").toString()); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index eb4e69b78c..1ded88a8ff 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -8,14 +8,14 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.game.Saves.SaveSlot; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Timers; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; import java.io.IOException; @@ -35,7 +35,7 @@ public class LoadDialog extends FloatingDialog{ shown(() -> { setup(); - Timers.runTask(2f, () -> Core.scene.setScrollFocus(pane)); + Time.runTask(2f, () -> Core.scene.setScrollFocus(pane)); }); addCloseButton(); @@ -51,7 +51,7 @@ public class LoadDialog extends FloatingDialog{ slots.marginRight(24); - Timers.runTask(2f, () -> Core.scene.setScrollFocus(pane)); + Time.runTask(2f, () -> Core.scene.setScrollFocus(pane)); Array array = control.saves.getSaveSlots(); @@ -88,12 +88,12 @@ public class LoadDialog extends FloatingDialog{ t.addImageButton("icon-save", "empty", 14 * 3, () -> { if(!ios){ - Platform.instance.showFileChooser(Bundles.get("text.save.export"), "Mindustry Save", file -> { + Platform.instance.showFileChooser(Core.bundle.get("text.save.export"), "Mindustry Save", file -> { try{ slot.exportFile(file); setup(); }catch(IOException e){ - ui.showError(Bundles.format("text.save.export.fail", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.save.export.fail", Strings.parseException(e, false))); } }, false, saveExtension); }else{ @@ -102,7 +102,7 @@ public class LoadDialog extends FloatingDialog{ slot.exportFile(file); Platform.instance.shareFile(file); }catch(Exception e){ - ui.showError(Bundles.format("text.save.export.fail", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.save.export.fail", Strings.parseException(e, false))); } } }).size(14 * 3).right(); @@ -114,19 +114,19 @@ public class LoadDialog extends FloatingDialog{ button.defaults().padBottom(3); button.row(); - button.add(Bundles.format("text.save.map", color + (slot.getMap() == null ? "Unknown" : slot.getMap().meta.name()))); + button.add(Core.bundle.format("text.save.map", color + (slot.getMap() == null ? "Unknown" : slot.getMap().meta.name()))); button.row(); - button.add(Bundles.get("text.level.mode") + " " + color + slot.getMode()); + button.add(Core.bundle.get("text.level.mode") + " " + color + slot.getMode()); button.row(); - button.add(Bundles.format("text.save.wave", color + slot.getWave())); + button.add(Core.bundle.format("text.save.wave", color + slot.getWave())); button.row(); - button.add(Bundles.format("text.save.difficulty", color + slot.getDifficulty())); + button.add(Core.bundle.format("text.save.difficulty", color + slot.getDifficulty())); button.row(); - button.label(() -> Bundles.format("text.save.autosave", color + Bundles.get(slot.isAutosave() ? "text.on" : "text.off"))); + button.label(() -> Core.bundle.format("text.save.autosave", color + Core.bundle.get(slot.isAutosave() ? "text.on" : "text.off"))); button.row(); - button.label(() -> Bundles.format("text.save.playtime", color + slot.getPlayTime())); + button.label(() -> Core.bundle.format("text.save.playtime", color + slot.getPlayTime())); button.row(); - button.add(Bundles.format("text.save.date", color + slot.getDate())).colspan(2).padTop(5).right(); + button.add(Core.bundle.format("text.save.date", color + slot.getDate())).colspan(2).padTop(5).right(); button.row(); modifyButton(button, slot); @@ -155,14 +155,14 @@ public class LoadDialog extends FloatingDialog{ if(ios) return; slots.addImageTextButton("$text.save.import", "icon-add", 14 * 3, () -> { - Platform.instance.showFileChooser(Bundles.get("text.save.import"), "Mindustry Save", file -> { + Platform.instance.showFileChooser(Core.bundle.get("text.save.import"), "Mindustry Save", file -> { if(SaveIO.isSaveValid(file)){ try{ control.saves.importSave(file); setup(); }catch(IOException e){ e.printStackTrace(); - ui.showError(Bundles.format("text.save.import.fail", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.save.import.fail", Strings.parseException(e, false))); } }else{ ui.showError("$text.save.import.invalid"); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java index e7374dfed8..d08424a6f3 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java @@ -2,10 +2,10 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.utils.Scaling; import io.anuke.mindustry.entities.Player; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.layout.Stack; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.layout.Stack; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.control; import static io.anuke.mindustry.Vars.players; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java index a300403c4d..4f83cd3557 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java @@ -9,15 +9,15 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.maps.MapMeta; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.ui.BorderImage; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.utils.UIUtils; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; import java.io.DataInputStream; @@ -41,7 +41,7 @@ public class MapsDialog extends FloatingDialog{ String name = meta.tags.get("name", file.nameWithoutExtension()); if(world.maps.getByName(name) != null && !world.maps.getByName(name).custom){ - ui.showError(Bundles.format("text.editor.import.exists", name)); + ui.showError(Core.bundle.format("text.editor.import.exists", name)); }else if(world.maps.getByName(name) != null){ ui.showConfirm("$text.confirm", "$text.editor.overwrite.confirm", () -> { world.maps.saveMap(name, data, meta.tags); @@ -53,7 +53,7 @@ public class MapsDialog extends FloatingDialog{ } }catch(Exception e){ - ui.showError(Bundles.format("text.editor.errorimageload", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.editor.errorimageload", Strings.parseException(e, false))); Log.err(e); } }, true, mapExtension); @@ -158,7 +158,7 @@ public class MapsDialog extends FloatingDialog{ }).fillX().height(54f).marginLeft(10); table.addImageTextButton("$text.delete", "icon-trash-16", 16 * 2, () -> { - ui.showConfirm("$text.confirm", Bundles.format("text.map.delete", map.name), () -> { + ui.showConfirm("$text.confirm", Core.bundle.format("text.map.delete", map.name), () -> { world.maps.removeMap(map); dialog.hide(); setup(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java index d41b2b7480..7ef474d42b 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.Vars; import io.anuke.mindustry.maps.Sector; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; public class MissionDialog extends FloatingDialog{ @@ -23,7 +23,7 @@ public class MissionDialog extends FloatingDialog{ buttons().addButton("$text.continue", this::hide).size(190f, 64f); - content().add(Bundles.format("text.mission.complete.body", sector.x, sector.y)).pad(10); + content().add(Core.bundle.format("text.mission.complete.body", sector.x, sector.y)).pad(10); show(); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java index c794b3b1d8..13c508a0db 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java @@ -3,9 +3,9 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Input.Keys; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.scene.style.Drawable; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.scene.style.Drawable; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -33,7 +33,7 @@ public class PausedDialog extends FloatingDialog{ missionTable.background((Drawable) null); if(world.getSector() != null){ missionTable.background("underline"); - missionTable.add(Bundles.format("text.sector", world.getSector().x + ", " + world.getSector().y)); + missionTable.add(Core.bundle.format("text.sector", world.getSector().x + ", " + world.getSector().y)); } } @@ -111,7 +111,7 @@ public class PausedDialog extends FloatingDialog{ control.saves.getCurrent().save(); }catch(Throwable e){ e.printStackTrace(); - threads.runGraphics(() -> ui.showError("[accent]" + Bundles.get("text.savefail"))); + threads.runGraphics(() -> ui.showError("[accent]" + Core.bundle.get("text.savefail"))); } state.set(State.menu); }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java index f61cc21a4d..d248c4dcae 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.Sector; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -28,7 +28,7 @@ public class RestartDialog extends FloatingDialog{ buttons().margin(10); if(state.mode.isPvp){ - content().add(Bundles.format("text.gameover.pvp",winner.localized())).pad(6); + content().add(Core.bundle.format("text.gameover.pvp",winner.localized())).pad(6); buttons().addButton("$text.menu", () -> { hide(); state.set(State.menu); @@ -39,7 +39,7 @@ public class RestartDialog extends FloatingDialog{ content().add("$text.highscore").pad(6); content().row(); } - content().add(Bundles.format("text.wave.lasted", state.wave)).pad(12); + content().add(Core.bundle.format("text.wave.lasted", state.wave)).pad(12); buttons().addButton("$text.menu", () -> { hide(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java index 92ffff5f7a..a5b20b98dd 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java @@ -2,9 +2,9 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Saves.SaveSlot; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.core.Timers; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -45,7 +45,7 @@ public class SaveDialog extends LoadDialog{ ui.loadfrag.show("$text.saveload"); - Timers.runTask(5f, () -> { + Time.runTask(5f, () -> { hide(); ui.loadfrag.hide(); try{ @@ -53,7 +53,7 @@ public class SaveDialog extends LoadDialog{ }catch(Throwable e){ e.printStackTrace(); - ui.showError("[accent]" + Bundles.get("text.savefail")); + ui.showError("[accent]" + Core.bundle.get("text.savefail")); } }); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java index 72983830fd..9e4eb6b90a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java @@ -8,20 +8,20 @@ import io.anuke.arc.utils.Align; import io.anuke.mindustry.Vars; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.maps.Sector; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.event.InputEvent; -import io.anuke.ucore.scene.event.InputListener; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.layout.Cell; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.scene.utils.Cursors; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.event.InputEvent; +import io.anuke.arc.scene.event.InputListener; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.layout.Cell; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.scene.utils.Cursors; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.world; @@ -84,16 +84,16 @@ public class SectorsDialog extends FloatingDialog{ table.background("button").margin(5); table.defaults().pad(3); - table.add(Bundles.format("text.sector", sector.x + ", " + sector.y)); + table.add(Core.bundle.format("text.sector", sector.x + ", " + sector.y)); table.row(); if(selected.completedMissions < selected.missions.size && !selected.complete){ - table.labelWrap(Bundles.format("text.mission", selected.getDominantMission().menuDisplayString())).growX(); + table.labelWrap(Core.bundle.format("text.mission", selected.getDominantMission().menuDisplayString())).growX(); table.row(); } if(selected.hasSave()){ - table.labelWrap(Bundles.format("text.sector.time", selected.getSave().getPlayTime())).growX(); + table.labelWrap(Core.bundle.format("text.sector.time", selected.getSave().getPlayTime())).growX(); table.row(); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index fbb9631aff..22445262f6 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -8,20 +8,20 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.event.InputEvent; -import io.anuke.ucore.scene.event.InputListener; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.SettingsDialog; -import io.anuke.ucore.scene.ui.SettingsDialog.SettingsTable.Setting; -import io.anuke.ucore.scene.ui.Slider; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Settings; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.event.InputEvent; +import io.anuke.arc.scene.event.InputListener; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.SettingsDialog; +import io.anuke.arc.scene.ui.SettingsDialog.SettingsTable.Setting; +import io.anuke.arc.scene.ui.Slider; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Mathf; import java.util.HashMap; import java.util.Map; @@ -134,7 +134,7 @@ public class SettingsMenuDialog extends SettingsDialog{ if(mobile){ game.checkPref("autotarget", true); } - game.sliderPref("saveinterval", 120, 10, 5 * 120, i -> Bundles.format("setting.seconds", i)); + game.sliderPref("saveinterval", 120, 10, 5 * 120, i -> Core.bundle.format("setting.seconds", i)); if(!mobile){ game.checkPref("crashreport", true); @@ -165,14 +165,14 @@ public class SettingsMenuDialog extends SettingsDialog{ dialog.content().addButton("$text.settings.clearall", () -> { ui.showConfirm("$text.confirm", "$text.settings.clearall.confirm", () -> { Map map = new HashMap<>(); - for(String value : Settings.prefs().get().keySet()){ + for(String value : Core.settings.prefs().get().keySet()){ if(value.contains("usid") || value.contains("uuid")){ - map.put(value, Settings.prefs().getString(value)); + map.put(value, Core.settings.prefs().getString(value)); } } - Settings.prefs().clear(); - Settings.prefs().put(map); - Settings.save(); + Core.settings.prefs().clear(); + Core.settings.prefs().put(map); + Core.settings.save(); for(FileHandle file : dataDirectory.list()){ file.deleteDirectory(); @@ -189,7 +189,7 @@ public class SettingsMenuDialog extends SettingsDialog{ } }); - graphics.sliderPref("fpscap", 125, 5, 125, 5, s -> (s > 120 ? Bundles.get("setting.fpscap.none") : Bundles.format("setting.fpscap.text", s))); + graphics.sliderPref("fpscap", 125, 5, 125, 5, s -> (s > 120 ? Core.bundle.get("setting.fpscap.none") : Core.bundle.format("setting.fpscap.text", s))); if(!mobile){ graphics.checkPref("vsync", true, b -> Core.graphics.setVSync(b)); @@ -201,8 +201,8 @@ public class SettingsMenuDialog extends SettingsDialog{ } }); - Core.graphics.setVSync(Settings.getBool("vsync")); - if(Settings.getBool("fullscreen")){ + Core.graphics.setVSync(Core.settings.getBool("vsync")); + if(Core.settings.getBool("fullscreen")){ Core.graphics.setFullscreenMode(Core.graphics.getDisplayMode()); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/TraceDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/TraceDialog.java index 7c58101b03..cbb7d5897a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/TraceDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/TraceDialog.java @@ -17,15 +17,15 @@ public class TraceDialog extends FloatingDialog{ /* table.defaults().left(); - table.add(Bundles.format("text.trace.playername", player.name)); + table.add(Core.bundle.format("text.trace.playername", player.name)); table.row(); - table.add(Bundles.format("text.trace.ip", info.ip)); + table.add(Core.bundle.format("text.trace.ip", info.ip)); table.row(); - table.add(Bundles.format("text.trace.id", info.uuid)); + table.add(Core.bundle.format("text.trace.id", info.uuid)); table.row(); - table.add(Bundles.format("text.trace.modclient", info.modclient)); + table.add(Core.bundle.format("text.trace.modclient", info.modclient)); table.row(); - table.add(Bundles.format("text.trace.android", info.android)); + table.add(Core.bundle.format("text.trace.android", info.android)); table.row(); table.add().pad(5); @@ -33,19 +33,19 @@ public class TraceDialog extends FloatingDialog{ //disabled until further notice /* - table.add(Bundles.format("text.trace.totalblocksbroken", info.totalBlocksBroken)); + table.add(Core.bundle.format("text.trace.totalblocksbroken", info.totalBlocksBroken)); table.row(); - table.add(Bundles.format("text.trace.structureblocksbroken", info.structureBlocksBroken)); + table.add(Core.bundle.format("text.trace.structureblocksbroken", info.structureBlocksBroken)); table.row(); - table.add(Bundles.format("text.trace.lastblockbroken", info.lastBlockBroken.formalName)); + table.add(Core.bundle.format("text.trace.lastblockbroken", info.lastBlockBroken.formalName)); table.row(); table.add().pad(5); table.row(); - table.add(Bundles.format("text.trace.totalblocksplaced", info.totalBlocksPlaced)); + table.add(Core.bundle.format("text.trace.totalblocksplaced", info.totalBlocksPlaced)); table.row(); - table.add(Bundles.format("text.trace.lastblockplaced", info.lastBlockPlaced.formalName)); + table.add(Core.bundle.format("text.trace.lastblockplaced", info.lastBlockPlaced.formalName)); table.row(); content().add(table); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java index cd8c1e212d..2f7ab00a02 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java @@ -6,12 +6,12 @@ import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.ContentType; -import io.anuke.ucore.scene.event.HandCursorListener; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.ScrollPane; -import io.anuke.ucore.scene.ui.Tooltip; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.utils.UIUtils; +import io.anuke.arc.scene.event.HandCursorListener; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.Tooltip; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.utils.UIUtils; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.control; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java index 25bebe7e7f..bc74b9b78e 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java @@ -5,12 +5,12 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.ui.layout.Unit; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.ui.layout.Unit; import static io.anuke.mindustry.Vars.state; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java index 017a51700d..1b0b3a8d88 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java @@ -9,12 +9,12 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.actions.Actions; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java index e11950af82..af1d5108d8 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java @@ -11,10 +11,10 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.Consume; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 7c6dbb2cd8..703f77333a 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -13,18 +13,18 @@ import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.ui.ItemImage; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.function.BooleanProvider; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.actions.Actions; -import io.anuke.ucore.scene.event.HandCursorListener; -import io.anuke.ucore.scene.event.InputEvent; -import io.anuke.ucore.scene.event.InputListener; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.function.BooleanProvider; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.event.HandCursorListener; +import io.anuke.arc.scene.event.InputEvent; +import io.anuke.arc.scene.event.InputListener; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Strings; import static io.anuke.mindustry.Vars.*; @@ -50,7 +50,7 @@ public class BlockInventoryFragment extends Fragment{ player.inventory.addItem(item, removed); for(int j = 0; j < Mathf.clamp(removed / 3, 1, 8); j++){ - Timers.run(j * 3f, () -> Call.transferItemEffect(item, tile.drawx(), tile.drawy(), player)); + Time.run(j * 3f, () -> Call.transferItemEffect(item, tile.drawx(), tile.drawy(), player)); } } @@ -93,7 +93,7 @@ public class BlockInventoryFragment extends Fragment{ hide(); }else{ if(holding && lastItem != null){ - holdTime += Timers.delta(); + holdTime += Time.delta(); if(holdTime >= holdWithdraw){ int amount = Math.min(tile.entity.items.get(lastItem), player.inventory.itemCapacityUsed(lastItem)); diff --git a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java index a5a2256eb8..516c740f71 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java @@ -12,21 +12,21 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Inputs; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.ui.Dialog; -import io.anuke.ucore.scene.ui.Label; -import io.anuke.ucore.scene.ui.Label.LabelStyle; -import io.anuke.ucore.scene.ui.TextField; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Inputs; +import io.anuke.arc.core.Timers; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.ui.Dialog; +import io.anuke.arc.scene.ui.Label; +import io.anuke.arc.scene.ui.Label.LabelStyle; +import io.anuke.arc.scene.ui.TextField; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; -import static io.anuke.ucore.core.Core.scene; -import static io.anuke.ucore.core.Core.skin; +import static io.anuke.arc.core.Core.scene; +import static io.anuke.arc.core.Core.skin; public class ChatFragment extends Table{ private final static int messagesShown = 10; @@ -134,7 +134,7 @@ public class ChatFragment extends Table{ }).width(90f).name("okb"); dialog.show(); - Timers.runTask(1f, () -> { + Time.runTask(1f, () -> { to.setCursorPosition(to.getText().length()); Core.scene.setKeyboardFocus(to); Core.input.setOnscreenKeyboardVisible(true); @@ -194,7 +194,7 @@ public class ChatFragment extends Table{ batch.setColor(Color.WHITE); if(fadetime > 0 && !chatOpen) - fadetime -= Timers.delta() / 180f; + fadetime -= Time.delta() / 180f; } private void sendMessage(){ diff --git a/core/src/io/anuke/mindustry/ui/fragments/Fragment.java b/core/src/io/anuke/mindustry/ui/fragments/Fragment.java index 080c2c4a05..f878d5465d 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/Fragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/Fragment.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.fragments; -import io.anuke.ucore.scene.Group; +import io.anuke.arc.scene.Group; public abstract class Fragment{ public abstract void build(Group parent); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index a65ea01936..c1f8f49e6a 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -18,21 +18,21 @@ import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.IntFormat; import io.anuke.mindustry.ui.Minimap; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.ucore.core.*; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.scene.Element; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.actions.Actions; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.Label; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Stack; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.*; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.Label; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Stack; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; @@ -139,7 +139,7 @@ public class HudFragment extends Fragment{ if(Net.hasClient()){ t.label(() -> ping.get(Net.getPing())).visible(Net::client).colspan(2); } - }).size(-1).visible(() -> Settings.getBool("fps")).update(t -> t.setTranslation(0, (!waves.isVisible() ? wavetable.getHeight() : Math.min(wavetable.getTranslation().y, wavetable.getHeight())))).get(); + }).size(-1).visible(() -> Core.settings.getBool("fps")).update(t -> t.setTranslation(0, (!waves.isVisible() ? wavetable.getHeight() : Math.min(wavetable.getTranslation().y, wavetable.getHeight())))).get(); //make wave box appear below rest of menu if(mobile){ @@ -149,7 +149,7 @@ public class HudFragment extends Fragment{ //minimap parent.fill(t -> t.top().right().add(new Minimap()) - .visible(() -> !state.is(State.menu) && Settings.getBool("minimap"))); + .visible(() -> !state.is(State.menu) && Core.settings.getBool("minimap"))); //paused table parent.fill(t -> { @@ -193,12 +193,12 @@ public class HudFragment extends Fragment{ coreAttackOpacity = Mathf.lerpDelta(coreAttackOpacity, 0f, 0.1f); } - coreAttackTime -= Timers.delta(); + coreAttackTime -= Time.delta(); return coreAttackOpacity > 0; }); t.table("button", top -> top.add("$text.coreattack").pad(2) - .update(label -> label.setColor(Hue.mix(Color.ORANGE, Color.SCARLET, Mathf.absin(Timers.time(), 2f, 1f))))); + .update(label -> label.setColor(Hue.mix(Color.ORANGE, Color.SCARLET, Mathf.absin(Time.time(), 2f, 1f))))); }); //'saving' indicator @@ -378,9 +378,9 @@ public class HudFragment extends Fragment{ enemiesf.get(state.enemies())) : wavef.get(state.wave) + "\n" + (!state.mode.disableWaveTimer ? - Bundles.format("text.wave.waiting", (int)(state.wavetime/60)) : - Bundles.get("text.waiting"))) : - Bundles.format("text.mission.display", world.getSector().currentMission().displayString())).growX().pad(8f); + Core.bundle.format("text.wave.waiting", (int)(state.wavetime/60)) : + Core.bundle.get("text.waiting"))) : + Core.bundle.format("text.mission.display", world.getSector().currentMission().displayString())).growX().pad(8f); table.clicked(() -> { if(world.getSector() != null && world.getSector().currentMission().hasMessage()){ diff --git a/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java b/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java index 3ea3df3685..87bd4a48ce 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.Label; -import io.anuke.ucore.scene.ui.TextButton; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.Label; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; public class LoadingFragment extends Fragment{ private Table table; diff --git a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java index c9b4309c58..b99deb4d7b 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java @@ -8,10 +8,10 @@ import io.anuke.mindustry.game.Version; import io.anuke.mindustry.ui.MenuButton; import io.anuke.mindustry.ui.MobileButton; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.Events; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Strings; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java b/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java index f19ec137a4..239d597c81 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/OverlayFragment.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.mindustry.input.InputHandler; -import io.anuke.ucore.scene.Group; +import io.anuke.arc.scene.Group; /** * Fragment for displaying overlays such as block inventories. One is created for each input handler. diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java index b533fa2b4d..c60d71f3da 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java @@ -16,18 +16,18 @@ import io.anuke.mindustry.ui.ImageStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Inputs; -import io.anuke.ucore.input.Input; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.actions.Actions; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.core.Events; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Inputs; +import io.anuke.arc.input.Input; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -177,7 +177,7 @@ public class PlacementFragment extends Fragment{ header.left(); header.add(new ImageStack(lastDisplay.getCompactIcon())).size(8 * 4); header.labelWrap(() -> - !control.unlocks.isUnlocked(Recipe.getByResult(lastDisplay)) ? Bundles.get("text.blocks.unknown") : lastDisplay.formalName) + !control.unlocks.isUnlocked(Recipe.getByResult(lastDisplay)) ? Core.bundle.get("text.blocks.unknown") : lastDisplay.formalName) .left().width(190f).padLeft(5); header.add().growX(); if(control.unlocks.isUnlocked(Recipe.getByResult(lastDisplay))){ diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java index affab2d0fb..d11ec99849 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java @@ -8,16 +8,16 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetConnection; import io.anuke.mindustry.net.Packets.AdminAction; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.scene.Group; -import io.anuke.ucore.scene.event.Touchable; -import io.anuke.ucore.scene.ui.Image; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Timer; +import io.anuke.arc.core.Core; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Timer; import static io.anuke.mindustry.Vars.*; @@ -46,7 +46,7 @@ public class PlayerListFragment extends Fragment{ }); cont.table("button", pane -> { - pane.label(() -> Bundles.format(playerGroup.size() == 1 ? "text.players.single" : "text.players", playerGroup.size())); + pane.label(() -> Core.bundle.format(playerGroup.size() == 1 ? "text.players.single" : "text.players", playerGroup.size())); pane.row(); pane.pane(content).grow().get().setScrollingDisabled(true, false); pane.row(); diff --git a/core/src/io/anuke/mindustry/world/BaseBlock.java b/core/src/io/anuke/mindustry/world/BaseBlock.java index 91515e7ea1..f24d04f1a8 100644 --- a/core/src/io/anuke/mindustry/world/BaseBlock.java +++ b/core/src/io/anuke/mindustry/world/BaseBlock.java @@ -13,10 +13,10 @@ import io.anuke.mindustry.world.consumers.ConsumeItem; import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.consumers.Consumers; import io.anuke.mindustry.world.meta.Producers; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Translator; public abstract class BaseBlock extends MappableContent{ public boolean hasItems; @@ -164,15 +164,15 @@ public abstract class BaseBlock extends MappableContent{ Liquid other = next.entity.liquids.current(); if((other.flammability > 0.3f && liquid.temperature > 0.7f) || (liquid.flammability > 0.3f && other.temperature > 0.7f)){ - tile.entity.damage(1 * Timers.delta()); - next.entity.damage(1 * Timers.delta()); - if(Mathf.chance(0.1 * Timers.delta())){ + tile.entity.damage(1 * Time.delta()); + next.entity.damage(1 * Time.delta()); + if(Mathf.chance(0.1 * Time.delta())){ Effects.effect(EnvironmentFx.fire, (tile.worldx() + next.worldx()) / 2f, (tile.worldy() + next.worldy()) / 2f); } }else if((liquid.temperature > 0.7f && other.temperature < 0.55f) || (other.temperature > 0.7f && liquid.temperature < 0.55f)){ - tile.entity.liquids.remove(liquid, Math.min(tile.entity.liquids.get(liquid), 0.7f * Timers.delta())); - if(Mathf.chance(0.2f * Timers.delta())){ + tile.entity.liquids.remove(liquid, Math.min(tile.entity.liquids.get(liquid), 0.7f * Time.delta())); + if(Mathf.chance(0.2f * Time.delta())){ Effects.effect(EnvironmentFx.steam, (tile.worldx() + next.worldx()) / 2f, (tile.worldy() + next.worldy()) / 2f); } } diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index a1027732a3..ce4743c663 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -21,14 +21,14 @@ import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.meta.*; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.EnumSet; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.EnumSet; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; @@ -116,8 +116,8 @@ public class Block extends BaseBlock { public Block(String name){ this.name = name; - this.formalName = Bundles.get("block." + name + ".name", name); - this.fullDescription = Bundles.getOrNull("block." + name + ".description"); + this.formalName = Core.bundle.get("block." + name + ".name", name); + this.fullDescription = Core.bundle.getOrNull("block." + name + ".description"); this.solid = false; } @@ -413,7 +413,7 @@ public class Block extends BaseBlock { float splash = Mathf.clamp(amount / 4f, 0f, 10f); for(int i = 0; i < Mathf.clamp(amount / 5, 0, 30); i++){ - Timers.run(i / 2f, () -> { + Time.run(i / 2f, () -> { Tile other = world.tile(tile.x + Mathf.range(size / 2), tile.y + Mathf.range(size / 2)); if(other != null){ Puddle.deposit(other, liquid, splash); diff --git a/core/src/io/anuke/mindustry/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index 0cf6fd8b50..d847e29e75 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -10,8 +10,8 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import io.anuke.ucore.core.Events; -import io.anuke.ucore.util.Geometry; +import io.anuke.arc.core.Events; +import io.anuke.arc.util.Geometry; import static io.anuke.mindustry.Vars.*; @@ -59,7 +59,7 @@ public class Build{ } Tile ftile = tile; - threads.runDelay(() -> Events.fire(new BlockBuildBeginEvent(ftile, team, true))); + Core.app.post(() -> Events.fire(new BlockBuildBeginEvent(ftile, team, true))); } /**Places a BuildBlock at this location.*/ @@ -101,7 +101,7 @@ public class Build{ } } - threads.runDelay(() -> Events.fire(new BlockBuildBeginEvent(tile, team, false))); + Core.app.post(() -> Events.fire(new BlockBuildBeginEvent(tile, team, false))); } /**Returns whether a tile can be placed at this location by this team.*/ diff --git a/core/src/io/anuke/mindustry/world/Edges.java b/core/src/io/anuke/mindustry/world/Edges.java index 33aee6b85c..d00cc85ee4 100644 --- a/core/src/io/anuke/mindustry/world/Edges.java +++ b/core/src/io/anuke/mindustry/world/Edges.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world; import io.anuke.arc.math.GridPoint2; import io.anuke.arc.math.Vector2; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import java.util.Arrays; diff --git a/core/src/io/anuke/mindustry/world/ItemBuffer.java b/core/src/io/anuke/mindustry/world/ItemBuffer.java index 0a174a36d0..08e6ff824c 100644 --- a/core/src/io/anuke/mindustry/world/ItemBuffer.java +++ b/core/src/io/anuke/mindustry/world/ItemBuffer.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world; import io.anuke.arc.utils.NumberUtils; import io.anuke.mindustry.type.Item; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Bits; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.*; public class ItemBuffer{ @@ -23,7 +23,7 @@ public class ItemBuffer{ public void accept(Item item, short data){ //if(!accepts()) return; - buffer[index++] = Bits.packLong(NumberUtils.floatToIntBits(Timers.time()), Bits.packInt((short) item.id, data)); + buffer[index++] = Bits.packLong(NumberUtils.floatToIntBits(Time.time()), Bits.packInt((short) item.id, data)); } public void accept(Item item){ @@ -35,7 +35,7 @@ public class ItemBuffer{ long l = buffer[0]; float time = NumberUtils.intBitsToFloat(Bits.getLeftInt(l)); - if(Timers.time() >= time + speed || Timers.time() < time){ + if(Time.time() >= time + speed || Time.time() < time){ return content.item(Bits.getLeftShort(Bits.getRightInt(l))); } } @@ -47,7 +47,7 @@ public class ItemBuffer{ long l = buffer[0]; float time = NumberUtils.intBitsToFloat(Bits.getLeftInt(l)); - if(Timers.time() >= time + speed || Timers.time() < time){ + if(Time.time() >= time + speed || Time.time() < time){ return Bits.getRightShort(Bits.getRightInt(l)); } } diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index 73ee2cd19e..0cff80e015 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -13,10 +13,10 @@ import io.anuke.mindustry.world.modules.ConsumeModule; import io.anuke.mindustry.world.modules.ItemModule; import io.anuke.mindustry.world.modules.LiquidModule; import io.anuke.mindustry.world.modules.PowerModule; -import io.anuke.ucore.entities.trait.PosTrait; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.util.Bits; -import io.anuke.ucore.util.Geometry; +import io.anuke.arc.entities.trait.PosTrait; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.util.Bits; +import io.anuke.arc.util.Geometry; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index 1e8bb26562..4a23cb0ee6 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -24,11 +24,11 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -60,20 +60,20 @@ public class BuildBlock extends Block{ tile.setRotation(rotation); world.setBlock(tile, block, team); Effects.effect(Fx.placeBlock, tile.drawx(), tile.drawy(), block.size); - threads.runDelay(() -> tile.block().placed(tile)); + Core.app.post(() -> tile.block().placed(tile)); //last builder was this local client player, call placed() if(!headless && builderID == players[0].id){ //this is run delayed, since if this is called on the server, all clients need to recieve the onBuildFinish() //event first before they can recieve the placed() event modification results - threads.runDelay(() -> tile.block().playerPlaced(tile)); + Core.app.post(() -> tile.block().playerPlaced(tile)); } } @Override public String getDisplayName(Tile tile){ BuildEntity entity = tile.entity(); - return Bundles.format("block.constructing", entity.recipe == null ? entity.previous.formalName : entity.recipe.result.formalName); + return Core.bundle.format("block.constructing", entity.recipe == null ? entity.previous.formalName : entity.recipe.result.formalName); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index 5b744d3513..9a037d5038 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -11,13 +11,13 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.function.BiPredicate; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Structs; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.function.BiPredicate; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; public class Floor extends Block{ //TODO implement proper bitmasking diff --git a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java index aa7d75f263..a65b937883 100644 --- a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.modules.LiquidModule; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.graphics.Draw; public class LiquidBlock extends Block{ protected TextureRegion liquidRegion, bottomRegion, topRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java index 9b1b08833c..5129e2bbdc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; public class OreBlock extends Floor{ public Floor base; diff --git a/core/src/io/anuke/mindustry/world/blocks/Rock.java b/core/src/io/anuke/mindustry/world/blocks/Rock.java index 1d809e74d3..c616fd0433 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Rock.java +++ b/core/src/io/anuke/mindustry/world/blocks/Rock.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.world.blocks; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; public class Rock extends Block{ protected TextureRegion[] shadowRegions, regions; diff --git a/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java b/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java index 88d7fc324b..a7e932149f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java +++ b/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java @@ -2,12 +2,12 @@ package io.anuke.mindustry.world.blocks; import io.anuke.arc.utils.Array; import io.anuke.mindustry.type.Item; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.function.Supplier; -import io.anuke.ucore.scene.style.TextureRegionDrawable; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Supplier; +import io.anuke.arc.scene.style.TextureRegionDrawable; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.control; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java index 9a7431544c..2f469e93cd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java @@ -7,11 +7,11 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Physics; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Physics; import static io.anuke.mindustry.Vars.tilesize; @@ -41,7 +41,7 @@ public class DeflectorWall extends Wall{ Draw.rect("blank", tile.drawx(), tile.drawy(), tilesize * size, tilesize * size); Draw.reset(); - entity.hit = Mathf.clamp(entity.hit - Timers.delta() / hitTime); + entity.hit = Mathf.clamp(entity.hit - Time.delta() / hitTime); Graphics.setNormalBlending(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java index 198fa371a1..ed6498da21 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java @@ -8,9 +8,9 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.input.CursorType; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java index 848db83e92..d7ca799ded 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java @@ -14,16 +14,16 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.entities.EntityGroup; -import io.anuke.ucore.entities.EntityQuery; -import io.anuke.ucore.entities.impl.BaseEntity; -import io.anuke.ucore.entities.trait.DrawTrait; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.entities.impl.BaseEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -95,7 +95,7 @@ public class ForceProjector extends Block { entity.radscl = Mathf.lerpDelta(entity.radscl, entity.broken ? 0f : 1f, 0.05f); - if(Mathf.chance(Timers.delta() * entity.buildup / breakage * 0.1f)){ + if(Mathf.chance(Time.delta() * entity.buildup / breakage * 0.1f)){ Effects.effect(BlockFx.reactorsmoke, tile.drawx() + Mathf.range(tilesize/2f), tile.drawy() + Mathf.range(tilesize/2f)); } @@ -117,7 +117,7 @@ public class ForceProjector extends Block { scale *= (cooldownLiquid * (1f+(entity.liquids.current().heatCapacity-0.4f)*0.9f)); } - entity.buildup -= Timers.delta()*scale; + entity.buildup -= Time.delta()*scale; } if(entity.broken && entity.buildup <= 0 && entity.warmup >= 0.9f){ @@ -131,7 +131,7 @@ public class ForceProjector extends Block { } if(entity.hit > 0f){ - entity.hit -= 1f/5f * Timers.delta(); + entity.hit -= 1f/5f * Time.delta(); } float realRadius = realRadius(entity); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 1de6d18e18..225d9b7993 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -8,13 +8,13 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -108,10 +108,10 @@ public class MendProjector extends Block{ super.draw(tile); MendEntity entity = tile.entity(); - float f = 1f - (Timers.time() / 100f) % 1f; + float f = 1f - (Time.time() / 100f) % 1f; Draw.color(color, phase, entity.phaseHeat); - Draw.alpha(entity.heat * Mathf.absin(Timers.time(), 10f, 1f) * 0.5f); + Draw.alpha(entity.heat * Mathf.absin(Time.time(), 10f, 1f) * 0.5f); Graphics.setAdditiveBlending(); Draw.rect(topRegion, tile.drawx(), tile.drawy()); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index 4f8d706abf..8a633ea66b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -8,13 +8,13 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Hue; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -58,7 +58,7 @@ public class OverdriveProjector extends Block{ public void update(Tile tile){ OverdriveEntity entity = tile.entity(); entity.heat = Mathf.lerpDelta(entity.heat, entity.cons.valid() ? 1f : 0f, 0.08f); - entity.charge += entity.heat * Timers.delta(); + entity.charge += entity.heat * Time.delta(); entity.phaseHeat = Mathf.lerpDelta(entity.phaseHeat, (float)entity.items.get(consumes.item()) / itemCapacity, 0.1f); @@ -111,10 +111,10 @@ public class OverdriveProjector extends Block{ super.draw(tile); OverdriveEntity entity = tile.entity(); - float f = 1f - (Timers.time() / 100f) % 1f; + float f = 1f - (Time.time() / 100f) % 1f; Draw.color(color, phase, entity.phaseHeat); - Draw.alpha(entity.heat * Mathf.absin(Timers.time(), 10f, 1f) * 0.5f); + Draw.alpha(entity.heat * Mathf.absin(Time.time(), 10f, 1f) * 0.5f); Graphics.setAdditiveBlending(); Draw.rect(topRegion, tile.drawx(), tile.drawy()); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java index 46a13ec978..225041ef45 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java @@ -6,9 +6,9 @@ import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Mathf; public class ShockMine extends Block{ protected int timerDamage = timers ++; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java index 5ed61ffaf3..ff62f9d2bc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; public class SurgeWall extends Wall{ protected float lightningChance = 0.05f; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java index 3143c2cbb2..a9ae8bf536 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java index c0bd3da94b..172b0294b4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.defense.turrets; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; @@ -21,7 +21,7 @@ public class BurstTurret extends ItemTurret{ entity.heat = 1f; for(int i = 0; i < shots; i++){ - Timers.run(burstSpacing * i, () -> { + Time.run(burstSpacing * i, () -> { if(!(tile.entity instanceof TurretEntity) || !hasAmmo(tile)) return; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java index 562c0779de..ab3718b47e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java @@ -4,10 +4,10 @@ import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; @@ -33,7 +33,7 @@ public class ChargeTurret extends PowerTurret{ Effects.effect(chargeBeginEffect, tile.drawx() + tr.x, tile.drawy() + tr.y, entity.rotation); for(int i = 0; i < chargeEffects; i++){ - Timers.run(Mathf.random(chargeMaxDelay), () -> { + Time.run(Mathf.random(chargeMaxDelay), () -> { if(!isTurret(tile)) return; tr.trns(entity.rotation, size * tilesize / 2); Effects.effect(chargeEffect, tile.drawx() + tr.x, tile.drawy() + tr.y, entity.rotation); @@ -42,7 +42,7 @@ public class ChargeTurret extends PowerTurret{ entity.shooting = true; - Timers.run(chargeTime, () -> { + Time.run(chargeTime, () -> { if(!isTurret(tile)) return; tr.trns(entity.rotation, size * tilesize / 2); entity.recoil = recoil; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java index 4fc7b9fb41..dd98334f61 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java @@ -4,10 +4,10 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; @@ -33,7 +33,7 @@ public class CooledTurret extends Turret{ TurretEntity entity = tile.entity(); Liquid liquid = entity.liquids.current(); - float used = Math.min(Math.min(entity.liquids.get(liquid), maxCoolantUsed * Timers.delta()), Math.max(0, ((reload - entity.reload) / coolantMultiplier) / liquid.heatCapacity)); + float used = Math.min(Math.min(entity.liquids.get(liquid), maxCoolantUsed * Time.delta()), Math.max(0, ((reload - entity.reload) / coolantMultiplier) / liquid.heatCapacity)); entity.reload += (used * liquid.heatCapacity) / liquid.heatCapacity; entity.liquids.remove(liquid, used); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java index 1601b15a4c..9fc55716ca 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.defense.turrets; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java index 35536236bb..c9e9fda485 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; @@ -39,7 +39,7 @@ public class LaserTurret extends PowerTurret{ entity.bullet.time(0f); entity.heat = 1f; entity.recoil = recoil; - entity.bulletLife -= Timers.delta(); + entity.bulletLife -= Time.delta(); if(entity.bulletLife <= 0f){ entity.bullet = null; } @@ -63,7 +63,7 @@ public class LaserTurret extends PowerTurret{ }else{ Liquid liquid = entity.liquids.current(); - float used = Math.min(Math.min(entity.liquids.get(liquid), maxCoolantUsed * Timers.delta()), Math.max(0, ((reload - entity.reload) / coolantMultiplier) / liquid.heatCapacity)); + float used = Math.min(Math.min(entity.liquids.get(liquid), maxCoolantUsed * Time.delta()), Math.max(0, ((reload - entity.reload) / coolantMultiplier) / liquid.heatCapacity)); entity.reload += (used * liquid.heatCapacity) / liquid.heatCapacity; entity.liquids.remove(liquid, used); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java index b535e639eb..b1b17ff3f1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import io.anuke.ucore.core.Effects; +import io.anuke.arc.core.Effects; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 3f8dac221e..b0fd1105b2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -22,14 +22,14 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.function.BiConsumer; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.*; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.function.BiConsumer; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; @@ -254,7 +254,7 @@ public abstract class Turret extends Block{ entry.amount -= ammoPerShot; if(entry.amount == 0) entity.ammo.pop(); entity.totalAmmo -= ammoPerShot; - Timers.run(reload / 2f, () -> ejectEffects(tile)); + Time.run(reload / 2f, () -> ejectEffects(tile)); return entry.type; } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java index 57230d5471..e11a2570ea 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.ItemBuffer; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.util.Mathf; public class BufferedItemBridge extends ExtendingItemBridge{ protected int timerAccept = timers++; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java index 8f6237e664..50eb9759d9 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.LiquidBlock; import io.anuke.mindustry.world.modules.LiquidModule; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index 20de6aebb0..04a2ee25a1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -12,9 +12,9 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.*; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; @@ -95,7 +95,7 @@ public class Conveyor extends Block{ ConveyorEntity entity = tile.entity(); byte rotation = tile.getRotation(); - int frame = entity.clogHeat <= 0.5f ? (int) (((Timers.time() * speed * 8f * entity.timeScale)) % 4) : 0; + int frame = entity.clogHeat <= 0.5f ? (int) (((Time.time() * speed * 8f * entity.timeScale)) % 4) : 0; Draw.rect(regions[Mathf.clamp(entity.blendbits, 0, regions.length - 1)][Mathf.clamp(frame, 0, regions[0].length - 1)], tile.drawx(), tile.drawy(), tilesize * entity.blendsclx, tilesize * entity.blendscly, rotation*90); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java index a072628481..2f41b4eac0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.graphics.CapStyle; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.CapStyle; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java index d99a116992..219da66646 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java @@ -18,12 +18,12 @@ import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.CapStyle; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.CapStyle; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -127,7 +127,7 @@ public class ItemBridge extends Block{ Draw.color(linked ? Palette.place : Palette.breakInvalid); Lines.square(other.drawx(), other.drawy(), - other.block().size * tilesize / 2f + 1f + (linked ? 0f : Mathf.absin(Timers.time(), 4f, 1f))); + other.block().size * tilesize / 2f + 1f + (linked ? 0f : Mathf.absin(Time.time(), 4f, 1f))); } } } @@ -212,7 +212,7 @@ public class ItemBridge extends Block{ int i = tile.absoluteRelativeTo(other.x, other.y); - Draw.color(Color.WHITE, Color.BLACK, Mathf.absin(Timers.time(), 6f, 0.07f)); + Draw.color(Color.WHITE, Color.BLACK, Mathf.absin(Time.time(), 6f, 0.07f)); Draw.alpha(Math.max(entity.uptime, 0.25f)); Draw.rect(endRegion, tile.drawx(), tile.drawy(), i * 90 + 90); diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java index 1428184a67..166352f2b9 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Bits; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.content; @@ -40,7 +40,7 @@ public class Junction extends Block{ long l = buffer.items[0]; float time = NumberUtils.intBitsToFloat(Bits.getLeftInt(l)); - if(Timers.time() >= time + speed || Timers.time() < time){ + if(Time.time() >= time + speed || Time.time() < time){ Item item = content.item(Bits.getRightInt(l)); Tile dest = tile.getNearby(i); @@ -61,7 +61,7 @@ public class Junction extends Block{ @Override public void handleItem(Item item, Tile tile, Tile source){ JunctionEntity entity = tile.entity(); - long value = Bits.packLong(NumberUtils.floatToIntBits(Timers.time()), item.id); + long value = Bits.packLong(NumberUtils.floatToIntBits(Time.time()), item.id); int relative = source.relativeTo(tile.x, tile.y); entity.buffers[relative].add(value); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java index 97a495cc54..2e06ade6af 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java @@ -4,8 +4,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.world; @@ -23,8 +23,8 @@ public class LiquidBridge extends ItemBridge{ public void update(Tile tile){ ItemBridgeEntity entity = tile.entity(); - entity.time += entity.cycleSpeed * Timers.delta(); - entity.time2 += (entity.cycleSpeed - 1f) * Timers.delta(); + entity.time += entity.cycleSpeed * Time.delta(); + entity.time2 += (entity.cycleSpeed - 1f) * Time.delta(); Tile other = world.tile(entity.link); if(!linkValid(tile, other) ){ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java index 5ca2ccedda..c23fd46895 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.world; @@ -25,8 +25,8 @@ public class LiquidExtendingBridge extends ExtendingItemBridge{ public void update(Tile tile){ ItemBridgeEntity entity = tile.entity(); - entity.time += entity.cycleSpeed * Timers.delta(); - entity.time2 += (entity.cycleSpeed - 1f) * Timers.delta(); + entity.time += entity.cycleSpeed * Time.delta(); + entity.time2 += (entity.cycleSpeed - 1f) * Time.delta(); Tile other = world.tile(entity.link); if(!linkValid(tile, other)){ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java index ce10cda6ba..231e8fa68e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.LiquidBlock; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.graphics.Draw; public class LiquidJunction extends LiquidBlock{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java index 6c2c390688..4dcd94574f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java @@ -21,14 +21,14 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Pooling; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Pooling; import java.io.DataInput; import java.io.DataOutput; @@ -198,7 +198,7 @@ public class MassDriver extends Block{ @Override public void drawConfigure(Tile tile){ - float sin = Mathf.absin(Timers.time(), 6f, 1f); + float sin = Mathf.absin(Time.time(), 6f, 1f); Draw.color(Palette.accent); Lines.stroke(1f); diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java b/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java index b8a845928f..c7787a9431 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Mathf; public class OverflowGate extends Router{ @@ -23,7 +23,7 @@ public class OverflowGate extends Router{ } if(entity.lastItem != null){ - entity.time += 1f/speed * Timers.delta(); + entity.time += 1f/speed * Time.delta(); Tile target = getTileTarget(tile, entity.lastItem, entity.lastInput, false); if(target != null && (entity.time >= 1f)){ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java index 0524f7b000..9bf005e445 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.ucore.core.Timers; +import io.anuke.arc.core.Timers; public class Router extends Block{ protected float speed = 8f; @@ -38,7 +38,7 @@ public class Router extends Block{ } if(entity.lastItem != null){ - entity.time += 1f/speed * Timers.delta(); + entity.time += 1f/speed * Time.delta(); Tile target = getTileTarget(tile, entity.lastItem, entity.lastInput, false); if(target != null && (entity.time >= 1f || !(target.block() instanceof Router))){ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java index d8e5b57594..e5e08293fb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -10,9 +10,9 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.SelectionTrait; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -40,7 +40,7 @@ public class Sorter extends Block implements SelectionTrait{ @Override public void playerPlaced(Tile tile){ - threads.runDelay(() -> Call.setSorterItem(null, tile, lastItem)); + Core.app.post(() -> Call.setSorterItem(null, tile, lastItem)); } @Remote(targets = Loc.both, called = Loc.both, forward = true) diff --git a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java index 34c6b4b014..e57c843265 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; public class FusionReactor extends PowerGenerator{ protected int plasmas = 4; @@ -46,9 +46,9 @@ public class FusionReactor extends PowerGenerator{ entity.warmup = Mathf.lerpDelta(entity.warmup, 0f, 0.01f); } - float powerAdded = Math.min(powerCapacity - entity.power.amount, maxPowerProduced * Mathf.pow(entity.warmup, 4f) * Timers.delta()); + float powerAdded = Math.min(powerCapacity - entity.power.amount, maxPowerProduced * Mathf.pow(entity.warmup, 4f) * Time.delta()); entity.power.amount += powerAdded; - entity.totalProgress += entity.warmup * Timers.delta(); + entity.totalProgress += entity.warmup * Time.delta(); tile.entity.power.graph.update(); } @@ -81,11 +81,11 @@ public class FusionReactor extends PowerGenerator{ Graphics.setAdditiveBlending(); for(int i = 0; i < plasmas; i++){ - float r = 29f + Mathf.absin(Timers.time(), 2f + i * 1f, 5f - i * 0.5f); + float r = 29f + Mathf.absin(Time.time(), 2f + i * 1f, 5f - i * 0.5f); Draw.color(plasma1, plasma2, (float) i / plasmas); - Draw.alpha((0.3f + Mathf.absin(Timers.time(), 2f + i * 2f, 0.3f + i * 0.05f)) * entity.warmup); - Draw.rect(name + "-plasma-" + i, tile.drawx(), tile.drawy(), r, r, Timers.time() * (12 + i * 6f) * entity.warmup); + Draw.alpha((0.3f + Mathf.absin(Time.time(), 2f + i * 2f, 0.3f + i * 0.05f)) * entity.warmup); + Draw.rect(name + "-plasma-" + i, tile.drawx(), tile.drawy(), r, r, Time.time() * (12 + i * 6f) * entity.warmup); } Draw.color(); diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java index ab69434175..6a7641ac9f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java @@ -11,11 +11,11 @@ import io.anuke.mindustry.world.consumers.ConsumeItemFilter; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -68,7 +68,7 @@ public abstract class ItemGenerator extends PowerGenerator{ if(entity.generateTime > 0){ Draw.color(heatColor); float alpha = (entity.items.total() > 0 ? 1f : Mathf.clamp(entity.generateTime)); - alpha = alpha * 0.7f + Mathf.absin(Timers.time(), 12f, 0.3f) * alpha; + alpha = alpha * 0.7f + Mathf.absin(Time.time(), 12f, 0.3f) * alpha; Draw.alpha(alpha); Draw.rect(topRegion, tile.drawx(), tile.drawy()); Draw.reset(); diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java index 9aac369832..b637954bbd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -5,9 +5,9 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java index 8a8ed8ca25..50ef97a01a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java @@ -6,10 +6,10 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.power.ItemGenerator.ItemGeneratorEntity; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; public abstract class LiquidGenerator extends PowerGenerator{ protected float minEfficiency = 0.2f; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java index a6cac3e1eb..9bb7f0e7f3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java @@ -14,11 +14,11 @@ import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Translator; import java.io.DataInput; import java.io.DataOutput; @@ -140,21 +140,21 @@ public class NuclearReactor extends PowerGenerator{ Effects.shake(6f, 16f, tile.worldx(), tile.worldy()); Effects.effect(ExplosionFx.nuclearShockwave, tile.worldx(), tile.worldy()); for(int i = 0; i < 6; i++){ - Timers.run(Mathf.random(40), () -> Effects.effect(BlockFx.nuclearcloud, tile.worldx(), tile.worldy())); + Time.run(Mathf.random(40), () -> Effects.effect(BlockFx.nuclearcloud, tile.worldx(), tile.worldy())); } Damage.damage(tile.worldx(), tile.worldy(), explosionRadius * tilesize, explosionDamage * 4); for(int i = 0; i < 20; i++){ - Timers.run(Mathf.random(50), () -> { + Time.run(Mathf.random(50), () -> { tr.rnd(Mathf.random(40f)); Effects.effect(ExplosionFx.explosion, tr.x + tile.worldx(), tr.y + tile.worldy()); }); } for(int i = 0; i < 70; i++){ - Timers.run(Mathf.random(80), () -> { + Time.run(Mathf.random(80), () -> { tr.rnd(Mathf.random(120f)); Effects.effect(BlockFx.nuclearsmoke, tr.x + tile.worldx(), tr.y + tile.worldy()); }); @@ -182,7 +182,7 @@ public class NuclearReactor extends PowerGenerator{ if(entity.heat > flashThreshold){ float flash = 1f + ((entity.heat - flashThreshold) / (1f - flashThreshold)) * 5.4f; - entity.flash += flash * Timers.delta(); + entity.flash += flash * Time.delta(); Draw.color(Color.RED, Color.YELLOW, Mathf.absin(entity.flash, 9f, 1f)); Draw.alpha(0.6f); Draw.rect(lightsRegion, tile.drawx(), tile.drawy()); diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java index 8423ffefa2..b9d6254e16 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerGenerator.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.power; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.util.EnumSet; +import io.anuke.arc.util.EnumSet; public class PowerGenerator extends PowerDistributor{ diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index 5cd5634709..db85f4a8d2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -12,13 +12,13 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.Translator; +import io.anuke.arc.core.Settings; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.Translator; import static io.anuke.mindustry.Vars.*; @@ -159,7 +159,7 @@ public class PowerNode extends PowerBlock{ Lines.stroke(1f); Lines.circle(tile.drawx(), tile.drawy(), - tile.block().size * tilesize / 2f + 1f + Mathf.absin(Timers.time(), 4f, 1f)); + tile.block().size * tilesize / 2f + 1f + Mathf.absin(Time.time(), 4f, 1f)); Lines.poly(tile.drawx(), tile.drawy(), 50, laserRange*tilesize); @@ -173,7 +173,7 @@ public class PowerNode extends PowerBlock{ Draw.color(linked ? Palette.place : Palette.breakInvalid); Lines.circle(link.drawx(), link.drawy(), - link.block().size * tilesize / 2f + 1f + (linked ? 0f : Mathf.absin(Timers.time(), 4f, 1f))); + link.block().size * tilesize / 2f + 1f + (linked ? 0f : Mathf.absin(Time.time(), 4f, 1f))); if((entity.power.links.size >= maxNodes || (link.block() instanceof PowerNode && link.entity.power.links.size >= ((PowerNode) link.block()).maxNodes)) && !linked){ Draw.color(); @@ -196,7 +196,7 @@ public class PowerNode extends PowerBlock{ @Override public void drawLayer(Tile tile){ - if(!Settings.getBool("lasers")) return; + if(!Core.settings.getBool("lasers")) return; TileEntity entity = tile.entity(); @@ -250,7 +250,7 @@ public class PowerNode extends PowerBlock{ x2 += t2.x; y2 += t2.y; - Draw.color(Palette.powerLight, Palette.power, Mathf.absin(Timers.time(), 8f, 1f)); + Draw.color(Palette.powerLight, Palette.power, Mathf.absin(Time.time(), 8f, 1f)); Lines.stroke(2f); Lines.line(x1, y1, x2, y2); } diff --git a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java index 02c3bfc245..f915af34f6 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.world.blocks.power; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.EnumSet; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.EnumSet; public class SolarGenerator extends PowerGenerator{ /** @@ -26,7 +26,7 @@ public class SolarGenerator extends PowerGenerator{ @Override public void update(Tile tile){ - addPower(tile, generation * Timers.delta()); + addPower(tile, generation * Time.delta()); tile.entity.power.graph.update(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java index f6a0eafc27..a15864b4a6 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java @@ -4,8 +4,8 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; public class Compressor extends PowerCrafter{ protected TextureRegion liquidRegion, topRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java index 21ae7112a8..55b5e4cb1f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java @@ -9,11 +9,11 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; -import io.anuke.ucore.util.SeedRandom; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; +import io.anuke.arc.util.SeedRandom; import java.io.DataInput; import java.io.DataOutput; @@ -78,7 +78,7 @@ public class Cultivator extends Drill{ for(int i = 0; i < 12; i++){ float offset = random.nextFloat() * 999999f; float x = random.range(4f), y = random.range(4f); - float life = 1f - (((Timers.time() + offset) / 50f) % recurrence); + float life = 1f - (((Time.time() + offset) / 50f) % recurrence); if(life > 0){ Lines.stroke(entity.warmup * (life * 1f + 0.2f)); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java index 53acab914b..50e0be317d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java @@ -16,12 +16,12 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.content; public class Drill extends Block{ @@ -95,7 +95,7 @@ public class Drill extends Block{ if(drawRim){ Graphics.setAdditiveBlending(); Draw.color(heatColor); - Draw.alpha(entity.warmup * ts * (1f - s + Mathf.absin(Timers.time(), 3f, s))); + Draw.alpha(entity.warmup * ts * (1f - s + Mathf.absin(Time.time(), 3f, s))); Draw.rect(rimRegion, tile.drawx(), tile.drawy()); Draw.color(); Graphics.setNormalBlending(); @@ -193,7 +193,7 @@ public class Drill extends Block{ entity.progress += entity.delta() * entity.dominantItems * speed * entity.warmup; - if(Mathf.chance(Timers.delta() * updateEffectChance * entity.warmup)) + if(Mathf.chance(Time.delta() * updateEffectChance * entity.warmup)) Effects.effect(updateEffect, entity.x + Mathf.range(size * 2f), entity.y + Mathf.range(size * 2f)); }else{ entity.warmup = Mathf.lerpDelta(entity.warmup, 0f, warmupSpeed); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java index 200fb4c965..fd20bb489b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeItem; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.graphics.Draw; public class Fracker extends SolidPump{ protected final float itemUseTime = 100f; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java index 5a5fd41e03..904a82fc40 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java @@ -12,11 +12,11 @@ import io.anuke.mindustry.world.consumers.ConsumeItem; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -87,7 +87,7 @@ public class GenericCrafter extends Block{ entity.totalProgress += entity.delta(); entity.warmup = Mathf.lerpDelta(entity.warmup, 1f, 0.02f); - if(Mathf.chance(Timers.delta() * updateEffectChance)) + if(Mathf.chance(Time.delta() * updateEffectChance)) Effects.effect(updateEffect, entity.x + Mathf.range(size * 4f), entity.y + Mathf.range(size * 4)); }else{ entity.warmup = Mathf.lerp(entity.warmup, 0f, 0.02f); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java index a9ca1a7b84..c1960cdeb7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java @@ -8,12 +8,12 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Mathf; public class Incinerator extends Block{ protected Effect effect = BlockFx.fuelburn; @@ -56,7 +56,7 @@ public class Incinerator extends Block{ float g = 0.3f; float r = 0.06f; - Draw.alpha(((1f - g) + Mathf.absin(Timers.time(), 8f, g) + Mathf.random(r) - r) * entity.heat); + Draw.alpha(((1f - g) + Mathf.absin(Time.time(), 8f, g) + Mathf.random(r) - r) * entity.heat); Draw.tint(flameColor); Fill.circle(tile.drawx(), tile.drawy(), 2f); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java b/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java index 01e96fb5c3..5a3bde03ae 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.modules.LiquidModule; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.graphics.Draw; public class LiquidMixer extends LiquidBlock{ protected Liquid outputLiquid; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java index f6249686c3..ec4ae5efc5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java @@ -5,10 +5,10 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; public class PhaseWeaver extends PowerSmelter{ protected TextureRegion bottomRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java index a88f0a9e55..05643bf14d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.production; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; public class PlastaniumCompressor extends GenericCrafter{ protected TextureRegion topRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java index f4d0abceb0..dc9b794842 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java @@ -12,12 +12,12 @@ import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -104,7 +104,7 @@ public class PowerSmelter extends PowerBlock{ if(Mathf.chance(entity.delta() * burnEffectChance)) Effects.effect(burnEffect, entity.x + Mathf.range(size * 4f), entity.y + Mathf.range(size * 4)); }else{ - entity.heat -= 1f / heatUpTime * Timers.delta(); + entity.heat -= 1f / heatUpTime * Time.delta(); } entity.heat = Mathf.clamp(entity.heat); @@ -187,13 +187,13 @@ public class PowerSmelter extends PowerBlock{ float r = 0.06f; float cr = Mathf.random(0.1f); - Draw.alpha(((1f - g) + Mathf.absin(Timers.time(), 8f, g) + Mathf.random(r) - r) * entity.heat); + Draw.alpha(((1f - g) + Mathf.absin(Time.time(), 8f, g) + Mathf.random(r) - r) * entity.heat); Draw.tint(flameColor); - Fill.circle(tile.drawx(), tile.drawy(), 3f + Mathf.absin(Timers.time(), 5f, 2f) + cr); + Fill.circle(tile.drawx(), tile.drawy(), 3f + Mathf.absin(Time.time(), 5f, 2f) + cr); Draw.color(1f, 1f, 1f, entity.heat); Draw.rect(topRegion, tile.drawx(), tile.drawy()); - Fill.circle(tile.drawx(), tile.drawy(), 1.9f + Mathf.absin(Timers.time(), 5f, 1f) + cr); + Fill.circle(tile.drawx(), tile.drawy(), 1.9f + Mathf.absin(Time.time(), 5f, 1f) + cr); Draw.color(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java index dd7d87d4ac..11aee84d76 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.production; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.graphics.Draw; public class Pulverizer extends GenericCrafter{ protected TextureRegion rotatorRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java index b8de5fc2e4..66f49d39f7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.graphics.Draw; +import io.anuke.arc.graphics.Draw; public class Pump extends LiquidBlock{ protected final Array drawTiles = new Array<>(); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java index 4fe5637f97..c87bd9374b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java @@ -12,9 +12,9 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.values.ItemFilterValue; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; /** * Extracts a random list of items from an input item and an input liquid. diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java index f1b7200598..e50fa95736 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java @@ -13,12 +13,12 @@ import io.anuke.mindustry.world.consumers.ConsumeItems; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Fill; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Fill; +import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; @@ -177,12 +177,12 @@ public class Smelter extends Block{ if(entity.heat > 0f){ float g = 0.1f; - Draw.alpha(((1f - g) + Mathf.absin(Timers.time(), 8f, g)) * entity.heat); + Draw.alpha(((1f - g) + Mathf.absin(Time.time(), 8f, g)) * entity.heat); Draw.tint(flameColor); - Fill.circle(tile.drawx(), tile.drawy(), 2f + Mathf.absin(Timers.time(), 5f, 0.8f)); + Fill.circle(tile.drawx(), tile.drawy(), 2f + Mathf.absin(Time.time(), 5f, 0.8f)); Draw.color(1f, 1f, 1f, entity.heat); - Fill.circle(tile.drawx(), tile.drawy(), 1f + Mathf.absin(Timers.time(), 5f, 0.7f)); + Fill.circle(tile.drawx(), tile.drawy(), 1f + Mathf.absin(Time.time(), 5f, 0.7f)); Draw.color(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java index 26c5390307..cfb26702e0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Mathf; /** * Pump that makes liquid from solids and takes in power. Only works on solid floor blocks. diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index 72da901159..ca25eb3a6b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -22,13 +22,13 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.EnumSet; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.EnumSet; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -202,7 +202,7 @@ public class CoreBlock extends StorageBlock{ Call.onUnitRespawn(tile, entity.currentUnit); } }else if(!netServer.isWaitingForPlayers()){ - entity.warmup += Timers.delta(); + entity.warmup += Time.delta(); if(entity.solid && entity.warmup > 60f && unitGroups[tile.getTeamID()].getByID(entity.droneID) == null && !Net.client()){ diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java index 72c5da2b88..6c8d7c2bdf 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java @@ -10,8 +10,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.SelectionTrait; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.layout.Table; import java.io.DataInput; import java.io.DataOutput; @@ -46,7 +46,7 @@ public class SortedUnloader extends Block implements SelectionTrait{ @Override public void playerPlaced(Tile tile){ - threads.runDelay(() -> Call.setSortedUnloaderItem(null, tile, lastItem)); + Core.app.post(() -> Call.setSortedUnloaderItem(null, tile, lastItem)); } @Remote(targets = Loc.both, called = Loc.both, forward = true) diff --git a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java index 2c81810d7e..c37347d70a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java @@ -16,13 +16,13 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.scene.ui.ButtonGroup; -import io.anuke.ucore.scene.ui.ImageButton; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.EnumSet; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.scene.ui.ButtonGroup; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.EnumSet; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java index 3e7f247d57..f273edd4e7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java @@ -19,13 +19,13 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumePowerExact; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Geometry; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Geometry; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -110,7 +110,7 @@ public class MechPad extends Block{ public void drawSelect(Tile tile){ Draw.color(Palette.accent); for(int i = 0; i < 4; i ++){ - float length = tilesize * size/2f + 3 + Mathf.absin(Timers.time(), 5f, 2f); + float length = tilesize * size/2f + 3 + Mathf.absin(Time.time(), 5f, 2f); Draw.rect("transfer-arrow", tile.drawx() + Geometry.d4[i].x * length, tile.drawy() + Geometry.d4[i].y * length, (i+2) * 90); } Draw.color(); diff --git a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java index b728892c01..962d749a63 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java @@ -15,13 +15,13 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Effects.Effect; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -230,7 +230,7 @@ public class Reconstructor extends Block{ boolean stayOpen = false; if(entity.current != null){ - entity.time += Timers.delta(); + entity.time += Time.delta(); entity.solid = true; @@ -243,7 +243,7 @@ public class Reconstructor extends Block{ ReconstructorEntity other = world.tile(entity.link).entity(); - entity.updateTime -= Timers.delta() / departTime; + entity.updateTime -= Time.delta() / departTime; if(entity.updateTime <= 0f){ //no power? death. if(other.power.amount < powerPerTeleport){ @@ -260,7 +260,7 @@ public class Reconstructor extends Block{ entity.current = null; } }else{ //else, arriving - entity.updateTime -= Timers.delta() / arriveTime; + entity.updateTime -= Time.delta() / arriveTime; if(entity.updateTime <= 0f){ entity.solid = false; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java index a3757c1049..9ce7c5b569 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java @@ -11,13 +11,13 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.graphics.Shapes; -import io.anuke.ucore.util.Angles; -import io.anuke.ucore.util.EnumSet; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Timers; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.Shapes; +import io.anuke.arc.util.Angles; +import io.anuke.arc.util.EnumSet; +import io.anuke.arc.util.Mathf; public class RepairPoint extends Block{ private static Rectangle rect = new Rectangle(); @@ -87,15 +87,15 @@ public class RepairPoint extends Block{ entity.target.health >= entity.target.maxHealth())){ entity.target = null; }else if(entity.target != null){ - entity.target.health += repairSpeed * Timers.delta() * entity.strength; + entity.target.health += repairSpeed * Time.delta() * entity.strength; entity.target.clampHealth(); entity.rotation = Mathf.slerpDelta(entity.rotation, entity.angleTo(entity.target), 0.5f); } if(entity.target != null && entity.cons.valid()){ - entity.strength = Mathf.lerpDelta(entity.strength, 1f, 0.08f * Timers.delta()); + entity.strength = Mathf.lerpDelta(entity.strength, 1f, 0.08f * Time.delta()); }else{ - entity.strength = Mathf.lerpDelta(entity.strength, 0f, 0.07f * Timers.delta()); + entity.strength = Mathf.lerpDelta(entity.strength, 0f, 0.07f * Time.delta()); } if(entity.timer.get(timerTarget, 20)){ diff --git a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java index 211d7b5494..74c5938e9d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java @@ -23,12 +23,12 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.ucore.core.Effects; -import io.anuke.ucore.core.Graphics; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Lines; -import io.anuke.ucore.util.EnumSet; -import io.anuke.ucore.util.Mathf; +import io.anuke.arc.core.Effects; +import io.anuke.arc.core.Graphics; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.EnumSet; +import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/consumers/Consume.java b/core/src/io/anuke/mindustry/world/consumers/Consume.java index 754ffcf9c4..3902245284 100644 --- a/core/src/io/anuke/mindustry/world/consumers/Consume.java +++ b/core/src/io/anuke/mindustry/world/consumers/Consume.java @@ -5,8 +5,8 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStats; -import io.anuke.ucore.scene.ui.Tooltip; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.Tooltip; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.mobile; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeItem.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeItem.java index 9476e43eff..76e659759a 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeItem.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeItem.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.ui.ItemImage; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class ConsumeItem extends Consume{ private final Item item; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java index 7c5621bace..bd7ad6a8ba 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java @@ -7,8 +7,8 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.values.ItemFilterValue; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.*; public class ConsumeItemFilter extends Consume{ diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeItems.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeItems.java index b46c984c2d..8ba9fdbb64 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeItems.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeItems.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.values.ItemListValue; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class ConsumeItems extends Consume{ private ItemStack[] items; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquid.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquid.java index be204b4dc0..c5ee119a8f 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquid.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquid.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class ConsumeLiquid extends Consume{ protected final float use; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java index 3562f4c1c5..632a21cfd0 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java @@ -8,8 +8,8 @@ import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumePower.java b/core/src/io/anuke/mindustry/world/consumers/ConsumePower.java index d05ba2c4fa..a38ece0027 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumePower.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumePower.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class ConsumePower extends Consume{ protected final float use; diff --git a/core/src/io/anuke/mindustry/world/consumers/Consumers.java b/core/src/io/anuke/mindustry/world/consumers/Consumers.java index bbac912e22..d3276542bf 100644 --- a/core/src/io/anuke/mindustry/world/consumers/Consumers.java +++ b/core/src/io/anuke/mindustry/world/consumers/Consumers.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Block; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.util.ThreadArray; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.util.ThreadArray; public class Consumers{ private ObjectMap, Consume> map = new ObjectMap<>(); diff --git a/core/src/io/anuke/mindustry/world/meta/BlockStat.java b/core/src/io/anuke/mindustry/world/meta/BlockStat.java index 834e8f3ce2..e6c90e5506 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockStat.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockStat.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import java.util.Locale; @@ -57,6 +57,6 @@ public enum BlockStat{ } public String localized(){ - return Bundles.get("text.blocks." + name().toLowerCase(Locale.ROOT)); + return Core.bundle.get("text.blocks." + name().toLowerCase(Locale.ROOT)); } } diff --git a/core/src/io/anuke/mindustry/world/meta/BlockStats.java b/core/src/io/anuke/mindustry/world/meta/BlockStats.java index ae3de7eb86..aea14d7e50 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockStats.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockStats.java @@ -7,8 +7,8 @@ import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.values.*; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Log; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Log; import java.util.Locale; @@ -56,7 +56,7 @@ public class BlockStats{ /**Adds a stat value.*/ public void add(BlockStat stat, StatValue value){ - if(!Bundles.has("text.blocks." + stat.name().toLowerCase(Locale.ROOT))){ + if(!Core.bundle.has("text.blocks." + stat.name().toLowerCase(Locale.ROOT))){ if(!errorWhenMissing){ Log.err("Warning: No bundle entry for stat type \"" + stat + "\"!"); }else{ @@ -64,7 +64,7 @@ public class BlockStats{ } } - if(!Bundles.has("text.category." + stat.category.name().toLowerCase(Locale.ROOT))){ + if(!Core.bundle.has("text.category." + stat.category.name().toLowerCase(Locale.ROOT))){ if(!errorWhenMissing){ Log.err("Warning: No bundle entry for stat category \"" + stat.category + "\"!"); }else{ diff --git a/core/src/io/anuke/mindustry/world/meta/StatUnit.java b/core/src/io/anuke/mindustry/world/meta/StatUnit.java index 532b7c497f..f7586b025a 100644 --- a/core/src/io/anuke/mindustry/world/meta/StatUnit.java +++ b/core/src/io/anuke/mindustry/world/meta/StatUnit.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta; -import io.anuke.ucore.util.Bundles; +import io.anuke.arc.util.Bundles; import java.util.Locale; @@ -22,6 +22,6 @@ public enum StatUnit{ public String localized(){ if(this == none) return ""; - return Bundles.get("text.unit." + name().toLowerCase(Locale.ROOT)); + return Core.bundle.get("text.unit." + name().toLowerCase(Locale.ROOT)); } } diff --git a/core/src/io/anuke/mindustry/world/meta/StatValue.java b/core/src/io/anuke/mindustry/world/meta/StatValue.java index df53cc2947..fd1e8a69bc 100644 --- a/core/src/io/anuke/mindustry/world/meta/StatValue.java +++ b/core/src/io/anuke/mindustry/world/meta/StatValue.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; /** * A base interface for a value of a stat that is displayed. diff --git a/core/src/io/anuke/mindustry/world/meta/values/BooleanValue.java b/core/src/io/anuke/mindustry/world/meta/values/BooleanValue.java index 7adb9bb0b5..d3b4d7139f 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/BooleanValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/BooleanValue.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.meta.values; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class BooleanValue implements StatValue{ private final boolean value; diff --git a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java index c75c26c8b2..e41a3a307a 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java @@ -4,8 +4,8 @@ import io.anuke.arc.utils.Array; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.ui.ItemDisplay; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java b/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java index af9ab67af2..a316eb26a7 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/ItemListValue.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.ui.ItemDisplay; import io.anuke.mindustry.world.meta.ContentStatValue; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class ItemListValue implements ContentStatValue{ private final Item[] items; diff --git a/core/src/io/anuke/mindustry/world/meta/values/ItemValue.java b/core/src/io/anuke/mindustry/world/meta/values/ItemValue.java index 2b54142976..97d10985da 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/ItemValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/ItemValue.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.ui.ItemDisplay; import io.anuke.mindustry.world.meta.ContentStatValue; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class ItemValue implements ContentStatValue{ private final ItemStack item; diff --git a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java index efafdba7a8..becd6cb304 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java @@ -4,8 +4,8 @@ import io.anuke.arc.utils.Array; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.ui.LiquidDisplay; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.ucore.function.Predicate; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/world/meta/values/LiquidValue.java b/core/src/io/anuke/mindustry/world/meta/values/LiquidValue.java index 0dcc6c03c7..cd2bd85b6e 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/LiquidValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/LiquidValue.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.ui.LiquidDisplay; import io.anuke.mindustry.world.meta.ContentStatValue; -import io.anuke.ucore.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Table; public class LiquidValue implements ContentStatValue{ private final Liquid liquid; diff --git a/core/src/io/anuke/mindustry/world/meta/values/NumberValue.java b/core/src/io/anuke/mindustry/world/meta/values/NumberValue.java index d72f69e877..8c8a058297 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/NumberValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/NumberValue.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.meta.values; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Strings; /** * A stat that is a number with a unit attacked. diff --git a/core/src/io/anuke/mindustry/world/meta/values/StringValue.java b/core/src/io/anuke/mindustry/world/meta/values/StringValue.java index 1a0bc458d0..f51884621a 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/StringValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/StringValue.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world.meta.values; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.ucore.scene.ui.layout.Table; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Strings; public class StringValue implements StatValue{ private final String value; diff --git a/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java b/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java index d3bb8e1976..af88b624ad 100644 --- a/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java +++ b/desktop/src/io/anuke/mindustry/desktop/CrashHandler.java @@ -6,9 +6,9 @@ import com.badlogic.gdx.utils.JsonWriter.OutputType; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.OS; +import io.anuke.arc.core.Settings; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.OS; import java.io.PrintWriter; import java.io.StringWriter; @@ -25,7 +25,7 @@ public class CrashHandler{ try{ //check crash report setting - if(!Settings.getBool("crashreport")){ + if(!Core.settings.getBool("crashreport")){ return; } }catch(Throwable ignored){ diff --git a/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java b/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java index 0604d62e53..d611603f76 100644 --- a/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java +++ b/desktop/src/io/anuke/mindustry/desktop/DesktopPlatform.java @@ -12,9 +12,9 @@ import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.ui.dialogs.FileChooser; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.util.OS; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.util.OS; +import io.anuke.arc.util.Strings; import java.net.NetworkInterface; import java.util.Enumeration; diff --git a/ios/robovm.xml b/ios/robovm.xml index efa0df89f0..a7a06eeb22 100644 --- a/ios/robovm.xml +++ b/ios/robovm.xml @@ -19,7 +19,7 @@ net.jpountz.lz4.** - io.anuke.ucore.scene.** + io.anuke.arc.scene.** io.anuke.mindustry.gen.Call io.anuke.mindustry.net.** com.android.okhttp.HttpHandler diff --git a/ios/src/io/anuke/mindustry/IOSLauncher.java b/ios/src/io/anuke/mindustry/IOSLauncher.java index 4938e4457f..8ed13f374b 100644 --- a/ios/src/io/anuke/mindustry/IOSLauncher.java +++ b/ios/src/io/anuke/mindustry/IOSLauncher.java @@ -10,9 +10,9 @@ import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.scene.ui.layout.Unit; -import io.anuke.ucore.util.Bundles; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Bundles; +import io.anuke.arc.util.Strings; import org.robovm.apple.foundation.NSAutoreleasePool; import org.robovm.apple.foundation.NSURL; import org.robovm.apple.uikit.*; @@ -47,7 +47,7 @@ public class IOSLauncher extends IOSApplication.Delegate { p.getPopoverPresentationController().setSourceView(UIApplication.getSharedApplication().getKeyWindow().getRootViewController().getView()); UIApplication.getSharedApplication().getKeyWindow().getRootViewController() - .presentViewController(p, true, () -> io.anuke.ucore.util.Log.info("Success! Presented {0}", to)); + .presentViewController(p, true, () -> io.anuke.arc.util.Log.info("Success! Presented {0}", to)); } @Override @@ -102,7 +102,7 @@ public class IOSLauncher extends IOSApplication.Delegate { SaveSlot slot = control.saves.importSave(file); ui.load.runLoadSave(slot); }catch (IOException e){ - ui.showError(Bundles.format("text.save.import.fail", Strings.parseException(e, false))); + ui.showError(Core.bundle.format("text.save.import.fail", Strings.parseException(e, false))); } }else{ ui.showError("$text.save.import.invalid"); diff --git a/kryonet/src/io/anuke/kryonet/ByteSerializer.java b/kryonet/src/io/anuke/kryonet/ByteSerializer.java index 119a876658..ace1ac8db2 100644 --- a/kryonet/src/io/anuke/kryonet/ByteSerializer.java +++ b/kryonet/src/io/anuke/kryonet/ByteSerializer.java @@ -4,8 +4,8 @@ import com.esotericsoftware.kryonet.FrameworkMessage; import com.esotericsoftware.kryonet.serialization.Serialization; import io.anuke.mindustry.net.Packet; import io.anuke.mindustry.net.Registrator; -import io.anuke.ucore.function.Supplier; -import io.anuke.ucore.util.Pooling; +import io.anuke.arc.function.Supplier; +import io.anuke.arc.util.Pooling; import java.nio.ByteBuffer; diff --git a/kryonet/src/io/anuke/kryonet/KryoClient.java b/kryonet/src/io/anuke/kryonet/KryoClient.java index abed5b9e2c..069a72ee3e 100644 --- a/kryonet/src/io/anuke/kryonet/KryoClient.java +++ b/kryonet/src/io/anuke/kryonet/KryoClient.java @@ -10,8 +10,8 @@ import io.anuke.mindustry.net.Net.SendMode; import io.anuke.mindustry.net.NetworkIO; import io.anuke.mindustry.net.Packets.Connect; import io.anuke.mindustry.net.Packets.Disconnect; -import io.anuke.ucore.function.Consumer; -import io.anuke.ucore.util.Pooling; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.util.Pooling; import net.jpountz.lz4.LZ4Factory; import net.jpountz.lz4.LZ4FastDecompressor; @@ -71,7 +71,7 @@ public class KryoClient implements ClientProvider{ c.id = connection.getID(); if(connection.getRemoteAddressTCP() != null) c.addressTCP = connection.getRemoteAddressTCP().toString(); - threads.runDelay(() -> Net.handleClientReceived(c)); + Core.app.post(() -> Net.handleClientReceived(c)); } @Override @@ -81,14 +81,14 @@ public class KryoClient implements ClientProvider{ } Disconnect c = new Disconnect(); - threads.runDelay(() -> Net.handleClientReceived(c)); + Core.app.post(() -> Net.handleClientReceived(c)); } @Override public void received(Connection connection, Object object){ if(object instanceof FrameworkMessage) return; - threads.runDelay(() -> { + Core.app.post(() -> { try{ Net.handleClientReceived(object); }catch(Exception e){ diff --git a/kryonet/src/io/anuke/kryonet/KryoCore.java b/kryonet/src/io/anuke/kryonet/KryoCore.java index 01d582edc6..e5169433ff 100644 --- a/kryonet/src/io/anuke/kryonet/KryoCore.java +++ b/kryonet/src/io/anuke/kryonet/KryoCore.java @@ -2,7 +2,7 @@ package io.anuke.kryonet; import com.esotericsoftware.minlog.Log; import com.esotericsoftware.minlog.Log.Logger; -import io.anuke.ucore.util.ColorCodes; +import io.anuke.arc.util.ColorCodes; import java.io.PrintWriter; import java.io.StringWriter; @@ -55,7 +55,7 @@ public class KryoCore{ if(headless) builder.append(ColorCodes.RESET); - io.anuke.ucore.util.Log.info("&b" + builder.toString()); + io.anuke.arc.util.Log.info("&b" + builder.toString()); } }); } diff --git a/kryonet/src/io/anuke/kryonet/KryoServer.java b/kryonet/src/io/anuke/kryonet/KryoServer.java index bd8437b688..77a4dffd4e 100644 --- a/kryonet/src/io/anuke/kryonet/KryoServer.java +++ b/kryonet/src/io/anuke/kryonet/KryoServer.java @@ -16,8 +16,8 @@ import io.anuke.mindustry.net.Packets.Connect; import io.anuke.mindustry.net.Packets.Disconnect; import io.anuke.mindustry.net.Packets.StreamBegin; import io.anuke.mindustry.net.Packets.StreamChunk; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Log; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Log; import net.jpountz.lz4.LZ4Compressor; import net.jpountz.lz4.LZ4Factory; @@ -65,7 +65,7 @@ public class KryoServer implements ServerProvider{ Log.info("&bRecieved connection: {0}", c.addressTCP); connections.add(kn); - threads.runDelay(() -> Net.handleServerReceived(kn.id, c)); + Core.app.post(() -> Net.handleServerReceived(kn.id, c)); } @Override @@ -76,7 +76,7 @@ public class KryoServer implements ServerProvider{ Disconnect c = new Disconnect(); c.id = k.id; - threads.runDelay(() -> { + Core.app.post(() -> { Net.handleServerReceived(k.id, c); connections.remove(k); }); @@ -87,7 +87,7 @@ public class KryoServer implements ServerProvider{ KryoConnection k = getByKryoID(connection.getID()); if(object instanceof FrameworkMessage || k == null) return; - threads.runDelay(() -> { + Core.app.post(() -> { try{ Net.handleServerReceived(k.id, object); }catch(ValidateException e){ @@ -254,7 +254,7 @@ public class KryoServer implements ServerProvider{ } private void handleException(Throwable e){ - Timers.run(0f, () -> { + Time.run(0f, () -> { throw new RuntimeException(e); }); } diff --git a/server/src/io/anuke/mindustry/server/CrashHandler.java b/server/src/io/anuke/mindustry/server/CrashHandler.java index e3b7f33fd0..eb55f17ec7 100644 --- a/server/src/io/anuke/mindustry/server/CrashHandler.java +++ b/server/src/io/anuke/mindustry/server/CrashHandler.java @@ -6,9 +6,9 @@ import com.badlogic.gdx.utils.JsonWriter.OutputType; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.OS; +import io.anuke.arc.core.Settings; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.OS; import java.io.PrintWriter; import java.io.StringWriter; @@ -29,7 +29,7 @@ public class CrashHandler{ //if getting the crash report property failed, OR if it set to false... don't send it try{ - if(!Settings.getBool("crashreport")) return; + if(!Core.settings.getBool("crashreport")) return; }catch(Throwable ignored){ return; } diff --git a/server/src/io/anuke/mindustry/server/MindustryServer.java b/server/src/io/anuke/mindustry/server/MindustryServer.java index 8d7297cae9..ab6c4ad21a 100644 --- a/server/src/io/anuke/mindustry/server/MindustryServer.java +++ b/server/src/io/anuke/mindustry/server/MindustryServer.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.core.NetServer; import io.anuke.mindustry.core.World; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.io.BundleLoader; -import io.anuke.ucore.modules.ModuleCore; +import io.anuke.arc.modules.ModuleCore; import static io.anuke.mindustry.Vars.*; diff --git a/server/src/io/anuke/mindustry/server/ServerControl.java b/server/src/io/anuke/mindustry/server/ServerControl.java index 22c1ab47f1..1d43381736 100644 --- a/server/src/io/anuke/mindustry/server/ServerControl.java +++ b/server/src/io/anuke/mindustry/server/ServerControl.java @@ -23,14 +23,14 @@ import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemType; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.*; -import io.anuke.ucore.modules.Module; -import io.anuke.ucore.util.CommandHandler; -import io.anuke.ucore.util.CommandHandler.Command; -import io.anuke.ucore.util.CommandHandler.Response; -import io.anuke.ucore.util.CommandHandler.ResponseType; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Strings; +import io.anuke.arc.core.*; +import io.anuke.arc.modules.Module; +import io.anuke.arc.util.CommandHandler; +import io.anuke.arc.util.CommandHandler.Command; +import io.anuke.arc.util.CommandHandler.Response; +import io.anuke.arc.util.CommandHandler.ResponseType; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; import java.io.IOException; import java.time.LocalDateTime; @@ -38,7 +38,7 @@ import java.time.format.DateTimeFormatter; import java.util.Scanner; import static io.anuke.mindustry.Vars.*; -import static io.anuke.ucore.util.Log.*; +import static io.anuke.arc.util.Log.*; public class ServerControl extends Module{ private static final int roundExtraTime = 12; @@ -55,7 +55,7 @@ public class ServerControl extends Module{ public ServerControl(String[] args){ - Settings.defaultList( + Core.settings.defaultList( "shufflemode", "normal", "bans", "", "admins", "", @@ -90,13 +90,13 @@ public class ServerControl extends Module{ String result = "[" + dateTime.format(LocalDateTime.now()) + "] " + format(text + "&fr", args); System.out.println(result); - if(Settings.getBool("logging")){ + if(Core.settings.getBool("logging")){ logToFile("[" + dateTime.format(LocalDateTime.now()) + "] " + format(text + "&fr", false, args)); } } }); - Timers.setDeltaProvider(() -> Gdx.graphics.getDeltaTime() * 60f); + Time.setDeltaProvider(() -> Gdx.graphics.getDeltaTime() * 60f); Effects.setScreenShakeProvider((a, b) -> {}); Effects.setEffectProvider((a, b, c, d, e, f) -> {}); Sounds.setHeadless(true); @@ -136,8 +136,8 @@ public class ServerControl extends Module{ world.sectors.save(); gameOvers = 0; inExtraRound = true; - Settings.putInt("sector_x", world.getSector().x + 1); - Settings.save(); + Core.settings.putInt("sector_x", world.getSector().x + 1); + Core.settings.save(); Call.onInfoMessage("[accent]Sector conquered![]\n" + roundExtraTime + " seconds until deployment in next sector."); @@ -148,7 +148,7 @@ public class ServerControl extends Module{ if(inExtraRound) return; info("Game over!"); - if(Settings.getBool("shuffle")){ + if(Core.settings.getBool("shuffle")){ if(world.getSector() == null){ if(world.maps.all().size > 0){ Array maps = world.maps.customMaps().size == 0 ? world.maps.defaultMaps() : world.maps.customMaps(); @@ -174,13 +174,13 @@ public class ServerControl extends Module{ }else{ Call.onInfoMessage("[SCARLET]Sector has been lost.[]\nRe-deploying in " + roundExtraTime + " seconds."); if(gameOvers >= 2){ - Settings.putInt("sector_y", Settings.getInt("sector_y") < 0 ? Settings.getInt("sector_y") + 1 : Settings.getInt("sector_y") - 1); - Settings.save(); + Core.settings.putInt("sector_y", Core.settings.getInt("sector_y") < 0 ? Core.settings.getInt("sector_y") + 1 : Core.settings.getInt("sector_y") - 1); + Core.settings.save(); gameOvers = 0; } gameOvers ++; playSectorMap(); - info("Re-trying sector map: {0} {1}", Settings.getInt("sector_x"), Settings.getInt("sector_y")); + info("Re-trying sector map: {0} {1}", Core.settings.getInt("sector_x"), Core.settings.getInt("sector_y")); } }else{ netServer.kickAll(KickReason.gameover); @@ -261,7 +261,7 @@ public class ServerControl extends Module{ logic.play(); }else{ - info("&fiNo map specified. Loading sector {0}, {1}.", Settings.getInt("sector_x"), Settings.getInt("sector_y")); + info("&fiNo map specified. Loading sector {0}, {1}.", Core.settings.getInt("sector_x"), Core.settings.getInt("sector_y")); playSectorMap(false); } @@ -272,7 +272,7 @@ public class ServerControl extends Module{ handler.register("port", "[port]", "Sets or displays the port for hosting the server.", arg -> { if(arg.length == 0){ - info("&lyPort: &lc{0}", Settings.getInt("port")); + info("&lyPort: &lc{0}", Core.settings.getInt("port")); }else{ int port = Strings.parseInt(arg[0]); if(port < 0 || port > 65535){ @@ -280,8 +280,8 @@ public class ServerControl extends Module{ return; } info("&lyPort set to {0}.", port); - Settings.putInt("port", port); - Settings.save(); + Core.settings.putInt("port", port); + Core.settings.save(); } }); @@ -305,7 +305,7 @@ public class ServerControl extends Module{ info("&ly {0} seconds until next wave.", (int) (state.wavetime / 60)); } - info(" &ly{0} FPS.", (int) (60f / Timers.delta())); + info(" &ly{0} FPS.", (int) (60f / Time.delta())); info(" &ly{0} MB used.", Gdx.app.getJavaHeap() / 1024 / 1024); if(playerGroup.size() > 0){ @@ -341,9 +341,9 @@ public class ServerControl extends Module{ handler.register("setsector", " ", "Sets the next sector to be played. Does not affect current game.", arg -> { try{ - Settings.putInt("sector_x", Integer.parseInt(arg[0])); - Settings.putInt("sector_y", Integer.parseInt(arg[1])); - Settings.save(); + Core.settings.putInt("sector_x", Integer.parseInt(arg[0])); + Core.settings.putInt("sector_y", Integer.parseInt(arg[1])); + Core.settings.save(); info("Sector position set."); }catch(NumberFormatException e){ err("Invalid coordinates."); @@ -378,15 +378,15 @@ public class ServerControl extends Module{ handler.register("crashreport", "", "Disables or enables automatic crash reporting", arg -> { boolean value = arg[0].equalsIgnoreCase("on"); - Settings.putBool("crashreport", value); - Settings.save(); + Core.settings.putBool("crashreport", value); + Core.settings.save(); info("Crash reporting is now {0}.", value ? "on" : "off"); }); handler.register("logging", "", "Disables or enables server logs", arg -> { boolean value = arg[0].equalsIgnoreCase("on"); - Settings.putBool("logging", value); - Settings.save(); + Core.settings.putBool("logging", value); + Core.settings.save(); info("Logging is now {0}.", value ? "on" : "off"); }); @@ -419,8 +419,8 @@ public class ServerControl extends Module{ err("Invalid shuffle mode."); return; } - Settings.putBool("shuffle", arg[0].equals("on")); - Settings.save(); + Core.settings.putBool("shuffle", arg[0].equals("on")); + Core.settings.save(); info("Shuffle mode set to '{0}'.", arg[0]); }); @@ -712,7 +712,7 @@ public class ServerControl extends Module{ } private void playSectorMap(boolean wait){ - int x = Settings.getInt("sector_x"), y = Settings.getInt("sector_y"); + int x = Core.settings.getInt("sector_x"), y = Core.settings.getInt("sector_y"); if(world.sectors.get(x, y) == null){ world.sectors.createSector(x, y); } @@ -758,8 +758,8 @@ public class ServerControl extends Module{ private void host(){ try{ - Net.host(Settings.getInt("port")); - info("&lcOpened a server on port {0}.", Settings.getInt("port")); + Net.host(Core.settings.getInt("port")); + info("&lcOpened a server on port {0}.", Core.settings.getInt("port")); }catch(IOException e){ err(e); state.set(State.menu); diff --git a/server/src/io/anuke/mindustry/server/ServerLauncher.java b/server/src/io/anuke/mindustry/server/ServerLauncher.java index fb7fd882dc..9a45d607cf 100644 --- a/server/src/io/anuke/mindustry/server/ServerLauncher.java +++ b/server/src/io/anuke/mindustry/server/ServerLauncher.java @@ -7,8 +7,8 @@ import com.badlogic.gdx.backends.headless.HeadlessApplicationConfiguration; import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoServer; import io.anuke.mindustry.net.Net; -import io.anuke.ucore.core.Settings; -import io.anuke.ucore.util.EmptyLogger; +import io.anuke.arc.core.Settings; +import io.anuke.arc.util.EmptyLogger; public class ServerLauncher extends HeadlessApplication{ @@ -26,7 +26,7 @@ public class ServerLauncher extends HeadlessApplication{ Net.setServerProvider(new KryoServer()); HeadlessApplicationConfiguration config = new HeadlessApplicationConfiguration(); - Settings.setPrefHandler((appName) -> Gdx.files.local("config")); + Core.settings.setPrefHandler((appName) -> Gdx.files.local("config")); new ServerLauncher(new MindustryServer(args), config); }catch(Throwable t){ diff --git a/tests/src/test/java/ApplicationTests.java b/tests/src/test/java/ApplicationTests.java index b690f63880..ef5229000c 100644 --- a/tests/src/test/java/ApplicationTests.java +++ b/tests/src/test/java/ApplicationTests.java @@ -24,10 +24,10 @@ import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.modules.ModuleCore; -import io.anuke.ucore.util.EmptyLogger; -import io.anuke.ucore.util.Log; +import io.anuke.arc.core.Timers; +import io.anuke.arc.modules.ModuleCore; +import io.anuke.arc.util.EmptyLogger; +import io.anuke.arc.util.Log; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -98,7 +98,7 @@ public class ApplicationTests{ @BeforeEach void resetWorld(){ - Timers.setDeltaProvider(() -> 1f); + Time.setDeltaProvider(() -> 1f); logic.reset(); state.set(State.menu); } @@ -179,11 +179,11 @@ public class ApplicationTests{ @Test void timers(){ boolean[] ran = {false}; - Timers.run(1.9999f, () -> ran[0] = true); + Time.run(1.9999f, () -> ran[0] = true); - Timers.update(); + Time.update(); assertFalse(ran[0]); - Timers.update(); + Time.update(); assertTrue(ran[0]); } @@ -243,7 +243,7 @@ public class ApplicationTests{ d1.addBuildRequest(new BuildRequest(0, 0, 0, Recipe.getByResult(DefenseBlocks.copperWallLarge))); d2.addBuildRequest(new BuildRequest(1, 1, 0, Recipe.getByResult(DefenseBlocks.copperWallLarge))); - Timers.setDeltaProvider(() -> 9999999f); + Time.setDeltaProvider(() -> 9999999f); d1.updateBuilding(d1); d2.updateBuilding(d2); @@ -265,14 +265,14 @@ public class ApplicationTests{ d1.addBuildRequest(new BuildRequest(0, 0, 0, Recipe.getByResult(DefenseBlocks.copperWallLarge))); d2.addBuildRequest(new BuildRequest(1, 1)); - Timers.setDeltaProvider(() -> 3f); + Time.setDeltaProvider(() -> 3f); d1.updateBuilding(d1); - Timers.setDeltaProvider(() -> 1f); + Time.setDeltaProvider(() -> 1f); d2.updateBuilding(d2); assertEquals(content.getByName(ContentType.block, "build2"), world.tile(0, 0).block()); - Timers.setDeltaProvider(() -> 9999f); + Time.setDeltaProvider(() -> 9999f); d1.updateBuilding(d1); d2.updateBuilding(d2); diff --git a/tools/src/io/anuke/mindustry/BundleLauncher.java b/tools/src/io/anuke/mindustry/BundleLauncher.java index 47dd648088..b60b46eda0 100644 --- a/tools/src/io/anuke/mindustry/BundleLauncher.java +++ b/tools/src/io/anuke/mindustry/BundleLauncher.java @@ -3,8 +3,8 @@ package io.anuke.mindustry; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.OrderedMap; import com.badlogic.gdx.utils.PropertiesUtils; -import io.anuke.ucore.function.BiFunction; -import io.anuke.ucore.util.Log; +import io.anuke.arc.function.BiFunction; +import io.anuke.arc.util.Log; import java.io.File; import java.io.FileInputStream; diff --git a/tools/src/io/anuke/mindustry/Generators.java b/tools/src/io/anuke/mindustry/Generators.java index e4d0bf7b10..6af829e9b1 100644 --- a/tools/src/io/anuke/mindustry/Generators.java +++ b/tools/src/io/anuke/mindustry/Generators.java @@ -10,8 +10,8 @@ import io.anuke.mindustry.type.Mech; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.ucore.graphics.Draw; -import io.anuke.ucore.graphics.Hue; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Hue; import static io.anuke.mindustry.Vars.*; public class Generators { diff --git a/tools/src/io/anuke/mindustry/Image.java b/tools/src/io/anuke/mindustry/Image.java index 7a5f19d311..69c0c6be6b 100644 --- a/tools/src/io/anuke/mindustry/Image.java +++ b/tools/src/io/anuke/mindustry/Image.java @@ -2,7 +2,7 @@ package io.anuke.mindustry; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.TextureRegion; -import io.anuke.ucore.util.Structs; +import io.anuke.arc.util.Structs; import javax.imageio.ImageIO; import java.awt.*; diff --git a/tools/src/io/anuke/mindustry/ImageContext.java b/tools/src/io/anuke/mindustry/ImageContext.java index c05fc30df4..c8b5d832d5 100644 --- a/tools/src/io/anuke/mindustry/ImageContext.java +++ b/tools/src/io/anuke/mindustry/ImageContext.java @@ -6,12 +6,12 @@ import com.badlogic.gdx.graphics.g2d.TextureAtlas.TextureAtlasData.Region; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.utils.ObjectMap; import io.anuke.mindustry.core.ContentLoader; -import io.anuke.ucore.core.Core; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Atlas; -import io.anuke.ucore.util.Log; -import io.anuke.ucore.util.Log.LogHandler; -import io.anuke.ucore.util.Log.NoopLogHandler; +import io.anuke.arc.core.Core; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Atlas; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Log.LogHandler; +import io.anuke.arc.util.Log.NoopLogHandler; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -89,9 +89,9 @@ public class ImageContext { } public void generate(String name, Runnable run){ - Timers.mark(); + Time.mark(); run.run(); - Log.info("&ly[Generator]&lc Time to generate &lm{0}&lc: &lg{1}&lcms", name, Timers.elapsed()); + Log.info("&ly[Generator]&lc Time to generate &lm{0}&lc: &lg{1}&lcms", name, Time.elapsed()); } public Image create(int width, int height){ diff --git a/tools/src/io/anuke/mindustry/PackerLauncher.java b/tools/src/io/anuke/mindustry/PackerLauncher.java index 7aaf89ddf6..df2e3f4f8e 100644 --- a/tools/src/io/anuke/mindustry/PackerLauncher.java +++ b/tools/src/io/anuke/mindustry/PackerLauncher.java @@ -1,7 +1,7 @@ package io.anuke.mindustry; -import io.anuke.ucore.core.Timers; -import io.anuke.ucore.util.Log; +import io.anuke.arc.core.Timers; +import io.anuke.arc.util.Log; import java.io.IOException; @@ -11,9 +11,9 @@ public class PackerLauncher { Vars.headless = true; ImageContext context = new ImageContext(); context.load(); - Timers.mark(); + Time.mark(); Generators.generate(context); - Log.info("&ly[Generator]&lc Total time to generate: &lg{0}&lcms", Timers.elapsed()); + Log.info("&ly[Generator]&lc Total time to generate: &lg{0}&lcms", Time.elapsed()); Log.info("&ly[Generator]&lc Total images created: &lg{0}", Image.total()); Image.dispose(); } From 3abfaf1bcac2fc5f6ae614e084d76029981a5253 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 21 Dec 2018 21:33:05 -0500 Subject: [PATCH 03/16] ctrl-shift-f --- build.gradle | 2 + core/src/io/anuke/mindustry/Mindustry.java | 10 +-- core/src/io/anuke/mindustry/Vars.java | 2 +- .../io/anuke/mindustry/ai/BlockIndexer.java | 17 ++--- .../src/io/anuke/mindustry/ai/Pathfinder.java | 18 ++--- .../io/anuke/mindustry/ai/WaveSpawner.java | 6 +- .../src/io/anuke/mindustry/content/Mechs.java | 16 ++-- .../mindustry/content/StatusEffects.java | 6 +- .../io/anuke/mindustry/content/UnitTypes.java | 2 +- .../mindustry/content/blocks/Blocks.java | 4 +- .../mindustry/content/blocks/DebugBlocks.java | 2 +- .../mindustry/content/blocks/OreBlocks.java | 2 +- .../content/blocks/TurretBlocks.java | 8 +- .../content/bullets/FlakBullets.java | 2 +- .../content/bullets/MissileBullets.java | 4 +- .../content/bullets/TurretBullets.java | 12 +-- .../content/bullets/WeaponBullets.java | 2 +- .../anuke/mindustry/content/fx/BlockFx.java | 4 +- .../anuke/mindustry/content/fx/BulletFx.java | 4 +- .../mindustry/content/fx/EnvironmentFx.java | 9 +-- .../mindustry/content/fx/ExplosionFx.java | 4 +- .../src/io/anuke/mindustry/content/fx/Fx.java | 2 +- .../anuke/mindustry/content/fx/ShootFx.java | 4 +- .../io/anuke/mindustry/content/fx/UnitFx.java | 4 +- .../anuke/mindustry/core/ContentLoader.java | 2 +- core/src/io/anuke/mindustry/core/Control.java | 11 +-- .../io/anuke/mindustry/core/GameState.java | 2 +- core/src/io/anuke/mindustry/core/Logic.java | 18 ++--- .../io/anuke/mindustry/core/NetClient.java | 37 +++++----- .../io/anuke/mindustry/core/NetServer.java | 60 +++++++-------- .../src/io/anuke/mindustry/core/Platform.java | 12 ++- .../src/io/anuke/mindustry/core/Renderer.java | 16 ++-- core/src/io/anuke/mindustry/core/UI.java | 45 +++++------ core/src/io/anuke/mindustry/core/World.java | 31 ++++---- .../anuke/mindustry/editor/DrawOperation.java | 4 +- .../io/anuke/mindustry/editor/EditorTool.java | 2 +- .../io/anuke/mindustry/editor/MapEditor.java | 4 +- .../mindustry/editor/MapEditorDialog.java | 31 ++++---- .../anuke/mindustry/editor/MapInfoDialog.java | 4 +- .../anuke/mindustry/editor/MapLoadDialog.java | 2 +- .../anuke/mindustry/editor/MapRenderer.java | 18 ++--- .../mindustry/editor/MapResizeDialog.java | 2 +- .../io/anuke/mindustry/editor/MapView.java | 20 ++--- .../mindustry/editor/OperationStack.java | 2 +- .../io/anuke/mindustry/entities/Damage.java | 10 +-- .../io/anuke/mindustry/entities/Player.java | 65 ++++++++-------- .../io/anuke/mindustry/entities/Predict.java | 2 +- .../mindustry/entities/StatusController.java | 4 +- .../anuke/mindustry/entities/TileEntity.java | 26 +++---- .../src/io/anuke/mindustry/entities/Unit.java | 29 ++++---- .../io/anuke/mindustry/entities/Units.java | 22 +++--- .../entities/bullet/ArtilleryBulletType.java | 4 +- .../entities/bullet/BasicBulletType.java | 10 +-- .../mindustry/entities/bullet/Bullet.java | 4 +- .../mindustry/entities/bullet/BulletType.java | 4 +- .../entities/bullet/FlakBulletType.java | 4 +- .../entities/bullet/LiquidBulletType.java | 4 +- .../entities/bullet/MissileBulletType.java | 6 +- .../mindustry/entities/effect/Decal.java | 2 +- .../anuke/mindustry/entities/effect/Fire.java | 10 +-- .../entities/effect/GroundEffectEntity.java | 10 +-- .../entities/effect/ItemTransfer.java | 4 +- .../mindustry/entities/effect/Lightning.java | 5 +- .../mindustry/entities/effect/Puddle.java | 10 +-- .../entities/effect/RubbleDecal.java | 2 +- .../entities/effect/ScorchDecal.java | 4 +- .../entities/traits/BuilderTrait.java | 22 +++--- .../mindustry/entities/traits/CarryTrait.java | 2 +- .../mindustry/entities/traits/SyncTrait.java | 2 +- .../mindustry/entities/units/BaseUnit.java | 4 +- .../mindustry/entities/units/FlyingUnit.java | 2 +- .../mindustry/entities/units/GroundUnit.java | 4 +- .../mindustry/entities/units/UnitDrops.java | 2 +- .../mindustry/entities/units/UnitType.java | 10 +-- .../entities/units/types/AlphaDrone.java | 4 +- .../mindustry/entities/units/types/Drone.java | 12 +-- .../io/anuke/mindustry/game/EventType.java | 8 -- core/src/io/anuke/mindustry/game/Saves.java | 17 ++--- core/src/io/anuke/mindustry/game/Teams.java | 7 +- core/src/io/anuke/mindustry/game/Unlocks.java | 8 +- core/src/io/anuke/mindustry/game/Version.java | 4 +- core/src/io/anuke/mindustry/game/Waves.java | 2 +- .../mindustry/graphics/BlockRenderer.java | 14 ++-- .../anuke/mindustry/graphics/CacheLayer.java | 4 +- .../mindustry/graphics/FloorRenderer.java | 17 ++--- .../anuke/mindustry/graphics/FogRenderer.java | 9 +-- .../mindustry/graphics/MinimapRenderer.java | 11 ++- .../mindustry/graphics/OverlayRenderer.java | 12 +-- .../io/anuke/mindustry/graphics/Shaders.java | 4 +- .../io/anuke/mindustry/graphics/Trail.java | 6 +- .../anuke/mindustry/input/DesktopInput.java | 40 +++++----- .../anuke/mindustry/input/InputHandler.java | 74 +++++++++---------- .../io/anuke/mindustry/input/MobileInput.java | 12 +-- .../io/anuke/mindustry/input/PlaceUtils.java | 2 +- .../io/anuke/mindustry/io/BundleLoader.java | 6 +- .../src/io/anuke/mindustry/io/Changelogs.java | 6 +- .../io/anuke/mindustry/io/Contributors.java | 6 +- core/src/io/anuke/mindustry/io/MapIO.java | 6 +- .../anuke/mindustry/io/SaveFileVersion.java | 2 +- core/src/io/anuke/mindustry/io/SaveIO.java | 6 +- core/src/io/anuke/mindustry/io/TypeIO.java | 4 +- .../anuke/mindustry/io/versions/Save16.java | 4 +- core/src/io/anuke/mindustry/maps/Map.java | 2 +- core/src/io/anuke/mindustry/maps/MapMeta.java | 4 +- .../io/anuke/mindustry/maps/MapTileData.java | 2 +- core/src/io/anuke/mindustry/maps/Maps.java | 6 +- core/src/io/anuke/mindustry/maps/Sector.java | 2 +- .../anuke/mindustry/maps/SectorPresets.java | 2 +- core/src/io/anuke/mindustry/maps/Sectors.java | 7 +- .../anuke/mindustry/maps/TutorialSector.java | 2 +- .../maps/generation/FortressGenerator.java | 8 +- .../maps/generation/WorldGenerator.java | 8 +- .../maps/missions/BattleMission.java | 2 +- .../maps/missions/BlockLocMission.java | 4 +- .../maps/missions/LineBlockMission.java | 2 +- .../mindustry/maps/missions/Mission.java | 4 +- .../missions/MissionWithStartingCore.java | 2 +- .../mindustry/maps/missions/Missions.java | 2 +- .../mindustry/maps/missions/WaveMission.java | 2 +- .../anuke/mindustry/net/Administration.java | 8 +- .../io/anuke/mindustry/net/Interpolator.java | 15 ++-- core/src/io/anuke/mindustry/net/Net.java | 8 +- .../src/io/anuke/mindustry/net/NetworkIO.java | 12 +-- core/src/io/anuke/mindustry/net/Packet.java | 2 +- core/src/io/anuke/mindustry/net/Packets.java | 2 +- .../io/anuke/mindustry/net/Registrator.java | 2 +- .../src/io/anuke/mindustry/type/AmmoType.java | 2 +- core/src/io/anuke/mindustry/type/Item.java | 4 +- core/src/io/anuke/mindustry/type/Liquid.java | 2 +- core/src/io/anuke/mindustry/type/Mech.java | 8 +- core/src/io/anuke/mindustry/type/Recipe.java | 6 +- .../io/anuke/mindustry/type/StatusEffect.java | 2 +- core/src/io/anuke/mindustry/type/Weapon.java | 10 +-- .../io/anuke/mindustry/ui/ContentDisplay.java | 4 +- core/src/io/anuke/mindustry/ui/GridImage.java | 2 +- .../src/io/anuke/mindustry/ui/MenuButton.java | 2 +- core/src/io/anuke/mindustry/ui/Minimap.java | 4 +- .../io/anuke/mindustry/ui/MobileButton.java | 2 +- .../mindustry/ui/dialogs/AboutDialog.java | 8 +- .../mindustry/ui/dialogs/ChangelogDialog.java | 4 +- .../mindustry/ui/dialogs/ControlsDialog.java | 2 +- .../ui/dialogs/CustomGameDialog.java | 7 +- .../mindustry/ui/dialogs/FileChooser.java | 7 +- .../mindustry/ui/dialogs/FloatingDialog.java | 5 +- .../mindustry/ui/dialogs/GenViewDialog.java | 6 +- .../mindustry/ui/dialogs/HostDialog.java | 4 +- .../mindustry/ui/dialogs/JoinDialog.java | 6 +- .../mindustry/ui/dialogs/LanguageDialog.java | 2 +- .../mindustry/ui/dialogs/LoadDialog.java | 6 +- .../ui/dialogs/LocalPlayerDialog.java | 4 +- .../mindustry/ui/dialogs/MapsDialog.java | 2 +- .../mindustry/ui/dialogs/SaveDialog.java | 2 +- .../mindustry/ui/dialogs/SectorsDialog.java | 6 +- .../ui/dialogs/SettingsMenuDialog.java | 6 +- .../mindustry/ui/dialogs/UnlocksDialog.java | 2 +- .../ui/fragments/BackgroundFragment.java | 4 +- .../ui/fragments/BlockConfigFragment.java | 5 +- .../ui/fragments/BlockConsumeFragment.java | 6 +- .../ui/fragments/BlockInventoryFragment.java | 10 +-- .../mindustry/ui/fragments/ChatFragment.java | 19 +++-- .../mindustry/ui/fragments/HudFragment.java | 12 +-- .../mindustry/ui/fragments/MenuFragment.java | 2 +- .../ui/fragments/PlacementFragment.java | 18 ++--- .../ui/fragments/PlayerListFragment.java | 2 +- .../io/anuke/mindustry/world/BaseBlock.java | 12 +-- core/src/io/anuke/mindustry/world/Block.java | 35 +++++---- core/src/io/anuke/mindustry/world/Build.java | 2 +- .../io/anuke/mindustry/world/ColorMapper.java | 4 +- core/src/io/anuke/mindustry/world/Edges.java | 8 +- .../io/anuke/mindustry/world/ItemBuffer.java | 4 +- .../mindustry/world/LegacyColorMapper.java | 2 +- core/src/io/anuke/mindustry/world/Tile.java | 2 +- .../mindustry/world/blocks/BuildBlock.java | 6 +- .../anuke/mindustry/world/blocks/Floor.java | 40 +++++----- .../mindustry/world/blocks/LiquidBlock.java | 8 +- .../mindustry/world/blocks/OreBlock.java | 2 +- .../io/anuke/mindustry/world/blocks/Rock.java | 6 +- .../world/blocks/SelectionTrait.java | 2 +- .../world/blocks/defense/DeflectorWall.java | 6 +- .../mindustry/world/blocks/defense/Door.java | 6 +- .../world/blocks/defense/ForceProjector.java | 10 +-- .../world/blocks/defense/MendProjector.java | 12 +-- .../blocks/defense/OverdriveProjector.java | 12 +-- .../world/blocks/defense/ShockMine.java | 2 +- .../world/blocks/defense/SurgeWall.java | 2 +- .../defense/turrets/ArtilleryTurret.java | 4 +- .../blocks/defense/turrets/BurstTurret.java | 4 +- .../blocks/defense/turrets/ChargeTurret.java | 8 +- .../blocks/defense/turrets/CooledTurret.java | 8 +- .../blocks/defense/turrets/DoubleTurret.java | 2 +- .../blocks/defense/turrets/ItemTurret.java | 2 +- .../blocks/defense/turrets/LaserTurret.java | 6 +- .../blocks/defense/turrets/LiquidTurret.java | 4 +- .../world/blocks/defense/turrets/Turret.java | 22 +++--- .../distribution/BufferedItemBridge.java | 2 +- .../world/blocks/distribution/Conduit.java | 10 +-- .../world/blocks/distribution/Conveyor.java | 10 +-- .../distribution/ExtendingItemBridge.java | 2 +- .../world/blocks/distribution/ItemBridge.java | 16 ++-- .../world/blocks/distribution/Junction.java | 4 +- .../blocks/distribution/LiquidBridge.java | 4 +- .../distribution/LiquidExtendingBridge.java | 6 +- .../blocks/distribution/LiquidJunction.java | 2 +- .../world/blocks/distribution/MassDriver.java | 18 ++--- .../blocks/distribution/OverflowGate.java | 4 +- .../world/blocks/distribution/Router.java | 4 +- .../world/blocks/distribution/Sorter.java | 2 +- .../world/blocks/power/FusionReactor.java | 8 +- .../world/blocks/power/ItemGenerator.java | 10 +-- .../blocks/power/ItemLiquidGenerator.java | 4 +- .../world/blocks/power/LiquidGenerator.java | 6 +- .../world/blocks/power/NuclearReactor.java | 10 +-- .../world/blocks/power/PowerGraph.java | 8 +- .../world/blocks/power/PowerNode.java | 6 +- .../world/blocks/power/SolarGenerator.java | 2 +- .../world/blocks/production/Compressor.java | 10 +-- .../world/blocks/production/Cultivator.java | 10 +-- .../world/blocks/production/Drill.java | 22 +++--- .../world/blocks/production/Fracker.java | 8 +- .../blocks/production/GenericCrafter.java | 10 +-- .../world/blocks/production/Incinerator.java | 8 +- .../world/blocks/production/PhaseWeaver.java | 10 +-- .../production/PlastaniumCompressor.java | 4 +- .../world/blocks/production/PowerSmelter.java | 10 +-- .../world/blocks/production/Pulverizer.java | 4 +- .../world/blocks/production/Pump.java | 6 +- .../world/blocks/production/Separator.java | 4 +- .../world/blocks/production/Smelter.java | 8 +- .../world/blocks/production/SolidPump.java | 10 +-- .../world/blocks/storage/CoreBlock.java | 14 ++-- .../world/blocks/units/CommandCenter.java | 8 +- .../mindustry/world/blocks/units/MechPad.java | 12 +-- .../world/blocks/units/Reconstructor.java | 12 +-- .../world/blocks/units/RepairPoint.java | 8 +- .../world/blocks/units/UnitFactory.java | 12 +-- .../world/consumers/ConsumeItemFilter.java | 2 +- .../world/consumers/ConsumeLiquidFilter.java | 2 +- .../mindustry/world/consumers/Consumers.java | 4 +- .../anuke/mindustry/world/meta/BlockBars.java | 2 +- .../mindustry/world/meta/BlockStats.java | 4 +- .../world/meta/values/ItemFilterValue.java | 2 +- .../world/meta/values/LiquidFilterValue.java | 2 +- .../mindustry/world/modules/PowerModule.java | 2 +- settings.gradle | 4 + 244 files changed, 976 insertions(+), 999 deletions(-) diff --git a/build.gradle b/build.gradle index 59ae916aa4..ebfe1fb305 100644 --- a/build.gradle +++ b/build.gradle @@ -169,7 +169,9 @@ project(":core"){ if(!comp) println("Note: Compiling release build.") if(new File(projectDir.parent, '../Arc').exists() && comp){ + println(project(":Arc:extensions").subprojects) compile project(":Arc:core") + compile project(":Arc:extensions:freetype") }else{ //TODO compile arc from jitpack //compile 'com.github.Anuken.Arc:arc:-SNAPSHOT' diff --git a/core/src/io/anuke/mindustry/Mindustry.java b/core/src/io/anuke/mindustry/Mindustry.java index c0ad31f3eb..753348b053 100644 --- a/core/src/io/anuke/mindustry/Mindustry.java +++ b/core/src/io/anuke/mindustry/Mindustry.java @@ -3,10 +3,8 @@ package io.anuke.mindustry; import io.anuke.arc.ApplicationListener; import io.anuke.arc.Core; import io.anuke.arc.Events; -import io.anuke.arc.Settings; -import io.anuke.arc.utils.Log; -import io.anuke.arc.utils.Time; -import io.anuke.arc.utils.TimeUtils; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Time; import io.anuke.mindustry.core.*; import io.anuke.mindustry.game.EventType.GameLoadEvent; import io.anuke.mindustry.io.BundleLoader; @@ -47,7 +45,7 @@ public class Mindustry implements ApplicationListener{ @Override public void update(){ - lastFrameTime = TimeUtils.millis(); + lastFrameTime = Time.millis(); //TODO ??render it all?? @@ -55,7 +53,7 @@ public class Mindustry implements ApplicationListener{ if(fpsCap <= 120){ long target = 1000/fpsCap; - long elapsed = TimeUtils.timeSinceMillis(lastFrameTime); + long elapsed = Time.timeSinceMillis(lastFrameTime); if(elapsed < target){ try{ Thread.sleep(target - elapsed); diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 4fa818fa9c..8a017eb548 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.game.Version; import io.anuke.mindustry.gen.Serialization; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Settings; import io.anuke.arc.entities.Entities; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.EffectEntity; diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index 3277e53e5c..0902c0546e 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -1,7 +1,12 @@ package io.anuke.mindustry.ai; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.*; +import io.anuke.arc.Events; +import io.anuke.arc.collection.*; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Bits; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.game.EventType.TileChangeEvent; @@ -11,12 +16,6 @@ import io.anuke.mindustry.game.Teams.TeamData; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Events; -import io.anuke.arc.function.Predicate; -import io.anuke.arc.util.EnumSet; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; -import io.anuke.arc.util.ThreadArray; import static io.anuke.mindustry.Vars.*; @@ -47,7 +46,7 @@ public class BlockIndexer{ /**Empty set used for returning.*/ private ObjectSet emptySet = new ObjectSet<>(); /**Array used for returning and reusing.*/ - private Array returnArray = new ThreadArray<>(); + private Array returnArray = new Array<>(); public BlockIndexer(){ Events.on(TileChangeEvent.class, event -> { diff --git a/core/src/io/anuke/mindustry/ai/Pathfinder.java b/core/src/io/anuke/mindustry/ai/Pathfinder.java index ac7a07c727..73864f6773 100644 --- a/core/src/io/anuke/mindustry/ai/Pathfinder.java +++ b/core/src/io/anuke/mindustry/ai/Pathfinder.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ai; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.IntArray; -import io.anuke.arc.utils.Queue; -import io.anuke.arc.utils.TimeUtils; +import io.anuke.arc.util.IntArray; +import io.anuke.arc.util.Queue; +import io.anuke.arc.util.Time; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadEvent; import io.anuke.mindustry.game.Team; @@ -11,8 +11,8 @@ import io.anuke.mindustry.game.Teams.TeamData; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Events; +import io.anuke.arc.Timers; import io.anuke.arc.util.Geometry; import io.anuke.arc.util.Structs; @@ -20,7 +20,7 @@ import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.world; public class Pathfinder{ - private long maxUpdate = TimeUtils.millisToNanos(4); + private long maxUpdate = Time.millisToNanos(4); private PathData[] paths; private IntArray blocked = new IntArray(); @@ -105,7 +105,7 @@ public class Pathfinder{ //increment search, clear frontier path.search++; path.frontier.clear(); - path.lastSearchTime = TimeUtils.millis(); + path.lastSearchTime = Time.millis(); //add all targets to the frontier for(Tile other : world.indexer.getEnemy(team, BlockFlag.target)){ @@ -144,9 +144,9 @@ public class Pathfinder{ private void updateFrontier(Team team, long nsToRun){ PathData path = paths[team.ordinal()]; - long start = TimeUtils.nanoTime(); + long start = Time.nanoTime(); - while(path.frontier.size > 0 && (nsToRun < 0 || TimeUtils.timeSinceNanos(start) <= nsToRun)){ + while(path.frontier.size > 0 && (nsToRun < 0 || Time.timeSinceNanos(start) <= nsToRun)){ Tile tile = path.frontier.removeLast(); float cost = path.weights[tile.x][tile.y]; diff --git a/core/src/io/anuke/mindustry/ai/WaveSpawner.java b/core/src/io/anuke/mindustry/ai/WaveSpawner.java index 8a80641e57..d3eba71630 100644 --- a/core/src/io/anuke/mindustry/ai/WaveSpawner.java +++ b/core/src/io/anuke/mindustry/ai/WaveSpawner.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ai; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.Squad; @@ -9,9 +9,9 @@ import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Waves; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Events; +import io.anuke.arc.Events; import io.anuke.arc.util.GridBits; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Structs; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/content/Mechs.java b/core/src/io/anuke/mindustry/content/Mechs.java index 839cfd1290..f77a844d88 100644 --- a/core/src/io/anuke/mindustry/content/Mechs.java +++ b/core/src/io/anuke/mindustry/content/Mechs.java @@ -17,12 +17,12 @@ import io.anuke.mindustry.maps.TutorialSector; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Mech; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Core; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.unitGroups; @@ -137,7 +137,7 @@ public class Mechs implements ContentList{ rect.setSize(healRange*2f).setCenter(player.x, player.y); Units.getNearby(player.getTeam(), rect, unit -> { - if(unit.distanceTo(player) <= healRange){ + if(unit.dst(player) <= healRange){ if(unit.health < unit.maxHealth()){ Effects.effect(UnitFx.heal, unit); wasHealed = true; @@ -184,7 +184,7 @@ public class Mechs implements ContentList{ @Override public void load(){ super.load(); - armorRegion = Draw.region(name + "-armor"); + armorRegion = Core.atlas.find(name + "-armor"); } @Override @@ -246,7 +246,7 @@ public class Mechs implements ContentList{ @Override public void load(){ super.load(); - shield = Draw.region(name + "-shield"); + shield = Core.atlas.find(name + "-shield"); } @Override diff --git a/core/src/io/anuke/mindustry/content/StatusEffects.java b/core/src/io/anuke/mindustry/content/StatusEffects.java index de817c5568..b6c3038088 100644 --- a/core/src/io/anuke/mindustry/content/StatusEffects.java +++ b/core/src/io/anuke/mindustry/content/StatusEffects.java @@ -6,9 +6,9 @@ import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; public class StatusEffects implements ContentList{ public static StatusEffect none, burning, freezing, wet, melting, tarred, overdrive, shielded, shocked; diff --git a/core/src/io/anuke/mindustry/content/UnitTypes.java b/core/src/io/anuke/mindustry/content/UnitTypes.java index fa9e195734..5433e0c79d 100644 --- a/core/src/io/anuke/mindustry/content/UnitTypes.java +++ b/core/src/io/anuke/mindustry/content/UnitTypes.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.content; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.entities.units.types.*; import io.anuke.mindustry.game.ContentList; diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index 87d863b07f..93d33b9f06 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -10,10 +10,10 @@ import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.*; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class Blocks extends BlockList implements ContentList{ public static Block air, blockpart, spawn, space, metalfloor, deepwater, water, lava, tar, stone, diff --git a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java index e0e56e5d3f..5559275254 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.content.blocks; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.Liquids; diff --git a/core/src/io/anuke/mindustry/content/blocks/OreBlocks.java b/core/src/io/anuke/mindustry/content/blocks/OreBlocks.java index c153bc70c8..515542e9fd 100644 --- a/core/src/io/anuke/mindustry/content/blocks/OreBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/OreBlocks.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.content.blocks; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; diff --git a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java index 600f8d21e2..6a4aaf332b 100644 --- a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.defense.turrets.*; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class TurretBlocks extends BlockList implements ContentList{ public static Block duo, /*scatter,*/ @@ -46,7 +46,7 @@ public class TurretBlocks extends BlockList implements ContentList{ @Override public void load(){ super.load(); - shootRegion = Draw.region(name + "-shoot"); + shootRegion = Core.atlas.find(name + "-shoot"); } { @@ -137,8 +137,8 @@ public class TurretBlocks extends BlockList implements ContentList{ @Override public void load() { super.load(); - panels[0] = Draw.region(name + "-panel-left"); - panels[1] = Draw.region(name + "-panel-right"); + panels[0] = Core.atlas.find(name + "-panel-left"); + panels[1] = Core.atlas.find(name + "-panel-right"); } { diff --git a/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java index fcb4d41055..c13a5b8409 100644 --- a/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/FlakBullets.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.entities.bullet.FlakBulletType; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class FlakBullets extends BulletList implements ContentList{ public static BulletType plastic, explosive, surge; diff --git a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java index e5b2bc39d2..8b8c40a31a 100644 --- a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java @@ -8,8 +8,8 @@ import io.anuke.mindustry.entities.bullet.MissileBulletType; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; public class MissileBullets extends BulletList implements ContentList{ public static BulletType explosive, incindiary, surge, javelin, swarm; diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 685613814e..36e4ebd499 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -18,11 +18,11 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverBulletData; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.*; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.world; @@ -367,9 +367,9 @@ public class TurretBullets extends BulletList implements ContentList{ return; } - float baseDst = data.from.distanceTo(data.to); - float dst1 = b.distanceTo(data.from); - float dst2 = b.distanceTo(data.to); + float baseDst = data.from.dst(data.to); + float dst1 = b.dst(data.from); + float dst2 = b.dst(data.to); boolean intersect = false; diff --git a/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java b/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java index 67d51f3899..86adce6b55 100644 --- a/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/WeaponBullets.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/content/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java index 5155ae9d20..a5fc7f81ff 100644 --- a/core/src/io/anuke/mindustry/content/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -4,13 +4,13 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Hue; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Tmp; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/content/fx/BulletFx.java b/core/src/io/anuke/mindustry/content/fx/BulletFx.java index dffe6b4357..572b38a280 100644 --- a/core/src/io/anuke/mindustry/content/fx/BulletFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BulletFx.java @@ -3,12 +3,12 @@ package io.anuke.mindustry.content.fx; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class BulletFx extends FxList implements ContentList{ public static Effect hitBulletSmall, hitFuse, hitBulletBig, hitFlameSmall, hitLiquid, hitLaser, hitLancer, hitMeltdown, despawn, flakExplosion, blastExplosion, plasticExplosion, diff --git a/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java b/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java index 8dadc54f43..abd76acf28 100644 --- a/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java +++ b/core/src/io/anuke/mindustry/content/fx/EnvironmentFx.java @@ -1,15 +1,14 @@ package io.anuke.mindustry.content.fx; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; +import io.anuke.arc.math.Mathf; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.Item; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; public class EnvironmentFx extends FxList implements ContentList{ public static Effect burning, fire, smoke, steam, fireballsmoke, ballfire, freezing, melting, wet, oily, overdriven, dropItem; diff --git a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java index e0f16caa55..850e489acd 100644 --- a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java @@ -3,12 +3,12 @@ package io.anuke.mindustry.content.fx; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class ExplosionFx extends FxList implements ContentList{ public static Effect shockwave, bigShockwave, nuclearShockwave, explosion, blockExplosion, blockExplosionSmoke; diff --git a/core/src/io/anuke/mindustry/content/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java index 9879a13b86..7e3e05b4f4 100644 --- a/core/src/io/anuke/mindustry/content/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.content.fx; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; diff --git a/core/src/io/anuke/mindustry/content/fx/ShootFx.java b/core/src/io/anuke/mindustry/content/fx/ShootFx.java index 9d7a8b37af..96abca972e 100644 --- a/core/src/io/anuke/mindustry/content/fx/ShootFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ShootFx.java @@ -4,13 +4,13 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; import io.anuke.arc.graphics.Shapes; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class ShootFx extends FxList implements ContentList{ public static Effect shootSmall, shootHeal, shootSmallSmoke, shootBig, shootBig2, shootBigSmoke, shootBigSmoke2, shootSmallFlame, shootLiquid, shellEjectSmall, shellEjectMedium, shellEjectBig, lancerLaserShoot, lancerLaserShootSmoke, lancerLaserCharge, lancerLaserChargeBegin, lightningCharge, lightningShoot; diff --git a/core/src/io/anuke/mindustry/content/fx/UnitFx.java b/core/src/io/anuke/mindustry/content/fx/UnitFx.java index a8850b30ce..280b6080b8 100644 --- a/core/src/io/anuke/mindustry/content/fx/UnitFx.java +++ b/core/src/io/anuke/mindustry/content/fx/UnitFx.java @@ -3,12 +3,12 @@ package io.anuke.mindustry.content.fx; import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class UnitFx extends FxList implements ContentList{ public static Effect vtolHover, unitDrop, unitPickup, unitLand, pickup, healWave, heal, landShock; diff --git a/core/src/io/anuke/mindustry/core/ContentLoader.java b/core/src/io/anuke/mindustry/core/ContentLoader.java index 4d4c25bacc..dfd6091b00 100644 --- a/core/src/io/anuke/mindustry/core/ContentLoader.java +++ b/core/src/io/anuke/mindustry/core/ContentLoader.java @@ -4,7 +4,7 @@ import io.anuke.arc.collection.Array; import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.collection.ObjectSet; import io.anuke.arc.function.Consumer; -import io.anuke.arc.utils.Log; +import io.anuke.arc.util.Log; import io.anuke.mindustry.content.*; import io.anuke.mindustry.content.blocks.*; import io.anuke.mindustry.content.bullets.*; diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 20d35591e2..35220d52a2 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -3,15 +3,14 @@ package io.anuke.mindustry.core; import io.anuke.arc.ApplicationListener; import io.anuke.arc.Core; import io.anuke.arc.Events; -import io.anuke.arc.Settings; import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureAtlas; import io.anuke.arc.input.KeyCode; -import io.anuke.arc.utils.Interval; -import io.anuke.arc.utils.Strings; -import io.anuke.arc.utils.Time; +import io.anuke.arc.util.Interval; +import io.anuke.arc.util.Strings; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -95,7 +94,7 @@ public class Control implements ApplicationListener{ state.set(State.playing); }); - Events.on(WorldLoadGraphicsEvent.class, event -> { + Events.on(WorldLoadEvent.class, event -> { if(mobile){ Core.app.post(() -> Core.camera.position.set(players[0])); } @@ -146,8 +145,6 @@ public class Control implements ApplicationListener{ } } }); - - Events.on(WorldLoadEvent.class, event -> threads.runGraphics(() -> Events.fire(new WorldLoadGraphicsEvent()))); } public void addPlayer(int index){ diff --git a/core/src/io/anuke/mindustry/core/GameState.java b/core/src/io/anuke/mindustry/core/GameState.java index 6d9e71b2e7..4d795a46fc 100644 --- a/core/src/io/anuke/mindustry/core/GameState.java +++ b/core/src/io/anuke/mindustry/core/GameState.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.Teams; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Events; +import io.anuke.arc.Events; import static io.anuke.mindustry.Vars.unitGroups; import static io.anuke.mindustry.Vars.waveTeam; diff --git a/core/src/io/anuke/mindustry/core/Logic.java b/core/src/io/anuke/mindustry/core/Logic.java index 97bc5de319..cd24fdca7f 100644 --- a/core/src/io/anuke/mindustry/core/Logic.java +++ b/core/src/io/anuke/mindustry/core/Logic.java @@ -1,8 +1,14 @@ package io.anuke.mindustry.core; -import io.anuke.arc.utils.Array; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.ApplicationListener; +import io.anuke.arc.Events; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.Time; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; @@ -16,12 +22,6 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Timers; -import io.anuke.arc.entities.Entities; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.EntityQuery; -import io.anuke.arc.modules.Module; import static io.anuke.mindustry.Vars.*; @@ -33,7 +33,7 @@ import static io.anuke.mindustry.Vars.*; *

* This class should not call any outside methods to change state of modules, but instead fire events. */ -public class Logic extends Module{ +public class Logic implements ApplicationListener{ public Logic(){ Events.on(TileChangeEvent.class, event -> { @@ -141,7 +141,7 @@ public class Logic extends Module{ @Remote(called = Loc.both) public static void onGameOver(Team winner){ - threads.runGraphics(() -> ui.restart.show(winner)); + ui.restart.show(winner); netClient.setQuiet(); } diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index 6efafcb511..78c6e670e4 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -1,14 +1,21 @@ package io.anuke.mindustry.core; -import io.anuke.arc.Core; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.Base64Coder; -import io.anuke.arc.utils.IntSet; -import io.anuke.arc.utils.TimeUtils; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.PacketPriority; import io.anuke.annotations.Annotations.Remote; import io.anuke.annotations.Annotations.Variant; +import io.anuke.arc.ApplicationListener; +import io.anuke.arc.Core; +import io.anuke.arc.collection.IntSet; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.util.Interval; +import io.anuke.arc.util.io.ReusableByteArrayInputStream; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.serialization.Base64Coder; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -25,16 +32,6 @@ import io.anuke.mindustry.net.Packets.*; import io.anuke.mindustry.net.ValidateException; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; -import io.anuke.arc.entities.Entities; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.io.ReusableByteArrayInputStream; -import io.anuke.arc.modules.Module; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Mathf; -import io.anuke.arc.util.Timer; import java.io.DataInputStream; import java.io.IOException; @@ -43,12 +40,12 @@ import java.util.zip.InflaterInputStream; import static io.anuke.mindustry.Vars.*; -public class NetClient extends Module{ +public class NetClient implements ApplicationListener{ private final static float dataTimeout = 60 * 18; private final static float playerSyncTime = 2; public final static float viewScale = 2f; - private Timer timer = new Timer(5); + private Interval timer = new Interval(5); /**Whether the client is currently connecting.*/ private boolean connecting = false; /**If true, no message will be shown on disconnect.*/ @@ -422,13 +419,13 @@ public class NetClient extends Module{ requests[i] = player.getPlaceQueue().get(i); } - Call.onClientShapshot(lastSent++, TimeUtils.millis(), player.x, player.y, + Call.onClientShapshot(lastSent++, Time.millis(), player.x, player.y, player.pointerX, player.pointerY, player.rotation, player.baseRotation, player.getVelocity().x, player.getVelocity().y, player.getMineTile(), player.isBoosting, player.isShooting, requests, Core.camera.position.x, Core.camera.position.y, - Core.camera.viewportWidth * Core.camera.zoom * viewScale, Core.camera.viewportHeight * Core.camera.zoom * viewScale); + Core.camera.width * viewScale, Core.camera.height * viewScale); } if(timer.get(1, 60)){ @@ -443,7 +440,7 @@ public class NetClient extends Module{ byte[] bytes = new byte[8]; new Random().nextBytes(bytes); String result = new String(Base64Coder.encode(bytes)); - Core.settings.putString("usid-" + ip, result); + Core.settings.put("usid-" + ip, result); Core.settings.save(); return result; } diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 0978b87899..86fcf99451 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -1,15 +1,26 @@ package io.anuke.mindustry.core; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.Colors; -import io.anuke.arc.math.Rectangle; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntMap; -import io.anuke.arc.utils.ObjectSet; -import io.anuke.arc.utils.TimeUtils; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.ApplicationListener; +import io.anuke.arc.Events; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.IntMap; +import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.Colors; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.io.ByteBufferOutput; +import io.anuke.arc.util.io.CountableByteArrayOutputStream; import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; @@ -21,22 +32,13 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.gen.RemoteReadServer; -import io.anuke.mindustry.net.*; +import io.anuke.mindustry.net.Administration; import io.anuke.mindustry.net.Administration.PlayerInfo; +import io.anuke.mindustry.net.Net; +import io.anuke.mindustry.net.NetConnection; +import io.anuke.mindustry.net.NetworkIO; import io.anuke.mindustry.net.Packets.*; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Timers; -import io.anuke.arc.entities.Entities; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.EntityQuery; -import io.anuke.arc.entities.trait.Entity; -import io.anuke.arc.io.ByteBufferOutput; -import io.anuke.arc.io.CountableByteArrayOutputStream; -import io.anuke.arc.modules.Module; -import io.anuke.arc.util.Structs; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Mathf; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -48,7 +50,7 @@ import java.util.zip.DeflaterOutputStream; import static io.anuke.mindustry.Vars.*; -public class NetServer extends Module{ +public class NetServer implements ApplicationListener{ public final static int maxSnapshotSize = 2047; public final static boolean debugSnapshots = false; @@ -122,7 +124,7 @@ public class NetServer extends Module{ return; } - if(TimeUtils.millis() - info.lastKicked < kickDuration){ + if(Time.millis() - info.lastKicked < kickDuration){ kick(id, KickReason.recentKick); return; } @@ -311,14 +313,14 @@ public class NetServer extends Module{ boolean verifyPosition = !player.isDead() && netServer.admins.getStrict() && headless && player.getCarrier() == null; - if(connection.lastRecievedClientTime == 0) connection.lastRecievedClientTime = TimeUtils.millis() - 16; + if(connection.lastRecievedClientTime == 0) connection.lastRecievedClientTime = Time.millis() - 16; connection.viewX = viewX; connection.viewY = viewY; connection.viewWidth = viewWidth; connection.viewHeight = viewHeight; - long elapsed = TimeUtils.timeSinceMillis(connection.lastRecievedClientTime); + long elapsed = Time.timeSinceMillis(connection.lastRecievedClientTime); float maxSpeed = boosting && !player.mech.flying ? player.mech.boostSpeed : player.mech.speed; float maxMove = elapsed / 1000f * 60f * Math.min(compound(maxSpeed, player.mech.drag) * 1.25f, player.mech.maxSpeed * 1.1f); @@ -370,7 +372,7 @@ public class NetServer extends Module{ player.getVelocity().set(xVelocity, yVelocity); //only for visual calculation purposes, doesn't actually update the player connection.lastRecievedClientSnapshot = snapshotID; - connection.lastRecievedClientTime = TimeUtils.millis(); + connection.lastRecievedClientTime = Time.millis(); } @Remote(targets = Loc.client, called = Loc.server) @@ -436,7 +438,7 @@ public class NetServer extends Module{ if(!headless && !closing && Net.server() && state.is(State.menu)){ closing = true; - threads.runGraphics(() -> ui.loadfrag.show("$text.server.closing")); + ui.loadfrag.show("$text.server.closing"); Time.runTask(5f, () -> { Net.closeServer(); ui.loadfrag.hide(); @@ -469,7 +471,7 @@ public class NetServer extends Module{ if(player != null && (reason == KickReason.kick || reason == KickReason.banned) && player.uuid != null){ PlayerInfo info = admins.getInfo(player.uuid); info.timesKicked++; - info.lastKicked = TimeUtils.millis(); + info.lastKicked = Time.millis(); } Call.onKick(connection, reason); @@ -498,7 +500,7 @@ public class NetServer extends Module{ } //write timestamp - dataStream.writeLong(TimeUtils.millis()); + dataStream.writeLong(Time.millis()); int totalGroups = 0; diff --git a/core/src/io/anuke/mindustry/core/Platform.java b/core/src/io/anuke/mindustry/core/Platform.java index 6616a8e557..96a48c7cf8 100644 --- a/core/src/io/anuke/mindustry/core/Platform.java +++ b/core/src/io/anuke/mindustry/core/Platform.java @@ -1,15 +1,13 @@ package io.anuke.mindustry.core; import io.anuke.arc.Core; -import io.anuke.arc.Input.Keys; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.utils.Base64Coder; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; import io.anuke.arc.function.Consumer; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.scene.ui.Dialog; import io.anuke.arc.scene.ui.TextField; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.serialization.Base64Coder; import java.util.Random; @@ -44,7 +42,7 @@ public abstract class Platform { TextField to = dialog.content().addField(field.getText(), t-> {}).pad(15).width(250f).get(); to.setMaxLength(maxLength); - to.keyDown(Keys.ENTER, () -> dialog.content().find("okb").fireClick()); + to.keyDown(KeyCode.ENTER, () -> dialog.content().find("okb").fireClick()); use[0] = to; @@ -81,7 +79,7 @@ public abstract class Platform { byte[] result = new byte[8]; new Random().nextBytes(result); uuid = new String(Base64Coder.encode(result)); - Core.settings.putString("uuid", uuid); + Core.settings.put("uuid", uuid); Core.settings.save(); return uuid; } diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index 47ca4db461..c00429fe59 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -8,9 +8,9 @@ import io.anuke.arc.graphics.PixmapIO; import io.anuke.arc.graphics.g2d.SpriteBatch; import io.anuke.arc.math.Rectangle; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.BufferUtils; -import io.anuke.arc.utils.ScreenUtils; -import io.anuke.arc.utils.TimeUtils; +import io.anuke.arc.util.BufferUtils; +import io.anuke.arc.util.ScreenUtils; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -23,10 +23,8 @@ import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; import io.anuke.arc.entities.EntityDraw; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.EffectEntity; @@ -40,7 +38,7 @@ import io.anuke.arc.graphics.Surface; import io.anuke.arc.modules.RendererModule; import io.anuke.arc.scene.utils.Cursors; import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Pooling; import io.anuke.arc.util.Translator; @@ -415,7 +413,7 @@ public class Renderer extends RendererModule{ Pixmap fullPixmap = new Pixmap(w, h, Pixmap.Format.RGBA8888); BufferUtils.copy(lines, 0, fullPixmap.getPixels(), lines.length); - FileHandle file = screenshotDirectory.child("screenshot-" + TimeUtils.millis() + ".png"); + FileHandle file = screenshotDirectory.child("screenshot-" + Time.millis() + ".png"); PixmapIO.writePNG(file, fullPixmap); fullPixmap.dispose(); diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index b63e5cc59f..92e6f5f2ae 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -1,24 +1,16 @@ package io.anuke.mindustry.core; +import io.anuke.arc.ApplicationListener; import io.anuke.arc.Core; -import io.anuke.arc.Input.Keys; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; +import io.anuke.arc.function.Consumer; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Colors; import io.anuke.arc.graphics.g2d.BitmapFont; -import io.anuke.arc.graphics.g2d.freetype.FreeTypeFontGenerator; -import io.anuke.arc.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.math.Interpolation; -import io.anuke.arc.utils.Align; -import io.anuke.mindustry.editor.MapEditorDialog; -import io.anuke.mindustry.game.EventType.ResizeEvent; -import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.input.InputHandler; -import io.anuke.mindustry.ui.dialogs.*; -import io.anuke.mindustry.ui.fragments.*; -import io.anuke.arc.core.*; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.modules.SceneModule; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.Skin; import io.anuke.arc.scene.actions.Actions; @@ -28,12 +20,21 @@ import io.anuke.arc.scene.ui.TextField.TextFieldFilter; import io.anuke.arc.scene.ui.TooltipManager; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Align; import io.anuke.arc.util.Strings; +import io.anuke.arc.util.Time; +import io.anuke.arc.freetype.*; +import io.anuke.mindustry.editor.MapEditorDialog; +import io.anuke.mindustry.game.EventType.ResizeEvent; +import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.input.InputHandler; +import io.anuke.mindustry.ui.dialogs.*; +import io.anuke.mindustry.ui.fragments.*; -import static io.anuke.mindustry.Vars.*; import static io.anuke.arc.scene.actions.Actions.*; +import static io.anuke.mindustry.Vars.*; -public class UI extends SceneModule{ +public class UI implements ApplicationListener{ private FreeTypeFontGenerator generator; public final MenuFragment menufrag = new MenuFragment(); @@ -172,10 +173,10 @@ public class UI extends SceneModule{ sectors = new SectorsDialog(); missions = new MissionDialog(); - Group group = Core.scene.getRoot(); + Group group = Core.scene.root; backfrag.build(group); - control.input(0).getFrag().build(Core.scene.getRoot()); + control.input(0).getFrag().build(group); hudfrag.build(group); menufrag.build(group); chatfrag.container().build(group); @@ -215,9 +216,9 @@ public class UI extends SceneModule{ public void loadLogic(String text, Runnable call){ loadfrag.show(text); Time.runTask(7f, () -> - threads.run(() -> { + Core.app.post(() -> { call.run(); - threads.runGraphics(loadfrag::hide); + loadfrag.hide(); })); } @@ -292,8 +293,8 @@ public class UI extends SceneModule{ dialog.hide(); confirmed.run(); }); - dialog.keyDown(Keys.ESCAPE, dialog::hide); - dialog.keyDown(Keys.BACK, dialog::hide); + dialog.keyDown(KeyCode.ESCAPE, dialog::hide); + dialog.keyDown(KeyCode.BACK, dialog::hide); dialog.show(); } diff --git a/core/src/io/anuke/mindustry/core/World.java b/core/src/io/anuke/mindustry/core/World.java index c1cb55ea7e..acbe89f411 100644 --- a/core/src/io/anuke/mindustry/core/World.java +++ b/core/src/io/anuke/mindustry/core/World.java @@ -1,8 +1,16 @@ package io.anuke.mindustry.core; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.ApplicationListener; +import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Time; import io.anuke.mindustry.ai.BlockIndexer; import io.anuke.mindustry.ai.Pathfinder; import io.anuke.mindustry.ai.WaveSpawner; @@ -18,15 +26,10 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Timers; -import io.anuke.arc.entities.EntityQuery; -import io.anuke.arc.modules.Module; -import io.anuke.arc.util.*; import static io.anuke.mindustry.Vars.*; -public class World extends Module{ +public class World implements ApplicationListener{ public final Maps maps = new Maps(); public final Sectors sectors = new Sectors(); public final WorldGenerator generator = new WorldGenerator(); @@ -38,7 +41,7 @@ public class World extends Module{ private Sector currentSector; private Tile[][] tiles; - private Array tempTiles = new ThreadArray<>(); + private Array tempTiles = new Array<>(); private boolean generating, invalidMap; public World(){ @@ -121,11 +124,11 @@ public class World extends Module{ } public Tile tileWorld(float x, float y){ - return tile(Mathf.scl2(x, tilesize), Mathf.scl2(y, tilesize)); + return tile(Math.round(x / tilesize), Math.round(y / tilesize)); } public int toTile(float coord){ - return Mathf.scl2(coord, tilesize); + return Math.round(coord / tilesize); } public Tile[][] getTiles(){ @@ -335,8 +338,8 @@ public class World extends Module{ * Raycast, but with world coordinates. */ public GridPoint2 raycastWorld(float x, float y, float x2, float y2){ - return raycast(Mathf.scl2(x, tilesize), Mathf.scl2(y, tilesize), - Mathf.scl2(x2, tilesize), Mathf.scl2(y2, tilesize)); + return raycast(Math.round(x / tilesize), Math.round(y / tilesize), + Math.round(x2 / tilesize), Math.round(y2 / tilesize)); } /** diff --git a/core/src/io/anuke/mindustry/editor/DrawOperation.java b/core/src/io/anuke/mindustry/editor/DrawOperation.java index ed5b95bcef..228728157c 100755 --- a/core/src/io/anuke/mindustry/editor/DrawOperation.java +++ b/core/src/io/anuke/mindustry/editor/DrawOperation.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntSet; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntSet; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; import io.anuke.arc.util.Bits; diff --git a/core/src/io/anuke/mindustry/editor/EditorTool.java b/core/src/io/anuke/mindustry/editor/EditorTool.java index 4117fb6746..f60863cad8 100644 --- a/core/src/io/anuke/mindustry/editor/EditorTool.java +++ b/core/src/io/anuke/mindustry/editor/EditorTool.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.utils.IntArray; +import io.anuke.arc.util.IntArray; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.maps.MapTileData.DataPosition; diff --git a/core/src/io/anuke/mindustry/editor/MapEditor.java b/core/src/io/anuke/mindustry/editor/MapEditor.java index 7a873307c6..64e4d64182 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditor.java +++ b/core/src/io/anuke/mindustry/editor/MapEditor.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.editor.DrawOperation.TileOperation; @@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.arc.util.Structs; import io.anuke.arc.util.Bits; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; public class MapEditor{ public static final int[] brushSizes = {1, 2, 3, 4, 5, 9, 15}; diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index 83702fb54e..f467c889de 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -7,9 +7,9 @@ import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.Disposable; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.util.Align; +import io.anuke.arc.util.Disposable; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.core.Platform; @@ -21,10 +21,9 @@ import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Inputs; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Graphics; +import io.anuke.arc.Inputs; +import io.anuke.arc.Timers; import io.anuke.arc.function.Consumer; import io.anuke.arc.graphics.Draw; import io.anuke.arc.input.Input; @@ -36,7 +35,7 @@ import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.arc.scene.utils.UIUtils; import io.anuke.arc.util.Bundles; import io.anuke.arc.util.Log; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Strings; import java.io.DataInputStream; @@ -476,35 +475,35 @@ public class MapEditorDialog extends Dialog implements Disposable{ private void doInput(){ //tool select for(int i = 0; i < EditorTool.values().length; i++){ - if(Inputs.keyTap(Input.valueOf("NUM_" + (i + 1)))){ + if(Core.input.keyTap(Input.valueOf("NUM_" + (i + 1)))){ view.setTool(EditorTool.values()[i]); break; } } - if(Inputs.keyTap(Input.R)){ + if(Core.input.keyTap(Input.R)){ editor.setDrawRotation((editor.getDrawRotation() + 1) % 4); } - if(Inputs.keyTap(Input.E)){ + if(Core.input.keyTap(Input.E)){ editor.setDrawRotation(Mathf.mod((editor.getDrawRotation() + 1), 4)); } //ctrl keys (undo, redo, save) if(UIUtils.ctrl()){ - if(Inputs.keyTap(Input.Z)){ + if(Core.input.keyTap(Input.Z)){ view.undo(); } - if(Inputs.keyTap(Input.Y)){ + if(Core.input.keyTap(Input.Y)){ view.redo(); } - if(Inputs.keyTap(Input.S)){ + if(Core.input.keyTap(Input.S)){ save(); } - if(Inputs.keyTap(Input.G)){ + if(Core.input.keyTap(Input.G)){ view.setGrid(!view.isGrid()); } } @@ -539,7 +538,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ continue; } - if(regions.length == 0 || regions[0] == Draw.region("jjfgj")) continue; + if(regions.length == 0 || regions[0] == Core.atlas.find("jjfgj")) continue; Stack stack = new Stack(); diff --git a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java index 14ba9ea2c3..e14f63b95d 100644 --- a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Settings; import io.anuke.arc.scene.ui.TextArea; import io.anuke.arc.scene.ui.TextField; diff --git a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java index 37a5ad9257..cd6881901e 100644 --- a/core/src/io/anuke/mindustry/editor/MapLoadDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapLoadDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.utils.Scaling; +import io.anuke.arc.util.Scaling; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.ui.BorderImage; import io.anuke.mindustry.ui.dialogs.FloatingDialog; diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index 036eea3bfa..a2af5f492c 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -3,14 +3,14 @@ package io.anuke.mindustry.editor; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.Disposable; -import io.anuke.arc.utils.IntSet; -import io.anuke.arc.utils.IntSet.IntSetIterator; +import io.anuke.arc.util.Disposable; +import io.anuke.arc.util.IntSet; +import io.anuke.arc.util.IntSet.IntSetIterator; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.world.Block; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.IndexedRenderer; import io.anuke.arc.util.Structs; @@ -142,14 +142,14 @@ public class MapRenderer implements Disposable{ if(wall.update || wall.destructible){ mesh.setColor(team.color); - region = Draw.region("block-border"); + region = Core.atlas.find("block-border"); }else if(elev > 0 && check){ mesh.setColor(tmpColor.fromHsv((360f * elev / 127f * 4f) % 360f, 0.5f + (elev / 4f) % 0.5f, 1f)); - region = Draw.region("block-elevation"); + region = Core.atlas.find("block-elevation"); }else if(elev == -1){ - region = Draw.region("block-slope"); + region = Core.atlas.find("block-slope"); }else{ - region = Draw.region("clear"); + region = Core.atlas.find("clear"); } mesh.draw((wx % chunksize) + (wy % chunksize) * chunksize + chunksize * chunksize, region, diff --git a/core/src/io/anuke/mindustry/editor/MapResizeDialog.java b/core/src/io/anuke/mindustry/editor/MapResizeDialog.java index 77cd201a69..1b493f5daf 100644 --- a/core/src/io/anuke/mindustry/editor/MapResizeDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapResizeDialog.java @@ -6,7 +6,7 @@ import io.anuke.arc.function.BiConsumer; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class MapResizeDialog extends FloatingDialog{ int[] validMapSizes = {200, 300, 400, 500}; diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index d82e820b88..126cbcc88a 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -9,13 +9,13 @@ import io.anuke.arc.math.Bresenham2; import io.anuke.arc.math.GridPoint2; import io.anuke.arc.math.Rectangle; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.editor.DrawOperation.TileOperation; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.GridImage; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Inputs; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; +import io.anuke.arc.Inputs; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.scene.Element; @@ -25,7 +25,7 @@ import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.TextField; import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Tmp; import static io.anuke.mindustry.Vars.mobile; @@ -60,7 +60,7 @@ public class MapView extends Element implements GestureListener{ brushPolygons[i] = Geometry.pixelCircle(size, (index, x, y) -> Vector2.dst(x, y, index, index) <= index - 0.5f); } - Inputs.addProcessor(0, new GestureDetector(20, 0.5f, 2, 0.15f, this)); + Core.input.addProcessor(0, new GestureDetector(20, 0.5f, 2, 0.15f, this)); setTouchable(Touchable.enabled); addListener(new InputListener(){ @@ -214,16 +214,16 @@ public class MapView extends Element implements GestureListener{ super.act(delta); if(Core.scene.getKeyboardFocus() == null || !(Core.scene.getKeyboardFocus() instanceof TextField) && - !Inputs.keyDown(io.anuke.arc.input.Input.CONTROL_LEFT)){ - float ax = Inputs.getAxis("move_x"); - float ay = Inputs.getAxis("move_y"); + !Core.input.keyDown(io.anuke.arc.input.Input.CONTROL_LEFT)){ + float ax = Core.input.getAxis("move_x"); + float ay = Core.input.getAxis("move_y"); offsetx -= ax * 15f / zoom; offsety -= ay * 15f / zoom; } if(ui.editor.hasPane()) return; - zoom += Inputs.scroll() / 10f * zoom; + zoom += Core.input.scroll() / 10f * zoom; clampZoom(); } diff --git a/core/src/io/anuke/mindustry/editor/OperationStack.java b/core/src/io/anuke/mindustry/editor/OperationStack.java index 6824083279..6de94ee165 100755 --- a/core/src/io/anuke/mindustry/editor/OperationStack.java +++ b/core/src/io/anuke/mindustry/editor/OperationStack.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; public class OperationStack{ private final static int maxSize = 10; diff --git a/core/src/io/anuke/mindustry/entities/Damage.java b/core/src/io/anuke/mindustry/entities/Damage.java index 42905e4648..a4160ce405 100644 --- a/core/src/io/anuke/mindustry/entities/Damage.java +++ b/core/src/io/anuke/mindustry/entities/Damage.java @@ -13,12 +13,12 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.function.Consumer; import io.anuke.arc.function.Predicate; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Physics; import io.anuke.arc.util.Translator; @@ -160,7 +160,7 @@ public class Damage{ /**Damages all entities and blocks in a radius that are enemies of the team.*/ public static void damage(Team team, float x, float y, float radius, float damage){ Consumer cons = entity -> { - if(entity.team == team || entity.distanceTo(x, y) > radius){ + if(entity.team == team || entity.dst(x, y) > radius){ return; } float amount = calculateDamage(x, y, entity.x, entity.y, radius, damage); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 283cc2dd9e..4ef166b13b 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -1,13 +1,26 @@ package io.anuke.mindustry.entities; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.GlyphLayout; -import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Rectangle; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Queue; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; +import io.anuke.arc.collection.Queue; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.GlyphLayout; +import io.anuke.arc.graphics.g2d.Lines; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Bits; +import io.anuke.arc.util.Interval; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.Timer; import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.content.fx.UnitFx; import io.anuke.mindustry.entities.effect.ScorchDecal; @@ -16,6 +29,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Trail; +import io.anuke.mindustry.input.Binding; import io.anuke.mindustry.io.TypeIO; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetConnection; @@ -24,13 +38,6 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.storage.CoreBlock.CoreEntity; -import io.anuke.arc.core.*; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.EntityQuery; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Hue; -import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; @@ -63,7 +70,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra public NetConnection con; public int playerIndex = 0; public boolean isLocal = false; - public Timer timer = new Timer(4); + public Interval timer = new Interval(4); public TargetTrait target; public TargetTrait moveTarget; @@ -72,7 +79,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra private Tile mining; private CarriableTrait carrying; private Trail trail = new Trail(12); - private Vector2 movement = new Translator(); + private Vector2 movement = new Vector2(); private boolean moved; //endregion @@ -112,7 +119,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } @Override - public Timer getTimer(){ + public Interval getTimer(){ return timer; } @@ -559,7 +566,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra protected void updateMech(){ Tile tile = world.tileWorld(x, y); - isBoosting = Inputs.keyDown("dash") && !mech.flying; + isBoosting = Core.input.keyDown("dash") && !mech.flying; //if player is in solid block if(tile != null && tile.solid()){ @@ -579,7 +586,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } //drop from carrier on key press - if(!ui.chatfrag.chatOpen() && Inputs.keyTap("drop_unit")){ + if(!ui.chatfrag.chatOpen() && Core.input.keyTap("drop_unit")){ if(!mech.flying){ if(getCarrier() != null){ Call.dropSelf(this); @@ -599,9 +606,9 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra String section = control.input(playerIndex).section; - float xa = Inputs.getAxis(section, "move_x"); - float ya = Inputs.getAxis(section, "move_y"); - if(!Inputs.keyDown("gridMode")){ + float xa = Core.input.axis(section, "move_x"); + float ya = Core.input.axis(section, "move_y"); + if(!Core.input.keyDown(Binding.gridMode)){ movement.y += ya * speed; movement.x += xa * speed; } @@ -619,7 +626,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } float prex = x, prey = y; updateVelocityStatus(); - moved = distanceTo(prex, prey) > 0.001f; + moved = dst(prex, prey) > 0.001f; }else{ velocity.setZero(); x = Mathf.lerpDelta(x, getCarrier().getX(), 0.1f); @@ -647,7 +654,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra protected void updateFlying(){ if(Units.invalidateTarget(target, this) && !(target instanceof TileEntity && ((TileEntity) target).damaged() && target.getTeam() == team && - mech.canHeal && distanceTo(target) < getWeapon().getAmmo().getRange())){ + mech.canHeal && dst(target) < getWeapon().getAmmo().getRange())){ target = null; } @@ -664,7 +671,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra velocity.setAngle(Mathf.slerpDelta(velocity.angle(), angleTo(moveTarget), 0.1f)); } - if(distanceTo(moveTarget) < 2f){ + if(dst(moveTarget) < 2f){ if(moveTarget instanceof CarriableTrait){ carry((CarriableTrait) moveTarget); }else if(tapping){ @@ -687,7 +694,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra movement.set(targetX - x, targetY - y).limit(isBoosting && !mech.flying ? mech.boostSpeed : mech.speed); movement.setAngle(Mathf.slerp(movement.angle(), velocity.angle(), 0.05f)); - if(distanceTo(targetX, targetY) < attractDst){ + if(dst(targetX, targetY) < attractDst){ movement.setZero(); } @@ -699,7 +706,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra rect.width += expansion * 2f; rect.height += expansion * 2f; - isBoosting = EntityQuery.collisions().overlapsTile(rect) || distanceTo(targetX, targetY) > 85f; + isBoosting = EntityQuery.collisions().overlapsTile(rect) || dst(targetX, targetY) > 85f; velocity.add(movement.scl(Time.delta())); @@ -711,7 +718,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra float lx = x, ly = y; updateVelocityStatus(); - moved = distanceTo(lx, ly) > 0.001f && !isCarried(); + moved = dst(lx, ly) > 0.001f && !isCarried(); if(mech.flying){ //hovering effect @@ -731,7 +738,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra if(mech.canHeal && target == null){ target = Geometry.findClosest(x, y, world.indexer.getDamaged(Team.blue)); - if(target != null && distanceTo(target) > getWeapon().getAmmo().getRange()){ + if(target != null && dst(target) > getWeapon().getAmmo().getRange()){ target = null; }else if(target != null){ target = ((Tile) target).entity; @@ -743,7 +750,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } } }else if(target.isValid() || (target instanceof TileEntity && ((TileEntity) target).damaged() && target.getTeam() == team && - mech.canHeal && distanceTo(target) < getWeapon().getAmmo().getRange())){ + mech.canHeal && dst(target) < getWeapon().getAmmo().getRange())){ //rotate toward and shoot the target if(mech.turnCursor){ rotation = Mathf.slerpDelta(rotation, angleTo(target), 0.2f); diff --git a/core/src/io/anuke/mindustry/entities/Predict.java b/core/src/io/anuke/mindustry/entities/Predict.java index 6e94d0620f..b41f9baf7d 100644 --- a/core/src/io/anuke/mindustry/entities/Predict.java +++ b/core/src/io/anuke/mindustry/entities/Predict.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.entities; import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.traits.TargetTrait; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; /** * Class for predicting shoot angles based on velocities of targets. diff --git a/core/src/io/anuke/mindustry/entities/StatusController.java b/core/src/io/anuke/mindustry/entities/StatusController.java index d08e32e23d..eeb290b829 100644 --- a/core/src/io/anuke/mindustry/entities/StatusController.java +++ b/core/src/io/anuke/mindustry/entities/StatusController.java @@ -1,12 +1,12 @@ package io.anuke.mindustry.entities; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.entities.traits.Saveable; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.util.Pooling; import io.anuke.arc.util.ThreadArray; import io.anuke.arc.util.Tmp; diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index 86c69b2cfc..fa7e9046cd 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -1,11 +1,18 @@ package io.anuke.mindustry.entities; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.BaseEntity; +import io.anuke.arc.entities.trait.HealthTrait; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Interval; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.traits.TargetTrait; @@ -20,13 +27,6 @@ import io.anuke.mindustry.world.modules.ConsumeModule; import io.anuke.mindustry.world.modules.ItemModule; import io.anuke.mindustry.world.modules.LiquidModule; import io.anuke.mindustry.world.modules.PowerModule; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.impl.BaseEntity; -import io.anuke.arc.entities.trait.HealthTrait; -import io.anuke.arc.util.Mathf; -import io.anuke.arc.util.Timer; import java.io.DataInput; import java.io.DataOutput; @@ -42,7 +42,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ public static int sleepingEntities = 0; public Tile tile; - public Timer timer; + public Interval timer; public float health; public float timeScale = 1f, timeScaleDuration; @@ -78,7 +78,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ health = tile.block().health; - timer = new Timer(tile.block().timers); + timer = new Interval(tile.block().timers); if(added){ add(); diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index fd9c50e7bd..1c3d4c6660 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -1,9 +1,20 @@ package io.anuke.mindustry.entities; +import io.anuke.arc.Core; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.impl.DestructibleEntity; +import io.anuke.arc.entities.trait.DamageTrait; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.entities.trait.SolidTrait; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Rectangle; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.traits.*; import io.anuke.mindustry.game.Team; @@ -15,16 +26,6 @@ import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; -import io.anuke.arc.entities.impl.DestructibleEntity; -import io.anuke.arc.entities.trait.DamageTrait; -import io.anuke.arc.entities.trait.DrawTrait; -import io.anuke.arc.entities.trait.SolidTrait; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -194,7 +195,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ Units.getNearby(queryRect, t -> { if(t == this || t.getCarrier() == this || getCarrier() == t || t.isFlying() != isFlying()) return; - float dst = distanceTo(t); + float dst = dst(t); moveVector.set(x, y).sub(t.getX(), t.getY()).setLength(1f * (1f - (dst / queryRect.getWidth()))); applyImpulse(moveVector.x, moveVector.y); }); @@ -324,7 +325,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ } public TextureRegion getPowerCellRegion(){ - return Draw.region("power-cell"); + return Core.atlas.find("power-cell"); } public void drawAll(){ diff --git a/core/src/io/anuke/mindustry/entities/Units.java b/core/src/io/anuke/mindustry/entities/Units.java index 3ef0c60ac6..708a5da3a4 100644 --- a/core/src/io/anuke/mindustry/entities/Units.java +++ b/core/src/io/anuke/mindustry/entities/Units.java @@ -1,18 +1,18 @@ package io.anuke.mindustry.entities; -import io.anuke.arc.math.Rectangle; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.collection.EnumSet; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.EntityQuery; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.EntityQuery; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.function.Predicate; -import io.anuke.arc.util.EnumSet; -import io.anuke.arc.util.Geometry; import static io.anuke.mindustry.Vars.*; @@ -38,7 +38,7 @@ public class Units{ * @return whether the target is invalid */ public static boolean invalidateTarget(TargetTrait target, Team team, float x, float y, float range){ - return target == null || (range != Float.MAX_VALUE && target.distanceTo(x, y) > range) || target.getTeam() == team || !target.isValid(); + return target == null || (range != Float.MAX_VALUE && target.dst(x, y) > range) || target.getTeam() == team || !target.isValid(); } /**See {@link #invalidateTarget(TargetTrait, Team, float, float, float)}*/ @@ -221,7 +221,7 @@ public class Units{ EntityGroup group = unitGroups[team.ordinal()]; if(!group.isEmpty()){ EntityQuery.getNearby(group, rect, entity -> { - if(entity.distanceTo(x, y) <= radius){ + if(entity.dst(x, y) <= radius){ cons.accept((Unit) entity); } }); @@ -229,7 +229,7 @@ public class Units{ //now check all players EntityQuery.getNearby(playerGroup, rect, player -> { - if(((Unit) player).team == team && player.distanceTo(x, y) <= radius){ + if(((Unit) player).team == team && player.dst(x, y) <= radius){ cons.accept((Unit) player); } }); diff --git a/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java index 9d2b578f02..9ded4dc858 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities.bullet; import io.anuke.mindustry.content.fx.BulletFx; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; //TODO scale velocity depending on fslope() diff --git a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java index e56799f5a7..41c9158eec 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java @@ -6,11 +6,11 @@ import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.graphics.Palette; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; /** * A BulletType for most ammo-based bullets shot from turrets and units. @@ -47,8 +47,8 @@ public class BasicBulletType extends BulletType{ @Override public void load(){ - backRegion = Draw.region(bulletSprite + "-back"); - frontRegion = Draw.region(bulletSprite); + backRegion = Core.atlas.find(bulletSprite + "-back"); + frontRegion = Core.atlas.find(bulletSprite); } @Override diff --git a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java index 3825fb6a58..cccc62b7db 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java +++ b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java @@ -10,13 +10,13 @@ import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.entities.traits.TeamTrait; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.BulletEntity; import io.anuke.arc.entities.trait.Entity; import io.anuke.arc.entities.trait.SolidTrait; import io.anuke.arc.entities.trait.VelocityTrait; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Pooling; import io.anuke.arc.util.Timer; diff --git a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java index 61a34a3f47..6c4e0d00ca 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.game.Content; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.entities.impl.BaseBulletType; import io.anuke.arc.util.Translator; diff --git a/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java index a85ac932e2..63cc9ae20a 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/FlakBulletType.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.entities.bullet; import io.anuke.arc.math.Rectangle; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.entities.Units; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; public abstract class FlakBulletType extends BasicBulletType{ protected static Rectangle rect = new Rectangle(); @@ -27,7 +27,7 @@ public abstract class FlakBulletType extends BasicBulletType{ Units.getNearbyEnemies(b.getTeam(), rect.setSize(explodeRange*2f).setCenter(b.x, b.y), unit -> { if(b.getData() instanceof Float) return; - if(unit.distanceTo(b) < explodeRange){ + if(unit.dst(b) < explodeRange){ b.setData(0); Time.run(5f, () -> { if(b.getData() instanceof Integer){ diff --git a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java index fc65f14008..22ffda5f63 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java @@ -8,11 +8,11 @@ import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; +import io.anuke.arc.Effects; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java index 7e17680011..2b9ccbaec2 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/MissileBulletType.java @@ -3,9 +3,9 @@ package io.anuke.mindustry.entities.bullet; import io.anuke.arc.graphics.Color; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.graphics.Palette; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; public class MissileBulletType extends BasicBulletType{ protected Color trailColor = Palette.missileYellowBack; diff --git a/core/src/io/anuke/mindustry/entities/effect/Decal.java b/core/src/io/anuke/mindustry/entities/effect/Decal.java index e4504f028a..8e299fba84 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Decal.java +++ b/core/src/io/anuke/mindustry/entities/effect/Decal.java @@ -6,7 +6,7 @@ import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.TimedEntity; import io.anuke.arc.entities.trait.DrawTrait; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.groundEffectGroup; diff --git a/core/src/io/anuke/mindustry/entities/effect/Fire.java b/core/src/io/anuke/mindustry/entities/effect/Fire.java index 6c261114fa..5fa3eafde2 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fire.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fire.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities.effect; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.IntMap; -import io.anuke.arc.utils.Pool.Poolable; +import io.anuke.arc.util.IntMap; +import io.anuke.arc.util.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.StatusEffects; @@ -16,13 +16,13 @@ import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.TimedEntity; import io.anuke.arc.util.Structs; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Pooling; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java index d7f69f7510..43eb64e8a9 100644 --- a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java +++ b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java @@ -2,12 +2,12 @@ package io.anuke.mindustry.entities.effect; import io.anuke.mindustry.Vars; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.entities.impl.EffectEntity; -import io.anuke.arc.core.Effects.EffectRenderer; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Effects.EffectRenderer; +import io.anuke.arc.math.Mathf; /** * A ground effect contains an effect that is rendered on the ground layer as opposed to the top layer. diff --git a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java index 69ad25e106..bc502beecf 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java +++ b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java @@ -11,9 +11,9 @@ import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; import io.anuke.arc.math.Interpolation; import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Pooling; -import io.anuke.arc.utils.Time; +import io.anuke.arc.util.Time; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.Item; diff --git a/core/src/io/anuke/mindustry/entities/effect/Lightning.java b/core/src/io/anuke/mindustry/entities/effect/Lightning.java index 9f096ef9b7..2fa356a7f0 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Lightning.java +++ b/core/src/io/anuke/mindustry/entities/effect/Lightning.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.entities.effect; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.Rectangle; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntSet; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.bullets.TurretBullets; @@ -21,7 +21,6 @@ import io.anuke.arc.entities.trait.PosTrait; import io.anuke.arc.entities.trait.TimeTrait; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/entities/effect/Puddle.java b/core/src/io/anuke/mindustry/entities/effect/Puddle.java index be2ab5e2b6..9d8c454ef0 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Puddle.java +++ b/core/src/io/anuke/mindustry/entities/effect/Puddle.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.entities.effect; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.GridPoint2; import io.anuke.arc.math.Rectangle; -import io.anuke.arc.utils.IntMap; -import io.anuke.arc.utils.Pool.Poolable; +import io.anuke.arc.util.IntMap; +import io.anuke.arc.util.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.Liquids; @@ -19,8 +19,8 @@ import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.SolidEntity; import io.anuke.arc.entities.trait.DrawTrait; @@ -29,7 +29,7 @@ import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Hue; import io.anuke.arc.util.Angles; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Pooling; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java index 7bc874d861..7d5d32694f 100644 --- a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.effect; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class RubbleDecal extends Decal{ private int size; diff --git a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java index fd5df78b11..0748f809fc 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java @@ -4,7 +4,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.world; @@ -15,7 +15,7 @@ public class ScorchDecal extends Decal{ public static void create(float x, float y){ if(regions[0] == null){ for(int i = 0; i < regions.length; i++){ - regions[i] = Draw.region("scorch" + (i + 1)); + regions[i] = Core.atlas.find("scorch" + (i + 1)); } } diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 1fb1aff758..af3a354644 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.entities.traits; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.Queue; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.Queue; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.BlockFx; @@ -21,16 +21,16 @@ import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Events; +import io.anuke.arc.Timers; import io.anuke.arc.entities.trait.Entity; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; import io.anuke.arc.graphics.Shapes; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -202,7 +202,7 @@ public interface BuilderTrait extends Entity{ Tile tile = world.tile(current.x, current.y); - if(unit.distanceTo(tile) > placeDistance){ + if(unit.dst(tile) > placeDistance){ return; } @@ -232,7 +232,7 @@ public interface BuilderTrait extends Entity{ return; } - if(unit.distanceTo(tile) <= placeDistance){ + if(unit.dst(tile) <= placeDistance){ unit.rotation = Mathf.slerpDelta(unit.rotation, unit.angleTo(entity), 0.4f); } @@ -261,7 +261,7 @@ public interface BuilderTrait extends Entity{ Tile tile = getMineTile(); TileEntity core = unit.getClosestCore(); - if(core == null || tile.block() != Blocks.air || unit.distanceTo(tile.worldx(), tile.worldy()) > mineDistance + if(core == null || tile.block() != Blocks.air || unit.dst(tile.worldx(), tile.worldy()) > mineDistance || tile.floor().drops == null || !unit.inventory.canAcceptItem(tile.floor().drops.item) || !canMine(tile.floor().drops.item)){ setMineTile(null); }else{ @@ -270,7 +270,7 @@ public interface BuilderTrait extends Entity{ if(Mathf.chance(Time.delta() * (0.06 - item.hardness * 0.01) * getMinePower())){ - if(unit.distanceTo(core) < mineTransferRange && core.tile.block().acceptStack(item, 1, core.tile, unit) == 1){ + if(unit.dst(core) < mineTransferRange && core.tile.block().acceptStack(item, 1, core.tile, unit) == 1){ Call.transferItemTo(item, 1, tile.worldx() + Mathf.range(tilesize / 2f), tile.worldy() + Mathf.range(tilesize / 2f), core.tile); @@ -304,7 +304,7 @@ public interface BuilderTrait extends Entity{ Tile tile = world.tile(request.x, request.y); - if(unit.distanceTo(tile) > placeDistance){ + if(unit.dst(tile) > placeDistance){ return; } diff --git a/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java b/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java index fe0efd79ee..fae4a77bb4 100644 --- a/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/CarryTrait.java @@ -5,7 +5,7 @@ import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.fx.UnitFx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.gen.Call; -import io.anuke.arc.core.Effects; +import io.anuke.arc.Effects; import io.anuke.arc.entities.trait.SolidTrait; public interface CarryTrait extends TeamTrait, SolidTrait, TargetTrait{ diff --git a/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java b/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java index a0d4ecee27..ec4fba0f5d 100644 --- a/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.entities.traits; import io.anuke.mindustry.core.NetClient; import io.anuke.mindustry.net.Interpolator; -import io.anuke.arc.core.Core; +import io.anuke.arc.Core; import io.anuke.arc.entities.trait.Entity; import io.anuke.arc.util.Tmp; diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index 54de336546..da1173a60a 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -24,8 +24,8 @@ import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.units.CommandCenter.CommandCenterEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.*; diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index 37d20ac539..65929cc530 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.*; diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index 9c646a146e..067776e2a1 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -12,10 +12,10 @@ import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Translator; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java index 4b304ef6f1..25a20a5e45 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitDrops.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitDrops.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.content.Items; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.type.Item; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class UnitDrops{ private static Item[] dropTable; diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index 55ec6464a7..5f5ec46931 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.entities.units; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.entities.traits.TypeTrait; @@ -78,12 +78,12 @@ public class UnitType extends UnlockableContent{ @Override public void load(){ - iconRegion = Draw.region("unit-icon-" + name); - region = Draw.region(name); + iconRegion = Core.atlas.find("unit-icon-" + name); + region = Core.atlas.find(name); if(!isFlying){ - legRegion = Draw.region(name + "-leg"); - baseRegion = Draw.region(name + "-base"); + legRegion = Core.atlas.find(name + "-leg"); + baseRegion = Core.atlas.find(name + "-base"); } } diff --git a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java index 0621869780..ca1b85eb13 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java @@ -15,8 +15,8 @@ import io.anuke.mindustry.entities.units.UnitState; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.AmmoType; -import io.anuke.arc.core.Effects; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Effects; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/entities/units/types/Drone.java b/core/src/io/anuke/mindustry/entities/units/types/Drone.java index 8f0a7b0942..36a8ada290 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Drone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Drone.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.units.types; -import io.anuke.arc.utils.Queue; +import io.anuke.arc.util.Queue; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; @@ -20,10 +20,10 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Events; +import io.anuke.arc.Events; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Structs; import java.io.DataInput; @@ -108,7 +108,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{ if(target == null) return; - if(target.distanceTo(Drone.this) > type.range){ + if(target.dst(Drone.this) > type.range){ circle(type.range*0.9f); }else{ getWeapon().update(Drone.this, target.getX(), target.getY()); @@ -254,7 +254,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{ } private void notifyPlaced(BuildEntity entity, boolean isBreaking){ - float dist = Math.min(entity.distanceTo(x, y) - placeDistance, 0); + float dist = Math.min(entity.dst(x, y) - placeDistance, 0); if(!state.is(build) && dist / type.maxVelocity < entity.buildCost * 0.9f){ target = entity; @@ -311,7 +311,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{ @Override protected void updateRotation(){ - if(target != null && ((state.is(repair) && target.distanceTo(this) < type.range) || state.is(mine))){ + if(target != null && ((state.is(repair) && target.dst(this) < type.range) || state.is(mine))){ rotation = Mathf.slerpDelta(rotation, angleTo(target), 0.3f); }else{ rotation = Mathf.slerpDelta(rotation, velocity.angle(), 0.3f); diff --git a/core/src/io/anuke/mindustry/game/EventType.java b/core/src/io/anuke/mindustry/game/EventType.java index 037f996902..cb21990ba0 100644 --- a/core/src/io/anuke/mindustry/game/EventType.java +++ b/core/src/io/anuke/mindustry/game/EventType.java @@ -43,14 +43,6 @@ public class EventType{ } - /** - * Called after the WorldLoadEvent is, and all logic has been loaded. - * It is safe to intialize graphics here. - */ - public static class WorldLoadGraphicsEvent implements Event{ - - } - /**Called from the logic thread. Do not access graphics here!*/ public static class TileChangeEvent implements Event{ public final Tile tile; diff --git a/core/src/io/anuke/mindustry/game/Saves.java b/core/src/io/anuke/mindustry/game/Saves.java index e78dc44334..cdea8fcccd 100644 --- a/core/src/io/anuke/mindustry/game/Saves.java +++ b/core/src/io/anuke/mindustry/game/Saves.java @@ -1,18 +1,17 @@ package io.anuke.mindustry.game; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntArray; -import io.anuke.arc.utils.IntMap; -import io.anuke.arc.utils.TimeUtils; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntArray; +import io.anuke.arc.util.IntMap; +import io.anuke.arc.util.Time; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.io.SaveMeta; import io.anuke.mindustry.maps.Map; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Events; +import io.anuke.arc.Timers; import io.anuke.arc.util.Strings; import io.anuke.arc.util.ThreadArray; @@ -71,9 +70,9 @@ public class Saves{ if(current != null && !state.is(State.menu) && !(state.isPaused() && ui.hasDialog())){ if(lastTimestamp != 0){ - totalPlaytime += TimeUtils.timeSinceMillis(lastTimestamp); + totalPlaytime += Time.timeSinceMillis(lastTimestamp); } - lastTimestamp = TimeUtils.millis(); + lastTimestamp = Time.millis(); } if(!state.is(State.menu) && !state.gameOver && current != null && current.isAutosave()){ diff --git a/core/src/io/anuke/mindustry/game/Teams.java b/core/src/io/anuke/mindustry/game/Teams.java index 194f5af30c..5ee10b289f 100644 --- a/core/src/io/anuke/mindustry/game/Teams.java +++ b/core/src/io/anuke/mindustry/game/Teams.java @@ -1,10 +1,9 @@ package io.anuke.mindustry.game; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.EnumSet; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.Vars; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.EnumSet; -import io.anuke.arc.util.ThreadSet; /** * Class for various team-based utilities. @@ -52,7 +51,7 @@ public class Teams{ } public class TeamData{ - public final ObjectSet cores = new ThreadSet<>(); + public final ObjectSet cores = new ObjectSet<>(); public final EnumSet enemies; public final Team team; diff --git a/core/src/io/anuke/mindustry/game/Unlocks.java b/core/src/io/anuke/mindustry/game/Unlocks.java index aa5811b006..0a0fedd795 100644 --- a/core/src/io/anuke/mindustry/game/Unlocks.java +++ b/core/src/io/anuke/mindustry/game/Unlocks.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.game; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.game.EventType.UnlockEvent; import io.anuke.mindustry.type.ContentType; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Events; +import io.anuke.arc.Settings; /**Stores player unlocks. Clientside only.*/ public class Unlocks{ diff --git a/core/src/io/anuke/mindustry/game/Version.java b/core/src/io/anuke/mindustry/game/Version.java index baa484f4f1..eed6b3ead2 100644 --- a/core/src/io/anuke/mindustry/game/Version.java +++ b/core/src/io/anuke/mindustry/game/Version.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.game; import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.PropertiesUtils; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.util.PropertiesUtils; import io.anuke.arc.util.Strings; import java.io.IOException; diff --git a/core/src/io/anuke/mindustry/game/Waves.java b/core/src/io/anuke/mindustry/game/Waves.java index 2241916c3a..d05a2f9aa3 100644 --- a/core/src/io/anuke/mindustry/game/Waves.java +++ b/core/src/io/anuke/mindustry/game/Waves.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.UnitTypes; diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index ea4caa66fe..e7c32bdd98 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -1,20 +1,20 @@ package io.anuke.mindustry.graphics; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntSet; -import io.anuke.arc.utils.Sort; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntSet; +import io.anuke.arc.util.Sort; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Surface; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.arc.core.Core.camera; diff --git a/core/src/io/anuke/mindustry/graphics/CacheLayer.java b/core/src/io/anuke/mindustry/graphics/CacheLayer.java index 8d4c1fed33..9ff5b34d14 100644 --- a/core/src/io/anuke/mindustry/graphics/CacheLayer.java +++ b/core/src/io/anuke/mindustry/graphics/CacheLayer.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.graphics.Color; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Shader; diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index e0009c47e1..2a08753546 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -4,23 +4,22 @@ import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.GL20; import io.anuke.arc.graphics.OrthographicCamera; -import io.anuke.arc.utils.IntArray; -import io.anuke.arc.utils.IntSet; -import io.anuke.arc.utils.IntSet.IntSetIterator; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.util.IntArray; +import io.anuke.arc.util.IntSet; +import io.anuke.arc.util.IntSet.IntSetIterator; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.CacheBatch; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.util.Log; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Structs; import java.util.Arrays; diff --git a/core/src/io/anuke/mindustry/graphics/FogRenderer.java b/core/src/io/anuke/mindustry/graphics/FogRenderer.java index 92e36d9261..e2c1534440 100644 --- a/core/src/io/anuke/mindustry/graphics/FogRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FogRenderer.java @@ -7,15 +7,14 @@ import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.graphics.glutils.FrameBuffer; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.Disposable; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.Disposable; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; import io.anuke.arc.entities.EntityDraw; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; diff --git a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java index 3bc143ee93..7fe6320c76 100644 --- a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java @@ -6,20 +6,19 @@ import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Rectangle; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.Disposable; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.Disposable; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Pixmaps; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.ThreadArray; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index 68d312a282..0b5f2f88a3 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -4,7 +4,7 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.math.MathUtils; import io.anuke.arc.math.Rectangle; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; @@ -13,14 +13,14 @@ import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; +import io.anuke.arc.Settings; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Tmp; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/graphics/Shaders.java b/core/src/io/anuke/mindustry/graphics/Shaders.java index efb19cb27c..dda1c86dc8 100644 --- a/core/src/io/anuke/mindustry/graphics/Shaders.java +++ b/core/src/io/anuke/mindustry/graphics/Shaders.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Core; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Shader; import io.anuke.arc.scene.ui.layout.Unit; diff --git a/core/src/io/anuke/mindustry/graphics/Trail.java b/core/src/io/anuke/mindustry/graphics/Trail.java index 0258e5ee53..f44fcbec9a 100644 --- a/core/src/io/anuke/mindustry/graphics/Trail.java +++ b/core/src/io/anuke/mindustry/graphics/Trail.java @@ -2,12 +2,12 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.FloatArray; -import io.anuke.arc.core.Timers; +import io.anuke.arc.util.FloatArray; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; /** * Class that renders a colored trail. diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 77a378f509..3bb6585cbd 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -11,15 +11,15 @@ import io.anuke.mindustry.input.PlaceUtils.NormalizeResult; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Inputs; -import io.anuke.arc.core.Inputs.DeviceType; -import io.anuke.arc.core.KeyBinds; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Graphics; +import io.anuke.arc.Inputs; +import io.anuke.arc.Core.input.DeviceType; +import io.anuke.arc.KeyBinds; +import io.anuke.arc.Settings; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.input.CursorType.*; @@ -128,11 +128,11 @@ public class DesktopInput extends InputHandler{ @Override public void update(){ - if(Net.active() && Inputs.keyTap("player_list")){ + if(Net.active() && Core.input.keyTap("player_list")){ ui.listfrag.toggle(); } - if(Inputs.keyRelease(section, "select")){ + if(Core.input.keyRelease(section, "select")){ player.isShooting = false; } @@ -141,11 +141,11 @@ public class DesktopInput extends InputHandler{ boolean controller = KeyBinds.getSection(section).device.type == DeviceType.controller; //zoom and rotate things - if(Inputs.getAxisActive("zoom") && (Inputs.keyDown(section, "zoom_hold") || controller)){ - renderer.scaleCamera((int) Inputs.getAxisTapped(section, "zoom")); + if(Core.input.getAxisActive("zoom") && (Core.input.keyDown(section, "zoom_hold") || controller)){ + renderer.scaleCamera((int) Core.input.getAxisTapped(section, "zoom")); } - renderer.minimap.zoomBy(-(int) Inputs.getAxisTapped(section, "zoom_minimap")); + renderer.minimap.zoomBy(-(int) Core.input.getAxisTapped(section, "zoom_minimap")); if(player.isDead()) return; @@ -167,7 +167,7 @@ public class DesktopInput extends InputHandler{ selectScale = 0f; } - rotation = Mathf.mod(rotation + (int) Inputs.getAxisTapped(section, "rotate"), 4); + rotation = Mathf.mod(rotation + (int) Core.input.getAxisTapped(section, "rotate"), 4); Tile cursor = tileAt(Core.input.getX(), Core.input.getY()); @@ -203,11 +203,11 @@ public class DesktopInput extends InputHandler{ int cursorX = tileX(Core.input.getX()); int cursorY = tileY(Core.input.getY()); - if(Inputs.keyTap(section, "deselect")){ + if(Core.input.keyTap(section, "deselect")){ player.setMineTile(null); } - if(Inputs.keyTap(section, "select") && !ui.hasMouse()){ + if(Core.input.keyTap(section, "select") && !ui.hasMouse()){ if(isPlacing()){ selectX = cursorX; selectY = cursorY; @@ -221,7 +221,7 @@ public class DesktopInput extends InputHandler{ }else if(!ui.chatfrag.chatOpen()){ //if it's out of bounds, shooting is just fine player.isShooting = true; } - }else if(Inputs.keyTap(section, "deselect") && (recipe != null || mode != none || player.isBuilding()) && + }else if(Core.input.keyTap(section, "deselect") && (recipe != null || mode != none || player.isBuilding()) && !(player.getCurrentRequest() != null && player.getCurrentRequest().breaking && KeyBinds.get(section, "deselect") == KeyBinds.get(section, "break"))){ if(recipe == null){ player.clearBuilding(); @@ -229,7 +229,7 @@ public class DesktopInput extends InputHandler{ recipe = null; mode = none; - }else if(Inputs.keyTap(section, "break") && !ui.hasMouse()){ + }else if(Core.input.keyTap(section, "break") && !ui.hasMouse()){ //is recalculated because setting the mode to breaking removes potential multiblock cursor offset mode = breaking; selectX = tileX(Core.input.getX()); @@ -237,7 +237,7 @@ public class DesktopInput extends InputHandler{ } - if(Inputs.keyRelease(section, "break") || Inputs.keyRelease(section, "select")){ + if(Core.input.keyRelease(section, "break") || Core.input.keyRelease(section, "select")){ if(mode == placing){ //touch up while placing, place everything in selection NormalizeResult result = PlaceUtils.normalizeArea(selectX, selectY, cursorX, cursorY, rotation, true, maxLength); @@ -306,8 +306,8 @@ public class DesktopInput extends InputHandler{ controlling = true; } - float xa = Inputs.getAxis(section, "cursor_x"); - float ya = Inputs.getAxis(section, "cursor_y"); + float xa = Core.input.getAxis(section, "cursor_x"); + float ya = Core.input.getAxis(section, "cursor_y"); if(Math.abs(xa) > controllerMin || Math.abs(ya) > controllerMin){ float scl = Core.settings.getInt("sensitivity", 100) / 100f * Unit.dp.scl(1f); @@ -319,7 +319,7 @@ public class DesktopInput extends InputHandler{ Core.input.setCursorCatched(true); } - Inputs.getProcessor().touchDragged((int) getMouseX(), (int) getMouseY(), player.playerIndex); + Core.input.getProcessor().touchDragged((int) getMouseX(), (int) getMouseY(), player.playerIndex); } controlx = Mathf.clamp(controlx, 0, Core.graphics.getWidth()); diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index e318911da7..861de66305 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -6,11 +6,11 @@ import io.anuke.arc.Core; import io.anuke.arc.Graphics; import io.anuke.arc.entities.Effects; import io.anuke.arc.graphics.Color; +import io.anuke.arc.input.InputProcessor; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Vector2; -import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.utils.Time; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.EnvironmentFx; import io.anuke.mindustry.entities.Player; @@ -29,7 +29,7 @@ import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.*; -public abstract class InputHandler implements InputListener{ +public abstract class InputHandler implements InputProcessor{ /**Used for dropping items.*/ final static float playerSelectRange = mobile ? 17f : 11f; /**Maximum line length.*/ @@ -69,47 +69,45 @@ public abstract class InputHandler implements InputListener{ throw new ValidateException(player, "Player cannot transfer an item."); } - threads.run(() -> { - if(player == null || tile.entity == null) return; + if(player == null || tile.entity == null) return; - player.isTransferring = true; + player.isTransferring = true; - Item item = player.inventory.getItem().item; - int amount = player.inventory.getItem().amount; - int accepted = tile.block().acceptStack(item, amount, tile, player); - player.inventory.getItem().amount -= accepted; + Item item = player.inventory.getItem().item; + int amount = player.inventory.getItem().amount; + int accepted = tile.block().acceptStack(item, amount, tile, player); + player.inventory.getItem().amount -= accepted; - int sent = Mathf.clamp(accepted / 4, 1, 8); - int removed = accepted / sent; - int[] remaining = {accepted, accepted}; - Block block = tile.block(); + int sent = Mathf.clamp(accepted / 4, 1, 8); + int removed = accepted / sent; + int[] remaining = {accepted, accepted}; + Block block = tile.block(); - for(int i = 0; i < sent; i++){ - boolean end = i == sent - 1; - Time.run(i * 3, () -> { - tile.block().getStackOffset(item, tile, stackTrns); + for(int i = 0; i < sent; i++){ + boolean end = i == sent - 1; + Time.run(i * 3, () -> { + tile.block().getStackOffset(item, tile, stackTrns); - ItemTransfer.create(item, - player.x + Mathf.trnsx(player.rotation + 180f, backTrns), player.y + Mathf.trnsy(player.rotation + 180f, backTrns), - new Vector2(tile.drawx() + stackTrns.x, tile.drawy() + stackTrns.y), () -> { - if(tile.block() != block || tile.entity == null || tile.entity.items == null) return; + ItemTransfer.create(item, + player.x + Mathf.trnsx(player.rotation + 180f, backTrns), player.y + Mathf.trnsy(player.rotation + 180f, backTrns), + new Vector2(tile.drawx() + stackTrns.x, tile.drawy() + stackTrns.y), () -> { + if(tile.block() != block || tile.entity == null || tile.entity.items == null) return; - tile.block().handleStack(item, removed, tile, player); - remaining[1] -= removed; + tile.block().handleStack(item, removed, tile, player); + remaining[1] -= removed; - if(end && remaining[1] > 0){ - tile.block().handleStack(item, remaining[1], tile, player); - } - }); + if(end && remaining[1] > 0){ + tile.block().handleStack(item, remaining[1], tile, player); + } + }); - remaining[0] -= removed; + remaining[0] -= removed; - if(end){ - player.isTransferring = false; - } - }); - } - }); + if(end){ + player.isTransferring = false; + } + }); + } } @Remote(targets = Loc.both, called = Loc.server, forward = true) @@ -246,7 +244,7 @@ public abstract class InputHandler implements InputListener{ && tile.floor().drops != null && tile.floor().drops.item.hardness <= player.mech.drillPower && !tile.floor().playerUnmineable && player.inventory.canAcceptItem(tile.floor().drops.item) - && tile.block() == Blocks.air && player.distanceTo(tile.worldx(), tile.worldy()) <= Player.mineDistance; + && tile.block() == Blocks.air && player.dst(tile.worldx(), tile.worldy()) <= Player.mineDistance; } /**Returns the tile at the specified MOUSE coordinates.*/ @@ -283,7 +281,7 @@ public abstract class InputHandler implements InputListener{ } public void remove(){ - Inputs.removeProcessor(this); + Core.input.removeProcessor(this); frag.remove(); } @@ -334,7 +332,7 @@ public abstract class InputHandler implements InputListener{ public boolean validPlace(int x, int y, Block type, int rotation){ for(Tile tile : state.teams.get(player.getTeam()).cores){ - if(tile.distanceTo(x * tilesize, y * tilesize) < coreBuildRange){ + if(tile.dst(x * tilesize, y * tilesize) < coreBuildRange){ return Build.validPlace(player.getTeam(), x, y, type, rotation) && Vector2.dst(player.x, player.y, x * tilesize, y * tilesize) < Player.placeDistance; } diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 9ef5172771..9fceb82590 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -8,9 +8,9 @@ import io.anuke.arc.input.GestureDetector.GestureListener; import io.anuke.arc.math.Interpolation; import io.anuke.arc.math.Rectangle; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.util.Align; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.core.GameState.State; @@ -27,11 +27,11 @@ import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.*; +import io.anuke.arc.*; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.input.PlaceMode.*; @@ -76,7 +76,7 @@ public class MobileInput extends InputHandler implements GestureListener{ public MobileInput(Player player){ super(player); - Inputs.addProcessor(new GestureDetector(20, 0.5f, 0.4f, 0.15f, this)); + Core.input.addProcessor(new GestureDetector(20, 0.5f, 0.4f, 0.15f, this)); } //region utility methods diff --git a/core/src/io/anuke/mindustry/input/PlaceUtils.java b/core/src/io/anuke/mindustry/input/PlaceUtils.java index 8e95995554..c2e3370eed 100644 --- a/core/src/io/anuke/mindustry/input/PlaceUtils.java +++ b/core/src/io/anuke/mindustry/input/PlaceUtils.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.input; import io.anuke.mindustry.world.Block; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/io/BundleLoader.java b/core/src/io/anuke/mindustry/io/BundleLoader.java index 765802ea05..ebc6e3bccf 100644 --- a/core/src/io/anuke/mindustry/io/BundleLoader.java +++ b/core/src/io/anuke/mindustry/io/BundleLoader.java @@ -2,11 +2,9 @@ package io.anuke.mindustry.io; import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.utils.I18NBundle; +import io.anuke.arc.util.I18NBundle; import io.anuke.mindustry.Vars; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.util.Log; import java.util.Locale; diff --git a/core/src/io/anuke/mindustry/io/Changelogs.java b/core/src/io/anuke/mindustry/io/Changelogs.java index 44d707c7bc..e12bfda0c9 100644 --- a/core/src/io/anuke/mindustry/io/Changelogs.java +++ b/core/src/io/anuke/mindustry/io/Changelogs.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.io; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.JsonReader; -import io.anuke.arc.utils.JsonValue; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.JsonReader; +import io.anuke.arc.util.JsonValue; import io.anuke.mindustry.net.Net; import io.anuke.arc.function.Consumer; diff --git a/core/src/io/anuke/mindustry/io/Contributors.java b/core/src/io/anuke/mindustry/io/Contributors.java index 6fe95d3fc5..c57a951008 100644 --- a/core/src/io/anuke/mindustry/io/Contributors.java +++ b/core/src/io/anuke/mindustry/io/Contributors.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.io; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.JsonReader; -import io.anuke.arc.utils.JsonValue; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.JsonReader; +import io.anuke.arc.util.JsonValue; import io.anuke.mindustry.net.Net; import io.anuke.arc.function.Consumer; diff --git a/core/src/io/anuke/mindustry/io/MapIO.java b/core/src/io/anuke/mindustry/io/MapIO.java index 2ee32dbf19..3e78fd718f 100644 --- a/core/src/io/anuke/mindustry/io/MapIO.java +++ b/core/src/io/anuke/mindustry/io/MapIO.java @@ -3,9 +3,9 @@ package io.anuke.mindustry.io; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; -import io.anuke.arc.utils.IntIntMap; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.ObjectMap.Entry; +import io.anuke.arc.util.IntIntMap; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.util.ObjectMap.Entry; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/io/SaveFileVersion.java b/core/src/io/anuke/mindustry/io/SaveFileVersion.java index 74273b1662..0d9358a303 100644 --- a/core/src/io/anuke/mindustry/io/SaveFileVersion.java +++ b/core/src/io/anuke/mindustry/io/SaveFileVersion.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.io; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.entities.traits.SaveTrait; diff --git a/core/src/io/anuke/mindustry/io/SaveIO.java b/core/src/io/anuke/mindustry/io/SaveIO.java index 960d4cf20b..ad7e86f35a 100644 --- a/core/src/io/anuke/mindustry/io/SaveIO.java +++ b/core/src/io/anuke/mindustry/io/SaveIO.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.io; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntArray; -import io.anuke.arc.utils.IntMap; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntArray; +import io.anuke.arc.util.IntMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.versions.Save16; diff --git a/core/src/io/anuke/mindustry/io/TypeIO.java b/core/src/io/anuke/mindustry/io/TypeIO.java index 2587c3c334..dbf53b8065 100644 --- a/core/src/io/anuke/mindustry/io/TypeIO.java +++ b/core/src/io/anuke/mindustry/io/TypeIO.java @@ -20,8 +20,8 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.entities.Entities; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/io/versions/Save16.java b/core/src/io/anuke/mindustry/io/versions/Save16.java index f705cd1b4b..551e3e798b 100644 --- a/core/src/io/anuke/mindustry/io/versions/Save16.java +++ b/core/src/io/anuke/mindustry/io/versions/Save16.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.io.versions; -import io.anuke.arc.utils.TimeUtils; +import io.anuke.arc.util.Time; import io.anuke.mindustry.game.Difficulty; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.Version; @@ -56,7 +56,7 @@ public class Save16 extends SaveFileVersion{ public void write(DataOutputStream stream) throws IOException{ //--META-- stream.writeInt(version); //version id - stream.writeLong(TimeUtils.millis()); //last saved + stream.writeLong(Time.millis()); //last saved stream.writeLong(headless ? 0 : control.saves.getTotalPlaytime()); //playtime stream.writeInt(Version.build); //build stream.writeInt(world.getSector() == null ? invalidSector : world.getSector().pos()); //sector ID diff --git a/core/src/io/anuke/mindustry/maps/Map.java b/core/src/io/anuke/mindustry/maps/Map.java index ae40f59fad..2481d42344 100644 --- a/core/src/io/anuke/mindustry/maps/Map.java +++ b/core/src/io/anuke/mindustry/maps/Map.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps; import io.anuke.arc.graphics.Texture; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.function.Supplier; import java.io.InputStream; diff --git a/core/src/io/anuke/mindustry/maps/MapMeta.java b/core/src/io/anuke/mindustry/maps/MapMeta.java index 2bdfa05c16..6a2bfec913 100644 --- a/core/src/io/anuke/mindustry/maps/MapMeta.java +++ b/core/src/io/anuke/mindustry/maps/MapMeta.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps; -import io.anuke.arc.utils.IntIntMap; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.util.IntIntMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.util.Bundles; public class MapMeta{ diff --git a/core/src/io/anuke/mindustry/maps/MapTileData.java b/core/src/io/anuke/mindustry/maps/MapTileData.java index 44789f31eb..dbbbfdb103 100644 --- a/core/src/io/anuke/mindustry/maps/MapTileData.java +++ b/core/src/io/anuke/mindustry/maps/MapTileData.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps; -import io.anuke.arc.utils.IntIntMap; +import io.anuke.arc.util.IntIntMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/maps/Maps.java b/core/src/io/anuke/mindustry/maps/Maps.java index 6d63f6cc4c..7fdf631116 100644 --- a/core/src/io/anuke/mindustry/maps/Maps.java +++ b/core/src/io/anuke/mindustry/maps/Maps.java @@ -3,9 +3,9 @@ package io.anuke.mindustry.maps; import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; import io.anuke.arc.graphics.Texture; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.Disposable; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.Disposable; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.io.MapIO; import io.anuke.arc.function.Supplier; import io.anuke.arc.util.Log; diff --git a/core/src/io/anuke/mindustry/maps/Sector.java b/core/src/io/anuke/mindustry/maps/Sector.java index 59e19fac78..cb857333db 100644 --- a/core/src/io/anuke/mindustry/maps/Sector.java +++ b/core/src/io/anuke/mindustry/maps/Sector.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps; import io.anuke.arc.graphics.Texture; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.annotations.Annotations.Serialize; import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.mindustry.game.SpawnGroup; diff --git a/core/src/io/anuke/mindustry/maps/SectorPresets.java b/core/src/io/anuke/mindustry/maps/SectorPresets.java index 9e1cd27924..3983aad73e 100644 --- a/core/src/io/anuke/mindustry/maps/SectorPresets.java +++ b/core/src/io/anuke/mindustry/maps/SectorPresets.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.Mechs; diff --git a/core/src/io/anuke/mindustry/maps/Sectors.java b/core/src/io/anuke/mindustry/maps/Sectors.java index c8b6d755c5..fa01340137 100644 --- a/core/src/io/anuke/mindustry/maps/Sectors.java +++ b/core/src/io/anuke/mindustry/maps/Sectors.java @@ -5,9 +5,9 @@ import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.Array.ArrayIterable; -import io.anuke.arc.utils.async.AsyncExecutor; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.Array.ArrayIterable; +import io.anuke.arc.util.async.AsyncExecutor; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Difficulty; @@ -27,7 +27,6 @@ import io.anuke.mindustry.type.Recipe.RecipeVisibility; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.defense.Wall; -import io.anuke.arc.core.Settings; import io.anuke.arc.util.*; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/maps/TutorialSector.java b/core/src/io/anuke/mindustry/maps/TutorialSector.java index fb88e20bfc..436f0678c2 100644 --- a/core/src/io/anuke/mindustry/maps/TutorialSector.java +++ b/core/src/io/anuke/mindustry/maps/TutorialSector.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.CraftingBlocks; import io.anuke.mindustry.content.blocks.ProductionBlocks; diff --git a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java index 1606430bf6..3ded2deec6 100644 --- a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java @@ -2,9 +2,9 @@ package io.anuke.mindustry.maps.generation; import io.anuke.arc.math.GridPoint2; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntIntMap; -import io.anuke.arc.utils.Predicate; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntIntMap; +import io.anuke.arc.util.Predicate; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.blocks.*; @@ -33,7 +33,7 @@ import io.anuke.arc.function.BiFunction; import io.anuke.arc.function.IntPositionConsumer; import io.anuke.arc.function.TriFunction; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java index e76aad927d..9dfc69ee9e 100644 --- a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java @@ -2,9 +2,9 @@ package io.anuke.mindustry.maps.generation; import io.anuke.arc.math.GridPoint2; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntArray; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntArray; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.OreBlocks; @@ -24,7 +24,7 @@ import io.anuke.mindustry.world.blocks.OreBlock; import io.anuke.arc.noise.RidgedPerlin; import io.anuke.arc.noise.Simplex; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.SeedRandom; import io.anuke.arc.util.Structs; diff --git a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java index 2e53faa50b..db19db6248 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java index 7b7e35eebb..0da3c5c9d8 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java @@ -2,12 +2,12 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.players; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java b/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java index 26a1b5c01c..0c9d3c8baa 100644 --- a/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.arc.math.Bresenham2; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.world.Block; public class LineBlockMission extends Mission{ diff --git a/core/src/io/anuke/mindustry/maps/missions/Mission.java b/core/src/io/anuke/mindustry/maps/missions/Mission.java index 9bebea354a..54c8cbcd27 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Mission.java +++ b/core/src/io/anuke/mindustry/maps/missions/Mission.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.maps.missions; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.maps.generation.Generation; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java b/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java index 405946f2cd..cacdf19d40 100644 --- a/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java +++ b/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.Generation; diff --git a/core/src/io/anuke/mindustry/maps/missions/Missions.java b/core/src/io/anuke/mindustry/maps/missions/Missions.java index 8ba6e71e8e..871422a528 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Missions.java +++ b/core/src/io/anuke/mindustry/maps/missions/Missions.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java index 74c9fae8d8..f5c0e78090 100644 --- a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.Team; diff --git a/core/src/io/anuke/mindustry/net/Administration.java b/core/src/io/anuke/mindustry/net/Administration.java index 1c573dd62b..97f4b0b980 100644 --- a/core/src/io/anuke/mindustry/net/Administration.java +++ b/core/src/io/anuke/mindustry/net/Administration.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.net; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.collection.ObjectSet; import io.anuke.annotations.Annotations.Serialize; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Settings; import static io.anuke.mindustry.Vars.headless; diff --git a/core/src/io/anuke/mindustry/net/Interpolator.java b/core/src/io/anuke/mindustry/net/Interpolator.java index 63a8589040..45b39f9d56 100644 --- a/core/src/io/anuke/mindustry/net/Interpolator.java +++ b/core/src/io/anuke/mindustry/net/Interpolator.java @@ -1,9 +1,8 @@ package io.anuke.mindustry.net; - -import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.TimeUtils; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Time; public class Interpolator{ //used for movement @@ -17,9 +16,9 @@ public class Interpolator{ public float[] values = {}; public void read(float cx, float cy, float x, float y, long sent, float... target1ds){ - if(lastUpdated != 0) updateSpacing = TimeUtils.timeSinceMillis(lastUpdated); + if(lastUpdated != 0) updateSpacing = Time.timeSinceMillis(lastUpdated); - lastUpdated = TimeUtils.millis(); + lastUpdated = Time.millis(); targets = target1ds; last.set(cx, cy); @@ -46,10 +45,10 @@ public class Interpolator{ }*/ if(lastUpdated != 0 && updateSpacing != 0){ - float timeSinceUpdate = TimeUtils.timeSinceMillis(lastUpdated); + float timeSinceUpdate = Time.timeSinceMillis(lastUpdated); float alpha = Math.min(timeSinceUpdate / updateSpacing, 2f); - Mathf.lerp2(pos.set(last), target, alpha); + pos.set(last).lerpPast(target, alpha); if(values.length != targets.length){ values = new float[targets.length]; diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index 9c7e2e6c27..bbb02c2e8a 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -5,16 +5,16 @@ import io.anuke.arc.Net.HttpRequest; import io.anuke.arc.Net.HttpResponse; import io.anuke.arc.Net.HttpResponseListener; import io.anuke.arc.net.HttpRequestBuilder; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntMap; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.net.Packets.StreamBegin; import io.anuke.mindustry.net.Packets.StreamChunk; import io.anuke.mindustry.net.Streamable.StreamBuilder; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.function.BiConsumer; import io.anuke.arc.function.Consumer; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index 13d1603246..e10226d2ac 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.net; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.ObjectMap.Entry; -import io.anuke.arc.utils.TimeUtils; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.util.ObjectMap.Entry; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.GameMode; @@ -14,8 +14,8 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.maps.MapMeta; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Core; +import io.anuke.arc.Timers; import io.anuke.arc.entities.Entities; import io.anuke.arc.util.Bits; @@ -186,7 +186,7 @@ public class NetworkIO{ Entities.clear(); int id = stream.readInt(); player.resetNoAdd(); - player.read(stream, TimeUtils.millis()); + player.read(stream, Time.millis()); player.resetID(id); player.add(); diff --git a/core/src/io/anuke/mindustry/net/Packet.java b/core/src/io/anuke/mindustry/net/Packet.java index ee80bbbebe..ea58b85f26 100644 --- a/core/src/io/anuke/mindustry/net/Packet.java +++ b/core/src/io/anuke/mindustry/net/Packet.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.net; -import io.anuke.arc.utils.Pool.Poolable; +import io.anuke.arc.util.Pool.Poolable; import java.nio.ByteBuffer; diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index d93860032e..c830f9a76b 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.net; -import io.anuke.arc.utils.Base64Coder; +import io.anuke.arc.util.Base64Coder; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.io.TypeIO; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/net/Registrator.java b/core/src/io/anuke/mindustry/net/Registrator.java index 97920d478d..2c76e3dd30 100644 --- a/core/src/io/anuke/mindustry/net/Registrator.java +++ b/core/src/io/anuke/mindustry/net/Registrator.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.net; -import io.anuke.arc.utils.ObjectIntMap; +import io.anuke.arc.util.ObjectIntMap; import io.anuke.mindustry.net.Packets.*; import io.anuke.arc.function.Supplier; diff --git a/core/src/io/anuke/mindustry/type/AmmoType.java b/core/src/io/anuke/mindustry/type/AmmoType.java index 00fab82ace..24150b4b14 100644 --- a/core/src/io/anuke/mindustry/type/AmmoType.java +++ b/core/src/io/anuke/mindustry/type/AmmoType.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.type; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.bullet.BulletType; import io.anuke.mindustry.game.Content; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.entities.Effects.Effect; public class AmmoType extends Content { /**The item used. Always null if liquid isn't.*/ diff --git a/core/src/io/anuke/mindustry/type/Item.java b/core/src/io/anuke/mindustry/type/Item.java index 6c1c844f98..3e90f28c46 100644 --- a/core/src/io/anuke/mindustry/type/Item.java +++ b/core/src/io/anuke/mindustry/type/Item.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.type; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; @@ -55,7 +55,7 @@ public class Item extends UnlockableContent implements Comparable{ } public void load(){ - this.region = Draw.region("item-" + name); + this.region = Core.atlas.find("item-" + name); } @Override diff --git a/core/src/io/anuke/mindustry/type/Liquid.java b/core/src/io/anuke/mindustry/type/Liquid.java index d143b7cbba..d937f9f40a 100644 --- a/core/src/io/anuke/mindustry/type/Liquid.java +++ b/core/src/io/anuke/mindustry/type/Liquid.java @@ -45,7 +45,7 @@ public class Liquid extends UnlockableContent{ @Override public void load(){ - iconRegion = Draw.region("liquid-icon-" + name); + iconRegion = Core.atlas.find("liquid-icon-" + name); } @Override diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index cad0baf650..10b777d437 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -94,12 +94,12 @@ public class Mech extends UnlockableContent{ @Override public void load(){ if(!flying){ - legRegion = Draw.region(name + "-leg"); - baseRegion = Draw.region(name + "-base"); + legRegion = Core.atlas.find(name + "-leg"); + baseRegion = Core.atlas.find(name + "-base"); } - region = Draw.region(name); - iconRegion = Draw.region("mech-icon-" + name); + region = Core.atlas.find(name); + iconRegion = Core.atlas.find("mech-icon-" + name); } @Override diff --git a/core/src/io/anuke/mindustry/type/Recipe.java b/core/src/io/anuke/mindustry/type/Recipe.java index 1bcd79306a..9b6497752a 100644 --- a/core/src/io/anuke/mindustry/type/Recipe.java +++ b/core/src/io/anuke/mindustry/type/Recipe.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.type; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.OrderedMap; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.util.OrderedMap; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.UnlockableContent; diff --git a/core/src/io/anuke/mindustry/type/StatusEffect.java b/core/src/io/anuke/mindustry/type/StatusEffect.java index 88fcaa7021..2180699a83 100644 --- a/core/src/io/anuke/mindustry/type/StatusEffect.java +++ b/core/src/io/anuke/mindustry/type/StatusEffect.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.type; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.entities.StatusController.StatusEntry; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.Content; diff --git a/core/src/io/anuke/mindustry/type/Weapon.java b/core/src/io/anuke/mindustry/type/Weapon.java index 4c1e3dfe27..a6b0dedaba 100644 --- a/core/src/io/anuke/mindustry/type/Weapon.java +++ b/core/src/io/anuke/mindustry/type/Weapon.java @@ -11,12 +11,12 @@ import io.anuke.mindustry.entities.traits.ShooterTrait; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.Angles; import io.anuke.arc.util.Log; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Translator; public class Weapon extends Content{ @@ -101,8 +101,8 @@ public class Weapon extends Content{ @Override public void load(){ - equipRegion = Draw.region(name + "-equip"); - region = Draw.region(name); + equipRegion = Core.atlas.find(name + "-equip"); + region = Core.atlas.find(name); } @Override diff --git a/core/src/io/anuke/mindustry/ui/ContentDisplay.java b/core/src/io/anuke/mindustry/ui/ContentDisplay.java index a47311da63..8e1e2c367e 100644 --- a/core/src/io/anuke/mindustry/ui/ContentDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ContentDisplay.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.OrderedMap; +import io.anuke.arc.util.OrderedMap; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.Item; @@ -26,7 +26,7 @@ public class ContentDisplay{ table.table(title -> { int size = 8 * 6; - title.addImage(Draw.region("block-icon-" + block.name)).size(size); + title.addImage(Core.atlas.find("block-icon-" + block.name)).size(size); title.add("[accent]" + block.formalName).padLeft(5); }); diff --git a/core/src/io/anuke/mindustry/ui/GridImage.java b/core/src/io/anuke/mindustry/ui/GridImage.java index 0815041e06..c18aa1d878 100644 --- a/core/src/io/anuke/mindustry/ui/GridImage.java +++ b/core/src/io/anuke/mindustry/ui/GridImage.java @@ -14,7 +14,7 @@ public class GridImage extends Element{ } public void draw(Batch batch, float alpha){ - TextureRegion blank = Draw.region("white"); + TextureRegion blank = Core.atlas.find("white"); float xspace = (getWidth() / imageWidth); float yspace = (getHeight() / imageHeight); diff --git a/core/src/io/anuke/mindustry/ui/MenuButton.java b/core/src/io/anuke/mindustry/ui/MenuButton.java index 8eab27c59f..9d5f34430e 100644 --- a/core/src/io/anuke/mindustry/ui/MenuButton.java +++ b/core/src/io/anuke/mindustry/ui/MenuButton.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.Align; +import io.anuke.arc.util.Align; import io.anuke.arc.scene.ui.TextButton; public class MenuButton extends TextButton{ diff --git a/core/src/io/anuke/mindustry/ui/Minimap.java b/core/src/io/anuke/mindustry/ui/Minimap.java index 90811ef6ef..7041bb8166 100644 --- a/core/src/io/anuke/mindustry/ui/Minimap.java +++ b/core/src/io/anuke/mindustry/ui/Minimap.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.Texture.TextureFilter; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Shaders; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.InputEvent; diff --git a/core/src/io/anuke/mindustry/ui/MobileButton.java b/core/src/io/anuke/mindustry/ui/MobileButton.java index d6716fdca0..4d64eafe5c 100644 --- a/core/src/io/anuke/mindustry/ui/MobileButton.java +++ b/core/src/io/anuke/mindustry/ui/MobileButton.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui; -import io.anuke.arc.utils.Align; +import io.anuke.arc.util.Align; import io.anuke.arc.scene.ui.ImageButton; public class MobileButton extends ImageButton{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java index 57674967f9..b30a5d471f 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java @@ -2,15 +2,15 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.io.Contributors; import io.anuke.mindustry.io.Contributors.Contributor; import io.anuke.mindustry.ui.Links; import io.anuke.mindustry.ui.Links.LinkEntry; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Core; +import io.anuke.arc.Timers; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.layout.Cell; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java index 2c95c7dfb8..431939a70d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java @@ -1,12 +1,12 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.Changelogs; import io.anuke.mindustry.io.Changelogs.VersionInfo; import io.anuke.mindustry.game.Version; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Settings; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Log; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java index 2e4639819c..2c6563014f 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Input.Keys; -import io.anuke.arc.utils.Align; +import io.anuke.arc.util.Align; import io.anuke.mindustry.graphics.Palette; import io.anuke.arc.scene.ui.Image; import io.anuke.arc.scene.ui.KeybindDialog; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java index b8ef727427..14bfa623f3 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java @@ -2,13 +2,12 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.Scaling; +import io.anuke.arc.util.Align; +import io.anuke.arc.util.Scaling; import io.anuke.mindustry.game.Difficulty; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.ui.BorderImage; -import io.anuke.arc.core.Settings; import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.ImageButton; @@ -16,7 +15,7 @@ import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java index d2b44d6d52..3025098378 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java @@ -3,12 +3,11 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; import io.anuke.arc.graphics.g2d.GlyphLayout; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.Array; +import io.anuke.arc.util.Align; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.function.Consumer; import io.anuke.arc.function.Predicate; import io.anuke.arc.scene.event.Touchable; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java index 4b2e76a892..30eca7e8c9 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java @@ -2,13 +2,12 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.Input.Keys; -import io.anuke.arc.utils.Align; +import io.anuke.arc.util.Align; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.ResizeEvent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Events; +import io.anuke.arc.Events; import io.anuke.arc.scene.ui.Dialog; import io.anuke.arc.scene.ui.ScrollPane; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java index 98d1f55df9..9af57b617f 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java @@ -4,8 +4,8 @@ import io.anuke.arc.Core; import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.async.AsyncExecutor; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.async.AsyncExecutor; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.WorldGenerator.GenResult; @@ -17,7 +17,7 @@ import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.scene.utils.Cursors; import io.anuke.arc.util.GridMap; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.sectorSize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java index 79c6515947..aea61b38c6 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java @@ -4,8 +4,8 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Settings; +import io.anuke.arc.Timers; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.util.Bundles; import io.anuke.arc.util.Strings; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index 553ad8346e..c5cbce9599 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.MathUtils; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.annotations.Annotations.Serialize; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; @@ -10,8 +10,8 @@ import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Host; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Settings; +import io.anuke.arc.Timers; import io.anuke.arc.scene.style.Drawable; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.layout.Cell; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java index dece4b9e89..a3ec2b1625 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.core.Settings; +import io.anuke.arc.Settings; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.TextButton; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index 1ded88a8ff..d7a04f9e78 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -2,14 +2,14 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.game.Saves.SaveSlot; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Core; +import io.anuke.arc.Timers; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java index d08424a6f3..95a2128c47 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.utils.Scaling; +import io.anuke.arc.util.Scaling; import io.anuke.mindustry.entities.Player; import io.anuke.arc.graphics.Draw; import io.anuke.arc.scene.ui.Image; @@ -39,7 +39,7 @@ public class LocalPlayerDialog extends FloatingDialog{ stack.add(new Image("button")); - Image img = new Image(Draw.region("icon-chat")); + Image img = new Image(Core.atlas.find("icon-chat")); img.setScaling(Scaling.fill); stack.add(img); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java index 4f83cd3557..8facc1eebd 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.Scaling; +import io.anuke.arc.util.Scaling; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.io.MapIO; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java index a5b20b98dd..9a6c9e745a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Saves.SaveSlot; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java index 9e4eb6b90a..b9ef625a92 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java @@ -4,11 +4,11 @@ import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.GridPoint2; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Align; +import io.anuke.arc.util.Align; import io.anuke.mindustry.Vars; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.maps.Sector; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; @@ -21,7 +21,7 @@ import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.arc.scene.utils.Cursors; import io.anuke.arc.util.Bundles; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index 22445262f6..7aea515d55 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -3,13 +3,11 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.Input.Keys; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.utils.Align; +import io.anuke.arc.util.Align; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Settings; import io.anuke.arc.function.Consumer; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.InputEvent; @@ -21,7 +19,7 @@ import io.anuke.arc.scene.ui.SettingsDialog.SettingsTable.Setting; import io.anuke.arc.scene.ui.Slider; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.util.HashMap; import java.util.Map; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java index 2f7ab00a02..1c300a2d8e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/UnlocksDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.game.UnlockableContent; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java index bc74b9b78e..c6ad183518 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java @@ -5,8 +5,8 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.scene.Group; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java index 1b0b3a8d88..51ca195c29 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java @@ -3,14 +3,13 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.Core; import io.anuke.arc.math.Interpolation; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Align; +import io.anuke.arc.util.Align; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Graphics; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.actions.Actions; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java index af1d5108d8..93d1558aa0 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java @@ -3,15 +3,15 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.util.Align; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.Consume; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Graphics; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 703f77333a..660a523e01 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.math.Interpolation; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.IntSet; +import io.anuke.arc.util.Align; +import io.anuke.arc.util.IntSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.core.GameState.State; @@ -13,8 +13,8 @@ import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.ui.ItemImage; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.function.BooleanProvider; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.actions.Actions; @@ -23,7 +23,7 @@ import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Strings; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java index 516c740f71..a4b9335560 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java @@ -6,15 +6,14 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.BitmapFont; import io.anuke.arc.graphics.g2d.GlyphLayout; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.Array; +import io.anuke.arc.util.Align; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Core; -import io.anuke.arc.core.Inputs; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Inputs; +import io.anuke.arc.Timers; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.ui.Dialog; import io.anuke.arc.scene.ui.Label; @@ -22,7 +21,7 @@ import io.anuke.arc.scene.ui.Label.LabelStyle; import io.anuke.arc.scene.ui.TextField; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.arc.core.Core.scene; @@ -71,21 +70,21 @@ public class ChatFragment extends Table{ update(() -> { - if(Net.active() && Inputs.keyTap("chat")){ + if(Net.active() && Core.input.keyTap("chat")){ toggle(); } if(chatOpen){ - if(Inputs.keyTap("chat_history_prev") && historyPos < history.size - 1){ + if(Core.input.keyTap("chat_history_prev") && historyPos < history.size - 1){ if(historyPos == 0) history.set(0, chatfield.getText()); historyPos++; updateChat(); } - if(Inputs.keyTap("chat_history_next") && historyPos > 0){ + if(Core.input.keyTap("chat_history_next") && historyPos > 0){ historyPos--; updateChat(); } - scrollPos = (int) Mathf.clamp(scrollPos + Inputs.getAxis("chat_scroll"), 0, Math.max(0, messages.size - messagesShown)); + scrollPos = (int) Mathf.clamp(scrollPos + Core.input.getAxis("chat_scroll"), 0, Math.max(0, messages.size - messagesShown)); } }); diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index c1f8f49e6a..b460c47169 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -4,9 +4,9 @@ import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Interpolation; -import io.anuke.arc.utils.Align; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.Scaling; +import io.anuke.arc.util.Align; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.Scaling; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.StateChangeEvent; import io.anuke.mindustry.game.Team; @@ -18,7 +18,7 @@ import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.IntFormat; import io.anuke.mindustry.ui.Minimap; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.arc.core.*; +import io.anuke.arc.*; import io.anuke.arc.graphics.Hue; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; @@ -32,7 +32,7 @@ import io.anuke.arc.scene.ui.layout.Stack; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; @@ -109,7 +109,7 @@ public class HudFragment extends Fragment{ } cont.update(() -> { - if(!Inputs.keyDown("gridMode") && Inputs.keyTap("toggle_menus") && !ui.chatfrag.chatOpen()){ + if(!Core.input.keyDown("gridMode") && Core.input.keyTap("toggle_menus") && !ui.chatfrag.chatOpen()){ toggleMenus(); } }); diff --git a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java index b99deb4d7b..54c6adc220 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/MenuFragment.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.game.Version; import io.anuke.mindustry.ui.MenuButton; import io.anuke.mindustry.ui.MobileButton; import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.arc.core.Events; +import io.anuke.arc.Events; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Strings; diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java index c60d71f3da..c6e95f1049 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.Interpolation; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; @@ -16,9 +16,9 @@ import io.anuke.mindustry.ui.ImageStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.arc.core.Events; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Inputs; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; +import io.anuke.arc.Inputs; import io.anuke.arc.input.Input; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.actions.Actions; @@ -64,18 +64,18 @@ public class PlacementFragment extends Fragment{ } boolean gridUpdate(InputHandler input){ - if(!Inputs.keyDown("gridMode") || ui.chatfrag.chatOpen()) return false; - if(Inputs.keyDown("gridModeShift")){ //select category + if(!Core.input.keyDown("gridMode") || ui.chatfrag.chatOpen()) return false; + if(Core.input.keyDown("gridModeShift")){ //select category int i = 0; for(Input key : inputCatGrid){ - if(Inputs.keyDown(key)){ + if(Core.input.keyDown(key)){ input.recipe = Recipe.getByCategory(Category.values()[i]).first(); currentCategory = input.recipe.category; } i++; } return true; - }else if(Inputs.keyDown("select")){ //mouse eyedropper select + }else if(Core.input.keyDown("select")){ //mouse eyedropper select Tile tile = world.tileWorld(Graphics.mouseWorld().x, Graphics.mouseWorld().y); if(tile != null){ @@ -91,7 +91,7 @@ public class PlacementFragment extends Fragment{ int i = 0; Array recipes = Recipe.getByCategory(currentCategory); for(Input key : inputGrid){ - if(Inputs.keyDown(key)) + if(Core.input.keyDown(key)) input.recipe = (i < recipes.size && control.unlocks.isUnlocked(recipes.get(i))) ? recipes.get(i) : null; i++; } diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java index d11ec99849..4eef86bf22 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetConnection; import io.anuke.mindustry.net.Packets.AdminAction; -import io.anuke.arc.core.Core; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.scene.Group; diff --git a/core/src/io/anuke/mindustry/world/BaseBlock.java b/core/src/io/anuke/mindustry/world/BaseBlock.java index f24d04f1a8..d868d9a2d3 100644 --- a/core/src/io/anuke/mindustry/world/BaseBlock.java +++ b/core/src/io/anuke/mindustry/world/BaseBlock.java @@ -1,6 +1,10 @@ package io.anuke.mindustry.world; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; +import io.anuke.arc.entities.Effects; +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.fx.EnvironmentFx; import io.anuke.mindustry.entities.TileEntity; @@ -13,10 +17,6 @@ import io.anuke.mindustry.world.consumers.ConsumeItem; import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.consumers.Consumers; import io.anuke.mindustry.world.meta.Producers; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; -import io.anuke.arc.util.Translator; public abstract class BaseBlock extends MappableContent{ public boolean hasItems; @@ -71,7 +71,7 @@ public abstract class BaseBlock extends MappableContent{ } /**Returns offset for stack placement.*/ - public void getStackOffset(Item item, Tile tile, Translator trns){ + public void getStackOffset(Item item, Tile tile, Vector2 trns){ } diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index ce4743c663..211366df94 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -1,9 +1,17 @@ package io.anuke.mindustry.world; +import io.anuke.arc.Core; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.EnumSet; +import io.anuke.arc.collection.IntArray; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.Hue; +import io.anuke.arc.graphics.Lines; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntArray; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Time; import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; @@ -21,14 +29,6 @@ import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.meta.*; -import io.anuke.arc.core.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Hue; -import io.anuke.arc.graphics.Lines; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.EnumSet; -import io.anuke.arc.util.Mathf; import static io.anuke.mindustry.Vars.*; @@ -260,8 +260,8 @@ public class Block extends BaseBlock { @Override public void load(){ - shadowRegion = Draw.region(shadow == null ? "shadow-" + size : shadow); - region = Draw.region(name); + shadowRegion = Core.atlas.find(shadow == null ? "shadow-" + size : shadow); + region = Core.atlas.find(name); } /**Called when the world is resized. @@ -319,8 +319,7 @@ public class Block extends BaseBlock { public void drawConfigure(Tile tile){ Draw.color(Palette.accent); Lines.stroke(1f); - Lines.square(tile.drawx(), tile.drawy(), - tile.block().size * tilesize / 2f + 1f); + Lines.square(tile.drawx(), tile.drawy(), tile.block().size * tilesize / 2f + 1f); Draw.reset(); } @@ -465,7 +464,7 @@ public class Block extends BaseBlock { public TextureRegion getEditorIcon(){ if(editorIcon == null){ - editorIcon = Draw.region("block-icon-" + name, Draw.region("clear")); + editorIcon = Core.atlas.find("block-icon-" + name, Core.atlas.find("clear")); } return editorIcon; } @@ -474,11 +473,11 @@ public class Block extends BaseBlock { public TextureRegion[] getIcon(){ if(icon == null){ if(Draw.hasRegion(name + "-icon")){ - icon = new TextureRegion[]{Draw.region(name + "-icon")}; + icon = new TextureRegion[]{Core.atlas.find(name + "-icon")}; }else if(Draw.hasRegion(name)){ - icon = new TextureRegion[]{Draw.region(name)}; + icon = new TextureRegion[]{Core.atlas.find(name)}; }else if(Draw.hasRegion(name + "1")){ - icon = new TextureRegion[]{Draw.region(name + "1")}; + icon = new TextureRegion[]{Core.atlas.find(name + "1")}; }else{ icon = new TextureRegion[]{}; } diff --git a/core/src/io/anuke/mindustry/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index d847e29e75..5aebf6c2b6 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import io.anuke.arc.core.Events; +import io.anuke.arc.Events; import io.anuke.arc.util.Geometry; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/world/ColorMapper.java b/core/src/io/anuke/mindustry/world/ColorMapper.java index a82a232668..a9b1926b3a 100644 --- a/core/src/io/anuke/mindustry/world/ColorMapper.java +++ b/core/src/io/anuke/mindustry/world/ColorMapper.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.IntMap; -import io.anuke.arc.utils.ObjectIntMap; +import io.anuke.arc.util.IntMap; +import io.anuke.arc.util.ObjectIntMap; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.type.ContentType; diff --git a/core/src/io/anuke/mindustry/world/Edges.java b/core/src/io/anuke/mindustry/world/Edges.java index d00cc85ee4..685b16e5c9 100644 --- a/core/src/io/anuke/mindustry/world/Edges.java +++ b/core/src/io/anuke/mindustry/world/Edges.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.math.geom.Vector2; import java.util.Arrays; diff --git a/core/src/io/anuke/mindustry/world/ItemBuffer.java b/core/src/io/anuke/mindustry/world/ItemBuffer.java index 08e6ff824c..31fb5e96b8 100644 --- a/core/src/io/anuke/mindustry/world/ItemBuffer.java +++ b/core/src/io/anuke/mindustry/world/ItemBuffer.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world; -import io.anuke.arc.utils.NumberUtils; +import io.anuke.arc.util.NumberUtils; import io.anuke.mindustry.type.Item; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/world/LegacyColorMapper.java b/core/src/io/anuke/mindustry/world/LegacyColorMapper.java index c61a608652..eb5ea49a0c 100644 --- a/core/src/io/anuke/mindustry/world/LegacyColorMapper.java +++ b/core/src/io/anuke/mindustry/world/LegacyColorMapper.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world; import io.anuke.arc.graphics.Color; -import io.anuke.arc.utils.IntMap; +import io.anuke.arc.util.IntMap; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.OreBlocks; diff --git a/core/src/io/anuke/mindustry/world/Tile.java b/core/src/io/anuke/mindustry/world/Tile.java index 0cff80e015..256e08f141 100644 --- a/core/src/io/anuke/mindustry/world/Tile.java +++ b/core/src/io/anuke/mindustry/world/Tile.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world; import io.anuke.arc.math.GridPoint2; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.traits.TargetTrait; diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index 4a23cb0ee6..5bd515f05f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -24,11 +24,11 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index 9a037d5038..20f6b34100 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -1,23 +1,23 @@ package io.anuke.mindustry.world.blocks; +import io.anuke.arc.Core; +import io.anuke.arc.collection.IntIntMap; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.function.BiPredicate; +import io.anuke.arc.function.Predicate; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.MathUtils; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.IntIntMap; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.function.BiPredicate; -import io.anuke.arc.function.Predicate; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Structs; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; public class Floor extends Block{ //TODO implement proper bitmasking @@ -75,7 +75,7 @@ public class Floor extends Block{ super.load(); if(blend){ - edgeRegion = Draw.hasRegion(name + "edge") ? Draw.region(name + "edge") : Draw.region(edge + "edge"); + edgeRegion = Draw.hasRegion(name + "edge") ? Core.atlas.find(name + "edge") : Core.atlas.find(edge + "edge"); edgeRegions = new TextureRegion[8]; offsets = new Vector2[8]; @@ -93,17 +93,17 @@ public class Floor extends Block{ float ry = Mathf.clamp(dy * 8, 0, 8 - h); result.setTexture(edgeRegion.getTexture()); - result.setRegion(edgeRegion.getRegionX() + x, edgeRegion.getRegionY() + y + h, w, -h); + result.set(edgeRegion.getX() + x, edgeRegion.getY() + y + h, w, -h); edgeRegions[i] = result; offsets[i] = new Vector2(-4 + rx, -4 + ry); } cliffRegions = new TextureRegion[4]; - cliffRegions[0] = Draw.region(name + "-cliff-edge-2"); - cliffRegions[1] = Draw.region(name + "-cliff-edge"); - cliffRegions[2] = Draw.region(name + "-cliff-edge-1"); - cliffRegions[3] = Draw.region(name + "-cliff-side"); + cliffRegions[0] = Core.atlas.find(name + "-cliff-edge-2"); + cliffRegions[1] = Core.atlas.find(name + "-cliff-edge"); + cliffRegions[2] = Core.atlas.find(name + "-cliff-edge-1"); + cliffRegions[3] = Core.atlas.find(name + "-cliff-side"); } //load variant regions for drawing @@ -111,11 +111,11 @@ public class Floor extends Block{ variantRegions = new TextureRegion[variants]; for(int i = 0; i < variants; i++){ - variantRegions[i] = Draw.region(name + (i + 1)); + variantRegions[i] = Core.atlas.find(name + (i + 1)); } }else{ variantRegions = new TextureRegion[1]; - variantRegions[0] = Draw.region(name); + variantRegions[0] = Core.atlas.find(name); } } @@ -130,14 +130,14 @@ public class Floor extends Block{ @Override public void drawNonLayer(Tile tile){ - MathUtils.random.setSeed(tile.pos()); + Mathf.random.setSeed(tile.pos()); drawEdges(tile, true); } @Override public void draw(Tile tile){ - MathUtils.random.setSeed(tile.pos()); + Mathf.random.setSeed(tile.pos()); Draw.rect(variantRegions[Mathf.randomSeed(tile.pos(), 0, Math.max(0, variantRegions.length - 1))], tile.worldx(), tile.worldy()); diff --git a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java index a65b937883..1e5e020089 100644 --- a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java @@ -23,14 +23,14 @@ public class LiquidBlock extends Block{ public void load(){ super.load(); - liquidRegion = Draw.region(name + "-liquid"); - topRegion = Draw.region(name + "-top"); - bottomRegion = Draw.region(name + "-bottom"); + liquidRegion = Core.atlas.find(name + "-liquid"); + topRegion = Core.atlas.find(name + "-top"); + bottomRegion = Core.atlas.find(name + "-bottom"); } @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name() + "-bottom"), Draw.region(name() + "-top")}; + return new TextureRegion[]{Core.atlas.find(name() + "-bottom"), Core.atlas.find(name() + "-top")}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java index 5129e2bbdc..ceab37ed65 100644 --- a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class OreBlock extends Floor{ public Floor base; diff --git a/core/src/io/anuke/mindustry/world/blocks/Rock.java b/core/src/io/anuke/mindustry/world/blocks/Rock.java index c616fd0433..5f62632461 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Rock.java +++ b/core/src/io/anuke/mindustry/world/blocks/Rock.java @@ -4,7 +4,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class Rock extends Block{ protected TextureRegion[] shadowRegions, regions; @@ -43,8 +43,8 @@ public class Rock extends Block{ regions = new TextureRegion[variants]; for(int i = 0; i < variants; i++){ - shadowRegions[i] = Draw.region(name + "shadow" + (i + 1)); - regions[i] = Draw.region(name + (i + 1)); + shadowRegions[i] = Core.atlas.find(name + "shadow" + (i + 1)); + regions[i] = Core.atlas.find(name + (i + 1)); } } } diff --git a/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java b/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java index a7e932149f..177ce8a5ce 100644 --- a/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java +++ b/core/src/io/anuke/mindustry/world/blocks/SelectionTrait.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.type.Item; import io.anuke.arc.function.Consumer; import io.anuke.arc.function.Supplier; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java index 2f469e93cd..6f0553d4e6 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Physics; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java index ed6498da21..8ae8f581e3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java @@ -8,8 +8,8 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.input.CursorType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import java.io.DataInput; @@ -36,7 +36,7 @@ public class Door extends Wall{ @Override public void load(){ super.load(); - openRegion = Draw.region(name + "-open"); + openRegion = Core.atlas.find(name + "-open"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java index d7ca799ded..ea488388be 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java @@ -14,16 +14,16 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.entities.impl.BaseEntity; import io.anuke.arc.entities.trait.DrawTrait; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -60,7 +60,7 @@ public class ForceProjector extends Block { @Override public void load(){ super.load(); - topRegion = Draw.region(name + "-top"); + topRegion = Core.atlas.find(name + "-top"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 225d9b7993..23e3cd66eb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -3,18 +3,18 @@ package io.anuke.mindustry.world.blocks.defense; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.IntSet; +import io.anuke.arc.util.IntSet; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Hue; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -50,7 +50,7 @@ public class MendProjector extends Block{ @Override public void load(){ super.load(); - topRegion = Draw.region(name + "-top"); + topRegion = Core.atlas.find(name + "-top"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index 8a633ea66b..e5c63b9751 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -3,18 +3,18 @@ package io.anuke.mindustry.world.blocks.defense; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.IntSet; +import io.anuke.arc.util.IntSet; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Hue; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -51,7 +51,7 @@ public class OverdriveProjector extends Block{ @Override public void load(){ super.load(); - topRegion = Draw.region(name + "-top"); + topRegion = Core.atlas.find(name + "-top"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java index 225041ef45..650c6bb6e0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class ShockMine extends Block{ protected int timerDamage = timers ++; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java index ff62f9d2bc..307afd4425 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/SurgeWall.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class SurgeWall extends Wall{ protected float lightningChance = 0.05f; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java index a9ae8bf536..363f77528c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ArtilleryTurret.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; @@ -33,7 +33,7 @@ public class ArtilleryTurret extends ItemTurret{ Vector2 predict = Predict.intercept(tile, entity.target, type.bullet.speed); - float dst = entity.distanceTo(predict.x, predict.y); + float dst = entity.dst(predict.x, predict.y); float maxTraveled = type.bullet.lifetime * type.bullet.speed; for(int i = 0; i < shots; i++){ diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java index 172b0294b4..9a0ad9a1b1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.defense.turrets; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java index ab3718b47e..89c4fb758f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java @@ -4,10 +4,10 @@ import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java index dd98334f61..ec9c5c466b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java @@ -4,10 +4,10 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java index 9fc55716ca..1819857ad7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/DoubleTurret.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.defense.turrets; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java index ae6938bc1f..28676ec0cc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ItemTurret.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.type.AmmoEntry; import io.anuke.mindustry.type.AmmoType; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java index c9e9fda485..c0bc442d89 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java index b1b17ff3f1..ff39c10589 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets; -import io.anuke.arc.utils.ObjectMap; +import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.type.Item; @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import io.anuke.arc.core.Effects; +import io.anuke.arc.Effects; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index b0fd1105b2..00cdcb706a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.defense.turrets; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Vector2; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.TileEntity; @@ -22,10 +22,10 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.function.BiConsumer; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; @@ -106,9 +106,9 @@ public abstract class Turret extends Block{ public void load(){ super.load(); - baseRegion = Draw.region("block-" + size); - baseTopRegion = Draw.region("block-" + size + "-top"); - heatRegion = Draw.region(name + "-heat"); + baseRegion = Core.atlas.find("block-" + size); + baseTopRegion = Core.atlas.find("block-" + size + "-top"); + heatRegion = Core.atlas.find(name + "-heat"); } @Override @@ -142,7 +142,7 @@ public abstract class Turret extends Block{ drawer.accept(tile, entity); - if(heatRegion != Draw.region("error")){ + if(heatRegion != Core.atlas.find("error")){ heatDrawer.accept(tile, entity); } @@ -152,7 +152,7 @@ public abstract class Turret extends Block{ @Override public TextureRegion[] getBlockIcon(){ if(blockIcon == null){ - blockIcon = new TextureRegion[]{Draw.region("block-icon-" + name)}; + blockIcon = new TextureRegion[]{Core.atlas.find("block-icon-" + name)}; } return blockIcon; } @@ -160,7 +160,7 @@ public abstract class Turret extends Block{ @Override public TextureRegion[] getCompactIcon(){ if(compactIcon == null){ - compactIcon = new TextureRegion[]{iconRegion(Draw.region("block-icon-" + name))}; + compactIcon = new TextureRegion[]{iconRegion(Core.atlas.find("block-icon-" + name))}; } return compactIcon; } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java index e11a2570ea..1980195b30 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/BufferedItemBridge.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.ItemBuffer; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class BufferedItemBridge extends ExtendingItemBridge{ protected int timerAccept = timers++; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java index 50eb9759d9..fa296100e3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.LiquidBlock; import io.anuke.mindustry.world.modules.LiquidModule; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -30,10 +30,10 @@ public class Conduit extends LiquidBlock{ public void load(){ super.load(); - liquidRegion = Draw.region("conduit-liquid"); + liquidRegion = Core.atlas.find("conduit-liquid"); for(int i = 0; i < topRegions.length; i++){ - topRegions[i] = Draw.region(name + "-top-" + i); - botRegions[i] = Draw.region("conduit-bottom-" + i); + topRegions[i] = Core.atlas.find(name + "-top-" + i); + botRegions[i] = Core.atlas.find("conduit-bottom-" + i); } } @@ -113,7 +113,7 @@ public class Conduit extends LiquidBlock{ @Override public TextureRegion[] getIcon(){ if(icon == null){ - icon = new TextureRegion[]{Draw.region("conduit-bottom"), Draw.region(name + "-top-0")}; + icon = new TextureRegion[]{Core.atlas.find("conduit-bottom"), Core.atlas.find(name + "-top-0")}; } return icon; } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index 04a2ee25a1..99a590c651 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.LongArray; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.LongArray; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.graphics.Layer; @@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.util.*; @@ -68,7 +68,7 @@ public class Conveyor extends Block{ for(int i = 0; i < regions.length; i++){ for(int j = 0; j < 4; j++){ - regions[i][j] = Draw.region(name + "-" + i + "-" + j); + regions[i][j] = Core.atlas.find(name + "-" + i + "-" + j); } } } @@ -139,7 +139,7 @@ public class Conveyor extends Block{ @Override public TextureRegion[] getIcon(){ if(icon == null){ - icon = new TextureRegion[]{Draw.region(name + "-0-0")}; + icon = new TextureRegion[]{Core.atlas.find(name + "-0-0")}; } return super.getIcon(); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java index 2f41b4eac0..d9cd93c407 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.CapStyle; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java index 219da66646..8b198e0ba3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java @@ -2,9 +2,9 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.IntArray; -import io.anuke.arc.utils.IntSet; -import io.anuke.arc.utils.IntSet.IntSetIterator; +import io.anuke.arc.util.IntArray; +import io.anuke.arc.util.IntSet; +import io.anuke.arc.util.IntSet.IntSetIterator; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.entities.Player; @@ -18,12 +18,12 @@ import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.CapStyle; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -77,9 +77,9 @@ public class ItemBridge extends Block{ public void load(){ super.load(); - endRegion = Draw.region(name + "-end"); - bridgeRegion = Draw.region(name + "-bridge"); - arrowRegion = Draw.region(name + "-arrow"); + endRegion = Core.atlas.find(name + "-end"); + bridgeRegion = Core.atlas.find(name + "-bridge"); + arrowRegion = Core.atlas.find(name + "-arrow"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java index 166352f2b9..0815fd8db1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java @@ -1,12 +1,12 @@ package io.anuke.mindustry.world.blocks.distribution; -import io.anuke.arc.utils.NumberUtils; +import io.anuke.arc.util.NumberUtils; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java index 2e06ade6af..ce48244cfe 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java @@ -4,8 +4,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java index c23fd46895..2be21c79f5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.world.blocks.distribution; -import io.anuke.arc.utils.IntSet.IntSetIterator; +import io.anuke.arc.util.IntSet.IntSetIterator; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java index 231e8fa68e..83748ebe30 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java @@ -34,7 +34,7 @@ public class LiquidJunction extends LiquidBlock{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name)}; + return new TextureRegion[]{Core.atlas.find(name)}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java index 4dcd94574f..0a89bc9d9a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.ObjectSet; -import io.anuke.arc.utils.Pool.Poolable; +import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.util.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.bullets.TurretBullets; @@ -21,13 +21,13 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Pooling; import java.io.DataInput; @@ -119,7 +119,7 @@ public class MassDriver extends Block{ public void load(){ super.load(); - turretRegion = Draw.region(name + "-turret"); + turretRegion = Core.atlas.find(name + "-turret"); } @Override @@ -228,7 +228,7 @@ public class MassDriver extends Block{ if(entity.link == other.pos()){ Call.linkMassDriver(null, tile, -1); return false; - }else if(other.block() instanceof MassDriver && other.distanceTo(tile) <= range){ + }else if(other.block() instanceof MassDriver && other.dst(tile) <= range){ Call.linkMassDriver(null, tile, other.pos()); return false; } @@ -259,7 +259,7 @@ public class MassDriver extends Block{ if(entity == null || entity.link == -1) return false; Tile link = world.tile(entity.link); - return link != null && link.block() instanceof MassDriver && tile.distanceTo(link) <= range; + return link != null && link.block() instanceof MassDriver && tile.dst(link) <= range; } public static class DriverBulletData implements Poolable{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java b/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java index c7787a9431..c54d42daae 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java @@ -3,8 +3,8 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Timers; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.Timers; +import io.anuke.arc.math.Mathf; public class OverflowGate extends Router{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java index 9bf005e445..8d241b5a69 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.blocks.distribution; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.BarType; @@ -8,7 +8,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; public class Router extends Block{ protected float speed = 8f; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java index e5e08293fb..16b0b26eff 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.world.blocks.SelectionTrait; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.arc.graphics.Draw; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java index e57c843265..43bbe1e208 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class FusionReactor extends PowerGenerator{ protected int plasmas = 4; @@ -104,7 +104,7 @@ public class FusionReactor extends PowerGenerator{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name + "-bottom"), Draw.region(name), Draw.region(name + "-top")}; + return new TextureRegion[]{Core.atlas.find(name + "-bottom"), Core.atlas.find(name), Core.atlas.find(name + "-top")}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java index 6a7641ac9f..c0dcc8f938 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java @@ -11,11 +11,11 @@ import io.anuke.mindustry.world.consumers.ConsumeItemFilter; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -43,7 +43,7 @@ public abstract class ItemGenerator extends PowerGenerator{ @Override public void load(){ super.load(); - topRegion = Draw.region(name + "-top"); + topRegion = Core.atlas.find(name + "-top"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java index b637954bbd..a404962a93 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -5,9 +5,9 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.core.Effects; +import io.anuke.arc.Effects; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java index 50ef97a01a..287e0f6b49 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java @@ -6,10 +6,10 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.power.ItemGenerator.ItemGeneratorEntity; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public abstract class LiquidGenerator extends PowerGenerator{ protected float minEfficiency = 0.2f; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java index 9bb7f0e7f3..0876fe459c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java @@ -14,10 +14,10 @@ import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Translator; import java.io.DataInput; @@ -60,8 +60,8 @@ public class NuclearReactor extends PowerGenerator{ public void load(){ super.load(); - topRegion = Draw.region(name + "-center"); - lightsRegion = Draw.region(name + "-lights"); + topRegion = Core.atlas.find(name + "-center"); + lightsRegion = Core.atlas.find(name + "-lights"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java index c1e59a9431..71e0dce62b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerGraph.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.world.blocks.power; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.IntSet; -import io.anuke.arc.utils.ObjectSet; -import io.anuke.arc.utils.Queue; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.IntSet; +import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.util.Queue; import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.threads; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index db85f4a8d2..edc52a8295 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -12,12 +12,12 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Settings; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Settings; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Translator; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java index f915af34f6..4e3d182a27 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.power; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.util.EnumSet; public class SolarGenerator extends PowerGenerator{ diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java index a15864b4a6..411ff97264 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class Compressor extends PowerCrafter{ protected TextureRegion liquidRegion, topRegion; @@ -22,11 +22,11 @@ public class Compressor extends PowerCrafter{ frameRegions = new TextureRegion[3]; for(int i = 0; i < 3; i++){ - frameRegions[i] = Draw.region(name + "-frame" + i); + frameRegions[i] = Core.atlas.find(name + "-frame" + i); } - liquidRegion = Draw.region(name + "-liquid"); - topRegion = Draw.region(name + "-top"); + liquidRegion = Core.atlas.find(name + "-liquid"); + topRegion = Core.atlas.find(name + "-top"); } @Override @@ -43,6 +43,6 @@ public class Compressor extends PowerCrafter{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name), Draw.region(name + "-top")}; + return new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-top")}; } } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java index 55b5e4cb1f..e0c27f2399 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java @@ -9,10 +9,10 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import io.anuke.arc.util.SeedRandom; import java.io.DataInput; @@ -50,8 +50,8 @@ public class Cultivator extends Drill{ public void load(){ super.load(); - middleRegion = Draw.region(name + "-middle"); - topRegion = Draw.region(name + "-top"); + middleRegion = Core.atlas.find(name + "-middle"); + topRegion = Core.atlas.find(name + "-top"); } @Override @@ -92,7 +92,7 @@ public class Cultivator extends Drill{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name), Draw.region(name + "-top"),}; + return new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-top"),}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java index 50e0be317d..72de7e7c56 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.production; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.Array; -import io.anuke.arc.utils.ObjectIntMap; +import io.anuke.arc.collection.Array; +import io.anuke.arc.util.ObjectIntMap; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; @@ -16,12 +16,12 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; public class Drill extends Block{ @@ -78,9 +78,9 @@ public class Drill extends Block{ @Override public void load(){ super.load(); - rimRegion = Draw.region(name + "-rim"); - rotatorRegion = Draw.region(name + "-rotator"); - topRegion = Draw.region(name + "-top"); + rimRegion = Core.atlas.find(name + "-rim"); + rotatorRegion = Core.atlas.find(name + "-rotator"); + topRegion = Core.atlas.find(name + "-top"); } @Override @@ -114,7 +114,7 @@ public class Drill extends Block{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name), Draw.region(name + "-rotator"), Draw.region(name + "-top")}; + return new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-rotator"), Core.atlas.find(name + "-top")}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java index fd20bb489b..aa43770e15 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java @@ -27,9 +27,9 @@ public class Fracker extends SolidPump{ public void load(){ super.load(); - liquidRegion = Draw.region(name + "-liquid"); - rotatorRegion = Draw.region(name + "-rotator"); - topRegion = Draw.region(name + "-top"); + liquidRegion = Core.atlas.find(name + "-liquid"); + rotatorRegion = Core.atlas.find(name + "-rotator"); + topRegion = Core.atlas.find(name + "-top"); } @Override @@ -49,7 +49,7 @@ public class Fracker extends SolidPump{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name), Draw.region(name + "-rotator"), Draw.region(name + "-top")}; + return new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-rotator"), Core.atlas.find(name + "-top")}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java index 904a82fc40..a389cee2db 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java @@ -12,11 +12,11 @@ import io.anuke.mindustry.world.consumers.ConsumeItem; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -74,7 +74,7 @@ public class GenericCrafter extends Block{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name)}; + return new TextureRegion[]{Core.atlas.find(name)}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java index c1960cdeb7..2823cf018d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java @@ -8,12 +8,12 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class Incinerator extends Block{ protected Effect effect = BlockFx.fuelburn; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java index ec4ae5efc5..85bf063719 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java @@ -5,10 +5,10 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class PhaseWeaver extends PowerSmelter{ protected TextureRegion bottomRegion; @@ -22,14 +22,14 @@ public class PhaseWeaver extends PowerSmelter{ public void load(){ super.load(); - bottomRegion = Draw.region(name + "-bottom"); - weaveRegion = Draw.region(name + "-weave"); + bottomRegion = Core.atlas.find(name + "-bottom"); + weaveRegion = Core.atlas.find(name + "-weave"); } @Override public TextureRegion[] getIcon(){ if(icon == null){ - icon = new TextureRegion[]{Draw.region(name + "-bottom"), Draw.region(name)}; + icon = new TextureRegion[]{Core.atlas.find(name + "-bottom"), Core.atlas.find(name)}; } return icon; } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java index 05643bf14d..b16146360a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.production; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class PlastaniumCompressor extends GenericCrafter{ protected TextureRegion topRegion; @@ -16,7 +16,7 @@ public class PlastaniumCompressor extends GenericCrafter{ public void load(){ super.load(); - topRegion = Draw.region(name + "-top"); + topRegion = Core.atlas.find(name + "-top"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java index dc9b794842..c99df31618 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java @@ -12,12 +12,12 @@ import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -66,7 +66,7 @@ public class PowerSmelter extends PowerBlock{ @Override public void load(){ super.load(); - topRegion = Draw.region(name + "-top"); + topRegion = Core.atlas.find(name + "-top"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java index 11aee84d76..cba0d12dd9 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java @@ -16,7 +16,7 @@ public class Pulverizer extends GenericCrafter{ public void load(){ super.load(); - rotatorRegion = Draw.region(name + "-rotator"); + rotatorRegion = Core.atlas.find(name + "-rotator"); } @Override @@ -29,6 +29,6 @@ public class Pulverizer extends GenericCrafter{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name), Draw.region(name + "-rotator")}; + return new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-rotator")}; } } diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java index 66f49d39f7..f01d0ccb07 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.blocks.production; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; @@ -35,7 +35,7 @@ public class Pump extends LiquidBlock{ public void load(){ super.load(); - liquidRegion = Draw.region("pump-liquid"); + liquidRegion = Core.atlas.find("pump-liquid"); } @Override @@ -56,7 +56,7 @@ public class Pump extends LiquidBlock{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name)}; + return new TextureRegion[]{Core.atlas.find(name)}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java index c87bd9374b..b6b1c715fb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java @@ -14,7 +14,7 @@ import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.values.ItemFilterValue; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; /** * Extracts a random list of items from an input item and an input liquid. @@ -49,7 +49,7 @@ public class Separator extends Block{ public void load(){ super.load(); - liquidRegion = Draw.region(name + "-liquid"); + liquidRegion = Core.atlas.find(name + "-liquid"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java index e50fa95736..bee5fc971a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java @@ -13,12 +13,12 @@ import io.anuke.mindustry.world.consumers.ConsumeItems; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java index cfb26702e0..e3b75d8bf1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java @@ -7,10 +7,10 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; /** * Pump that makes liquid from solids and takes in power. Only works on solid floor blocks. @@ -30,7 +30,7 @@ public class SolidPump extends Pump{ public void load(){ super.load(); - liquidRegion = Draw.region(name + "-liquid"); + liquidRegion = Core.atlas.find(name + "-liquid"); } @Override @@ -56,7 +56,7 @@ public class SolidPump extends Pump{ @Override public TextureRegion[] getIcon(){ - return new TextureRegion[]{Draw.region(name), Draw.region(name + "-rotator"), Draw.region(name + "-top")}; + return new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-rotator"), Core.atlas.find(name + "-top")}; } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index ca25eb3a6b..bb70476530 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -22,13 +22,13 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.EnumSet; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -128,15 +128,15 @@ public class CoreBlock extends StorageBlock{ public void load(){ super.load(); - openRegion = Draw.region(name + "-open"); - topRegion = Draw.region(name + "-top"); + openRegion = Core.atlas.find(name + "-open"); + topRegion = Core.atlas.find(name + "-top"); } @Override public void draw(Tile tile){ CoreEntity entity = tile.entity(); - Draw.rect(entity.solid ? Draw.region(name) : openRegion, tile.drawx(), tile.drawy()); + Draw.rect(entity.solid ? Core.atlas.find(name) : openRegion, tile.drawx(), tile.drawy()); Draw.alpha(entity.heat); Draw.rect(topRegion, tile.drawx(), tile.drawy()); diff --git a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java index c37347d70a..be761275ab 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.units; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.ObjectSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.mindustry.content.fx.BlockFx; @@ -16,8 +16,8 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.Draw; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.ImageButton; @@ -61,7 +61,7 @@ public class CommandCenter extends Block{ super.load(); for(UnitCommand cmd : UnitCommand.values()){ - commandRegions[cmd.ordinal()] = Draw.region("command-" + cmd.name()); + commandRegions[cmd.ordinal()] = Core.atlas.find("command-" + cmd.name()); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java index f273edd4e7..ad652291e1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java @@ -19,13 +19,13 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumePowerExact; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -135,14 +135,14 @@ public class MechPad extends Block{ @Override public void load(){ super.load(); - openRegion = Draw.region(name + "-open"); + openRegion = Core.atlas.find(name + "-open"); } @Override public void draw(Tile tile){ MechFactoryEntity entity = tile.entity(); - Draw.rect(Draw.region(name), tile.drawx(), tile.drawy(), entity.open ? 180f : 0f); + Draw.rect(Core.atlas.find(name), tile.drawx(), tile.drawy(), entity.open ? 180f : 0f); if(entity.player != null){ TextureRegion region = mech.iconRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java index 962d749a63..0966f28298 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java @@ -15,13 +15,13 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Effects.Effect; -import io.anuke.arc.core.Graphics; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.Graphics; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -126,7 +126,7 @@ public class Reconstructor extends Block{ @Override public void load(){ super.load(); - openRegion = Draw.region(name + "-open"); + openRegion = Core.atlas.find(name + "-open"); } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java index 9ce7c5b569..976a13c56f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java @@ -11,13 +11,13 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.core.Timers; +import io.anuke.arc.Timers; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.graphics.Shapes; import io.anuke.arc.util.Angles; import io.anuke.arc.util.EnumSet; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; public class RepairPoint extends Block{ private static Rectangle rect = new Rectangle(); @@ -45,7 +45,7 @@ public class RepairPoint extends Block{ public void load(){ super.load(); - topRegion = Draw.region(name + "-turret"); + topRegion = Core.atlas.find(name + "-turret"); } @Override @@ -83,7 +83,7 @@ public class RepairPoint extends Block{ public void update(Tile tile){ RepairPointEntity entity = tile.entity(); - if(entity.target != null && (entity.target.isDead() || entity.target.distanceTo(tile) > repairRadius || + if(entity.target != null && (entity.target.isDead() || entity.target.dst(tile) > repairRadius || entity.target.health >= entity.target.maxHealth())){ entity.target = null; }else if(entity.target != null){ diff --git a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java index 74c5938e9d..f97c2d5e00 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java @@ -23,12 +23,12 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.arc.core.Effects; -import io.anuke.arc.core.Graphics; +import io.anuke.arc.Effects; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Draw; import io.anuke.arc.graphics.Lines; import io.anuke.arc.util.EnumSet; -import io.anuke.arc.util.Mathf; +import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -81,7 +81,7 @@ public class UnitFactory extends Block{ public void load(){ super.load(); - topRegion = Draw.region(name + "-top"); + topRegion = Core.atlas.find(name + "-top"); } @Override @@ -107,8 +107,8 @@ public class UnitFactory extends Block{ @Override public TextureRegion[] getIcon(){ return new TextureRegion[]{ - Draw.region(name), - Draw.region(name + "-top") + Core.atlas.find(name), + Core.atlas.find(name + "-top") }; } diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java index bd7ad6a8ba..155a54e6ec 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeItemFilter.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.consumers; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java index 632a21cfd0..9a663b4c6d 100644 --- a/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java +++ b/core/src/io/anuke/mindustry/world/consumers/ConsumeLiquidFilter.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.consumers; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Block; diff --git a/core/src/io/anuke/mindustry/world/consumers/Consumers.java b/core/src/io/anuke/mindustry/world/consumers/Consumers.java index d3276542bf..ed1ae99fe4 100644 --- a/core/src/io/anuke/mindustry/world/consumers/Consumers.java +++ b/core/src/io/anuke/mindustry/world/consumers/Consumers.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.consumers; -import io.anuke.arc.utils.ObjectMap; -import io.anuke.arc.utils.ObjectSet; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Liquid; diff --git a/core/src/io/anuke/mindustry/world/meta/BlockBars.java b/core/src/io/anuke/mindustry/world/meta/BlockBars.java index 39e7078e15..c52700e31c 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockBars.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockBars.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.world.BarType; public class BlockBars{ diff --git a/core/src/io/anuke/mindustry/world/meta/BlockStats.java b/core/src/io/anuke/mindustry/world/meta/BlockStats.java index aea14d7e50..515f528b52 100644 --- a/core/src/io/anuke/mindustry/world/meta/BlockStats.java +++ b/core/src/io/anuke/mindustry/world/meta/BlockStats.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world.meta; -import io.anuke.arc.utils.ObjectMap.Entry; -import io.anuke.arc.utils.OrderedMap; +import io.anuke.arc.util.ObjectMap.Entry; +import io.anuke.arc.util.OrderedMap; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Liquid; diff --git a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java index e41a3a307a..4aa7d9aef8 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/ItemFilterValue.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta.values; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.ui.ItemDisplay; import io.anuke.mindustry.world.meta.StatValue; diff --git a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java index becd6cb304..7d34d5049d 100644 --- a/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java +++ b/core/src/io/anuke/mindustry/world/meta/values/LiquidFilterValue.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.meta.values; -import io.anuke.arc.utils.Array; +import io.anuke.arc.collection.Array; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.ui.LiquidDisplay; import io.anuke.mindustry.world.meta.StatValue; diff --git a/core/src/io/anuke/mindustry/world/modules/PowerModule.java b/core/src/io/anuke/mindustry/world/modules/PowerModule.java index 84a31a2df1..6cef939407 100644 --- a/core/src/io/anuke/mindustry/world/modules/PowerModule.java +++ b/core/src/io/anuke/mindustry/world/modules/PowerModule.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.world.modules; -import io.anuke.arc.utils.IntArray; +import io.anuke.arc.collection.IntArray; import io.anuke.mindustry.world.blocks.power.PowerGraph; import java.io.DataInput; diff --git a/settings.gradle b/settings.gradle index 88ac45956d..620b209a68 100644 --- a/settings.gradle +++ b/settings.gradle @@ -21,6 +21,10 @@ if(System.properties["release"] == null || System.properties["release"] == "fals project(':Arc').projectDir = new File(settingsDir, '../Arc') include ':Arc:core' project(':Arc:core').projectDir = new File(settingsDir, '../Arc/core') + include ':Arc:extensions' + project(':Arc:extensions').projectDir = new File(settingsDir, '../Arc/extensions') + include ':Arc:extensions:freetype' + project(':Arc:extensions:freetype').projectDir = new File(settingsDir, '../Arc/extensions/freetype') } if (new File(settingsDir, '../GDXGifRecorder').exists()) { include ':GDXGifRecorder' From 44e4ffbe62af9f00692a225deb8f205dd359dfb8 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 22 Dec 2018 22:17:28 -0500 Subject: [PATCH 04/16] Fixed most things besides drawing --- build.gradle | 8 +- core/src/io/anuke/mindustry/Vars.java | 4 +- .../io/anuke/mindustry/ai/BlockIndexer.java | 1 - .../src/io/anuke/mindustry/ai/Pathfinder.java | 13 +- .../io/anuke/mindustry/ai/WaveSpawner.java | 67 ++++++++-- .../src/io/anuke/mindustry/content/Mechs.java | 14 +-- .../mindustry/content/StatusEffects.java | 6 +- .../mindustry/content/blocks/Blocks.java | 6 +- .../content/blocks/CraftingBlocks.java | 12 +- .../mindustry/content/blocks/DebugBlocks.java | 2 +- .../content/blocks/TurretBlocks.java | 7 +- .../content/bullets/MissileBullets.java | 2 +- .../content/bullets/TurretBullets.java | 4 +- .../anuke/mindustry/content/fx/BlockFx.java | 4 +- .../anuke/mindustry/content/fx/BulletFx.java | 4 +- .../mindustry/content/fx/ExplosionFx.java | 4 +- .../src/io/anuke/mindustry/content/fx/Fx.java | 4 +- .../anuke/mindustry/content/fx/ShootFx.java | 4 +- .../io/anuke/mindustry/content/fx/UnitFx.java | 4 +- core/src/io/anuke/mindustry/core/Control.java | 2 +- .../io/anuke/mindustry/core/NetClient.java | 32 +++-- .../src/io/anuke/mindustry/core/Renderer.java | 45 +++---- core/src/io/anuke/mindustry/core/World.java | 1 + .../anuke/mindustry/editor/DrawOperation.java | 6 +- .../io/anuke/mindustry/editor/EditorTool.java | 14 +-- .../io/anuke/mindustry/editor/MapEditor.java | 16 +-- .../mindustry/editor/MapEditorDialog.java | 53 ++++---- .../anuke/mindustry/editor/MapInfoDialog.java | 8 +- .../anuke/mindustry/editor/MapRenderer.java | 12 +- .../io/anuke/mindustry/editor/MapView.java | 6 +- .../mindustry/editor/OperationStack.java | 2 +- .../io/anuke/mindustry/entities/Damage.java | 28 ++--- .../io/anuke/mindustry/entities/Player.java | 14 +-- .../io/anuke/mindustry/entities/Predict.java | 4 +- .../mindustry/entities/StatusController.java | 21 ++-- .../anuke/mindustry/entities/TileEntity.java | 3 +- .../entities/bullet/ArtilleryBulletType.java | 4 +- .../entities/bullet/BasicBulletType.java | 6 +- .../mindustry/entities/bullet/Bullet.java | 6 +- .../mindustry/entities/bullet/BulletType.java | 6 +- .../entities/bullet/FlakBulletType.java | 4 +- .../entities/bullet/LiquidBulletType.java | 4 +- .../entities/bullet/MissileBulletType.java | 4 +- .../mindustry/entities/effect/Decal.java | 2 +- .../anuke/mindustry/entities/effect/Fire.java | 6 +- .../entities/effect/GroundEffectEntity.java | 4 +- .../entities/effect/ItemTransfer.java | 23 ++-- .../mindustry/entities/effect/Lightning.java | 12 +- .../mindustry/entities/effect/Puddle.java | 10 +- .../entities/effect/RubbleDecal.java | 2 +- .../entities/effect/ScorchDecal.java | 2 +- .../entities/traits/BuilderTrait.java | 8 +- .../mindustry/entities/traits/CarryTrait.java | 2 +- .../entities/traits/TargetTrait.java | 6 +- .../mindustry/entities/units/BaseUnit.java | 8 +- .../mindustry/entities/units/FlyingUnit.java | 6 +- .../mindustry/entities/units/GroundUnit.java | 8 +- .../anuke/mindustry/entities/units/Squad.java | 4 +- .../mindustry/entities/units/UnitType.java | 2 +- .../entities/units/types/AlphaDrone.java | 2 +- core/src/io/anuke/mindustry/game/Saves.java | 31 +++-- core/src/io/anuke/mindustry/game/Team.java | 2 +- core/src/io/anuke/mindustry/game/Teams.java | 4 +- core/src/io/anuke/mindustry/game/Unlocks.java | 3 +- core/src/io/anuke/mindustry/game/Version.java | 4 +- .../mindustry/graphics/BlockRenderer.java | 2 +- .../anuke/mindustry/graphics/CacheLayer.java | 2 +- .../mindustry/graphics/FloorRenderer.java | 4 +- .../anuke/mindustry/graphics/FogRenderer.java | 2 +- .../mindustry/graphics/MinimapRenderer.java | 4 +- .../mindustry/graphics/OverlayRenderer.java | 14 +-- .../io/anuke/mindustry/graphics/Shaders.java | 4 +- .../io/anuke/mindustry/graphics/Trail.java | 6 +- .../anuke/mindustry/input/DesktopInput.java | 118 ++++++------------ .../anuke/mindustry/input/InputHandler.java | 14 +-- .../io/anuke/mindustry/input/MobileInput.java | 24 ++-- .../io/anuke/mindustry/io/BundleLoader.java | 2 +- core/src/io/anuke/mindustry/io/TypeIO.java | 2 +- .../maps/missions/BlockLocMission.java | 6 +- .../mindustry/maps/missions/Mission.java | 2 +- core/src/io/anuke/mindustry/net/Net.java | 21 ++-- .../src/io/anuke/mindustry/net/NetworkIO.java | 2 +- core/src/io/anuke/mindustry/type/Item.java | 2 +- core/src/io/anuke/mindustry/type/Liquid.java | 2 +- core/src/io/anuke/mindustry/type/Mech.java | 2 +- core/src/io/anuke/mindustry/type/Weapon.java | 8 +- .../io/anuke/mindustry/ui/BorderImage.java | 4 +- .../io/anuke/mindustry/ui/ContentDisplay.java | 2 +- core/src/io/anuke/mindustry/ui/GridImage.java | 2 +- core/src/io/anuke/mindustry/ui/Minimap.java | 4 +- .../mindustry/ui/dialogs/AboutDialog.java | 2 +- .../mindustry/ui/dialogs/FileChooser.java | 6 +- .../mindustry/ui/dialogs/GenViewDialog.java | 2 +- .../mindustry/ui/dialogs/HostDialog.java | 2 +- .../mindustry/ui/dialogs/JoinDialog.java | 2 +- .../mindustry/ui/dialogs/LoadDialog.java | 2 +- .../ui/dialogs/LocalPlayerDialog.java | 2 +- .../mindustry/ui/dialogs/SaveDialog.java | 2 +- .../mindustry/ui/dialogs/SectorsDialog.java | 2 +- .../ui/fragments/BackgroundFragment.java | 6 +- .../ui/fragments/BlockConfigFragment.java | 2 +- .../ui/fragments/BlockConsumeFragment.java | 4 +- .../ui/fragments/BlockInventoryFragment.java | 2 +- .../mindustry/ui/fragments/ChatFragment.java | 2 +- .../ui/fragments/PlacementFragment.java | 6 +- .../ui/fragments/PlayerListFragment.java | 4 +- core/src/io/anuke/mindustry/world/Block.java | 22 +--- core/src/io/anuke/mindustry/world/Build.java | 2 +- .../io/anuke/mindustry/world/ItemBuffer.java | 2 +- .../mindustry/world/blocks/BuildBlock.java | 13 +- .../anuke/mindustry/world/blocks/Floor.java | 4 +- .../mindustry/world/blocks/LiquidBlock.java | 3 +- .../mindustry/world/blocks/OreBlock.java | 5 +- .../io/anuke/mindustry/world/blocks/Rock.java | 2 +- .../world/blocks/defense/DeflectorWall.java | 6 +- .../mindustry/world/blocks/defense/Door.java | 6 +- .../world/blocks/defense/ForceProjector.java | 6 +- .../world/blocks/defense/MendProjector.java | 8 +- .../blocks/defense/OverdriveProjector.java | 8 +- .../world/blocks/defense/ShockMine.java | 2 +- .../blocks/defense/turrets/BurstTurret.java | 2 +- .../blocks/defense/turrets/ChargeTurret.java | 4 +- .../blocks/defense/turrets/CooledTurret.java | 4 +- .../blocks/defense/turrets/LaserTurret.java | 4 +- .../blocks/defense/turrets/LiquidTurret.java | 2 +- .../world/blocks/defense/turrets/Turret.java | 38 +++--- .../world/blocks/distribution/Conduit.java | 2 +- .../world/blocks/distribution/Conveyor.java | 10 +- .../distribution/ExtendingItemBridge.java | 4 +- .../world/blocks/distribution/ItemBridge.java | 6 +- .../world/blocks/distribution/Junction.java | 2 +- .../blocks/distribution/LiquidBridge.java | 2 +- .../distribution/LiquidExtendingBridge.java | 2 +- .../blocks/distribution/LiquidJunction.java | 2 +- .../world/blocks/distribution/MassDriver.java | 10 +- .../blocks/distribution/OverflowGate.java | 2 +- .../world/blocks/distribution/Router.java | 2 +- .../world/blocks/distribution/Sorter.java | 2 +- .../world/blocks/power/FusionReactor.java | 4 +- .../world/blocks/power/ItemGenerator.java | 6 +- .../blocks/power/ItemLiquidGenerator.java | 4 +- .../world/blocks/power/LiquidGenerator.java | 4 +- .../world/blocks/power/NuclearReactor.java | 10 +- .../world/blocks/power/PowerNode.java | 12 +- .../world/blocks/power/SolarGenerator.java | 2 +- .../world/blocks/production/Compressor.java | 2 +- .../world/blocks/production/Cultivator.java | 6 +- .../world/blocks/production/Drill.java | 6 +- .../world/blocks/production/Fracker.java | 2 +- .../blocks/production/GenericCrafter.java | 6 +- .../world/blocks/production/Incinerator.java | 6 +- .../world/blocks/production/LiquidMixer.java | 2 +- .../world/blocks/production/PhaseWeaver.java | 4 +- .../production/PlastaniumCompressor.java | 2 +- .../world/blocks/production/PowerSmelter.java | 6 +- .../world/blocks/production/Pulverizer.java | 2 +- .../world/blocks/production/Pump.java | 2 +- .../world/blocks/production/Separator.java | 4 +- .../world/blocks/production/Smelter.java | 6 +- .../world/blocks/production/SolidPump.java | 4 +- .../world/blocks/storage/CoreBlock.java | 8 +- .../world/blocks/storage/SortedUnloader.java | 2 +- .../world/blocks/units/CommandCenter.java | 4 +- .../mindustry/world/blocks/units/MechPad.java | 8 +- .../world/blocks/units/Reconstructor.java | 8 +- .../world/blocks/units/RepairPoint.java | 8 +- .../world/blocks/units/UnitFactory.java | 6 +- .../src/io/anuke/kryonet/ByteSerializer.java | 2 +- kryonet/src/io/anuke/kryonet/KryoClient.java | 2 +- .../anuke/mindustry/server/CrashHandler.java | 6 +- .../mindustry/server/MindustryServer.java | 13 +- .../anuke/mindustry/server/ServerControl.java | 28 +++-- .../mindustry/server/ServerLauncher.java | 13 +- tools/src/io/anuke/mindustry/Generators.java | 12 +- tools/src/io/anuke/mindustry/Image.java | 18 +-- 175 files changed, 666 insertions(+), 688 deletions(-) diff --git a/build.gradle b/build.gradle index ebfe1fb305..3b8bb93946 100644 --- a/build.gradle +++ b/build.gradle @@ -194,12 +194,6 @@ project(":core"){ project(":server"){ apply plugin: "java" - configurations{ - if(findProject(":android") != null){ - compile.exclude module: android - } - } - dependencies{ compile project(":core") @@ -248,7 +242,7 @@ project(":kryonet"){ dependencies{ compile project(":core") compile "org.lz4:lz4-java:1.4.1" - compile 'com.github.Anuken:kryonet:53b10247b1' + compile 'com.github.Anuken:kryonet:38ca8d51b5763ebe463ed973a63b64390ff51416' compile 'com.github.Anuken:WaifUPnP:05eb46bc577fd7674596946ba288c96c0cedd893' } } \ No newline at end of file diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index 8a017eb548..c32699e3cc 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -23,7 +23,7 @@ import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.EffectEntity; import io.anuke.arc.entities.trait.DrawTrait; import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.util.Translator; +import io.anuke.arc.util.Vector2; import java.util.Arrays; import java.util.Locale; @@ -122,7 +122,7 @@ public class Vars{ public static EntityGroup fireGroup; public static EntityGroup[] unitGroups; - public static final Translator[] tmptr = new Translator[]{new Translator(), new Translator(), new Translator(), new Translator()}; + public static final Vector2[] tmptr = new Vector2[]{new Vector2(), new Vector2(), new Vector2(), new Vector2()}; public static void init(){ Serialization.init(); diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index 0902c0546e..4dc4daaeca 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -6,7 +6,6 @@ import io.anuke.arc.function.Predicate; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; import io.anuke.arc.math.geom.Vector2; -import io.anuke.arc.util.Bits; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.game.EventType.TileChangeEvent; diff --git a/core/src/io/anuke/mindustry/ai/Pathfinder.java b/core/src/io/anuke/mindustry/ai/Pathfinder.java index 73864f6773..e42001b63b 100644 --- a/core/src/io/anuke/mindustry/ai/Pathfinder.java +++ b/core/src/io/anuke/mindustry/ai/Pathfinder.java @@ -1,8 +1,11 @@ package io.anuke.mindustry.ai; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.util.IntArray; -import io.anuke.arc.util.Queue; +import io.anuke.arc.Events; +import io.anuke.arc.collection.IntArray; +import io.anuke.arc.collection.Queue; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.util.Structs; import io.anuke.arc.util.Time; import io.anuke.mindustry.game.EventType.TileChangeEvent; import io.anuke.mindustry.game.EventType.WorldLoadEvent; @@ -11,10 +14,6 @@ import io.anuke.mindustry.game.Teams.TeamData; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.Events; -import io.anuke.arc.Timers; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.util.Structs; import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/ai/WaveSpawner.java b/core/src/io/anuke/mindustry/ai/WaveSpawner.java index d3eba71630..414daba785 100644 --- a/core/src/io/anuke/mindustry/ai/WaveSpawner.java +++ b/core/src/io/anuke/mindustry/ai/WaveSpawner.java @@ -1,6 +1,10 @@ package io.anuke.mindustry.ai; +import io.anuke.arc.Events; import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.GridBits; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.Squad; @@ -9,10 +13,6 @@ import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Waves; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Events; -import io.anuke.arc.util.GridBits; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Structs; import java.io.DataInput; import java.io.DataOutput; @@ -115,8 +115,8 @@ public class WaveSpawner{ FlyerSpawn spawn = flySpawns.get(flyCount); float margin = 40f; //how far away from the edge flying units spawn - spawnX = world.width() * tilesize / 2f + Mathf.sqrwavex(spawn.angle) * (world.width() / 2f * tilesize + margin); - spawnY = world.height() * tilesize / 2f + Mathf.sqrwavey(spawn.angle) * (world.height() / 2f * tilesize + margin); + spawnX = world.width() * tilesize / 2f + sqrwavex(spawn.angle) * (world.width() / 2f * tilesize + margin); + spawnY = world.height() * tilesize / 2f + sqrwavey(spawn.angle) * (world.height() / 2f * tilesize + margin); spread = margin / 1.5f; flyCount++; @@ -223,7 +223,7 @@ public class WaveSpawner{ int shellWidth = quadWidth() * 2 + quadHeight() * 2 * 6; shellWidth = Math.min(quadWidth() * quadHeight() / 4, shellWidth); - Mathf.traverseSpiral(quadWidth(), quadHeight(), Mathf.random(shellWidth), (x, y) -> { + traverseSpiral(quadWidth(), quadHeight(), Mathf.random(shellWidth), (x, y) -> { if(getQuad(x, y)){ spawn.x = x; spawn.y = y; @@ -256,4 +256,57 @@ public class WaveSpawner{ //quadrant spawn coordinates int x, y; } + + //utility methods + + float sqrwavex(float degrees){ + degrees = Mathf.mod(degrees, 360f); + if(degrees < 45){ + return 1; + }else if(degrees < 135){ + return 1f - (degrees - 45f) / 90f; + }else if(degrees < 225){ + return -1f; + }else if(degrees < 315){ + return (degrees - 225) / 90f; + }else{ + return 1f; + } + } + + float sqrwavey(float degrees){ + return sqrwavex(degrees + 90f); + } + + void traverseSpiral(int width, int height, int offset, SpiralTraverser con){ + int directionIdx = 0; + int curRow = 0, curCol = 0; + for(int i = 0; i < height * width; i++){ + + if(i >= offset && con.accept(curCol, curRow)) break; + + int same = 1, row = curRow, col = curCol; + if(row > height - 1 - row){ + row = height - 1 - row; + same = 0; + } + if(col >= width - 1 - col){ + col = width - 1 - col; + same = 0; + } + row -= same; + + if(row == col){ + directionIdx = (directionIdx + 1) % 4; + } + curRow += directions[directionIdx][0]; + curCol += directions[directionIdx][1]; + } + } + + interface SpiralTraverser{ + boolean accept(int x, int y); + } + + private static int[][] directions = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}}; } diff --git a/core/src/io/anuke/mindustry/content/Mechs.java b/core/src/io/anuke/mindustry/content/Mechs.java index f77a844d88..a6f963c361 100644 --- a/core/src/io/anuke/mindustry/content/Mechs.java +++ b/core/src/io/anuke/mindustry/content/Mechs.java @@ -1,8 +1,14 @@ package io.anuke.mindustry.content; +import io.anuke.arc.Core; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.Graphics; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.content.fx.UnitFx; import io.anuke.mindustry.entities.Player; @@ -17,12 +23,6 @@ import io.anuke.mindustry.maps.TutorialSector; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Mech; -import io.anuke.arc.Core; -import io.anuke.arc.Effects; -import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.unitGroups; diff --git a/core/src/io/anuke/mindustry/content/StatusEffects.java b/core/src/io/anuke/mindustry/content/StatusEffects.java index b6c3038088..9162d9be3a 100644 --- a/core/src/io/anuke/mindustry/content/StatusEffects.java +++ b/core/src/io/anuke/mindustry/content/StatusEffects.java @@ -1,14 +1,14 @@ package io.anuke.mindustry.content; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.fx.EnvironmentFx; import io.anuke.mindustry.entities.StatusController.StatusEntry; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; -import io.anuke.arc.Effects; -import io.anuke.arc.Timers; -import io.anuke.arc.math.Mathf; public class StatusEffects implements ContentList{ public static StatusEffect none, burning, freezing, wet, melting, tarred, overdrive, shielded, shocked; diff --git a/core/src/io/anuke/mindustry/content/blocks/Blocks.java b/core/src/io/anuke/mindustry/content/blocks/Blocks.java index 93d33b9f06..877b370f4b 100644 --- a/core/src/io/anuke/mindustry/content/blocks/Blocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/Blocks.java @@ -10,9 +10,9 @@ import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.*; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; public class Blocks extends BlockList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java index ccd76c381d..43c85cf89b 100644 --- a/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/CraftingBlocks.java @@ -23,7 +23,7 @@ public class CraftingBlocks extends BlockList implements ContentList{ burnDuration = 46f; useFlux = true; - consumes.items(new ItemStack[]{new ItemStack(Items.copper, 1), new ItemStack(Items.lead, 2)}); + consumes.items(new ItemStack(Items.copper, 1), new ItemStack(Items.lead, 2)); consumes.item(Items.coal).optional(true); }}; @@ -37,7 +37,7 @@ public class CraftingBlocks extends BlockList implements ContentList{ useFlux = true; fluxNeeded = 2; - consumes.items(new ItemStack[]{new ItemStack(Items.copper, 1), new ItemStack(Items.lead, 2)}); + consumes.items(new ItemStack(Items.copper, 1), new ItemStack(Items.lead, 2)); consumes.power(0.1f); }}; @@ -51,7 +51,7 @@ public class CraftingBlocks extends BlockList implements ContentList{ hasLiquids = false; flameColor = Color.valueOf("ffef99"); - consumes.items(new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.sand, 2)}); + consumes.items(new ItemStack(Items.coal, 1), new ItemStack(Items.sand, 2)); consumes.power(0.05f); }}; @@ -80,7 +80,7 @@ public class CraftingBlocks extends BlockList implements ContentList{ powerCapacity = 50f; size = 2; - consumes.items(new ItemStack[]{new ItemStack(Items.thorium, 4), new ItemStack(Items.sand, 10)}); + consumes.items(new ItemStack(Items.thorium, 4), new ItemStack(Items.sand, 10)); consumes.power(0.5f); }}; @@ -95,7 +95,7 @@ public class CraftingBlocks extends BlockList implements ContentList{ fluxNeeded = 3; consumes.power(0.4f); - consumes.items(new ItemStack[]{new ItemStack(Items.titanium, 2), new ItemStack(Items.lead, 4), new ItemStack(Items.silicon, 3), new ItemStack(Items.copper, 3)}); + consumes.items(new ItemStack(Items.titanium, 2), new ItemStack(Items.lead, 4), new ItemStack(Items.silicon, 3), new ItemStack(Items.copper, 3)); }}; cryofluidmixer = new LiquidMixer("cryofluidmixer"){{ @@ -133,7 +133,7 @@ public class CraftingBlocks extends BlockList implements ContentList{ size = 2; consumes.power(0.02f); - consumes.items(new ItemStack[]{new ItemStack(Items.coal, 1), new ItemStack(Items.lead, 2), new ItemStack(Items.sand, 2)}); + consumes.items(new ItemStack(Items.coal, 1), new ItemStack(Items.lead, 2), new ItemStack(Items.sand, 2)); }}; melter = new PowerCrafter("melter"){{ diff --git a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java index 5559275254..9dc2a3cd6b 100644 --- a/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/DebugBlocks.java @@ -17,7 +17,7 @@ import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.blocks.distribution.Sorter; import io.anuke.mindustry.world.blocks.power.PowerNode; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java index 6a4aaf332b..063c09bc78 100644 --- a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.content.blocks; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.AmmoTypes; @@ -8,7 +9,7 @@ import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.defense.turrets.*; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; @@ -73,11 +74,11 @@ public class TurretBlocks extends BlockList implements ContentList{ health = 360; drawer = (tile, entity) -> { - Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y).rot(entity.rotation - 90); Draw.color(entity.liquids.current().color); Draw.alpha(entity.liquids.total() / liquidCapacity); - Draw.rect(name + "-liquid", tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + Draw.rect(name + "-liquid", tile.drawx() + tr2.x, tile.drawy() + tr2.y).rot(entity.rotation - 90).color(entity.liquids.current().color); Draw.color(); }; }}; diff --git a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java index 8b8c40a31a..a61a98c401 100644 --- a/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/MissileBullets.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.entities.bullet.MissileBulletType; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.math.Mathf; public class MissileBullets extends BulletList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 36e4ebd499..36c8094ce6 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -18,8 +18,8 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverBulletData; -import io.anuke.arc.Effects; -import io.anuke.arc.Timers; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.util.Time; import io.anuke.arc.graphics.*; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/content/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java index a5fc7f81ff..1403cea284 100644 --- a/core/src/io/anuke/mindustry/content/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -5,10 +5,10 @@ import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.Hue; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Tmp; diff --git a/core/src/io/anuke/mindustry/content/fx/BulletFx.java b/core/src/io/anuke/mindustry/content/fx/BulletFx.java index 572b38a280..0d19327faf 100644 --- a/core/src/io/anuke/mindustry/content/fx/BulletFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BulletFx.java @@ -4,9 +4,9 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java index 850e489acd..53812d191b 100644 --- a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java @@ -4,9 +4,9 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/content/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java index 7e3e05b4f4..bb280b754d 100644 --- a/core/src/io/anuke/mindustry/content/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -4,9 +4,9 @@ import io.anuke.arc.graphics.Color; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/content/fx/ShootFx.java b/core/src/io/anuke/mindustry/content/fx/ShootFx.java index 96abca972e..577010f73f 100644 --- a/core/src/io/anuke/mindustry/content/fx/ShootFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ShootFx.java @@ -5,9 +5,9 @@ import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.Shapes; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/content/fx/UnitFx.java b/core/src/io/anuke/mindustry/content/fx/UnitFx.java index 280b6080b8..1919302a78 100644 --- a/core/src/io/anuke/mindustry/content/fx/UnitFx.java +++ b/core/src/io/anuke/mindustry/content/fx/UnitFx.java @@ -4,9 +4,9 @@ import io.anuke.mindustry.entities.effect.GroundEffectEntity.GroundEffect; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index 35220d52a2..f6f9013d40 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -188,7 +188,7 @@ public class Control implements ApplicationListener{ } inputs[index] = input; - Core.input.addInputProcessor(input); + Core.input.addProcessor(input); } public void removePlayer(){ diff --git a/core/src/io/anuke/mindustry/core/NetClient.java b/core/src/io/anuke/mindustry/core/NetClient.java index 78c6e670e4..a277978ddc 100644 --- a/core/src/io/anuke/mindustry/core/NetClient.java +++ b/core/src/io/anuke/mindustry/core/NetClient.java @@ -165,21 +165,19 @@ public class NetClient implements ApplicationListener{ netClient.disconnectQuietly(); state.set(State.menu); - threads.runGraphics(() -> { - if(!reason.quiet){ - if(reason.extraText() != null){ - ui.showText(reason.toString(), reason.extraText()); - }else{ - ui.showText("$text.disconnect", reason.toString()); - } + if(!reason.quiet){ + if(reason.extraText() != null){ + ui.showText(reason.toString(), reason.extraText()); + }else{ + ui.showText("$text.disconnect", reason.toString()); } - ui.loadfrag.hide(); - }); + } + ui.loadfrag.hide(); } @Remote(variants = Variant.both) public static void onInfoMessage(String message){ - threads.runGraphics(() -> ui.showText("", message)); + ui.showText("", message); } @Remote(variants = Variant.both) @@ -190,15 +188,13 @@ public class NetClient implements ApplicationListener{ ui.chatfrag.clearMessages(); Net.setClientLoaded(false); - threads.runGraphics(() -> { - ui.loadfrag.show("$text.connecting.data"); + ui.loadfrag.show("$text.connecting.data"); - ui.loadfrag.setButton(() -> { - ui.loadfrag.hide(); - netClient.connecting = false; - netClient.quiet = true; - Net.disconnect(); - }); + ui.loadfrag.setButton(() -> { + ui.loadfrag.hide(); + netClient.connecting = false; + netClient.quiet = true; + Net.disconnect(); }); } diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index c00429fe59..e0009452d8 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -1,16 +1,30 @@ package io.anuke.mindustry.core; import io.anuke.arc.Core; +import io.anuke.arc.Graphics; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.EntityDraw; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.EffectEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.entities.trait.Entity; import io.anuke.arc.files.FileHandle; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Predicate; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.PixmapIO; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.g2d.SpriteBatch; -import io.anuke.arc.math.Rectangle; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.scene.utils.Cursors; import io.anuke.arc.util.BufferUtils; import io.anuke.arc.util.ScreenUtils; import io.anuke.arc.util.Time; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -23,28 +37,7 @@ import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; -import io.anuke.arc.Effects; -import io.anuke.arc.Graphics; -import io.anuke.arc.entities.EntityDraw; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.impl.EffectEntity; -import io.anuke.arc.entities.trait.DrawTrait; -import io.anuke.arc.entities.trait.Entity; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.function.Predicate; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; -import io.anuke.arc.graphics.Surface; -import io.anuke.arc.modules.RendererModule; -import io.anuke.arc.scene.utils.Cursors; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Pooling; -import io.anuke.arc.util.Translator; - import static io.anuke.mindustry.Vars.*; -import static io.anuke.arc.core.Core.batch; -import static io.anuke.arc.core.Core.camera; public class Renderer extends RendererModule{ public final Surface effectSurface; @@ -55,7 +48,7 @@ public class Renderer extends RendererModule{ private int targetscale = baseCameraScale; private Rectangle rect = new Rectangle(), rect2 = new Rectangle(); - private Vector2 avgPosition = new Translator(); + private Vector2 avgPosition = new Vector2(); public Renderer(){ Core.batch = new SpriteBatch(4096); @@ -75,7 +68,7 @@ public class Renderer extends RendererModule{ if(view.overlaps(pos)){ if(!(effect instanceof GroundEffect)){ - EffectEntity entity = Pooling.obtain(EffectEntity.class, EffectEntity::new); + EffectEntity entity = Pools.obtain(EffectEntity.class, EffectEntity::new); entity.effect = effect; entity.color = color; entity.rotation = rotation; @@ -87,7 +80,7 @@ public class Renderer extends RendererModule{ } threads.runGraphics(() -> effectGroup.add(entity)); }else{ - GroundEffectEntity entity = Pooling.obtain(GroundEffectEntity.class, GroundEffectEntity::new); + GroundEffectEntity entity = Pools.obtain(GroundEffectEntity.class, GroundEffectEntity::new); entity.effect = effect; entity.color = color; entity.rotation = rotation; diff --git a/core/src/io/anuke/mindustry/core/World.java b/core/src/io/anuke/mindustry/core/World.java index acbe89f411..4265fd8a3a 100644 --- a/core/src/io/anuke/mindustry/core/World.java +++ b/core/src/io/anuke/mindustry/core/World.java @@ -11,6 +11,7 @@ import io.anuke.arc.math.geom.GridPoint2; import io.anuke.arc.util.Log; import io.anuke.arc.util.Structs; import io.anuke.arc.util.Time; +import io.anuke.arc.util.Tmp; import io.anuke.mindustry.ai.BlockIndexer; import io.anuke.mindustry.ai.Pathfinder; import io.anuke.mindustry.ai.WaveSpawner; diff --git a/core/src/io/anuke/mindustry/editor/DrawOperation.java b/core/src/io/anuke/mindustry/editor/DrawOperation.java index 228728157c..b6b7d13f76 100755 --- a/core/src/io/anuke/mindustry/editor/DrawOperation.java +++ b/core/src/io/anuke/mindustry/editor/DrawOperation.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.editor; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.IntSet; +import io.anuke.arc.collection.IntSet; +import io.anuke.arc.util.Pack; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; -import io.anuke.arc.util.Bits; public class DrawOperation{ /** @@ -29,7 +29,7 @@ public class DrawOperation{ } public boolean checkDuplicate(short x, short y){ - int i = Bits.packInt(x, y); + int i = Pack.shortInt(x, y); if(checks.contains(i)) return true; checks.add(i); diff --git a/core/src/io/anuke/mindustry/editor/EditorTool.java b/core/src/io/anuke/mindustry/editor/EditorTool.java index f60863cad8..3693f03266 100644 --- a/core/src/io/anuke/mindustry/editor/EditorTool.java +++ b/core/src/io/anuke/mindustry/editor/EditorTool.java @@ -1,15 +1,15 @@ package io.anuke.mindustry.editor; -import io.anuke.arc.util.IntArray; +import io.anuke.arc.collection.IntArray; +import io.anuke.arc.function.IntPositionConsumer; +import io.anuke.arc.util.Pack; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.arc.function.IntPositionConsumer; -import io.anuke.arc.util.Structs; -import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.ui; @@ -24,8 +24,8 @@ public enum EditorTool{ byte link = editor.getMap().read(x, y, DataPosition.link); if(link != 0){ - x -= (Bits.getLeftByte(link) - 8); - y -= (Bits.getRightByte(link) - 8); + x -= (Pack.leftByte(link) - 8); + y -= (Pack.rightByte(link) - 8); bf = editor.getMap().read(x, y, DataPosition.floor); bw = editor.getMap().read(x, y, DataPosition.wall); } @@ -101,7 +101,7 @@ public enum EditorTool{ byte bw = data.read(x, y, DataPosition.wall); be = data.read(x, y, DataPosition.elevation); boolean synth = editor.getDrawBlock().synthetic(); - byte brt = Bits.packByte((byte) editor.getDrawRotation(), (byte) editor.getDrawTeam().ordinal()); + byte brt = Pack.byteByte((byte) editor.getDrawRotation(), (byte) editor.getDrawTeam().ordinal()); dest = floor ? bf : bw; byte draw = editor.getDrawBlock().id; diff --git a/core/src/io/anuke/mindustry/editor/MapEditor.java b/core/src/io/anuke/mindustry/editor/MapEditor.java index 64e4d64182..369f9f6682 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditor.java +++ b/core/src/io/anuke/mindustry/editor/MapEditor.java @@ -1,6 +1,9 @@ package io.anuke.mindustry.editor; import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Pack; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.editor.DrawOperation.TileOperation; @@ -10,10 +13,9 @@ import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.maps.MapTileData.TileDataMarker; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.arc.util.Structs; -import io.anuke.arc.util.Bits; -import io.anuke.arc.math.Mathf; + import static io.anuke.mindustry.Vars.content; + public class MapEditor{ public static final int[] brushSizes = {1, 2, 3, 4, 5, 9, 15}; @@ -103,7 +105,7 @@ public class MapEditor{ byte writeID = drawBlock.id; byte partID = Blocks.blockpart.id; - byte rotationTeam = Bits.packByte(drawBlock.rotate ? (byte) rotation : 0, drawBlock.synthetic() ? (byte) drawTeam.ordinal() : 0); + byte rotationTeam = Pack.byteByte(drawBlock.rotate ? (byte)rotation : 0, drawBlock.synthetic() ? (byte)drawTeam.ordinal() : 0); boolean isfloor = drawBlock instanceof Floor && drawBlock != Blocks.air; @@ -126,13 +128,13 @@ public class MapEditor{ if(i == 1){ map.write(worldx, worldy, DataPosition.wall, partID); map.write(worldx, worldy, DataPosition.rotationTeam, rotationTeam); - map.write(worldx, worldy, DataPosition.link, Bits.packByte((byte) (dx + offsetx + 8), (byte) (dy + offsety + 8))); + map.write(worldx, worldy, DataPosition.link, Pack.byteByte((byte) (dx + offsetx + 8), (byte) (dy + offsety + 8))); }else{ byte link = map.read(worldx, worldy, DataPosition.link); byte block = map.read(worldx, worldy, DataPosition.wall); if(link != 0){ - removeLinked(worldx - (Bits.getLeftByte(link) - 8), worldy - (Bits.getRightByte(link) - 8)); + removeLinked(worldx - (Pack.leftByte(link) - 8), worldy - (Pack.rightByte(link) - 8)); }else if(content.block(block).isMultiblock()){ removeLinked(worldx, worldy); } @@ -170,7 +172,7 @@ public class MapEditor{ if(content.block(map.read(wx, wy, DataPosition.wall)).isMultiblock()){ removeLinked(wx, wy); }else if(link != 0){ - removeLinked(wx - (Bits.getLeftByte(link) - 8), wy - (Bits.getRightByte(link) - 8)); + removeLinked(wx - (Pack.leftByte(link) - 8), wy - (Pack.rightByte(link) - 8)); } } diff --git a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java index f467c889de..74b5326312 100644 --- a/core/src/io/anuke/mindustry/editor/MapEditorDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapEditorDialog.java @@ -1,15 +1,22 @@ package io.anuke.mindustry.editor; import io.anuke.arc.Core; +import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.files.FileHandle; +import io.anuke.arc.function.Consumer; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Pixmap; -import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.Align; -import io.anuke.arc.util.Disposable; -import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.input.KeyCode; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.ui.*; +import io.anuke.arc.scene.ui.layout.Stack; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.*; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.core.Platform; @@ -21,22 +28,6 @@ import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; -import io.anuke.arc.Graphics; -import io.anuke.arc.Inputs; -import io.anuke.arc.Timers; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.input.Input; -import io.anuke.arc.scene.actions.Actions; -import io.anuke.arc.scene.ui.*; -import io.anuke.arc.scene.ui.layout.Stack; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.scene.utils.UIUtils; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Log; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Strings; import java.io.DataInputStream; import java.io.InputStream; @@ -190,7 +181,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ return; } - Vector2 v = pane.stageToLocalCoordinates(Graphics.mouse()); + Vector2 v = pane.stageToLocalCoordinates(Core.input.mouse()); if(v.x >= 0 && v.y >= 0 && v.x <= pane.getWidth() && v.y <= pane.getHeight()){ Core.scene.setScrollFocus(pane); @@ -223,8 +214,8 @@ public class MapEditorDialog extends Dialog implements Disposable{ } @Override - protected void drawBackground(Batch batch, float parentAlpha, float x, float y){ - drawDefaultBackground(batch, parentAlpha, x, y); + protected void drawBackground(float x, float y){ + drawDefaultBackground(x, y); } private void save(){ @@ -475,35 +466,35 @@ public class MapEditorDialog extends Dialog implements Disposable{ private void doInput(){ //tool select for(int i = 0; i < EditorTool.values().length; i++){ - if(Core.input.keyTap(Input.valueOf("NUM_" + (i + 1)))){ + if(Core.input.keyTap(KeyCode.valueOf("NUM_" + (i + 1)))){ view.setTool(EditorTool.values()[i]); break; } } - if(Core.input.keyTap(Input.R)){ + if(Core.input.keyTap(KeyCode.R)){ editor.setDrawRotation((editor.getDrawRotation() + 1) % 4); } - if(Core.input.keyTap(Input.E)){ + if(Core.input.keyTap(KeyCode.E)){ editor.setDrawRotation(Mathf.mod((editor.getDrawRotation() + 1), 4)); } //ctrl keys (undo, redo, save) if(UIUtils.ctrl()){ - if(Core.input.keyTap(Input.Z)){ + if(Core.input.keyTap(KeyCode.Z)){ view.undo(); } - if(Core.input.keyTap(Input.Y)){ + if(Core.input.keyTap(KeyCode.Y)){ view.redo(); } - if(Core.input.keyTap(Input.S)){ + if(Core.input.keyTap(KeyCode.S)){ save(); } - if(Core.input.keyTap(Input.G)){ + if(Core.input.keyTap(KeyCode.G)){ view.setGrid(!view.isGrid()); } } diff --git a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java index e14f63b95d..25e8002a54 100644 --- a/core/src/io/anuke/mindustry/editor/MapInfoDialog.java +++ b/core/src/io/anuke/mindustry/editor/MapInfoDialog.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.editor; +import io.anuke.arc.Core; import io.anuke.arc.collection.ObjectMap; -import io.anuke.mindustry.core.Platform; -import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.arc.Settings; import io.anuke.arc.scene.ui.TextArea; import io.anuke.arc.scene.ui.TextField; +import io.anuke.mindustry.core.Platform; +import io.anuke.mindustry.ui.dialogs.FloatingDialog; public class MapInfoDialog extends FloatingDialog{ private final MapEditor editor; @@ -55,7 +55,7 @@ public class MapInfoDialog extends FloatingDialog{ author = content().addField(tags.get("author", Core.settings.getString("mapAuthor", "")), text -> { tags.put("author", text); - Core.settings.putString("mapAuthor", text); + Core.settings.put("mapAuthor", text); Core.settings.save(); }).size(400, 55f).get(); author.setMessageText("$text.unknown"); diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index a2af5f492c..81dcbade57 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.maps.MapTileData.DataPosition; import io.anuke.mindustry.world.Block; import io.anuke.arc.Core; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.IndexedRenderer; import io.anuke.arc.util.Structs; import io.anuke.arc.util.Bits; @@ -125,12 +125,12 @@ public class MapRenderer implements Disposable{ if(wall.rotate){ mesh.draw((wx % chunksize) + (wy % chunksize) * chunksize, region, wx * tilesize + wall.offset(), wy * tilesize + wall.offset(), - region.getRegionWidth(), region.getRegionHeight(), rotation * 90 - 90); + region.getWidth(), region.getHeight(), rotation * 90 - 90); }else{ mesh.draw((wx % chunksize) + (wy % chunksize) * chunksize, region, - wx * tilesize + wall.offset() + (tilesize - region.getRegionWidth())/2f, - wy * tilesize + wall.offset() + (tilesize - region.getRegionHeight())/2f, - region.getRegionWidth(), region.getRegionHeight()); + wx * tilesize + wall.offset() + (tilesize - region.getWidth())/2f, + wy * tilesize + wall.offset() + (tilesize - region.getHeight())/2f, + region.getWidth(), region.getHeight()); } }else{ region = floor.getEditorIcon(); @@ -154,7 +154,7 @@ public class MapRenderer implements Disposable{ mesh.draw((wx % chunksize) + (wy % chunksize) * chunksize + chunksize * chunksize, region, wx * tilesize - (wall.size/3) * tilesize, wy * tilesize - (wall.size/3) * tilesize, - region.getRegionWidth(), region.getRegionHeight()); + region.getWidth(), region.getHeight()); mesh.setColor(Color.WHITE); } diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index 126cbcc88a..4ddbd498d7 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -7,7 +7,7 @@ import io.anuke.arc.input.GestureDetector; import io.anuke.arc.input.GestureDetector.GestureListener; import io.anuke.arc.math.Bresenham2; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.Vector2; import io.anuke.arc.collection.Array; import io.anuke.mindustry.editor.DrawOperation.TileOperation; @@ -16,8 +16,8 @@ import io.anuke.mindustry.ui.GridImage; import io.anuke.arc.Core; import io.anuke.arc.Graphics; import io.anuke.arc.Inputs; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; diff --git a/core/src/io/anuke/mindustry/editor/OperationStack.java b/core/src/io/anuke/mindustry/editor/OperationStack.java index 6de94ee165..0fcdbeb361 100755 --- a/core/src/io/anuke/mindustry/editor/OperationStack.java +++ b/core/src/io/anuke/mindustry/editor/OperationStack.java @@ -22,7 +22,7 @@ public class OperationStack{ stack.add(action); if(stack.size > maxSize){ - stack.removeIndex(0); + stack.removeAt(0); } } diff --git a/core/src/io/anuke/mindustry/entities/Damage.java b/core/src/io/anuke/mindustry/entities/Damage.java index a4160ce405..58110de64b 100644 --- a/core/src/io/anuke/mindustry/entities/Damage.java +++ b/core/src/io/anuke/mindustry/entities/Damage.java @@ -1,11 +1,17 @@ package io.anuke.mindustry.entities; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.function.Predicate; import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.Rectangle; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.bullets.TurretBullets; import io.anuke.mindustry.content.fx.ExplosionFx; -import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.entities.effect.Lightning; @@ -13,14 +19,6 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; -import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.function.Predicate; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Physics; -import io.anuke.arc.util.Translator; import static io.anuke.mindustry.Vars.*; @@ -28,7 +26,7 @@ import static io.anuke.mindustry.Vars.*; public class Damage{ private static Rectangle rect = new Rectangle(); private static Rectangle hitrect = new Rectangle(); - private static Translator tr = new Translator(); + private static Vector2 tr = new Vector2(); /**Creates a dynamic explosion based on specified parameters.*/ public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, Color color){ @@ -47,7 +45,7 @@ public class Damage{ for(int i = 0; i < waves; i++){ int f = i; Time.run(i * 2f, () -> { - threads.run(() -> Damage.damage(x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f)); + Damage.damage(x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f); Effects.effect(ExplosionFx.blockExplosionSmoke, x + Mathf.range(radius), y + Mathf.range(radius)); }); } @@ -119,7 +117,7 @@ public class Damage{ other.width += expand * 2; other.height += expand * 2; - Vector2 vec = Physics.raycastRect(x, y, x2, y2, other); + Vector2 vec = Geometry.raycastRect(x, y, x2, y2, other); if(vec != null){ Effects.effect(effect, vec.x, vec.y); @@ -180,7 +178,7 @@ public class Damage{ int trad = (int) (radius / tilesize); for(int dx = -trad; dx <= trad; dx++){ for(int dy = -trad; dy <= trad; dy++){ - Tile tile = world.tile(Mathf.scl2(x, tilesize) + dx, Mathf.scl2(y, tilesize) + dy); + Tile tile = world.tile(Math.round(x / tilesize) + dx, Math.round(y / tilesize) + dy); if(tile != null && tile.entity != null && (team == null || state.teams.areEnemies(team, tile.getTeam())) && Vector2.dst(dx, dy, 0, 0) <= trad){ float amount = calculateDamage(x, y, tile.worldx(), tile.worldy(), radius, damage); tile.entity.damage(amount); diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 4ef166b13b..2ce78101e6 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -326,7 +326,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.rect(mech.legRegion, x + Angles.trnsx(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i), y + Angles.trnsy(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i), - mech.legRegion.getRegionWidth() * i, mech.legRegion.getRegionHeight() - Mathf.clamp(ft * i, 0, 2), baseRotation - 90 + boostAng * i); + mech.legRegion.getWidth() * i, mech.legRegion.getHeight() - Mathf.clamp(ft * i, 0, 2), baseRotation - 90 + boostAng * i); } Draw.rect(mech.baseRegion, x, y, baseRotation - 90); @@ -344,10 +344,10 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra for(int i : Mathf.signs){ float tra = rotation - 90, trY = -mech.weapon.getRecoil(this, i > 0) + mech.weaponOffsetY; - float w = i > 0 ? -mech.weapon.equipRegion.getRegionWidth() : mech.weapon.equipRegion.getRegionWidth(); + float w = i > 0 ? -mech.weapon.equipRegion.getWidth() : mech.weapon.equipRegion.getWidth(); Draw.rect(mech.weapon.equipRegion, x + Angles.trnsx(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), - y + Angles.trnsy(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), w, mech.weapon.equipRegion.getRegionHeight(), rotation - 90); + y + Angles.trnsy(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), w, mech.weapon.equipRegion.getHeight(), rotation - 90); } float backTrns = 4f, itemSize = 5f; @@ -403,7 +403,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } public void drawName(){ - GlyphLayout layout = Pooling.obtain(GlyphLayout.class, GlyphLayout::new); + GlyphLayout layout = Pools.obtain(GlyphLayout.class, GlyphLayout::new); boolean ints = Core.font.usesIntegerPositions(); Core.font.setUseIntegerPositions(false); @@ -424,7 +424,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } Draw.reset(); - Pooling.free(layout); + Pools.free(layout); Draw.tscl(1f); Core.font.setUseIntegerPositions(ints); } @@ -613,7 +613,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra movement.x += xa * speed; } - Vector2 vec = Graphics.world(control.input(playerIndex).getMouseX(), control.input(playerIndex).getMouseY()); + Vector2 vec = Core.input.mouseWorld(control.input(playerIndex).getMouseX(), control.input(playerIndex).getMouseY()); pointerX = vec.x; pointerY = vec.y; updateShooting(); @@ -767,7 +767,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } }else if(isShooting()){ - Vector2 vec = Graphics.world(control.input(playerIndex).getMouseX(), + Vector2 vec = Core.input.mouseWorld(control.input(playerIndex).getMouseX(), control.input(playerIndex).getMouseY()); pointerX = vec.x; pointerY = vec.y; diff --git a/core/src/io/anuke/mindustry/entities/Predict.java b/core/src/io/anuke/mindustry/entities/Predict.java index b41f9baf7d..d4a935c173 100644 --- a/core/src/io/anuke/mindustry/entities/Predict.java +++ b/core/src/io/anuke/mindustry/entities/Predict.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.entities; -import io.anuke.arc.math.Vector2; -import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.mindustry.entities.traits.TargetTrait; /** * Class for predicting shoot angles based on velocities of targets. diff --git a/core/src/io/anuke/mindustry/entities/StatusController.java b/core/src/io/anuke/mindustry/entities/StatusController.java index eeb290b829..a324e71ab4 100644 --- a/core/src/io/anuke/mindustry/entities/StatusController.java +++ b/core/src/io/anuke/mindustry/entities/StatusController.java @@ -1,15 +1,14 @@ package io.anuke.mindustry.entities; -import io.anuke.arc.graphics.Color; import io.anuke.arc.collection.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.Tmp; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.entities.traits.Saveable; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; -import io.anuke.arc.Timers; -import io.anuke.arc.util.Pooling; -import io.anuke.arc.util.ThreadArray; -import io.anuke.arc.util.Tmp; import java.io.DataInput; import java.io.DataOutput; @@ -21,9 +20,9 @@ import static io.anuke.mindustry.Vars.content; */ public class StatusController implements Saveable{ private static final StatusEntry globalResult = new StatusEntry(); - private static final Array removals = new ThreadArray<>(); + private static final Array removals = new Array<>(); - private Array statuses = new ThreadArray<>(); + private Array statuses = new Array<>(); private float speedMultiplier; private float damageMultiplier; @@ -57,7 +56,7 @@ public class StatusController implements Saveable{ } //otherwise, no opposites found, add direct effect - StatusEntry entry = Pooling.obtain(StatusEntry.class, StatusEntry::new); + StatusEntry entry = Pools.obtain(StatusEntry.class, StatusEntry::new); entry.set(effect, newTime); statuses.add(entry); } @@ -91,7 +90,7 @@ public class StatusController implements Saveable{ entry.time = Math.max(entry.time - Time.delta(), 0); if(entry.time <= 0){ - Pooling.free(entry); + Pools.free(entry); removals.add(entry); }else{ speedMultiplier *= entry.effect.speedMultiplier; @@ -137,7 +136,7 @@ public class StatusController implements Saveable{ @Override public void readSave(DataInput stream) throws IOException{ for(StatusEntry effect : statuses){ - Pooling.free(effect); + Pools.free(effect); } statuses.clear(); @@ -146,7 +145,7 @@ public class StatusController implements Saveable{ for(int i = 0; i < amount; i++){ byte id = stream.readByte(); float time = stream.readShort() / 2f; - StatusEntry entry = Pooling.obtain(StatusEntry.class, StatusEntry::new); + StatusEntry entry = Pools.obtain(StatusEntry.class, StatusEntry::new); entry.set(content.getByID(ContentType.status, id), time); statuses.add(entry); } diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index fa7e9046cd..4ce530f9b8 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -10,6 +10,7 @@ import io.anuke.arc.entities.impl.BaseEntity; import io.anuke.arc.entities.trait.HealthTrait; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.math.geom.Position; import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.util.Interval; import io.anuke.arc.util.Time; @@ -258,7 +259,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ @Override public Vector2 getVelocity(){ - return Vector2.Zero; + return Vector2.ZERO; } @Override diff --git a/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java index 9ded4dc858..6a317f0882 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/ArtilleryBulletType.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.entities.bullet; import io.anuke.mindustry.content.fx.BulletFx; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; //TODO scale velocity depending on fslope() public class ArtilleryBulletType extends BasicBulletType{ diff --git a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java index 41c9158eec..df16ff11d4 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java @@ -6,9 +6,9 @@ import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.graphics.Palette; -import io.anuke.arc.Effects; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java index cccc62b7db..fbe1540f0d 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java +++ b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.entities.traits.TeamTrait; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.BulletEntity; import io.anuke.arc.entities.trait.Entity; @@ -55,7 +55,7 @@ public class Bullet extends BulletEntity implements TeamTrait, SyncT } public static Bullet create(BulletType type, Entity owner, Team team, float x, float y, float angle, float velocityScl, float lifetimeScl, Object data){ - Bullet bullet = Pooling.obtain(Bullet.class, Bullet::new); + Bullet bullet = Pools.obtain(Bullet.class, Bullet::new); bullet.type = type; bullet.owner = owner; bullet.data = data; @@ -259,7 +259,7 @@ public class Bullet extends BulletEntity implements TeamTrait, SyncT @Override public void removed(){ - Pooling.free(this); + Pools.free(this); } @Override diff --git a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java index 6c4e0d00ca..9904bcf908 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java @@ -6,10 +6,10 @@ import io.anuke.mindustry.game.Content; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.entities.impl.BaseBulletType; -import io.anuke.arc.util.Translator; +import io.anuke.arc.util.Vector2; public abstract class BulletType extends Content implements BaseBulletType{ public float lifetime; @@ -45,7 +45,7 @@ public abstract class BulletType extends Content implements BaseBulletType saves = new ThreadArray<>(); + private Array saves = new Array<>(); private IntMap saveMap = new IntMap<>(); private SaveSlot current; private boolean saving; @@ -35,11 +34,9 @@ public class Saves{ public Saves(){ Events.on(StateChangeEvent.class, event -> { if(event.to == State.menu){ - threads.run(() -> { - totalPlaytime = 0; - lastTimestamp = 0; - current = null; - }); + totalPlaytime = 0; + lastTimestamp = 0; + current = null; } }); } @@ -68,7 +65,7 @@ public class Saves{ SaveSlot current = this.current; if(current != null && !state.is(State.menu) - && !(state.isPaused() && ui.hasDialog())){ + && !(state.isPaused() && Core.scene.hasDialog())){ if(lastTimestamp != 0){ totalPlaytime += Time.timeSinceMillis(lastTimestamp); } @@ -145,7 +142,7 @@ public class Saves{ IntArray result = new IntArray(saves.size); for(int i = 0; i < saves.size; i++) result.add(saves.get(i).index); - Core.settings.putObject("save-slots", result); + Core.settings.put("save-slots", result); Core.settings.save(); } @@ -204,7 +201,7 @@ public class Saves{ } public void setName(String name){ - Core.settings.putString("save-" + index + "-name", name); + Core.settings.put("save-" + index + "-name", name); Core.settings.save(); } @@ -229,7 +226,7 @@ public class Saves{ } public void setAutosave(boolean save){ - Core.settings.putBool("save-" + index + "-autosave", save); + Core.settings.put("save-" + index + "-autosave", save); Core.settings.save(); } diff --git a/core/src/io/anuke/mindustry/game/Team.java b/core/src/io/anuke/mindustry/game/Team.java index dfbc4bd777..429e6e970a 100644 --- a/core/src/io/anuke/mindustry/game/Team.java +++ b/core/src/io/anuke/mindustry/game/Team.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.game; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; -import io.anuke.arc.util.Bundles; public enum Team{ none(Color.valueOf("4d4e58")), diff --git a/core/src/io/anuke/mindustry/game/Teams.java b/core/src/io/anuke/mindustry/game/Teams.java index 5ee10b289f..65ff687e76 100644 --- a/core/src/io/anuke/mindustry/game/Teams.java +++ b/core/src/io/anuke/mindustry/game/Teams.java @@ -5,9 +5,7 @@ import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.Vars; import io.anuke.mindustry.world.Tile; -/** - * Class for various team-based utilities. - */ +/**Class for various team-based utilities.*/ public class Teams{ private TeamData[] map = new TeamData[Team.all.length]; diff --git a/core/src/io/anuke/mindustry/game/Unlocks.java b/core/src/io/anuke/mindustry/game/Unlocks.java index 0a0fedd795..61aeca7339 100644 --- a/core/src/io/anuke/mindustry/game/Unlocks.java +++ b/core/src/io/anuke/mindustry/game/Unlocks.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.game; +import io.anuke.arc.Core; import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.collection.ObjectSet; import io.anuke.mindustry.game.EventType.UnlockEvent; @@ -12,7 +13,7 @@ public class Unlocks{ private ObjectMap> unlocked = new ObjectMap<>(); private boolean dirty; - static{ + public Unlocks(){ Core.settings.setSerializer(ContentType.class, (stream, t) -> stream.writeInt(t.ordinal()), stream -> ContentType.values()[stream.readInt()]); } diff --git a/core/src/io/anuke/mindustry/game/Version.java b/core/src/io/anuke/mindustry/game/Version.java index eed6b3ead2..276dd04354 100644 --- a/core/src/io/anuke/mindustry/game/Version.java +++ b/core/src/io/anuke/mindustry/game/Version.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.game; import io.anuke.arc.Core; -import io.anuke.arc.files.FileHandle; import io.anuke.arc.collection.ObjectMap; -import io.anuke.arc.util.PropertiesUtils; +import io.anuke.arc.files.FileHandle; import io.anuke.arc.util.Strings; +import io.anuke.arc.util.io.PropertiesUtils; import java.io.IOException; diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index e7c32bdd98..a981ae3eff 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -12,7 +12,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.arc.Core; import io.anuke.arc.Events; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Surface; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/graphics/CacheLayer.java b/core/src/io/anuke/mindustry/graphics/CacheLayer.java index 9ff5b34d14..6723157a6d 100644 --- a/core/src/io/anuke/mindustry/graphics/CacheLayer.java +++ b/core/src/io/anuke/mindustry/graphics/CacheLayer.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.graphics.Color; import io.anuke.arc.Core; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Shader; import static io.anuke.mindustry.Vars.renderer; diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index 2a08753546..3e842cd677 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -14,9 +14,9 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.arc.Events; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.graphics.CacheBatch; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.util.Log; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/graphics/FogRenderer.java b/core/src/io/anuke/mindustry/graphics/FogRenderer.java index e2c1534440..fde876450b 100644 --- a/core/src/io/anuke/mindustry/graphics/FogRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FogRenderer.java @@ -16,7 +16,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.arc.Events; import io.anuke.arc.Graphics; import io.anuke.arc.entities.EntityDraw; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import java.nio.ByteBuffer; diff --git a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java index 7fe6320c76..94d70d7694 100644 --- a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.collection.Array; import io.anuke.arc.util.Disposable; import io.anuke.mindustry.entities.Unit; @@ -16,7 +16,7 @@ import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.Tile; import io.anuke.arc.Events; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Pixmaps; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.ThreadArray; diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index 0b5f2f88a3..2dbef04dfd 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.MathUtils; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.Vector2; import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.blocks.Blocks; @@ -16,10 +16,10 @@ import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.arc.Core; import io.anuke.arc.Graphics; import io.anuke.arc.Settings; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Tmp; @@ -101,8 +101,8 @@ public class OverlayRenderer{ Draw.reset(); //draw selected block bars and info - if(input.recipe == null && !ui.hasMouse()){ - Vector2 vec = Graphics.world(input.getMouseX(), input.getMouseY()); + if(input.recipe == null && !Core.scene.hasMouse()){ + Vector2 vec = Core.input.mouseWorld(input.getMouseX(), input.getMouseY()); Tile tile = world.tileWorld(vec.x, vec.y); if(tile != null && tile.block() != Blocks.air && tile.target().getTeam() == players[0].getTeam()){ @@ -181,7 +181,7 @@ public class OverlayRenderer{ } if(input.isDroppingItem()){ - Vector2 v = Graphics.world(input.getMouseX(), input.getMouseY()); + Vector2 v = Core.input.mouseWorld(input.getMouseX(), input.getMouseY()); float size = 8; Draw.rect(player.inventory.getItem().item.region, v.x, v.y, size, size); Draw.color(Palette.accent); diff --git a/core/src/io/anuke/mindustry/graphics/Shaders.java b/core/src/io/anuke/mindustry/graphics/Shaders.java index dda1c86dc8..e90879c5a7 100644 --- a/core/src/io/anuke/mindustry/graphics/Shaders.java +++ b/core/src/io/anuke/mindustry/graphics/Shaders.java @@ -4,8 +4,8 @@ import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.Core; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Shader; import io.anuke.arc.scene.ui.layout.Unit; diff --git a/core/src/io/anuke/mindustry/graphics/Trail.java b/core/src/io/anuke/mindustry/graphics/Trail.java index f44fcbec9a..4356ab2306 100644 --- a/core/src/io/anuke/mindustry/graphics/Trail.java +++ b/core/src/io/anuke/mindustry/graphics/Trail.java @@ -3,10 +3,10 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.graphics.Color; import io.anuke.arc.math.Vector2; import io.anuke.arc.util.FloatArray; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; /** diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 3bb6585cbd..3a4d8a8baa 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -1,7 +1,14 @@ package io.anuke.mindustry.input; import io.anuke.arc.Core; +import io.anuke.arc.Graphics; +import io.anuke.arc.KeyBinds; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.input.InputDevice.DeviceType; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -11,15 +18,6 @@ import io.anuke.mindustry.input.PlaceUtils.NormalizeResult; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Graphics; -import io.anuke.arc.Inputs; -import io.anuke.arc.Core.input.DeviceType; -import io.anuke.arc.KeyBinds; -import io.anuke.arc.Settings; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; -import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.input.CursorType.*; @@ -54,7 +52,7 @@ public class DesktopInput extends InputHandler{ for(TextureRegion region : regions){ Draw.rect(region, x * tilesize + block.offset(), y * tilesize + block.offset(), - region.getRegionWidth() * selectScale, region.getRegionHeight() * selectScale, block.rotate ? rotation * 90 : 0); + region.getWidth() * selectScale, region.getHeight() * selectScale, block.rotate ? rotation * 90 : 0); } }else{ Draw.color(Palette.removeBack); @@ -71,16 +69,16 @@ public class DesktopInput extends InputHandler{ @Override public void drawOutlined(){ - int cursorX = tileX(Core.input.getX()); - int cursorY = tileY(Core.input.getY()); + int cursorX = tileX(Core.input.mouseX()); + int cursorY = tileY(Core.input.mouseY()); //draw selection(s) if(mode == placing && recipe != null){ NormalizeResult result = PlaceUtils.normalizeArea(selectX, selectY, cursorX, cursorY, rotation, true, maxLength); for(int i = 0; i <= result.getLength(); i += recipe.result.size){ - int x = selectX + i * Mathf.sign(cursorX - selectX) * Mathf.bool(result.isX()); - int y = selectY + i * Mathf.sign(cursorY - selectY) * Mathf.bool(!result.isX()); + int x = selectX + i * Mathf.sign(cursorX - selectX) * Mathf.num(result.isX()); + int y = selectY + i * Mathf.sign(cursorY - selectY) * Mathf.num(!result.isX()); if(i + recipe.result.size > result.getLength() && recipe.result.rotate){ Draw.color(!validPlace(x, y, recipe.result, result.rotation) ? Palette.remove : Palette.placeRotate); @@ -128,24 +126,22 @@ public class DesktopInput extends InputHandler{ @Override public void update(){ - if(Net.active() && Core.input.keyTap("player_list")){ + if(Net.active() && Core.input.keyTap(Binding.player_list)){ ui.listfrag.toggle(); } - if(Core.input.keyRelease(section, "select")){ + if(Core.input.keyRelease(Binding.select)){ player.isShooting = false; } - if(state.is(State.menu) || ui.hasDialog()) return; - - boolean controller = KeyBinds.getSection(section).device.type == DeviceType.controller; + if(state.is(State.menu) || Core.scene.hasDialog()) return; //zoom and rotate things - if(Core.input.getAxisActive("zoom") && (Core.input.keyDown(section, "zoom_hold") || controller)){ - renderer.scaleCamera((int) Core.input.getAxisTapped(section, "zoom")); + if(Math.abs(Core.input.axis(Binding.zoom)) > 0 && (Core.input.keyDown(Binding.zoom_hold))){ + renderer.scaleCamera((int) Core.input.axis(Binding.zoom)); } - renderer.minimap.zoomBy(-(int) Core.input.getAxisTapped(section, "zoom_minimap")); + renderer.minimap.zoomBy(-(int) Core.input.axis(Binding.zoom_minimap)); if(player.isDead()) return; @@ -167,9 +163,9 @@ public class DesktopInput extends InputHandler{ selectScale = 0f; } - rotation = Mathf.mod(rotation + (int) Core.input.getAxisTapped(section, "rotate"), 4); + rotation = Mathf.mod(rotation + (int) Core.input.axis(Binding.rotate), 4); - Tile cursor = tileAt(Core.input.getX(), Core.input.getY()); + Tile cursor = tileAt(Core.input.mouseX(), Core.input.mouseY()); if(player.isDead()){ cursorType = normal; @@ -186,12 +182,12 @@ public class DesktopInput extends InputHandler{ cursorType = drill; } - if(canTapPlayer(Graphics.mouseWorld().x, Graphics.mouseWorld().y)){ + if(canTapPlayer(Core.input.mouseWorld().x, Core.input.mouseWorld().y)){ cursorType = unload; } } - if(!ui.hasMouse()){ + if(!Core.scene.hasMouse()){ cursorType.set(); } @@ -199,52 +195,52 @@ public class DesktopInput extends InputHandler{ } void pollInput(){ - Tile selected = tileAt(Core.input.getX(), Core.input.getY()); - int cursorX = tileX(Core.input.getX()); - int cursorY = tileY(Core.input.getY()); + Tile selected = tileAt(Core.input.mouseX(), Core.input.mouseY()); + int cursorX = tileX(Core.input.mouseX()); + int cursorY = tileY(Core.input.mouseY()); - if(Core.input.keyTap(section, "deselect")){ + if(Core.input.keyTap(Binding.deselect)){ player.setMineTile(null); } - if(Core.input.keyTap(section, "select") && !ui.hasMouse()){ + if(Core.input.keyTap(Binding.select) && !Core.scene.hasMouse()){ if(isPlacing()){ selectX = cursorX; selectY = cursorY; mode = placing; }else if(selected != null){ //only begin shooting if there's no cursor event - if (!tileTapped(selected) && !tryTapPlayer(Graphics.mouseWorld().x, Graphics.mouseWorld().y) && player.getPlaceQueue().size == 0 && !droppingItem && + if (!tileTapped(selected) && !tryTapPlayer(Core.input.mouseWorld().x, Core.input.mouseWorld().y) && player.getPlaceQueue().size == 0 && !droppingItem && !tryBeginMine(selected) && player.getMineTile() == null && !ui.chatfrag.chatOpen()) { player.isShooting = true; } }else if(!ui.chatfrag.chatOpen()){ //if it's out of bounds, shooting is just fine player.isShooting = true; } - }else if(Core.input.keyTap(section, "deselect") && (recipe != null || mode != none || player.isBuilding()) && - !(player.getCurrentRequest() != null && player.getCurrentRequest().breaking && KeyBinds.get(section, "deselect") == KeyBinds.get(section, "break"))){ + }else if(Core.input.keyTap(Binding.deselect) && (recipe != null || mode != none || player.isBuilding()) && + !(player.getCurrentRequest() != null && player.getCurrentRequest().breaking && Core.keybinds.get(Binding.deselect) == Core.keybinds.get(Binding.break_block))){ if(recipe == null){ player.clearBuilding(); } recipe = null; mode = none; - }else if(Core.input.keyTap(section, "break") && !ui.hasMouse()){ + }else if(Core.input.keyTap(Binding.break_block) && !Core.scene.hasMouse()){ //is recalculated because setting the mode to breaking removes potential multiblock cursor offset mode = breaking; - selectX = tileX(Core.input.getX()); - selectY = tileY(Core.input.getY()); + selectX = tileX(Core.input.mouseX()); + selectY = tileY(Core.input.mouseY()); } - if(Core.input.keyRelease(section, "break") || Core.input.keyRelease(section, "select")){ + if(Core.input.keyRelease(Binding.break_block) || Core.input.keyRelease(Binding.select)){ if(mode == placing){ //touch up while placing, place everything in selection NormalizeResult result = PlaceUtils.normalizeArea(selectX, selectY, cursorX, cursorY, rotation, true, maxLength); for(int i = 0; i <= result.getLength(); i += recipe.result.size){ - int x = selectX + i * Mathf.sign(cursorX - selectX) * Mathf.bool(result.isX()); - int y = selectY + i * Mathf.sign(cursorY - selectY) * Mathf.bool(!result.isX()); + int x = selectX + i * Mathf.sign(cursorX - selectX) * Mathf.num(result.isX()); + int y = selectY + i * Mathf.sign(cursorY - selectY) * Mathf.num(!result.isX()); rotation = result.rotation; @@ -263,7 +259,7 @@ public class DesktopInput extends InputHandler{ } if(selected != null){ - tryDropItems(selected.target(), Graphics.mouseWorld().x, Graphics.mouseWorld().y); + tryDropItems(selected.target(), Core.input.mouseWorld().x, Core.input.mouseWorld().y); } mode = none; @@ -278,12 +274,12 @@ public class DesktopInput extends InputHandler{ @Override public float getMouseX(){ - return !controlling ? Core.input.getX() : controlx; + return !controlling ? Core.input.mouseX() : controlx; } @Override public float getMouseY(){ - return !controlling ? Core.input.getY() : controly; + return !controlling ? Core.input.mouseY() : controly; } @Override @@ -293,46 +289,10 @@ public class DesktopInput extends InputHandler{ @Override public void updateController(){ - //TODO no controller support - //TODO move controller input to new class, ControllerInput - boolean mousemove = Core.input.getDeltaX() > 1 || Core.input.getDeltaY() > 1; if(state.is(State.menu)){ droppingItem = false; } - - if(KeyBinds.getSection(section).device.type == DeviceType.controller && (!mousemove || player.playerIndex > 0)){ - if(player.playerIndex > 0){ - controlling = true; - } - - float xa = Core.input.getAxis(section, "cursor_x"); - float ya = Core.input.getAxis(section, "cursor_y"); - - if(Math.abs(xa) > controllerMin || Math.abs(ya) > controllerMin){ - float scl = Core.settings.getInt("sensitivity", 100) / 100f * Unit.dp.scl(1f); - controlx += xa * baseControllerSpeed * scl; - controly -= ya * baseControllerSpeed * scl; - controlling = true; - - if(player.playerIndex == 0){ - Core.input.setCursorCatched(true); - } - - Core.input.getProcessor().touchDragged((int) getMouseX(), (int) getMouseY(), player.playerIndex); - } - - controlx = Mathf.clamp(controlx, 0, Core.graphics.getWidth()); - controly = Mathf.clamp(controly, 0, Core.graphics.getHeight()); - }else{ - controlling = false; - Core.input.setCursorCatched(false); - } - - if(!controlling){ - controlx = Core.input.getX(); - controly = Core.input.getY(); - } } } diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index 861de66305..f2ae87956c 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -125,11 +125,11 @@ public abstract class InputHandler implements InputProcessor{ } public float getMouseX(){ - return Core.input.getX(); + return Core.input.mouseX(); } public float getMouseY(){ - return Core.input.getY(); + return Core.input.mouseY(); } public void resetCursor(){ @@ -240,7 +240,7 @@ public abstract class InputHandler implements InputProcessor{ } boolean canMine(Tile tile){ - return !ui.hasMouse() + return !Core.scene.hasMouse() && tile.floor().drops != null && tile.floor().drops.item.hardness <= player.mech.drillPower && !tile.floor().playerUnmineable && player.inventory.canAcceptItem(tile.floor().drops.item) @@ -253,7 +253,7 @@ public abstract class InputHandler implements InputProcessor{ } int tileX(float cursorX){ - Vector2 vec = Graphics.world(cursorX, 0); + Vector2 vec = Core.input.mouseWorld(cursorX, 0); if(selectedBlock()){ vec.sub(recipe.result.offset(), recipe.result.offset()); } @@ -261,7 +261,7 @@ public abstract class InputHandler implements InputProcessor{ } int tileY(float cursorY){ - Vector2 vec = Graphics.world(0, cursorY); + Vector2 vec = Core.input.mouseWorld(0, cursorY); if(selectedBlock()){ vec.sub(recipe.result.offset(), recipe.result.offset()); } @@ -277,7 +277,7 @@ public abstract class InputHandler implements InputProcessor{ } public float mouseAngle(float x, float y){ - return Graphics.world(getMouseX(), getMouseY()).sub(x, y).angle(); + return Core.input.mouseWorld(getMouseX(), getMouseY()).sub(x, y).angle(); } public void remove(){ @@ -286,7 +286,7 @@ public abstract class InputHandler implements InputProcessor{ } public boolean canShoot(){ - return recipe == null && !ui.hasMouse() && !onConfigurable() && !isDroppingItem(); + return recipe == null && !Core.scene.hasMouse() && !onConfigurable() && !isDroppingItem(); } public boolean onConfigurable(){ diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 9fceb82590..9c2b524190 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -6,7 +6,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.input.GestureDetector; import io.anuke.arc.input.GestureDetector.GestureListener; import io.anuke.arc.math.Interpolation; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.Vector2; import io.anuke.arc.util.Align; import io.anuke.arc.collection.Array; @@ -28,8 +28,8 @@ import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.arc.*; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.math.Mathf; @@ -176,7 +176,7 @@ public class MobileInput extends InputHandler implements GestureListener{ for(TextureRegion region : regions){ Draw.rect(region, tile.worldx() + offset, tile.worldy() + offset, - region.getRegionWidth() * request.scale, region.getRegionHeight() * request.scale, + region.getWidth() * request.scale, region.getHeight() * request.scale, request.recipe.result.rotate ? request.rotation * 90 : 0); } }else{ @@ -321,8 +321,8 @@ public class MobileInput extends InputHandler implements GestureListener{ //Draw lines if(lineMode){ - int tileX = tileX(Core.input.getX()); - int tileY = tileY(Core.input.getY()); + int tileX = tileX(Core.input.mouseX()); + int tileY = tileY(Core.input.mouseY()); //draw placing if(mode == placing && recipe != null){ @@ -344,7 +344,7 @@ public class MobileInput extends InputHandler implements GestureListener{ for(TextureRegion region : regions){ Draw.rect(region, x * tilesize + recipe.result.offset(), y * tilesize + recipe.result.offset(), - region.getRegionWidth() * lineScale, region.getRegionHeight() * lineScale, recipe.result.rotate ? result.rotation * 90 : 0); + region.getWidth() * lineScale, region.getHeight() * lineScale, recipe.result.rotate ? result.rotation * 90 : 0); } }else{ Draw.color(Palette.removeBack); @@ -415,7 +415,7 @@ public class MobileInput extends InputHandler implements GestureListener{ //get tile on cursor Tile cursor = tileAt(screenX, screenY); - float worldx = Graphics.world(screenX, screenY).x, worldy = Graphics.world(screenX, screenY).y; + float worldx = Core.input.mouseWorld(screenX, screenY).x, worldy = Core.input.mouseWorld(screenX, screenY).y; //ignore off-screen taps if(cursor == null || ui.hasMouse(screenX, screenY)) return false; @@ -492,7 +492,7 @@ public class MobileInput extends InputHandler implements GestureListener{ if(tile == null) return false; - tryDropItems(tile.target(), Graphics.world(screenX, screenY).x, Graphics.world(screenX, screenY).y); + tryDropItems(tile.target(), Core.input.mouseWorld(screenX, screenY).x, Core.input.mouseWorld(screenX, screenY).y); } return false; } @@ -526,7 +526,7 @@ public class MobileInput extends InputHandler implements GestureListener{ public boolean tap(float x, float y, int count, int button){ if(state.is(State.menu) || lineMode) return false; - float worldx = Graphics.world(x, y).x, worldy = Graphics.world(x, y).y; + float worldx = Core.input.mouseWorld(x, y).x, worldy = Core.input.mouseWorld(x, y).y; //get tile on cursor Tile cursor = tileAt(x, y); @@ -554,7 +554,7 @@ public class MobileInput extends InputHandler implements GestureListener{ consumed = true; player.dropCarry(); //drop off unit }else{ - Unit unit = Units.getClosest(player.getTeam(), Graphics.world(x, y).x, Graphics.world(x, y).y, 4f, u -> !u.isFlying() && u.getMass() <= player.mech.carryWeight); + Unit unit = Units.getClosest(player.getTeam(), Core.input.mouseWorld(x, y).x, Core.input.mouseWorld(x, y).y, 4f, u -> !u.isFlying() && u.getMass() <= player.mech.carryWeight); if(unit != null){ consumed = true; @@ -714,7 +714,7 @@ public class MobileInput extends InputHandler implements GestureListener{ @Override public boolean touchDown(float x, float y, int pointer, int button){ - canPan = !ui.hasMouse(); + canPan = !Core.scene.hasMouse(); return false; } diff --git a/core/src/io/anuke/mindustry/io/BundleLoader.java b/core/src/io/anuke/mindustry/io/BundleLoader.java index ebc6e3bccf..0e0e15de09 100644 --- a/core/src/io/anuke/mindustry/io/BundleLoader.java +++ b/core/src/io/anuke/mindustry/io/BundleLoader.java @@ -4,7 +4,7 @@ import io.anuke.arc.Core; import io.anuke.arc.files.FileHandle; import io.anuke.arc.util.I18NBundle; import io.anuke.mindustry.Vars; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.util.Log; import java.util.Locale; diff --git a/core/src/io/anuke/mindustry/io/TypeIO.java b/core/src/io/anuke/mindustry/io/TypeIO.java index dbf53b8065..d2bcbb1270 100644 --- a/core/src/io/anuke/mindustry/io/TypeIO.java +++ b/core/src/io/anuke/mindustry/io/TypeIO.java @@ -20,7 +20,7 @@ import io.anuke.mindustry.type.*; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.entities.Entities; diff --git a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java index 0da3c5c9d8..5e19165e15 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java @@ -2,9 +2,9 @@ package io.anuke.mindustry.maps.missions; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.util.Bundles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/maps/missions/Mission.java b/core/src/io/anuke/mindustry/maps/missions/Mission.java index 54c8cbcd27..cc56926a89 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Mission.java +++ b/core/src/io/anuke/mindustry/maps/missions/Mission.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.maps.generation.Generation; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/net/Net.java b/core/src/io/anuke/mindustry/net/Net.java index bbb02c2e8a..cd542dee8d 100644 --- a/core/src/io/anuke/mindustry/net/Net.java +++ b/core/src/io/anuke/mindustry/net/Net.java @@ -4,22 +4,21 @@ import io.anuke.arc.Core; import io.anuke.arc.Net.HttpRequest; import io.anuke.arc.Net.HttpResponse; import io.anuke.arc.Net.HttpResponseListener; -import io.anuke.arc.net.HttpRequestBuilder; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.IntMap; +import io.anuke.arc.collection.IntMap; import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.function.BiConsumer; +import io.anuke.arc.function.Consumer; +import io.anuke.arc.net.HttpRequestBuilder; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.net.Packets.StreamBegin; import io.anuke.mindustry.net.Packets.StreamChunk; import io.anuke.mindustry.net.Streamable.StreamBuilder; -import io.anuke.arc.Timers; -import io.anuke.arc.function.BiConsumer; -import io.anuke.arc.function.Consumer; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Pooling; import java.io.IOException; @@ -262,12 +261,12 @@ public class Net{ if(clientLoaded || ((object instanceof Packet) && ((Packet) object).isImportant())){ if(clientListeners.get(object.getClass()) != null) clientListeners.get(object.getClass()).accept(object); - Pooling.free(object); + Pools.free(object); }else if(!((object instanceof Packet) && ((Packet) object).isUnimportant())){ packetQueue.add(object); Log.info("Queuing packet {0}", object); }else{ - Pooling.free(object); + Pools.free(object); } }else{ Log.err("Unhandled packet type: '{0}'!", object); @@ -282,7 +281,7 @@ public class Net{ if(serverListeners.get(object.getClass()) != null){ if(serverListeners.get(object.getClass()) != null) serverListeners.get(object.getClass()).accept(connection, object); - Pooling.free(object); + Pools.free(object); }else{ Log.err("Unhandled packet type: '{0}'!", object.getClass()); } diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index e10226d2ac..0ea805bcb6 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -15,7 +15,7 @@ import io.anuke.mindustry.maps.MapMeta; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; import io.anuke.arc.Core; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.entities.Entities; import io.anuke.arc.util.Bits; diff --git a/core/src/io/anuke/mindustry/type/Item.java b/core/src/io/anuke/mindustry/type/Item.java index 3e90f28c46..77ed6e92dd 100644 --- a/core/src/io/anuke/mindustry/type/Item.java +++ b/core/src/io/anuke/mindustry/type/Item.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; import io.anuke.arc.util.Log; diff --git a/core/src/io/anuke/mindustry/type/Liquid.java b/core/src/io/anuke/mindustry/type/Liquid.java index d937f9f40a..e462cf0563 100644 --- a/core/src/io/anuke/mindustry/type/Liquid.java +++ b/core/src/io/anuke/mindustry/type/Liquid.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index 10b777d437..e7bb604f53 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/type/Weapon.java b/core/src/io/anuke/mindustry/type/Weapon.java index a6b0dedaba..1c4aa78ffe 100644 --- a/core/src/io/anuke/mindustry/type/Weapon.java +++ b/core/src/io/anuke/mindustry/type/Weapon.java @@ -11,13 +11,13 @@ import io.anuke.mindustry.entities.traits.ShooterTrait; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.util.Angles; import io.anuke.arc.util.Log; import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Translator; +import io.anuke.arc.util.Vector2; public class Weapon extends Content{ public final String name; @@ -49,7 +49,7 @@ public class Weapon extends Content{ /**whether to shoot the weapons in different arms one after another, rather than all at once*/ protected boolean roundrobin = false; /**translator for vector calulations*/ - protected Translator tr = new Translator(); + protected Vector2 tr = new Vector2(); public TextureRegion equipRegion, region; diff --git a/core/src/io/anuke/mindustry/ui/BorderImage.java b/core/src/io/anuke/mindustry/ui/BorderImage.java index e03b40887f..9738bc83dd 100644 --- a/core/src/io/anuke/mindustry/ui/BorderImage.java +++ b/core/src/io/anuke/mindustry/ui/BorderImage.java @@ -4,8 +4,8 @@ import io.anuke.arc.graphics.Texture; import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Palette; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.scene.ui.Image; import io.anuke.arc.scene.ui.layout.Unit; diff --git a/core/src/io/anuke/mindustry/ui/ContentDisplay.java b/core/src/io/anuke/mindustry/ui/ContentDisplay.java index 8e1e2c367e..62b9d3fe39 100644 --- a/core/src/io/anuke/mindustry/ui/ContentDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ContentDisplay.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.StatCategory; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Bundles; import io.anuke.arc.util.Strings; diff --git a/core/src/io/anuke/mindustry/ui/GridImage.java b/core/src/io/anuke/mindustry/ui/GridImage.java index c18aa1d878..2f5260635e 100644 --- a/core/src/io/anuke/mindustry/ui/GridImage.java +++ b/core/src/io/anuke/mindustry/ui/GridImage.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.Element; public class GridImage extends Element{ diff --git a/core/src/io/anuke/mindustry/ui/Minimap.java b/core/src/io/anuke/mindustry/ui/Minimap.java index 7041bb8166..354cb5b031 100644 --- a/core/src/io/anuke/mindustry/ui/Minimap.java +++ b/core/src/io/anuke/mindustry/ui/Minimap.java @@ -5,7 +5,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Shaders; import io.anuke.arc.Core; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; @@ -32,7 +32,7 @@ public class Minimap extends Container{ if(showFog){ renderer.fog.getTexture().setFilter(TextureFilter.Nearest, TextureFilter.Nearest); - r.setRegion(renderer.minimap.getRegion()); + r.set(renderer.minimap.getRegion()); float pad = renderer.fog.getPadding(); float px = r.getU() * world.width() + pad; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java index b30a5d471f..f9fd75efd7 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/AboutDialog.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.io.Contributors.Contributor; import io.anuke.mindustry.ui.Links; import io.anuke.mindustry.ui.Links.LinkEntry; import io.anuke.arc.Core; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.layout.Cell; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java index 3025098378..ee8102f6c8 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java @@ -7,7 +7,7 @@ import io.anuke.arc.util.Align; import io.anuke.arc.collection.Array; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.function.Consumer; import io.anuke.arc.function.Predicate; import io.anuke.arc.scene.event.Touchable; @@ -178,7 +178,7 @@ public class FileChooser extends FloatingDialog{ //if is mac, don't display extra info since you can only ever go to downloads navigation.setText(OS.isMac ? directory.name() : directory.toString()); - GlyphLayout layout = Pooling.obtain(GlyphLayout.class, GlyphLayout::new); + GlyphLayout layout = Pools.obtain(GlyphLayout.class, GlyphLayout::new); layout.setText(Core.font, navigation.getText()); @@ -188,7 +188,7 @@ public class FileChooser extends FloatingDialog{ navigation.setCursorPosition(navigation.getText().length()); } - Pooling.free(layout); + Pools.free(layout); files.clearChildren(); files.top().left(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java index 9af57b617f..c20e6ce973 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.WorldGenerator.GenResult; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.ColorMapper; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java index aea61b38c6..f81476609a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.net.Net; import io.anuke.arc.Settings; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.util.Bundles; import io.anuke.arc.util.Strings; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index c5cbce9599..a1f7fc352c 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -11,7 +11,7 @@ import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Host; import io.anuke.mindustry.net.Net; import io.anuke.arc.Settings; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.scene.style.Drawable; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.layout.Cell; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index d7a04f9e78..b85d616b0a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.arc.Core; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java index 95a2128c47..657aefb6d8 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.util.Scaling; import io.anuke.mindustry.entities.Player; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.Image; import io.anuke.arc.scene.ui.layout.Stack; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java index 9a6c9e745a..8466370d85 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Saves.SaveSlot; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.util.Bundles; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java index b9ef625a92..ac932f6c70 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java @@ -9,7 +9,7 @@ import io.anuke.mindustry.Vars; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.maps.Sector; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.event.InputEvent; diff --git a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java index c6ad183518..b406245287 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java @@ -7,7 +7,7 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.arc.Core; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.ui.layout.Unit; @@ -30,8 +30,8 @@ public class BackgroundFragment extends Fragment{ boolean portrait = Core.graphics.getWidth() < Core.graphics.getHeight(); float logoscl = (int) Unit.dp.scl(7) * (portrait ? 5f / 7f : 1f); TextureRegion logo = Core.skin.getRegion("logotext"); - float logow = logo.getRegionWidth() * logoscl; - float logoh = logo.getRegionHeight() * logoscl; + float logow = logo.getWidth() * logoscl; + float logoh = logo.getHeight() * logoscl; Draw.color(); Core.batch.draw(logo, (int) (w / 2 - logow / 2), (int) (h - logoh + 15 - Unit.dp.scl(portrait ? 30f : 0)), logow, logoh); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java index 51ca195c29..72a001432e 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java @@ -74,7 +74,7 @@ public class BlockConfigFragment extends Fragment{ } public boolean hasConfigMouse(){ - Element e = Core.scene.hit(Core.input.getX(), Core.graphics.getHeight() - Core.input.getY(), true); + Element e = Core.scene.hit(Core.input.mouseX(), Core.graphics.getHeight() - Core.input.mouseY(), true); return e != null && (e == table || e.isDescendantOf(table)); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java index 93d1558aa0..a8050c7d14 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java @@ -30,8 +30,8 @@ public class BlockConsumeFragment extends Fragment{ table.setTransform(true); parent.addChild(new Element(){{update(() -> { - if(!ui.hasMouse()){ - Tile tile = world.tileWorld(Graphics.mouseWorld().x, Graphics.mouseWorld().y); + if(!Core.scene.hasMouse()){ + Tile tile = world.tileWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y); if(tile == null) return; tile = tile.target(); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 660a523e01..d1e60057d0 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -14,7 +14,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.ui.ItemImage; import io.anuke.mindustry.world.Tile; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.function.BooleanProvider; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.actions.Actions; diff --git a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java index a4b9335560..d8c40530c5 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java @@ -13,7 +13,7 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.arc.Inputs; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.ui.Dialog; import io.anuke.arc.scene.ui.Label; diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java index c6e95f1049..5958ed0344 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlacementFragment.java @@ -76,7 +76,7 @@ public class PlacementFragment extends Fragment{ } return true; }else if(Core.input.keyDown("select")){ //mouse eyedropper select - Tile tile = world.tileWorld(Graphics.mouseWorld().x, Graphics.mouseWorld().y); + Tile tile = world.tileWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y); if(tile != null){ tile = tile.target(); @@ -257,8 +257,8 @@ public class PlacementFragment extends Fragment{ Vector2 v = topTable.stageToLocalCoordinates(Graphics.mouse()); //setup hovering tile - if(!ui.hasMouse() && topTable.hit(v.x, v.y, false) == null){ - Tile tile = world.tileWorld(Graphics.mouseWorld().x, Graphics.mouseWorld().y); + if(!Core.scene.hasMouse() && topTable.hit(v.x, v.y, false) == null){ + Tile tile = world.tileWorld(Core.input.mouseWorld().x, Core.input.mouseWorld().y); if(tile != null){ hoverTile = tile.target(); }else{ diff --git a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java index 4eef86bf22..2413981b2c 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/PlayerListFragment.java @@ -9,8 +9,8 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.NetConnection; import io.anuke.mindustry.net.Packets.AdminAction; import io.anuke.arc.Core; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.Image; diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 211366df94..7f05f15fa2 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -5,9 +5,9 @@ import io.anuke.arc.collection.Array; import io.anuke.arc.collection.EnumSet; import io.anuke.arc.collection.IntArray; import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Hue; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Mathf; import io.anuke.arc.scene.ui.layout.Table; @@ -105,7 +105,6 @@ public class Block extends BaseBlock { public boolean canOverdrive = true; protected Array tempTiles = new Array<>(); - protected Color tempColor = new Color(); protected TextureRegion[] blockIcon; protected TextureRegion[] icon; protected TextureRegion[] compactIcon; @@ -378,8 +377,6 @@ public class Block extends BaseBlock { float explosiveness = baseExplosiveness; float flammability = 0f; float power = 0f; - int units = 1; - tempColor.set(Palette.darkFlame); if(hasItems){ float scaling = inventoryScaling(tile); @@ -387,11 +384,6 @@ public class Block extends BaseBlock { int amount = tile.entity.items.get(item); explosiveness += item.explosiveness * amount * scaling; flammability += item.flammability * amount * scaling; - - if(item.flammability * amount > 0.5){ - units++; - Hue.addu(tempColor, item.flameColor); - } } } @@ -404,8 +396,6 @@ public class Block extends BaseBlock { power += tile.entity.power.amount; } - tempColor.mul(1f / units); - if(hasLiquids){ tile.entity.liquids.forEach((liquid, amount) -> { @@ -422,7 +412,7 @@ public class Block extends BaseBlock { }); } - Damage.dynamicExplosion(x, y, flammability, explosiveness, power, tilesize * size / 2f, tempColor); + Damage.dynamicExplosion(x, y, flammability, explosiveness, power, tilesize * size / 2f, Palette.darkFlame); if(!tile.floor().solid && !tile.floor().isLiquid){ RubbleDecal.create(tile.drawx(), tile.drawy(), size); } @@ -505,8 +495,8 @@ public class Block extends BaseBlock { /** Crops a regionto 8x8 */ protected TextureRegion iconRegion(TextureRegion src){ TextureRegion region = new TextureRegion(src); - region.setRegionWidth(8); - region.setRegionHeight(8); + region.setWidth(8); + region.setHeight(8); return region; } @@ -531,7 +521,7 @@ public class Block extends BaseBlock { /** Offset for placing and drawing multiblocks. */ public float offset(){ - return ((size + 1) % 2) * tilesize / 2; + return ((size + 1) % 2) * tilesize / 2f; } public boolean isMultiblock(){ diff --git a/core/src/io/anuke/mindustry/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index 5aebf6c2b6..ba25644724 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.world; import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.Vector2; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Units; diff --git a/core/src/io/anuke/mindustry/world/ItemBuffer.java b/core/src/io/anuke/mindustry/world/ItemBuffer.java index 31fb5e96b8..444ffdab73 100644 --- a/core/src/io/anuke/mindustry/world/ItemBuffer.java +++ b/core/src/io/anuke/mindustry/world/ItemBuffer.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world; import io.anuke.arc.util.NumberUtils; import io.anuke.mindustry.type.Item; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index 5bd515f05f..bc63ae4028 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -1,8 +1,13 @@ package io.anuke.mindustry.world.blocks; -import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Mathf; import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Player; @@ -16,7 +21,6 @@ import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.input.CursorType; -import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.BarType; @@ -24,11 +28,6 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.arc.Effects; -import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/blocks/Floor.java b/core/src/io/anuke/mindustry/world/blocks/Floor.java index 20f6b34100..d534c7fadb 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Floor.java +++ b/core/src/io/anuke/mindustry/world/blocks/Floor.java @@ -75,7 +75,7 @@ public class Floor extends Block{ super.load(); if(blend){ - edgeRegion = Draw.hasRegion(name + "edge") ? Core.atlas.find(name + "edge") : Core.atlas.find(edge + "edge"); + edgeRegion = Core.atlas.has(name + "edge") ? Core.atlas.find(name + "edge") : Core.atlas.find(edge + "edge"); edgeRegions = new TextureRegion[8]; offsets = new Vector2[8]; @@ -186,7 +186,7 @@ public class Floor extends Block{ TextureRegion region = floor.edgeRegions[i]; - Draw.crect(region, tile.worldx() + floor.offsets[i].x, tile.worldy() + floor.offsets[i].y, region.getRegionWidth(), region.getRegionHeight()); + Draw.crect(region, tile.worldx() + floor.offsets[i].x, tile.worldy() + floor.offsets[i].y, region.getWidth(), region.getHeight()); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java index 1e5e020089..939da4b122 100644 --- a/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/LiquidBlock.java @@ -1,11 +1,12 @@ package io.anuke.mindustry.world.blocks; +import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.modules.LiquidModule; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; public class LiquidBlock extends Block{ protected TextureRegion liquidRegion, bottomRegion, topRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java index ceab37ed65..46664f0d76 100644 --- a/core/src/io/anuke/mindustry/world/blocks/OreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/OreBlock.java @@ -1,12 +1,11 @@ package io.anuke.mindustry.world.blocks; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.MathUtils; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; public class OreBlock extends Floor{ @@ -46,7 +45,7 @@ public class OreBlock extends Floor{ @Override public void drawNonLayer(Tile tile){ - MathUtils.random.setSeed(tile.pos()); + Mathf.random.setSeed(tile.pos()); base.drawEdges(tile, true); } diff --git a/core/src/io/anuke/mindustry/world/blocks/Rock.java b/core/src/io/anuke/mindustry/world/blocks/Rock.java index 5f62632461..c6f41dcc8a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/Rock.java +++ b/core/src/io/anuke/mindustry/world/blocks/Rock.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; public class Rock extends Block{ diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java index 6f0553d4e6..86d4adfe4e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/DeflectorWall.java @@ -1,15 +1,15 @@ package io.anuke.mindustry.world.blocks.defense; import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.Vector2; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.bullet.Bullet; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Physics; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java index 8ae8f581e3..c9d3f85bf1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java @@ -1,16 +1,16 @@ package io.anuke.mindustry.world.blocks.defense; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.input.CursorType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java index ea488388be..589f961aaa 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ForceProjector.java @@ -14,14 +14,14 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.entities.impl.BaseEntity; import io.anuke.arc.entities.trait.DrawTrait; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 23e3cd66eb..83d696d495 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -8,12 +8,12 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Hue; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index e5c63b9751..5f5b913ff1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -8,12 +8,12 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Hue; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java index 650c6bb6e0..5120c82441 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/ShockMine.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java index 9a0ad9a1b1..fdbe9686b5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/BurstTurret.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.defense.turrets; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java index 89c4fb758f..3c5f66a7e5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/ChargeTurret.java @@ -4,9 +4,9 @@ import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java index ec9c5c466b..09255365a2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/CooledTurret.java @@ -4,9 +4,9 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java index c0bc442d89..c91efa439e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LaserTurret.java @@ -7,8 +7,8 @@ import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.Effects; -import io.anuke.arc.Timers; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.util.Time; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java index ff39c10589..eb6e402092 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/LiquidTurret.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 00cdcb706a..09fb07a3f7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -1,9 +1,20 @@ package io.anuke.mindustry.world.blocks.defense.turrets; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.Core; +import io.anuke.arc.Graphics; import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.EnumSet; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.function.BiConsumer; +import io.anuke.arc.graphics.Blending; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.TileEntity; @@ -22,14 +33,6 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; -import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.function.BiConsumer; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; -import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; @@ -64,21 +67,18 @@ public abstract class Turret extends Block{ protected float xRand = 0f; protected boolean targetAir = true; - protected Translator tr = new Translator(); - protected Translator tr2 = new Translator(); + protected Vector2 tr = new Vector2(); + protected Vector2 tr2 = new Vector2(); protected TextureRegion baseRegion; protected TextureRegion heatRegion; protected TextureRegion baseTopRegion; - protected BiConsumer drawer = (tile, entity) -> Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); + protected BiConsumer drawer = (tile, entity) -> + Draw.rect(region, tile.drawx() + tr2.x, tile.drawy() + tr2.y).rot(entity.rotation - 90); protected BiConsumer heatDrawer = (tile, entity) -> { if(entity.heat <= 0.00001f) return; - Graphics.setAdditiveBlending(); - Draw.color(heatColor); - Draw.alpha(entity.heat); - Draw.rect(heatRegion, tile.drawx() + tr2.x, tile.drawy() + tr2.y, entity.rotation - 90); - Graphics.setNormalBlending(); + Draw.rect(heatRegion, tile.drawx() + tr2.x, tile.drawy() + tr2.y).rot(entity.rotation - 90).color(heatColor, entity.heat).blend(Blending.additive); }; public Turret(String name){ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java index fa296100e3..02dcd8340a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conduit.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.LiquidBlock; import io.anuke.mindustry.world.modules.LiquidModule; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java index 99a590c651..1d9d000ff9 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Conveyor.java @@ -12,8 +12,8 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.util.*; import java.io.DataInput; @@ -29,8 +29,8 @@ public class Conveyor extends Block{ private static ItemPos drawpos = new ItemPos(); private static ItemPos pos1 = new ItemPos(); private static ItemPos pos2 = new ItemPos(); - private final Translator tr1 = new Translator(); - private final Translator tr2 = new Translator(); + private final Vector2 tr1 = new Vector2(); + private final Vector2 tr2 = new Vector2(); private TextureRegion[][] regions = new TextureRegion[7][4]; @@ -294,7 +294,7 @@ public class Conveyor extends Block{ } @Override - public void getStackOffset(Item item, Tile tile, Translator trns){ + public void getStackOffset(Item item, Tile tile, Vector2 trns){ trns.trns(tile.getRotation() * 90 + 180f, tilesize / 2f); } diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java index d9cd93c407..16e28ea597 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ExtendingItemBridge.java @@ -2,8 +2,8 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.mindustry.world.Tile; import io.anuke.arc.graphics.CapStyle; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Geometry; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java index 8b198e0ba3..46c7df8dfa 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/ItemBridge.java @@ -18,10 +18,10 @@ import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.graphics.CapStyle; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Geometry; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java index 0815fd8db1..60a153713a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Junction.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java index ce48244cfe..f6b563bb1b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidBridge.java @@ -4,7 +4,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java index 2be21c79f5..d706f76d0d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidExtendingBridge.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.world; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java index 83748ebe30..d26c5af225 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/LiquidJunction.java @@ -6,7 +6,7 @@ import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.LiquidBlock; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; public class LiquidJunction extends LiquidBlock{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java index 0a89bc9d9a..c9a77d5208 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/MassDriver.java @@ -21,11 +21,11 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Pooling; @@ -80,7 +80,7 @@ public class MassDriver extends Block{ entity.reload = 1f; entity.power.amount = 0f; - DriverBulletData data = Pooling.obtain(DriverBulletData.class, DriverBulletData::new); + DriverBulletData data = Pools.obtain(DriverBulletData.class, DriverBulletData::new); data.from = entity; data.to = other; int totalUsed = 0; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java b/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java index c54d42daae..3b22972f08 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/OverflowGate.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.distribution; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.math.Mathf; public class OverflowGate extends Router{ diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java index 8d241b5a69..2128fdca74 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Router.java @@ -8,7 +8,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Edges; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; public class Router extends Block{ protected float speed = 8f; diff --git a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java index 16b0b26eff..9670b8641c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java +++ b/core/src/io/anuke/mindustry/world/blocks/distribution/Sorter.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.SelectionTrait; import io.anuke.mindustry.world.meta.BlockGroup; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java index 43bbe1e208..6e0eb829c2 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/FusionReactor.java @@ -8,8 +8,8 @@ import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterE import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; public class FusionReactor extends PowerGenerator{ diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java index c0dcc8f938..f65cb17e82 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemGenerator.java @@ -11,10 +11,10 @@ import io.anuke.mindustry.world.consumers.ConsumeItemFilter; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java index a404962a93..e07e232130 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/ItemLiquidGenerator.java @@ -5,8 +5,8 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.Effects; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java index 287e0f6b49..e7d4256406 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/LiquidGenerator.java @@ -6,9 +6,9 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.power.ItemGenerator.ItemGeneratorEntity; import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; public abstract class LiquidGenerator extends PowerGenerator{ diff --git a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java index 0876fe459c..79b3286f5c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/NuclearReactor.java @@ -14,11 +14,11 @@ import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.meta.values.LiquidFilterValue; -import io.anuke.arc.Effects; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Translator; +import io.anuke.arc.util.Vector2; import java.io.DataInput; import java.io.DataOutput; @@ -29,7 +29,7 @@ import static io.anuke.mindustry.Vars.tilesize; public class NuclearReactor extends PowerGenerator{ protected final int timerFuel = timers++; - protected final Translator tr = new Translator(); + protected final Vector2 tr = new Vector2(); protected Color coolColor = new Color(1, 1, 1, 0f); protected Color hotColor = Color.valueOf("ff9575a3"); diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index edc52a8295..b1f55a49a4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -13,12 +13,12 @@ import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.arc.Settings; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Angles; import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Translator; +import io.anuke.arc.util.Vector2; import static io.anuke.mindustry.Vars.*; @@ -29,8 +29,8 @@ public class PowerNode extends PowerBlock{ //last distribution block placed private static int lastPlaced = -1; - protected Translator t1 = new Translator(); - protected Translator t2 = new Translator(); + protected Vector2 t1 = new Vector2(); + protected Vector2 t2 = new Vector2(); protected float laserRange = 6; protected int maxNodes = 3; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java index 4e3d182a27..55bd4f0afc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/SolarGenerator.java @@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.power; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Timers; +import io.anuke.arc.util.Time; import io.anuke.arc.util.EnumSet; public class SolarGenerator extends PowerGenerator{ diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java index 411ff97264..872a29ca1f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Compressor.java @@ -4,7 +4,7 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; public class Compressor extends PowerCrafter{ diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java index e0c27f2399..496bc77219 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Cultivator.java @@ -9,9 +9,9 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.SeedRandom; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java index 72de7e7c56..18c38519e0 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Drill.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Drill.java @@ -16,11 +16,11 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java index aa43770e15..a0e3b8f20b 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Fracker.java @@ -5,7 +5,7 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumeItem; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; public class Fracker extends SolidPump{ protected final float itemUseTime = 100f; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java index a389cee2db..34938361a4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/GenericCrafter.java @@ -12,10 +12,10 @@ import io.anuke.mindustry.world.consumers.ConsumeItem; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java index 2823cf018d..6c64e2a2de 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Incinerator.java @@ -8,10 +8,10 @@ import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java b/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java index 5a3bde03ae..3351217fd1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/LiquidMixer.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.modules.LiquidModule; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; public class LiquidMixer extends LiquidBlock{ protected Liquid outputLiquid; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java index 85bf063719..a405f1658c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PhaseWeaver.java @@ -6,8 +6,8 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.world.Tile; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; public class PhaseWeaver extends PowerSmelter{ diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java index b16146360a..b6ca5f8110 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PlastaniumCompressor.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.production; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; public class PlastaniumCompressor extends GenericCrafter{ diff --git a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java index c99df31618..03b81b04c4 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/PowerSmelter.java @@ -12,10 +12,10 @@ import io.anuke.mindustry.world.blocks.PowerBlock; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java index cba0d12dd9..b2928013b5 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pulverizer.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.production; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; public class Pulverizer extends GenericCrafter{ protected TextureRegion rotatorRegion; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java index f01d0ccb07..075f64a1c7 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Pump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Pump.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.world.consumers.ConsumeLiquid; import io.anuke.mindustry.world.meta.BlockGroup; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; public class Pump extends LiquidBlock{ protected final Array drawTiles = new Array<>(); diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java index b6b1c715fb..770cfa45cd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Separator.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Separator.java @@ -12,8 +12,8 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.GenericCrafter.GenericCrafterEntity; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.values.ItemFilterValue; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; /** diff --git a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java index bee5fc971a..4b21fd899e 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/Smelter.java @@ -13,10 +13,10 @@ import io.anuke.mindustry.world.consumers.ConsumeItems; import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Fill; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java index e3b75d8bf1..b17b000063 100644 --- a/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java +++ b/core/src/io/anuke/mindustry/world/blocks/production/SolidPump.java @@ -7,9 +7,9 @@ import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; /** diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index bb70476530..24cd01da12 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -22,11 +22,11 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.BarType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.EnumSet; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java index 6c8d7c2bdf..9a8b88c919 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/SortedUnloader.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.SelectionTrait; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.layout.Table; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java index be761275ab..b3be02fb0c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/CommandCenter.java @@ -16,9 +16,9 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.scene.ui.layout.Table; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java index ad652291e1..e0989a73fd 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/MechPad.java @@ -19,11 +19,11 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.ConsumePowerExact; import io.anuke.mindustry.world.meta.BlockStat; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.Geometry; import io.anuke.arc.math.Mathf; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java index 0966f28298..4ee6bacf50 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/Reconstructor.java @@ -15,12 +15,12 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.Graphics; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; import java.io.DataInput; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java index 976a13c56f..e1b5b60a5d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/RepairPoint.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world.blocks.units; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.Rectangle; +import io.anuke.arc.math.geom.Rectangle; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; @@ -11,9 +11,9 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.Timers; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.Shapes; import io.anuke.arc.util.Angles; import io.anuke.arc.util.EnumSet; diff --git a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java index f97c2d5e00..8d1729674d 100644 --- a/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java +++ b/core/src/io/anuke/mindustry/world/blocks/units/UnitFactory.java @@ -23,10 +23,10 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.StatUnit; import io.anuke.mindustry.world.modules.ItemModule; -import io.anuke.arc.Effects; +import io.anuke.arc.entities.Effects; import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.Draw; -import io.anuke.arc.graphics.Lines; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.util.EnumSet; import io.anuke.arc.math.Mathf; diff --git a/kryonet/src/io/anuke/kryonet/ByteSerializer.java b/kryonet/src/io/anuke/kryonet/ByteSerializer.java index ace1ac8db2..1090c9348b 100644 --- a/kryonet/src/io/anuke/kryonet/ByteSerializer.java +++ b/kryonet/src/io/anuke/kryonet/ByteSerializer.java @@ -34,7 +34,7 @@ public class ByteSerializer implements Serialization{ if(id == -2){ return FrameworkSerializer.read(byteBuffer); }else{ - Packet packet = Pooling.obtain((Class) Registrator.getByID(id).type, (Supplier) Registrator.getByID(id).constructor); + Packet packet = Pools.obtain((Class) Registrator.getByID(id).type, (Supplier) Registrator.getByID(id).constructor); packet.read(byteBuffer); return packet; } diff --git a/kryonet/src/io/anuke/kryonet/KryoClient.java b/kryonet/src/io/anuke/kryonet/KryoClient.java index 069a72ee3e..7fd67a6709 100644 --- a/kryonet/src/io/anuke/kryonet/KryoClient.java +++ b/kryonet/src/io/anuke/kryonet/KryoClient.java @@ -162,7 +162,7 @@ public class KryoClient implements ClientProvider{ client.sendUDP(object); } - Pooling.free(object); + Pools.free(object); } @Override diff --git a/server/src/io/anuke/mindustry/server/CrashHandler.java b/server/src/io/anuke/mindustry/server/CrashHandler.java index eb55f17ec7..f237f502aa 100644 --- a/server/src/io/anuke/mindustry/server/CrashHandler.java +++ b/server/src/io/anuke/mindustry/server/CrashHandler.java @@ -3,12 +3,12 @@ package io.anuke.mindustry.server; import com.badlogic.gdx.utils.JsonValue; import com.badlogic.gdx.utils.JsonValue.ValueType; import com.badlogic.gdx.utils.JsonWriter.OutputType; +import io.anuke.arc.Core; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.OS; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Settings; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.OS; import java.io.PrintWriter; import java.io.StringWriter; diff --git a/server/src/io/anuke/mindustry/server/MindustryServer.java b/server/src/io/anuke/mindustry/server/MindustryServer.java index ab6c4ad21a..1794959941 100644 --- a/server/src/io/anuke/mindustry/server/MindustryServer.java +++ b/server/src/io/anuke/mindustry/server/MindustryServer.java @@ -1,16 +1,17 @@ package io.anuke.mindustry.server; +import io.anuke.arc.ApplicationListener; +import io.anuke.arc.Core; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Logic; import io.anuke.mindustry.core.NetServer; import io.anuke.mindustry.core.World; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.io.BundleLoader; -import io.anuke.arc.modules.ModuleCore; import static io.anuke.mindustry.Vars.*; -public class MindustryServer extends ModuleCore{ +public class MindustryServer implements ApplicationListener{ private String[] args; public MindustryServer(String[] args){ @@ -28,9 +29,9 @@ public class MindustryServer extends ModuleCore{ content.load(); content.initialize(Content::init); - module(logic = new Logic()); - module(world = new World()); - module(netServer = new NetServer()); - module(new ServerControl(args)); + Core.app.addListener(logic = new Logic()); + Core.app.addListener(world = new World()); + Core.app.addListener(netServer = new NetServer()); + Core.app.addListener(new ServerControl(args)); } } diff --git a/server/src/io/anuke/mindustry/server/ServerControl.java b/server/src/io/anuke/mindustry/server/ServerControl.java index 1d43381736..337ba5a97d 100644 --- a/server/src/io/anuke/mindustry/server/ServerControl.java +++ b/server/src/io/anuke/mindustry/server/ServerControl.java @@ -6,6 +6,17 @@ import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.ObjectSet; import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.utils.Timer.Task; +import io.anuke.arc.ApplicationListener; +import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.util.CommandHandler; +import io.anuke.arc.util.CommandHandler.Command; +import io.anuke.arc.util.CommandHandler.Response; +import io.anuke.arc.util.CommandHandler.ResponseType; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; +import io.anuke.arc.util.Time; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.Difficulty; @@ -23,24 +34,16 @@ import io.anuke.mindustry.net.Packets.KickReason; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemType; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.core.*; -import io.anuke.arc.modules.Module; -import io.anuke.arc.util.CommandHandler; -import io.anuke.arc.util.CommandHandler.Command; -import io.anuke.arc.util.CommandHandler.Response; -import io.anuke.arc.util.CommandHandler.ResponseType; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Strings; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.Scanner; -import static io.anuke.mindustry.Vars.*; import static io.anuke.arc.util.Log.*; +import static io.anuke.mindustry.Vars.*; -public class ServerControl extends Module{ +public class ServerControl implements ApplicationListener{ private static final int roundExtraTime = 12; //in bytes: 512 kb is max private static final int maxLogLength = 1024 * 512; @@ -55,7 +58,7 @@ public class ServerControl extends Module{ public ServerControl(String[] args){ - Core.settings.defaultList( + Core.settings.defaults( "shufflemode", "normal", "bans", "", "admins", "", @@ -99,7 +102,6 @@ public class ServerControl extends Module{ Time.setDeltaProvider(() -> Gdx.graphics.getDeltaTime() * 60f); Effects.setScreenShakeProvider((a, b) -> {}); Effects.setEffectProvider((a, b, c, d, e, f) -> {}); - Sounds.setHeadless(true); registerCommands(); @@ -136,7 +138,7 @@ public class ServerControl extends Module{ world.sectors.save(); gameOvers = 0; inExtraRound = true; - Core.settings.putInt("sector_x", world.getSector().x + 1); + Core.settings.put("sector_x", world.getSector().x + 1); Core.settings.save(); Call.onInfoMessage("[accent]Sector conquered![]\n" + roundExtraTime + " seconds until deployment in next sector."); diff --git a/server/src/io/anuke/mindustry/server/ServerLauncher.java b/server/src/io/anuke/mindustry/server/ServerLauncher.java index 9a45d607cf..8081a40059 100644 --- a/server/src/io/anuke/mindustry/server/ServerLauncher.java +++ b/server/src/io/anuke/mindustry/server/ServerLauncher.java @@ -4,11 +4,11 @@ import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.backends.headless.HeadlessApplication; import com.badlogic.gdx.backends.headless.HeadlessApplicationConfiguration; +import io.anuke.arc.Core; +import io.anuke.arc.util.EmptyLogger; import io.anuke.kryonet.KryoClient; import io.anuke.kryonet.KryoServer; import io.anuke.mindustry.net.Net; -import io.anuke.arc.core.Settings; -import io.anuke.arc.util.EmptyLogger; public class ServerLauncher extends HeadlessApplication{ @@ -37,8 +37,13 @@ public class ServerLauncher extends HeadlessApplication{ for(Thread thread : Thread.getAllStackTraces().keySet()){ if(thread.getName().equals("HeadlessApplication")){ thread.setUncaughtExceptionHandler((t, throwable) -> { - CrashHandler.handle(throwable); - System.exit(-1); + try{ + CrashHandler.handle(throwable); + System.exit(-1); + }catch(Throwable crashCrash){ + crashCrash.printStackTrace(); + System.exit(-1); + } }); break; } diff --git a/tools/src/io/anuke/mindustry/Generators.java b/tools/src/io/anuke/mindustry/Generators.java index 6af829e9b1..01bbdc8d98 100644 --- a/tools/src/io/anuke/mindustry/Generators.java +++ b/tools/src/io/anuke/mindustry/Generators.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.type.Mech; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.arc.graphics.Draw; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.Hue; import static io.anuke.mindustry.Vars.*; @@ -87,7 +87,7 @@ public class Generators { image.drawCenter(mech.region); } - int off = (image.width() - mech.weapon.equipRegion.getRegionWidth())/2; + int off = (image.width() - mech.weapon.equipRegion.getWidth())/2; image.draw(mech.weapon.equipRegion, -(int)mech.weaponOffsetX + off, (int)mech.weaponOffsetY + off, false, false); image.draw(mech.weapon.equipRegion, (int)mech.weaponOffsetX + off, (int)mech.weaponOffsetY + off, true, false); @@ -112,12 +112,12 @@ public class Generators { image.draw(type.region); image.draw(type.weapon.equipRegion, - -(int)type.weaponOffsetX + (image.width() - type.weapon.equipRegion.getRegionWidth())/2, - (int)type.weaponOffsetY - (image.height() - type.weapon.equipRegion.getRegionHeight())/2 + 1, + -(int)type.weaponOffsetX + (image.width() - type.weapon.equipRegion.getWidth())/2, + (int)type.weaponOffsetY - (image.height() - type.weapon.equipRegion.getHeight())/2 + 1, false, false); image.draw(type.weapon.equipRegion, - (int)type.weaponOffsetX + (image.width() - type.weapon.equipRegion.getRegionWidth())/2, - (int)type.weaponOffsetY - (image.height() - type.weapon.equipRegion.getRegionHeight())/2 + 1, + (int)type.weaponOffsetX + (image.width() - type.weapon.equipRegion.getWidth())/2, + (int)type.weaponOffsetY - (image.height() - type.weapon.equipRegion.getHeight())/2 + 1, true, false); } diff --git a/tools/src/io/anuke/mindustry/Image.java b/tools/src/io/anuke/mindustry/Image.java index 69c0c6be6b..e4678c346c 100644 --- a/tools/src/io/anuke/mindustry/Image.java +++ b/tools/src/io/anuke/mindustry/Image.java @@ -21,7 +21,7 @@ public class Image { private Color color = new Color(); public Image(BufferedImage atlas, TextureRegion region){ - this(atlas, region.getRegionWidth(), region.getRegionHeight()); + this(atlas, region.getWidth(), region.getHeight()); draw(region); } @@ -69,12 +69,12 @@ public class Image { /**Draws a region at the center.*/ public void drawCenter(TextureRegion region){ - draw(region, (width() - region.getRegionWidth())/2, (height() - region.getRegionHeight())/2, false, false); + draw(region, (width() - region.getWidth())/2, (height() - region.getHeight())/2, false, false); } /**Draws a region at the center.*/ public void drawCenter(TextureRegion region, boolean flipx, boolean flipy){ - draw(region, (width() - region.getRegionWidth())/2, (height() - region.getRegionHeight())/2, flipx, flipy); + draw(region, (width() - region.getWidth())/2, (height() - region.getHeight())/2, flipx, flipy); } /**Draws an image at the top left corner.*/ @@ -108,12 +108,12 @@ public class Image { graphics.drawImage(atlas, x, y, - x + region.getRegionWidth(), - y + region.getRegionHeight(), - (flipx ? region.getRegionX() + region.getRegionWidth() : region.getRegionX()) + ofx, - (flipy ? region.getRegionY() + region.getRegionHeight() : region.getRegionY()) + ofy, - (flipx ? region.getRegionX() : region.getRegionX() + region.getRegionWidth()) + ofx, - (flipy ? region.getRegionY() : region.getRegionY() + region.getRegionHeight()) + ofy, + x + region.getWidth(), + y + region.getHeight(), + (flipx ? region.getRegionX() + region.getWidth() : region.getRegionX()) + ofx, + (flipy ? region.getRegionY() + region.getHeight() : region.getRegionY()) + ofy, + (flipx ? region.getRegionX() : region.getRegionX() + region.getWidth()) + ofx, + (flipy ? region.getRegionY() : region.getRegionY() + region.getHeight()) + ofy, null); } From 22b7086bea68161ede4de52d8efa316ed1fabdf6 Mon Sep 17 00:00:00 2001 From: Anuken Date: Sun, 23 Dec 2018 23:58:24 -0500 Subject: [PATCH 05/16] Additional fixes --- core/src/io/anuke/mindustry/Vars.java | 19 +++-- .../io/anuke/mindustry/ai/BlockIndexer.java | 3 +- .../src/io/anuke/mindustry/ai/Pathfinder.java | 6 +- .../io/anuke/mindustry/core/NetServer.java | 2 +- .../src/io/anuke/mindustry/core/Renderer.java | 55 +++++-------- core/src/io/anuke/mindustry/core/UI.java | 77 +++++++++---------- core/src/io/anuke/mindustry/core/World.java | 6 +- .../io/anuke/mindustry/editor/MapView.java | 2 +- .../io/anuke/mindustry/entities/Damage.java | 4 +- .../io/anuke/mindustry/entities/Player.java | 72 ++++++++--------- .../anuke/mindustry/entities/TileEntity.java | 11 ++- .../src/io/anuke/mindustry/entities/Unit.java | 4 +- .../io/anuke/mindustry/entities/Units.java | 6 +- .../entities/bullet/BasicBulletType.java | 15 ++-- .../mindustry/entities/bullet/Bullet.java | 24 +++--- .../mindustry/entities/bullet/BulletType.java | 8 +- .../entities/bullet/LiquidBulletType.java | 14 ++-- .../entities/effect/GroundEffectEntity.java | 8 +- .../entities/effect/ItemTransfer.java | 3 +- .../mindustry/entities/effect/Lightning.java | 39 ++++++---- .../mindustry/entities/effect/Puddle.java | 37 +++++---- .../entities/effect/RubbleDecal.java | 5 +- .../entities/effect/ScorchDecal.java | 10 ++- .../entities/traits/BuilderTrait.java | 28 +++---- .../entities/traits/ShooterTrait.java | 6 +- .../mindustry/entities/traits/SyncTrait.java | 3 +- .../mindustry/entities/units/BaseUnit.java | 25 +++--- .../mindustry/entities/units/FlyingUnit.java | 18 +++-- .../mindustry/entities/units/GroundUnit.java | 8 +- .../anuke/mindustry/entities/units/Squad.java | 10 +-- .../mindustry/entities/units/UnitCommand.java | 2 +- .../mindustry/entities/units/UnitType.java | 13 ++-- .../entities/units/types/AlphaDrone.java | 16 ++-- .../mindustry/entities/units/types/Drone.java | 18 ++--- .../mindustry/graphics/BlockRenderer.java | 8 +- .../anuke/mindustry/graphics/CacheLayer.java | 2 +- .../mindustry/graphics/FloorRenderer.java | 8 +- .../anuke/mindustry/graphics/FogRenderer.java | 4 +- .../mindustry/graphics/OverlayRenderer.java | 4 +- .../io/anuke/mindustry/graphics/Shaders.java | 16 ++-- .../io/anuke/mindustry/graphics/Trail.java | 2 +- .../io/anuke/mindustry/input/CursorType.java | 26 ------- .../anuke/mindustry/input/DesktopInput.java | 2 +- .../anuke/mindustry/input/InputHandler.java | 12 ++- .../io/anuke/mindustry/input/MobileInput.java | 4 +- .../maps/generation/FortressGenerator.java | 2 +- .../maps/generation/WorldGenerator.java | 2 +- core/src/io/anuke/mindustry/world/Block.java | 7 +- core/src/io/anuke/mindustry/world/Build.java | 17 ++-- core/src/io/anuke/mindustry/world/Edges.java | 26 +++---- .../mindustry/world/blocks/BuildBlock.java | 14 ++-- .../mindustry/world/blocks/defense/Door.java | 1 - .../world/blocks/defense/MendProjector.java | 2 +- .../blocks/defense/OverdriveProjector.java | 2 +- .../world/blocks/defense/turrets/Turret.java | 15 ++-- .../world/blocks/power/PowerNode.java | 4 +- 56 files changed, 350 insertions(+), 407 deletions(-) delete mode 100644 core/src/io/anuke/mindustry/input/CursorType.java diff --git a/core/src/io/anuke/mindustry/Vars.java b/core/src/io/anuke/mindustry/Vars.java index c32699e3cc..2b5fd85d5e 100644 --- a/core/src/io/anuke/mindustry/Vars.java +++ b/core/src/io/anuke/mindustry/Vars.java @@ -2,8 +2,14 @@ package io.anuke.mindustry; import io.anuke.arc.Application.ApplicationType; import io.anuke.arc.Core; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +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; @@ -17,13 +23,6 @@ import io.anuke.mindustry.game.Version; import io.anuke.mindustry.gen.Serialization; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; -import io.anuke.arc.Settings; -import io.anuke.arc.entities.Entities; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.impl.EffectEntity; -import io.anuke.arc.entities.trait.DrawTrait; -import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.util.Vector2; import java.util.Arrays; import java.util.Locale; @@ -100,7 +99,6 @@ public class Vars{ public static ContentLoader content; public static GameState state; - public static ThreadHandler threads; public static Control control; public static Logic logic; @@ -167,13 +165,14 @@ public class Vars{ } state = new GameState(); - threads = new ThreadHandler(); mobile = Core.app.getType() == ApplicationType.Android || Core.app.getType() == ApplicationType.iOS || testMobile; ios = Core.app.getType() == ApplicationType.iOS; android = Core.app.getType() == ApplicationType.Android; - dataDirectory = Core.settings.getDataDirectory(appName); + Core.settings.setAppName(appName); + + dataDirectory = Core.settings.getDataDirectory(); screenshotDirectory = dataDirectory.child("screenshots/"); customMapDirectory = dataDirectory.child("maps/"); saveDirectory = dataDirectory.child("saves/"); diff --git a/core/src/io/anuke/mindustry/ai/BlockIndexer.java b/core/src/io/anuke/mindustry/ai/BlockIndexer.java index 4dc4daaeca..9269a205bc 100644 --- a/core/src/io/anuke/mindustry/ai/BlockIndexer.java +++ b/core/src/io/anuke/mindustry/ai/BlockIndexer.java @@ -5,7 +5,6 @@ import io.anuke.arc.collection.*; import io.anuke.arc.function.Predicate; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; -import io.anuke.arc.math.geom.Vector2; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.game.EventType.TileChangeEvent; @@ -174,7 +173,7 @@ public class BlockIndexer{ TileEntity e = other.entity; - float ndst = Vector2.dst(x, y, e.x, e.y); + float ndst = Mathf.dst(x, y, e.x, e.y); if(ndst < range && (closest == null || ndst < dst)){ dst = ndst; closest = e; diff --git a/core/src/io/anuke/mindustry/ai/Pathfinder.java b/core/src/io/anuke/mindustry/ai/Pathfinder.java index e42001b63b..958911ccba 100644 --- a/core/src/io/anuke/mindustry/ai/Pathfinder.java +++ b/core/src/io/anuke/mindustry/ai/Pathfinder.java @@ -4,7 +4,7 @@ import io.anuke.arc.Events; import io.anuke.arc.collection.IntArray; import io.anuke.arc.collection.Queue; import io.anuke.arc.math.geom.Geometry; -import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.util.Structs; import io.anuke.arc.util.Time; import io.anuke.mindustry.game.EventType.TileChangeEvent; @@ -62,7 +62,7 @@ public class Pathfinder{ Tile target = null; float tl = 0f; - for(GridPoint2 point : Geometry.d8){ + for(Point2 point : Geometry.d8){ int dx = tile.x + point.x, dy = tile.y + point.y; Tile other = world.tile(dx, dy); @@ -150,7 +150,7 @@ public class Pathfinder{ float cost = path.weights[tile.x][tile.y]; if(cost < Float.MAX_VALUE){ - for(GridPoint2 point : Geometry.d4){ + for(Point2 point : Geometry.d4){ int dx = tile.x + point.x, dy = tile.y + point.y; Tile other = world.tile(dx, dy); diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index 86fcf99451..e977059635 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -359,7 +359,7 @@ public class NetServer implements ApplicationListener{ player.y = prevy; newx = x; newy = y; - }else if(Vector2.dst(x, y, newx, newy) > correctDist){ + }else if(Mathf.dst(x, y, newx, newy) > correctDist){ Call.onPositionSet(player.con.id, newx, newy); //teleport and correct position when necessary } diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index e0009452d8..d47df02876 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.core; +import io.anuke.arc.ApplicationListener; import io.anuke.arc.Core; import io.anuke.arc.Graphics; import io.anuke.arc.entities.Effects; @@ -16,11 +17,9 @@ import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.PixmapIO; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.graphics.g2d.SpriteBatch; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.geom.Vector2; -import io.anuke.arc.scene.utils.Cursors; import io.anuke.arc.util.BufferUtils; import io.anuke.arc.util.ScreenUtils; import io.anuke.arc.util.Time; @@ -37,31 +36,30 @@ import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.*; import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; + +import static io.anuke.arc.Core.*; import static io.anuke.mindustry.Vars.*; -public class Renderer extends RendererModule{ - public final Surface effectSurface; +public class Renderer implements ApplicationListener{ public final BlockRenderer blocks = new BlockRenderer(); public final MinimapRenderer minimap = new MinimapRenderer(); public final OverlayRenderer overlays = new OverlayRenderer(); public final FogRenderer fog = new FogRenderer(); + private Color clearColor; private int targetscale = baseCameraScale; private Rectangle rect = new Rectangle(), rect2 = new Rectangle(); private Vector2 avgPosition = new Vector2(); public Renderer(){ - Core.batch = new SpriteBatch(4096); - Lines.setCircleVertices(14); Shaders.init(); - Core.cameraScale = baseCameraScale; Effects.setEffectProvider((effect, color, x, y, rotation, data) -> { if(effect == Fx.none) return; if(Core.settings.getBool("effects")){ - Rectangle view = rect.setSize(camera.viewportWidth, camera.viewportHeight) + Rectangle view = rect.setSize(camera.width, camera.height) .setCenter(camera.position.x, camera.position.y); Rectangle pos = rect2.setSize(effect.size).setCenter(x, y); @@ -78,7 +76,7 @@ public class Renderer extends RendererModule{ if(data instanceof Entity){ entity.setParent((Entity) data); } - threads.runGraphics(() -> effectGroup.add(entity)); + effectGroup.add(entity); }else{ GroundEffectEntity entity = Pools.obtain(GroundEffectEntity.class, GroundEffectEntity::new); entity.effect = effect; @@ -90,30 +88,13 @@ public class Renderer extends RendererModule{ if(data instanceof Entity){ entity.setParent((Entity) data); } - threads.runGraphics(() -> groundEffectGroup.add(entity)); + groundEffectGroup.add(entity); } } } }); - Cursors.cursorScaling = 3; - Cursors.outlineColor = Color.valueOf("444444"); - - Cursors.arrow = Cursors.loadCursor("cursor"); - Cursors.hand = Cursors.loadCursor("hand"); - Cursors.ibeam = Cursors.loadCursor("ibar"); - Cursors.restoreCursor(); - Cursors.loadCustom("drill"); - Cursors.loadCustom("unload"); - clearColor = new Color(0f, 0f, 0f, 1f); - - effectSurface = Graphics.createSurface(Core.cameraScale); - pixelSurface = Graphics.createSurface(Core.cameraScale); - } - - @Override - public void init(){ } @Override @@ -185,9 +166,9 @@ public class Renderer extends RendererModule{ @Override public void draw(){ camera.update(); - if(Float.isNaN(Core.camera.position.x) || Float.isNaN(Core.camera.position.y)){ - Core.camera.position.x = players[0].x; - Core.camera.position.y = players[0].y; + if(Float.isNaN(camera.position.x) || Float.isNaN(camera.position.y)){ + camera.position.x = players[0].x; + camera.position.y = players[0].y; } Graphics.clear(clearColor); @@ -377,24 +358,24 @@ public class Renderer extends RendererModule{ } public void takeMapScreenshot(){ - float vpW = Core.camera.viewportWidth, vpH = Core.camera.viewportHeight; + float vpW = camera.width, vpH = camera.height; int w = world.width()*tilesize, h = world.height()*tilesize; int pw = pixelSurface.width(), ph = pixelSurface.height(); showFog = false; disableUI = true; pixelSurface.setSize(w, h, true); Graphics.getEffectSurface().setSize(w, h, true); - Core.camera.viewportWidth = w; - Core.camera.viewportHeight = h; - Core.camera.position.x = w/2f + tilesize/2f; - Core.camera.position.y = h/2f + tilesize/2f; + camera.width = w; + camera.height = h; + camera.position.x = w/2f + tilesize/2f; + camera.position.y = h/2f + tilesize/2f; draw(); showFog = true; disableUI = false; - Core.camera.viewportWidth = vpW; - Core.camera.viewportHeight = vpH; + camera.width = vpW; + camera.height = vpH; pixelSurface.getBuffer().begin(); byte[] lines = ScreenUtils.getFrameBufferPixels(0, 0, w, h, true); diff --git a/core/src/io/anuke/mindustry/core/UI.java b/core/src/io/anuke/mindustry/core/UI.java index 92e6f5f2ae..58539c88d4 100644 --- a/core/src/io/anuke/mindustry/core/UI.java +++ b/core/src/io/anuke/mindustry/core/UI.java @@ -3,15 +3,16 @@ package io.anuke.mindustry.core; import io.anuke.arc.ApplicationListener; import io.anuke.arc.Core; import io.anuke.arc.Events; -import io.anuke.arc.Graphics; +import io.anuke.arc.Graphics.Cursor; +import io.anuke.arc.Graphics.Cursor.SystemCursor; import io.anuke.arc.function.Consumer; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Colors; import io.anuke.arc.graphics.g2d.BitmapFont; -import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.input.KeyCode; import io.anuke.arc.math.Interpolation; import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.Scene; import io.anuke.arc.scene.Skin; import io.anuke.arc.scene.actions.Actions; import io.anuke.arc.scene.ui.Dialog; @@ -27,7 +28,6 @@ import io.anuke.arc.freetype.*; import io.anuke.mindustry.editor.MapEditorDialog; import io.anuke.mindustry.game.EventType.ResizeEvent; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.ui.dialogs.*; import io.anuke.mindustry.ui.fragments.*; @@ -67,7 +67,19 @@ public class UI implements ApplicationListener{ public SectorsDialog sectors; public MissionDialog missions; + public Cursor drillCursor, unloadCursor; + public UI(){ + Skin skin = new Skin(Core.atlas); + generateFonts(); + skin.load(Core.files.internal("ui/uiskin.json")); + + for(BitmapFont font : skin.getAll(BitmapFont.class).values()){ + font.setUseIntegerPositions(true); + } + + Core.scene = new Scene(skin); + Dialog.setShowAction(() -> sequence( alpha(0f), originCenter(), @@ -88,12 +100,24 @@ public class UI implements ApplicationListener{ TooltipManager.getInstance().animations = false; - Core.settings.setErrorHandler(() -> Time.run(1f, () -> showError("[crimson]Failed to access local storage.\nSettings will not be saved."))); - - Dialog.closePadR = -1; - Dialog.closePadT = 5; + Core.settings.setErrorHandler(e -> Time.run(1f, () -> showError("Failed to access local storage.\nSettings will not be saved."))); Colors.put("accent", Palette.accent); + + loadCursors(); + } + + void loadCursors(){ + int cursorScaling = 3; + Color outlineColor = Color.valueOf("444444"); + + drillCursor = Core.graphics.newCursor("drill", cursorScaling, outlineColor); + unloadCursor = Core.graphics.newCursor("unload", cursorScaling, outlineColor); + SystemCursor.arrow.set(Core.graphics.newCursor("cursor", cursorScaling, outlineColor)); + SystemCursor.hand.set(Core.graphics.newCursor("hand", cursorScaling, outlineColor)); + SystemCursor.ibeam.set(Core.graphics.newCursor("ibeam", cursorScaling, outlineColor)); + + Core.graphics.restoreCursor(); } void generateFonts(){ @@ -110,42 +134,13 @@ public class UI implements ApplicationListener{ skin.getFont("default-font").setOwnsTexture(false); } - @Override - protected void loadSkin(){ - skin = new Skin(Core.atlas); - generateFonts(); - skin.load(Core.files.internal("ui/uiskin.json")); - - for(BitmapFont font : skin.getAll(BitmapFont.class).values()){ - font.setUseIntegerPositions(true); - //font.getData().setScale(Vars.fontScale); - } - } - @Override public void update(){ if(disableUI) return; - if(Graphics.drawing()) Graphics.end(); - - act(); - - Graphics.begin(); - - for(int i = 0; i < players.length; i++){ - InputHandler input = control.input(i); - - if(input.isCursorVisible()){ - Draw.color(); - - float scl = Unit.dp.scl(3f); - - Draw.rect("controller-cursor", input.getMouseX(), Core.graphics.getHeight() - input.getMouseY(), 16 * scl, 16 * scl); - } - } - - Graphics.end(); - Draw.color(); + Core.scene.act(); + Core.scene.draw(); + Core.graphics.batch().flush(); } @Override @@ -186,14 +181,12 @@ public class UI implements ApplicationListener{ @Override public void resize(int width, int height){ - super.resize(width, height); - + Core.scene.resize(width, height); Events.fire(new ResizeEvent()); } @Override public void dispose(){ - super.dispose(); generator.dispose(); } diff --git a/core/src/io/anuke/mindustry/core/World.java b/core/src/io/anuke/mindustry/core/World.java index 4265fd8a3a..490ac28612 100644 --- a/core/src/io/anuke/mindustry/core/World.java +++ b/core/src/io/anuke/mindustry/core/World.java @@ -7,7 +7,7 @@ import io.anuke.arc.collection.Array; import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.math.Mathf; -import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.util.Log; import io.anuke.arc.util.Structs; import io.anuke.arc.util.Time; @@ -338,7 +338,7 @@ public class World implements ApplicationListener{ /** * Raycast, but with world coordinates. */ - public GridPoint2 raycastWorld(float x, float y, float x2, float y2){ + public Point2 raycastWorld(float x, float y, float x2, float y2){ return raycast(Math.round(x / tilesize), Math.round(y / tilesize), Math.round(x2 / tilesize), Math.round(y2 / tilesize)); } @@ -348,7 +348,7 @@ public class World implements ApplicationListener{ * * @return null if no collisions found, block position otherwise. */ - public GridPoint2 raycast(int x0f, int y0f, int x1, int y1){ + public Point2 raycast(int x0f, int y0f, int x1, int y1){ int x0 = x0f; int y0 = y0f; int dx = Math.abs(x1 - x0); diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index 4ddbd498d7..97518b5261 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -57,7 +57,7 @@ public class MapView extends Element implements GestureListener{ for(int i = 0; i < MapEditor.brushSizes.length; i++){ float size = MapEditor.brushSizes[i]; - brushPolygons[i] = Geometry.pixelCircle(size, (index, x, y) -> Vector2.dst(x, y, index, index) <= index - 0.5f); + brushPolygons[i] = Geometry.pixelCircle(size, (index, x, y) -> Mathf.dst(x, y, index, index) <= index - 0.5f); } Core.input.addProcessor(0, new GestureDetector(20, 0.5f, 2, 0.15f, this)); diff --git a/core/src/io/anuke/mindustry/entities/Damage.java b/core/src/io/anuke/mindustry/entities/Damage.java index 58110de64b..7df2455bc6 100644 --- a/core/src/io/anuke/mindustry/entities/Damage.java +++ b/core/src/io/anuke/mindustry/entities/Damage.java @@ -179,7 +179,7 @@ public class Damage{ for(int dx = -trad; dx <= trad; dx++){ for(int dy = -trad; dy <= trad; dy++){ Tile tile = world.tile(Math.round(x / tilesize) + dx, Math.round(y / tilesize) + dy); - if(tile != null && tile.entity != null && (team == null || state.teams.areEnemies(team, tile.getTeam())) && Vector2.dst(dx, dy, 0, 0) <= trad){ + if(tile != null && tile.entity != null && (team == null || state.teams.areEnemies(team, tile.getTeam())) && Mathf.dst(dx, dy, 0, 0) <= trad){ float amount = calculateDamage(x, y, tile.worldx(), tile.worldy(), radius, damage); tile.entity.damage(amount); } @@ -189,7 +189,7 @@ public class Damage{ } private static float calculateDamage(float x, float y, float tx, float ty, float radius, float damage){ - float dist = Vector2.dst(x, y, tx, ty); + float dist = Mathf.dst(x, y, tx, ty); float falloff = 0.4f; float scaled = Mathf.lerp(1f - dist / radius, 1f, falloff); return damage * scaled; diff --git a/core/src/io/anuke/mindustry/entities/Player.java b/core/src/io/anuke/mindustry/entities/Player.java index 2ce78101e6..9b79e4aff2 100644 --- a/core/src/io/anuke/mindustry/entities/Player.java +++ b/core/src/io/anuke/mindustry/entities/Player.java @@ -3,24 +3,20 @@ package io.anuke.mindustry.entities; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.arc.Core; -import io.anuke.arc.Graphics; +import io.anuke.arc.collection.Bits; import io.anuke.arc.collection.Queue; import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.g2d.GlyphLayout; -import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.graphics.g2d.*; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.geom.Vector2; -import io.anuke.arc.util.Bits; -import io.anuke.arc.util.Interval; -import io.anuke.arc.util.Time; -import io.anuke.arc.util.Timer; +import io.anuke.arc.util.*; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.Mechs; import io.anuke.mindustry.content.fx.UnitFx; import io.anuke.mindustry.entities.effect.ScorchDecal; @@ -292,7 +288,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra float x = snappedX(), y = snappedY(); float scl = mech.flying ? 1f : boostHeat / 2f; - Draw.rect(mech.iconRegion, x + offsetX * scl, y + offsetY * scl, rotation - 90); + Draw.rect(mech.iconRegion, x + offsetX * scl, y + offsetY * scl).rot(rotation - 90); } @Override @@ -326,10 +322,10 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.rect(mech.legRegion, x + Angles.trnsx(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i), y + Angles.trnsy(baseRotation, ft * i + boostTrnsY, -boostTrnsX * i), - mech.legRegion.getWidth() * i, mech.legRegion.getHeight() - Mathf.clamp(ft * i, 0, 2), baseRotation - 90 + boostAng * i); + mech.legRegion.getWidth() * i, mech.legRegion.getHeight() - Mathf.clamp(ft * i, 0, 2)).rot(baseRotation - 90 + boostAng * i); } - Draw.rect(mech.baseRegion, x, y, baseRotation - 90); + Draw.rect(mech.baseRegion, x, y).rot(baseRotation - 90); } if(floor.isLiquid){ @@ -338,7 +334,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.tint(Color.WHITE); } - Draw.rect(mech.region, x, y, rotation - 90); + Draw.rect(mech.region, x, y).rot(rotation - 90); mech.draw(this); @@ -347,7 +343,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra float w = i > 0 ? -mech.weapon.equipRegion.getWidth() : mech.weapon.equipRegion.getWidth(); Draw.rect(mech.weapon.equipRegion, x + Angles.trnsx(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), - y + Angles.trnsy(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), w, mech.weapon.equipRegion.getHeight(), rotation - 90); + y + Angles.trnsy(tra, (mech.weaponOffsetX + mech.spreadX(this)) * i, trY), w, mech.weapon.equipRegion.getHeight()).rot(rotation - 90); } float backTrns = 4f, itemSize = 5f; @@ -361,7 +357,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.rect(stack.item.region, x + Angles.trnsx(rotation + 180f + angT, backTrns + lenT), y + Angles.trnsy(rotation + 180f + angT, backTrns + lenT), - itemSize, itemSize, rotation); + itemSize, itemSize).rot(rotation); } } @@ -374,7 +370,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.color(Color.BLACK, team.color, healthf() + Mathf.absin(Time.time(), healthf() * 5f, 1f - healthf())); Draw.alpha(hitTime / hitDuration); - Draw.rect(getPowerCellRegion(), x + Angles.trnsx(rotation, mech.cellTrnsY, 0f), y + Angles.trnsy(rotation, mech.cellTrnsY, 0f), rotation - 90); + Draw.rect(getPowerCellRegion(), x + Angles.trnsx(rotation, mech.cellTrnsY, 0f), y + Angles.trnsy(rotation, mech.cellTrnsY, 0f)).rot(rotation - 90); Draw.color(); } @@ -388,7 +384,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra float wobblyness = 0.6f; if(!state.isPaused()) trail.update(x + Angles.trnsx(rotation + 180f, 5f) + Mathf.range(wobblyness), y + Angles.trnsy(rotation + 180f, 5f) + Mathf.range(wobblyness)); - trail.draw(Hue.mix(mech.trailColor, mech.trailColorTo, mech.flying ? 0f : boostHeat, Tmp.c1), 5f * (isFlying() ? 1f : boostHeat)); + trail.draw(Tmp.c1.set(mech.trailColor).lerp(mech.trailColorTo, mech.flying ? 0f : boostHeat), 5f * (isFlying() ? 1f : boostHeat)); }else{ trail.clear(); } @@ -403,17 +399,17 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } public void drawName(){ + BitmapFont font = Core.scene.skin.getFont("default-font"); GlyphLayout layout = Pools.obtain(GlyphLayout.class, GlyphLayout::new); - boolean ints = Core.font.usesIntegerPositions(); - Core.font.setUseIntegerPositions(false); - Draw.tscl(0.25f / io.anuke.arc.scene.ui.layout.Unit.dp.scl(1f)); - layout.setText(Core.font, name); - Draw.color(0f, 0f, 0f, 0.3f); - Draw.rect("blank", x, y + 8 - layout.height / 2, layout.width + 2, layout.height + 3); - Draw.color(); - Draw.tcolor(color); - Draw.text(name, x, y + 8); + boolean ints = font.usesIntegerPositions(); + font.setUseIntegerPositions(false); + font.getData().setScale(0.25f / io.anuke.arc.scene.ui.layout.Unit.dp.scl(1f)); + layout.setText(font, name); + Fill.rect().center(x, y + 8 - layout.height / 2, layout.width + 2, layout.height + 3).color(0f, 0f, 0f, 0.3f); + font.setColor(color); + + font.draw(name, x, y + 8, 0, Align.center, false); if(isAdmin){ float s = 3f; @@ -425,8 +421,8 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Draw.reset(); Pools.free(layout); - Draw.tscl(1f); - Core.font.setUseIntegerPositions(ints); + font.getData().setScale(1f); + font.setUseIntegerPositions(ints); } /** Draw all current build requests. Does not draw the beam effect, only the positions. */ @@ -438,9 +434,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra Block block = world.tile(request.x, request.y).target().block(); //draw removal request - Lines.stroke(2f); - - Draw.color(Palette.removeBack); + Lines.stroke(2f, Palette.removeBack); float rad = Mathf.absin(Time.time(), 7f, 1f) + block.size * tilesize / 2f - 1; @@ -457,9 +451,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra rad); }else{ //draw place request - Lines.stroke(2f); - - Draw.color(Palette.accentBack); + Lines.stroke(2f, Palette.accentBack); float rad = Mathf.absin(Time.time(), 7f, 1f) - 2f + request.recipe.result.size * tilesize / 2f; @@ -566,7 +558,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra protected void updateMech(){ Tile tile = world.tileWorld(x, y); - isBoosting = Core.input.keyDown("dash") && !mech.flying; + isBoosting = Core.input.keyDown(Binding.dash) && !mech.flying; //if player is in solid block if(tile != null && tile.solid()){ @@ -586,7 +578,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra } //drop from carrier on key press - if(!ui.chatfrag.chatOpen() && Core.input.keyTap("drop_unit")){ + if(!ui.chatfrag.chatOpen() && Core.input.keyTap(Binding.drop_unit)){ if(!mech.flying){ if(getCarrier() != null){ Call.dropSelf(this); @@ -604,10 +596,8 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra movement.setZero(); - String section = control.input(playerIndex).section; - - float xa = Core.input.axis(section, "move_x"); - float ya = Core.input.axis(section, "move_y"); + float xa = Core.input.axis(Binding.move_x); + float ya = Core.input.axis(Binding.move_y); if(!Core.input.keyDown(Binding.gridMode)){ movement.y += ya * speed; movement.x += xa * speed; @@ -879,7 +869,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra public void write(DataOutput buffer) throws IOException{ super.writeSave(buffer, !isLocal); TypeIO.writeStringData(buffer, name); //TODO writing strings is very inefficient - buffer.writeByte(Bits.toByte(isAdmin) | (Bits.toByte(dead) << 1) | (Bits.toByte(isBoosting) << 2)); + buffer.writeByte(Pack.byteValue(isAdmin) | (Pack.byteValue(dead) << 1) | (Pack.byteValue(isBoosting) << 2)); buffer.writeInt(Color.rgba8888(color)); buffer.writeByte(mech.id); buffer.writeInt(mining == null ? -1 : mining.pos()); diff --git a/core/src/io/anuke/mindustry/entities/TileEntity.java b/core/src/io/anuke/mindustry/entities/TileEntity.java index 4ce530f9b8..2f0ed4f3bc 100644 --- a/core/src/io/anuke/mindustry/entities/TileEntity.java +++ b/core/src/io/anuke/mindustry/entities/TileEntity.java @@ -9,8 +9,7 @@ import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.BaseEntity; import io.anuke.arc.entities.trait.HealthTrait; import io.anuke.arc.math.Mathf; -import io.anuke.arc.math.geom.GridPoint2; -import io.anuke.arc.math.geom.Position; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.util.Interval; import io.anuke.arc.util.Time; @@ -170,8 +169,8 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ public void removeFromProximity(){ tile.block().onProximityRemoved(tile); - GridPoint2[] nearby = Edges.getEdges(tile.block().size); - for(GridPoint2 point : nearby){ + Point2[] nearby = Edges.getEdges(tile.block().size); + for(Point2 point : nearby){ Tile other = world.tile(tile.x + point.x, tile.y + point.y); //remove this tile from all nearby tile's proximities if(other != null){ @@ -188,8 +187,8 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{ tmpTiles.clear(); proximity.clear(); - GridPoint2[] nearby = Edges.getEdges(tile.block().size); - for(GridPoint2 point : nearby){ + Point2[] nearby = Edges.getEdges(tile.block().size); + for(Point2 point : nearby){ Tile other = world.tile(tile.x + point.x, tile.y + point.y); if(other == null) continue; diff --git a/core/src/io/anuke/mindustry/entities/Unit.java b/core/src/io/anuke/mindustry/entities/Unit.java index 1c3d4c6660..88217b73b8 100644 --- a/core/src/io/anuke/mindustry/entities/Unit.java +++ b/core/src/io/anuke/mindustry/entities/Unit.java @@ -320,7 +320,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ public void drawStats(){ Draw.color(Color.BLACK, team.color, healthf() + Mathf.absin(Time.time(), healthf()*5f, 1f - healthf())); Draw.alpha(hitTime); - Draw.rect(getPowerCellRegion(), x, y, rotation - 90); + Draw.rect(getPowerCellRegion(), x, y).rot(rotation - 90); Draw.color(); } @@ -336,7 +336,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ } public void drawShadow(float offsetX, float offsetY){ - Draw.rect(getIconRegion(), x + offsetX, y + offsetY, rotation - 90); + Draw.rect(getIconRegion(), x + offsetX, y + offsetY).rot(rotation - 90); } public void drawView(){ diff --git a/core/src/io/anuke/mindustry/entities/Units.java b/core/src/io/anuke/mindustry/entities/Units.java index 708a5da3a4..95e16842da 100644 --- a/core/src/io/anuke/mindustry/entities/Units.java +++ b/core/src/io/anuke/mindustry/entities/Units.java @@ -5,9 +5,9 @@ import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.function.Consumer; import io.anuke.arc.function.Predicate; +import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.math.geom.Vector2; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; @@ -165,7 +165,7 @@ public class Units{ if(e.isDead() || !predicate.test(e)) return; - float dist = Vector2.dst(e.x, e.y, x, y); + float dist = Mathf.dst(e.x, e.y, x, y); if(dist < range){ if(result == null || dist < cdist){ result = e; @@ -188,7 +188,7 @@ public class Units{ if(!predicate.test(e)) return; - float dist = Vector2.dst(e.x, e.y, x, y); + float dist = Mathf.dst(e.x, e.y, x, y); if(dist < range){ if(result == null || dist < cdist){ result = e; diff --git a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java index df16ff11d4..44e437f4de 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BasicBulletType.java @@ -1,16 +1,17 @@ package io.anuke.mindustry.entities.bullet; +import io.anuke.arc.Core; +import io.anuke.arc.entities.Effects; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Angles; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Time; import io.anuke.mindustry.entities.Damage; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.traits.TargetTrait; import io.anuke.mindustry.graphics.Palette; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.util.Time; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.util.Angles; -import io.anuke.arc.math.Mathf; /** * A BulletType for most ammo-based bullets shot from turrets and units. @@ -56,9 +57,9 @@ public class BasicBulletType extends BulletType{ float height = bulletHeight * ((1f - bulletShrink) + bulletShrink * b.fout()); Draw.color(backColor); - Draw.rect(backRegion, b.x, b.y, bulletWidth, height, b.angle() - 90); + Draw.rect(backRegion, b.x, b.y, bulletWidth, height).rot(b.angle() - 90); Draw.color(frontColor); - Draw.rect(frontRegion, b.x, b.y, bulletWidth, height, b.angle() - 90); + Draw.rect(frontRegion, b.x, b.y, bulletWidth, height).rot(b.angle() - 90); Draw.color(); } diff --git a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java index fbe1540f0d..431d1b5ce4 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/Bullet.java +++ b/core/src/io/anuke/mindustry/entities/bullet/Bullet.java @@ -1,8 +1,17 @@ package io.anuke.mindustry.entities.bullet; -import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.BulletEntity; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.entities.trait.SolidTrait; +import io.anuke.arc.entities.trait.VelocityTrait; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Interval; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.effect.Lightning; import io.anuke.mindustry.entities.traits.AbsorbTrait; @@ -10,15 +19,6 @@ import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.entities.traits.TeamTrait; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.Time; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.impl.BulletEntity; -import io.anuke.arc.entities.trait.Entity; -import io.anuke.arc.entities.trait.SolidTrait; -import io.anuke.arc.entities.trait.VelocityTrait; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Pooling; -import io.anuke.arc.util.Timer; import java.io.DataInput; import java.io.DataOutput; @@ -28,7 +28,7 @@ import static io.anuke.mindustry.Vars.*; public class Bullet extends BulletEntity implements TeamTrait, SyncTrait, AbsorbTrait{ private static Vector2 vector = new Vector2(); - public Timer timer = new Timer(3); + public Interval timer = new Interval(3); private float lifeScl; private Team team; private Object data; @@ -62,7 +62,7 @@ public class Bullet extends BulletEntity implements TeamTrait, SyncT bullet.velocity.set(0, type.speed).setAngle(angle).scl(velocityScl); if(type.keepVelocity){ - bullet.velocity.add(owner instanceof VelocityTrait ? ((VelocityTrait) owner).getVelocity() : Vector2.Zero); + bullet.velocity.add(owner instanceof VelocityTrait ? ((VelocityTrait) owner).getVelocity() : Vector2.ZERO); } bullet.team = team; diff --git a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java index 9904bcf908..0c2cbc7c94 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/BulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/BulletType.java @@ -1,15 +1,15 @@ package io.anuke.mindustry.entities.bullet; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.entities.impl.BaseBulletType; +import io.anuke.arc.math.geom.Vector2; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.StatusEffect; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.entities.impl.BaseBulletType; -import io.anuke.arc.util.Vector2; public abstract class BulletType extends Content implements BaseBulletType{ public float lifetime; diff --git a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java index 621882c92b..4c60fcadf4 100644 --- a/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java +++ b/core/src/io/anuke/mindustry/entities/bullet/LiquidBulletType.java @@ -1,18 +1,18 @@ package io.anuke.mindustry.entities.bullet; +import io.anuke.arc.entities.Effects; import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2; import io.anuke.mindustry.content.fx.BulletFx; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.effect.Fire; import io.anuke.mindustry.entities.effect.Puddle; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; @@ -60,7 +60,7 @@ public class LiquidBulletType extends BulletType{ if(liquid.temperature <= 0.5f && liquid.flammability < 0.3f){ float intensity = 400f; Fire.extinguish(world.tileWorld(hitx, hity), intensity); - for(GridPoint2 p : Geometry.d4){ + for(Point2 p : Geometry.d4){ Fire.extinguish(world.tileWorld(hitx + p.x * tilesize, hity + p.y * tilesize), intensity); } } diff --git a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java index 982180a10f..812cbd0db4 100644 --- a/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java +++ b/core/src/io/anuke/mindustry/entities/effect/GroundEffectEntity.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.entities.effect; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.world.Tile; import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.util.Time; +import io.anuke.arc.entities.Effects.EffectRenderer; import io.anuke.arc.entities.impl.EffectEntity; -import io.anuke.arc.Effects.EffectRenderer; import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Time; +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.world.Tile; /** * A ground effect contains an effect that is rendered on the ground layer as opposed to the top layer. diff --git a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java index 5aedafe531..bc0dfaaf5e 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java +++ b/core/src/io/anuke/mindustry/entities/effect/ItemTransfer.java @@ -20,7 +20,6 @@ import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.effectGroup; -import static io.anuke.mindustry.Vars.threads; public class ItemTransfer extends TimedEntity implements DrawTrait{ private Vector2 from = new Vector2(); @@ -86,7 +85,7 @@ public class ItemTransfer extends TimedEntity implements DrawTrait{ @Override public void removed(){ if(done != null){ - threads.run(done); + done.run(); } Pools.free(this); } diff --git a/core/src/io/anuke/mindustry/entities/effect/Lightning.java b/core/src/io/anuke/mindustry/entities/effect/Lightning.java index d4225c32e0..8aa86b9870 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Lightning.java +++ b/core/src/io/anuke/mindustry/entities/effect/Lightning.java @@ -1,11 +1,24 @@ package io.anuke.mindustry.entities.effect; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.collection.Array; -import io.anuke.arc.util.IntSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.IntSet; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.TimedEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.entities.trait.TimeTrait; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; +import io.anuke.arc.math.Angles; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.RandomXS128; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Position; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.bullets.TurretBullets; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; @@ -14,13 +27,6 @@ import io.anuke.mindustry.entities.traits.SyncTrait; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Palette; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.impl.TimedEntity; -import io.anuke.arc.entities.trait.DrawTrait; -import io.anuke.arc.entities.trait.PosTrait; -import io.anuke.arc.entities.trait.TimeTrait; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.g2d.Lines; import java.io.DataInput; import java.io.DataOutput; @@ -30,7 +36,7 @@ import static io.anuke.mindustry.Vars.bulletGroup; public class Lightning extends TimedEntity implements DrawTrait, SyncTrait, TimeTrait{ public static final float lifetime = 10f; - private static final SeedRandom random = new SeedRandom(); + private static final RandomXS128 random = new RandomXS128(); private static final Rectangle rect = new Rectangle(); private static final Array entities = new Array<>(); private static final IntSet hit = new IntSet(); @@ -38,7 +44,7 @@ public class Lightning extends TimedEntity implements DrawTrait, SyncTrait, Time private static final float hitRange = 30f; private static int lastSeed = 0; - private Array lines = new Array<>(); + private Array lines = new Array<>(); private Color color = Palette.lancerLaser; /**For pooling use only. Do not call directly!*/ @@ -126,8 +132,10 @@ public class Lightning extends TimedEntity implements DrawTrait, SyncTrait, Time public void draw(){ float lx = x, ly = y; Draw.color(color, Color.WHITE, fin()); + //TODO this is really, really bad rendering + /* for(int i = 0; i < lines.size; i++){ - PosTrait v = lines.get(i); + Position v = lines.get(i); float f = (float) i / lines.size; @@ -142,11 +150,10 @@ public class Lightning extends TimedEntity implements DrawTrait, SyncTrait, Time Lines.line(lx, ly, v.getX(), v.getY()); Lines.stroke(3f * fout() * (1f - f)); - // Lines.lineAngleCenter(lx, ly, Angles.angle(lx, ly, v.getX(), v.getY()) + 90f, 20f); lx = v.getX(); ly = v.getY(); - } + }*/ Draw.color(); } diff --git a/core/src/io/anuke/mindustry/entities/effect/Puddle.java b/core/src/io/anuke/mindustry/entities/effect/Puddle.java index 6d7e88bb9c..23c1d9e59f 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Puddle.java +++ b/core/src/io/anuke/mindustry/entities/effect/Puddle.java @@ -1,12 +1,23 @@ package io.anuke.mindustry.entities.effect; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.util.IntMap; -import io.anuke.arc.util.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.collection.IntMap; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.SolidEntity; +import io.anuke.arc.entities.trait.DrawTrait; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; +import io.anuke.arc.math.Angles; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.pooling.Pool.Poolable; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.bullets.TurretBullets; @@ -19,18 +30,6 @@ import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.Liquid; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.util.Time; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.impl.SolidEntity; -import io.anuke.arc.entities.trait.DrawTrait; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Hue; -import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Pooling; import java.io.DataInput; import java.io.DataOutput; @@ -183,7 +182,7 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai if(amount >= maxLiquid / 1.5f && generation < maxGeneration){ float deposited = Math.min((amount - maxLiquid / 1.5f) / 4f, 0.3f) * Time.delta(); - for(GridPoint2 point : Geometry.d4){ + for(Point2 point : Geometry.d4){ Tile other = world.tile(tile.x + point.x, tile.y + point.y); if(other != null && other.block() == Blocks.air && !other.hasCliffs()){ deposit(other, tile, liquid, deposited, generation + 1); @@ -232,7 +231,7 @@ public class Puddle extends SolidEntity implements SaveTrait, Poolable, DrawTrai float smag = onLiquid ? 0.8f : 0f; float sscl = 20f; - Draw.color(Hue.shift(tmp.set(liquid.color), 2, -0.05f)); + Draw.color(tmp.set(liquid.color).shiftValue(-0.05f)); Fill.circle(x + Mathf.sin(Time.time() + seeds * 532, sscl, smag), y + Mathf.sin(Time.time() + seeds * 53, sscl, smag), f * 8f); Angles.randLenVectors(id, 3, f * 6f, (ex, ey) -> { Fill.circle(x + ex + Mathf.sin(Time.time() + seeds * 532, sscl, smag), diff --git a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java index 0cd9551cc3..6ea1f5ca9e 100644 --- a/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/RubbleDecal.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.entities.effect; +import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.math.Mathf; @@ -20,11 +21,11 @@ public class RubbleDecal extends Decal{ public void drawDecal(){ String region = "rubble-" + size + "-" + Mathf.randomSeed(id, 0, 1); - if(!Draw.hasRegion(region)){ + if(!Core.atlas.has(region)){ remove(); return; } - Draw.rect(region, x, y, Mathf.randomSeed(id, 0, 4) * 90); + Draw.rect(region, x, y).rot(Mathf.randomSeed(id, 0, 4) * 90); } } diff --git a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java index 26888f34a4..98ae43bc86 100644 --- a/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java +++ b/core/src/io/anuke/mindustry/entities/effect/ScorchDecal.java @@ -1,10 +1,11 @@ package io.anuke.mindustry.entities.effect; -import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.mindustry.world.Tile; +import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.util.Angles; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; +import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.world; @@ -35,7 +36,8 @@ public class ScorchDecal extends Decal{ TextureRegion region = regions[Mathf.randomSeed(id - i, 0, scorches - 1)]; float rotation = Mathf.randomSeed(id + i, 0, 360); float space = 1.5f + Mathf.randomSeed(id + i + 1, 0, 20) / 10f; - Draw.grect(region, x + Angles.trnsx(rotation, space), y + Angles.trnsy(rotation, space), rotation - 90); + Draw.rect(region, x + Angles.trnsx(rotation, space), y + Angles.trnsy(rotation, space) + region.getHeight()/2f) + .origin(region.getWidth()/2f, 0).rot(rotation - 90); } } } diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 6755fb661a..86f0901a6c 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -1,9 +1,18 @@ package io.anuke.mindustry.entities.traits; import io.anuke.arc.Core; -import io.anuke.arc.graphics.Color; +import io.anuke.arc.Events; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.Queue; +import io.anuke.arc.collection.Queue; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +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.util.Time; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.BlockFx; @@ -21,16 +30,6 @@ import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.Events; -import io.anuke.arc.util.Time; -import io.anuke.arc.entities.trait.Entity; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.graphics.Shapes; -import io.anuke.arc.util.Angles; -import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; @@ -322,7 +321,7 @@ public interface BuilderTrait extends Entity{ tmptr[3].set(tile.drawx() + sz, tile.drawy() + sz); Arrays.sort(tmptr, (a, b) -> -Float.compare(Angles.angleDist(Angles.angle(unit.x, unit.y, a.x, a.y), ang), - Angles.angleDist(Angles.angle(unit.x, unit.y, b.x, b.y), ang))); + Angles.angleDist(Angles.angle(unit.x, unit.y, b.x, b.y), ang))); float x1 = tmptr[0].x, y1 = tmptr[0].y, x3 = tmptr[1].x, y3 = tmptr[1].y; @@ -354,10 +353,11 @@ public interface BuilderTrait extends Entity{ float ey = tile.worldy() + Mathf.sin(Time.time() + 48, swingScl + 2f, swingMag); Draw.color(Color.LIGHT_GRAY, Color.WHITE, 1f - flashScl + Mathf.absin(Time.time(), 0.5f, flashScl)); + //TODO better laser drawing functions Shapes.laser("minelaser", "minelaser-end", px, py, ex, ey); if(unit instanceof Player && ((Player) unit).isLocal){ - Draw.color(Palette.accent); + Lines.stroke(1f, Palette.accent); Lines.poly(tile.worldx(), tile.worldy(), 4, tilesize / 2f * Mathf.sqrt2, Time.time()); } diff --git a/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java b/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java index 3e93fe85af..22072cfd64 100644 --- a/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/ShooterTrait.java @@ -1,12 +1,12 @@ package io.anuke.mindustry.entities.traits; -import io.anuke.mindustry.type.Weapon; import io.anuke.arc.entities.trait.VelocityTrait; -import io.anuke.arc.util.Timer; +import io.anuke.arc.util.Interval; +import io.anuke.mindustry.type.Weapon; public interface ShooterTrait extends VelocityTrait, TeamTrait, InventoryTrait{ - Timer getTimer(); + Interval getTimer(); int getShootTimer(boolean left); diff --git a/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java b/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java index ec4fba0f5d..184b1ce411 100644 --- a/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/SyncTrait.java @@ -33,8 +33,7 @@ public interface SyncTrait extends Entity, TypeTrait{ if(isClipped()){ //move off screen when no longer in bounds - Tmp.r1.setSize(Core.camera.viewportWidth * Core.camera.zoom * NetClient.viewScale, - Core.camera.viewportHeight * Core.camera.zoom * NetClient.viewScale) + Tmp.r1.setSize(Core.camera.width * NetClient.viewScale, Core.camera.height * NetClient.viewScale) .setCenter(Core.camera.position.x, Core.camera.position.y); if(!Tmp.r1.contains(getX(), getY()) && !Tmp.r1.contains(getInterpolator().last.x, getInterpolator().last.y)){ diff --git a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java index ff2940da93..5e6afa85ca 100644 --- a/core/src/io/anuke/mindustry/entities/units/BaseUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/BaseUnit.java @@ -1,9 +1,19 @@ package io.anuke.mindustry.entities.units; -import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.geom.Rectangle; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.Core; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Angles; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.util.Interval; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.Timer; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.fx.ExplosionFx; import io.anuke.mindustry.entities.Damage; @@ -24,11 +34,6 @@ import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.units.CommandCenter.CommandCenterEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.util.Time; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.util.*; import java.io.DataInput; import java.io.DataOutput; @@ -46,7 +51,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ protected static final int timerShootRight = timerIndex++; protected UnitType type; - protected Timer timer = new Timer(5); + protected Interval timer = new Interval(5); protected StateMachine state = new StateMachine(); protected TargetTrait target; @@ -211,7 +216,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ Draw.rect(stack.item.region, x + Angles.trnsx(rotation + 180f + angT, backTrns + lenT), y + Angles.trnsy(rotation + 180f + angT, backTrns + lenT), - itemSize, itemSize, rotation); + itemSize, itemSize).rot(rotation); } } } @@ -222,7 +227,7 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{ } @Override - public Timer getTimer(){ + public Interval getTimer(){ return timer; } diff --git a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java index c066258053..2db599d42d 100644 --- a/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/FlyingUnit.java @@ -1,6 +1,11 @@ package io.anuke.mindustry.entities.units; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.math.Angles; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Time; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.entities.traits.CarriableTrait; @@ -10,9 +15,6 @@ import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.AmmoType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.util.Time; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.util.*; import static io.anuke.mindustry.Vars.world; @@ -75,8 +77,8 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ }else{ attack(150f); - if((Mathf.angNear(angleTo(target), rotation, 15f) || !getWeapon().getAmmo().bullet.keepVelocity) //bombers don't care about rotation - && distanceTo(target) < Math.max(getWeapon().getAmmo().getRange(), type.range)){ + if((Angles.near(angleTo(target), rotation, 15f) || !getWeapon().getAmmo().bullet.keepVelocity) //bombers don't care about rotation + && dst(target) < Math.max(getWeapon().getAmmo().getRange(), type.range)){ AmmoType ammo = getWeapon().getAmmo(); Vector2 to = Predict.intercept(FlyingUnit.this, target, ammo.bullet.speed); @@ -162,7 +164,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ public void draw(){ Draw.alpha(hitTime / hitDuration); - Draw.rect(type.name, x, y, rotation - 90); + Draw.rect(type.name, x, y).rot(rotation - 90); drawItems(); @@ -235,7 +237,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{ vec.set(target.getX() - x, target.getY() - y); - float length = circleLength <= 0.001f ? 1f : Mathf.clamp((distanceTo(target) - circleLength) / 100f, -1f, 1f); + float length = circleLength <= 0.001f ? 1f : Mathf.clamp((dst(target) - circleLength) / 100f, -1f, 1f); vec.setLength(type.speed * Time.delta() * length); if(length < 0) vec.rotate(180f); diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index bd60e1901a..67310c8482 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -42,7 +42,7 @@ public abstract class GroundUnit extends BaseUnit{ public void update(){ TileEntity core = getClosestEnemyCore(); - float dst = core == null ? 0 : distanceTo(core); + float dst = core == null ? 0 : dst(core); if(core != null && dst < getWeapon().getAmmo().getRange() / 1.1f){ target = core; @@ -57,7 +57,7 @@ public abstract class GroundUnit extends BaseUnit{ public void update(){ TileEntity target = getClosestCore(); if(target != null){ - if(distanceTo(target) > 400f){ + if(dst(target) > 400f){ moveAwayFromCore(); }else{ patrol(); @@ -188,7 +188,7 @@ public abstract class GroundUnit extends BaseUnit{ } if(!Units.invalidateTarget(target, this)){ - if(distanceTo(target) < getWeapon().getAmmo().getRange()){ + if(dst(target) < getWeapon().getAmmo().getRange()){ rotate(angleTo(target)); if(Mathf.angNear(angleTo(target), rotation, 13f)){ @@ -292,7 +292,7 @@ public abstract class GroundUnit extends BaseUnit{ Tile targetTile = world.pathfinder.getTargetTile(enemy, tile); TileEntity core = getClosestCore(); - if(tile == targetTile || core == null || distanceTo(core) < 90f) return; + if(tile == targetTile || core == null || dst(core) < 90f) return; float angle = angleTo(targetTile); diff --git a/core/src/io/anuke/mindustry/entities/units/Squad.java b/core/src/io/anuke/mindustry/entities/units/Squad.java index fe6a240ebd..ef5d2b6e01 100644 --- a/core/src/io/anuke/mindustry/entities/units/Squad.java +++ b/core/src/io/anuke/mindustry/entities/units/Squad.java @@ -1,9 +1,7 @@ package io.anuke.mindustry.entities.units; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.Vector2; - -import static io.anuke.mindustry.Vars.threads; +import io.anuke.arc.Core; +import io.anuke.arc.math.geom.Vector2; /** * Used to group entities together, for formations and such. @@ -16,9 +14,9 @@ public class Squad{ private long lastUpdated; protected void update(){ - if(threads.getFrameID() != lastUpdated){ + if(Core.graphics.getFrameId() != lastUpdated){ direction.setZero(); - lastUpdated = threads.getFrameID(); + lastUpdated = Core.graphics.getFrameId(); } } } diff --git a/core/src/io/anuke/mindustry/entities/units/UnitCommand.java b/core/src/io/anuke/mindustry/entities/units/UnitCommand.java index 7aec3e2798..5939ec3aff 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitCommand.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitCommand.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.entities.units; -import io.anuke.arc.util.Bundles; +import io.anuke.arc.Core; public enum UnitCommand{ attack, retreat, patrol; diff --git a/core/src/io/anuke/mindustry/entities/units/UnitType.java b/core/src/io/anuke/mindustry/entities/units/UnitType.java index f935dcba73..9552a786cc 100644 --- a/core/src/io/anuke/mindustry/entities/units/UnitType.java +++ b/core/src/io/anuke/mindustry/entities/units/UnitType.java @@ -1,8 +1,13 @@ package io.anuke.mindustry.entities.units; +import io.anuke.arc.Core; +import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.function.Supplier; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.entities.traits.TypeTrait; @@ -12,12 +17,6 @@ import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.Weapon; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.arc.function.Supplier; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Strings; public class UnitType extends UnlockableContent{ protected final Supplier constructor; diff --git a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java index c51984589a..c8fd2aa299 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/AlphaDrone.java @@ -1,8 +1,11 @@ package io.anuke.mindustry.entities.units.types; -import io.anuke.arc.math.Vector2; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.Core; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.math.Angles; +import io.anuke.arc.math.geom.Vector2; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.fx.UnitFx; import io.anuke.mindustry.entities.Player; @@ -15,14 +18,13 @@ import io.anuke.mindustry.entities.units.UnitState; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.AmmoType; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.math.Mathf; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Vars.headless; +import static io.anuke.mindustry.Vars.players; public class AlphaDrone extends FlyingUnit { static final float followDistance = 80f; @@ -44,7 +46,7 @@ public class AlphaDrone extends FlyingUnit { } target = last; - if(distanceTo(leader) < followDistance){ + if(dst(leader) < followDistance){ targetClosest(); }else{ target = null; @@ -53,7 +55,7 @@ public class AlphaDrone extends FlyingUnit { if(target != null){ attack(50f); - if((Mathf.angNear(angleTo(target), rotation, 15f) && distanceTo(target) < getWeapon().getAmmo().getRange())){ + if((Angles.near(angleTo(target), rotation, 15f) && dst(target) < getWeapon().getAmmo().getRange())){ AmmoType ammo = getWeapon().getAmmo(); Vector2 to = Predict.intercept(AlphaDrone.this, target, ammo.bullet.speed); @@ -61,7 +63,7 @@ public class AlphaDrone extends FlyingUnit { } } - if(!leader.isShooting && distanceTo(leader) < 7f){ + if(!leader.isShooting && dst(leader) < 7f){ Call.onAlphaDroneFade(AlphaDrone.this); } } diff --git a/core/src/io/anuke/mindustry/entities/units/types/Drone.java b/core/src/io/anuke/mindustry/entities/units/types/Drone.java index 36a8ada290..f968f29658 100644 --- a/core/src/io/anuke/mindustry/entities/units/types/Drone.java +++ b/core/src/io/anuke/mindustry/entities/units/types/Drone.java @@ -1,6 +1,11 @@ package io.anuke.mindustry.entities.units.types; -import io.anuke.arc.util.Queue; +import io.anuke.arc.Events; +import io.anuke.arc.collection.Queue; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; @@ -20,11 +25,6 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BuildBlock; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; import io.anuke.mindustry.world.meta.BlockFlag; -import io.anuke.arc.Events; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Structs; import java.io.DataInput; import java.io.DataOutput; @@ -63,7 +63,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{ if(core == null) return; if((entity.progress() < 1f || entity.progress() > 0f) && entity.tile.block() instanceof BuildBlock){ //building is valid - if(!isBuilding() && distanceTo(target) < placeDistance * 0.9f){ //within distance, begin placing + if(!isBuilding() && dst(target) < placeDistance * 0.9f){ //within distance, begin placing if(isBreaking){ getPlaceQueue().addLast(new BuildRequest(entity.tile.x, entity.tile.y)); }else{ @@ -158,7 +158,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{ if(target instanceof Tile){ moveTo(type.range / 1.5f); - if(distanceTo(target) < type.range && mineTile != target){ + if(dst(target) < type.range && mineTile != target){ setMineTile((Tile) target); } @@ -196,7 +196,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{ TileEntity tile = (TileEntity) target; - if(distanceTo(target) < type.range){ + if(dst(target) < type.range){ if(tile.tile.block().acceptStack(inventory.getItem().item, inventory.getItem().amount, tile.tile, Drone.this) == inventory.getItem().amount){ Call.transferItemTo(inventory.getItem().item, inventory.getItem().amount, x, y, tile.tile); inventory.clearItem(); diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index a981ae3eff..a5216ddd91 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -48,8 +48,8 @@ public class BlockRenderer{ threads.runGraphics(() -> { int avgx = Mathf.scl(camera.position.x, tilesize); int avgy = Mathf.scl(camera.position.y, tilesize); - int rangex = (int) (camera.viewportWidth * camera.zoom / tilesize / 2) + 2; - int rangey = (int) (camera.viewportHeight * camera.zoom / tilesize / 2) + 2; + int rangex = (int) (camera.width / tilesize / 2) + 2; + int rangey = (int) (camera.height / tilesize / 2) + 2; if(Math.abs(avgx - event.tile.x) <= rangex && Math.abs(avgy - event.tile.y) <= rangey){ lastCamY = lastCamX = -99; //invalidate camera position so blocks get updated @@ -79,8 +79,8 @@ public class BlockRenderer{ int avgx = Mathf.scl(camera.position.x, tilesize); int avgy = Mathf.scl(camera.position.y, tilesize); - int rangex = (int) (camera.viewportWidth * camera.zoom / tilesize / 2) + 2; - int rangey = (int) (camera.viewportHeight * camera.zoom / tilesize / 2) + 2; + int rangex = (int) (camera.width / tilesize / 2) + 2; + int rangey = (int) (camera.height / tilesize / 2) + 2; if(avgx == lastCamX && avgy == lastCamY && lastRangeX == rangex && lastRangeY == rangey){ return; diff --git a/core/src/io/anuke/mindustry/graphics/CacheLayer.java b/core/src/io/anuke/mindustry/graphics/CacheLayer.java index 6723157a6d..07c94090ff 100644 --- a/core/src/io/anuke/mindustry/graphics/CacheLayer.java +++ b/core/src/io/anuke/mindustry/graphics/CacheLayer.java @@ -80,7 +80,7 @@ public enum CacheLayer{ Graphics.shader(shader); Graphics.begin(); Draw.rect(renderer.effectSurface.texture(), Core.camera.position.x, Core.camera.position.y, - Core.camera.viewportWidth * Core.camera.zoom, -Core.camera.viewportHeight * Core.camera.zoom); + Core.camera.width , -Core.camera.height ); Graphics.end(); Graphics.shader(); renderer.blocks.beginFloor(); diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index 3e842cd677..05597bd2a1 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -46,8 +46,8 @@ public class FloorRenderer{ OrthographicCamera camera = Core.camera; - int crangex = (int) (camera.viewportWidth * camera.zoom / (chunksize * tilesize)) + 1; - int crangey = (int) (camera.viewportHeight * camera.zoom / (chunksize * tilesize)) + 1; + int crangex = (int) (camera.width / (chunksize * tilesize)) + 1; + int crangey = (int) (camera.height / (chunksize * tilesize)) + 1; int camx = Mathf.scl(camera.position.x, chunksize * tilesize); int camy = Mathf.scl(camera.position.y, chunksize * tilesize); @@ -123,8 +123,8 @@ public class FloorRenderer{ OrthographicCamera camera = Core.camera; - int crangex = (int) (camera.viewportWidth * camera.zoom / (chunksize * tilesize)) + 1; - int crangey = (int) (camera.viewportHeight * camera.zoom / (chunksize * tilesize)) + 1; + int crangex = (int) (camera.width / (chunksize * tilesize)) + 1; + int crangey = (int) (camera.height / (chunksize * tilesize)) + 1; layer.begin(); diff --git a/core/src/io/anuke/mindustry/graphics/FogRenderer.java b/core/src/io/anuke/mindustry/graphics/FogRenderer.java index fde876450b..76bd1281e2 100644 --- a/core/src/io/anuke/mindustry/graphics/FogRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FogRenderer.java @@ -94,8 +94,8 @@ public class FogRenderer implements Disposable{ public void draw(){ if(buffer == null) return; - float vw = Core.camera.viewportWidth * Core.camera.zoom; - float vh = Core.camera.viewportHeight * Core.camera.zoom; + float vw = Core.camera.width ; + float vh = Core.camera.height ; float px = Core.camera.position.x - vw / 2f; float py = Core.camera.position.y - vh / 2f; diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index 2dbef04dfd..d6588db643 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -53,7 +53,7 @@ public class OverlayRenderer{ for(Player player : playerGroup.all()){ if(Core.settings.getBool("indicators") && player != players[0] && player.getTeam() == players[0].getTeam()){ - if(!rect.setSize(Core.camera.viewportWidth * Core.camera.zoom * 0.9f, Core.camera.viewportHeight * Core.camera.zoom * 0.9f) + if(!rect.setSize(Core.camera.width * 0.9f, Core.camera.height * 0.9f) .setCenter(Core.camera.position.x, Core.camera.position.y).contains(player.x, player.y)){ Tmp.v1.set(player.x, player.y).sub(Core.camera.position.x, Core.camera.position.y).setLength(indicatorLength); @@ -87,7 +87,7 @@ public class OverlayRenderer{ if(buildFadeTime > 0.005f){ for(Team enemy : state.teams.enemiesOf(player.getTeam())){ for(Tile core : state.teams.get(enemy).cores){ - float dst = Vector2.dst(player.x, player.y, core.drawx(), core.drawy()); + float dst = Mathf.dst(player.x, player.y, core.drawx(), core.drawy()); if(dst < state.mode.enemyCoreBuildRadius * 1.5f){ Draw.color(Color.DARK_GRAY); Lines.poly(core.drawx(), core.drawy() - 2, 200, state.mode.enemyCoreBuildRadius); diff --git a/core/src/io/anuke/mindustry/graphics/Shaders.java b/core/src/io/anuke/mindustry/graphics/Shaders.java index e90879c5a7..ba7b951711 100644 --- a/core/src/io/anuke/mindustry/graphics/Shaders.java +++ b/core/src/io/anuke/mindustry/graphics/Shaders.java @@ -175,10 +175,10 @@ public class Shaders{ shader.setUniformf("u_dp", Unit.dp.scl(1f)); shader.setUniformf("u_time", Time.time() / Unit.dp.scl(1f)); shader.setUniformf("u_offset", - Core.camera.position.x - Core.camera.viewportWidth / 2 * Core.camera.zoom, - Core.camera.position.y - Core.camera.viewportHeight / 2 * Core.camera.zoom); - shader.setUniformf("u_texsize", Core.camera.viewportWidth * Core.camera.zoom, - Core.camera.viewportHeight * Core.camera.zoom); + Core.camera.position.x - Core.camera.width / 2 , + Core.camera.position.y - Core.camera.height / 2 ); + shader.setUniformf("u_texsize", Core.camera.width , + Core.camera.height ); } } @@ -191,10 +191,10 @@ public class Shaders{ @Override public void apply(){ shader.setUniformf("camerapos", - Core.camera.position.x - Core.camera.viewportWidth / 2 * Core.camera.zoom, - Core.camera.position.y - Core.camera.viewportHeight / 2 * Core.camera.zoom); - shader.setUniformf("screensize", Core.camera.viewportWidth* Core.camera.zoom, - Core.camera.viewportHeight * Core.camera.zoom); + Core.camera.position.x - Core.camera.width / 2 , + Core.camera.position.y - Core.camera.height / 2 ); + shader.setUniformf("screensize", Core.camera.width, + Core.camera.height ); shader.setUniformf("time", Time.time()); } } diff --git a/core/src/io/anuke/mindustry/graphics/Trail.java b/core/src/io/anuke/mindustry/graphics/Trail.java index 4356ab2306..ca6bd2ce2b 100644 --- a/core/src/io/anuke/mindustry/graphics/Trail.java +++ b/core/src/io/anuke/mindustry/graphics/Trail.java @@ -23,7 +23,7 @@ public class Trail{ } public void update(float curx, float cury){ - if(Vector2.dst(curx, cury, lastX, lastY) >= maxJump){ + if(Mathf.dst(curx, cury, lastX, lastY) >= maxJump){ points.clear(); } diff --git a/core/src/io/anuke/mindustry/input/CursorType.java b/core/src/io/anuke/mindustry/input/CursorType.java deleted file mode 100644 index ac81306ff1..0000000000 --- a/core/src/io/anuke/mindustry/input/CursorType.java +++ /dev/null @@ -1,26 +0,0 @@ -package io.anuke.mindustry.input; - -import io.anuke.arc.scene.utils.Cursors; - -/** - * Type of cursor for displaying on desktop. - */ -public enum CursorType{ - normal(Cursors::restoreCursor), - hand(Cursors::setHand), - drill(() -> Cursors.set("drill")), - unload(() -> Cursors.set("unload")); - - private final Runnable call; - - CursorType(Runnable call){ - this.call = call; - } - - /** - * Sets the current system cursor to this. - */ - void set(){ - call.run(); - } -} diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 3a4d8a8baa..375a1e1f51 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -235,7 +235,7 @@ public class DesktopInput extends InputHandler{ if(Core.input.keyRelease(Binding.break_block) || Core.input.keyRelease(Binding.select)){ - if(mode == placing){ //touch up while placing, place everything in selection + if(mode == placing && recipe != null){ //touch up while placing, place everything in selection NormalizeResult result = PlaceUtils.normalizeArea(selectX, selectY, cursorX, cursorY, rotation, true, maxLength); for(int i = 0; i <= result.getLength(); i += recipe.result.size){ diff --git a/core/src/io/anuke/mindustry/input/InputHandler.java b/core/src/io/anuke/mindustry/input/InputHandler.java index f2ae87956c..36b1fab2ef 100644 --- a/core/src/io/anuke/mindustry/input/InputHandler.java +++ b/core/src/io/anuke/mindustry/input/InputHandler.java @@ -3,10 +3,10 @@ package io.anuke.mindustry.input; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.arc.Core; -import io.anuke.arc.Graphics; import io.anuke.arc.entities.Effects; import io.anuke.arc.graphics.Color; import io.anuke.arc.input.InputProcessor; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.scene.ui.layout.Table; @@ -39,7 +39,6 @@ public abstract class InputHandler implements InputProcessor{ final static float backTrns = 3f; public final Player player; - public final String section; public final OverlayFragment frag = new OverlayFragment(this); public Recipe recipe; @@ -48,7 +47,6 @@ public abstract class InputHandler implements InputProcessor{ public InputHandler(Player player){ this.player = player; - this.section = "player_" + (player.playerIndex + 1); } //methods to override @@ -89,7 +87,7 @@ public abstract class InputHandler implements InputProcessor{ tile.block().getStackOffset(item, tile, stackTrns); ItemTransfer.create(item, - player.x + Mathf.trnsx(player.rotation + 180f, backTrns), player.y + Mathf.trnsy(player.rotation + 180f, backTrns), + player.x + Angles.trnsx(player.rotation + 180f, backTrns), player.y + Angles.trnsy(player.rotation + 180f, backTrns), new Vector2(tile.drawx() + stackTrns.x, tile.drawy() + stackTrns.y), () -> { if(tile.block() != block || tile.entity == null || tile.entity.items == null) return; @@ -226,7 +224,7 @@ public abstract class InputHandler implements InputProcessor{ } boolean canTapPlayer(float x, float y){ - return Vector2.dst(x, y, player.x, player.y) <= playerSelectRange && player.inventory.hasItem(); + return Mathf.dst(x, y, player.x, player.y) <= playerSelectRange && player.inventory.hasItem(); } /**Tries to begin mining a tile, returns true if successful.*/ @@ -334,7 +332,7 @@ public abstract class InputHandler implements InputProcessor{ for(Tile tile : state.teams.get(player.getTeam()).cores){ if(tile.dst(x * tilesize, y * tilesize) < coreBuildRange){ return Build.validPlace(player.getTeam(), x, y, type, rotation) && - Vector2.dst(player.x, player.y, x * tilesize, y * tilesize) < Player.placeDistance; + Mathf.dst(player.x, player.y, x * tilesize, y * tilesize) < Player.placeDistance; } } @@ -342,7 +340,7 @@ public abstract class InputHandler implements InputProcessor{ } public boolean validBreak(int x, int y){ - return Build.validBreak(player.getTeam(), x, y) && Vector2.dst(player.x, player.y, x * tilesize, y * tilesize) < Player.placeDistance; + return Build.validBreak(player.getTeam(), x, y) && Mathf.dst(player.x, player.y, x * tilesize, y * tilesize) < Player.placeDistance; } public void placeBlock(int x, int y, Recipe recipe, int rotation){ diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 9c2b524190..a0c8e45fb5 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -636,7 +636,7 @@ public class MobileInput extends InputHandler implements GestureListener{ panY = (screenY - Core.graphics.getHeight()) + edgePan; } - vector.set(panX, panY).scl((Core.camera.viewportWidth * Core.camera.zoom) / Core.graphics.getWidth()); + vector.set(panX, panY).scl((Core.camera.width ) / Core.graphics.getWidth()); vector.limit(maxPanSpeed); //pan view @@ -667,7 +667,7 @@ public class MobileInput extends InputHandler implements GestureListener{ return false; } - float dx = deltaX * Core.camera.zoom / Core.cameraScale, dy = deltaY * Core.camera.zoom / Core.cameraScale; + float dx = deltaX / Core.cameraScale, dy = deltaY / Core.cameraScale; if(selecting){ //pan all requests for(PlaceRequest req : selection){ diff --git a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java index 3ded2deec6..a6723fcaa7 100644 --- a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java @@ -198,7 +198,7 @@ public class FortressGenerator{ for(IntPositionConsumer i : passes){ for(int x = 0; x < gen.width; x++){ for(int y = 0; y < gen.height; y++){ - if(Vector2.dst(x, y, enemyX, enemyY) > coreDst){ + if(Mathf.dst(x, y, enemyX, enemyY) > coreDst){ continue; } diff --git a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java index 9dfc69ee9e..2e1603d4b0 100644 --- a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java @@ -339,7 +339,7 @@ public class WorldGenerator{ if(detailed && spawnpoints != null){ for(GridPoint2 p : spawnpoints){ - float dst = Vector2.dst2(p.x, p.y, localX, localY); + float dst = Mathf.dst2(p.x, p.y, localX, localY); minDst = Math.min(minDst, dst); if(dst < lerpDst){ diff --git a/core/src/io/anuke/mindustry/world/Block.java b/core/src/io/anuke/mindustry/world/Block.java index 7f05f15fa2..324923d211 100644 --- a/core/src/io/anuke/mindustry/world/Block.java +++ b/core/src/io/anuke/mindustry/world/Block.java @@ -1,6 +1,8 @@ package io.anuke.mindustry.world; import io.anuke.arc.Core; +import io.anuke.arc.Graphics.Cursor; +import io.anuke.arc.Graphics.Cursor.SystemCursor; import io.anuke.arc.collection.Array; import io.anuke.arc.collection.EnumSet; import io.anuke.arc.collection.IntArray; @@ -24,7 +26,6 @@ import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.CacheLayer; import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.input.CursorType; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.type.ItemStack; @@ -282,8 +283,8 @@ public class Block extends BaseBlock { } /** Returns whether or not a hand cursor should be shown over this block. */ - public CursorType getCursor(Tile tile){ - return configurable ? CursorType.hand : CursorType.normal; + public Cursor getCursor(Tile tile){ + return configurable ? SystemCursor.hand : SystemCursor.arrow; } /** diff --git a/core/src/io/anuke/mindustry/world/Build.java b/core/src/io/anuke/mindustry/world/Build.java index ba25644724..4f16b48e00 100644 --- a/core/src/io/anuke/mindustry/world/Build.java +++ b/core/src/io/anuke/mindustry/world/Build.java @@ -1,8 +1,11 @@ package io.anuke.mindustry.world; -import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.math.Vector2; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.game.EventType.BlockBuildBeginEvent; @@ -10,8 +13,6 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity; -import io.anuke.arc.Events; -import io.anuke.arc.util.Geometry; import static io.anuke.mindustry.Vars.*; @@ -120,7 +121,7 @@ public class Build{ //check for enemy cores for(Team enemy : state.teams.enemiesOf(team)){ for(Tile core : state.teams.get(enemy).cores){ - if(Vector2.dst(x*tilesize + type.offset(), y*tilesize + type.offset(), core.drawx(), core.drawy()) < state.mode.enemyCoreBuildRadius + type.size*tilesize/2f){ + if(Mathf.dst(x*tilesize + type.offset(), y*tilesize + type.offset(), core.drawx(), core.drawy()) < state.mode.enemyCoreBuildRadius + type.size*tilesize/2f){ return false; } } @@ -169,17 +170,17 @@ public class Build{ private static boolean contactsGround(int x, int y, Block block){ if(block.isMultiblock()){ - for(GridPoint2 point : Edges.getInsideEdges(block.size)){ + for(Point2 point : Edges.getInsideEdges(block.size)){ Tile tile = world.tile(x + point.x, y + point.y); if(tile != null && !tile.floor().isLiquid) return true; } - for(GridPoint2 point : Edges.getEdges(block.size)){ + for(Point2 point : Edges.getEdges(block.size)){ Tile tile = world.tile(x + point.x, y + point.y); if(tile != null && !tile.floor().isLiquid) return true; } }else{ - for(GridPoint2 point : Geometry.d4){ + for(Point2 point : Geometry.d4){ Tile tile = world.tile(x + point.x, y + point.y); if(tile != null && !tile.floor().isLiquid) return true; } diff --git a/core/src/io/anuke/mindustry/world/Edges.java b/core/src/io/anuke/mindustry/world/Edges.java index 685b16e5c9..c53ef47e65 100644 --- a/core/src/io/anuke/mindustry/world/Edges.java +++ b/core/src/io/anuke/mindustry/world/Edges.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.world; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; -import io.anuke.arc.math.geom.GridPoint2; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.math.geom.Vector2; import java.util.Arrays; @@ -12,8 +12,8 @@ import static io.anuke.mindustry.Vars.world; public class Edges{ private static final int maxSize = 11; private static final int maxRadius = 12; - private static GridPoint2[][] edges = new GridPoint2[maxSize][0]; - private static GridPoint2[][] edgeInside = new GridPoint2[maxSize][0]; + private static Point2[][] edges = new Point2[maxSize][0]; + private static Point2[][] edgeInside = new Point2[maxSize][0]; private static Vector2[][] polygons = new Vector2[maxRadius * 2][0]; static{ @@ -24,28 +24,28 @@ public class Edges{ for(int i = 0; i < maxSize; i++){ int bot = -(int) (i / 2f) - 1; int top = (int) (i / 2f + 0.5f) + 1; - edges[i] = new GridPoint2[(i + 1) * 4]; + edges[i] = new Point2[(i + 1) * 4]; int idx = 0; for(int j = 0; j < i + 1; j++){ //bottom - edges[i][idx++] = new GridPoint2(bot + 1 + j, bot); + edges[i][idx++] = new Point2(bot + 1 + j, bot); //top - edges[i][idx++] = new GridPoint2(bot + 1 + j, top); + edges[i][idx++] = new Point2(bot + 1 + j, top); //left - edges[i][idx++] = new GridPoint2(bot, bot + j + 1); + edges[i][idx++] = new Point2(bot, bot + j + 1); //right - edges[i][idx++] = new GridPoint2(top, bot + j + 1); + edges[i][idx++] = new Point2(top, bot + j + 1); } Arrays.sort(edges[i], (e1, e2) -> Float.compare(Mathf.atan2(e1.x, e1.y), Mathf.atan2(e2.x, e2.y))); - edgeInside[i] = new GridPoint2[edges[i].length]; + edgeInside[i] = new Point2[edges[i].length]; for(int j = 0; j < edges[i].length; j++){ - GridPoint2 point = edges[i][j]; - edgeInside[i][j] = new GridPoint2(Mathf.clamp(point.x, -(int) ((i) / 2f), (int) (i / 2f + 0.5f)), + Point2 point = edges[i][j]; + edgeInside[i][j] = new Point2(Mathf.clamp(point.x, -(int) ((i) / 2f), (int) (i / 2f + 0.5f)), Mathf.clamp(point.y, -(int) ((i) / 2f), (int) (i / 2f + 0.5f))); } } @@ -64,13 +64,13 @@ public class Edges{ return polygons[(int) (radius * 2) - 1]; } - public static GridPoint2[] getEdges(int size){ + public static Point2[] getEdges(int size){ if(size < 0 || size > maxSize) throw new RuntimeException("Block size must be between 0 and " + maxSize); return edges[size - 1]; } - public static GridPoint2[] getInsideEdges(int size){ + public static Point2[] getInsideEdges(int size){ if(size < 0 || size > maxSize) throw new RuntimeException("Block size must be between 0 and " + maxSize); return edgeInside[size - 1]; diff --git a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java index bc63ae4028..2d5eb3c084 100644 --- a/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/BuildBlock.java @@ -4,6 +4,8 @@ import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; import io.anuke.arc.Core; import io.anuke.arc.Graphics; +import io.anuke.arc.Graphics.Cursor; +import io.anuke.arc.Graphics.Cursor.SystemCursor; import io.anuke.arc.entities.Effects; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.TextureRegion; @@ -20,7 +22,6 @@ import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.graphics.Layer; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; -import io.anuke.mindustry.input.CursorType; import io.anuke.mindustry.type.ItemStack; import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.world.BarType; @@ -88,8 +89,8 @@ public class BuildBlock extends Block{ } @Override - public CursorType getCursor(Tile tile){ - return CursorType.hand; + public Cursor getCursor(Tile tile){ + return SystemCursor.hand; } @Override @@ -129,7 +130,7 @@ public class BuildBlock extends Block{ if(entity.previous == null) return; for(TextureRegion region : entity.previous.getBlockIcon()){ - Draw.rect(region, tile.drawx(), tile.drawy(), entity.previous.rotate ? tile.getRotation() * 90 : 0); + Draw.rect(region, tile.drawx(), tile.drawy()).rot(entity.previous.rotate ? tile.getRotation() * 90 : 0); } } @@ -149,9 +150,8 @@ public class BuildBlock extends Block{ Shaders.blockbuild.progress = entity.progress; Shaders.blockbuild.apply(); - Draw.rect(region, tile.drawx(), tile.drawy(), target.rotate ? tile.getRotation() * 90 : 0); - - Graphics.flush(); + Draw.rect(region, tile.drawx(), tile.drawy()).rot(target.rotate ? tile.getRotation() * 90 : 0); + Draw.flush(); } } diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java index c9d3f85bf1..ebb48353f6 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/Door.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/Door.java @@ -6,7 +6,6 @@ import io.anuke.mindustry.content.fx.BlockFx; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.Units; -import io.anuke.mindustry.input.CursorType; import io.anuke.mindustry.world.Tile; import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.Effects.Effect; diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java index 83d696d495..dbe52d5ec1 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/MendProjector.java @@ -76,7 +76,7 @@ public class MendProjector extends Block{ for(int x = -tileRange + tile.x; x <= tileRange + tile.x; x++){ for(int y = -tileRange + tile.y; y <= tileRange + tile.y; y++){ - if(Vector2.dst(x, y, tile.x, tile.y) > realRange) continue; + if(Mathf.dst(x, y, tile.x, tile.y) > realRange) continue; Tile other = world.tile(x, y); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java index 5f5b913ff1..3c4adace0f 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/OverdriveProjector.java @@ -78,7 +78,7 @@ public class OverdriveProjector extends Block{ for(int x = -tileRange + tile.x; x <= tileRange + tile.x; x++){ for(int y = -tileRange + tile.y; y <= tileRange + tile.y; y++){ - if(Vector2.dst(x, y, tile.x, tile.y) > realRange) continue; + if(Mathf.dst(x, y, tile.x, tile.y) > realRange) continue; Tile other = world.tile(x, y); diff --git a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java index 09fb07a3f7..64c01166fc 100644 --- a/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java +++ b/core/src/io/anuke/mindustry/world/blocks/defense/turrets/Turret.java @@ -1,7 +1,6 @@ package io.anuke.mindustry.world.blocks.defense.turrets; import io.anuke.arc.Core; -import io.anuke.arc.Graphics; import io.anuke.arc.collection.Array; import io.anuke.arc.collection.EnumSet; import io.anuke.arc.entities.Effects; @@ -12,6 +11,7 @@ import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.g2d.TextureRegion; +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; @@ -129,9 +129,7 @@ public abstract class Turret extends Block{ @Override public void draw(Tile tile){ Draw.rect(baseRegion, tile.drawx(), tile.drawy()); - Draw.color(tile.getTeam().color, Color.WHITE, 0.45f); - Draw.rect(baseTopRegion, tile.drawx(), tile.drawy()); - Draw.color(); + Draw.rect(baseTopRegion, tile.drawx(), tile.drawy()).color(tile.getTeam().color, Color.WHITE, 0.45f); } @Override @@ -145,8 +143,6 @@ public abstract class Turret extends Block{ if(heatRegion != Core.atlas.find("error")){ heatDrawer.accept(tile, entity); } - - Draw.color(); } @Override @@ -174,8 +170,7 @@ public abstract class Turret extends Block{ @Override public void drawPlace(int x, int y, int rotation, boolean valid){ - Draw.color(Palette.placing); - Lines.stroke(1f); + Lines.stroke(1f, Palette.placing); Lines.dashCircle(x * tilesize + offset(), y * tilesize + offset(), range); } @@ -296,7 +291,7 @@ public abstract class Turret extends Block{ AmmoType type = peekAmmo(tile); - tr.trns(entity.rotation, size * tilesize / 2, Mathf.range(xRand)); + tr.trns(entity.rotation, size * tilesize / 2f, Mathf.range(xRand)); for(int i = 0; i < shots; i++){ bullet(tile, ammo.bullet, entity.rotation + Mathf.range(inaccuracy + type.inaccuracy) + (i-shots/2) * spread); @@ -344,7 +339,7 @@ public abstract class Turret extends Block{ } public static class TurretEntity extends TileEntity{ - public Array ammo = new ThreadArray<>(); + public Array ammo = new Array<>(); public int totalAmmo; public float reload; public float rotation = 90; diff --git a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java index b1f55a49a4..42f8f6326c 100644 --- a/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java +++ b/core/src/io/anuke/mindustry/world/blocks/power/PowerNode.java @@ -225,12 +225,12 @@ public class PowerNode extends PowerBlock{ if(link.block() instanceof PowerNode){ TileEntity oe = link.entity(); - return Vector2.dst(tile.drawx(), tile.drawy(), link.drawx(), link.drawy()) <= Math.max(laserRange * tilesize, + return Mathf.dst(tile.drawx(), tile.drawy(), link.drawx(), link.drawy()) <= Math.max(laserRange * tilesize, ((PowerNode) link.block()).laserRange * tilesize) + (link.block().size - 1) * tilesize / 2f + (tile.block().size - 1) * tilesize / 2f && (!checkMaxNodes || (oe.power.links.size < ((PowerNode) link.block()).maxNodes || oe.power.links.contains(tile.pos()))); }else{ - return Vector2.dst(tile.drawx(), tile.drawy(), link.drawx(), link.drawy()) + return Mathf.dst(tile.drawx(), tile.drawy(), link.drawx(), link.drawy()) <= laserRange * tilesize + (link.block().size - 1) * tilesize; } } From 8879593381678cb9b19f92f917cc40659f23d1c3 Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 26 Dec 2018 13:22:31 -0500 Subject: [PATCH 06/16] hhhhhhh --- build.gradle | 5 +- .../src/io/anuke/mindustry/content/Mechs.java | 8 +- .../content/blocks/TurretBlocks.java | 2 +- .../content/bullets/TurretBullets.java | 2 +- .../anuke/mindustry/content/fx/BlockFx.java | 5 +- .../anuke/mindustry/content/fx/BulletFx.java | 4 +- .../mindustry/content/fx/ExplosionFx.java | 4 +- .../src/io/anuke/mindustry/content/fx/Fx.java | 4 +- .../anuke/mindustry/content/fx/ShootFx.java | 4 +- .../io/anuke/mindustry/content/fx/UnitFx.java | 4 +- core/src/io/anuke/mindustry/core/Control.java | 3 +- .../src/io/anuke/mindustry/core/Renderer.java | 130 ++++++----------- .../anuke/mindustry/editor/MapRenderer.java | 10 +- .../io/anuke/mindustry/editor/MapView.java | 28 ++-- .../anuke/mindustry/entities/effect/Fire.java | 26 ++-- .../entities/traits/BuilderTrait.java | 2 +- .../mindustry/entities/units/GroundUnit.java | 6 +- .../io/anuke/mindustry/game/Difficulty.java | 2 +- .../io/anuke/mindustry/game/EventType.java | 6 +- .../src/io/anuke/mindustry/game/GameMode.java | 2 +- .../mindustry/graphics/BlockRenderer.java | 76 +++++----- .../anuke/mindustry/graphics/CacheLayer.java | 64 +-------- .../mindustry/graphics/FloorRenderer.java | 27 ++-- .../anuke/mindustry/graphics/FogRenderer.java | 30 ++-- .../io/anuke/mindustry/graphics/Layer.java | 24 +--- .../mindustry/graphics/MinimapRenderer.java | 34 ++--- .../mindustry/graphics/OverlayRenderer.java | 131 ++---------------- .../io/anuke/mindustry/graphics/Shaders.java | 70 +++++----- .../io/anuke/mindustry/graphics/Trail.java | 8 +- .../anuke/mindustry/input/DesktopInput.java | 33 ++--- .../io/anuke/mindustry/input/MobileInput.java | 79 +++++------ .../io/anuke/mindustry/io/BundleLoader.java | 3 +- .../src/io/anuke/mindustry/io/Changelogs.java | 6 +- .../io/anuke/mindustry/io/Contributors.java | 6 +- core/src/io/anuke/mindustry/io/MapIO.java | 16 +-- .../anuke/mindustry/io/SaveFileVersion.java | 14 +- core/src/io/anuke/mindustry/io/SaveIO.java | 6 +- core/src/io/anuke/mindustry/maps/MapMeta.java | 4 +- .../io/anuke/mindustry/maps/MapTileData.java | 14 +- core/src/io/anuke/mindustry/maps/Maps.java | 5 +- core/src/io/anuke/mindustry/maps/Sector.java | 10 +- .../anuke/mindustry/maps/SectorPresets.java | 4 +- core/src/io/anuke/mindustry/maps/Sectors.java | 26 ++-- .../maps/generation/FortressGenerator.java | 25 ++-- .../mindustry/maps/generation/Generation.java | 6 +- .../maps/generation/WorldGenerator.java | 43 +++--- .../maps/missions/ActionMission.java | 6 +- .../maps/missions/BattleMission.java | 11 +- .../maps/missions/BlockLocMission.java | 22 ++- .../maps/missions/CommandMission.java | 2 +- .../maps/missions/ContentMission.java | 2 +- .../mindustry/maps/missions/ItemMission.java | 2 +- .../maps/missions/LineBlockMission.java | 8 +- .../mindustry/maps/missions/MechMission.java | 2 +- .../mindustry/maps/missions/Mission.java | 15 +- .../missions/MissionWithStartingCore.java | 12 +- .../mindustry/maps/missions/UnitMission.java | 2 +- .../mindustry/maps/missions/WaveMission.java | 2 +- .../anuke/mindustry/net/Administration.java | 10 +- .../src/io/anuke/mindustry/net/NetworkIO.java | 19 ++- core/src/io/anuke/mindustry/net/Packet.java | 2 +- core/src/io/anuke/mindustry/net/Packets.java | 4 +- .../io/anuke/mindustry/net/Registrator.java | 4 +- core/src/io/anuke/mindustry/type/Item.java | 11 +- core/src/io/anuke/mindustry/type/Liquid.java | 5 +- core/src/io/anuke/mindustry/type/Mech.java | 5 +- core/src/io/anuke/mindustry/type/Recipe.java | 12 +- core/src/io/anuke/mindustry/type/Weapon.java | 15 +- .../io/anuke/mindustry/ui/BorderImage.java | 5 +- .../io/anuke/mindustry/ui/ContentDisplay.java | 9 +- core/src/io/anuke/mindustry/ui/GridImage.java | 13 +- core/src/io/anuke/mindustry/ui/IntFormat.java | 3 +- core/src/io/anuke/mindustry/ui/Links.java | 2 +- core/src/io/anuke/mindustry/ui/Minimap.java | 22 +-- .../mindustry/ui/dialogs/ChangelogDialog.java | 11 +- .../mindustry/ui/dialogs/ColorPickDialog.java | 6 +- .../mindustry/ui/dialogs/ControlsDialog.java | 11 +- .../ui/dialogs/CustomGameDialog.java | 17 ++- .../mindustry/ui/dialogs/FileChooser.java | 18 +-- .../mindustry/ui/dialogs/FloatingDialog.java | 4 +- .../mindustry/ui/dialogs/GenViewDialog.java | 28 ++-- .../mindustry/ui/dialogs/HostDialog.java | 11 +- .../mindustry/ui/dialogs/JoinDialog.java | 33 +++-- .../mindustry/ui/dialogs/LanguageDialog.java | 10 +- .../mindustry/ui/dialogs/LoadDialog.java | 4 +- .../ui/dialogs/LocalPlayerDialog.java | 6 +- .../mindustry/ui/dialogs/MapsDialog.java | 18 +-- .../mindustry/ui/dialogs/MissionDialog.java | 2 +- .../mindustry/ui/dialogs/PausedDialog.java | 12 +- .../mindustry/ui/dialogs/RestartDialog.java | 2 +- .../mindustry/ui/dialogs/SaveDialog.java | 8 +- .../mindustry/ui/dialogs/SectorsDialog.java | 41 +++--- .../ui/dialogs/SettingsMenuDialog.java | 41 +++--- .../ui/fragments/BackgroundFragment.java | 22 ++- .../ui/fragments/BlockConfigFragment.java | 15 +- .../ui/fragments/BlockConsumeFragment.java | 15 +- .../ui/fragments/BlockInventoryFragment.java | 39 +++--- .../mindustry/ui/fragments/ChatFragment.java | 71 +++++----- .../mindustry/ui/fragments/HudFragment.java | 58 ++++---- .../ui/fragments/LoadingFragment.java | 14 +- .../ui/fragments/OverlayFragment.java | 3 - .../ui/fragments/PlacementFragment.java | 63 +++++---- .../ui/fragments/PlayerListFragment.java | 10 +- core/src/io/anuke/mindustry/world/Block.java | 9 +- .../io/anuke/mindustry/world/ColorMapper.java | 4 +- .../io/anuke/mindustry/world/ItemBuffer.java | 17 +-- .../mindustry/world/LegacyColorMapper.java | 2 +- core/src/io/anuke/mindustry/world/Tile.java | 34 ++--- .../mindustry/world/blocks/BuildBlock.java | 1 - .../anuke/mindustry/world/blocks/Floor.java | 18 +-- .../mindustry/world/blocks/LiquidBlock.java | 6 +- .../io/anuke/mindustry/world/blocks/Rock.java | 1 + .../world/blocks/defense/DeflectorWall.java | 20 ++- .../mindustry/world/blocks/defense/Door.java | 36 +++-- .../world/blocks/defense/ForceProjector.java | 27 ++-- .../world/blocks/defense/MendProjector.java | 26 ++-- .../blocks/defense/OverdriveProjector.java | 27 ++-- .../world/blocks/defense/ShockMine.java | 8 +- .../defense/turrets/ArtilleryTurret.java | 2 +- .../blocks/defense/turrets/LaserTurret.java | 2 +- .../world/blocks/distribution/Conduit.java | 9 +- .../world/blocks/distribution/Conveyor.java | 33 +++-- .../distribution/ExtendingItemBridge.java | 14 +- .../world/blocks/distribution/ItemBridge.java | 30 ++-- .../world/blocks/distribution/Junction.java | 10 +- .../distribution/LiquidExtendingBridge.java | 6 +- .../blocks/distribution/LiquidJunction.java | 1 + .../world/blocks/distribution/MassDriver.java | 37 +++-- .../world/blocks/distribution/Sorter.java | 2 +- .../world/blocks/power/FusionReactor.java | 16 +-- .../world/blocks/power/ItemGenerator.java | 1 + .../world/blocks/power/NuclearReactor.java | 11 +- .../world/blocks/power/PowerGenerator.java | 2 +- .../world/blocks/power/PowerGraph.java | 11 +- .../world/blocks/power/PowerNode.java | 22 +-- .../world/blocks/power/SolarGenerator.java | 2 +- .../world/blocks/production/Compressor.java | 1 + .../world/blocks/production/Cultivator.java | 13 +- .../world/blocks/production/Drill.java | 28 ++-- .../world/blocks/production/Fracker.java | 3 +- .../blocks/production/GenericCrafter.java | 1 + .../world/blocks/production/Incinerator.java | 12 +- .../world/blocks/production/LiquidMixer.java | 6 +- .../world/blocks/production/PhaseWeaver.java | 14 +- .../production/PlastaniumCompressor.java | 1 + .../world/blocks/production/PowerSmelter.java | 3 +- .../world/blocks/production/Pulverizer.java | 3 +- .../world/blocks/production/Pump.java | 1 + .../world/blocks/production/Separator.java | 1 + .../world/blocks/production/Smelter.java | 2 +- .../world/blocks/production/SolidPump.java | 3 +- .../world/blocks/storage/CoreBlock.java | 20 +-- .../world/blocks/storage/SortedUnloader.java | 2 +- .../world/blocks/units/CommandCenter.java | 23 +-- .../mindustry/world/blocks/units/MechPad.java | 24 ++-- .../world/blocks/units/Reconstructor.java | 29 ++-- .../world/blocks/units/RepairPoint.java | 23 +-- .../world/blocks/units/UnitFactory.java | 18 +-- .../mindustry/world/consumers/Consumers.java | 8 +- .../anuke/mindustry/world/meta/BlockStat.java | 2 +- .../mindustry/world/meta/BlockStats.java | 8 +- .../anuke/mindustry/world/meta/StatUnit.java | 2 +- settings.gradle | 24 ++-- tests/src/test/java/ApplicationTests.java | 14 +- 164 files changed, 1151 insertions(+), 1426 deletions(-) diff --git a/build.gradle b/build.gradle index 3b8bb93946..85f23d1f5e 100644 --- a/build.gradle +++ b/build.gradle @@ -169,9 +169,8 @@ project(":core"){ if(!comp) println("Note: Compiling release build.") if(new File(projectDir.parent, '../Arc').exists() && comp){ - println(project(":Arc:extensions").subprojects) - compile project(":Arc:core") - compile project(":Arc:extensions:freetype") + compile project(":Arc:arc-core") + //compile project(":Arc:extensions:freetype") }else{ //TODO compile arc from jitpack //compile 'com.github.Anuken.Arc:arc:-SNAPSHOT' diff --git a/core/src/io/anuke/mindustry/content/Mechs.java b/core/src/io/anuke/mindustry/content/Mechs.java index a6f963c361..4017065305 100644 --- a/core/src/io/anuke/mindustry/content/Mechs.java +++ b/core/src/io/anuke/mindustry/content/Mechs.java @@ -207,10 +207,10 @@ public class Mechs implements ContentList{ Shaders.build.region = armorRegion; Shaders.build.time = Time.time() / 10f; Shaders.build.color.set(Palette.accent).a = player.shootHeat; - Graphics.shader(Shaders.build); + Draw.shader(Shaders.build); Draw.alpha(1f); Draw.rect(armorRegion, player.snappedX(), player.snappedY(), player.rotation); - Graphics.shader(Shaders.mix); + Draw.shader(Shaders.mix); Draw.color(1f, 1f, 1f, alpha); } }; @@ -269,13 +269,13 @@ public class Mechs implements ContentList{ float scl = scld(player); if(scl < 0.01f) return; float alpha = Core.batch.getColor().a; - Graphics.shader(); + Draw.shader(); Graphics.setAdditiveBlending(); Draw.color(Palette.lancerLaser); Draw.alpha(scl/2f); Draw.rect(shield, player.snappedX() + Mathf.range(scl/2f), player.snappedY() + Mathf.range(scl/2f), player.rotation - 90); Graphics.setNormalBlending(); - Graphics.shader(Shaders.mix); + Draw.shader(Shaders.mix); Draw.color(); Draw.alpha(alpha); } diff --git a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java index 063c09bc78..dbd4794aa6 100644 --- a/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java +++ b/core/src/io/anuke/mindustry/content/blocks/TurretBlocks.java @@ -10,7 +10,7 @@ import io.anuke.mindustry.game.ContentList; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.blocks.defense.turrets.*; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; public class TurretBlocks extends BlockList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java index 36c8094ce6..bacf36be8e 100644 --- a/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java +++ b/core/src/io/anuke/mindustry/content/bullets/TurretBullets.java @@ -21,7 +21,7 @@ import io.anuke.mindustry.world.blocks.distribution.MassDriver.DriverBulletData; import io.anuke.arc.entities.Effects; import io.anuke.arc.util.Time; import io.anuke.arc.graphics.*; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; diff --git a/core/src/io/anuke/mindustry/content/fx/BlockFx.java b/core/src/io/anuke/mindustry/content/fx/BlockFx.java index 1403cea284..8198377bf2 100644 --- a/core/src/io/anuke/mindustry/content/fx/BlockFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BlockFx.java @@ -6,10 +6,9 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.graphics.Hue; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Tmp; diff --git a/core/src/io/anuke/mindustry/content/fx/BulletFx.java b/core/src/io/anuke/mindustry/content/fx/BulletFx.java index 0d19327faf..34e78766d2 100644 --- a/core/src/io/anuke/mindustry/content/fx/BulletFx.java +++ b/core/src/io/anuke/mindustry/content/fx/BulletFx.java @@ -5,9 +5,9 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; public class BulletFx extends FxList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java index 53812d191b..2818bf9085 100644 --- a/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ExplosionFx.java @@ -5,9 +5,9 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; public class ExplosionFx extends FxList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/fx/Fx.java b/core/src/io/anuke/mindustry/content/fx/Fx.java index bb280b754d..e544459e79 100644 --- a/core/src/io/anuke/mindustry/content/fx/Fx.java +++ b/core/src/io/anuke/mindustry/content/fx/Fx.java @@ -5,9 +5,9 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import static io.anuke.mindustry.Vars.tilesize; diff --git a/core/src/io/anuke/mindustry/content/fx/ShootFx.java b/core/src/io/anuke/mindustry/content/fx/ShootFx.java index 577010f73f..1cd63b53ba 100644 --- a/core/src/io/anuke/mindustry/content/fx/ShootFx.java +++ b/core/src/io/anuke/mindustry/content/fx/ShootFx.java @@ -6,10 +6,10 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.Shapes; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; public class ShootFx extends FxList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/content/fx/UnitFx.java b/core/src/io/anuke/mindustry/content/fx/UnitFx.java index 1919302a78..e58fba9d8b 100644 --- a/core/src/io/anuke/mindustry/content/fx/UnitFx.java +++ b/core/src/io/anuke/mindustry/content/fx/UnitFx.java @@ -5,9 +5,9 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.game.ContentList; import io.anuke.arc.entities.Effects.Effect; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; public class UnitFx extends FxList implements ContentList{ diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index f6f9013d40..af0c17dc01 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -8,6 +8,7 @@ import io.anuke.arc.entities.EntityQuery; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureAtlas; import io.anuke.arc.input.KeyCode; +import io.anuke.arc.scene.ui.TextField; import io.anuke.arc.util.Interval; import io.anuke.arc.util.Strings; import io.anuke.arc.util.Time; @@ -349,7 +350,7 @@ public class Control implements ApplicationListener{ } } - if(!mobile && Core.input.keyTap(Binding.screenshot) && !ui.chatfrag.chatOpen()){ + if(!mobile && Core.input.keyTap(Binding.screenshot) && !(scene.getKeyboardFocus() instanceof TextField) && !ui.chatfrag.chatOpen()){ renderer.takeMapScreenshot(); } diff --git a/core/src/io/anuke/mindustry/core/Renderer.java b/core/src/io/anuke/mindustry/core/Renderer.java index d47df02876..513ae5353d 100644 --- a/core/src/io/anuke/mindustry/core/Renderer.java +++ b/core/src/io/anuke/mindustry/core/Renderer.java @@ -2,27 +2,20 @@ package io.anuke.mindustry.core; import io.anuke.arc.ApplicationListener; import io.anuke.arc.Core; -import io.anuke.arc.Graphics; import io.anuke.arc.entities.Effects; import io.anuke.arc.entities.EntityDraw; import io.anuke.arc.entities.EntityGroup; import io.anuke.arc.entities.impl.EffectEntity; import io.anuke.arc.entities.trait.DrawTrait; import io.anuke.arc.entities.trait.Entity; -import io.anuke.arc.files.FileHandle; import io.anuke.arc.function.Consumer; import io.anuke.arc.function.Predicate; import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.Pixmap; -import io.anuke.arc.graphics.PixmapIO; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.geom.Vector2; -import io.anuke.arc.util.BufferUtils; -import io.anuke.arc.util.ScreenUtils; -import io.anuke.arc.util.Time; import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.core.GameState.State; @@ -35,9 +28,9 @@ import io.anuke.mindustry.entities.traits.BelowLiquidTrait; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.graphics.*; -import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity; -import static io.anuke.arc.Core.*; +import static io.anuke.arc.Core.camera; +import static io.anuke.arc.Core.graphics; import static io.anuke.mindustry.Vars.*; public class Renderer implements ApplicationListener{ @@ -102,68 +95,47 @@ public class Renderer implements ApplicationListener{ //TODO hack, find source of this bug Color.WHITE.set(1f, 1f, 1f, 1f); - if(Core.cameraScale != targetscale){ - float targetzoom = (float) Core.cameraScale / targetscale; - camera.zoom = Mathf.lerpDelta(camera.zoom, targetzoom, 0.2f); - - if(Mathf.in(camera.zoom, targetzoom, 0.005f)){ - camera.zoom = 1f; - Graphics.setCameraScale(targetscale); - for(Player player : players){ - control.input(player.playerIndex).resetCursor(); - } - } - }else{ - camera.zoom = Mathf.lerpDelta(camera.zoom, 1f, 0.2f); - } - if(state.is(State.menu)){ - Graphics.clear(Color.BLACK); + graphics.clear(Color.BLACK); }else{ Vector2 position = averagePosition(); if(players[0].isDead()){ TileEntity core = players[0].getClosestCore(); if(core != null && players[0].spawner == Unit.noSpawner){ - smoothCamera(core.x, core.y, 0.08f); + camera.position.lerpDelta(core.x, core.y, 0.08f); }else{ - smoothCamera(position.x + 0.0001f, position.y + 0.0001f, 0.08f); + camera.position.lerpDelta(position, 0.08f); } }else if(!mobile){ - setCamera(position.x + 0.0001f, position.y + 0.0001f); + camera.position.set(position); } + camera.position.x = Mathf.clamp(camera.position.x, -tilesize / 2f, world.width() * tilesize - tilesize / 2f); camera.position.y = Mathf.clamp(camera.position.y, -tilesize / 2f, world.height() * tilesize - tilesize / 2f); float prex = camera.position.x, prey = camera.position.y; - updateShake(0.75f); + //TODO update screenshake + //updateShake(0.75f); float deltax = camera.position.x - prex, deltay = camera.position.y - prey; float lastx = camera.position.x, lasty = camera.position.y; if(snapCamera){ - camera.position.set((int) camera.position.x, (int) camera.position.y, 0); - } - - if(Core.graphics.getHeight() / Core.cameraScale % 2 == 1){ - camera.position.add(0, -0.5f, 0); - } - - if(Core.graphics.getWidth() / Core.cameraScale % 2 == 1){ - camera.position.add(-0.5f, 0, 0); + camera.position.set((int) camera.position.x, (int) camera.position.y); } draw(); - camera.position.set(lastx - deltax, lasty - deltay, 0); + camera.position.set(lastx - deltax, lasty - deltay); } if(!ui.chatfrag.chatOpen()){ - renderer.record(); //this only does something if CoreGifRecorder is on the class path, which it usually isn't + //TODO does not work + //ScreenRecorder.record(); //this only does something if CoreGifRecorder is on the class path, which it usually isn't } } - @Override public void draw(){ camera.update(); if(Float.isNaN(camera.position.x) || Float.isNaN(camera.position.y)){ @@ -171,13 +143,9 @@ public class Renderer implements ApplicationListener{ camera.position.y = players[0].y; } - Graphics.clear(clearColor); + graphics.clear(clearColor); - batch.setProjectionMatrix(camera.combined); - - Graphics.surface(pixelSurface, false); - - Graphics.clear(clearColor); + graphics.batch().setProjection(camera.projection()); blocks.drawFloor(); @@ -189,26 +157,14 @@ public class Renderer implements ApplicationListener{ blocks.drawShadows(); for(Team team : Team.all){ if(blocks.isTeamShown(team)){ - boolean outline = team != players[0].getTeam() && team != Team.none; - - if(outline){ - Shaders.outline.color.set(team.color); - Shaders.outline.color.a = 0.8f; - Graphics.beginShaders(Shaders.outline); - } - blocks.drawTeamBlocks(Layer.block, team); - - if(outline){ - Graphics.endShaders(); - } } } blocks.skipLayer(Layer.block); - Graphics.shader(Shaders.blockbuild, false); + Draw.shader(Shaders.blockbuild, false); blocks.drawBlocks(Layer.placement); - Graphics.shader(); + Draw.shader(); blocks.drawBlocks(Layer.overlay); @@ -227,37 +183,47 @@ public class Renderer implements ApplicationListener{ overlays.drawBottom(); drawAndInterpolate(playerGroup, p -> true, Player::drawBuildRequests); + //TODO shield + /* Graphics.beginShaders(Shaders.shield); EntityDraw.draw(shieldGroup); EntityDraw.drawWith(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawOver()); Draw.color(Palette.accent); Graphics.endShaders(); Draw.color(); + */ overlays.drawTop(); + //TODO fog + /* if(showFog){ Graphics.surface(); }else{ Graphics.flushSurface(); - } + }*/ - batch.end(); + //batch.end(); if(showFog){ - fog.draw(); + // fog.draw(); } - Graphics.beginCam(); + //TODO this isn't necessary anymore + //Graphics.beginCam(); + EntityDraw.setClip(false); drawAndInterpolate(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName); EntityDraw.setClip(true); - Graphics.end(); + //Graphics.end(); + Draw.color(); + Draw.flush(); } private void drawFlyerShadows(){ - Graphics.surface(effectSurface, true, false); + //TODO fix flyer shadows + //Graphics.surface(effectSurface, true, false); float trnsX = -12, trnsY = -13; @@ -271,9 +237,9 @@ public class Renderer implements ApplicationListener{ drawAndInterpolate(playerGroup, unit -> unit.isFlying() && !unit.isDead(), player -> player.drawShadow(trnsX, trnsY)); } - Draw.color(0, 0, 0, 0.15f); - Graphics.flushSurface(); - Draw.color(); + //Draw.color(0, 0, 0, 0.15f); + //Graphics.flushSurface(); + // Draw.color(); } private void drawAllTeams(boolean flying){ @@ -289,13 +255,13 @@ public class Renderer implements ApplicationListener{ Shaders.outline.color.set(team.color); Shaders.mix.color.set(Color.WHITE); - Graphics.beginShaders(Shaders.outline); - Graphics.shader(Shaders.mix, true); + //Graphics.beginShaders(Shaders.outline); + //Draw.shader(Shaders.mix, true); drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll); drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawAll); - Graphics.shader(); + //Draw.shader(); blocks.drawTeamBlocks(Layer.turret, team); - Graphics.endShaders(); + //Graphics.endShaders(); drawAndInterpolate(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver); drawAndInterpolate(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawOver); @@ -316,13 +282,7 @@ public class Renderer implements ApplicationListener{ @Override public void resize(int width, int height){ - float lastX = camera.position.x, lastY = camera.position.y; - super.resize(width, height); - for(Player player : players){ - control.input(player.playerIndex).resetCursor(); - } - camera.update(); - camera.position.set(lastX, lastY, 0f); + camera.resize(width, height); } @Override @@ -342,10 +302,6 @@ public class Renderer implements ApplicationListener{ public void setCameraScale(int amount){ targetscale = amount; clampScale(); - //scale up all surfaces in preparation for the zoom - for(Surface surface : Graphics.getSurfaces()){ - surface.setScale(targetscale); - } } public void scaleCamera(int amount){ @@ -358,6 +314,8 @@ public class Renderer implements ApplicationListener{ } public void takeMapScreenshot(){ + //TODO fix/implement + /* float vpW = camera.width, vpH = camera.height; int w = world.width()*tilesize, h = world.height()*tilesize; int pw = pixelSurface.width(), ph = pixelSurface.height(); @@ -394,7 +352,7 @@ public class Renderer implements ApplicationListener{ pixelSurface.setSize(pw, ph, false); Graphics.getEffectSurface().setSize(pw, ph, false); - ui.showInfoFade(Core.bundle.format("text.screenshot", file.toString())); + ui.showInfoFade(Core.bundle.format("text.screenshot", file.toString()));*/ } } diff --git a/core/src/io/anuke/mindustry/editor/MapRenderer.java b/core/src/io/anuke/mindustry/editor/MapRenderer.java index 81dcbade57..4092f154e9 100644 --- a/core/src/io/anuke/mindustry/editor/MapRenderer.java +++ b/core/src/io/anuke/mindustry/editor/MapRenderer.java @@ -2,7 +2,7 @@ package io.anuke.mindustry.editor; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.util.Disposable; import io.anuke.arc.util.IntSet; import io.anuke.arc.util.IntSet.IntSetIterator; @@ -15,7 +15,7 @@ import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.IndexedRenderer; import io.anuke.arc.util.Structs; import io.anuke.arc.util.Bits; -import io.anuke.arc.util.Geometry; +import io.anuke.arc.math.geom.Geometry; import static io.anuke.mindustry.Vars.content; import static io.anuke.mindustry.Vars.tilesize; @@ -111,8 +111,8 @@ public class MapRenderer implements Disposable{ byte bw = editor.getMap().read(wx, wy, DataPosition.wall); byte btr = editor.getMap().read(wx, wy, DataPosition.rotationTeam); byte elev = editor.getMap().read(wx, wy, DataPosition.elevation); - byte rotation = Bits.getLeftByte(btr); - Team team = Team.all[Bits.getRightByte(btr)]; + byte rotation = Pack.leftByte(btr); + Team team = Team.all[Pack.rightByte(btr)]; Block floor = content.block(bf); Block wall = content.block(bw); @@ -159,7 +159,7 @@ public class MapRenderer implements Disposable{ } private boolean checkElevation(byte elev, int x, int y){ - for(GridPoint2 p : Geometry.d4){ + for(Point2 p : Geometry.d4){ int wx = x + p.x, wy = y + p.y; if(!Structs.inBounds(wx, wy, editor.getMap().width(), editor.getMap().height())){ return true; diff --git a/core/src/io/anuke/mindustry/editor/MapView.java b/core/src/io/anuke/mindustry/editor/MapView.java index 97518b5261..3a2c98bd0f 100644 --- a/core/src/io/anuke/mindustry/editor/MapView.java +++ b/core/src/io/anuke/mindustry/editor/MapView.java @@ -6,9 +6,9 @@ import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.input.GestureDetector; import io.anuke.arc.input.GestureDetector.GestureListener; import io.anuke.arc.math.Bresenham2; -import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.collection.Array; import io.anuke.mindustry.editor.DrawOperation.TileOperation; import io.anuke.mindustry.graphics.Palette; @@ -24,7 +24,7 @@ import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.TextField; import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.util.Geometry; +import io.anuke.arc.math.geom.Geometry; import io.anuke.arc.math.Mathf; import io.anuke.arc.util.Tmp; @@ -61,7 +61,7 @@ public class MapView extends Element implements GestureListener{ } Core.input.addProcessor(0, new GestureDetector(20, 0.5f, 2, 0.15f, this)); - setTouchable(Touchable.enabled); + touchable(Touchable.enabled); addListener(new InputListener(){ @@ -95,7 +95,7 @@ public class MapView extends Element implements GestureListener{ updated = false; - GridPoint2 p = project(x, y); + Point2 p = project(x, y); lastx = p.x; lasty = p.y; startx = p.x; @@ -119,12 +119,12 @@ public class MapView extends Element implements GestureListener{ drawing = false; - GridPoint2 p = project(x, y); + Point2 p = project(x, y); if(tool == EditorTool.line){ ui.editor.resetSaved(); - Array points = br.line(startx, starty, p.x, p.y); - for(GridPoint2 point : points){ + Array points = br.line(startx, starty, p.x, p.y); + for(Point2 point : points){ editor.draw(point.x, point.y); } updated = true; @@ -149,12 +149,12 @@ public class MapView extends Element implements GestureListener{ mousex = x; mousey = y; - GridPoint2 p = project(x, y); + Point2 p = project(x, y); if(drawing && tool.draggable){ ui.editor.resetSaved(); - Array points = br.line(lastx, lasty, p.x, p.y); - for(GridPoint2 point : points){ + Array points = br.line(lastx, lasty, p.x, p.y); + for(Point2 point : points){ tool.touched(editor, point.x, point.y); } updated = true; @@ -231,7 +231,7 @@ public class MapView extends Element implements GestureListener{ zoom = Mathf.clamp(zoom, 0.2f, 12f); } - private GridPoint2 project(float x, float y){ + private Point2 project(float x, float y){ float ratio = 1f / ((float) editor.getMap().width() / editor.getMap().height()); float size = Math.min(width, height); float sclwidth = size * zoom; @@ -307,13 +307,13 @@ public class MapView extends Element implements GestureListener{ } if(tool.edit && (!mobile || drawing)){ - GridPoint2 p = project(mousex, mousey); + Point2 p = project(mousex, mousey); Vector2 v = unproject(p.x, p.y).add(x, y); Lines.poly(brushPolygons[index], v.x, v.y, scaling); } }else{ if((tool.edit || tool == EditorTool.line) && (!mobile || drawing)){ - GridPoint2 p = project(mousex, mousey); + Point2 p = project(mousex, mousey); Vector2 v = unproject(p.x, p.y).add(x, y); float offset = (editor.getDrawBlock().size % 2 == 0 ? scaling / 2f : 0f); Lines.square( diff --git a/core/src/io/anuke/mindustry/entities/effect/Fire.java b/core/src/io/anuke/mindustry/entities/effect/Fire.java index 8d9c21e100..07fece83ec 100644 --- a/core/src/io/anuke/mindustry/entities/effect/Fire.java +++ b/core/src/io/anuke/mindustry/entities/effect/Fire.java @@ -1,10 +1,18 @@ package io.anuke.mindustry.entities.effect; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.util.IntMap; -import io.anuke.arc.util.Pool.Poolable; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.collection.IntMap; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.impl.TimedEntity; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2 +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.pooling.Pool.Poolable; +import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.content.bullets.TurretBullets; import io.anuke.mindustry.content.fx.EnvironmentFx; @@ -16,14 +24,6 @@ import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.util.Time; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.impl.TimedEntity; -import io.anuke.arc.util.Structs; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Pooling; import java.io.DataInput; import java.io.DataOutput; @@ -131,11 +131,11 @@ public class Fire extends TimedEntity implements SaveTrait, SyncTrait, Poolable{ } if(flammability > 1f && Mathf.chance(spreadChance * Time.delta() * Mathf.clamp(flammability / 5f, 0.3f, 2f))){ - GridPoint2 p = Mathf.select(Geometry.d4); + Point2 p = Geometry.d4[Mathf.random(3)]; Tile other = world.tile(tile.x + p.x, tile.y + p.y); create(other); - if(Mathf.chance(fireballChance * Time.delta() * Mathf.clamp(flammability / 10.0))){ + if(Mathf.chance(fireballChance * Time.delta() * Mathf.clamp(flammability / 10f))){ Call.createBullet(TurretBullets.fireball, x, y, Mathf.random(360f)); } } diff --git a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java index 86f0901a6c..23629674e1 100644 --- a/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java +++ b/core/src/io/anuke/mindustry/entities/traits/BuilderTrait.java @@ -354,7 +354,7 @@ public interface BuilderTrait extends Entity{ Draw.color(Color.LIGHT_GRAY, Color.WHITE, 1f - flashScl + Mathf.absin(Time.time(), 0.5f, flashScl)); //TODO better laser drawing functions - Shapes.laser("minelaser", "minelaser-end", px, py, ex, ey); + //Shapes.laser("minelaser", "minelaser-end", px, py, ex, ey); if(unit instanceof Player && ((Player) unit).isLocal){ Lines.stroke(1f, Palette.accent); diff --git a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java index 67310c8482..4a3a0a58cd 100644 --- a/core/src/io/anuke/mindustry/entities/units/GroundUnit.java +++ b/core/src/io/anuke/mindustry/entities/units/GroundUnit.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.entities.units; import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.math.geom.Vector2; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Predict; import io.anuke.mindustry.entities.TileEntity; @@ -14,9 +14,9 @@ import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.arc.util.Time; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.util.Angles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Vector2; +import io.anuke.arc.math.geom.Vector2; import java.io.DataInput; import java.io.DataOutput; diff --git a/core/src/io/anuke/mindustry/game/Difficulty.java b/core/src/io/anuke/mindustry/game/Difficulty.java index 18b92b4e09..c533e1b1a6 100644 --- a/core/src/io/anuke/mindustry/game/Difficulty.java +++ b/core/src/io/anuke/mindustry/game/Difficulty.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import io.anuke.arc.util.Bundles; +import io.anuke.arc.Core; public enum Difficulty{ training(3f, 3f), diff --git a/core/src/io/anuke/mindustry/game/EventType.java b/core/src/io/anuke/mindustry/game/EventType.java index cb21990ba0..32e680e4ae 100644 --- a/core/src/io/anuke/mindustry/game/EventType.java +++ b/core/src/io/anuke/mindustry/game/EventType.java @@ -11,6 +11,7 @@ public class EventType{ } + /**Called when the game is first loaded.*/ public static class GameLoadEvent implements Event{ } @@ -35,10 +36,7 @@ public class EventType{ } } - /** - * This event is called from the logic thread. - * DO NOT INITIALIZE GRAPHICS HERE. - */ + /**Called when a game begins and the world is loaded.*/ public static class WorldLoadEvent implements Event{ } diff --git a/core/src/io/anuke/mindustry/game/GameMode.java b/core/src/io/anuke/mindustry/game/GameMode.java index ac14a3949c..43a6b5c851 100644 --- a/core/src/io/anuke/mindustry/game/GameMode.java +++ b/core/src/io/anuke/mindustry/game/GameMode.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.game; -import io.anuke.arc.util.Bundles; +import io.anuke.arc.Core; public enum GameMode{ waves, diff --git a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java index a5216ddd91..49d256f535 100644 --- a/core/src/io/anuke/mindustry/graphics/BlockRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/BlockRenderer.java @@ -1,23 +1,23 @@ package io.anuke.mindustry.graphics; +import io.anuke.arc.Core; +import io.anuke.arc.Events; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.IntSet; -import io.anuke.arc.util.Sort; +import io.anuke.arc.collection.IntSet; +import io.anuke.arc.collection.Sort; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.glutils.FrameBuffer; +import io.anuke.arc.math.Mathf; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.game.EventType.TileChangeEvent; -import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; +import io.anuke.mindustry.game.EventType.WorldLoadEvent; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Core; -import io.anuke.arc.Events; -import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Surface; -import io.anuke.arc.math.Mathf; -import static io.anuke.mindustry.Vars.*; -import static io.anuke.arc.core.Core.camera; +import static io.anuke.arc.Core.camera; +import static io.anuke.mindustry.Vars.tilesize; +import static io.anuke.mindustry.Vars.world; public class BlockRenderer{ private final static int initialRequests = 32 * 32; @@ -31,7 +31,7 @@ public class BlockRenderer{ private Layer lastLayer; private int requestidx = 0; private int iterateidx = 0; - private Surface shadows = Graphics.createSurface().setSize(2, 2); + private FrameBuffer shadows = new FrameBuffer(1, 1); public BlockRenderer(){ floorRenderer = new FloorRenderer(); @@ -40,30 +40,28 @@ public class BlockRenderer{ requests.set(i, new BlockRequest()); } - Events.on(WorldLoadGraphicsEvent.class, event -> { + Events.on(WorldLoadEvent.class, event -> { lastCamY = lastCamX = -99; //invalidate camera position so blocks get updated }); Events.on(TileChangeEvent.class, event -> { - threads.runGraphics(() -> { - int avgx = Mathf.scl(camera.position.x, tilesize); - int avgy = Mathf.scl(camera.position.y, tilesize); - int rangex = (int) (camera.width / tilesize / 2) + 2; - int rangey = (int) (camera.height / tilesize / 2) + 2; + int avgx = (int)(camera.position.x / tilesize); + int avgy = (int)(camera.position. y/ tilesize); + int rangex = (int) (camera.width / tilesize / 2) + 2; + int rangey = (int) (camera.height / tilesize / 2) + 2; - if(Math.abs(avgx - event.tile.x) <= rangex && Math.abs(avgy - event.tile.y) <= rangey){ - lastCamY = lastCamX = -99; //invalidate camera position so blocks get updated - } - }); + if(Math.abs(avgx - event.tile.x) <= rangex && Math.abs(avgy - event.tile.y) <= rangey){ + lastCamY = lastCamX = -99; //invalidate camera position so blocks get updated + } }); } public void drawShadows(){ Draw.color(0, 0, 0, 0.15f); - Draw.rect(shadows.texture(), - Core.camera.position.x - Core.camera.position.x % tilesize, - Core.camera.position.y - Core.camera.position.y % tilesize, - shadows.width(), -shadows.height()); + Draw.rect().tex(shadows.getTexture()).center( + camera.position.x - camera.position.x % tilesize, + camera.position.y - camera.position.y % tilesize, + shadows.getWidth(), -shadows.getHeight()); Draw.color(); } @@ -76,8 +74,8 @@ public class BlockRenderer{ iterateidx = 0; lastLayer = null; - int avgx = Mathf.scl(camera.position.x, tilesize); - int avgy = Mathf.scl(camera.position.y, tilesize); + int avgx = (int)(camera.position.x / tilesize); + int avgy = (int)(camera.position.y / tilesize); int rangex = (int) (camera.width / tilesize / 2) + 2; int rangey = (int) (camera.height / tilesize / 2) + 2; @@ -91,12 +89,16 @@ public class BlockRenderer{ teamChecks.clear(); requestidx = 0; - Graphics.end(); - if(shadows.width() != shadowW || shadows.height() != shadowH){ - shadows.setSize(shadowW, shadowH); + Draw.flush(); + Core.graphics.batch().getProjection() + .setOrtho(Mathf.round(camera.position.x, tilesize)-shadowW/2f, Mathf.round(camera.position.y, tilesize)-shadowH/2f, + shadowW, shadowH); + + if(shadows.getWidth() != shadowW || shadows.getHeight() != shadowH){ + shadows.resize(shadowW, shadowH); } - Core.batch.getProjectionMatrix().setToOrtho2D(Mathf.round(Core.camera.position.x, tilesize)-shadowW/2f, Mathf.round(Core.camera.position.y, tilesize)-shadowH/2f, shadowW, shadowH); - Graphics.surface(shadows); + + shadows.begin(); int minx = Math.max(avgx - rangex - expandr, 0); int miny = Math.max(avgy - rangey - expandr, 0); @@ -136,10 +138,10 @@ public class BlockRenderer{ } } - Graphics.surface(); - Graphics.end(); - Core.batch.setProjectionMatrix(camera.combined); - Graphics.begin(); + shadows.end(); + + Draw.flush(); + Draw.projection(camera.projection()); Sort.instance().sort(requests.items, 0, requestidx); diff --git a/core/src/io/anuke/mindustry/graphics/CacheLayer.java b/core/src/io/anuke/mindustry/graphics/CacheLayer.java index 07c94090ff..bd1d1a88c9 100644 --- a/core/src/io/anuke/mindustry/graphics/CacheLayer.java +++ b/core/src/io/anuke/mindustry/graphics/CacheLayer.java @@ -1,57 +1,13 @@ package io.anuke.mindustry.graphics; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.Core; -import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Shader; - -import static io.anuke.mindustry.Vars.renderer; - public enum CacheLayer{ water{ - @Override - public void begin(){ - beginShader(); - } - - @Override - public void end(){ - endShader(Shaders.water); - } }, lava{ - @Override - public void begin(){ - beginShader(); - } - - @Override - public void end(){ - endShader(Shaders.lava); - } }, oil{ - @Override - public void begin(){ - beginShader(); - } - - @Override - public void end(){ - endShader(Shaders.oil); - } }, space{ - @Override - public void begin(){ - beginShader(); - } - - @Override - public void end(){ - endShader(Shaders.space); - } }, normal; @@ -64,25 +20,9 @@ public enum CacheLayer{ } protected void beginShader(){ - //renderer.getBlocks().endFloor(); - renderer.effectSurface.getBuffer().begin(); - Graphics.clear(Color.CLEAR); - //renderer.getBlocks().beginFloor(); + } - public void endShader(Shader shader){ - renderer.blocks.endFloor(); - - //renderer.effectSurface.getBuffer().end(); - - renderer.pixelSurface.getBuffer().begin(); - - Graphics.shader(shader); - Graphics.begin(); - Draw.rect(renderer.effectSurface.texture(), Core.camera.position.x, Core.camera.position.y, - Core.camera.width , -Core.camera.height ); - Graphics.end(); - Graphics.shader(); - renderer.blocks.beginFloor(); + public void endShader(){ } } diff --git a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java index 05597bd2a1..5f8cc6497f 100644 --- a/core/src/io/anuke/mindustry/graphics/FloorRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FloorRenderer.java @@ -1,26 +1,23 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; +import io.anuke.arc.collection.IntArray; +import io.anuke.arc.collection.IntSet; +import io.anuke.arc.collection.IntSet.IntSetIterator; +import io.anuke.arc.collection.ObjectSet; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.GL20; -import io.anuke.arc.graphics.OrthographicCamera; -import io.anuke.arc.util.IntArray; -import io.anuke.arc.util.IntSet; -import io.anuke.arc.util.IntSet.IntSetIterator; -import io.anuke.arc.collection.ObjectSet; -import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.Time; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; -import io.anuke.arc.Events; -import io.anuke.arc.Graphics; -import io.anuke.arc.util.Time; -import io.anuke.arc.graphics.CacheBatch; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.util.Log; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Structs; import java.util.Arrays; diff --git a/core/src/io/anuke/mindustry/graphics/FogRenderer.java b/core/src/io/anuke/mindustry/graphics/FogRenderer.java index 76bd1281e2..fe391418b3 100644 --- a/core/src/io/anuke/mindustry/graphics/FogRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/FogRenderer.java @@ -1,23 +1,23 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.Graphics; +import io.anuke.arc.collection.Array; +import io.anuke.arc.entities.EntityDraw; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.GL20; import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.graphics.glutils.FrameBuffer; -import io.anuke.arc.collection.Array; import io.anuke.arc.util.Disposable; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.game.EventType.TileChangeEvent; -import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; +import io.anuke.mindustry.game.EventType.WorldLoadEvent; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Events; -import io.anuke.arc.Graphics; -import io.anuke.arc.entities.EntityDraw; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; import java.nio.ByteBuffer; @@ -33,7 +33,7 @@ public class FogRenderer implements Disposable{ private boolean dirty; public FogRenderer(){ - Events.on(WorldLoadGraphicsEvent.class, event -> { + Events.on(WorldLoadEvent.class, event -> { dispose(); shadowPadding = -1; @@ -43,7 +43,7 @@ public class FogRenderer implements Disposable{ //clear buffer to black buffer.begin(); - Graphics.clear(0, 0, 0, 1f); + Core.graphics.clear(0, 0, 0, 1f); buffer.end(); for(int x = 0; x < world.width(); x++){ @@ -59,11 +59,11 @@ public class FogRenderer implements Disposable{ dirty = true; }); - Events.on(TileChangeEvent.class, event -> threads.runGraphics(() -> { + Events.on(TileChangeEvent.class, event -> { if(event.tile.getTeam() == players[0].getTeam() && event.tile.block().synthetic() && event.tile.block().viewRange > 0){ changeQueue.add(event.tile); } - })); + }); } public void writeFog(){ @@ -146,11 +146,11 @@ public class FogRenderer implements Disposable{ Graphics.endClip(); - region.setTexture(buffer.getColorBufferTexture()); + region.setTexture(buffer.getTexture()); region.setRegion(u, v2, u2, v); Core.batch.setProjectionMatrix(Core.camera.combined); - Graphics.shader(Shaders.fog); + Draw.shader(Shaders.fog); renderer.pixelSurface.getBuffer().begin(); Graphics.begin(); @@ -158,7 +158,7 @@ public class FogRenderer implements Disposable{ Graphics.end(); renderer.pixelSurface.getBuffer().end(); - Graphics.shader(); + Draw.shader(); Graphics.setScreen(); Core.batch.draw(renderer.pixelSurface.texture(), 0, Core.graphics.getHeight(), Core.graphics.getWidth(), -Core.graphics.getHeight()); @@ -166,7 +166,7 @@ public class FogRenderer implements Disposable{ } public Texture getTexture(){ - return buffer.getColorBufferTexture(); + return buffer.getTexture(); } @Override diff --git a/core/src/io/anuke/mindustry/graphics/Layer.java b/core/src/io/anuke/mindustry/graphics/Layer.java index f04144a2cd..8a3571d51a 100644 --- a/core/src/io/anuke/mindustry/graphics/Layer.java +++ b/core/src/io/anuke/mindustry/graphics/Layer.java @@ -1,28 +1,16 @@ package io.anuke.mindustry.graphics; public enum Layer{ - /** - * Base block layer. - */ + /**Base block layer.*/ block, - /** - * for placement - */ + /**for placement*/ placement, - /** - * First overlay. Stuff like conveyor items. - */ + /**First overlay. Stuff like conveyor items.*/ overlay, - /** - * "High" blocks, like turrets. - */ + /**"High" blocks, like turrets.*/ turret, - /** - * Power lasers. - */ + /**Power lasers.*/ power, - /** - * Extra lasers, like healing turrets. - */ + /**Extra lasers, like healing turrets.*/ laser } diff --git a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java index 94d70d7694..017a653340 100644 --- a/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/MinimapRenderer.java @@ -1,40 +1,39 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.collection.Array; import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; +import io.anuke.arc.graphics.Pixmaps; import io.anuke.arc.graphics.Texture; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.ScissorStack; import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.collection.Array; import io.anuke.arc.util.Disposable; import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Units; import io.anuke.mindustry.game.EventType.TileChangeEvent; -import io.anuke.mindustry.game.EventType.WorldLoadGraphicsEvent; +import io.anuke.mindustry.game.EventType.WorldLoadEvent; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Events; -import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Pixmaps; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.ThreadArray; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; public class MinimapRenderer implements Disposable{ private static final int baseSize = 16; - private final Array units = new ThreadArray<>(); + private final Array units = new Array<>(); private Pixmap pixmap; private Texture texture; private TextureRegion region; - private Rectangle rect = new Rectangle(); + private Rectangle rect = new Rectangle(), scissor = new Rectangle(); private int zoom = 4; public MinimapRenderer(){ - Events.on(WorldLoadGraphicsEvent.class, event -> { + Events.on(WorldLoadEvent.class, event -> { reset(); updateAll(); }); @@ -47,7 +46,7 @@ public class MinimapRenderer implements Disposable{ return texture; } - public void zoomBy(int amount){ + public void zoomBy(float amount){ zoom += amount; zoom = Mathf.clamp(zoom, 1, Math.min(world.width(), world.height()) / baseSize / 2); } @@ -73,18 +72,19 @@ public class MinimapRenderer implements Disposable{ dx = Mathf.clamp(dx, sz, world.width() - sz); dy = Mathf.clamp(dy, sz, world.height() - sz); + if(!ScissorStack.pushScissors(scissor.set(x, y, w, h))){ + return; + } + rect.set((dx - sz) * tilesize, (dy - sz) * tilesize, sz * 2 * tilesize, sz * 2 * tilesize); - Graphics.beginClip(x, y, w, h); for(Unit unit : units){ float rx = (unit.x - rect.x) / rect.width * w, ry = (unit.y - rect.y) / rect.width * h; Draw.color(unit.getTeam().color); - Draw.crect(Draw.getBlankRegion(), x + rx, y + ry, w / (sz * 2), h / (sz * 2)); + Draw.rect().tex(Core.atlas.white()).set(x + rx, y + ry, w / (sz * 2), h / (sz * 2)); } Draw.color(); - - Graphics.endClip(); } public TextureRegion getRegion(){ @@ -98,7 +98,7 @@ public class MinimapRenderer implements Disposable{ float invTexWidth = 1f / texture.getWidth(); float invTexHeight = 1f / texture.getHeight(); float x = dx - sz, y = world.height() - dy - sz, width = sz * 2, height = sz * 2; - region.setRegion(x * invTexWidth, y * invTexHeight, (x + width) * invTexWidth, (y + height) * invTexHeight); + region.set(x * invTexWidth, y * invTexHeight, (x + width) * invTexWidth, (y + height) * invTexHeight); return region; } diff --git a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java index d6588db643..ed56e89b1c 100644 --- a/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java +++ b/core/src/io/anuke/mindustry/graphics/OverlayRenderer.java @@ -1,27 +1,19 @@ package io.anuke.mindustry.graphics; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.MathUtils; -import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.collection.Array; -import io.anuke.mindustry.content.blocks.Blocks; -import io.anuke.mindustry.entities.Player; -import io.anuke.mindustry.entities.TileEntity; -import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.input.InputHandler; -import io.anuke.mindustry.world.Block; -import io.anuke.mindustry.world.Tile; -import io.anuke.mindustry.world.meta.BlockBar; import io.anuke.arc.Core; -import io.anuke.arc.Graphics; -import io.anuke.arc.Settings; -import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Rectangle; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.util.Time; import io.anuke.arc.util.Tmp; +import io.anuke.mindustry.content.blocks.Blocks; +import io.anuke.mindustry.entities.Player; +import io.anuke.mindustry.game.Team; +import io.anuke.mindustry.input.InputHandler; +import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.*; @@ -41,11 +33,12 @@ public class OverlayRenderer{ if(!input.isDrawing() || player.isDead()) continue; Shaders.outline.color.set(Palette.accent); - Graphics.beginShaders(Shaders.outline); + //TODO draw outlined version + //Graphics.beginShaders(Shaders.outline); input.drawOutlined(); - Graphics.endShaders(); + //Graphics.endShaders(); } } @@ -58,8 +51,7 @@ public class OverlayRenderer{ Tmp.v1.set(player.x, player.y).sub(Core.camera.position.x, Core.camera.position.y).setLength(indicatorLength); - Draw.color(player.getTeam().color); - Lines.stroke(2f); + Lines.stroke(2f, player.getTeam().color); Lines.lineAngle(Core.camera.position.x + Tmp.v1.x, Core.camera.position.y + Tmp.v1.y, Tmp.v1.angle(), 4f); Draw.reset(); } @@ -107,76 +99,7 @@ public class OverlayRenderer{ if(tile != null && tile.block() != Blocks.air && tile.target().getTeam() == players[0].getTeam()){ Tile target = tile.target(); - - if(showBlockDebug && target.entity != null){ - Draw.color(Color.RED); - Lines.crect(target.drawx(), target.drawy(), target.block().size * tilesize, target.block().size * tilesize); - Vector2 v = new Vector2(); - - Draw.tcolor(Color.YELLOW); - Draw.tscl(0.25f); - Array arr = target.block().getDebugInfo(target); - StringBuilder result = new StringBuilder(); - for(int i = 0; i < arr.size / 2; i++){ - result.append(arr.get(i * 2)); - result.append(": "); - result.append(arr.get(i * 2 + 1)); - result.append("\n"); - } - Draw.textc(result.toString(), target.drawx(), target.drawy(), v); - Draw.color(0f, 0f, 0f, 0.5f); - Fill.rect(target.drawx(), target.drawy(), v.x, v.y); - Draw.textc(result.toString(), target.drawx(), target.drawy(), v); - Draw.tscl(1f); - Draw.reset(); - } - - Block block = target.block(); - TileEntity entity = target.entity; - - if(entity != null){ - int[] values = {0, 0}; - boolean[] doDraw = {false}; - - Runnable drawbars = () -> { - for(BlockBar bar : block.bars.list()){ - float offset = Mathf.sign(bar.top) * (block.size / 2f * tilesize + 2f + (bar.top ? values[0] : values[1])); - - float value = bar.value.get(target); - - if(MathUtils.isEqual(value, -1f)) continue; - - if(doDraw[0]){ - drawBar(bar.type.color, target.drawx(), target.drawy() + offset, value); - } - - if(bar.top) - values[0]++; - else - values[1]++; - } - }; - - drawbars.run(); - - if(values[0] > 0){ - drawEncloser(target.drawx(), target.drawy() + block.size * tilesize / 2f + 2f, values[0]); - } - - if(values[1] > 0){ - drawEncloser(target.drawx(), target.drawy() - block.size * tilesize / 2f - 2f - values[1], values[1]); - } - - doDraw[0] = true; - values[0] = 0; - values[1] = 1; - - drawbars.run(); - } - - target.block().drawSelect(target); - } } @@ -198,32 +121,4 @@ public class OverlayRenderer{ } } } - - void drawBar(Color color, float x, float y, float finion){ - if(finion > 0.9f) finion = 1f; //fixes precision errors - finion = Mathf.clamp(finion); - - if(finion > 0.001f) finion = Mathf.clamp(finion, 0.24f, 1f); - - float len = 3; - - float w = (int) (len * 2 * finion); - - Draw.color(Color.BLACK); - Fill.crect(x - len, y, len * 2f, 1); - if(finion > 0){ - Draw.color(color); - Fill.crect(x - len, y, Math.max(1, w), 1); - } - Draw.color(); - } - - void drawEncloser(float x, float y, float height){ - - float len = 4; - - Draw.color(Palette.bar); - Fill.crect(x - len, y - 1, len * 2f, height + 2f); - Draw.color(); - } } diff --git a/core/src/io/anuke/mindustry/graphics/Shaders.java b/core/src/io/anuke/mindustry/graphics/Shaders.java index ba7b951711..0ae4a3a354 100644 --- a/core/src/io/anuke/mindustry/graphics/Shaders.java +++ b/core/src/io/anuke/mindustry/graphics/Shaders.java @@ -3,11 +3,9 @@ package io.anuke.mindustry.graphics; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.Core; -import io.anuke.arc.util.Time; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Shader; +import io.anuke.arc.graphics.glutils.Shader; import io.anuke.arc.scene.ui.layout.Unit; +import io.anuke.arc.util.Time; import static io.anuke.mindustry.Vars.tilesize; import static io.anuke.mindustry.Vars.world; @@ -54,11 +52,11 @@ public class Shaders{ public void apply(){ time = time % 158; - shader.setUniformf("u_resolution", Core.graphics.getWidth(), Core.graphics.getHeight()); - shader.setUniformi("u_time", (int)(time += Core.graphics.getDeltaTime() * 60f)); - shader.setUniformf("u_uv", Draw.getBlankRegion().getU(), Draw.getBlankRegion().getV()); - shader.setUniformf("u_scl", Unit.dp.scl(1f)); - shader.setUniformf("u_uv2", Draw.getBlankRegion().getU2(), Draw.getBlankRegion().getV2()); + setUniformf("u_resolution", Core.graphics.getWidth(), Core.graphics.getHeight()); + setUniformi("u_time", (int)(time += Core.graphics.getDeltaTime() * 60f)); + setUniformf("u_uv", Core.atlas.white().getU(), Core.atlas.white().getV()); + setUniformf("u_scl", Unit.dp.scl(1f)); + setUniformf("u_uv2", Core.atlas.white().getU2(), Core.atlas.white().getV2()); } } @@ -78,7 +76,7 @@ public class Shaders{ @Override public void apply(){ super.apply(); - shader.setUniformf("u_color", color); + setUniformf("u_color", color); } } @@ -91,7 +89,7 @@ public class Shaders{ @Override public void apply(){ super.apply(); - shader.setUniformf("u_center", world.width() * tilesize / 2f, world.height() * tilesize / 2f); + setUniformf("u_center", world.width() * tilesize / 2f, world.height() * tilesize / 2f); } } @@ -106,12 +104,12 @@ public class Shaders{ @Override public void apply(){ - shader.setUniformf("u_time", time); - shader.setUniformf("u_color", color); - shader.setUniformf("u_progress", progress); - shader.setUniformf("u_uv", region.getU(), region.getV()); - shader.setUniformf("u_uv2", region.getU2(), region.getV2()); - shader.setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); + setUniformf("u_time", time); + setUniformf("u_color", color); + setUniformf("u_progress", progress); + setUniformf("u_uv", region.getU(), region.getV()); + setUniformf("u_uv2", region.getU2(), region.getV2()); + setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); } } @@ -124,8 +122,8 @@ public class Shaders{ @Override public void apply(){ - shader.setUniformf("u_color", color); - shader.setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); + setUniformf("u_color", color); + setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); } } @@ -139,12 +137,12 @@ public class Shaders{ @Override public void apply(){ - shader.setUniformf("u_progress", progress); - shader.setUniformf("u_color", color); - shader.setUniformf("u_uv", region.getU(), region.getV()); - shader.setUniformf("u_uv2", region.getU2(), region.getV2()); - shader.setUniformf("u_time", Time.time()); - shader.setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); + setUniformf("u_progress", progress); + setUniformf("u_color", color); + setUniformf("u_uv", region.getU(), region.getV()); + setUniformf("u_uv2", region.getU2(), region.getV2()); + setUniformf("u_time", Time.time()); + setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); } } @@ -157,10 +155,10 @@ public class Shaders{ @Override public void apply(){ - shader.setUniformf("u_color", color); - shader.setUniformf("u_uv", region.getU(), region.getV()); - shader.setUniformf("u_uv2", region.getU2(), region.getV2()); - shader.setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); + setUniformf("u_color", color); + setUniformf("u_uv", region.getU(), region.getV()); + setUniformf("u_uv2", region.getU2(), region.getV2()); + setUniformf("u_texsize", region.getTexture().getWidth(), region.getTexture().getHeight()); } } @@ -172,12 +170,12 @@ public class Shaders{ @Override public void apply(){ - shader.setUniformf("u_dp", Unit.dp.scl(1f)); - shader.setUniformf("u_time", Time.time() / Unit.dp.scl(1f)); - shader.setUniformf("u_offset", + setUniformf("u_dp", Unit.dp.scl(1f)); + setUniformf("u_time", Time.time() / Unit.dp.scl(1f)); + setUniformf("u_offset", Core.camera.position.x - Core.camera.width / 2 , Core.camera.position.y - Core.camera.height / 2 ); - shader.setUniformf("u_texsize", Core.camera.width , + setUniformf("u_texsize", Core.camera.width , Core.camera.height ); } } @@ -190,12 +188,12 @@ public class Shaders{ @Override public void apply(){ - shader.setUniformf("camerapos", + setUniformf("camerapos", Core.camera.position.x - Core.camera.width / 2 , Core.camera.position.y - Core.camera.height / 2 ); - shader.setUniformf("screensize", Core.camera.width, + setUniformf("screensize", Core.camera.width, Core.camera.height ); - shader.setUniformf("time", Time.time()); + setUniformf("time", Time.time()); } } } diff --git a/core/src/io/anuke/mindustry/graphics/Trail.java b/core/src/io/anuke/mindustry/graphics/Trail.java index ca6bd2ce2b..1637e633c8 100644 --- a/core/src/io/anuke/mindustry/graphics/Trail.java +++ b/core/src/io/anuke/mindustry/graphics/Trail.java @@ -1,16 +1,16 @@ package io.anuke.mindustry.graphics; +import io.anuke.arc.collection.FloatArray; import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.FloatArray; -import io.anuke.arc.util.Time; import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Time; /** * Class that renders a colored trail. + * TODO remove / recode */ public class Trail{ private final static float maxJump = 15f; diff --git a/core/src/io/anuke/mindustry/input/DesktopInput.java b/core/src/io/anuke/mindustry/input/DesktopInput.java index 375a1e1f51..39b02e6482 100644 --- a/core/src/io/anuke/mindustry/input/DesktopInput.java +++ b/core/src/io/anuke/mindustry/input/DesktopInput.java @@ -1,14 +1,12 @@ package io.anuke.mindustry.input; import io.anuke.arc.Core; -import io.anuke.arc.Graphics; -import io.anuke.arc.KeyBinds; +import io.anuke.arc.Graphics.Cursor; +import io.anuke.arc.Graphics.Cursor.SystemCursor; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.input.InputDevice.DeviceType; import io.anuke.arc.math.Mathf; -import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.Player; @@ -20,7 +18,6 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.*; -import static io.anuke.mindustry.input.CursorType.*; import static io.anuke.mindustry.input.PlaceMode.*; public class DesktopInput extends InputHandler{ @@ -29,7 +26,7 @@ public class DesktopInput extends InputHandler{ private float controlx, controly; private boolean controlling; /**Current cursor type.*/ - private CursorType cursorType = normal; + private Cursor cursorType = SystemCursor.arrow; /**Position where the player started dragging a line.*/ private int selectX, selectY; @@ -52,7 +49,7 @@ public class DesktopInput extends InputHandler{ for(TextureRegion region : regions){ Draw.rect(region, x * tilesize + block.offset(), y * tilesize + block.offset(), - region.getWidth() * selectScale, region.getHeight() * selectScale, block.rotate ? rotation * 90 : 0); + region.getWidth() * selectScale, region.getHeight() * selectScale).rot(block.rotate ? rotation * 90 : 0); } }else{ Draw.color(Palette.removeBack); @@ -82,8 +79,8 @@ public class DesktopInput extends InputHandler{ if(i + recipe.result.size > result.getLength() && recipe.result.rotate){ Draw.color(!validPlace(x, y, recipe.result, result.rotation) ? Palette.remove : Palette.placeRotate); - Draw.grect("place-arrow", x * tilesize + recipe.result.offset(), - y * tilesize + recipe.result.offset(), result.rotation * 90 - 90); + Draw.rect("place-arrow", x * tilesize + recipe.result.offset(), + y * tilesize + recipe.result.offset()).origin(x * tilesize + recipe.result.offset()/2f, 0f).rot(result.rotation * 90 - 90); } drawPlace(x, y, recipe.result, result.rotation); @@ -114,8 +111,8 @@ public class DesktopInput extends InputHandler{ }else if(isPlacing()){ if(recipe.result.rotate){ Draw.color(!validPlace(cursorX, cursorY, recipe.result, rotation) ? Palette.remove : Palette.placeRotate); - Draw.grect("place-arrow", cursorX * tilesize + recipe.result.offset(), - cursorY * tilesize + recipe.result.offset(), rotation * 90 - 90); + Draw.rect("place-arrow", cursorX * tilesize + recipe.result.offset(), + cursorY * tilesize + recipe.result.offset()).origin(cursorX * tilesize + recipe.result.offset()/2f, 0).rot(rotation * 90 - 90); } drawPlace(cursorX, cursorY, recipe.result, rotation); recipe.result.drawPlace(cursorX, cursorY, rotation, validPlace(cursorX, cursorY, recipe.result, rotation)); @@ -157,7 +154,7 @@ public class DesktopInput extends InputHandler{ } if(isPlacing()){ - cursorType = hand; + cursorType = SystemCursor.hand; selectScale = Mathf.lerpDelta(selectScale, 1f, 0.2f); }else{ selectScale = 0f; @@ -168,30 +165,30 @@ public class DesktopInput extends InputHandler{ Tile cursor = tileAt(Core.input.mouseX(), Core.input.mouseY()); if(player.isDead()){ - cursorType = normal; + cursorType = SystemCursor.arrow; }else if(cursor != null){ cursor = cursor.target(); cursorType = cursor.block().getCursor(cursor); if(isPlacing()){ - cursorType = hand; + cursorType = SystemCursor.hand; } if(!isPlacing() && canMine(cursor)){ - cursorType = drill; + cursorType = ui.drillCursor; } if(canTapPlayer(Core.input.mouseWorld().x, Core.input.mouseWorld().y)){ - cursorType = unload; + cursorType = ui.unloadCursor; } } if(!Core.scene.hasMouse()){ - cursorType.set(); + Core.graphics.cursor(cursorType); } - cursorType = normal; + cursorType = SystemCursor.arrow; } void pollInput(){ diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index a0c8e45fb5..c4e1450586 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -1,16 +1,23 @@ package io.anuke.mindustry.input; import io.anuke.arc.Core; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.entities.Effects; import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Lines; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.input.GestureDetector; import io.anuke.arc.input.GestureDetector.GestureListener; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Rectangle; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Align; -import io.anuke.arc.collection.Array; -import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.util.Time; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.core.GameState.State; @@ -27,11 +34,6 @@ import io.anuke.mindustry.type.Recipe; import io.anuke.mindustry.ui.dialogs.FloatingDialog; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.*; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.*; import static io.anuke.mindustry.input.PlaceMode.*; @@ -176,8 +178,8 @@ public class MobileInput extends InputHandler implements GestureListener{ for(TextureRegion region : regions){ Draw.rect(region, tile.worldx() + offset, tile.worldy() + offset, - region.getWidth() * request.scale, region.getHeight() * request.scale, - request.recipe.result.rotate ? request.rotation * 90 : 0); + region.getWidth() * request.scale, region.getHeight() * request.scale) + .rot(request.recipe.result.rotate ? request.rotation * 90 : 0); } }else{ float rad = (tile.block().size * tilesize / 2f - 1) * request.scale; @@ -198,7 +200,7 @@ public class MobileInput extends InputHandler implements GestureListener{ dialog.content().add("$text." + type).growX().wrap(); dialog.content().row(); dialog.content().addCheck("$text.showagain", false, checked -> { - Core.settings.putBool(type, checked); + Core.settings.put(type, checked); Core.settings.save(); }).growX().left().get().left(); dialog.show(); @@ -277,7 +279,7 @@ public class MobileInput extends InputHandler implements GestureListener{ Lines.stroke(1f); Shaders.mix.color.set(Palette.accent); - Graphics.shader(Shaders.mix); + Draw.shader(Shaders.mix); //draw removals for(PlaceRequest request : removals){ @@ -315,7 +317,7 @@ public class MobileInput extends InputHandler implements GestureListener{ } } - Graphics.shader(); + Draw.shader(); Draw.color(Palette.accent); @@ -334,8 +336,8 @@ public class MobileInput extends InputHandler implements GestureListener{ //go through each cell and draw the block to place if valid for(int i = 0; i <= result.getLength(); i += recipe.result.size){ - int x = lineStartX + i * Mathf.sign(tileX - lineStartX) * Mathf.bool(result.isX()); - int y = lineStartY + i * Mathf.sign(tileY - lineStartY) * Mathf.bool(!result.isX()); + int x = lineStartX + i * Mathf.sign(tileX - lineStartX) * Mathf.num(result.isX()); + int y = lineStartY + i * Mathf.sign(tileY - lineStartY) * Mathf.num(!result.isX()); if(!checkOverlapPlacement(x, y, recipe.result) && validPlace(x, y, recipe.result, result.rotation)){ Draw.color(); @@ -344,7 +346,8 @@ public class MobileInput extends InputHandler implements GestureListener{ for(TextureRegion region : regions){ Draw.rect(region, x * tilesize + recipe.result.offset(), y * tilesize + recipe.result.offset(), - region.getWidth() * lineScale, region.getHeight() * lineScale, recipe.result.rotate ? result.rotation * 90 : 0); + region.getWidth() * lineScale, region.getHeight() * lineScale) + .rot(recipe.result.rotate ? result.rotation * 90 : 0); } }else{ Draw.color(Palette.removeBack); @@ -409,7 +412,7 @@ public class MobileInput extends InputHandler implements GestureListener{ //region input events @Override - public boolean touchDown(int screenX, int screenY, int pointer, int button){ + public boolean touchDown(int screenX, int screenY, int pointer, KeyCode button){ if(state.is(State.menu) || player.isDead()) return false; //get tile on cursor @@ -418,7 +421,7 @@ public class MobileInput extends InputHandler implements GestureListener{ float worldx = Core.input.mouseWorld(screenX, screenY).x, worldy = Core.input.mouseWorld(screenX, screenY).y; //ignore off-screen taps - if(cursor == null || ui.hasMouse(screenX, screenY)) return false; + if(cursor == null || Core.scene.hasMouse(screenX, screenY)) return false; //only begin selecting if the tapped block is a request selecting = hasRequest(cursor) && isPlacing() && mode == placing; @@ -432,7 +435,7 @@ public class MobileInput extends InputHandler implements GestureListener{ } @Override - public boolean touchUp(int screenX, int screenY, int pointer, int button){ + public boolean touchUp(int screenX, int screenY, int pointer, KeyCode button){ //place down a line if in line mode if(lineMode){ @@ -448,8 +451,8 @@ public class MobileInput extends InputHandler implements GestureListener{ //place blocks on line for(int i = 0; i <= result.getLength(); i += recipe.result.size){ - int x = lineStartX + i * Mathf.sign(tileX - lineStartX) * Mathf.bool(result.isX()); - int y = lineStartY + i * Mathf.sign(tileY - lineStartY) * Mathf.bool(!result.isX()); + int x = lineStartX + i * Mathf.sign(tileX - lineStartX) * Mathf.num(result.isX()); + int y = lineStartY + i * Mathf.sign(tileY - lineStartY) * Mathf.num(!result.isX()); if(!checkOverlapPlacement(x, y, recipe.result) && validPlace(x, y, recipe.result, result.rotation)){ PlaceRequest request = new PlaceRequest(x * tilesize + recipe.result.offset(), y * tilesize + recipe.result.offset(), recipe, result.rotation); @@ -505,7 +508,7 @@ public class MobileInput extends InputHandler implements GestureListener{ Tile cursor = tileAt(x, y); //ignore off-screen taps - if(cursor == null || ui.hasMouse(x, y)) return false; + if(cursor == null || Core.scene.hasMouse(x, y)) return false; //remove request if it's there //long pressing enables line mode otherwise @@ -523,7 +526,7 @@ public class MobileInput extends InputHandler implements GestureListener{ } @Override - public boolean tap(float x, float y, int count, int button){ + public boolean tap(float x, float y, int count, KeyCode button){ if(state.is(State.menu) || lineMode) return false; float worldx = Core.input.mouseWorld(x, y).x, worldy = Core.input.mouseWorld(x, y).y; @@ -532,7 +535,7 @@ public class MobileInput extends InputHandler implements GestureListener{ Tile cursor = tileAt(x, y); //ignore off-screen taps - if(cursor == null || ui.hasMouse(x, y)) return false; + if(cursor == null || Core.scene.hasMouse(x, y)) return false; checkTargets(worldx, worldy); @@ -616,7 +619,7 @@ public class MobileInput extends InputHandler implements GestureListener{ //When in line mode, pan when near screen edges automatically if(Core.input.isTouched(0) && lineMode){ - float screenX = Graphics.mouse().x, screenY = Graphics.mouse().y; + float screenX = Core.input.mouseX(), screenY = Core.input.mouseY(); float panX = 0, panY = 0; @@ -652,7 +655,7 @@ public class MobileInput extends InputHandler implements GestureListener{ PlaceRequest request = removals.get(i); if(request.scale <= 0.0001f){ - removals.removeIndex(i); + removals.removeAt(i); i--; } } @@ -667,33 +670,21 @@ public class MobileInput extends InputHandler implements GestureListener{ return false; } - float dx = deltaX / Core.cameraScale, dy = deltaY / Core.cameraScale; - if(selecting){ //pan all requests for(PlaceRequest req : selection){ if(req.remove) continue; //don't shift removal requests - req.x += dx; - req.y -= dy; + req.x += deltaX; + req.y -= deltaY; } }else{ //pan player - Core.camera.position.x -= dx; - Core.camera.position.y += dy; + Core.camera.position.x -= deltaX; + Core.camera.position.y += deltaY; } return false; } - @Override - public boolean panStop(float x, float y, int pointer, int button){ - return false; - } - - @Override - public boolean pinch(Vector2 initialPointer1, Vector2 initialPointer2, Vector2 pointer1, Vector2 pointer2){ - return false; - } - @Override public boolean zoom(float initialDistance, float distance){ @@ -713,13 +704,13 @@ public class MobileInput extends InputHandler implements GestureListener{ } @Override - public boolean touchDown(float x, float y, int pointer, int button){ + public boolean touchDown(float x, float y, int pointer, KeyCode button){ canPan = !Core.scene.hasMouse(); return false; } @Override - public boolean fling(float velocityX, float velocityY, int button){ + public boolean fling(float velocityX, float velocityY, KeyCode button){ return false; } diff --git a/core/src/io/anuke/mindustry/io/BundleLoader.java b/core/src/io/anuke/mindustry/io/BundleLoader.java index 0e0e15de09..dc7553d7c0 100644 --- a/core/src/io/anuke/mindustry/io/BundleLoader.java +++ b/core/src/io/anuke/mindustry/io/BundleLoader.java @@ -15,7 +15,7 @@ public class BundleLoader{ public static void load(){ Core.settings.defaults("locale", "default"); - Core.settings.load(Vars.appName, headless ? "io.anuke.mindustry.server" : "io.anuke.mindustry"); + Core.settings.load(); loadBundle(); } @@ -37,7 +37,6 @@ public class BundleLoader{ } private static void loadBundle(){ - I18NBundle.setExceptionOnMissingKey(false); try{ //try loading external bundle FileHandle handle = Core.files.local("bundle"); diff --git a/core/src/io/anuke/mindustry/io/Changelogs.java b/core/src/io/anuke/mindustry/io/Changelogs.java index e12bfda0c9..6dfcf6ce3c 100644 --- a/core/src/io/anuke/mindustry/io/Changelogs.java +++ b/core/src/io/anuke/mindustry/io/Changelogs.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.io; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.JsonReader; -import io.anuke.arc.util.JsonValue; -import io.anuke.mindustry.net.Net; import io.anuke.arc.function.Consumer; +import io.anuke.arc.util.serialization.JsonReader; +import io.anuke.arc.util.serialization.JsonValue; +import io.anuke.mindustry.net.Net; import static io.anuke.mindustry.Vars.releasesURL; diff --git a/core/src/io/anuke/mindustry/io/Contributors.java b/core/src/io/anuke/mindustry/io/Contributors.java index c57a951008..9924e8e44c 100644 --- a/core/src/io/anuke/mindustry/io/Contributors.java +++ b/core/src/io/anuke/mindustry/io/Contributors.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.io; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.JsonReader; -import io.anuke.arc.util.JsonValue; -import io.anuke.mindustry.net.Net; import io.anuke.arc.function.Consumer; +import io.anuke.arc.util.serialization.JsonReader; +import io.anuke.arc.util.serialization.JsonValue; +import io.anuke.mindustry.net.Net; import static io.anuke.mindustry.Vars.contributorsURL; diff --git a/core/src/io/anuke/mindustry/io/MapIO.java b/core/src/io/anuke/mindustry/io/MapIO.java index 3e78fd718f..87e8c228ec 100644 --- a/core/src/io/anuke/mindustry/io/MapIO.java +++ b/core/src/io/anuke/mindustry/io/MapIO.java @@ -1,11 +1,13 @@ package io.anuke.mindustry.io; +import io.anuke.arc.collection.IntIntMap; +import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.collection.ObjectMap.Entry; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; -import io.anuke.arc.util.IntIntMap; -import io.anuke.arc.collection.ObjectMap; -import io.anuke.arc.util.ObjectMap.Entry; +import io.anuke.arc.util.Pack; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.game.Team; @@ -19,8 +21,6 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.LegacyColorMapper; import io.anuke.mindustry.world.LegacyColorMapper.LegacyBlock; -import io.anuke.arc.util.Bits; -import io.anuke.arc.util.Structs; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -90,14 +90,14 @@ public class MapIO{ if(Structs.inBounds(worldx, worldy, pixmap.getWidth(), pixmap.getHeight())){ data.write(worldx, worldy, DataPosition.wall, Blocks.blockpart.id); - data.write(worldx, worldy, DataPosition.rotationTeam, Bits.packByte((byte)0, (byte)Team.blue.ordinal())); - data.write(worldx, worldy, DataPosition.link, Bits.packByte((byte) (dx - 1 + 8), (byte) (dy - 1 + 8))); + data.write(worldx, worldy, DataPosition.rotationTeam, Pack.byteByte((byte)0, (byte)Team.blue.ordinal())); + data.write(worldx, worldy, DataPosition.link, Pack.byteByte((byte) (dx - 1 + 8), (byte) (dy - 1 + 8))); } } } data.write(x, y, DataPosition.wall, StorageBlocks.core.id); - data.write(x, y, DataPosition.rotationTeam, Bits.packByte((byte)0, (byte)Team.blue.ordinal())); + data.write(x, y, DataPosition.rotationTeam, Pack.byteByte((byte)0, (byte)Team.blue.ordinal())); } } } diff --git a/core/src/io/anuke/mindustry/io/SaveFileVersion.java b/core/src/io/anuke/mindustry/io/SaveFileVersion.java index 0d9358a303..bfdcb724bf 100644 --- a/core/src/io/anuke/mindustry/io/SaveFileVersion.java +++ b/core/src/io/anuke/mindustry/io/SaveFileVersion.java @@ -1,6 +1,10 @@ package io.anuke.mindustry.io; import io.anuke.arc.collection.Array; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.entities.EntityGroup; +import io.anuke.arc.entities.trait.Entity; +import io.anuke.arc.util.Pack; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.entities.traits.SaveTrait; @@ -13,10 +17,6 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.type.ContentType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; -import io.anuke.arc.entities.Entities; -import io.anuke.arc.entities.EntityGroup; -import io.anuke.arc.entities.trait.Entity; -import io.anuke.arc.util.Bits; import java.io.DataInputStream; import java.io.DataOutputStream; @@ -59,7 +59,7 @@ public abstract class SaveFileVersion{ if(tile.block() instanceof BlockPart){ stream.writeByte(tile.link); }else if(tile.entity != null){ - stream.writeByte(Bits.packByte(tile.getTeamID(), tile.getRotation())); //team + rotation + stream.writeByte(Pack.byteByte(tile.getTeamID(), tile.getRotation())); //team + rotation stream.writeShort((short) tile.entity.health); //health if(tile.entity.items != null) tile.entity.items.write(stream); @@ -139,8 +139,8 @@ public abstract class SaveFileVersion{ byte tr = stream.readByte(); short health = stream.readShort(); - byte team = Bits.getLeftByte(tr); - byte rotation = Bits.getRightByte(tr); + byte team = Pack.leftByte(tr); + byte rotation = Pack.rightByte(tr); Team t = Team.all[team]; diff --git a/core/src/io/anuke/mindustry/io/SaveIO.java b/core/src/io/anuke/mindustry/io/SaveIO.java index ad7e86f35a..45f1e24303 100644 --- a/core/src/io/anuke/mindustry/io/SaveIO.java +++ b/core/src/io/anuke/mindustry/io/SaveIO.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.io; -import io.anuke.arc.files.FileHandle; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.IntArray; -import io.anuke.arc.util.IntMap; +import io.anuke.arc.collection.IntArray; +import io.anuke.arc.collection.IntMap; +import io.anuke.arc.files.FileHandle; import io.anuke.mindustry.Vars; import io.anuke.mindustry.io.versions.Save16; diff --git a/core/src/io/anuke/mindustry/maps/MapMeta.java b/core/src/io/anuke/mindustry/maps/MapMeta.java index 6a2bfec913..741bafada1 100644 --- a/core/src/io/anuke/mindustry/maps/MapMeta.java +++ b/core/src/io/anuke/mindustry/maps/MapMeta.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.maps; -import io.anuke.arc.util.IntIntMap; +import io.anuke.arc.Core; +import io.anuke.arc.collection.IntIntMap; import io.anuke.arc.collection.ObjectMap; -import io.anuke.arc.util.Bundles; public class MapMeta{ public final int version; diff --git a/core/src/io/anuke/mindustry/maps/MapTileData.java b/core/src/io/anuke/mindustry/maps/MapTileData.java index dbbbfdb103..25398e561b 100644 --- a/core/src/io/anuke/mindustry/maps/MapTileData.java +++ b/core/src/io/anuke/mindustry/maps/MapTileData.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.maps; -import io.anuke.arc.util.IntIntMap; +import io.anuke.arc.collection.IntIntMap; +import io.anuke.arc.util.Pack; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.world.Block; -import io.anuke.arc.util.Bits; -import io.anuke.arc.util.Structs; import java.nio.ByteBuffer; @@ -73,7 +73,7 @@ public class MapTileData{ if(Structs.inBounds(worldx, worldy, width, height) && !(dx + offsetx == 0 && dy + offsety == 0)){ write(worldx, worldy, DataPosition.wall, Blocks.blockpart.id); - write(worldx, worldy, DataPosition.link, Bits.packByte((byte) (dx + offsetx + 8), (byte) (dy + offsety + 8))); + write(worldx, worldy, DataPosition.link, Pack.byteByte((byte) (dx + offsetx + 8), (byte) (dy + offsety + 8))); } } } @@ -154,8 +154,8 @@ public class MapTileData{ link = buffer.get(); byte rt = buffer.get(); elevation = buffer.get(); - rotation = Bits.getLeftByte(rt); - team = Bits.getRightByte(rt); + rotation = Pack.leftByte(rt); + team = Pack.rightByte(rt); if(map != null){ floor = (byte) map.get(floor, Blocks.stone.id); @@ -168,7 +168,7 @@ public class MapTileData{ buffer.put(floor); buffer.put(wall); buffer.put(link); - buffer.put(Bits.packByte(rotation, team)); + buffer.put(Pack.byteByte(rotation, team)); buffer.put(elevation); } } diff --git a/core/src/io/anuke/mindustry/maps/Maps.java b/core/src/io/anuke/mindustry/maps/Maps.java index 7fdf631116..678920aa51 100644 --- a/core/src/io/anuke/mindustry/maps/Maps.java +++ b/core/src/io/anuke/mindustry/maps/Maps.java @@ -9,7 +9,6 @@ import io.anuke.arc.collection.ObjectMap; import io.anuke.mindustry.io.MapIO; import io.anuke.arc.function.Supplier; import io.anuke.arc.util.Log; -import io.anuke.arc.util.ThreadArray; import java.io.DataInputStream; import java.io.IOException; @@ -26,9 +25,9 @@ public class Maps implements Disposable{ /**Maps map names to the real maps.*/ private ObjectMap maps = new ObjectMap<>(); /**All maps stored in an ordered array.*/ - private Array allMaps = new ThreadArray<>(); + private Array allMaps = new Array<>(); /**Temporary array used for returning things.*/ - private Array returnArray = new ThreadArray<>(); + private Array returnArray = new Array<>(); /**Returns a list of all maps, including custom ones.*/ public Array all(){ diff --git a/core/src/io/anuke/mindustry/maps/Sector.java b/core/src/io/anuke/mindustry/maps/Sector.java index cb857333db..e9d62a1d55 100644 --- a/core/src/io/anuke/mindustry/maps/Sector.java +++ b/core/src/io/anuke/mindustry/maps/Sector.java @@ -1,13 +1,13 @@ package io.anuke.mindustry.maps; -import io.anuke.arc.graphics.Texture; -import io.anuke.arc.collection.Array; import io.anuke.annotations.Annotations.Serialize; +import io.anuke.arc.collection.Array; +import io.anuke.arc.graphics.Texture; +import io.anuke.arc.util.Pack; import io.anuke.mindustry.game.Saves.SaveSlot; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.maps.missions.*; import io.anuke.mindustry.type.ItemStack; -import io.anuke.arc.util.Bits; import static io.anuke.mindustry.Vars.control; import static io.anuke.mindustry.Vars.headless; @@ -56,7 +56,7 @@ public class Sector{ } public int getSeed(){ - return Bits.packInt(x, y); + return pos(); } public SaveSlot getSave(){ @@ -68,6 +68,6 @@ public class Sector{ } public int pos(){ - return Bits.packInt(x, y); + return Pack.shortInt(x, y); } } diff --git a/core/src/io/anuke/mindustry/maps/SectorPresets.java b/core/src/io/anuke/mindustry/maps/SectorPresets.java index 3983aad73e..7adacebe8d 100644 --- a/core/src/io/anuke/mindustry/maps/SectorPresets.java +++ b/core/src/io/anuke/mindustry/maps/SectorPresets.java @@ -1,6 +1,8 @@ package io.anuke.mindustry.maps; import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.GridMap; +import io.anuke.arc.util.Structs; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.Mechs; @@ -12,8 +14,6 @@ import io.anuke.mindustry.content.blocks.UpgradeBlocks; import io.anuke.mindustry.entities.units.UnitCommand; import io.anuke.mindustry.maps.missions.*; import io.anuke.mindustry.type.Item; -import io.anuke.arc.util.GridMap; -import io.anuke.arc.util.Structs; import static io.anuke.mindustry.Vars.mobile; diff --git a/core/src/io/anuke/mindustry/maps/Sectors.java b/core/src/io/anuke/mindustry/maps/Sectors.java index fa01340137..98ca76e9b5 100644 --- a/core/src/io/anuke/mindustry/maps/Sectors.java +++ b/core/src/io/anuke/mindustry/maps/Sectors.java @@ -1,12 +1,17 @@ package io.anuke.mindustry.maps; import io.anuke.arc.Core; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.Array.ArrayIterable; +import io.anuke.arc.collection.GridMap; import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.collection.Array; -import io.anuke.arc.util.Array.ArrayIterable; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Pack; import io.anuke.arc.util.async.AsyncExecutor; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.core.GameState.State; @@ -27,7 +32,6 @@ import io.anuke.mindustry.type.Recipe.RecipeVisibility; import io.anuke.mindustry.world.ColorMapper; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.defense.Wall; -import io.anuke.arc.util.*; import static io.anuke.mindustry.Vars.*; @@ -71,7 +75,7 @@ public class Sectors{ playSector(sector); if(!headless){ - threads.runGraphics(() -> ui.showError("$text.sector.corrupted")); + ui.showError("$text.sector.corrupted"); } } } @@ -82,7 +86,7 @@ public class Sectors{ } public Sector get(int position){ - return grid.get(Bits.getLeftShort(position), Bits.getRightShort(position)); + return grid.get(Pack.leftShort(position), Pack.rightShort(position)); } public Iterable getSectors(){ @@ -111,7 +115,7 @@ public class Sectors{ Sector sector = get(x, y); sector.complete = true; - for(GridPoint2 g : Geometry.d4){ + for(Point2 g : Geometry.d4){ createSector(x + g.x, y + g.y); } } @@ -130,7 +134,7 @@ public class Sectors{ grid.put(sector.x, sector.y, sector); if(sector.texture == null){ - threads.runGraphics(() -> createTexture(sector)); + createTexture(sector); } if(sector.missions.size == 0){ @@ -148,7 +152,7 @@ public class Sectors{ grid.put(sector.x, sector.y, sector); - threads.runGraphics(() -> createTexture(sector)); + createTexture(sector); save(); } @@ -245,14 +249,14 @@ public class Sectors{ Generation gen = new Generation(sector, null, sectorSize, sectorSize, null); - Array points = new Array<>(); + Array points = new Array<>(); for(Mission mission : sector.missions){ points.addAll(mission.getSpawnPoints(gen)); } GenResult result = new GenResult(); - for(GridPoint2 point : new ArrayIterable<>(points)){ + for(Point2 point : new ArrayIterable<>(points)){ world.generator.generateTile(result, sector.x, sector.y, point.x, point.y, true, null, null); if(((Floor)result.floor).isLiquid || result.wall.solid){ sector.missions.clear(); diff --git a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java index a6723fcaa7..cdf72427f6 100644 --- a/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/FortressGenerator.java @@ -1,10 +1,14 @@ package io.anuke.mindustry.maps.generation; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.Vector2; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.IntIntMap; -import io.anuke.arc.util.Predicate; +import io.anuke.arc.collection.IntIntMap; +import io.anuke.arc.function.BiFunction; +import io.anuke.arc.function.IntPositionConsumer; +import io.anuke.arc.function.Predicate; +import io.anuke.arc.function.TriFunction; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.Liquids; import io.anuke.mindustry.content.blocks.*; @@ -29,11 +33,6 @@ import io.anuke.mindustry.world.blocks.power.SolarGenerator; import io.anuke.mindustry.world.blocks.storage.CoreBlock; import io.anuke.mindustry.world.blocks.storage.StorageBlock; import io.anuke.mindustry.world.blocks.units.UnitFactory; -import io.anuke.arc.function.BiFunction; -import io.anuke.arc.function.IntPositionConsumer; -import io.anuke.arc.function.TriFunction; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.content; @@ -83,11 +82,11 @@ public class FortressGenerator{ } TriFunction, Boolean> checker = (current, block, pred) -> { - for(GridPoint2 point : Edges.getEdges(block.size)){ + for(Point2 point : Edges.getEdges(block.size)){ Tile tile = gen.tile(current.x + point.x, current.y + point.y); if(tile != null){ tile = tile.target(); - if(tile.getTeamID() == team.ordinal() && pred.evaluate(tile)){ + if(tile.getTeamID() == team.ordinal() && pred.test(tile)){ return true; } } @@ -160,7 +159,7 @@ public class FortressGenerator{ (x, y) -> { if(!gen.canPlace(x, y, wall)) return; - for(GridPoint2 point : Geometry.d8){ + for(Point2 point : Geometry.d8){ Tile tile = gen.tile(x + point.x, y + point.y); if(tile != null){ tile = tile.target(); @@ -211,7 +210,7 @@ public class FortressGenerator{ Array find(Predicate pred){ Array out = new Array<>(); for(Block block : content.blocks()){ - if(pred.evaluate(block) && Recipe.getByResult(block) != null){ + if(pred.test(block) && Recipe.getByResult(block) != null){ out.add(block); } } diff --git a/core/src/io/anuke/mindustry/maps/generation/Generation.java b/core/src/io/anuke/mindustry/maps/generation/Generation.java index 0c40b71e20..9b94229acb 100644 --- a/core/src/io/anuke/mindustry/maps/generation/Generation.java +++ b/core/src/io/anuke/mindustry/maps/generation/Generation.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.maps.generation; +import io.anuke.arc.math.RandomXS128; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.type.Item; @@ -7,15 +8,14 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.production.Drill; import io.anuke.arc.util.Structs; -import io.anuke.arc.util.SeedRandom; public class Generation{ public final Sector sector; public final Tile[][] tiles; public final int width, height; - public final SeedRandom random; + public final RandomXS128 random; - public Generation(Sector sector, Tile[][] tiles, int width, int height, SeedRandom random){ + public Generation(Sector sector, Tile[][] tiles, int width, int height, RandomXS128 random){ this.sector = sector; this.tiles = tiles; this.width = width; diff --git a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java index 2e1603d4b0..d397cd83c5 100644 --- a/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java +++ b/core/src/io/anuke/mindustry/maps/generation/WorldGenerator.java @@ -1,10 +1,15 @@ package io.anuke.mindustry.maps.generation; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.Vector2; import io.anuke.arc.collection.Array; -import io.anuke.arc.util.IntArray; +import io.anuke.arc.collection.IntArray; import io.anuke.arc.collection.ObjectMap; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.RandomXS128; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2; +import io.anuke.arc.util.Structs; +import io.anuke.arc.util.noise.RidgedPerlin; +import io.anuke.arc.util.noise.Simplex; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.content.blocks.OreBlocks; @@ -21,12 +26,6 @@ import io.anuke.mindustry.world.Pos; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.Floor; import io.anuke.mindustry.world.blocks.OreBlock; -import io.anuke.arc.noise.RidgedPerlin; -import io.anuke.arc.noise.Simplex; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.SeedRandom; -import io.anuke.arc.util.Structs; import static io.anuke.mindustry.Vars.*; @@ -39,13 +38,13 @@ public class WorldGenerator{ private Simplex sim2 = new Simplex(baseSeed + 1); private Simplex sim3 = new Simplex(baseSeed + 2); private RidgedPerlin rid = new RidgedPerlin(baseSeed + 4, 1); - private SeedRandom random = new SeedRandom(baseSeed + 3); + private RandomXS128 random = new RandomXS128(baseSeed + 3); private GenResult result = new GenResult(); private ObjectMap decoration; public WorldGenerator(){ - decoration = Structs.map( + decoration = ObjectMap.of( Blocks.grass, Blocks.shrub, Blocks.stone, Blocks.rock, Blocks.ice, Blocks.icerock, @@ -149,15 +148,15 @@ public class WorldGenerator{ int sy = (short)Mathf.range(Short.MAX_VALUE/2); int width = 380; int height = 380; - Array spawns = new Array<>(); + Array spawns = new Array<>(); Array ores = Item.getAllOres(); if(state.mode.isPvp){ int scaling = 10; - spawns.add(new GridPoint2(width/scaling, height/scaling)); - spawns.add(new GridPoint2(width - 1 - width/scaling, height - 1 - height/scaling)); + spawns.add(new Point2(width/scaling, height/scaling)); + spawns.add(new Point2(width - 1 - width/scaling, height - 1 - height/scaling)); }else{ - spawns.add(new GridPoint2(width/2, height/2)); + spawns.add(new Point2(width/2, height/2)); } Tile[][] tiles = world.createTiles(width, height); @@ -179,7 +178,7 @@ public class WorldGenerator{ byte elevation = tile.getElevation(); - for(GridPoint2 point : Geometry.d4){ + for(Point2 point : Geometry.d4){ if(!Structs.inBounds(x + point.x, y + point.y, width, height)) continue; if(tiles[x + point.x][y + point.y].getElevation() < elevation){ @@ -220,7 +219,7 @@ public class WorldGenerator{ ores.addAll(baseOres); }else{ for(Item item : usedOres){ - ores.add(baseOres.select(entry -> entry.item == item).iterator().next()); + ores.add(baseOres.find(entry -> entry.item == item)); } } @@ -249,9 +248,9 @@ public class WorldGenerator{ public void generateMap(Tile[][] tiles, Sector sector){ int width = tiles.length, height = tiles[0].length; - SeedRandom rnd = new SeedRandom(sector.getSeed()); + RandomXS128 rnd = new RandomXS128(sector.getSeed()); Generation gena = new Generation(sector, tiles, tiles.length, tiles[0].length, rnd); - Array spawnpoints = sector.currentMission().getSpawnPoints(gena); + Array spawnpoints = sector.currentMission().getSpawnPoints(gena); Array ores = world.sectors.getOres(sector.x, sector.y); for(int x = 0; x < width; x++){ @@ -268,7 +267,7 @@ public class WorldGenerator{ byte elevation = tile.getElevation(); - for(GridPoint2 point : Geometry.d4){ + for(Point2 point : Geometry.d4){ if(!Structs.inBounds(x + point.x, y + point.y, width, height)) continue; if(tiles[x + point.x][y + point.y].getElevation() < elevation){ @@ -317,7 +316,7 @@ public class WorldGenerator{ * @param spawnpoints list of player spawnpoints, can be null * @return the GenResult passed in with its values modified */ - public GenResult generateTile(GenResult result, int sectorX, int sectorY, int localX, int localY, boolean detailed, Array spawnpoints, Array ores){ + public GenResult generateTile(GenResult result, int sectorX, int sectorY, int localX, int localY, boolean detailed, Array spawnpoints, Array ores){ int x = sectorX * sectorSize + localX + Short.MAX_VALUE; int y = sectorY * sectorSize + localY + Short.MAX_VALUE; @@ -338,7 +337,7 @@ public class WorldGenerator{ float minDst = Float.MAX_VALUE; if(detailed && spawnpoints != null){ - for(GridPoint2 p : spawnpoints){ + for(Point2 p : spawnpoints){ float dst = Mathf.dst2(p.x, p.y, localX, localY); minDst = Math.min(minDst, dst); diff --git a/core/src/io/anuke/mindustry/maps/missions/ActionMission.java b/core/src/io/anuke/mindustry/maps/missions/ActionMission.java index 668232c12d..8b89eabd1e 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ActionMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ActionMission.java @@ -1,8 +1,6 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.arc.util.Bundles; - -import static io.anuke.mindustry.Vars.threads; +import io.anuke.arc.Core; /**A mission which simply runs a single action and is completed instantly.*/ public class ActionMission extends Mission{ @@ -17,7 +15,7 @@ public class ActionMission extends Mission{ @Override public void onComplete(){ - threads.run(runner); + runner.run(); } @Override diff --git a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java index db19db6248..dd3f0c84ee 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BattleMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BattleMission.java @@ -1,16 +1,17 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.Core; import io.anuke.arc.collection.Array; +import io.anuke.arc.math.geom.Point2; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.FortressGenerator; import io.anuke.mindustry.maps.generation.Generation; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.Bundles; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Vars.defaultTeam; +import static io.anuke.mindustry.Vars.state; public class BattleMission extends MissionWithStartingCore{ final int spacing = 30; @@ -47,8 +48,8 @@ public class BattleMission extends MissionWithStartingCore{ } @Override - public Array getSpawnPoints(Generation gen){ - return Array.with(new GridPoint2(50, 50), new GridPoint2(gen.width - 1 - spacing, gen.height - 1 - spacing)); + public Array getSpawnPoints(Generation gen){ + return Array.with(new Point2(50, 50), new Point2(gen.width - 1 - spacing, gen.height - 1 - spacing)); } @Override diff --git a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java index 5e19165e15..929c9b07af 100644 --- a/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/BlockLocMission.java @@ -1,17 +1,15 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.world.Block; -import io.anuke.arc.util.Time; +import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.Draw; import io.anuke.arc.graphics.g2d.Lines; -import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Bundles; +import io.anuke.arc.math.Angles; import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Time; +import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.world.Block; -import static io.anuke.mindustry.Vars.players; -import static io.anuke.mindustry.Vars.tilesize; -import static io.anuke.mindustry.Vars.world; +import static io.anuke.mindustry.Vars.*; public class BlockLocMission extends Mission{ private final Block block; @@ -44,18 +42,18 @@ public class BlockLocMission extends Mission{ if(block.rotate){ Draw.colorl(0.4f); - Draw.rect("icon-arrow", x * tilesize + block.offset(), y * tilesize + block.offset() - 1f, rotation*90); + Draw.rect("icon-arrow", x * tilesize + block.offset(), y * tilesize + block.offset() - 1f).rot(rotation*90); Draw.colorl(0.6f); - Draw.rect("icon-arrow", x * tilesize + block.offset(), y * tilesize + block.offset(), rotation*90); + Draw.rect("icon-arrow", x * tilesize + block.offset(), y * tilesize + block.offset()).rot(rotation*90); } float rot = players[0].angleTo(x * tilesize + block.offset(), y * tilesize + block.offset()); float len = 12f; Draw.color(Palette.accentBack); - Draw.rect("icon-arrow", players[0].x + Angles.trnsx(rot, len), players[0].y + Angles.trnsy(rot, len), rot); + Draw.rect("icon-arrow", players[0].x + Angles.trnsx(rot, len), players[0].y + Angles.trnsy(rot, len)).rot(rot); Draw.color(Palette.accent); - Draw.rect("icon-arrow", players[0].x + Angles.trnsx(rot, len), players[0].y + Angles.trnsy(rot, len) + 1f, rot); + Draw.rect("icon-arrow", players[0].x + Angles.trnsx(rot, len), players[0].y + Angles.trnsy(rot, len) + 1f).rot(rot); Draw.reset(); } diff --git a/core/src/io/anuke/mindustry/maps/missions/CommandMission.java b/core/src/io/anuke/mindustry/maps/missions/CommandMission.java index 44c2ca59e7..51fdb65831 100644 --- a/core/src/io/anuke/mindustry/maps/missions/CommandMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/CommandMission.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.maps.missions; +import io.anuke.arc.Core; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.UnitCommand; -import io.anuke.arc.util.Bundles; public class CommandMission extends Mission{ private final UnitCommand command; diff --git a/core/src/io/anuke/mindustry/maps/missions/ContentMission.java b/core/src/io/anuke/mindustry/maps/missions/ContentMission.java index 1b93ebe1da..9b78064802 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ContentMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ContentMission.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.maps.missions; +import io.anuke.arc.Core; import io.anuke.mindustry.game.UnlockableContent; -import io.anuke.arc.util.Bundles; public class ContentMission extends Mission { private final UnlockableContent content; diff --git a/core/src/io/anuke/mindustry/maps/missions/ItemMission.java b/core/src/io/anuke/mindustry/maps/missions/ItemMission.java index 2b628828a3..071e3ca447 100644 --- a/core/src/io/anuke/mindustry/maps/missions/ItemMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/ItemMission.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.maps.missions; +import io.anuke.arc.Core; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.state; diff --git a/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java b/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java index 0c9d3c8baa..83a8f99822 100644 --- a/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/LineBlockMission.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.arc.math.Bresenham2; -import io.anuke.arc.math.GridPoint2; import io.anuke.arc.collection.Array; +import io.anuke.arc.math.geom.Bresenham2; +import io.anuke.arc.math.geom.Point2; import io.anuke.mindustry.world.Block; public class LineBlockMission extends Mission{ @@ -10,8 +10,8 @@ public class LineBlockMission extends Mission{ private int completeIndex; public LineBlockMission(Block block, int x1, int y1, int x2, int y2, int rotation){ - Array points = new Bresenham2().line(x1, y1, x2, y2); - for(GridPoint2 point : points){ + Array points = new Bresenham2().line(x1, y1, x2, y2); + for(Point2 point : points){ this.points.add(new BlockLocMission(block, point.x, point.y, rotation)); } } diff --git a/core/src/io/anuke/mindustry/maps/missions/MechMission.java b/core/src/io/anuke/mindustry/maps/missions/MechMission.java index 645891a7d6..36bfe0a952 100644 --- a/core/src/io/anuke/mindustry/maps/missions/MechMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/MechMission.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.maps.missions; +import io.anuke.arc.Core; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.type.Mech; -import io.anuke.arc.util.Bundles; public class MechMission extends Mission{ private final Mech mech; diff --git a/core/src/io/anuke/mindustry/maps/missions/Mission.java b/core/src/io/anuke/mindustry/maps/missions/Mission.java index cc56926a89..ebf91d81ab 100644 --- a/core/src/io/anuke/mindustry/maps/missions/Mission.java +++ b/core/src/io/anuke/mindustry/maps/missions/Mission.java @@ -1,17 +1,18 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.Core; import io.anuke.arc.collection.Array; +import io.anuke.arc.math.geom.Point2; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Time; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.SpawnGroup; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.maps.generation.Generation; -import io.anuke.arc.util.Time; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import static io.anuke.mindustry.Vars.*; +import static io.anuke.mindustry.Vars.headless; +import static io.anuke.mindustry.Vars.ui; public abstract class Mission{ private String extraMessage; @@ -81,7 +82,7 @@ public abstract class Mission{ public void onComplete(){ if(showComplete && !headless){ - threads.runGraphics(() -> ui.hudfrag.showToast("[LIGHT_GRAY]"+menuDisplayString() + ":\n" + Core.bundle.get("text.mission.complete"))); + ui.hudfrag.showToast("[LIGHT_GRAY]"+menuDisplayString() + ":\n" + Core.bundle.get("text.mission.complete")); } } @@ -93,7 +94,7 @@ public abstract class Mission{ return new Array<>(); } - public Array getSpawnPoints(Generation gen){ + public Array getSpawnPoints(Generation gen){ return Array.with(); } diff --git a/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java b/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java index cacdf19d40..24a086d02a 100644 --- a/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java +++ b/core/src/io/anuke/mindustry/maps/missions/MissionWithStartingCore.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.maps.missions; -import io.anuke.arc.math.GridPoint2; +import io.anuke.arc.math.geom.Point2; import io.anuke.arc.collection.Array; import io.anuke.mindustry.content.blocks.StorageBlocks; import io.anuke.mindustry.game.Team; @@ -11,7 +11,7 @@ import static io.anuke.mindustry.Vars.state; public abstract class MissionWithStartingCore extends Mission{ /** Stores a custom starting location for the core, or null if the default calculation (map center) shall be used. */ - private final GridPoint2 customStartingPoint; + private final Point2 customStartingPoint; /** Default constructor. Missions created this way will have a player starting core in the center of the map. */ MissionWithStartingCore(){ @@ -24,7 +24,7 @@ public abstract class MissionWithStartingCore extends Mission{ * @param yCorePos The y coordinate of the custom core position. */ MissionWithStartingCore(int xCorePos, int yCorePos){ - this.customStartingPoint = new GridPoint2(xCorePos, yCorePos); + this.customStartingPoint = new Point2(xCorePos, yCorePos); } /** @@ -33,7 +33,7 @@ public abstract class MissionWithStartingCore extends Mission{ * @param team The team to generate the core for. */ public void generateCoreAtFirstSpawnPoint(Generation gen, Team team){ - Array spawnPoints = getSpawnPoints(gen); + Array spawnPoints = getSpawnPoints(gen); if(spawnPoints == null || spawnPoints.size == 0){ throw new IllegalArgumentException("A MissionWithStartingCore subclass did not provide a spawn point in getSpawnPoints(). However, at least one point must always be provided."); } @@ -58,9 +58,9 @@ public abstract class MissionWithStartingCore extends Mission{ * @implNote Must return an array with at least one entry. */ @Override - public Array getSpawnPoints(Generation gen){ + public Array getSpawnPoints(Generation gen){ if(this.customStartingPoint == null){ - return Array.with(new GridPoint2(gen.width / 2, gen.height / 2)); + return Array.with(new Point2(gen.width / 2, gen.height / 2)); }else{ return Array.with(this.customStartingPoint); } diff --git a/core/src/io/anuke/mindustry/maps/missions/UnitMission.java b/core/src/io/anuke/mindustry/maps/missions/UnitMission.java index 09465a1644..8e63dd98d9 100644 --- a/core/src/io/anuke/mindustry/maps/missions/UnitMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/UnitMission.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.maps.missions; +import io.anuke.arc.Core; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.units.BaseUnit; import io.anuke.mindustry.entities.units.UnitType; -import io.anuke.arc.util.Bundles; public class UnitMission extends Mission{ private final UnitType type; diff --git a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java index f5c0e78090..545422f4df 100644 --- a/core/src/io/anuke/mindustry/maps/missions/WaveMission.java +++ b/core/src/io/anuke/mindustry/maps/missions/WaveMission.java @@ -1,5 +1,6 @@ package io.anuke.mindustry.maps.missions; +import io.anuke.arc.Core; import io.anuke.arc.collection.Array; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.SpawnGroup; @@ -7,7 +8,6 @@ import io.anuke.mindustry.game.Team; import io.anuke.mindustry.game.Waves; import io.anuke.mindustry.maps.Sector; import io.anuke.mindustry.maps.generation.Generation; -import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/net/Administration.java b/core/src/io/anuke/mindustry/net/Administration.java index 97f4b0b980..5d6745699b 100644 --- a/core/src/io/anuke/mindustry/net/Administration.java +++ b/core/src/io/anuke/mindustry/net/Administration.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.net; +import io.anuke.annotations.Annotations.Serialize; +import io.anuke.arc.Core; import io.anuke.arc.collection.Array; import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.collection.ObjectSet; -import io.anuke.annotations.Annotations.Serialize; -import io.anuke.arc.Settings; import static io.anuke.mindustry.Vars.headless; @@ -15,7 +15,7 @@ public class Administration{ private Array bannedIPs = new Array<>(); public Administration(){ - Core.settings.defaultList( + Core.settings.defaults( "strict", true ); @@ -23,7 +23,7 @@ public class Administration{ } public void setStrict(boolean on){ - Core.settings.putBool("strict", on); + Core.settings.put("strict", on); Core.settings.save(); } @@ -36,7 +36,7 @@ public class Administration{ } public void setCustomClients(boolean allowed){ - Core.settings.putBool("allow-custom", allowed); + Core.settings.put("allow-custom", allowed); Core.settings.save(); } diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index 0ea805bcb6..5c7a59f9f3 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -1,7 +1,10 @@ package io.anuke.mindustry.net; +import io.anuke.arc.Core; import io.anuke.arc.collection.ObjectMap; -import io.anuke.arc.util.ObjectMap.Entry; +import io.anuke.arc.collection.ObjectMap.Entry; +import io.anuke.arc.entities.Entities; +import io.anuke.arc.util.Pack; import io.anuke.arc.util.Time; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.entities.Player; @@ -14,10 +17,6 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.maps.MapMeta; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.blocks.BlockPart; -import io.anuke.arc.Core; -import io.anuke.arc.util.Time; -import io.anuke.arc.entities.Entities; -import io.anuke.arc.util.Bits; import java.io.*; import java.nio.ByteBuffer; @@ -66,7 +65,7 @@ public class NetworkIO{ if(tile.block() instanceof BlockPart){ stream.writeByte(tile.link); }else if(tile.entity != null){ - stream.writeByte(Bits.packByte(tile.getTeamID(), tile.getRotation())); //team + rotation + stream.writeByte(Pack.byteByte(tile.getTeamID(), tile.getRotation())); //team + rotation stream.writeShort((short) tile.entity.health); //health if(tile.entity.items != null) tile.entity.items.write(stream); @@ -160,7 +159,7 @@ public class NetworkIO{ int missions = stream.readInt(); if(sector != invalidSector){ - world.sectors.createSector(Bits.getLeftShort(sector), Bits.getRightShort(sector)); + world.sectors.createSector(Pack.leftShort(sector), Pack.rightShort(sector)); world.setSector(world.sectors.get(sector)); world.getSector().completedMissions = missions; }else{ @@ -218,8 +217,8 @@ public class NetworkIO{ byte tr = stream.readByte(); short health = stream.readShort(); - byte team = Bits.getLeftByte(tr); - byte rotation = Bits.getRightByte(tr); + byte team = Pack.leftByte(tr); + byte rotation = Pack.rightByte(tr); tile.setTeam(Team.all[team]); tile.entity.health = health; @@ -281,7 +280,7 @@ public class NetworkIO{ } if(team == players[0].getTeam() && cores > 0){ - Core.camera.position.set(state.teams.get(team).cores.first().drawx(), state.teams.get(team).cores.first().drawy(), 0); + Core.camera.position.set(state.teams.get(team).cores.first().drawx(), state.teams.get(team).cores.first().drawy()); } } diff --git a/core/src/io/anuke/mindustry/net/Packet.java b/core/src/io/anuke/mindustry/net/Packet.java index ea58b85f26..f5feb59c94 100644 --- a/core/src/io/anuke/mindustry/net/Packet.java +++ b/core/src/io/anuke/mindustry/net/Packet.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.net; -import io.anuke.arc.util.Pool.Poolable; +import io.anuke.arc.util.pooling.Pool.Poolable; import java.nio.ByteBuffer; diff --git a/core/src/io/anuke/mindustry/net/Packets.java b/core/src/io/anuke/mindustry/net/Packets.java index c830f9a76b..a2a4475493 100644 --- a/core/src/io/anuke/mindustry/net/Packets.java +++ b/core/src/io/anuke/mindustry/net/Packets.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.net; -import io.anuke.arc.util.Base64Coder; +import io.anuke.arc.Core; +import io.anuke.arc.util.serialization.Base64Coder; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.io.TypeIO; -import io.anuke.arc.util.Bundles; import java.nio.ByteBuffer; diff --git a/core/src/io/anuke/mindustry/net/Registrator.java b/core/src/io/anuke/mindustry/net/Registrator.java index 2c76e3dd30..6430a686a9 100644 --- a/core/src/io/anuke/mindustry/net/Registrator.java +++ b/core/src/io/anuke/mindustry/net/Registrator.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.net; -import io.anuke.arc.util.ObjectIntMap; -import io.anuke.mindustry.net.Packets.*; +import io.anuke.arc.collection.ObjectIntMap; import io.anuke.arc.function.Supplier; +import io.anuke.mindustry.net.Packets.*; public class Registrator{ private static ClassEntry[] classes = { diff --git a/core/src/io/anuke/mindustry/type/Item.java b/core/src/io/anuke/mindustry/type/Item.java index 77ed6e92dd..b4e461d4ff 100644 --- a/core/src/io/anuke/mindustry/type/Item.java +++ b/core/src/io/anuke/mindustry/type/Item.java @@ -1,17 +1,16 @@ package io.anuke.mindustry.type; +import io.anuke.arc.Core; +import io.anuke.arc.collection.Array; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.collection.Array; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Strings; public class Item extends UnlockableContent implements Comparable{ public final String name; diff --git a/core/src/io/anuke/mindustry/type/Liquid.java b/core/src/io/anuke/mindustry/type/Liquid.java index e462cf0563..b857b7ffc2 100644 --- a/core/src/io/anuke/mindustry/type/Liquid.java +++ b/core/src/io/anuke/mindustry/type/Liquid.java @@ -1,13 +1,12 @@ package io.anuke.mindustry.type; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.scene.ui.layout.Table; import io.anuke.mindustry.content.StatusEffects; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; public class Liquid extends UnlockableContent{ public final Color color; diff --git a/core/src/io/anuke/mindustry/type/Mech.java b/core/src/io/anuke/mindustry/type/Mech.java index e7bb604f53..7abf1a8e3c 100644 --- a/core/src/io/anuke/mindustry/type/Mech.java +++ b/core/src/io/anuke/mindustry/type/Mech.java @@ -1,15 +1,14 @@ package io.anuke.mindustry.type; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.scene.ui.layout.Table; import io.anuke.mindustry.content.Weapons; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.UnlockableContent; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.ui.ContentDisplay; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; public class Mech extends UnlockableContent{ public final String name; diff --git a/core/src/io/anuke/mindustry/type/Recipe.java b/core/src/io/anuke/mindustry/type/Recipe.java index 9b6497752a..2ac7590bd6 100644 --- a/core/src/io/anuke/mindustry/type/Recipe.java +++ b/core/src/io/anuke/mindustry/type/Recipe.java @@ -1,9 +1,13 @@ package io.anuke.mindustry.type; -import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.Core; import io.anuke.arc.collection.Array; import io.anuke.arc.collection.ObjectMap; -import io.anuke.arc.util.OrderedMap; +import io.anuke.arc.collection.OrderedMap; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Log; +import io.anuke.arc.util.Strings; import io.anuke.mindustry.Vars; import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.UnlockableContent; @@ -12,10 +16,6 @@ import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.ContentStatValue; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Strings; import java.util.Arrays; diff --git a/core/src/io/anuke/mindustry/type/Weapon.java b/core/src/io/anuke/mindustry/type/Weapon.java index 1c4aa78ffe..d15ef9a3ae 100644 --- a/core/src/io/anuke/mindustry/type/Weapon.java +++ b/core/src/io/anuke/mindustry/type/Weapon.java @@ -1,8 +1,14 @@ package io.anuke.mindustry.type; -import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; +import io.anuke.arc.Core; +import io.anuke.arc.entities.Effects; +import io.anuke.arc.entities.Effects.Effect; +import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.math.Angles; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; import io.anuke.mindustry.Vars; import io.anuke.mindustry.content.fx.Fx; import io.anuke.mindustry.entities.Player; @@ -11,13 +17,6 @@ import io.anuke.mindustry.entities.traits.ShooterTrait; import io.anuke.mindustry.game.Content; import io.anuke.mindustry.gen.Call; import io.anuke.mindustry.net.Net; -import io.anuke.arc.entities.Effects; -import io.anuke.arc.entities.Effects.Effect; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.util.Angles; -import io.anuke.arc.util.Log; -import io.anuke.arc.math.Mathf; -import io.anuke.arc.util.Vector2; public class Weapon extends Content{ public final String name; diff --git a/core/src/io/anuke/mindustry/ui/BorderImage.java b/core/src/io/anuke/mindustry/ui/BorderImage.java index 9738bc83dd..2b479a1980 100644 --- a/core/src/io/anuke/mindustry/ui/BorderImage.java +++ b/core/src/io/anuke/mindustry/ui/BorderImage.java @@ -1,7 +1,6 @@ package io.anuke.mindustry.ui; import io.anuke.arc.graphics.Texture; -import io.anuke.arc.graphics.g2d.Batch; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.mindustry.graphics.Palette; import io.anuke.arc.graphics.g2d.Draw; @@ -31,8 +30,8 @@ public class BorderImage extends Image{ } @Override - public void draw(Batch batch, float alpha){ - super.draw(batch, alpha); + public void draw(){ + super.draw(); float scaleX = getScaleX(); float scaleY = getScaleY(); diff --git a/core/src/io/anuke/mindustry/ui/ContentDisplay.java b/core/src/io/anuke/mindustry/ui/ContentDisplay.java index 62b9d3fe39..1b416388d9 100644 --- a/core/src/io/anuke/mindustry/ui/ContentDisplay.java +++ b/core/src/io/anuke/mindustry/ui/ContentDisplay.java @@ -1,7 +1,10 @@ package io.anuke.mindustry.ui; +import io.anuke.arc.Core; +import io.anuke.arc.collection.OrderedMap; import io.anuke.arc.graphics.Color; -import io.anuke.arc.util.OrderedMap; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Strings; import io.anuke.mindustry.entities.units.UnitType; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.type.Item; @@ -13,10 +16,6 @@ import io.anuke.mindustry.world.meta.BlockStat; import io.anuke.mindustry.world.meta.BlockStats; import io.anuke.mindustry.world.meta.StatCategory; import io.anuke.mindustry.world.meta.StatValue; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Strings; public class ContentDisplay{ diff --git a/core/src/io/anuke/mindustry/ui/GridImage.java b/core/src/io/anuke/mindustry/ui/GridImage.java index 2f5260635e..f0e6704cb7 100644 --- a/core/src/io/anuke/mindustry/ui/GridImage.java +++ b/core/src/io/anuke/mindustry/ui/GridImage.java @@ -1,8 +1,6 @@ package io.anuke.mindustry.ui; -import io.anuke.arc.graphics.g2d.Batch; -import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.scene.Element; public class GridImage extends Element{ @@ -13,9 +11,8 @@ public class GridImage extends Element{ this.imageHeight = h; } - public void draw(Batch batch, float alpha){ - TextureRegion blank = Core.atlas.find("white"); - + @Override + public void draw(){ float xspace = (getWidth() / imageWidth); float yspace = (getHeight() / imageHeight); float s = 1f; @@ -26,11 +23,11 @@ public class GridImage extends Element{ int jumpy = (int) (Math.max(minspace, yspace) / yspace); for(int x = 0; x <= imageWidth; x += jumpx){ - batch.draw(blank, (int) (getX() + xspace * x - s), getY() - s, 2, getHeight() + (x == imageWidth ? 1 : 0)); + Fill.rect().set((int) (getX() + xspace * x - s), getY() - s, 2, getHeight() + (x == imageWidth ? 1 : 0)); } for(int y = 0; y <= imageHeight; y += jumpy){ - batch.draw(blank, getX() - s, (int) (getY() + y * yspace - s), getWidth(), 2); + Fill.rect().set(getX() - s, (int) (getY() + y * yspace - s), getWidth(), 2); } } diff --git a/core/src/io/anuke/mindustry/ui/IntFormat.java b/core/src/io/anuke/mindustry/ui/IntFormat.java index 2dd7eccaa6..cdf1e529ad 100644 --- a/core/src/io/anuke/mindustry/ui/IntFormat.java +++ b/core/src/io/anuke/mindustry/ui/IntFormat.java @@ -1,6 +1,7 @@ package io.anuke.mindustry.ui; -import io.anuke.arc.util.Bundles; + +import io.anuke.arc.Core; /** * A low-garbage way to format bundle strings. diff --git a/core/src/io/anuke/mindustry/ui/Links.java b/core/src/io/anuke/mindustry/ui/Links.java index 747a7ef213..b6e74be5ec 100644 --- a/core/src/io/anuke/mindustry/ui/Links.java +++ b/core/src/io/anuke/mindustry/ui/Links.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; -import io.anuke.arc.util.Bundles; public class Links{ private static LinkEntry[] links; diff --git a/core/src/io/anuke/mindustry/ui/Minimap.java b/core/src/io/anuke/mindustry/ui/Minimap.java index 354cb5b031..011b8916a2 100644 --- a/core/src/io/anuke/mindustry/ui/Minimap.java +++ b/core/src/io/anuke/mindustry/ui/Minimap.java @@ -1,15 +1,14 @@ package io.anuke.mindustry.ui; -import io.anuke.arc.graphics.Texture.TextureFilter; -import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.mindustry.graphics.Shaders; import io.anuke.arc.Core; -import io.anuke.arc.Graphics; +import io.anuke.arc.graphics.Texture.TextureFilter; import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.scene.ui.layout.Container; +import io.anuke.mindustry.graphics.Shaders; import static io.anuke.mindustry.Vars.*; @@ -23,7 +22,7 @@ public class Minimap extends Container{ public void draw(){ if(renderer.minimap.getRegion() == null) return; - Draw.crect(renderer.minimap.getRegion(), x, y, width, height); + Draw.rect().tex(renderer.minimap.getRegion()).set(x, y, width, height); if(renderer.minimap.getTexture() != null){ renderer.minimap.drawEntities(x, y, width, height); @@ -46,9 +45,9 @@ public class Minimap extends Container{ r.setU2(px2 / (world.width() + pad*2f)); r.setV2(1f - py2 / (world.height() + pad*2f)); - Graphics.shader(Shaders.fog); - Draw.crect(r, x, y, width, height); - Graphics.shader(); + Draw.shader(Shaders.fog); + Draw.rect().tex(r).set(x, y, width, height); + Draw.shader(); renderer.fog.getTexture().setFilter(TextureFilter.Linear, TextureFilter.Linear); } @@ -61,15 +60,16 @@ public class Minimap extends Container{ margin(5f); addListener(new InputListener(){ - public boolean scrolled(InputEvent event, float x, float y, int amount){ - renderer.minimap.zoomBy(amount); + @Override + public boolean scrolled(InputEvent event, float x, float y, float amountx, float amounty){ + renderer.minimap.zoomBy(amounty); return true; } }); update(() -> { - Element e = Core.scene.hit(Graphics.mouse().x, Graphics.mouse().y, true); + Element e = Core.scene.hit(Core.input.mouseX(), Core.input.mouseY(), true); if(e != null && e.isDescendantOf(this)){ Core.scene.setScrollFocus(this); }else if(Core.scene.getScrollFocus() == this){ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java index 431939a70d..ecf053bb8a 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ChangelogDialog.java @@ -2,15 +2,14 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.collection.Array; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.io.Changelogs; -import io.anuke.mindustry.io.Changelogs.VersionInfo; -import io.anuke.mindustry.game.Version; -import io.anuke.arc.Settings; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Log; import io.anuke.arc.util.OS; +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.game.Version; +import io.anuke.mindustry.io.Changelogs; +import io.anuke.mindustry.io.Changelogs.VersionInfo; import static io.anuke.mindustry.Vars.ios; @@ -79,7 +78,7 @@ public class ChangelogDialog extends FloatingDialog{ int lastid = Core.settings.getInt("lastBuild"); if(lastid != 0 && versions.peek().build > lastid){ - Core.settings.putInt("lastBuild", versions.peek().build); + Core.settings.put("lastBuild", versions.peek().build); Core.settings.save(); show(); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java index 4e3ced97d2..d6a8ebf665 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ColorPickDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.Input.Keys; -import io.anuke.arc.graphics.Color; import io.anuke.arc.function.Consumer; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.scene.ui.Dialog; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.scene.ui.layout.Table; @@ -38,7 +38,7 @@ public class ColorPickDialog extends Dialog{ } keyDown(key -> { - if(key == Keys.ESCAPE || key == Keys.BACK) + if(key == KeyCode.ESCAPE || key == KeyCode.BACK) hide(); }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java index 2c6563014f..249967f11e 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/ControlsDialog.java @@ -1,15 +1,16 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.Input.Keys; -import io.anuke.arc.util.Align; -import io.anuke.mindustry.graphics.Palette; +import io.anuke.arc.Core; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.scene.ui.Image; import io.anuke.arc.scene.ui.KeybindDialog; +import io.anuke.arc.util.Align; +import io.anuke.mindustry.graphics.Palette; public class ControlsDialog extends KeybindDialog{ public ControlsDialog(){ - setDialog(); + setStyle(Core.scene.skin.get("dialog", WindowStyle.class)); setFillParent(true); title().setAlignment(Align.center); @@ -23,7 +24,7 @@ public class ControlsDialog extends KeybindDialog{ buttons().addImageTextButton("$text.back", "icon-arrow-left", 30f, this::hide).size(230f, 64f); keyDown(key -> { - if(key == Keys.ESCAPE || key == Keys.BACK) + if(key == KeyCode.ESCAPE || key == KeyCode.BACK) hide(); }); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java index 14bfa623f3..713261bde6 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/CustomGameDialog.java @@ -2,20 +2,19 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.graphics.g2d.TextureRegion; -import io.anuke.arc.util.Align; -import io.anuke.arc.util.Scaling; -import io.anuke.mindustry.game.Difficulty; -import io.anuke.mindustry.game.GameMode; -import io.anuke.mindustry.maps.Map; -import io.anuke.mindustry.ui.BorderImage; +import io.anuke.arc.math.Mathf; import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.ImageButton; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Align; +import io.anuke.arc.util.Scaling; +import io.anuke.mindustry.game.Difficulty; +import io.anuke.mindustry.game.GameMode; +import io.anuke.mindustry.maps.Map; +import io.anuke.mindustry.ui.BorderImage; import static io.anuke.mindustry.Vars.*; @@ -76,7 +75,7 @@ public class CustomGameDialog extends FloatingDialog{ sdif.addButton("", () -> {}) .update(t -> { t.setText(state.difficulty.toString()); - t.setTouchable(Touchable.disabled); + t.touchable(Touchable.disabled); }).width(180f); sdif.addImageButton("icon-arrow-right", 10 * 3, () -> { diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java index ee8102f6c8..ed1b972a54 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FileChooser.java @@ -1,22 +1,22 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; -import io.anuke.arc.files.FileHandle; -import io.anuke.arc.graphics.g2d.GlyphLayout; -import io.anuke.arc.util.Align; import io.anuke.arc.collection.Array; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.core.Platform; -import io.anuke.arc.util.Time; +import io.anuke.arc.files.FileHandle; import io.anuke.arc.function.Consumer; import io.anuke.arc.function.Predicate; +import io.anuke.arc.graphics.g2d.GlyphLayout; import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.*; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.Align; import io.anuke.arc.util.OS; -import io.anuke.arc.util.Pooling; +import io.anuke.arc.util.Time; +import io.anuke.arc.util.pooling.Pools; +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.core.Platform; import java.util.Arrays; @@ -73,7 +73,7 @@ public class FileChooser extends FloatingDialog{ cancel.clicked(this::hide); navigation = new TextField(""); - navigation.setTouchable(Touchable.disabled); + navigation.touchable(Touchable.disabled); files = new Table(); files.marginRight(10); @@ -180,7 +180,7 @@ public class FileChooser extends FloatingDialog{ GlyphLayout layout = Pools.obtain(GlyphLayout.class, GlyphLayout::new); - layout.setText(Core.font, navigation.getText()); + layout.setText(Core.scene.skin.getFont("default-font"), navigation.getText()); if(layout.width < navigation.getWidth()){ navigation.setCursorPosition(0); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java index 30eca7e8c9..1f7c789d38 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/FloatingDialog.java @@ -1,7 +1,7 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; -import io.anuke.arc.Input.Keys; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.util.Align; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.EventType.ResizeEvent; @@ -66,7 +66,7 @@ public class FloatingDialog extends Dialog{ buttons().addImageTextButton("$text.back", "icon-arrow-left", 30f, this::hide).size(230f, 64f); keyDown(key -> { - if(key == Keys.ESCAPE || key == Keys.BACK) { + if(key == KeyCode.ESCAPE || key == KeyCode.BACK) { Core.app.post(this::hide); } }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java index c20e6ce973..1b59bfd1f0 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/GenViewDialog.java @@ -1,23 +1,23 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; +import io.anuke.arc.Graphics.Cursor.SystemCursor; +import io.anuke.arc.collection.Array; +import io.anuke.arc.collection.GridMap; import io.anuke.arc.graphics.Pixmap; import io.anuke.arc.graphics.Pixmap.Format; import io.anuke.arc.graphics.Texture; -import io.anuke.arc.collection.Array; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.input.KeyCode; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.event.InputEvent; +import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.util.async.AsyncExecutor; import io.anuke.mindustry.content.Items; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.generation.WorldGenerator.GenResult; import io.anuke.mindustry.type.Item; import io.anuke.mindustry.world.ColorMapper; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.scene.Element; -import io.anuke.arc.scene.event.InputEvent; -import io.anuke.arc.scene.event.InputListener; -import io.anuke.arc.scene.utils.Cursors; -import io.anuke.arc.util.GridMap; -import io.anuke.arc.math.Mathf; import static io.anuke.mindustry.Vars.sectorSize; import static io.anuke.mindustry.Vars.world; @@ -37,13 +37,13 @@ public class GenViewDialog extends FloatingDialog{ float panX, panY; float lastX, lastY; int viewsize = 3; - AsyncExecutor async = new AsyncExecutor(Mathf.sqr(viewsize*2)); + AsyncExecutor async = new AsyncExecutor(viewsize*2 * viewsize*2); { addListener(new InputListener(){ @Override - public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){ - Cursors.setHand(); + public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){ + Core.graphics.cursor(SystemCursor.hand); lastX = x; lastY = y; return true; @@ -59,8 +59,8 @@ public class GenViewDialog extends FloatingDialog{ } @Override - public void touchUp(InputEvent event, float x, float y, int pointer, int button){ - Cursors.restoreCursor(); + public void touchUp(InputEvent event, float x, float y, int pointer, KeyCode button){ + Core.graphics.restoreCursor(); } }); } @@ -99,7 +99,7 @@ public class GenViewDialog extends FloatingDialog{ float drawX = x + width/2f+ wx * padSectorSize - tx * padSectorSize - panX % padSectorSize; float drawY = y + height/2f + wy * padSectorSize - ty * padSectorSize - panY % padSectorSize; - Draw.rect(map.get(wx, wy), drawX, drawY, padSectorSize, padSectorSize); + Draw.rect().tex(map.get(wx, wy)).set(drawX, drawY, padSectorSize, padSectorSize); } } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java index f81476609a..5ea199b75d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/HostDialog.java @@ -1,14 +1,13 @@ package io.anuke.mindustry.ui.dialogs; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; +import io.anuke.arc.scene.ui.ImageButton; +import io.anuke.arc.util.Strings; +import io.anuke.arc.util.Time; import io.anuke.mindustry.Vars; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.net.Net; -import io.anuke.arc.Settings; -import io.anuke.arc.util.Time; -import io.anuke.arc.scene.ui.ImageButton; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Strings; import java.io.IOException; @@ -37,7 +36,7 @@ public class HostDialog extends FloatingDialog{ ImageButton button = t.addImageButton("white", "clear-full", 40, () -> { new ColorPickDialog().show(color -> { player.color.set(color); - Core.settings.putInt("color-0", Color.rgba8888(color)); + Core.settings.put("color-0", Color.rgba8888(color)); Core.settings.save(); }); }).size(54f).get(); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java index a1f7fc352c..e7ec90ffdd 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/JoinDialog.java @@ -1,24 +1,23 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.MathUtils; -import io.anuke.arc.collection.Array; import io.anuke.annotations.Annotations.Serialize; +import io.anuke.arc.Core; +import io.anuke.arc.collection.Array; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.scene.style.Drawable; +import io.anuke.arc.scene.ui.*; +import io.anuke.arc.scene.ui.layout.Cell; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.Strings; +import io.anuke.arc.util.Time; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.game.Version; import io.anuke.mindustry.net.Host; import io.anuke.mindustry.net.Net; -import io.anuke.arc.Settings; -import io.anuke.arc.util.Time; -import io.anuke.arc.scene.style.Drawable; -import io.anuke.arc.scene.ui.*; -import io.anuke.arc.scene.ui.layout.Cell; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.scene.utils.UIUtils; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Strings; import static io.anuke.mindustry.Vars.*; @@ -48,7 +47,7 @@ public class JoinDialog extends FloatingDialog{ add.content().add("$text.joingame.ip").padRight(5f).left(); TextField field = add.content().addField(Core.settings.getString("ip"), text -> { - Core.settings.putString("ip", text); + Core.settings.put("ip", text); Core.settings.save(); }).size(320f, 54f).get(); @@ -145,7 +144,7 @@ public class JoinDialog extends FloatingDialog{ void refreshServer(Server server){ server.content.clear(); - server.content.label(() -> Core.bundle.get("text.server.refreshing") + Strings.animated(4, 11, ".")); + server.content.label(() -> Core.bundle.get("text.server.refreshing") + Strings.animated(Time.time(), 4, 11, ".")); Net.pingHost(server.ip, server.port, host -> { String versionString; @@ -213,7 +212,7 @@ public class JoinDialog extends FloatingDialog{ ImageButton button = t.addImageButton("white", "clear-full", 40, () -> { new ColorPickDialog().show(color -> { player.color.set(color); - Core.settings.putInt("color-0", Color.rgba8888(color)); + Core.settings.put("color-0", Color.rgba8888(color)); Core.settings.save(); }); }).size(54f).get(); @@ -235,7 +234,7 @@ public class JoinDialog extends FloatingDialog{ Cell cell = ((Table) pane.getParent()).getCell(button); - if(!MathUtils.isEqual(cell.getMinWidth(), pw)){ + if(!Mathf.isEqual(cell.getMinWidth(), pw)){ cell.width(pw); cell.padLeft(pad); pane.getParent().invalidateHierarchy(); @@ -248,7 +247,7 @@ public class JoinDialog extends FloatingDialog{ local.clear(); local.background((Drawable)null); - local.table("button", t -> t.label(() -> "[accent]" + Core.bundle.get("text.hosts.discovering") + Strings.animated(4, 10f, ".")).pad(10f)).growX(); + local.table("button", t -> t.label(() -> "[accent]" + Core.bundle.get("text.hosts.discovering") + Strings.animated(Time.time(), 4, 10f, ".")).pad(10f)).growX(); Net.discoverServers(this::addLocalHost, this::finishLocalHosts); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java index a3ec2b1625..d0f1afae98 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LanguageDialog.java @@ -1,6 +1,6 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.Settings; +import io.anuke.arc.Core; import io.anuke.arc.scene.ui.ButtonGroup; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.TextButton; @@ -33,7 +33,7 @@ public class LanguageDialog extends FloatingDialog{ TextButton button = new TextButton(loc.getDisplayName(loc), "toggle"); button.clicked(() -> { if(getLocale().equals(loc)) return; - Core.settings.putString("locale", loc.toString()); + Core.settings.put("locale", loc.toString()); Core.settings.save(); Log.info("Setting locale: {0}", loc.toString()); ui.showInfo("$text.language.restart"); @@ -67,7 +67,7 @@ public class LanguageDialog extends FloatingDialog{ //check exact locale for(Locale l : locales){ if(l.equals(Locale.getDefault())){ - Core.settings.putString("locale", l.toString()); + Core.settings.put("locale", l.toString()); return; } } @@ -75,11 +75,11 @@ public class LanguageDialog extends FloatingDialog{ //find by language for(Locale l : locales){ if(l.getLanguage().equals(Locale.getDefault().getLanguage())){ - Core.settings.putString("locale", l.toString()); + Core.settings.put("locale", l.toString()); return; } } - Core.settings.putString("locale", new Locale("en").toString()); + Core.settings.put("locale", new Locale("en").toString()); } } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java index b85d616b0a..05a869e6ff 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LoadDialog.java @@ -8,12 +8,10 @@ import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.io.SaveIO; import io.anuke.mindustry.game.Saves.SaveSlot; -import io.anuke.arc.Core; import io.anuke.arc.util.Time; import io.anuke.arc.scene.ui.ScrollPane; import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; import io.anuke.arc.util.Log; import io.anuke.arc.util.Strings; @@ -183,7 +181,7 @@ public class LoadDialog extends FloatingDialog{ Log.err(e); state.set(State.menu); logic.reset(); - threads.runGraphics(() -> ui.showError("$text.save.corrupted")); + ui.showError("$text.save.corrupted"); } }); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java index 657aefb6d8..91c64ca57b 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/LocalPlayerDialog.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.util.Scaling; -import io.anuke.mindustry.entities.Player; -import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.Core; import io.anuke.arc.scene.ui.Image; import io.anuke.arc.scene.ui.layout.Stack; import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Scaling; +import io.anuke.mindustry.entities.Player; import static io.anuke.mindustry.Vars.control; import static io.anuke.mindustry.Vars.players; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java index 8facc1eebd..c867781c6d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MapsDialog.java @@ -1,7 +1,16 @@ package io.anuke.mindustry.ui.dialogs; +import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; +import io.anuke.arc.scene.event.Touchable; +import io.anuke.arc.scene.ui.Image; +import io.anuke.arc.scene.ui.ScrollPane; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.scene.utils.UIUtils; +import io.anuke.arc.util.Log; import io.anuke.arc.util.Scaling; +import io.anuke.arc.util.Strings; import io.anuke.mindustry.Vars; import io.anuke.mindustry.core.Platform; import io.anuke.mindustry.io.MapIO; @@ -9,15 +18,6 @@ import io.anuke.mindustry.maps.Map; import io.anuke.mindustry.maps.MapMeta; import io.anuke.mindustry.maps.MapTileData; import io.anuke.mindustry.ui.BorderImage; -import io.anuke.arc.scene.event.Touchable; -import io.anuke.arc.scene.ui.Image; -import io.anuke.arc.scene.ui.ScrollPane; -import io.anuke.arc.scene.ui.TextButton; -import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.scene.utils.UIUtils; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Log; -import io.anuke.arc.util.Strings; import java.io.DataInputStream; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java index 7ef474d42b..00b3d87fea 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/MissionDialog.java @@ -1,8 +1,8 @@ package io.anuke.mindustry.ui.dialogs; +import io.anuke.arc.Core; import io.anuke.mindustry.Vars; import io.anuke.mindustry.maps.Sector; -import io.anuke.arc.util.Bundles; public class MissionDialog extends FloatingDialog{ diff --git a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java index 13c508a0db..e5986a7b0d 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java @@ -1,11 +1,11 @@ package io.anuke.mindustry.ui.dialogs; -import io.anuke.arc.Input.Keys; -import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.net.Net; +import io.anuke.arc.Core; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.scene.style.Drawable; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; +import io.anuke.mindustry.core.GameState.State; +import io.anuke.mindustry.net.Net; import static io.anuke.mindustry.Vars.*; @@ -22,7 +22,7 @@ public class PausedDialog extends FloatingDialog{ shown(this::rebuild); keyDown(key -> { - if(key == Keys.ESCAPE || key == Keys.BACK) { + if(key == KeyCode.ESCAPE || key == KeyCode.BACK) { hide(); } }); @@ -111,7 +111,7 @@ public class PausedDialog extends FloatingDialog{ control.saves.getCurrent().save(); }catch(Throwable e){ e.printStackTrace(); - threads.runGraphics(() -> ui.showError("[accent]" + Core.bundle.get("text.savefail"))); + ui.showError("[accent]" + Core.bundle.get("text.savefail")); } state.set(State.menu); }); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java index d248c4dcae..1a7551ec41 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/RestartDialog.java @@ -1,9 +1,9 @@ package io.anuke.mindustry.ui.dialogs; +import io.anuke.arc.Core; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Team; import io.anuke.mindustry.maps.Sector; -import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java index 8466370d85..3f49831173 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SaveDialog.java @@ -1,10 +1,10 @@ package io.anuke.mindustry.ui.dialogs; +import io.anuke.arc.Core; +import io.anuke.arc.scene.ui.TextButton; +import io.anuke.arc.util.Time; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.game.Saves.SaveSlot; -import io.anuke.arc.util.Time; -import io.anuke.arc.scene.ui.TextButton; -import io.anuke.arc.util.Bundles; import static io.anuke.mindustry.Vars.*; @@ -26,7 +26,7 @@ public class SaveDialog extends LoadDialog{ ui.showTextInput("$text.save", "$text.save.newslot", "", text -> { ui.loadGraphics("$text.saving", () -> { control.saves.addSave(text); - threads.runGraphics(() -> threads.run(() -> threads.runGraphics(this::setup))); + Core.app.post(() -> Core.app.post(this::setup)); }); }) ).fillX().margin(10f).minWidth(300f).height(70f).pad(4f).padRight(-4); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java index ac932f6c70..36e378265c 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SectorsDialog.java @@ -2,14 +2,11 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.GridPoint2; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.Align; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.maps.Sector; -import io.anuke.arc.Graphics; import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.input.KeyCode; +import io.anuke.arc.math.geom.Geometry; +import io.anuke.arc.math.geom.Point2; +import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.event.InputEvent; @@ -18,10 +15,10 @@ import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.layout.Cell; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.scene.utils.Cursors; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.util.Geometry; -import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Align; +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.maps.Sector; import static io.anuke.mindustry.Vars.world; @@ -54,7 +51,7 @@ public class SectorsDialog extends FloatingDialog{ }); Group container = new Group(); - container.setTouchable(Touchable.childrenOnly); + container.touchable(Touchable.childrenOnly); container.addChild(table); margin(0); @@ -133,7 +130,7 @@ public class SectorsDialog extends FloatingDialog{ SectorView(){ addListener(new InputListener(){ @Override - public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){ + public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){ if(pointer != 0) return false; //Cursors.setHand(); lastX = x; @@ -152,9 +149,9 @@ public class SectorsDialog extends FloatingDialog{ } @Override - public void touchUp(InputEvent event, float x, float y, int pointer, int button){ + public void touchUp(InputEvent event, float x, float y, int pointer, KeyCode button){ if(pointer != 0) return; - Cursors.restoreCursor(); + //Cursors.restoreCursor(); } }); @@ -183,7 +180,7 @@ public class SectorsDialog extends FloatingDialog{ @Override public void draw(){ - Draw.alpha(alpha); + Draw.alpha(parentAlpha); int shownSectorsX = (int)(width/sectorSize); int shownSectorsY = (int)(height/sectorSize); @@ -191,7 +188,7 @@ public class SectorsDialog extends FloatingDialog{ int offsetX = (int)(panX / sectorSize); int offsetY = (int)(panY / sectorSize); - Vector2 mouse = Graphics.mouse(); + Vector2 mouse = Core.input.mouse(); for(int x = -shownSectorsX; x <= shownSectorsX; x++){ for(int y = -shownSectorsY; y <= shownSectorsY; y++){ @@ -208,10 +205,10 @@ public class SectorsDialog extends FloatingDialog{ Draw.rect("empty-sector", drawX, drawY, sectorSize, sectorSize); int i = 0; - for(GridPoint2 point : Geometry.d4){ + for(Point2 point : Geometry.d4){ Sector other = world.sectors.get(sectorX + point.x, sectorY + point.y); if(other != null){ - Draw.rect("sector-edge", drawX, drawY, sectorSize, sectorSize, i*90); + Draw.rect("sector-edge", drawX, drawY, sectorSize, sectorSize).rot(i*90); } i ++; @@ -220,7 +217,7 @@ public class SectorsDialog extends FloatingDialog{ } Draw.colorl(!sector.complete ? 0.3f : 1f); - Draw.rect(sector.texture, drawX, drawY, sectorSize, sectorSize); + Draw.rect().tex(sector.texture).center(drawX, drawY, sectorSize, sectorSize); if(sector.missions.size == 0) continue; @@ -236,8 +233,8 @@ public class SectorsDialog extends FloatingDialog{ if(sector == selected){ selectColor = Palette.accent; - }else if(Mathf.inRect(mouse.x, mouse.y, drawX - sectorSize / 2f, drawY - sectorSize / 2f, - drawX + sectorSize / 2f, drawY + sectorSize / 2f)){ + }else if(mouse.x > drawX - sectorSize / 2f && mouse.y > drawY - sectorSize / 2f + && mouse.x < drawX + sectorSize / 2f && mouse.y < drawY + sectorSize / 2f){ if(clicked){ selectSector(sector); } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java index 7aea515d55..b9482a6ea2 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/SettingsMenuDialog.java @@ -1,14 +1,10 @@ package io.anuke.mindustry.ui.dialogs; import io.anuke.arc.Core; -import io.anuke.arc.Input.Keys; +import io.anuke.arc.collection.ObjectMap; import io.anuke.arc.files.FileHandle; -import io.anuke.arc.util.Align; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.net.Net; import io.anuke.arc.function.Consumer; +import io.anuke.arc.input.KeyCode; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; @@ -18,11 +14,11 @@ import io.anuke.arc.scene.ui.SettingsDialog; import io.anuke.arc.scene.ui.SettingsDialog.SettingsTable.Setting; import io.anuke.arc.scene.ui.Slider; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.math.Mathf; - -import java.util.HashMap; -import java.util.Map; +import io.anuke.arc.util.Align; +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.core.GameState.State; +import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.net.Net; import static io.anuke.mindustry.Vars.*; @@ -36,7 +32,7 @@ public class SettingsMenuDialog extends SettingsDialog{ private boolean wasPaused; public SettingsMenuDialog(){ - setStyle(Core.skin.get("dialog", WindowStyle.class)); + setStyle(Core.scene.skin.get("dialog", WindowStyle.class)); hidden(() -> { if(!state.is(State.menu)){ @@ -96,7 +92,7 @@ public class SettingsMenuDialog extends SettingsDialog{ ScrollPane pane = new ScrollPane(prefs); pane.addCaptureListener(new InputListener(){ @Override - public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){ + public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){ Element actor = pane.hit(x, y, true); if(actor instanceof Slider){ pane.setFlickScroll(false); @@ -107,7 +103,7 @@ public class SettingsMenuDialog extends SettingsDialog{ } @Override - public void touchUp(InputEvent event, float x, float y, int pointer, int button){ + public void touchUp(InputEvent event, float x, float y, int pointer, KeyCode button){ pane.setFlickScroll(true); super.touchUp(event, x, y, pointer, button); } @@ -125,7 +121,8 @@ public class SettingsMenuDialog extends SettingsDialog{ } void addSettings(){ - sound.volumePrefs(); + //TODO add when sound works again + //sound.volumePrefs(); game.screenshakePref(); game.checkPref("effects", true); @@ -162,14 +159,14 @@ public class SettingsMenuDialog extends SettingsDialog{ dialog.content().row(); dialog.content().addButton("$text.settings.clearall", () -> { ui.showConfirm("$text.confirm", "$text.settings.clearall.confirm", () -> { - Map map = new HashMap<>(); - for(String value : Core.settings.prefs().get().keySet()){ + ObjectMap map = new ObjectMap<>(); + for(String value : Core.settings.keys()){ if(value.contains("usid") || value.contains("uuid")){ - map.put(value, Core.settings.prefs().getString(value)); + map.put(value, Core.settings.getString(value)); } } - Core.settings.prefs().clear(); - Core.settings.prefs().put(map); + Core.settings.clear(); + Core.settings.putAll(map); Core.settings.save(); for(FileHandle file : dataDirectory.list()){ @@ -218,7 +215,7 @@ public class SettingsMenuDialog extends SettingsDialog{ private void visible(int index){ prefs.clearChildren(); - Table table = Mathf.select(index, game, graphics, sound); + Table table = new Table[]{game, graphics, sound}[index]; prefs.add(table); } @@ -227,7 +224,7 @@ public class SettingsMenuDialog extends SettingsDialog{ buttons().addImageTextButton("$text.menu", "icon-arrow-left", 30f, this::hide).size(230f, 64f); keyDown(key -> { - if(key == Keys.ESCAPE || key == Keys.BACK) + if(key == KeyCode.ESCAPE || key == KeyCode.BACK) hide(); }); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java index b406245287..57c915f45b 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BackgroundFragment.java @@ -1,16 +1,14 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.Core; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; import io.anuke.arc.graphics.g2d.TextureRegion; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.ui.layout.Unit; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; -import io.anuke.arc.Core; -import io.anuke.arc.Graphics; -import io.anuke.arc.graphics.g2d.Draw; -import io.anuke.arc.graphics.Fill; -import io.anuke.arc.scene.Group; -import io.anuke.arc.scene.ui.layout.Unit; import static io.anuke.mindustry.Vars.state; @@ -20,21 +18,21 @@ public class BackgroundFragment extends Fragment{ public void build(Group parent){ Core.scene.table().addRect((a, b, w, h) -> { Draw.colorl(0.1f); - Fill.crect(0, 0, w, h); + Fill.rect().set(0, 0, w, h); Draw.color(Palette.accent); - Graphics.shader(Shaders.menu); - Fill.crect(0, 0, w, h); - Graphics.shader(); + Draw.shader(Shaders.menu); + Fill.rect().set(0, 0, w, h); + Draw.shader(); Draw.color(); boolean portrait = Core.graphics.getWidth() < Core.graphics.getHeight(); float logoscl = (int) Unit.dp.scl(7) * (portrait ? 5f / 7f : 1f); - TextureRegion logo = Core.skin.getRegion("logotext"); + TextureRegion logo = Core.atlas.find("logotext"); float logow = logo.getWidth() * logoscl; float logoh = logo.getHeight() * logoscl; Draw.color(); - Core.batch.draw(logo, (int) (w / 2 - logow / 2), (int) (h - logoh + 15 - Unit.dp.scl(portrait ? 30f : 0)), logow, logoh); + Draw.rect().tex(logo).set((int) (w / 2 - logow / 2), (int) (h - logoh + 15 - Unit.dp.scl(portrait ? 30f : 0)), logow, logoh); }).visible(() -> state.is(State.menu)).grow(); } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java index 72a001432e..3a0c43a706 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConfigFragment.java @@ -2,18 +2,17 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.Core; import io.anuke.arc.math.Interpolation; -import io.anuke.arc.math.Vector2; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.actions.Actions; +import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.util.Align; import io.anuke.mindustry.content.blocks.Blocks; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.input.InputHandler; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Graphics; -import io.anuke.arc.scene.Element; -import io.anuke.arc.scene.Group; -import io.anuke.arc.scene.actions.Actions; -import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.tilesize; @@ -45,7 +44,7 @@ public class BlockConfigFragment extends Fragment{ configTile = tile; configBlock = tile.block(); - table.setVisible(true); + table.visible(true); table.clear(); tile.block().buildTable(tile, table); table.pack(); @@ -65,7 +64,7 @@ public class BlockConfigFragment extends Fragment{ } table.setOrigin(Align.center); - Vector2 pos = Graphics.screen(tile.drawx(), tile.drawy() - tile.block().size * tilesize / 2f - 1); + Vector2 pos = Core.input.mouseScreen(tile.drawx(), tile.drawy() - tile.block().size * tilesize / 2f - 1); table.setPosition(pos.x, pos.y, Align.top); if(configTile == null || configTile.block() == Blocks.air || configTile.block() != configBlock){ hideConfig(); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java index a8050c7d14..95b5cb6ec9 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockConsumeFragment.java @@ -1,20 +1,19 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.Core; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.Align; import io.anuke.arc.collection.ObjectSet; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.math.geom.Vector2; +import io.anuke.arc.scene.Element; +import io.anuke.arc.scene.Group; +import io.anuke.arc.scene.ui.layout.Table; +import io.anuke.arc.util.Align; import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.consumers.Consume; -import io.anuke.arc.Graphics; -import io.anuke.arc.scene.Element; -import io.anuke.arc.scene.Group; -import io.anuke.arc.scene.ui.layout.Table; import static io.anuke.mindustry.Vars.*; @@ -86,7 +85,7 @@ public class BlockConsumeFragment extends Fragment{ rebuild(block, entity); } - Vector2 v = Graphics.screen(tile.drawx() - tile.block().size * tilesize / 2f + 0.25f, tile.drawy() + tile.block().size * tilesize / 2f); + Vector2 v = Core.input.mouseScreen(tile.drawx() - tile.block().size * tilesize / 2f + 0.25f, tile.drawy() + tile.block().size * tilesize / 2f); table.pack(); table.setPosition(v.x, v.y, Align.topRight); }); diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index d1e60057d0..4d9efabef2 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -1,21 +1,14 @@ package io.anuke.mindustry.ui.fragments; -import io.anuke.arc.math.Interpolation; -import io.anuke.arc.math.Vector2; -import io.anuke.arc.util.Align; -import io.anuke.arc.util.IntSet; import io.anuke.annotations.Annotations.Loc; import io.anuke.annotations.Annotations.Remote; -import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.entities.Player; -import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.input.InputHandler; -import io.anuke.mindustry.type.Item; -import io.anuke.mindustry.ui.ItemImage; -import io.anuke.mindustry.world.Tile; -import io.anuke.arc.Graphics; -import io.anuke.arc.util.Time; +import io.anuke.arc.Core; +import io.anuke.arc.collection.IntSet; import io.anuke.arc.function.BooleanProvider; +import io.anuke.arc.input.KeyCode; +import io.anuke.arc.math.Interpolation; +import io.anuke.arc.math.Mathf; +import io.anuke.arc.math.geom.Vector2; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.actions.Actions; import io.anuke.arc.scene.event.HandCursorListener; @@ -23,8 +16,16 @@ import io.anuke.arc.scene.event.InputEvent; import io.anuke.arc.scene.event.InputListener; import io.anuke.arc.scene.event.Touchable; import io.anuke.arc.scene.ui.layout.Table; -import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Align; import io.anuke.arc.util.Strings; +import io.anuke.arc.util.Time; +import io.anuke.mindustry.core.GameState.State; +import io.anuke.mindustry.entities.Player; +import io.anuke.mindustry.gen.Call; +import io.anuke.mindustry.input.InputHandler; +import io.anuke.mindustry.type.Item; +import io.anuke.mindustry.ui.ItemImage; +import io.anuke.mindustry.world.Tile; import static io.anuke.mindustry.Vars.*; @@ -75,7 +76,7 @@ public class BlockInventoryFragment extends Fragment{ table.clear(); table.update(null); })); - table.setTouchable(Touchable.disabled); + table.touchable(Touchable.disabled); tile = null; } @@ -87,7 +88,7 @@ public class BlockInventoryFragment extends Fragment{ table.clearChildren(); table.background("inventory"); - table.setTouchable(Touchable.enabled); + table.touchable(Touchable.enabled); table.update(() -> { if(state.is(State.menu) || tile == null || tile.entity == null || !tile.block().isAccessible() || tile.entity.items.total() == 0){ hide(); @@ -144,7 +145,7 @@ public class BlockInventoryFragment extends Fragment{ image.addListener(new InputListener(){ @Override - public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){ + public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){ if(!canPick.get() || !tile.entity.items.has(item)) return false; int amount = Math.min(1, player.inventory.itemCapacityUsed(item)); Call.requestItem(player, tile, item, amount); @@ -155,7 +156,7 @@ public class BlockInventoryFragment extends Fragment{ } @Override - public void touchUp(InputEvent event, float x, float y, int pointer, int button){ + public void touchUp(InputEvent event, float x, float y, int pointer, KeyCode button){ holding = false; lastItem = null; } @@ -190,7 +191,7 @@ public class BlockInventoryFragment extends Fragment{ } private void updateTablePosition(){ - Vector2 v = Graphics.screen(tile.drawx() + tile.block().size * tilesize / 2f, tile.drawy() + tile.block().size * tilesize / 2f); + Vector2 v = Core.input.mouseScreen(tile.drawx() + tile.block().size * tilesize / 2f, tile.drawy() + tile.block().size * tilesize / 2f); table.pack(); table.setPosition(v.x, v.y, Align.topLeft); } diff --git a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java index d8c40530c5..478eb262fd 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/ChatFragment.java @@ -1,19 +1,14 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.Core; -import io.anuke.arc.Input.Keys; -import io.anuke.arc.graphics.Color; -import io.anuke.arc.graphics.g2d.Batch; -import io.anuke.arc.graphics.g2d.BitmapFont; -import io.anuke.arc.graphics.g2d.GlyphLayout; -import io.anuke.arc.util.Align; import io.anuke.arc.collection.Array; -import io.anuke.mindustry.Vars; -import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.net.Net; -import io.anuke.arc.Inputs; -import io.anuke.arc.util.Time; +import io.anuke.arc.graphics.Color; +import io.anuke.arc.graphics.g2d.BitmapFont; +import io.anuke.arc.graphics.g2d.Draw; +import io.anuke.arc.graphics.g2d.Fill; +import io.anuke.arc.graphics.g2d.GlyphLayout; +import io.anuke.arc.input.KeyCode; +import io.anuke.arc.math.Mathf; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.ui.Dialog; import io.anuke.arc.scene.ui.Label; @@ -21,11 +16,17 @@ import io.anuke.arc.scene.ui.Label.LabelStyle; import io.anuke.arc.scene.ui.TextField; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Align; +import io.anuke.arc.util.Time; +import io.anuke.mindustry.Vars; +import io.anuke.mindustry.core.GameState.State; +import io.anuke.mindustry.gen.Call; +import io.anuke.mindustry.input.Binding; +import io.anuke.mindustry.net.Net; +import static io.anuke.arc.Core.input; +import static io.anuke.arc.Core.scene; import static io.anuke.mindustry.Vars.*; -import static io.anuke.arc.core.Core.scene; -import static io.anuke.arc.core.Core.skin; public class ChatFragment extends Table{ private final static int messagesShown = 10; @@ -54,7 +55,7 @@ public class ChatFragment extends Table{ super(); setFillParent(true); - font = Core.skin.getFont("default-font"); + font = scene.skin.getFont("default-font"); visible(() -> { if(!Net.active() && messages.size > 0){ @@ -70,21 +71,21 @@ public class ChatFragment extends Table{ update(() -> { - if(Net.active() && Core.input.keyTap("chat")){ + if(Net.active() && input.keyTap(Binding.chat)){ toggle(); } if(chatOpen){ - if(Core.input.keyTap("chat_history_prev") && historyPos < history.size - 1){ + if(input.keyTap(Binding.chat_history_prev) && historyPos < history.size - 1){ if(historyPos == 0) history.set(0, chatfield.getText()); historyPos++; updateChat(); } - if(Core.input.keyTap("chat_history_next") && historyPos > 0){ + if(input.keyTap(Binding.chat_history_next) && historyPos > 0){ historyPos--; updateChat(); } - scrollPos = (int) Mathf.clamp(scrollPos + Core.input.getAxis("chat_scroll"), 0, Math.max(0, messages.size - messagesShown)); + scrollPos = (int) Mathf.clamp(scrollPos + input.axis(Binding.chat_scroll), 0, Math.max(0, messages.size - messagesShown)); } }); @@ -107,10 +108,10 @@ public class ChatFragment extends Table{ fieldlabel.getStyle().font = font; fieldlabel.setStyle(fieldlabel.getStyle()); - chatfield = new TextField("", new TextField.TextFieldStyle(skin.get(TextField.TextFieldStyle.class))); + chatfield = new TextField("", new TextField.TextFieldStyle(scene.skin.get(TextField.TextFieldStyle.class))); chatfield.setTextFieldFilter((field, c) -> field.getText().length() < Vars.maxTextLength); chatfield.getStyle().background = null; - chatfield.getStyle().font = skin.getFont("default-font-chat"); + chatfield.getStyle().font = scene.skin.getFont("default-font-chat"); chatfield.getStyle().fontColor = Color.WHITE; chatfield.setStyle(chatfield.getStyle()); @@ -122,7 +123,7 @@ public class ChatFragment extends Table{ dialog.content().defaults().height(65f); TextField to = dialog.content().addField("", t-> {}).pad(15).width(250f).get(); to.setMaxLength(maxTextLength); - to.keyDown(Keys.ENTER, () -> dialog.content().find("okb").fireClick()); + to.keyDown(KeyCode.ENTER, () -> dialog.content().find("okb").fireClick()); dialog.content().addButton("$text.ok", () -> { chatfield.clearText(); chatfield.appendText(to.getText()); @@ -152,22 +153,22 @@ public class ChatFragment extends Table{ } @Override - public void draw(Batch batch, float alpha){ + public void draw(){ - batch.setColor(shadowColor); + Draw.color(shadowColor); if(chatOpen){ - batch.draw(skin.getRegion("white"), offsetx, chatfield.getY(), chatfield.getWidth() + 15f, chatfield.getHeight() - 1); + Fill.rect().set(offsetx, chatfield.getY(), chatfield.getWidth() + 15f, chatfield.getHeight() - 1); } - super.draw(batch, alpha); + super.draw(); float spacing = chatspace; - chatfield.setVisible(chatOpen); - fieldlabel.setVisible(chatOpen); + chatfield.visible(chatOpen); + fieldlabel.visible(chatOpen); - batch.setColor(shadowColor); + Draw.color(shadowColor); float theight = offsety + spacing + getMarginBottom(); for(int i = scrollPos; i < messages.size && i < messagesShown + scrollPos && (i < fadetime || chatOpen); i++){ @@ -181,16 +182,16 @@ public class ChatFragment extends Table{ if(!chatOpen && fadetime - i < 1f && fadetime - i >= 0f){ font.getCache().setAlphas(fadetime - i); - batch.setColor(0, 0, 0, shadowColor.a * (fadetime - i)); + Draw.color(0, 0, 0, shadowColor.a * (fadetime - i)); } - batch.draw(skin.getRegion("white"), offsetx, theight - layout.height - 2, textWidth + Unit.dp.scl(4f), layout.height + textspacing); - batch.setColor(shadowColor); + Fill.rect().set(offsetx, theight - layout.height - 2, textWidth + Unit.dp.scl(4f), layout.height + textspacing); + Draw.color(shadowColor); - font.getCache().draw(batch); + font.getCache().draw(); } - batch.setColor(Color.WHITE); + Draw.color(); if(fadetime > 0 && !chatOpen) fadetime -= Time.delta() / 180f; diff --git a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java index b460c47169..1863fefe32 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/HudFragment.java @@ -1,25 +1,12 @@ package io.anuke.mindustry.ui.fragments; import io.anuke.arc.Core; +import io.anuke.arc.Events; +import io.anuke.arc.collection.Array; import io.anuke.arc.graphics.Color; import io.anuke.arc.graphics.g2d.TextureRegion; import io.anuke.arc.math.Interpolation; -import io.anuke.arc.util.Align; -import io.anuke.arc.collection.Array; -import io.anuke.arc.util.Scaling; -import io.anuke.mindustry.core.GameState.State; -import io.anuke.mindustry.game.EventType.StateChangeEvent; -import io.anuke.mindustry.game.Team; -import io.anuke.mindustry.gen.Call; -import io.anuke.mindustry.graphics.Palette; -import io.anuke.mindustry.net.Net; -import io.anuke.mindustry.net.Packets.AdminAction; -import io.anuke.mindustry.type.Recipe; -import io.anuke.mindustry.ui.IntFormat; -import io.anuke.mindustry.ui.Minimap; -import io.anuke.mindustry.ui.dialogs.FloatingDialog; -import io.anuke.arc.*; -import io.anuke.arc.graphics.Hue; +import io.anuke.arc.math.Mathf; import io.anuke.arc.scene.Element; import io.anuke.arc.scene.Group; import io.anuke.arc.scene.actions.Actions; @@ -31,8 +18,21 @@ import io.anuke.arc.scene.ui.TextButton; import io.anuke.arc.scene.ui.layout.Stack; import io.anuke.arc.scene.ui.layout.Table; import io.anuke.arc.scene.ui.layout.Unit; -import io.anuke.arc.util.Bundles; -import io.anuke.arc.math.Mathf; +import io.anuke.arc.util.Align; +import io.anuke.arc.util.Scaling; +import io.anuke.arc.util.Time; +import io.anuke.mindustry.core.GameState.State; +import io.anuke.mindustry.game.EventType.StateChangeEvent; +import io.anuke.mindustry.game.Team; +import io.anuke.mindustry.gen.Call; +import io.anuke.mindustry.graphics.Palette; +import io.anuke.mindustry.input.Binding; +import io.anuke.mindustry.net.Net; +import io.anuke.mindustry.net.Packets.AdminAction; +import io.anuke.mindustry.type.Recipe; +import io.anuke.mindustry.ui.IntFormat; +import io.anuke.mindustry.ui.Minimap; +import io.anuke.mindustry.ui.dialogs.FloatingDialog; import static io.anuke.mindustry.Vars.*; @@ -75,10 +75,10 @@ public class HudFragment extends Fragment{ } }).update(i -> { if(Net.active()){ - i.getStyle().imageUp = Core.skin.getDrawable("icon-players"); + i.getStyle().imageUp = Core.scene.skin.getDrawable("icon-players"); }else{ i.setDisabled(Net.active()); - i.getStyle().imageUp = Core.skin.getDrawable(state.is(State.paused) ? "icon-play" : "icon-pause"); + i.getStyle().imageUp = Core.scene.skin.getDrawable(state.is(State.paused) ? "icon-play" : "icon-pause"); } }).get(); @@ -94,9 +94,9 @@ public class HudFragment extends Fragment{ } }).update(i -> { if(Net.active() && mobile){ - i.getStyle().imageUp = Core.skin.getDrawable("icon-chat"); + i.getStyle().imageUp = Core.scene.skin.getDrawable("icon-chat"); }else{ - i.getStyle().imageUp = Core.skin.getDrawable("icon-unlocks"); + i.getStyle().imageUp = Core.scene.skin.getDrawable("icon-unlocks"); } }).get(); @@ -109,7 +109,7 @@ public class HudFragment extends Fragment{ } cont.update(() -> { - if(!Core.input.keyDown("gridMode") && Core.input.keyTap("toggle_menus") && !ui.chatfrag.chatOpen()){ + if(!Core.input.keyDown(Binding.gridMode) && Core.input.keyTap(Binding.toggle_menus) && !ui.chatfrag.chatOpen()){ toggleMenus(); } }); @@ -198,7 +198,7 @@ public class HudFragment extends Fragment{ return coreAttackOpacity > 0; }); t.table("button", top -> top.add("$text.coreattack").pad(2) - .update(label -> label.setColor(Hue.mix(Color.ORANGE, Color.SCARLET, Mathf.absin(Time.time(), 2f, 1f))))); + .update(label -> label.getColor().set(Color.ORANGE).lerp(Color.SCARLET, Mathf.absin(Time.time(), 2f, 1f)))); }); //'saving' indicator @@ -207,7 +207,7 @@ public class HudFragment extends Fragment{ t.add("$text.saveload"); }); - blockfrag.build(Core.scene.getRoot()); + blockfrag.build(Core.scene.root); } public void showToast(String text){ @@ -345,7 +345,7 @@ public class HudFragment extends Fragment{ Interpolation in = Interpolation.pow3Out; if(flip != null){ - flip.getStyle().imageUp = Core.skin.getDrawable(shown ? "icon-arrow-down" : "icon-arrow-up"); + flip.getStyle().imageUp = Core.scene.skin.getDrawable(shown ? "icon-arrow-down" : "icon-arrow-up"); } if(shown){ @@ -368,7 +368,7 @@ public class HudFragment extends Fragment{ IntFormat enemiesf = new IntFormat("text.wave.enemies"); table.clearChildren(); - table.setTouchable(Touchable.enabled); + table.touchable(Touchable.enabled); table.labelWrap(() -> world.getSector() == null ? @@ -403,8 +403,8 @@ public class HudFragment extends Fragment{ boolean vis = state.mode.disableWaveTimer && ((Net.server() || players[0].isAdmin) || !Net.active()); boolean paused = state.is(State.paused) || !vis; - l.getStyle().imageUp = Core.skin.getDrawable(vis ? "icon-play" : "clear"); - l.setTouchable(!paused ? Touchable.enabled : Touchable.disabled); + l.getStyle().imageUp = Core.scene.skin.getDrawable(vis ? "icon-play" : "clear"); + l.touchable(!paused ? Touchable.enabled : Touchable.disabled); }).visible(() -> state.mode.disableWaveTimer && ((Net.server() || players[0].isAdmin) || !Net.active()) && unitGroups[Team.red.ordinal()].size() == 0); } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java b/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java index 87bd4a48ce..ab4c92efef 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/LoadingFragment.java @@ -14,8 +14,8 @@ public class LoadingFragment extends Fragment{ @Override public void build(Group parent){ parent.fill("loadDim", t -> { - t.setVisible(false); - t.setTouchable(Touchable.enabled); + t.visible(false); + t.touchable(Touchable.enabled); t.add().height(70f).row(); t.addImage("white").growX().height(3f).pad(4f).growX().get().setColor(Palette.accent); @@ -31,8 +31,8 @@ public class LoadingFragment extends Fragment{ } public void setButton(Runnable listener){ - button.setVisible(true); - button.getListeners().removeIndex(button.getListeners().size - 1); + button.visible(true); + button.getListeners().removeAt(button.getListeners().size - 1); button.clicked(listener); } @@ -42,12 +42,12 @@ public class LoadingFragment extends Fragment{ public void show(String text){ table.