|
1 | 1 | # tiled-datamaps |
2 | 2 |
|
3 | | -[Tiled](https://mapeditor.org/) extension to allow converting Tiled maps into |
4 | | -maps recognized by the [DataMaps](https://support.wiki.gg/wiki/DataMaps) |
5 | | -MediaWiki extension, to the best of its ability. Currently in use on |
6 | | -[Undertale Wiki](https://undertale.wiki/), |
7 | | -[Deltarune Wiki](https://deltarune.wiki/), and the |
8 | | -[Undertale Yellow Wiki](https://undertaleyellow.wiki.gg/). |
| 3 | +[Tiled](https://mapeditor.org/) extension to allow editing interactive wiki maps displayed using the [DataMaps](https://support.wiki.gg/wiki/DataMaps) MediaWiki extension from Tiled. If you're looking for an introduction to interactive maps editing using this extension, look at the [Interactive Maps Project](https://undertale.wiki/d/t/interactive-maps-project/318) post on Undertale/Deltarune Wiki Discussions, or join the [Undertale/Deltarune Wiki Discord server](https://discord.gg/HkdrcMbvDg) if you need more help. |
| 4 | + |
| 5 | +The extension is currently in use on: |
| 6 | + |
| 7 | +- [Undertale Wiki](https://undertale.wiki/) |
| 8 | +- [Deltarune Wiki](https://deltarune.wiki/) |
| 9 | +- [Undertale Yellow Wiki](https://undertaleyellow.wiki.gg/) |
9 | 10 |
|
10 | 11 | ## Setup |
11 | 12 | ### Prerequisites |
12 | 13 |
|
13 | | -On the wiki that you are editing, you need to have the |
14 | | -[DataMaps](https://www.mediawiki.org/wiki/Extension:DataMaps) and |
15 | | -[OAuth](https://www.mediawiki.org/wiki/Extension:OAuth) extensions installed. |
| 14 | +On the wiki that you are editing, you need to have the [DataMaps](https://www.mediawiki.org/wiki/Extension:DataMaps) and [OAuth](https://www.mediawiki.org/wiki/Extension:OAuth) extensions installed. |
16 | 15 |
|
17 | | -If cloning using Git, you need Git LFS installed in order to pull the map |
18 | | -images. |
| 16 | +On your local system, you need [Tiled 1.11 or newer](https://thorbjorn.itch.io/tiled), for 64-bit Windows, macOS or Linux. |
19 | 17 |
|
20 | 18 | ## Usage |
| 19 | + |
| 20 | +### Starting map editing |
| 21 | + |
| 22 | +This repository comes with Tiled projects set up for editing Undertale, Deltarune and Undertale Yellow wikis. If you're looking to edit some other wiki, please ask the maintainers for guidance. |
| 23 | + |
| 24 | +To start editing maps on one of the aforementioned wikis, install Tiled, download this repository, extract it, then open the project you want to edit from the `maps` folder. Upon initial start, it will download all maps from the wiki and show you a notice, after which you can restart Tiled or use Project > Refresh Folders for maps to show up in the file view. |
| 25 | + |
21 | 26 | ### Map editor |
22 | 27 |
|
23 | 28 | This is how features of Tiled map to DataMaps: |
24 | 29 |
|
25 | 30 | - Every image layer on the map maps to a an image background in DataMaps. |
26 | 31 | - All points on the map are used as map markers in DataMaps. |
27 | | -- Rectangles, polylines and polygons are used as background overlays in |
28 | | - DataMaps. |
| 32 | +- Rectangles, polylines and polygons are used as background overlays in DataMaps. |
29 | 33 | - Every object layer on the map is used as a marker group name. |
30 | | - - Every point in that object layer is treated as a marker with the group |
31 | | - name set to the layer name. |
32 | | -- Every group layer on the map is used as a category name for markers within |
33 | | - that group. |
34 | | - - Every point in an object layer inside a group layer is treated as a marker |
35 | | - with the group name set to the object layer name, and categories set to |
36 | | - names of all parent group layers. |
37 | | -- Tile layers are not supported yet. |
38 | | -- Layer offsets are (mostly) supported. |
39 | | - |
40 | | -#### Custom properties |
41 | | - |
42 | | -Modifying certain aspects of DataMaps is only possible through custom properties |
43 | | -in Tiled: |
44 | | - |
45 | | -- Custom project properties are used to tell the script where to publish the |
46 | | - maps: |
47 | | - - `wiki` (string): Wiki URL |
48 | | - - For example, `undertale.wiki` |
49 | | - - `scriptPath` (string): Wiki's script path |
50 | | - - `languageWiki` (string): URL to language wikis, with $1 left as the |
51 | | - language code. |
52 | | - - For example, `$1.undertale.wiki` |
53 | | - - `oauthClientId` (string): OAuth client ID for the application used to |
54 | | - authenticate users to the wiki. |
55 | | - - To obtain this, visit `Special:OAuthConsumerRegistration/propose` on |
56 | | - the wiki you are editing, set the client to non-confidential, allow |
57 | | - the application to "edit existing pages" and "create, edit and move |
58 | | - pages", and as a callback URL you can use |
59 | | - `https://maps.undertale.wiki`, which displays the page you can find |
60 | | - under `auth/index.html` in this repository. |
61 | | -- Custom map properties are used for map-wide configuration: |
62 | | - - `disclaimer` (string): Disclaimer displayed below the legend in DataMaps |
63 | | - - `include` (string): Newline-separated list of strings that describe which |
64 | | - pages should be included as fragments |
65 | | - - This is intended for including map fragments that define the groups |
66 | | - and categories used in the map |
67 | | - - `popzoom` (float): Default map zoom level used when the map is embedded |
68 | | - in a page and set to open a specific marker. |
69 | | -- Custom point properties are used for marker information: |
70 | | - - `description` (string): Description of the marker |
71 | | - - `page` (string): Where should the "Read more" link lead |
72 | | - - `plain` (boolean): Whether the description should *not* be interpreted as |
73 | | - wikitext |
74 | | - - `multiline` (boolean): Wraps the description in a `<poem>`, to allow |
75 | | - newlines to directly map to newlines in the rendered wikitext. |
76 | | -- Custom rectangle properties: |
77 | | - - `fill` (color): Rectangle fill color |
78 | | - - `border` (color): Rectangle border color |
79 | | -- Custom polyline and polygon properties: |
80 | | - - `color` (color): Polyline color |
81 | | - - `thickness` (float): Polyline thickness |
| 34 | +- Every point in an object layer is treated as a marker within that marker group. |
| 35 | + |
| 36 | +Attempting to use unsupported features, such as ellipses or text, may show a warning about the feature being unsupported. |
| 37 | + |
| 38 | +### Marker popup |
| 39 | + |
| 40 | +When you place or select a point, polyline, polygon or rectangle on the map, a popup showing you possible properties you can edit (such as the marker name, marker description, rectangle color, etc.) appears. You can use it to change various properties of map markers or annotations. |
| 41 | + |
| 42 | +If you want to turn the marker popup off, use Edit > Enable wiki marker popup. |
82 | 43 |
|
83 | 44 | ### Conversion |
84 | 45 |
|
85 | | -To convert the map, use File > Publish to wiki or use the keybind Ctrl+Shift+U. |
86 | | -It will prompt you to log in for the first time, and after every hour of using |
87 | | -the editor. Follow the prompts to log in. |
| 46 | +To convert the map, use File > Publish to wiki or use the keybind Ctrl+Shift+U. It will prompt you to log in for the first time, and after every hour of using the editor. Follow the prompts to log in, and after publishing your change a popup allowing you to see your edits on the wiki will appear. |
| 47 | + |
| 48 | +### Synchronization |
| 49 | + |
| 50 | +Maps on the wiki may be edited by other editors. If a map on your local system is different from a map on the wiki, you will get a popup telling you that upon opening the map, allowing you to pull the changes from the wiki (but be careful, because you may overwrite your own changes). If you want to pull all changes from the wiki, use the File > Pull from wiki menu and check the maps or map backgrounds that you want to pull. |
| 51 | + |
| 52 | +## Development |
| 53 | + |
| 54 | +If you're looking to develop this extension, you will preferably need Node.js to install the TypeScript types for Tiled, and a TypeScript extension in your IDE. To run TypeScript type checking on the entire repository, use `npm run typecheck`. |
88 | 55 |
|
89 | 56 | ## License |
90 | 57 |
|
91 | | -Licensed under the MIT license. The file under `extensions/wiki.svg` is borrowed |
92 | | -from [Wikipedia](https://en.wikipedia.org/wiki/File:Wiki_letter_w.svg) and |
93 | | -licensed under GFDL and CC-BY-SA 3.0. |
| 58 | +Licensed under the MIT license. The file under `extensions/images/wiki.svg` is borrowed from [Wikipedia](https://en.wikipedia.org/wiki/File:Wiki_letter_w.svg) and licensed under GFDL and CC-BY-SA 3.0. The file under `extensions/images/discord.svg` is from [Discord's branding page](https://discord.com/branding), copyrighted by Discord. |
0 commit comments