| Commit message (Collapse) | Author | Files | Lines |
|
|
|
also don't keep adjusted maps around if not necessary
|
|
(also some evaluateNF, leading to slightly less memory usage)
|
|
|
|
(points behave slightly differntly than I thought)
|
|
|
|
also, float properties exist, apparently
|
|
(found by running through rc3 2021 map submissions and looking at what failed)
|
|
|
|
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.
|
|
|
|
this includes a halfway-reasonable parsing of object layers, as well as
some monad plumbing to get them all in the right place.
|
|
I found yet more properties that weren't really documented or weren't
marked as optional, hurray!
|
|
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.
|
|
|
|
also yet another typeclass™, because why not?
|
|
(also fix some hlints)
This removes some code that was apparently dead and I never noticed. I
only noticed now since it wouldn't work with the newer versions of Aeson
anymore.
|
|
this also includes some more monad plumbing, and an option for the
linter to actually write things out again. Some of the previous commit
was reverted a bit since it turned out to be stupid, but overall it was
suprisingly easy once I got around to it, so yay! i guess
Also includes a fairly silly example of how to use it.
|
|
|
|
|
|
(apparently, some of them aren't even in the spec, just the changelog!)
|
|
for now, just with layers. Instead of listing by layer (and giving
lints multiple times), list by lint type (and list all layers in which
this lint was applicable).
This is a bit wonky for now, but readability of output is much better.
|
|
This cleans up all the old rubble that came from the Tiled package I
originally took from hackage. It now uses generics instead of
implementing all the ToJSON and FromJSON instances by hand, and
(deserialize . serialise) will now actually return a (semantically)
equivalent json.
It'll now also reject keys that it doesn't know, which required adding
some in several places which the tiled package didn't know about (or
which were introduced after it was originally written, dunno).
Several more Maybes are required now, to represent the difference
between e.g. empty lists and on set value, which does make the code
slightly weirder in other places …
|
|
this reorganised the whole linting for tilesets somewhat; it's now very
similar to that linting layers, and it may be possible to abstract some
of the code away ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
apparently i couldn't read or something?
|
|
There's now a Lint type, which may be either a "true lint" (which is a
Hint, which contains some message and level of severity), or a Depends,
which indicates that this map depends on some ressource or other (and is
otherwise treated as a special info Hint in all other cases)
|
|
/finally/ figured out that all properties just look like {name, value,
type} so now that's abstracted away and Properties.hs doesn't look like
javascript anymore
|
|
input options are mostly dummies for now, but some work (e.g. --inpath
and --json). Lints can now be optionally printed as json to be
reasonably machine-readable (and the json can be pretty-printed to make
it human-readable again …).
|
|
(also renaming things now that concepts seem a bit clearer)
|