jak-project/goal_src/jak2/engine/debug/default-menu.gc
Tyler Wilding f1de2c9bc5
g/j2: add some debug menu options to unlock things and give orbs/gems/ammo (#3539)
Adds some debug options that make it easier to quickly complete the
game, get orbs, unlock cheats, etc.


![image](https://github.com/open-goal/jak-project/assets/13153231/8854dc42-084a-457e-ae9b-e9ba2dd7917c)
2024-05-27 22:58:52 -04:00

6186 lines
256 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: default-menu.gc
;; name in dgo: default-menu
;; dgos: ENGINE, GAME
(declare-type debug-menu-context basic)
(defenum dm-time-of-day-setting
:type int64
(7am-sunrise)
(10am-morning)
(12pm-noon)
(2pm-afternoon)
(6pm-sunset)
(7pm-twilight)
(11pm-evening)
(4am-green-sun)
(fast-mode))
(defenum dm-time-of-day-palette-settings
:type int64
(palette-0)
(palette-1)
(palette-2)
(palette-3)
(palette-4)
(palette-5)
(palette-6)
(palette-7))
;; og:ignore-form:all-texture-tweak-adjust
(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)
)
;; DECOMP BEGINS
;; this file is debug only
(declare-file (debug))
(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)
(set-setting-by-param *setting-control* 'mode-name (-> arg0 name) 0 0)
)
(if *camera*
(send-event *camera* 'query-state arg0)
(not arg0)
)
)
(defun dm-cam-mode-default ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(remove-setting-by-arg0 *setting-control* 'mode-name)
)
(not (setting-control-method-14 *setting-control* 'mode-name))
)
(defun dm-cam-settings-default ((arg0 object) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(remove-setting-by-arg0 *setting-control* 'fov)
(remove-setting-by-arg0 *setting-control* 'slave-options)
)
(and (not (setting-control-method-14 *setting-control* 'fov))
(not (setting-control-method-14 *setting-control* 'slave-options))
)
)
(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 (cam-slave-options BUTT_CAM))
)
((= arg0 1)
(send-event *camera* 'toggle-slave-option (cam-slave-options SAME_SIDE))
)
((= arg0 2)
(send-event *camera* 'toggle-slave-option (cam-slave-options MOVE_SPHERICAL))
)
((= arg0 3)
(send-event *camera* 'toggle-slave-option (cam-slave-options DRAG))
)
((= arg0 4)
(send-event *camera* 'toggle-slave-option (cam-slave-options ALLOW_Z_ROT))
)
((= arg0 6)
(set-setting-by-param *setting-control* 'slave-options 'clear 0 16)
)
((= arg0 7)
(send-event *camera* 'toggle-slave-option (cam-slave-options FIND_HIDDEN_TARGET))
)
((= arg0 8)
(send-event *camera* 'toggle-slave-option (cam-slave-options COLLIDE))
)
((= arg0 9)
(send-event *camera* 'toggle-slave-option (cam-slave-options LINE_OF_SIGHT))
)
((= arg0 10)
(send-event *camera* 'toggle-slave-option (cam-slave-options NO_ROTATE))
)
((= arg0 11)
(send-event *camera* 'toggle-slave-option (cam-slave-options STICKY_ANGLE))
)
)
)
(cond
(*camera*
(cond
((zero? arg0)
(logtest? (-> *camera* slave-options) 1)
)
((= 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 6)
(not (setting-control-method-14 *setting-control* 'slave-options))
)
((= arg0 7)
(logtest? (-> *camera* slave-options) 64)
)
((= arg0 8)
(logtest? (-> *camera* slave-options) 32)
)
((= arg0 9)
(logtest? (-> *camera* slave-options) 512)
)
((= arg0 10)
(logtest? (-> *camera* slave-options) #x4000)
)
((= arg0 11)
(logtest? (-> *camera* slave-options) #x8000)
)
(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-setting-float ((arg0 float) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
(when (= arg1 (debug-menu-msg press))
(let ((v1-2 arg0))
(when (= (the-as int v1-2) 'fov)
(if (not (setting-control-method-14 *setting-control* 'fov))
(set! arg2 64.0)
)
(set-setting-by-param *setting-control* 'fov #f (* 182.04445 arg2) 0)
(if *camera-combiner*
(set! (-> *camera-combiner* fov) (* 182.04445 arg2))
)
(if (and *camera* (-> *camera* slave))
(set! (-> *camera* slave 0 fov) (* 182.04445 arg2))
)
)
)
)
(cond
((= (the-as int arg0) 'fov)
(cond
((setting-control-method-14 *setting-control* 'fov)
(empty)
arg2
)
(*math-camera*
(* 0.005493164 (-> *math-camera* fov))
)
(else
arg3
)
)
)
(else
arg3
)
)
)
(defun dm-cam-render-float ((arg0 int) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
(when (= arg1 (debug-menu-msg press))
(when (zero? (/ arg0 8))
(when *math-camera*
(set! (-> *math-camera* fov) (* 182.04445 arg2))
(update-math-camera
*math-camera*
(-> *setting-control* user-current video-mode)
(-> *setting-control* user-current aspect-ratio)
(-> *math-camera* fov)
)
)
)
)
(cond
((zero? (/ arg0 8))
(cond
(*math-camera*
(* 0.005493164 (-> *math-camera* 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 7) (* 4096.0 arg2))
)
)
(('far)
(if (and *math-camera* *subdivide-settings*)
(set! (-> *subdivide-settings* far 7) (* 4096.0 arg2))
)
)
)
)
(case arg0
(('close)
(if (and *math-camera* *subdivide-settings*)
(* 0.00024414062 (-> *subdivide-settings* close 7))
arg3
)
)
(('far)
(if (and *math-camera* *subdivide-settings*)
(* 0.00024414062 (-> *subdivide-settings* far 7))
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-select-race-path ((arg0 object) (arg1 debug-menu-msg) (arg2 int))
(if (= arg1 (debug-menu-msg press))
(set! *select-race-path* arg2)
)
*select-race-path*
)
(defun dm-setting-language ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default language) (the-as language-enum (/ arg0 8)))
)
(= (-> *setting-control* user-default language) (/ arg0 8))
)
(defun dm-setting-subtitle-language ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default subtitle-language) (the-as language-enum (/ arg0 8)))
)
(= (-> *setting-control* user-default subtitle-language) (/ arg0 8))
)
(defun dm-setting-stereo-mode ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default stereo-mode) (the-as int (/ (the-as int arg0) 8)))
)
(= (-> *setting-control* user-default stereo-mode) (/ (the-as int 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-current-continue-forced *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* (the-as subdivide-setting (/ arg0 8)))
)
(= (/ arg0 8) *subdivide-draw-mode*)
)
(defun dm-scissor-subdiv-draw-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *subdivide-scissor-draw-mode* (the-as subdivide-setting (/ arg0 8)))
)
(= (/ arg0 8) *subdivide-scissor-draw-mode*)
)
(defun dm-foreground-subdiv-draw-func ((arg0 int) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(set! *subdivide-foreground-draw-mode* (the-as subdivide-setting (/ arg0 8)))
(let ((v1-3 *generic-consts*)
(a1-1 (/ arg0 8))
)
(cond
((zero? a1-1)
(set! (-> v1-3 base-strgif str-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :tme #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
(set! (-> v1-3 base-strgif fan-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :tme #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
)
((= a1-1 1)
(set! (-> v1-3 base-strgif str-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type line-strip) :iip #x1 :tme #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
(set! (-> v1-3 base-strgif fan-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type line-strip) :iip #x1 :tme #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
)
((= a1-1 2)
(set! (-> v1-3 base-strgif str-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type tri-strip) :iip #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
(set! (-> v1-3 base-strgif fan-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
)
((= a1-1 3)
(set! (-> v1-3 base-strgif str-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type line-strip) :iip #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
(set! (-> v1-3 base-strgif fan-prim)
(new 'static 'gif-tag-prim
:pre #x1
:prim (new 'static 'gs-prim :prim (gs-prim-type tri-fan) :iip #x1 :fge #x1 :abe #x1)
:nreg #x3
)
)
)
)
)
)
(= (/ arg0 8) *subdivide-foreground-draw-mode*)
)
(defun dm-col-rend-on-func ((arg0 object) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 draw?) (not (-> v1-0 draw?)))
)
(-> v1-0 draw?)
)
)
(defun dm-col-rend-outline-func ((arg0 object) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 outline?) (not (-> v1-0 outline?)))
)
(-> v1-0 outline?)
)
)
(defun dm-col-rend-back-face-func ((arg0 object) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 show-back-faces?) (not (-> v1-0 show-back-faces?)))
)
(-> v1-0 show-back-faces?)
)
)
(defun dm-col-rend-normals-func ((arg0 object) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 show-normals?) (not (-> v1-0 show-normals?)))
)
(-> v1-0 show-normals?)
)
)
(defun dm-col-rend-ghost-hidden-func ((arg0 object) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 ghost-hidden?) (not (-> v1-0 ghost-hidden?)))
)
(-> v1-0 ghost-hidden?)
)
)
(defun dm-col-rend-track-func ((arg0 int) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 track) (the-as uint (/ arg0 8)))
)
(= (/ arg0 8) (-> v1-0 track))
)
)
(defun dm-col-rend-show-only-toggle-func ((arg0 uint) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(when (= arg1 (debug-menu-msg press))
(logxor! (-> v1-0 show-only) arg0)
(logand! (-> v1-0 show-only) -57)
)
(logtest? (-> v1-0 show-only) arg0)
)
)
(defun dm-col-rend-show-only-set-func ((arg0 uint) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 show-only) arg0)
)
(= (-> v1-0 show-only) arg0)
)
)
(defun dm-col-rend-cspec-toggle ((arg0 uint) (arg1 debug-menu-msg))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(logxor! (-> v1-0 cspec) (the-as uint arg0))
)
(logtest? (-> v1-0 cspec) arg0)
)
)
(defun dm-col-rend-size ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 bbox-radius) (* 2048.0 arg2))
)
(* 0.00024414062 (* 2.0 (-> v1-0 bbox-radius)))
)
)
(defun dm-col-rend-cam-dist ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(let ((v1-0 *col-rend*))
(if (= arg1 (debug-menu-msg press))
(set! (-> v1-0 camera-to-bbox-dist) (* 4096.0 arg2))
)
(* 0.00024414062 (-> v1-0 camera-to-bbox-dist))
)
)
(defun dm-ocean-height-func ((arg0 ocean-height-hack) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(set! *ocean-height-hack* (the-as ocean-height-hack (/ (the-as int arg0) 8)))
(let* ((v1-3 (/ (the-as int arg0) 8))
(f0-0 (cond
((= v1-3 2)
-16384000.0
)
((= v1-3 3)
-216498.17
)
((= v1-3 4)
-265650.2
)
((= v1-3 5)
-314802.2
)
((= v1-3 6)
-368050.2
)
(else
0.0
)
)
)
)
(set-height! *ocean-map-sewer* f0-0)
)
)
(= (/ (the-as int arg0) 8) *ocean-height-hack*)
)
(defun dm-ocean-subdiv-draw-func ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *subdivide-ocean-draw-mode* (the-as subdivide-setting (/ (the-as int arg0) 8)))
)
(= (/ (the-as int arg0) 8) *subdivide-ocean-draw-mode*)
)
(defun dm-time-of-day-func ((arg0 dm-time-of-day-setting) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(cond
((zero? (/ (the-as int arg0) 8))
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 7)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 1)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 10)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 2)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 12)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 3)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 14)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 4)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 18)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 5)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 19)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 6)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 23)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 7)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(send-event (ppointer->process *time-of-day*) 'change 'hour 4)
(set! (-> *time-of-day-context* mode) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
)
((= (/ (the-as int arg0) 8) 8)
(send-event
(ppointer->process *time-of-day*)
'dest-clock-ratio-set
(if *time-of-day-fast*
#x42700000
#x3f800000
)
(seconds 2)
)
)
(else
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
(set! (-> *time-of-day-context* mode)
(logand (logxor (-> *time-of-day-context* mode) (the-as uint (/ (the-as int arg0) 8)))
(time-of-day-palette-id palette-0 palette-1 palette-2 palette-3 palette-4 palette-5 palette-6 palette-7)
)
)
)
)
(send-event (ppointer->process *time-of-day*) 'change 'minutes 0)
(send-event (ppointer->process *time-of-day*) 'change 'seconds 0)
(send-event (ppointer->process *time-of-day*) 'change 'frames 0)
(set! *teleport-count* 1)
)
(cond
((< (the-as int (/ (the-as int arg0) 8)) 9)
(= (/ (the-as int arg0) 8) (-> *time-of-day-context* mode))
)
((< (the-as int (/ (the-as int arg0) 8)) 8)
#f
)
(else
(logtest? (-> *time-of-day-context* mode) (/ (the-as int arg0) 8))
)
)
)
(defun dm-time-of-day-func2 ((arg0 symbol) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(set! (-> arg0 value) (not (-> arg0 value)))
(if (nonzero? (send-event (ppointer->process *time-of-day*) 'ratio))
(send-event
(ppointer->process *time-of-day*)
'dest-clock-ratio-set
(if *time-of-day-fast*
#x42700000
#x3f800000
)
(seconds 2)
)
)
)
(-> arg0 value)
)
(defun dm-time-of-day-palette-func ((arg0 dm-time-of-day-palette-settings) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(set! (-> *time-of-day-context* overide-palette) (the-as time-of-day-palette-id (/ (the-as int arg0) 8)))
(cond
((zero? (/ (the-as int arg0) 8))
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-0))
)
((= (/ (the-as int arg0) 8) 1)
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-1))
)
((= (/ (the-as int arg0) 8) 2)
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-2))
)
((= (/ (the-as int arg0) 8) 3)
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-3))
)
((= (/ (the-as int arg0) 8) 4)
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-4))
)
((= (/ (the-as int arg0) 8) 5)
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-5))
)
((= (/ (the-as int arg0) 8) 6)
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-6))
)
((= (/ (the-as int arg0) 8) 7)
(set! (-> *time-of-day-context* mode) (time-of-day-palette-id palette-7))
)
)
(send-event (ppointer->process *time-of-day*) 'change 'ratio 0.0)
)
(cond
((zero? (/ (the-as int arg0) 8))
(= (-> *time-of-day-context* mode) 16)
)
((= (/ (the-as int arg0) 8) 1)
(= (-> *time-of-day-context* mode) 32)
)
((= (/ (the-as int arg0) 8) 2)
(= (-> *time-of-day-context* mode) 64)
)
((= (/ (the-as int arg0) 8) 3)
(= (-> *time-of-day-context* mode) 128)
)
((= (/ (the-as int arg0) 8) 4)
(= (-> *time-of-day-context* mode) 256)
)
((= (/ (the-as int arg0) 8) 5)
(= (-> *time-of-day-context* mode) 512)
)
((= (/ (the-as int arg0) 8) 6)
(= (-> *time-of-day-context* mode) 1024)
)
((= (/ (the-as int arg0) 8) 7)
(= (-> *time-of-day-context* mode) 2048)
)
)
)
(defun dm-boolean-toggle-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> arg0 value) (not (-> arg0 value)))
)
(-> arg0 value)
)
(defun dm-time-of-day-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
(time-of-day-setup (= arg1 (debug-menu-msg press)))
)
(defun dm-stats-memory-func ((arg0 int) (arg1 debug-menu-msg))
(let ((v1-0 (/ arg0 8)))
(if (= arg1 (debug-menu-msg press))
(set! *stats-memory-level-index* v1-0)
)
(= *stats-memory-level-index* v1-0)
)
)
(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-select-race-pick-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *select-race* (the-as race-selection (/ arg0 8)))
)
(= (/ arg0 8) *select-race*)
)
(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-game-feature-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(logxor! (-> *game-info* features) (the-as uint (/ arg0 8)))
(set! (-> *game-info* debug-features)
(logior (logclear (-> *game-info* debug-features) (/ arg0 8)) (logand (-> *game-info* features) (/ arg0 8)))
)
(if (logtest? (-> *game-info* features) (game-feature gun-yellow gun-red gun-blue gun-dark))
(logior! (-> *game-info* features) (game-feature gun))
(logclear! (-> *game-info* features) (game-feature gun))
)
(if (logtest? (-> *game-info* debug-features) (game-feature gun-yellow gun-red gun-blue gun-dark))
(logior! (-> *game-info* debug-features) (game-feature gun))
(logclear! (-> *game-info* debug-features) (game-feature gun))
)
)
(logtest? (-> *game-info* features) (/ arg0 8))
)
(defun dm-game-secret-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(logxor! (-> *game-info* secrets) (the-as uint (/ arg0 8)))
)
(logtest? (-> *game-info* secrets) (/ arg0 8))
)
(defun display-scene-control-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *display-scene-control* (logxor *display-scene-control* (the-as uint arg0)))
)
(logtest? *display-scene-control* arg0)
)
(defun display-scene-control-set-pick-func ((arg0 scene-controls) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *display-scene-control* arg0)
)
(= *display-scene-control* arg0)
)
(defun display-bot-marks-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *display-bot-marks* (logxor *display-bot-marks* (the-as uint arg0)))
)
(logtest? *display-bot-marks* arg0)
)
(defun display-bot-marks-set-pick-func ((arg0 bot-marks-controls) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *display-bot-marks* arg0)
)
(= *display-bot-marks* arg0)
)
(defun display-race-marks-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *display-race-marks* (logxor *display-race-marks* (the-as uint arg0)))
)
(logtest? *display-race-marks* arg0)
)
(defun display-race-marks-set-pick-func ((arg0 race-marks-controls) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *display-race-marks* arg0)
)
(= *display-race-marks* arg0)
)
(defun dm-vu1-user-toggle-pick-func ((arg0 vu1-renderer-mask) (arg1 debug-menu-msg))
(let ((v1-1 (ash 1 (/ (the-as int arg0) 8))))
(if (= arg1 (debug-menu-msg press))
(logxor! (-> *display* vu1-enable-user-menu) (the-as uint v1-1))
)
(logtest? (-> *display* vu1-enable-user-menu) v1-1)
)
)
(defun dm-vu1-user-all-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
(let ((v1-1 (the-as uint #x5fffffff8)))
(if (= arg1 (debug-menu-msg press))
(set! (-> *display* vu1-enable-user-menu) (the-as vu1-renderer-mask v1-1))
)
(= (-> *display* vu1-enable-user-menu) v1-1)
)
)
(defun dm-vu1-user-none-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
(let ((v1-0 0))
(if (= arg1 (debug-menu-msg press))
(set! (-> *display* vu1-enable-user-menu) (the-as vu1-renderer-mask v1-0))
)
(= (-> *display* vu1-enable-user-menu) v1-0)
)
)
(defun dm-texture-user-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(logxor! (-> *texture-pool* texture-enable-user-menu) (the-as uint arg0))
)
(logtest? (-> *texture-pool* 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-pool* texture-enable-user-menu) (the-as texture-enable-mask arg0))
)
(= (-> *texture-pool* 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* (the-as uint (/ arg0 8))))
)
(logtest? *display-strip-lines* (/ arg0 8))
)
(defun dm-strip-lines-set-pick-func ((arg0 strip-lines-controls) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *display-strip-lines* (the-as strip-lines-controls (/ (the-as int arg0) 8)))
)
(= *display-strip-lines* (/ (the-as int 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)
)
)
)
;; WARN: Return type mismatch int vs none.
(defun all-texture-tweak-adjust ((arg0 texture-page-dir) (arg1 float))
;; TODO - currently broken
(none)
)
(defun dm-float-field-tie-rvanish-func ((arg0 symbol) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
"NOTE - Weird cast, it's not an instance-tie...but it is?"
(let ((gp-0 (find-instance-by-name (the-as string (-> arg0 value)))))
(cond
(gp-0
(case (prototype-bucket-type gp-0)
((instance-tie)
(let* ((f0-0 (-> (the-as prototype-bucket-tie gp-0) tie-vanish-far))
(f1-2 (- f0-0 (/ 128.0 (-> (the-as prototype-bucket-tie gp-0) tie-rvanish))))
)
(let ((f2-1 (-> (the-as prototype-bucket-tie gp-0) dists w)))
(when (= arg1 (debug-menu-msg press))
(logior! (-> (the-as prototype-bucket-tie gp-0) flags) (prototype-flags vanish))
(set! f1-2 (fmax (fmin (* 4096.0 arg2) f0-0) (+ 4096.0 f2-1)))
(let ((f0-1 (fmax f0-0 (+ 4096.0 f1-2))))
(set! (-> (the-as prototype-bucket-tie gp-0) tie-rvanish) (/ 128.0 (- f0-1 f1-2)))
(set! (-> (the-as prototype-bucket-tie gp-0) tie-vanish-far) f0-1)
)
)
)
(* 0.00024414062 f1-2)
)
)
(else
(empty)
arg3
)
)
)
(else
(empty)
arg3
)
)
)
)
(defun dm-float-field-tie-vanish-far-func ((arg0 symbol) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
"NOTE - Weird cast, it's not an instance-tie...but it is?"
(let ((gp-0 (find-instance-by-name (the-as string (-> arg0 value)))))
(cond
(gp-0
(case (prototype-bucket-type gp-0)
((instance-tie)
(let ((f0-0 (-> (the-as prototype-bucket-tie gp-0) tie-vanish-far)))
(let ((f2-1 (- f0-0 (/ 128.0 (-> (the-as prototype-bucket-tie gp-0) tie-rvanish))))
(f1-2 (-> (the-as prototype-bucket-tie gp-0) dists w))
)
(when (= arg1 (debug-menu-msg press))
(logior! (-> (the-as prototype-bucket-tie gp-0) flags) (prototype-flags vanish))
(set! f0-0 (fmax (* 4096.0 arg2) (+ 4096.0 f2-1)))
(let ((f1-4 (fmax (fmin f2-1 f0-0) (+ 4096.0 f1-2))))
(set! (-> (the-as prototype-bucket-tie gp-0) tie-rvanish) (/ 128.0 (- f0-0 f1-4)))
)
(set! (-> (the-as prototype-bucket-tie gp-0) tie-vanish-far) f0-0)
)
)
(* 0.00024414062 f0-0)
)
)
(else
(empty)
arg3
)
)
)
(else
(empty)
arg3
)
)
)
)
(defun dm-bug-report-output-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! *bug-report-output-mode* arg0)
)
(= *bug-report-output-mode* arg0)
)
(defun dm-bug-report-report-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(bug-report-display arg0)
)
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))
;; WARN: Return type mismatch pair vs none.
(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)
)
;; WARN: Return type mismatch object vs basic.
(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)
)
)
(the-as basic (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) (prototype-flags disable))
)
(not (logtest? (-> v1-0 flags) (prototype-flags disable)))
)
(else
#f
)
)
)
)
(define *instance-shrub-menu* (the-as debug-menu #f))
(define *instance-tie-menu* (the-as debug-menu #f))
(define *enable-instance-shrub-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-shrub-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 'debug-menu-item-flag (-> 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)
)
(let ((a1-6
(new 'debug 'debug-menu-item-flag (-> s3-0 data s2-0 name) (-> s3-0 data s2-0 name) dm-enable-instance-func)
)
)
(set! (-> a1-6 is-on) #t)
(debug-menu-append-item *enable-instance-shrub-menu* a1-6)
)
)
)
)
((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-9
(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-9)
)
(let ((a1-11
(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-11 is-on) #t)
(debug-menu-append-item *enable-instance-tie-menu* a1-11)
)
)
)
)
)
)
)
)
)
)
)
(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-shrub-menu* items)
(sort
(-> *enable-instance-shrub-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 dm-scene-load-pick-func ((arg0 pair) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(let ((s5-0 *display-profile*))
(play-clean #f)
(set! *display-profile* s5-0)
)
(let ((s5-1 (car (cdr arg0))))
(when (and (type? s5-1 string) (or (string= (the-as string s5-1) "outro-palace")
(string= (the-as string s5-1) "outro-hiphog")
(string= (the-as string s5-1) "outro-port")
(string= (the-as string s5-1) "outro-nest")
)
)
(set! (-> palout memory-mode) (load-buffer-mode borrow))
(set! (-> hiphog memory-mode) (load-buffer-mode small-center))
)
(process-spawn scene-player :init scene-player-init s5-1 #t (car arg0))
)
(debug-menu-context-send-msg *debug-menu-context* (debug-menu-msg deactivate) (debug-menu-dest activation))
(set-master-mode 'game)
)
#f
)
;; WARN: Return type mismatch object vs 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)
(format #t " (set! (-> rot data 13) ~12F)~%" 0)
(format #t " (set! (-> rot data 14) ~12F)~%" 0)
(format #t " (set! (-> rot data 15) ~12F)~%" #x3f800000)
(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)~%")
(a2-25 (-> *display* frames (-> *display* last-screen) profile-array data 0))
)
(t9-31 a0-31 a1-31 (- (-> a2-25 data 0 end-time) (-> a2-25 data 0 start-time)))
)
(let ((t9-32 format)
(a0-32 #t)
(a1-32 " (set! *camera-old-vu* ~D)~%")
(a2-29 (-> *display* frames (-> *display* on-screen) profile-array data 1))
)
(t9-32 a0-32 a1-32 (- (-> a2-29 data 0 end-time) (-> a2-29 data 0 start-time)))
)
(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-scissor*)
(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 "Default" #f dm-cam-mode-default)))
(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 "Pov-track" cam-pov-track dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-15)
)
(let ((a1-17 (new 'debug 'debug-menu-item-flag "Decel" cam-decel dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-17)
)
(let ((a1-19 (new 'debug 'debug-menu-item-flag "Endless fall" cam-endlessfall dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-19)
)
(let ((a1-21 (new 'debug 'debug-menu-item-flag "Eye" cam-eye dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-21)
)
(let ((a1-23 (new 'debug 'debug-menu-item-flag "Stick" cam-stick dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-23)
)
(let ((a1-25 (new 'debug 'debug-menu-item-flag "String" cam-string dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-25)
)
(let ((a1-27 (new 'debug 'debug-menu-item-flag "Standoff" cam-standoff dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-27)
)
(let ((a1-29 (new 'debug 'debug-menu-item-flag "Circular" cam-circular dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-29)
)
(let ((a1-31 (new 'debug 'debug-menu-item-flag "Look At" cam-lookat dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-31)
)
(let ((a1-33 (new 'debug 'debug-menu-item-flag "Center of world" cam-point-watch dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-33)
)
(let ((a1-35 (new 'debug 'debug-menu-item-flag "Spline" cam-spline dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-35)
)
(let ((a1-37 (new 'debug 'debug-menu-item-flag "Bike" cam-bike dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-37)
)
(let ((a1-39 (new 'debug 'debug-menu-item-flag "Robotboss" cam-robotboss dm-cam-mode-func)))
(debug-menu-append-item arg1 a1-39)
)
)
(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 1.0 #t 15.0 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 "Default" #f dm-cam-settings-default)))
(debug-menu-append-item s4-1 a1-31)
)
(let ((s3-2 (new 'debug 'debug-menu-item-var "Fov" (the-as int 'fov) 80)))
(debug-menu-item-var-make-float
s3-2
(the-as (function int debug-menu-msg float float float) dm-cam-setting-float)
1.0
#t
15.0
180.0
1
)
(debug-menu-append-item s4-1 s3-2)
)
(let ((a1-36 (new 'debug 'debug-menu-item-flag "Butt cam" 0 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-36)
)
(let ((a1-38 (new 'debug 'debug-menu-item-flag "Same side" 1 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-38)
)
(let ((a1-40 (new 'debug 'debug-menu-item-flag "Move spherical" 2 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-40)
)
(let ((a1-42 (new 'debug 'debug-menu-item-flag "Drag" 3 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-42)
)
(let ((a1-44 (new 'debug 'debug-menu-item-flag "Allow Z rot" 4 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-44)
)
(let ((a1-46 (new 'debug 'debug-menu-item-flag "Pitch for jump" 6 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-46)
)
(let ((a1-48 (new 'debug 'debug-menu-item-flag "Find hidden target" 7 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-48)
)
(let ((a1-50 (new 'debug 'debug-menu-item-flag "Collide" 8 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-50)
)
(let ((a1-52 (new 'debug 'debug-menu-item-flag "Line of Sight" 9 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-52)
)
(let ((a1-54 (new 'debug 'debug-menu-item-flag "No Rotate" 10 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-54)
)
(let ((a1-56 (new 'debug 'debug-menu-item-flag "Sticky Angle" 11 dm-cam-settings-func)))
(debug-menu-append-item s4-1 a1-56)
)
(let ((s3-3 (new 'debug 'debug-menu-item-var "Interp Frms" 40 80)))
(debug-menu-item-var-make-int s3-3 dm-cam-settings-func-int 1 #f 0 0 #f)
(debug-menu-append-item s4-1 s3-3)
)
(let ((a1-61 (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-61)
)
(let ((a1-63
(new 'debug 'debug-menu-item-flag "last attacker" '*display-camera-last-attacker* dm-boolean-toggle-pick-func)
)
)
(debug-menu-append-item s4-1 a1-63)
)
(let ((a1-65 (new 'debug 'debug-menu-item-flag "old stats" '*display-camera-old-stats* dm-boolean-toggle-pick-func))
)
(debug-menu-append-item s4-1 a1-65)
)
(let ((a1-67 (new 'debug 'debug-menu-item-flag "xyz axes" '*display-xyz-axes* dm-boolean-toggle-pick-func)))
(debug-menu-append-item s4-1 a1-67)
)
(let ((a1-69
(new 'debug 'debug-menu-item-flag "Master Marks" '*display-cam-master-marks* dm-boolean-toggle-pick-func)
)
)
(debug-menu-append-item s4-1 a1-69)
)
(let ((a1-71 (new 'debug 'debug-menu-item-flag "Other Marks" '*display-cam-other* dm-boolean-toggle-pick-func)))
(debug-menu-append-item s4-1 a1-71)
)
(let ((a1-73 (new 'debug 'debug-menu-item-flag "los debug" '*display-cam-los-debug* dm-boolean-toggle-pick-func)))
(debug-menu-append-item s4-1 a1-73)
)
(let ((a1-75 (new 'debug 'debug-menu-item-flag "los info" '*display-cam-los-info* dm-boolean-toggle-pick-func)))
(debug-menu-append-item s4-1 a1-75)
)
(let ((a1-77 (new 'debug 'debug-menu-item-flag "los Marks" '*display-cam-los-marks* dm-boolean-toggle-pick-func)))
(debug-menu-append-item s4-1 a1-77)
)
(let ((a1-79 (new 'debug 'debug-menu-item-flag "coll Marks" '*display-cam-coll-marks* dm-boolean-toggle-pick-func))
)
(debug-menu-append-item s4-1 a1-79)
)
(let ((a1-81 (new 'debug 'debug-menu-item-flag "Camera Marks" '*display-camera-marks* dm-boolean-toggle-pick-func))
)
(debug-menu-append-item s4-1 a1-81)
)
)
(let ((a1-83 (new 'debug 'debug-menu-item-flag "Edit" '*cam-layout* (lambda ((arg0 symbol) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(if (-> arg0 value)
(cam-layout-stop)
(cam-layout-start)
)
)
(-> arg0 value)
)
)
)
)
(debug-menu-append-item gp-0 a1-83)
)
(let ((a1-85 (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-85)
)
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))
(cond
(*texture-page-dir*
(let* ((s4-0 (the-as texture-id (-> arg0 value)))
(gp-0 (lookup-texture-by-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
)
)
)
)
0.1
#t
0.1
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 () (all-texture-tweak-adjust *texture-page-dir* 0.1) (none)))
)
)
)
(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 () (all-texture-tweak-adjust *texture-page-dir* -0.1) (none)))
)
)
)
(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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as
float
(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 (* (the-as int (-> a0-3 next (-> v1-1 index) shader)) 16))))
(while (nonzero? (the-as int a1-8))
(set! (-> (the-as adgif-shader a1-8) tex1 k) (the-as int 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))
(sar (shl (the-as int (the-as adgif-shader (-> (the-as adgif-shader v1-8) tex1))) 20) 52)
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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as
float
(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 (* (the-as int (-> a0-3 next (-> v1-1 index) shader)) 16))))
(while (nonzero? (the-as int a1-8))
(set! (-> (the-as adgif-shader a1-8) tex0 tfx) (the-as int 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))
(shr (shl (the-as int (the-as adgif-shader (-> (the-as adgif-shader v1-8) tex0))) 27) 62)
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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as
float
(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 (* (the-as int (-> a0-3 next (-> v1-1 index) shader)) 16))))
(while (nonzero? (the-as int a1-8))
(set! (-> (the-as adgif-shader a1-8) tex0 th) (the-as int 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))
(shr (shl (the-as int (the-as adgif-shader (-> (the-as adgif-shader v1-8) tex0))) 30) 60)
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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as float (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) (the-as int 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 float) (arg3 float))
(the-as
float
(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 (* (the-as int (-> a0-3 next (-> v1-1 index) shader)) 16))))
(while (nonzero? (the-as int a1-8))
(set! (-> (the-as adgif-shader a1-8) clamp minv) (the-as int 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))
(shr (shl (the-as int (the-as adgif-shader (-> (the-as adgif-shader v1-8) clamp))) 30) 54)
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 float) (arg3 float))
(the-as
float
(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 (* (the-as int (-> a0-3 next (-> v1-1 index) shader)) 16))))
(while (nonzero? (the-as int a1-8))
(set! (-> (the-as adgif-shader a1-8) clamp maxv) (the-as int 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))
(shr (shl (the-as int (the-as adgif-shader (-> (the-as adgif-shader v1-8) clamp))) 20) 54)
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 build-instance-list)))
(debug-menu-append-item gp-0 a1-9)
)
(let ((a1-11
(new 'debug 'debug-menu-item-function "Print Info" #f (the-as (function object object) print-prototype-list))
)
)
(debug-menu-append-item gp-0 a1-11)
)
(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 symbol) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
(let ((gp-0 (find-instance-by-name (the-as string (-> arg0 value)))))
(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
)
)
)
)
)
1.0
#t
10.0
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 symbol) (arg1 debug-menu-msg) (arg2 float) (arg3 float))
(let ((gp-0 (find-instance-by-name (the-as string (-> arg0 value)))))
(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
)
)
)
)
)
1.0
#t
10.0
250.0
1
)
(debug-menu-append-item gp-0 s3-1)
)
(let ((s3-2 (new 'debug 'debug-menu-item-var "tie vanish near" (the-as int '*edit-instance*) 80)))
(debug-menu-item-var-make-float
s3-2
(the-as (function int debug-menu-msg float float float) dm-float-field-tie-rvanish-func)
1.0
#t
10.0
250.0
1
)
(debug-menu-append-item gp-0 s3-2)
)
(let ((s3-3 (new 'debug 'debug-menu-item-var "tie vanish far" (the-as int '*edit-instance*) 80)))
(debug-menu-item-var-make-float
s3-3
(the-as (function int debug-menu-msg float float float) dm-float-field-tie-vanish-far-func)
1.0
#t
10.0
250.0
1
)
(debug-menu-append-item gp-0 s3-3)
)
(let ((a1-25 (new 'debug 'debug-menu-item-flag "invisible" 1 dm-edit-instance-toggle-pick-func)))
(debug-menu-append-item gp-0 a1-25)
)
(let ((a3-18 (new 'debug 'debug-menu arg0 "Enable Instance Shrub Menu")))
(set! *enable-instance-shrub-menu* a3-18)
(let ((a1-28 (new 'debug 'debug-menu-item-submenu "Enable Shrub" a3-18)))
(debug-menu-append-item gp-0 a1-28)
)
)
(let ((a3-20 (new 'debug 'debug-menu arg0 "Enable Instance Tie Menu")))
(set! *enable-instance-tie-menu* a3-20)
(let ((a1-31 (new 'debug 'debug-menu-item-submenu "Enable Tie" a3-20)))
(debug-menu-append-item gp-0 a1-31)
)
)
(let ((a1-33
(new 'debug 'debug-menu-item-flag "Instance Info" '*display-instance-info* dm-boolean-toggle-pick-func)
)
)
(debug-menu-append-item gp-0 a1-33)
)
s5-0
)
)
(defun dm-task-menu-pick-func ((arg0 game-task) (arg1 debug-menu-msg))
(let ((gp-0 (/ (the-as int arg0) 8)))
(when (= arg1 (debug-menu-msg press))
(if (cpad-hold? 0 l1)
(task-node-open! (the-as game-task-node gp-0))
(task-node-close! (the-as game-task-node gp-0))
)
)
(if (and (not (task-node-closed? (the-as game-task-node gp-0)))
(not (task-node-open? (the-as game-task-node gp-0)))
)
(return 'invalid)
)
(task-node-closed? (the-as game-task-node gp-0))
)
)
(defun debug-menu-make-continue-sub-menu ((arg0 game-info) (arg1 symbol))
(local-vars
(sv-16 (function symbol type object object pair))
(sv-32 symbol)
(sv-48 type)
(sv-64 symbol)
(sv-80 (function symbol type object object pair))
(sv-96 symbol)
(sv-112 type)
(sv-128 string)
(sv-144 (function symbol type object object pair))
(sv-160 symbol)
(sv-176 type)
(sv-192 string)
)
(let ((s4-0 *level-load-list*)
(s5-0 '())
)
(while (not (null? s4-0))
(let ((v1-1 (-> (the-as symbol (car s4-0)) value)))
(when (or (= arg1 'test) (= (-> (the-as level-load-info v1-1) taskname) arg1))
(let ((s3-0 (-> (the-as level-load-info v1-1) continues)))
(while (not (null? s3-0))
(let ((v1-2 (car s3-0))
(a0-5 arg1)
)
(when (if (= a0-5 'test)
(logtest? (continue-flags test) (-> (the-as continue-point v1-2) flags))
#t
)
(let ((s2-0 (method-of-type pair new))
(s1-0 'debug)
(s0-0 pair)
)
(set! sv-16 (method-of-type pair new))
(set! sv-32 'debug)
(set! sv-48 pair)
(set! sv-64 'flag)
(set! sv-80 (method-of-type pair new))
(set! sv-96 'debug)
(set! sv-112 pair)
(set! sv-128 (-> (the-as continue-point v1-2) name))
(set! sv-144 (method-of-type pair new))
(set! sv-160 'debug)
(set! sv-176 pair)
(set! sv-192 (-> (the-as continue-point v1-2) name))
(let* ((a3-1 (dcons 'dm-current-continue '()))
(a3-2 (sv-144 sv-160 sv-176 sv-192 a3-1))
(a3-3 (sv-80 sv-96 sv-112 sv-128 a3-2))
)
(set! s5-0 (s2-0 s1-0 s0-0 (sv-16 sv-32 sv-48 sv-64 a3-3) s5-0))
)
)
)
)
(set! s3-0 (cdr s3-0))
)
)
)
)
(set! s4-0 (cdr s4-0))
)
(let ((a3-5 '()))
(let ((a2-6 (car s5-0)))
(while (not (null? s5-0))
(set! a3-5 (dcons a2-6 a3-5))
(set! s5-0 (cdr s5-0))
(set! a2-6 (car s5-0))
)
)
(dcons 'menu (dcons (symbol->string arg1) a3-5))
)
)
)
(defun debug-menu-make-task-sub-menu ((arg0 symbol))
"TODO - need to know more about game-info"
(local-vars
(sv-16 (function symbol type object object pair))
(sv-32 symbol)
(sv-48 type)
(sv-64 symbol)
(sv-80 (function symbol type object object pair))
(sv-96 symbol)
(sv-112 type)
(sv-128 string)
(sv-144 (function symbol type object object pair))
(sv-160 symbol)
(sv-176 type)
(sv-192 int)
)
(let ((gp-0 '()))
(let ((s4-0 (-> *game-info* sub-task-list)))
(countdown (s3-0 (-> s4-0 length))
(when (nonzero? s3-0)
(let ((v1-4 (-> s4-0 s3-0)))
(when (= (-> v1-4 level) arg0)
(let ((s2-0 (method-of-type pair new))
(s1-0 'debug)
(s0-0 pair)
)
(set! sv-16 (method-of-type pair new))
(set! sv-32 'debug)
(set! sv-48 pair)
(set! sv-64 'flag)
(set! sv-80 (method-of-type pair new))
(set! sv-96 'debug)
(set! sv-112 pair)
(set! sv-128 (-> v1-4 name))
(set! sv-144 (method-of-type pair new))
(set! sv-160 'debug)
(set! sv-176 pair)
(set! sv-192 (* s3-0 8))
(let* ((a3-1 (dcons 'dm-task-menu-pick-func '()))
(a3-2 (sv-144 sv-160 sv-176 sv-192 a3-1))
(a3-3 (sv-80 sv-96 sv-112 sv-128 a3-2))
)
(set! gp-0 (s2-0 s1-0 s0-0 (sv-16 sv-32 sv-48 sv-64 a3-3) gp-0))
)
)
)
)
)
)
)
(dcons 'menu (dcons (symbol->string arg0) gp-0))
)
)
(defun debug-menu-make-task-menu ((arg0 debug-menu-context))
(local-vars (sv-16 debug-menu-context))
(let* ((s5-0 (new 'debug 'debug-menu arg0 "Task menu"))
(s4-0 (new 'debug 'debug-menu-item-submenu "Task" s5-0))
)
(let* ((s3-0 '(city
fortress
stadium
palace
castle
ruins
atoll
sewer
strip
mountain
forest
drill
tomb
dig
canyon
consite
under
nest
default
test
)
)
(a0-3 (car s3-0))
)
(while (not (null? s3-0))
(let ((s2-0 debug-menu-append-item)
(s1-0 s5-0)
(s0-0 debug-menu-make-from-template)
)
(set! sv-16 arg0)
(let ((a1-2 (debug-menu-make-task-sub-menu (the-as symbol a0-3))))
(s2-0 s1-0 (s0-0 sv-16 a1-2))
)
)
(set! s3-0 (cdr s3-0))
(set! a0-3 (car s3-0))
)
)
s4-0
)
)
(defun dm-play-task-with-continue ((arg0 game-task) (arg1 string))
(let* ((t9-0 play-task)
(a1-1 'debug)
(a2-0 (cond
((cpad-hold? 0 l1)
'pre-play
)
((cpad-hold? 0 r1)
'kiosk
)
)
)
(a1-2 (t9-0 arg0 a1-1 a2-0))
)
(if arg1
(set! a1-2 arg1)
)
(start 'play (get-continue-by-name *game-info* a1-2))
)
(set-master-mode 'game)
0
(none)
)
(defun dm-play-task ((arg0 game-task))
(dm-play-task-with-continue (the-as game-task (/ (the-as int arg0) 8)) (the-as string #f))
(none)
)
(defun dm-play-race ((arg0 race-selection) (arg1 symbol))
(let ((s5-0 (the-as string #f))
(gp-0 0)
)
(case arg0
(((race-selection kiera-class3))
(set! gp-0 43)
(set! s5-0 "stadiumb-record-path")
)
(((race-selection kiera-class2))
(set! gp-0 55)
(set! s5-0 "stadiumc-record-path")
)
(((race-selection kiera-class1))
(set! gp-0 63)
(set! s5-0 "stadiumd-record-path")
)
(((race-selection errol))
(set! gp-0 57)
(set! s5-0 "ctyport-errol-record-path")
)
(((race-selection bush-class3))
(set! gp-0 104)
(set! s5-0 "stadiumb-record-path")
)
(((race-selection bush-class2))
(set! gp-0 105)
(set! s5-0 "stadiumc-record-path")
)
(((race-selection bush-class1))
(set! gp-0 106)
(set! s5-0 "stadiumd-record-path")
)
(((race-selection bush-errol))
(set! gp-0 101)
(set! s5-0 "ctyport-errol-record-path")
)
(((race-selection bush-port))
(set! gp-0 102)
(set! s5-0 "ctyport-race-record-path")
)
(((race-selection bush-class3-reverse))
(set! gp-0 107)
(set! s5-0 "stadiumb-record-path")
)
(((race-selection bush-class2-reverse))
(set! gp-0 108)
(set! s5-0 "stadiumc-record-path")
)
(((race-selection bush-class1-reverse))
(set! gp-0 109)
(set! s5-0 "stadiumd-record-path")
)
)
(if (not arg1)
(set! s5-0 (the-as string #f))
)
(format #t "dm-play-race starting task ~d continue ~s~%" gp-0 s5-0)
(if (nonzero? gp-0)
(dm-play-task-with-continue (the-as game-task gp-0) s5-0)
)
)
(none)
)
(defun debug-menu-make-play-menu ((arg0 debug-menu-context))
(local-vars
(sv-16 symbol)
(sv-32 type)
(sv-48 symbol)
(sv-64 (function symbol type object object pair))
(sv-80 symbol)
(sv-96 type)
(sv-112 string)
(sv-128 (function symbol type object object pair))
(sv-144 symbol)
(sv-160 type)
(sv-176 int)
)
(let ((gp-0 '()))
(countdown (s4-0 (-> *game-info* play-list length))
(let ((v1-4 (-> *game-info* play-list s4-0)))
(when (-> v1-4 play-continue)
(let ((s3-0 (method-of-type pair new))
;; og:preserve-this allocate on debug heap
(s2-0 'debug)
(s1-0 pair)
(s0-0 (method-of-type pair new))
)
(set! sv-16 'debug)
(set! sv-32 pair)
(set! sv-48 'function)
(set! sv-64 (method-of-type pair new))
(set! sv-80 'debug)
(set! sv-96 pair)
(set! sv-112 (-> v1-4 name))
(set! sv-128 (method-of-type pair new))
(set! sv-144 'debug)
(set! sv-160 pair)
(set! sv-176 (* s4-0 8))
(let* ((a3-1 (dcons 'dm-play-task '()))
(a3-2 (sv-128 sv-144 sv-160 sv-176 a3-1))
(a3-3 (sv-64 sv-80 sv-96 sv-112 a3-2))
)
(set! gp-0 (s3-0 s2-0 s1-0 (s0-0 sv-16 sv-32 sv-48 a3-3) gp-0))
)
)
)
)
)
;; og:preserve-this
(debug-menu-make-from-template arg0 (dcons 'menu (dcons "Play" gp-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 debug-flags) (anim-tester-debug-flags at-apply-align))
)
(return (logtest? (-> *anim-tester* 0 debug-flags) (anim-tester-debug-flags at-apply-align)))
)
(('at-show-joint-info)
(if (= arg1 (debug-menu-msg press))
(logxor! (-> *anim-tester* 0 debug-flags) (anim-tester-debug-flags at-show-joint-info))
)
(return (logtest? (-> *anim-tester* 0 debug-flags) (anim-tester-debug-flags at-show-joint-info)))
)
)
)
#f
)
(defun dm-anim-tester-func ((arg0 int) (arg1 debug-menu-msg))
(local-vars (v0-1 symbol))
(if (not *anim-tester*)
(anim-tester-start)
)
(when *anim-tester*
(cond
((= arg0 'at-pick-object)
(send-event (ppointer->process *anim-tester*) 'pick-object)
(set! v0-1 #t)
(set! (-> *debug-menu-context* is-hidden) v0-1)
v0-1
)
((= arg0 'at-pick-joint-anim)
(send-event (ppointer->process *anim-tester*) 'pick-joint-anim)
(set! v0-1 #t)
(set! (-> *debug-menu-context* is-hidden) v0-1)
v0-1
)
)
)
)
;; WARN: Return type mismatch object vs none.
(defun dm-pilot-mode ((arg0 object))
"TODO - what is the third arg to target's change-mode?"
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'pilot #f arg0 #t)
(none)
)
;; WARN: Return type mismatch object vs none.
(defun dm-pilot-race-mode ((arg0 object))
"TODO - what is the third arg to target's change-mode?"
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'pilot-race #f arg0 #t)
(none)
)
(defun stop-watch-display ((arg0 object) (arg1 object))
(let ((v1-3 (- (-> *display* base-clock frame-counter) (the-as int (-> *game-info* stop-watch-start)))))
(format arg1 "Stop watch ~D:~D:~D~%" (/ v1-3 #x4650) (/ (mod v1-3 #x4650) 300) (/ (* 100 (mod v1-3 300)) 300))
)
#f
)
(defun dm-game-opengoal-cheat-toggle-pick-func ((arg0 int) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(logxor! (-> *pc-settings* cheats) (the-as uint (/ arg0 8)))
)
(logtest? (-> *pc-settings* cheats) (/ arg0 8))
)
(defun debug-menu-context-make-default-menus ((arg0 debug-menu-context))
(local-vars (sv-16 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)
(menu
"Memory Stats"
(flag "Enable" *stats-memory* dm-boolean-toggle-pick-func)
(flag "Short" *stats-memory-short* dm-boolean-toggle-pick-func)
(flag "Level 0" 0 dm-stats-memory-func)
(flag "Level 1" 1 dm-stats-memory-func)
(flag "Level 2" 2 dm-stats-memory-func)
(flag "Level 3" 3 dm-stats-memory-func)
(flag "Level 4" 4 dm-stats-memory-func)
(flag "Level 5" 5 dm-stats-memory-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 "Manual Sample Point" *manual-sample-point* 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-current-continue-forced *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 "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 "Sprite Marks" *display-sprite-marks* dm-boolean-toggle-pick-func)
(flag "Sprite Spheres" *display-sprite-spheres* 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)
(function
"Mike F"
#f
,(lambda () (debug-actor "drill-crane-14") (send-event (the-as process-tree *debug-actor*) 'die))
)
(function
"Editor"
#f
,(lambda ()
(kill-by-type editable-player *active-pool*)
(process-spawn editable-player :init editable-player-init #f :to *entity-pool*)
(set-master-mode 'game)
(none)
)
)
(flag
"Screen shot highres enable"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *screen-shot-work* highres-enable) (not (-> *screen-shot-work* highres-enable)))
)
(-> *screen-shot-work* highres-enable)
)
)
(flag
"Screen shot hud enable"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *screen-shot-work* hud-enable) (not (-> *screen-shot-work* hud-enable)))
)
(-> *screen-shot-work* hud-enable)
)
)
)
)
)
(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))))
(function "New Life" #f ,(lambda () (initialize! *game-info* 'dead (the-as game-save #f) (the-as string #f))))
(function
"Reset Game"
#f
,(lambda ()
(set! (-> *game-info* mode) 'debug)
(initialize! *game-info* 'game (the-as game-save #f) (the-as string #f))
)
)
(function "Reset Actors" #f ,(lambda () (reset-actors 'debug) (none)))
(function "Save Game" #f ,(lambda () (auto-save-command 'save 0 0 *default-pool* #f) (none)))
(function "Load Game" #f ,(lambda () (auto-save-command 'restore 0 0 *default-pool* #f) (none)))
(flag "Target" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(if *target*
(stop 'debug)
(start 'debug (get-current-continue-forced *game-info*))
)
)
*target*
)
)
(flag "Game Mode" play dm-game-mode-pick-func)
(flag "Debug Mode" debug dm-game-mode-pick-func)
(function
"Stop Watch Start"
#f
,(lambda ()
(remove-by-param0 *debug-engine* stop-watch-display)
(add-connection *debug-engine* *dproc* stop-watch-display *dproc* *stdcon0* #f)
(set! (-> *game-info* stop-watch-start) (the-as uint (-> *display* base-clock frame-counter)))
(set! (-> *game-info* stop-watch-stop) (the-as uint 0))
(format #t "Stop watch started!~%")
(none)
)
)
(function
"Stop Watch Stop"
#f
,(lambda ()
(remove-by-param0 *debug-engine* stop-watch-display)
(set! (-> *game-info* stop-watch-stop) (the-as uint (-> *display* base-clock frame-counter)))
(let ((v1-7 (- (-> *game-info* stop-watch-stop) (-> *game-info* stop-watch-start))))
(format
#t
"Stop watch elasped time was ~D:~D:~D~%"
(/ (the-as int v1-7) #x4650)
(/ (mod (the-as int v1-7) #x4650) 300)
(/ (* 100 (mod (the-as int v1-7) 300)) 300)
)
)
(none)
)
)
(function "Continue Start" #f ,(lambda () (start 'play (-> *game-info* current-continue))))
(function "Kiosk Reset" #f ,(lambda () (auto-save-command 'restore 0 0 *default-pool* #f) (none)))
;; og:preserve-this new menu option
(function "Give Ammo and Collectables" #f ,(lambda () (send-event *target* 'get-pickup (pickup-type ammo-yellow) 1000.0) (send-event *target* 'get-pickup (pickup-type ammo-red) 1000.0) (send-event *target* 'get-pickup (pickup-type ammo-blue) 1000.0) (send-event *target* 'get-pickup (pickup-type ammo-dark) 1000.0) (send-event *target* 'get-pickup (pickup-type eco-pill-dark) 1000.0) (send-event *target* 'get-pickup (pickup-type skill) 1000.0) (send-event *target* 'get-pickup (pickup-type gem) 5000.0)))
;; og:preserve-this new menu option
(function "Unlock Everything" #f ,(lambda () (logior! (-> *game-info* features) (game-feature gun gun-yellow gun-red gun-blue gun-dark gun-upgrade-speed gun-upgrade-ammo gun-upgrade-damage pass-red pass-green pass-yellow pass-blue board darkjak darkjak-bomb0 darkjak-bomb1 darkjak-invinc darkjak-giant))))
;; og:preserve-this new menu option
(function "Finish Story" #f ,(lambda () (task-node-close! (game-task-node city-win-resolution))))
;; og:preserve-this new menu option
(function "Finish Optional Missions"
#f
,(lambda ()
(task-node-close! (game-task-node city-oracle-level3-training))
(task-node-close! (game-task-node city-burning-bush-ring-1-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-1-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-2-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-3-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-4-resolution))
(task-node-close! (game-task-node city-burning-bush-collection-1-resolution))
(task-node-close! (game-task-node city-burning-bush-racepoint-1-resolution))
(task-node-close! (game-task-node city-burning-bush-ring-2-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-5-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-6-resolution))
(task-node-close! (game-task-node city-burning-bush-shuttle-1-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-7-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-8-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-9-resolution))
(task-node-close! (game-task-node city-burning-bush-collection-2-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-10-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-11-resolution))
(task-node-close! (game-task-node city-burning-bush-ring-3-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-12-resolution))
(task-node-close! (game-task-node city-burning-bush-bombbot-1-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-13-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-14-resolution))
(task-node-close! (game-task-node city-burning-bush-get-to-15-resolution))
(task-node-close! (game-task-node city-burning-bush-collection-3-resolution))
(task-node-close! (game-task-node city-burning-bush-race-errol-resolution))
(task-node-close! (game-task-node city-burning-bush-race-port-resolution))))
(menu
"Secrets"
(flag "toggle-beard" 1 dm-game-secret-toggle-pick-func)
(flag "hflip-screen" 2 dm-game-secret-toggle-pick-func)
(flag "endless-ammo" 4 dm-game-secret-toggle-pick-func)
(flag "invulnerable" 8 dm-game-secret-toggle-pick-func)
(flag "endless-dark" 16 dm-game-secret-toggle-pick-func)
(flag "scene-player-1" 32 dm-game-secret-toggle-pick-func)
(flag "scene-player-2" 64 dm-game-secret-toggle-pick-func)
(flag "scene-player-3" 128 dm-game-secret-toggle-pick-func)
(flag "level-select" 256 dm-game-secret-toggle-pick-func)
(flag "scrap-book-1" 512 dm-game-secret-toggle-pick-func)
(flag "scrap-book-2" 1024 dm-game-secret-toggle-pick-func)
;; og:preserve-this they missed one!
(flag "scrap-book-3" 2048 dm-game-secret-toggle-pick-func)
(flag "gungame-blue" 4096 dm-game-secret-toggle-pick-func)
(flag "gungame-dark" 8192 dm-game-secret-toggle-pick-func)
(flag "reverse-races" 16384 dm-game-secret-toggle-pick-func)
(flag "hero-mode" 32768 dm-game-secret-toggle-pick-func)
(flag "big-head" 65536 dm-game-secret-toggle-pick-func)
(flag "little-head" 131072 dm-game-secret-toggle-pick-func)
)
;; og:preserve-this new menu
(menu
"OpenGOAL Cheats"
(flag "turbo-board" 1 dm-game-opengoal-cheat-toggle-pick-func)
(flag "health-bars" 2 dm-game-opengoal-cheat-toggle-pick-func)
(flag "vehicle-health-bars" 4 dm-game-opengoal-cheat-toggle-pick-func)
(flag "vehicle-invuln" 8 dm-game-opengoal-cheat-toggle-pick-func)
(flag "statistics" 16 dm-game-opengoal-cheat-toggle-pick-func)
(flag "suck-in-all" 32 dm-game-opengoal-cheat-toggle-pick-func)
(flag "music-player" 64 dm-game-opengoal-cheat-toggle-pick-func)
(flag "no-textures" 128 dm-game-opengoal-cheat-toggle-pick-func)
(flag "fast-movies" 256 dm-game-opengoal-cheat-toggle-pick-func)
(flag "slow-movies" 512 dm-game-opengoal-cheat-toggle-pick-func)
(flag "fast-speed" 1024 dm-game-opengoal-cheat-toggle-pick-func)
(flag "slow-speed" 2048 dm-game-opengoal-cheat-toggle-pick-func)
(flag "fast-travel" 4096 dm-game-opengoal-cheat-toggle-pick-func)
(flag "orb-tracker" 8192 dm-game-opengoal-cheat-toggle-pick-func)
(flag "real-time-of-day" 16384 dm-game-opengoal-cheat-toggle-pick-func)
(flag "city-peace" 32768 dm-game-opengoal-cheat-toggle-pick-func)
(flag "board-tricks" 65536 dm-game-opengoal-cheat-toggle-pick-func)
(flag "weather-bad" 131072 dm-game-opengoal-cheat-toggle-pick-func)
(flag "weather-good" 262144 dm-game-opengoal-cheat-toggle-pick-func)
(flag "hijack-lines" 524288 dm-game-opengoal-cheat-toggle-pick-func)
)
(menu "Continue")
(menu
"Settings"
(float-var
"sfx-volume"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *setting-control* (nonzero? *setting-control*))
(set! (-> *setting-control* user-default sfx-volume) arg2)
)
)
((or (not *setting-control*) (zero? *setting-control*))
0.0
)
(else
(-> *setting-control* user-default sfx-volume)
)
)
)
2
(new 'static 'bfloat :data 0.01)
#t
0
1
0
)
(float-var
"ambient-volume"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *setting-control* (nonzero? *setting-control*))
(set! (-> *setting-control* user-default ambient-volume) arg2)
)
)
((or (not *setting-control*) (zero? *setting-control*))
0.0
)
(else
(-> *setting-control* user-default ambient-volume)
)
)
)
2
(new 'static 'bfloat :data 0.01)
#t
0
1
0
)
(float-var
"music-volume"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *setting-control* (nonzero? *setting-control*))
(set! (-> *setting-control* user-default music-volume) arg2)
)
)
((or (not *setting-control*) (zero? *setting-control*))
0.0
)
(else
(-> *setting-control* user-default music-volume)
)
)
)
2
(new 'static 'bfloat :data 0.01)
#t
0
1
0
)
(float-var
"dialog-volume"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *setting-control* (nonzero? *setting-control*))
(set! (-> *setting-control* user-default dialog-volume) arg2)
)
)
((or (not *setting-control*) (zero? *setting-control*))
0.0
)
(else
(-> *setting-control* user-default dialog-volume)
)
)
)
2
(new 'static 'bfloat :data 0.01)
#t
0
1
0
)
(menu
"Language"
(flag "english" 0 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 "japanese" 5 dm-setting-language)
(flag "korean" 6 dm-setting-language)
(flag "uk-english" 7 dm-setting-language)
)
(menu
"Subtitle Language"
(flag "english" 0 dm-setting-subtitle-language)
(flag "french" 1 dm-setting-subtitle-language)
(flag "german" 2 dm-setting-subtitle-language)
(flag "spanish" 3 dm-setting-subtitle-language)
(flag "italian" 4 dm-setting-subtitle-language)
(flag "japanese" 5 dm-setting-subtitle-language)
(flag "korean" 6 dm-setting-subtitle-language)
(flag "uk-english" 7 dm-setting-subtitle-language)
)
(flag
"play-hints "
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default play-hints) (not (-> *setting-control* user-default play-hints)))
)
(the-as uint (-> *setting-control* user-default play-hints))
)
)
(flag
"subtitle "
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default subtitle) (not (-> *setting-control* user-default subtitle)))
)
(-> *setting-control* user-default subtitle)
)
)
(flag
"vibration"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default vibration) (not (-> *setting-control* user-default vibration)))
)
(the-as uint (-> *setting-control* user-default vibration))
)
)
(menu
"Stereo Mode"
(flag "mono" 0 dm-setting-stereo-mode)
(flag "stereo" 1 dm-setting-stereo-mode)
(flag "surround" 2 dm-setting-stereo-mode)
)
(flag
"camera-stick-dir"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default camera-stick-dir)
(not (-> *setting-control* user-default camera-stick-dir))
)
)
(the-as uint (-> *setting-control* user-default camera-stick-dir))
)
)
(flag
"progressive-scan"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default use-progressive-scan)
(not (-> *setting-control* user-default use-progressive-scan))
)
)
(the-as uint (-> *setting-control* user-default use-progressive-scan))
)
)
(flag
"border-mode"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(set! (-> *setting-control* user-default border-mode) (not (-> *setting-control* user-default border-mode)))
(set! (-> *level* play?) (-> *setting-control* user-default border-mode))
)
(-> *setting-control* user-default border-mode)
)
)
)
(menu
"Features"
(flag "board" 1024 dm-game-feature-toggle-pick-func)
(flag "board-training" 67108864 dm-game-feature-toggle-pick-func)
(flag "carry" 2048 dm-game-feature-toggle-pick-func)
(flag "sidekick" 4096 dm-game-feature-toggle-pick-func)
(flag "darkjak" 8192 dm-game-feature-toggle-pick-func)
(flag "darkjak-bomb0" 4194304 dm-game-feature-toggle-pick-func)
(flag "darkjak-bomb1" 8388608 dm-game-feature-toggle-pick-func)
(flag "darkjak-invinc" 16777216 dm-game-feature-toggle-pick-func)
(flag "darkjak-giant" 33554432 dm-game-feature-toggle-pick-func)
(flag "gun-yellow" 64 dm-game-feature-toggle-pick-func)
(flag "gun-red" 128 dm-game-feature-toggle-pick-func)
(flag "gun-blue" 256 dm-game-feature-toggle-pick-func)
(flag "gun-dark" 512 dm-game-feature-toggle-pick-func)
(flag "gun-upgrade-speed" 16384 dm-game-feature-toggle-pick-func)
(flag "gun-upgrade-ammo" 32768 dm-game-feature-toggle-pick-func)
(flag "gun-upgrade-damage" 65536 dm-game-feature-toggle-pick-func)
(flag "pass-red" 262144 dm-game-feature-toggle-pick-func)
(flag "pass-green" 524288 dm-game-feature-toggle-pick-func)
(flag "pass-yellow" 1048576 dm-game-feature-toggle-pick-func)
)
)
)
)
(let* ((s4-2 (debug-menu-find-from-template arg0 '("Game" "Continue")))
(s3-2
'(city
fortress
stadium
palace
castle
ruins
atoll
sewer
strip
mountain
forest
drill
tomb
dig
canyon
consite
under
nest
default
test
)
)
(a1-7 (car s3-2))
)
(while (not (null? s3-2))
(let ((s2-0 debug-menu-append-item)
(s1-0 s4-2)
(s0-0 debug-menu-make-from-template)
)
(set! sv-16 arg0)
(let ((a1-8 (debug-menu-make-continue-sub-menu *game-info* (the-as symbol a1-7))))
(s2-0 s1-0 (s0-0 sv-16 a1-8))
)
)
(set! s3-2 (cdr s3-2))
(set! a1-7 (car s3-2))
)
)
(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 "Blerc" *stats-blerc* dm-boolean-toggle-pick-func)
(flag "Profile bars" *stats-profile-bars* dm-boolean-toggle-pick-func)
(flag "Perf" *stats-perf* dm-boolean-toggle-pick-func)
(flag "Joint" *stats-joint* dm-boolean-toggle-pick-func)
(menu
"Memory Stats"
(flag "Enable" *stats-memory* dm-boolean-toggle-pick-func)
(flag "Short" *stats-memory-short* dm-boolean-toggle-pick-func)
(flag "Level 0" 0 dm-stats-memory-func)
(flag "Level 1" 1 dm-stats-memory-func)
(flag "Level 2" 2 dm-stats-memory-func)
(flag "Level 3" 3 dm-stats-memory-func)
(flag "Level 4" 4 dm-stats-memory-func)
(flag "Level 5" 5 dm-stats-memory-func)
)
(function
"Print Entity Memory"
#f
,(lambda ()
(format #t "~%~%========================= Entity Memory =========================~%~%")
(let ((gp-0 (-> *level* level0)))
(inspect (-> gp-0 art-group))
(dotimes (s5-0 (-> gp-0 art-group art-group-array length))
(inspect (-> gp-0 art-group art-group-array s5-0))
)
)
#f
)
)
(function
"Print Texture Info"
#f
,(lambda ()
(format #t "~%~%========================= Texture Info =========================~%~%")
(inspect *texture-page-dir*)
)
)
(function
"Print Texture Verbose"
#f
,(lambda ()
(format #t "~%~%========================= Texture Info =========================~%~%")
(texture-page-dir-inspect *texture-page-dir* #t)
(none)
)
)
(function
"Print Merc Stats"
#f
,(lambda ()
(format #t "~%~%========================== Merc Stats ==========================~%~%")
(merc-stats)
(none)
)
)
)
)
)
(debug-menu-append-item
s5-0
(debug-menu-make-from-template
arg0
'(menu
"Render"
(menu
"Background"
(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)
)
(menu
"Background Scissor"
(flag "Textured" 0 dm-scissor-subdiv-draw-func)
(flag "Outline" 1 dm-scissor-subdiv-draw-func)
(flag "Gouraud" 2 dm-scissor-subdiv-draw-func)
(flag "Hack" 3 dm-scissor-subdiv-draw-func)
)
(menu
"Foreground"
(flag "Textured" 0 dm-foreground-subdiv-draw-func)
(flag "Outline" 1 dm-foreground-subdiv-draw-func)
(flag "Gouraud" 2 dm-foreground-subdiv-draw-func)
(flag "Hack" 3 dm-foreground-subdiv-draw-func)
)
(menu
"Ocean"
(flag "Textured" 0 dm-ocean-subdiv-draw-func)
(flag "Outline" 1 dm-ocean-subdiv-draw-func)
(flag "Gouraud" 2 dm-ocean-subdiv-draw-func)
(flag "Hack" 3 dm-ocean-subdiv-draw-func)
)
(flag "SKY TEXTURES" 32 dm-texture-user-toggle-pick-func)
(flag "sky" 3 dm-vu1-user-toggle-pick-func)
(flag "ocean" 4 dm-vu1-user-toggle-pick-func)
(flag "ocean-wave" 5 dm-vu1-user-toggle-pick-func)
(flag "TFRAG TIE TEXTURES" #x1 dm-texture-user-toggle-pick-func)
(flag "tfrag" 6 dm-vu1-user-toggle-pick-func)
(flag "tie" 8 dm-vu1-user-toggle-pick-func)
(flag "tie-envmap" 9 dm-vu1-user-toggle-pick-func)
(flag "tie-scissor" 7 dm-vu1-user-toggle-pick-func)
(flag "tie-envmap-scissor" 10 dm-vu1-user-toggle-pick-func)
(flag "tie-vanish" 11 dm-vu1-user-toggle-pick-func)
(flag "SHRUB TEXTURES" #x4 dm-texture-user-toggle-pick-func)
(flag "shrub-near" 16 dm-vu1-user-toggle-pick-func)
(flag "shrubbery" 15 dm-vu1-user-toggle-pick-func)
(flag "shrubbery-vanish" 18 dm-vu1-user-toggle-pick-func)
(flag "billboard" 17 dm-vu1-user-toggle-pick-func)
(flag "ALPHA TEXTURES" 1 dm-texture-user-toggle-pick-func)
(flag "tfrag-trans" 19 dm-vu1-user-toggle-pick-func)
(flag "tie-trans" 21 dm-vu1-user-toggle-pick-func)
(flag "tie-envmap-trans" 22 dm-vu1-user-toggle-pick-func)
(flag "tie-scissor-trans" 20 dm-vu1-user-toggle-pick-func)
(flag "tie-envmap-scissor-trans" 23 dm-vu1-user-toggle-pick-func)
(flag "PRIS TEXTURES" #x2 dm-texture-user-toggle-pick-func)
(flag "merc" 13 dm-vu1-user-toggle-pick-func)
(flag "emerc" 14 dm-vu1-user-toggle-pick-func)
(flag "generic" 12 dm-vu1-user-toggle-pick-func)
(flag "WATER TEXTURES" 2 dm-texture-user-toggle-pick-func)
(flag "tfrag-water" 24 dm-vu1-user-toggle-pick-func)
(flag "tie-water" 26 dm-vu1-user-toggle-pick-func)
(flag "tie-envmap-water" 27 dm-vu1-user-toggle-pick-func)
(flag "tie-scissor-water" 25 dm-vu1-user-toggle-pick-func)
(flag "tie-envmap-scissor-water" 28 dm-vu1-user-toggle-pick-func)
(flag "SPRITE TEXTURES" 8 dm-texture-user-toggle-pick-func)
(flag "sprite" 29 dm-vu1-user-toggle-pick-func)
(flag "shadow" 30 dm-vu1-user-toggle-pick-func)
(flag "shadow-debug" *shadow-debug* dm-boolean-toggle-pick-func)
(flag "depth-cue" 34 dm-vu1-user-toggle-pick-func)
(flag "WARP TEXTURES" 4 dm-texture-user-toggle-pick-func)
(flag "HUD TEXTURES" 16 dm-texture-user-toggle-pick-func)
(flag "all on" #f dm-vu1-user-all-pick-func)
(flag "all off" #f dm-vu1-user-none-pick-func)
(flag "all textures on" #x1ff 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"
(menu
"Collision Renderer"
(flag "On" 0 dm-col-rend-on-func)
(flag "Track Player" 0 dm-col-rend-track-func)
(flag "Track Camera" 1 dm-col-rend-track-func)
(float-var " Dist" #f dm-col-rend-cam-dist 10 1 #t 0 80 1)
(flag "Fixed Pos" 2 dm-col-rend-track-func)
(float-var "Size" #f dm-col-rend-size 10 1 #t 1 20 1)
(flag "Outline" 0 dm-col-rend-outline-func)
(flag "Show Back-faces" 0 dm-col-rend-back-face-func)
(flag "Show Normals" 0 dm-col-rend-normals-func)
(flag "Ghost Hidden" 0 dm-col-rend-ghost-hidden-func)
(menu
"Show Only"
(flag "(board)" 1 dm-col-rend-show-only-set-func)
(flag "(grind)" 2 dm-col-rend-show-only-set-func)
(flag "(grindonly)" 4 dm-col-rend-show-only-set-func)
(flag "melt" 16384 dm-col-rend-show-only-toggle-func)
(flag "noboard" 8 dm-col-rend-show-only-toggle-func)
(flag "nocamera" 16 dm-col-rend-show-only-toggle-func)
(flag "noedge" 32 dm-col-rend-show-only-toggle-func)
(flag "noendlessfall" 64 dm-col-rend-show-only-toggle-func)
(flag "noentity" 128 dm-col-rend-show-only-toggle-func)
(flag "nogrind" 256 dm-col-rend-show-only-toggle-func)
(flag "nojak" 512 dm-col-rend-show-only-toggle-func)
(flag "nolineofsight" 1024 dm-col-rend-show-only-toggle-func)
(flag "nomech" 2048 dm-col-rend-show-only-toggle-func)
(flag "nopilot" 4096 dm-col-rend-show-only-toggle-func)
(flag "noproj" 8192 dm-col-rend-show-only-toggle-func)
(flag "probe" 32768 dm-col-rend-show-only-toggle-func)
(flag "Select All" 49144 dm-col-rend-show-only-set-func)
(flag "Unselect All" 0 dm-col-rend-show-only-set-func)
)
(menu
"Find"
(flag "background" 1 dm-col-rend-cspec-toggle)
(flag "obstacles" 2 dm-col-rend-cspec-toggle)
(flag "pushers" 4 dm-col-rend-cspec-toggle)
(flag "Jak" 8 dm-col-rend-cspec-toggle)
(flag "other" 16 dm-col-rend-cspec-toggle)
)
)
(flag "Collision Cache" *display-collide-cache* dm-boolean-toggle-pick-func)
(flag "Collision Marks" *display-collision-marks* dm-boolean-toggle-pick-func)
(flag "Ground Stats" *display-ground-stats* 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 "Collide Stats" *stats-collide* dm-boolean-toggle-pick-func)
(flag "Render Collision" *display-render-collision* dm-boolean-toggle-pick-func)
(flag "Collide List Boxes" *collide-list-boxes* 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 "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 "Art Control" *display-art-control* dm-boolean-toggle-pick-func)
(flag "Gui Control" *display-gui-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 Distances" *display-texture-distances* dm-boolean-toggle-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 "Memcard Info" *display-memcard-info* dm-boolean-toggle-pick-func)
(flag "Trail Graph" *display-trail-graph* dm-boolean-toggle-pick-func)
(flag "Color Bars" *display-color-bars* 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)))
(function "Traffic Start" #f ,(lambda ()
(let ((gp-0 traffic-start))
(if (valid? gp-0 function "" #t 0)
(gp-0)
)
)
(none)
)
)
(function "Traffic Kill" #f ,(lambda ()
(let ((gp-0 traffic-kill))
(if (valid? gp-0 function "" #t 0)
(gp-0)
)
)
(none)
)
)
(menu
"Bot"
(function
"Bot Next"
#f
,(lambda ()
(send-event (process-by-name "sig-atoll-1" *active-pool*) 'skip)
(send-event (process-by-name "hal-sewer-1" *active-pool*) 'skip)
(send-event (process-by-name "hal-escort-1" *active-pool*) 'skip)
(send-event (process-by-name "squid-2" *active-pool*) 'skip)
(send-event (process-by-name "metalkor-1" *active-pool*) 'skip)
(send-event (process-by-name "sig-under-1" *active-pool*) 'skip)
)
)
(menu
"Bot Marks"
(flag "course spots" 1 display-bot-marks-toggle-pick-func)
(flag "task spots" 2 display-bot-marks-toggle-pick-func)
(flag "all on" 3 display-bot-marks-set-pick-func)
(flag "all off" 0 display-bot-marks-set-pick-func)
)
(function
"Record sig5-cent1-path0"
#f
,(lambda ()
(set! *bot-record-path* 0)
(dm-play-task-with-continue (game-task under-sig) "cent1-path0-record-path")
(none)
)
)
(function
"Record sig5-cent2-path0"
#f
,(lambda ()
(set! *bot-record-path* 1)
(dm-play-task-with-continue (game-task under-sig) "cent2-path0-record-path")
(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 "Traffic height map" *display-traffic-height-map* dm-boolean-toggle-pick-func)
(flag "View Anims" *debug-view-anims* dm-boolean-toggle-pick-func)
(flag "Unkillable" *debug-unkillable* dm-boolean-toggle-pick-func)
(flag "Regions" *execute-regions* dm-boolean-toggle-pick-func)
(flag "Region Marks" *display-region-marks* dm-boolean-toggle-pick-func)
(flag "Actor Vis" *vis-actors* dm-boolean-toggle-pick-func)
(flag "Battle Marks" *display-battle-marks* dm-boolean-toggle-pick-func)
(menu
"Hover Marks"
(flag "Nav Network" *display-nav-network* dm-boolean-toggle-pick-func)
(flag "Debug Hover" *debug-hover* dm-boolean-toggle-pick-func)
)
(flag "Joint Axes" *display-joint-axes* dm-boolean-toggle-pick-func)
(flag "Path Marks" *display-path-marks* dm-boolean-toggle-pick-func)
(flag "Nav Marks" *display-nav-marks* dm-boolean-toggle-pick-func)
(flag "Vol Marks" *display-vol-marks* dm-boolean-toggle-pick-func)
(flag "Collision Marks" *display-collision-marks* dm-boolean-toggle-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)
)
(menu
"Actor Marks"
(flag "off" #f dm-actor-marks-pick-func)
(flag "alive entities" #t dm-actor-marks-pick-func)
(flag "all entities" full dm-actor-marks-pick-func)
(flag "processes" process dm-actor-marks-pick-func)
)
)
)
)
(debug-menu-append-item
s5-0
(debug-menu-make-from-template
arg0
'(menu
"Target"
(menu
"Mode"
(function "normal" #f ,(lambda () (send-event *target* 'end-mode)))
(function "racer" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'racer #f)
)
)
(function "flut" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'flut #f)
)
)
(function "board" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature board))
(logior! (-> *game-info* debug-features) (game-feature board))
(send-event *target* 'change-mode 'board #f)
)
)
(function "mech" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'mech #f)
)
)
(function "gun" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature gun))
(logior! (-> *game-info* debug-features) (game-feature gun))
(send-event *target* 'change-mode 'gun #f (pickup-type none))
)
)
(function "darkjak" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature darkjak))
(logior! (-> *game-info* debug-features) (game-feature darkjak))
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage force-on active))
)
)
(function "indax" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'indax #f)
)
)
)
(menu
"Pilot Mode"
(function "bikea" #f ,(lambda () (dm-pilot-mode 0) (none)))
(function "bikeb" #f ,(lambda () (dm-pilot-mode 1) (none)))
(function "bikec" #f ,(lambda () (dm-pilot-mode 2) (none)))
(function "crimson-bike" #f ,(lambda () (dm-pilot-mode 6) (none)))
(function "cara" #f ,(lambda () (dm-pilot-mode 3) (none)))
(function "carb" #f ,(lambda () (dm-pilot-mode 4) (none)))
(function "carc" #f ,(lambda () (dm-pilot-mode 5) (none)))
(function "hellcat" #f ,(lambda () (dm-pilot-mode 7) (none)))
;; race-bike-a/b require the city-erol-challenge task to be active
(function "race-bike-a" #f ,(lambda () (dm-pilot-race-mode 0) (none)))
(function "race-bike-b" #f ,(lambda () (dm-pilot-race-mode 1) (none)))
;; race-bike-c doesn't actually work?
(function "race-bike-c" #f ,(lambda () (dm-pilot-race-mode 2) (none)))
;; race-bike-d/e require one of the stadium race tasks to be active
(function "race-bike-d" #f ,(lambda () (dm-pilot-race-mode 3) (none)))
(function "race-bike-e" #f ,(lambda () (dm-pilot-race-mode 4) (none)))
(function "evantestbike" #f ,(lambda () (dm-pilot-mode 8) (none)))
(function "test-bike" #f ,(lambda () (dm-pilot-mode 9) (none)))
(function "test-car" #f ,(lambda () (dm-pilot-mode 10) (none)))
)
(flag "Target" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(if *target*
(stop 'debug)
(start 'debug (get-current-continue-forced *game-info*))
)
)
*target*
)
)
(menu
"Darkjak"
(function
"get all"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(logior!
(-> *game-info* features)
(game-feature darkjak darkjak-bomb0 darkjak-bomb1 darkjak-invinc darkjak-giant)
)
(logior!
(-> *game-info* debug-features)
(game-feature darkjak darkjak-bomb0 darkjak-bomb1 darkjak-invinc darkjak-giant)
)
(send-event *target* 'get-pickup (pickup-type eco-pill-dark) 100.0)
)
)
(function "manual" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature darkjak))
(logior! (-> *game-info* debug-features) (game-feature darkjak))
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage force-on active))
)
)
(function "rapid" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature darkjak))
(logior! (-> *game-info* debug-features) (game-feature darkjak))
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage active))
)
)
(function "bomb0" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage force-on active bomb0))
)
)
(function
"bomb1"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage force-on active bomb0 bomb1))
)
)
(function
"invinc"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage force-on active bomb0 bomb1 invinc))
)
)
(function
"giant"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage force-on active bomb0 bomb1 invinc giant))
)
)
)
(menu
"Gun"
(flag "yellow" (the binteger (game-feature gun-yellow)) dm-game-feature-toggle-pick-func)
(flag "red" (the binteger (game-feature gun-red)) dm-game-feature-toggle-pick-func)
(flag "blue" (the binteger (game-feature gun-blue)) dm-game-feature-toggle-pick-func)
(flag "dark" (the binteger (game-feature gun-dark)) dm-game-feature-toggle-pick-func)
(flag "gun-upgrade-speed" 16384 dm-game-feature-toggle-pick-func)
(flag "gun-upgrade-ammo" 32768 dm-game-feature-toggle-pick-func)
(flag "gun-upgrade-damage" 65536 dm-game-feature-toggle-pick-func)
)
(flag "Target Marks" *display-target-marks* dm-boolean-toggle-pick-func)
(flag "Gun Marks" *gun-marks* dm-boolean-toggle-pick-func)
(flag "Target Stats" *stats-target* dm-boolean-toggle-pick-func)
(flag "Sidekick Stats" *display-sidekick-stats* dm-boolean-toggle-pick-func)
(flag "Invulnerable" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(if *target*
(logxor! (-> *target* state-flags) (state-flags sf2))
)
)
(and *target* (logtest? (-> *target* state-flags) (state-flags sf2)))
)
)
(flag
"Endless Ammo"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(if *target*
(set! (-> *target* state-flags) (the-as state-flags (logxor #x10000 (the-as int (-> *target* state-flags)))))
)
)
(and *target* (logtest? (state-flags sf16) (-> *target* state-flags)))
)
)
(function
"Full Stuff"
#f
,(lambda ()
(send-event *target* 'get-pickup (pickup-type health) 1000.0)
(send-event *target* 'get-pickup (pickup-type shield) 1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-yellow) 1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-red) 1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-blue) 1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-dark) 1000.0)
(send-event *target* 'get-pickup (pickup-type eco-pill-dark) 100.0)
(logior! (-> *game-info* features) (game-feature gun gun-yellow gun-red gun-blue gun-dark board darkjak))
(let ((v0-7
(logior (-> *game-info* debug-features) (game-feature gun gun-yellow gun-red gun-blue gun-dark board darkjak))
)
)
(set! (-> *game-info* debug-features) v0-7)
v0-7
)
)
)
(function
"Dump Stuff"
#f
,(lambda ()
(send-event *target* 'get-pickup (pickup-type shield) -1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-yellow) -1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-red) -1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-blue) -1000.0)
(send-event *target* 'get-pickup (pickup-type ammo-dark) -1000.0)
)
)
(function "Trick Mode" #f ,(lambda () (send-event *target* 'get-pickup (pickup-type trick-judge) 18000.0)))
(function "Reset Trans" #f ,(lambda () (when *target*
(position-in-front-of-camera! (target-pos 0) 40960.0 4096.0)
(set! (-> *target* control transv quad) (the-as uint128 0))
(quaternion-identity! (-> *target* control quat))
(quaternion-identity! (-> *target* control quat-for-control))
(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 quat-for-control))
(quaternion-identity! (-> *target* control dir-targ))
)
)
)
(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
)
)
(function "Save Continue" #f ,(lambda () (the-as symbol (if *target*
(trsq->continue-point (-> *target* control))
)
)
)
)
(flag "RC Board Controls" *target-rc-board-controls* dm-boolean-toggle-pick-func)
)
)
)
(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
"Racing"
(flag "Kiera Class 3 (kierac)" 0 dm-select-race-pick-func)
(flag "Kiera Class 2 (kierab)" 1 dm-select-race-pick-func)
(flag "Kiera Class 1 (kieraa)" 2 dm-select-race-pick-func)
(flag "Errol (errol)" 3 dm-select-race-pick-func)
(flag "Bush Class 3" 4 dm-select-race-pick-func)
(flag "Bush Class 2" 5 dm-select-race-pick-func)
(flag "Bush Class 1" 6 dm-select-race-pick-func)
(flag "Bush Class 3R" 9 dm-select-race-pick-func)
(flag "Bush Class 2R" 10 dm-select-race-pick-func)
(flag "Bush Class 1R" 11 dm-select-race-pick-func)
(flag "Bush Errol" 7 dm-select-race-pick-func)
(flag "Bush Port" 8 dm-select-race-pick-func)
(int-var "Select Path" 0 dm-select-race-path 10 1 #t 0 7)
(menu
"Race Marks"
(flag "Path 0 (Red)" 1 display-race-marks-toggle-pick-func)
(flag "Path 1 (Green)" 2 display-race-marks-toggle-pick-func)
(flag "Path 2 (Blue)" 4 display-race-marks-toggle-pick-func)
(flag "Path 3 (Yellow)" 8 display-race-marks-toggle-pick-func)
(flag "Path 4 (Cyan)" 16 display-race-marks-toggle-pick-func)
(flag "Path 5 (Violet)" 32 display-race-marks-toggle-pick-func)
(flag "Path 6 (Orange)" 64 display-race-marks-toggle-pick-func)
(flag "Path 7 (Black)" 128 display-race-marks-toggle-pick-func)
(flag "All Paths On" 255 display-race-marks-set-pick-func)
(flag "All Off" 0 display-race-marks-set-pick-func)
)
(function
"Record Selected Path"
#f
,(lambda () (set! *race-record-path* #t) (dm-play-race *select-race* #t) (none))
)
(function "Play Race" #f ,(lambda () (set! *race-record-path* #f) (dm-play-race *select-race* #f) (none)))
)
)
)
(debug-menu-append-item
s5-0
(debug-menu-make-from-template
arg0
'(menu
"Nav Graph"
(function "Start Editor" #f ,(lambda ()
(if (not (get-nav-graph-editor))
(run-nav-graph-editor 'test)
)
(none)
)
)
(function "Exit Editor" #f ,(lambda ()
(if (get-nav-graph-editor)
(exit-nav-graph-editor)
)
(none)
)
)
(function "Toggle Plane Mode" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-60 a0-0)
)
)
(none)
)
)
(function "Toggle Hover Mode" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-61 a0-0)
)
)
(none)
)
)
(menu
"Load"
(function "Hover Drillmid" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-62 a0-0 'hover 'drillmid)
)
)
(none)
)
)
(function "Hover Forresca" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-62 a0-0 'hover 'forresca)
)
)
(none)
)
)
(function "Hover Forest" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-62 a0-0 'hover 'forest)
)
)
(none)
)
)
(function "Hover Under" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-62 a0-0 'hover 'under)
)
)
(none)
)
)
(function "Traffic" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-62 a0-0 'traffic #f)
)
)
(none)
)
)
(function "Minimap" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-62 a0-0 'minimap #f)
)
)
(none)
)
)
)
(function "Save" #f ,(lambda ()
(let ((a0-0 (get-nav-graph-editor)))
(if a0-0
(nav-graph-editor-method-63 a0-0)
)
)
(none)
)
)
)
)
)
(debug-menu-append-item
s5-0
(debug-menu-make-from-template
arg0
'(menu
"Map"
(flag "Record Mode" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *bigmap* recording-flag) (not (-> *bigmap* recording-flag)))
)
(-> *bigmap* recording-flag)
)
)
(function
"Clear map"
#f
,(lambda ()
(let ((v1-1 (process-spawn-function process (lambda ()
(set-master-mode 'game)
(let ((gp-0 (current-time)))
(until (time-elapsed? gp-0 (seconds 0.3))
(suspend)
)
)
(until #f
(format *stdcon* "press x clear map, press circle cancel~%")
(cond
((cpad-pressed? 0 x)
(initialize *bigmap*)
(return #f)
)
((cpad-pressed? 0 circle)
(return #f)
)
)
(suspend)
)
#f
)
)
)
)
(when v1-1
(let ((v0-3 (logclear (-> v1-1 0 mask) (process-mask menu))))
(set! (-> v1-1 0 mask) v0-3)
v0-3
)
)
)
)
)
(flag "Fill in" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *bigmap* fill-flag) (not (-> *bigmap* fill-flag)))
)
(-> *bigmap* fill-flag)
)
)
(function "Save" #f ,(lambda ((arg0 object) (arg1 debug-menu-msg)) (dump-to-file *bigmap*) (none)))
)
)
)
(debug-menu-append-item
s5-0
(debug-menu-make-from-template
arg0
'(menu
"Ocean"
(menu
"Ocean Height"
(flag "zero" 1 dm-ocean-height-func)
(flag "far-below" 2 dm-ocean-height-func)
(flag "sewer-start" 3 dm-ocean-height-func)
(flag "sewer-hi" 4 dm-ocean-height-func)
(flag "sewer-med" 5 dm-ocean-height-func)
(flag "sewer-lo" 6 dm-ocean-height-func)
)
(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 "10am morning" 1 dm-time-of-day-func)
(flag "12pm noon" 2 dm-time-of-day-func)
(flag "2pm 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 "palette 0" 16 dm-time-of-day-func)
(flag "palette 1" 32 dm-time-of-day-func)
(flag "palette 2" 64 dm-time-of-day-func)
(flag "palette 3" 128 dm-time-of-day-func)
(flag "palette 4" 256 dm-time-of-day-func)
(flag "palette 5" 512 dm-time-of-day-func)
(flag "palette 6" 1024 dm-time-of-day-func)
(flag "palette 7" 2048 dm-time-of-day-func)
(flag "on" #f dm-time-of-day-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
"Mood"
(flag
"Overide Enable"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *time-of-day-context* overide-enable) (not (-> *time-of-day-context* overide-enable)))
)
(-> *time-of-day-context* overide-enable)
)
)
(menu
"Weather"
(flag
"Overide Weather Enable"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *mood-control* overide-weather-flag) (not (-> *mood-control* overide-weather-flag)))
)
(-> *mood-control* overide-weather-flag)
)
)
(flag
"Display Values"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(set! (-> *mood-control* display-flag) (not (-> *mood-control* display-flag)))
)
(-> *mood-control* display-flag)
)
)
(float-var
"Clouds"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *mood-control* (nonzero? *mood-control*))
(set! (-> *mood-control* overide cloud) arg2)
)
)
((or (not *mood-control*) (zero? *mood-control*))
0.0
)
(else
(-> *mood-control* overide cloud)
)
)
)
1
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.0)
0
)
(float-var
"Fog"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *mood-control* (nonzero? *mood-control*))
(set! (-> *mood-control* overide fog) arg2)
)
)
((or (not *mood-control*) (zero? *mood-control*))
0.0
)
(else
(-> *mood-control* overide fog)
)
)
)
1
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.0)
0
)
)
(menu
"Colors"
(flag "7am sunrise" 0 dm-time-of-day-func)
(flag "10am morning" 1 dm-time-of-day-func)
(flag "12pm noon" 2 dm-time-of-day-func)
(flag "2pm 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 "time of day on" #f dm-time-of-day-pick-func)
(float-var
"Ambient Red"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
x
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
x
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Ambient Green"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
y
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
y
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Ambient Blue"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
z
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
z
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Ambient Mult"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
w
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
w
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
2
0
)
(float-var
"Light Red"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
x
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
x
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Light Green"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
y
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
y
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Light Blue"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
z
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
z
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Light Mult"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-color-table* (nonzero? *overide-mood-color-table*))
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
w
)
arg2
)
)
)
((or (not *overide-mood-color-table*) (zero? *overide-mood-color-table*))
0.0
)
(else
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
w
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
2
0
)
(function
"reset selected time"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(mem-copy!
(the-as
pointer
(-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
)
)
(the-as
pointer
(-> *mood-control*
mood-color-table
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
)
)
32
)
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
lgt-color
w
)
1.0
)
(set! (-> *overide-mood-color-table*
data
(logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2))
amb-color
w
)
1.0
)
)
)
(function
"reset all times"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(mem-copy!
(the-as pointer *overide-mood-color-table*)
(the-as pointer (-> *mood-control* mood-color-table))
256
)
(dotimes (v1-1 8)
(set! (-> *overide-mood-color-table* data v1-1 lgt-color w) 1.0)
(set! (-> *overide-mood-color-table* data v1-1 amb-color w) 1.0)
)
(the-as float #f)
)
)
)
(menu
"Fog"
(flag "7am sunrise" 0 dm-time-of-day-func)
(flag "10am morning" 1 dm-time-of-day-func)
(flag "12pm noon" 2 dm-time-of-day-func)
(flag "2pm 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 "time of day on" #f dm-time-of-day-pick-func)
(float-var
"Red"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
x
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
x
)
)
)
)
2
(new 'static 'bfloat :data 1.0)
#t
0
255
0
)
(float-var
"Green"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
y
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
y
)
)
)
)
2
(new 'static 'bfloat :data 1.0)
#t
0
255
0
)
(float-var
"Blue"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
z
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
z
)
)
)
)
2
(new 'static 'bfloat :data 1.0)
#t
0
255
0
)
(float-var
"Mult"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
w
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
w
)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
1
0
)
(float-var
"Start"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
x
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
x
)
)
)
)
2
(new 'static 'bfloat :data 1.0)
#t
-1000
10000
0
)
(float-var
"End"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
y
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
y
)
)
)
)
2
(new 'static 'bfloat :data 1.0)
#t
0
10000
0
)
(float-var
"Max"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
w
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
w
)
)
)
)
2
(new 'static 'bfloat :data 0.5)
#t
0
255
0
)
(float-var
"Min"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *overide-mood-fog-table* (nonzero? *overide-mood-fog-table*))
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
z
)
arg2
)
)
)
((or (not *overide-mood-fog-table*) (zero? *overide-mood-fog-table*))
0.0
)
(else
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
z
)
)
)
)
2
(new 'static 'bfloat :data 0.5)
#t
0
255
0
)
(function
"reset selected time"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(mem-copy!
(the-as
pointer
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
)
)
(the-as
pointer
(-> *mood-control*
mood-fog-table
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
)
)
48
)
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-color
w
)
1.0
)
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
x
)
(* 0.00024414062
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
x
)
)
)
(set! (-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
y
)
(* 0.00024414062
(-> *overide-mood-fog-table*
data
(the-as uint (logand (-> *time-of-day-context* mode) (time-of-day-palette-id unk0 unk1 unk2)))
fog-dists
y
)
)
)
)
)
(function
"reset all times"
#f
,(lambda ()
(mem-copy! (the-as pointer *overide-mood-fog-table*) (the-as pointer (-> *mood-control* mood-fog-table)) 384)
(dotimes (v1-1 8)
(set! (-> *overide-mood-fog-table* data v1-1 fog-color w) 1.0)
(set! (-> *overide-mood-fog-table* data v1-1 fog-dists x)
(* 0.00024414062 (-> *overide-mood-fog-table* data v1-1 fog-dists x))
)
(set! (-> *overide-mood-fog-table* data v1-1 fog-dists y)
(* 0.00024414062 (-> *overide-mood-fog-table* data v1-1 fog-dists y))
)
)
#f
)
)
)
(menu
"Palette"
(flag "palette 0" 0 dm-time-of-day-palette-func)
(flag "palette 1" 1 dm-time-of-day-palette-func)
(flag "palette 2" 2 dm-time-of-day-palette-func)
(flag "palette 3" 3 dm-time-of-day-palette-func)
(flag "palette 4" 4 dm-time-of-day-palette-func)
(flag "palette 5" 5 dm-time-of-day-palette-func)
(flag "palette 6" 6 dm-time-of-day-palette-func)
(flag "palette 7" 7 dm-time-of-day-palette-func)
(flag "time of day on" #f dm-time-of-day-pick-func)
(float-var
"Red"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) x) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) x)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Green"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) y) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) y)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Blue"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) z) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) z)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Mult"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) w) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* times (-> *time-of-day-context* overide-palette) w)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
2
0
)
(function
"reset selected time"
#f
,(lambda () (let ((v0-0 (-> *time-of-day-context* times (-> *time-of-day-context* overide-palette))))
(set! (-> v0-0 x) 1.0)
(set! (-> v0-0 y) 1.0)
(set! (-> v0-0 z) 1.0)
(set! (-> v0-0 w) 1.0)
v0-0
)
)
)
(function "reset all times" #f ,(lambda ()
(dotimes (v1-0 8)
(set-vector! (-> *time-of-day-context* times v1-0) 1.0 1.0 1.0 1.0)
)
#f
)
)
)
(menu
"Filter"
(float-var
"Red"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* filter-color x) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* filter-color x)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Green"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* filter-color y) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* filter-color y)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Blue"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* filter-color z) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* filter-color z)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
(new 'static 'bfloat :data 1.9921875)
0
)
(float-var
"Mult"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* filter-color w) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* filter-color w)
)
)
)
2
(new 'static 'bfloat :data 0.00390625)
#t
0
2
0
)
(function "reset filter" #f ,(lambda () (let ((v0-0 (-> *time-of-day-context* filter-color)))
(set! (-> v0-0 x) 1.0)
(set! (-> v0-0 y) 1.0)
(set! (-> v0-0 z) 1.0)
(set! (-> v0-0 w) 1.0)
(the-as symbol v0-0)
)
)
)
)
(menu
"Sky"
(float-var
"Cloud Min"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* current-clouds cloud-min) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* current-clouds cloud-min)
)
)
)
1
(new 'static 'bfloat :data 0.00390625)
#t
0
1
0
)
(float-var
"Cloud Max"
#f
,(lambda ((arg0 object) (arg1 debug-menu-msg) (arg2 float))
(cond
((= arg1 (debug-menu-msg press))
(if (and *time-of-day-context* (nonzero? *time-of-day-context*))
(set! (-> *time-of-day-context* current-clouds cloud-max) arg2)
)
)
((or (not *time-of-day-context*) (zero? *time-of-day-context*))
0.0
)
(else
(-> *time-of-day-context* current-clouds cloud-max)
)
)
)
1
(new 'static 'bfloat :data 0.00390625)
#t
0
1
0
)
(function
"reset sky"
#f
,(lambda ()
(set! (-> *time-of-day-context* current-clouds cloud-min) (-> *mood-control* mood-clouds cloud-min))
(set! (-> *time-of-day-context* current-clouds cloud-max) (-> *mood-control* mood-clouds cloud-max))
)
)
)
(function "Print mood tables" #f ,(lambda () (print-mood-tables) (none)))
(function
"reset everything"
#f
,(lambda ()
(mem-copy!
(the-as pointer *overide-mood-color-table*)
(the-as pointer (-> *mood-control* mood-color-table))
256
)
(mem-copy! (the-as pointer *overide-mood-fog-table*) (the-as pointer (-> *mood-control* mood-fog-table)) 384)
(dotimes (v1-2 8)
(set! (-> *overide-mood-color-table* data v1-2 lgt-color w) 1.0)
(set! (-> *overide-mood-color-table* data v1-2 amb-color w) 1.0)
(set! (-> *overide-mood-fog-table* data v1-2 fog-color w) 1.0)
(set! (-> *overide-mood-fog-table* data v1-2 fog-dists x)
(* 0.00024414062 (-> *overide-mood-fog-table* data v1-2 fog-dists x))
)
(set! (-> *overide-mood-fog-table* data v1-2 fog-dists y)
(* 0.00024414062 (-> *overide-mood-fog-table* data v1-2 fog-dists y))
)
(set-vector! (-> *time-of-day-context* times v1-2) 1.0 1.0 1.0 1.0)
)
(set-vector! (-> *time-of-day-context* filter-color) 1.0 1.0 1.0 1.0)
(set! (-> *time-of-day-context* current-clouds cloud-min) (-> *mood-control* mood-clouds cloud-min))
(set! (-> *time-of-day-context* current-clouds cloud-max) (-> *mood-control* mood-clouds cloud-max))
)
)
)
)
)
(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 "Regions" *execute-regions* dm-boolean-toggle-pick-func)
(flag "Region Marks" *display-region-marks* dm-boolean-toggle-pick-func)
(flag "Sound channels" *display-iop-info* dm-boolean-toggle-pick-func)
(function "Reload Banks" #f sound-bank-reload)
(function "List Sounds" #f ,(lambda () (list-sounds) (none)))
;(function "IOP Info" #f ,(lambda () (loader-test-command (sound-command iop-mem) (the-as uint 0)) (none)))
)
)
)
(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-from-template
arg0
'(menu
"Bug Report"
(flag "display" *display-bug-report* dm-boolean-toggle-pick-func)
(flag "screen" *stdcon* dm-bug-report-output-pick-func)
(flag "listener" listener dm-bug-report-output-pick-func)
(flag "file" file-stream dm-bug-report-output-pick-func)
(function "visgood" "visgood" dm-bug-report-report-pick-func)
(function "visbad" "visbad" dm-bug-report-report-pick-func)
(function "collision" "collision" dm-bug-report-report-pick-func)
)
)
)
(debug-menu-append-item
s5-0
(debug-menu-make-from-template
arg0
'(menu
"Scene"
(menu
"Scene Info"
(flag "channel" 1 display-scene-control-toggle-pick-func)
(flag "anim name" 2 display-scene-control-toggle-pick-func)
(flag "dma size" 4 display-scene-control-toggle-pick-func)
(flag "bounds spheres" 8 display-scene-control-toggle-pick-func)
(flag "actors" 16 display-scene-control-toggle-pick-func)
(flag "actor-marks" 32 display-scene-control-toggle-pick-func)
(flag "special fma spheres" 64 display-scene-control-toggle-pick-func)
(flag "all on" 95 display-scene-control-set-pick-func)
(flag "all off" 0 display-scene-control-set-pick-func)
)
(menu
"city"
(function "city-help-kid-intro" ("ctyslumb-fort" "city-help-kid-intro") dm-scene-load-pick-func)
(function "city-help-kid-resolution" ("ctyslumb-fort" "city-help-kid-resolution") dm-scene-load-pick-func)
(function
"city-intercept-tanker-intro"
("ctymarkb-tanker" "city-intercept-tanker-intro")
dm-scene-load-pick-func
)
(function "city-intercept-tanker-res" ("ctymarkb-tanker" "city-intercept-tanker-res") dm-scene-load-pick-func)
(function "city-get-yellow-gun" ("gungame-movie" "city-get-yellow-gun") dm-scene-load-pick-func)
(function "city-get-hoverboard" ("ctyfarma-airlock-movie" "city-get-hoverboard") dm-scene-load-pick-func)
(function "city-get-dark-gun" ("gungame-movie" "city-get-dark-gun") dm-scene-load-pick-func)
(function "city-meet-brutter-res" ("kiosk-start" "city-meet-brutter-res") dm-scene-load-pick-func)
(function "city-save-lurkers-intro" ("kiosk-start" "city-save-lurkers-intro") dm-scene-load-pick-func)
(function
"city-errol-challenge-res"
("garage-start-class3" "city-errol-challenge-res")
dm-scene-load-pick-func
)
(function "city-air-train-in-caspad" ("ctyport-air-train" "city-air-train-in-caspad") dm-scene-load-pick-func)
(function "city-air-train-in-nest" ("ctyport-air-train" "city-air-train-in-nest") dm-scene-load-pick-func)
(function "city-air-train-out" ("ctyport-air-train" "city-air-train-out") dm-scene-load-pick-func)
(function
"city-ashelin-drop-off"
("ctyport-air-train-ashelin" "city-ashelin-drop-off")
dm-scene-load-pick-func
)
(function
"city-protect-slums-intro"
("ctyslumc-seal-movie" "city-protect-slums-intro")
dm-scene-load-pick-func
)
)
(menu
"atoll"
(function "atoll-1-res" ("atoll-movie" "atoll-1-res") dm-scene-load-pick-func)
(function "atoll-save-ashelin-res-a" ("atoll-movie" "atoll-save-ashelin-res-a") dm-scene-load-pick-func)
(function "atoll-save-ashelin-res-b" ("atoll-movie" "atoll-save-ashelin-res-b") dm-scene-load-pick-func)
(function "atoll-sig-intro" ("atoll-movie" "atoll-sig-intro") dm-scene-load-pick-func)
(function "atoll-sig-tank" ("atoll-movie" "atoll-sig-tank") dm-scene-load-pick-func)
(function "atoll-sniper-a" ("atoll-movie" "atoll-sniper-a") dm-scene-load-pick-func)
(function "atoll-sniper-b" ("atoll-movie" "atoll-sniper-b") dm-scene-load-pick-func)
(function "atoll-sniper-c" ("atoll-movie" "atoll-sniper-c") dm-scene-load-pick-func)
(function "atoll-sniper-d" ("atoll-movie" "atoll-sniper-d") dm-scene-load-pick-func)
(function "atoll-sniper-e" ("atoll-movie" "atoll-sniper-e") dm-scene-load-pick-func)
)
(menu
"canyon"
(function "canyon-insert-items-intro" ("mountain-movie" "canyon-insert-items-intro") dm-scene-load-pick-func)
(function "canyon-insert-items-res" ("mincan-city" "canyon-insert-items-res") dm-scene-load-pick-func)
)
(menu
"caspad"
(function "caspad-air-train-in" ("caspad-warp" "caspad-air-train-in") dm-scene-load-pick-func)
(function "caspad-air-train-out" ("caspad-warp" "caspad-air-train-out") dm-scene-load-pick-func)
)
(menu
"castle"
(function
"castle-krew-boss-fight-intro"
("casboss-start" "castle-krew-boss-fight-intro")
dm-scene-load-pick-func
)
(function "castle-krew-boss-fight-res" ("casboss-start" "castle-krew-boss-fight-res") dm-scene-load-pick-func)
)
(menu
"consite"
(function "consite-find-baron-res" ("consite-start" "consite-find-baron-res") dm-scene-load-pick-func)
)
(menu
"dig"
(function "dig-find-totem-res" ("dig-totem" "dig-find-totem-res") dm-scene-load-pick-func)
(function "dig-digger-explode" ("dig1-start" "dig-digger-explode") dm-scene-load-pick-func)
)
(menu
"drill"
(function "drill-top-explode" ("drillmid-checkpoint" "drill-top-explode") dm-scene-load-pick-func)
)
(menu
"forest"
(function
"forest-protect-samos-intro-b"
("forest-tree" "forest-protect-samos-intro-b")
dm-scene-load-pick-func
)
(function "forest-protect-samos-res" ("forest-tree" "forest-protect-samos-res") dm-scene-load-pick-func)
)
(menu
"fortress"
(function
"fortress-blow-up-ammo-res-a"
("fordumpc-start" "fortress-blow-up-ammo-res-a")
dm-scene-load-pick-func
)
(function
"fortress-blow-up-ammo-res-b"
("fordumpc-explode-movie" "fortress-blow-up-ammo-res-b")
dm-scene-load-pick-func
)
(function "fortress-save-friends-res" ("prison-start" "fortress-save-friends-res") dm-scene-load-pick-func)
(function
"test-fortress-blow-up-ammo-res-b-a"
("fordumpc-explode-movie" "test-fortress-blow-up-ammo-res-b-a")
dm-scene-load-pick-func
)
(function "test-fortress-blast" ("fordumpc-explode-movie" "test-fortress-blast") dm-scene-load-pick-func)
)
(menu
"hideout"
(function "city-krew-delivery-intro" ("hideout-start" "city-krew-delivery-intro") dm-scene-load-pick-func)
(function
"city-destroy-guard-vehicles-intro"
("hideout-start" "city-destroy-guard-vehicles-intro")
dm-scene-load-pick-func
)
(function "ruins-sacred-intro" ("hideout-start" "ruins-sacred-intro") dm-scene-load-pick-func)
(function "ruins-tower-intro" ("ctysluma-tower-intro" "ruins-tower-intro") dm-scene-load-pick-func)
(function "vin-rescue-intro" ("hideout-start" "vin-rescue-intro") dm-scene-load-pick-func)
(function "fortress-2-intro" ("hideout-start" "fortress-2-intro") dm-scene-load-pick-func)
(function "atoll-1-int" ("hideout-start" "atoll-1-int") dm-scene-load-pick-func)
(function "atoll-3-intro" ("hideout-start" "atoll-3-intro") dm-scene-load-pick-func)
(function
"city-shuttle-underground-intro"
("hideout-start" "city-shuttle-underground-intro")
dm-scene-load-pick-func
)
(function "city-escort-kid-intro" ("escort-kid-intro" "city-escort-kid-intro") dm-scene-load-pick-func)
(function "city-stop-bomb-bots-intro" ("hideout-start" "city-stop-bomb-bots-intro") dm-scene-load-pick-func)
(function
"forest-catch-metal-heads-intro"
("hideout-start" "forest-catch-metal-heads-intro")
dm-scene-load-pick-func
)
(function
"fortress-save-friends-intro-a"
("hideout-start" "fortress-save-friends-intro-a")
dm-scene-load-pick-func
)
)
(menu
"hiphog"
(function "atoll-2-intro" ("hiphog-start" "atoll-2-intro") dm-scene-load-pick-func)
(function "sewer-1-intro" ("hiphog-start" "sewer-1-intro") dm-scene-load-pick-func)
(function "sewer-1-res" ("hiphog-start" "sewer-1-res") dm-scene-load-pick-func)
(function "sewer-2-intro" ("hiphog-start" "sewer-2-intro") dm-scene-load-pick-func)
(function "krew-delivery-res" ("hiphog-start" "krew-delivery-res") dm-scene-load-pick-func)
(function "city-meet-brutter-intro" ("hiphog-start" "city-meet-brutter-intro") dm-scene-load-pick-func)
(function "city-keira-delivery-intro" ("hiphog-start" "city-keira-delivery-intro") dm-scene-load-pick-func)
(function "city-krew-collection-intro" ("hiphog-start" "city-krew-collection-intro") dm-scene-load-pick-func)
(function "city-krew-collection-res" ("hiphog-start" "city-krew-collection-res") dm-scene-load-pick-func)
(function
"forest-hunt-camo-metal-heads-intro"
("hiphog-start" "forest-hunt-camo-metal-heads-intro")
dm-scene-load-pick-func
)
(function "sewer-blow-up-statue-intro" ("hiphog-start" "sewer-blow-up-statue-intro") dm-scene-load-pick-func)
(function "city-errol-challenge-intro" ("hiphog-start" "city-errol-challenge-intro") dm-scene-load-pick-func)
(function "city-whack-a-metal-intro" ("hiphog-start" "city-whack-a-metal-intro") dm-scene-load-pick-func)
(function "city-whack-a-metal-res" ("hiphog-start" "city-whack-a-metal-res") dm-scene-load-pick-func)
)
(menu
"intro/outro"
(function
"intro"
("village1-start" ("intro-samos-hut" "intro-vortex" "intro-city-square" "intro-prison"))
dm-scene-load-pick-func
)
(function "intro-samos-hut" ("village1-start" "intro-samos-hut") dm-scene-load-pick-func)
(function "intro-vortex" ("village1-start" "intro-vortex") dm-scene-load-pick-func)
(function "intro-city-square" ("ctyindb-intro-start" "intro-city-square") dm-scene-load-pick-func)
(function "intro-prison" ("prison-intro-start" "intro-prison") dm-scene-load-pick-func)
(function
"outro"
("nestb-outro" ("outro-nest" "outro-palace" "outro-hiphog" "outro-port"))
dm-scene-load-pick-func
)
(function "outro-nest" ("nestb-outro" "outro-nest") dm-scene-load-pick-func)
(function "outro-palace" ("throne-outro" "outro-palace") dm-scene-load-pick-func)
(function "outro-hiphog" ("hiphog-outro" "outro-hiphog") dm-scene-load-pick-func)
(function "outro-port" ("ctyport-outro" "outro-port") dm-scene-load-pick-func)
)
(menu
"mountain"
(function "mtn-step-plat-rocks-a" ("mountain-start" "mtn-step-plat-rocks-a") dm-scene-load-pick-func)
(function "mtn-step-plat-rocks-b" ("mountain-start" "mtn-step-plat-rocks-b") dm-scene-load-pick-func)
(function "mtn-step-plat-rocks-c" ("mountain-start" "mtn-step-plat-rocks-c") dm-scene-load-pick-func)
(function "mtn-plat-buried-rocks-a" ("mountain-start" "mtn-plat-buried-rocks-a") dm-scene-load-pick-func)
(function "mountain-lens-res" ("mountain-start" "mountain-lens-res") dm-scene-load-pick-func)
(function "mountain-shard-res" ("mountain-start" "mountain-shard-res") dm-scene-load-pick-func)
(function "mountain-gear-res" ("mountain-start" "mountain-gear-res") dm-scene-load-pick-func)
)
(menu
"nest"
(function "nest-break-barrier-res" ("nest-gun" "nest-break-barrier-res") dm-scene-load-pick-func)
(function "nest-air-train-in" ("nest-warp" "nest-air-train-in") dm-scene-load-pick-func)
(function "nest-air-train-out" ("nest-warp" "nest-air-train-out") dm-scene-load-pick-func)
(function "nest-kor-boss-fight-intro-b" ("nestb-boss" "nest-kor-boss-fight-intro-b") dm-scene-load-pick-func)
(function "nest-kor-boss-fight-mid" ("nestb-boss" "nest-kor-boss-fight-mid") dm-scene-load-pick-func)
)
(menu
"onintent"
(function "mountain-finditems-intro" ("onintent-start" "mountain-finditems-intro") dm-scene-load-pick-func)
(function "dig-find-totem-intro" ("onintent-start" "dig-find-totem-intro") dm-scene-load-pick-func)
(function
"forest-protect-samos-intro-a"
("onintent-start" "forest-protect-samos-intro-a")
dm-scene-load-pick-func
)
(function "city-play-onin-game-intro" ("onintent-start" "city-play-onin-game-intro") dm-scene-load-pick-func)
(function "city-play-onin-game-res" ("onintent-start" "city-play-onin-game-res") dm-scene-load-pick-func)
(function
"test-mountain-finditems-intro"
("onintent-start" "test-mountain-finditems-intro")
dm-scene-load-pick-func
)
)
(menu
"oracle"
(function "city-oracle-intro" ("oracle-start" "city-oracle-intro") dm-scene-load-pick-func)
(function "city-oracle-level-0" ("oracle-start" "city-oracle-level-0") dm-scene-load-pick-func)
(function "city-oracle-level-1" ("oracle-start" "city-oracle-level-1") dm-scene-load-pick-func)
(function "city-oracle-level-2" ("oracle-start" "city-oracle-level-2") dm-scene-load-pick-func)
(function "city-oracle-level-3" ("oracle-start" "city-oracle-level-3") dm-scene-load-pick-func)
)
(menu
"palace"
(function "palace-outside-window-res" ("palroof-throne" "palace-outside-window-res") dm-scene-load-pick-func)
(function
"palace-outside-window-res-b"
("palroof-boss" "palace-outside-window-res-b")
dm-scene-load-pick-func
)
(function "palace-boss-res" ("palroof-boss" "palace-boss-res") dm-scene-load-pick-func)
(function "palace-sneak-in-res" ("palroof-throne" "palace-sneak-in-res") dm-scene-load-pick-func)
)
(menu
"ruins"
(function "ruins-tower-victory" ("ruins-hut" "ruins-tower-victory") dm-scene-load-pick-func)
(function "ruins-sacred-victory" ("ruins-hut" "ruins-sacred-victory") dm-scene-load-pick-func)
(function "ruins-get-to-hut-res" ("ruins-hut" "ruins-get-to-hut-res") dm-scene-load-pick-func)
(function "test-scene" ("ruins-hut" "test-scene") dm-scene-load-pick-func)
)
(menu
"sewer"
(function "sewer-drain-res" ("sewer-start" "sewer-drain-res") dm-scene-load-pick-func)
(function "sewer-blow-up-statue-res" ("sewesc-start" "sewer-blow-up-statue-res") dm-scene-load-pick-func)
(function "sewer-hosehead" ("sewesc-start" "sewer-hosehead") dm-scene-load-pick-func)
)
(menu
"stadium"
(function
"city-keira-hover-challenge-intro"
("garage-start-skate" "city-keira-hover-challenge-intro")
dm-scene-load-pick-func
)
(function
"city-keira-hover-challenge-res"
("garage-start-skate" "city-keira-hover-challenge-res")
dm-scene-load-pick-func
)
(function
"city-class-1-race-intro-a"
("garage-class3-movie" "city-class-1-race-intro-a")
dm-scene-load-pick-func
)
(function "city-class-1-race-intro-b" ("stadiumd-start" "city-class-1-race-intro-b") dm-scene-load-pick-func)
(function "city-class-1-race-res" ("stadiumd-start" "city-class-1-race-res") dm-scene-load-pick-func)
(function "city-class-3-race-intro" ("garage-class3-movie" "city-class-3-race-intro") dm-scene-load-pick-func)
(function "city-class-3-race-res" ("garage-class3-movie" "city-class-3-race-res") dm-scene-load-pick-func)
(function "city-put-hoverboard" ("skatea-start" "city-put-hoverboard") dm-scene-load-pick-func)
(function "city-class-2-race-intro" ("garage-class3-movie" "city-class-2-race-intro") dm-scene-load-pick-func)
(function "city-class-2-race-res" ("garage-class3-movie" "city-class-2-race-res") dm-scene-load-pick-func)
(function "city-defend-stadium-intro" ("stadium-blimp" "city-defend-stadium-intro") dm-scene-load-pick-func)
(function "city-defend-stadium-res" ("stadium-blimp" "city-defend-stadium-res") dm-scene-load-pick-func)
)
(menu
"strip"
(function "crane-victory" ("strip-start" "crane-victory") dm-scene-load-pick-func)
(function "ecowells-victory" ("strip-start" "ecowells-victory") dm-scene-load-pick-func)
(function "vin-rescue" ("strip-start" "vin-rescue") dm-scene-load-pick-func)
(function "test-crane-victory" ("strip-start" "test-crane-victory") dm-scene-load-pick-func)
)
(menu
"tomb"
(function "tomb-face-tests-intro" ("tombd-start" "tomb-face-tests-intro") dm-scene-load-pick-func)
(function "tomb-boulder-start" ("tomb-boulder" "tomb-boulder-start") dm-scene-load-pick-func)
(function "tomb-spider-scare" ("tomb-boulder-explode" "tomb-spider-scare") dm-scene-load-pick-func)
(function "tomb-unlock-start" ("tomb-water-switch" "tomb-unlock-start") dm-scene-load-pick-func)
(function "tomb-unlock-water" ("tomb-water-switch" "tomb-unlock-water") dm-scene-load-pick-func)
(function "tomb-unlock-poles" ("tomb-poles-switch" "tomb-unlock-poles") dm-scene-load-pick-func)
(function "tomb-boss-open" ("tombboss-start" "tomb-boss-open") dm-scene-load-pick-func)
(function "tomb-boss-intro" ("tombboss-start" "tomb-boss-intro") dm-scene-load-pick-func)
(function "tomb-boss-res" ("tombboss-start" "tomb-boss-res") dm-scene-load-pick-func)
)
(menu
"under"
(function "under-find-sig-res" ("under-start" "under-find-sig-res") dm-scene-load-pick-func)
(function "under-centipede-one" ("under-start" "under-centipede-one") dm-scene-load-pick-func)
(function "under-centipede-two" ("under-start" "under-centipede-two") dm-scene-load-pick-func)
(function "under-centipede-three" ("under-start" "under-centipede-three") dm-scene-load-pick-func)
(function "under-get-sig-out-res" ("under-start" "under-get-sig-out-res") dm-scene-load-pick-func)
)
(menu
"vinroom"
(function "crane-intro" ("vinroom-start" "crane-intro") dm-scene-load-pick-func)
(function
"drill-kill-metal-heads-intro"
("vinroom-start" "drill-kill-metal-heads-intro")
dm-scene-load-pick-func
)
(function "ecowells-intro" ("vinroom-start" "ecowells-intro") dm-scene-load-pick-func)
(function "city-switch-on-power-intro" ("vinroom-start" "city-switch-on-power-intro") dm-scene-load-pick-func)
(function
"dig-knock-down-scaffolding-intro"
("vinroom-start" "dig-knock-down-scaffolding-intro")
dm-scene-load-pick-func
)
(function "drill-destroy-ship-intro" ("vinroom-start" "drill-destroy-ship-intro") dm-scene-load-pick-func)
(function
"drill-destroy-control-tower-intro"
("vinroom-start" "drill-destroy-control-tower-intro")
dm-scene-load-pick-func
)
)
(menu "demo" (function "demo-disk-intro" ("demo-movie" "demo-disk-intro") dm-scene-load-pick-func))
(menu
"cover-test"
(function "cover-test-1" ("chartest-1" "cover-test-1") dm-scene-load-pick-func)
(function "cover-test-2" ("chartest-1" "cover-test-2") dm-scene-load-pick-func)
)
)
)
)
(debug-menu-append-item s5-0 (debug-menu-make-task-menu arg0))
(debug-menu-append-item s5-0 (debug-menu-make-play-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 object) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(if *target*
(stop 'debug)
(start 'debug (get-current-continue-forced *game-info*))
)
)
*target*
)
)
(menu
"Mode"
(function "normal" #f ,(lambda () (send-event *target* 'end-mode)))
(function "racer" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'racer #f)
)
)
(function "flut" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'flut #f)
)
)
(function "board" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature board))
(logior! (-> *game-info* debug-features) (game-feature board))
(send-event *target* 'change-mode 'board #f)
)
)
(function "mech" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'mech #f)
)
)
(function "gun" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature gun))
(logior! (-> *game-info* debug-features) (game-feature gun))
(send-event *target* 'change-mode 'gun #f (pickup-type none))
)
)
(function "darkjak" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(logior! (-> *game-info* features) (game-feature darkjak))
(logior! (-> *game-info* debug-features) (game-feature darkjak))
(send-event *target* 'change-mode 'darkjak #f (darkjak-stage force-on active))
)
)
(function "indax" #f ,(lambda ()
(if (not *target*)
(start 'debug (get-current-continue-forced *game-info*))
)
(send-event *target* 'change-mode 'indax #f)
)
)
)
(flag "Game" #f ,(lambda ((arg0 object) (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 ()
(if (time-of-day-setup #f)
(time-of-day-setup #t)
)
(play-clean #f)
(none)
)
)
(flag "Stats" *stats-target* dm-boolean-toggle-pick-func)
(function "Reset" #f ,(lambda () (reset-actors 'debug) (none)))
(function "Start" #f ,(lambda () (start 'play (-> *game-info* current-continue)) (none)))
(function "Editor" #f ,(lambda ()
(kill-by-type editable-player *active-pool*)
(process-spawn editable-player :init editable-player-init #f :to *entity-pool*)
(set-master-mode 'game)
(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)
(cond
((and (cpad-hold? 0 l3) (cpad-hold? 0 select))
(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 deactivate) (debug-menu-dest activation))
(debug-menu-context-send-msg *editable-menu-context* (debug-menu-msg deactivate) (debug-menu-dest activation))
)
((and (cpad-hold? 1 start) *editable*)
(debug-menu-context-send-msg *editable-menu-context* (debug-menu-msg activate) (debug-menu-dest activation))
(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))
)
((and (cpad-hold? 0 l3) (cpad-hold? 0 start))
(debug-menu-context-send-msg *debug-menu-context* (debug-menu-msg activate) (debug-menu-dest activation))
(debug-menu-context-send-msg *popup-menu-context* (debug-menu-msg deactivate) (debug-menu-dest activation))
(debug-menu-context-send-msg *editable-menu-context* (debug-menu-msg deactivate) (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))
(debug-menu-context-send-msg *editable-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*)
)