Commit graph

13 commits

Author SHA1 Message Date
Griffin Smith
e2d13bd76b Add templates for messages
Implement a template syntax with a nom parser, and a formatter to render
templates to strings.
2019-07-19 11:54:31 -04:00
Griffin Smith
bc93999cf3 Always reset the cursor back to the character
much nicer!
2019-07-14 16:31:36 -04:00
Griffin Smith
575a051e6e Implement extremely basic combat
There's a gormlak, you can kill it.
That's it.
2019-07-14 16:20:22 -04:00
Griffin Smith
e7ad87c730 Add (statically-included) entity raws
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 14:29:55 -04:00
Griffin Smith
081146da30 Allow static_cfg to include entire directories
Via new "toml_dir" and "json_dir" directives in the macro
2019-07-14 14:29:39 -04:00
Griffin Smith
67d18b486c Factor out static_cfg from static init of messages
Factor out a macro for static references to data parsed from config
files at compile-time.
2019-07-14 12:12:43 -04:00
Griffin Smith
405dbffe37 Add commands for diagonal movement
Cribbed directly from Nethack

This was really, really easy.
2019-07-14 11:00:44 -04:00
Griffin Smith
bf03ebc549 Add placeholder for game ticks
When the character moves, the game ticks forward equal to the
character's speed
2019-07-13 09:07:39 -04:00
Griffin Smith
5af2429ecb Implement a global map of entities
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-08 20:58:51 -04:00
Griffin Smith
20f1ccb460 add "Previous message" command
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 13:02:50 -04:00
Griffin Smith
c643ee1dfc Add messages, with global lookup map
Add support for messages, along with a global lookup map and random
choice of messages.
2019-07-07 12:41:15 -04:00
Griffin Smith
78a52142d1 Make all drawing happen to a viewport
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-06 15:32:38 -04:00
Griffin Smith
de081d7b1d an @-sign in a box 2019-07-05 22:45:57 -04:00