Commit graph

19 commits

Author SHA1 Message Date
Griffin Smith
6f808dfe18 refactor(xan): Simplify build infrastructure
Simplify the build infrastructure for creating shells etc. for xanthous,
including relying more heavily on stuff exposed in Depot anyway, using
shellFor in the shell.nix, and using the haskell.nix branch of all-hies
for a significantly simpler build. At some point the all-hies stuff will
likely want to be promoted up to //third_party, but for now it's
experimental enough that I don't want to bother other people with it.

Change-Id: I43830de73830fdc07d48af9b87d7930f59599532
Reviewed-on: https://cl.tvl.fyi/c/depot/+/890
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
2020-07-03 14:41:36 +00:00
Griffin Smith
c0922e4906 fix(xan): Remove unused imports
GHC 8.8 is better at detecting unused imports, it seems - all of these
are new warnings that fail under -Werror

Change-Id: I1357094d715483612deb0db4a75b3e4f8f27d2e3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/889
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-03 14:41:36 +00:00
Griffin Smith
beb29128b6 fix(xan): fix compat with new base+ghc
A couple of changes necessary to get things working with both ghc 8.8.3
and the new base:

- Explicitly import fail from Control.Monad.Fail in the prelude, since
  it's there instead of the base prelude now
- GHC no longer allows type family equality constraints in quantified
  constraints - which is a bummer - but is avoidable in the one case
  where it was happening
- Explicitly import a constructor from Data.List.NonEmpty

Change-Id: Ia06fc724ddc2d6a3f9024c047ed55eea40bcf408
Reviewed-on: https://cl.tvl.fyi/c/depot/+/744
Tested-by: BuildkiteCI
Reviewed-by: BuildkiteCI
Reviewed-by: Profpatsch <mail@profpatsch.de>
2020-07-03 14:41:36 +00:00
Griffin Smith
96fa6c465b fix(xanthous): re-add comonad-extras dep
Change-Id: Ie148acf179e3aae304410a588c87ee83e04aafa7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/741
Reviewed-by: BuildkiteCI
Reviewed-by: Kane York <rikingcoding@gmail.com>
Tested-by: BuildkiteCI
2020-07-03 14:41:36 +00:00
Griffin Smith
44dfc50e2a chore(xan): Gitignore data directory
I'm using this dir to store save files that are particularly
interesting, eg bug reproductions etc.

Change-Id: Id6a805d85b3ea2e1171ea3af96303f05c2468070
Reviewed-on: https://cl.tvl.fyi/c/depot/+/893
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-03 03:35:05 +00:00
Griffin Smith
8091da8f0f feat(3p/haskellPackages): port in patches from xanthous
Add a few relatively uncontroversial patches to fix some broken packages
that I had developed for xanthous to the top-level third_party tree, so
they can be reused by other people in the monorepo

Change-Id: I68740477bda278c5dcc123080029ee4bd2cae37a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/740
Reviewed-by: Profpatsch <mail@profpatsch.de>
Reviewed-by: tazjin <mail@tazj.in>
2020-06-29 01:56:24 +00:00
Griffin Smith
1397cbce52 fix(xan): Disable comonad-extras
Turns out we don't actually need this, and the patch for it doesn't
cleanly apply anymore

Change-Id: Ifc95496211c7c1c779fd2544f4ff5a51aa3857ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/736
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-29 00:38:32 +00:00
Griffin Smith
48cc610fa4 fix(xan): Build without nixpkgs in NIX_PATH
CI doesn't have a nixpkgs channel (obvs), and we want to be able to
build from the depot tree, so reorder some stuff so we never depend on
nixpkgs

Change-Id: I99b513a3d7bcd64b6d167335856651e0ca66e33b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/734
2020-06-29 00:38:32 +00:00
Griffin Smith
e2273389d5 feat(xan): Any user input cancels autocommands
This is quite straightforward - any time the user presses a key that
resolves to a command, cancel any active autocommands.

Change-Id: Ibb48b0281b0dc6536d75c8957f8c8e5533ff6630
Reviewed-on: https://cl.tvl.fyi/c/depot/+/731
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-29 00:00:40 +00:00
Griffin Smith
90bfbb1667 chore(xan): explicit export list, remove unused pragma
Change-Id: I7089850f23b2b9612b6585a2760536fd1178cbc6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/730
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-29 00:00:40 +00:00
Griffin Smith
7252468b34 feat(xan): Add a benchmark suite
Change-Id: Id31960e7bc2243dfa53dc5e45b09d8253bdef852
Reviewed-on: https://cl.tvl.fyi/c/depot/+/727
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-28 23:38:48 +00:00
Griffin Smith
bf9b09bd8c feat(xan): Generate random villages
This algorithm is a little rough around the edges right now, but
generally the idea is we find a relatively closed-off region of the map,
and place rooms randomly on it, expanding them until they run into each
other, then we put doors in the walls of the rooms and a single door
opening into the region. Later on, we'll generate friendly (or
unfriendly!) NPCs to put in those rooms.

Change-Id: Ic989b9905f55ad92a01fdf6db11aa57afb4ce383
Reviewed-on: https://cl.tvl.fyi/c/depot/+/726
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-28 23:38:48 +00:00
Griffin Smith
6c7e14d2dc feat(xan): Use Witherable in the prelude
Install the witherable library, expose it in the prelude, and update all
call sites that are broken by that change.

This is a really nice library, and basically the ideal abstraction layer
for what it does.

Change-Id: I640e099318c1ecce0ad483bc336c379698bdab88
Reviewed-on: https://cl.tvl.fyi/c/depot/+/725
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-28 23:38:48 +00:00
Griffin Smith
20bc4aa10d feat(xan): Add a Marker entity type
It's useful, when developing new level gen techniques, to be able to
specially mark certain areas of the map during devlopment. This adds a
Marker entity type, which renders as a red X on the map and provides a
programmable description when examined. In the future it'll probably be
nice to toggle markers on/off just like we do with revealAll, but for
now it'll be fine to just remove the code to render them like we do with
debug traces.

Change-Id: Ief5d090809a0a4cbcc28f90e4902a5e38d42eeb5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/724
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-28 23:38:48 +00:00
Griffin Smith
0367e8c303 fix(xanthous): Make floodFill faster
Speed up the floodFill algorithm by sprinkling in some strictness and
specializing it to the only type it's currently called at anyway.

Change-Id: I4557fc51b1c1036c127bfd5bee50748d8692ae74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/555
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-22 00:40:19 +00:00
Griffin Smith
fbbb284444 feat(xanthous): install hp2pretty
heap profiling woo

Change-Id: Ie14bc81e9278e3c0d65bd22efc24cfaae43369ca
Reviewed-on: https://cl.tvl.fyi/c/depot/+/554
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-22 00:40:19 +00:00
Griffin Smith
aab362ef37 chore(xan): Install ghc-prof-flamegraph
Some things are slow, and it's time to profile them

Change-Id: I6a915db8bcc85adc7c3902a407cebb5a6f52d514
Reviewed-on: https://cl.tvl.fyi/c/depot/+/553
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-22 00:40:19 +00:00
Griffin Smith
61e03e2d99 fix(g/xanthous): Make xanthous readTree-compatible
readTree passes in some extra args that we can generally just ignore

Change-Id: I2607421da086cfef0502695bcf5658f6d4dbb44d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/394
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-16 00:27:10 +00:00
Vincent Ambo
2edb963b97 Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d'
git-subtree-dir: users/glittershark/xanthous
git-subtree-mainline: 91f53f02d8
git-subtree-split: 53b56744f4
2020-06-16 01:05:44 +01:00