about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-09-02 Put a test gormlak on the screenGriffin Smith4-18/+63
Implement a concrete "Creature" entity, and place one on the screen at the game startup for testing. This revealed a bug with drawing when getting the maximum entity position, but that appears to be fixed now (yay)
2019-09-02 Add raws, loaded statically from a folderGriffin Smith5-6/+173
Add raw types with support for both creatures and items, loaded statically from a "raws" folder just like in the Rust version.
2019-09-02 Add commands for diagonal movementGriffin Smith1-0/+4
That Was Easy (tm)!
2019-09-02 Add a previous message commandGriffin Smith4-4/+29
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 Smith8-38/+152
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 Smith8-5/+425
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 Smith14-15/+547
Add support for entities via a port of the EntityMap type, and implement command support starting at basic hjkl.
2019-08-25 An @-sign in a box, in haskellGriffin Smith6-0/+99
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 Smith38-4558/+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 Smith17-69/+65
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 Smith15-83/+88
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 Smith2-0/+94
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 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 Smith15-62/+518
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 Smith9-53/+479
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 Smith12-35/+264
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 Smith7-101/+467
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 Smith4-40/+96
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 Smith4-4/+16
Cribbed directly from Nethack This was really, really easy.
2019-07-13 Add placeholder for game ticksGriffin Smith3-6/+61
When the character moves, the game ticks forward equal to the character's speed
2019-07-08 Implement a global map of entitiesGriffin Smith11-36/+448
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 Smith8-50/+332
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 Smith7-59/+260
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 Smith12-0/+833