From e2652abf60d5ec30ea121217f5024f80ffd4df0f Mon Sep 17 00:00:00 2001 From: Jaidyn Ann <10477760+JadedCtrl@users.noreply.github.com> Date: Fri, 30 Jun 2023 13:48:17 -0500 Subject: [PATCH] =?UTF-8?q?Begin=20=E2=80=9Cintermission=E2=80=9D=20screen?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- intermission.lisp | 28 +++++++++++++++++++ packages.lisp | 17 ++++++------ res/clocks.lisp | 60 +++++++++++++++++++++++++++++++++++++++++ res/fonts/flf→lisp.lisp | 4 ++- 4 files changed, 100 insertions(+), 9 deletions(-) create mode 100644 intermission.lisp create mode 100644 res/clocks.lisp diff --git a/intermission.lisp b/intermission.lisp new file mode 100644 index 0000000..825df7c --- /dev/null +++ b/intermission.lisp @@ -0,0 +1,28 @@ +;;;; Copyright © 2023, Jaidyn Ann +;;;; +;;;; 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 . + +;;;; 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)) +;; ()) diff --git a/packages.lisp b/packages.lisp index 98e4e99..9129fc5 100644 --- a/packages.lisp +++ b/packages.lisp @@ -17,7 +17,7 @@ (defpackage :flora-search-aurora.util (:nicknames :fsa.utl :util :…) - (:use :cl :assoc-utils) + (:use :cl) (:export #:split-string-by-length #:plist= #:incf-0 @@ -39,14 +39,14 @@ (:nicknames :fsa.d :display :✎) (:use :cl) (: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)) (defpackage :flora-search-aurora.ui (:nicknames :fsa.u :ui :📋) - (:use :cl :assoc-utils) + (:use :cl) (:export #:menu-state #:make-menu-state - #:render-line #:render-string #:render-string-partially - :label :selection :selected)) + :label :selection :selected)) (defpackage :flora-search-aurora.dialogue (:nicknames :fsa.dia :dialogue :💬) @@ -60,6 +60,11 @@ (:use :cl) (: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 (:nicknames :fsa.o.u :overworld.util :🌍.…) (:use :cl) @@ -96,7 +101,3 @@ :flora-search-aurora.input :flora-search-aurora.display :flora-search-aurora.overworld :flora-search-aurora.dialogue :flora-search-aurora.ui)) - -(defpackage :figlet-font-plist - (:export #:parse-figlet-font-file) - (:use cl)) diff --git a/res/clocks.lisp b/res/clocks.lisp new file mode 100644 index 0000000..421884e --- /dev/null +++ b/res/clocks.lisp @@ -0,0 +1,60 @@ +;;;; Copyright © 2023, Jaidyn Ann +;;;; +;;;; 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 . + +;;;; FLORA-SEARCH-AURORA.INTERMISSION — CLOCKS +;;;; Some ASCII clock-stuff, for use with INTERMISSION’s 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* +" + :===================: + :===================:| + |\/ / || + | ||\" + | ||\" + | ||\"' + | ||\"' + | ||\"' + | ||\"'' + | ||\"'' + | ||\"'' + |___________________|| +" +) + diff --git a/res/fonts/flf→lisp.lisp b/res/fonts/flf→lisp.lisp index f7e038a..a4a1eb6 100644 --- a/res/fonts/flf→lisp.lisp +++ b/res/fonts/flf→lisp.lisp @@ -1,4 +1,5 @@ (ql:quickload '(alexandria str uiop)) +(load "packages.lisp") (load "figlet.lisp") @@ -11,8 +12,9 @@ (figlet:save-font-to-file (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))) - ":FLORA-SEARCH-AURORA" + ":FLORA-SEARCH-AURORA.INTERMISSION" (format nil "*~A-font*" font-name))) '("standard" "small")) + (quit)