summaryrefslogtreecommitdiff
path: root/Lints.md
blob: e55822aad58e31851c8c95d6bef14fbd3b15bf1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# Currently Supported Lints

Note: Most lints (even those not related to properties) are currently defined in 
`lib/Properties.hs`.


## General Tiledmap Requirements
 - maps must have layers "start" and "floorLayer", and at least one layer which has as Property "exitUrl"
 - maps must be orthogonal, tile size must be 32 × 32
 - maps must not define their own scripts (unless allowed to do so in
   the configuration file)
 
## Tilesets
 - tiles must have size 32 × 32 pixels
 - tilesets must have a property "copyright" (though there is currently
   no restriction on what licenses are allowed)
 - entire tilesets should not be larger than 4096 × 4096 pixels

## Layer
In general, all properties are type checked, and unknown properties are
rejected. Properties "url" and "allowApi" are rejected.

### Jitsi
 - "jitsiRoom" must be set if any of the other jitsi-related properties
   are also set
 - "jitsiRoomAdminTag" may not be set, but will be adjusted to the
   assembly name tag
 - jitsi layers may not be empty
 - if not set, setting "jitsiTrigger" will be suggested
 - "jitsiUrl", "jitsiConfig", "jitsiClientConfig" may not be used

### Audio
 - audio layers may not be empty
 - "playAudio" must be set of any other audio-related properties are also
   set
   
## Silent Areas
 - "silent" may not be set on an empty layer

### Websites
 - layers with "openWebsite" may not be empty
 - setting "openWebsiteTrigger" will be suggested
 - local links will be recognised as assets and dependency-checked
 - other website-related properties require "openWebsite" to also be set

### Exits
 - may not be set on empty layers
 - exists to maps also in the repository will be dependency-checked

### Entries
 - "startLayer" may not be set on empty layers
 - if set, "startLayer" must be set to `true`