This commit is contained in:
Anuken 2019-04-02 15:52:44 -04:00
parent 37999e0870
commit 67a12eecad
27 changed files with 106 additions and 8 deletions

View File

@ -443,6 +443,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Show FPS
setting.vsync.name = VSync
setting.lasers.name = Show Power Lasers
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Show Minimap
setting.musicvol.name = Music Volume
setting.mutemusic.name = Mute Music

View File

@ -40,6 +40,7 @@ addplayers = Přidat/Odebrat hráče
customgame = Vlastní hra
newgame = New Game
none = <none>
minimap = Minimap
close = Zavřít
quit = Ukončit
maps = Mapy
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Ukázat snímky/sekundu
setting.vsync.name = Vertikální synchronizace
setting.lasers.name = Ukázat laser energie
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Ukázat minimapu
setting.musicvol.name = Hlasitost hudby
setting.mutemusic.name = Ztišit hudbu

View File

@ -40,6 +40,7 @@ addplayers = Hinzufügen/Entfernen von Spielern
customgame = Benutzerdefiniertes Spiel
newgame = New Game
none = <nichts>
minimap = Minimap
close = Schließen
quit = Verlassen
maps = Karten
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Zeige FPS
setting.vsync.name = VSync
setting.lasers.name = Zeige Stromlaser
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Zeige die Minimap
setting.musicvol.name = Musiklautstärke
setting.mutemusic.name = Musik stummschalten

View File

@ -40,6 +40,7 @@ addplayers = Agregar/Quitar Jugadores
customgame = Partida personalizada
newgame = New Game
none = <no hay>
minimap = Minimap
close = Cerrar
quit = Salir
maps = Mapas
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Mostrar FPS
setting.vsync.name = VSync
setting.lasers.name = Mostrar Energía de los Láseres
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Mostrar Minimapa
setting.musicvol.name = Volumen de la Música
setting.mutemusic.name = Silenciar Musica

View File

@ -40,6 +40,7 @@ addplayers = Ajouter/Enlever des joueurs
customgame = Partie personnalisée
newgame = New Game
none = <vide>
minimap = Minimap
close = Fermer
quit = Quitter
maps = Cartes
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Afficher FPS
setting.vsync.name = VSync
setting.lasers.name = Afficher les rayons des lasers
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = montrer la minimap
setting.musicvol.name = volume de la musique
setting.mutemusic.name = Couper la musique

View File

@ -40,6 +40,7 @@ addplayers = Ajouter/Enlever des joueurs
customgame = Partie personnalisée
newgame = New Game
none = <Vide>
minimap = Minimap
close = Fermer
quit = Quitter
maps = Cartes
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Afficher FPS
setting.vsync.name = VSync
setting.lasers.name = Afficher les rayons des lasers
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Montrer la minimap
setting.musicvol.name = Volume de la musique
setting.mutemusic.name = Couper la musique

View File

@ -40,6 +40,7 @@ addplayers = Tambah/Hapus Pemain
customgame = Game Bebas
newgame = New Game
none = <kosong>
minimap = Minimap
close = Tutup
quit = Keluar
maps = Peta
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Tunjukkan FPS
setting.vsync.name = VSync
setting.lasers.name = Tampilkan Laser Tenaga
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Show Minimap
setting.musicvol.name = Volume Musik
setting.mutemusic.name = Bisukan Musik

View File

@ -40,6 +40,7 @@ addplayers = Aggiungi/rimuovi giocatori
customgame = Gioco personalizzato
newgame = New Game
none = <Niente . . . >
minimap = Minimap
close = Chiuso
quit = Esci
maps = Mappe
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Mostra FPS
setting.vsync.name = VSync
setting.lasers.name = Mostra Laser Energetici
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Mostra minimappa
setting.musicvol.name = Volume Musica
setting.mutemusic.name = Silenzia musica

View File

@ -40,6 +40,7 @@ addplayers = プレイヤーを追加/削除
customgame = カスタムゲーム
newgame = 新しいゲーム
none = <なし>
minimap = Minimap
close = 閉じる
quit = 終了
maps = マップ
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = FPSを表示
setting.vsync.name = VSync
setting.lasers.name = 電力レーザーを表示
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = ミニマップを表示
setting.musicvol.name = 音楽 音量
setting.mutemusic.name = 音楽をミュート

View File

@ -40,6 +40,7 @@ addplayers = 플레이어 추가/제거
customgame = 커스텀 게임
newgame = 새 게임
none = <없음>
minimap = Minimap
close = 닫기
quit = 나가기
maps =
@ -432,6 +433,7 @@ setting.borderless.name = 테두리 없는 창모드
setting.fps.name = FPS 표시
setting.vsync.name = VSync 활성화
setting.lasers.name = 전력 노드 레이저 표시
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = 미니맵 보기
setting.musicvol.name = 음악 크기
setting.mutemusic.name = 음소거

View File

@ -40,6 +40,7 @@ addplayers = Add/Remove Players
customgame = Custom Game
newgame = New Game
none = <none>
minimap = Minimap
close = Close
quit = Quit
maps = Maps
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Show FPS
setting.vsync.name = VSync
setting.lasers.name = Show Power Lasers
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Show Minimap
setting.musicvol.name = Music Volume
setting.mutemusic.name = Mute Music

View File

@ -40,6 +40,7 @@ addplayers = Dodaj/Usuń graczy
customgame = Własna Gra
newgame = Nowa Gra
none = <żadne>
minimap = Minimap
close = Zamknij
quit = Wyjdź
maps = Mapy
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Widoczny licznik FPS
setting.vsync.name = Synchronizacja pionowa
setting.lasers.name = Pokaż lasery zasilające
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Pokaż Minimapę
setting.musicvol.name = Głośność muzyki
setting.mutemusic.name = Wycisz muzykę

View File

@ -40,6 +40,7 @@ addplayers = Adicionar/Remover Jogador
customgame = Jogo Customizado
newgame = Novo Jogo
none = <none>
minimap = Minimap
close = Fechar
quit = Sair
maps = Mapas
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Mostrar FPS
setting.vsync.name = VSync
setting.lasers.name = Mostrar lasers
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Mostrar minimapa
setting.musicvol.name = Volume da Música
setting.mutemusic.name = Desligar Música

View File

@ -40,6 +40,7 @@ addplayers = Доб/удалить игроков
customgame = Пользовательская игра
newgame = Новая игра
none = <нет>
minimap = Minimap
close = Закрыть
quit = Выход
maps = Карты
@ -432,6 +433,7 @@ setting.borderless.name = Окно без границ
setting.fps.name = Показывать FPS
setting.vsync.name = Верт. синхронизация
setting.lasers.name = Показывать энергию лазеров
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Показать миникарту
setting.musicvol.name = Громкость музыки
setting.mutemusic.name = Заглушить музыку

View File

@ -40,6 +40,7 @@ addplayers = Oyuncu ekle/cikar
customgame = Ozel oyun
newgame = New Game
none = <none>
minimap = Minimap
close = Kapat
quit = Cik
maps = Haritalar
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = FPS'i goster
setting.vsync.name = VSync
setting.lasers.name = Guc lazerlerini goster
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Haritayi goster
setting.musicvol.name = Ses yuksekligi
setting.mutemusic.name = Sesi kapat

View File

@ -40,6 +40,7 @@ addplayers = Oyuncu ekle/cikar
customgame = Ozel oyun
newgame = New Game
none = <none>
minimap = Minimap
close = Kapat
quit = Çık
maps = Haritalar
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = Saniyede ... Kare göstermek
setting.vsync.name = VSync
setting.lasers.name = Güç Lazerleri Göster
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Show Minimap
setting.musicvol.name = Müzik sesi
setting.mutemusic.name = Müziği Kapat

View File

@ -40,6 +40,7 @@ addplayers = Дод/Видалити гравців
customgame = Користувальницька гра
newgame = Нова гра
none = <нічого>
minimap = Minimap
close = Закрити
quit = Вийти
maps = Мапи
@ -432,6 +433,7 @@ setting.borderless.name = Вікно без полів
setting.fps.name = Показувати FPS
setting.vsync.name = Вертикальна синхронізація
setting.lasers.name = Показувати енергію лазерів
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = Показати мінімапу
setting.musicvol.name = Гучність музики
setting.mutemusic.name = Заглушити музику

View File

@ -40,6 +40,7 @@ addplayers = 增加/删除玩家
customgame = 自定义游戏
newgame = 新游戏
none = <无>
minimap = Minimap
close = 关闭
quit = 退出
maps = 地图
@ -432,6 +433,7 @@ setting.borderless.name = Borderless Window
setting.fps.name = 显示 FPS
setting.vsync.name = 帧同步
setting.lasers.name = 显示能量射线
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = 显示小地图
setting.musicvol.name = 音乐音量
setting.mutemusic.name = 静音

View File

@ -40,6 +40,7 @@ addplayers = 增加/移除玩家
customgame = 自訂遊戲
newgame = 新遊戲
none = 〈沒有〉
minimap = Minimap
close = 關閉
quit = 退出
maps = 地圖
@ -432,6 +433,7 @@ setting.borderless.name = 無邊框窗口
setting.fps.name = 顯示FPS
setting.vsync.name = 垂直同步
setting.lasers.name = 顯示雷射光束
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
setting.minimap.name = 顯示小地圖
setting.musicvol.name = 音樂音量
setting.mutemusic.name = 靜音

View File

@ -641,6 +641,8 @@ public class Blocks implements ContentList{
int liquidRegion = reg("-liquid");
int topRegion =reg("-top");
drawIcons = () -> new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-top")};
drawer = tile -> {
GenericCrafterEntity entity = tile.entity();
@ -666,6 +668,8 @@ public class Blocks implements ContentList{
int rotatorRegion = reg("-rotator");
drawIcons = () -> new TextureRegion[]{Core.atlas.find(name), Core.atlas.find(name + "-rotator")};
drawer = tile -> {
GenericCrafterEntity entity = tile.entity();

View File

@ -294,10 +294,12 @@ public class NetServer implements ApplicationListener{
player.isShooting = shooting;
player.getPlaceQueue().clear();
for(BuildRequest req : requests){
Tile tile = world.tile(req.x, req.y);
if(tile == null) continue;
//auto-skip done requests
if(req.breaking && world.tile(req.x, req.y).block() == Blocks.air){
if(req.breaking && tile.block() == Blocks.air){
continue;
}else if(!req.breaking && world.tile(req.x, req.y).block() == req.block && (!req.block.rotate || world.tile(req.x, req.y).getRotation() == req.rotation)){
}else if(!req.breaking && tile.block() == req.block && (!req.block.rotate || tile.getRotation() == req.rotation)){
continue;
}
player.getPlaceQueue().addLast(req);

View File

@ -47,6 +47,7 @@ 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 Pixelator pixelator = new Pixelator();
public FrameBuffer shieldBuffer = new FrameBuffer(2, 2);
private Color clearColor;
@ -132,8 +133,11 @@ public class Renderer implements ApplicationListener{
}
updateShake(0.75f);
draw();
if(pixelator.enabled()){
pixelator.drawPixelate();
}else{
draw();
}
}
}

View File

@ -139,6 +139,7 @@ public class BlockRenderer{
shadowEvents.clear();
Draw.proj(camera.projection());
renderer.pixelator.rebind();
}
float ww = world.width() * tilesize, wh = world.height() * tilesize;

View File

@ -43,7 +43,7 @@ public enum CacheLayer{
}
void beginShader(){
if(!Core.settings.getBool("animatedwater")) return;
if(!Core.settings.getBool("animatedwater") || renderer.pixelator.enabled()) return;
renderer.blocks.floor.endc();
renderer.shieldBuffer.begin();
@ -52,7 +52,7 @@ public enum CacheLayer{
}
void endShader(Shader shader){
if(!Core.settings.getBool("animatedwater")) return;
if(!Core.settings.getBool("animatedwater") || renderer.pixelator.enabled()) return;
renderer.blocks.floor.endc();
renderer.shieldBuffer.end();

View File

@ -0,0 +1,48 @@
package io.anuke.mindustry.graphics;
import io.anuke.arc.Core;
import io.anuke.arc.graphics.g2d.Draw;
import io.anuke.arc.graphics.glutils.FrameBuffer;
import io.anuke.arc.util.Disposable;
import static io.anuke.mindustry.Vars.*;
public class Pixelator implements Disposable{
private FrameBuffer buffer = new FrameBuffer(2, 2);
public void drawPixelate(){
float px = Core.camera.position.x, py = Core.camera.position.y;
Core.camera.position.set((int)px, (int)py + (Core.graphics.getHeight() % 2 == 0 ? 0 : 0.5f));
int w = (int)(Core.camera.width);
int h = (int)(Core.camera.height);
if(buffer.getWidth() != w || buffer.getHeight() != h){
buffer.resize(w, h);
}
Draw.flush();
buffer.begin();
renderer.draw();
Draw.flush();
buffer.end();
Draw.rect(Draw.wrap(buffer.getTexture()), Core.camera.position.x, Core.camera.position.y, Core.camera.width, -Core.camera.height);
Core.camera.position.set(px, py);
}
public void rebind(){
if(enabled()){
buffer.begin();
}
}
public boolean enabled(){
return Core.settings.getBool("pixelate");
}
@Override
public void dispose(){
buffer.dispose();
}
}

View File

@ -214,6 +214,7 @@ public class SettingsMenuDialog extends SettingsDialog{
graphics.checkPref("indicators", true);
graphics.checkPref("animatedwater", false);
graphics.checkPref("lasers", true);
graphics.checkPref("pixelate", false);
}
private void back(){

View File

@ -166,9 +166,10 @@ public class HudFragment extends Fragment{
IntFormat fps = new IntFormat("fps");
IntFormat ping = new IntFormat("ping");
info.label(() -> ping.get(Net.getPing())).visible(Net::client).right();
info.label(() -> ping.get(Net.getPing())).visible(Net::client).left();
info.row();
info.label(() -> fps.get(Core.graphics.getFramesPerSecond())).right();
info.label(() -> fps.get(Core.graphics.getFramesPerSecond())).left();
});
//spawner warning