Files
jak-project/goal_src/engine/debug/assert.gc
T
ManDude 76a819b98f [game] revise build order and add remaining levels + add part-tester to menu (#1069)
* Add remaining levels to build system

* add a particles menu

* Update default-menu.gc

* Update part-tester.gc

* make part tester non-destructive

* Make the "ps2 particles" toggle work!

* Update kmachine.h

* fix test

* fix test
2022-01-09 17:43:13 -05:00

58 lines
2.0 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: assert.gc
;; name in dgo: assert
;; dgos: GAME, ENGINE
(define *run-time-assert-enable* #t)
;; TODO macros
(defun __assert ((expr symbol) (msg string))
"Assert that expr is truthy, print assert information otherwise"
(when (not expr)
(format #t "(ASSERT ~S) FAILED in " msg)
(print-pos *__private-assert-info*)
)
0
)
(defun __assert-min-max-range-float ((expr float) (minimum float) (maximum float) (msg-expr string) (msg-min string) (msg-max string))
"Assert that float expr is a larger value than minimum and smaller than maximum, print assert information otherwise"
(when (or (< expr minimum) (< maximum expr))
(format #t "(ASSERT_MIN_MAX_RANGE_FLOAT ~S ~S ~S) FAILED (values ~F ~F ~F) in "
msg-expr msg-min msg-max
expr minimum maximum)
(print-pos *__private-assert-info*)
)
0
)
(defun __assert-min-max-range-int ((expr int) (minimum int) (maximum int) (msg-expr string) (msg-min string) (msg-max string))
"Assert that integer expr is a larger value than minimum and smaller than maximum, print assert information otherwise"
(when (or (< expr minimum) (< maximum expr))
(format #t "(ASSERT_MIN_MAX_RANGE_INT ~S ~S ~S) FAILED (values ~D ~D ~D) in "
msg-expr msg-min msg-max
expr minimum maximum)
(print-pos *__private-assert-info*)
)
0
)
(defun __assert-zero-lim-range-int ((expr int) (maximum int) (msg-expr string) (msg-max string))
"Assert that integer expr is a larger value than zero and smaller than maximum, print assert information otherwise"
(when (or (< expr 0) (>= expr max))
(format #t "(ASSERT_ZERO_LIM_RANGE_INT ~S ~S) FAILED (values ~D ~D) in "
msg-expr msg-max
expr maximum)
(print-pos *__private-assert-info*)
)
0
)