Now, this doesn’t work like a _perfect_ grid… in
fact, it’s not grid-like at all. Sorta annoying,
but it’s fine for now.
LET’S GET A MOVE ON, WHAT’S NEXT?!
… 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=
That would be multiline-friendly
DESCRIPTION-INTERACT, MONOLOGUE-INTERACT, and
RANDOM-MONOLOGUE-INTERACT, which are all very
amicable to mapping generic entities. =w=
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=
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.
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! @-@
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.
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
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.