summaryrefslogtreecommitdiff
path: root/lib (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-12-16fix a bug when writing things outstuebinm1-3/+3
(it didn't check if directories to save maps in actually existed)
2021-12-16special handling of world:// and assembly namesstuebinm3-19/+41
these now have their own top-level config attribute which is essentially a shorthand for setting one that's deeper nested.
2021-12-16fixed some warnings (and disabled others)stuebinm2-2/+2
So far i've never found an instance of -Wname-shadowing telling me anything useful, so it's disabled now, and most of the other trivial ones are fixed. (I assume this means I'll need -Wname-shadowing in about a day or two to find some bug ...)
2021-12-16fixed & removed a bunch of old TODOsstuebinm7-32/+50
2021-12-16"collides" can't be set on layersstuebinm1-4/+4
2021-12-16abort copying on missing assetsstuebinm1-1/+3
2021-12-16lint if tileset properties are set on the map insteadstuebinm1-1/+5
(this seems to be a common mistake so far)
2021-12-16made a partial function totalstuebinm1-0/+2
(shouldn't have been called anyways, but it's still nice not to have it fail if it ever does get called with that case)
2021-12-16we don't support ellipsesstuebinm2-9/+5
2021-12-15suggest setting map meta properties if not givenstuebinm3-5/+18
2021-12-14deal with group layer in existence checks properlystuebinm1-11/+20
(before it would fail to find e.g. the start layer if it wasn't a top-level layer)
2021-12-14allow scripts from https://static.rc3.world/scriptsstuebinm1-15/+10
The script inject doesn't do anything for now; guess I'll re-add that once we actually have a URI for that.
2021-12-14downgrade disallowed path-related lint levelsstuebinm1-3/+3
(these were `error` before, which didn't really make sense, since workadventure can deal with them, they're just not allowed at rc3)
2021-12-14audioVolumne is of type float, not intstuebinm2-16/+43
also, float properties exist, apparently
2021-12-14startLayer can actually be set to `false`stuebinm1-3/+2
(in which case it just doesn't do anything at all)
2021-12-13refuse doubled map propertiesstuebinm1-1/+2
2021-12-13complain if map links that don't go to .json filesstuebinm2-6/+20
2021-12-13add special warning for rc3 old-style linksstuebinm2-2/+13
(the format used last year is no longer applicable to this year's event)
2021-12-13changes to tiled map formatstuebinm2-3/+8
(found by running through rc3 2021 map submissions and looking at what failed)
2021-12-12downgrad mapCopyright lint to suggestionstuebinm1-1/+1
(as per today's discussion with tabascoeye, mapCopyright should not be required, though I've left it as recommended)
2021-12-12better lints for invalid linksstuebinm2-21/+22
2021-12-12lints for names that are used more than twicestuebinm1-7/+13
(previously it would just lint "can't use name twice" multiple times, which looks kind of silly)
2021-12-12handle text objects in objectgroup layersstuebinm2-22/+37
2021-12-12lint individual tile propertiesstuebinm1-1/+15
2021-12-08rudimentary linting for overlapping layersstuebinm4-1/+65
2021-12-08fix mapCopyright lintstuebinm1-3/+3
(forgot that `error` is the builtin haskell function; the one to create linter errors is called `complain`)
2021-12-07properties: copyright → tilesetCopyrightstuebinm1-2/+2
2021-12-07require mapCopyright to be setstuebinm1-0/+3
2021-12-04lots of code reorganising and some deduplicationstuebinm7-228/+286
it was kinda getting messy in places. Also found some accidental isomorphisms between types, so these are now only one type because the consequences were getting silly.
2021-12-04refuse doubled namesstuebinm4-16/+52
2021-12-02collect badges from object layersstuebinm7-52/+229
this includes a halfway-reasonable parsing of object layers, as well as some monad plumbing to get them all in the right place.
2021-12-02do (naïve) html escapingstuebinm2-6/+17
because we can't ever trust workadventure, apparently. why are we using that thing again?
2021-11-30prepend jitsi room names with assembly tagstuebinm1-2/+7
(to prevent name clashes between assemblies; shared jitsi rooms are still possible simply by letting their names start with "shared-")
2021-11-30jitsiRoomAdminTag: prepend "assembly-" before namestuebinm1-0/+2
(since otherwise we might run into namespace clashes for assemblies with funny names)
2021-11-30allow unknown propertiesstuebinm1-11/+2
since the scripting API can define new properties and we (for now) do not know what the script may or may not be able to do, the linter would otherwise reject potentially valid maps.
2021-11-30rudimentary emulation of bbbRoom etc.stuebinm1-4/+26
("rudimentary" since for now the best it can do is just replacing / prepending urls; presumably, it should also do a sanity check or something of the like)
2021-11-28various fixes to bugsstuebinm5-83/+96
Among them - always set correct exit codes - refuse to write out files if the out path already exists - calculate the overall severity correctly - slightly changed the json output schema - also output the text output format in json - make the default config.json suitable for a production environment
2021-11-23why oh why does the prelude contain unsafe functionsstuebinm1-1/+1
some parts of haskell are really, really old …
2021-11-23add a severity attribute to the json outputstuebinm1-11/+16
2021-11-20whoops, forgot to add a filestuebinm1-0/+80
2021-11-20make link adjustments configurablestuebinm3-43/+48
this allows for creating custom URI "schemas" in the linter's config, which may be either allowed, prefixed, or translated according to some (domain-based) substitution.
2021-11-19add domain allow- and blocklists for weblinksstuebinm3-4/+29
(these use a rather crude regex for parsing, which may be possible to side-step, and which should probably be replaced by something that was actually written while following the relevant rfc)
2021-11-19fix group layer handlingstuebinm1-9/+22
we don't want to accidentally copy maps, whoopsie
2021-11-19add lint for empty group layersstuebinm1-0/+7
2021-11-19deal with group layersstuebinm2-9/+37
I have no idea why these even exist, but apparently they do, so here's some code to deal with them in a hopefully useful manner …
2021-11-18assorted lints for properties found in some mapsstuebinm1-17/+56
(mostly to do with the scripting API, but also some old ones which are already deprecated / not even mentioned in the documentation anymore)
2021-11-17add warnings for as-yet unlinted layer propertiesstuebinm1-0/+9
2021-11-17small fixesstuebinm1-8/+7
2021-11-17make map parser work with more mapsstuebinm2-7/+39
I found yet more properties that weren't really documented or weren't marked as optional, hurray!
2021-11-17map format: turns out more things are optionalstuebinm1-6/+6
the unhelpfulness of the spec is slowly starting to grate … Anyways, apparently a lot more properties don't have to be present, and you find out by finding maps somewhere that work but currently fail the parser.