Commit Graph

92 Enmetoj

Author SHA1 Message Date
Jaidyn Ann ff129f2d7a 📋: Use plists for menus, rather than alists 2023-07-02 12:42:13 -05:00
Jaidyn Ann e26986218b Rename FLORA-SEARCH-AURORA.UI → […].MENU 2023-07-02 12:05:29 -05:00
Jaidyn Ann 1d30f66df4 Fix dialogue linebreaks; surround text with spaces
… finally! It took so dang long to get
linebreaking and positioning working in a
satisfactory way, but it’s done, dammit!
And no-one can break it, never again!

Also, surrounding the text with spaces makes it
a bit more legible. Nice touch, right? =w=
2023-07-02 12:00:35 -05:00
Jaidyn Ann 845c2540a9 Support for numpad-movement, diagonal movement 2023-07-02 09:57:32 -05:00
Jaidyn Ann ee4b2e98ef Better generic interact funcs, for easier mapping!
That would be multiline-friendly
DESCRIPTION-INTERACT, MONOLOGUE-INTERACT, and
RANDOM-MONOLOGUE-INTERACT, which are all very
amicable to mapping generic entities. =w=
2023-07-01 16:02:22 -05:00
Jaidyn Ann dfcad9cfbd Hyphen-breaking line-breaking, tweak RENDER-STRING 2023-07-01 14:18:13 -05:00
Jaidyn Ann a5d4179607 Simpler and more intelligent line-breaking
✎:RENDER-STRING(-PARTIALLY) now is in a lot better
shape! They’ll only line-break on spaces, ain’t
that swell?
2023-06-30 19:58:34 -05:00
Jaidyn Ann eaa42ab2d8 Move 📋:RENDER-STRING* & 📋:RENDER-LINE to ✎
Also add new function, ✎:RENDER-STRING-VERBATIM
2023-06-30 13:52:50 -05:00
Jaidyn Ann e2652abf60 Begin “intermission” screens 2023-06-30 13:48:17 -05:00
Jaidyn Ann 3b32b1f809 Make-recipe for making FIGlet lisp code 2023-06-30 13:41:22 -05:00
Jaidyn Ann 6550cfb68a _Actually_ finish FIGlet support
Now, text’ll be rendered with correct-ish smushing,
and fonts can be saved as Lisp source-code, just
like Tiled maps.
2023-06-30 12:50:43 -05:00
Jaidyn Ann 24d8c4a225 “Finish” the Figlet parser-&-renderer
Problem: There is no text-smushing. Without that,
any line takes up too much space!
2023-06-29 21:38:20 -05:00
Jaidyn Ann 919dcd4d9a Base parsing of Figlet fonts
Will be used later to fancy-print text!
2023-06-29 15:50:15 -05:00
Jaidyn Ann d0cb621320 Split package definitions into packages.lisp 2023-06-28 10:15:23 -05:00
Jaidyn Ann b38d4ca436 Fix mis-uses of the 'player symbol 2023-06-28 09:56:25 -05:00
Jaidyn Ann 06e875b271 Create the scaffodling for an inventory menu
All it does right now is print your raw list of
items. That’s OK for now! =w=
2023-06-27 21:36:13 -05:00
Jaidyn Ann 6c8f84afe8 Finish 'childhood-friend' prologue!
Wooooot! Antaŭludo finita c:<
2023-06-27 20:00:37 -05:00
Jaidyn Ann c177e1b2d2 Begin the 'childhood-friend' prologue 2023-06-27 14:15:16 -05:00
Jaidyn Ann 6849968528 Abstract the semantic meaning of key from the char
This lets us do cool looking stuff, like '⌨:🆗
2023-06-27 11:54:52 -05:00
Jaidyn Ann bc74f43f9a Gitignore for lisp-ified maps 2023-06-26 21:50:58 -05:00
Jaidyn Ann 51c913a700 Create and ASDF system for the game
This might help cool stuff get working, later!
Maybe! :D
2023-06-26 21:49:34 -05:00
Jaidyn Ann 74d713b76d Convert TMX maps to a parseable list
This allows embedding the map data directly
into the game system, instead of relying on
external files!
This’ll make distribution easier, for sure. =w=
2023-06-26 20:25:02 -05:00
Jaidyn Ann c0d2099ae8 Support for the passage of time 2023-06-26 15:43:01 -05:00
Jaidyn Ann 2a78737d28 Support for taking items
That is, directly moving an entity from the map
into the player’s pocket. Real simple
implementation, it’s just another
interact-function for use with your entities.
2023-06-26 11:12:06 -05:00
Jaidyn Ann 738239f50a Persistent data between maps! How exciting!
I spent a good chunk of time trying to get rid of
the maps’ global variables, instead packing each
map into a :map variable in a “game” hash-table…
but, wow, that took a while. And also made things
a bit more complicated. And also… we could just
do this. From this commit. So much easier! @-@
2023-06-26 09:33:51 -05:00
Jaidyn Ann 766f2dedee Whoops, too invisible! I fyixed it uwu 2023-06-26 09:08:45 -05:00
Jaidyn Ann 9ee7597772 Invisible and/or weird interactible entities! =w= 2023-06-25 19:59:34 -05:00
Jaidyn Ann 67019e9afb Moving between maps: Doorways! ♥ 2023-06-25 14:40:12 -05:00
Jaidyn Ann 4deace5af5 Fix dialogue-printing for players’ lines 2023-06-24 22:29:56 -05:00
Jaidyn Ann b61739aa24 Support for events triggered by moving to point
That is, a new “Trigger” Tiled object-type has
been made, which is just a rectangle with an
associated function. If the rectangle is stepped
upon (uwu step on me owo), the function is
triggered. Y’know, standard RPG stuffs.
2023-06-24 22:17:42 -05:00
Jaidyn Ann 1c2a371b38 Add casino attendant and bartender 2023-06-24 20:12:18 -05:00
Jaidyn Ann 67e2ca0404 Tweak interact-radius again! 2023-06-24 20:04:52 -05:00
Jaidyn Ann 90223f4a4c Flexibly edit entity data in dialogue
… including way better ^_^ dialogue :D
face! \o/ editing!
2023-06-24 19:49:47 -05:00
Jaidyn Ann 1a44f2bcac Begin the Casino map!
… including the gambler-dude story arc.
2023-06-24 17:01:12 -05:00
Jaidyn Ann 37eacc43f5 Tweak interaction range 2023-06-24 16:12:16 -05:00
Jaidyn Ann d7c978dc39 Tweak dialogue positioning 2023-06-24 16:12:05 -05:00
Jaidyn Ann b4cde1ea16 Add top-level layer, renders above player 2023-06-24 14:13:01 -05:00
Jaidyn Ann 346d9d3a9d Begin proper dialogue with Sasha! 2023-06-23 22:25:16 -05:00
Jaidyn Ann 4d4b65da9c Split off STATE-LOOP into an engine package (⚙)
… while making generic state-function-creators for
both dialogues and overworld maps. This should
make game-specific code more pretty-like!
2023-06-23 13:29:09 -05:00
Jaidyn Ann e21d16069b Translations of menu-items ^_^ 2023-06-23 12:54:29 -05:00
Jaidyn Ann dafccb17a1 Language-specific map layers 2023-06-23 12:41:47 -05:00
Jaidyn Ann 495ed87f09 Baseline support for translations! :D
It’s not using gettext or anything, just a simple
system I cooked up for having the translations
hard-coded in, side-by-side.
… it’s easier for me this way when writing, and
it’ll make things easier later on, during
distribution :P
2023-06-23 11:28:34 -05:00
Jaidyn Ann b617e92aba Add `move` directive to dialogues — for moving! :D 2023-06-22 19:20:20 -05:00
Jaidyn Ann c7c0ed6d65 Menu state-function creator: #'📋:make-menu-state 2023-06-22 11:31:49 -05:00
Jaidyn Ann 6eb5596263 “Chunk” entities like map tiles
Now :entities of the map hash-table is no longer a
flat list of entity plists, but a “chunked” alist
of these entity plists. Each alist is dedicated to
a different “chunk” (screenfull) of the map.
This (hypothetically) makes finding on-screen
entities more speedy.
2023-06-21 23:47:54 -05:00
Jaidyn Ann 666c155f95 Legiblify :💬; finish dialogue-printing with ENTER
Like with RPGs!
2023-06-21 20:31:29 -05:00
Jaidyn Ann fe9b74a600 Vary dialogue-position by speaker/etc 2023-06-20 22:00:36 -05:00
Jaidyn Ann 9c5892f2f8 Orient dialogue vertically! How exciting! 2023-06-20 20:43:27 -05:00
Jaidyn Ann 82254570b1 Orienting dialogue to the left or right of entity 2023-06-20 20:04:13 -05:00
Jaidyn Ann 6467d9bec3 Don’t over-:use packages (hee-hee) 2023-06-19 14:58:12 -05:00