diff --git a/src/main/java/org/dynmap/DynmapPlugin.java b/src/main/java/org/dynmap/DynmapPlugin.java index c0973188..cfbdffd1 100644 --- a/src/main/java/org/dynmap/DynmapPlugin.java +++ b/src/main/java/org/dynmap/DynmapPlugin.java @@ -213,8 +213,6 @@ public class DynmapPlugin extends JavaPlugin { dataDirectory = this.getDataFolder(); - /* Initialize marker API, if not already done */ - MarkerAPI m_api = getMarkerAPI(); /* Load block models */ HDBlockModels.loadModels(dataDirectory); /* Load texture mappings */ @@ -254,6 +252,8 @@ public class DynmapPlugin extends JavaPlugin { if (!tilesDirectory.isDirectory() && !tilesDirectory.mkdirs()) { Log.warning("Could not create directory for tiles ('" + tilesDirectory + "')."); } + /* Initialize marker API (after tilesDirectory is ready) */ + MarkerAPI m_api = getMarkerAPI(); playerList = new PlayerList(getServer(), getFile("hiddenplayers.txt"), configuration); playerList.load(); diff --git a/src/main/java/org/dynmap/markers/MarkerAPI.java b/src/main/java/org/dynmap/markers/MarkerAPI.java index a5a5c1d0..19c5bcc9 100644 --- a/src/main/java/org/dynmap/markers/MarkerAPI.java +++ b/src/main/java/org/dynmap/markers/MarkerAPI.java @@ -1,6 +1,7 @@ package org.dynmap.markers; import java.io.File; +import java.io.InputStream; import java.util.Set; /** @@ -42,8 +43,8 @@ public interface MarkerAPI { * Register a new marker icon * @param id - ID of marker icon (must be unique among marker icons - letters, numbers, periods, underscores only) * @param label - label for marker icon - * @param markerfile - file containing PNG encoded icon for marker (will be copied) + * @param marker_png - stream containing PNG encoded icon for marker (will be read and copied) * @return marker icon object, or null if failed */ - public MarkerIcon createMarkerIcon(String id, String label, File markerfile); + public MarkerIcon createMarkerIcon(String id, String label, InputStream marker_png); } diff --git a/src/main/java/org/dynmap/markers/MarkerIcon.java b/src/main/java/org/dynmap/markers/MarkerIcon.java index 2612ca9a..a253a421 100644 --- a/src/main/java/org/dynmap/markers/MarkerIcon.java +++ b/src/main/java/org/dynmap/markers/MarkerIcon.java @@ -6,7 +6,8 @@ package org.dynmap.markers; public interface MarkerIcon { /** Default marker icon - always exists */ public static final String DEFAULT = "default"; - + + /** * Get ID of the marker icon (unique among marker icons) * @return ID @@ -17,4 +18,9 @@ public interface MarkerIcon { * @return icon label */ public String getMarkerIconLabel(); + /** + * Is builtin marker + * @return true + */ + public boolean isBuiltIn(); } diff --git a/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java b/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java index a723f465..677b7d8b 100644 --- a/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java +++ b/src/main/java/org/dynmap/markers/impl/MarkerAPIImpl.java @@ -1,6 +1,11 @@ package org.dynmap.markers.impl; import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; @@ -25,10 +30,24 @@ import org.dynmap.markers.MarkerSet; */ public class MarkerAPIImpl implements MarkerAPI { private File markerpersist; + private File markerdir; /* Local store for markers (internal) */ + private File markertiledir; /* Marker directory for web server (under tiles) */ private HashMap markericons = new HashMap(); private HashMap markersets = new HashMap(); static MarkerAPIImpl api; + + /* Built-in icons */ + private static final String[] builtin_icons = { + "anchor", "bank", "basket", "beer", "bighouse", "blueflag", "bomb", "bookshelf", "bricks", "bronzemedal", "bronzestar", + "building", "cake", "camera", "cart", "caution", "chest", "church", "coins", "comment", "compass", "construction", + "cross", "cup", "cutlery", "default", "diamond", "dog", "door", "down", "drink", "exclamation", "factory", + "fire", "flower", "gear", "goldmedal", "goldstar", "greenflag", "hammer", "heart", "house", "key", "king", + "left", "lightbulb", "lighthouse", "lock", "orangeflag", "pin", "pinkflag", "pirateflag", "pointdown", "pointleft", + "pointright", "pointup", "purpleflag", "queen", "redflag", "right", "ruby", "scales", "skull", "shield", "sign", + "silvermedal", "silverstar", "star", "sun", "temple", "theater", "tornado", "tower", "tree", "truck", "up", + "walk", "warning", "world", "wrench", "yellowflag" + }; /** * Singleton initializer @@ -43,12 +62,29 @@ public class MarkerAPIImpl implements MarkerAPI { /* Load persistence */ api.loadMarkers(); /* Fill in default icons and sets, if needed */ - if(api.getMarkerIcon(MarkerIcon.DEFAULT) == null) { - api.createMarkerIcon(MarkerIcon.DEFAULT, "Marker", null); + for(int i = 0; i < builtin_icons.length; i++) { + String id = builtin_icons[i]; + if(api.getMarkerIcon(id) == null) { + api.createBuiltinMarkerIcon(id, id); + } } if(api.getMarkerSet(MarkerSet.DEFAULT) == null) { api.createMarkerSet(MarkerSet.DEFAULT, "Markers", null, true); } + /* Build paths for markers */ + api.markerdir = new File(plugin.getDataFolder(), "markers"); + if(api.markerdir.mkdirs() == false) { /* Create directory if needed */ + Log.severe("Error creating markers directory - " + api.markerdir.getPath()); + } + api.markertiledir = new File(DynmapPlugin.tilesDirectory, "_markers_"); + if(api.markertiledir.mkdirs() == false) { /* Create directory if needed */ + Log.severe("Error creating markers directory - " + api.markertiledir.getPath()); + } + /* Now publish marker files to the tiles directory */ + for(MarkerIcon ico : api.getMarkerIcons()) { + api.publishMarkerIcon(ico); + } + return api; } @@ -63,6 +99,54 @@ public class MarkerAPIImpl implements MarkerAPI { set.cleanup(); markersets.clear(); } + + private MarkerIcon createBuiltinMarkerIcon(String id, String label) { + if(markericons.containsKey(id)) return null; /* Exists? */ + MarkerIconImpl ico = new MarkerIconImpl(id, label, true); + markericons.put(id, ico); /* Add to set */ + return ico; + } + + private void publishMarkerIcon(MarkerIcon ico) { + byte[] buf = new byte[512]; + InputStream in = null; + File infile = new File(markerdir, ico.getMarkerIconID() + ".png"); /* Get source file name */ + File outfile = new File(markertiledir, ico.getMarkerIconID() + ".png"); /* Destination */ + OutputStream out = null; + try { + out = new FileOutputStream(outfile); + } catch (IOException iox) { + Log.severe("Cannot write marker to tilespath - " + outfile.getPath()); + return; + } + if(ico.isBuiltIn()) { + in = getClass().getResourceAsStream("/markers/" + ico.getMarkerIconID() + ".png"); + } + else if(infile.canRead()) { /* If it exists and is readable */ + try { + in = new FileInputStream(infile); + } catch (IOException iox) { + Log.severe("Error opening marker " + infile.getPath() + " - " + iox); + } + } + if(in == null) { /* Not found, use default marker */ + in = getClass().getResourceAsStream("/markers/marker.png"); + if(in == null) + return; + } + /* Copy to destination */ + try { + int len; + while((len = in.read(buf)) > 0) { + out.write(buf, 0, len); + } + } catch (IOException iox) { + Log.severe("Error writing marker to tilespath - " + outfile.getPath()); + } finally { + if(in != null) try { in.close(); } catch (IOException x){} + if(out != null) try { out.close(); } catch (IOException x){} + } + } @Override public Set getMarkerSets() { @@ -100,11 +184,29 @@ public class MarkerAPIImpl implements MarkerAPI { } @Override - public MarkerIcon createMarkerIcon(String id, String label, File markerfile) { + public MarkerIcon createMarkerIcon(String id, String label, InputStream marker_png) { if(markericons.containsKey(id)) return null; /* Exists? */ - MarkerIconImpl ico = new MarkerIconImpl(id, label); - + MarkerIconImpl ico = new MarkerIconImpl(id, label, false); + /* Copy icon resource into marker directory */ + File f = new File(markerdir, id + ".png"); + FileOutputStream fos = null; + try { + byte[] buf = new byte[512]; + int len; + fos = new FileOutputStream(f); + while((len = marker_png.read(buf)) > 0) { + fos.write(buf, 0, len); + } + } catch (IOException iox) { + Log.severe("Error copying marker - " + f.getPath()); + return null; + } finally { + if(fos != null) try { fos.close(); } catch (IOException x) {} + } markericons.put(id, ico); /* Add to set */ + + /* Publish the marker */ + publishMarkerIcon(ico); saveMarkers(); /* Save results */ diff --git a/src/main/java/org/dynmap/markers/impl/MarkerIconImpl.java b/src/main/java/org/dynmap/markers/impl/MarkerIconImpl.java index 0b15f4f2..7adcccb1 100644 --- a/src/main/java/org/dynmap/markers/impl/MarkerIconImpl.java +++ b/src/main/java/org/dynmap/markers/impl/MarkerIconImpl.java @@ -9,18 +9,21 @@ import org.dynmap.markers.MarkerIcon; class MarkerIconImpl implements MarkerIcon { private String iconid; private String label; + private boolean is_builtin; MarkerIconImpl(String id) { iconid = id; label = id; + is_builtin = false; } - MarkerIconImpl(String id, String lbl) { + MarkerIconImpl(String id, String lbl, boolean is_builtin) { iconid = id; if(lbl != null) label = lbl; else label = id; + this.is_builtin = is_builtin; } void cleanup() { @@ -36,12 +39,20 @@ class MarkerIconImpl implements MarkerIcon { public String getMarkerIconLabel() { return label; } + + @Override + public boolean isBuiltIn() { + return is_builtin; + } /** * Get configuration node to be saved * @return node */ Map getPersistentData() { + if(is_builtin) + return null; + HashMap node = new HashMap(); node.put("label", label); @@ -49,6 +60,9 @@ class MarkerIconImpl implements MarkerIcon { } boolean loadPersistentData(ConfigurationNode node) { + if(is_builtin) + return false; + label = node.getString("label", iconid); return true; diff --git a/src/main/resources/markers/anchor.png b/src/main/resources/markers/anchor.png new file mode 100644 index 00000000..870ebf63 Binary files /dev/null and b/src/main/resources/markers/anchor.png differ diff --git a/src/main/resources/markers/bank.png b/src/main/resources/markers/bank.png new file mode 100644 index 00000000..f3185794 Binary files /dev/null and b/src/main/resources/markers/bank.png differ diff --git a/src/main/resources/markers/basket.png b/src/main/resources/markers/basket.png new file mode 100644 index 00000000..1ff455e0 Binary files /dev/null and b/src/main/resources/markers/basket.png differ diff --git a/src/main/resources/markers/beer.png b/src/main/resources/markers/beer.png new file mode 100644 index 00000000..1113e7a8 Binary files /dev/null and b/src/main/resources/markers/beer.png differ diff --git a/src/main/resources/markers/bighouse.png b/src/main/resources/markers/bighouse.png new file mode 100644 index 00000000..9723cf0e Binary files /dev/null and b/src/main/resources/markers/bighouse.png differ diff --git a/src/main/resources/markers/blueflag.png b/src/main/resources/markers/blueflag.png new file mode 100644 index 00000000..1a79762a Binary files /dev/null and b/src/main/resources/markers/blueflag.png differ diff --git a/src/main/resources/markers/bomb.png b/src/main/resources/markers/bomb.png new file mode 100644 index 00000000..6e8e3a33 Binary files /dev/null and b/src/main/resources/markers/bomb.png differ diff --git a/src/main/resources/markers/bookshelf.png b/src/main/resources/markers/bookshelf.png new file mode 100644 index 00000000..c589cadf Binary files /dev/null and b/src/main/resources/markers/bookshelf.png differ diff --git a/src/main/resources/markers/bricks.png b/src/main/resources/markers/bricks.png new file mode 100644 index 00000000..c7d1ee03 Binary files /dev/null and b/src/main/resources/markers/bricks.png differ diff --git a/src/main/resources/markers/bronzemedal.png b/src/main/resources/markers/bronzemedal.png new file mode 100644 index 00000000..83c06af3 Binary files /dev/null and b/src/main/resources/markers/bronzemedal.png differ diff --git a/src/main/resources/markers/bronzestar.png b/src/main/resources/markers/bronzestar.png new file mode 100644 index 00000000..0cec9251 Binary files /dev/null and b/src/main/resources/markers/bronzestar.png differ diff --git a/src/main/resources/markers/building.png b/src/main/resources/markers/building.png new file mode 100644 index 00000000..6646b815 Binary files /dev/null and b/src/main/resources/markers/building.png differ diff --git a/src/main/resources/markers/cake.png b/src/main/resources/markers/cake.png new file mode 100644 index 00000000..0e69b3fa Binary files /dev/null and b/src/main/resources/markers/cake.png differ diff --git a/src/main/resources/markers/camera.png b/src/main/resources/markers/camera.png new file mode 100644 index 00000000..0a7ef900 Binary files /dev/null and b/src/main/resources/markers/camera.png differ diff --git a/src/main/resources/markers/cart.png b/src/main/resources/markers/cart.png new file mode 100644 index 00000000..72425907 Binary files /dev/null and b/src/main/resources/markers/cart.png differ diff --git a/src/main/resources/markers/caution.png b/src/main/resources/markers/caution.png new file mode 100644 index 00000000..dbfda229 Binary files /dev/null and b/src/main/resources/markers/caution.png differ diff --git a/src/main/resources/markers/chest.png b/src/main/resources/markers/chest.png new file mode 100644 index 00000000..a33977e3 Binary files /dev/null and b/src/main/resources/markers/chest.png differ diff --git a/src/main/resources/markers/church.png b/src/main/resources/markers/church.png new file mode 100644 index 00000000..e1642d0b Binary files /dev/null and b/src/main/resources/markers/church.png differ diff --git a/src/main/resources/markers/coins.png b/src/main/resources/markers/coins.png new file mode 100644 index 00000000..28d59ee7 Binary files /dev/null and b/src/main/resources/markers/coins.png differ diff --git a/src/main/resources/markers/comment.png b/src/main/resources/markers/comment.png new file mode 100644 index 00000000..a5bab32f Binary files /dev/null and b/src/main/resources/markers/comment.png differ diff --git a/src/main/resources/markers/compass.png b/src/main/resources/markers/compass.png new file mode 100644 index 00000000..6576ced9 Binary files /dev/null and b/src/main/resources/markers/compass.png differ diff --git a/src/main/resources/markers/construction.png b/src/main/resources/markers/construction.png new file mode 100644 index 00000000..6dd0b2aa Binary files /dev/null and b/src/main/resources/markers/construction.png differ diff --git a/src/main/resources/markers/cross.png b/src/main/resources/markers/cross.png new file mode 100644 index 00000000..33a38374 Binary files /dev/null and b/src/main/resources/markers/cross.png differ diff --git a/src/main/resources/markers/cup.png b/src/main/resources/markers/cup.png new file mode 100644 index 00000000..9e234da1 Binary files /dev/null and b/src/main/resources/markers/cup.png differ diff --git a/src/main/resources/markers/cutlery.png b/src/main/resources/markers/cutlery.png new file mode 100644 index 00000000..ab33e5b8 Binary files /dev/null and b/src/main/resources/markers/cutlery.png differ diff --git a/src/main/resources/markers/default.png b/src/main/resources/markers/default.png new file mode 100644 index 00000000..55c76802 Binary files /dev/null and b/src/main/resources/markers/default.png differ diff --git a/src/main/resources/markers/diamond.png b/src/main/resources/markers/diamond.png new file mode 100644 index 00000000..e25a7168 Binary files /dev/null and b/src/main/resources/markers/diamond.png differ diff --git a/src/main/resources/markers/dog.png b/src/main/resources/markers/dog.png new file mode 100644 index 00000000..fb2dc26f Binary files /dev/null and b/src/main/resources/markers/dog.png differ diff --git a/src/main/resources/markers/door.png b/src/main/resources/markers/door.png new file mode 100644 index 00000000..2b4651e5 Binary files /dev/null and b/src/main/resources/markers/door.png differ diff --git a/src/main/resources/markers/down.png b/src/main/resources/markers/down.png new file mode 100644 index 00000000..691f6e0c Binary files /dev/null and b/src/main/resources/markers/down.png differ diff --git a/src/main/resources/markers/drink.png b/src/main/resources/markers/drink.png new file mode 100644 index 00000000..f2c33e77 Binary files /dev/null and b/src/main/resources/markers/drink.png differ diff --git a/src/main/resources/markers/exclamation.png b/src/main/resources/markers/exclamation.png new file mode 100644 index 00000000..d49653ad Binary files /dev/null and b/src/main/resources/markers/exclamation.png differ diff --git a/src/main/resources/markers/factory.png b/src/main/resources/markers/factory.png new file mode 100644 index 00000000..a27b9dd1 Binary files /dev/null and b/src/main/resources/markers/factory.png differ diff --git a/src/main/resources/markers/fire.png b/src/main/resources/markers/fire.png new file mode 100644 index 00000000..0a2029f9 Binary files /dev/null and b/src/main/resources/markers/fire.png differ diff --git a/src/main/resources/markers/flower.png b/src/main/resources/markers/flower.png new file mode 100644 index 00000000..ba4b0ab7 Binary files /dev/null and b/src/main/resources/markers/flower.png differ diff --git a/src/main/resources/markers/gear.png b/src/main/resources/markers/gear.png new file mode 100644 index 00000000..8f4eeb76 Binary files /dev/null and b/src/main/resources/markers/gear.png differ diff --git a/src/main/resources/markers/goldmedal.png b/src/main/resources/markers/goldmedal.png new file mode 100644 index 00000000..aba79c3b Binary files /dev/null and b/src/main/resources/markers/goldmedal.png differ diff --git a/src/main/resources/markers/goldstar.png b/src/main/resources/markers/goldstar.png new file mode 100644 index 00000000..3200f51f Binary files /dev/null and b/src/main/resources/markers/goldstar.png differ diff --git a/src/main/resources/markers/greenflag.png b/src/main/resources/markers/greenflag.png new file mode 100644 index 00000000..c8c61b07 Binary files /dev/null and b/src/main/resources/markers/greenflag.png differ diff --git a/src/main/resources/markers/hammer.png b/src/main/resources/markers/hammer.png new file mode 100644 index 00000000..06d69a55 Binary files /dev/null and b/src/main/resources/markers/hammer.png differ diff --git a/src/main/resources/markers/heart.png b/src/main/resources/markers/heart.png new file mode 100644 index 00000000..53e1013a Binary files /dev/null and b/src/main/resources/markers/heart.png differ diff --git a/src/main/resources/markers/house.png b/src/main/resources/markers/house.png new file mode 100644 index 00000000..da024e5a Binary files /dev/null and b/src/main/resources/markers/house.png differ diff --git a/src/main/resources/markers/key.png b/src/main/resources/markers/key.png new file mode 100644 index 00000000..b6ad1af4 Binary files /dev/null and b/src/main/resources/markers/key.png differ diff --git a/src/main/resources/markers/king.png b/src/main/resources/markers/king.png new file mode 100644 index 00000000..109b8dba Binary files /dev/null and b/src/main/resources/markers/king.png differ diff --git a/src/main/resources/markers/left.png b/src/main/resources/markers/left.png new file mode 100644 index 00000000..d9c50c4d Binary files /dev/null and b/src/main/resources/markers/left.png differ diff --git a/src/main/resources/markers/lightbulb.png b/src/main/resources/markers/lightbulb.png new file mode 100644 index 00000000..117285ff Binary files /dev/null and b/src/main/resources/markers/lightbulb.png differ diff --git a/src/main/resources/markers/lighthouse.png b/src/main/resources/markers/lighthouse.png new file mode 100644 index 00000000..be1b9c78 Binary files /dev/null and b/src/main/resources/markers/lighthouse.png differ diff --git a/src/main/resources/markers/lock.png b/src/main/resources/markers/lock.png new file mode 100644 index 00000000..ddf83d95 Binary files /dev/null and b/src/main/resources/markers/lock.png differ diff --git a/src/main/resources/markers/orangeflag.png b/src/main/resources/markers/orangeflag.png new file mode 100644 index 00000000..945dfa98 Binary files /dev/null and b/src/main/resources/markers/orangeflag.png differ diff --git a/src/main/resources/markers/pin.png b/src/main/resources/markers/pin.png new file mode 100644 index 00000000..c4578263 Binary files /dev/null and b/src/main/resources/markers/pin.png differ diff --git a/src/main/resources/markers/pinkflag.png b/src/main/resources/markers/pinkflag.png new file mode 100644 index 00000000..2cdae017 Binary files /dev/null and b/src/main/resources/markers/pinkflag.png differ diff --git a/src/main/resources/markers/pirateflag.png b/src/main/resources/markers/pirateflag.png new file mode 100644 index 00000000..3eeab004 Binary files /dev/null and b/src/main/resources/markers/pirateflag.png differ diff --git a/src/main/resources/markers/pointdown.png b/src/main/resources/markers/pointdown.png new file mode 100644 index 00000000..c66cf8a9 Binary files /dev/null and b/src/main/resources/markers/pointdown.png differ diff --git a/src/main/resources/markers/pointleft.png b/src/main/resources/markers/pointleft.png new file mode 100644 index 00000000..cd36a6c3 Binary files /dev/null and b/src/main/resources/markers/pointleft.png differ diff --git a/src/main/resources/markers/pointright.png b/src/main/resources/markers/pointright.png new file mode 100644 index 00000000..7efc7c6c Binary files /dev/null and b/src/main/resources/markers/pointright.png differ diff --git a/src/main/resources/markers/pointup.png b/src/main/resources/markers/pointup.png new file mode 100644 index 00000000..8c761f76 Binary files /dev/null and b/src/main/resources/markers/pointup.png differ diff --git a/src/main/resources/markers/purpleflag.png b/src/main/resources/markers/purpleflag.png new file mode 100644 index 00000000..0cb00ee8 Binary files /dev/null and b/src/main/resources/markers/purpleflag.png differ diff --git a/src/main/resources/markers/queen.png b/src/main/resources/markers/queen.png new file mode 100644 index 00000000..6fbe5a26 Binary files /dev/null and b/src/main/resources/markers/queen.png differ diff --git a/src/main/resources/markers/redflag.png b/src/main/resources/markers/redflag.png new file mode 100644 index 00000000..b99e36b2 Binary files /dev/null and b/src/main/resources/markers/redflag.png differ diff --git a/src/main/resources/markers/right.png b/src/main/resources/markers/right.png new file mode 100644 index 00000000..8d204afe Binary files /dev/null and b/src/main/resources/markers/right.png differ diff --git a/src/main/resources/markers/ruby.png b/src/main/resources/markers/ruby.png new file mode 100644 index 00000000..24755ce6 Binary files /dev/null and b/src/main/resources/markers/ruby.png differ diff --git a/src/main/resources/markers/scales.png b/src/main/resources/markers/scales.png new file mode 100644 index 00000000..cf099e96 Binary files /dev/null and b/src/main/resources/markers/scales.png differ diff --git a/src/main/resources/markers/shield.png b/src/main/resources/markers/shield.png new file mode 100644 index 00000000..4eb8031c Binary files /dev/null and b/src/main/resources/markers/shield.png differ diff --git a/src/main/resources/markers/sign.png b/src/main/resources/markers/sign.png new file mode 100644 index 00000000..668becee Binary files /dev/null and b/src/main/resources/markers/sign.png differ diff --git a/src/main/resources/markers/silvermedal.png b/src/main/resources/markers/silvermedal.png new file mode 100644 index 00000000..bcf9fe92 Binary files /dev/null and b/src/main/resources/markers/silvermedal.png differ diff --git a/src/main/resources/markers/silverstar.png b/src/main/resources/markers/silverstar.png new file mode 100644 index 00000000..d405d12c Binary files /dev/null and b/src/main/resources/markers/silverstar.png differ diff --git a/src/main/resources/markers/skull.png b/src/main/resources/markers/skull.png new file mode 100644 index 00000000..7eadc96c Binary files /dev/null and b/src/main/resources/markers/skull.png differ diff --git a/src/main/resources/markers/star.png b/src/main/resources/markers/star.png new file mode 100644 index 00000000..883e4dec Binary files /dev/null and b/src/main/resources/markers/star.png differ diff --git a/src/main/resources/markers/sun.png b/src/main/resources/markers/sun.png new file mode 100644 index 00000000..b38797a1 Binary files /dev/null and b/src/main/resources/markers/sun.png differ diff --git a/src/main/resources/markers/temple.png b/src/main/resources/markers/temple.png new file mode 100644 index 00000000..9ab1e9b5 Binary files /dev/null and b/src/main/resources/markers/temple.png differ diff --git a/src/main/resources/markers/theater.png b/src/main/resources/markers/theater.png new file mode 100644 index 00000000..13053e09 Binary files /dev/null and b/src/main/resources/markers/theater.png differ diff --git a/src/main/resources/markers/tornado.png b/src/main/resources/markers/tornado.png new file mode 100644 index 00000000..41040e11 Binary files /dev/null and b/src/main/resources/markers/tornado.png differ diff --git a/src/main/resources/markers/tower.png b/src/main/resources/markers/tower.png new file mode 100644 index 00000000..3c1bc75a Binary files /dev/null and b/src/main/resources/markers/tower.png differ diff --git a/src/main/resources/markers/tree.png b/src/main/resources/markers/tree.png new file mode 100644 index 00000000..70264e06 Binary files /dev/null and b/src/main/resources/markers/tree.png differ diff --git a/src/main/resources/markers/truck.png b/src/main/resources/markers/truck.png new file mode 100644 index 00000000..4b15248b Binary files /dev/null and b/src/main/resources/markers/truck.png differ diff --git a/src/main/resources/markers/up.png b/src/main/resources/markers/up.png new file mode 100644 index 00000000..30d005f2 Binary files /dev/null and b/src/main/resources/markers/up.png differ diff --git a/src/main/resources/markers/walk.png b/src/main/resources/markers/walk.png new file mode 100644 index 00000000..c1d95616 Binary files /dev/null and b/src/main/resources/markers/walk.png differ diff --git a/src/main/resources/markers/warning.png b/src/main/resources/markers/warning.png new file mode 100644 index 00000000..f5362a7e Binary files /dev/null and b/src/main/resources/markers/warning.png differ diff --git a/src/main/resources/markers/world.png b/src/main/resources/markers/world.png new file mode 100644 index 00000000..8ec6efe8 Binary files /dev/null and b/src/main/resources/markers/world.png differ diff --git a/src/main/resources/markers/wrench.png b/src/main/resources/markers/wrench.png new file mode 100644 index 00000000..7c8cc7a2 Binary files /dev/null and b/src/main/resources/markers/wrench.png differ diff --git a/src/main/resources/markers/yellowflag.png b/src/main/resources/markers/yellowflag.png new file mode 100644 index 00000000..8f087bbb Binary files /dev/null and b/src/main/resources/markers/yellowflag.png differ