Commit graph

16502 commits

Author SHA1 Message Date
Griffin Smith
71b628c604 Add messages on the ground
Add support for a "GroundMessage" entity type, support for a Read
command to read them, and randomly place an initial, tone-setting
tutorial message on the ground near the character at the beginning of
the game.
2019-11-30 19:55:43 -05:00
Chris Feng
6a3e9b2c64 Avoid redundant input focus transfer
* exwm-input.el (exwm-input--set-focus): Check for current focused
X window before making an input focus transfer.
(exwm-input--on-buffer-list-update): Remove the `this-command' check.
2019-12-01 00:00:00 +00:00
Griffin Smith
4431d453f6 Use correct bin path in README
nix build for a haskell package makes a directory, not just a bare
binary.
2019-11-30 18:25:32 -05:00
Griffin Smith
0b22bb099c Fail on all warnings in CI
All the undefineds are gone, so it's time to enable -Werror in CI.
2019-11-30 18:16:48 -05:00
Griffin Smith
97a5c61f28 Fix an injectivity issue with saving the game
Fix an injectivity issue with JSON-encoding the entity map that was
causing the game saving to not properly round-trip. As part of this,
there's a refactor to the internals of the entity map to use sets
instead of vectors, which should also get us a nice perf boost.
2019-11-30 15:00:39 -05:00
Griffin Smith
310ea90985 Add build and run instructions to the README
just for the heck of it.
2019-11-30 14:13:07 -05:00
Griffin Smith
92976cc9aa Move patch file to a less obtrusive location 2019-11-29 23:01:36 -05:00
Griffin Smith
8a1235c3dc Use menus for combat and picking up items
Refactor a bunch of stuff around to allow for polymorphically surfacing
an EntityChar for all entities, and use this to write a generic
`entityMenu` function, which generates a menu from the chars of a list
of entities - and use that to fully implement (removing `undefined`)
menus for both attacking and picking things up when there are multiple
entities on the relevant tile.
2019-11-29 22:59:15 -05:00
Griffin Smith
7d8ce026a2 Add DerivingVia newtype for generic arbitrary
Add a newtype, GenericArbitrary, which can be used with -XDerivingVia to
derive Arbitrary instances for types with Generic, via patching
generic-arbitrary to expose the underlying typeclass it uses for
surfacing the type information.
2019-11-29 22:57:58 -05:00
Griffin Smith
0abcd8c958 Implement a "look" command
Implement the PointOnMap prompt type, which allows the player to move
the cursor around and select a position on the map, and use this prompt
type to implement a "look" command, describing all entities at the
selected position.
2019-11-29 21:25:35 -05:00
Griffin Smith
f37d0f75c0 Implement saving+loading the game
Implement ToJSON and FromJSON for all of the various pieces of the game
state, and add a pair of functions saveGame/loadGame implementing a
prism to save the game as zlib-compressed JSON. To test this, there's
now Arbitrary, CoArbitrary, and Function instances for all the parts of
the game state - to get around circular imports with the concrete
entities this unfortunately is happening via orphan instances, plus an
hs-boot file to break a circular import that was just a little too hard
to remove by moving things around. Ugh.
2019-11-29 14:33:52 -05:00
Florian Klink
7bafef7a84 runner: document NewRunner 2019-11-27 19:49:39 +01:00
Florian Klink
cd40e68dde submit-queue.tmpl: move HEAD information to result 2019-11-27 19:39:42 +01:00
Florian Klink
ba62db97e9 result: move code into separate result.go 2019-11-27 19:33:37 +01:00
Florian Klink
4c555f330e submit-queue.tmpl.html: improve log rendering 2019-11-27 19:32:14 +01:00
Florian Klink
192835278c submitqueue.submitqueue: document Result functions 2019-11-27 19:32:14 +01:00
Griffin Smith
2f2e5a0b68 Gitignore source before passing to nix
Call hercules-ci's gitignoreSource on the src path before passing to
nix, which both prevents spurious rebuilds and also makes compilation
via `nix build` (which under the hood uses cabal v1-build) work while
also doing development using `cabal new-build`
2019-11-27 13:20:46 -05:00
Florian Klink
fdfcf7967a submit-queue.tmpl: fix accordion, remove "Current Queue"
The Current Queue in fact is just the latest log element.
2019-11-27 19:18:15 +01:00
Florian Klink
917db9e9fd submit-queue.tmpl.html: remove stray </code> 2019-11-27 19:17:22 +01:00
Vincent Ambo
9d6792609f
Merge pull request #10 from tazjin/feat/buildGo-dot-nix
Introduce Bazel-style Nix build system for Go
2019-11-27 15:47:52 +00:00
Vincent Ambo
0bd085f5d6 chore(overrides): Import buildGo.nix from external repository 2019-11-27 15:20:24 +00:00
Vincent Ambo
28e587b348 docs: Add README file that describes project usage & background 2019-11-27 15:14:43 +00:00
Vincent Ambo
2b82f1b71a refactor: Reshuffle file structure for better code layout
This gets rid of the package called "server" and instead moves
everything into the project root, such that Go actually builds us a
binary called `nixery`.

This is the first step towards factoring out CLI-based functionality
for Nixery.
2019-11-27 14:12:38 +00:00
Vincent Ambo
df88da126a fix(builder): Ensure "solo-metapackages" do not break builds
The previous logic failed because single meta-packages such as
"nixery.dev/shell" would not end up removing the meta-package itself
from the list of packages passed to Nix, causing a build failure.

This was a regression introduced in 827468a.
2019-11-27 13:28:13 +00:00
Vincent Ambo
a924093d09 test(builder): Add test coverage for name->image conversion
Adds tests to cover that packages & metapackages are parsed into image
names correctly.
2019-11-27 13:28:13 +00:00
Florian Klink
a00a24d459 submit-queue.tmpl.html: navbar-expand-{lg->sm} 2019-11-27 13:13:48 +01:00
Florian Klink
e6482a9725 submit-queue.tmpl.html: add history visualizer 2019-11-27 13:05:22 +01:00
Florian Klink
91deabe4b3 submitqueue.Run: copy series into result object after loading them from gerrit
So we have them in the history later.
2019-11-27 13:03:17 +01:00
Florian Klink
87d09f6163 submitqueue: Result: record startTime during a new MakeResult constructor, return EndTime properly
even without any LogEntries
2019-11-27 13:02:20 +01:00
Florian Klink
089e551b72 tmpl: move #region-queue to heading
the series block will get reused, and we don't want the same ID to
appear twice.
2019-11-27 13:01:21 +01:00
Florian Klink
d81ae74999 frontend: reorder things passed to template 2019-11-27 13:00:50 +01:00
Florian Klink
69f0963a17 render series via a separate block 2019-11-27 11:41:45 +01:00
Florian Klink
151cc75532 render serie via a separate block 2019-11-27 11:40:52 +01:00
Florian Klink
1b249600e5 render changeset via a separate block 2019-11-27 11:35:07 +01:00
Florian Klink
97eb1fae38 loadTemplate: support loading mulitple templates 2019-11-27 11:24:04 +01:00
Abseil Team
0514227d25 Export of internal Abseil changes
--
2ba0e41a21fbdab36b2f4f3b0dd4b112bd788604 by Derek Mauro <dmauro@google.com>:

Remove the include of <intsafe.h>, which is missing on
some versions of MinGW. DWORD is easily replaced by uint32_t.

PiperOrigin-RevId: 282576177

--
238fd41114b3e83fcb91d2afe1e6dcce7cfd53b0 by Samuel Benzaquen <sbenza@google.com>:

Remove assertion in erase(iterator) that tries to use the comparator.
Add missing this-> qualifier.
Fix bug where node elements are not being destroyed properly.

PiperOrigin-RevId: 282427096

--
6b9446e3b38ed97451c010933e86a572ab659ab2 by Derek Mauro <dmauro@google.com>:

Improves/fixes feature detection in thread_identity

Only use ABSL_PER_THREAD_TLS_KEYWORD when it is supported (previously
on some platforms it evaluated to nothing, which completely breaks
everything), but prefer it to thread_local since benchmarks indicate
it is slightly faster in this critical code path.

Disable the calls to pthread_sigmask on MinGW where it is not
supported.

PiperOrigin-RevId: 282425291
GitOrigin-RevId: 2ba0e41a21fbdab36b2f4f3b0dd4b112bd788604
Change-Id: I34073ecbb4a43ad71f54161c136d88fc728888f1
2019-11-26 12:37:42 -05:00
Vincent Ambo
9280cf9715 feat(buildGo): Add support for gRPC packages
Introduces buildGo.grpc which is like buildGo.proto, but adds
dependencies on the gRPC libraries.
2019-11-26 12:28:10 +00:00
Vincent Ambo
d3e8774a8e feat(proto): Add protobuf & gRPC dependencies via external
Moves the Protobuf & gRPC dependencies to a separate file which uses
buildGo.external to build the dependencies.

The versions are pinned at master of 2019-11-26.
2019-11-26 12:28:10 +00:00
Vincent Ambo
8b6b08b814 feat(buildGo): Add 'srcOnly' and 'targets' parameters for external
Adds two new parameters to buildGo.external:

* `srcOnly` toggles whether the created derivation should contain only
  the source code, or the built package.

  This is useful in situations where some sub-packages of a larger
  package are needed and the build should be deferred to the package
  depending on them.

  It defaults to false, meaning that external packages are built by
  default.

* `targets` controls which "sub-packages" of the target package are
  built. It defaults to building all sub-packages.
2019-11-26 12:21:58 +00:00
Abseil Team
7f4fe64af8 Export of internal Abseil changes
--
44efc1bb0e0a47eabf0569eaab81c66710d5b9c3 by Mark Barolak <mbar@google.com>:

Update "strings::Substitute" to "absl::Substitute" in the absl::Substitute error messages.

PiperOrigin-RevId: 282388042

--
9ec7e9385f5469473f76857dc5b067d869bbc65b by Abseil Team <absl-team@google.com>:

Remove deprecated ExponentialBiased::Get()

PiperOrigin-RevId: 282045123
GitOrigin-RevId: 44efc1bb0e0a47eabf0569eaab81c66710d5b9c3
Change-Id: I915bf0ff5fa7ac2bd5f9fb653d1fbd9ece6af9fc
2019-11-25 14:57:06 -05:00
Florian Klink
6bb7689a7b removed unused views/ folder 2019-11-25 18:27:13 +01:00
Florian Klink
b0f08a99ee frontend: expose the currentlyRunning value 2019-11-25 18:26:19 +01:00
Florian Klink
b65f56c6e2 frontend: return state atomically, remove GetSubmitQueue 2019-11-25 18:12:38 +01:00
Florian Klink
3898495d56 .envrc: enable go modules 2019-11-25 17:48:08 +01:00
Vincent Ambo
7d26550c11 feat(buildGo): Add support for building "external" Go libraries
Adds a buildGo.external function that can build packages following the
default go-tool package layout. Dependencies work the same way as they
do for other buildGo-packages, but instead of being passed straight to
the compiler a fake GOPATH is assembled using a symlink forest.

External currently supports very few direct configuration options and
was primarily created to build the protobuf packages, but it is also
useful for including external dependencies in buildGo-native projects.

The previous complex build logic for the protobuf package has been
replaced with a call to `external`.
2019-11-25 16:45:21 +00:00
Florian Klink
16e197b154 TODO: log last update 2019-11-25 17:43:56 +01:00
Florian Klink
ad27d963f2 submitqueue: remove updateHEAD function
This is already done during the Run() function
2019-11-25 17:42:58 +01:00
Florian Klink
266c27d1d0 foo 2019-11-25 17:42:48 +01:00
Florian Klink
10b2c6e365 frontend: we already add hyperlinks 2019-11-25 17:36:39 +01:00
Florian Klink
40b2f11543 frontend: only pass runner to MakeFrontend, add Runner.GetSubmitQueue() 2019-11-25 17:35:11 +01:00