Files
ManDude cd68cb671e deftype and defmethod syntax major changes (#3094)
Major change to how `deftype` shows up in our code:
- the decompiler will no longer emit the `offset-assert`,
`method-count-assert`, `size-assert` and `flag-assert` parameters. There
are extremely few cases where having this in the decompiled code is
helpful, as the types there come from `all-types` which already has
those parameters. This also doesn't break type consistency because:
  - the asserts aren't compared.
- the first step of the test uses `all-types`, which has the asserts,
which will throw an error if they're bad.
- the decompiler won't emit the `heap-base` parameter unless necessary
now.
- the decompiler will try its hardest to turn a fixed-offset field into
an `overlay-at` field. It falls back to the old offset if all else
fails.
- `overlay-at` now supports field "dereferencing" to specify the offset
that's within a field that's a structure, e.g.:
```lisp
(deftype foobar (structure)
  ((vec    vector  :inline)
   (flags  int32   :overlay-at (-> vec w))
   )
  )
```
in this structure, the offset of `flags` will be 12 because that is the
final offset of `vec`'s `w` field within this structure.
- **removed ID from all method declarations.** IDs are only ever
automatically assigned now. Fixes #3068.
- added an `:overlay` parameter to method declarations, in order to
declare a new method that goes on top of a previously-defined method.
Syntax is `:overlay <method-name>`. Please do not ever use this.
- added `state-methods` list parameter. This lets you quickly specify a
list of states to be put in the method table. Same syntax as the
`states` list parameter. The decompiler will try to put as many states
in this as it can without messing with the method ID order.

Also changes `defmethod` to make the first type definition (before the
arguments) optional. The type can now be inferred from the first
argument. Fixes #3093.

---------

Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
2023-10-30 03:20:02 +00:00

605 lines
27 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition of type user-setting-data
(deftype user-setting-data (structure)
((border-mode symbol)
(process-mask process-mask)
(unknown-int32-00 int32)
(language language-enum :offset 16)
(display-dx int32)
(display-dy int32)
(vibration symbol :offset 32)
(play-hints symbol :offset 36)
(movie (pointer process) :offset 40)
(talking (pointer process))
(spooling (pointer process))
(hint (pointer process))
(ambient (pointer process))
(video-mode symbol)
(aspect-ratio symbol)
(use-progressive-scan symbol :offset 68)
(auto-save symbol :offset 72)
(bg-r float)
(bg-g float)
(bg-b float)
(bg-a float)
(bg-a-speed float)
(bg-a-force float)
(allow-progress symbol)
(allow-pause symbol)
(ocean-off symbol)
(allow-look-around symbol)
(camera-stick-dir symbol)
(movie-name symbol :offset 120)
(weather symbol)
(mouse symbol)
(cursor symbol)
(task-mask task-mask :offset 136)
(region-mode symbol)
(duck symbol :offset 144)
(attack symbol)
(gun symbol)
(board symbol)
(jump symbol)
(speed-mult float)
(features game-feature)
(sfx-volume float)
(sfx-movie-volume float)
(music-volume float)
(music-volume-movie float)
(dialog-volume float)
(dialog-volume-hint float)
(ambient-volume float)
(ambient-volume-move float)
(sound-flava uint8)
(sound-flava-priority float)
(mode-sound-bank uint32)
(sound-excitement float)
(sound-reverb float)
(stereo-mode int32)
(music symbol)
(sound-stinger int32)
(spool-anim spool-anim)
(sound-mode uint32)
(task-manager (pointer process))
(task symbol)
(airlock symbol)
(minimap uint16)
(sound-tune uint32)
(allow-continue symbol)
(spotlight-color rgba)
(subtitle symbol)
(borrow pair)
(doorway symbol)
(gem symbol)
(half-speed symbol)
(gun-buoy symbol)
(double-jump symbol)
(pilot symbol)
(pilot-exit symbol)
(exclusive-task int32)
(speech-control symbol)
(vehicle-hijacking symbol)
(darkjak symbol)
(endlessfall symbol)
(rain float)
(snow float)
(exclusive-load symbol)
(render symbol)
(allow-timeout symbol)
(mirror symbol)
(movie-skip-frame float)
(allow-blackout symbol)
(race-minimap int32)
(extra-bank pair)
(beard symbol)
(ignore-target symbol)
(subtitle-language language-enum)
(sound-bank-load symbol)
(allow-error symbol)
(under-water-pitch-mod float)
(dummy object 31)
)
(:methods
(user-setting-data-method-9 (_type_ engine engine-pers engine) user-setting-data)
(user-setting-data-method-10 (_type_ object symbol float uint) user-setting-data)
)
)
;; definition for method 3 of type user-setting-data
(defmethod inspect ((this user-setting-data))
(when (not this)
(set! this this)
(goto cfg-71)
)
(format #t "[~8x] ~A~%" this 'user-setting-data)
(format #t "~1Tborder-mode: ~A~%" (-> this border-mode))
(format #t "~1Tprocess-mask: #x~X~%" (-> this process-mask))
(let ((t9-3 format)
(a0-4 #t)
(a1-3 "~1Tlanguage: #x~X : ~S~%")
(a2-3 (-> this language))
(v1-2 (-> this language))
)
(t9-3 a0-4 a1-3 a2-3 (cond
((= v1-2 (language-enum english))
"english"
)
((= v1-2 (language-enum uk-english))
"uk-english"
)
((= v1-2 (language-enum french))
"french"
)
((= v1-2 (language-enum korean))
"korean"
)
((= v1-2 (language-enum german))
"german"
)
((= v1-2 (language-enum spanish))
"spanish"
)
((= v1-2 (language-enum italian))
"italian"
)
((= v1-2 (language-enum japanese))
"japanese"
)
(else
"*unknown*"
)
)
)
)
(format #t "~1Tmovie: ~A~%" (ppointer->process (-> this movie)))
(format #t "~1Ttalking: ~A~%" (ppointer->process (-> this talking)))
(format #t "~1Tspooling: ~A~%" (ppointer->process (-> this spooling)))
(format #t "~1Thint: ~A~%" (ppointer->process (-> this hint)))
(format #t "~1Tambient: ~A~%" (ppointer->process (-> this ambient)))
(format #t "~1Tvideo-mode: ~A~%" (-> this video-mode))
(format #t "~1Taspect-ratio: ~A~%" (-> this aspect-ratio))
(format #t "~1Tauto-save: ~A~%" (-> this auto-save))
(format #t "~1Tbg-r: ~f~%" (-> this bg-r))
(format #t "~1Tbg-g: ~f~%" (-> this bg-g))
(format #t "~1Tbg-b: ~f~%" (-> this bg-b))
(format #t "~1Tbg-a: ~f~%" (-> this bg-a))
(format #t "~1Tbg-a-speed: ~f~%" (-> this bg-a-speed))
(format #t "~1Tbg-a-force: ~f~%" (-> this bg-a-force))
(format #t "~1Tallow-progress: ~A~%" (-> this allow-progress))
(format #t "~1Tallow-pause: ~A~%" (-> this allow-pause))
(format #t "~1Tmovie-name: ~A~%" (-> this movie-name))
(format #t "~1Tweather: ~A~%" (-> this weather))
(format #t "~1Ttask-mask: #x~X : (task-mask " (-> this task-mask))
(let ((s5-0 (-> this task-mask)))
(if (= (logand s5-0 (task-mask task0)) (task-mask task0))
(format #t "task0 ")
)
(if (= (logand s5-0 (task-mask task2)) (task-mask task2))
(format #t "task2 ")
)
(if (= (logand s5-0 (task-mask task4)) (task-mask task4))
(format #t "task4 ")
)
(if (= (logand s5-0 (task-mask task6)) (task-mask task6))
(format #t "task6 ")
)
(if (= (logand s5-0 (task-mask ctywide)) (task-mask ctywide))
(format #t "ctywide ")
)
(if (= (logand s5-0 (task-mask never)) (task-mask never))
(format #t "never ")
)
(if (= (logand (task-mask movie1) s5-0) (task-mask movie1))
(format #t "movie1 ")
)
(if (= (logand s5-0 (task-mask dummy1)) (task-mask dummy1))
(format #t "dummy1 ")
)
(if (= (logand s5-0 (task-mask primary0)) (task-mask primary0))
(format #t "primary0 ")
)
(if (= (logand s5-0 (task-mask task1)) (task-mask task1))
(format #t "task1 ")
)
(if (= (logand s5-0 (task-mask task3)) (task-mask task3))
(format #t "task3 ")
)
(if (= (logand s5-0 (task-mask task5)) (task-mask task5))
(format #t "task5 ")
)
(if (= (logand s5-0 (task-mask task7)) (task-mask task7))
(format #t "task7 ")
)
(if (= (logand (task-mask movie2) s5-0) (task-mask movie2))
(format #t "movie2 ")
)
(if (= (logand s5-0 (task-mask dummy2)) (task-mask dummy2))
(format #t "dummy2 ")
)
(if (= (logand s5-0 (task-mask done)) (task-mask done))
(format #t "done ")
)
(if (= (logand s5-0 (task-mask special)) (task-mask special))
(format #t "special ")
)
(if (= (logand (task-mask movie0) s5-0) (task-mask movie0))
(format #t "movie0 ")
)
(if (= (logand s5-0 (task-mask dummy0)) (task-mask dummy0))
(format #t "dummy0 ")
)
)
(format #t ")~%")
(format #t "~1Tduck: ~A~%" (-> this duck))
(format #t "~1Tattack: ~A~%" (-> this attack))
(format #t "~1Tgun: ~A~%" (-> this gun))
(format #t "~1Tboard: ~A~%" (-> this board))
(format #t "~1Tjump: ~A~%" (-> this jump))
(format #t "~1Tspeed-mult: ~f~%" (-> this speed-mult))
(format #t "~1Tfeatures: ~D~%" (-> this features))
(format #t "~1Tsfx-volume: ~f~%" (-> this sfx-volume))
(format #t "~1Tsfx-volume-movie: ~f~%" (-> this sfx-movie-volume))
(format #t "~1Tmusic-volume: ~f~%" (-> this music-volume))
(format #t "~1Tmusic-volume-movie: ~f~%" (-> this music-volume-movie))
(format #t "~1Tdialog-volume: ~f~%" (-> this dialog-volume))
(format #t "~1Tdialog-volume-hint: ~f~%" (-> this dialog-volume-hint))
(format #t "~1Tambient-volume: ~f~%" (-> this ambient-volume))
(format #t "~1Tambient-volume-movie: ~f~%" (-> this ambient-volume-move))
(format #t "~1Tsound-flava: ~D~%" (-> this sound-flava))
(format #t "~1Tsound-flava-priority: ~f~%" (-> this sound-flava-priority))
(format #t "~1Tmode-sound-bank: ~A~%" (-> this mode-sound-bank))
(format #t "~1Tsound-excitement: ~f~%" (-> this sound-excitement))
(format #t "~1Tsound-reverb: ~f~%" (-> this sound-reverb))
(format #t "~1Tstereo-mode: ~D~%" (-> this stereo-mode))
(format #t "~1Tmusic: ~A~%" (-> this music))
(format #t "~1Tsound-stinger: ~D~%" (-> this sound-stinger))
(format #t "~1Tspool-anim: ~A~%" (-> this spool-anim))
(format #t "~1Tsound-mode: ~D~%" (-> this sound-mode))
(format #t "~1Ttask-manager: ~A~%" (ppointer->process (-> this task-manager)))
(format #t "~1Ttask: ~A~%" (-> this task))
(format #t "~1Tairlock: ~A~%" (-> this airlock))
(format #t "~1Tminimap: ~D~%" (-> this minimap))
(format #t "~1Tsound-tune: ~D~%" (-> this sound-tune))
(format #t "~1Tallow-continue: ~A~%" (-> this allow-continue))
(format #t "~1Tspotlight-color: ~D~%" (-> this spotlight-color))
(format #t "~1Tsubtitle: ~A~%" (-> this subtitle))
(format #t "~1Tborrow: ~A~%" (-> this borrow))
(format #t "~1Tdoorway: ~A~%" (-> this doorway))
(format #t "~1Tgem: ~A~%" (-> this gem))
(format #t "~1Thalf-speed: ~A~%" (-> this half-speed))
(format #t "~1Tgun-buoy: ~A~%" (-> this gun-buoy))
(format #t "~1Tdouble-jump: ~A~%" (-> this double-jump))
(format #t "~1Tpilot: ~A~%" (-> this pilot))
(format #t "~1Tpilot-exit: ~A~%" (-> this pilot-exit))
(format #t "~1Texclusive-task: ~D~%" (-> this exclusive-task))
(format #t "~1Tspeech-control: ~A~%" (-> this speech-control))
(format #t "~1Tvehicle-hijacking: ~A~%" (-> this vehicle-hijacking))
(format #t "~1Tdarkjak: ~A~%" (-> this darkjak))
(format #t "~1Tendlessfall: ~A~%" (-> this endlessfall))
(format #t "~1Train: ~f~%" (-> this rain))
(format #t "~1Tsnow: ~f~%" (-> this snow))
(format #t "~1Texclusive-load: ~A~%" (-> this exclusive-load))
(format #t "~1Trender: ~A~%" (-> this render))
(format #t "~1Tallow-timeout: ~A~%" (-> this allow-timeout))
(format #t "~1Tmirror: ~A~%" (-> this mirror))
(format #t "~1Tmovie-skip-frame: ~f~%" (-> this movie-skip-frame))
(format #t "~1Tallow-blackout: ~A~%" (-> this allow-blackout))
(format #t "~1Trace-minimap: ~D~%" (-> this race-minimap))
(format #t "~1Textra-bank: ~A~%" (-> this extra-bank))
(format #t "~1Tbeard: ~A~%" (-> this beard))
(format #t "~1Tignore-target: ~A~%" (-> this ignore-target))
(format #t "~1Tsubtitle-language: ~D~%" (-> this subtitle-language))
(format #t "~1Tsound-bank-load: ~A~%" (-> this sound-bank-load))
(format #t "~1Tallow-error: ~A~%" (-> this allow-error))
(format #t "~1Tunder-water-pitch-mod: ~f~%" (-> this under-water-pitch-mod))
(format #t "~1Tdummy[31] @ #x~X~%" (-> this dummy))
(label cfg-71)
this
)
;; definition of type cam-setting-data
(deftype cam-setting-data (structure)
((fov degrees)
(pov-handle handle :offset 16)
(pov-bone int32)
(pov-offset vector :inline)
(string-default symbol)
(string-max-length meters)
(string-min-length meters)
(string-max-height meters)
(string-min-height meters)
(string-cliff-height meters)
(string-camera-ceiling meters)
(gun-max-height meters)
(gun-min-height meters)
(string-local-down vector :inline)
(slave-options cam-slave-options)
(matrix-blend-max-angle degrees)
(matrix-blend-max-partial float)
(string-spline-max-move meters)
(string-spline-accel meters)
(string-spline-max-move-player meters)
(string-spline-accel-player meters)
(string-startup-vector vector :inline)
(string-use-startup-vector symbol)
(look-at-point vector :inline)
(use-look-at-point symbol)
(target-height meters)
(foot-offset meters)
(head-offset meters)
(teleport-on-entity-change symbol)
(entity-name string)
(entity-or-mode-changed symbol)
(master-options cam-master-options)
(entity-mask uint32)
(mode-name symbol)
(real-entity-name string)
(cam-mode symbol)
(interp-time uint32)
(no-intro symbol)
(use-point-of-interest symbol)
(point-of-interest vector :inline)
(handle-of-interest handle)
(mouse-tumble-point vector :inline)
(use-mouse-tumble-point symbol)
(mouse-input symbol)
(cpad1-skip-buttons symbol)
(butt-handle handle)
(butt-angle float)
(extra-follow-height float)
(interp-time-priority uint32)
(string-max-length-default symbol)
(string-min-length-default symbol)
(string-max-height-default symbol)
(string-min-height-default symbol)
(dummy object 102)
)
(:methods
(cam-setting-data-method-9 (_type_ engine engine-pers engine) _type_)
(cam-setting-data-method-10 (_type_ object (pointer process) float int) _type_)
)
)
;; definition for method 3 of type cam-setting-data
(defmethod inspect ((this cam-setting-data))
(when (not this)
(set! this this)
(goto cfg-68)
)
(format #t "[~8x] ~A~%" this 'cam-setting-data)
(format #t "~1Tfov: (deg ~r)~%" (-> this fov))
(format #t "~1Tpov-handle: ~D~%" (-> this pov-handle))
(format #t "~1Tpov-bone: ~D~%" (-> this pov-bone))
(format #t "~1Tpov-offset: ~`vector`P~%" (-> this pov-offset))
(format #t "~1Tstring-default: ~`boolean`P~%" (-> this string-default))
(format #t "~1Tstring-max-length: (meters ~m)~%" (-> this string-max-length))
(format #t "~1Tstring-min-length: (meters ~m)~%" (-> this string-min-length))
(format #t "~1Tstring-max-height: (meters ~m)~%" (-> this string-max-height))
(format #t "~1Tstring-min-height: (meters ~m)~%" (-> this string-min-height))
(format #t "~1Tstring-cliff-height: (meters ~m)~%" (-> this string-cliff-height))
(format #t "~1Tstring-camera-ceiling: (meters ~m)~%" (-> this string-camera-ceiling))
(format #t "~1Tgun-max-height: (meters ~m)~%" (-> this gun-max-height))
(format #t "~1Tgun-min-height: (meters ~m)~%" (-> this gun-min-height))
(format #t "~1Tstring-local-down: ~`vector`P~%" (-> this string-local-down))
(format #t "~1Tslave-options: #x~X : (cam-slave-options " (-> this slave-options))
(let ((s5-0 (-> this slave-options)))
(if (= (logand s5-0 (cam-slave-options SAME_SIDE)) (cam-slave-options SAME_SIDE))
(format #t "SAME_SIDE ")
)
(if (= (logand (cam-slave-options GUN_CAM) s5-0) (cam-slave-options GUN_CAM))
(format #t "GUN_CAM ")
)
(if (= (logand s5-0 (cam-slave-options STICKY_ANGLE)) (cam-slave-options STICKY_ANGLE))
(format #t "STICKY_ANGLE ")
)
(if (= (logand s5-0 (cam-slave-options FIND_HIDDEN_TARGET)) (cam-slave-options FIND_HIDDEN_TARGET))
(format #t "FIND_HIDDEN_TARGET ")
)
(if (= (logand (cam-slave-options RAPID_TRACKING) s5-0) (cam-slave-options RAPID_TRACKING))
(format #t "RAPID_TRACKING ")
)
(if (= (logand s5-0 (cam-slave-options SHRINK_MAX_ANGLE)) (cam-slave-options SHRINK_MAX_ANGLE))
(format #t "SHRINK_MAX_ANGLE ")
)
(if (= (logand s5-0 (cam-slave-options JUMP_PITCHES)) (cam-slave-options JUMP_PITCHES))
(format #t "JUMP_PITCHES ")
)
(if (= (logand s5-0 (cam-slave-options LINE_OF_SIGHT)) (cam-slave-options LINE_OF_SIGHT))
(format #t "LINE_OF_SIGHT ")
)
(if (= (logand s5-0 (cam-slave-options PLAYER_MOVING_CAMERA)) (cam-slave-options PLAYER_MOVING_CAMERA))
(format #t "PLAYER_MOVING_CAMERA ")
)
(if (= (logand (cam-slave-options ALLOW_SHIFT_BUTTONS) s5-0) (cam-slave-options ALLOW_SHIFT_BUTTONS))
(format #t "ALLOW_SHIFT_BUTTONS ")
)
(if (= (logand s5-0 (cam-slave-options NO_ROTATE)) (cam-slave-options NO_ROTATE))
(format #t "NO_ROTATE ")
)
(if (= (logand (cam-slave-options WIDE_FOV) s5-0) (cam-slave-options WIDE_FOV))
(format #t "WIDE_FOV ")
)
(if (= (logand s5-0 (cam-slave-options MOVE_SPHERICAL)) (cam-slave-options MOVE_SPHERICAL))
(format #t "MOVE_SPHERICAL ")
)
(if (= (logand s5-0 (cam-slave-options DRAG)) (cam-slave-options DRAG))
(format #t "DRAG ")
)
(if (= (logand s5-0 (cam-slave-options MOVEMENT_BLOCKED)) (cam-slave-options MOVEMENT_BLOCKED))
(format #t "MOVEMENT_BLOCKED ")
)
(if (= (logand (cam-slave-options BLOCK_RIGHT_STICK) s5-0) (cam-slave-options BLOCK_RIGHT_STICK))
(format #t "BLOCK_RIGHT_STICK ")
)
(if (= (logand s5-0 (cam-slave-options COLLIDE)) (cam-slave-options COLLIDE))
(format #t "COLLIDE ")
)
(if (= (logand s5-0 (cam-slave-options ALLOW_Z_ROT)) (cam-slave-options ALLOW_Z_ROT))
(format #t "ALLOW_Z_ROT ")
)
(if (= (logand s5-0 (cam-slave-options BIKE_MODE)) (cam-slave-options BIKE_MODE))
(format #t "BIKE_MODE ")
)
(if (= (logand (cam-slave-options EASE_SPLINE_IDX) s5-0) (cam-slave-options EASE_SPLINE_IDX))
(format #t "EASE_SPLINE_IDX ")
)
(if (= (logand s5-0 (cam-slave-options GOTO_GOOD_POINT)) (cam-slave-options GOTO_GOOD_POINT))
(format #t "GOTO_GOOD_POINT ")
)
(if (= (logand s5-0 (cam-slave-options BUTT_CAM)) (cam-slave-options BUTT_CAM))
(format #t "BUTT_CAM ")
)
(if (= (logand (cam-slave-options VERTICAL_FOLLOW_MATCHES_CAMERA) s5-0)
(cam-slave-options VERTICAL_FOLLOW_MATCHES_CAMERA)
)
(format #t "VERTICAL_FOLLOW_MATCHES_CAMERA ")
)
(if (= (logand (cam-slave-options HAVE_BUTT_HANDLE) s5-0) (cam-slave-options HAVE_BUTT_HANDLE))
(format #t "HAVE_BUTT_HANDLE ")
)
)
(format #t ")~%")
(format #t "~1Tmatrix-blend-max-angle: (deg ~r)~%" (-> this matrix-blend-max-angle))
(format #t "~1Tmatrix-blend-max-partial: ~f~%" (-> this matrix-blend-max-partial))
(format #t "~1Tstring-spline-max-move: (meters ~m)~%" (-> this string-spline-max-move))
(format #t "~1Tstring-spline-accel: (meters ~m)~%" (-> this string-spline-accel))
(format #t "~1Tstring-spline-max-move-player: (meters ~m)~%" (-> this string-spline-max-move-player))
(format #t "~1Tstring-spline-accel-player: (meters ~m)~%" (-> this string-spline-accel-player))
(format #t "~1Tstring-startup-vector: ~`vector`P~%" (-> this string-startup-vector))
(format #t "~1Tuse-string-startup-vector: ~A~%" (-> this string-use-startup-vector))
(format #t "~1Tlook-at-point: ~`vector`P~%" (-> this look-at-point))
(format #t "~1Tuse-look-at-point: ~A~%" (-> this use-look-at-point))
(format #t "~1Ttarget-height: (meters ~m)~%" (-> this target-height))
(format #t "~1Tfoot-offset: (meters ~m)~%" (-> this foot-offset))
(format #t "~1Thead-offset: (meters ~m)~%" (-> this head-offset))
(format #t "~1Tteleport-on-entity-change: ~`boolean`P~%" (-> this teleport-on-entity-change))
(format #t "~1Tentity-name: ~`string`P~%" (-> this entity-name))
(format #t "~1Tentity-or-mode-changed: ~`boolean`P~%" (-> this entity-or-mode-changed))
(format #t "~1Tmaster-options: #x~X : (cam-master-options " (-> this master-options))
(let ((s5-1 (-> this master-options)))
(if (= (logand s5-1 (cam-master-options IMMEDIATE_STRING_MIN_MAX)) (cam-master-options IMMEDIATE_STRING_MIN_MAX))
(format #t "IMMEDIATE_STRING_MIN_MAX ")
)
(if (= (logand s5-1 (cam-master-options IN_BASE_REGION)) (cam-master-options IN_BASE_REGION))
(format #t "IN_BASE_REGION ")
)
(if (= (logand s5-1 (cam-master-options FLIP_COMBINER)) (cam-master-options FLIP_COMBINER))
(format #t "FLIP_COMBINER ")
)
(if (= (logand s5-1 (cam-master-options SET_COMBINER_AXIS)) (cam-master-options SET_COMBINER_AXIS))
(format #t "SET_COMBINER_AXIS ")
)
(if (= (logand s5-1 (cam-master-options IGNORE_ANALOG)) (cam-master-options IGNORE_ANALOG))
(format #t "IGNORE_ANALOG ")
)
(if (= (logand s5-1 (cam-master-options READ_BUTTONS)) (cam-master-options READ_BUTTONS))
(format #t "READ_BUTTONS ")
)
(if (= (logand s5-1 (cam-master-options HAVE_TARGET)) (cam-master-options HAVE_TARGET))
(format #t "HAVE_TARGET ")
)
(if (= (logand s5-1 (cam-master-options HAVE_EASE_TO_POS)) (cam-master-options HAVE_EASE_TO_POS))
(format #t "HAVE_EASE_TO_POS ")
)
)
(format #t ")~%")
(format #t "~1Tentity-mask: ~D~%" (-> this entity-mask))
(format #t "~1Tmode-name: ~A~%" (-> this mode-name))
(format #t "~1Treal-entity-name: ~`string`P~%" (-> this real-entity-name))
(format #t "~1Tcam-mode: ~A~%" (-> this cam-mode))
(format #t "~1Tinterp-time: ~D~%" (-> this interp-time))
(format #t "~1Tno-intro: ~A~%" (-> this no-intro))
(format #t "~1Tuse-point-of-interest: ~A~%" (-> this use-point-of-interest))
(format #t "~1Tpoint-of-interest: ~`vector`P~%" (-> this point-of-interest))
(format #t "~1Thandle-of-interest: ~D~%" (-> this handle-of-interest))
(format #t "~1Tmouse-tumble-point: ~`vector`P~%" (-> this mouse-tumble-point))
(format #t "~1Tuse-mouse-tumble-point: ~A~%" (-> this use-mouse-tumble-point))
(format #t "~1Tmouse-input: ~A~%" (-> this mouse-input))
(format #t "~1Tcpad1-skip-buttons: ~A~%" (-> this cpad1-skip-buttons))
(format #t "~1Tbutt-handle: ~D~%" (-> this butt-handle))
(format #t "~1Tbutt-angle: ~f~%" (-> this butt-angle))
(format #t "~1Textra-follow-height: ~f~%" (-> this extra-follow-height))
(format #t "~1Tinterp-time-priority: ~D~%" (-> this interp-time-priority))
(format #t "~1Tstring-max-length-default: ~A~%" (-> this string-max-length-default))
(format #t "~1Tstring-min-length-default: ~A~%" (-> this string-min-length-default))
(format #t "~1Tstring-max-height-default: ~A~%" (-> this string-max-height-default))
(format #t "~1Tstring-min-height-default: ~A~%" (-> this string-min-height-default))
(format #t "~1Tdummy[102] @ #x~X~%" (-> this dummy))
(label cfg-68)
this
)
;; definition of type setting-control
(deftype setting-control (basic)
((user-current user-setting-data :inline)
(user-target user-setting-data :inline)
(user-default user-setting-data :inline)
(cam-current cam-setting-data :inline)
(cam-target cam-setting-data :inline)
(cam-default cam-setting-data :inline)
(engine engine)
(engine-pers engine-pers)
(engine-hi engine)
(sound-stinger-time time-frame)
(sound-stinger-change-time time-frame 4)
(sound-excitement-change-time time-frame)
(sound-excitement-targ float)
(sound-excitement-level uint32)
)
(:methods
(new (symbol type int) _type_)
(add-setting (_type_ process symbol object object object) none)
(persist-with-delay (_type_ symbol time-frame symbol symbol float int) none)
(set-setting (_type_ process symbol object object object) none)
(remove-setting (_type_ process symbol) none)
(kill-persister (_type_ engine-pers object) none)
(setting-control-method-14 (_type_ object) connectable)
(remove-setting-by-arg0 (_type_ object) none)
(set-setting-by-param (_type_ symbol object object object) connection)
(apply-settings (_type_) user-setting-data)
(update (_type_) user-setting-data)
)
)
;; definition for method 3 of type setting-control
(defmethod inspect ((this setting-control))
(when (not this)
(set! this this)
(goto cfg-4)
)
(format #t "[~8x] ~A~%" this (-> this type))
(format #t "~1Tuser-current: #<user-setting-data @ #x~X>~%" (-> this user-current))
(format #t "~1Tuser-target: #<user-setting-data @ #x~X>~%" (-> this user-target))
(format #t "~1Tuser-default: #<user-setting-data @ #x~X>~%" (-> this user-default))
(format #t "~1Tcam-current: #<cam-setting-data @ #x~X>~%" (-> this cam-current))
(format #t "~1Tcam-target: #<cam-setting-data @ #x~X>~%" (-> this cam-target))
(format #t "~1Tcam-default: #<cam-setting-data @ #x~X>~%" (-> this cam-default))
(format #t "~1Tengine: ~A~%" (-> this engine))
(format #t "~1Tengine-pers: ~A~%" (-> this engine-pers))
(format #t "~1Tengine-hi: ~A~%" (-> this engine-hi))
(format #t "~1Tsound-stinger-time: ~D~%" (-> this sound-stinger-time))
(format #t "~1Tsound-stinger-change-time[4] @ #x~X~%" (-> this sound-stinger-change-time))
(format #t "~1Tsound-excitement-change-time: ~D~%" (-> this sound-excitement-change-time))
(format #t "~1Tsound-excitement-targ: ~f~%" (-> this sound-excitement-targ))
(format #t "~1Tsound-excitement-level: ~D~%" (-> this sound-excitement-level))
(label cfg-4)
this
)
;; definition for method 0 of type setting-control
(defmethod new setting-control ((allocation symbol) (type-to-make type) (arg0 int))
(let ((s4-0 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
(set! (-> s4-0 engine) ((method-of-type engine new) allocation engine 'setting-control arg0 connection))
(set! (-> s4-0 engine-hi) ((method-of-type engine new) allocation engine 'setting-control arg0 connection))
(set! (-> s4-0 engine-pers)
((method-of-type engine-pers new) allocation engine-pers 'setting-control arg0 connection-pers)
)
s4-0
)
)
;; failed to figure out what this is:
0