Begin “intermission” screens

This commit is contained in:
Jaidyn Ann 2023-06-30 13:48:17 -05:00
parent 3b32b1f809
commit e2652abf60
4 changed files with 100 additions and 9 deletions

28
intermission.lisp Normal file
View File

@ -0,0 +1,28 @@
;;;; Copyright © 2023, Jaidyn Ann <jadedctrl@posteo.at>
;;;;
;;;; This program is free software: you can redistribute it and/or
;;;; modify it under the terms of the GNU General Public License as
;;;; published by the Free Software Foundation, either version 3 of
;;;; the License, or (at your option) any later version.
;;;;
;;;; This program is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;;; GNU General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;;; FLORA-SEARCH-AURORA.INTERMISSION
;;;; Used to render flashy little transitions in-between scenes/maps/etc.
(in-package :flora-search-aurora.intermission)
(defun render-clock-base (matrix coords)
(:render-string-verbatim matrix *clock-base* coords))
;;(defun render-clock-face (matrix x y &optional (hour 0) (minute 5))
;; ())

View File

@ -17,7 +17,7 @@
(defpackage :flora-search-aurora.util (defpackage :flora-search-aurora.util
(:nicknames :fsa.utl :util :) (:nicknames :fsa.utl :util :)
(:use :cl :assoc-utils) (:use :cl)
(:export #:split-string-by-length (:export #:split-string-by-length
#:plist= #:plist=
#:incf-0 #:incf-0
@ -39,13 +39,13 @@
(:nicknames :fsa.d :display :) (:nicknames :fsa.d :display :)
(:use :cl) (:use :cl)
(:export #:make-screen-matrix #:print-screen-matrix #:matrix-delta (:export #:make-screen-matrix #:print-screen-matrix #:matrix-delta
#:render-line #:render-string #:render-string-verbatim #:render-string-partially
#:hide-cursor #:show-cursor #:clear-screen)) #:hide-cursor #:show-cursor #:clear-screen))
(defpackage :flora-search-aurora.ui (defpackage :flora-search-aurora.ui
(:nicknames :fsa.u :ui :📋) (:nicknames :fsa.u :ui :📋)
(:use :cl :assoc-utils) (:use :cl)
(:export #:menu-state #:make-menu-state (:export #:menu-state #:make-menu-state
#:render-line #:render-string #:render-string-partially
:label :selection :selected)) :label :selection :selected))
(defpackage :flora-search-aurora.dialogue (defpackage :flora-search-aurora.dialogue
@ -60,6 +60,11 @@
(:use :cl) (:use :cl)
(:export #:inventory-state #:make-inventory-state)) (:export #:inventory-state #:make-inventory-state))
(defpackage :flora-search-aurora.intermission
(:nicknames :fsa.int :intermission :🎭)
(:use :cl)
(:export :*standard-font* :*small-font*))
(defpackage :flora-search-aurora.overworld.util (defpackage :flora-search-aurora.overworld.util
(:nicknames :fsa.o.u :overworld.util :🌍.) (:nicknames :fsa.o.u :overworld.util :🌍.)
(:use :cl) (:use :cl)
@ -96,7 +101,3 @@
:flora-search-aurora.input :flora-search-aurora.display :flora-search-aurora.input :flora-search-aurora.display
:flora-search-aurora.overworld :flora-search-aurora.dialogue :flora-search-aurora.overworld :flora-search-aurora.dialogue
:flora-search-aurora.ui)) :flora-search-aurora.ui))
(defpackage :figlet-font-plist
(:export #:parse-figlet-font-file)
(:use cl))

60
res/clocks.lisp Normal file
View File

@ -0,0 +1,60 @@
;;;; Copyright © 2023, Jaidyn Ann <jadedctrl@posteo.at>
;;;;
;;;; This program is free software: you can redistribute it and/or
;;;; modify it under the terms of the GNU General Public License as
;;;; published by the Free Software Foundation, either version 3 of
;;;; the License, or (at your option) any later version.
;;;;
;;;; This program is distributed in the hope that it will be useful,
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;;; GNU General Public License for more details.
;;;;
;;;; You should have received a copy of the GNU General Public License
;;;; along with this program. If not, see <https://www.gnu.org/licenses/>.
;;;; FLORA-SEARCH-AURORA.INTERMISSION — CLOCKS
;;;; Some ASCII clock-stuff, for use with INTERMISSIONs clock-rendering.
(set-dispatch-macro-character #\# #\> #'cl-heredoc:read-heredoc)
;;(in-package :flora-search-aurora.intermission)
;; So that we can do #>eof>strings like this!eof
;; What a wonderful macro! :D
(defparameter *clock-base*
"
---------------
/ ________ \\\"\
/ . / \ ,.\\\"\
/ \ \\\"|
| | | |\"|
| ,| () | ,|\"|
|. | | |\"|
| \ / , |\"|
| ,. \________/. |\"|
| . . . |\"|
| .,- ., . . |\"|
| .. . . . . . . |\"|
|__________________|\"|
"
)
(defparameter *calendar-base*
"
:===================:
:===================:|
|\/ / ||
| ||\"
| ||\"
| ||\"'
| ||\"'
| ||\"'
| ||\"''
| ||\"''
| ||\"''
|___________________||
"
)

View File

@ -1,4 +1,5 @@
(ql:quickload '(alexandria str uiop)) (ql:quickload '(alexandria str uiop))
(load "packages.lisp")
(load "figlet.lisp") (load "figlet.lisp")
@ -11,8 +12,9 @@
(figlet:save-font-to-file (figlet:save-font-to-file
(local-path (format nil "res/fonts/~A.flf.lisp" font-name)) (local-path (format nil "res/fonts/~A.flf.lisp" font-name))
(figlet:figlet-font-plist (local-path (format nil "res/fonts/~A.flf" font-name))) (figlet:figlet-font-plist (local-path (format nil "res/fonts/~A.flf" font-name)))
":FLORA-SEARCH-AURORA" ":FLORA-SEARCH-AURORA.INTERMISSION"
(format nil "*~A-font*" font-name))) (format nil "*~A-font*" font-name)))
'("standard" "small")) '("standard" "small"))
(quit) (quit)