about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2019-09-02 Add commands for diagonal movementGriffin Smith1-0/+4
That Was Easy (tm)!
2019-09-02 Add a previous message commandGriffin Smith5-6/+31
Add a "previous message" command, triggered via ctrl+p. I attempted here to get the message area to still take up a row of space post-hiding the message, but failed - should revisit that at some point
2019-09-02 Link up messages to the overall gameGriffin Smith9-39/+155
Add a "say" function for saying messages within an app monad to the user, and link everything up to display them and track their history
2019-09-01 Implement messagesGriffin Smith13-17/+587
Implement messages almost the same as in the Rust version, only with YAML instead of TOML this time, and a regular old mustache template instead of something handrolled. Besides that, pretty much everything here is the same.
2019-08-31 Add entities, and allow walking aroundGriffin Smith21-31/+718
Add support for entities via a port of the EntityMap type, and implement command support starting at basic hjkl.
2019-08-31 Use haskellSrc2nix over explicit cabal2nixGriffin Smith5-34/+21
Use the (undocumented!) helper function haskellSrc2nix over having to explicitly run cabal2nix all the time when rebuilding
2019-08-25 An @-sign in a box, in haskellGriffin Smith17-3/+1075
Initial commit of a Haskell version of Xanthous, written using Brick and built with Nix. This is so much nicer and so much easier
2019-08-25 Wipe Rust projectGriffin Smith47-6087/+0
Sorry rust, but you're just not fun to write
2019-08-03 Add method for writing option menus to viewportGriffin Smith4-22/+116
Add a method for writing single-choice menus to the viewport, within a box. Unused for now.
2019-08-03 Add inventory, and the ability to pick up itemsGriffin Smith8-6/+63
Add inventory as a basic vector of items attached to the character, and the ability to pick up a single item where the character stands
2019-08-03 Fix a bunch more Clippy lints, but disable in CircleGriffin Smith18-76/+72
The unused error is causing more trouble than it's worth at this point
2019-08-03 Clear messages every turnGriffin Smith1-0/+11
Clear messgaes every turn, preserving the ability to ^P to get the previous message
2019-08-03 Add clippy to circleCI and fix all lintsGriffin Smith16-83/+89
2019-07-29 Describe what you see when you walk over itGriffin Smith12-48/+168
If the character walks over any number of entities, describe those entities to the character.
2019-07-28 Add functions for making sentences from listsGriffin Smith3-0/+101
This seems like something I keep having to write
2019-07-28 Re-draw entities when you walk over themGriffin Smith4-3/+15
This also required making the noodles character not actually the emoji, since the emoji being double-width means it still gets overwritten when you walk to the right of it (D:)
2019-07-28 Turns out, collect is the answerGriffin Smith1-15/+8
2019-07-28 Check rustfmt and run tests in CircleGriffin Smith1-0/+33
2019-07-28 Add CircleCI configGriffin Smith1-0/+3
2019-07-28 Make EntityMap::append not overwrite entitiesGriffin Smith1-34/+75
Rather than overwriting entities with the same ID when appending, make EntityMap::append actually respect the internal invariants of the map and preserve entities from both sides, with no regard for their id.
2019-07-28 Add some more name promptsGriffin Smith1-1/+8
for character! and also characters.
2019-07-28 Allow converting generated levels to entitiesGriffin Smith17-62/+557
Add a new Wall entity, and allow converting generated levels to entity maps containing them, then finally displaying them using some of the (now expanded) box drawing machinery.
2019-07-27 Add a generic text-prompt systemGriffin Smith11-54/+488
Add a generic text-prompt system to the Game, and use it to prompt the character for their name on startup. There's also a Promise type in util, which is used for the result of the prompt.
2019-07-22 Add more command-line options for generating cavesGriffin Smith4-25/+106
Add all the necessary params to the CLI options for generating caves
2019-07-20 Cellular-automata based cave level generatorGriffin Smith6-3/+162
2019-07-19 Add the beginning of item entitiesGriffin Smith14-35/+274
Add a new Item raw type and entity type, with preliminary, basic support for food. There's a really frustrating toml-rs bug that prevents writing these nicely as toml right now, so I also added support for mixing JSON and TOML in a single config dir
2019-07-19 add a test ensuring messages workGriffin Smith1-1/+17
2019-07-19 Add templates for messagesGriffin Smith9-101/+548
Implement a template syntax with a nom parser, and a formatter to render templates to strings.
2019-07-14 Always reset the cursor back to the characterGriffin Smith2-4/+16
much nicer!
2019-07-14 Implement extremely basic combatGriffin Smith9-48/+220
There's a gormlak, you can kill it. That's it.
2019-07-14 Add (statically-included) entity rawsGriffin Smith9-5/+306
Add a system for statically-included entity raws (which necessitated making a deserializable existential Color struct) and test it out by initializing the game (for now) with a single on-screen gormlak.
2019-07-14 Allow static_cfg to include entire directoriesGriffin Smith6-40/+156
Via new "toml_dir" and "json_dir" directives in the macro
2019-07-14 Factor out static_cfg from static init of messagesGriffin Smith4-12/+45
Factor out a macro for static references to data parsed from config files at compile-time.
2019-07-14 Add commands for diagonal movementGriffin Smith5-4/+17
Cribbed directly from Nethack This was really, really easy.
2019-07-13 Add placeholder for game ticksGriffin Smith5-6/+63
When the character moves, the game ticks forward equal to the character's speed
2019-07-08 Implement a global map of entitiesGriffin Smith14-36/+465
Implement a global map of entities, which allows referencing by either position or ID and updating the positions of existent entities, and put the character in there.
2019-07-07 add "Previous message" commandGriffin Smith3-5/+31
ctrl+p, like nethack. Cycles through messages, also like nethack. May want to add some sort of indicator of how many messages there have been.
2019-07-07 Add messages, with global lookup mapGriffin Smith10-52/+443
Add support for messages, along with a global lookup map and random choice of messages.
2019-07-06 Make all drawing happen to a viewportGriffin Smith8-59/+267
We now have an inner and outer viewport, and entity positions are relative to the inner one while drawing happens to the outer one.
2019-07-05 an @-sign in a boxGriffin Smith19-0/+2024