mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
20ab48796d
* split rendering framebuffer * fix blackout * unhardcode c++ stuff * optimization * implement goal side of all this * fix msaa * sprite distort fixes * fix resolution menu options * save & load msaa * linear filtering on the game screen * fix bad texture units * fun! * unused * make screenshot button capture the framebuffer and not the window buffer * panik * screenshot settings * fix black screen on first frame of new framebuffer * default fullscreen resolution to the screen size * hide funny resolutions in windowed since it makes no sense
4734 lines
222 KiB
Common Lisp
4734 lines
222 KiB
Common Lisp
;;-*-Lisp-*-
|
|
(in-package goal)
|
|
|
|
;; name: default-menu.gc
|
|
;; name in dgo: default-menu
|
|
;; dgos: GAME, ENGINE
|
|
|
|
;; Forward declarations for stuff we haven't written yet:
|
|
(define-extern *edit-instance* string)
|
|
|
|
;; Necessary forward declarations
|
|
|
|
;; DECOMP BEGINS
|
|
|
|
;; this file is debug only
|
|
(declare-file (debug))
|
|
(when *debug-segment*
|
|
(define *debug-menu-context* (new 'debug 'debug-menu-context))
|
|
|
|
(define *dm-cam-mode-interpolation* 0)
|
|
|
|
(defun dm-cam-mode-func ((arg0 (state camera-slave)) (arg1 debug-menu-msg))
|
|
(if (and (= arg1 (debug-menu-msg press)) arg0)
|
|
(send-event *camera* 'change-state arg0 *dm-cam-mode-interpolation*)
|
|
)
|
|
(if *camera*
|
|
(send-event *camera* 'query-state arg0)
|
|
(not arg0)
|
|
)
|
|
)
|
|
|
|
(defun dm-cam-settings-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (and (= arg1 (debug-menu-msg press)) *camera*)
|
|
(cond
|
|
((zero? arg0)
|
|
(send-event *camera* 'toggle-slave-option 1)
|
|
)
|
|
((= arg0 13)
|
|
(send-event *camera* 'toggle-slave-option 8192)
|
|
)
|
|
((= arg0 1)
|
|
(send-event *camera* 'toggle-slave-option 2)
|
|
)
|
|
((= arg0 2)
|
|
(send-event *camera* 'toggle-slave-option 4)
|
|
)
|
|
((= arg0 3)
|
|
(send-event *camera* 'toggle-slave-option 128)
|
|
)
|
|
((= arg0 4)
|
|
(send-event *camera* 'toggle-slave-option 8)
|
|
)
|
|
((= arg0 7)
|
|
(send-event *camera* 'toggle-slave-option 16)
|
|
)
|
|
((= arg0 8)
|
|
(send-event *camera* 'toggle-slave-option 64)
|
|
)
|
|
((= arg0 6)
|
|
(send-event *camera* 'reset-root)
|
|
)
|
|
((= arg0 9)
|
|
(logxor! (-> *camera* master-options) 1)
|
|
)
|
|
((= arg0 10)
|
|
(logxor! (-> *camera* master-options) 4)
|
|
)
|
|
((= arg0 11)
|
|
(send-event *camera* 'toggle-slave-option 32)
|
|
)
|
|
((= arg0 12)
|
|
(send-event *camera* 'toggle-slave-option 512)
|
|
)
|
|
((= arg0 14)
|
|
(send-event *camera* 'toggle-slave-option #x8000)
|
|
)
|
|
((= arg0 15)
|
|
(send-event *camera* 'toggle-slave-option #x10000)
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
(*camera*
|
|
(cond
|
|
((zero? arg0)
|
|
(logtest? (-> *camera* slave-options) 1)
|
|
)
|
|
((= arg0 13)
|
|
(logtest? (-> *camera* slave-options) 8192)
|
|
)
|
|
((= arg0 1)
|
|
(logtest? (-> *camera* slave-options) 2)
|
|
)
|
|
((= arg0 2)
|
|
(logtest? (-> *camera* slave-options) 4)
|
|
)
|
|
((= arg0 3)
|
|
(logtest? (-> *camera* slave-options) 128)
|
|
)
|
|
((= arg0 4)
|
|
(logtest? (-> *camera* slave-options) 8)
|
|
)
|
|
((= arg0 7)
|
|
(logtest? (-> *camera* slave-options) 16)
|
|
)
|
|
((= arg0 8)
|
|
(logtest? (-> *camera* slave-options) 64)
|
|
)
|
|
((= arg0 11)
|
|
(logtest? (-> *camera* slave-options) 32)
|
|
)
|
|
((= arg0 12)
|
|
(logtest? (-> *camera* slave-options) 512)
|
|
)
|
|
((= arg0 14)
|
|
(logtest? (-> *camera* slave-options) #x8000)
|
|
)
|
|
((= arg0 15)
|
|
(logtest? #x10000 (-> *camera* slave-options))
|
|
)
|
|
((= arg0 9)
|
|
(logtest? (-> *camera* master-options) 1)
|
|
)
|
|
((= arg0 10)
|
|
(logtest? (-> *camera* master-options) 4)
|
|
)
|
|
(else
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun dm-cam-settings-func-int ((arg0 int) (arg1 debug-menu-msg) (arg2 int) (arg3 int))
|
|
(when (and (= arg1 (debug-menu-msg press)) *camera*)
|
|
(if (= (/ arg0 8) 5)
|
|
(set! *dm-cam-mode-interpolation* arg2)
|
|
)
|
|
)
|
|
(cond
|
|
(*camera*
|
|
(if (= (/ arg0 8) 5)
|
|
*dm-cam-mode-interpolation*
|
|
arg3
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun dm-cam-externalize ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(cond
|
|
((= arg0 'reset)
|
|
(if (!= *external-cam-mode* 'locked)
|
|
(external-cam-reset!)
|
|
)
|
|
)
|
|
((= arg0 'allow-z)
|
|
(set! *external-cam-options* (logxor *external-cam-options* (external-cam-option allow-z)))
|
|
)
|
|
((= *external-cam-mode* arg0)
|
|
(set! *external-cam-mode* #f)
|
|
)
|
|
(else
|
|
(if (not *external-cam-mode*)
|
|
(external-cam-reset!)
|
|
)
|
|
(set! *external-cam-mode* arg0)
|
|
)
|
|
)
|
|
)
|
|
(if (= arg0 'allow-z)
|
|
(logtest? *external-cam-options* (external-cam-option allow-z))
|
|
(= *external-cam-mode* arg0)
|
|
)
|
|
)
|
|
|
|
(defun dm-cam-render-float ((arg0 int) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(cond
|
|
((zero? (/ arg0 8))
|
|
(when *math-camera*
|
|
(set! (-> *math-camera* fov) (* 182.04445 arg2))
|
|
(update-math-camera
|
|
*math-camera*
|
|
(-> *setting-control* current video-mode)
|
|
(-> *setting-control* current aspect-ratio)
|
|
)
|
|
)
|
|
)
|
|
((= (/ arg0 8) 1)
|
|
(if *camera*
|
|
(send-event *camera* 'set-fov (* 182.04445 arg2))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(cond
|
|
((zero? (/ arg0 8))
|
|
(cond
|
|
(*math-camera*
|
|
(* 0.005493164 (-> *math-camera* fov))
|
|
)
|
|
(else
|
|
(empty)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
((= (/ arg0 8) 1)
|
|
(cond
|
|
(*camera*
|
|
(let ((f30-0 0.005493164))
|
|
(* f30-0 (the-as float (send-event *camera* 'query-fov)))
|
|
)
|
|
)
|
|
(else
|
|
(empty)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(empty)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun dm-subdiv-float ((arg0 symbol) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(case arg0
|
|
(('close)
|
|
(if (and *math-camera* *subdivide-settings*)
|
|
(set! (-> *subdivide-settings* close 3) (* 4096.0 arg2))
|
|
)
|
|
)
|
|
(('far)
|
|
(if (and *math-camera* *subdivide-settings*)
|
|
(set! (-> *subdivide-settings* far 3) (* 4096.0 arg2))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(case arg0
|
|
(('close)
|
|
(if (and *math-camera* *subdivide-settings*)
|
|
(* 0.00024414062 (-> *subdivide-settings* close 3))
|
|
arg3
|
|
)
|
|
)
|
|
(('far)
|
|
(if (and *math-camera* *subdivide-settings*)
|
|
(* 0.00024414062 (-> *subdivide-settings* far 3))
|
|
arg3
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun dm-subdiv-int ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 int))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(case arg0
|
|
(('anim-speed)
|
|
(if *anim-tester*
|
|
(set! (-> *anim-tester* 0 speed) arg2)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(case arg0
|
|
(('anim-speed)
|
|
(if *anim-tester*
|
|
(-> *anim-tester* 0 speed)
|
|
arg3
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun dm-setting-language ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! (-> *setting-control* default language) (the-as language-enum (/ arg0 8)))
|
|
)
|
|
(= (-> *setting-control* default language) (/ arg0 8))
|
|
)
|
|
|
|
(defun dm-current-continue ((arg0 string) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(start 'play (get-continue-by-name *game-info* arg0))
|
|
)
|
|
(string= (-> (get-or-create-continue! *game-info*) name) arg0)
|
|
)
|
|
|
|
(defun dm-subdiv-draw-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *subdivide-draw-mode* (/ arg0 8))
|
|
)
|
|
(= (/ arg0 8) *subdivide-draw-mode*)
|
|
)
|
|
|
|
(defun dm-ocean-subdiv-draw-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *ocean-subdivide-draw-mode* (/ arg0 8))
|
|
)
|
|
(= (/ arg0 8) *ocean-subdivide-draw-mode*)
|
|
)
|
|
|
|
(defun dm-time-of-day-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(set! *time-of-day-mode* (/ arg0 8))
|
|
(set! (-> *time-of-day-proc* 0 minute) 0)
|
|
(cond
|
|
((zero? (/ arg0 8))
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 7)
|
|
)
|
|
((= (/ arg0 8) 1)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 9)
|
|
)
|
|
((= (/ arg0 8) 2)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 12)
|
|
)
|
|
((= (/ arg0 8) 3)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 15)
|
|
)
|
|
((= (/ arg0 8) 4)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 18)
|
|
)
|
|
((= (/ arg0 8) 5)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 19)
|
|
)
|
|
((= (/ arg0 8) 6)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 23)
|
|
)
|
|
((= (/ arg0 8) 7)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(set! (-> *time-of-day-proc* 0 hour) 4)
|
|
)
|
|
((= (/ arg0 8) 8)
|
|
(if *time-of-day-fast*
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 18000.0)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 300.0)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(= (/ arg0 8) *time-of-day-mode*)
|
|
)
|
|
|
|
(defun dm-time-of-day-func2 ((arg0 (pointer symbol)) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(set! (-> arg0 0) (not (-> arg0 0)))
|
|
(when (!= (-> *time-of-day-proc* 0 time-ratio) 0.0)
|
|
(if *time-of-day-fast*
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 18000.0)
|
|
(set! (-> *time-of-day-proc* 0 time-ratio) 300.0)
|
|
)
|
|
)
|
|
)
|
|
(-> arg0 0)
|
|
)
|
|
|
|
(defun dm-boolean-toggle-pick-func ((arg0 (pointer symbol)) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! (-> arg0 0) (not (-> arg0 0)))
|
|
)
|
|
(-> arg0 0)
|
|
)
|
|
|
|
(defun dm-time-of-day-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(time-of-day-setup (= arg1 (debug-menu-msg press)))
|
|
(none)
|
|
)
|
|
|
|
(defun dm-actor-marks-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *display-actor-marks* arg0)
|
|
)
|
|
(= *display-actor-marks* arg0)
|
|
)
|
|
|
|
(defun dm-compact-actor-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *compact-actors* arg0)
|
|
)
|
|
(= *compact-actors* arg0)
|
|
)
|
|
|
|
(defun dm-actor-vis-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *display-actor-vis* arg0)
|
|
)
|
|
(= *display-actor-vis* arg0)
|
|
)
|
|
|
|
(defun dm-game-mode-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! (-> *game-info* mode) arg0)
|
|
)
|
|
(= (-> *game-info* mode) arg0)
|
|
)
|
|
|
|
(defun dm-vu1-user-toggle-pick-func ((arg0 vu1-renderer-mask) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *vu1-enable-user-menu* (logxor *vu1-enable-user-menu* (the-as uint arg0)))
|
|
)
|
|
(logtest? *vu1-enable-user-menu* arg0)
|
|
)
|
|
|
|
(defun dm-vu1-user-set-pick-func ((arg0 vu1-renderer-mask) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *vu1-enable-user-menu* arg0)
|
|
)
|
|
(= *vu1-enable-user-menu* arg0)
|
|
)
|
|
|
|
(defun dm-texture-user-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *texture-enable-user-menu* (logxor *texture-enable-user-menu* arg0))
|
|
)
|
|
(logtest? *texture-enable-user-menu* arg0)
|
|
)
|
|
|
|
(defun dm-texture-user-set-pick-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *texture-enable-user-menu* arg0)
|
|
)
|
|
(= *texture-enable-user-menu* arg0)
|
|
)
|
|
|
|
(defun dm-strip-lines-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *display-strip-lines* (logxor *display-strip-lines* (/ arg0 8)))
|
|
)
|
|
(logtest? *display-strip-lines* (/ arg0 8))
|
|
)
|
|
|
|
(defun dm-strip-lines-set-pick-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! *display-strip-lines* (/ arg0 8))
|
|
)
|
|
(= *display-strip-lines* (/ arg0 8))
|
|
)
|
|
|
|
(defun dm-edit-instance-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((v1-0 (find-instance-by-name *edit-instance*)))
|
|
(when v1-0
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(logxor! (-> v1-0 flags) (the-as uint arg0))
|
|
)
|
|
(logtest? (-> v1-0 flags) arg0)
|
|
)
|
|
)
|
|
)
|
|
|
|
(defun all-texture-tweak-adjust ((arg0 texture-page-dir) (arg1 float))
|
|
; (dotimes (s4-0 (-> arg0 length))
|
|
; (let ((s3-0 (-> arg0 entries s4-0 page)))
|
|
; (dotimes (s2-0 (min (-> s3-0 length) (-> arg0 entries s4-0 length)))
|
|
; (when (-> arg0 entries s4-0 link)
|
|
; (let ((v1-12 (+ (the-as uint (-> arg0 entries s4-0 link)) (* s2-0 4)))
|
|
; (s1-0 (-> arg0 entries s4-0 page data s2-0))
|
|
; )
|
|
; (+! (-> s1-0 uv-dist) arg1)
|
|
; (+ v1-12 0)
|
|
; (let ((s0-0 (the-as object (* (-> (dynamic-array-field-access v1-12 next PLACEHOLDER) shader) 16))))
|
|
; (while (nonzero? (the-as uint s0-0))
|
|
; (adgif-shader-update! (the-as adgif-shader s0-0) s1-0)
|
|
; (+ (the-as uint s0-0) 40)
|
|
; (set! s0-0 (* (-> (the-as adgif-shader s0-0) next shader) 16))
|
|
; )
|
|
; )
|
|
; )
|
|
; )
|
|
; )
|
|
; )
|
|
; )
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-node<? ((arg0 debug-menu-node) (arg1 debug-menu-node))
|
|
(string<=? (-> arg0 name) (-> arg1 name))
|
|
)
|
|
|
|
(defun dm-shader-pick-func ((arg0 texture-id) (arg1 debug-menu-msg))
|
|
(if (and (= arg1 (debug-menu-msg press))
|
|
*texture-page-dir*
|
|
(-> *texture-page-dir* entries (-> arg0 page) page)
|
|
(-> *texture-page-dir* entries (-> arg0 page) link)
|
|
(nonzero? (-> *texture-page-dir* entries (-> arg0 page) link next (-> arg0 index)))
|
|
)
|
|
(set! *edit-shader* arg0)
|
|
)
|
|
(and (nonzero? *edit-shader*) (= arg0 *edit-shader*))
|
|
)
|
|
|
|
(define *shader-pick-menu* (the-as debug-menu #f))
|
|
|
|
(defun build-shader-list ()
|
|
(debug-menu-remove-all-items *shader-pick-menu*)
|
|
(when *texture-page-dir*
|
|
(dotimes (gp-0 (-> *texture-page-dir* length))
|
|
(let ((s5-0 (-> *texture-page-dir* entries gp-0 page))
|
|
(s4-0 (-> *texture-page-dir* entries gp-0 link))
|
|
)
|
|
(when (and s5-0 s4-0)
|
|
(dotimes (s3-0 (-> s5-0 length))
|
|
(when (and (-> s5-0 data s3-0) (nonzero? (-> s4-0 next s3-0)))
|
|
(let ((a1-1 (new
|
|
'debug
|
|
'debug-menu-item-flag
|
|
(-> s5-0 data s3-0 name)
|
|
(logior (shr (shl s3-0 52) 44) (shr (shl gp-0 52) 32))
|
|
dm-shader-pick-func
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item *shader-pick-menu* a1-1)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> *shader-pick-menu* items) (sort (-> *shader-pick-menu* items) debug-menu-node<?))
|
|
(none)
|
|
)
|
|
|
|
(defun dm-instance-pick-func ((arg0 string) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(if (find-instance-by-name arg0)
|
|
(set! *edit-instance* arg0)
|
|
(set! *edit-instance* #f)
|
|
)
|
|
)
|
|
(and *edit-instance* (string= arg0 *edit-instance*))
|
|
)
|
|
|
|
(defun dm-enable-instance-func ((arg0 string) (arg1 debug-menu-msg))
|
|
(let ((v1-0 (find-instance-by-name arg0)))
|
|
(cond
|
|
(v1-0
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(logxor! (-> v1-0 flags) 1)
|
|
)
|
|
(zero? (logand (-> v1-0 flags) 1))
|
|
)
|
|
(else
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
)
|
|
|
|
(define *instance-shrub-menu* (the-as debug-menu #f))
|
|
|
|
(define *instance-tie-menu* (the-as debug-menu #f))
|
|
|
|
(define *enable-instance-tie-menu* (the-as debug-menu #f))
|
|
|
|
(defun build-instance-list ((arg0 object))
|
|
(debug-menu-remove-all-items *instance-shrub-menu*)
|
|
(debug-menu-remove-all-items *instance-tie-menu*)
|
|
(debug-menu-remove-all-items *enable-instance-tie-menu*)
|
|
(set! *display-instance-info* #f)
|
|
(dotimes (gp-0 (-> *level* length))
|
|
(let ((v1-3 (-> *level* level gp-0)))
|
|
(when (= (-> v1-3 status) 'active)
|
|
(let ((s5-0 (-> v1-3 bsp drawable-trees)))
|
|
(dotimes (s4-0 (-> s5-0 length))
|
|
(let ((v1-7 (-> s5-0 trees s4-0)))
|
|
(case (-> v1-7 type)
|
|
((drawable-tree-instance-shrub)
|
|
(let ((s3-0 (-> (the-as drawable-tree-instance-shrub v1-7) info prototype-inline-array-shrub)))
|
|
(dotimes (s2-0 (-> s3-0 length))
|
|
(let ((a1-4
|
|
(new
|
|
'debug ;; was global
|
|
'debug-menu-item-flag
|
|
(the-as string (-> s3-0 data s2-0 name))
|
|
(-> s3-0 data s2-0 name)
|
|
dm-instance-pick-func
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item *instance-shrub-menu* a1-4)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
((drawable-tree-instance-tie)
|
|
(let ((s3-1 (-> (the-as drawable-tree-instance-tie v1-7) prototypes prototype-array-tie)))
|
|
(dotimes (s2-1 (-> s3-1 length))
|
|
(let ((a1-7
|
|
(new
|
|
'debug
|
|
'debug-menu-item-flag
|
|
(-> s3-1 array-data s2-1 name)
|
|
(-> s3-1 array-data s2-1 name)
|
|
dm-instance-pick-func
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item *instance-tie-menu* a1-7)
|
|
)
|
|
(let ((a1-9
|
|
(new
|
|
'debug
|
|
'debug-menu-item-flag
|
|
(-> s3-1 array-data s2-1 name)
|
|
(-> s3-1 array-data s2-1 name)
|
|
dm-enable-instance-func
|
|
)
|
|
)
|
|
)
|
|
(set! (-> a1-9 is-on) #t)
|
|
(debug-menu-append-item *enable-instance-tie-menu* a1-9)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> *instance-shrub-menu* items)
|
|
(sort
|
|
(-> *instance-shrub-menu* items)
|
|
(lambda ((arg0 debug-menu) (arg1 debug-menu)) (string<=? (-> arg0 name) (-> arg1 name)))
|
|
)
|
|
)
|
|
(set! (-> *instance-tie-menu* items)
|
|
(sort
|
|
(-> *instance-tie-menu* items)
|
|
(lambda ((arg0 debug-menu) (arg1 debug-menu)) (string<=? (-> arg0 name) (-> arg1 name)))
|
|
)
|
|
)
|
|
(set! (-> *enable-instance-tie-menu* items)
|
|
(sort
|
|
(-> *enable-instance-tie-menu* items)
|
|
(lambda ((arg0 debug-menu) (arg1 debug-menu)) (string<=? (-> arg0 name) (-> arg1 name)))
|
|
)
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
|
|
(defun debug-create-cam-restore ()
|
|
(cond
|
|
(*math-camera*
|
|
(format #t "(defun-debug cam-restore ()~%")
|
|
(format #t " ;;this function is a hack, don't use it as an example~%")
|
|
(format #t " (let ((pos (new 'stack 'vector))~%")
|
|
(format #t " (rot (new 'stack 'matrix)))~%")
|
|
(format #t " (set! (-> pos x) ~12F)~%" (-> *math-camera* trans x))
|
|
(format #t " (set! (-> pos y) ~12F)~%" (-> *math-camera* trans y))
|
|
(format #t " (set! (-> pos z) ~12F)~%" (-> *math-camera* trans z))
|
|
(format #t " (set! (-> pos w) 1.0)~%")
|
|
(format #t " (set! (-> rot data 0) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 x))
|
|
(format #t " (set! (-> rot data 1) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 y))
|
|
(format #t " (set! (-> rot data 2) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 z))
|
|
(format #t " (set! (-> rot data 3) ~12F)~%" (-> *math-camera* inv-camera-rot vector 0 w))
|
|
(format #t " (set! (-> rot data 4) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 x))
|
|
(format #t " (set! (-> rot data 5) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 y))
|
|
(format #t " (set! (-> rot data 6) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 z))
|
|
(format #t " (set! (-> rot data 7) ~12F)~%" (-> *math-camera* inv-camera-rot vector 1 w))
|
|
(format #t " (set! (-> rot data 8) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 x))
|
|
(format #t " (set! (-> rot data 9) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 y))
|
|
(format #t " (set! (-> rot data 10) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 z))
|
|
(format #t " (set! (-> rot data 11) ~12F)~%" (-> *math-camera* inv-camera-rot vector 2 w))
|
|
(format #t " (set! (-> rot data 12) ~12F)~%" 0.0)
|
|
(format #t " (set! (-> rot data 13) ~12F)~%" 0.0)
|
|
(format #t " (set! (-> rot data 14) ~12F)~%" 0.0)
|
|
(format #t " (set! (-> rot data 15) ~12F)~%" 1.0)
|
|
(let ((gp-0 (new 'stack-no-clear 'euler-angles)))
|
|
(matrix->eul gp-0 (-> *math-camera* inv-camera-rot) 21)
|
|
(format #t " ;; euler angles (xyz order degrees) x ~R y ~R z ~R~%" (-> gp-0 x) (-> gp-0 y) (-> gp-0 z))
|
|
(format
|
|
#t
|
|
" ;; MAYA euler angles (xyz order degrees) x ~R y ~R z ~R~%"
|
|
(-> gp-0 x)
|
|
(- 32768.0 (-> gp-0 y))
|
|
(-> gp-0 z)
|
|
)
|
|
)
|
|
(format #t " (debug-set-camera-pos-rot! pos rot)~%")
|
|
(format #t " (send-event *camera* 'set-fov (deg ~f))~%" (* 0.005493164 (-> *math-camera* fov)))
|
|
(format #t " (clear *camera-old-level*)~%")
|
|
(format #t " (format *camera-old-level* \"~A\")~%" (-> *level* level0 name))
|
|
(let ((t9-31 format)
|
|
(a0-31 #t)
|
|
(a1-31 " (set! *camera-old-cpu* ~D)~%")
|
|
(v1-29 (-> *display* frames (-> *display* last-screen) frame profile-bar 0))
|
|
)
|
|
(t9-31 a0-31 a1-31 (-> v1-29 data (+ (-> v1-29 profile-frame-count) -2) time-stamp))
|
|
)
|
|
(let ((t9-32 format)
|
|
(a0-32 #t)
|
|
(a1-32 " (set! *camera-old-vu* ~D)~%")
|
|
(v1-34 (-> *display* frames (-> *display* last-screen) frame profile-bar 1))
|
|
)
|
|
(t9-32 a0-32 a1-32 (-> v1-34 data (+ (-> v1-34 profile-frame-count) -2) time-stamp))
|
|
)
|
|
(compute-memory-usage (-> *level* level0) #f)
|
|
(format #t " (set! *camera-old-tfrag-bytes* ~D)~%" (+ (-> *level* level0 mem-usage-block data 1 total)
|
|
(-> *level* level0 mem-usage-block data 2 total)
|
|
(-> *level* level0 mem-usage-block data 3 total)
|
|
(-> *level* level0 mem-usage-block data 4 total)
|
|
(-> *level* level0 mem-usage-block data 5 total)
|
|
(-> *level* level0 mem-usage-block data 6 total)
|
|
(-> *level* level0 mem-usage-block data 7 total)
|
|
(-> *level* level0 mem-usage-block data 8 total)
|
|
)
|
|
)
|
|
(format #t " (clear *camera-old-stat-string-tfrag*)~%")
|
|
(format #t " (clear *camera-old-stat-string-tfrag-near*)~%")
|
|
(format #t " (clear *camera-old-stat-string-total*)~%")
|
|
(when *stats-poly*
|
|
(format #t " (format *camera-old-stat-string-tfrag* \"~S\")~%" *stat-string-tfrag*)
|
|
(format #t " (format *camera-old-stat-string-tfrag-near* \"~S\")~%" *stat-string-tfrag-near*)
|
|
(format #t " (format *camera-old-stat-string-total* \"~S\")~%" *stat-string-total*)
|
|
)
|
|
(format #t " (set! *display-camera-old-stats* #t)~%")
|
|
(format #t " )~%")
|
|
(format #t " )~%")
|
|
)
|
|
(else
|
|
(format #t "camera save failed~%")
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-camera-mode-menu ((arg0 debug-menu) (arg1 debug-menu))
|
|
(new 'debug 'debug-menu-item-submenu "Camera" arg0)
|
|
(let ((a1-3 (new 'debug 'debug-menu-item-submenu "Mode" arg1)))
|
|
(debug-menu-append-item arg0 a1-3)
|
|
)
|
|
(let ((a1-5 (new 'debug 'debug-menu-item-flag "Off" #f dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-5)
|
|
)
|
|
(let ((a1-7 (new 'debug 'debug-menu-item-flag "Free-floating" cam-free-floating dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-7)
|
|
)
|
|
(let ((a1-9 (new 'debug 'debug-menu-item-flag "Fixed" cam-fixed dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-9)
|
|
)
|
|
(let ((a1-11 (new 'debug 'debug-menu-item-flag "Pov" cam-pov dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-11)
|
|
)
|
|
(let ((a1-13 (new 'debug 'debug-menu-item-flag "Pov180" cam-pov180 dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-13)
|
|
)
|
|
(let ((a1-15 (new 'debug 'debug-menu-item-flag "Billy" cam-billy dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-15)
|
|
)
|
|
(let ((a1-17 (new 'debug 'debug-menu-item-flag "Pov-track" cam-pov-track dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-17)
|
|
)
|
|
(let ((a1-19 (new 'debug 'debug-menu-item-flag "Decel" cam-decel dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-19)
|
|
)
|
|
(let ((a1-21 (new 'debug 'debug-menu-item-flag "Endless fall" cam-endlessfall dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-21)
|
|
)
|
|
(let ((a1-23 (new 'debug 'debug-menu-item-flag "Eye" cam-eye dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-23)
|
|
)
|
|
(let ((a1-25 (new 'debug 'debug-menu-item-flag "Stick" cam-stick dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-25)
|
|
)
|
|
(let ((a1-27 (new 'debug 'debug-menu-item-flag "String" cam-string dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-27)
|
|
)
|
|
(let ((a1-29 (new 'debug 'debug-menu-item-flag "Standoff" cam-standoff dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-29)
|
|
)
|
|
(let ((a1-31 (new 'debug 'debug-menu-item-flag "Circular" cam-circular dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-31)
|
|
)
|
|
(let ((a1-33 (new 'debug 'debug-menu-item-flag "Look At" cam-lookat dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-33)
|
|
)
|
|
(let ((a1-35 (new 'debug 'debug-menu-item-flag "Center of world" cam-point-watch dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-35)
|
|
)
|
|
(let ((a1-37 (new 'debug 'debug-menu-item-flag "Spline" cam-spline dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-37)
|
|
)
|
|
(let ((a1-39 (new 'debug 'debug-menu-item-flag "Bike" cam-bike dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-39)
|
|
)
|
|
(let ((a1-41 (new 'debug 'debug-menu-item-flag "Robotboss" cam-robotboss dm-cam-mode-func)))
|
|
(debug-menu-append-item arg1 a1-41)
|
|
)
|
|
(let ((a1-43
|
|
(new 'debug 'debug-menu-item-function "Reset Free" 6 (the-as (function object object) dm-cam-settings-func))
|
|
)
|
|
)
|
|
(debug-menu-append-item arg1 a1-43)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-camera-menu ((arg0 debug-menu-context))
|
|
(let* ((gp-0 (new 'debug 'debug-menu arg0 "Camera menu"))
|
|
(s5-0 (new 'debug 'debug-menu-item-submenu "Camera" gp-0))
|
|
)
|
|
(let ((a1-3 (new 'debug 'debug-menu arg0 "Camera mode menu")))
|
|
(debug-menu-make-camera-mode-menu gp-0 a1-3)
|
|
)
|
|
(let ((s3-0 (new 'debug 'debug-menu arg0 "Camera externalize menu")))
|
|
(let ((a1-6 (new 'debug 'debug-menu-item-submenu "External" s3-0)))
|
|
(debug-menu-append-item gp-0 a1-6)
|
|
)
|
|
(let ((a1-8 (new 'debug 'debug-menu-item-flag "CPad 0" 'pad-0 dm-cam-externalize)))
|
|
(debug-menu-append-item s3-0 a1-8)
|
|
)
|
|
(let ((a1-10 (new 'debug 'debug-menu-item-flag "CPad 1" 'pad-1 dm-cam-externalize)))
|
|
(debug-menu-append-item s3-0 a1-10)
|
|
)
|
|
(let ((a1-12 (new 'debug 'debug-menu-item-flag "Lock" 'locked dm-cam-externalize)))
|
|
(debug-menu-append-item s3-0 a1-12)
|
|
)
|
|
(let ((a1-14 (new 'debug 'debug-menu-item-flag "Reset" 'reset dm-cam-externalize)))
|
|
(debug-menu-append-item s3-0 a1-14)
|
|
)
|
|
(let ((a1-16 (new 'debug 'debug-menu-item-flag "Allow z rot" 'allow-z dm-cam-externalize)))
|
|
(debug-menu-append-item s3-0 a1-16)
|
|
)
|
|
(let ((s2-0 (new 'debug 'debug-menu-item-var "Fov" 0 80)))
|
|
(debug-menu-item-var-make-float
|
|
s2-0
|
|
dm-cam-render-float
|
|
(the-as float 1.0)
|
|
#t
|
|
(the-as float 15.0)
|
|
(the-as float 180.0)
|
|
1
|
|
)
|
|
(debug-menu-append-item s3-0 s2-0)
|
|
)
|
|
)
|
|
(let ((s3-1 (new 'debug 'debug-menu arg0 "Camera collision menu")))
|
|
(let ((a1-22 (new 'debug 'debug-menu-item-submenu "Collision" s3-1)))
|
|
(debug-menu-append-item gp-0 a1-22)
|
|
)
|
|
(let ((a1-24 (new 'debug 'debug-menu-item-flag "Record" '*record-cam-collide-history* dm-boolean-toggle-pick-func))
|
|
)
|
|
(debug-menu-append-item s3-1 a1-24)
|
|
)
|
|
(let ((a1-26
|
|
(new 'debug 'debug-menu-item-flag "Display" '*display-cam-collide-history* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
(debug-menu-append-item s3-1 a1-26)
|
|
)
|
|
)
|
|
(let ((s4-1 (new 'debug 'debug-menu arg0 "Camera settings menu")))
|
|
(let ((a1-29 (new 'debug 'debug-menu-item-submenu "Settings" s4-1)))
|
|
(debug-menu-append-item gp-0 a1-29)
|
|
)
|
|
(let ((a1-31 (new 'debug 'debug-menu-item-flag "Butt cam" 0 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-31)
|
|
)
|
|
(let ((a1-33 (new 'debug 'debug-menu-item-flag "Block shift buttons" 13 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-33)
|
|
)
|
|
(let ((a1-35 (new 'debug 'debug-menu-item-flag "Same side" 1 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-35)
|
|
)
|
|
(let ((a1-37 (new 'debug 'debug-menu-item-flag "Move spherical" 2 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-37)
|
|
)
|
|
(let ((a1-39 (new 'debug 'debug-menu-item-flag "Drag" 3 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-39)
|
|
)
|
|
(let ((a1-41 (new 'debug 'debug-menu-item-flag "Allow Z rot" 4 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-41)
|
|
)
|
|
(let ((a1-43 (new 'debug 'debug-menu-item-flag "Pitch for jump" 7 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-43)
|
|
)
|
|
(let ((a1-45 (new 'debug 'debug-menu-item-flag "Find hidden target" 8 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-45)
|
|
)
|
|
(let ((a1-47
|
|
(new 'debug 'debug-menu-item-flag "Move along camera Z" '*cam-free-move-along-z* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
(debug-menu-append-item s4-1 a1-47)
|
|
)
|
|
(let ((a1-49 (new 'debug 'debug-menu-item-flag "Ignore regions" 9 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-49)
|
|
)
|
|
(let ((a1-51 (new 'debug 'debug-menu-item-flag "Switch only on ground" 10 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-51)
|
|
)
|
|
(let ((a1-53 (new 'debug 'debug-menu-item-flag "Collide" 11 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-53)
|
|
)
|
|
(let ((a1-55 (new 'debug 'debug-menu-item-flag "Line of Sight" 12 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-55)
|
|
)
|
|
(let ((a1-57 (new 'debug 'debug-menu-item-flag "No Rotate" 14 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-57)
|
|
)
|
|
(let ((a1-59 (new 'debug 'debug-menu-item-flag "Sticky Angle" 15 dm-cam-settings-func)))
|
|
(debug-menu-append-item s4-1 a1-59)
|
|
)
|
|
(let ((s3-2 (new 'debug 'debug-menu-item-var "Interp Frms" 40 80)))
|
|
(debug-menu-item-var-make-int s3-2 dm-cam-settings-func-int 1 #f 0 0 #f)
|
|
(debug-menu-append-item s4-1 s3-2)
|
|
)
|
|
(let ((s3-3 (new 'debug 'debug-menu-item-var "Fov" 8 80)))
|
|
(debug-menu-item-var-make-float
|
|
s3-3
|
|
dm-cam-render-float
|
|
(the-as float 1.0)
|
|
#t
|
|
(the-as float 15.0)
|
|
(the-as float 180.0)
|
|
1
|
|
)
|
|
(debug-menu-append-item s4-1 s3-3)
|
|
)
|
|
(let ((a1-67 (new
|
|
'debug
|
|
'debug-menu-item-flag
|
|
"no mip/lod correction"
|
|
'*camera-no-mip-correction*
|
|
dm-boolean-toggle-pick-func
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item s4-1 a1-67)
|
|
)
|
|
(let ((a1-69
|
|
(new 'debug 'debug-menu-item-flag "last attacker" '*display-camera-last-attacker* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
(debug-menu-append-item s4-1 a1-69)
|
|
)
|
|
(let ((a1-71 (new 'debug 'debug-menu-item-flag "old stats" '*display-camera-old-stats* dm-boolean-toggle-pick-func))
|
|
)
|
|
(debug-menu-append-item s4-1 a1-71)
|
|
)
|
|
(let ((a1-73 (new 'debug 'debug-menu-item-flag "xyz axes" '*display-xyz-axes* dm-boolean-toggle-pick-func)))
|
|
(debug-menu-append-item s4-1 a1-73)
|
|
)
|
|
(let ((a1-75
|
|
(new 'debug 'debug-menu-item-flag "Master Marks" '*display-cam-master-marks* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
(debug-menu-append-item s4-1 a1-75)
|
|
)
|
|
(let ((a1-77 (new 'debug 'debug-menu-item-flag "Other Marks" '*display-cam-other* dm-boolean-toggle-pick-func)))
|
|
(debug-menu-append-item s4-1 a1-77)
|
|
)
|
|
(let ((a1-79 (new 'debug 'debug-menu-item-flag "los debug" '*display-cam-los-debug* dm-boolean-toggle-pick-func)))
|
|
(debug-menu-append-item s4-1 a1-79)
|
|
)
|
|
(let ((a1-81 (new 'debug 'debug-menu-item-flag "los info" '*display-cam-los-info* dm-boolean-toggle-pick-func)))
|
|
(debug-menu-append-item s4-1 a1-81)
|
|
)
|
|
(let ((a1-83 (new 'debug 'debug-menu-item-flag "los Marks" '*display-cam-los-marks* dm-boolean-toggle-pick-func)))
|
|
(debug-menu-append-item s4-1 a1-83)
|
|
)
|
|
(let ((a1-85 (new 'debug 'debug-menu-item-flag "coll Marks" '*display-cam-coll-marks* dm-boolean-toggle-pick-func))
|
|
)
|
|
(debug-menu-append-item s4-1 a1-85)
|
|
)
|
|
(let ((a1-87 (new 'debug 'debug-menu-item-flag "Camera Marks" '*display-camera-marks* dm-boolean-toggle-pick-func))
|
|
)
|
|
(debug-menu-append-item s4-1 a1-87)
|
|
)
|
|
)
|
|
(let ((a1-89 (new
|
|
'debug
|
|
'debug-menu-item-flag
|
|
"Edit"
|
|
'*cam-layout*
|
|
(the-as (function object debug-menu-msg object) (lambda ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(if (-> arg0 value)
|
|
(cam-layout-stop)
|
|
(cam-layout-start)
|
|
)
|
|
)
|
|
(-> arg0 value)
|
|
(none)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item gp-0 a1-89)
|
|
)
|
|
(let ((a1-91 (new
|
|
'debug
|
|
'debug-menu-item-function
|
|
"Save Pos"
|
|
#f
|
|
(the-as (function object object) debug-create-cam-restore)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item gp-0 a1-91)
|
|
)
|
|
s5-0
|
|
)
|
|
)
|
|
|
|
(defun debug-menu-make-shader-menu ((arg0 debug-menu-context))
|
|
(let* ((gp-0 (new 'debug 'debug-menu arg0 "Shader menu"))
|
|
(s5-0 (new 'debug 'debug-menu-item-submenu "Shader" gp-0))
|
|
)
|
|
(let ((a3-3 (new 'debug 'debug-menu arg0 "Shader pick menu")))
|
|
(set! *shader-pick-menu* a3-3)
|
|
(let ((a1-4 (new 'debug 'debug-menu-item-submenu "Pick Shader" a3-3)))
|
|
(debug-menu-append-item gp-0 a1-4)
|
|
)
|
|
)
|
|
(let ((a1-6 (new 'debug 'debug-menu-item-function "Refresh" #f (the-as (function object object) build-shader-list)))
|
|
)
|
|
(debug-menu-append-item gp-0 a1-6)
|
|
)
|
|
(let ((s4-1 (new 'debug 'debug-menu-item-var "tweak" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-float
|
|
s4-1
|
|
(the-as
|
|
(function int debug-menu-msg float float float)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
|
|
(set! arg3 (cond
|
|
(*texture-page-dir*
|
|
(let* ((s4-0 (the-as texture-id (-> arg0 value)))
|
|
(gp-0 (lookup-texture-by-id (the-as texture-id s4-0)))
|
|
(v1-3 (-> *texture-page-dir* entries (-> s4-0 page) link))
|
|
)
|
|
(cond
|
|
((and gp-0 v1-3)
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(set! (-> gp-0 uv-dist) arg2)
|
|
(let ((s5-1 (the-as object (* (-> v1-3 next (-> s4-0 index) shader) 16))))
|
|
(while (nonzero? (the-as uint s5-1))
|
|
(adgif-shader-update! (the-as adgif-shader s5-1) gp-0)
|
|
(set! s5-1 (* (-> (the-as adgif-shader s5-1) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(-> gp-0 uv-dist)
|
|
)
|
|
(else
|
|
(empty)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
(empty)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
)
|
|
(the-as float 0.1)
|
|
#t
|
|
(the-as float 0.1)
|
|
(the-as float 30.0)
|
|
1
|
|
)
|
|
(debug-menu-append-item gp-0 s4-1)
|
|
)
|
|
(let ((a1-11 (new
|
|
'debug
|
|
'debug-menu-item-function
|
|
"all tweak+"
|
|
#f
|
|
(the-as
|
|
(function object object)
|
|
(lambda () (the-as object (all-texture-tweak-adjust *texture-page-dir* (the-as float 0.1))))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item gp-0 a1-11)
|
|
)
|
|
(let ((a1-13 (new
|
|
'debug
|
|
'debug-menu-item-function
|
|
"all tweak-"
|
|
#f
|
|
(the-as
|
|
(function object object)
|
|
(lambda () (the-as object (all-texture-tweak-adjust *texture-page-dir* (the-as float -0.1))))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item gp-0 a1-13)
|
|
)
|
|
(let ((s4-2 (new 'debug 'debug-menu-item-var "l" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-2
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex1 l) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex1 l)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
3
|
|
#f
|
|
)
|
|
(debug-menu-append-item gp-0 s4-2)
|
|
)
|
|
(let ((s4-3 (new 'debug 'debug-menu-item-var "k" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-3
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex1 k) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex1 k)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
-2048
|
|
2047
|
|
#f
|
|
)
|
|
(debug-menu-append-item gp-0 s4-3)
|
|
)
|
|
(let ((s4-4 (new 'debug 'debug-menu-item-var "mmin" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-4
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex1 mmin) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex1 mmin)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
5
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-4)
|
|
)
|
|
(let ((s4-5 (new 'debug 'debug-menu-item-var "mmag" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-5
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex1 mmag) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex1 mmag)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
1
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-5)
|
|
)
|
|
(let ((s4-6 (new 'debug 'debug-menu-item-var "lcm" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-6
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex1 lcm) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex1 lcm)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
1
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-6)
|
|
)
|
|
(let ((s4-7 (new 'debug 'debug-menu-item-var "tfx" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-7
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex0 tfx) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex0 tfx)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
3
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-7)
|
|
)
|
|
(let ((s4-8 (new 'debug 'debug-menu-item-var "tbp" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-8
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex0 tbp0) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex0 tbp0)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
#x4000
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-8)
|
|
)
|
|
(let ((s4-9 (new 'debug 'debug-menu-item-var "tbw" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-9
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex0 tbw) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex0 tbw)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
15
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-9)
|
|
)
|
|
(let ((s4-10 (new 'debug 'debug-menu-item-var "tw" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-10
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex0 tw) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex0 tw)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
10
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-10)
|
|
)
|
|
(let ((s4-11 (new 'debug 'debug-menu-item-var "th" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-11
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex0 th) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex0 th)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
10
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-11)
|
|
)
|
|
(let ((s4-12 (new 'debug 'debug-menu-item-var "mxl" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-12
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) tex1 mxl) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) tex1 mxl)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
6
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-12)
|
|
)
|
|
(let ((s4-13 (new 'debug 'debug-menu-item-var "wms" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-13
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) clamp wms) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) clamp wms)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
3
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-13)
|
|
)
|
|
(let ((s4-14 (new 'debug 'debug-menu-item-var "wmt" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-14
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) clamp wmt) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) clamp wmt)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
3
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-14)
|
|
)
|
|
(let ((s4-15 (new 'debug 'debug-menu-item-var "minu" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-15
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) clamp minu) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) clamp minu)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
511
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-15)
|
|
)
|
|
(let ((s4-16 (new 'debug 'debug-menu-item-var "maxu" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-16
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) clamp maxu) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) clamp maxu)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
511
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-16)
|
|
)
|
|
(let ((s4-17 (new 'debug 'debug-menu-item-var "minv" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-17
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) clamp minv) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) clamp minv)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
511
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-17)
|
|
)
|
|
(let ((s4-18 (new 'debug 'debug-menu-item-var "maxv" (the-as int '*edit-shader*) 80)))
|
|
(debug-menu-item-var-make-int
|
|
s4-18
|
|
(the-as
|
|
(function int debug-menu-msg int int int)
|
|
(lambda ((arg0 symbol) (arg1 debug-menu-msg) (arg2 int) (arg3 basic))
|
|
(cond
|
|
(*texture-page-dir*
|
|
(let* ((v1-1 (the-as texture-id (-> arg0 value)))
|
|
(a0-3 (-> *texture-page-dir* entries (-> v1-1 page) link))
|
|
)
|
|
(cond
|
|
(a0-3
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((a1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(while (nonzero? (the-as uint a1-8))
|
|
(set! (-> (the-as adgif-shader a1-8) clamp maxv) arg2)
|
|
(set! a1-8 (* (-> (the-as adgif-shader a1-8) next shader) 16))
|
|
)
|
|
)
|
|
)
|
|
(let ((v1-8 (the-as object (* (-> a0-3 next (-> v1-1 index) shader) 16))))
|
|
(if (nonzero? (the-as uint v1-8))
|
|
(-> (the-as adgif-shader v1-8) clamp maxv)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(else
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
1
|
|
#t
|
|
0
|
|
511
|
|
#t
|
|
)
|
|
(debug-menu-append-item gp-0 s4-18)
|
|
)
|
|
s5-0
|
|
)
|
|
)
|
|
|
|
(defun debug-menu-make-instance-menu ((arg0 debug-menu-context))
|
|
(let* ((gp-0 (new 'debug 'debug-menu arg0 "Instance menu"))
|
|
(s5-0 (new 'debug 'debug-menu-item-submenu "Instance" gp-0))
|
|
)
|
|
(let ((a3-3 (new 'debug 'debug-menu arg0 "Instance shrub menu")))
|
|
(set! *instance-shrub-menu* a3-3)
|
|
(let ((a1-4 (new 'debug 'debug-menu-item-submenu "Pick Shrub" a3-3)))
|
|
(debug-menu-append-item gp-0 a1-4)
|
|
)
|
|
)
|
|
(let ((a3-5 (new 'debug 'debug-menu arg0 "Instance tie menu")))
|
|
(set! *instance-tie-menu* a3-5)
|
|
(let ((a1-7 (new 'debug 'debug-menu-item-submenu "Pick Tie" a3-5)))
|
|
(debug-menu-append-item gp-0 a1-7)
|
|
)
|
|
)
|
|
(let ((a1-9
|
|
(new 'debug 'debug-menu-item-function "Refresh" #f (the-as (function object object) build-instance-list))
|
|
)
|
|
)
|
|
(debug-menu-append-item gp-0 a1-9)
|
|
)
|
|
(let ((s3-0 (new 'debug 'debug-menu-item-var "near" (the-as int '*edit-instance*) 80)))
|
|
(debug-menu-item-var-make-float
|
|
s3-0
|
|
(the-as
|
|
(function int debug-menu-msg float float float)
|
|
(lambda ((arg0 debug-menu) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
|
|
(let ((gp-0 (find-instance-by-name (-> arg0 name))))
|
|
(the-as object (cond
|
|
(gp-0
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(set! (-> gp-0 dists x) (* 4096.0 arg2))
|
|
(prototype-bucket-recalc-fields gp-0)
|
|
)
|
|
(* 0.00024414062 (-> gp-0 dists x))
|
|
)
|
|
(else
|
|
(empty)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(the-as float 1.0)
|
|
#t
|
|
(the-as float 10.0)
|
|
(the-as float 250.0)
|
|
1
|
|
)
|
|
(debug-menu-append-item gp-0 s3-0)
|
|
)
|
|
(let ((s3-1 (new 'debug 'debug-menu-item-var "far" (the-as int '*edit-instance*) 80)))
|
|
(debug-menu-item-var-make-float
|
|
s3-1
|
|
(the-as
|
|
(function int debug-menu-msg float float float)
|
|
(lambda ((arg0 debug-menu) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
|
|
(let ((gp-0 (find-instance-by-name (-> arg0 name))))
|
|
(the-as object (cond
|
|
(gp-0
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(set! (-> gp-0 dists w) (* 4096.0 arg2))
|
|
(prototype-bucket-recalc-fields gp-0)
|
|
)
|
|
(* 0.00024414062 (-> gp-0 dists w))
|
|
)
|
|
(else
|
|
(empty)
|
|
arg3
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(the-as float 1.0)
|
|
#t
|
|
(the-as float 10.0)
|
|
(the-as float 250.0)
|
|
1
|
|
)
|
|
(debug-menu-append-item gp-0 s3-1)
|
|
)
|
|
(let ((a1-17 (new 'debug 'debug-menu-item-flag "invisible" 1 dm-edit-instance-toggle-pick-func)))
|
|
(debug-menu-append-item gp-0 a1-17)
|
|
)
|
|
(let ((a3-13 (new 'debug 'debug-menu arg0 "Enable Instance Tie Menu")))
|
|
(set! *enable-instance-tie-menu* a3-13)
|
|
(let ((a1-20 (new 'debug 'debug-menu-item-submenu "Enable Tie" a3-13)))
|
|
(debug-menu-append-item gp-0 a1-20)
|
|
)
|
|
)
|
|
(let ((a1-22
|
|
(new 'debug 'debug-menu-item-flag "Instance Info" '*display-instance-info* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
(debug-menu-append-item gp-0 a1-22)
|
|
)
|
|
s5-0
|
|
)
|
|
)
|
|
|
|
(defun dm-task-unknown ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((gp-0 (/ arg0 8)))
|
|
(if (not (task-exists? (the-as game-task gp-0) (task-status unknown)))
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(close-specific-task! (the-as game-task gp-0) (task-status unknown))
|
|
)
|
|
(task-closed? (the-as game-task gp-0) (task-status unknown))
|
|
)
|
|
)
|
|
|
|
(defun dm-task-hint ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((gp-0 (/ arg0 8)))
|
|
(if (not (task-exists? (the-as game-task gp-0) (task-status need-hint)))
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(close-specific-task! (the-as game-task gp-0) (task-status need-hint))
|
|
)
|
|
(task-closed? (the-as game-task gp-0) (task-status need-hint))
|
|
)
|
|
)
|
|
|
|
(defun dm-task-introduction ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((gp-0 (/ arg0 8)))
|
|
(if (not (task-exists? (the-as game-task gp-0) (task-status need-introduction)))
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(close-specific-task! (the-as game-task gp-0) (task-status need-introduction))
|
|
)
|
|
(task-closed? (the-as game-task gp-0) (task-status need-introduction))
|
|
)
|
|
)
|
|
|
|
(defun dm-task-reminder-a ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((gp-0 (/ arg0 8)))
|
|
(if (not (task-exists? (the-as game-task gp-0) (task-status need-reminder-a)))
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(close-specific-task! (the-as game-task gp-0) (task-status need-reminder-a))
|
|
)
|
|
(task-closed? (the-as game-task gp-0) (task-status need-reminder-a))
|
|
)
|
|
)
|
|
|
|
(defun dm-task-reminder ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((gp-0 (/ arg0 8)))
|
|
(if (not (task-exists? (the-as game-task gp-0) (task-status need-reminder)))
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(close-specific-task! (the-as game-task gp-0) (task-status need-reminder))
|
|
)
|
|
(task-closed? (the-as game-task gp-0) (task-status need-reminder))
|
|
)
|
|
)
|
|
|
|
(defun dm-task-reward-speech ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((gp-0 (/ arg0 8)))
|
|
(if (not (task-exists? (the-as game-task gp-0) (task-status need-reward-speech)))
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(close-specific-task! (the-as game-task gp-0) (task-status need-reward-speech))
|
|
)
|
|
(task-closed? (the-as game-task gp-0) (task-status need-reward-speech))
|
|
)
|
|
)
|
|
|
|
(defun dm-task-resolution ((arg0 int) (arg1 debug-menu-msg))
|
|
(let ((gp-0 (/ arg0 8)))
|
|
(if (not (task-exists? (the-as game-task gp-0) (task-status need-resolution)))
|
|
(return 'invalid)
|
|
)
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(send-event *target* 'get-pickup 6 (the float gp-0))
|
|
(close-specific-task! (the-as game-task gp-0) (task-status need-resolution))
|
|
)
|
|
(task-closed? (the-as game-task gp-0) (task-status need-resolution))
|
|
)
|
|
)
|
|
|
|
(defun debug-menu-make-task-unknown-menu ((arg0 debug-menu) (arg1 debug-menu-context))
|
|
(debug-menu-append-item
|
|
arg0
|
|
(debug-menu-make-from-template arg1 '(menu
|
|
"unknown"
|
|
#f
|
|
#f
|
|
(flag "jungle-eggtop" 2 dm-task-unknown)
|
|
(flag "jungle-lurkerm" 3 dm-task-unknown)
|
|
(flag "jungle-tower" 4 dm-task-unknown)
|
|
(flag "jungle-fishgame" 5 dm-task-unknown)
|
|
(flag "jungle-plant" 6 dm-task-unknown)
|
|
(flag "jungle-buzzer" 7 dm-task-unknown)
|
|
(flag "jungle-canyon-end" 8 dm-task-unknown)
|
|
(flag "jungle-temple-door" 9 dm-task-unknown)
|
|
(flag "village1-yakow" 10 dm-task-unknown)
|
|
(flag "village1-mayor-money" 11 dm-task-unknown)
|
|
(flag "village1-uncle-money" 12 dm-task-unknown)
|
|
(flag "village1-oracle-money1" 13 dm-task-unknown)
|
|
(flag "village1-oracle-money2" 14 dm-task-unknown)
|
|
(flag "beach-ecorocks" 15 dm-task-unknown)
|
|
(flag "beach-pelican" 16 dm-task-unknown)
|
|
(flag "beach-flutflut" 17 dm-task-unknown)
|
|
(flag "beach-seagull" 18 dm-task-unknown)
|
|
(flag "beach-cannon" 19 dm-task-unknown)
|
|
(flag "beach-buzzer" 20 dm-task-unknown)
|
|
(flag "beach-gimmie" 21 dm-task-unknown)
|
|
(flag "beach-sentinel" 22 dm-task-unknown)
|
|
(flag "misty-muse" 23 dm-task-unknown)
|
|
(flag "misty-boat" 24 dm-task-unknown)
|
|
(flag "misty-warehouse" 25 dm-task-unknown)
|
|
(flag "misty-cannon" 26 dm-task-unknown)
|
|
(flag "misty-bike" 27 dm-task-unknown)
|
|
(flag "misty-buzzer" 28 dm-task-unknown)
|
|
(flag "misty-bike-jump" 29 dm-task-unknown)
|
|
(flag "misty-eco-challenge" 30 dm-task-unknown)
|
|
(flag "village2-gambler-money" 31 dm-task-unknown)
|
|
(flag "village2-geologist-money" 32 dm-task-unknown)
|
|
(flag "village2-warrior-money" 33 dm-task-unknown)
|
|
(flag "village2-oracle-money1" 34 dm-task-unknown)
|
|
(flag "village2-oracle-money2" 35 dm-task-unknown)
|
|
(flag "swamp-billy" 36 dm-task-unknown)
|
|
(flag "swamp-flutflut" 37 dm-task-unknown)
|
|
(flag "swamp-battle" 38 dm-task-unknown)
|
|
(flag "swamp-tether-1" 39 dm-task-unknown)
|
|
(flag "swamp-tether-2" 40 dm-task-unknown)
|
|
(flag "swamp-tether-3" 41 dm-task-unknown)
|
|
(flag "swamp-tether-4" 42 dm-task-unknown)
|
|
(flag "swamp-buzzer" 43 dm-task-unknown)
|
|
(flag "sunken-platforms" 44 dm-task-unknown)
|
|
(flag "sunken-pipe" 45 dm-task-unknown)
|
|
(flag "sunken-slide" 46 dm-task-unknown)
|
|
(flag "sunken-room" 47 dm-task-unknown)
|
|
(flag "sunken-sharks" 48 dm-task-unknown)
|
|
(flag "sunken-buzzer" 49 dm-task-unknown)
|
|
(flag "sunken-top-of-helix" 50 dm-task-unknown)
|
|
(flag "sunken-spinning-room" 51 dm-task-unknown)
|
|
(flag "rolling-race" 52 dm-task-unknown)
|
|
(flag "rolling-robbers" 53 dm-task-unknown)
|
|
(flag "rolling-moles" 54 dm-task-unknown)
|
|
(flag "rolling-plants" 55 dm-task-unknown)
|
|
(flag "rolling-lake" 56 dm-task-unknown)
|
|
(flag "rolling-buzzer" 57 dm-task-unknown)
|
|
(flag "rolling-ring-chase-1" 58 dm-task-unknown)
|
|
(flag "rolling-ring-chase-2" 59 dm-task-unknown)
|
|
(flag "snow-eggtop" 60 dm-task-unknown)
|
|
(flag "snow-ram" 61 dm-task-unknown)
|
|
(flag "snow-fort" 62 dm-task-unknown)
|
|
(flag "snow-ball" 63 dm-task-unknown)
|
|
(flag "snow-bunnies" 64 dm-task-unknown)
|
|
(flag "snow-buzzer" 65 dm-task-unknown)
|
|
(flag "snow-bumpers" 66 dm-task-unknown)
|
|
(flag "snow-cage" 67 dm-task-unknown)
|
|
(flag "firecanyon-buzzer" 68 dm-task-unknown)
|
|
(flag "firecanyon-end" 69 dm-task-unknown)
|
|
(flag "citadel-sage-green" 70 dm-task-unknown)
|
|
(flag "citadel-sage-blue" 71 dm-task-unknown)
|
|
(flag "citadel-sage-red" 72 dm-task-unknown)
|
|
(flag "citadel-sage-yellow" 73 dm-task-unknown)
|
|
(flag "village3-extra1" 74 dm-task-unknown)
|
|
(flag "village1-buzzer" 75 dm-task-unknown)
|
|
(flag "village2-buzzer" 76 dm-task-unknown)
|
|
(flag "village3-buzzer" 77 dm-task-unknown)
|
|
(flag "cave-gnawers" 78 dm-task-unknown)
|
|
(flag "cave-dark-crystals" 79 dm-task-unknown)
|
|
(flag "cave-dark-climb" 80 dm-task-unknown)
|
|
(flag "cave-robot-climb" 81 dm-task-unknown)
|
|
(flag "cave-swing-poles" 82 dm-task-unknown)
|
|
(flag "cave-spider-tunnel" 83 dm-task-unknown)
|
|
(flag "cave-platforms" 84 dm-task-unknown)
|
|
(flag "cave-buzzer" 85 dm-task-unknown)
|
|
(flag "ogre-boss" 86 dm-task-unknown)
|
|
(flag "ogre-end" 87 dm-task-unknown)
|
|
(flag "ogre-buzzer" 88 dm-task-unknown)
|
|
(flag "lavatube-end" 89 dm-task-unknown)
|
|
(flag "lavatube-buzzer" 90 dm-task-unknown)
|
|
(flag "citadel-buzzer" 91 dm-task-unknown)
|
|
(flag "training-gimmie" 92 dm-task-unknown)
|
|
(flag "training-door" 93 dm-task-unknown)
|
|
(flag "training-climb" 94 dm-task-unknown)
|
|
(flag "training-buzzer" 95 dm-task-unknown)
|
|
(flag "village3-miner-money1" 96 dm-task-unknown)
|
|
(flag "village3-miner-money2" 97 dm-task-unknown)
|
|
(flag "village3-miner-money3" 98 dm-task-unknown)
|
|
(flag "village3-miner-money4" 99 dm-task-unknown)
|
|
(flag "village3-oracle-money1" 100 dm-task-unknown)
|
|
(flag "village3-oracle-money2" 101 dm-task-unknown)
|
|
(flag "firecanyon-assistant" 102 dm-task-unknown)
|
|
(flag "village2-levitator" 103 dm-task-unknown)
|
|
(flag "swamp-arm" 104 dm-task-unknown)
|
|
(flag "village3-button" 105 dm-task-unknown)
|
|
(flag "red-eggtop" 106 dm-task-unknown)
|
|
(flag "lavatube-balls" 107 dm-task-unknown)
|
|
(flag "lavatube-start" 108 dm-task-unknown)
|
|
(flag "intro" 109 dm-task-unknown)
|
|
(flag "ogre-secret" 110 dm-task-unknown)
|
|
(flag "village4-button" 111 dm-task-unknown)
|
|
(flag "finalboss-movies" 112 dm-task-unknown)
|
|
(flag "plunger-lurker-hit" 113 dm-task-unknown)
|
|
(flag "leaving-misty" 114 dm-task-unknown)
|
|
(flag "assistant-village3" 115 dm-task-unknown)
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-task-need-hint-menu ((arg0 debug-menu) (arg1 debug-menu-context))
|
|
(debug-menu-append-item
|
|
arg0
|
|
(debug-menu-make-from-template arg1 '(menu
|
|
"need-hint"
|
|
#f
|
|
#f
|
|
(flag "jungle-eggtop" 2 dm-task-hint)
|
|
(flag "jungle-lurkerm" 3 dm-task-hint)
|
|
(flag "jungle-tower" 4 dm-task-hint)
|
|
(flag "jungle-fishgame" 5 dm-task-hint)
|
|
(flag "jungle-plant" 6 dm-task-hint)
|
|
(flag "jungle-buzzer" 7 dm-task-hint)
|
|
(flag "jungle-canyon-end" 8 dm-task-hint)
|
|
(flag "jungle-temple-door" 9 dm-task-hint)
|
|
(flag "village1-yakow" 10 dm-task-hint)
|
|
(flag "village1-mayor-money" 11 dm-task-hint)
|
|
(flag "village1-uncle-money" 12 dm-task-hint)
|
|
(flag "village1-oracle-money1" 13 dm-task-hint)
|
|
(flag "village1-oracle-money2" 14 dm-task-hint)
|
|
(flag "beach-ecorocks" 15 dm-task-hint)
|
|
(flag "beach-pelican" 16 dm-task-hint)
|
|
(flag "beach-flutflut" 17 dm-task-hint)
|
|
(flag "beach-seagull" 18 dm-task-hint)
|
|
(flag "beach-cannon" 19 dm-task-hint)
|
|
(flag "beach-buzzer" 20 dm-task-hint)
|
|
(flag "beach-gimmie" 21 dm-task-hint)
|
|
(flag "beach-sentinel" 22 dm-task-hint)
|
|
(flag "misty-muse" 23 dm-task-hint)
|
|
(flag "misty-boat" 24 dm-task-hint)
|
|
(flag "misty-warehouse" 25 dm-task-hint)
|
|
(flag "misty-cannon" 26 dm-task-hint)
|
|
(flag "misty-bike" 27 dm-task-hint)
|
|
(flag "misty-buzzer" 28 dm-task-hint)
|
|
(flag "misty-bike-jump" 29 dm-task-hint)
|
|
(flag "misty-eco-challenge" 30 dm-task-hint)
|
|
(flag "village2-gambler-money" 31 dm-task-hint)
|
|
(flag "village2-geologist-money" 32 dm-task-hint)
|
|
(flag "village2-warrior-money" 33 dm-task-hint)
|
|
(flag "village2-oracle-money1" 34 dm-task-hint)
|
|
(flag "village2-oracle-money2" 35 dm-task-hint)
|
|
(flag "swamp-billy" 36 dm-task-hint)
|
|
(flag "swamp-flutflut" 37 dm-task-hint)
|
|
(flag "swamp-battle" 38 dm-task-hint)
|
|
(flag "swamp-tether-1" 39 dm-task-hint)
|
|
(flag "swamp-tether-2" 40 dm-task-hint)
|
|
(flag "swamp-tether-3" 41 dm-task-hint)
|
|
(flag "swamp-tether-4" 42 dm-task-hint)
|
|
(flag "swamp-buzzer" 43 dm-task-hint)
|
|
(flag "sunken-platforms" 44 dm-task-hint)
|
|
(flag "sunken-pipe" 45 dm-task-hint)
|
|
(flag "sunken-slide" 46 dm-task-hint)
|
|
(flag "sunken-room" 47 dm-task-hint)
|
|
(flag "sunken-sharks" 48 dm-task-hint)
|
|
(flag "sunken-buzzer" 49 dm-task-hint)
|
|
(flag "sunken-top-of-helix" 50 dm-task-hint)
|
|
(flag "sunken-spinning-room" 51 dm-task-hint)
|
|
(flag "rolling-race" 52 dm-task-hint)
|
|
(flag "rolling-robbers" 53 dm-task-hint)
|
|
(flag "rolling-moles" 54 dm-task-hint)
|
|
(flag "rolling-plants" 55 dm-task-hint)
|
|
(flag "rolling-lake" 56 dm-task-hint)
|
|
(flag "rolling-buzzer" 57 dm-task-hint)
|
|
(flag "rolling-ring-chase-1" 58 dm-task-hint)
|
|
(flag "rolling-ring-chase-2" 59 dm-task-hint)
|
|
(flag "snow-eggtop" 60 dm-task-hint)
|
|
(flag "snow-ram" 61 dm-task-hint)
|
|
(flag "snow-fort" 62 dm-task-hint)
|
|
(flag "snow-ball" 63 dm-task-hint)
|
|
(flag "snow-bunnies" 64 dm-task-hint)
|
|
(flag "snow-buzzer" 65 dm-task-hint)
|
|
(flag "snow-bumpers" 66 dm-task-hint)
|
|
(flag "snow-cage" 67 dm-task-hint)
|
|
(flag "firecanyon-buzzer" 68 dm-task-hint)
|
|
(flag "firecanyon-end" 69 dm-task-hint)
|
|
(flag "citadel-sage-green" 70 dm-task-hint)
|
|
(flag "citadel-sage-blue" 71 dm-task-hint)
|
|
(flag "citadel-sage-red" 72 dm-task-hint)
|
|
(flag "citadel-sage-yellow" 73 dm-task-hint)
|
|
(flag "village3-extra1" 74 dm-task-hint)
|
|
(flag "village1-buzzer" 75 dm-task-hint)
|
|
(flag "village2-buzzer" 76 dm-task-hint)
|
|
(flag "village3-buzzer" 77 dm-task-hint)
|
|
(flag "cave-gnawers" 78 dm-task-hint)
|
|
(flag "cave-dark-crystals" 79 dm-task-hint)
|
|
(flag "cave-dark-climb" 80 dm-task-hint)
|
|
(flag "cave-robot-climb" 81 dm-task-hint)
|
|
(flag "cave-swing-poles" 82 dm-task-hint)
|
|
(flag "cave-spider-tunnel" 83 dm-task-hint)
|
|
(flag "cave-platforms" 84 dm-task-hint)
|
|
(flag "cave-buzzer" 85 dm-task-hint)
|
|
(flag "ogre-boss" 86 dm-task-hint)
|
|
(flag "ogre-end" 87 dm-task-hint)
|
|
(flag "ogre-buzzer" 88 dm-task-hint)
|
|
(flag "lavatube-end" 89 dm-task-hint)
|
|
(flag "lavatube-buzzer" 90 dm-task-hint)
|
|
(flag "citadel-buzzer" 91 dm-task-hint)
|
|
(flag "training-gimmie" 92 dm-task-hint)
|
|
(flag "training-door" 93 dm-task-hint)
|
|
(flag "training-climb" 94 dm-task-hint)
|
|
(flag "training-buzzer" 95 dm-task-hint)
|
|
(flag "village3-miner-money1" 96 dm-task-hint)
|
|
(flag "village3-miner-money2" 97 dm-task-hint)
|
|
(flag "village3-miner-money3" 98 dm-task-hint)
|
|
(flag "village3-miner-money4" 99 dm-task-hint)
|
|
(flag "village3-oracle-money1" 100 dm-task-hint)
|
|
(flag "village3-oracle-money2" 101 dm-task-hint)
|
|
(flag "firecanyon-assistant" 102 dm-task-hint)
|
|
(flag "village2-levitator" 103 dm-task-hint)
|
|
(flag "swamp-arm" 104 dm-task-hint)
|
|
(flag "village3-button" 105 dm-task-hint)
|
|
(flag "red-eggtop" 106 dm-task-hint)
|
|
(flag "lavatube-balls" 107 dm-task-hint)
|
|
(flag "lavatube-start" 108 dm-task-hint)
|
|
(flag "intro" 109 dm-task-hint)
|
|
(flag "ogre-secret" 110 dm-task-hint)
|
|
(flag "village4-button" 111 dm-task-hint)
|
|
(flag "finalboss-movies" 112 dm-task-hint)
|
|
(flag "plunger-lurker-hit" 113 dm-task-hint)
|
|
(flag "leaving-misty" 114 dm-task-hint)
|
|
(flag "assistant-village3" 115 dm-task-hint)
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-task-need-introduction-menu ((arg0 debug-menu) (arg1 debug-menu-context))
|
|
(debug-menu-append-item
|
|
arg0
|
|
(debug-menu-make-from-template arg1 '(menu
|
|
"need-introduction"
|
|
#f
|
|
#f
|
|
(flag "jungle-eggtop" 2 dm-task-introduction)
|
|
(flag "jungle-lurkerm" 3 dm-task-introduction)
|
|
(flag "jungle-tower" 4 dm-task-introduction)
|
|
(flag "jungle-fishgame" 5 dm-task-introduction)
|
|
(flag "jungle-plant" 6 dm-task-introduction)
|
|
(flag "jungle-buzzer" 7 dm-task-introduction)
|
|
(flag "jungle-canyon-end" 8 dm-task-introduction)
|
|
(flag "jungle-temple-door" 9 dm-task-introduction)
|
|
(flag "village1-yakow" 10 dm-task-introduction)
|
|
(flag "village1-mayor-money" 11 dm-task-introduction)
|
|
(flag "village1-uncle-money" 12 dm-task-introduction)
|
|
(flag "village1-oracle-money1" 13 dm-task-introduction)
|
|
(flag "village1-oracle-money2" 14 dm-task-introduction)
|
|
(flag "beach-ecorocks" 15 dm-task-introduction)
|
|
(flag "beach-pelican" 16 dm-task-introduction)
|
|
(flag "beach-flutflut" 17 dm-task-introduction)
|
|
(flag "beach-seagull" 18 dm-task-introduction)
|
|
(flag "beach-cannon" 19 dm-task-introduction)
|
|
(flag "beach-buzzer" 20 dm-task-introduction)
|
|
(flag "beach-gimmie" 21 dm-task-introduction)
|
|
(flag "beach-sentinel" 22 dm-task-introduction)
|
|
(flag "misty-muse" 23 dm-task-introduction)
|
|
(flag "misty-boat" 24 dm-task-introduction)
|
|
(flag "misty-warehouse" 25 dm-task-introduction)
|
|
(flag "misty-cannon" 26 dm-task-introduction)
|
|
(flag "misty-bike" 27 dm-task-introduction)
|
|
(flag "misty-buzzer" 28 dm-task-introduction)
|
|
(flag "misty-bike-jump" 29 dm-task-introduction)
|
|
(flag "misty-eco-challenge" 30 dm-task-introduction)
|
|
(flag "village2-gambler-money" 31 dm-task-introduction)
|
|
(flag "village2-geologist-money" 32 dm-task-introduction)
|
|
(flag "village2-warrior-money" 33 dm-task-introduction)
|
|
(flag "village2-oracle-money1" 34 dm-task-introduction)
|
|
(flag "village2-oracle-money2" 35 dm-task-introduction)
|
|
(flag "swamp-billy" 36 dm-task-introduction)
|
|
(flag "swamp-flutflut" 37 dm-task-introduction)
|
|
(flag "swamp-battle" 38 dm-task-introduction)
|
|
(flag "swamp-tether-1" 39 dm-task-introduction)
|
|
(flag "swamp-tether-2" 40 dm-task-introduction)
|
|
(flag "swamp-tether-3" 41 dm-task-introduction)
|
|
(flag "swamp-tether-4" 42 dm-task-introduction)
|
|
(flag "swamp-buzzer" 43 dm-task-introduction)
|
|
(flag "sunken-platforms" 44 dm-task-introduction)
|
|
(flag "sunken-pipe" 45 dm-task-introduction)
|
|
(flag "sunken-slide" 46 dm-task-introduction)
|
|
(flag "sunken-room" 47 dm-task-introduction)
|
|
(flag "sunken-sharks" 48 dm-task-introduction)
|
|
(flag "sunken-buzzer" 49 dm-task-introduction)
|
|
(flag "sunken-top-of-helix" 50 dm-task-introduction)
|
|
(flag "sunken-spinning-room" 51 dm-task-introduction)
|
|
(flag "rolling-race" 52 dm-task-introduction)
|
|
(flag "rolling-robbers" 53 dm-task-introduction)
|
|
(flag "rolling-moles" 54 dm-task-introduction)
|
|
(flag "rolling-plants" 55 dm-task-introduction)
|
|
(flag "rolling-lake" 56 dm-task-introduction)
|
|
(flag "rolling-buzzer" 57 dm-task-introduction)
|
|
(flag "rolling-ring-chase-1" 58 dm-task-introduction)
|
|
(flag "rolling-ring-chase-2" 59 dm-task-introduction)
|
|
(flag "snow-eggtop" 60 dm-task-introduction)
|
|
(flag "snow-ram" 61 dm-task-introduction)
|
|
(flag "snow-fort" 62 dm-task-introduction)
|
|
(flag "snow-ball" 63 dm-task-introduction)
|
|
(flag "snow-bunnies" 64 dm-task-introduction)
|
|
(flag "snow-buzzer" 65 dm-task-introduction)
|
|
(flag "snow-bumpers" 66 dm-task-introduction)
|
|
(flag "snow-cage" 67 dm-task-introduction)
|
|
(flag "firecanyon-buzzer" 68 dm-task-introduction)
|
|
(flag "firecanyon-end" 69 dm-task-introduction)
|
|
(flag "citadel-sage-green" 70 dm-task-introduction)
|
|
(flag "citadel-sage-blue" 71 dm-task-introduction)
|
|
(flag "citadel-sage-red" 72 dm-task-introduction)
|
|
(flag "citadel-sage-yellow" 73 dm-task-introduction)
|
|
(flag "village3-extra1" 74 dm-task-introduction)
|
|
(flag "village1-buzzer" 75 dm-task-introduction)
|
|
(flag "village2-buzzer" 76 dm-task-introduction)
|
|
(flag "village3-buzzer" 77 dm-task-introduction)
|
|
(flag "cave-gnawers" 78 dm-task-introduction)
|
|
(flag "cave-dark-crystals" 79 dm-task-introduction)
|
|
(flag "cave-dark-climb" 80 dm-task-introduction)
|
|
(flag "cave-robot-climb" 81 dm-task-introduction)
|
|
(flag "cave-swing-poles" 82 dm-task-introduction)
|
|
(flag "cave-spider-tunnel" 83 dm-task-introduction)
|
|
(flag "cave-platforms" 84 dm-task-introduction)
|
|
(flag "cave-buzzer" 85 dm-task-introduction)
|
|
(flag "ogre-boss" 86 dm-task-introduction)
|
|
(flag "ogre-end" 87 dm-task-introduction)
|
|
(flag "ogre-buzzer" 88 dm-task-introduction)
|
|
(flag "lavatube-end" 89 dm-task-introduction)
|
|
(flag "lavatube-buzzer" 90 dm-task-introduction)
|
|
(flag "citadel-buzzer" 91 dm-task-introduction)
|
|
(flag "training-gimmie" 92 dm-task-introduction)
|
|
(flag "training-door" 93 dm-task-introduction)
|
|
(flag "training-climb" 94 dm-task-introduction)
|
|
(flag "training-buzzer" 95 dm-task-introduction)
|
|
(flag "village3-miner-money1" 96 dm-task-introduction)
|
|
(flag "village3-miner-money2" 97 dm-task-introduction)
|
|
(flag "village3-miner-money3" 98 dm-task-introduction)
|
|
(flag "village3-miner-money4" 99 dm-task-introduction)
|
|
(flag "village3-oracle-money1" 100 dm-task-introduction)
|
|
(flag "village3-oracle-money2" 101 dm-task-introduction)
|
|
(flag "firecanyon-assistant" 102 dm-task-introduction)
|
|
(flag "village2-levitator" 103 dm-task-introduction)
|
|
(flag "swamp-arm" 104 dm-task-introduction)
|
|
(flag "village3-button" 105 dm-task-introduction)
|
|
(flag "red-eggtop" 106 dm-task-introduction)
|
|
(flag "lavatube-balls" 107 dm-task-introduction)
|
|
(flag "lavatube-start" 108 dm-task-introduction)
|
|
(flag "intro" 109 dm-task-introduction)
|
|
(flag "ogre-secret" 110 dm-task-introduction)
|
|
(flag "village4-button" 111 dm-task-introduction)
|
|
(flag "finalboss-movies" 112 dm-task-introduction)
|
|
(flag "plunger-lurker-hit" 113 dm-task-introduction)
|
|
(flag "leaving-misty" 114 dm-task-introduction)
|
|
(flag "assistant-village3" 115 dm-task-introduction)
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-task-need-reminder-a-menu ((arg0 debug-menu) (arg1 debug-menu-context))
|
|
(debug-menu-append-item
|
|
arg0
|
|
(debug-menu-make-from-template arg1 '(menu
|
|
"need-reminder-a"
|
|
#f
|
|
#f
|
|
(flag "jungle-eggtop" 2 dm-task-reminder-a)
|
|
(flag "jungle-lurkerm" 3 dm-task-reminder-a)
|
|
(flag "jungle-tower" 4 dm-task-reminder-a)
|
|
(flag "jungle-fishgame" 5 dm-task-reminder-a)
|
|
(flag "jungle-plant" 6 dm-task-reminder-a)
|
|
(flag "jungle-buzzer" 7 dm-task-reminder-a)
|
|
(flag "jungle-canyon-end" 8 dm-task-reminder-a)
|
|
(flag "jungle-temple-door" 9 dm-task-reminder-a)
|
|
(flag "village1-yakow" 10 dm-task-reminder-a)
|
|
(flag "village1-mayor-money" 11 dm-task-reminder-a)
|
|
(flag "village1-uncle-money" 12 dm-task-reminder-a)
|
|
(flag "village1-oracle-money1" 13 dm-task-reminder-a)
|
|
(flag "village1-oracle-money2" 14 dm-task-reminder-a)
|
|
(flag "beach-ecorocks" 15 dm-task-reminder-a)
|
|
(flag "beach-pelican" 16 dm-task-reminder-a)
|
|
(flag "beach-flutflut" 17 dm-task-reminder-a)
|
|
(flag "beach-seagull" 18 dm-task-reminder-a)
|
|
(flag "beach-cannon" 19 dm-task-reminder-a)
|
|
(flag "beach-buzzer" 20 dm-task-reminder-a)
|
|
(flag "beach-gimmie" 21 dm-task-reminder-a)
|
|
(flag "beach-sentinel" 22 dm-task-reminder-a)
|
|
(flag "misty-muse" 23 dm-task-reminder-a)
|
|
(flag "misty-boat" 24 dm-task-reminder-a)
|
|
(flag "misty-warehouse" 25 dm-task-reminder-a)
|
|
(flag "misty-cannon" 26 dm-task-reminder-a)
|
|
(flag "misty-bike" 27 dm-task-reminder-a)
|
|
(flag "misty-buzzer" 28 dm-task-reminder-a)
|
|
(flag "misty-bike-jump" 29 dm-task-reminder-a)
|
|
(flag "misty-eco-challenge" 30 dm-task-reminder-a)
|
|
(flag "village2-gambler-money" 31 dm-task-reminder-a)
|
|
(flag "village2-geologist-money" 32 dm-task-reminder-a)
|
|
(flag "village2-warrior-money" 33 dm-task-reminder-a)
|
|
(flag "village2-oracle-money1" 34 dm-task-reminder-a)
|
|
(flag "village2-oracle-money2" 35 dm-task-reminder-a)
|
|
(flag "swamp-billy" 36 dm-task-reminder-a)
|
|
(flag "swamp-flutflut" 37 dm-task-reminder-a)
|
|
(flag "swamp-battle" 38 dm-task-reminder-a)
|
|
(flag "swamp-tether-1" 39 dm-task-reminder-a)
|
|
(flag "swamp-tether-2" 40 dm-task-reminder-a)
|
|
(flag "swamp-tether-3" 41 dm-task-reminder-a)
|
|
(flag "swamp-tether-4" 42 dm-task-reminder-a)
|
|
(flag "swamp-buzzer" 43 dm-task-reminder-a)
|
|
(flag "sunken-platforms" 44 dm-task-reminder-a)
|
|
(flag "sunken-pipe" 45 dm-task-reminder-a)
|
|
(flag "sunken-slide" 46 dm-task-reminder-a)
|
|
(flag "sunken-room" 47 dm-task-reminder-a)
|
|
(flag "sunken-sharks" 48 dm-task-reminder-a)
|
|
(flag "sunken-buzzer" 49 dm-task-reminder-a)
|
|
(flag "sunken-top-of-helix" 50 dm-task-reminder-a)
|
|
(flag "sunken-spinning-room" 51 dm-task-reminder-a)
|
|
(flag "rolling-race" 52 dm-task-reminder-a)
|
|
(flag "rolling-robbers" 53 dm-task-reminder-a)
|
|
(flag "rolling-moles" 54 dm-task-reminder-a)
|
|
(flag "rolling-plants" 55 dm-task-reminder-a)
|
|
(flag "rolling-lake" 56 dm-task-reminder-a)
|
|
(flag "rolling-buzzer" 57 dm-task-reminder-a)
|
|
(flag "rolling-ring-chase-1" 58 dm-task-reminder-a)
|
|
(flag "rolling-ring-chase-2" 59 dm-task-reminder-a)
|
|
(flag "snow-eggtop" 60 dm-task-reminder-a)
|
|
(flag "snow-ram" 61 dm-task-reminder-a)
|
|
(flag "snow-fort" 62 dm-task-reminder-a)
|
|
(flag "snow-ball" 63 dm-task-reminder-a)
|
|
(flag "snow-bunnies" 64 dm-task-reminder-a)
|
|
(flag "snow-buzzer" 65 dm-task-reminder-a)
|
|
(flag "snow-bumpers" 66 dm-task-reminder-a)
|
|
(flag "snow-cage" 67 dm-task-reminder-a)
|
|
(flag "firecanyon-buzzer" 68 dm-task-reminder-a)
|
|
(flag "firecanyon-end" 69 dm-task-reminder-a)
|
|
(flag "citadel-sage-green" 70 dm-task-reminder-a)
|
|
(flag "citadel-sage-blue" 71 dm-task-reminder-a)
|
|
(flag "citadel-sage-red" 72 dm-task-reminder-a)
|
|
(flag "citadel-sage-yellow" 73 dm-task-reminder-a)
|
|
(flag "village3-extra1" 74 dm-task-reminder-a)
|
|
(flag "village1-buzzer" 75 dm-task-reminder-a)
|
|
(flag "village2-buzzer" 76 dm-task-reminder-a)
|
|
(flag "village3-buzzer" 77 dm-task-reminder-a)
|
|
(flag "cave-gnawers" 78 dm-task-reminder-a)
|
|
(flag "cave-dark-crystals" 79 dm-task-reminder-a)
|
|
(flag "cave-dark-climb" 80 dm-task-reminder-a)
|
|
(flag "cave-robot-climb" 81 dm-task-reminder-a)
|
|
(flag "cave-swing-poles" 82 dm-task-reminder-a)
|
|
(flag "cave-spider-tunnel" 83 dm-task-reminder-a)
|
|
(flag "cave-platforms" 84 dm-task-reminder-a)
|
|
(flag "cave-buzzer" 85 dm-task-reminder-a)
|
|
(flag "ogre-boss" 86 dm-task-reminder-a)
|
|
(flag "ogre-end" 87 dm-task-reminder-a)
|
|
(flag "ogre-buzzer" 88 dm-task-reminder-a)
|
|
(flag "lavatube-end" 89 dm-task-reminder-a)
|
|
(flag "lavatube-buzzer" 90 dm-task-reminder-a)
|
|
(flag "citadel-buzzer" 91 dm-task-reminder-a)
|
|
(flag "training-gimmie" 92 dm-task-reminder-a)
|
|
(flag "training-door" 93 dm-task-reminder-a)
|
|
(flag "training-climb" 94 dm-task-reminder-a)
|
|
(flag "training-buzzer" 95 dm-task-reminder-a)
|
|
(flag "village3-miner-money1" 96 dm-task-reminder-a)
|
|
(flag "village3-miner-money2" 97 dm-task-reminder-a)
|
|
(flag "village3-miner-money3" 98 dm-task-reminder-a)
|
|
(flag "village3-miner-money4" 99 dm-task-reminder-a)
|
|
(flag "village3-oracle-money1" 100 dm-task-reminder-a)
|
|
(flag "village3-oracle-money2" 101 dm-task-reminder-a)
|
|
(flag "firecanyon-assistant" 102 dm-task-reminder-a)
|
|
(flag "village2-levitator" 103 dm-task-reminder-a)
|
|
(flag "swamp-arm" 104 dm-task-reminder-a)
|
|
(flag "village3-button" 105 dm-task-reminder-a)
|
|
(flag "red-eggtop" 106 dm-task-reminder-a)
|
|
(flag "lavatube-balls" 107 dm-task-reminder-a)
|
|
(flag "lavatube-start" 108 dm-task-reminder-a)
|
|
(flag "intro" 109 dm-task-reminder-a)
|
|
(flag "ogre-secret" 110 dm-task-reminder-a)
|
|
(flag "village4-button" 111 dm-task-reminder-a)
|
|
(flag "finalboss-movies" 112 dm-task-reminder-a)
|
|
(flag "plunger-lurker-hit" 113 dm-task-reminder-a)
|
|
(flag "leaving-misty" 114 dm-task-reminder-a)
|
|
(flag "assistant-village3" 115 dm-task-reminder-a)
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-task-need-reminder-menu ((arg0 debug-menu) (arg1 debug-menu-context))
|
|
(debug-menu-append-item
|
|
arg0
|
|
(debug-menu-make-from-template arg1 '(menu
|
|
"need-reminder"
|
|
#f
|
|
#f
|
|
(flag "jungle-eggtop" 2 dm-task-reminder)
|
|
(flag "jungle-lurkerm" 3 dm-task-reminder)
|
|
(flag "jungle-tower" 4 dm-task-reminder)
|
|
(flag "jungle-fishgame" 5 dm-task-reminder)
|
|
(flag "jungle-plant" 6 dm-task-reminder)
|
|
(flag "jungle-buzzer" 7 dm-task-reminder)
|
|
(flag "jungle-canyon-end" 8 dm-task-reminder)
|
|
(flag "jungle-temple-door" 9 dm-task-reminder)
|
|
(flag "village1-yakow" 10 dm-task-reminder)
|
|
(flag "village1-mayor-money" 11 dm-task-reminder)
|
|
(flag "village1-uncle-money" 12 dm-task-reminder)
|
|
(flag "village1-oracle-money1" 13 dm-task-reminder)
|
|
(flag "village1-oracle-money2" 14 dm-task-reminder)
|
|
(flag "beach-ecorocks" 15 dm-task-reminder)
|
|
(flag "beach-pelican" 16 dm-task-reminder)
|
|
(flag "beach-flutflut" 17 dm-task-reminder)
|
|
(flag "beach-seagull" 18 dm-task-reminder)
|
|
(flag "beach-cannon" 19 dm-task-reminder)
|
|
(flag "beach-buzzer" 20 dm-task-reminder)
|
|
(flag "beach-gimmie" 21 dm-task-reminder)
|
|
(flag "beach-sentinel" 22 dm-task-reminder)
|
|
(flag "misty-muse" 23 dm-task-reminder)
|
|
(flag "misty-boat" 24 dm-task-reminder)
|
|
(flag "misty-warehouse" 25 dm-task-reminder)
|
|
(flag "misty-cannon" 26 dm-task-reminder)
|
|
(flag "misty-bike" 27 dm-task-reminder)
|
|
(flag "misty-buzzer" 28 dm-task-reminder)
|
|
(flag "misty-bike-jump" 29 dm-task-reminder)
|
|
(flag "misty-eco-challenge" 30 dm-task-reminder)
|
|
(flag "village2-gambler-money" 31 dm-task-reminder)
|
|
(flag "village2-geologist-money" 32 dm-task-reminder)
|
|
(flag "village2-warrior-money" 33 dm-task-reminder)
|
|
(flag "village2-oracle-money1" 34 dm-task-reminder)
|
|
(flag "village2-oracle-money2" 35 dm-task-reminder)
|
|
(flag "swamp-billy" 36 dm-task-reminder)
|
|
(flag "swamp-flutflut" 37 dm-task-reminder)
|
|
(flag "swamp-battle" 38 dm-task-reminder)
|
|
(flag "swamp-tether-1" 39 dm-task-reminder)
|
|
(flag "swamp-tether-2" 40 dm-task-reminder)
|
|
(flag "swamp-tether-3" 41 dm-task-reminder)
|
|
(flag "swamp-tether-4" 42 dm-task-reminder)
|
|
(flag "swamp-buzzer" 43 dm-task-reminder)
|
|
(flag "sunken-platforms" 44 dm-task-reminder)
|
|
(flag "sunken-pipe" 45 dm-task-reminder)
|
|
(flag "sunken-slide" 46 dm-task-reminder)
|
|
(flag "sunken-room" 47 dm-task-reminder)
|
|
(flag "sunken-sharks" 48 dm-task-reminder)
|
|
(flag "sunken-buzzer" 49 dm-task-reminder)
|
|
(flag "sunken-top-of-helix" 50 dm-task-reminder)
|
|
(flag "sunken-spinning-room" 51 dm-task-reminder)
|
|
(flag "rolling-race" 52 dm-task-reminder)
|
|
(flag "rolling-robbers" 53 dm-task-reminder)
|
|
(flag "rolling-moles" 54 dm-task-reminder)
|
|
(flag "rolling-plants" 55 dm-task-reminder)
|
|
(flag "rolling-lake" 56 dm-task-reminder)
|
|
(flag "rolling-buzzer" 57 dm-task-reminder)
|
|
(flag "rolling-ring-chase-1" 58 dm-task-reminder)
|
|
(flag "rolling-ring-chase-2" 59 dm-task-reminder)
|
|
(flag "snow-eggtop" 60 dm-task-reminder)
|
|
(flag "snow-ram" 61 dm-task-reminder)
|
|
(flag "snow-fort" 62 dm-task-reminder)
|
|
(flag "snow-ball" 63 dm-task-reminder)
|
|
(flag "snow-bunnies" 64 dm-task-reminder)
|
|
(flag "snow-buzzer" 65 dm-task-reminder)
|
|
(flag "snow-bumpers" 66 dm-task-reminder)
|
|
(flag "snow-cage" 67 dm-task-reminder)
|
|
(flag "firecanyon-buzzer" 68 dm-task-reminder)
|
|
(flag "firecanyon-end" 69 dm-task-reminder)
|
|
(flag "citadel-sage-green" 70 dm-task-reminder)
|
|
(flag "citadel-sage-blue" 71 dm-task-reminder)
|
|
(flag "citadel-sage-red" 72 dm-task-reminder)
|
|
(flag "citadel-sage-yellow" 73 dm-task-reminder)
|
|
(flag "village3-extra1" 74 dm-task-reminder)
|
|
(flag "village1-buzzer" 75 dm-task-reminder)
|
|
(flag "village2-buzzer" 76 dm-task-reminder)
|
|
(flag "village3-buzzer" 77 dm-task-reminder)
|
|
(flag "cave-gnawers" 78 dm-task-reminder)
|
|
(flag "cave-dark-crystals" 79 dm-task-reminder)
|
|
(flag "cave-dark-climb" 80 dm-task-reminder)
|
|
(flag "cave-robot-climb" 81 dm-task-reminder)
|
|
(flag "cave-swing-poles" 82 dm-task-reminder)
|
|
(flag "cave-spider-tunnel" 83 dm-task-reminder)
|
|
(flag "cave-platforms" 84 dm-task-reminder)
|
|
(flag "cave-buzzer" 85 dm-task-reminder)
|
|
(flag "ogre-boss" 86 dm-task-reminder)
|
|
(flag "ogre-end" 87 dm-task-reminder)
|
|
(flag "ogre-buzzer" 88 dm-task-reminder)
|
|
(flag "lavatube-end" 89 dm-task-reminder)
|
|
(flag "lavatube-buzzer" 90 dm-task-reminder)
|
|
(flag "citadel-buzzer" 91 dm-task-reminder)
|
|
(flag "training-gimmie" 92 dm-task-reminder)
|
|
(flag "training-door" 93 dm-task-reminder)
|
|
(flag "training-climb" 94 dm-task-reminder)
|
|
(flag "training-buzzer" 95 dm-task-reminder)
|
|
(flag "village3-miner-money1" 96 dm-task-reminder)
|
|
(flag "village3-miner-money2" 97 dm-task-reminder)
|
|
(flag "village3-miner-money3" 98 dm-task-reminder)
|
|
(flag "village3-miner-money4" 99 dm-task-reminder)
|
|
(flag "village3-oracle-money1" 100 dm-task-reminder)
|
|
(flag "village3-oracle-money2" 101 dm-task-reminder)
|
|
(flag "firecanyon-assistant" 102 dm-task-reminder)
|
|
(flag "village2-levitator" 103 dm-task-reminder)
|
|
(flag "swamp-arm" 104 dm-task-reminder)
|
|
(flag "village3-button" 105 dm-task-reminder)
|
|
(flag "red-eggtop" 106 dm-task-reminder)
|
|
(flag "lavatube-balls" 107 dm-task-reminder)
|
|
(flag "lavatube-start" 108 dm-task-reminder)
|
|
(flag "intro" 109 dm-task-reminder)
|
|
(flag "ogre-secret" 110 dm-task-reminder)
|
|
(flag "village4-button" 111 dm-task-reminder)
|
|
(flag "finalboss-movies" 112 dm-task-reminder)
|
|
(flag "plunger-lurker-hit" 113 dm-task-reminder)
|
|
(flag "leaving-misty" 114 dm-task-reminder)
|
|
(flag "assistant-village3" 115 dm-task-reminder)
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-task-need-reward-speech-menu ((arg0 debug-menu) (arg1 debug-menu-context))
|
|
(debug-menu-append-item
|
|
arg0
|
|
(debug-menu-make-from-template arg1 '(menu
|
|
"need-reward-speech"
|
|
#f
|
|
#f
|
|
(flag "jungle-eggtop" 2 dm-task-reward-speech)
|
|
(flag "jungle-lurkerm" 3 dm-task-reward-speech)
|
|
(flag "jungle-tower" 4 dm-task-reward-speech)
|
|
(flag "jungle-fishgame" 5 dm-task-reward-speech)
|
|
(flag "jungle-plant" 6 dm-task-reward-speech)
|
|
(flag "jungle-buzzer" 7 dm-task-reward-speech)
|
|
(flag "jungle-canyon-end" 8 dm-task-reward-speech)
|
|
(flag "jungle-temple-door" 9 dm-task-reward-speech)
|
|
(flag "village1-yakow" 10 dm-task-reward-speech)
|
|
(flag "village1-mayor-money" 11 dm-task-reward-speech)
|
|
(flag "village1-uncle-money" 12 dm-task-reward-speech)
|
|
(flag "village1-oracle-money1" 13 dm-task-reward-speech)
|
|
(flag "village1-oracle-money2" 14 dm-task-reward-speech)
|
|
(flag "beach-ecorocks" 15 dm-task-reward-speech)
|
|
(flag "beach-pelican" 16 dm-task-reward-speech)
|
|
(flag "beach-flutflut" 17 dm-task-reward-speech)
|
|
(flag "beach-seagull" 18 dm-task-reward-speech)
|
|
(flag "beach-cannon" 19 dm-task-reward-speech)
|
|
(flag "beach-buzzer" 20 dm-task-reward-speech)
|
|
(flag "beach-gimmie" 21 dm-task-reward-speech)
|
|
(flag "beach-sentinel" 22 dm-task-reward-speech)
|
|
(flag "misty-muse" 23 dm-task-reward-speech)
|
|
(flag "misty-boat" 24 dm-task-reward-speech)
|
|
(flag "misty-warehouse" 25 dm-task-reward-speech)
|
|
(flag "misty-cannon" 26 dm-task-reward-speech)
|
|
(flag "misty-bike" 27 dm-task-reward-speech)
|
|
(flag "misty-buzzer" 28 dm-task-reward-speech)
|
|
(flag "misty-bike-jump" 29 dm-task-reward-speech)
|
|
(flag "misty-eco-challenge" 30 dm-task-reward-speech)
|
|
(flag "village2-gambler-money" 31 dm-task-reward-speech)
|
|
(flag "village2-geologist-money" 32 dm-task-reward-speech)
|
|
(flag "village2-warrior-money" 33 dm-task-reward-speech)
|
|
(flag "village2-oracle-money1" 34 dm-task-reward-speech)
|
|
(flag "village2-oracle-money2" 35 dm-task-reward-speech)
|
|
(flag "swamp-billy" 36 dm-task-reward-speech)
|
|
(flag "swamp-flutflut" 37 dm-task-reward-speech)
|
|
(flag "swamp-battle" 38 dm-task-reward-speech)
|
|
(flag "swamp-tether-1" 39 dm-task-reward-speech)
|
|
(flag "swamp-tether-2" 40 dm-task-reward-speech)
|
|
(flag "swamp-tether-3" 41 dm-task-reward-speech)
|
|
(flag "swamp-tether-4" 42 dm-task-reward-speech)
|
|
(flag "swamp-buzzer" 43 dm-task-reward-speech)
|
|
(flag "sunken-platforms" 44 dm-task-reward-speech)
|
|
(flag "sunken-pipe" 45 dm-task-reward-speech)
|
|
(flag "sunken-slide" 46 dm-task-reward-speech)
|
|
(flag "sunken-room" 47 dm-task-reward-speech)
|
|
(flag "sunken-sharks" 48 dm-task-reward-speech)
|
|
(flag "sunken-buzzer" 49 dm-task-reward-speech)
|
|
(flag "sunken-top-of-helix" 50 dm-task-reward-speech)
|
|
(flag "sunken-spinning-room" 51 dm-task-reward-speech)
|
|
(flag "rolling-race" 52 dm-task-reward-speech)
|
|
(flag "rolling-robbers" 53 dm-task-reward-speech)
|
|
(flag "rolling-moles" 54 dm-task-reward-speech)
|
|
(flag "rolling-plants" 55 dm-task-reward-speech)
|
|
(flag "rolling-lake" 56 dm-task-reward-speech)
|
|
(flag "rolling-buzzer" 57 dm-task-reward-speech)
|
|
(flag "rolling-ring-chase-1" 58 dm-task-reward-speech)
|
|
(flag "rolling-ring-chase-2" 59 dm-task-reward-speech)
|
|
(flag "snow-eggtop" 60 dm-task-reward-speech)
|
|
(flag "snow-ram" 61 dm-task-reward-speech)
|
|
(flag "snow-fort" 62 dm-task-reward-speech)
|
|
(flag "snow-ball" 63 dm-task-reward-speech)
|
|
(flag "snow-bunnies" 64 dm-task-reward-speech)
|
|
(flag "snow-buzzer" 65 dm-task-reward-speech)
|
|
(flag "snow-bumpers" 66 dm-task-reward-speech)
|
|
(flag "snow-cage" 67 dm-task-reward-speech)
|
|
(flag "firecanyon-buzzer" 68 dm-task-reward-speech)
|
|
(flag "firecanyon-end" 69 dm-task-reward-speech)
|
|
(flag "citadel-sage-green" 70 dm-task-reward-speech)
|
|
(flag "citadel-sage-blue" 71 dm-task-reward-speech)
|
|
(flag "citadel-sage-red" 72 dm-task-reward-speech)
|
|
(flag "citadel-sage-yellow" 73 dm-task-reward-speech)
|
|
(flag "village3-extra1" 74 dm-task-reward-speech)
|
|
(flag "village1-buzzer" 75 dm-task-reward-speech)
|
|
(flag "village2-buzzer" 76 dm-task-reward-speech)
|
|
(flag "village3-buzzer" 77 dm-task-reward-speech)
|
|
(flag "cave-gnawers" 78 dm-task-reward-speech)
|
|
(flag "cave-dark-crystals" 79 dm-task-reward-speech)
|
|
(flag "cave-dark-climb" 80 dm-task-reward-speech)
|
|
(flag "cave-robot-climb" 81 dm-task-reward-speech)
|
|
(flag "cave-swing-poles" 82 dm-task-reward-speech)
|
|
(flag "cave-spider-tunnel" 83 dm-task-reward-speech)
|
|
(flag "cave-platforms" 84 dm-task-reward-speech)
|
|
(flag "cave-buzzer" 85 dm-task-reward-speech)
|
|
(flag "ogre-boss" 86 dm-task-reward-speech)
|
|
(flag "ogre-end" 87 dm-task-reward-speech)
|
|
(flag "ogre-buzzer" 88 dm-task-reward-speech)
|
|
(flag "lavatube-end" 89 dm-task-reward-speech)
|
|
(flag "lavatube-buzzer" 90 dm-task-reward-speech)
|
|
(flag "citadel-buzzer" 91 dm-task-reward-speech)
|
|
(flag "training-gimmie" 92 dm-task-reward-speech)
|
|
(flag "training-door" 93 dm-task-reward-speech)
|
|
(flag "training-climb" 94 dm-task-reward-speech)
|
|
(flag "training-buzzer" 95 dm-task-reward-speech)
|
|
(flag "village3-miner-money1" 96 dm-task-reward-speech)
|
|
(flag "village3-miner-money2" 97 dm-task-reward-speech)
|
|
(flag "village3-miner-money3" 98 dm-task-reward-speech)
|
|
(flag "village3-miner-money4" 99 dm-task-reward-speech)
|
|
(flag "village3-oracle-money1" 100 dm-task-reward-speech)
|
|
(flag "village3-oracle-money2" 101 dm-task-reward-speech)
|
|
(flag "firecanyon-assistant" 102 dm-task-reward-speech)
|
|
(flag "village2-levitator" 103 dm-task-reward-speech)
|
|
(flag "swamp-arm" 104 dm-task-reward-speech)
|
|
(flag "village3-button" 105 dm-task-reward-speech)
|
|
(flag "red-eggtop" 106 dm-task-reward-speech)
|
|
(flag "lavatube-balls" 107 dm-task-reward-speech)
|
|
(flag "lavatube-start" 108 dm-task-reward-speech)
|
|
(flag "intro" 109 dm-task-reward-speech)
|
|
(flag "ogre-secret" 110 dm-task-reward-speech)
|
|
(flag "village4-button" 111 dm-task-reward-speech)
|
|
(flag "finalboss-movies" 112 dm-task-reward-speech)
|
|
(flag "plunger-lurker-hit" 113 dm-task-reward-speech)
|
|
(flag "leaving-misty" 114 dm-task-reward-speech)
|
|
(flag "assistant-village3" 115 dm-task-reward-speech)
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun debug-menu-make-task-need-resolution-menu ((arg0 debug-menu) (arg1 debug-menu-context))
|
|
(debug-menu-append-item
|
|
arg0
|
|
(debug-menu-make-from-template arg1 '(menu
|
|
"need-resolution"
|
|
#f
|
|
#f
|
|
(flag "jungle-eggtop" 2 dm-task-resolution)
|
|
(flag "jungle-lurkerm" 3 dm-task-resolution)
|
|
(flag "jungle-tower" 4 dm-task-resolution)
|
|
(flag "jungle-fishgame" 5 dm-task-resolution)
|
|
(flag "jungle-plant" 6 dm-task-resolution)
|
|
(flag "jungle-buzzer" 7 dm-task-resolution)
|
|
(flag "jungle-canyon-end" 8 dm-task-resolution)
|
|
(flag "jungle-temple-door" 9 dm-task-resolution)
|
|
(flag "village1-yakow" 10 dm-task-resolution)
|
|
(flag "village1-mayor-money" 11 dm-task-resolution)
|
|
(flag "village1-uncle-money" 12 dm-task-resolution)
|
|
(flag "village1-oracle-money1" 13 dm-task-resolution)
|
|
(flag "village1-oracle-money2" 14 dm-task-resolution)
|
|
(flag "beach-ecorocks" 15 dm-task-resolution)
|
|
(flag "beach-pelican" 16 dm-task-resolution)
|
|
(flag "beach-flutflut" 17 dm-task-resolution)
|
|
(flag "beach-seagull" 18 dm-task-resolution)
|
|
(flag "beach-cannon" 19 dm-task-resolution)
|
|
(flag "beach-buzzer" 20 dm-task-resolution)
|
|
(flag "beach-gimmie" 21 dm-task-resolution)
|
|
(flag "beach-sentinel" 22 dm-task-resolution)
|
|
(flag "misty-muse" 23 dm-task-resolution)
|
|
(flag "misty-boat" 24 dm-task-resolution)
|
|
(flag "misty-warehouse" 25 dm-task-resolution)
|
|
(flag "misty-cannon" 26 dm-task-resolution)
|
|
(flag "misty-bike" 27 dm-task-resolution)
|
|
(flag "misty-buzzer" 28 dm-task-resolution)
|
|
(flag "misty-bike-jump" 29 dm-task-resolution)
|
|
(flag "misty-eco-challenge" 30 dm-task-resolution)
|
|
(flag "village2-gambler-money" 31 dm-task-resolution)
|
|
(flag "village2-geologist-money" 32 dm-task-resolution)
|
|
(flag "village2-warrior-money" 33 dm-task-resolution)
|
|
(flag "village2-oracle-money1" 34 dm-task-resolution)
|
|
(flag "village2-oracle-money2" 35 dm-task-resolution)
|
|
(flag "swamp-billy" 36 dm-task-resolution)
|
|
(flag "swamp-flutflut" 37 dm-task-resolution)
|
|
(flag "swamp-battle" 38 dm-task-resolution)
|
|
(flag "swamp-tether-1" 39 dm-task-resolution)
|
|
(flag "swamp-tether-2" 40 dm-task-resolution)
|
|
(flag "swamp-tether-3" 41 dm-task-resolution)
|
|
(flag "swamp-tether-4" 42 dm-task-resolution)
|
|
(flag "swamp-buzzer" 43 dm-task-resolution)
|
|
(flag "sunken-platforms" 44 dm-task-resolution)
|
|
(flag "sunken-pipe" 45 dm-task-resolution)
|
|
(flag "sunken-slide" 46 dm-task-resolution)
|
|
(flag "sunken-room" 47 dm-task-resolution)
|
|
(flag "sunken-sharks" 48 dm-task-resolution)
|
|
(flag "sunken-buzzer" 49 dm-task-resolution)
|
|
(flag "sunken-top-of-helix" 50 dm-task-resolution)
|
|
(flag "sunken-spinning-room" 51 dm-task-resolution)
|
|
(flag "rolling-race" 52 dm-task-resolution)
|
|
(flag "rolling-robbers" 53 dm-task-resolution)
|
|
(flag "rolling-moles" 54 dm-task-resolution)
|
|
(flag "rolling-plants" 55 dm-task-resolution)
|
|
(flag "rolling-lake" 56 dm-task-resolution)
|
|
(flag "rolling-buzzer" 57 dm-task-resolution)
|
|
(flag "rolling-ring-chase-1" 58 dm-task-resolution)
|
|
(flag "rolling-ring-chase-2" 59 dm-task-resolution)
|
|
(flag "snow-eggtop" 60 dm-task-resolution)
|
|
(flag "snow-ram" 61 dm-task-resolution)
|
|
(flag "snow-fort" 62 dm-task-resolution)
|
|
(flag "snow-ball" 63 dm-task-resolution)
|
|
(flag "snow-bunnies" 64 dm-task-resolution)
|
|
(flag "snow-buzzer" 65 dm-task-resolution)
|
|
(flag "snow-bumpers" 66 dm-task-resolution)
|
|
(flag "snow-cage" 67 dm-task-resolution)
|
|
(flag "firecanyon-buzzer" 68 dm-task-resolution)
|
|
(flag "firecanyon-end" 69 dm-task-resolution)
|
|
(flag "citadel-sage-green" 70 dm-task-resolution)
|
|
(flag "citadel-sage-blue" 71 dm-task-resolution)
|
|
(flag "citadel-sage-red" 72 dm-task-resolution)
|
|
(flag "citadel-sage-yellow" 73 dm-task-resolution)
|
|
(flag "village3-extra1" 74 dm-task-resolution)
|
|
(flag "village1-buzzer" 75 dm-task-resolution)
|
|
(flag "village2-buzzer" 76 dm-task-resolution)
|
|
(flag "village3-buzzer" 77 dm-task-resolution)
|
|
(flag "cave-gnawers" 78 dm-task-resolution)
|
|
(flag "cave-dark-crystals" 79 dm-task-resolution)
|
|
(flag "cave-dark-climb" 80 dm-task-resolution)
|
|
(flag "cave-robot-climb" 81 dm-task-resolution)
|
|
(flag "cave-swing-poles" 82 dm-task-resolution)
|
|
(flag "cave-spider-tunnel" 83 dm-task-resolution)
|
|
(flag "cave-platforms" 84 dm-task-resolution)
|
|
(flag "cave-buzzer" 85 dm-task-resolution)
|
|
(flag "ogre-boss" 86 dm-task-resolution)
|
|
(flag "ogre-end" 87 dm-task-resolution)
|
|
(flag "ogre-buzzer" 88 dm-task-resolution)
|
|
(flag "lavatube-end" 89 dm-task-resolution)
|
|
(flag "lavatube-buzzer" 90 dm-task-resolution)
|
|
(flag "citadel-buzzer" 91 dm-task-resolution)
|
|
(flag "training-gimmie" 92 dm-task-resolution)
|
|
(flag "training-door" 93 dm-task-resolution)
|
|
(flag "training-climb" 94 dm-task-resolution)
|
|
(flag "training-buzzer" 95 dm-task-resolution)
|
|
(flag "village3-miner-money1" 96 dm-task-resolution)
|
|
(flag "village3-miner-money2" 97 dm-task-resolution)
|
|
(flag "village3-miner-money3" 98 dm-task-resolution)
|
|
(flag "village3-miner-money4" 99 dm-task-resolution)
|
|
(flag "village3-oracle-money1" 100 dm-task-resolution)
|
|
(flag "village3-oracle-money2" 101 dm-task-resolution)
|
|
(flag "firecanyon-assistant" 102 dm-task-resolution)
|
|
(flag "village2-levitator" 103 dm-task-resolution)
|
|
(flag "swamp-arm" 104 dm-task-resolution)
|
|
(flag "village3-button" 105 dm-task-resolution)
|
|
(flag "red-eggtop" 106 dm-task-resolution)
|
|
(flag "lavatube-balls" 107 dm-task-resolution)
|
|
(flag "lavatube-start" 108 dm-task-resolution)
|
|
(flag "intro" 109 dm-task-resolution)
|
|
(flag "ogre-secret" 110 dm-task-resolution)
|
|
(flag "village4-button" 111 dm-task-resolution)
|
|
(flag "finalboss-movies" 112 dm-task-resolution)
|
|
(flag "plunger-lurker-hit" 113 dm-task-resolution)
|
|
(flag "leaving-misty" 114 dm-task-resolution)
|
|
(flag "assistant-village3" 115 dm-task-resolution)
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
#f
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun dm-task-get-money ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(send-event *target* 'get-pickup 5 (-> *GAME-bank* money-task-inc))
|
|
)
|
|
(>= (the-as float (send-event *target* 'query 'pickup (pickup-type money))) (-> *GAME-bank* money-task-inc))
|
|
)
|
|
|
|
(defun dm-give-all-cells ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(dotimes (gp-0 100)
|
|
(send-event *target* 'get-pickup 6 (the float (+ gp-0 2)))
|
|
(close-specific-task! (the-as game-task (+ gp-0 2)) (task-status need-resolution))
|
|
)
|
|
)
|
|
(dotimes (gp-1 100)
|
|
(if (not (task-closed? (the-as game-task (+ gp-1 2)) (task-status need-resolution)))
|
|
(return #f)
|
|
)
|
|
)
|
|
#t
|
|
)
|
|
|
|
(defun dm-give-cell ((arg0 game-task))
|
|
(send-event *target* 'get-pickup 6 (the float arg0))
|
|
(close-specific-task! arg0 (task-status need-resolution))
|
|
(none)
|
|
)
|
|
|
|
(defun dm-levitator-ready ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(close-specific-task! (game-task village2-levitator) (task-status need-introduction))
|
|
(close-specific-task! (game-task village2-levitator) (task-status need-reminder-a))
|
|
(dm-give-cell (game-task jungle-eggtop))
|
|
(dm-give-cell (game-task jungle-lurkerm))
|
|
(dm-give-cell (game-task jungle-tower))
|
|
(dm-give-cell (game-task jungle-fishgame))
|
|
(dm-give-cell (game-task jungle-plant))
|
|
(dm-give-cell (game-task jungle-buzzer))
|
|
(dm-give-cell (game-task jungle-canyon-end))
|
|
(dm-give-cell (game-task jungle-temple-door))
|
|
(dm-give-cell (game-task village1-yakow))
|
|
(dm-give-cell (game-task village1-mayor-money))
|
|
(dm-give-cell (game-task village1-uncle-money))
|
|
(dm-give-cell (game-task village1-oracle-money1))
|
|
(dm-give-cell (game-task village1-oracle-money2))
|
|
(dm-give-cell (game-task beach-ecorocks))
|
|
(dm-give-cell (game-task beach-pelican))
|
|
(dm-give-cell (game-task beach-flutflut))
|
|
(dm-give-cell (game-task beach-seagull))
|
|
(dm-give-cell (game-task beach-cannon))
|
|
(dm-give-cell (game-task beach-buzzer))
|
|
(dm-give-cell (game-task beach-gimmie))
|
|
(dm-give-cell (game-task beach-sentinel))
|
|
(dm-give-cell (game-task misty-muse))
|
|
(dm-give-cell (game-task misty-boat))
|
|
(dm-give-cell (game-task misty-warehouse))
|
|
(dm-give-cell (game-task misty-cannon))
|
|
(dm-give-cell (game-task misty-bike))
|
|
(dm-give-cell (game-task misty-buzzer))
|
|
(dm-give-cell (game-task misty-bike-jump))
|
|
(dm-give-cell (game-task misty-eco-challenge))
|
|
(dm-give-cell (game-task village2-gambler-money))
|
|
(dm-give-cell (game-task village2-geologist-money))
|
|
(dm-give-cell (game-task village2-oracle-money1))
|
|
(dm-give-cell (game-task village2-oracle-money2))
|
|
(dm-give-cell (game-task swamp-billy))
|
|
(dm-give-cell (game-task swamp-flutflut))
|
|
(dm-give-cell (game-task swamp-battle))
|
|
(dm-give-cell (game-task swamp-tether-1))
|
|
(dm-give-cell (game-task swamp-tether-2))
|
|
(dm-give-cell (game-task swamp-tether-3))
|
|
(dm-give-cell (game-task swamp-tether-4))
|
|
(dm-give-cell (game-task swamp-buzzer))
|
|
(dm-give-cell (game-task sunken-platforms))
|
|
(dm-give-cell (game-task sunken-pipe))
|
|
(dm-give-cell (game-task sunken-slide))
|
|
(dm-give-cell (game-task sunken-room))
|
|
(dm-give-cell (game-task sunken-sharks))
|
|
)
|
|
(= (get-task-status (game-task village2-levitator)) (task-status need-reward-speech))
|
|
)
|
|
|
|
(defun dm-lavabike-ready ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(dm-give-cell (game-task jungle-eggtop))
|
|
(dm-give-cell (game-task jungle-lurkerm))
|
|
(dm-give-cell (game-task jungle-tower))
|
|
(dm-give-cell (game-task jungle-fishgame))
|
|
(dm-give-cell (game-task jungle-plant))
|
|
(dm-give-cell (game-task jungle-buzzer))
|
|
(dm-give-cell (game-task jungle-canyon-end))
|
|
(dm-give-cell (game-task jungle-temple-door))
|
|
(dm-give-cell (game-task village1-yakow))
|
|
(dm-give-cell (game-task village1-mayor-money))
|
|
(dm-give-cell (game-task village1-uncle-money))
|
|
(dm-give-cell (game-task village1-oracle-money1))
|
|
(dm-give-cell (game-task village1-oracle-money2))
|
|
(dm-give-cell (game-task beach-ecorocks))
|
|
(dm-give-cell (game-task beach-pelican))
|
|
(dm-give-cell (game-task beach-flutflut))
|
|
(dm-give-cell (game-task beach-seagull))
|
|
(dm-give-cell (game-task beach-cannon))
|
|
(dm-give-cell (game-task beach-buzzer))
|
|
(dm-give-cell (game-task beach-gimmie))
|
|
(dm-give-cell (game-task beach-sentinel))
|
|
(dm-give-cell (game-task misty-muse))
|
|
(dm-give-cell (game-task misty-boat))
|
|
(dm-give-cell (game-task misty-warehouse))
|
|
(dm-give-cell (game-task misty-cannon))
|
|
(dm-give-cell (game-task misty-bike))
|
|
(dm-give-cell (game-task misty-buzzer))
|
|
(dm-give-cell (game-task misty-bike-jump))
|
|
(dm-give-cell (game-task misty-eco-challenge))
|
|
(dm-give-cell (game-task village2-gambler-money))
|
|
(dm-give-cell (game-task village2-geologist-money))
|
|
(dm-give-cell (game-task village2-warrior-money))
|
|
(dm-give-cell (game-task village2-oracle-money1))
|
|
(dm-give-cell (game-task village2-oracle-money2))
|
|
(dm-give-cell (game-task swamp-billy))
|
|
(dm-give-cell (game-task swamp-flutflut))
|
|
(dm-give-cell (game-task swamp-battle))
|
|
(dm-give-cell (game-task swamp-tether-1))
|
|
(dm-give-cell (game-task swamp-tether-2))
|
|
(dm-give-cell (game-task swamp-tether-3))
|
|
(dm-give-cell (game-task swamp-tether-4))
|
|
(dm-give-cell (game-task swamp-buzzer))
|
|
(dm-give-cell (game-task sunken-platforms))
|
|
(dm-give-cell (game-task sunken-pipe))
|
|
(dm-give-cell (game-task sunken-slide))
|
|
(dm-give-cell (game-task sunken-room))
|
|
(dm-give-cell (game-task sunken-sharks))
|
|
(dm-give-cell (game-task sunken-buzzer))
|
|
(dm-give-cell (game-task sunken-top-of-helix))
|
|
(dm-give-cell (game-task sunken-spinning-room))
|
|
(dm-give-cell (game-task rolling-race))
|
|
(dm-give-cell (game-task rolling-robbers))
|
|
(dm-give-cell (game-task rolling-moles))
|
|
(dm-give-cell (game-task rolling-plants))
|
|
(dm-give-cell (game-task rolling-lake))
|
|
(dm-give-cell (game-task rolling-buzzer))
|
|
(dm-give-cell (game-task rolling-ring-chase-1))
|
|
(dm-give-cell (game-task rolling-ring-chase-2))
|
|
(dm-give-cell (game-task snow-eggtop))
|
|
(dm-give-cell (game-task snow-ram))
|
|
(dm-give-cell (game-task snow-fort))
|
|
(dm-give-cell (game-task snow-ball))
|
|
(dm-give-cell (game-task snow-bunnies))
|
|
(dm-give-cell (game-task snow-buzzer))
|
|
(dm-give-cell (game-task snow-bumpers))
|
|
(dm-give-cell (game-task snow-cage))
|
|
(dm-give-cell (game-task firecanyon-buzzer))
|
|
(dm-give-cell (game-task firecanyon-end))
|
|
(dm-give-cell (game-task citadel-sage-green))
|
|
(dm-give-cell (game-task citadel-sage-blue))
|
|
(dm-give-cell (game-task citadel-sage-red))
|
|
(dm-give-cell (game-task citadel-sage-yellow))
|
|
(dm-give-cell (game-task village3-extra1))
|
|
(dm-give-cell (game-task village1-buzzer))
|
|
(dm-give-cell (game-task village2-buzzer))
|
|
)
|
|
(= (get-task-status (game-task lavatube-start)) (task-status need-reward-speech))
|
|
)
|
|
|
|
(defun debug-menu-make-task-menu ((arg0 debug-menu-context))
|
|
(let* ((s5-0 (new 'debug 'debug-menu arg0 "Task menu"))
|
|
(s4-0 (new 'debug 'debug-menu-item-submenu "Task" s5-0))
|
|
)
|
|
(debug-menu-append-item s5-0 (new 'debug 'debug-menu-item-flag "enough money" #f dm-task-get-money))
|
|
(debug-menu-append-item s5-0 (new 'debug 'debug-menu-item-flag "levitator ready" #f dm-levitator-ready))
|
|
(debug-menu-append-item s5-0 (new 'debug 'debug-menu-item-flag "lavabike ready" #f dm-lavabike-ready))
|
|
(debug-menu-append-item s5-0 (new 'debug 'debug-menu-item-flag "all cells" #f dm-give-all-cells))
|
|
(debug-menu-make-task-unknown-menu s5-0 arg0)
|
|
(debug-menu-make-task-need-hint-menu s5-0 arg0)
|
|
(debug-menu-make-task-need-introduction-menu s5-0 arg0)
|
|
(debug-menu-make-task-need-reminder-a-menu s5-0 arg0)
|
|
(debug-menu-make-task-need-reminder-menu s5-0 arg0)
|
|
(debug-menu-make-task-need-reward-speech-menu s5-0 arg0)
|
|
(debug-menu-make-task-need-resolution-menu s5-0 arg0)
|
|
s4-0
|
|
)
|
|
)
|
|
|
|
(defun dm-anim-tester-flag-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(when *anim-tester*
|
|
(case arg0
|
|
(('at-apply-align)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(logxor! (-> *anim-tester* 0 flags) (anim-tester-flags fanimt5))
|
|
)
|
|
(return (logtest? (-> *anim-tester* 0 flags) (anim-tester-flags fanimt5)))
|
|
)
|
|
(('at-show-joint-info)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(logxor! (-> *anim-tester* 0 flags) (anim-tester-flags fanimt4))
|
|
)
|
|
(return (logtest? (-> *anim-tester* 0 flags) (anim-tester-flags fanimt4)))
|
|
)
|
|
)
|
|
)
|
|
#f
|
|
)
|
|
|
|
(defun dm-anim-tester-func ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (not *anim-tester*)
|
|
(anim-tester-start)
|
|
)
|
|
(when *anim-tester*
|
|
(cond
|
|
((= arg0 'at-pick-object)
|
|
(send-event (ppointer->process *anim-tester*) 'pick-object)
|
|
(set! (-> *debug-menu-context* is-hidden) #t)
|
|
)
|
|
((= arg0 'at-pick-joint-anim)
|
|
(send-event (ppointer->process *anim-tester*) 'pick-joint-anim)
|
|
(set! (-> *debug-menu-context* is-hidden) #t)
|
|
)
|
|
((= arg0 'at-pick-sequence)
|
|
(send-event (ppointer->process *anim-tester*) 'pick-sequence)
|
|
(set! (-> *debug-menu-context* is-hidden) #t)
|
|
)
|
|
((= arg0 'at-save-sequences)
|
|
(send-event (ppointer->process *anim-tester*) 'save-sequences)
|
|
)
|
|
((= arg0 'at-cam-stick)
|
|
(set! *camera-orbit-target* *anim-tester*)
|
|
(send-event *camera* 'change-state cam-orbit 0)
|
|
)
|
|
((= arg0 'at-cam-free-floating)
|
|
(send-event *camera* 'change-state cam-free-floating 0)
|
|
)
|
|
)
|
|
)
|
|
(none)
|
|
)
|
|
|
|
(defun build-continue-menu ((arg0 debug-menu) (arg1 game-info))
|
|
(let ((s5-0 *level-load-list*))
|
|
(while (not (null? s5-0))
|
|
(let ((s4-0 (-> (the-as level-load-info (-> (the-as symbol (car s5-0)) value)) continues)))
|
|
(while (not (null? s4-0))
|
|
(let* ((v1-2 (the-as level-load-info (car s4-0)))
|
|
(a1-2 (new 'debug 'debug-menu-item-flag (the-as string (-> v1-2 name)) (-> v1-2 name) dm-current-continue))
|
|
)
|
|
(debug-menu-append-item arg0 a1-2)
|
|
)
|
|
(set! s4-0 (cdr s4-0))
|
|
)
|
|
)
|
|
(set! s5-0 (cdr s5-0))
|
|
)
|
|
)
|
|
(the-as debug-menu-context arg0)
|
|
)
|
|
|
|
(defun debug-menu-context-make-default-menus ((arg0 debug-menu-context))
|
|
(let ((s5-0 (new 'debug 'debug-menu arg0 "Main menu")))
|
|
(debug-menu-context-set-root-menu arg0 s5-0)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Artist"
|
|
(flag "Poly Stats" *stats-poly* dm-boolean-toggle-pick-func)
|
|
(flag "Memory Stats" *stats-memory* dm-boolean-toggle-pick-func)
|
|
(flag "Memory Stats Short" *stats-memory-short* dm-boolean-toggle-pick-func)
|
|
(flag "Ground Stats" *display-ground-stats* dm-boolean-toggle-pick-func)
|
|
(flag "All Visible" *artist-all-visible* dm-boolean-toggle-pick-func)
|
|
(flag "Flip Visible" *artist-flip-visible* dm-boolean-toggle-pick-func)
|
|
(flag "Fix Visible" *artist-fix-visible* dm-boolean-toggle-pick-func)
|
|
(flag "Fix Frustum" *artist-fix-frustum* dm-boolean-toggle-pick-func)
|
|
(flag "Error Spheres" *artist-error-spheres* dm-boolean-toggle-pick-func)
|
|
(flag "Use menu subdiv" *artist-use-menu-subdiv* dm-boolean-toggle-pick-func)
|
|
(float-var "Subdiv Close" close dm-subdiv-float 10 1 #t 1 200 1)
|
|
(float-var "Subdiv Far" far dm-subdiv-float 10 1 #t 1 200 1)
|
|
(function "Target Start" #f (lambda () (start 'debug (get-or-create-continue! *game-info*))))
|
|
(function "Target Stop" #f (lambda () (stop 'debug)))
|
|
(menu
|
|
"Anim Tester"
|
|
(int-var "Speed" anim-speed dm-subdiv-int 10 10 #t -300 1000)
|
|
(flag "Apply Align" at-apply-align dm-anim-tester-flag-func)
|
|
(flag "Show Joint Inf" at-show-joint-info dm-anim-tester-flag-func)
|
|
(function "Camera Face" at-cam-stick dm-anim-tester-func)
|
|
(function "Camera Free" at-cam-free-floating dm-anim-tester-func)
|
|
(function "Pick Object" at-pick-object dm-anim-tester-func)
|
|
(function "Pick Joint Anim" at-pick-joint-anim dm-anim-tester-func)
|
|
(function "Pick Sequence" at-pick-sequence dm-anim-tester-func)
|
|
(function "Save Sequences" at-save-sequences dm-anim-tester-func)
|
|
)
|
|
(flag "Show Entity Errors" *display-entity-errors* dm-boolean-toggle-pick-func)
|
|
(flag "Sprite Info" *display-sprite-info* dm-boolean-toggle-pick-func)
|
|
(flag "Time of Day" #f dm-time-of-day-pick-func)
|
|
(flag "Preload Anims" *preload-spool-anims* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Game"
|
|
(function
|
|
"New Game"
|
|
#f
|
|
(lambda () (initialize! *game-info* 'game (the-as game-save #f) (the-as string #f)) (none))
|
|
)
|
|
(function
|
|
"New Life"
|
|
#f
|
|
(lambda () (initialize! *game-info* 'die (the-as game-save #f) (the-as string #f)) (none))
|
|
)
|
|
(function
|
|
"Reset Game"
|
|
#f
|
|
(lambda ()
|
|
(set! (-> *game-info* mode) 'debug)
|
|
(initialize! *game-info* 'game (the-as game-save #f) (the-as string #f))
|
|
(none)
|
|
)
|
|
)
|
|
(function "Reset Actors" #f (lambda () (reset-actors 'debug) (none)))
|
|
(function "Save Game" #f (lambda () (auto-save-command 'save 0 0 *default-pool*) (none)))
|
|
(function "Load Game" #f (lambda () (auto-save-command 'restore 0 0 *default-pool*) (none)))
|
|
(flag "Target" #f (lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(if *target*
|
|
(stop 'debug)
|
|
(start 'debug (get-or-create-continue! *game-info*))
|
|
)
|
|
)
|
|
*target*
|
|
)
|
|
)
|
|
(flag "Game Mode" play dm-game-mode-pick-func)
|
|
(flag "Debug Mode" debug dm-game-mode-pick-func)
|
|
(menu "Continue")
|
|
(menu
|
|
"Settings"
|
|
(float-var
|
|
"sfx-volume"
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg) (arg2 float))
|
|
(cond
|
|
((= arg1 (debug-menu-msg press))
|
|
(let ((f0-0 arg2))
|
|
(set! (-> *setting-control* default sfx-volume) f0-0)
|
|
f0-0
|
|
)
|
|
)
|
|
(else
|
|
(-> *setting-control* default sfx-volume)
|
|
)
|
|
)
|
|
)
|
|
2
|
|
1
|
|
#t
|
|
0
|
|
100
|
|
0
|
|
)
|
|
(float-var
|
|
"music-volume"
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg) (arg2 float))
|
|
(cond
|
|
((= arg1 (debug-menu-msg press))
|
|
(let ((f0-0 arg2))
|
|
(set! (-> *setting-control* default music-volume) f0-0)
|
|
f0-0
|
|
)
|
|
)
|
|
(else
|
|
(-> *setting-control* default music-volume)
|
|
)
|
|
)
|
|
)
|
|
2
|
|
1
|
|
#t
|
|
0
|
|
100
|
|
0
|
|
)
|
|
(float-var
|
|
"dialog-volume"
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg) (arg2 float))
|
|
(cond
|
|
((= arg1 (debug-menu-msg press))
|
|
(let ((f0-0 arg2))
|
|
(set! (-> *setting-control* default dialog-volume) f0-0)
|
|
f0-0
|
|
)
|
|
)
|
|
(else
|
|
(-> *setting-control* default dialog-volume)
|
|
)
|
|
)
|
|
)
|
|
2
|
|
1
|
|
#t
|
|
0
|
|
100
|
|
0
|
|
)
|
|
(menu
|
|
"Language"
|
|
(flag "english" 0 dm-setting-language)
|
|
(flag "japanese" 5 dm-setting-language)
|
|
(flag "french" 1 dm-setting-language)
|
|
(flag "german" 2 dm-setting-language)
|
|
(flag "spanish" 3 dm-setting-language)
|
|
(flag "italian" 4 dm-setting-language)
|
|
(flag "uk-english" 6 dm-setting-language)
|
|
)
|
|
(flag
|
|
"play-hints "
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! (-> *setting-control* default play-hints) (not (-> *setting-control* default play-hints)))
|
|
)
|
|
(-> *setting-control* default play-hints)
|
|
)
|
|
)
|
|
(flag
|
|
"vibration"
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! (-> *setting-control* default vibration) (not (-> *setting-control* default vibration)))
|
|
)
|
|
(-> *setting-control* default vibration)
|
|
)
|
|
)
|
|
(flag
|
|
"border-mode"
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! (-> *setting-control* default border-mode) (not (-> *setting-control* default border-mode)))
|
|
)
|
|
(-> *setting-control* default border-mode)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(let ((a0-8 (debug-menu-find-from-template arg0 '("Game" "Continue"))))
|
|
(build-continue-menu a0-8 *game-info*)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Stats"
|
|
(flag "Poly" *stats-poly* dm-boolean-toggle-pick-func)
|
|
(flag "Collide" *stats-collide* dm-boolean-toggle-pick-func)
|
|
(flag "Bsp" *stats-bsp* dm-boolean-toggle-pick-func)
|
|
(flag "Buffer" *stats-buffer* dm-boolean-toggle-pick-func)
|
|
(flag "Target" *stats-target* dm-boolean-toggle-pick-func)
|
|
(flag "Dma test" *stats-dma-test* dm-boolean-toggle-pick-func)
|
|
(flag "Blerc" *stats-blerc* dm-boolean-toggle-pick-func)
|
|
(flag "Perf" *display-perf-stats* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Render"
|
|
(flag "sky" 1 dm-vu1-user-toggle-pick-func)
|
|
(flag "ocean" 2 dm-vu1-user-toggle-pick-func)
|
|
(flag "ocean-wave" 4 dm-vu1-user-toggle-pick-func)
|
|
(flag "TFRAG TIE TEXTURES" #x1 dm-texture-user-toggle-pick-func)
|
|
(flag "tfrag" 8 dm-vu1-user-toggle-pick-func)
|
|
(flag "tie-near" 16 dm-vu1-user-toggle-pick-func)
|
|
(flag "tie" 32 dm-vu1-user-toggle-pick-func)
|
|
(flag "generic" 64 dm-vu1-user-toggle-pick-func)
|
|
(flag "generic-tie" *generic-tie* dm-boolean-toggle-pick-func)
|
|
(flag "PRIS TEXTURES" #x2 dm-texture-user-toggle-pick-func)
|
|
(flag "merc" 128 dm-vu1-user-toggle-pick-func)
|
|
(flag "SHRUB TEXTURES" #x4 dm-texture-user-toggle-pick-func)
|
|
(flag "shrub-near" 512 dm-vu1-user-toggle-pick-func)
|
|
(flag "shrubbery" 256 dm-vu1-user-toggle-pick-func)
|
|
(flag "billboard" 1024 dm-vu1-user-toggle-pick-func)
|
|
(flag "trans-shrubbery" 2048 dm-vu1-user-toggle-pick-func)
|
|
(flag "ALPHA TEXTURES" 1 dm-texture-user-toggle-pick-func)
|
|
(flag "trans-tfrag" 4096 dm-vu1-user-toggle-pick-func)
|
|
(flag "sprite" 8192 dm-vu1-user-toggle-pick-func)
|
|
(flag "shadow" 16384 dm-vu1-user-toggle-pick-func)
|
|
(flag "shadow-debug" *shadow-debug* dm-boolean-toggle-pick-func)
|
|
(flag "WATER TEXTURES" 2 dm-texture-user-toggle-pick-func)
|
|
(flag "depth-cue" 32768 dm-vu1-user-toggle-pick-func)
|
|
(flag "all on" 262143 dm-vu1-user-set-pick-func)
|
|
(flag "all off" 196608 dm-vu1-user-set-pick-func)
|
|
(flag "all textures on" #x1f dm-texture-user-set-pick-func)
|
|
(flag "all textures off" 0 dm-texture-user-set-pick-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Collision"
|
|
(flag "Collide Stats" *stats-collide* dm-boolean-toggle-pick-func)
|
|
(flag "Collision Marks" *display-collision-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Collision Cache" *display-collide-cache* dm-boolean-toggle-pick-func)
|
|
(flag "Render Collision" *display-render-collision* dm-boolean-toggle-pick-func)
|
|
(flag "Hipri Collision Marks" *display-hipri-collision-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Edge Collision Marks" *display-edge-collision-marks* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Display"
|
|
(flag "Profile" *display-profile* dm-boolean-toggle-pick-func)
|
|
(flag "Ticks" *profile-ticks* dm-boolean-toggle-pick-func)
|
|
(flag "File Info" *display-file-info* dm-boolean-toggle-pick-func)
|
|
(flag "Level Spheres" *display-level-spheres* dm-boolean-toggle-pick-func)
|
|
(flag "Collision Marks" *display-collision-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Collision Cache" *display-collide-cache* dm-boolean-toggle-pick-func)
|
|
(flag "Hipri Collision Marks" *display-hipri-collision-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Edge Collision Marks" *display-edge-collision-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Target Marks" *display-target-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Target Stats" *stats-target* dm-boolean-toggle-pick-func)
|
|
(flag "Entity Lights" *display-lights* dm-boolean-toggle-pick-func)
|
|
(flag "Camera Marks" *display-camera-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Camera Info" *display-camera-info* dm-boolean-toggle-pick-func)
|
|
(flag "Geometry Marks" *display-geo-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Nav Marks" *display-nav-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Path Marks" *display-path-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Vol Marks" *display-vol-marks* dm-boolean-toggle-pick-func)
|
|
(menu
|
|
"Ambient Marks"
|
|
(flag "Ambient Hint Marks" *display-ambient-hint-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Sound Marks" *display-ambient-sound-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Poi Marks" *display-ambient-poi-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Light Marks" *display-ambient-light-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Dark Marks" *display-ambient-dark-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Weather Off Marks" *display-ambient-weather-off-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Ocean Off Marks" *display-ambient-ocean-off-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Ocean Near Off Marks" *display-ambient-ocean-near-off-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Music" *display-ambient-music-marks* dm-boolean-toggle-pick-func)
|
|
)
|
|
(menu
|
|
"Actor Marks"
|
|
(flag "off" #f dm-actor-marks-pick-func)
|
|
(flag "on" #t dm-actor-marks-pick-func)
|
|
(flag "full" full dm-actor-marks-pick-func)
|
|
(flag "process" process dm-actor-marks-pick-func)
|
|
)
|
|
(menu
|
|
"Actor Vis"
|
|
(flag "off" #f dm-actor-vis-pick-func)
|
|
(flag "box" box dm-actor-vis-pick-func)
|
|
(flag "sphere" sphere dm-actor-vis-pick-func)
|
|
(flag "all" #t dm-actor-vis-pick-func)
|
|
)
|
|
(flag "Art Control" *display-art-control* dm-boolean-toggle-pick-func)
|
|
(flag "Instance Info" *display-instance-info* dm-boolean-toggle-pick-func)
|
|
(menu
|
|
"strip lines"
|
|
(flag "strippable" 1 dm-strip-lines-toggle-pick-func)
|
|
(flag "convertible" 2 dm-strip-lines-toggle-pick-func)
|
|
(flag "edgeable" 4 dm-strip-lines-toggle-pick-func)
|
|
(flag "ordinary" 8 dm-strip-lines-toggle-pick-func)
|
|
(flag "color mismatch" 16 dm-strip-lines-toggle-pick-func)
|
|
(flag "shader mismatch" 32 dm-strip-lines-toggle-pick-func)
|
|
(flag "uv mismatch" 64 dm-strip-lines-toggle-pick-func)
|
|
(flag "too big" 128 dm-strip-lines-toggle-pick-func)
|
|
(flag "good" 3 dm-strip-lines-set-pick-func)
|
|
(flag "bad" 240 dm-strip-lines-set-pick-func)
|
|
(flag "all edges" 255 dm-strip-lines-set-pick-func)
|
|
(flag "strips" 256 dm-strip-lines-set-pick-func)
|
|
(flag "frags" 512 dm-strip-lines-set-pick-func)
|
|
(flag "none" 0 dm-strip-lines-set-pick-func)
|
|
)
|
|
(menu
|
|
"collision mesh"
|
|
(flag "wall" 1024 dm-strip-lines-toggle-pick-func)
|
|
(flag "ground" 2048 dm-strip-lines-toggle-pick-func)
|
|
(flag "all" 3072 dm-strip-lines-set-pick-func)
|
|
(flag "none" 0 dm-strip-lines-set-pick-func)
|
|
)
|
|
(flag "Texture Download" *display-texture-download* dm-boolean-toggle-pick-func)
|
|
(flag "Level Border" *display-level-border* dm-boolean-toggle-pick-func)
|
|
(flag "Split Boxes" *display-split-boxes* dm-boolean-toggle-pick-func)
|
|
(flag "Split Box Info" *display-split-box-info* dm-boolean-toggle-pick-func)
|
|
(flag "Load boundaries" *display-load-boundaries* dm-boolean-toggle-pick-func)
|
|
(flag "Memcard Info" *display-memcard-info* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Actor"
|
|
(flag "Spawn Actors" *spawn-actors* dm-boolean-toggle-pick-func)
|
|
(function "Reset Actors" #f (lambda () (reset-actors 'debug) (none)))
|
|
(menu
|
|
"Actor Compaction"
|
|
(flag "off" #f dm-compact-actor-pick-func)
|
|
(flag "on" #t dm-compact-actor-pick-func)
|
|
(flag "debug" debug dm-compact-actor-pick-func)
|
|
)
|
|
(flag "Ambients" *execute-ambients* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Hint Marks" *display-ambient-hint-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Sound Marks" *display-ambient-sound-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Poi Marks" *display-ambient-poi-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Light Marks" *display-ambient-light-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Dark Marks" *display-ambient-dark-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Weather Off Marks" *display-ambient-weather-off-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Ocean Off Marks" *display-ambient-ocean-off-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Ocean Near Off Marks" *display-ambient-ocean-near-off-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Ambient Music" *display-ambient-music-marks* dm-boolean-toggle-pick-func)
|
|
(menu
|
|
"Actor Marks"
|
|
(flag "off" #f dm-actor-marks-pick-func)
|
|
(flag "on" #t dm-actor-marks-pick-func)
|
|
(flag "full" full dm-actor-marks-pick-func)
|
|
(flag "process" process dm-actor-marks-pick-func)
|
|
)
|
|
(menu
|
|
"Actor Vis"
|
|
(flag "off" #f dm-actor-vis-pick-func)
|
|
(flag "box" box dm-actor-vis-pick-func)
|
|
(flag "sphere" sphere dm-actor-vis-pick-func)
|
|
(flag "all" #t dm-actor-vis-pick-func)
|
|
)
|
|
(flag "Actor Vis" *vis-actors* dm-boolean-toggle-pick-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Target"
|
|
(flag "Target Stats" *stats-target* dm-boolean-toggle-pick-func)
|
|
(function "Play" #f (lambda () (play #t #t)))
|
|
(function "Start" #f (lambda () (the-as int (start 'debug (get-or-create-continue! *game-info*)))))
|
|
(function "Stop" #f (lambda () (stop 'debug)))
|
|
(flag
|
|
"Invulnerable"
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(if *target*
|
|
(logxor! (-> *target* state-flags) (state-flags invulnerable))
|
|
)
|
|
)
|
|
(the-as symbol (and *target* (logtest? (-> *target* state-flags) (state-flags invulnerable))))
|
|
)
|
|
)
|
|
(function
|
|
"Reset Trans"
|
|
#f
|
|
(lambda () (when *target*
|
|
(position-in-front-of-camera! (target-pos 0) (the-as float 40960.0) (the-as float 4096.0))
|
|
(set! (-> *target* control transv quad) (the-as uint128 0))
|
|
(quaternion-identity! (-> *target* control quat))
|
|
(quaternion-identity! (-> *target* control unknown-quaternion00))
|
|
(quaternion-identity! (-> *target* control dir-targ))
|
|
)
|
|
)
|
|
)
|
|
(function "Zero Trans" #f (lambda () (when *target*
|
|
(set-vector! (-> *target* control trans) 0.0 163840.0 0.0 1.0)
|
|
(set! (-> *target* control transv quad) (the-as uint128 0))
|
|
(quaternion-identity! (-> *target* control quat))
|
|
(quaternion-identity! (-> *target* control unknown-quaternion00))
|
|
(quaternion-identity! (-> *target* control dir-targ))
|
|
)
|
|
)
|
|
)
|
|
(menu
|
|
"Mode"
|
|
(function "normal" #f (lambda () (send-event *target* 'end-mode)))
|
|
(function "racing" #f (lambda () (send-event *target* 'change-mode 'racing #f)))
|
|
(function "snowball" #f (lambda () (send-event *target* 'change-mode 'snowball #f)))
|
|
)
|
|
(flag "Slow Frame Rate" *slow-frame-rate* dm-boolean-toggle-pick-func)
|
|
(function "Print Pos" #f (lambda ()
|
|
(let ((v1-0 (target-pos 0)))
|
|
(format #t "~6,,2m ~6,,2m ~6,,2m~%" (-> v1-0 x) (-> v1-0 y) (-> v1-0 z))
|
|
)
|
|
0
|
|
(none)
|
|
)
|
|
)
|
|
(function "Save Continue" #f (lambda ()
|
|
(if *target*
|
|
(trsq->continue-point (-> *target* control))
|
|
)
|
|
(none)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item s5-0 (debug-menu-make-camera-menu arg0))
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Subdiv"
|
|
(flag "Textured" 0 dm-subdiv-draw-func)
|
|
(flag "Outline" 1 dm-subdiv-draw-func)
|
|
(flag "Gouraud" 2 dm-subdiv-draw-func)
|
|
(flag "Hack" 3 dm-subdiv-draw-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Ocean Subdiv"
|
|
(flag "Textured" 0 dm-ocean-subdiv-draw-func)
|
|
(flag "Outline" 1 dm-ocean-subdiv-draw-func)
|
|
(flag "Gouraud" 2 dm-ocean-subdiv-draw-func)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Time of day"
|
|
(flag "7am sunrise" 0 dm-time-of-day-func)
|
|
(flag "9am morning" 1 dm-time-of-day-func)
|
|
(flag "12pm noon" 2 dm-time-of-day-func)
|
|
(flag "3pm afternoon" 3 dm-time-of-day-func)
|
|
(flag "6pm sunset" 4 dm-time-of-day-func)
|
|
(flag "7pm twilight" 5 dm-time-of-day-func)
|
|
(flag "11pm evening" 6 dm-time-of-day-func)
|
|
(flag "4am green sun" 7 dm-time-of-day-func)
|
|
(flag "on" 8 dm-time-of-day-func)
|
|
(flag "Effects" *time-of-day-effects* dm-boolean-toggle-pick-func)
|
|
(flag "Fast" *time-of-day-fast* dm-time-of-day-func2)
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item
|
|
s5-0
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(menu
|
|
"Sound"
|
|
(flag "Effect Debug" *debug-effect-control* dm-boolean-toggle-pick-func)
|
|
(flag "Amb Snd Marks" *display-ambient-sound-marks* dm-boolean-toggle-pick-func)
|
|
(flag "Amb Snd Class" *ambient-sound-class* dm-boolean-toggle-pick-func)
|
|
(flag "Amb Spheres" *execute-ambients* dm-boolean-toggle-pick-func)
|
|
(flag "Sound channels" *display-iop-info* dm-boolean-toggle-pick-func)
|
|
(function "List Sounds" #f (lambda () (list-sounds)))
|
|
)
|
|
)
|
|
)
|
|
(debug-menu-append-item s5-0 (debug-menu-make-shader-menu arg0))
|
|
(debug-menu-append-item s5-0 (debug-menu-make-instance-menu arg0))
|
|
(debug-menu-append-item s5-0 (debug-menu-make-task-menu arg0))
|
|
)
|
|
arg0
|
|
)
|
|
|
|
(define *popup-menu-context* (new 'debug 'debug-menu-context))
|
|
|
|
(defun popup-menu-context-make-default-menus ((arg0 debug-menu-context))
|
|
(debug-menu-make-from-template
|
|
arg0
|
|
'(main-menu
|
|
"Popup"
|
|
(flag "Cam 1" pad-1 dm-cam-externalize)
|
|
(flag "Target" #f (lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(if *target*
|
|
(stop 'debug)
|
|
(start 'debug (get-or-create-continue! *game-info*))
|
|
)
|
|
)
|
|
*target*
|
|
)
|
|
)
|
|
(flag "Game" #f (lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(let ((v1-3 (-> *game-info* mode)))
|
|
(set! (-> *game-info* mode) (cond
|
|
((= v1-3 'play)
|
|
'debug
|
|
)
|
|
((= v1-3 'debug)
|
|
'play
|
|
)
|
|
(else
|
|
(-> *game-info* mode)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(= (-> *game-info* mode) 'play)
|
|
)
|
|
)
|
|
(function "Clean" #f (lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (time-of-day-setup #f)
|
|
(time-of-day-setup #t)
|
|
)
|
|
(set! *display-entity-errors* #f)
|
|
(set! *display-profile* #f)
|
|
(set! *display-actor-marks* #f)
|
|
#f
|
|
)
|
|
)
|
|
(flag "Stats" *stats-target* dm-boolean-toggle-pick-func)
|
|
(function "Reset" #f (lambda () (reset-actors 'debug) (none)))
|
|
)
|
|
)
|
|
arg0
|
|
)
|
|
|
|
(debug-menu-context-make-default-menus *debug-menu-context*)
|
|
|
|
(popup-menu-context-make-default-menus *popup-menu-context*)
|
|
|
|
(defun menu-respond-to-pause ()
|
|
(case *master-mode*
|
|
(('menu)
|
|
(if (cpad-hold? 0 l3)
|
|
(debug-menu-context-send-msg *popup-menu-context* (debug-menu-msg activate) (debug-menu-dest activation))
|
|
(debug-menu-context-send-msg *debug-menu-context* (debug-menu-msg activate) (debug-menu-dest activation))
|
|
)
|
|
)
|
|
(else
|
|
(debug-menu-context-send-msg *debug-menu-context* (debug-menu-msg deactivate) (debug-menu-dest activation))
|
|
(debug-menu-context-send-msg *popup-menu-context* (debug-menu-msg deactivate) (debug-menu-dest activation))
|
|
)
|
|
)
|
|
#f
|
|
)
|
|
|
|
(defun *menu-hook* ()
|
|
(debug-menus-handler *debug-menu-context*)
|
|
(debug-menus-handler *popup-menu-context*)
|
|
)
|
|
|
|
(#when PC_PORT
|
|
|
|
(defmacro new-dm-func (text var func)
|
|
`(new 'debug 'debug-menu-item-function ,text ,var (the-as (function int object) ,func))
|
|
)
|
|
(defmacro new-dm-flag (text var func)
|
|
`(new 'debug 'debug-menu-item-flag ,text ,var (the-as (function int debug-menu-msg object) ,func))
|
|
)
|
|
(defmacro new-dm-bool (text sym func)
|
|
`(new-dm-flag ,text (quote ,sym) ,func)
|
|
)
|
|
(defmacro new-dm-submenu (text menu)
|
|
`(new 'debug 'debug-menu-item-submenu ,text ,menu)
|
|
)
|
|
(defmacro new-dm-var-float (text var func inc min max)
|
|
`(debug-menu-item-var-make-float (new 'debug 'debug-menu-item-var ,text ,var (* 8 20))
|
|
(the-as (function int debug-menu-msg float float float) ,func)
|
|
,inc #t ,min ,max 1)
|
|
)
|
|
|
|
(defun dm-want-level-toggle-pick-func ((arg0 pair) (arg1 debug-menu-msg))
|
|
(let* ((levname (the-as symbol (car arg0)))
|
|
(info (the-as level-load-info (-> levname value)))
|
|
(idx (the int (cdr arg0)))
|
|
(the-level (level-get *level* (-> info name)))
|
|
)
|
|
(if (and the-level (!= the-level (-> *level* level idx)))
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(load-state-want-levels
|
|
(if (= idx 0) (-> info name) (-> *level* level 0 name))
|
|
(if (= idx 1) (-> info name) (-> *level* level 1 name))
|
|
)
|
|
)
|
|
(eq? (-> *level* level idx name) (-> info name))
|
|
)
|
|
)
|
|
|
|
(defun dm-display-level-toggle-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
|
|
(let ((the-level (level-get *level* arg0)))
|
|
(if (not the-level)
|
|
(return 'invalid)
|
|
)
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(when the-level
|
|
(load-state-want-display-level arg0
|
|
(if (-> the-level display?) #f 'display)
|
|
)
|
|
)
|
|
)
|
|
(and the-level (-> the-level display?))
|
|
)
|
|
)
|
|
|
|
(defun debug-menu-make-load-want-menu ((ctx debug-menu-context) (lev-idx int))
|
|
|
|
(let ((want-menu (new 'debug 'debug-menu ctx "Level want menu")))
|
|
|
|
(let ((iter *level-load-list*))
|
|
(while (not (or (null? iter) (null? (cdr iter)) (null? (cddr iter))))
|
|
(debug-menu-append-item want-menu (new-dm-flag (symbol->string (the-as symbol (car iter))) (dcons (car iter) lev-idx) dm-want-level-toggle-pick-func))
|
|
|
|
(set! iter (cdr iter))
|
|
)
|
|
)
|
|
|
|
(new-dm-submenu (new 'debug 'string 0 (string-format "Want ~D" lev-idx)) want-menu)
|
|
)
|
|
)
|
|
|
|
(defun debug-menu-make-load-display-menu ((ctx debug-menu-context))
|
|
|
|
(let ((display-menu (new 'debug 'debug-menu ctx "Level display menu")))
|
|
|
|
(let ((iter *level-load-list*))
|
|
(while (not (or (null? iter) (null? (cdr iter)) (null? (cddr iter))))
|
|
(debug-menu-append-item display-menu (new-dm-flag (symbol->string (the-as symbol (car iter))) (car iter) dm-display-level-toggle-pick-func))
|
|
|
|
(set! iter (cdr iter))
|
|
)
|
|
)
|
|
|
|
(new-dm-submenu "Display" display-menu)
|
|
)
|
|
)
|
|
|
|
(defun debug-menu-make-load-teleport-menu ((ctx debug-menu-context))
|
|
|
|
(let ((teleport-menu (new 'debug 'debug-menu ctx "Camera teleport menu")))
|
|
|
|
(let ((iter *level-load-list*))
|
|
(while (not (or (null? iter) (null? (cdr iter)) (null? (cddr iter))))
|
|
(debug-menu-append-item teleport-menu
|
|
(new-dm-func (symbol->string (the-as symbol (car iter)))
|
|
(-> (the-as symbol (car iter)) value)
|
|
(lambda ((info level-load-info))
|
|
(let ((tf (new 'stack-no-clear 'transformq)))
|
|
(set! (-> tf trans x) (-> info bsphere x))
|
|
(set! (-> tf trans y) (-> info bsphere y))
|
|
(set! (-> tf trans z) (-> info bsphere z))
|
|
(quaternion-identity! (-> tf quat))
|
|
(vector-identity! (-> tf scale))
|
|
(send-event *camera* 'teleport-to-transformq tf)
|
|
)
|
|
)
|
|
))
|
|
|
|
(set! iter (cdr iter))
|
|
)
|
|
)
|
|
|
|
(new-dm-submenu "Camera teleport" teleport-menu)
|
|
)
|
|
)
|
|
|
|
(defun debug-menu-make-load-menu ((ctx debug-menu-context))
|
|
(let ((load-menu (new 'debug 'debug-menu ctx "Load menu")))
|
|
(debug-menu-append-item load-menu (new-dm-bool "Level Border" *display-level-border* dm-boolean-toggle-pick-func))
|
|
(debug-menu-append-item load-menu (debug-menu-make-from-template ctx '(flag
|
|
"border-mode"
|
|
#f
|
|
(lambda ((arg0 int) (arg1 debug-menu-msg))
|
|
(if (= arg1 (debug-menu-msg press))
|
|
(set! (-> *setting-control* default border-mode) (not (-> *setting-control* default border-mode)))
|
|
)
|
|
(-> *setting-control* default border-mode)
|
|
)
|
|
)))
|
|
|
|
(debug-menu-append-item load-menu (debug-menu-make-load-want-menu ctx 0)) ;; Want 0
|
|
(debug-menu-append-item load-menu (debug-menu-make-load-want-menu ctx 1)) ;; Want 1
|
|
(debug-menu-append-item load-menu (debug-menu-make-load-display-menu ctx)) ;; Display
|
|
(debug-menu-append-item load-menu (debug-menu-make-load-teleport-menu ctx)) ;; Camera teleport
|
|
|
|
(new-dm-submenu "Load" load-menu)
|
|
)
|
|
)
|
|
|
|
(define *part-pick-menu* (the-as debug-menu #f))
|
|
(define *spawn-part-test* #t)
|
|
|
|
(defun dm-part-pick-func ((id int) (msg debug-menu-msg))
|
|
(if (zero? (-> *part-group-id-table* id))
|
|
(return 'invalid))
|
|
(when (= msg (debug-menu-msg press))
|
|
(set! *part-tester-id* id)
|
|
(if *spawn-part-test*
|
|
(start-part)
|
|
)
|
|
)
|
|
(= *part-tester-id* id)
|
|
)
|
|
|
|
(defun build-particles-list ()
|
|
(debug-menu-remove-all-items *part-pick-menu*)
|
|
(dotimes (i (-> *part-group-id-table* length))
|
|
(let ((part (-> *part-group-id-table* i)))
|
|
(when (and (nonzero? part))
|
|
(debug-menu-append-item *part-pick-menu* (new-dm-flag (-> part name) i dm-part-pick-func))
|
|
)
|
|
)
|
|
)
|
|
(set! (-> *part-pick-menu* items) (sort (-> *part-pick-menu* items) debug-menu-node<?))
|
|
)
|
|
|
|
(defun debug-menu-make-part-menu ((ctx debug-menu-context))
|
|
(let ((part-menu (new 'debug 'debug-menu ctx "Particles menu")))
|
|
(let ((pick-menu (new 'debug 'debug-menu ctx "Particle group pick menu")))
|
|
(set! *part-pick-menu* pick-menu)
|
|
(debug-menu-append-item part-menu (new-dm-submenu "Pick Particle group" pick-menu))
|
|
)
|
|
(debug-menu-append-item part-menu (new-dm-func "Refresh" #f build-particles-list))
|
|
(debug-menu-append-item part-menu (new-dm-bool "Spawn part tester" *spawn-part-test* dm-boolean-toggle-pick-func))
|
|
|
|
(new-dm-submenu "Particles" part-menu)
|
|
)
|
|
)
|
|
|
|
(define *entity-pick-menu* (the-as debug-menu #f))
|
|
|
|
(defun dm-entity-pick-func ((e entity) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(if (= (-> *entity-debug-inspect* entity) e)
|
|
(set-entity! *entity-debug-inspect* (the entity #f))
|
|
(set-entity! *entity-debug-inspect* e))
|
|
)
|
|
(= (-> *entity-debug-inspect* entity) e)
|
|
)
|
|
|
|
(defun build-entity-list ()
|
|
"Fill the entity pick menu"
|
|
;; clear old list
|
|
(debug-menu-remove-all-items *entity-pick-menu*)
|
|
;; go through active levels
|
|
(dotimes (s5-0 (-> *level* length))
|
|
(let ((s4-0 (-> *level* level s5-0)))
|
|
(when (= (-> s4-0 status) 'active)
|
|
;; actor entities
|
|
(let ((s3-0 (-> s4-0 bsp actors)))
|
|
(when (nonzero? s3-0)
|
|
(dotimes (s2-0 (-> s3-0 length))
|
|
(let ((s1-0 (-> s3-0 data s2-0 actor)))
|
|
(debug-menu-append-item *entity-pick-menu* (new-dm-flag (res-lump-struct s1-0 'name string) s1-0 dm-entity-pick-func))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
;; ambients entities
|
|
(let ((s3-1 (-> s4-0 bsp ambients)))
|
|
(when (nonzero? s3-1)
|
|
(dotimes (s2-1 (-> s3-1 length))
|
|
(let ((s1-1 (-> s3-1 data s2-1 ambient)))
|
|
(debug-menu-append-item *entity-pick-menu* (new-dm-flag (res-lump-struct s1-1 'name string) s1-1 dm-entity-pick-func))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
;; camera entities
|
|
(let ((s4-1 (-> s4-0 bsp cameras)))
|
|
(when (nonzero? s4-1)
|
|
(dotimes (s3-2 (-> s4-1 length))
|
|
(let ((s2-2 (-> s4-1 s3-2)))
|
|
(debug-menu-append-item *entity-pick-menu* (new-dm-flag (res-lump-struct s2-2 'name string) s2-2 dm-entity-pick-func))
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
(set! (-> *entity-pick-menu* items) (sort (-> *entity-pick-menu* items) debug-menu-node<?))
|
|
)
|
|
|
|
(defun dm-display-entities-pick-func ((arg0 symbol))
|
|
(debug-print-entities *level* arg0 (the-as type #f))
|
|
)
|
|
|
|
(defun debug-menu-make-entity-menu ((ctx debug-menu-context))
|
|
(let ((entity-menu (new 'debug 'debug-menu ctx "Entity menu")))
|
|
(let ((pick-menu (new 'debug 'debug-menu ctx "Pick entity menu")))
|
|
(set! *entity-pick-menu* pick-menu)
|
|
(debug-menu-append-item entity-menu (new-dm-submenu "Pick Entity" pick-menu))
|
|
)
|
|
(debug-menu-append-item entity-menu (new-dm-func "Refresh" #f build-entity-list))
|
|
(debug-menu-append-item entity-menu (new-dm-func "Go to entity" #f
|
|
(lambda ()
|
|
(unless (-> *entity-debug-inspect* entity) (return #f))
|
|
(let ((tf (new 'stack 'transformq)))
|
|
(vector-copy! (-> tf trans) (-> *entity-debug-inspect* entity trans))
|
|
(quaternion-identity! (-> tf quat))
|
|
(vector-identity! (-> tf scale))
|
|
(send-event *camera* 'teleport-to-transformq tf)
|
|
))))
|
|
(debug-menu-append-item entity-menu (new-dm-func "Print entity info" #t dm-display-entities-pick-func))
|
|
(debug-menu-append-item entity-menu (new-dm-func "Print entity info (ag)" 'art-group dm-display-entities-pick-func))
|
|
(debug-menu-append-item entity-menu (new-dm-func "Print entity info (meters)" 'entity-meters dm-display-entities-pick-func))
|
|
(debug-menu-append-item entity-menu (new-dm-func "Print entity info (perm)" 'entity-perm dm-display-entities-pick-func))
|
|
|
|
(new-dm-submenu "Entity" entity-menu)
|
|
)
|
|
)
|
|
|
|
(defmacro dm-lambda-boolean-flag (val)
|
|
"helper macro for making boolean buttons that don't just access symbols directly"
|
|
`(lambda (arg (msg debug-menu-msg))
|
|
(if (= msg (debug-menu-msg press))
|
|
(not! ,val)
|
|
)
|
|
,val)
|
|
)
|
|
|
|
(defmacro dm-lambda-int-var (val)
|
|
"helper macro for making int buttons"
|
|
`(lambda (arg (msg debug-menu-msg) (newval int))
|
|
(cond
|
|
((= msg (debug-menu-msg press))
|
|
(set! ,val newval)
|
|
)
|
|
(else
|
|
,val
|
|
)
|
|
))
|
|
)
|
|
|
|
(defmacro dm-lambda-float-var (val)
|
|
"helper macro for making float buttons"
|
|
`(lambda (arg (msg debug-menu-msg) (newval float))
|
|
(cond
|
|
((= msg (debug-menu-msg press))
|
|
(set! ,val newval)
|
|
)
|
|
(else
|
|
,val
|
|
)
|
|
))
|
|
)
|
|
|
|
(defmacro dm-lambda-meters-var (val)
|
|
"helper macro for making meters buttons"
|
|
`(lambda (arg (msg debug-menu-msg) (newval float))
|
|
(cond
|
|
((= msg (debug-menu-msg press))
|
|
(set! ,val (meters newval))
|
|
)
|
|
(else
|
|
(* (1/ METER_LENGTH) ,val)
|
|
)
|
|
))
|
|
)
|
|
|
|
(defun dm-toggle-collision-pick-func ((arg symbol) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(cond
|
|
((-> arg value)
|
|
(false! (-> arg value))
|
|
(logior! *vu1-enable-user-menu* (vu1-renderer-mask tfrag trans-tfrag tie tie-near))
|
|
(true! *generic-tie*)
|
|
)
|
|
(else
|
|
(true! (-> arg value))
|
|
(logclear! *vu1-enable-user-menu* (vu1-renderer-mask tfrag trans-tfrag tie tie-near))
|
|
(false! *generic-tie*)
|
|
)
|
|
)
|
|
)
|
|
(-> arg value)
|
|
)
|
|
|
|
(defun dm-collision-mode-pick-func ((arg pc-collision-mode) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(set! *collision-mode* arg)
|
|
)
|
|
(= *collision-mode* arg)
|
|
)
|
|
|
|
(defun dm-collision-filter-mode-pick-func ((arg int) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(pc-set-collision-mask (pc-collision-mode mode) arg (not (pc-get-collision-mask (pc-collision-mode mode) arg)))
|
|
)
|
|
(pc-get-collision-mask (pc-collision-mode mode) arg)
|
|
)
|
|
|
|
(defun dm-collision-filter-event-pick-func ((arg int) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(pc-set-collision-mask (pc-collision-mode event) arg (not (pc-get-collision-mask (pc-collision-mode event) arg)))
|
|
)
|
|
(pc-get-collision-mask (pc-collision-mode event) arg)
|
|
)
|
|
|
|
(defun dm-collision-filter-material-pick-func ((arg int) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(pc-set-collision-mask (pc-collision-mode material) arg (not (pc-get-collision-mask (pc-collision-mode material) arg)))
|
|
)
|
|
(pc-get-collision-mask (pc-collision-mode material) arg)
|
|
)
|
|
|
|
(defun dm-collision-filter-skip-pick-func ((arg int) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(pc-set-collision-mask (pc-collision-mode skip) arg (not (pc-get-collision-mask (pc-collision-mode skip) arg)))
|
|
)
|
|
(pc-get-collision-mask (pc-collision-mode skip) arg)
|
|
)
|
|
|
|
(defun debug-menu-make-collision-renderer-menu ((ctx debug-menu-context))
|
|
(let ((menu (new 'debug 'debug-menu ctx "Collision renderer menu")))
|
|
;; master toggle
|
|
(debug-menu-append-item menu (new-dm-bool "Enable" *collision-renderer* dm-toggle-collision-pick-func))
|
|
(debug-menu-append-item menu (new-dm-bool "Wireframe" *collision-wireframe* dm-boolean-toggle-pick-func))
|
|
(debug-menu-append-item menu (new-dm-submenu "Mode"
|
|
(let ((mode-menu (new 'debug 'debug-menu ctx "Collision renderer mode menu")))
|
|
(doenum (name val pc-collision-mode)
|
|
(debug-menu-append-item mode-menu (new-dm-flag name val dm-collision-mode-pick-func))
|
|
)
|
|
mode-menu)))
|
|
(debug-menu-append-item menu (new-dm-submenu "Filter mode"
|
|
(let ((filter-menu (new 'debug 'debug-menu ctx "Collision renderer filter mode menu")))
|
|
(doenum (name val pat-mode)
|
|
(debug-menu-append-item filter-menu (new-dm-flag name val dm-collision-filter-mode-pick-func))
|
|
)
|
|
filter-menu)))
|
|
(debug-menu-append-item menu (new-dm-submenu "Filter event"
|
|
(let ((filter-menu (new 'debug 'debug-menu ctx "Collision renderer filter event menu")))
|
|
(doenum (name val pat-event)
|
|
(debug-menu-append-item filter-menu (new-dm-flag name val dm-collision-filter-event-pick-func))
|
|
)
|
|
filter-menu)))
|
|
(debug-menu-append-item menu (new-dm-submenu "Filter material"
|
|
(let ((filter-menu (new 'debug 'debug-menu ctx "Collision renderer filter material menu")))
|
|
(doenum (name val pat-material)
|
|
(debug-menu-append-item filter-menu (new-dm-flag name val dm-collision-filter-material-pick-func))
|
|
)
|
|
filter-menu)))
|
|
(debug-menu-append-item menu (new-dm-submenu "Filter skip"
|
|
(let ((filter-menu (new 'debug 'debug-menu ctx "Collision renderer filter skip menu")))
|
|
(doenum (name val pc-pat-skip-hack)
|
|
(debug-menu-append-item filter-menu (new-dm-flag name val dm-collision-filter-skip-pick-func))
|
|
)
|
|
filter-menu)))
|
|
|
|
(new-dm-submenu "Collision renderer" menu)
|
|
)
|
|
)
|
|
|
|
(defun dm-lod-int ((arg0 int) (arg1 debug-menu-msg) (arg2 int) (arg3 int))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(case (/ arg0 8)
|
|
((0) (set! (-> *pc-settings* lod-force-tfrag) arg2))
|
|
((1) (set! (-> *pc-settings* lod-force-tie) arg2))
|
|
((2) (set! (-> *pc-settings* lod-force-ocean) arg2))
|
|
((3) (set! (-> *pc-settings* lod-force-actor) arg2))
|
|
)
|
|
)
|
|
(case (/ arg0 8)
|
|
((0) (-> *pc-settings* lod-force-tfrag))
|
|
((1) (-> *pc-settings* lod-force-tie))
|
|
((2) (-> *pc-settings* lod-force-ocean))
|
|
((3) (-> *pc-settings* lod-force-actor))
|
|
(else arg3)
|
|
)
|
|
)
|
|
|
|
(defun dm-subtitle-language ((blang int) (msg debug-menu-msg))
|
|
(let ((lang (the pc-subtitle-lang (/ blang 8))))
|
|
(when (= msg (debug-menu-msg press))
|
|
(set! (-> *pc-settings* subtitle-language) lang))
|
|
(= (-> *pc-settings* subtitle-language) lang)
|
|
)
|
|
)
|
|
|
|
(defun dm-subtitle-setting ((setting symbol) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(set! (-> *pc-settings* subtitle-speaker?) setting))
|
|
(= (-> *pc-settings* subtitle-speaker?) setting)
|
|
)
|
|
|
|
(defun dm-mood-override-palette-pick-func ((bpal int) (msg debug-menu-msg))
|
|
(let* ((pal (/ bpal 8))
|
|
(cur-val (-> *pc-settings* mood-overrides pal)))
|
|
|
|
(when (= msg (debug-menu-msg press))
|
|
(set! (-> *pc-settings* mood-overrides pal) (if (= cur-val 0.0) 1.0 0.0))
|
|
|
|
(when (not (= 'mult (-> *pc-settings* mood-override?)))
|
|
(set! (-> *pc-settings* mood-override?) #f)
|
|
(dotimes (i 8)
|
|
(if (!= (-> *pc-settings* mood-overrides i) 0.0)
|
|
(set! (-> *pc-settings* mood-override?) 'copy)))
|
|
))
|
|
|
|
(= (-> *pc-settings* mood-overrides pal) 1.0)
|
|
)
|
|
)
|
|
|
|
(defun dm-mood-override-pick-func ((kind symbol) (msg debug-menu-msg))
|
|
(when (= msg (debug-menu-msg press))
|
|
(if (= kind (-> *pc-settings* mood-override?))
|
|
(set! (-> *pc-settings* mood-override?) #f)
|
|
(set! (-> *pc-settings* mood-override?) kind)))
|
|
(= kind (-> *pc-settings* mood-override?))
|
|
)
|
|
|
|
(defun dm-mood-palette-float ((pal int) (arg1 debug-menu-msg) (newval float) (val float))
|
|
(when (= arg1 (debug-menu-msg press))
|
|
(set! (-> *pc-settings* mood-overrides (/ pal 8)) newval))
|
|
(-> *pc-settings* mood-overrides (/ pal 8))
|
|
)
|
|
|
|
(defun dm-anim-tester-x-flag-func ((action symbol) (msg debug-menu-msg))
|
|
(case action
|
|
(('at-show-joint-info)
|
|
(if (= msg (debug-menu-msg press))
|
|
(logxor! (-> *ATX-settings* flags) (atx-flags show-joints)))
|
|
(return (logtest? (-> *ATX-settings* flags) (atx-flags show-joints)))
|
|
)
|
|
)
|
|
#f)
|
|
|
|
(defun dm-anim-tester-x-func ((action symbol))
|
|
(unless *atx*
|
|
(atx-start))
|
|
|
|
(case action
|
|
(('pick-art-group)
|
|
(set! (-> *atx* 0 edit-mode) (atx-edit-mode art-group))
|
|
(false! *camera-read-buttons*)
|
|
)
|
|
(('at-pick-joint-anim)
|
|
(when (-> *atx* 0 cur-art-group)
|
|
(set! (-> *atx* 0 edit-mode) (atx-edit-mode anim))
|
|
(false! *camera-read-buttons*)
|
|
)
|
|
)
|
|
(('pick-mesh-geo)
|
|
(when (-> *atx* 0 cur-art-group)
|
|
(set! (-> *atx* 0 edit-mode) (atx-edit-mode mgeo))
|
|
(false! *camera-read-buttons*)
|
|
)
|
|
)
|
|
(('pick-joint-geo)
|
|
(when (-> *atx* 0 cur-art-group)
|
|
(set! (-> *atx* 0 edit-mode) (atx-edit-mode jgeo))
|
|
(false! *camera-read-buttons*)
|
|
)
|
|
)
|
|
(('at-cam-free-floating)
|
|
(send-event *camera* 'change-state cam-free-floating 0)
|
|
)
|
|
(('at-cam-orbit)
|
|
(send-event *camera* 'change-state cam-orbit 0)
|
|
)
|
|
)
|
|
0)
|
|
|
|
(defun debug-menu-make-anim-tester-x-menu ((ctx debug-menu-context))
|
|
(let ((menu (new 'debug 'debug-menu ctx "Anim Tester X menu")))
|
|
;; master toggle
|
|
(debug-menu-append-item menu (new-dm-func "Start" #f atx-start))
|
|
(debug-menu-append-item menu (new-dm-func "Stop" #f atx-stop))
|
|
(debug-menu-append-item menu (new-dm-var-float "Speed" (the int #f) (dm-lambda-float-var (-> *ATX-settings* speed)) 0.01 -10.0 10.0))
|
|
(debug-menu-append-item menu (new-dm-var-float "Frame Num" (the int #f) (dm-lambda-float-var (-> *ATX-settings* frame-num)) 0.1 0.0 99999.0))
|
|
(debug-menu-append-item menu (new-dm-func "Pick Art Group" 'pick-art-group dm-anim-tester-x-func))
|
|
(debug-menu-append-item menu (new-dm-func "Pick Anim" 'at-pick-joint-anim dm-anim-tester-x-func))
|
|
(debug-menu-append-item menu (new-dm-func "Pick Mesh" 'pick-mesh-geo dm-anim-tester-x-func))
|
|
(debug-menu-append-item menu (new-dm-func "Pick Skeleton" 'pick-joint-geo dm-anim-tester-x-func))
|
|
(debug-menu-append-item menu (new-dm-flag "Show Joint Info" 'at-show-joint-info dm-anim-tester-x-flag-func))
|
|
(debug-menu-append-item menu (new-dm-func "Free Floating cam" 'at-cam-free-floating dm-anim-tester-x-func))
|
|
(debug-menu-append-item menu (new-dm-func "Orbit cam" 'at-cam-orbit dm-anim-tester-x-func))
|
|
|
|
(new-dm-submenu "Anim Tester X" menu)
|
|
)
|
|
)
|
|
|
|
(when (-> *debug-menu-context* root-menu)
|
|
(debug-menu-append-item (-> *debug-menu-context* root-menu) (debug-menu-make-load-menu *debug-menu-context*))
|
|
(debug-menu-append-item (-> *debug-menu-context* root-menu) (debug-menu-make-part-menu *debug-menu-context*))
|
|
(debug-menu-append-item (-> *debug-menu-context* root-menu) (debug-menu-make-entity-menu *debug-menu-context*))
|
|
;; Music menu TODO
|
|
;; Secrets menu TODO
|
|
;; Scene menu TODO
|
|
|
|
(debug-menu-append-item (-> *debug-menu-context* root-menu)
|
|
(debug-menu-make-from-template *debug-menu-context*
|
|
'(menu "PC Settings"
|
|
(flag "Debug" #f ,(dm-lambda-boolean-flag (-> *pc-settings* debug?)))
|
|
(flag "Use native vis" #f ,(dm-lambda-boolean-flag (-> *pc-settings* use-vis?)))
|
|
(function "Toggle game aspect" #f (lambda ()
|
|
(cond
|
|
((= (-> *setting-control* default aspect-ratio) 'aspect4x3)
|
|
(set! (-> *setting-control* default aspect-ratio) 'aspect16x9)
|
|
)
|
|
(else
|
|
(set! (-> *setting-control* default aspect-ratio) 'aspect4x3)
|
|
)
|
|
)
|
|
(set-aspect-ratio (-> *setting-control* default aspect-ratio))
|
|
))
|
|
(flag "Auto aspect" #f ,(dm-lambda-boolean-flag (-> *pc-settings* aspect-ratio-auto?)))
|
|
(menu "Aspect test"
|
|
(function "4 x 3" #f (lambda () (set-aspect! *pc-settings* 4 3)))
|
|
(function "16 x 9" #f (lambda () (set-aspect! *pc-settings* 16 9)))
|
|
(function "64 x 27 (21:9)" #f (lambda () (set-aspect! *pc-settings* 64 27)))
|
|
(function "16 x 10" #f (lambda () (set-aspect! *pc-settings* 16 10)))
|
|
(function "2 x 1" #f (lambda () (set-aspect! *pc-settings* 2 1)))
|
|
(function "37 x 20" #f (lambda () (set-aspect! *pc-settings* 37 20)))
|
|
(function "21 x 9" #f (lambda () (set-aspect! *pc-settings* 21 9)))
|
|
(function "64 x 18" #f (lambda () (set-aspect! *pc-settings* 64 18)))
|
|
(int-var "Custom aspect X" #f ,(dm-lambda-int-var (-> *pc-settings* aspect-custom-x)) 20 1 #t 1 1000)
|
|
(int-var "Custom aspect Y" #f ,(dm-lambda-int-var (-> *pc-settings* aspect-custom-y)) 20 1 #t 1 1000)
|
|
(function "Custom" #f (lambda () (set-aspect! *pc-settings* (-> *pc-settings* aspect-custom-x) (-> *pc-settings* aspect-custom-y))))
|
|
)
|
|
(menu "Fullscreen"
|
|
(function "Windowed" #f (lambda () (set-display-mode! *pc-settings* 'windowed)))
|
|
(function "Fullscreen" #f (lambda () (set-display-mode! *pc-settings* 'fullscreen)))
|
|
(function "Borderless" #f (lambda () (set-display-mode! *pc-settings* 'borderless)))
|
|
)
|
|
(menu "Sizes"
|
|
(function "640 x 480" #f (lambda () (set-size! *pc-settings* 640 480)))
|
|
(function "640 x 360" #f (lambda () (set-size! *pc-settings* 640 360)))
|
|
(function "720 x 540" #f (lambda () (set-size! *pc-settings* 720 540)))
|
|
(function "960 x 540" #f (lambda () (set-size! *pc-settings* 960 540)))
|
|
(function "800 x 600" #f (lambda () (set-size! *pc-settings* 800 600)))
|
|
(function "960 x 720" #f (lambda () (set-size! *pc-settings* 960 720)))
|
|
(function "1280 x 720" #f (lambda () (set-size! *pc-settings* 1280 720)))
|
|
(function "1024 x 768" #f (lambda () (set-size! *pc-settings* 1024 768)))
|
|
(function "1366 x 768" #f (lambda () (set-size! *pc-settings* 1366 768)))
|
|
(function "1280 x 960" #f (lambda () (set-size! *pc-settings* 1280 960)))
|
|
(function "1440 x 1080" #f (lambda () (set-size! *pc-settings* 1440 1080)))
|
|
(function "1920 x 1080" #f (lambda () (set-size! *pc-settings* 1920 1080)))
|
|
(function "1920 x 1440" #f (lambda () (set-size! *pc-settings* 1920 1440)))
|
|
(function "2560 x 1440" #f (lambda () (set-size! *pc-settings* 2560 1440)))
|
|
(function "2880 x 2160" #f (lambda () (set-size! *pc-settings* 2880 2160)))
|
|
(function "3840 x 2160" #f (lambda () (set-size! *pc-settings* 3840 2160)))
|
|
(function "512 x 224" #f (lambda () (set-size! *pc-settings* 512 224)))
|
|
(function "512 x 256" #f (lambda () (set-size! *pc-settings* 512 256)))
|
|
(function "512 x 448" #f (lambda () (set-size! *pc-settings* 512 448)))
|
|
(function "512 x 512" #f (lambda () (set-size! *pc-settings* 512 512)))
|
|
)
|
|
(flag "Letterbox" #f ,(dm-lambda-boolean-flag (-> *pc-settings* letterbox?)))
|
|
;(flag "Skip movies" #f ,(dm-lambda-boolean-flag (-> *pc-settings* skip-movies?)))
|
|
(flag "Money starburst" #f ,(dm-lambda-boolean-flag (-> *pc-settings* money-starburst?)))
|
|
(flag "Subtitles" #f ,(dm-lambda-boolean-flag (-> *pc-settings* subtitles?)))
|
|
;(flag "Hinttitles" #f ,(dm-lambda-boolean-flag (-> *pc-settings* hinttitles?)))
|
|
(menu "Subtitle speaker"
|
|
(flag "Off" #f dm-subtitle-setting)
|
|
(flag "On" #t dm-subtitle-setting)
|
|
(flag "Auto" auto dm-subtitle-setting)
|
|
)
|
|
(menu "Subtitle language"
|
|
(flag "english" 0 dm-subtitle-language)
|
|
(flag "spanish" 3 dm-subtitle-language)
|
|
(flag "uk-english" 6 dm-subtitle-language)
|
|
)
|
|
(flag "Discord RPC" #t ,(dm-lambda-boolean-flag (-> *pc-settings* discord-rpc?)))
|
|
(menu "PS2 settings"
|
|
;(flag "PS2 Load speed" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-read-speed?)))
|
|
(flag "PS2 Particles" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-parts?)))
|
|
;(flag "PS2 Music" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-music?)))
|
|
;(flag "PS2 Sound effects" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-se?)))
|
|
;(flag "PS2 Hints" #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-hints?)))
|
|
)
|
|
(menu "Level of detail"
|
|
(flag "PS2 LOD " #f ,(dm-lambda-boolean-flag (-> *pc-settings* ps2-lod-dist?)))
|
|
(int-var "LOD Tfrag" 0 dm-lod-int 0 1 #t 0 2)
|
|
(int-var "LOD Tie" 1 dm-lod-int 0 1 #t 0 3)
|
|
;(int-var "LOD Ocean" 2 dm-lod-int 0 1 #t 0 3)
|
|
(int-var "LOD Actor" 3 dm-lod-int 0 1 #t 0 3)
|
|
(function "Best quality" #f (lambda () (set! (-> *pc-settings* lod-force-tfrag) 0)
|
|
(set! (-> *pc-settings* lod-force-tie) 0)
|
|
;(set! (-> *pc-settings* lod-force-ocean) 0)
|
|
(set! (-> *pc-settings* lod-force-actor) 0)
|
|
))
|
|
(function "Worst quality" #f (lambda () (set! (-> *pc-settings* lod-force-tfrag) 2)
|
|
(set! (-> *pc-settings* lod-force-tie) 3)
|
|
;(set! (-> *pc-settings* lod-force-ocean) 2)
|
|
(set! (-> *pc-settings* lod-force-actor) 3)
|
|
))
|
|
)
|
|
;(flag "Alt load boundaries" #f ,(dm-lambda-boolean-flag (-> *pc-settings* new-lb?)))
|
|
(flag "All actors" #f ,(dm-lambda-boolean-flag (-> *pc-settings* force-actors?)))
|
|
(flag "Display actor counts" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-actor-counts)))
|
|
(flag "Display git commit" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-sha)))
|
|
(flag "Extra hud elements" #f ,(dm-lambda-boolean-flag (-> *pc-settings* extra-hud?)))
|
|
(flag "Music fadein" #f ,(dm-lambda-boolean-flag (-> *pc-settings* music-fadein?)))
|
|
(flag "Music fadeout" #f ,(dm-lambda-boolean-flag (-> *pc-settings* music-fadeout?)))
|
|
(function "Reset" #f (lambda () (reset *pc-settings*)))
|
|
(function "Save" #f (lambda () (commit-to-file *pc-settings*)))
|
|
(function "Load" #f (lambda () (load-settings *pc-settings*)))
|
|
)
|
|
)
|
|
)
|
|
(let* ((prog-menu (new 'debug 'debug-menu *debug-menu-context* "Progress menu"))
|
|
(prog-menu-node (new-dm-submenu "Progress" prog-menu))
|
|
(other-menu-node
|
|
(debug-menu-make-from-template *debug-menu-context*
|
|
'(menu "Other"
|
|
(flag "DECI Count" *display-deci-count* dm-boolean-toggle-pick-func)
|
|
;(flag "Actor graph" *display-actor-graph* dm-boolean-toggle-pick-func)
|
|
(flag "Update vis outside bsp" *update-leaf-when-outside-bsp* dm-boolean-toggle-pick-func)
|
|
(flag "Pad display" #f ,(dm-lambda-boolean-flag (-> *pc-settings* debug-pad-display)))
|
|
(flag "Display actor bank" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-actor-bank)))
|
|
(flag "Heap status" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-heap-status)))
|
|
(flag "Bug report" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-bug-report)))
|
|
(flag "Text boxes" #f ,(dm-lambda-boolean-flag (-> *pc-settings* display-text-box)))
|
|
(float-var "Actor birth dist" #f ,(dm-lambda-meters-var (-> *ACTOR-bank* birth-dist)) 20 1 #t 0 10000 1)
|
|
(float-var "Actor pause dist" #f ,(dm-lambda-meters-var (-> *ACTOR-bank* pause-dist)) 20 1 #t 0 10000 1)
|
|
(menu "Mood override"
|
|
(function "-- SIMPLE OVERRIDE" #f nothing)
|
|
(flag "Palette 0" 0 dm-mood-override-palette-pick-func)
|
|
(flag "Palette 1" 1 dm-mood-override-palette-pick-func)
|
|
(flag "Palette 2" 2 dm-mood-override-palette-pick-func)
|
|
(flag "Palette 3" 3 dm-mood-override-palette-pick-func)
|
|
(flag "Palette 4" 4 dm-mood-override-palette-pick-func)
|
|
(flag "Palette 5" 5 dm-mood-override-palette-pick-func)
|
|
(flag "Palette 6" 6 dm-mood-override-palette-pick-func)
|
|
(flag "Palette 7" 7 dm-mood-override-palette-pick-func)
|
|
(menu "Advanced"
|
|
(flag "Overwrite" copy dm-mood-override-pick-func)
|
|
(flag "Multiply" mult dm-mood-override-pick-func)
|
|
(float-fixed-var "Palette 0 Amt" 0 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
(float-fixed-var "Palette 1 Amt" 1 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
(float-fixed-var "Palette 2 Amt" 2 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
(float-fixed-var "Palette 3 Amt" 3 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
(float-fixed-var "Palette 4 Amt" 4 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
(float-fixed-var "Palette 5 Amt" 5 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
(float-fixed-var "Palette 6 Amt" 6 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
(float-fixed-var "Palette 7 Amt" 7 dm-mood-palette-float 0 10 #t 0 1000 3)
|
|
)
|
|
)
|
|
)
|
|
))
|
|
(other-menu (-> (the-as debug-menu-item-submenu other-menu-node) submenu))
|
|
)
|
|
(dotimes (i 35)
|
|
(debug-menu-append-item prog-menu
|
|
(new-dm-func (new 'debug 'string 0 (enum->string progress-screen i)) i
|
|
(lambda ((val progress-screen))
|
|
(activate-progress *dproc* val)
|
|
(set-master-mode 'progress)
|
|
)
|
|
))
|
|
)
|
|
(debug-menu-append-item other-menu prog-menu-node)
|
|
|
|
(debug-menu-append-item (-> *debug-menu-context* root-menu) other-menu-node)
|
|
)
|
|
|
|
(debug-menu-append-item (-> (the debug-menu-item-submenu (ref (-> *debug-menu-context* root-menu items) 4)) submenu)
|
|
(debug-menu-make-collision-renderer-menu *debug-menu-context*))
|
|
|
|
(debug-menu-append-item (-> (the debug-menu-item-submenu (car (-> *debug-menu-context* root-menu items))) submenu)
|
|
(debug-menu-make-anim-tester-x-menu *debug-menu-context*))
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
|
|
|
(defun bg-custom ((level-name symbol))
|
|
"Modified version of bg for the PC Port custom levels."
|
|
|
|
;; lookup info
|
|
(format 0 "(bg-custom ~A)%" level-name)
|
|
(let ((lev-info (lookup-level-info level-name)))
|
|
(when (= lev-info default-level)
|
|
(format 0 "Unable to (bg-custom ~A), the level was not found in *level-load-list*~%" level-name)
|
|
(return #f)
|
|
)
|
|
|
|
;; kill jak (rip)
|
|
(format 0 "doing stop~%")
|
|
(stop 'play)
|
|
|
|
;; kill levels
|
|
(dotimes (i 2)
|
|
(unload! (-> *level* data i))
|
|
)
|
|
|
|
;; enable visiblity. the custom level won't use it, but we want it on so other levels can be loaded.
|
|
(set! (-> *level* vis?) #t)
|
|
|
|
;; disable border and play mode to prevent loading levels
|
|
(set! (-> *level* border?) #f)
|
|
(set! (-> *setting-control* default border-mode) #f)
|
|
(set! (-> *level* play?) #f)
|
|
|
|
;; disable actor vis
|
|
(set! *vis-actors* #f)
|
|
|
|
(format 0 "doing level load~%")
|
|
;; allocate level. This may start the loading process, but won't finish it.
|
|
(let ((lev (level-get-for-use *level* level-name 'active)))
|
|
(when (not lev)
|
|
(format 0 "Unable to load level, could not level-get-for-use~%")
|
|
(return #f)
|
|
)
|
|
(format 0 "about to start load loop, game will freeze and hopefully come back soon~%")
|
|
|
|
;; spin in a loop and load it. This will cause the game to freeze during the load,
|
|
;; but this is good enough for now.
|
|
(while (or (= (-> lev status) 'loading)
|
|
(= (-> lev status) 'loading-bt)
|
|
(= (-> lev status) 'login)
|
|
)
|
|
(load-continue lev)
|
|
)
|
|
|
|
(when (not (-> lev info continues))
|
|
(format 0 "level info has no continues, can't load it.~%")
|
|
)
|
|
|
|
(let ((cont (car (-> lev info continues))))
|
|
(start 'play (the continue-point cont))
|
|
)
|
|
|
|
(vis-load lev)
|
|
(set! (-> lev all-visible?) #f)
|
|
(set! (-> lev force-all-visible?) #t)
|
|
|
|
;; reset things
|
|
;(initialize! *game-info* 'game (the-as game-save #f) (the-as string #f))
|
|
)
|
|
)
|
|
) |