changed road algo

added WaveFunctionCollapse to create biome structures
changed world generation.
added overworld collision for enemies.
This commit is contained in:
Grimm
2022-08-06 21:10:18 +02:00
parent 03aac93b26
commit f6bec79a28
229 changed files with 1329 additions and 1283 deletions

View File

@@ -3,8 +3,6 @@ package forge.adventure.editor;
import forge.adventure.data.BiomeData;
import javax.swing.*;
import java.awt.*;
import java.util.Arrays;
public class BiomeEdit extends FormPanel {
BiomeData currentData;

View File

@@ -2,7 +2,6 @@ package forge.adventure.editor;
import forge.adventure.data.BiomeStructureData;
import forge.adventure.util.Config;
import forge.adventure.world.BiomeStructure;
import javax.swing.*;
import java.awt.*;

View File

@@ -6,8 +6,6 @@ import forge.adventure.data.BiomeStructureData;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.awt.image.BufferedImage;
public class BiomeStructureEdit extends FormPanel {
private boolean updating=false;
@@ -21,6 +19,7 @@ public class BiomeStructureEdit extends FormPanel {
public JCheckBox randomPosition=new JCheckBox();
public IntSpinner N= new IntSpinner();
public JTextField sourcePath= new JTextField();
public JTextField maskPath= new JTextField();
public JCheckBox periodicInput= new JCheckBox();
public IntSpinner ground= new IntSpinner();
public IntSpinner symmetry= new IntSpinner();
@@ -37,6 +36,7 @@ public class BiomeStructureEdit extends FormPanel {
center.add("height:",height);
center.add("N:",N);
center.add("sourcePath:",sourcePath);
center.add("maskPath:",maskPath);
center.add("periodicInput:",periodicInput);
center.add("ground:",ground);
center.add("symmetry:",symmetry);
@@ -56,6 +56,7 @@ public class BiomeStructureEdit extends FormPanel {
N.addChangeListener(e -> BiomeStructureEdit.this.updateStructure());
sourcePath.getDocument().addDocumentListener(new DocumentChangeListener(() -> BiomeStructureEdit.this.updateStructure()));
maskPath.getDocument().addDocumentListener(new DocumentChangeListener(() -> BiomeStructureEdit.this.updateStructure()));
periodicInput.addChangeListener(e -> BiomeStructureEdit.this.updateStructure());
ground.addChangeListener(e -> BiomeStructureEdit.this.updateStructure());
symmetry.addChangeListener(e -> BiomeStructureEdit.this.updateStructure());
@@ -78,6 +79,7 @@ public class BiomeStructureEdit extends FormPanel {
randomPosition.setSelected(currentData.randomPosition);
N.setValue(currentData.N);
sourcePath.setText(currentData.sourcePath);
maskPath.setText(currentData.maskPath);
periodicInput.setSelected(currentData.periodicInput);
ground.setValue(currentData.ground);
symmetry.setValue(currentData.symmetry);
@@ -105,6 +107,7 @@ public class BiomeStructureEdit extends FormPanel {
currentData.N= N.intValue();
currentData.sourcePath= sourcePath.getText();
currentData.maskPath= maskPath.getText();
currentData.periodicInput= periodicInput.isSelected();
currentData.ground= ground.intValue();
currentData.symmetry= symmetry.intValue();

View File

@@ -6,7 +6,6 @@ import forge.adventure.data.BiomeTerrainData;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
public class BiomeTerrainEdit extends FormPanel {
SwingAtlasPreview preview=new SwingAtlasPreview(128);

View File

@@ -5,7 +5,6 @@ import forge.adventure.data.EffectData;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
public class EffectEditor extends JComponent {
EffectData currentData;

View File

@@ -3,7 +3,6 @@ package forge.adventure.editor;
import forge.adventure.data.EnemyData;
import javax.swing.*;
import java.awt.*;
/**
* Editor class to edit configuration, maybe moved or removed

View File

@@ -3,7 +3,6 @@ package forge.adventure.editor;
import forge.adventure.data.PointOfInterestData;
import javax.swing.*;
import java.awt.*;
public class PointOfInterestEdit extends JComponent {

View File

@@ -7,7 +7,6 @@ import forge.game.keyword.Keyword;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.util.Arrays;
/**

View File

@@ -2,7 +2,6 @@ package forge.adventure.editor;
import forge.adventure.data.BiomeData;
import forge.adventure.data.BiomeStructureData;
import forge.adventure.data.WorldData;
import forge.adventure.util.Config;
import forge.adventure.world.BiomeStructure;
@@ -83,13 +82,14 @@ public class StructureEditor extends JComponent{
private void test() {
if (list.isSelectionEmpty())
return;
long start = System.currentTimeMillis();
BiomeStructureData data = model.get(list.getSelectedIndex());
try {
BiomeStructure struct = new BiomeStructure(data, System.currentTimeMillis(),
(int) (currentData.width * EditorMainWindow.worldEditor.width.intValue() * data.width),
(int) (currentData.width * EditorMainWindow.worldEditor.height.intValue() * data.height));
(int) (currentData.width * EditorMainWindow.worldEditor.width.intValue() ),
(int) (currentData.width * EditorMainWindow.worldEditor.height.intValue()));
struct.initialize();
JLabel label = new JLabel();
BufferedImage image = struct.image;
@@ -111,11 +111,14 @@ public class StructureEditor extends JComponent{
}
label.setIcon(new ImageIcon(image));
label.setSize(640, 640);
JOptionPane.showMessageDialog(this, label);
JOptionPane.showMessageDialog(this, label,"Calculating took "+ ((System.currentTimeMillis() - start)/1000)+" seconds",JOptionPane.PLAIN_MESSAGE);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this, "WaveFunctionCollapse was not successful");
JOptionPane.showMessageDialog(this, "WaveFunctionCollapse was not successful","can not calculate function "+e.getMessage(),JOptionPane.ERROR_MESSAGE);
}
}

View File

@@ -55,15 +55,25 @@ public class SwingAtlas {
}
private ImageIcon spriteToImage(TextureAtlas.TextureAtlasData.Region sprite) throws IOException {
BufferedImage img = ImageIO.read(sprite.page.textureFile.file());
if(sprite.width== sprite.height)
return new ImageIcon(img.getSubimage(sprite.left,sprite.top, sprite.width, sprite.height).getScaledInstance(imageSize,imageSize,SCALE_FAST));
if(sprite.width>sprite.height)
return new ImageIcon(img.getSubimage(sprite.left,sprite.top, sprite.width, sprite.height).getScaledInstance(imageSize, (int) (imageSize*(sprite.height/(float)sprite.width)),SCALE_FAST));
return new ImageIcon(img.getSubimage(sprite.left,sprite.top, sprite.width, sprite.height).getScaledInstance((int) (imageSize*(sprite.width/(float)sprite.height)),imageSize,SCALE_FAST));
}
try
{
BufferedImage img = ImageIO.read(sprite.page.textureFile.file());
if(sprite.width== sprite.height)
return new ImageIcon(img.getSubimage(sprite.left,sprite.top, sprite.width, sprite.height).getScaledInstance(imageSize,imageSize,SCALE_FAST));
if(sprite.width>sprite.height)
return new ImageIcon(img.getSubimage(sprite.left,sprite.top, sprite.width, sprite.height).getScaledInstance(imageSize, (int) (imageSize*(sprite.height/(float)sprite.width)),SCALE_FAST));
return new ImageIcon(img.getSubimage(sprite.left,sprite.top, sprite.width, sprite.height).getScaledInstance((int) (imageSize*(sprite.width/(float)sprite.height)),imageSize,SCALE_FAST));
}
catch (IOException e)
{
return null;
}
}
public ImageIcon get(String name) {
if(images.get(name).size()==0)
return null;
return images.get(name).get(0);
}

View File

@@ -4,7 +4,6 @@ import forge.adventure.util.Config;
import org.apache.commons.lang3.tuple.Pair;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;

View File

@@ -3,6 +3,7 @@ package forge.adventure.editor;
import forge.adventure.util.Config;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
@@ -27,6 +28,7 @@ public class TextListEdit extends Box {
});
add(edit);
edit.setPreferredSize(new Dimension(400,edit.getPreferredSize().height));
//add(findButton);
elements= new JComboBox(possibleElements);
add(elements);
@@ -84,7 +86,7 @@ public class TextListEdit extends Box {
{
values.append(intValues[i]);
if(intValues.length>i+2)
values.append(";");
values.append("\n");
}
edit.setText(values.toString());
}

View File

@@ -1,7 +1,6 @@
package forge.adventure.editor;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonWriter;
import forge.adventure.data.BiomeData;
@@ -16,7 +15,6 @@ import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
public class WorldEditor extends JComponent {

View File

@@ -1,7 +1,6 @@
package forge;
import com.badlogic.gdx.graphics.Texture;
import forge.assets.ImageCache;
import forge.game.card.CardView;
import forge.gui.GuiBase;

View File

@@ -5,11 +5,7 @@ import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.Cursor;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.TextureData;
import com.badlogic.gdx.graphics.*;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
@@ -23,11 +19,7 @@ import forge.adventure.scene.SceneType;
import forge.adventure.stage.MapStage;
import forge.adventure.util.Config;
import forge.animation.ForgeAnimation;
import forge.assets.Assets;
import forge.assets.AssetsDownloader;
import forge.assets.FSkin;
import forge.assets.FSkinFont;
import forge.assets.ImageCache;
import forge.assets.*;
import forge.error.ExceptionHandler;
import forge.gamemodes.limited.BoosterDraft;
import forge.gui.FThreads;

View File

@@ -1,10 +1,10 @@
package forge;
import java.util.ArrayDeque;
import java.util.Deque;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.*;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.ShaderProgram;
@@ -15,7 +15,6 @@ import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.math.Vector3;
import com.badlogic.gdx.scenes.scene2d.utils.ScissorStack;
import forge.assets.FImage;
import forge.assets.FSkinColor;
import forge.assets.FSkinFont;
@@ -23,6 +22,9 @@ import forge.toolbox.FDisplayObject;
import forge.util.TextBounds;
import forge.util.Utils;
import java.util.ArrayDeque;
import java.util.Deque;
public class Graphics {
private static final int GL_BLEND = GL20.GL_BLEND;
private static final int GL_LINE_SMOOTH = 2848; //create constant here since not in GL20

View File

@@ -1,11 +1,6 @@
package forge.adventure.character;
import com.badlogic.gdx.graphics.g2d.Animation;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.graphics.g2d.*;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.utils.Array;

View File

@@ -4,7 +4,6 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.utils.Array;

View File

@@ -1,6 +1,5 @@
package forge.adventure.character;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.utils.Array;
import forge.adventure.data.RewardData;
import forge.adventure.util.JSONStringLoader;

View File

@@ -6,7 +6,6 @@ import forge.util.MyRandom;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/**

View File

@@ -1,6 +1,5 @@
package forge.adventure.data;
import java.awt.*;
import java.awt.image.BufferedImage;
public class BiomeStructureData {
@@ -31,6 +30,7 @@ public class BiomeStructureData {
public String structureAtlasPath;
public String sourcePath;
public String maskPath;
public boolean periodicInput=true;
public float height;
public float width;
@@ -45,6 +45,7 @@ public class BiomeStructureData {
public BiomeStructureData(BiomeStructureData biomeStructureData) {
this.structureAtlasPath=biomeStructureData.structureAtlasPath;
this.sourcePath=biomeStructureData.sourcePath;
this.maskPath=biomeStructureData.maskPath;
this.x=biomeStructureData.x;
this.y=biomeStructureData.y;
this.width=biomeStructureData.width;

View File

@@ -1,8 +1,6 @@
package forge.adventure.data;
import java.util.List;
/**
* Data class that will be used to read Json configuration files
* BiomeData

View File

@@ -1,6 +1,5 @@
package forge.adventure.data;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.OrderedMap;
/**

View File

@@ -5,7 +5,10 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Null;
import com.google.common.collect.Lists;
import forge.adventure.data.*;
import forge.adventure.data.DifficultyData;
import forge.adventure.data.EffectData;
import forge.adventure.data.HeroListData;
import forge.adventure.data.ItemData;
import forge.adventure.util.*;
import forge.adventure.world.WorldSave;
import forge.deck.CardPool;
@@ -18,7 +21,10 @@ import forge.util.ItemPool;
import forge.util.MyRandom;
import java.io.Serializable;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/**
* Class that represents the player (not the player sprite)

View File

@@ -9,18 +9,10 @@ import forge.adventure.player.AdventurePlayer;
import forge.assets.FImage;
import forge.assets.FSkinFont;
import forge.assets.FSkinImage;
import forge.deck.CardPool;
import forge.deck.Deck;
import forge.deck.DeckFormat;
import forge.deck.DeckSection;
import forge.deck.FDeckViewer;
import forge.deck.*;
import forge.item.InventoryItem;
import forge.item.PaperCard;
import forge.itemmanager.CardManager;
import forge.itemmanager.ColumnDef;
import forge.itemmanager.ItemColumn;
import forge.itemmanager.ItemManager;
import forge.itemmanager.ItemManagerConfig;
import forge.itemmanager.*;
import forge.itemmanager.filters.ItemFilter;
import forge.localinstance.properties.ForgePreferences;
import forge.menu.FCheckBoxMenuItem;

View File

@@ -3,12 +3,7 @@ package forge.adventure.scene;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.utils.Align;
import com.badlogic.gdx.utils.IntMap;

View File

@@ -4,13 +4,7 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.ui.CheckBox;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.ImageButton;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.ui.TextField;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Array;

View File

@@ -4,11 +4,7 @@ import com.badlogic.gdx.Input;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.ui.Image;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Align;
import forge.Forge;

View File

@@ -13,11 +13,7 @@ import forge.adventure.character.ShopActor;
import forge.adventure.player.AdventurePlayer;
import forge.adventure.pointofintrest.PointOfInterestChanges;
import forge.adventure.stage.GameHUD;
import forge.adventure.util.CardUtil;
import forge.adventure.util.Config;
import forge.adventure.util.Current;
import forge.adventure.util.Reward;
import forge.adventure.util.RewardActor;
import forge.adventure.util.*;
import forge.adventure.world.WorldSave;
import forge.assets.ImageCache;
import forge.sound.SoundEffectType;

View File

@@ -3,7 +3,10 @@ package forge.adventure.scene;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.ScrollPane;
import com.badlogic.gdx.scenes.scene2d.ui.SelectBox;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import forge.Forge;
@@ -19,7 +22,6 @@ import forge.item.PaperCard;
import forge.util.MyRandom;
import java.util.*;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;

View File

@@ -41,7 +41,6 @@ import forge.screens.TransitionScreen;
import forge.sound.SoundEffectType;
import forge.sound.SoundSystem;
import java.util.HashMap;
import java.util.Map;

View File

@@ -11,11 +11,7 @@ import forge.adventure.character.EnemySprite;
import forge.adventure.data.BiomeData;
import forge.adventure.data.EnemyData;
import forge.adventure.data.WorldData;
import forge.adventure.scene.DuelScene;
import forge.adventure.scene.RewardScene;
import forge.adventure.scene.Scene;
import forge.adventure.scene.SceneType;
import forge.adventure.scene.TileMapScene;
import forge.adventure.scene.*;
import forge.adventure.util.Current;
import forge.adventure.util.SaveFileContent;
import forge.adventure.util.SaveFileData;

View File

@@ -1,6 +1,8 @@
package forge.adventure.util;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.ui.Dialog;
import com.badlogic.gdx.scenes.scene2d.ui.Label;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;
import com.badlogic.gdx.utils.Array;
import forge.Forge;
import forge.adventure.character.EnemySprite;

View File

@@ -10,11 +10,7 @@ import com.badlogic.gdx.maps.tiled.TiledMapTile;
import com.badlogic.gdx.maps.tiled.TiledMapTileSet;
import com.badlogic.gdx.maps.tiled.TmxMapLoader;
import com.badlogic.gdx.maps.tiled.tiles.AnimatedTiledMapTile;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.GdxRuntimeException;
import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.SerializationException;
import com.badlogic.gdx.utils.XmlReader;
import com.badlogic.gdx.utils.*;
import forge.Forge;
import java.io.File;

View File

@@ -10,7 +10,6 @@ import com.badlogic.gdx.scenes.scene2d.InputEvent;
import com.badlogic.gdx.scenes.scene2d.ui.*;
import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.OrderedMap;

View File

@@ -33,7 +33,14 @@ public class BiomeStructure {
public TextureAtlas atlas() {
if(structureAtlas==null)
{
structureAtlas = Config.instance().getAtlas(data.structureAtlasPath);
try
{
structureAtlas = Config.instance().getAtlas(data.structureAtlasPath);
}
catch (Exception e)
{
e.printStackTrace();
}
}
return structureAtlas;
}
@@ -62,23 +69,31 @@ public class BiomeStructure {
}
boolean suc=false;
for(int i=0;i<10&&!suc;i++)
suc=model.run((int) seed+(i*5355),15000);
suc=model.run((int) seed+(i*5355),0);
if(!suc)
{
dataMap=new int[(int) (data.width* biomeWidth)][ (int) (data.height*biomeHeight)];
collisionMap=new boolean[(int) (data.width* biomeWidth)][ (int) (data.height*biomeHeight)];
for(int x=0;x<data.width* biomeWidth;x++)
for(int y=0;y<data.height*biomeHeight;y++)
dataMap[x][y]=-1;
return;
}
image=model.graphics();
dataMap=new int[image.getWidth()][image.getHeight()];
collisionMap=new boolean[image.getWidth()][image.getHeight()];
BufferedImage maskImage=maskImage();
for(int x=0;x<image.getWidth();x++)
{
for(int y=0;y<image.getHeight();y++)
{
boolean isWhitePixel=maskImage!=null&&(maskImage.getRGB((int) (x*maskImage.getWidth()/(float)image.getWidth()),(int)(y*(maskImage.getHeight()/(float)image.getHeight())) ) & 0xffffff)!=0;
if(isWhitePixel)
image.setRGB(x,y, 0xffffffff);
int rgb=image.getRGB(x,y) & 0xffffff;
if(!colorIdMap.containsKey(rgb))
if(!colorIdMap.containsKey(rgb)||isWhitePixel)
{
dataMap[x][y]=-1;
}
@@ -99,14 +114,16 @@ public class BiomeStructure {
}
}
private BufferedImage maskImage() {
try {
return ImageIO.read(new File(Config.instance().getFilePath(data.maskPath)));
} catch (IOException e) {
return null;
}
public int x() {
return (int) ((data.x*biomeWidth)-(data.width*biomeWidth)/2);
}
public int y() {
return (int) ((data.y*biomeHeight)-(data.height*biomeHeight)/2);
}
public BiomeStructureData.BiomeStructureDataMapping[] mapping() {
return data.mappingInfo;
}

View File

@@ -86,7 +86,13 @@ public class BiomeTexture implements Serializable {
{
for(BiomeTerrainData terrain:data.terrain)
{
regions.add(Config.instance().getAtlas(data.tilesetAtlas).findRegion(terrain.spriteName));
TextureAtlas.AtlasRegion region = Config.instance().getAtlas(data.tilesetAtlas).findRegion(terrain.spriteName);
if(region==null)
{
System.err.print("Can not find sprite "+terrain.spriteName);
continue;
}
regions.add(region);
source.add(Config.instance().getAtlas(data.tilesetAtlas));
}
}
@@ -98,8 +104,13 @@ public class BiomeTexture implements Serializable {
TextureAtlas atlas=structure.atlas ();
for(BiomeStructureData.BiomeStructureDataMapping mapping:structure.mapping())
{
regions.add(atlas.findRegion(mapping.name));
TextureAtlas.AtlasRegion region = atlas.findRegion(mapping.name);
if(region==null)
{
System.err.print("Can not find sprite "+mapping.name);
continue;
}
regions.add(region);
source.add(atlas);
}
}
@@ -108,6 +119,7 @@ public class BiomeTexture implements Serializable {
for (TextureAtlas.AtlasRegion region : regions) {
ArrayList<Pixmap> pics = new ArrayList<>();
ArrayList<Pixmap> spics = new ArrayList<>();
if(!region.getTexture().getTextureData().isPrepared())
region.getTexture().getTextureData().prepare();
Pixmap completePicture = region.getTexture().getTextureData().consumePixmap();
for (int y = 0; y < 4; y++) {

View File

@@ -274,9 +274,19 @@ private void clearTerrain(int x,int y,int size)
}
}
}
private long measureGenerationTime(String msg,long lastTime)
{
long currentTime = System.currentTimeMillis();
System.out.print("\n"+msg+" :\t\t"+((currentTime-lastTime)/1000f)+" s");
return currentTime;
}
public World generateNew(long seed) {
long currentTime = System.currentTimeMillis();
loadWorldData();
if(seed==0) { seed=random.nextLong(); }
this.seed=seed;
random.setSeed(seed);
@@ -301,6 +311,7 @@ private void clearTerrain(int x,int y,int size)
pix.fill();
int biomeIndex = -1;
currentTime=measureGenerationTime("loading data",currentTime);
for (BiomeData biome : data.GetBiomes()) {
biomeIndex++;
@@ -311,8 +322,8 @@ private void clearTerrain(int x,int y,int size)
int beginX = Math.max(biomeXStart - biomeWidth / 2, 0);
int beginY = Math.max(biomeYStart - biomeHeight / 2, 0);
int endX = Math.min(biomeXStart + biomeWidth, width);
int endY = Math.min(biomeYStart + biomeHeight, height);
int endX = Math.min(biomeXStart + biomeWidth/2, width);
int endY = Math.min(biomeYStart + biomeHeight/2, height);
if (biome.width == 1.0 && biome.height == 1.0) {
beginX = 0;
beginY = 0;
@@ -358,21 +369,29 @@ private void clearTerrain(int x,int y,int size)
{
for(BiomeStructureData data:biome.structures)
{
BiomeStructure structure;
if(!structureDataMap.containsKey(data))
{
structureDataMap.put(data,new BiomeStructure(data,seed,biomeWidth,biomeHeight));
structure=new BiomeStructure(data,seed,biomeWidth,biomeHeight);
structure.initialize();
structureDataMap.put(data,structure);
currentTime=measureGenerationTime("wavefunctioncollapse "+data.sourcePath,currentTime);
}
structure=structureDataMap.get(data);
int structureXStart= structure.x()+beginX;
int structureYStart= structure.y()+beginY;
int structureIndex=structure.objectID(x-structureXStart,y-structureYStart);
else
{
structure=structureDataMap.get(data);
}
int structureXStart= x-(biomeXStart - biomeWidth / 2)-(int) ((data.x*biomeWidth)-(data.width*biomeWidth/2));
int structureYStart= y-(biomeYStart - biomeHeight / 2)- (int) ((data.y*biomeHeight)-(data.height*biomeHeight/2));
int structureIndex=structure.objectID(structureXStart,structureYStart);
if(structureIndex>=0)
{
pix.setColor(data.mappingInfo[structureIndex].getColor());
pix.drawPixel(x, y);
terrainMap[x][y]=terrainCounter+structureIndex;
if(structure.collision(x-structureXStart,y-structureYStart))
if(structure.collision(structureXStart,structureYStart))
terrainMap[x][y]|=collisionBit;
terrainMap[x][y]|=isStructureBit;
@@ -485,6 +504,7 @@ private void clearTerrain(int x,int y,int size)
}
}
currentTime=measureGenerationTime("poi placement",currentTime);
//sort towns
List<Pair<PointOfInterest, PointOfInterest>> allSortedTowns = new ArrayList<>();
@@ -624,6 +644,7 @@ private void clearTerrain(int x,int y,int size)
}
}
}
currentTime=measureGenerationTime("roads",currentTime);
mapObjectIds = new SpritesDataMap(getChunkSize(), data.tileSize, data.width / getChunkSize());
for (int x = 0; x < width; x++) {
@@ -656,7 +677,7 @@ private void clearTerrain(int x,int y,int size)
}
}
biomeImage = pix;
measureGenerationTime("sprites",currentTime);
WorldStage.getInstance().clearCache();
return this;
}

View File

@@ -1,12 +1,11 @@
package forge.animation;
import com.badlogic.gdx.Gdx;
import forge.Forge;
import java.util.ArrayList;
import java.util.List;
import com.badlogic.gdx.Gdx;
import forge.Forge;
public abstract class ForgeAnimation {
private static final List<ForgeAnimation> activeAnimations = new ArrayList<>();
// A guard against inspecting activeAnimations while it's in the process of being edited

View File

@@ -1,15 +1,14 @@
package forge.animation;
import com.badlogic.gdx.math.Rectangle;
import forge.Graphics;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FOverlay;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
import com.badlogic.gdx.math.Rectangle;
import forge.Graphics;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FOverlay;
public class ForgeTransition extends ForgeAnimation {
private static final FOverlay overlay = new FOverlay(null) {
@Override protected void doLayout(final float width, final float height) {

View File

@@ -4,7 +4,6 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.g2d.Animation;
import com.badlogic.gdx.graphics.g2d.Animation.PlayMode;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.Graphics;
public class GifAnimation extends ForgeAnimation {

View File

@@ -5,9 +5,6 @@ package forge.animation;
/* Released under Apache 2.0 */
/* https://code.google.com/p/animated-gifs-in-android/ */
import java.io.InputStream;
import java.util.Vector;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.Animation;
@@ -15,6 +12,9 @@ import com.badlogic.gdx.graphics.g2d.Animation.PlayMode;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.Array;
import java.io.InputStream;
import java.util.Vector;
public class GifDecoder {
/**
* File read status: No errors.

View File

@@ -1,24 +1,22 @@
package forge.assets;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import forge.gui.GuiBase;
import org.apache.commons.lang3.StringUtils;
import com.badlogic.gdx.Application.ApplicationType;
import com.badlogic.gdx.Gdx;
import com.google.common.collect.ImmutableList;
import forge.Forge;
import forge.gui.FThreads;
import forge.gui.GuiBase;
import forge.gui.download.GuiDownloadZipService;
import forge.gui.util.SOptionPane;
import forge.localinstance.properties.ForgeConstants;
import forge.screens.SplashScreen;
import forge.util.FileUtil;
import org.apache.commons.lang3.StringUtils;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.List;
public class AssetsDownloader {
public static final boolean SHARE_DESKTOP_ASSETS = true; //change to false to test downloading separate assets for desktop version

View File

@@ -23,7 +23,6 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont.BitmapFontData;
import com.badlogic.gdx.graphics.g2d.BitmapFont.Glyph;
import com.badlogic.gdx.graphics.g2d.PixmapPacker.Page;
import com.badlogic.gdx.utils.Array;
import forge.util.TextUtil;
/**

View File

@@ -7,7 +7,6 @@ import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.FrameBuffer;
import com.badlogic.gdx.math.Matrix4;
import forge.Graphics;
import forge.gui.FThreads;

View File

@@ -2,7 +2,6 @@ package forge.assets;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.Graphics;

View File

@@ -1,16 +1,15 @@
package forge.assets;
import java.util.ArrayList;
import java.util.List;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import java.util.ArrayList;
import java.util.List;
public class FLanguage {
public static void changeLanguage(final String languageName) {

View File

@@ -1,7 +1,6 @@
package forge.assets;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.Graphics;

View File

@@ -1,12 +1,11 @@
package forge.assets;
import java.util.HashMap;
import com.badlogic.gdx.graphics.Color;
import forge.localinstance.skin.FSkinProp;
import forge.screens.match.TargetingOverlay;
import java.util.HashMap;
public class FSkinColor {
public enum Colors {
CLR_THEME (FSkinProp.CLR_THEME),

View File

@@ -1,10 +1,5 @@
package forge.assets;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
@@ -20,7 +15,6 @@ import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter;
import com.badlogic.gdx.graphics.glutils.PixmapTextureData;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.IntSet;
import forge.Forge;
import forge.gui.FThreads;
@@ -30,6 +24,11 @@ import forge.util.LineReader;
import forge.util.TextBounds;
import forge.util.Utils;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
public class FSkinFont {
private static final int MIN_FONT_SIZE = 8;
private static int MAX_FONT_SIZE = 72;

View File

@@ -6,7 +6,6 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.Forge;
import forge.Graphics;
import forge.localinstance.properties.ForgeConstants;

View File

@@ -1,17 +1,16 @@
package forge.assets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.Texture.TextureWrap;
import forge.Forge;
import forge.Graphics;
import forge.localinstance.properties.ForgeConstants;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public enum FSkinTexture implements FImage {
BG_TEXTURE(ForgeConstants.TEXTURE_BG_FILE, true, false),
BG_MATCH(ForgeConstants.MATCH_BG_FILE, false, false),

View File

@@ -1,7 +1,6 @@
package forge.assets;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.Graphics;

View File

@@ -2,7 +2,6 @@ package forge.assets;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.Graphics;
public class FTextureRegionImage extends FImageComplex {

View File

@@ -17,48 +17,41 @@
*/
package forge.assets;
import java.io.File;
import java.util.ConcurrentModificationException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Queue;
import java.util.Set;
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.Pixmap.Format;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.TextureData;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.PixmapTextureData;
import com.google.common.collect.EvictingQueue;
import com.google.common.collect.Queues;
import com.google.common.collect.Sets;
import forge.deck.DeckProxy;
import forge.gui.FThreads;
import forge.gui.GuiBase;
import forge.util.FileUtil;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap.Format;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import forge.Forge;
import forge.ImageKeys;
import forge.card.CardEdition;
import forge.card.CardRenderer;
import forge.deck.Deck;
import forge.deck.DeckProxy;
import forge.game.card.CardView;
import forge.game.player.IHasIcon;
import forge.gui.FThreads;
import forge.gui.GuiBase;
import forge.item.InventoryItem;
import forge.item.PaperCard;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.util.FileUtil;
import forge.util.ImageUtil;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import java.io.File;
import java.util.*;
/**
* This class stores ALL card images in a cache with soft values. this means

View File

@@ -1,13 +1,7 @@
package forge.assets;
import java.text.BreakIterator;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.Align;
import forge.Forge;
import forge.Graphics;
import forge.card.CardFaceSymbols;
@@ -16,6 +10,11 @@ import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.util.TextBounds;
import java.text.BreakIterator;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
//Encodes text for drawing with symbols and reminder text
public class TextRenderer {
static {

View File

@@ -17,8 +17,6 @@
*/
package forge.card;
import java.util.StringTokenizer;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinImage;
@@ -26,6 +24,8 @@ import forge.card.mana.ManaCost;
import forge.card.mana.ManaCostShard;
import forge.gui.error.BugReporter;
import java.util.StringTokenizer;
public class CardFaceSymbols {
public static final float FONT_SIZE_FACTOR = 0.85f;

View File

@@ -1,7 +1,6 @@
package forge.card;
import com.badlogic.gdx.graphics.Texture;
import forge.Forge;
import forge.Graphics;
import forge.assets.FImage;

View File

@@ -1,24 +1,13 @@
package forge.card;
import static forge.card.CardRenderer.CROP_MULTIPLIER;
import static forge.card.CardRenderer.isModernFrame;
import java.util.ArrayList;
import java.util.List;
import forge.ImageKeys;
import forge.assets.*;
import forge.item.PaperCard;
import forge.util.ImageUtil;
import org.apache.commons.lang3.StringUtils;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.Align;
import com.google.common.collect.ImmutableList;
import forge.Forge;
import forge.Graphics;
import forge.ImageKeys;
import forge.assets.*;
import forge.card.CardRenderer.CardStackPosition;
import forge.card.mana.ManaCost;
import forge.game.GameView;
@@ -27,13 +16,22 @@ import forge.game.card.CardView.CardStateView;
import forge.game.zone.ZoneType;
import forge.gui.card.CardDetailUtil;
import forge.gui.card.CardDetailUtil.DetailColors;
import forge.item.PaperCard;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgePreferences;
import forge.model.FModel;
import forge.screens.FScreen;
import forge.screens.match.MatchController;
import forge.util.CardTranslation;
import forge.util.ImageUtil;
import forge.util.Utils;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.List;
import static forge.card.CardRenderer.CROP_MULTIPLIER;
import static forge.card.CardRenderer.isModernFrame;
public class CardImageRenderer {
private static final float BASE_IMAGE_WIDTH = 360;

View File

@@ -2,7 +2,6 @@ package forge.card;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.Align;
import forge.item.PaperCard;
import forge.toolbox.FChoiceList;
import forge.toolbox.FLabel;

View File

@@ -1,17 +1,5 @@
package forge.card;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import forge.ImageKeys;
import forge.localinstance.properties.ForgeConstants;
import forge.util.*;
import org.apache.commons.lang3.StringUtils;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Color;
@@ -27,19 +15,11 @@ import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFont
import com.badlogic.gdx.graphics.glutils.PixmapTextureData;
import com.badlogic.gdx.utils.Align;
import com.badlogic.gdx.utils.Array;
import forge.CachedCardImage;
import forge.Forge;
import forge.Graphics;
import forge.assets.FImage;
import forge.assets.FImageComplex;
import forge.assets.FRotatedImage;
import forge.assets.FSkin;
import forge.assets.FSkinColor;
import forge.assets.FSkinFont;
import forge.assets.FSkinImage;
import forge.assets.FTextureRegionImage;
import forge.assets.ImageCache;
import forge.ImageKeys;
import forge.assets.*;
import forge.card.CardZoom.ActivateHandler;
import forge.card.mana.ManaCost;
import forge.game.card.CardView;
@@ -51,12 +31,20 @@ import forge.gui.card.CardDetailUtil;
import forge.gui.card.CardDetailUtil.DetailColors;
import forge.item.IPaperCard;
import forge.item.InventoryItem;
import forge.localinstance.properties.ForgeConstants;
import forge.localinstance.properties.ForgeConstants.CounterDisplayType;
import forge.localinstance.properties.ForgePreferences;
import forge.localinstance.properties.ForgePreferences.FPref;
import forge.model.FModel;
import forge.screens.match.MatchController;
import forge.toolbox.FList;
import forge.util.CardTranslation;
import forge.util.FileUtil;
import forge.util.TextBounds;
import forge.util.Utils;
import org.apache.commons.lang3.StringUtils;
import java.util.*;
public class CardRenderer {
public enum CardStackPosition {

View File

@@ -1,13 +1,8 @@
package forge.card;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.utils.Align;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinImage;
@@ -30,6 +25,10 @@ import forge.toolbox.FOverlay;
import forge.util.Utils;
import forge.util.collect.FCollectionView;
import java.util.ArrayList;
import java.util.List;
import java.util.Map.Entry;
public class CardZoom extends FOverlay {
private static final float REQ_AMOUNT = Utils.AVG_FINGER_WIDTH;

View File

@@ -1,11 +1,6 @@
package forge.card;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import com.google.common.collect.ImmutableList;
import forge.Forge;
import forge.Graphics;
import forge.assets.FImage;
@@ -22,6 +17,10 @@ import forge.toolbox.FOptionPane;
import forge.toolbox.FTextField;
import forge.util.Callback;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class GameEntityPicker extends TabPageScreen<GameEntityPicker> {
private final FOptionPane optionPane;

View File

@@ -17,13 +17,8 @@
*/
package forge.deck;
import java.text.NumberFormat;
import java.util.Map;
import java.util.Map.Entry;
import com.badlogic.gdx.utils.Align;
import com.google.common.collect.Iterables;
import forge.Forge;
import forge.Graphics;
import forge.StaticData;
@@ -37,21 +32,16 @@ import forge.card.CardZoom;
import forge.card.mana.ManaCostShard;
import forge.item.PaperCard;
import forge.model.FModel;
import forge.toolbox.FCardPanel;
import forge.toolbox.FComboBox;
import forge.toolbox.FContainer;
import forge.toolbox.FDialog;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FEvent;
import forge.toolbox.*;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FLabel;
import forge.toolbox.FOptionPane;
import forge.toolbox.FScrollPane;
import forge.toolbox.FTextArea;
import forge.util.Callback;
import forge.util.MyRandom;
import forge.util.Utils;
import java.text.NumberFormat;
import java.util.Map;
import java.util.Map.Entry;
public class AddBasicLandsDialog extends FDialog {
private static final float ADD_BTN_SIZE = Utils.AVG_FINGER_HEIGHT * 0.75f;

View File

@@ -1,20 +1,7 @@
package forge.deck;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import forge.util.MyRandom;
import org.apache.commons.lang3.StringUtils;
import com.badlogic.gdx.utils.Align;
import com.google.common.collect.ImmutableList;
import forge.Forge;
import forge.assets.ImageCache;
import forge.deck.FDeckEditor.EditorType;
@@ -43,17 +30,16 @@ import forge.screens.FScreen;
import forge.screens.LoadingOverlay;
import forge.screens.home.NewGameMenu.NewGameScreen;
import forge.screens.match.MatchController;
import forge.toolbox.FButton;
import forge.toolbox.FComboBox;
import forge.toolbox.FContainer;
import forge.toolbox.FEvent;
import forge.toolbox.*;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FOptionPane;
import forge.toolbox.GuiChoose;
import forge.toolbox.ListChooser;
import forge.util.Callback;
import forge.util.MyRandom;
import forge.util.Utils;
import forge.util.storage.IStorage;
import org.apache.commons.lang3.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
public class FDeckChooser extends FScreen {
public static final float PADDING = Utils.scale(5);

View File

@@ -35,7 +35,10 @@ import forge.screens.TabPageScreen;
import forge.toolbox.*;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FEvent.FEventType;
import forge.util.*;
import forge.util.Callback;
import forge.util.ItemPool;
import forge.util.Lang;
import forge.util.Utils;
import forge.util.storage.IStorage;
import org.apache.commons.lang3.StringUtils;

View File

@@ -17,11 +17,7 @@
*/
package forge.deck;
import java.util.ArrayList;
import java.util.List;
import com.google.common.collect.ImmutableList;
import forge.Forge;
import forge.Graphics;
import forge.StaticData;
@@ -29,15 +25,13 @@ import forge.deck.DeckRecognizer.TokenType;
import forge.game.GameType;
import forge.gui.FThreads;
import forge.gui.util.SOptionPane;
import forge.toolbox.FCheckBox;
import forge.toolbox.FComboBox;
import forge.toolbox.FDialog;
import forge.toolbox.FEvent;
import forge.toolbox.*;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FOptionPane;
import forge.toolbox.FTextArea;
import forge.util.Callback;
import java.util.ArrayList;
import java.util.List;
public class FDeckImportDialog extends FDialog {
private Callback<Deck> callback;

View File

@@ -1,13 +1,7 @@
package forge.deck;
import java.util.Map.Entry;
import forge.Forge;
import forge.assets.FImage;
import forge.assets.FSkin;
import forge.assets.FSkinImage;
import forge.assets.FTextureRegionImage;
import forge.assets.ImageCache;
import forge.assets.*;
import forge.item.PaperCard;
import forge.itemmanager.CardManager;
import forge.itemmanager.ItemManagerConfig;
@@ -20,6 +14,8 @@ import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FOptionPane;
import java.util.Map.Entry;
public class FDeckViewer extends FScreen {
private static FDeckViewer deckViewer;
private static FPopupMenu menu = new FPopupMenu() {

View File

@@ -1,10 +1,6 @@
package forge.deck;
import java.util.List;
import forge.Forge;
import org.apache.commons.lang3.StringUtils;
import forge.assets.FImage;
import forge.item.PaperCard;
import forge.itemmanager.CardManager;
@@ -19,6 +15,9 @@ import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.GuiChoose;
import forge.util.Callback;
import org.apache.commons.lang3.StringUtils;
import java.util.List;
public class FSideboardDialog extends FDialog {
private final SideboardTabs tabs;

View File

@@ -1,7 +1,6 @@
package forge.error;
import com.badlogic.gdx.utils.Align;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;

View File

@@ -1,22 +1,17 @@
package forge.itemmanager;
import java.util.Map.Entry;
import forge.Graphics;
import forge.assets.FSkinColor;
import forge.assets.FSkinFont;
import forge.card.CardRenderer;
import forge.card.CardZoom;
import forge.item.PaperCard;
import forge.itemmanager.filters.AdvancedSearchFilter;
import forge.itemmanager.filters.CardColorFilter;
import forge.itemmanager.filters.CardFormatFilter;
import forge.itemmanager.filters.CardSearchFilter;
import forge.itemmanager.filters.CardTypeFilter;
import forge.itemmanager.filters.TextSearchFilter;
import forge.itemmanager.filters.*;
import forge.toolbox.FList;
import forge.toolbox.FList.CompactModeHandler;
import java.util.Map.Entry;
/**
* ItemManager for cards
*/

View File

@@ -1,9 +1,6 @@
package forge.itemmanager;
import java.util.Map.Entry;
import com.badlogic.gdx.utils.Align;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;
@@ -25,6 +22,8 @@ import forge.toolbox.FList;
import forge.toolbox.FList.CompactModeHandler;
import forge.util.Utils;
import java.util.Map.Entry;
/**
* ItemManager for decks
*/

View File

@@ -17,16 +17,6 @@
*/
package forge.itemmanager;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.math.Rectangle;
import com.badlogic.gdx.utils.Align;
@@ -34,7 +24,6 @@ import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;
@@ -53,17 +42,16 @@ import forge.menu.FDropDownMenu;
import forge.menu.FMenuItem;
import forge.menu.FPopupMenu;
import forge.screens.FScreen;
import forge.toolbox.FComboBox;
import forge.toolbox.FContainer;
import forge.toolbox.FEvent;
import forge.toolbox.*;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FEvent.FEventType;
import forge.toolbox.FLabel;
import forge.toolbox.FList;
import forge.toolbox.FList.CompactModeHandler;
import forge.util.ItemPool;
import forge.util.LayoutHelper;
import java.util.*;
import java.util.Map.Entry;
public abstract class ItemManager<T extends InventoryItem> extends FContainer implements IItemManager<T>, ActivateHandler {
private ItemPool<T> pool;

View File

@@ -1,11 +1,8 @@
package forge.itemmanager;
import java.util.Map.Entry;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.Align;
import com.google.common.base.Function;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;
@@ -21,6 +18,8 @@ import forge.itemmanager.filters.TextSearchFilter;
import forge.toolbox.FList;
import forge.toolbox.FList.CompactModeHandler;
import java.util.Map.Entry;
public class SpellShopManager extends ItemManager<InventoryItem> {
private final Function<Entry<? extends InventoryItem, Integer>, Object> fnGetPrice;

View File

@@ -3,7 +3,6 @@ package forge.itemmanager.filters;
import com.badlogic.gdx.utils.Align;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import forge.Forge;
import forge.assets.FSkinImage;
import forge.assets.TextRenderer;
@@ -16,14 +15,8 @@ import forge.menu.FMenuItem;
import forge.menu.FPopupMenu;
import forge.menu.FTooltip;
import forge.screens.FScreen;
import forge.toolbox.FContainer;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FEvent;
import forge.toolbox.*;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FLabel;
import forge.toolbox.FList;
import forge.toolbox.FScrollPane;
import forge.toolbox.FTextField;
import forge.util.Callback;

View File

@@ -1,11 +1,6 @@
package forge.itemmanager.filters;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import com.badlogic.gdx.utils.Align;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;
@@ -19,6 +14,10 @@ import forge.toolbox.FList;
import forge.util.Callback;
import forge.util.Utils;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
/**
* Created by maustin on 16/04/2018.
*/

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.item.PaperCard;

View File

@@ -1,7 +1,6 @@
package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import forge.item.PaperCard;
import forge.itemmanager.ItemManager;
import forge.itemmanager.SFilterUtil;

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.item.PaperCard;

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.item.PaperCard;
import forge.itemmanager.ItemManager;

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.item.PaperCard;

View File

@@ -1,7 +1,6 @@
package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import forge.card.CardRarity;
import forge.item.PaperCard;
import forge.itemmanager.ItemManager;

View File

@@ -1,7 +1,6 @@
package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import forge.item.InventoryItem;
import forge.item.PaperCard;
import forge.itemmanager.ItemManager;

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.item.PaperCard;

View File

@@ -1,16 +1,15 @@
package forge.itemmanager.filters;
import java.util.ArrayList;
import java.util.List;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.card.CardRules;
import forge.item.PaperCard;
import forge.itemmanager.ItemManager;
import forge.itemmanager.SItemManagerUtil.StatTypes;
import java.util.ArrayList;
import java.util.List;
public class CardTypeFilter extends StatTypeFilter<PaperCard> {
public CardTypeFilter(ItemManager<? super PaperCard> itemManager0) {

View File

@@ -1,7 +1,6 @@
package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import forge.deck.DeckProxy;
import forge.itemmanager.ItemManager;
import forge.itemmanager.SFilterUtil;

View File

@@ -1,13 +1,12 @@
package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import forge.deck.DeckProxy;
import forge.itemmanager.ItemManager;
import java.util.HashSet;
import java.util.Set;
import com.google.common.base.Predicate;
import forge.deck.DeckProxy;
import forge.itemmanager.ItemManager;
public class DeckFolderFilter extends ListLabelFilter<DeckProxy> {
protected final Set<String> folders = new HashSet<>();

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.deck.DeckProxy;
import forge.itemmanager.ItemManager;

View File

@@ -1,13 +1,6 @@
package forge.itemmanager.filters;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.badlogic.gdx.utils.Align;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;
@@ -19,17 +12,14 @@ import forge.itemmanager.ItemManager;
import forge.model.FModel;
import forge.screens.FScreen;
import forge.screens.settings.SettingsScreen;
import forge.toolbox.FCheckBox;
import forge.toolbox.FComboBox;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FEvent;
import forge.toolbox.*;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FGroupList;
import forge.toolbox.FList;
import forge.util.Callback;
import forge.util.TextUtil;
import forge.util.Utils;
import java.util.*;
public abstract class FormatFilter<T extends InventoryItem> extends ItemFilter<T> {
protected GameFormat format;

View File

@@ -1,7 +1,6 @@
package forge.itemmanager.filters;
import com.google.common.base.Predicate;
import forge.assets.FSkinFont;
import forge.item.InventoryItem;
import forge.itemmanager.ItemManager;

View File

@@ -1,7 +1,6 @@
package forge.itemmanager.filters;
import com.badlogic.gdx.utils.Align;
import forge.assets.FSkinFont;
import forge.item.InventoryItem;
import forge.itemmanager.ItemManager;

View File

@@ -1,8 +1,5 @@
package forge.itemmanager.filters;
import java.util.HashMap;
import java.util.Map;
import forge.assets.FSkin;
import forge.item.InventoryItem;
import forge.item.ItemPredicate;
@@ -14,6 +11,9 @@ import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FLabel;
import java.util.HashMap;
import java.util.Map;
public abstract class StatTypeFilter<T extends InventoryItem> extends ToggleButtonsFilter<T> {
protected final Map<SItemManagerUtil.StatTypes, FLabel> buttonMap;

View File

@@ -3,7 +3,6 @@ package forge.itemmanager.filters;
import com.badlogic.gdx.utils.Align;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinFont;

View File

@@ -1,10 +1,6 @@
package forge.itemmanager.filters;
import java.util.ArrayList;
import java.util.List;
import com.badlogic.gdx.utils.Align;
import forge.assets.FImage;
import forge.item.InventoryItem;
import forge.itemmanager.ItemManager;
@@ -13,6 +9,9 @@ import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FEvent.FEventType;
import forge.toolbox.FLabel;
import java.util.ArrayList;
import java.util.List;
public abstract class ToggleButtonsFilter<T extends InventoryItem> extends ItemFilter<T> {
protected boolean lockFiltering;

View File

@@ -2,7 +2,6 @@ package forge.itemmanager.filters;
import com.badlogic.gdx.utils.Align;
import com.google.common.base.Predicate;
import forge.card.CardRules;
import forge.card.CardRulesPredicates;
import forge.item.InventoryItem;

View File

@@ -17,14 +17,7 @@
*/
package forge.itemmanager.views;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.badlogic.gdx.math.Rectangle;
import forge.Forge;
import forge.Graphics;
import forge.assets.FImage;
@@ -33,15 +26,17 @@ import forge.assets.FSkinColor.Colors;
import forge.assets.FSkinFont;
import forge.assets.FSkinImage;
import forge.item.InventoryItem;
import forge.itemmanager.ColumnDef;
import forge.itemmanager.ItemColumn;
import forge.itemmanager.ItemManager;
import forge.itemmanager.ItemManagerConfig;
import forge.itemmanager.ItemManagerModel;
import forge.itemmanager.*;
import forge.toolbox.FCheckBox;
import forge.toolbox.FDisplayObject;
import forge.toolbox.FList;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public final class ItemListView<T extends InventoryItem> extends ItemView<T> {
private static final FSkinColor ROW_COLOR = FSkinColor.get(Colors.CLR_ZEBRA);

View File

@@ -1,27 +1,22 @@
package forge.itemmanager.views;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import com.badlogic.gdx.math.Rectangle;
import forge.Graphics;
import forge.assets.FImage;
import forge.assets.FSkinColor;
import forge.assets.FSkinColor.Colors;
import forge.item.InventoryItem;
import forge.itemmanager.ColumnDef;
import forge.itemmanager.ItemColumn;
import forge.itemmanager.ItemManager;
import forge.itemmanager.ItemManagerConfig;
import forge.itemmanager.ItemManagerModel;
import forge.itemmanager.*;
import forge.toolbox.FContainer;
import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventType;
import forge.toolbox.FScrollPane;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
public abstract class ItemView<T extends InventoryItem> {
protected static final float UNOWNED_ALPHA_COMPOSITE = 0.35f;
private static final FSkinColor BORDER_COLOR = FSkinColor.get(Colors.CLR_TEXT);

View File

@@ -1,7 +1,6 @@
package forge.menu;
import com.badlogic.gdx.math.Rectangle;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;

View File

@@ -1,7 +1,6 @@
package forge.menu;
import com.badlogic.gdx.utils.Align;
import forge.Graphics;
import forge.assets.FSkinColor;
import forge.assets.FSkinFont;

View File

@@ -1,11 +1,11 @@
package forge.menu;
import java.util.ArrayList;
import java.util.List;
import forge.Graphics;
import forge.screens.FScreen.Header;
import java.util.ArrayList;
import java.util.List;
public class FMenuBar extends Header {
private final List<FMenuTab> tabs = new ArrayList<>();

Some files were not shown because too many files have changed in this diff Show More