diff --git a/.docker/default.conf b/.docker/default.conf index 9d3a7b22b..df7688c22 100644 --- a/.docker/default.conf +++ b/.docker/default.conf @@ -6,7 +6,7 @@ server { location / { root /usr/share/nginx/html; index index.html; - add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; font-src data: 'self'"; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://www.googletagmanager.com https://www.google-analytics.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src data: 'self' https://fonts.gstatic.com https://fonts.googleapis.com; img-src 'self' data: blob: https:; connect-src 'self' https: blob:; worker-src 'self' blob:;"; add_header X-XSS-Protection "1; mode=block"; add_header X-Frame-Options "DENY"; add_header X-Content-Type-Options nosniff; diff --git a/.gitignore b/.gitignore index b0a273f04..329545f4c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,46 @@ -.vscode -.idea -/node_modules -/dist -/coverage +# IDE / editor config +.vscode/ +.idea/ + +# Node +/node_modules/ +/dist/ +/coverage/ + +# --- PNG source art for icons --- +# SVG icons are committed; PNGs are large AI-generated source files. +# They will be released separately if there is demand. +images/fantasy-icons/*.png + +# --- Local map saves --- +# Personal campaign maps β€” not for public distribution +MapSaves/ + +# --- POI / source data --- +POI_Source/ + +# --- Local custom scripts (root-level, not modules/custom_scripts) --- +custom_scripts/ + +# --- Python helper scripts (local tooling only) --- +diagnose_map.py +inspect_marker.py +list_markers.py +update_markers.py +update_markers_binary.py +scripts/ + +# --- Extra libs (bundled locally, not needed in repo) --- +libs/mapControls.min.js + +# --- Extra module files not yet merged upstream --- +modules/burgs-generator.js +modules/states-generator.js +modules/ui/burg-group-editor.js + +# --- Docker / server config (local deployment) --- +.docker/default.conf + +# --- Secrets --- +.env +.env.* diff --git a/GRID-NUMBERING-README.md b/GRID-NUMBERING-README.md new file mode 100644 index 000000000..6b0767360 --- /dev/null +++ b/GRID-NUMBERING-README.md @@ -0,0 +1,40 @@ +# Grid Auto-Numbering Implementation Details + +**Technical Note:** +As part of my DevOps-focused workflow, I designed the logic and coordinate system for this feature and used Antigravity AI to assist with the specific JavaScript/D3.js implementation. + +--- + +## Logic Overview +The grid numbering system is integrated into the SVG rendering pipeline. It iterates through the existing grid cell data generated by the map engine and overlays a text element for each cell. + +### Coordinate System +The system uses a top-down, left-to-right indexing method: +* **Starting Point:** The top-leftmost cell is assigned `0001`. +* **Flow:** Numbers increment horizontally across the row before moving to the next line. +* **Formatting:** Numbers are padded with leading zeros (e.g., `0001`, `0010`, `0100`) to maintain a consistent 4-digit coordinate string, common in tabletop hex-crawl systems. + +### Grid Support +The logic dynamically calculates the centroid of each cell to ensure proper label placement regardless of the grid geometry: +* **Pointy Hex:** Centers text within the hexagonal bounds. +* **Square:** Standard center-point alignment. +* **Truncated Square:** Adjusts for the irregular geometry to prevent label clipping. + +## Integration Points + +### Style Panel +Added a new sub-section under the **Grid** layer in the Style panel: +* **Toggle:** A checkbox to enable/disable the `gridLabels` group in the SVG. +* **Font Size:** A slider controlling the `font-size` attribute of the labels. +* **Color Picker:** A standard hex color input tied to the text `fill` attribute. + +### SVG Layering +A new `` element with the ID `#gridLabels` is appended to the main map SVG. It sits directly above the grid lines layer to ensure visibility while remaining below the "Labels" or "Markers" layers. + +## Files Modified +* `index.html`: Added the toggle and styling controls to the UI. +* `modules/ui/grid-menu.js`: Logic for handling UI interactions and state. +* `modules/render-grid.js`: Core logic for calculating centroids and appending text elements to the SVG. + +## Performance Considerations +For massive maps with thousands of cells, the numbering system is optimized to only render when the Grid layer is active. This prevents unnecessary DOM overhead during standard map navigation. diff --git a/README.md b/README.md index 3ab245b2e..f11a1c8de 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,110 @@ -# Fantasy Map Generator - -Azgaar's _Fantasy Map Generator_ is a free web application that helps fantasy writers, game masters, and cartographers create and edit fantasy maps. - -Link: [azgaar.github.io/Fantasy-Map-Generator](https://azgaar.github.io/Fantasy-Map-Generator). - -Refer to the [project wiki](https://github.com/Azgaar/Fantasy-Map-Generator/wiki) for guidance. The current progress is tracked in [Trello](https://trello.com/b/7x832DG4/fantasy-map-generator). Some details are covered in my old blog [_Fantasy Maps for fun and glory_](https://azgaar.wordpress.com). - -[![preview](https://github.com/Azgaar/Fantasy-Map-Generator/assets/26469650/9502eae9-92e0-4d0d-9f17-a2ba4a565c01)](https://github.com/Azgaar/Fantasy-Map-Generator/assets/26469650/11a42446-4bd5-4526-9cb1-3ef97c868992) - -[![preview](https://github.com/Azgaar/Fantasy-Map-Generator/assets/26469650/e751a9e5-7986-4638-b8a9-362395ef7583)](https://github.com/Azgaar/Fantasy-Map-Generator/assets/26469650/e751a9e5-7986-4638-b8a9-362395ef7583) - -[![preview](https://github.com/Azgaar/Fantasy-Map-Generator/assets/26469650/b0d0efde-a0d1-4e80-8818-ea3dd83c2323)](https://github.com/Azgaar/Fantasy-Map-Generator/assets/26469650/b0d0efde-a0d1-4e80-8818-ea3dd83c2323) - -Join our [Discord server](https://discordapp.com/invite/X7E84HU) and [Reddit community](https://www.reddit.com/r/FantasyMapGenerator) to share your creations, discuss the Generator, suggest ideas and get the most recent updates. - -Contact me via [email](mailto:azgaar.fmg@yandex.com) if you have non-public suggestions. For bug reports please use [GitHub issues](https://github.com/Azgaar/Fantasy-Map-Generator/issues) or _#fmg-bugs_ channel on Discord. If you are facing performance issues, please read [the tips](https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Tips#performance-tips). - -Pull requests are highly welcomed. The codebase is messy and requires re-design. I will appreciate if you start with minor changes. Check out the [data model](https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Data-model) before contributing. - -You can support the project on [Patreon](https://www.patreon.com/azgaar). - -_Inspiration:_ - -- Martin O'Leary's [_Generating fantasy maps_](https://mewo2.com/notes/terrain) - -- Amit Patel's [_Polygonal Map Generation for Games_](http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation) - -- Scott Turner's [_Here Dragons Abound_](https://heredragonsabound.blogspot.com) +# Azgaar Fantasy Map Generator β€” Enhanced Fork + +This is a personal fork of [Azgaar's Fantasy Map Generator](https://github.com/Azgaar/Fantasy-Map-Generator) with custom enhancements for D&D campaign management. + +## Original Project + +**Original Repository**: [Azgaar/Fantasy-Map-Generator](https://github.com/Azgaar/Fantasy-Map-Generator) +**Original Author**: Max Haniyeu (Azgaar) +**License**: MIT License + +Full credit to Azgaar for creating this incredible fantasy map generation tool. Please visit and star the original repository! + +--- + +## Custom Enhancements in This Fork + +### ✨ Grid Auto-Numbering + +Added sequential numbering to grid cells for easy location referencing in tabletop RPG campaigns. + +**Features:** +- Sequential numbering (0001, 0002, 0003...) starting from top-left +- Customizable font size and color +- Toggle on/off in the Style panel +- Accurate alignment for pointy hex, flat hex, and square grid types + +**Usage:** +1. Enable the Grid layer (press `G`) +2. Open Style panel β†’ Select **Grid** +3. Check **Show grid numbers** +4. Adjust size and color as desired + +**Documentation:** See [`GRID-NUMBERING-README.md`](./GRID-NUMBERING-README.md) for full implementation details. + +--- + +### πŸ” Grid Search + +Search for map elements (Markers, Burgs, Units, Notes) by their grid cell number. + +**Features:** +- Search input in the **Tools β†’ Search** section +- Results dialog lists every element found inside the specified grid cell +- Click any result to pan the map to that element and open its editor +- Tooltips on Markers, Burgs, and Armies show the current grid number when grid numbering is active + +**Usage:** +1. Enable the Grid layer with numbering turned on +2. Open the **Tools** tab +3. Type a grid number (e.g. `1691`) in the **Search** field and click **Search Grid** +4. Click any result in the dialog to jump to it on the map + +--- + +### πŸ—ΊοΈ Custom Fantasy Icons + +A collection of D&D-themed SVG marker icons is included in `images/fantasy-icons/`. These can be used directly as custom markers in the map editor. + +**Available icons include:** alchemist, ambush, battlefield, blacksmith, boss, bridge, burial, camp, castle, cave, circus, city, coffin, crystal, dragon, dungeon, encounter, fair, forest, fort, gate, gold bar, graveyard, lighthouse, magic, milestone quest, monster, necropolis, nest, outpost, portal, quest, ruins, sacred tree, scorpion, ship, shop, skeleton, snake, spider, stable, tavern, town, trap, treasure, undead, village, wagon, wasp, web, wrecked wagon, zombie, and more. + +> **PNG source art:** AI-generated PNG versions of these icons (used as creative references) are not included in this repo to keep the size manageable. If there is demand, they will be uploaded in a separate `images/fantasy-icons-png/` directory. Open an issue to request them. + +--- + +## Running Locally + +```bash +# Clone this fork +git clone https://github.com/rstandow/Fantasy-Map-Generator +cd Fantasy-Map-Generator + +# Open in browser β€” no build step needed +# Simply open index.html in your web browser + +# Or run via the included Docker setup +docker compose up -d +``` + +--- + +## Contributing Back + +If you find any of these features useful, please consider: +- ⭐ Starring the [original Azgaar repository](https://github.com/Azgaar/Fantasy-Map-Generator) +- Opening a PR upstream if the feature might benefit the wider community + +--- + +## License + +This fork maintains the original MIT License. See [LICENSE](./LICENSE) for full details. + +**Copyright 2017–2024 Max Haniyeu (Azgaar)** +Fork enhancements Β© 2024–2025 + +--- + +## Acknowledgments + +- **Azgaar** β€” For creating and maintaining this fantastic map generator +- **Original Contributors** β€” Everyone who has contributed to the main project +- **D&D Community** β€” For inspiration and use cases + +--- + +> Azgaar's _Fantasy Map Generator_ is a free web application that helps fantasy writers, game masters, and cartographers create and edit fantasy maps. +> +> Link: [azgaar.github.io/Fantasy-Map-Generator](https://azgaar.github.io/Fantasy-Map-Generator) +> +> Refer to the [project wiki](https://github.com/Azgaar/Fantasy-Map-Generator/wiki) for guidance. Pull requests are highly welcomed! diff --git a/images/fantasy-icons/alchemist.svg b/images/fantasy-icons/alchemist.svg new file mode 100644 index 000000000..aedba8d42 --- /dev/null +++ b/images/fantasy-icons/alchemist.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/ambush.svg b/images/fantasy-icons/ambush.svg new file mode 100644 index 000000000..ee6290327 --- /dev/null +++ b/images/fantasy-icons/ambush.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/battlefield.svg b/images/fantasy-icons/battlefield.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/battlefield.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/beetle.svg b/images/fantasy-icons/beetle.svg new file mode 100644 index 000000000..b1e22b325 --- /dev/null +++ b/images/fantasy-icons/beetle.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/blacksmith.svg b/images/fantasy-icons/blacksmith.svg new file mode 100644 index 000000000..dcc382d32 --- /dev/null +++ b/images/fantasy-icons/blacksmith.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/boss.svg b/images/fantasy-icons/boss.svg new file mode 100644 index 000000000..43316baca --- /dev/null +++ b/images/fantasy-icons/boss.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/bridge.svg b/images/fantasy-icons/bridge.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/bridge.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/brigand.svg b/images/fantasy-icons/brigand.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/brigand.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/bug.svg b/images/fantasy-icons/bug.svg new file mode 100644 index 000000000..4f949f772 --- /dev/null +++ b/images/fantasy-icons/bug.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/burial.svg b/images/fantasy-icons/burial.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/burial.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/camp.svg b/images/fantasy-icons/camp.svg new file mode 100644 index 000000000..ef5592e40 --- /dev/null +++ b/images/fantasy-icons/camp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/canoe.svg b/images/fantasy-icons/canoe.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/canoe.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/castle.svg b/images/fantasy-icons/castle.svg new file mode 100644 index 000000000..43a2fa385 --- /dev/null +++ b/images/fantasy-icons/castle.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/fantasy-icons/cave.svg b/images/fantasy-icons/cave.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/cave.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/circus.svg b/images/fantasy-icons/circus.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/circus.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/city.svg b/images/fantasy-icons/city.svg new file mode 100644 index 000000000..51e7e8b3e --- /dev/null +++ b/images/fantasy-icons/city.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/claw.svg b/images/fantasy-icons/claw.svg new file mode 100644 index 000000000..bb64cae6c --- /dev/null +++ b/images/fantasy-icons/claw.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/coffin.svg b/images/fantasy-icons/coffin.svg new file mode 100644 index 000000000..8ece9ad32 --- /dev/null +++ b/images/fantasy-icons/coffin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/crystal.svg b/images/fantasy-icons/crystal.svg new file mode 100644 index 000000000..451501daa --- /dev/null +++ b/images/fantasy-icons/crystal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/dance.svg b/images/fantasy-icons/dance.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/dance.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/dragon.svg b/images/fantasy-icons/dragon.svg new file mode 100644 index 000000000..413808adf --- /dev/null +++ b/images/fantasy-icons/dragon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/dungeon.svg b/images/fantasy-icons/dungeon.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/dungeon.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/encounter.svg b/images/fantasy-icons/encounter.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/encounter.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/fair.svg b/images/fantasy-icons/fair.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/fair.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/forest.svg b/images/fantasy-icons/forest.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/forest.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/fort.svg b/images/fantasy-icons/fort.svg new file mode 100644 index 000000000..e64dac38d --- /dev/null +++ b/images/fantasy-icons/fort.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/gate.svg b/images/fantasy-icons/gate.svg new file mode 100644 index 000000000..7f189bcfd --- /dev/null +++ b/images/fantasy-icons/gate.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/godzilla.svg b/images/fantasy-icons/godzilla.svg new file mode 100644 index 000000000..e0bd1890f --- /dev/null +++ b/images/fantasy-icons/godzilla.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/gold_bar.svg b/images/fantasy-icons/gold_bar.svg new file mode 100644 index 000000000..a318a611f --- /dev/null +++ b/images/fantasy-icons/gold_bar.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/graveyard.svg b/images/fantasy-icons/graveyard.svg new file mode 100644 index 000000000..290ed703f --- /dev/null +++ b/images/fantasy-icons/graveyard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/hot-spring.svg b/images/fantasy-icons/hot-spring.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/hot-spring.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/inn.svg b/images/fantasy-icons/inn.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/inn.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/joust.svg b/images/fantasy-icons/joust.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/joust.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/library.svg b/images/fantasy-icons/library.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/library.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/lighthouse.svg b/images/fantasy-icons/lighthouse.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/lighthouse.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/magic.svg b/images/fantasy-icons/magic.svg new file mode 100644 index 000000000..ecb595b0b --- /dev/null +++ b/images/fantasy-icons/magic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/migration.svg b/images/fantasy-icons/migration.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/migration.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/milestone_quest.svg b/images/fantasy-icons/milestone_quest.svg new file mode 100644 index 000000000..c0235e705 --- /dev/null +++ b/images/fantasy-icons/milestone_quest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/mine.svg b/images/fantasy-icons/mine.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/mine.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/mirage.svg b/images/fantasy-icons/mirage.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/mirage.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/monster.svg b/images/fantasy-icons/monster.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/monster.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/necropolis.svg b/images/fantasy-icons/necropolis.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/necropolis.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/nest.svg b/images/fantasy-icons/nest.svg new file mode 100644 index 000000000..193e6d278 --- /dev/null +++ b/images/fantasy-icons/nest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/outpost.svg b/images/fantasy-icons/outpost.svg new file mode 100644 index 000000000..93d246bb8 --- /dev/null +++ b/images/fantasy-icons/outpost.svg @@ -0,0 +1 @@ + diff --git a/images/fantasy-icons/pirate.svg b/images/fantasy-icons/pirate.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/pirate.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/placeholder.svg b/images/fantasy-icons/placeholder.svg new file mode 100644 index 000000000..61bbe765a --- /dev/null +++ b/images/fantasy-icons/placeholder.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + βš” + diff --git a/images/fantasy-icons/portal.svg b/images/fantasy-icons/portal.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/portal.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/quest.svg b/images/fantasy-icons/quest.svg new file mode 100644 index 000000000..fe39e6ceb --- /dev/null +++ b/images/fantasy-icons/quest.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/rift.svg b/images/fantasy-icons/rift.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/rift.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/ruined_city.svg b/images/fantasy-icons/ruined_city.svg new file mode 100644 index 000000000..2edabf0ca --- /dev/null +++ b/images/fantasy-icons/ruined_city.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/ruined_town.svg b/images/fantasy-icons/ruined_town.svg new file mode 100644 index 000000000..58173b346 --- /dev/null +++ b/images/fantasy-icons/ruined_town.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/ruined_village.svg b/images/fantasy-icons/ruined_village.svg new file mode 100644 index 000000000..48d3efff7 --- /dev/null +++ b/images/fantasy-icons/ruined_village.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/ruins.svg b/images/fantasy-icons/ruins.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/ruins.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/sacred-mountain.svg b/images/fantasy-icons/sacred-mountain.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/sacred-mountain.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/sacred-tree.svg b/images/fantasy-icons/sacred-tree.svg new file mode 100644 index 000000000..2abebe116 --- /dev/null +++ b/images/fantasy-icons/sacred-tree.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/images/fantasy-icons/scorpion.svg b/images/fantasy-icons/scorpion.svg new file mode 100644 index 000000000..564d62e9a --- /dev/null +++ b/images/fantasy-icons/scorpion.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/sea-monster.svg b/images/fantasy-icons/sea-monster.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/sea-monster.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/shop.svg b/images/fantasy-icons/shop.svg new file mode 100644 index 000000000..2bb91ac44 --- /dev/null +++ b/images/fantasy-icons/shop.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/skeleton.svg b/images/fantasy-icons/skeleton.svg new file mode 100644 index 000000000..b771e0f0d --- /dev/null +++ b/images/fantasy-icons/skeleton.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/snake.svg b/images/fantasy-icons/snake.svg new file mode 100644 index 000000000..8804ac24f --- /dev/null +++ b/images/fantasy-icons/snake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/spider.svg b/images/fantasy-icons/spider.svg new file mode 100644 index 000000000..0288463be --- /dev/null +++ b/images/fantasy-icons/spider.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/stable.svg b/images/fantasy-icons/stable.svg new file mode 100644 index 000000000..483dc50ad --- /dev/null +++ b/images/fantasy-icons/stable.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/statue.svg b/images/fantasy-icons/statue.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/statue.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/tavern.svg b/images/fantasy-icons/tavern.svg new file mode 100644 index 000000000..08d166db1 --- /dev/null +++ b/images/fantasy-icons/tavern.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/town.svg b/images/fantasy-icons/town.svg new file mode 100644 index 000000000..ad679c77d --- /dev/null +++ b/images/fantasy-icons/town.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/trap.svg b/images/fantasy-icons/trap.svg new file mode 100644 index 000000000..1b115fbf5 --- /dev/null +++ b/images/fantasy-icons/trap.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/treasure.svg b/images/fantasy-icons/treasure.svg new file mode 100644 index 000000000..206e5e951 --- /dev/null +++ b/images/fantasy-icons/treasure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/undead.svg b/images/fantasy-icons/undead.svg new file mode 100644 index 000000000..41583311f --- /dev/null +++ b/images/fantasy-icons/undead.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/village.svg b/images/fantasy-icons/village.svg new file mode 100644 index 000000000..0d49daf78 --- /dev/null +++ b/images/fantasy-icons/village.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/volcano.svg b/images/fantasy-icons/volcano.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/volcano.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/wagon.svg b/images/fantasy-icons/wagon.svg new file mode 100644 index 000000000..afe20781e --- /dev/null +++ b/images/fantasy-icons/wagon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/wasp.svg b/images/fantasy-icons/wasp.svg new file mode 100644 index 000000000..29dc099bf --- /dev/null +++ b/images/fantasy-icons/wasp.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/water-source.svg b/images/fantasy-icons/water-source.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/water-source.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/waterfall.svg b/images/fantasy-icons/waterfall.svg new file mode 120000 index 000000000..ffbb4841b --- /dev/null +++ b/images/fantasy-icons/waterfall.svg @@ -0,0 +1 @@ +placeholder.svg \ No newline at end of file diff --git a/images/fantasy-icons/web.svg b/images/fantasy-icons/web.svg new file mode 100644 index 000000000..baaa9a11f --- /dev/null +++ b/images/fantasy-icons/web.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/wood.svg b/images/fantasy-icons/wood.svg new file mode 100644 index 000000000..bfd656e8f --- /dev/null +++ b/images/fantasy-icons/wood.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/wrecked_wagon.svg b/images/fantasy-icons/wrecked_wagon.svg new file mode 100644 index 000000000..06b68cd65 --- /dev/null +++ b/images/fantasy-icons/wrecked_wagon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/fantasy-icons/zombie.svg b/images/fantasy-icons/zombie.svg new file mode 100644 index 000000000..9c4b0e8eb --- /dev/null +++ b/images/fantasy-icons/zombie.svg @@ -0,0 +1 @@ + diff --git a/index.css b/index.css index 373bf63c7..e9066a917 100644 --- a/index.css +++ b/index.css @@ -2421,3 +2421,4 @@ svg.button { background: #25252a; } } +.grid-label { font-size: 10px; font-family: sans-serif; pointer-events: none; text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff; } diff --git a/index.html b/index.html index 5a18e579d..4f6201c11 100644 --- a/index.html +++ b/index.html @@ -1,8184 +1,6237 @@ - - - - - Azgaar's Fantasy Map Generator - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + } - - - - - - - - - - - + @keyframes spin { + 0% { + transform: rotate(0deg); + } - - - + 100% { + transform: rotate(359deg); + } + } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + - - - - - - - - -
- - - - - - - -
-
Azgaar's
-
Fantasy Map Generator
-
β€Ž β€Ž
-

LOADING...

-
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + +
+
Azgaar's
+
Fantasy Map Generator
+
β€Ž β€Ž
+

LOADING...

+
+
+ +
+
+ +
-
-
- - + + + + +
-