mirror of
https://github.com/open-goal/jak-project
synced 2026-05-26 23:47:57 -04:00
7ce58f709f
* some jp support to fix some errors in the original game * music fade toggle * recognize `process-new` macros!! * strip casts in this macro * rename macro * fix cast typecheck * update source 1 * detect kernel stack case * less boilerplate * `manipy-spawn` special case * pretty printer improvements * revert dumb thing from earlier * use shell detection on `send-event` * fix some events * remove unused argument * detect `static-attack-info` and add `CondNoElse` to shell detect * better `attack-info` detect * support `process-spawn` in multi-lets * detect `rand-float-gen` pt 1 * detect as return value * detect in `countdown` and `dotimes` * oops this wasnt working * fancier `send-event`s * clang * update source!! * fix tests * fine jeez * uh okay * fix some accidental regressions * fix more regressions * regression fixes * fix big bug... * extra safety!
105 lines
3.4 KiB
Common Lisp
105 lines
3.4 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
|
|
;; This file is used for debugging and testing the large font encoding.
|
|
;; This file should *not* be included as part of any packages, it should be manually loaded by the user.
|
|
|
|
;; To run this:
|
|
|
|
#|
|
|
(make-group "iso") ;; build the game
|
|
(lt) ;; connect to the runtime
|
|
(lg) ;; have the runtime load the game engine
|
|
(test-play) ;; start the game loop
|
|
(ml "goal_src/pc_debug/font-encode-test.gc") ;; build and load this file.
|
|
|#
|
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;;; constants
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(defconstant FONT_ENCODE_TEXT_LEFT 56)
|
|
(defconstant FONT_ENCODE_TEXT_Y 80)
|
|
|
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
;;;; functions
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
(define *font-string* (new 'global 'string 64 (the-as string #f)))
|
|
(define *font-string-ex* "")
|
|
(define *font-string-val* #x96)
|
|
|
|
(defun-debug font-encode-test-start ()
|
|
"start the encode test proc"
|
|
|
|
(unless (process-by-name 'font-encode *active-pool*)
|
|
(process-spawn-function process :name 'font-encode
|
|
(lambda :behavior process ()
|
|
|
|
(stack-size-set! (-> self main-thread) 768)
|
|
|
|
(let ((fnt (new 'stack 'font-context *font-default-matrix* FONT_ENCODE_TEXT_LEFT FONT_ENCODE_TEXT_Y 0.0
|
|
(font-color orange-red) (font-flags shadow kerning large middle)))
|
|
)
|
|
|
|
(set-width! fnt 400)
|
|
(set-height! fnt 100)
|
|
|
|
(loop
|
|
(suspend)
|
|
|
|
(if (or (cpad-pressed? 0 left) (cpad-hold? 0 l1))
|
|
(-! *font-string-val* 1)
|
|
)
|
|
(if (or (cpad-pressed? 0 right) (cpad-hold? 0 r1))
|
|
(+! *font-string-val* 1)
|
|
)
|
|
(if (< *font-string-val* 1)
|
|
(set! *font-string-val* 1)
|
|
)
|
|
(if (> *font-string-val* #x1ff)
|
|
(set! *font-string-val* #x1ff)
|
|
)
|
|
|
|
(clear *font-string*)
|
|
(cond
|
|
((>= *font-string-val* #x100)
|
|
(set! (-> *font-string* data 0) (/ *font-string-val* 256))
|
|
(set! (-> *font-string* data 1) (mod *font-string-val* 256))
|
|
(set! (-> *font-string* data 2) 0)
|
|
)
|
|
(else
|
|
(set! (-> *font-string* data 0) (mod *font-string-val* 256))
|
|
(set! (-> *font-string* data 1) 0)
|
|
)
|
|
)
|
|
|
|
(set-origin! fnt FONT_ENCODE_TEXT_LEFT FONT_ENCODE_TEXT_Y)
|
|
(set-flags! fnt (font-flags shadow kerning large middle))
|
|
(print-game-text *font-string* fnt #f 128 24)
|
|
(set-origin! fnt FONT_ENCODE_TEXT_LEFT (+ FONT_ENCODE_TEXT_Y 32))
|
|
(print-game-text *font-string-ex* fnt #f 128 24)
|
|
(set-origin! fnt FONT_ENCODE_TEXT_LEFT (- FONT_ENCODE_TEXT_Y 16))
|
|
(set-flags! fnt (font-flags shadow kerning middle))
|
|
(print-game-text (string-format "#x~X" *font-string-val*) fnt #f 128 12)
|
|
)
|
|
)
|
|
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun-debug font-encode-test-stop ()
|
|
"stop the encode test proc"
|
|
|
|
(kill-by-name 'font-encode *active-pool*)
|
|
)
|
|
|
|
|