Files
jak-project/test/decompiler/reference/jak3/engine/game/pilot-h_REF.gc
T
Hat Kid 2969833b2d decomp3: more engine stuff, detect non-virtual state inheritance (#3377)
- `speech`
- `ambient`
- `water-h`
- `vol-h`
- `generic-obs`
- `carry-h`
- `pilot-h`
- `board-h`
- `gun-h`
- `flut-h`
- `indax-h`
- `lightjak-h`
- `darkjak-h`
- `target-util`
- `history`
- `collide-reaction-target`
- `logic-target`
- `sidekick`
- `projectile`
- `voicebox`
- `ragdoll-edit`
- most of `ragdoll` (not added to gsrc yet)
- `curves`
- `find-nearest`
- `lightjak-wings`
- `target-handler`
- `target-anim`
- `target`
- `target2`
- `target-swim`
- `target-lightjak`
- `target-invisible`
- `target-death`
- `target-gun`
- `gun-util`
- `board-util`
- `target-board`
- `board-states`
- `mech-h`
- `vol`
- `vent`
- `viewer`
- `gem-pool`
- `collectables`
- `crates`
- `secrets-menu`

Additionally:

- Detection of non-virtual state inheritance
- Added a config file that allows overriding the process stack size set
by `stack-size-set!` calls
- Fix for integer multiplication with `r0`
- Fixed detection for the following macros:
	- `static-attack-info`
- `defpart` and `defpartgroup` (probably still needs adjustments, uses
Jak 2 implementation at the moment)
- `sound-play` (Jak 3 seems to always call `sound-play-by-name` with a
`sound-group` of 0, so the macro has been temporarily defaulted to use
that)

One somewhat significant change made here that should be noted is that
the return type of `process::init-from-entity!` was changed to `object`.
I've been thinking about this for a while, since it looks a bit nicer
without the `(none)` at the end and I have recently encountered init
methods that early return `0`.
2024-03-03 15:15:27 -05:00

117 lines
4.3 KiB
Common Lisp
Vendored
Generated

;;-*-Lisp-*-
(in-package goal)
;; definition of type vehicle-controls
(deftype vehicle-controls (structure)
((steering float)
(throttle float)
(brake float)
(lean-z float)
(handbrake float)
(flags vehicle-controls-flag)
(prev-flags vehicle-controls-flag)
(pad0 uint8 2)
)
:pack-me
)
;; definition for method 3 of type vehicle-controls
(defmethod inspect ((this vehicle-controls))
(when (not this)
(set! this this)
(goto cfg-4)
)
(format #t "[~8x] ~A~%" this 'vehicle-controls)
(format #t "~1Tsteering: ~f~%" (-> this steering))
(format #t "~1Tthrottle: ~f~%" (-> this throttle))
(format #t "~1Tbrake: ~f~%" (-> this brake))
(format #t "~1Tlean-z: ~f~%" (-> this lean-z))
(format #t "~1Thandbrake: ~f~%" (-> this handbrake))
(format #t "~1Tflags: ~D~%" (-> this flags))
(format #t "~1Tprev-flags: ~D~%" (-> this prev-flags))
(format #t "~1Tpad0[2] @ #x~X~%" (-> this pad0))
(label cfg-4)
this
)
;; definition of type pilot-info
(deftype pilot-info (basic)
((entity entity)
(vehicle handle)
(left-right-bias float)
(left-right-min float)
(left-right-max float)
(left-right-interp float)
(front-back-interp float)
(up-down-interp float)
(up-down-accel-factor float)
(front-back-accel-factor float)
(left-right-accel-factor float)
(stance uint8)
(seat-index int8)
(backup-nav-radius float)
(cam-side-shift float)
(enable-cam-side-shift symbol)
(gun? symbol)
(controls vehicle-controls :inline)
(accel-array vector 8 :inline)
(local-accel vector :inline)
(pilot-trans vector :inline)
(pilot-quat vector :inline)
(pilot-scale vector :inline)
(underwater-time time-frame)
(as-daxter? symbol)
(art-group-backup art-group)
(hud-health handle)
(hud-turbo handle)
(jumping? symbol)
)
)
;; definition for method 3 of type pilot-info
(defmethod inspect ((this pilot-info))
(when (not this)
(set! this this)
(goto cfg-4)
)
(format #t "[~8x] ~A~%" this (-> this type))
(format #t "~1Tentity: ~A~%" (-> this entity))
(format #t "~1Tvehicle: #x~X~%" (-> this vehicle))
(format #t "~1Tleft-right-bias: ~f~%" (-> this left-right-bias))
(format #t "~1Tleft-right-min: ~f~%" (-> this left-right-min))
(format #t "~1Tleft-right-max: ~f~%" (-> this left-right-max))
(format #t "~1Tleft-right-interp: ~f~%" (-> this left-right-interp))
(format #t "~1Tfront-back-interp: ~f~%" (-> this front-back-interp))
(format #t "~1Tup-down-interp: ~f~%" (-> this up-down-interp))
(format #t "~1Tup-down-accel-factor: ~f~%" (-> this up-down-accel-factor))
(format #t "~1Tfront-back-accel-factor: ~f~%" (-> this front-back-accel-factor))
(format #t "~1Tleft-right-accel-factor: ~f~%" (-> this left-right-accel-factor))
(format #t "~1Tstance: ~D~%" (-> this stance))
(format #t "~1Tseat-index: ~D~%" (-> this seat-index))
(format #t "~1Tbackup-nav-radius: ~f~%" (-> this backup-nav-radius))
(format #t "~1Tcam-side-shift: ~f~%" (-> this cam-side-shift))
(format #t "~1Tenable-cam-side-shift: ~A~%" (-> this enable-cam-side-shift))
(format #t "~1Tgun?: ~A~%" (-> this gun?))
(format #t "~1Tcontrols: #<vehicle-controls @ #x~X>~%" (-> this controls))
(format #t "~1Taccel-array: ~`vector`P~%" (-> this accel-array))
(format #t "~1Tlocal-accel: ~`vector`P~%" (-> this local-accel))
(format #t "~1Tpilot-trans: ~`vector`P~%" (-> this pilot-trans))
(format #t "~1Tpilot-quat: ~`vector`P~%" (-> this pilot-quat))
(format #t "~1Tpilot-scale: ~`vector`P~%" (-> this pilot-scale))
(format #t "~1Tunderwater-time: ~D~%" (-> this underwater-time))
(format #t "~1Tas-daxter?: ~A~%" (-> this as-daxter?))
(format #t "~1Tart-group-backup: ~A~%" (-> this art-group-backup))
(format #t "~1Thud-health: ~D~%" (-> this hud-health))
(format #t "~1Thud-turbo: ~D~%" (-> this hud-turbo))
(format #t "~1Tjumping?: ~A~%" (-> this jumping?))
(label cfg-4)
this
)
;; failed to figure out what this is:
0